Posted on Leave a comment

MewPro/Genlock in the Aleutian Islands

There’s a project in NOAA (National Oceanic and Atmospheric Administration) that uses our MewPro + Genlock system.

The researchers made a special housing for GoPro cameras and the system: It has bulkhead connectors for water-proof cables and these enables control of cameras from the ship.

The following video shows underwater of the Aleutian Islands, USA.


(Video and photo by courtesy of Mike Levine, Contractor to NOAA AFSC RACE)

The interesting deep-sea clip was taken during a trip reported also in their official blog:
http://www.afsc.noaa.gov/Science_blog/StellerSeaLions_1.htm

Posted on Leave a comment

How To Use SIGHTINGS To Find Pokémon

This post explains a way to utilize the SIGHTINGS list in Pokémon GO application for finding rarer Pokémons.

Note. It is nothing to do with GoPro or Genlock or Arduino. For some of our staff found a theory while playing the game, we like to share the tips about Pokémon GO in our blog.

6 Nov 2016 UPDATE: Emergence duration is changed from 15 minutes to 30 minutes. The source updating algorithm has changed.

Introduction

Each Pokémon we see in the virtual 3D field of Pokémon GO is either of the following.

Case A: Lured Pokémon
There are two subcases: 1) Found at a Pokéstop with storm of falling pink petals, appears there during 30 minute period after someone has stabbed a lure module at the stop (once per 3 minutes); 2) found around the avatar of a Pokémon trainer while he/she is with pink aroma of incense (once per 5 minutes).
Case B: Periodic Pokémon
Otherwise.

We’ll focus on periodic Pokémons in the rest of the blog post. The explanation why we call them periodic is postponed until the next section.

There is an easy visual difference between the above two Cases: If it appears as a Pokémon sitting on or floating above pink smaller concentric moving circles or hovering waves then it belongs to Case A. If it is with white larger ones then Case B.

Example: In the following screen capture the Rattata (at the right, purple mouse Pokémon) is a lured Pokémon or of Case A, while the Exeggcute (at the left, human faced egg Pokémon) Case B.

periodical

It is said that using lure modules or incenses is one of instant and obvious hacks to get many Pokémons of Case A. But what can you do with other Pokémons? Are you really satisfied encountering with them only by chance?

In the following sections we will show you a systematic, deterministic method to meet with many Pokémons of Case B without need to be lucky.

Pokésource

Let’s start the section by presenting some of our observations.

Fact 1. Periodic Pokémons are always appeared only on fixed, pre-designated geographic points on the 3D map.

Contradicting everyone’s intuition, each Pokémon as well as lured one does NOT move on or drift to somewhere, just stay at their conjured place for a while, and unless you get it by throwing Pokéballs then pop disappear into thin air.

Definition. A Pokésource is a geographic location on which Pokémons without lured appear.

That is, if no one use lure modules and you don’t use incense then Pokémons never appear except a Pokésource is located within your view or a circle of radius 40m (or 50m if GPS accuracy is worse).

Unlike Pokéstops, Pokésources are invisible on the 3D map. However, they somewhat have a tendency to be placed near Pokéstops.

Fact 2. Each Pokésource produces a yet invisible Pokémon once an hour at x minute past every hour where x is a constant depending on the Pokésource.

Thus, we already have called these non-lured Pokémons periodic.

An invisible Pokémon becomes pop visible when you go walk and your search view or the area of pink and white circle wave emitted by the avatar once reaches the geolocation of Pokésource.

The following is an actual map showing all Pokésources in a Tokyo suburb, Japan (as of 6th Nov 2016).

2016/11/5 更新後

Each digit represents the constant x minute past every hour.

Fact 3. Every Pokémon stays at a Pokésource for time period of 27 to 30 minutes for generic case.
Note. There exists a Pokésource which conjures Pokémon whose emergence duration is 57 to 60 minutes. We call this type of Pokésource a degenerated Pokésource of multiplicity 2. A generic Pokésource is considered as having multiplicity 1. Moreover, there are cases that a Pokésource stops producing Pokémon after an update. These kind of dormant Pokésource is considered as having multiplicity 0.

In the above map all locations of Pokésources are marked red but one having multiplicity 2 blue.

SIGHTING list

The following fact is the fruit of our investigations.

Fact 4. SIGHTING list shows all periodic Pokémons within 200 meters.

A periodic Pokémon appears in the tab at x minute past every hour (where x is the constant) and vanishes 27 to 30 minutes after that for Pokésource of multiplicity 1. While the Pokémon is listed in the tab, it means your avatar can encounter it in the 3D map when you approach near enough to its Pokésource.

Note: If there are more than one same Pokémon in the area, only one Pokémon is listed and you can’t tell how many the Pokémon are within 200m.

Example: Suppose it is 20 minutes past 8 o’clock in the morning, and you are eating breakfast in your dining room located at the center of the circle of the above Tokyo suburb Pokésource map. One minute later you suddenly notice that there appears the gray silhouette of Mewtwo in your SIGHTING tab! What should you do?

Needless to say you should go out immediately to the location marked 21 and you can actually get it! Because it is the only place having spawning time of 21 minutes and the SIGHTING list quite accurately shows all Pokémons in the immediate vicinity of 200 meters.

We like to close this revolutionary article by some tips.

