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/FrankaGripperSimarm_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 ): 当手指宽度低于此阈值时,move action 成功grasp/resting_threshold(double, default ): 低于该速度应检查目标宽度以中止或成功 grasp actiongrasp/consecutive_samples(double, default: 3): 速度要连续低于阈值resting_threshold多少次才会被评估为抓取gripper_action/width_tolerance(double, default ): 当手指宽度低于此阈值时,夹爪 action 就(被认为)成功gripper_action/speed(double, default ): 在夹爪 action 中使用的速度