首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >关节模组的 MIT 模式里的力矩环

关节模组的 MIT 模式里的力矩环

作者头像
索旭东
发布于 2026-09-15 21:13:46
发布于 2026-09-15 21:13:46
1590
举报
文章被收录于专栏:具身小站具身小站

MIT 模式底层依赖力矩环,通过多层环嵌套的设计,作为现代机器人控制,通过内环保证物理精确,外环保证任务智能 ,MIT 模式适合没有控制工程师的团队,下面把 MIT 模式的内部结构、环的层级关系讲透。

一、MIT 模式的力矩环

MIT 模式的黑盒拆开后,内部结构如下:

代码语言:javascript
复制
你发的指令(q_des, dq_des, Kp, Kd, Tff)
            ↓
[驱动器内部微控制器]
            ↓
计算目标力矩:τ_cmd = Kp*(q_des - q) + Kd*(dq_des - dq) + Tff
            ↓
        [力矩环 / 电流环] ← 这是 MIT 模式的底座
            ↓
      PWM电压 → 电机
            ↓
   实际位置 q, 实际速度 dq (编码器反馈回传)

结论:MIT 模式并不是凭空产生了力矩,是在电流(力矩)环外面包了一层PD控制器,并把 PD 算出的结果当作电流环的目标值。所以,MIT 模式 = 阻抗/PD计算 + 底层力矩环。


二、MIT 模式的闭环

可以把 MIT 模式的控制器拆成两个层面的环路:

1. 固件层(驱动器内部)
  • 电流环(最内层):测三相电流,控制 PWM 斩波,频率最高(10kHz~20kHz),这是物理世界的执行力所在。
  • MIT 阻抗环(中间层):这是驱动器固件算好的虚拟关节阻抗(PD项),替代了传统的速度环和位置环。
2. 应用层(工控机)
  • 笛卡尔导纳环(最外层):力控算法,根据六维力传感器算出 ΔX,通过逆运动学变成 qdes,发给驱动器。

三、工程的内外环

确定内外环只有一个标准:谁的物理响应速度快,谁就在里面,慢的在外面。

环的层级和响应频率对照表:

环

典型频率

角色

类比

电流/力矩环

10kHz+

最内层,执行者

肌肉纤维

速度环

1kHz

中层(传统模式)

小脑

位置环

100~500Hz

外层(传统模式)

大脑皮层

MIT/关节阻抗环

1kHz(驱动器内)

替代传统速度+位置环

小脑+高级反射

笛卡尔导纳/力环

100~1000Hz(工控机)

最外层,任务层

意识决策

原则:内环必须比外环快 5~10 倍以上,如果电流环的响应速度比 MIT 的 PD 环还慢,电机会失控;如果导纳外环(1ms周期)跑得比 MIT 内环快,机械臂会抖动。

四、不同环作用

1. 电流/力矩环(内层):产生实际的物理力矩,克服反电动势和线圈阻抗,当 MIT 环算出需要 0.5Nm 来托住 J5 的重力时,电流环负责在 50 微秒内让电机确实输出这 0.5Nm。
2. MIT 阻抗环(中层):建立虚拟的“弹簧-阻尼”系统,不需要发纯力矩指令,发位置+刚度即可。比如让 J5 到 30°,设定 Kp=100,如果重力把 J5 压到了 29°,误差 1°会让 MIT 环自动算出补足力矩,拉回 30°,让位置控制不那么“死硬”,同时又把电机的力矩控制隐藏在了底层。
3. 笛卡尔导纳环(外层):根据末端接触力,决定末端该往哪动,贴合釉面时,法向力达到 3N,导纳环算出需要后退 0.1mm,于是把 q_des 稍微调整。这个新的 q_des 发送下去,MIT 环再去执行它。

如果拿到一套机器人代码或驱动器手册,可以通过以下特征判断它是哪一层在起作用:

1. 看输入输出接口(最直接)
  • 发的是电压/电流值(如 ±10V 或 mA) -> 电流环(或直接力控)。
  • 发的是速度(如 rpm 或 deg/s) -> 速度环。
  • 发的是位置(如 deg 或 counts) -> 位置环(CSP 或 PP)。
  • 发的是“位置 + 刚度 + 阻尼 + 前馈” -> MIT 模式(关节阻抗环)。
2. 看控制方程
  • 如果代码:tau = Kp*(pos_des - pos_act) + Kd*(vel_des - vel_act) -> 这是阻抗/PD控制,可能运行在驱动器(MIT)或上位机。
  • 如果代码:delta_pos = M_inv * (Force_err - D * delta_vel) -> 这是笛卡尔导纳控制(外环)。
3. 看物理接线/反馈
  • 闭环极快(几微秒),只能发生在驱动器 DSP/FPGA里,一定是内环(电流环)。
  • 闭环需要经过总线(CAN/EtherCAT)传输数据,毫秒级,一定是外环(导纳/规划)
代码语言:javascript
复制
[任务:清洁马桶] 
      ↓
[笛卡尔导纳环](工控机,1ms)
    感知力 -> 计算末端位移修正 ΔX -> 逆运动学 -> 修正后的 q_des
      ↓ (通过CAN 2.0发送)
[MIT关节阻抗环](驱动器,100us)
    收到 q_des -> PD计算 -> 得出需要的关节力矩 τ_cmd
      ↓
[电流/力矩环](驱动器,20us)
    收到 τ_cmd -> 控制PWM -> 电机输出实际力矩
      ↓
[物理世界]:机械臂运动 -> 接触釉面 -> 产生接触力
      ↑ 
      └── 六维力传感器采集力,反馈给最外层的笛卡尔导纳环 (闭全环)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-09-15,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 一、MIT 模式的力矩环
  • 二、MIT 模式的闭环
    • 1. 固件层(驱动器内部)
    • 2. 应用层(工控机)
  • 三、工程的内外环
  • 四、不同环作用
    • 1. 电流/力矩环(内层):产生实际的物理力矩,克服反电动势和线圈阻抗,当 MIT 环算出需要 0.5Nm 来托住 J5 的重力时,电流环负责在 50 微秒内让电机确实输出这 0.5Nm。
    • 2. MIT 阻抗环(中层):建立虚拟的“弹簧-阻尼”系统,不需要发纯力矩指令,发位置+刚度即可。比如让 J5 到 30°,设定 Kp=100,如果重力把 J5 压到了 29°,误差 1°会让 MIT 环自动算出补足力矩,拉回 30°,让位置控制不那么“死硬”,同时又把电机的力矩控制隐藏在了底层。
    • 3. 笛卡尔导纳环(外层):根据末端接触力,决定末端该往哪动,贴合釉面时,法向力达到 3N,导纳环算出需要后退 0.1mm,于是把 q_des 稍微调整。这个新的 q_des 发送下去,MIT 环再去执行它。
    • 1. 看输入输出接口(最直接)
    • 2. 看控制方程
    • 3. 看物理接线/反馈
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档