Plugging in precision
You can now integrate highly precise GPS into your electronics projects, without breaking the bank.
Whether you’re building robots or flying drones, you probably live with a compromise: positioning is either imprecise or requires expensive equipment. Now it’s possible to get much more precise positions, without the cost associated with professional GPS equipment, thanks to Reach. Reach is a high-precision GPS receiver available for $235, based on the Intel® Edison microcomputer platform. The device weighs just 12g, so it can be easily mounted on a drone or robot, and measures 26mm x 45mm.
Reach makes high-precision GPS available in a small form factor suitable for drones and other applications
“For drone hobbyists, Reach enables repeatable precision landings,” said Igor Vereninov, co-founder at Emlid, the company behind Reach. “We can georeference the images taken from drones really well, which is important for building precise 3D models of terrain. Reach is being used in the Alps to monitor glacier movement in real time, there’s a project that’s tracking race horses, and another that is mapping the sea floor to help with applications such as flood modelling.”
The makers of Reach launched a crowdfunding campaign at Indiegogo to raise the funds needed to manufacture the receiver. The developers had some crowdfunding experience: they previously raised about $30,000 to make Navio, a Raspberry Pi-based autopilot. As of December 2015, the third generation of Navio has been manufactured. The results of the Reach campaign exceeded all the team’s expectations: the target was $27,000, but the campaign took $81,960 in preorders, with promotion being mainly word-of-mouth, showing there is strong demand for high-precision positioning systems.
Riding the wave
Like existing professional devices, Reach uses Real-Time Kinematic (RTK) algorithms and differential global positioning system (DGPS) technology to increase the precision of the measured position. The method uses the phase of the satellite signal’s carrier wave, rather than the information in the signal, because the carrier measurements have a lower margin of error. However, the challenge is to correctly align the signals, and ensure that calculations are not off by one wave, or more waves, introducing inaccuracies in the calculated positions. RTK uses a base station at a known coordinate. The base station broadcasts its known location together with the code and carrier measurements for all the satellites in view, so the mobile clients can align the carrier wave phases correctly. This enables the mobile devices to calculate their position relative to the base station with a high degree of precision. Base stations can be temporary or permanent and many devices, up to 20km away, can use the same base station for their corrections.
A Reach device can be used as a mobile client, or as a base station if it is stationary and its coordinates are known. This way, a system of two receivers connected to one another using wi-fi Internet access or radio communications can calculate precise coordinates even if no other DGPS base stations are available.
The position of base stations can be measured accurately using commercially or freely available correction services in many countries, including the Continuously Operating Reference Stations (CORS) network. If the precise location of the base station is not known, the mobile clients can still consistently and accurately calculate their position relative to the base station.
Charles West, a researcher from NC State University, is developing PylonGPS to create a service that would make it simple to stream the GPS correction data from Reach RTK base stations to anyone who wants it over the Internet. Emlid hopes to incorporate this in a future software release so that users can share the corrections from their base stations, and make more accurate positioning more accessible to everyone.
Building on open source software
The idea for Reach came when Emlid sampled the RTKLIB toolkit developed by Tomoji Takasu and supported by the open source community (the toolkit has a BSD License). “We were using it to postprocess data from flights, but we quickly saw its potential,” said Vereninov. “If we wanted to do real-time positioning, though, we needed to have the receiver connected to a PC at all times. For surveying work, you use a laptop, for example, but that’s too heavy for a drone or other small device. We had the idea to use an Intel Edison single board computer, which can replace the laptop in this application, so RTKLIB runs on the GPS receiver itself.”
Positioning accuracy with the help of Reach. Red dots show normal GPS precision in good conditions. Green dots show positions provided by Reach in RTK mode. The receiver was kept stationary so in an ideal situation there would be no deviation. The graph shows that Reach provides positions with less deviation, because the green dots are much closer together. The numbered dots are the most recently plotted points in this real-time graph. Please note the scale.
A look inside Reach
The Reach hardware platform consists of three components: an Intel Edison computer running a custom, Yocto-built, Linux operating system and RTKLIB; a U-blox GPS-receiver; and an external Tallysman antenna, which plays an important role in enabling accurate positioning. The antenna weighs approximately 20g and measures approximately 30mm x 30mm, so it can be easily fitted to a drone or anywhere else where space is limited. Users can choose to fit an alternative antenna if it is better suited to their application. For example, a car or harvester might use a rugged unit that suppresses interference from the machinery. “The antenna quality and placement are essential for RTK,” said Vereninov. “It should be the first thing to plan on the device to ensure the best sky visibility and least interference. Everything else flows from that.”
The receiver supports the GPS satellite constellation of the US, as well as Russia’s Glonass, China’s Beidou, and Japan’s QZSS. In the future, Emlid plans to add support for the EU’s Galileo satellite constellation to improve signal availability. Using more satellites enables Reach to improve the precision of the calculated coordinates and the solution availability.
In addition to the satellite receiver, Reach has a number of other sensors: a tri-axial gyroscope, an accelerometer and a magnetometer. In the future, the device software will be upgraded to enable it to use these sensors to extrapolate the position when the signal is blocked (by the device going through a tunnel, for example) and to measure the tilt or roll of the device.
The device can also record timing markers from any pulse clock source. A common problem in 3D mapping is that you need to know the exact location of where the aerial photos were taken. When an aircraft is moving at 20m/s, a buffering delay on the camera of 1 second can result in an image being 20m off from the coordinate recorded when it was triggered. Reach can be connected to the hot shoe of the camera to precisely timestamp when the flash was fired, which happens at the same time as the photo is taken. By analyzing the GPS data after the flight, the photos can be accurately matched with their position.
Reach comes with the connectors needed to integrate with major autopilots on the market, and Emlid has recently released integrations with Pixhawk and its own Navio autopilot. The integration with the autopilot enables GPS data to be tunneled through the radio signal used for flight control and mission planning.
Why choose Intel Edison?
Why did the developers select Edison? “The size and form factor were important, especially for drone applications,” said Vereninov. “We were able to build a device that is not larger than the Intel Edison board itself. The best thing about Intel Edison is the price-performance ratio. It’s a really powerful platform, using x86 architecture, with wi-fi and Bluetooth integrated. We use the built-in Bluetooth to connect Android tablets to Reach, so Reach can replace the GPS on Android devices for more accurate geographic information systems (GIS) applications. Wi-fi is important for connecting to the Internet to receive corrections from the base station. When you’re trying to integrate radio frequency equipment, you usually need to certify it, but with Intel Edison everything is preintegrated and precertified.”
The Intel Edison platform has 4 GB memory to log data, so that it can be analyzed with greater precision after data collection. USB can be used to connect radios for communication between Reach devices and in the future 3G communications and flash drive logging could be added through software updates.
The device has a number of interfaces. UART can be used to integrate with autopilots, and GPIO pins can be used to control a camera or trigger another device. I2C is often used in drones to communicate to external devices and is also supported on Reach.
Reach can be powered through the USB port, powered from the autopilot in a drone, or powered using a power bank typically used for charging a mobile phone.
Using Reach through the browser
When you switch on the Reach device, it automatically runs the wi-fi hotspot mode, so a user can connect to it with a smartphone and change the settings to connect it to a wi-fi network for software updates.
The ReachView software enables any device with a web browser to connect to Reach to set up RTKLIB, view device logs, assess the quality of satellite observations, change streaming settings, configure connections and check the device position. The ReachView software is open source and is distributed under the GNU GPLv3 License. It was developed using Python and WebSockets for a lightweight, real-time interface. “ReachView provides access to all the features of RTKLIB,” said Vereninov. “At the same time, we’ve simplified it by explaining what each feature does and using understandable names for the parameters. We’ve designed the interface so you don’t have to be a surveyor or RTK specialist to set up the devices.”
ReachView: Using the ReachView software, any device with a browser can be used to access a Reach device.
Reach continues to be developed and extended with software updates as often as every two weeks. The development team has grown from four people to eleven, based in an office with roof access. “That’s been the biggest time saver,” said Vereninov. “The big issue with developing GPS is that you can’t test indoors. To test every little thing you need to go outside. It’s really hard to find an open space in a city where you can enjoy a good view. Having that roof and a permanently placed antenna really helps us save time developing Reach.”
Spec sheet for Reach
|U-blox – 72 channels, output rate up to 18 Hz, supports GPS/QZSS L1 C/A, GLONASS L10F, BeiDou B1, SBAS L1 C/A: WAAS, EGNOS, MSAS, Galileo-ready E1B/C
|Intel Edison – dual-core 500 MHz
|I2C, UART, GPIO, TimeStamp, OTG USB, Bluetooth, wi-fi, GNSS
|26mm × 45mm