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 时,就有了一个可靠的基准。

具体做法:

  1. 给电机一个恒定的扭矩 τ_test
  2. 记录角速度曲线,计算斜率得到 α
  3. J = τ_test / α

这个方法我用了很多年,比看手册上的理论值准得多。

注意:开环测试时,扭矩不要给太大,尤其是高减速比的系统。我曾经有一次没注意,扭矩给大了,电机直接冲过了限位,把机械限位块撞变形了。安全第一,先给 10% 额定扭矩试试水。

2.4 一张图理清关系

下面这张 SVG 图把本章的核心逻辑串起来了。你可以把它当作一个「物理关系地图」,以后遇到问题先看这张图,思路会清晰很多。

扭矩控制物理基础关系图 扭矩控制物理基础关系图 平动:F = m * a 力 F (N) 质量 m (kg) 加速度 a (m/s²) 类比 转动:τ = J * α 扭矩 τ (N·m) 转动惯量 J (kg·m²) 角加速度 α (rad/s²) 核心逻辑 扭矩是「因」,角加速度是「果」,转动惯量是系统的「惯性阻力」

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α。搞懂转动惯量怎么算、怎么测、怎么折合,你的控制代码就有了「物理灵魂」。