Skip to main content

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) 适用于:
  • 带力控制的夹爪
  • 接触任务
  • 安全关键应用
示例:

厂商模式支持

尝试使用不支持的模式将抛出 CallErrorValueError

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_*)用于新鲜位置/速度。
mode-aware 受控停止: handle_stop 已加固,执行按模式区分的受控停止, 而非裸 disable。

状态代码解释

状态代码是厂商特定的。常见模式:

达妙状态代码


状态读取重试模式

由于反馈是异步的,实现重试逻辑:

另见