2025年9月4日 星期四

RVIZ2 中監看 /twowheel_amr/scan 的雷射雷達數據

 為了在 RVIZ2 中監看 /twowheel_amr/scan 的雷射雷達數據並將其轉換成點素(點雲),

你需要啟動 RVIZ2 並正確設定顯示器(Display)。


步驟一:啟動 Gazebo 與機器人

首先,請確保你的 Gazebo 模擬器正在運行,並且機器人模型已成功載入。這會發布 /twowheel_amr/scan 主題數據。

ros2 launch twowheel_bot gazebo.launch.py

步驟二:啟動 RVIZ2

接下來,在一個新的終端機視窗中,啟動 RVIZ2。

# 確保你是在你的工作空間中,並且環境變數已更新
cd ~/data/ros2_ws4
source install/setup.bash

# 啟動 RVIZ2
ros2 launch twowheel_bot twowheel_rviz.launch.py

這個指令會啟動 RVIZ2 並載入我們之前建立的 twowheel.rviz 配置檔。

步驟三:設定 RVIZ2 顯示器

如果 twowheel.rviz 檔案已經正確配置,LaserScan 顯示器應該會自動載入。如果你沒有看到,可以手動添加:

  1. 在 RVIZ2 左側的 Displays 面板中,點擊左下角的 Add 按鈕。

  2. 在彈出的視窗中,選擇 by topic 頁籤,找到 /twowheel_amr/scan 並選擇 sensor_msgs/msg/LaserScan

  3. 點擊 OK

步驟四:將 LaserScan 轉換為點雲

LaserScan 數據是二維的,RVIZ2 會以點或標記的形式將其顯示。如果你想將它轉換為三維的點雲(Point Cloud),你需要一個額外的 ROS2 節點。

  • laserscan_to_pointcloud 節點:這個節點會訂閱 sensor_msgs/msg/LaserScan 主題,並將其轉換為 sensor_msgs/msg/PointCloud2 主題。

    • 安裝套件

      sudo apt-get install ros-humble-laser-filters
      
    • 啟動節點:在一個新的終端機中,執行以下指令:

      ros2 run laser_filters scan_to_cloud_node --ros-args --remap scan:=/twowheel_amr/scan
      

    這個節點會自動發布一個新的主題,通常是 /scan_cloud

步驟五:在 RVIZ2 中顯示點雲

現在你已經有了點雲主題,可以在 RVIZ2 中將它顯示出來:

  1. 在 RVIZ2 左側的 Displays 面板中,點擊 Add 按鈕。

  2. 在彈出的視窗中,選擇 PointCloud2

  3. Topic 欄位中,選擇 /scan_cloud

  4. 點擊 OK

你現在應該可以看到一個由雷射掃描數據生成的 3D 點雲。這個點雲會隨著你的機器人在 Gazebo 中移動而實時更新。

沒有留言:

張貼留言