D435i相机在前一章节内容已有提及。

一、环境配置与相机参数修正
相关内容参见之前的文章,本文测试的相机配置如下:

二、参看相机发布话题
2.1 直接获取
D435i相机为Intel realsense的产品,其提供的ORS功能包有相关的launch启动文件,可以从对应相机类型的launch中获知话题名。

2.2 间接获取
编译 Intel realsense功能包后,执行对应的launch文件,通过:

rostopic list

获取所有发布的话题,确定相机话题。

三、修改ORB-SLAM3的订阅话题在ORB-SLAM3路径下:

catkin_ws/src/ORB_SLAM3/Examples/ROS/ORB_SLAM3/src

ganahe@ganahe-Nitro-AN515-51:~/catkin_ws/src/ORB_SLAM3/Examples/ROS/ORB_SLAM3/src$ tree
.
├── AR
│   ├── ros_mono_ar.cc
│   ├── ViewerAR.cc
│   └── ViewerAR.h
├── ros_mono.cc
├── ros_mono_inertial.cc
├── ros_rgbd.cc
├── ros_stereo.cc
└── ros_stereo_inertial.cc

选择对应更改的文件,此处即对应相机的种类:

本文以Interl realsense D435i作视觉传感器数据来源,故编辑ros_rgbd.cc ,将话题订阅改为:

    //注释原代码
    // message_filters::Subscriber<sensor_msgs::Image> rgb_sub(nh, "/camera/rgb/image_raw", 100);
    // message_filters::Subscriber<sensor_msgs::Image> depth_sub(nh, "camera/depth_registered/image_raw", 100);
	//更改话题订阅
        message_filters::Subscriber<sensor_msgs::Image> rgb_sub(nh, "/camera/color/image_raw", 100);
    message_filters::Subscriber<sensor_msgs::Image> depth_sub(nh, "/camera/depth/image_rect_raw", 100);

根据相机参数文件发布的话题来修改即可。

三、运行ORB-SLAM3
运行ORB-SLAM3需要如下:

修改的相机订阅话题:xxx.cc文件
相机参数文件:/ORB_SLAM3/Examples/ROS/ORB_SLAM3/xxx.yaml
启动文件:/realsense2_camera/launch/*.launch
运行步骤如下:

3.1 开启相机

roslaunch realsense2_camera rs_d435i.launch

3.2 启动ORB-SLAM3

cd ~/catkin_ws/
# 双目相机
rosrun ORB_SLAM3 ORBD /home/ganahe/catkin_ws/src/ORB_SLAM3/Vocabulary/ORBvoc.txt /home/ganahe/catkin_ws/src/ORB_SLAM3/Examples/ROS/RGB-D.yaml

原文链接:https://dgzc.ganahe.top/ganahe/2021/wrjzzdhsirdrxjsx.html

作者:GanAHE 文章来源:dgzc.ganahe.top