先记住一句话

一台电机加上功率驱动、反馈传感器和闭环控制才成为 servo;再加减速器、轴承、结构、热设计和通信,才成为可装到机器人上的关节 actuator。

任务 output load选 transmission/motor放 sensors闭 current/speed/positionstate machine验证 safety/thermal
Commandq, q̇, τ
Servo loopscontroller + drive
Motorelectromagnetic τ
Transmissionoutput joint
Sensorsmotor/output/current
Servo 是闭环系统;actuator 则再包含把力矩可靠传到机器人结构的全部机械与热路径。

1. 开环电机与闭环伺服

开环

命令电压、占空比或步数,不持续检查输出是否到位。负载、摩擦、电池电压变化都会改变结果。

闭环

传感器测量位置/速度/电流,控制器用误差修正输入,并报告状态和故障。

target → controller → motor driver → motor → transmission → joint
  ↑                                                    │
  └──────────── encoder / current / torque ────────────┘

2. 三种常被叫作“舵机”的东西

名称通常包含典型接口
RC hobby servo小 DC/BLDC、电位器、齿轮、简单控制板PWM pulse,常只给目标位置
Smart servo电机、编码器、驱动、减速器、MCU、总线串行/CAN,能读状态和设增益
机器人集成关节PMSM、FOC、双编码器、减速器、轴承、热与安全RS-485/CAN/EtherCAT/私有总线

工业里还会把 motor + encoder 称 servo motor,把独立功率控制器称 servo drive。读资料时必须确认“servo”是否已经包含减速器、驱动器和控制器。

3. 一个完整关节的部件

  1. 电机:把电能变成转矩与转速。
  2. 驱动器:逆变、FOC、电流采样与快速保护。
  3. 转子编码器:用于电角度换向,也可估计转速。
  4. 减速器:以速度换输出转矩,同时引入摩擦、回差、柔性和反射惯量。
  5. 输出编码器:测减速器之后的真实关节角,帮助看到回差和弹性。
  6. 轴承与外壳:承受径向、轴向和倾覆力矩,不应让转子磁隙承担结构载荷。
  7. 温度/力矩感知:用于降额、保护或力控。
  8. 通信与电源:接收命令、回传状态,并处理掉线、急停和上电状态机。

4. 双编码器为什么有价值

电机侧编码器看到 θm,输出侧编码器看到 θj。理想刚性传动应有 θj ≈ θm/N;两者差异包含齿隙、弹性扭转、装配偏差和可能的故障。

transmission deflection ≈ θm/N − θj

转子编码器高速、低延迟,适合换向和内环;输出编码器更接近任务真正关心的关节角。双编码器并不自动消除回差,控制器还要考虑两路信号的带宽与机械共振。

5. 位置模式、速度模式和力矩模式

命令低层闭环适合主要风险
位置位置 + 速度 + 电流轨迹、机械臂常规动作刚度过高时碰撞力大
速度速度 + 电流轮子、输送、扫描位置会累积漂移
力矩/电流电流环WBC、阻抗、接触控制外环失控会快速运动
阻抗/混合PD + 前馈力矩腿足和柔顺交互延迟与错误增益会振荡

“力矩模式”常是用相电流乘 Kt 估计电机转矩。经过减速器后,摩擦、效率、齿轮弹性和惯性都会让输出力矩与估计不同;高精度力控可能需要输出力矩传感器。

6. 上电状态机也是 servo 的一部分

OFF → self-test → encoder/calibration check → READY
                                      ↓ enable
FAULT ← watchdog / overtemp ← CLOSED LOOP → controlled stop → OFF

安全系统必须定义:命令超时怎么办、编码器跳变怎么办、母线欠压是否抱死、急停是断力矩还是保持制动、重新上电是否需要找零。一个只会“收到角度就转”的板子还不是成熟关节。

7. 评估 servo 的指标

  • 输出能力:连续/峰值转矩、峰值持续时间、速度—转矩曲线、机械功率。
  • 可控性:控制带宽、命令周期、延迟/抖动、力矩线性、低速齿槽转矩。
  • 机械质量:质量、转动惯量、回差、扭转刚度、可回驱性、轴承载荷。
  • 反馈:编码器精度/分辨率、绝对值能力、双编码器、温度和故障状态。
  • 系统边界:电压、电流、散热条件、IP 等级、线缆/连接器、通信和安全功能。

8. 四个 servo-stack 手算

例 1:位置 PD 变 torque

q_ref=1.0 rad、q=0.9、速度 error=−0.2 rad/s,Kp=50 N·m/rad、Kd=2 N·m·s/rad:τ=50×0.1+2×(−0.2)=4.6 N·m

例 2:双编码器量传动变形

Motor encoder 经 N=10 换算后的 output angle=30.0°,output encoder=29.6°,传动 twist=0.4°=0.00698 rad。若 torsional stiffness=300 N·m/rad,estimated torque≈2.09 N·m。

例 3:encoder count 网格

14-bit absolute encoder 每转 16384 counts,单 count=360/16384≈0.02197°。经过 10:1 reduction,motor-side encoder 映射到 output 的命令网格约 0.00220°,但回差/弹性可能大得多。

例 4:thermal derating

Actuator 25°C 时 continuous torque=8 N·m;控制器规定 85°C 后线性降到 100°C 时 0。温度 91°C 是区间的 6/15,剩余比例=0.6,允许 continuous torque=8×0.6=4.8 N·m

常见误解:

编码器分辨率高不代表输出位置同样准确。减速器回差、结构弯曲、零位标定、磁编码器偏心和温漂都可能主导最终误差。

自测

1. 给普通 DC 电机加一个编码器,就已经是完整舵机了吗?

还需要能根据误差调节功率的闭环控制器/驱动器,以及合理的供电、保护和机械输出;编码器只是反馈元件。

2. 为什么输出侧编码器不能简单替代电机侧编码器做 FOC?

FOC 需要低延迟、高带宽的转子电角度;输出角还隔着减速器的比率、回差和弹性,通常不适合作为唯一换向反馈。

3. 为什么机器人腿喜欢阻抗或力矩接口?

它能让上层协调多个关节和接触力,并设置可控柔顺性;纯高刚度位置控制面对未知地面更容易产生冲击。

一手资料

ODrive Controller 给出三层闭环与控制模式;ODrive Dual Encoder 说明 motor/load 两侧反馈;Unitree Actuator SDK 展示 q/dq/Kp/Kd/τ 混合关节命令。