⚙ 开发指南
> SDK
> API
> 数据结构
控制模式(Controller)#
Controller 是 arm_p7_sdk 顶层导出的控制模式枚举。它用于
switch_controller();枚举名称与 ServiceState.fsm_state 的显示名称并非全部相同。
可用的控制模式#
| 枚举成员 | 预期 FSM 状态 | 用途 |
|---|---|---|
Controller.idle |
IDLE |
不再接受普通运动目标;任务结束后切回空闲 |
Controller.planning_control |
PLANNING_CONTROL |
规划并执行 PTP、LIN、CIRCLE、OMPL 或路点轨迹 |
Controller.servo_control |
SERVO_CONTROL |
接收连续或单个 Servo 目标 |
Controller.mit_control |
FORCE_CONTROL |
接收经过专项验证的低层 MIT 关节命令 |
重力补偿通过 enter_gravity_compensation_mode() 进入,不是 Controller 成员。线协议中的
POSITION_CONTROL 也没有对应的公开 Python 枚举成员。
使用规则#
调用 switch_controller() 前应显式取得控制权。方法返回 True 后,再读取 ServiceState.fsm_state
确认实际状态;不要用 controller_state 或 SDK 本地缓存代替 FSM 确认。