APM飞控使用动捕等外部定位

本文初次写于2023.03.03,pixhawk飞控应该是刷写了ArduPilot 4.1以上的版本。

机载计算机通过WIFI和vrpn_ros_client获取动捕系统(vicon或者nokov)的无人机定位数据(x,y,z+四元数),然后通过 /mavros/vision_pose/pose 的ROS话题发送给APM飞控。APM飞控收到这些动捕数据后,并不是直接使用,而是也利用EKF融合了imu,最终飞控实际融合结果可以在 /mavros/local_position/pose 话题中读到,但是读之前要先启动APM的数据流:

rosservice call /mavros/set_stream_rate ..... 
# message_rate 设置100, on_off 设置为true

APM中需要改的参数:

AHRS_EKF_TYPE=3
EK3_ENABLE=1
EK2_ENABLE=0
COMPASS_USE=0
COMPASS_USE2=0
COMPASS_USE3=0
VISO_TYPE=1 # mavlink
EK3_SRC1_POSXY=6
EK3_SRC1_POSZ=6
EK3_SRC1_YAW=6 # 使用动捕四元数的偏航角
EK3_SRC1_VELXY=0
EK3_SRC1_VELZ=0
EK3_SRC2_YAW=6 # 可能非必须
EK3_SRC3_YAW=6 # 可能非必须

参考:

Nokov Indoor Optical Tracking System - Blog - ArduPilot Discourse

 Intel RealSense T265 — Copter documentation (ardupilot.org)

注意:

动捕系统的坐标系要z轴朝上,并且遵循xyz右手定则。

如果不使用动捕的偏航角yaw,而是使用磁罗盘,那么要保证动捕的xy轴和真实世界的东北对应。因为mavros默认发送的xyz是东北天位置。

如果使用动捕的偏航角yaw,那么也要检查飞控融合后的偏航角是否正确

/mavros/local_position/pose 中的四元数可能和  /mavros/vision_pose/pose 中的四元数并不相同,比如可能转了180°。要调整动捕球的安装方式或者刚体建立方式,保证机头朝向动捕坐标系x轴正向时,mission planner上显示偏航角是90°,方向是正东;机头朝向动捕坐标系y轴正向时,mission planner上显示偏航角是0°或者360°,方向是正北。

 

本设计分享的是ArduPilotMega(APM无人机飞控APM-V2.5全部资料,APM飞控系统是国外的一个开源飞控系统,是市面上最强大的基于惯性导航的开源自驾仪。附件内容提供飞控APM-V2.5全部设计资料,包括硬件、固件源码和中文硬件与软件的快速入门指南。ArduPilotMega APM-2.5实物截图: 飞控APM-V2.5电路 PCB截图: ArduPilotMegaAPM特性包括: 免费开源固件,支持飞机("ArduPlane"),多旋翼 (四旋翼, 六旋翼, 八旋翼等), 直升机("ArduCopter")和地面车辆("ArduRover")! 通过点击式的工具简单设置和上传固件。无须编程!(但是你想搞搞代码的话,可以使用简单的嵌入式编程工具: Arduino) 通过点击式的桌面程序完全的规划任务脚本 可以支持上百个三维航点 使用强大的 MAVLink 协议,支持双向遥测和飞行中控制命令T 多种免费地面站,包括 HK GCS, 支持任务规划,空中参数调整,视频显示,语音合成和完整的带回放的数据记录 跨平台。支持Windows, Mac 和 Linux。在 Windows 下使用图形任务规划设置工具 (Mac 下可用模拟器) 或在任何操作系统使用命令行界面。三种操作系统上都有可用的地面站程序。基于 Arduino 编程环境,也是完全跨系统的。 自起飞,降落和特殊的作命令,例如视频和照相控制 完整支持 Xplane 和 Flight Gear 半硬件仿真 包括继电器,可以触发任何设备,可以根据任务脚本控制
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值