Mode 枚举
Mode 枚举定义了电机可用的控制模式。
导入
定义
模式描述
模式详情
Mode.MIT
MIT 模式提供完全阻抗控制,可独立控制:
- 位置目标
- 速度目标
- 位置刚度(Kp)
- 速度阻尼(Kd)
- 前馈力矩
motor.send_mit(pos, vel, kp, kd, tau)
适用于:
- 需要柔顺控制的足式机器人
- 具有可变刚度的机械臂
- 触觉反馈应用
Mode.POS_VEL
带速度限制的位置控制。电机以受限速度移动到目标位置。
命令: motor.send_pos_vel(pos, vlim)
适用于:
- 简单的点到点运动
- 需要速度限制的应用
- 初学者友好的控制
RobStride PP / CSP: RobStride 还提供
robstride_send_pos_vel_pp(Profile Position)
与 robstride_send_pos_vel_csp(Cyclic Synchronous Position),遵循厂商手册 PP/CSP 序列。高速循环
请使用预备 profile,每周期直接写 loc_ref,避免每个控制周期等待一次 enable ACK。Mode.VEL
纯速度控制。电机以指令速度无限期运行。
命令: motor.send_vel(vel)
适用于:
- 传送带
- 轮子和传动系统
- 速度控制应用
Mode.FORCE_POS
带力比例的柔顺位置控制。电机移动到位置但限制施加的力。
命令: motor.send_force_pos(pos, vlim, ratio)
适用于:
- 带力控制的夹爪
- 接触任务
- 安全关键应用
厂商模式支持
MotorState 数据类
MotorState 是包含电机反馈数据的不可变数据类。
导入
定义
字段描述
使用示例
推荐反馈模式(当前 Binding)
在循环中直接使用request_feedback() + get_state() 即可;Python binding 不需要额外查询 “status name” 接口。
RobStride 状态语义: 统一
request_feedback() ABI 调用对 RobStride
为非阻塞 no-op;ping 应答不合成 MotorState,因此 request_feedback() -> get_state()
无法刷新状态时不会假装刷新。请按目标选择正确的查询方式:robstride_ping()用于连通性检查,- 主动上报(
robstride_set_active_report)用于流式状态, - typed 参数读取(
robstride_get_param_*)用于新鲜位置/速度。
handle_stop 已加固,执行按模式区分的受控停止,
而非裸 disable。状态代码解释
状态代码是厂商特定的。常见模式:达妙状态代码
状态读取重试模式
由于反馈是异步的,实现重试逻辑:另见
- Motor API - 电机控制方法
- Controller API - 控制器方法
- 厂商能力矩阵 - 厂商特性支持