2025年8月25日 星期一

Intel RealSense D435i 深度攝影機

 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 安裝(推薦)

這是最簡單的方法,可以確保所有依賴項都被正確安裝。

Bash
sudo apt-get update
sudo apt-get install ros-humble-realsense2-camera

方法二:從源碼編譯

如果您需要使用最新的功能或對套件進行修改,可以從 GitHub 下載源碼並使用 colcon build 進行編譯。

Bash
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_toolboxrtabmap_ros:這些是常見的 SLAM 套件,可以使用來自 D435i 的深度數據和 IMU 數據來構建地圖並進行定位。


總結:要將 Intel RealSense D435i 成功搭配 ROS2,您需要核心的 realsense-ros 套件,以及一系列用於處理影像、點雲、IMU 數據和 SLAM 的標準 ROS2 套件。



沒有留言:

張貼留言