welcom ! Handel home

2025年2月20日 星期四

(Robot_arm)robot_arm_urdf/config/ 內的控制參數檔案列表與說明

 

robot_arm_urdf/config/ 內的控制參數檔案列表與說明

robot_arm_urdf/config/ 目錄中,包含以下兩個機械臂控制相關的 YAML 設定檔案:

  1. joint_names_robot_arm_urdf.yaml

    • 這個檔案可能包含機械臂的關節名稱清單,這些名稱對應 URDF 檔案中定義的關節。
    • 通常這種檔案用於控制器、運動規劃(MoveIt!)、或是 ROS 控制介面,以確保指令正確對應到機械臂的各個關節。
  2. joint_trajectory_controller.yaml

    • 這個檔案應該定義了 Joint Trajectory Controller(關節軌跡控制器) 的參數,負責機械臂的關節運動控制。
    • 可能包含:
      • 關節名稱(與 joint_names_robot_arm_urdf.yaml 相關)
      • PID 控制參數(用於精確控制每個關節的移動)
      • 更新頻率(frequency)
      • 控制模式(position, velocity, 或 effort control)

分析 joint_names_robot_arm_urdf.yamljoint_trajectory_controller.yaml 內容

這兩個 YAML 檔案主要負責機械臂的 關節名稱軌跡控制器設定,讓 ROS 可以正確管理機械臂的運動控制。


1. joint_names_robot_arm_urdf.yaml

內容:

yaml
controller_joint_names: - '' - joint_1 - joint_2 - joint_3 - joint_4 - joint_5 - joint_6 - joint_7

解釋

  • 這個檔案定義了控制器所需的 關節名稱 (controller_joint_names)。
  • 這些名稱應該與機械臂的 URDF 檔案 中的關節名稱一致。
  • 第一個名稱 '' 可能是空值(可能是格式問題)。
  • 其餘的 joint_1 ~ joint_7 代表機械臂的各個關節。

2. joint_trajectory_controller.yaml

內容:

yaml
robot_arm_controller: type: position_controllers/JointTrajectoryController joints: - joint_1 - joint_2 - joint_3 - joint_4 - joint_5 hand_ee_controller: type: position_controllers/JointTrajectoryController joints: - joint_6 - joint_7 joint_state_controller: type: joint_state_controller/JointStateController publish_rate: 50

解釋

這個檔案負責定義 關節軌跡控制器 (Joint Trajectory Controller),包含:

  1. robot_arm_controller(機械臂控制器)

    • 控制 joint_1joint_5
    • 使用 position_controllers/JointTrajectoryController,表示這個控制器透過 關節位置 進行控制。
  2. hand_ee_controller(手部或末端執行器控制器)

    • 控制 joint_6joint_7,應該與夾爪或其他末端工具有關。
    • 也使用 位置控制 (position_controllers/JointTrajectoryController)
  3. joint_state_controller(關節狀態控制器)

    • 監測並發布機械臂的關節狀態資訊(位置、速度、力矩)。
    • publish_rate: 50 表示這個控制器 每秒發布 50 次 關節狀態資訊。

總結

檔案名稱功能主要參數作用
joint_names_robot_arm_urdf.yaml定義機械臂關節名稱controller_joint_names指定控制器應該控制哪些關節
joint_trajectory_controller.yaml設定關節軌跡控制器robot_arm_controller, hand_ee_controller, joint_state_controller負責關節軌跡運動與狀態發布


沒有留言: