无人机室内编队系统集成(三)

本文详细介绍了如何将optitrack定位系统的数据集成到px4无人机控制系统中,实现室内定位。通过px4的Mavlink协议接口接收定位数据,调整坐标系以匹配,然后启用ATT_EXT_HDG_M参数开启外部定位功能,并调整ATT_W_EXT_HDG参数以提高外部航向的比重,确保飞行器航向与室内定位系统一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

px4外部定位数据协议接口

px4固件对外部定位数据(包括三轴姿态角)的引入提供了现成的功能支持,并提供了相应的Mavlink协议接口。理论上,我们只需要将optitrack定位系统中提供的定位信息(x,y,z三轴位置以及姿态角四元素)按照既定的Mavlink协议格式发送给飞行控制器即可实现飞行器的室内定位。

px4提供的引入外部定位信息的Mavlink消息

查看px4的mavlink协议,可以看到138号消息提供了对Motion capture(即optitrack)姿态和位置数据的引入和支持。
在这里插入图片描述
经过测试time_usec时间戳和covariance数据不起作用,可直接置零。
需要注意的是,虽然我们可以从optitrack直接拿到姿态四元数和三轴位置xyz,但是optitrack定义的坐标系方向和px4定义的本地坐标系方向有些不同,需要进行坐标系的旋转才可统一。

px4外部定位信息启用

经过上述步骤,我们虽然已经通过mavlink第138号消息将optitrack提供的定位数据成功灌入到px4中,但是在默认状态下px4使用的是GPS的定位数据,这里需要在QGC(px4原生地面站)中修改名为ATT_EXT_HDG_M的参数值,将其参数值从0改为2即可开启该功能模块。

px4外部航向信息的比重调整

需要注意的是,这里只有xyz三轴位置是直接被飞控采用的,外部三轴姿态中的俯仰和横滚是不被采用的(因为大地坐标和optitrack室内空间坐标都在重力场下,俯仰和横滚是一致的),且外部航向是和磁罗盘数据作融合后作为修正项使用的,这里我们需要提高外部航向的比重,毕竟现在航向定义完全取决于室内定位系统。所以需要将ATT_W_

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值