当前位置: 代码迷 >> 综合 >> IMU(Xsens)与Kinect联合使用
  详细解决方案

IMU(Xsens)与Kinect联合使用

热度:65   发布时间:2023-11-19 12:54:24.0

IMU-Xsens与Kinect联合使用

  • 1. X-sens传感器使用
  • 2. Kinect传感器使用
  • 3. 录制ROS-bag数据包
  • 4. 回放ROS-Bag数据包

1. X-sens传感器使用

ROS(kinetic版本)下的IMUC传感器X-sens使用:

  • 安装驱动
    笔者使用的Xsens型号为MTI-100。首先安装Xsens的驱动 (kinetic版本):
sudo apt-get install ros-kinetic-xsens-driver
  • 测试X-sens
    X-sens有两个接口,一个是数据线,用于传输IMU数据;另一个是电源线,单独供电; 将两个接口插到电脑USB接口上,稍等30s, 然后输入一下指令查看电脑是否存在外部连接设备:
ls -l /dev/ttyUSB*

在这里插入图片描述

  1. 提升设备权限:
sudo chmod 777 /dev/ttyUSB*
  1. 启动X-sens传感器
 roslaunch xsens_driver xsens_driver.launch
  1. 查看X-sens话题及数据
rostopic list
rostopic echo /imu/data

在这里插入图片描述

2. Kinect传感器使用

使用的是kinect v1传感器,成效效果即深度测量不是特别好.

  • 安装驱动
sudo apt-get install ros-kinetic-openni-* ros-kinetic-freenect-*
  • 启动测试

将 kinect 的电源接口,数据接口插入电脑USB,等待30s后,再运行下面launch文件:

roslaunch freenect_launch freenect.launch
  • 查看话题
rostopic list

在这里插入图片描述

3. 录制ROS-bag数据包

1. 仅录制 Kinect与IMU 的数据,订阅的话题

以时间戳命名:

  • 相机彩色图像: /camera/rgb/image_raw
  • 相机深度图像: /camera/depth/image_raw
  • IMU数据: /imu/data
rosbag  record  /camera/rgb/image_raw  /camera/depth/image_raw  /imu/data

2. 录制所有话题

以时间戳命名:

rosbag record -a

4. 回放ROS-Bag数据包

  • 基本回放
# 格式
rosbag play <your bagfile name>
# 实例
rosbag play MH-02-easy.bag
  • 回放指定话题
# 格式
rosbag play <your bagfile name> --topics <topics>
# 实例
rosbag play MH-02-easy.bag --topics /camera/rgb/image_raw
  • 等待一定时间之后发布bag文件中的内容

等待时间单位: 秒 s

rosbag play <your bagfile name> -d <delay time>
# 实例
rosbag play MH-02-easy.bag -d 30
  • 按一定速率回放
# 3倍速回放
rosbag play -r 3 <your bagfile name>
# 实例
rosbag play -r 3 MH-02-easy.bag
  相关解决方案