我们今天要说的是:
机器人为什么能够按照人的要求运动?
例如:
机械臂拿起一个杯子;
机器人走路;
宇树 G1/H1 根据人的动作模仿运动;
工业机器人进行焊接、装配。
背后都离不开:
运动规划 → 控制算法 → 动力学补偿 → 力控制
这一整套体系。
一、先建立机器人控制的大框架
先不要看公式,把机器人想象成人的手臂。
比如:
你想拿桌上的水杯。
你的大脑需要完成:
我想拿杯子 ↓ 确定怎么走过去(路线) ↓ 决定手怎么移动(速度) ↓ 控制肌肉发力 ↓ 手碰到杯子 ↓ 根据感觉调整力度机器人也是一样:
任务目标 | ↓ 路径规划 (去哪) | ↓ 轨迹规划 (怎么走) | ↓ 控制算法 (怎么运动) | ↓ 电机驱动 (产生力矩) | ↓ 机器人运动 | ↓ 传感器反馈 (调整)这就是机器人控制的大框架。
二、机器人控制到底控制什么?
机器人控制主要分三类任务。
1. 自由运动控制
机器人没有碰环境。
例如:
机械臂:
当前位置 | | ↓ 目标位置目标:
让机器人末端到达指定位置。
例如:
机械臂:
当前位置: (x1,y1,z1) 目标: (x2,y2,z2)控制机器人:
"移动过去"
这叫:
位置控制
如果目标不是一个固定点,而是一条运动轨迹:
例如:
机械臂画圆:
* * * * * * * *目标:
每个时间点都要满足:
t=1秒 在A点 t=2秒 在B点 t=3秒 在C点叫:
轨迹跟踪
2. 受限运动控制
机器人和环境接触。
例如:
机器人打磨汽车:
机器人 ↓压力 汽车表面不仅要求:
位置正确
还要求:
力度正确。
例如:
擦玻璃:
太轻:
擦不干净
太重:
玻璃破坏
所以需要:
位置 + 力
叫:
力控制
三、机器人控制的两大思想
机器人控制主要分两派:
第一类:运动学控制
核心思想:
不管机器人内部怎么运动,只看误差
比如:
目标:
手移动到:
X=100mm现在:
X=90mm误差:
10mm控制器:
发现差10mm
于是:
增加电机运动。
类似:
汽车自动巡航:
目标速度100km/h 当前90km/h 加油优点
简单。
容易实现。
缺点
不知道机器人内部情况。
例如:
机械臂:
拿一个空杯:
和
拿一个10公斤重物
运动学控制认为:
一样。
但是实际:
电机负载完全不同。
所以:
动态性能不好。
第二类:动力学控制
核心思想:
不仅知道机器人在哪里,还知道为什么运动
机器人运动受到:
质量
重力
惯性
摩擦
关节耦合
影响。
动力学控制:
提前计算:
需要多少力量。
四、机器人运动控制流程
这是最重要的知识。一个完整机器人运动分三个阶段:
第一阶段:路径规划
回答:
从哪里走?
例如:
机械臂:
A点:
A到:
B点:
B路径规划决定:
走哪条路线。
类似地图导航:
北京到上海:
可以:
高速
国道
小路
机器人需要选择:
安全、不碰撞的路径。
常见方法
1. 人工势场法
思想:
目标吸引机器人。
障碍物排斥机器人。
类似:
磁铁:
目标:
吸引
墙:
排斥
示意:
障碍物 ↑ 排斥 机器人 ↓ 目标2. PRM概率路网
全称:
Probabilistic Road Map
思想:
随机撒点。
例如:
房间:
● ● ● ● ●连接这些点。
形成地图。
机器人寻找:
最短路线。
第二阶段:轨迹规划
路径解决:
"走哪"
轨迹解决:
"怎么走"
比如:
路径:
A----------------B但是运动方式不同:
方式1:
突然启动:
速度: | | ______ | |______方式2:
平滑启动:
速度: ______ / / /机器人更喜欢第二种。
轨迹包含:
三个东西:
位置
在哪里。
速度
移动多快。
加速度
速度变化。
轨迹规划分类
1. 关节空间规划
控制:
每个关节。
例如:
机器人:
关节1 | 关节2 | 关节3规划:
关节1转多少
关节2转多少
优点:
计算简单。
2. 笛卡尔空间规划
直接控制末端。
例如:
机械手:
移动:
(x,y,z)优点:
路径直观。
第三阶段:轨迹跟踪控制
现在:
机器人知道:
我要怎么走。
但是:
电机怎么动?
这就是控制。
五、独立PD控制(最基础控制)
这是机器人控制入门第一课。
PD:
两个东西:
P:
比例控制
D:
微分控制
P控制
看当前位置误差。
D控制
看变化速度。
所以:
PD:
误差大 ↓ 快速靠近 接近目标 ↓ 减速 达到目标 ↓ 停止六、为什么需要动力学?
因为机器人不是简单机器。
机器人有:
1. 重力
机械臂举起来:
需要克服重力。
2. 惯性
突然启动:
需要力量。
3. 关节耦合
一个关节运动:
影响其他关节。
例如:
人体:
肩膀动:
手臂也跟着动。
所以:
普通PD:
不知道这些。
动力学控制:
提前补偿。
七、计算力矩控制(机器人高级控制)
这是工业机器人常用方法。
核心思想:
先把复杂机器人变简单
机器人动力学:
原本:
复杂系统 重力 惯性 耦合 混在一起计算力矩控制:
提前计算:
需要多少力。
然后抵消。
变成:
简单系统 像普通PD一样控制过程:
机器人模型 ↓ 计算需要力矩 ↓ 补偿重力/惯性 ↓ PD控制优点:
控制精度高。
缺点:
需要:
准确机器人模型。
八、阻抗控制(机器人接触环境核心)
这个非常重要。
先记一句:
没有接触,就没有真正意义上的阻抗控制。
为什么?
因为阻抗控制解决:
机器人和环境之间的关系。
例如:
机械臂插销。
普通位置控制:
我要到这里 ↓ 硬过去可能:
撞坏。
阻抗控制:
机器人像弹簧。
机器人 ↓ 柔软接触 ↓ 环境类似人的手:
摸鸡蛋。
不会:
硬按。
而是:
自动调整力度。
阻抗控制控制什么?
不是单纯控制位置。
而是控制:
力和位置之间的关系。
例如:
设定:
机器人像:
软弹簧或者:
硬弹簧应用:
装配
插零件。
打磨
保持压力。
人机协作
避免伤人。
九、前馈控制
前面说:
PD控制:
看到误差再调整。
属于:
事后修正。
前馈:
提前预测。
例如:
搬重物。
普通PD:
发现:
手下降了。
然后:
加力。
前馈:
提前知道:
重量10kg。
提前增加力量。
类似:
开车上坡:
普通:
车慢了再踩油门。
前馈:
看到坡:
提前加油。
十、机器人控制完整体系总结
把所有东西串起来:
任务目标 | ↓ 路径规划 (去哪?怎么避障) | ↓ 轨迹规划 (怎么平滑运动) | ↓ ------------------- | | ↓ ↓ 运动学控制 动力学控制 PD控制 计算力矩 | ↓ 重力补偿 | ↓ 接触环境? | ---------------- | | 否 是 位置控制 阻抗控制 | ↓ 电机执行 | ↓ 传感器反馈 | ↓ 修正运动十一、结合你的宇树 G1/H1 人形机器人理解
你之前说:
人穿动作捕获服 → 电脑 → UDP/WIFI → 机器人模仿动作
这个系统其实属于:
人体运动映射 + 动力学控制
流程:
人体动作 ↓ 动作捕获服 ↓ 人体关节数据 ↓ 人体→机器人关节映射 ↓ 机器人目标姿态 ↓ 轨迹生成 ↓ 控制器 ↓ 电机 ↓ 机器人运动其中:
不是重点:
❌ 自动找路
不是:
"机器人自己走过去"
而是:
✅ 人提供运动目标
机器人负责:
保持平衡
跟踪动作
防止跌倒
调整关节力量
对应技术:
| 功能 | 对应方法 |
|---|---|
| 动作生成 | 轨迹规划 |
| 人体动作转换 | 运动学映射 |
| 关节控制 | PD/MPC |
| 抗扰动 | 动力学控制 |
| 保持站立 | 平衡控制 |
| 人与机器人接触 | 阻抗控制 |
最后建立一个学习路线
如果从零学机器人控制,建议:
第一阶段:基础
理解:
坐标系
机器人关节
正运动学
逆运动学
↓
第二阶段:运动规划
学习:
路径规划
轨迹规划
插值算法
↓
第三阶段:控制
学习:
PID
PD
重力补偿
计算力矩控制
↓
第四阶段:高级机器人
学习:
阻抗控制
MPC
强化学习控制
人形机器人平衡控制
一句话总结:
机器人控制就是:先规划机器人应该怎么动,再通过控制算法让电机产生正确力量,同时利用传感器不断纠正,使机器人稳定、准确、安全地完成动作。
对于你现在研究的宇树人形机器人动作模仿系统,最核心的知识链其实是:
人体动作捕获 → 运动学映射 → 轨迹生成 → PD/动力学控制 → 平衡控制 → UDP实时通信闭环
这条线比传统工业机械臂控制更接近当前人形机器人研究方向。