Tip 1: If you get a periodic Pokémon by throwing balls then it also disappears from the SIGHTINGS list, unless another same Pokémon still exists in the area.

Tip 2: Periodic Pokémons are very punctual in appearing time but have some fluctuation in vanishing.

Tip 3: The order of Pokémons in the list is completely random. However, the first row is shown when the tab is shrunk.

Gotcha Snorlax using our method (14 August 2016)
Gotcha Snorlax using our method (14 August 2016)

Enjoy!

Posted on Leave a comment

DIY Geofence Hardware and Software

A DIY stand-alone unit for watching geofence breach is made by using Teensy 3. The general purpose device, which has a similar functionality of geofence or sending notification by location on smartphones, is also usable to automatically start/stop recordings of GoPro camera with aid of MewPro.

Details

Although each MewPro has a microcontroller (AVR) on its board, we decided to separately use Teensy 3 (Cortex-M4) that can do with double-precision floating-point (64 bits) numbers. Implementing geofence as stand-alone enables the unit to control not only GoPro cameras but also other equipments (such as LEDs and buzzers) with regard to preconfigured geofence, which can be a union of convex polygons.

Testing Geofence
Connect to LED to Test Geofence Function

To test the unit we connect an LED to its alarm pin: SHUTTER signal (red wire) at the audio mini plug in the photo becomes LOW/hi-Z if it enters/exits the geofenced area. We use digistump’s ATtiny85 Digispark board to watch the pin and to turn on/off the LED, however, you can use any device such as GoPro+MewPro or something as Digispark.

The following is a teardown of the DIY unit.

Geofence Module Teardown

Resources

The module is an open software/hardware. The schematics and the source code with a simple README document are downloadable from:

Posted on Leave a comment

Synchronize Footage w/ GPS Time

By syncing GoPros and utilizing GPS it is demonstrated how to accurately measure time of an observed event.

For example, taking astronomical videos or photos it is usually important to record the time when those captures were made. Both professional and amateur astronomers interested in especially eclipses or occultations, such as the Moon passes in front of a star, have ever invented many kind of timekeeping devices for this purpose. Needless to say the more exact, the more preferable.

The post proposes a new convenient method to keep time whose precision is within several milliseconds or the duration of one video frame.

The idea is based on the following facts:

  • Any number of GoPro cameras can be genlocked or in sync by every frame and scan line to a timing generator.
  • Some GPS receiver can output a pulse-per-second (1PPS) signal that have an accuracy of nanoseconds.

Unfortunately we cannot synchronize these two signals, the ones from the genlocking source and the 1PPS. However, we can easily record both of them together by visualizing the latter using LED and pointing one of all cameras in sync with the former to the LED.

In the rest of the post we will perform an experiment to confirm that the precision is kept within one frame while capturing videos.

Measurement

To assure perfectness of the sync we use the following equipments:

3 cameras in single dongle configuration
  • 3 GoPro Hero 3+ Black
  • 2 MewPro
  • 1 Genlock Dongle
2 GPS receivers capable of 1PPS signal output
Microcontroller boards, OLED (Organic Light-Emitting Diodes) character displays and LEDs
These are required for displaying GPS time in a form of hh:mm:ss (hh=hour, mm=minute, ss=second) and every zero second.
MacBook Air
To show the NTP Internet time for intuitive reference.
Block diagram of measurement equipments
Block diagram of measurement equipments

We use three cameras in sync: Two cameras are pointed to LEDs and OLED character displays (another camera is to control the two). Two GPS receivers are of different brands: Each 1PPS signal is aligned to UTC and visualized as hh:mm:ss on the OLED display, and lights the LED when asserted.

Doing this requires some microcontrollers between the GPS receivers and the I2C OLED character displays we use Teensy 3.1 and Arduino Due boards. And in order to make sure that our programs running on these doesn’t have any bugs we also prepare a MacBook Air to show the Internet time that is obtained from an NTP server.

Results and Discussion

The following are clipped from the videos (WVGA, 240fps) shot by the two of genlocked cameras:

before
(One frame before 2016-05-27T02:15:46.000Z. Up: View from the right. Bottom: View from the left.)

The blue LEDs haven’t lit yet (cf. the next two images). The MacBook Air behind is slowly changing its time display from 02:15:45 to 02:15:46, however, it turns out to be not so accurate as 1PPS time. The right OLED display shows nothing: This means the OLED, which is always blinking in order to reduce power consumption, is in an off period. At the same time the left is on the way to refresh 02:15:45.

Each of above frames is followed by the next, respectively:

exact
(Exactly it is 2016-05-27T02:15:46.000Z. Up: View from the right. Bottom: View from the left.)

Both of the blue LEDs light. The right OLED display shows the time as 02:15:45. According to GPS’ protocol (aka NMEA) specifications, a rising edge of 1PPS signal occurs on an exact zero second, which is followed by a GPZDA statement aligned to UTC. In the current system the blue LED lights when 1PPS is asserted, and OLED is rewritten when a GPZDA is received by the microcontroller. So it is no wonder that our OLED is not updated yet this time. The left OLED is on its way to erase 02:15:45.

These four images proved the exactness of sync among not only the cameras but also the GPS receivers. And we confirmed the system could be utilized for exact time measurements of events.

Reference

The above stills are extracted from the following unmodified original movies (MP4 files):