⚙ 开发指南
> SDK
> 概念指南
SDK 简介与架构#
P7 Python SDK 通过 AirbotClient 提供状态读取、控制权管理、模式切换和运动控制接口。普通 PC
通常使用 gRPC 连接 P7;安装了匹配 CORA Python SDK 的板端或专用主机可以使用 DDS。创建客户端和
读取状态都不会自动取得控制权。
调用关系#
| 层级 | 主要对象 | 作用 |
|---|---|---|
| 应用 | 用户程序 | 组织状态检查、任务目标、异常处理和资源清理 |
| Python SDK | AirbotClient 与数据模型 |
提供 gRPC/DDS 统一入口,管理客户端生命周期和控制租约 |
| P7 服务 | Arm App | 校验控制权与状态,处理规划、Servo、MIT 和恢复请求 |
| 机械臂 | 关节、末端执行器和传感状态 | 执行已接受的命令并返回可观察状态 |
连接建立、服务可用、状态可读和当前客户端拥有控制权是四个不同条件。能够读取关节状态并不表示 当前客户端可以发送运动命令;取得控制权也不会自动切换模式或移动机械臂。
基本调用顺序#
- 创建客户端并确认服务状态可用。
- 读取关节、电机、末端和固件信息,确认数据不是
None。 - 只读任务直接处理结果并关闭客户端。
- 控制任务先协调其他客户端,再取得控制权。
- 根据任务选择控制模式和规划方式。
- 发送目标后,结合返回值、
ServiceState和实际反馈判断是否完成。 - 确认运动已经停止,切回
idle,释放控制权并关闭客户端。
release_control() 和关闭客户端不会撤销已经被服务接受的规划轨迹。发生超时或返回 False 时,
应先停止发送新目标并核对实际状态,不能直接把它解释为“机械臂没有执行”。