末端执行器接口
约 4035 字大约 13 分钟
开发者可通过标准的ROS2话题(Topic)、服务(Service)和动作(Action)机制,便捷地获取机器人状态、发送控制指令,实现复杂任务的编程与集成。
Topic:订阅式话题,接收方订阅某个消息,发送方根据订阅列表向接收方发送消息,主要用于中高频或持续的数据交互。
Service:问答式服务,通过请求实现数据获取或操作。用于低频或功能切换时的数据交互。
Action:持续式动作,用于长时间运行的任务,支持任务执行过程中的状态反馈和取消操作,适用于复杂动作控制和任务执行。
灵巧手及末端执行器接口用于操作末端执行器(灵巧手指节控制/二指夹爪开合力控)。
真机
| Topic | /feedback/ee/left |
|---|---|
| 生效版本 | ≥V0.2 |
| 接入方式 | 订阅(subscribe)
|
| 接口说明 | 实时获取左侧末端执行器的状态 |
| 接口参数 | header:标准消息头,包含时间戳(stamp)、坐标系(frame_id)等元信息 |
string ee_name:末端设备名称(品牌_型号_版本)
| |
| uint8[] status:末端执行器状态,0:IDLE(空闲 / 到位停止),1:RUNNING(运动中),2:STALL(堵转 / 保护停止),100:UNCONNECT(USB未连接),255:UNKNOWN (找不到末端设备) | |
| EEJointState[] joint_states:关节状态 {
| |
EETactileState[] tactile_states:触觉传感器状态{
|
| Topic | /feedback/ee/right |
|---|---|
| 生效版本 | ≥V0.2 |
| 接入方式 | 订阅(subscribe)
|
| 接口说明 | 实时获取右侧末端执行器的状态 |
| 接口参数 | header:标准消息头,包含时间戳(stamp)、坐标系(frame_id)等元信息 |
string ee_name:末端设备名称(品牌_型号_版本)
| |
| uint8[] status:末端执行器状态,0:IDLE(空闲 / 到位停止),1:RUNNING(运动中),2:STALL(堵转 / 保护停止),100:UNCONNECT(USB未连接),255:UNKNOWN (找不到末端设备) | |
| EEJointState[] joint_states:关节状态 {
| |
EETactileState[] tactile_states:触觉传感器状态{
|
| Topic | /control/ee/left |
|---|---|
| 生效版本 | ≥V0.2 |
| 接入方式 | 发布(publish)
|
| 接口说明 | 发布指令,控制左侧末端执行器的状态 |
| 接口参数 | header:标准消息头,包含时间戳(stamp)、坐标系(frame_id)等元信息 |
| string[] joint_names{ //关节名称列表 // 6自由度灵巧手: “T_MCP”; //拇指弯曲 “T_CMC_YAW”; //拇指摆动 “IF_MCP_PITCH”; //食指弯曲 “MF_MCP_PITCH”; //中指弯曲 “RF_MCP_PITCH”; //无名指弯曲 “LF_MCP_PITCH”; //小指弯曲 // 夹爪 “FINGER1”; // 夹爪开合 }; | |
| uint8 mode{ //控制模式 0:POSITION //位置控制,控制关节到达指定角度) 1:VELOCITY //速度控制,控制关节以指定速度运动 2:CURRENT //电流控制,控制关节电流输出 3:FORCE //力控制,控制关节力输出 }; | |
float32[] value:控制目标值数组,长度必须与 joint_names 一致,顺序一一对应。取值范围由 mode 决定。
|
| Topic | /control/ee/right |
|---|---|
| 生效版本 | ≥V0.2 |
| 接入方式 | 发布(publish)
|
| 接口说明 | 发布指令,控制右侧末端执行器的状态 |
| 接口参数 | header:标准消息头,包含时间戳(stamp)、坐标系(frame_id)等元信息 |
| string[] joint_names{ //关节名称列表 // 6自由度灵巧手: “T_MCP”; //拇指弯曲 “T_CMC_YAW”; //拇指摆动 “IF_MCP_PITCH”; //食指弯曲 “MF_MCP_PITCH”; //中指弯曲 “RF_MCP_PITCH”; //无名指弯曲 “LF_MCP_PITCH”; //小指弯曲 // 夹爪 “FINGER1”; // 夹爪开合 }; | |
| uint8 mode{ //控制模式 0:POSITION //位置控制,控制关节到达指定角度) 1:VELOCITY //速度控制,控制关节以指定速度运动 2:CURRENT //电流控制,控制关节电流输出 3:FORCE //力控制,控制关节力输出 }; | |
float32[] value:控制目标值数组,长度必须与 joint_names 一致,顺序一一对应。取值范围由 mode 决定。
|
仿真环境
| Topic | /feedback_sim/ee/left |
|---|---|
| 生效版本 | ≥V0.2 |
| 接入方式 | 订阅(subscribe)
|
| 接口说明 | 实时获取左侧末端执行器的状态 |
| 接口参数 | header:标准消息头,包含时间戳(stamp)、坐标系(frame_id)等元信息 |
string ee_name:末端设备名称(品牌_型号_版本)
| |
| uint8[] status:末端执行器状态,0:IDLE(空闲 / 到位停止),1:RUNNING(运动中),2:STALL(堵转 / 保护停止),100:UNCONNECT(USB未连接),255:UNKNOWN (找不到末端设备) | |
| EEJointState[] joint_states:关节状态 {
| |
EETactileState[] tactile_states:触觉传感器状态{
|
| Topic | /feedback_sim/ee/right |
|---|---|
| 生效版本 | ≥V0.2 |
| 接入方式 | 订阅(subscribe)
|
| 接口说明 | 实时获取右侧末端执行器的状态 |
| 接口参数 | header:标准消息头,包含时间戳(stamp)、坐标系(frame_id)等元信息 |
string ee_name:末端设备名称(品牌_型号_版本)
| |
| uint8[] status:末端执行器状态,0:IDLE(空闲 / 到位停止),1:RUNNING(运动中),2:STALL(堵转 / 保护停止),100:UNCONNECT(USB未连接),255:UNKNOWN (找不到末端设备) | |
| EEJointState[] joint_states:关节状态 {
| |
EETactileState[] tactile_states:触觉传感器状态{
|
| Topic | /control_sim/ee/left |
|---|---|
| 生效版本 | ≥V0.2 |
| 接入方式 | 发布(publish)
|
| 接口说明 | 发布指令,控制左侧末端执行器的状态 |
| 接口参数 | header:标准消息头,包含时间戳(stamp)、坐标系(frame_id)等元信息 |
| string[] joint_names{ //关节名称列表 // 6自由度灵巧手: “T_MCP”; //拇指弯曲 “T_CMC_YAW”; //拇指摆动 “IF_MCP_PITCH”; //食指弯曲 “MF_MCP_PITCH”; //中指弯曲 “RF_MCP_PITCH”; //无名指弯曲 “LF_MCP_PITCH”; //小指弯曲 // 夹爪 “FINGER1”; }; | |
| uint8 mode{ //控制模式 0:POSITION //位置控制,控制关节到达指定角度) 1:VELOCITY //速度控制,控制关节以指定速度运动 2:CURRENT //电流控制,控制关节电流输出 3:FORCE //力控制,控制关节力输出 }; | |
float32[] value:控制目标值数组,长度必须与 joint_names 一致,顺序一一对应。取值范围由 mode 决定。
|
| Topic | /control_sim/ee/right |
|---|---|
| 生效版本 | ≥V0.2 |
| 接入方式 | 发布(publish)
|
| 接口说明 | 发布指令,控制右侧末端执行器的状态 |
| 接口参数 | header:标准消息头,包含时间戳(stamp)、坐标系(frame_id)等元信息 |
| string[] joint_names{ //关节名称列表 // 6自由度灵巧手: “T_MCP”; //拇指弯曲 “T_CMC_YAW”; //拇指摆动 “IF_MCP_PITCH”; //食指弯曲 “MF_MCP_PITCH”; //中指弯曲 “RF_MCP_PITCH”; //无名指弯曲 “LF_MCP_PITCH”; //小指弯曲 // 夹爪 “FINGER1”; }; | |
| uint8 mode{ //控制模式 0:POSITION //位置控制,控制关节到达指定角度) 1:VELOCITY //速度控制,控制关节以指定速度运动 2:CURRENT //电流控制,控制关节电流输出 3:FORCE //力控制,控制关节力输出 }; | |
float32[] value:控制目标值数组,长度必须与 joint_names 一致,顺序一一对应。取值范围由 mode 决定。
|