# 基于ROS2实现IMU数据采集仿真项目 **Repository Path**: GIT-Tammy/dev_ws ## Basic Information - **Project Name**: 基于ROS2实现IMU数据采集仿真项目 - **Description**: 在ros2上实现一个通过topic,可发布订阅的imu节点。 - **Primary Language**: C++ - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-24 - **Last Updated**: 2026-04-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于ROS2实现IMU数据采集仿真项目 #### 介绍 本项目基于 **ROS2 Humble + Ubuntu 22.04** 实现了一个 IMU 数据采集仿真与处理示例工程。 项目通过 ROS2 Topic 发布和订阅 IMU 数据,使用 `sensor_msgs/msg/Imu` 标准消息格式,模拟 IMU 绕 Z 轴旋转,并加入角速度噪声。随后通过滤波节点对原始 IMU 数据进行一阶低通滤波,输出处理后的 IMU 数据。 本项目适合作为 ROS2 传感器驱动开发入门项目,尤其适合有嵌入式 MCU、传感器采集、串口通信、滤波算法基础的开发者学习 ROS2 机器人软件开发流程。 当前项目已实现: 1. IMU 原始数据仿真发布 `/imu/data_raw` 2. IMU 数据订阅与打印 3. IMU 数据一阶低通滤波 4. 滤波后数据发布 `/imu/data` 5. YAML 参数配置 6. Launch 文件一键启动 7. TF 静态坐标变换 `base_link -> imu_link` 8. rosbag2 数据录制与回放 9. rqt_plot 曲线可视化 10. 噪声模拟与滤波效果对比 --- #### 软件架构 项目采用 ROS2 多节点架构,整体数据流如下: ```text base_link | | static TF v imu_link imu_node | | /imu/data_raw v imu_filter_node | | /imu/data v imu_listener 本次更新将原来的单轴 IMU 仿真升级为三轴 IMU 仿真,增加了三轴角速度、三轴线加速度、噪声模拟、一阶低通滤波、启动零偏校准、YAML 参数配置、launch 一键启动和静态 TF。 可以通过rqtplot 线性查看imu仿真原始数据以及经过低通滤波后新的数据 对比波动