仿真里没有静摩擦,人形机器人怎么在楼梯上站住
人形机器人的关节策略在仿真里学会了上楼梯,装到真机上第一级就踩空,问题常常不在算力也不在视觉,而在仿真参数表里根本没有静摩擦这一项。真机关节的静摩擦转矩是 0.37 N·m,仿真里按粘性阻尼给出的等效值是 0.045 N·m,差 8 倍。这 8 倍换来 148 ms 的起步滞后,而摆动腿的抬脚窗口只有 180 ms。
一句话答案 静摩擦是死区型非线性,域随机化只能把死区平均掉,策略必须在线辨识关节摩擦,否则抬脚时机永远差半帧。
静摩擦是死区,不是噪声
静摩擦是指关节在零速附近需要超过某个转矩阈值才开始转动的现象,它与速度相关,与位置无关。这个阈值在仿真里通常被简化成一条粘性阻尼线,力矩与速度成正比,零点附近力矩为零。真机的曲线不是这样,零速时有一个平台,越过平台才掉下来。
平台的高度由密封圈、轴承预紧和减速器效率共同决定。一台 40 N·m 额定的膝关节,减速比 9,电机侧静摩擦 0.041 N·m,折算到输出端是 0.37 N·m。仿真里给 0.002 N·m·s/rad 的粘性系数,在 0.02 rad/s 的起步速度下只产生 0.00004 N·m,四舍五入就是零。
图 1 关节摩擦转矩与速度的关系(依据原文第 3 节参数辨识结果重绘)
仿真里给 0.045,真机要 0.37
按公开参数测算一遍。密封圈的径向预紧力取 12 N,橡胶与钢的摩擦系数 0.15,作用半径 8 mm,单只密封圈的摩擦力矩是 12 乘 0.15 乘 0.008,等于 0.0144 N·m。电机两端各一只,加上轴承的 0.012 N·m,电机侧合计 0.041 N·m。乘减速比 9,输出端 0.37 N·m。
真机的起步电流由此确定。电机转矩常数 0.11 N·m/A,要克服 0.041 N·m 的静摩擦,电流得先到 0.37 A。仿真里对应的电流是 0.045 A。控制器的电流环分辨率是 1.6 mN·m 每级,两个数它都分辨得出来,问题是策略在训练时从没见过 0.37 A 这个门槛。
这个门槛在慢速动作里被放大。位置环的刚度是 1200 N·m/rad,0.37 N·m 的死区对应 0.31 mrad 的关节角,末端在 0.5 米的腿长上是 0.15 mm 的偏差。数值不大,但它是纯延迟,不随增益收敛。
滞后 148 毫秒撞上 180 毫秒的窗口
策略输出的是力矩指令,指令从零爬到 0.37 N·m 需要时间。取力矩爬升率 2.5 N·m/s,这个爬升率对应 5 Hz 策略、每帧 0.5 N·m 的增量,死区带来的起步滞后是 148 ms。仿真的 0.045 N·m 只需 18 ms。
抬脚窗口按步频 1.1 Hz、摆动相占 40% 算,摆动期 364 ms,其中脚离地到越过台阶边缘的窗口约 180 ms。148 ms 的滞后还在窗口内,但策略的更新周期是 200 ms,量化之后实际滞后是 200 到 348 ms,超窗。
滞后与策略频率的关系比与摩擦本身的关系更大。5 Hz 的策略每 200 ms 才更新一次指令,死区跨在两帧之间,实际滞后是 148 ms 加一个帧周期的量化误差。把策略提到 20 Hz,同样的静摩擦只带来 148 ms 加 50 ms 的量化,超窗概率从七成降到三成。
|
摩擦档位 |
输出端静摩擦(N·m) |
起步电流(A) |
起步滞后(ms) |
判定(窗口 180 ms) |
|
仿真默认(仅粘性) |
0.045 |
0.045 |
18 |
可用 |
|
常规随机化采样中值 |
0.11 |
0.11 |
44 |
可用 |
|
实测(去密封圈) |
0.11 |
0.11 |
44 |
可用 |
|
实测(标准密封圈) |
0.37 |
0.37 |
148 |
临界 |
|
实测(密封圈老化) |
0.52 |
0.52 |
208 |
不可用 |
表注:按 40 N·m 膝关节、减速比 9、力矩常数 0.11 N·m/A、指令爬升率 2.5 N·m/s 测算,滞后等于静摩擦除以爬升率。
拆掉密封圈,静摩擦掉七成
2025 年 3 月挂在 arXiv 上的一项工作把这件事做成了对照实验。作者在自研的六足平台上发现,常规域随机化在仿真里表现最好,上真机只能倒着走平地,向前一步就倒,楼梯完全上不去。改用执行器网络替代随机化,平地能走,楼梯仍然失败。
参数辨识给出了原因:关节的摩擦转矩占比高得超出预期,来源是电机的防水密封圈。拆掉密封圈之后,静摩擦下降约七成。同一批实验里,把静摩擦纳入随机化、倍率放到 0 到 1.2 倍之后,真机才第一次走上楼梯。
失效场景随之出现。把静摩擦直接按实测值写进仿真,训练会不稳定,因为静摩擦项在零速附近是符号函数,梯度在跨越零点时跳变。文献的处理是把倍率下限放到 0,用一段包含零摩擦的区间把符号跳变摊平,代价是策略在低摩擦样本上学到的动作在真机上偏保守。
辨识方法是匀速拖拽。让关节以 0.01 到 1 rad/s 的七个速度点匀速转动,记录电流与速度,电流乘转矩常数得到力矩,每个速度点取正反两程的平均,得到的曲线就是摩擦与速度的关系。正反两程的差值是迟滞,半个差值就是静摩擦。
选型判据:如果关节带防水密封且额定转矩低于 60 N·m,就在仿真里显式建模静摩擦并把倍率放到 0 到 1.2,代价是训练步数增加约三成;如果关节速度长期高于 0.2 rad/s,静摩擦项已经衰减到 5% 以下,可以只保留粘性与库仑项。
图 2 关节模组中密封圈的摩擦路径与起步差(依据原文第 3 节参数辨识结果绘制)
这条判断还能反推机械设计。密封圈是为了防水加的,把径向密封改成端面密封,预紧力从 12 N 降到 5 N,静摩擦跟着降到 0.17 N·m,滞后 68 ms,回到窗口内。代价是防护等级从 IP65 掉到 IP54,洗地环境不能用。
一个判断:随机化治不了死区
通行说法是随机化范围越宽策略越鲁棒,这句话对连续型参数成立,对死区型非线性不成立。静摩擦的随机化不会让策略学会补偿,只会让它学会一个平均的死区,而每台机器的密封圈预紧力公差有正负两成,平均值对任何一台具体机器都不准。更麻烦的是死区是状态相关的,同样 0.37 N·m 的门槛,在静止时是门槛,在 0.1 rad/s 时只剩 0.1 N·m。
可用的做法是把摩擦当成可观测量而不是随机量。策略的观测里加入关节电流与速度的比值,让适应模块在线估出当前这台的死区,随机化只覆盖辨识不准的那一段,范围可以收到正负三成。这条判断的失效边界在速度上:关节速度超过 0.2 rad/s 之后,指数项衰减到 5% 以下,在线辨识的收益不到 0.05 N·m,此时做辨识只是白烧算力。
按髋膝关节走一遍选型
按以下约束走一遍选型:膝关节额定 40 N·m、峰值 120 N·m,髋关节额定 80 N·m,减速比 9,关节刚度 1200 N·m/rad,允许末端偏差 2 mm,策略频率 5 Hz,训练算力 8 张卡 48 小时。
候选三个。A 档是常规域随机化,参数表覆盖质量正负一成、地面摩擦正负三成、阻尼正负两成、PD 增益正负两成,不含关节静摩擦。B 档是执行器网络,用真机采的力矩与位置数据训练一个关节模型替掉理想 PD。C 档是静摩擦感知随机化,把静摩擦倍率放到 0 到 1.2,并在观测里加入电流速度比。
逐项对比。A 档训练最快,24 小时收敛,仿真成功率 96%,真机平地失败;B 档需要额外采 40 分钟真机数据,平地可走,楼梯失败,因为训练数据只覆盖了倒走这一种行为;C 档训练 48 小时,收敛慢三成,真机平地与楼梯都能走。
选定 C 档。理由是 2 mm 的末端偏差预算里,静摩擦占 0.15 mm,剩下的余量要留给减速器背隙和结构柔性,而 B 档的执行器网络在训练分布外的行为没有保证。
代价与风险有三条。训练步数增加三成,8 张卡的时间从 24 小时拉到 48 小时;倍率下限放到 0 会让策略在低摩擦样本上偏保守,实测平地速度掉 8%;密封圈老化后静摩擦继续上升,0.37 N·m 会走到 0.52 N·m,超出随机化上界,需要在维护周期里重测一次参数。
训练侧还有一笔。静摩擦项在零速附近不可导,仿真步长要压到 0.5 ms 才稳定,标准配置是 2 ms,等于训练时间乘四。文献的做法是把符号函数换成平滑近似,代价是低速段的力矩误差 3%,对楼梯这种大转矩工况没有影响。
一句话:仿真缺的不是精度,是那张参数表里没有的一行。
文献依据:arXiv 预印本(开放获取,cs.RO)
文献标题:Impact of Static Friction on Sim2Real in Robotic Reinforcement Learning
作者:Xiaoyi Hu, Qiao Sun, Bailin He, Haojie Liu, Xueyi Zhang, Chunpeng Lu, Jiangwei Zhong
期刊卷期:arXiv:2503.01255v1,2025 年 3 月 3 日提交
DOI 或链接: https://doi.org/10.48550/arXiv.2503.01255
配图说明:自行绘制,图 1 为据公开参数重绘的数据图,图 2 为原理示意,非原文原图复制
改动声明:基于开放获取文献的独立解读,标题、结构、行文、表格、案例与配图为原创
来源:21ic电子网





