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

未完待续。。。

相关推荐
深圳市机智人激光雷达7 小时前
技术筑牢安全冗余:激光雷达在自动驾驶高阶感知中的底层价值与范式演进
人工智能·安全·机器学习·3d·机器人·自动驾驶·无人机
kobesdu9 小时前
【ROS2实战笔记-24】ROS2 Launch 实用技巧:条件逻辑与节点动态生成
笔记·ros·slam
T.i.s14 小时前
论文复现8
matlab·fmcw
深蓝学院15 小时前
清华WorldVLN:首个自回归世界动作模型!零样本迁移真实无人机,成功率+12%
无人机·世界模型
亥时科技15 小时前
无人机利用率看不清?一块 BI 仪表盘,能把“设备台账”变成“经营驾驶舱”
开源·无人机·ai巡检
海神之光16 小时前
【语音识别】基于matlab语音MFCC特征提取CNN深度学习语音识别【含Matlab源码 14470期】
matlab
YOLO数据集集合17 小时前
输电线缺陷目标检测|无人机电力巡检深度学习数据集|电网线缆散股智能识别数据
人工智能·深度学习·yolo·目标检测·无人机
动物园猫19 小时前
无人机角度的道路损害检测数据集分享(适用于YOLO系列深度学习分类检测任务)
深度学习·yolo·无人机
Evand J20 小时前
【自适应滤波】基于新息协方差匹配的自适应CKF目标跟踪 MATLAB 实战——在目标跟踪、雷达定位、组合导航和传感器融合等问题
人工智能·matlab·目标跟踪
友思特 智能感知20 小时前
友思特应用 | 基于友思特iDS事件相机的无人机高速追踪检测应用
无人机·事件相机·evs事件相机