【画图】读取无人机IMU数据并打印成log用matlab分析

一、修改IMU频率

原来的imu没有加速度信息,查看加速度信息的指令为:

复制代码
rostopic echo /mavros/imu/data

修改imu频率,分别修改的是

  1. 原始IMU数据话题 /mavros/imu/data_raw

  2. 飞控计算过后的IMU数据 /mavros/imu/data

    rosrun mavros mavcmd long 511 105 10000 0 0 0 0 0
    rosrun mavros mavcmd long 511 31 10000 0 0 0 0 0

但是这个每次都要启动执行这句话,很麻烦,把他添加到脚本里,这样每次就不用手动输入了。

二、订阅话题信息

1.回调函数

定义一个回调函数,回调函数是当新消息到达主题时被调用的函数。它应该接收一个参数,即到达的消息,常见格式:

复制代码
def imu_data(data):  
    ...

我们需要的信息:

样例:

复制代码
def imu_data(msg):
    global imu_acc
    imu_acc=msg.linear_acceleration

2.创建一个订阅者

常见格式:

复制代码
rospy.Subscriber('my_topic', String, callback)

在这里,'my_topic' 是你要订阅的主题名,String 是你期望接收的消息类型,callback 是上面定义的回调函数。

为了查看消息类型,可以这样执行:

复制代码
rostopic type /mavros/imu/data

返回值:
sensor_msgs/Imu

所以,可以这样写订阅:

复制代码
rospy.Subscriber("mavros/imu/data", Imu, imu_data)#yhl

但是在此之前,还要安装一个包,让ros能识别Imu消息类型

复制代码
from sensor_msgs.msg import Imu  # 导入sensor_msgs包中的Imu消息类型 

3.打印log数据

复制代码
print("imu_acc:{}".format(imu_acc))#yhl

可以看到,打印了加速度数据

三、MATLAB分析数据

未完待续。。。

相关推荐
青春不败 177-3266-052012 小时前
MATLAB在生态环境数据处理与分析
matlab·生态学·遥感·生态系统服务·数据处理·环境科学
WangYan202213 小时前
MATLAB/Meta分析/R语言/贝叶斯方法/piecewiseSEM结构方程模型在生态环境数据处理与分析中的应用
matlab·meta分析·生态环境·结构方程模型·贝叶斯方法
weixin_4526006917 小时前
D2632大电流低差压可调线性稳压器介绍,D2632可替换MIC29302
fpga开发·机器人·无人机·电动工具·车载摄像头
威视锐科技1 天前
无人机被动探测与定位
无人机·威视锐
这张生成的图像能检测吗1 天前
(论文速读)元结构增强的单传感器无人机螺旋桨故障定位方法
无人机·故障诊断·结构设计·缺陷识别
亥时科技2 天前
4K航拍视频,为什么能在浏览器里直接看?
开源·无人机·ai巡检
这张生成的图像能检测吗2 天前
(论文速读)基于MFC传感和能量采集的无人机螺旋桨故障自能实时监测
无人机·故障诊断·传感器·旋翼故障·mfc系统
GTfiber3 天前
深圳光特通信光纤无人机专用光模块:构建无损高清图传通道,重塑工业无人机影像传输能力
科技·5g·无人机·信息与通信
大毛无人机3 天前
无人机服务服务商筛选 SOP
无人机·流程·验证·sop·2026无人机接单平台哪