Piksi GPS, first impressions

Photo of Piksi GPS circuit board, antenna side up

Evaluation of flight test results showed that the latency of position and velocity solutions from the Venus638 GPS module we used was borderline unacceptable, even at the maximum update rate of 10Hz. In particular, the velocity readings were actually lagging the change in position from update to update, and appeared to be behind the accelerometer readings by anywhere up to 500ms.

Although there are a few methods by which GPS latency can be handled nearly-optimally, all of them require significant extra resources (in some cases proportional to the delay time). Since it’s unlikely our current hardware is capable of dealing with the extra load without significantly re-structuring the existing filter implementation and simplifying other computations, we decided to evaluate lower-latency GPS options.

Piksi is an open-source/open-hardware GPS solution recently funded on Kickstarter, and we ordered one of the pre-production developer boards. In theory it’ll be capable of RTK with another module in the base station, which could provide decimetre relative position accuracy in flight, but the main draw for us was the 50Hz update rate and (apparently) low latency.

Photo of Piksi box showing Swift Navigation logo

In what must be a record for Kickstarter hardware projects, the module arrived last week as promised, and we’ve completed a few tests which seem to validate the basic performance of the software. The module appears to track fewer SVs than the Venus638 or u-blox NEO-5 under the same conditions. For example, with half the sky obscured (indoors next to a window) the NEO and Venus were able to track 4–5 SVs and provide a low-quality fix after several minutes, while the Piksi could only track 2–3 SVs and did not obtain a fix at all. Outdoors the situation was better: the NEO and Venus tracked 9–10 SVs while the Piksi was tracking 4–6, but despite the smaller number of satellites the Piksi’s position solution looked about as good as that of the Venus638.

While the faster update rate and lower latency on their own will significantly improve our position estimation, another potential advantage of the Piksi is that it can output the data necessary to integrate the navigation measurements into our main UKF. This would reduce latency even more, as well as providing much more stable tracking in high-dynamics situations.

Piksi console GUI showing a position solution while tracking 4 SVs

However, while the Piksi performs well for a pre-production system under active development, it’s too early to tell how stable the firmware will be, or whether the tracking situation will be able to be improved via firmware updates. Thus, we’ll use the dual-GPS capability of our hardware and software to include a u-blox module as well (hopefully the LEA-7, if it ships this year); with a 10Hz update rate and lower specified latency than the Venus638 we should still have better accuracy than we do now even if the Piksi fails.

github.com/sfwa twitter.com/sfwa_uav youtube.com/user/sfwavideo