10 DOF ROS IMU (A)

来自Waveshare Wiki
跳转至: 导航搜索
10 DOF ROS IMU (A)
{{{name2}}}
{{{name3}}}
功能简介
特性 10轴惯性导航模块
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 UART

产品简介

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

接口说明

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

硬件连接

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

10 DOF ROS IMU(A) hardware connections.png

轴向说明

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

产品尺寸

10 DOF ROS IMU(A) product.jpg

例程使用

串口通信

  1. 安装串口驱动,查找设备端口号
    根据串口转换模块芯片类型安装对应驱动 以Windows为例.端口号如下图所示
    10 DOF ROS IMU (A)-3.png
  2. 安装所需依赖
    Windows、Linux:
    pip install pyserial numpy pygame PyOpenGL
  3. 初始化
    修改第8行 ser_port = "COM13" 替换成对应的串口,十秒内,把模块Z轴垂直于水平面和Z轴平衡于水平面分别在水平面上旋转一圈以上
    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

    10 DOF ROS IMU (A) GUI.gif

蓝牙通信

  1. 安装蓝牙调试软件,查找设备MAC地址
    以安卓端为例.MAC地址如下图所示
    10 DOF ROS IMU (A)-2.jpg
  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

    10 DOF ROS IMU (A) ros1 GUI.gif

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

    10 DOF ROS IMU (A) ros2 GUI.gif

程序下载

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

FAQ


技术支持


联系人:方工
EMAIL:2355742825@qq.com
QQ:2355742825
微信:扫下方二维码添加
QRCode YijunFang.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证