机器人直线关节模组(行星滚柱丝杠):力平衡建模、参数辨识与 Stribeck 摩擦详解
1. 概述:机器人直线关节模组与行星滚柱丝杠
1.1 什么是直线关节模组
直线关节模组是一种集成化的直线运动执行器,把电机旋转运动转化为高精度直线推拉运动。采用行星滚柱丝杠(PRS,Planetary Roller Screw)作为传动核心的方案,是目前人形机器人、高负载精密运动领域的主流路线。
1.2 行星滚柱丝杠的工作原理与优势
与滚珠丝杠类似,但滚动体由"滚珠"换成带螺纹的滚柱。滚柱围绕丝杠轴做行星运动(自转 + 公转),与丝杠、螺母的螺纹同时多点啮合传力。
|
对比项 |
滚珠丝杠 |
行星滚柱丝杠 |
|
接触点 / 螺纹啮合数 |
少(点接触) |
多(多螺纹同时啮合) |
|
承载能力 |
中 |
高(可达数倍) |
|
刚度 |
中 |
高 |
|
抗冲击 / 抗振动 |
弱 |
强 |
|
寿命 |
中 |
长 |
|
体积 / 重量 |
大 |
紧凑,功率密度高 |
|
效率 |
约 90% |
略低(约 70%–85%) |
|
成本 / 加工难度 |
低 |
高(精密磨削螺纹) |
1.3 典型构成与应用场景
模组典型构成:电机(伺服 / 无框力矩电机)+ 减速机构 + 行星滚柱丝杠 + 导轨导向 + 编码器(绝对值)+ 驱动器 + 力 / 力矩传感器(可选),做成一体化紧凑模组。
- 人形机器人下肢关节:髋、膝、踝——需要大推力、高刚度、抗冲击,PRS 是最佳选择;
- 灵巧手 / 机械臂直线关节:小体积、高精度推拉;
- 工业场景:机床进给、注塑机顶出、压装设备等。
相比"旋转电机 + 减速器 + 滚珠丝杠"的传统组合,PRS 直线模组体积更小、功率密度更高、刚度更好,正好满足人形机器人对"小而有力、高动态响应"的需求。
1.4 关键设计指标
推力(kN 级)、导程、行程、刚度、反向间隙(背隙)、传动效率、寿命(DIN 标准寿命计算)、温升与热变形、噪音。
2. 实测力信号解读(F_enc / F_encFilt / F_encHat)
2.1 图景背景
该图是直线关节(丝杠)调试中的力信号对比折线图。作者已对丝杠内的库伦摩擦、粘滞摩擦和等效质量完成辨识,图中的黄色曲线即为作者按辨识参数计算出的摩擦力,据作者描述已与实测值很接近。横轴 0–12000 为采样点 / 时间,纵轴为力值(-1000 至 1500)。
2.2 三条曲线含义
|
曲线 |
类型 |
特征 |
|
F_enc(蓝色虚线) |
编码器 / 传感器原始力 |
噪声大、高频毛刺明显,是原始测量 |
|
F_encFilt(橙红实线) |
滤波后力 |
平滑、跟随趋势,是处理后的反馈基准 |
|
F_encHat(黄色实线) |
估计 / 模型拟合力 |
整体趋势相近,但与滤波值存在明显偏差 |
2.3 值得关注的信号特征
- 全段正负交替的波动——像是往复运动(或加载 / 卸载循环)中的力变化;
- 约 x=6000 处出现明显深谷,x=8000 附近也有较深谷值——这两处是异常 / 剧烈变化点,可能对应换向、冲击或堵转工况;
- F_encHat 与 F_encFilt 的偏差——估计模型(摩擦 + 惯量模型)在某些区段跟不准,尤其在深谷附近偏差更大。
3. 力平衡模型与三参数辨识
3.1 核心物理模型
对直线关节模组,电机输出力(即传感器测到的力)满足力平衡方程:
F=meq⋅a+Fc⋅sign(v)+B⋅v![]()
其中三个分量对应三个可辨识参数:
|
项 |
含义 |
物理来源 |
|
F_c · sign(v) |
库伦摩擦:大小恒定、只随速度方向翻转符号 |
螺纹滚柱与螺纹之间的干摩擦;行星滚柱丝杠通常带预紧消除背隙,预紧会直接抬高 F_c |
|
B · v |
粘滞摩擦:与速度成正比 |
润滑油膜剪切阻力,速度越高越明显 |
|
m_eq · a |
等效质量的惯性项 |
电机转子惯量、丝杠 / 螺母 / 滚柱 / 负载折算到直线方向 |
等效质量折算关系(P 为导程):
meq≈Jm⋅(2π/P)2+∑mi![]()
作者完成的辨识,就是同时估出 [F_c, B, m_eq] 三个参数。
3.2 辨识方法:线性最小二乘
模型对参数是线性的,构造回归矩阵后可直接用线性最小二乘一次求解:
- 回归矩阵 X = [a, sign(v), v],待求参数 θ = [m_eq, F_c, B];
- 用滤波后的力做辨识(而非原始 F_enc),减小测量噪声对参数的偏置;
- sign(v) 增加死区(如 |v| 小于阈值时摩擦项取 0),防止速度过零抖动导致摩擦项误翻转;
- v、a 由位置中心差分 + 零相位低通滤波(filtfilt)估计,抑制微分噪声放大。
3.3 辨识验证结果(合成数据,真值已知可对照)
|
参数 |
辨识值 |
真值 |
说明 |
|
m_eq 等效质量 |
1.199 kg |
1.200 kg |
几乎精确 |
|
F_c 库伦摩擦 |
103.3 N |
120.0 N |
偏低 |
|
B 粘滞系数 |
52.9 N·s/m |
40.0 N·s/m |
偏高 |
|
拟合优度 |
R² = 0.978 |
— |
残差 RMSE ≈ 23.3 N |
一个重要现象:合成"真实力"里加入了 Stribeck 低速下凹效应,而辨识模型只有"库伦 + 粘滞"。结果 F_c 被低估、B 被高估——未建模的非线性"泄漏"进了线性参数。这正是实测图深谷处 F_encHat 偏离的来源,残差集中在换向低速段(±100 N 尖峰),与实测图完全同构。

