一、命令安装
# SDK
sudo apt install librealsense2
realsense-viewer #测试
# realsense-ros
sudo apt-get install ros-$ROS_DISTRO-realsense2-camera
sudo apt-get install ros-noetic-rgbd-launch
roslaunch realsense2_camera rs_camera.launch #测试
命令安装比较方便简单,但对于版本的选择有局限性,有时候直接用命令安装会出现问题。普遍问题是realsense-viewer显示不出来图像,以及imu数据有topic但发布空数据,主要因素是SDK与realsense-ros的版本不匹配,这时我们需要源码安装。
二、源码安装
源码安装是成功率最高的一种方式,但有点麻烦。可以借鉴下面的博客
https://blog.csdn.net/qq_38364548/article/details/124784454
安装realsenseSDK
下载源码(指定2.24.0版本,为了与realsense-ros版本匹配)
git clone -b v2.24.0 https://github.com/IntelRealSense/librealsense.git
安装依赖
sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
sudo apt-get install libglfw3-dev
找不到包请换如下源(针对ubuntu18.04 arm架构)
sudo gedit /etc/apt/sources.list
deb http://ports.ubuntu.com/ bionic main restricted universe multiverse
deb-src http://ports.ubuntu.com/ bionic main restricted universe multiverse
deb http://ports.ubuntu.com/ bionic-updates main restricted universe multiverse
deb-src http://ports.ubuntu.com/ bionic-updates main restricted universe multiverse
deb http://ports.ubuntu.com/ bionic-security main restricted universe multiverse
deb-src http://ports.ubuntu.com/ bionic-security main restricted universe multiverse
deb http://ports.ubuntu.com/ bionic-backports main restricted universe multiverse
deb-src http://ports.ubuntu.com/ bionic-backports main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ bionic main universe restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic main universe restricted
deb https://librealsense.intel.com/Debian/apt-repo bionic main
# deb-src https://librealsense.intel.com/Debian/apt-repo bionic main
sudo apt-get update
sudo apt-get upgrade
安装realsense所需的内核模块
cd librealsense
./scripts/setup_udev_rules.sh
./scripts/patch-realsense-ubuntu-lts.sh
#这一条命令执行会比较慢,我是配置了Ubuntu终端翻墙因此速度快一些
编译安装
mkdir build && cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=true
sudo make uninstall && make clean && make -j8 && sudo make install
测试
realsense-viewer
2.安装ros-realsense
创建ros工作空间
mkdir -p ~/realsense_ws/src && cd ~/realsense_ws/src
下载源码并检查依赖(指定2.2.7版本,与librealsense版本匹配)
git clone -b 2.2.7 https://github.com/IntelRealSense/realsense-ros.git
cd realsense-ros/realsense2_camera
git checkout `git tag | sort -V | grep -P "^\d+\.\d+\.\d+" | tail -1`
sudo apt-get install ros-melodic-ddynamic-reconfigure
编译安装
cd ~/realsense_ws
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
catkin_make install
echo "source ~/realsense_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
测试
roslaunch realsense2_camera rs_camera.launch
三、半自动
realsense-ros采用源码安装,realsenseSDK采用指定版本的命令安装
1、安装realsenseSDK,确定版本
# Uninstall all realsense packages
sudo apt remove librealsense2 ros-melodic-realsense2-camera librealsense2-udev-rules ros-melodic-librealsense2 librealsense2-dev
# Reinstall librealsense2 at version 2.48.0 and place those packages on hold (to prevent
# automatic upgrades)
sudo apt install \
librealsense2=2.48.0-5ubuntu5~1.gbp156c1b \
librealsense2-udev-rules=2.48.0-5ubuntu5~1.gbp156c1b \
librealsense2-utils=2.48.0-5ubuntu5~1.gbp156c1b \
librealsense2-gl=2.48.0-5ubuntu5~1.gbp156c1b \
librealsense2-net=2.48.0-5ubuntu5~1.gbp156c1b \
librealsense2-dev=2.48.0-5ubuntu5~1.gbp156c1b
sudo apt-mark hold \
librealsense2 \
librealsense2-udev-rules \
librealsense2-utils \
librealsense2-gl \
librealsense2-net \
librealsense2-dev
# To remove the hold on the package versions, just run `sudo apt-mark unhold <package name>`
2.安装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 2.3.1
cd ..
catkin_init_workspace
cd ..
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
catkin_make install
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
四、注意事项
realsense-viewer启动不了
首先realsense-viewer是不能和ros一起启动的,再检查版本是否匹配。
无imu消息
当realsense-viewer中显示不出来imu,检查usb的线接口是否是3.0,不是3.0会出现问题。
启动rs_camera.launch无imu话题的问题,检查launch文件,默认是不开启的。
解决办法:改动~/catkin_ws/src/realsense-ros/realsense2_camera/launch/rs_camera.launch文件的一些参数
将
<arg name="unite_imu_method" default=""/>
改成
<arg name="unite_imu_method" default="linear_interpolation"/>
以及将
<arg name="enable_gyro" default="false"/>
<arg name="enable_accel" default="false"/>
改成
<arg name="enable_gyro" default="true"/>
<arg name="enable_accel" default="true"/>
有imu话题,但无数据输出
SDK与ros_realsense的版本不匹配,与电脑的接口也有关系。