ROS2 Humble + rtabmap + D435i深度相机实现视觉惯性建图(一)——环境配置
本文介绍了在Ubuntu系统上配置ROS2 Humble环境并安装RealSense深度相机和RTAB-Map的完整流程。主要内容包括:1)安装ROS2基础工具和相关依赖包;2)通过apt安装Intel RealSense SDK和ROS2驱动;3)推荐使用apt安装RTAB-Map核心库和ROS2包,并提供了源码编译的备选方案。文中特别强调了二进制安装的稳定性,并给出了验证安装成功的方法。整个配
一、系统环境准备
1.1 安装ROS2 Humble(如未安装)
具体见:Ubuntu的基础配置
1.2 安装依赖包
打开终端,安装基础工具:
sudo apt install -y \
git \
build-essential \
cmake \
libssl-dev \
libusb-1.0-0-dev \
libudev-dev \
pkg-config \
libgtk-3-dev
打开终端,安装ROS2相关包:
sudo apt install -y \
ros-humble-image-transport \
ros-humble-cv-bridge \
ros-humble-tf2 \
ros-humble-tf2-ros \
ros-humble-tf2-geometry-msgs \
ros-humble-nav2-bringup \
ros-humble-depth-image-proc \
ros-humble-imu-tools \
ros-humble-imu-filter-madgwick \
ros-humble-robot-localization
二、安装RealSense SDK和ROS2驱动
注意如果是树莓派上的系统的安装流程不一样,以下方法不适用。
2.1 安装Intel RealSense SDK
(1)打开终端,注册服务器密钥:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u
(2)安装SDK。在终端输入:
sudo apt-get install librealsense2-dkms librealsense2-utils librealsense2-dev librealsense2-dbg

(3)验证安装。在终端输入:
realsense-viewer
显示下面的窗口,则安装成功:


使用数据线将D435i深度相机连上电脑,可以看到:

连接正常。左边工具栏可以选择显示深度图像或者彩色图像。右上角的2D|3D可以切换为2D或者3D视角。
ros2 run realsense2_camera realsense2_camera_node
2.2 安装RealSense ROS2驱动
参考官方提供的安装步骤:realsense-ros
方法一:直接apt二进制安装(推荐)
打开终端,输入:
sudo apt install ros-humble-realsense2-*

深度相机连接电脑后,在终端中输入:
ros2 run realsense2_camera realsense2_camera_node

打开一个新终端,可以查看话题内容:
ros2 topic list -t

具体如下。可以看到包括彩色、深度等信息:
/camera/camera/color/camera_info [sensor_msgs/msg/CameraInfo]
/camera/camera/color/image_raw [sensor_msgs/msg/Image]
/camera/camera/color/image_raw/compressed [sensor_msgs/msg/CompressedImage]
/camera/camera/color/image_raw/compressedDepth [sensor_msgs/msg/CompressedImage]
/camera/camera/color/image_raw/theora [theora_image_transport/msg/Packet]
/camera/camera/color/metadata [realsense2_camera_msgs/msg/Metadata]
/camera/camera/depth/camera_info [sensor_msgs/msg/CameraInfo]
/camera/camera/depth/image_rect_raw [sensor_msgs/msg/Image]
/camera/camera/depth/image_rect_raw/compressed [sensor_msgs/msg/CompressedImage]
/camera/camera/depth/image_rect_raw/compressedDepth [sensor_msgs/msg/CompressedImage]
/camera/camera/depth/image_rect_raw/theora [theora_image_transport/msg/Packet]
/camera/camera/depth/metadata [realsense2_camera_msgs/msg/Metadata]
/camera/camera/extrinsics/depth_to_color [realsense2_camera_msgs/msg/Extrinsics]
/camera/camera/extrinsics/depth_to_infra1 [realsense2_camera_msgs/msg/Extrinsics]
/camera/camera/extrinsics/depth_to_infra2 [realsense2_camera_msgs/msg/Extrinsics]
/camera/camera/infra1/camera_info [sensor_msgs/msg/CameraInfo]
/camera/camera/infra1/image_rect_raw [sensor_msgs/msg/Image]
/camera/camera/infra1/image_rect_raw/compressed [sensor_msgs/msg/CompressedImage]
/camera/camera/infra1/image_rect_raw/compressedDepth [sensor_msgs/msg/CompressedImage]
/camera/camera/infra1/image_rect_raw/theora [theora_image_transport/msg/Packet]
/camera/camera/infra1/metadata [realsense2_camera_msgs/msg/Metadata]
/camera/camera/infra2/camera_info [sensor_msgs/msg/CameraInfo]
/camera/camera/infra2/image_rect_raw [sensor_msgs/msg/Image]
/camera/camera/infra2/image_rect_raw/compressed [sensor_msgs/msg/CompressedImage]
/camera/camera/infra2/image_rect_raw/compressedDepth [sensor_msgs/msg/CompressedImage]
/camera/camera/infra2/image_rect_raw/theora [theora_image_transport/msg/Packet]
/camera/camera/infra2/metadata [realsense2_camera_msgs/msg/Metadata]
/parameter_events [rcl_interfaces/msg/ParameterEvent]
/rosout [rcl_interfaces/msg/Log]
/tf_static [tf2_msgs/msg/TFMessage]
方法一:源码编译安装(易出错,不推荐)
(1)创建工作空间,打开终端,输入:
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
(2)克隆仓库。在终端中输入:
git clone https://github.com/IntelRealSense/realsense-ros.git -b ros2-development

拉取失败可以多试试几次,或者换个网。
(3)安装依赖。在终端中输入:
cd ~/ros2_ws
rosdep update

rosdep install -i --from-path src --rosdistro humble -y
注意要提前安装好rosdep:
sudo apt-get install python3-rosdeprosdep初始化:
sudo rosdep initrosdep update
(4)编译。在终端中输入:
colcon build
source ~/ros2_ws/install/setup.bash

会出现以上报错,提示编译失败,需要对源码进行修改调整。
因此不太推荐方法二!
三、安装RTAB-Map ROS2
3.1 安装RTAB-Map核心库
方法一:从apt二进制安装(推荐)
打开终端,输入:
sudo apt install ros-humble-rtabmap

方法二:从源码编译
打开终端,输入:
cd ~/ros2_ws/src
拉取代码:
git clone https://github.com/introlab/rtabmap.git
编译:
cd rtabmap/build
cmake -DWITH_QT=OFF ..
make -j4
安装:
sudo make install
3.2 安装RTAB-Map ROS2包
方法一:从apt二进制安装(推荐)
打开终端,输入:
sudo apt install ros-$ROS_DISTRO-rtabmap-ros

同样,还可以安装其他相关包:
sudo apt install ros-humble-rtabmap-rviz
sudo apt install ros-humble-rtabmap-*

方法二:从源码编译
注意:若要进行源码安装,请先确保二进制清除干净。打开终端,运行下行命令:
sudo apt remove ros-$ROS_DISTRO-rtabmap*
拉取代码。打开终端,输入:
cd ~/ros2_ws/src
git clone https://github.com/introlab/rtabmap_ros.git -b ros2
安装依赖:
cd ~/ros2_ws
rosdep install -i --from-path src --rosdistro humble -y
编译:
colcon build --symlink-install
source ~/ros2_ws/install/setup.bash
至此,我们完成了环境的配置工作。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)