SDK 接口#
Python SDK 通过 AirbotClient 连接 P7。普通 PC 通常使用 gRPC。连接客户端和读取状态都不会自动取得控制权。
从哪里开始#
-
先完成一次只读连接
从安装、地址检查开始,读取服务、关节和固件状态,不申请控制权。
运行五分钟快速开始
-
创建和关闭客户端
查询构造参数、后端差异、连接时机、context manager 和
close()。 -
申请或交还控制权
区分客户端注册、租约、续期、抢占、释放和显式交还。
-
解释状态结果
查询八个只读 getter 的阻塞、新鲜度、
None和后端差异。 -
查询字段和单位
查询关节、电机、IMU、末端位姿、服务状态和固件模型。
-
查询包导出和异常
查看顶层导入、关节限位常量、公开异常、版本号和纯数值工具。
-
选择控制模式
区分 idle、planning、Servo、MIT 和重力补偿,确认模式切换结果。
-
执行基础关节运动
查询速度、关节限位、阻塞和超时规则,运行经过静态验证的小幅 Servo 示例。
-
选择笛卡尔路径
区分 PTP、LIN、CIRCLE 和 Servo 位姿目标,检查坐标系与四元数。
-
规划多个路点
配置关节或笛卡尔 waypoint、逐段参数和边界混合。
-
控制末端执行器
查询 EEF 模式、运行时自由度、速度、位置与当前版本限制。
-
查询运动参数
核对笛卡尔、EEF 和 waypoint options 的默认值、范围及生效条件。
-
处理急停和电机错误
区分软件急停复位、机械臂清错、末端清错和回到零位。
-
运行单个接口用例
按公开接口名运行最小命令,查询确认口令、显式输入和自动清理方式。
先分清四件事#
| 检查项 | 可观察结果 | 是否允许发送运动命令 |
|---|---|---|
| 客户端已创建 | 构造函数返回,传输和客户端注册已初始化 | 否 |
| 服务可用 | ServiceState.service_state 为 True |
否 |
| 状态可读 | 对应 getter 返回模型而不是 None |
否 |
| 当前客户端拥有控制权 | acquire_control() 返回 True,且租约没有随后丢失 |
仅满足权限条件;仍需满足控制模式和安全前置 |
能够读取关节状态却不能运动是正常现象:状态接口不要求控制权,运动接口要求当前客户端持有有效租约。
ServiceState 也不包含“当前客户端是否持有租约”的字段。
控制租约只是运动前提之一。发送目标前还要确认实际 FSM 模式、关节和电机状态、工位环境及目标限位。 从控制接口示例进入完整调用顺序。
版本条件#
当前大包、Arm App 和 SDK 版本见兼容性。部署前还要按交付清单核对 整机配置、CORA、gRPC/DDS 后端和现场网络参数;大包版本相同不代表这些现场条件相同。