FrankaGripperSim

这个插件仿真 Gazebo 中的 franka_gripper_node。这是为两个手指关节做的 ROS 控制器,带有位置和力控制器。它提供了与真正的夹爪节点相同的五个动作 action:

  • /<arm_id>/franka_gripper/homing

  • /<arm_id>/franka_gripper/stop

  • /<arm_id>/franka_gripper/move

  • /<arm_id>/franka_gripper/grasp

  • /<arm_id>/franka_gripper/gripper_action

重要

grasp action 有一个bug,如果让手指 open 到目标宽度,它既不会成功也不会中止。这是因为缺少关节限制接口,这让手指在其极限处摆动。现在只使用 grasp action 来 close 手指!

假设 URDF 包含两个可以力控制的手指关节,即有一个相应的 EffortJointInterface 传动声明。该控制器在其命名空间中需要以下参数:

  • type (string, required):应该是 franka_gazebo/FrankaGripperSim

  • arm_id (string, required):panda 的手臂 id,以推断出手指关节的名称

  • finger1/gains/p (double, required): 第一指位置-力控制器的比例增益

  • finger1/gains/i (double, default: 0): 第一指位置-力控制器的积分增益

  • finger1/gains/d (double, default: 0):第一指位置-力控制器的微分增益

  • finger2/gains/p (double, required): 第二指位置-力控制器的比例增益

  • finger2/gains/i (double, default: 0): 第二指位置-力控制器的积分增益

  • finger2/gains/d (double, default: 0): 第二指位置-力控制器的微分增益

  • move/width_tolerance (double, default 5mm): 当手指宽度低于此阈值时,move action 成功

  • grasp/resting_threshold (double, default 1mms): 低于该速度应检查目标宽度以中止或成功 grasp action

  • grasp/consecutive_samples (double, default: 3): 速度要连续低于阈值 resting_threshold 多少次才会被评估为抓取

  • gripper_action/width_tolerance (double, default 5mm): 当手指宽度低于此阈值时,夹爪 action 就(被认为)成功

  • gripper_action/speed (double, default 10cms): 在夹爪 action 中使用的速度