ArduPilot has supported Dual GPS for quite some time but it has always only been using one or the other GPS (whichever had higher number of satellites). Also for Copter users we recommended against using two GPSs because when we switched from one to the other, the EKF and controllers weren’t notified and we could end up with a sudden position jump.
In the upcoming Copter-3.5-rc2 (beta release) the sudden jump issues are resolved and we will also include GPS Blending meaning that the output from both GPSs will be combined together. The weighting of the two GPSs is determined by their reported accuracies (horizontal position, horizontal speed and (optionally) vertical position accuracy).
We recommend using two GPSs from the same manufacturer because the reported accuracies from different manufacturers might not be compatible leading to a non-optimal blend.
Setting up dual GPSs is fairly easy. Connect a second GPS to an available Serial port (like Serial 4/5) and then set these parameters:
- SERIAL4_PROTOCOL = 5 (replace the “4” with “1” or “2” if the 2nd GPS is connected to Telem1 or 2)
- GPS_TYPE2 = 1 (to enable automatic detection of the 2nd GPS)
- GPS_AUTO_SWITCH = 2 (to enable Blending) or 1 to use the existing logic which uses only one GPS at a time
After your flights, if you want to see how it’s performed, you can open the DataFlash log in the Mission Planner and click the “Show Map” button and it shows the paths of the GPSs, the EKF’s estimated position and in the next beta it will even show the blended GPS’s output. If you’re using a different GCS you may be able to plot the GPS, GP2 and GPB (for Blended) messages.
This feature is compatible with RTK GPSs as well. Here’s a flight from Michael Oborne using a Here+ RTK GPS and a Tersus (note we recommend using two GPSs from the same manufacturer normally).
Here’s a related video from our recent developer un-conference in Canberra Australia. This is Paul Riseborough’s heavily loaded IRIS using Blended GPS, optical flow and a lidar range finder.
This feature was definitely a team effort with the GPS blending implemented by Paul, intensively peer reviewed by Michael duBreuil (our GPS maintainer) and Francisco Ferreira (our “bug master”), MP work by MichaelOborne and finally heavily tested by me and others… and the GPSs came from proficnc and mRobotics.