机器人动力学与控制方法:从零开始系统学习
我们今天要说的是:
机器人为什么能够按照人的要求运动?
例如:
机械臂拿起一个杯子;
机器人走路;
宇树 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实时通信闭环
这条线比传统工业机械臂控制更接近当前人形机器人研究方向。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)