ROS与AR.Drone-GPS支持(实验版)
GPS支持(实验版)
说明
- 这是一个实验功能的驱动程序,需要一个飞行记录器。如果你编译gps-waypoint分支来使用这个功能。风险自负
- gps-waypoint 分支保持最新的开发版本(currently indigo-devel).
源码编译
$ 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
读取GPS数据
启动可选的Navdata ,带有GPS支持:
$ rosrun ardrone_autonomy ardrone_driver _enable_navdata_gps:=True
GPS信息发布在ardrone/navdata_gps主题,信息为自定义类型: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
GPS航点导航
- Parrot的官方SDK不发布这个功能。此功能被添加到通过逆向工程FreeFlight App所使用的协议驱动程序。
- 所有GPS相关补丁的SDK可以看这里。
- AR-Drone 2.0 带有飞行记录器可以执行板载的GPS航点导航
- 目前驱动支持通过ardrone/setgpstarget服务发送一个目标航点到无人机。
- 向服务发送geographic_msgs/WayPoint类型请求来设置或覆盖航点。
- position字段确定目标的纬度、经度和高度(更多)
- props字段包含ROS的键-值对的向量,支持的键为:
velocity: 值设置所需的线性速度 单位 m/s
orientation: 值设置期望的目标的方向,单位是弧度
- 设置位置后,调用ardrone/setautoflight 带有enable = True 启动自动飞行模式 (自动飞行模式默认是关闭的)
- 服务类型是ardrone_autonomy/RecordEnable
- 关闭自动飞行模式,调用服务带有enable = False即可。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号