仿真到实机的 Sim-to-Real 是机器人控制的难题。本文目的是复盘如何从零推导底层物理模型,打通实机控制闭环,并最终将 RL 智能体部署到真机上的全过程。
1. 动力学重力前馈
纯 PID 控制在面对随姿态非线性变化的重力矩时,极易产生稳态误差与迟滞。基于 RNE(递归牛顿-欧拉)算法建立了动力学模型,并将计算出的重力项直接作为前馈量引入底层控制器。复合控制律由 重力项 G(q)、比例项 Kp*e(t)、积分项 Ki∫e(τ)dτ* 以及 微分项 Kd*ė(t) 共同组成。
在此架构下,PID 控制器仅需处理动态误差与摩擦力扰动。

2. 3D 笛卡尔空间控制
在执行推拉、画圆等被动康复训练时,笛卡尔空间的轨迹跟踪极易受到多轴耦合的干扰。
基于 DH 参数的正逆运动学解析解,结合时间序列索引与线性插值,保障了系统底层的绝对实时性。从空间映射数据来看,Z 轴执行大范围运动时,非运动方向(X/Y轴)的交叉耦合微波振荡被有效抑制。

3. Sensorless 外力观测与二阶导纳模型
人机物理交互(pHRI)的核心在于感知与顺应。系统通过电机扭矩反馈与雅可比矩阵 J(q) 实时反向解算末端交互外力 F_ext。
在此基础上,系统部署了经典的二阶导纳控制(Admittance Control)模型,通过建立 惯性 M、阻尼 D 与 刚度 K 的动力学平衡,使系统对外部作用力产生位置退让。通过实机单变量特性分析实验,我将系统精准整定至最优临界阻尼状态,有效消除了欠阻尼参数下易引发的弹簧震荡感。

4. TD3 强化学习部署
传统恒定刚度控制面临着本质的两难困境:设定偏硬(如 400 N/m)会在患者痉挛时导致二次拉伤;设定过软(如 100 N/m)则完全丧失轨迹强制引导的能力。
引入 TD3 强化学习智能体动态调节虚拟刚度 K(t)。
训练环境中引入了“域随机化 (Domain Randomization)”机制——向机械臂末端注入幅值与时序完全随机的人工脉冲扰动力,迫使 Agent 去学习底层的物理映射规律,而非针对单一时间轴产生过拟合。

量化指标: TD3 Agent 以 500Hz 频率在实机闭环运行。日常无扰动时输出极低刚度,实现透明跟随;遭遇突发痉挛时瞬间变硬兜底。相较于传统控制,患者全程平均交互阻力大幅降低了 53%,系统位置退让误差死守 < 0.01 rad,完美兼顾了引导精度与极致的安全柔顺性。
完整实机测试视频: 👉 基于 TD3 强化学习的 BURT 康复机械臂变阻抗控制系统 (Bilibili)