ubuntu18.04 Intel Realsense T265与Realsense D435i 使用教程

主要包括:

  1. realsense sdk驱动安装与ros包安装编译
  2. D435i与t256相机使用
  3. 多个相机联合使用
    官网链接:
  4. https://github.com/IntelRealSense/realsense-ros
  5. https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md

安装Realsense SDK:

注意!!!

1.安装过程不要连接相机
2.不要在虚拟机安装
3.连接相机时使用usb3.0与笔记本连接
主要参考:https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md

1. Make Ubuntu Up-to-date:

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

1. 下载源码

git clone https://github.com/IntelRealSense/librealsense
cd librealsense

网不好时可手动下载master分支压缩包,效果一样。

2. 安装依赖项

sudo apt-get install libudev-dev pkg-config libgtk-3-dev
sudo apt-get install libusb-1.0-0-dev pkg-config
sudo apt-get install libglfw3-dev
sudo apt-get install libssl-dev

3. 准备ubuntu环境

sudo apt-get install libudev-dev pkg-config libgtk-3-dev
sudo apt-get install libusb-1.0-0-dev pkg-config
sudo apt-get install libglfw3-dev
sudo apt-get install libssl-dev

4. 安装Realsense SDK

官网教程通过脚本安装,执行**./scripts/setup_udev_rules.sh**但是我的系统在用这个方法安装时,会一直卡顿没有进程。最终我的安装方式如下,网不好的时候就开热点:

mkdir build
cd build
cmake ../ -DBUILD_EXAMPLES=true
make
sudo make install 

5. 测试Realsense SDK

执行命令cd ~/librealsense/build/examples/capture/,进入/librealsense/build/examples/capture目录下,在此位置下打开终端执行./rs-capture或者用realsense-viewer查看相机效果。


安装 ROS Wrapper:

参照https://blog.csdn.net/zxl970921/article/details/114953858会出现ddynamic包找不到情况,具体问题可根据编译提示解决,该博客所需文件已保存到百度云。

1.切换路径

catkin_ws为已存在工作空间

cd catkin_ws/src

2.下载realsense-ros

官网:https://github.com/IntelRealSense/realsense-ros

git clone https://github.com/IntelRealSense/realsense-ros.git
cd realsense-ros/
git checkout `git tag | sort -V | grep -P "^2.\d+\.\d+" | tail -1`
cd ..

3.编译与测试

3.1测试D435i

cd ..
catkin_make

若提示缺少的ddynamic_reconfigure库,下载https://github.com/pal-robotics/ddynamic_reconfigure好以后,把代码放到Catkin工作空间的src文件夹下,catkin_make即可。

最后别忘了source ~/.bashrc更新一下

将相机连接到笔记本的3.0接口,以D435i双目+imu相机为例测试

roslaunch realsense2_camera rs_d435_camera_with_model.launch

查看此时的topic list

rostopic list
/camera/color/camera_info
/camera/color/image_raw
/camera/color/metadata
/camera/depth/camera_info
/camera/depth/image_rect_raw
/camera/depth/metadata
/camera/extrinsics/depth_to_color
/camera/extrinsics/depth_to_infra1
/camera/extrinsics/depth_to_infra2
/camera/infra1/camera_info
/camera/infra1/image_rect_raw
/camera/infra2/camera_info
/camera/infra2/image_rect_raw
/camera/gyro/imu_info
/camera/gyro/metadata
/camera/gyro/sample
/camera/accel/imu_info
/camera/accel/metadata
/camera/accel/sample
/diagnostics

其中,在launch文件中有一些topic的开关测试可针对性设置为true或者false。

3.2测试t265

roslaunch realsense2_camera rs_t265.launch

查看发布话题,同样的,在launch文件中有一些topic的开关测试可针对性设置为true或者false。

rostopic list
/camera/odom/sample
/camera/accel/sample
/camera/gyro/sample
/camera/fisheye1/image_raw
/camera/fisheye2/image_raw

