1. 环境准备:从零开始搭建D435i的ROS工作空间
如果你刚拿到一台Intel RealSense D435i深度相机,想在Ubuntu系统上通过ROS(机器人操作系统)来驱动它,可能会觉得有点无从下手。别担心,我刚开始接触的时候也是一头雾水,但跟着我一步步来,你会发现其实没那么复杂。D435i是一款功能强大的设备,它不仅有双目红外摄像头来获取深度信息,还自带一个RGB彩色摄像头和一个IMU(惯性测量单元),可以说是机器人、三维重建、SLAM(同步定位与地图构建)等领域的明星硬件。但要想让它正常工作,第一步就是搭建一个稳定、好用的ROS环境。
我推荐使用Ubuntu 20.04搭配ROS Noetic,或者Ubuntu 18.04搭配ROS Melodic,这两个组合是目前社区支持最好、最稳定的。首先,你得确保你的Ubuntu系统已经安装了完整的ROS桌面版。打开终端,如果你还没安装,可以运行 sudo apt install ros-noetic-desktop-full(以Noetic为例)。安装过程可能需要一些时间,喝杯咖啡等着就好。安装完成后,别忘了初始化 rosdep 和设置环境变量,这些是ROS正常工作的基础。我建议创建一个专门用于D435i开发的工作空间,这样管理起来更清晰,也避免污染系统环境。
创建工作空间的命令很简单:
mkdir -p ~/realsense_ws/src
cd ~/realsense_ws/src
catkin_init_workspace
cd ..
catkin_make
执行完 catkin_make 后,如果看到一堆编译信息最后没有报错,就说明基础工作空间建好了。接下来,最关键的一步是安装RealSense的ROS驱动包。这里有个小坑,我建议直接从Intel RealSense的GitHub仓库克隆源码来编译安装,而不是通过 apt 安装。因为源码版本通常更新更快,能支持更多新特性和修复。进入你的 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`
这里我们特意切换到最新的稳定版本标签,避免使用可能不稳定的开发分支。切回工作空间根目录,再次运行 catkin_make。编译过程可能会提示你缺少一些依赖,比如 ddynamic_reconfigure、librealsense2 等,根据错误信息用 sudo apt install 安装即可。编译成功后,记得用 source devel/setup.bash 激活这个工作空间的环境。为了以后方便,你可以把这行命令加到 ~/.bashrc 文件末尾。
2. 驱动安装与基础功能验证
环境搭好了,我们来插上D435i相机,看看它能不能被系统识别。用USB 3.0的数据线(必须是蓝色的口,USB 2.0带宽不够)连接电脑和相机,你会看到相机上的指示灯亮起。首先,我们得确保底层的 librealsense2 SDK安装正确。这个SDK是ROS驱动的基础,负责和相机硬件直接通信。在终端里输入 realsense-viewer,如果弹出一个图形化界面,并且能看到相机的序列号,说明SDK安装没问题。在这个界面里,你可以自由开关彩色流、深度流、红外流,调整分辨率、帧率,非常直观。这也是后续调试参数的好工具。
接下来,我们启动ROS驱动节点,看看数据能不能正常发布。在你的工作空间环境下,运行:
roslaunch realsense2_camera rs_camera.launch
这个命令会启动默认的启动文件。如果一切顺利,终端会滚动一大堆启动信息,最后稳定下来。此时,打开另一个终端,输入 rostopic list,你应该能看到一长串话题(Topic),比如 /camera/color/image_raw, /camera/depth/image_rect_raw, /camera/infra1/image_rect_raw, /camera/infra2/image_rect_raw 等等。这些就是相机发布的图像数据流。为了更直观地确认,我们可以用ROS自带

2万+

被折叠的 条评论
为什么被折叠?



