10 DOF ROS IMU (A) 使用教程

产品简介

10 DOF ROS IMU (A) 是一款10轴imu传感器, 集成ARM32位DSP处理器、BLE5.3蓝牙、高精度加速计、陀螺仪、磁力计、温度气压计, 搭配使用,可以采集周围加速度,陀螺仪,磁力计等数据,检测机器人运动姿态。

产品特性

  • 采用自主研发的姿态解算算法,强实时、高精度、稳定不漂移。
  • 利用串口、BLE5.3蓝牙通信,辅助机器人运动姿态和方位检测。
  • 支持 Android、IOS、Windows、Linux 系统以及其它 BLE 蓝牙设备连接使用。

产品参数

产品10 DOF ROS IMU (A)
供电范围3.3V~5V
波特率115200
接口封装ZH1.5-4A
通讯格式8数据位,1停止位,无校验位
数据包格式前导码+起始码+地址+长度+数据体+校验码+结束码
数据输出加速度、角速度、磁场向量温度、大气压、欧拉角、四元数
加速度计特性量程:±16g
分辨率:0.00048g
陀螺仪特性量程:±2000°/s
分辨率:0.061°/s
磁力计特性量程:±8Guass
分辨率:0.12uT
温度计特性量程:-45℃~85℃
分辨率:0.01℃(板上温度)
气压计特性量程:300~1200hPa
分辨率:0.006hPa

接口说明

引脚号标识描述
15V3.3V~5.0v电源
2G接GND,地引脚
3Rx串行数据接收引脚
4Tx串行数据发送引脚

硬件连接

1. 串口端连接,红线VCC 黑线GND 蓝线TXD 黄线RXD
2. 本产品不含 USB 转 UART 串口模块


轴向说明

10 DOF ROS IMU (A)轴向如上图所示,符合右手坐标系

产品尺寸


例程使用

串口通信

  1. 安装串口驱动,查找设备端口号
    根据串口转换模块芯片类型安装对应驱动以Windows为例.端口号如下图所示

  2. 安装所需依赖
    Windows、Linux:
    pip install pyserial numpy pygame PyOpenGL
  3. 初始化
    修改第8行 ser_port = "COM13" 替换成对应的串口
    Windows、Linux:
    python3 imu_init.py
  4. 执行数据解析代码
    修改第7行 ser_port = "COM13" 替换成对应的串口
    • Windows:通常是COMx.
    python3 imu_uart.py
    • Linux:系统不同端口不同, 比如 /dev/ttyUSBx、/dev/ttySx,可以通过热插拔设备查询设备来确认新增加的设备
    ls /dev/tty*
    python3 imu_uart.py
  5. GUI可视化界面
    需要停止上一步的数据解析程序,执行以下程序
    python3 imu_uart_gui.py


蓝牙通信

  1. 安装蓝牙调试软件,查找设备MAC地址
    以安卓端为例.MAC地址如下图所示

  2. 安装所需依赖
    • Windows:
    pip install bleak numpy
    • Linux:
    sudo apt-get install bluez libbluetooth-dev
    pip install gatt
  3. 执行代码
    使用前,建议先执行串口通信中的初始化步骤
    • Windows:修改第14行 par_device_addr="70:53:B2:02:20:02" 替换为第一步查到的MAC地址
    python3 imu_ble.py
    • Linux:替换为第一步查到的MAC地址
    python3 imu_ble.py 70:53:B2:02:20:02

ROS串口通信

以串口“/dev/ttyUSB0”为例

  1. 查找设备端口号
    • 通过热插拔设备查询设备来确认新增加的设备
    ls /dev/tty*
    • 赋予串口权限:
    sudo chmod 666 /dev/ttyUSB0
  2. 安装所需依赖
    • ROS1 noetic:
    sudo apt update && sudo apt install ros-noetic-serial  ros-noetic-imu-tools
    • ROS2 humble:

    安装串口库

    cd serial && mkdir build && cd build
    cmake .. && make
    sudo make install

    安装其他依赖

    sudo apt update && sudo apt install libserial-dev  ros-humble-imu-tools
  3. 编译
    • ROS1 noetic:
    进到工作空间的根目录,编译
    catkin_make -DCATKIN_WHITELIST_PACKAGES="imu"

    更新环境变量

    source devel/setup.bash
    • ROS2 humble:

    进到工作空间的根目录,编译

    colcon build --packages-select imu

    更新环境变量

    source install/setup.bash
  4. 执行数据解析代码
    • ROS1 noetic:
    需要系统中有启动roscore,或者有launch文件运行中 (可选)新开窗口启动roscore
    roscore

    新开窗口解析数据

    rosrun imu imu_node _port_name:=/dev/ttyUSB0

    新开窗口查看数据

    rostopic echo /imu/data
    • ROS2 humble:

    新开窗口解析数据

    ros2 run imu imu_node --ros-args --param port_name:=/dev/ttyUSB0

    新开窗口查看数据

    ros2 topic echo /imu/data
  5. RVIZ可视化界面
    需要停止上一步的数据解析程序,执行以下程序
    • ROS1 noetic:
    roslaunch imu imu_view.launch port_name:=/dev/ttyUSB0


    • ROS2 humble:
    ros2 launch imu imu_view.launch.py port_name:=/dev/ttyUSB0


程序下载

1. 点击下载文件:10 DOF ROS IMU (A) Code.rar
2. 请安装相关库,再运行示例程序, ROS示例程序请在ROS系统上编译使用

技术支持

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841