文章目录
一、简介
- Intel®RealSense™SDK 2.0(也称为librealsense)是Intel®RealSense™深度摄像机的跨平台库,SDK允许深度和颜色流,并提供内在和外部校准信息。该库还提供合成流(PointCloud,与颜色对齐的深度,与Vise-vissa对齐),以及对流媒体会话的记录和播放的内置支持。提供了丰富的API接口,支持多种编程语言,支持多种操作系统,使开发者能够轻松地将RealSense功能整合到各种应用程序中。
- realsense-ros(Wrapper) 是Intel RealSense相机在ROS(Robot Operating System)框架下的驱动程序封装。这个封装将RealSense相机的SDK(软件开发工具包)与ROS进行了整合,使得ROS节点能够轻松地与RealSense相机进行交互,并发布和订阅相机的各种数据(如深度图像、RGB图像、IMU数据等)。
二、RealSense SDK 安装
方法一:从英特尔服务器安装librealsense2 debian软件包
-
注册服务器的公钥
sudo mkdir -p /etc/apt/keyrings curl -sSf https://librealsense.intel.com/Debian/librealsense.pgp | sudo tee /etc/apt/keyrings/librealsense.pgp > /dev/null
-
确保安装了APT HTTPS支持
sudo apt-get install apt-transport-https
-
将服务器添加到存储库列表
echo "deb [signed-by=/etc/apt/keyrings/librealsense.pgp] https://librealsense.intel.com/Debian/apt-repo `lsb_release -cs` main" | \ sudo tee /etc/apt/sources.list.d/librealsense.list sudo apt-get update
-
安装库(部署LibrealSense2 UDEV规则,构建和激活内核模块,运行时库以及可执行的演示和工具)
sudo apt-get install librealsense2-dkms sudo apt-get install librealsense2-utils
-
安装开发人员和调试软件包(可选,按需安装)
sudo apt-get install librealsense2-dev sudo apt-get install librealsense2-dbg
-
验证安装(启动GUI界面)
realsense-viewer
-
验证内核已更新
modinfo uvcvideo | grep "version:"
-
移除和SDK相关的所有包
dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge
方法二:从源码构建(可操作性更高)
官方源码下载github链接,根据支持的系统及各种依赖的版本,选择源码版本下载
参考官方github安装流程,支持ubuntu18/20/22系统版本
-
安装依赖
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade # 这里可以仅执行前两个指令,第三个 sudo apt-get dist-upgrade 可能会升级操作系统,可不执行。 sudo apt-get install libssl-dev libusb-1.0-0-dev libudev-dev pkg-config libgtk-3-dev sudo apt-get install git wget cmake build-essential sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev at
-
安装librealsense2
(1) 除了直接下载tar源码包,也可以通过git克隆获得。
git clone https://github.com/IntelRealSense/librealsense.git
(2) 从libralsense2根目录运行Intel realsense权限脚本
cd librealsense ./scripts/setup_udev_rules.sh # 终端提示绿字之后回车
可以随时删除权限./scripts/setup_udev_rules.sh --uninstall
(3) 构建和应用修补的内核模块(根据内核及系统版本选择指令)
./scripts/patch-realsense-ubuntu-lts-hwe.sh # 可选 # Ubuntu 20/22 (focal/jammy) with LTS kernel 5.13, 5.15, 5.19, 6.2, 6.5 ./scripts/patch-realsense-ubuntu-lts.sh # 可选 # Ubuntu 18/20 with LTS kernel (< 5.13)
-
编译librealsense2 SDK
(1) 回到librealsense2根目录创建build目录并执行cmake指令
cd librealsense mkdir build && cd build cmake ../ -DBUILD_EXAMPLES=true # 官方文档中还有其他选项,按需使用
(2) 多核并行编译
make -j$(($(nproc)-1)) # $(nproc)获取线程数 sudo make install
相关库将安装在 /usr/local/lib中,头文件在 /usr/local/include中,二进制demo,教程和测试文件将被复制到 /usr/local/bin中。
(3) 编译完成后,执行指令
realsense-viewer
可启动图形界面。
三、RealSense-ROS 安装
1、安装 ros
1. RealSense-ROS支持ROS_1和ROS_2
2. ROS_1支持:ROS Kinetic on Ubuntu 16.04,ROS Melodic on Ubuntu 18.04 or ROS Noetic on Ubuntu 20.04
3. ROS_2支持:ROS2 Foxy on Ubuntu 20.04,ROS2 Humble、ROS2 Iron on Ubuntu 22.04
安装ros推荐使用小鱼一键安装:
wget http://fishros.com/install -O fishros && . fishros
2、安装 librealsense
- 如果想要通过ros使用realsense深感相机,librealsense同样是不可或缺的,如果跳过安装librealsense,则会有如下报错:
- 如果只需要使用ros相关的功能,也不需要图形界面及样例,那么可以通过
sudo apt install ros-<ROS_DISTRO>-librealsense2*
指令来安装librealsense,其中 <ROS_DISTRO> 为你安装的ros版本,比如humble:sudo apt install ros-humble-librealsense2*
。另外,可以通过指令sudo apt remove ros-humble-librealsense2*
来卸载安装的包。 - 如果还有其他的需求,那么通过源码安装librealsense的具体流程见章节2
3、安装RealSense-ROS
-
推荐使用源码安装,这在后期开发过程中会有很大的可操作性,实测系统为ubuntu22.04及ros2-humble版本。
-
创建一个工作空间
mkdir -p ~/ros2_ws/src cd ~/ros2_ws/src/
-
克隆源码
git clone https://github.com/IntelRealSense/realsense-ros.git -b ros2-master cd ~/ros2_ws
-
安装依赖(官方使用rosdep,但是会报错,所以使用rosdepc替代)
sudo apt install python3-pip -y sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple rosdepc sudo rosdepc init sudo rosdepc fix-permissions rosdepc update rosdepc install -i --from-path src --rosdistro $ROS_DISTRO --skip-keys=librealsense2 -y
-
构建(如果有设置anaconda的环境变量,建议先注释掉,不然会报错)
colcon build
-
初始化环境变量
ROS_DISTRO=<YOUR_SYSTEM_ROS_DISTRO> # 设置ros版本: ROS_DISTRO = iron/humble/foxy source /opt/ros/$ROS_DISTRO/setup.bash cd ~/ros2_ws . install/setup.bash
-
启动节点(可以根据实际相机命名)
ros2 launch realsense2_camera rs_launch.py camera_namespace:=robot1 camera_name:=D455_1
-
通过
sudo apt install ros-humble-librealsense2*
指令安装librealsense并编译realsense-ros,启动相机节点后输出的版本信息如下:
-
其他操作见官方链接
四、小结
目前,我尝试了上述所有的安装方式,没有遇到其他的报错情况,如果有其他情况欢迎在评论区分享你的解决办法!!