【画图】读取无人机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分析数据

未完待续。。。

相关推荐
qq_252941316813 小时前
无人机目标检测数据集(UAV Detection Dataset)| 无人机检测 反无人机 低空安防5001期
人工智能·yolo·目标检测·计算机视觉·视觉检测·无人机·反无人机
ShiMetaPi17 小时前
厦大 + Meta 最新开源 M²E-UAV 数据集:破解机载“动对动“无人机检测难
开源·无人机·事件相机·evs
tianxuanjg18 小时前
工业 / 协作机器人手腕手掌零部件采购指南|轻量化复杂结构件如何平衡精度与加工效率
经验分享·机器人·无人机·制造
lingchen190619 小时前
用MATLAB r2010b和r2016b求解微分方程组
开发语言·算法·matlab
可编程芯片开发19 小时前
基于李雅普诺夫算法的四旋翼无人机姿态跟踪控制系统simulink建模与仿真
matlab·无人机·制造·四旋翼无人机·李雅普诺夫·姿态跟踪控制
GongYeRunHuaYou2 天前
无人机旋翼固定用胶怎么选?从结构粘接角度谈选型思路
无人机·工业胶粘剂·3m胶粘·旋翼粘接
HXSYS2 天前
无人机库房管理标准化,《无人机装调维修师》规范存储运维
运维·无人机
qq_25294131682 天前
航拍垃圾堆检测数据集 | 航拍垃圾检测 固废管理 无人机巡检 环保监测9025期
yolo·目标检测·计算机视觉·分类·无人机·垃圾检测·垃圾
科技小E2 天前
把人从百米高空拉下来:自动化AI算法训练服务器DLTM+无人机巡检让风机光伏缺陷无所遁形
人工智能·自动化·无人机
亥时科技2 天前
人回不去,机场坏了怎么办?
开源·无人机·ai巡检