Intel RealSense D435i 深度攝影機在 ROS2 社群中非常受歡迎,主要因為它同時提供了 RGB 影像、深度數據以及一個內建的慣性測量單元(IMU),使其成為機器人導航和定位的理想選擇。
搭配 ROS2,D435i 主要使用的官方套件是 realsense-ros
。
realsense-ros
套件
這個套件由 Intel 官方維護,是 ROS 和 RealSense SDK 之間的主要橋接。它是一個功能強大的元套件(metapackage),包含了多個子套件,用於處理不同類型的 RealSense 設備和功能。
主要 ROS2 節點
realsense-ros
套件中最核心的節點是 realsense2_camera_node
,它負責處理來自 D435i 的所有數據,並將它們以 ROS2 主題的形式發布出來。
realsense2_camera_node
:這是主節點,它會發布以下重要的主題:/camera/color/image_raw
:來自 RGB 相機的原始影像。/camera/aligned_depth_to_color/image_raw
:對齊到 RGB 影像的深度數據。/camera/imu
:來自內建 IMU 的數據,通常包含加速度和角速度。/camera/pointcloud
:由深度數據生成的點雲。
如何安裝 realsense-ros
要安裝 realsense-ros
,您可以從源碼編譯,或者使用 ROS2 的二進制包管理器來安裝。
方法一:使用 apt
安裝(推薦)
這是最簡單的方法,可以確保所有依賴項都被正確安裝。
sudo apt-get update
sudo apt-get install ros-humble-realsense2-camera
方法二:從源碼編譯
如果您需要使用最新的功能或對套件進行修改,可以從 GitHub 下載源碼並使用 colcon build
進行編譯。
cd ~/ros2_ws/src
git clone https://github.com/IntelRealSense/realsense-ros.git -b ros2-development
cd ..
rosdep install -i --from-path src --rosdistro humble -y
colcon build --symlink-install --packages-select realsense2_camera
D435i 搭配 ROS2 的其他相關套件
除了 realsense-ros
,您在整合 D435i 進行機器人導航時還會使用以下關鍵套件:
robot_state_publisher
:將 D435i 的 URDF 模型(包含深度相機、IMU 和其他感應器)發布為 ROS2 主題,以便在 RVIZ2 中進行視覺化。tf2
:處理所有座標系之間的轉換。D435i 的深度、IMU 和彩色影像數據都有自己的座標系,tf2
負責將它們轉換到機器人的基礎座標系。image_pipeline
:提供影像處理節點,例如將原始深度影像轉換為點雲。point_cloud_transport
:用於壓縮和傳輸點雲數據,特別是在頻寬有限的環境中。imu_filter_madgwick
:這個套件可以使用來自 D435i 的 IMU 數據來估計機器人的姿態(orientation),這對於結合輪式里程計(odometry)的 SLAM 算法非常有幫助,可以減少漂移。slam_toolbox
或rtabmap_ros
:這些是常見的 SLAM 套件,可以使用來自 D435i 的深度數據和 IMU 數據來構建地圖並進行定位。
總結:要將 Intel RealSense D435i 成功搭配 ROS2,您需要核心的 realsense-ros
套件,以及一系列用於處理影像、點雲、IMU 數據和 SLAM 的標準 ROS2 套件。
沒有留言:
張貼留言