第一阶段:编译与安装 RealSense SDK (librealsense)
1. 安装基础依赖包
打开终端,首先更新包列表并安装编译 SDK 所需的依赖:
sudo apt-get update sudo apt-get install -y git cmake libssl-dev libusb-1.0-0-dev \ libudev-dev pkg-config libgtk-3-dev libglfw3-dev \ libgl1-mesa-dev libglu1-mesa-dev build-essential2. 下载 SDK 源码
将官方源码克隆到本地(建议放在主目录下):
cd ~ git clone https://github.com/IntelRealSense/librealsense.git cd librealsense3. 配置与编译 (核心关键点)
由于 Ubuntu 24.04 的内核较新,传统的打内核补丁方式容易导致系统崩溃。这里我们使用 -DFORCE_RSUSB_BACKEND=ON 参数,让相机基于 libusb 运行,绕过内核限制:
mkdir build && cd build cmake ../ -DCMAKE_BUILD_TYPE=Release -DFORCE_RSUSB_BACKEND=ON -DBUILD_EXAMPLES=true确认 CMake 无误后,开始编译(这会调用你所有的 CPU 核心,需要等待几分钟):
make -j$(nproc)4. 安装到系统并配置权限
sudo make install回到 librealsense 根目录,执行脚本添加 udev 规则(这一步是为了让 Ubuntu 识别相机,否则每次都需要 sudo 才能打开相机):
cd ~/librealsense sudo ./scripts/setup_udev_rules.sh5. 验证 SDK
插上 D435i 相机(请务必使用 USB 3.0 数据线),在终端输入:
realsense-viewer如果能弹出界面并看到深度图和 RGB 图,说明底层 SDK 已经完美安装。关闭该窗口,准备配置 ROS。
第二阶段:编译 ROS 2 Jazzy 驱动 (realsense-ros)
前提:请确保你已经安装了 ROS 2 Jazzy (ros-jazzy-desktop) 并且能够正常运行。
1. 创建 ROS 2 工作空间并下载驱动源码
ROS 2 官方推荐的 RealSense 驱动分支是 ros2-development:
mkdir -p ~/rs_ws/src cd ~/rs_ws/src git clone -b ros2-development https://github.com/IntelRealSense/realsense-ros.git2. 安装 ROS 相关依赖
回到工作空间根目录,使用 rosdep 补全驱动包所需的环境。
(注意:这里加入 --skip-keys="librealsense2" 是一个重要技巧,因为我们是源码安装的 SDK,跳过该键值可防止 rosdep 错误地去覆盖安装旧版 apt 包)
cd ~/rs_ws source /opt/ros/jazzy/setup.bash sudo rosdep init # 如果你以前执行过可以跳过这句 rosdep update rosdep install -i --from-path src --rosdistro jazzy --ignore-src -y --skip-keys="librealsense2"3. 编译 ROS 2 驱动
colcon build4. 刷新环境变量
编译成功后,把工作空间的环境变量写入 ~/.bashrc,以后每次打开终端就不用手动 source 了:
echo "source ~/rs_ws/install/local_setup.bash" >> ~/.bashrc source ~/.bashrc第三阶段:运行与测试
1. 启动相机 ROS 节点
现在你可以直接通过 launch 文件启动相机,并顺便开启深度和彩色的空间对齐 (align_depth.enable:=true):
ros2 launch realsense2_camera rs_launch.py align_depth.enable:=true如果终端滚动输出相机的序列号、配置信息,且没有出现红色的 ERROR,说明节点运行成功。
2. 在 RViz2 中可视化
保持上一个终端运行,打开一个新终端:
rviz2在打开的 RViz2 窗口中:
左上角 Fixed Frame 填入 camera_link
点击左下角 Add -> 选择 By topic
找到 /camera/camera/color/image_raw 下的 Image 添加彩色画面
找到 /camera/camera/depth/color/points 下的 PointCloud2 添加 3D 点云(如果没有点云话题,可以在启动命令末尾加上 pointcloud.enable:=true)
或者:
注意:
a.USB3.0数据线插入usb3.0接口;
b.
c.