控制接口示例
控制接口示例#
P7 的控制调用按“确认状态、取得控制权、切换模式、发送目标、确认完成、切回 idle、释放控制权”
组织。省略其中任一步,都可能让命令被拒绝或让应用误判机械臂是否已经完成运动。
不发送运动目标#
控制模式中的只读示例只创建客户端并读取
ServiceState,不会申请控制权、切换模式或发送运动目标。第一次接入应先运行该示例,确认能够区分
fsm_state 和 controller_state。
单次关节目标#
关节运动提供一份可运行的 gRPC 示例。它从当前关节反馈
构造目标,只让 J7 向零位变化最多 0.03 rad,并在发送前要求操作员确认。示例的状态检查和资源释放
路径已使用 fake client 测试;具体工位、工具和真机运动仍需现场复核。
笛卡尔和 EEF 输入检查#
笛卡尔运动提供只读预览脚本。它检查当前末端位姿的有限值和 单位四元数,构造一个不发送的 m 制目标,并读取 EEF 模式和型号。当前版本仍存在笛卡尔 planning 起点回退问题;线性 EEF 的 SDK 位置/速度单位已统一,但该只读示例仍不会申请控制权或调用运动方法。
路点的数据结构与逐段数量检查见路点运动。
控制代码的基本结构#
下面的结构不会自行发送运动目标。实际调用还要按对应接口页补充状态、单位、限位和完成判据。
release_control() 不会停止已经接受的规划轨迹。只有确认运动已经完成或停止后,才能执行正常释放。
异常运动时应按停止和异常处理执行现场急停流程。
接口参考#
- 控制模式:
Controller、模式选择、切换和重力补偿; - 安全与恢复命令:软件急停、清错和回零;
- 关节运动:
set_arm_speed()、move_joint()、限位、返回值和完成条件; JointMoveOptions参数:planning、Servo、MIT 各自生效的字段;- 笛卡尔运动:位姿、PTP/LIN/CIRCLE、seed、返回和停止;
- 路点运动:waypoint、segment、混合和部分执行风险;
- 末端执行器:EEF 模式、运行时自由度、速度和单位限制;
- 运动参数参考:笛卡尔、EEF 与路点 options 字段;
- 控制权与租约:显式获取、续期、丢失和释放;
- SDK 最小可执行用例:按 37 个公开入口逐一运行并查询确认口令。