sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo bionic main" -u
sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils
sudo apt-get install librealsense2-dev
sudo apt-get install librealsense2-dbg
# 运行可视化界面
realsense-viewer
参考链接: https://github.com/IntelRealSense/realsense-ros
按照官方教程安装就好
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src/
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 ..
catkin_init_workspace
cd ..
catkin_make clean
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
catkin_make install
#添加环境变量
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
# 运行
roslaunch realsense2_camera rs_camera.launch
1.在realsense-ros_ws/src/realsense-ros/realsense2_camera/launch
目录下找到rs_camera.launch
,并打开
2.找到如下部分,根据自己的需要修改双目图像的宽和高,将enable_infra
,enable_infra1
,enable_infra1
改为true.
在跑ORB-SLAM3
时,不知道为啥640x480
的分辨率效果要比1280x720
更加稳定,更不容易跟丢。
<arg name="infra_width" default="640"/>
<arg name="infra_height" default="480"/>
<arg name="enable_infra" default="true"/>
<arg name="enable_infra1" default="true"/>
<arg name="enable_infra2" default="true"/>
<arg name="infra_rgb" default="false"/>
在按照上述方法配置好双目相机的参数时,运行命令
roslaunch realsense2_camera rs_camera.launch
可以启动相机并发布相应的topic,其中/camera/infra1/image_rect_raw
和/camera/infra2/image_rect_raw
是两个双目相机对应的topic,不过这里的图像是红外灰度图像,并不是rgb图像。
使用rqt_image_view
可以实时查看图像,但是会发现图像中会有很多白色的光点,这对极度影响视觉SLAM的运行体验
比较麻烦的一种办法是在每次启动时,手动关闭结构光,在启动相机的launch文件后,新打开一个终端,输入以下命令
rosrun rqt_reconfigure rqt_reconfigure
将stereo_module->emitter_enableed
设置为Off(0)
但是这个方法需要在每次启动时需要设置一遍。
直接修改launch文件,在rs_camera.launch
文件中的<arg name="allow_no_texture_points" default="false"/>
下面,添加如下内容:
<rosparam param="/camera/stereo_module/emitter_enabled">0</rosparam>
在使用realsense跑orb-slam3时需要相机的内外惨,包括每种分辨率下的相机的内参数,去畸变系数,左右目相机之间的外参,如果有IMU还需要相机到IMU的外参。比较方便一点的是在安装SDK之后,realsense相机各种参数可以通过一句命令获得。
rs-enumerate-devices -c
这里展示其中的一小部分