2025年9月4日 星期四

ROS2 常用指令列表 (ROS 2)

這些指令是 ROS 開發者日常工作中最核心的工具,掌握它們能大幅提高您的工作效率。


ROS 常用指令列表 (ROS 2)

1. 工作區管理 (Workspace Management)

指令說明
ros2 pkg create --build-type ament_cmake <package_name>創建一個新的 C++ ROS 2 套件。
ros2 pkg create --build-type ament_python <package_name>創建一個新的 Python ROS 2 套件。
colcon build編譯工作區中的所有套件。如果您只修改了特定套件,可以使用 --packages-select <package_name> 來加快編譯速度。
source install/setup.bash載入編譯後的環境變數。在每個新的終端機中,您都需要執行此命令才能使用 ROS 2 指令。

2. 節點與主題 (Nodes and Topics)

指令說明
ros2 run <package_name> <executable_name>執行一個可執行檔。例如 ros2 run turtlesim turtlesim_node 會啟動一個小海龜模擬器。
ros2 node list列出所有正在運行的 ROS 2 節點。
ros2 topic list列出所有正在發布的主題。
ros2 topic info <topic_name>顯示主題的詳細資訊,包括類型和發布者/訂閱者。
ros2 topic echo <topic_name>監聽並顯示主題上發布的訊息。這是調試數據流的常用方法。
ros2 topic pub <topic_name> <msg_type> '<data>'手動發布一條訊息到主題上。例如 ros2 topic pub /cmd_vel geometry_msgs/msg/Twist '{linear: {x: 0.5}}'
ros2 topic hz <topic_name>檢查主題的發布頻率。

3. 服務與動作 (Services and Actions)

指令說明
ros2 service list列出所有可用的 ROS 2 服務。
ros2 service type <service_name>顯示服務的訊息類型。
ros2 service call <service_name> <service_type> '<data>'呼叫服務。
ros2 action list列出所有可用的 ROS 2 動作。
ros2 action info <action_name>顯示動作的詳細資訊。
ros2 action send_goal <action_name> <action_type> '<data>'發送一個動作目標。

4. 參數 (Parameters)

指令說明
ros2 param list列出所有節點的參數。
ros2 param get <node_name> <param_name>取得特定節點的參數值。
ros2 param set <node_name> <param_name> <value>設定特定節點的參數值。
ros2 param dump <node_name>將一個節點的所有參數值儲存到一個 YAML 文件。

5. 轉換 (Transforms)

指令說明
ros2 run tf2_ros tf2_echo <source_frame> <target_frame>監聽並顯示兩個座標系(Frame)之間的變換(Transform)。
ros2 run rviz2 rviz2啟動 RVIZ2,這是 ROS 2 的主要視覺化工具,用於查看機器人模型、感測器數據和 TF 樹。

6. 調試與啟動 (Debugging and Launch)

指令說明
ros2 launch <package_name> <launch_file_name>執行一個啟動檔案,這可以一次性啟動多個節點和設定。
rqt啟動 rqt,這是 ROS 2 的圖形化調試工具,提供了許多插件來監控和調試 ROS 2 系統。
rviz2啟動 RVIZ2,用於機器人模型的視覺化。



沒有留言:

張貼留言