三参数辨识对比结果(上:F_enc / F_encFilt / F_encHat 三线对比;下:残差)
3.4 偏差来源分析(换向深谷)
x≈6000 与 x≈8000 的深谷是最典型的偏差放大区,原因通常来自静态摩擦模型覆盖不到的地方:
- 速度过零 / 换向点:sign(v) 从 +1 跳到 -1,库伦摩擦阶跃翻转;模型是理想瞬间翻转,真实摩擦存在过渡区,加上速度估计(微分)延迟 / 噪声,翻转点一旦对不齐就出现明显残差;
- Stribeck 效应:低速区摩擦力并非恒定 F_c,而是随速度出现下凹(低于库伦值),纯"库伦 + 粘滞"模型在低速段天然偏大 / 偏小;
- 弹性 / 滞回:换向时丝杠-螺母的弹性接触变形储存 / 释放能量,力-位移呈滞回环,静态摩擦模型无法表达;
- 加速度项放大噪声:a 由位置两次微分得到,噪声放大后直接进模型,在加减速剧烈的深谷区误差最大;
- 温度与润滑:长时间运行油温变化会改变 B,产生慢变漂移。
4. Stribeck 摩擦详解
4.1 一句话理解
Stribeck 效应:摩擦力和速度的关系不是单调递增的——在低速区,摩擦力反而随速度增大而减小(出现负斜率),降到谷底后再随速度线性上升。这个"先降后升"的凹形就是 Stribeck 曲线,由德国学者 Richard Stribeck 于 1902 年在轴承 / 滑动摩擦实验中系统总结提出。
4.2 物理机理:一条曲线对应三种润滑状态
|
区段 |
速度范围 |
润滑状态 |
摩擦行为 |
|
静摩擦区 |
v≈0 |
边界润滑(接触面微观峰直接接触) |
摩擦最大,约为 F_s(静摩擦) |
|
混合润滑区 |
低速 |
流体动压开始建立,部分"抬开"接触面 |
摩擦下降(负斜率),谷底约为 F_c(库伦) |
|
流体动力润滑区 |
中高速 |
完全油膜隔开,无固体直接接触 |
摩擦随速度线性上升(粘滞主导 B·v) |
关键物理:低速时润滑油来不及形成完整油膜,接触峰仍直接摩擦;速度一上来,油膜动压逐渐把两表面撑开,摩擦反而减小;再往上速度,油膜剪切阻力成为主导,摩擦转为上升。
|
原理辨析:Stribeck 原始实验用的是"摩擦系数 μ 与 Stribeck 数(η·N/P,即 Hersey 数)"的关系曲线,属于无量纲润滑理论;工程上所说的"Stribeck 摩擦模型"通常简化为"摩擦力与速度"的有量纲形式。两者思想同源,后者才是可直接用于辨识和补偿的模型。 |
4.3 数学模型与参数
经典连续形式(正负速度都光滑):
F(v)=Fc+(Fs-Fc)⋅exp-|v/vs|δ⋅sign(v)+B⋅v![]()
|
参数 |
含义 |
物理来源 |
|
F_s |
最大静摩擦(stiction) |
边界润滑、预紧、表面粗糙度 |
|
F_c |
库伦摩擦(动摩擦平台) |
接触面干摩擦基值 |
|
F_s − F_c |
Stribeck 幅值(静动差) |
决定负斜率"深"不深 |
|
v_s |
Stribeck 特征速度(拐点) |
决定负斜率区"宽"不宽 |
|
δ |
形状指数(0.5–2) |
控制下降曲线陡缓;Armstrong 建议 0.5–1,常见取 1 或 2 |
|
B |
粘滞系数 |
油膜剪切阻力 |
注意 sign(v) 在 v=0 处不连续——这是换向瞬间摩擦"跳变"的数学来源。工程上常加死区或把 sign 换成 tanh(v/ε) 做光滑近似,避免数值抖动。

