GPS Support¶
Warning
This is an extremely experimental feature of the driver that requires a Parrot flight recorder peripheral. This feature is only available if you compile the gps-waypoint branch of the driver from source. Use at your own risk.
Note
The gps-waypoint branch tracks the latest development branch of the driver (currently indigo-devel).
Compiling gps-waypoint branch from source¶
$ cd ~/catkin_ws/src
$ git clone https://github.com/AutonomyLab/ardrone_autonomy.git -b gps-waypoint
$ cd ~/catkin_ws
$ rosdep install --from-paths src -i
$ catkin_make
Reading GPS Data¶
First run the driver with GPS support by using Selective Navdata (advanced) :
$ rosrun ardrone_autonomy ardrone_driver _enable_navdata_gps:=True
GPS information is published to ardrone/navdata_gps
. The message is of custom type ardrone_autonomy/navdata_gps:
Header header
uint16 tag
uint16 size
float64 latitude
float64 longitude
float64 elevation
float64 hdop
uint32 data_available
bool zero_validated
bool wpt_validated
float64 lat0
float64 long0
float64 lat_fused
float64 long_fused
uint32 gps_state
float32 X_traj
float32 X_ref
float32 Y_traj
float32 Y_ref
float32 theta_p
float32 phi_p
float32 theta_i
float32 phi_i
float32 theta_d
float32 phi_d
float64 vdop
float64 pdop
float32 speed
uint32 lastFrameTimestamp
float32 degree
float32 degree_magnetic
float32 ehpe
float32 ehve
float32 c_n0 # Signal to noise ratio (average of the four best satellites)
uint32 nbsat # Number of acquired satellites
navdata_gps_channel[12] channels
bool is_gps_plugged
uint32 ephemerisStatus
float32 vx_traj
float32 vy_traj
uint32 firmwareStatus