2. 物理基础回顾:牛顿第二定律、转动惯量、扭矩与角加速度的关系
做力矩控制,说白了就是跟「力」和「运动」打交道。你如果不懂这几个物理量之间的关系,写出来的代码就是瞎调。我见过不少新手,上来就怼 PID 参数,结果电机要么抖得像筛子,要么软得像面条。其实根源往往不在控制算法,而在物理概念没理清。
这一章我们就把三个核心概念掰开揉碎:牛顿第二定律、转动惯量、扭矩与角加速度。搞懂它们,你才算真正入了力矩控制的门。
2.1 从平动到转动:牛顿第二定律的「平移」
先回忆一下中学物理。牛顿第二定律的公式很简单:
F = m * a
力等于质量乘以加速度。这个公式在直线运动里非常好用。但电机是转的,不是直着跑的。那怎么办?
其实物理学家早就帮我们想好了。把「力」换成「扭矩」,把「质量」换成「转动惯量」,把「加速度」换成「角加速度」。公式就变成了:
τ = J * α
其中:
- τ(tau)—— 扭矩,单位 N·m
- J —— 转动惯量,单位 kg·m²
- α(alpha)—— 角加速度,单位 rad/s²
你看,结构一模一样。我个人习惯把这两个公式并排写在笔记本首页,每次调参数前先看一眼,提醒自己别跑偏。
核心记忆点:平动中的 F=ma,转动中就是 τ=Jα。一个公式,两个世界。
2.2 转动惯量:到底「惯」的是什么?
转动惯量这个概念,很多人觉得抽象。我换个说法:它衡量的是一个物体「抗拒转动变化」的能力。
你想想看,推一个空购物车很容易,推一个装满砖头的购物车就很费劲。质量越大,越难加速,也越难减速。转动惯量就是这个道理,只不过它不光看质量,还看质量离转轴有多远。
公式是:
J = Σ mᵢ * rᵢ²
每个质点的质量乘以它到转轴距离的平方,然后加起来。注意是平方,所以距离的影响非常大。
我在项目中遇到过一件事:一个机械臂的末端负载增加了 200 克,结果整个关节的响应速度慢了一半。一开始我以为是电机不行,后来一算,负载离关节轴心远了 30 厘米,转动惯量直接翻倍。嗯,从那以后我设计结构时,第一件事就是算转动惯量。
实战小技巧:如果你没有精确的 CAD 模型,可以用一个近似方法:把负载看作一个质点,J ≈ m * r²。虽然粗糙,但足够帮你判断问题出在哪。
2.3 扭矩与角加速度:控制系统的「油门」和「速度变化」
扭矩是电机输出的「旋转力」。角加速度是转速变化的快慢。它们的关系就是 τ = Jα。
举个例子:你让电机从静止加速到 1000 rpm,如果负载的转动惯量很大,需要的扭矩就大。反过来,如果扭矩不够,加速就会很慢,甚至根本转不动。
我建议你在调试时,先做一步开环测试:给一个固定扭矩指令,测量角加速度,反推出系统的转动惯量。这样你后续调 PID 时,就有了一个可靠的基准。
具体做法:
- 给电机一个恒定的扭矩 τ_test
- 记录角速度曲线,计算斜率得到 α
- J = τ_test / α
这个方法我用了很多年,比看手册上的理论值准得多。
注意:开环测试时,扭矩不要给太大,尤其是高减速比的系统。我曾经有一次没注意,扭矩给大了,电机直接冲过了限位,把机械限位块撞变形了。安全第一,先给 10% 额定扭矩试试水。
2.4 一张图理清关系
下面这张 SVG 图把本章的核心逻辑串起来了。你可以把它当作一个「物理关系地图」,以后遇到问题先看这张图,思路会清晰很多。
2.5 一张表对比关键参数
为了方便你查阅,我把平动和转动的对应关系整理成了一张表。建议你截图存手机里,调试时随时翻出来看。
| 概念 | 平动符号/单位 | 转动符号/单位 | 物理意义 |
|---|---|---|---|
| 基本定律 | F = m * a | τ = J * α | 力/扭矩与运动的关系 |
| 作用量 | 力 F (N) | 扭矩 τ (N·m) | 驱动运动的「源」 |
| 惯性量 | 质量 m (kg) | 转动惯量 J (kg·m²) | 抵抗运动变化的程度 |
| 运动变化率 | 加速度 a (m/s²) | 角加速度 α (rad/s²) | 速度变化的快慢 |
| 速度 | 速度 v (m/s) | 角速度 ω (rad/s) | 位置变化的快慢 |
2.6 避坑指南:我踩过的三个坑
做力矩控制这些年,我在物理概念上栽过不少跟头。挑三个最典型的分享给你,希望你不用再走一遍。
- 坑一:忽略减速比的影响
我曾经设计一个关节,电机端转动惯量很小,但负载端加了 100:1 的减速器。我直接用负载端的转动惯量算扭矩,结果电机根本带不动。后来才想起来,转动惯量折算到电机端要除以减速比的平方。J_motor = J_load / i²。这个公式救了我很多次。 - 坑二:把扭矩和电流直接划等号
电机输出扭矩确实和电流成正比(τ = Kt * I),但别忘了还有摩擦、齿槽转矩、反电动势这些干扰项。我刚开始做时,以为给电流就是给扭矩,结果低速时抖得厉害。后来加了摩擦力补偿,才稳住。 - 坑三:角加速度的测量噪声
角加速度通常通过对角速度求导得到。但微分操作会放大噪声。我试过直接拿原始数据微分,出来的信号根本没法用。后来用了低通滤波 + 中心差分法,才得到干净的角加速度信号。
一句话总结本章:力矩控制的物理本质就是 τ = Jα。搞懂转动惯量怎么算、怎么测、怎么折合,你的控制代码就有了「物理灵魂」。