20

阿木币

0

精华

9 小时

在线时间

老司机

Rank: 2

发表于 2022-7-12 20:11:50 4763 浏览 5 回复

PX4 mavros如何正确获取无人机的加速度

我是从mavros的"mavros/imu/data" topic获取的IMU(定义在超链接里)类型的数据,然后我从里面的"linear_acceleration"字段分别提取出了xyz轴的加速度,然后我在jmavsim SITL里做了一次飞行,并用绘图的方式以0.1s为间隔以记录下了无人机每一时刻的速度与加速度,结果发现在有些时候(比如下图这一段的两个点的比较)里无人机x轴速度在减小但是加速度却是正的,而y轴的加速度方向在全程是正确的,而且根据速度的变化量除以时间(0.1s)计算出的加速度也和从这个topic里获得的值也有较大的出入。
图1.png 图2.png

请问有人清楚这是为什么吗?是SITl固有的问题还是不能从这个topic里获得呢?此外我还有一个问题是QGC里我只能找到看速度和位置的metrics找不到怎么看加速度,我也就无从得知飞行过程中真正的加速度是多少了,是QGC里也没有看加速度的地方吗?
QGC.png
上面的飞行路径图见下面的附件

飞行记录.zip (21.97 KB, 下载次数: 3)
QGC.png
图2.png
图1.png

飞行记录.zip

21.97 KB, 下载次数: 0


扫一扫浏览分享
回复

使用道具 举报

144

阿木币

0

精华

143 小时

在线时间

技术大V

Rank: 4

发表于 2022-7-13 14:15:19
最原始的数据 应该是要从px4/ardupilot飞控里找输出的状态方程   参考一下这个文档:https://ardupilot.org/copter/docs/logmessages.html  这个是ardupilot固件下面的参数清单 ACC字样的就是加速度计
回复 点赞

使用道具 举报

202

阿木币

0

精华

373 小时

在线时间

版主

Rank: 7Rank: 7Rank: 7

发表于 2022-7-13 14:19:03
mavros课程里面 讲的是位置控制和姿态控制  
回复 点赞

使用道具 举报

202

阿木币

0

精华

373 小时

在线时间

版主

Rank: 7Rank: 7Rank: 7

发表于 2022-7-13 14:19:46
16576930871.png
回复 点赞

使用道具 举报

20

阿木币

0

精华

9 小时

在线时间

老司机

Rank: 2

 楼主| 发表于 2022-7-13 21:00:47
maxiou 发表于 2022-7-13 14:19
mavros课程里面 讲的是位置控制和姿态控制

谢谢,我用的也是位置控制,不过我想从飞控里读取加速度作为无人机状态数据的一部分,结果发现从飞控中读取的加速度不太正确。
回复 点赞

使用道具 举报

20

阿木币

0

精华

9 小时

在线时间

老司机

Rank: 2

 楼主| 发表于 2022-7-13 21:18:18
风帆 发表于 2022-7-13 14:15
最原始的数据 应该是要从px4/ardupilot飞控里找输出的状态方程   参考一下这个文档:https://ardupilot.org ...

我是想抓到经过EKF融合后获得的对无人机运动状态最准确估计的无人机加速度信息作为无人机状态数据的一部分。目前我主要是使用mavros与PX4飞控交互,我看到mavros只有“imu/data” topic可以获取加速度,官方对这个话题的描述是“Imu data, orientation computed by FCU”,不知道这能否算是您说的从飞控里抓的数据。但是这个数据经过我的验算方向和数值都有些不对。mavros还有一个发布的与加速度相关的话题"local_position/accel",但是这个话题我网上搜索发现已经弃用了。所以我找不到别的方式从飞控拿加速度了。
回复 点赞

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表