這些指令是 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,用於機器人模型的視覺化。 |
沒有留言:
張貼留言