该代码为mini 6dof imu模块配套的代码仓库,代码仓库共有6个分支,当前代码分支为main分支,为ROS2 humble系统配套代码分支.剩下代码分支依次为:arduino-dev,linux-dev,matlab-dev,stm32-dev,windows-dev,ros1

zhangzhijie 24d90c0f50 将当前main分支代码更新为ROS2 humble下可以直接运行使用的代码,然后对于原来main代码,移动到ros1分支上 1 개월 전
iic_6dof_imu 24d90c0f50 将当前main分支代码更新为ROS2 humble下可以直接运行使用的代码,然后对于原来main代码,移动到ros1分支上 1 개월 전
rviz_display_6dof_imu 24d90c0f50 将当前main分支代码更新为ROS2 humble下可以直接运行使用的代码,然后对于原来main代码,移动到ros1分支上 1 개월 전
serial_6dof_imu 24d90c0f50 将当前main分支代码更新为ROS2 humble下可以直接运行使用的代码,然后对于原来main代码,移动到ros1分支上 1 개월 전
.gitignore 24d90c0f50 将当前main分支代码更新为ROS2 humble下可以直接运行使用的代码,然后对于原来main代码,移动到ros1分支上 1 개월 전
LICENSE 974435cd23 Initial commit 11 달 전
README.md 24d90c0f50 将当前main分支代码更新为ROS2 humble下可以直接运行使用的代码,然后对于原来main代码,移动到ros1分支上 1 개월 전
initdev_mini_imu.sh 0e281a6f61 更新initdev_mini_imu.sh脚本,因为更换了usb转串口芯片,导致PID从7523改为7522 1 년 전

README.md

代码仓库介绍

该仓库为 mini 6DOF IMU 模块的 ROS2 Humble 驱动代码,包含两种读取方式:

  • serial_6dof_imu:通过串口读取 IMU 数据,发布 sensor_msgs/msg/Imu、yaw/pitch/roll/temp 话题,并提供 yaw 归零、读取 yaw、设置 IIC 地址服务。
  • iic_6dof_imu:通过 IIC 读取 IMU 数据,发布 sensor_msgs/msg/Imu、yaw/pitch/roll 话题,并提供读取 yaw 服务。
  • rviz_display_6dof_imu:启动 RViz2 加载 IMU 可视化配置。

编译

将仓库放在 ROS2 工作区的 src 目录下:

cd ~/ros2_ws
colcon build --packages-select serial_6dof_imu iic_6dof_imu rviz_display_6dof_imu
source install/setup.bash

串口设备映射

运行 IMU 前可执行脚本将 USB 串口映射为 /dev/mini_imu

sudo ./initdev_mini_imu.sh

启动

串口方式:

ros2 launch serial_6dof_imu serial_6dof_imu.launch.py

IIC 方式:

sudo apt install python3-smbus
ros2 launch iic_6dof_imu iic_6dof_imu.launch.py

RViz2 显示:

ros2 launch rviz_display_6dof_imu rviz_display_6dof_imu.launch.py

RViz2 的 IMU 显示依赖 ROS2 版 rviz_imu_plugin。如果系统未安装,可先安装:

sudo apt install ros-humble-imu-tools

常用服务

ros2 service call /serial_imu_service/setYawZero_service serial_6dof_imu/srv/SetYawZero
ros2 service call /serial_imu_service/getYawData_service serial_6dof_imu/srv/GetYawData
ros2 service call /serial_imu_service/setIICAddr_service serial_6dof_imu/srv/SetIICAddr "{address: '0x50'}"
ros2 service call /iic_imu_service/getYawData_service iic_6dof_imu/srv/GetYawData

说明

旧 ROS1 第三方源码 imu_tools/ 已从仓库中移除。Humble 环境请直接使用官方发布的 ros-humble-imu-tools