welcom ! Handel home

2025年2月20日 星期四

(Robot_arm)URDF 檔案與 joint_names_robot_arm_urdf.yaml 關節名稱比對

 

URDF 檔案與 joint_names_robot_arm_urdf.yaml 關節名稱比對結果

1. URDF 內定義的關節 (robot_arm_urdf.urdf)

URDF 檔案內的關節名稱如下:

  • base_joint
  • joint_1
  • joint_2
  • joint_3
  • joint_4
  • joint_5
  • joint_6
  • joint_7

2. YAML 設定的關節 (joint_names_robot_arm_urdf.yaml)

YAML 檔案內的關節名稱如下:

  • joint_1
  • joint_2
  • joint_3
  • joint_4
  • joint_5
  • joint_6
  • joint_7

分析結果

完全匹配的關節名稱

  • joint_1joint_2joint_3joint_4joint_5joint_6joint_7
    → 這些關節名稱在 URDFYAML 內都存在,沒有問題。

⚠️ URDF 內有但 YAML 沒有的關節

  • base_joint 存在於 URDF,但 沒有出現在 YAML 檔案中。
    • 這可能是 基座 (base) 的固定關節,如果它不需要控制,則不影響運作。
    • 但如果它應該受控制,則 YAML 需要加入 base_joint

YAML 內的關節名稱都出現在 URDF

  • 沒有缺少的關節名稱,代表 YAML 設定是正確的。

建議的下一步

  1. 確認 base_joint 是否需要加入 YAML

    • 如果 base_joint 需要控制,則應在 joint_names_robot_arm_urdf.yaml 中加上:
      yaml
      controller_joint_names: - base_joint - joint_1 - joint_2 - joint_3 - joint_4 - joint_5 - joint_6 - joint_7
    • 如果 base_joint 只是固定連結,則不需加入 YAML,問題不大。
  2. 檢查 joint_trajectory_controller.yaml

    • 確保 joint_trajectory_controller.yaml 內的關節控制設定 沒有遺漏或錯誤。
  3. 測試 URDF 在 RViz 或 Gazebo 是否正確載入

    • 使用 display.launch 測試 機械臂的可視化
      sh
      roslaunch robot_arm_urdf display.launch
    • 使用 gazebo.launch 測試 機械臂的物理模擬
      sh
      roslaunch robot_arm_urdf gazebo.launch

沒有留言: