Adaptive Gripper Controller¶
夹爪 controller (adaptive_gripper_controller) and related teleop command nodes.
Repository: fiveages-sim/arms_ros2_control
adaptive_gripper_controller¶
Listed in the arms_ros2_control README. The launch stack does not take gripper:=. Attach an end-effector with type / left_type / right_type (and optional robot_profile / use_profile_eef) from robot_common_launch.
Pin: 9a1da3ba. How to refresh the pin (and recompute :start-line: / :end-line:): Documentation Build.
Three command channels¶
Each channel takes effect immediately. Joint limits and open/close positions come from /robot_description (closer URDF limit to the initial position = closed). Example names: controller left_gripper_controller, joint left_gripper_joint.
Topic |
Type |
Force feedback |
Typical use |
|---|---|---|---|
|
|
Off |
Direct stroke (rad or m), clamped to URDF limits |
|
|
On when closing ( |
|
|
|
Auto: on while closing, off while opening |
Linear blend closed↔open |
The README topic summary (Chinese source, same commit):
以下假设控制器名称为 left_gripper_controller,关节名称为 left_gripper_joint:
话题 |
消息类型 |
方向 |
说明 |
|---|---|---|---|
|
|
订阅 |
直接位置控制(无力反馈) |
|
|
订阅 |
开关控制(0=关/力反馈,1=开) |
|
|
订阅 |
比例控制(0.0~1.0,自动力反馈) |
|
|
订阅 |
自动解析限位和初始值 |
Force feedback¶
Applies only when all of these hold (README):
The command used the switch or percent channel (not direct
position_command)use_effort_interface: trueand the hardware effort interface is boundMotion is in the closing direction
Feedback has not already fired for this command (a new command resets the flag)
Trigger: |current_effort| > force_threshold. New target = current + (original − current) × force_feedback_ratio. 0.0 stops here; 1.0 continues to the original target; default 0.5.
YAML keys in the README: joint, use_effort_interface (default true), force_threshold (default 0.1), force_feedback_ratio (default 0.5). Startup vs runtime: Controller ROS 2 parameters.
Python: left_gripper_handler.send_joint_positions (direct stroke, no feedback), send_target_command (0/1), send_position_percent (0–1). Same target_command / target_percent names on a 灵巧手 go to Basic Joint Controller Home-config blend, not this force path. Map: ros2_robot_interface.
Teleop command nodes¶
The command package in the same repo is command/ (arms_target_manager, arms_teleop, …). There is no arms_teleop_controller / target_manager_controller. Demo launch starts arms_target_manager when enable_arms_target_manager is true.
arms_target_manager owns /left_target / /stamped / /twist / /relative (and right / dual / WBC body-head). Tables: FSM and Topics. README: arms_target_manager. WBC body/head Cartesian topics need ocs2_wbc_controller and 全身 launch/config — not default mock / 分体.