ubuntu20.04 从头开始配置orbslam3和ros1 noetic 并且使用d455跑代码(3)
本章将配置ORB_SLAM3_ROS,使用ros来跑,由于官方源代码的ros折腾起来很累,版本有点老了,所以在此感谢
emanuelenencioni
https://github.com/emanuelenencioni老哥
1.安装ORB_SLAM_ROS
https://github.com/emanuelenencioni/ORB_SLAM3_ROS
https://github.com/emanuelenencioni/ORB_SLAM3_ROS 这是源码
mkdir catkin_ws
cd catkin_ws
mkdir src
cd src
git clone https://github.com/emanuelenencioni/ORB_SLAM3_ROS.git
2.配置依赖

其中ORB _SLAM3里面的配置跟上讲配置一模一样,如果不清楚,请跳转到ubuntu20.04 从头开始配置orbslam3和ros1 noetic 并且使用d455跑代码(2)-CSDN博客
打开ORB_SLAM_ROS的CMakeLists.txt,将Eigen3和OpenCV修改如下

之后就可以到工作空间目录下catkin build 了
cd ~/catkin_ws/
catkin build
3.安装realsense_ros,用来通过ros启动相机
1.安装
详细请看源码,因为我们是ros1 noetic,选择ros1https://github.com/IntelRealSense/realsense-ros/tree/ros1-legacy
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 ..
安装依赖
sudo apt-get install ros-noetic-realsense2-camera ros-noetic-librealsense2 ros-noetic-ddynamic-reconfigure
sudo apt-get install libglfw3-dev libtbb-dev
修改,在/home/lx/realsense_ros/src/realsense-ros-2.2.22/realsense2_camera/src/base_realsense_node.cpp这个路径下,将find_if都改为std::find_if,总共有七个

cd realsense_ros/
catkin_make
2.配置启动相机
进入到/home/lx/realsense_ros/src/realsense-ros-2.2.22/realsense2_camera/launch/rs_camera.launch启动文件,将一些参数改成以下,然后
cd realsense_ros/
source devel/setup.bash
roslaunch realsense2_camera rs_camera.launch

尤其是这个,开启imu,加入linear_interpolation

打开新的终端
rostopic list

打开rqt_image_view,左上角可以查看话题图像
rqt_image_view

4.使用ros跑ORB_SLAM3
1.先启动相机节点
roslaunch realsense2_camera rs_camera.launch
2.启动ORB_SLAM3
roslaunch orb_slam3_ros d455.launch
详细介绍launch文件
<launch>
<node name="orb_slam3_rbgd" pkg="orb_slam3_ros" type="orb_slam3_ros_rgbd" output="screen">
<!-- for TUM dataset -->
<remap from="/camera/rgb/image_raw" to="/camera/color/image_raw"/>
<remap from="/camera/depth_registered/image_raw" to="/camera/aligned_depth_to_color/image_raw"/>
<!-- Parameters for original ORB-SLAM3 -->
<param name="voc_file" type="string" value="$(find orb_slam3_ros)/ORB_SLAM3/Vocabulary/ORBvoc.txt" />
<param name="settings_file" type="string" value="$(find orb_slam3_ros)/config/RealSense_D455.yaml" />
<!-- Parameters for ROS -->
<param name="world_frame_id" type="string" value="map" />
<param name="cam_frame_id" type="string" value="camera_color_optical_frame" />
<param name="enable_pangolin" type="bool" value="true"/>
</node>
</launch>
这个主要启动的是rgb的,如果需要双目+imu,需自行书写launch文件和相机的配置参数

5.我自己的rgb的d455参数
%YAML:1.0
#--------------------------------------------------------------------------------------------
# Camera Parameters. Adjust them!
#--------------------------------------------------------------------------------------------
File.version: "1.0"
Camera.type: "PinHole"
# Right Camera calibration and distortion parameters (OpenCV)
Camera1.fx: 370.1867113026349
Camera1.fy: 371.29151959677296
Camera1.cx: 323.7009152339213
Camera1.cy: 240.63067473646615
# distortion parameters
Camera1.k1: -0.0070620635177070495
Camera1.k2: -0.020337268944730053
Camera1.p1: -0.0009738053784708752
Camera1.p2: -0.0008849349957854165
# Camera resolution
Camera.width: 640
Camera.height: 480
# Camera frames per second
Camera.fps: 30
# Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
Camera.RGB: 1
# Close/Far threshold. Baseline times.
Stereo.ThDepth: 35.0
Stereo.b: 0.095
#Stereo.camera_baseline: 29.041
# Depth map values factor
RGBD.DepthMapFactor: 1000.0
#--------------------------------------------------------------------------------------------
# ORB Parameters
#--------------------------------------------------------------------------------------------
# ORB Extractor: Number of features per image
ORBextractor.nFeatures: 900
# ORB Extractor: Scale factor between levels in the scale pyramid
ORBextractor.scaleFactor: 1.2
# ORB Extractor: Number of levels in the scale pyramid
ORBextractor.nLevels: 8
# ORB Extractor: Fast threshold
# Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
# Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
# You can lower these values if your images have low contrast
ORBextractor.iniThFAST: 20
ORBextractor.minThFAST: 7
#--------------------------------------------------------------------------------------------
# Viewer Parameters
#--------------------------------------------------------------------------------------------
Viewer.KeyFrameSize: 0.05
Viewer.KeyFrameLineWidth: 1.0
Viewer.GraphLineWidth: 0.9
Viewer.PointSize: 2.0
Viewer.CameraSize: 0.08
Viewer.CameraLineWidth: 3.0
Viewer.ViewpointX: 0.0
Viewer.ViewpointY: -0.7
Viewer.ViewpointZ: -3.5
Viewer.ViewpointF: 500.0
更多推荐
所有评论(0)