為了在 RVIZ2 中監看 /twowheel_amr/scan
的雷射雷達數據並將其轉換成點素(點雲),
你需要啟動 RVIZ2 並正確設定顯示器(Display)。
步驟一:啟動 Gazebo 與機器人
首先,請確保你的 Gazebo 模擬器正在運行,並且機器人模型已成功載入。這會發布 /twowheel_amr/scan
主題數據。
步驟二:啟動 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
顯示器應該會自動載入。如果你沒有看到,可以手動添加:
在 RVIZ2 左側的
Displays
面板中,點擊左下角的Add
按鈕。在彈出的視窗中,選擇
by topic
頁籤,找到/twowheel_amr/scan
並選擇sensor_msgs/msg/LaserScan
。點擊
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 中將它顯示出來:
在 RVIZ2 左側的
Displays
面板中,點擊Add
按鈕。在彈出的視窗中,選擇
PointCloud2
。在
Topic
欄位中,選擇/scan_cloud
。點擊
OK
。
你現在應該可以看到一個由雷射掃描數據生成的 3D 點雲。這個點雲會隨著你的機器人在 Gazebo 中移動而實時更新。
沒有留言:
張貼留言