Ubuntu20.04下Intel RealSense设备开发环境搭建:从libRealsense SDK 2.0到ROS Wrapper全流程指南

张开发
2026/4/8 21:23:18 15 分钟阅读

分享文章

Ubuntu20.04下Intel RealSense设备开发环境搭建:从libRealsense SDK 2.0到ROS Wrapper全流程指南
1. 环境准备与基础概念在Ubuntu 20.04上搭建Intel RealSense开发环境前我们需要明确几个关键概念。librealsense SDK 2.0是Intel官方提供的底层驱动库负责与硬件直接通信而ROS Wrapper则是将SDK功能封装成ROS节点让深度相机数据能够融入ROS生态系统。我曾在多个机器人项目中使用D435i相机发现环境配置的完整性直接影响后续开发效率。首先确认你的系统环境Ubuntu 20.04.6 LTS推荐使用官方镜像ROS Noetic必须匹配Ubuntu版本至少4GB空闲磁盘空间稳定的USB 3.0接口RealSense设备对带宽要求较高建议在开始前执行系统更新sudo apt update sudo apt upgrade -y sudo apt autoremove这个步骤能避免很多因系统组件版本过旧导致的依赖冲突。有次我在 Jetson Xavier 上部署时跳过了更新结果花了三小时排查GLIBC版本问题。2. 安装librealsense SDK 2.02.1 官方仓库配置Intel提供了APT仓库来简化安装过程比源码编译更可靠。执行以下命令添加仓库sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE sudo add-apt-repository deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main -u如果遇到密钥服务器连接问题特别是在国内网络环境可以尝试替换keyserver为hkp://keyserver.ubuntu.com:80。我在深圳办公室测试时这个备用服务器成功率更高。2.2 核心组件安装安装基础功能包和调试工具sudo apt install -y librealsense2-dkms librealsense2-utils开发时还需要安装开发包sudo apt install -y librealsense2-dev librealsense2-dbg这里有个细节librealsense2-dkms会编译内核模块如果系统启用了Secure Boot需要先进入BIOS禁用否则安装会失败。上周帮学弟调试时就遇到这个坑。2.3 验证安装连接相机后运行realsense-viewer正常情况会弹出图形界面左侧设备列表应显示你的相机型号。点击Depth标签页应该能看到深度图像。如果报错Permission denied需要添加udev规则sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/ sudo udevadm control --reload-rules sudo udevadm trigger3. ROS Wrapper配置指南3.1 ROS Noetic安装对于Ubuntu 20.04必须使用ROS Noetic版本。建议使用清华源加速安装sudo sh -c . /etc/lsb-release echo deb https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ lsb_release -cs main /etc/apt/sources.list.d/ros-latest.list sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt update sudo apt install -y ros-noetic-desktop-full安装完成后记得初始化rosdep这个步骤经常被忽略sudo rosdep init rosdep update3.2 Wrapper安装推荐使用二进制包安装比源码编译更稳定sudo apt install -y ros-noetic-realsense2-camera ros-noetic-realsense2-description如果想使用最新特性可以从源码编译mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone https://github.com/IntelRealSense/realsense-ros.git cd .. catkin_make clean catkin_make -DCATKIN_ENABLE_TESTINGFalse -DCMAKE_BUILD_TYPERelease3.3 启动测试启动相机节点roslaunch realsense2_camera rs_camera.launch在另一个终端查看话题列表rostopic list应该能看到/camera/color/image_raw等话题。我习惯用rviz验证数据rosrun rviz rviz在rviz中添加PointCloud2显示话题选择/camera/depth/color/points。4. 常见问题解决方案4.1 内核模块冲突如果遇到uvcvideo模块冲突需要修改内核参数sudo modprobe -r uvcvideo sudo modprobe uvcvideo nodynamic1永久生效需要创建/etc/modprobe.d/uvcvideo.conf文件options uvcvideo nodynamic14.2 帧率不稳定在ROS中使用D435i时如果发现深度帧率波动大可以尝试param namedepth_module.profile value640x480x30 / param nameenable_sync valuetrue /这些参数加在launch文件中能显著提升稳定性。4.3 时间同步问题多相机标定时遇到时间不同步需要启用硬件同步rs-enumerate-devices -c | grep Hardware Timestamp在launch文件中添加param nameenable_imu valuetrue / param nameunite_imu_method valuelinear_interpolation /5. 进阶配置技巧5.1 自定义固件加载某些研究需要特定固件版本可以手动加载rs-fw-update -f Signed_Image_UVC_5_12_14_50.bin -r固件文件需要从Intel官网下载对应版本。记得先断开相机连接。5.2 Python开发环境推荐使用conda管理Python环境conda create -n realsense python3.8 conda activate realsense pip install pyrealsense2测试脚本import pyrealsense2 as rs pipeline rs.pipeline() config rs.config() config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30) pipeline.start(config)5.3 多相机同步使用硬件同步模块时需要配置同步线连接。在launch文件中指定param nameserial_no value825412070544 / param namedevice_type valued4.5 /主从设备需要分别设置master和subordinate参数。

更多文章