franka_gripper
该软件包包含用于与 Franka Hand 通信的 franka_gripper_node 节点。
动作与服务
franka_gripper_node 提供以下动作:
homing- 复位夹爪,并根据安装的手指更新最大张开宽度。move- 以设定速度移动至目标宽度。grasp- 以给定的速度闭合夹爪,并在目标宽度和目标力下尝试抓取。当夹爪两指间的距离d满足width - epsilon.inner < d < width + epsilon.outer时,抓取被认为成功。gripper_action- 为 MoveIt 提供的专用抓取动作。
此外,还提供 stop 服务,用于中止夹爪动作并停止抓取。
使用方法
使用以下启动文件启动夹爪::
ros2 launch franka_gripper gripper.launch.py robot_ip:=<fci-ip>
在另一个终端标签页中,可以执行复位操作并发送抓取命令::
ros2 action send_goal /fr3_gripper/homing franka_msgs/action/Homing {}
ros2 action send_goal -f /fr3_gripper/grasp franka_msgs/action/Grasp "{width: 0.00, speed: 0.03, force: 50}"
默认情况下,内外侧的 epsilon 均为 0.005 米。您也可以显式设置 epsilon 值::
ros2 action send_goal -f /fr3_gripper/grasp franka_msgs/action/Grasp "{width: 0.00, speed: 0.03, force: 50, epsilon: {inner: 0.01, outer: 0.01}}"
要停止抓取,可使用 stop 服务::
ros2 service call /fr3_gripper/stop std_srvs/srv/Trigger {}
与 franka_ros 的差异
此前所有的主题与动作均以
franka_gripper为前缀。该前缀已更名为panda_gripper,以便未来可以基于arm_id来统一命名,从而轻松支持多机械臂配置。由于
stop动作不可被抢占,因此现在将其实现为服务类型的动作。除
gripper_action外,所有动作均会返回当前夹爪宽度作为反馈。