SDK ROS2 功能包使用说明
文件结构
SDK ROS2 部分位于 rdk-imu-module-sdk/ros2,它以 C-API 为依赖。ros2 目录实际为一个工作空间目录,可以在该目录下构建功能包,文件结构如下:
构建前:
ros2/
└── src
└── rdk_imu_module
├── CMakeLists.txt # 构建工具
├── launch
│ └── rdk_imu.launch.py # launch 启动文件
├── package.xml
├── scripts
│ └── imu_stress_test.py # 压力测试脚本
└── src
└── rdk_imu_node.cpp # 节点源码
构建后:
ros2/
├── install/
├── build/
├── log/
└── src/
构建方法
构建 ROS2 功能包前,必须保证 SDK 的 C-API 的动态库已被编译,即 core/lib 中的 .so、.so.x 和 .so.x.x.x 都存在。ROS2 功能包依赖该动态库文件,但无需用户手动移动,cmake 会自动检测并安装到 install 目录中。
激活环境后在 ros2 目录下使用 colcon build 即可编译。
接口说明
节点功能
- 融合数据输出:调用 C API 的
rdk_imu_read_fused()进行一维线性插值,输出时间对齐的六轴数据。 - 协方差自动计算:根据当前配置的加速度计滤波带宽和陀螺仪带宽,结合 BMI088 手册噪声密度,自动计算并填充
linear_acceleration_covariance和angular_velocity_covariance的对角方差值。 - 运行控制:提供 ROS2 服务,可在运行中随时暂停/恢复 IMU 数据采集。
- 灵活的参数配置:所有传感器参数、话题名、服务名均可通过 ROS 参数在启动时配置。