Low-cost RTK GPS receiver (centimeter level precision) with open source software and board design targeted at UAVs.
Update - New Reward: Rugged Piksi with Bluetooth
We’ve had a lot of interest in the Piksi RTK system from professionals in the GIS and mapping fields, but our RTK Kit alone was not enough to fulfill this need. To use Piksi in these settings, you need a durable, integrated solution - one that can be turned on with the flick of a switch, and is accompanied by an easy, intuitive user interface.
So, we have added a new reward, a ruggedized version of our RTK Kit containing two Piksi receivers each fully assembled with an enclosure, a Bluetooth module, an SD card slot, an integrated radio link, and 10 hours of rechargeable Lithium Polymer batteries.
We’ll also be releasing data collection apps for Android and iOS that interface with Piksi over Bluetooth; you’ll be able to take measurements, plot points on your smartphone’s map, and for professionals, export to common formats to integrate into your standard mapping workflow - all with the 4 centimeter accuracy of the Piksi RTK system.
The ruggedized version of Piksi will also serve as an integrated reference station for UAV users. This will eliminate the need to connect the reference station Piksi to an external power source or radio link, and give it protection from dirt, moisture, and the external environment. It will also allow add on-board logging capability and the ability to communicate with the user’s Android or iOS device.
See the Rewards section for details on the new Ruggedized RTK Kit reward.
What is RTK?
A regular GPS receiver, like you have in your cell phone, gives positions that are accurate to within a few meters. An RTK (Real Time Kinematic) GPS system gives positions that are 100 times more accurate - down to single centimeters.
What is Piksi?
Piksi is an RTK GPS receiver with open source software that costs one tenth  the price of any other available RTK system.
We designed Piksi with the belief that providing this level of positioning precision at a radically lower cost would open it up to a much wider range of applications. We are particularly excited about its use in autonomous vehicle systems. Civilian and hobbyist use of UAVs has increased dramatically over the last few years, yet highly accurate, low cost localization solutions are not available yet. We hope that Piksi will help to fill this gap and push the envelope of what is possible with these systems.
Some possible applications:
- Amateur rocketry
- Autonomous cars
- Construction measurements
- Heading and attitude determination
- GPS education
- Reception of new constellations (Galileo, GLONASS, Compass, etc.)
- Geo-referencing of aerial photography
- Autonomous lawnmowers
Piksi Technical Specs:
- Centimeter level positioning (RTK)
- Fast (50 Hz) position/velocity/time updates
- Open source software and board design
- Low power consumption : 500mW / 100mA typical
- Small form factor : 53 x 53 mm
- Low cost : $900 for a complete RTK system
A flexible platform
From the start, we wanted Piksi to be an indispensable tool for GPS experimentation. Whether you want to test out a new algorithm, receive signals from new constellations, more closely integrate and tune your receiver for your application, or teach yourself about GPS, Piksi gives you the flexibility, power, and transparency to do it.
We’ve also developed an open source GPS post-processing tool, Peregrine, that provides a high-level interface to the same open source GPS library as used by the Piksi firmware. Raw GPS samples can be passed through Piksi over USB to a PC and post-processed with Peregrine. Being written in Python, Peregrine is well-suited for rapid development of new algorithms that can then be quickly transitioned to running standalone on the Piksi hardware.
How does RTK work?
A GPS receiver determines its position by measuring its distance to four or more GPS satellites. By comparing the relative phase offsets of unique 'codes' continually transmitted by the satellites, the receiver can determine the relative distance to each satellite. Each bit of the codes is about 300 meters in length, which in practice limits the precision to which the receiver can measure the code phase to a few meters. This is one reason that a normal receiver cannot achieve centimeter level accuracy.
Another important source of error for GPS receivers is ionospheric delay. When GPS signals travel through the ionosphere, they are slowed, adding a few meters of error to the distance measurement. The amount the signal is slowed varies over time and location, and is difficult to predict.
An RTK GPS receiver achieves centimeter level accuracy by mitigating these two sources of error.
First, in addition to measuring the code phase, an RTK GPS receiver measures the phase of the carrier wave that the code is modulated upon. The carrier has a wavelength of about 19 centimeters. This makes it possible to measure to a much greater degree of accuracy than the 300 meter code, but there is a catch - there are an unknown number of whole carrier wavelengths between the satellite and receiver. Clever algorithms are required to resolve this "integer ambiguity" by checking that the code and carrier phase measurements lead to a consistent position solution as the satellites move and the geometry of the problem changes.
Second, an RTK GPS receiver is able to reduce the ionospheric error with the help of an additional reference receiver. The ionospheric delay varies only slowly with location, so with a nearby reference receiver, the delay is almost the same for both receivers and can largely be cancelled out. This is why an RTK GPS system uses two receivers.
We currently have 25 pre-production Piksi receivers (identical to the production ones) assembled and ready to ship. The Piksi firmware currently supports the functionality of a normal GPS receiver, without RTK, and we've started the implementing the RTK functionality. We've also written a host of PC-side development tools to make it easy to interact with the hardware. The development toolchain is supported on Linux, Windows, and OSX.
We’ll use the Kickstarter funding to pay for development costs that we incur while finishing the RTK functionality. We’ll also be refining the development tools and adding more documentation to make using Piksi a delight for developers and end users of any background.
Please note that whilst these are our best estimates, as with all development projects there is always going to be some uncertainty in delivery dates and the possibility for unforeseen problems and delays.
We are offering two main rewards, the PIKSI and the RTK KIT. The PIKSI is simply a single Piksi receiver for people who only need one receiver. As we explained in our technical section above you need two receivers to do RTK so the PIKSI reward on its own won't allow you to get centimeter level precision.
The RTK KIT reward is the main deal. It contains two Piksi receivers and everything else you need to do centimeter level RTK positioning. Have a look at this diagram which shows how it all fits together:
We are offering two versions of our PIKSI and RTK KIT rewards. The Developer Edition and the Production Edition. These two versions both contain identical hardware.
The difference is that the Developer Edition rewards will be shipped from the small batch of Piksi receivers that we already have assembled and will ship immediately after the Kickstarter campaign ends. Please be aware that Developer Edition rewards will ship before the RTK software development is complete.
We will be starting a new full production run of hardware for the Production Edition rewards which will be ready to ship in December when the RTK software development is complete.
PIKSI rewards include:
- 1 Piksi
- 1 Swift Navigation retractable Micro-USB cable
- 2 cable assemblies for connecting devices to Piksi’s UART headers
RTK KIT rewards include:
- 2 Piksi receivers
- 2 Swift Navigation retractable Micro-USB cables
- 4 cable assemblies for connecting devices to the Piksi UART headers
- 2 XBee radios
- 2 cable assemblies for connecting the XBee radios to the Piksi receivers
Ruggedized RTK KIT rewards include 2 Ruggedized Piksi receivers, each made up of:
- Ruggedized plastic case
- Radio link and antenna
- Bluetooth transceiver
- SD Card Slot
- Re-chargable Lithium Polymer batteries
Who are Swift Navigation?
We previously worked at a company named Joby Energy where we successfully developed an RTK GPS system for high-altitude wind turbines. This system was used to guide UAV’s in highly dynamic environments (greater than 8g accelerations, over 100mph). We've both been working on GPS full time for the past 2-3 years, and were working on our own independent GPS projects before that. See our Kickstarter bio for more information. And for those interested, here’s a presentation we gave at Defcon 2012 on GPS.
Risks and challenges Learn about accountability on Kickstarter
We have already built a small batch of Piksi receivers that are ready to ship and have locked down all part sourcing and manufacturing for further batches, so there are unlikely to be any unanticipated delays in the delivery of Piksi hardware.
However, it’s difficult to know exactly how long the RTK functionality will take to implement - software development schedules seem to always run over their anticipated delivery dates, even when you take into account Hofstadter's Law. We feel the goals we’re proposing to accomplish with this campaign are reasonable - adding a new set of software functionality (which we successfully implemented on a previous platform) upon an existing base of stable hardware and software.
We’ve planned out the development schedule with these facts in mind, giving ourselves enough time to have the new features finished by the delivery date.
Short answer: Yes!
Some GPS receivers are subject to International Traffic in Arms Regulations (ITAR) if they are to be exported from the United States. The types of GPS receivers that are covered under these regulations are defined in the US Munitions List, Category XI part (c):
None of these categories apply to us, Piksi wasn't designed for military use or to control massive UAVs that can deliver half-tonne payloads. It was designed for small civilian and hobbyist UAVs. The only category that could apply is (c) (2):
"GPS receiving equipment with any of the following characteristics: (2) Designed for producing navigation results above 60,000 feet altitude and at 1,000 knots velocity or greater"
In the Piksi software we implement these restriction and prevent the receiver from outputting navigation solutions if the velocity is greater than 1,000 kts and the altitude is greater than 60,000 ft. Notice this is an "and" condition, you have to be going too fast AND too high. Use on a high altitude balloon for example would be ok, as you are high but slow.
We have had enquiries about people modifying the software (as it is open source) to remove these restrictions. We do not support such modifications and will not be merging any such changes into our codebase. If you were to make such changes there may be legal implications for doing so and we suggest you find a good laywer!
We are interested in working with people inside the United States on cubesat and amateur rocketry projects and seeing what is possible legally but we will not be shipping anything modified for these uses outside the US.
Note, there are possible uses in rocketry without violating these limitations - the critical phases of flight, launch and apogee, are usually only violating one but not both conditions. It is also possible to capture data to be post-processed into navigation solutions after the fact.
Yes! We can already output RTCMv3 messages and intend to support RTCMv3 input as well. This allows you to use the Piksi as a roving receiver with an existing base station, Continuously Operating Reference Station (CORS) or Network RTK solution.
We think it is important to support industry standard protocols to allow interoperability with other vendors and existing infrastructure.
Unfortunately we do not directly support NTrip as this is a network protocol and Piksi does not have a direct network connection. However you can use Piksi with standard (free) NTrip client software running on a computer that outputs RTCM messages over serial.
Unfortunately it is not possible to do RTK positioning indoors.
Not only are GPS signals are extremely weak indoors, but you can no longer assume they have travelled in a straight line to the receiver. The signal will usually have reflected several times off of walls and surfaces before it makes it to an indoor receiver, destroying the ability to do accurate positioning.
We are just starting to work with developers on integrating Piksi with different autopilot systems. We hope that by the time Piksi is ready to ship it will already be supported by several autopilots.
In particular 1 BIT SQUARED have offered to develop support for the Paparazzi autopilots and 3D Robotics are going to be helping add support for APM/ArduPilot based systems.
If you are a developer please get in touch and let us know what we can do to help with integration into your system.
We haven't yet selected which model of radio to include and we will ask for some feedback from our backers before making any decisions.
However, we included the radios in the RTK kit primarily to give you something plug-and-play so you can get they system working out of the box. They won't be the fanciest radios in the world and it is not meant to be a one size fits all solution.
There are hundreds of different radio modems available all with different ranges, power consumptions, sizes and costs. Once you have got up and running with the Piksi with the included radios you may well want to replace them with something else particularly suited to your application. Luckily its very easy to use the Piksi with just about any radio modem that supports simple serial communications.
Maybe. We have had a lot of interest in this option. We will send a survey out to our backers asking them for their feedback on radio choices after the campaign has finished.
Yes. Fundamentally you just need to get some serial data from the reference station Piksi to the one on the vehicle. You can pass the data over an existing link if you'd like.
Specifically for MAVLink, 3D Robotics are teaming up with us to make sure this is supported as soon as possible.
The 4 centimeter expected precision we talk about in the video and project description is the expected horizontal precision of the receiver - this is the standard metric quoted for GPS receiver precision. Horizontal precision is typically 2-3 times better than vertical precision for GPS receivers, and so we expect the vertical precision to be around 8-12 centimeters.