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

未完待续。。。

相关推荐
珞瑜·1 小时前
Matlab R2024B软件安装教程
开发语言·matlab
机器学习之心8 小时前
综合评价 | 基于熵权-变异系数-博弈组合法的综合评价模型(Matlab)
matlab·博弈组合法·综合评价模型·变异系数·熵权
吱吱鼠叔8 小时前
MATLAB数据文件读写:1.格式化读写文件
前端·数据库·matlab
liangbm311 小时前
MATLAB系列09:图形句柄
图像处理·笔记·计算机视觉·matlab·matlab绘图·工程基础·图形句柄
夏天天天天天天天#11 小时前
求Huffman树及其matlab程序详解
算法·matlab·图论
liangbm311 小时前
MATLAB系列05:自定义函数
开发语言·笔记·matlab·教程·函数·自定义函数·按值传递
创小董11 小时前
机器狗与无人机空地协调技术分析
无人机
吱吱鼠叔12 小时前
MATLAB数学规划:2.线性规划
算法·机器学习·matlab
声学黑洞仿真工作室12 小时前
Matlab Delany-Bazley和Miki模型预测多孔材料吸声性能
开发语言·人工智能·算法·matlab·微信公众平台
创小董13 小时前
智能机巢+无人机:自动化巡检技术详解
运维·自动化·无人机