3.3可视化相机话题

1.可以用rviz选择话题查看,注意fix frame
2.可以指令查看:rqt_image_view选择话题查看


同时使用多个相机:

  1. 同时启动多个相机
    查看相机序列号,或者启动相机时界面会出现序列号。
rs-enumerate-devices | grep Serial
roslaunch realsense2_camera rs_multiple_devices.launch serial_no_camera1:= serial_no_camera2:=
roslaunch realsense2_camera rs_multiple_devices.launch serial_no_camera1:=109122071794 serial_no_camera2:=952322110650

或者
开两个终端
roslaunch realsense2_camera rs_camera.launch camera:=cam_1 serial_no:=
roslaunch realsense2_camera rs_camera.launch camera:=cam_2 serial_no:=


其他注意事项:

参考:https://zhaoxuhui.top/blog/2020/09/09/intel-realsense-d435i-installation-and-use.html
(1)IMU信息的融合
前面的Topic List里也看到了,D435i可以输出陀螺仪和加速度计的信息,我们可以分开读取,也可以将/camera/gyro/sample和/camera/accel/sample两个Topic合并到一起,叫做/camera/imu,这样一个Topic里既有陀螺仪的数据也有加速度计的数据。具体方法也很简单,还是修改Launch文件里的配置选项。在rs_camera.launch文件中找到unite_imu_method这个参数,把它的值可以设置为copy或者linear_interpolation,这样再次启动rs_camera节点启动D435i就可以在Topic列表里看到/camera/imu这个Topic了。

(2)深度图对齐问题
D435i可以输出原始的深度图(/camera/depth/image_rect_raw)以及和单目RGB影像对齐的深度图(/camera/aligned_depth_to_color/image_raw),这两个深度图是不一样的。在采集数据的时候尤其需要注意。比如在采集RGBD数据的时候需要的是对齐的深度,如果不小心采成了原始深度,那基本就是不能用的了。如何输出对齐的深度图,也非常简单,修改Launch文件里的配置选项。在rs_camera.launch文件中找到align_depth这个参数,把它的值可以设置为true即可。(设置这个选项之前,记得打开enable_depth,要不然是没有数据的)

(3)D435i的分辨率与帧率
单目相机(RGB影像):分辨率:320×180,320×240,424×240,640×360,640×480,848×480,960×540,1280×720,1920×1080;帧率:6,15,30,60
双目红外相机(灰度影像&深度影像):分辨率:256×144,424×240,480×270,640×360,640×400,640×480,848×100,848×480,1280×720,1280×800;帧率:6,15,25,30,60,90,100,300
IMU(加速度计&陀螺仪):加速度计帧率:63,250;陀螺仪帧率:200,400

(4)数据采集的常规流程
这里简单给出一些D435i数据采集的建议。首先,如果要采RGBD数据,那么一定要记得录对齐后的深度,而非原始输出深度。第二,如果采集场景是较暗或者较小的场景,那么可能会有很多红外斑点出现在双目红外影像中。如果想用双目影像做视觉SLAM,那么一定记得关闭红外发射器。

下面以一个利用D435i进行单目RGB、红外双目、IMU数据采集的过程为例,介绍一般流程与步骤。

首先明确要采集的数据类型、影像的大小、帧率、深度是否对齐等信息,这些都在rs_camera.launch文件的对应参数里设置。

然后,在终端中输入roslaunch realsense2_camera rs_camera.launch启动D435i。启动以后如果需要关闭红外发射器,按照上面提到的第三点进行操作即可。

然后,利用rqt_image_view进行可视化。可以打开多个rqt_image_view节点,分别查看RGB影像、左右红外影像等。

最后,打开终端,输入rosbag record /camera/color/image_raw /camera/infra1/image_rect_raw /camera/infra2/image_rect_raw /camera/imu,这样就开始录制了。录制完成后,按Ctrl+C保存退出即可。

你可能感兴趣的:(ROS,SLAM,ubuntu,系统安装,linux)