Stribeck 摩擦曲线(左:全域正负速度;右:低速区放大,可见负斜率与换向差异)
4.4 为什么它解释了"换向深谷残差"
纯"库伦 + 粘滞"模型假设:速度一过零,摩擦瞬间就是 ±F_c。但真实物理是:换向时摩擦先到 F_s,经负斜率跌回 F_c 再随速度上升。于是:
- v≈0 附近:模型用 ±F_c 逼近,真实却从 ±F_s 过渡,残差峰值集中在每个换向点;
- 深谷区 = 换向 + 加减速叠加区:既有静动摩擦差,又有加速度微分噪声,偏差自然最大;
- 辨识结果偏置:模型吸收不了负斜率段,最小二乘只好把 F_c 拉低、B 拉高来折中(上节辨识结果即为此现象)。
一句话:F_encHat 与 F_encFilt 的偏差,绝大部分就是"被略掉的 Stribeck 负斜率段"造成的。
4.5 带 Stribeck 的辨识方法(升级版)
参数 [F_s, v_s, δ] 对输出是非线性的,不能再直接用线性最小二乘,两种做法:
- 分步辨识(推荐,稳):先用高速段数据估 B(斜率)与 F_c(截距);再固定 F_c、B,用 curve_fit 拟合 F_s、v_s(δ 可先固定为 1);
- 整体非线性优化:scipy.optimize.curve_fit 直接对全部 5 参数拟合,用上轮线性结果作为初值。
4.6 动态摩擦:Stribeck 之上的进阶
Stribeck 是静态(稳态)模型,描述"匀速时摩擦是多少"。真实系统还有动态现象:
- 预滑动位移(presliding):施加力未超过 F_s 前,接触点先发生微小弹性位移(微米级滞回);
- stick-slip 爬行:低速进给时"走走停停",是低速抖动 / 位置超调的经典元凶;
- 摩擦滞回:加速与减速时摩擦路径不重合。
要建模这些,用 Dahl(滞回)或 LuGre(鬃毛 bristle 模型)等动态模型。工程判断:普通力闭环 / 前馈,Stribeck 静态模型够用;做微米级精密定位、低速进给时才必须上动态模型。
4.7 工程应用要点
- 前馈补偿:用 Stribeck 模型反算 F_ff = F(v),叠加到电流 / 力指令里,让控制环"预判"摩擦,换向冲击和跟随误差明显下降;
- 低速爬行抑制:若出现 stick-slip,优先检查低速段润滑与预紧,可加高频小幅 dither 信号或调整位置环增益(增大比例、加前馈速度环);
- 参数注意时效:温度升高使 B 变小、润滑变稀;负载 / 预紧变化使 F_s、F_c 变大。辨识最好在工作温度下进行,必要时在线自适应。
5. 附录:配套脚本清单与运行说明
5.1 prs_friction_identification.py(三参数辨识与验证)
- 功能:读取力 / 位置数据,估计 v、a,线性最小二乘辨识 [m_eq, F_c, B],重构模型力 F_encHat,输出 F_enc / F_encFilt / F_encHat 对比图与残差图;
- 内置合成数据演示:默认直接运行即可复现上节验证结果(含 Stribeck 效应,残差集中在换向低速段);
- 真实数据用法:main(path='你的csv路径'),CSV 建议列 t, pos(或直接给出 v / a), F_enc;只有 pos 时自动差分 + 零相位滤波估计 v、a;
- 关键参数:LOWPASS_CUT(力滤波截止频率)、V_DIFF_CUT(速度 / 加速度估计滤波截止)、SIGN_DEADBAND(过零死区)。
5.2 stribeck_curve.py(Stribeck 曲线示意图)
- 功能:绘制全域正负速度 Stribeck 曲线与低速区放大图,标注静摩擦区、负斜率区(混合润滑)、粘滞上升区,并与纯"库伦 + 粘滞"模型对比;
- 参数(F_s, F_c, v_s, B, δ)可直接修改,用于观察各参数对曲线形状的影响。
5.3 运行环境与命令
环境:Python 3.13,依赖 numpy / scipy / pandas / matplotlib(pip install numpy scipy pandas matplotlib)。
|
text |
[prs_friction_identification.py]
[stribeck_curve.py]
|
核心结论:行星滚柱丝杠直线关节模组的力可按 F = m_eq·a + F_c·sign(v) + B·v 建模并用线性最小二乘辨识;黄色模型力与滤波实测力的偏差几乎全部集中在换向 / 低速段,其根源是 Stribeck 负斜率效应,通过升级为五参数 Stribeck 模型或前馈补偿即可显著改善力控精度。 |
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)