双足机器人的控制方法汇总
| 层级 | 控制范式 | 代表方法 |
|---|---|---|
| 1⃣ 底层控制 | 位置/速度/力控制 | PID控制、阻抗控制、力控制 |
| 2⃣ 运动学级 | 逆运动学、任务空间控制 | IK伪逆、OSC、Stack-of-Tasks |
| 3⃣ 动力学级 | 基于模型的控制 | WBC、Feedback Linearization、优化控制 |
| 4⃣ 步态规划与预测控制 | 步态生成、预测控制 | ZMP轨迹规划、MPC、Preview Control |
| 5⃣ 混合系统与学习 | 稳定性优化与学习 | HZD、强化学习、RL-MPC、模仿学习 |
| 方法 | 控制层级 | 优点 | 局限 | 适合场景 |
|---|---|---|---|---|
| PID/阻抗 | 底层 | 简单鲁棒 | 控制力弱 | 力控制、人机交互 |
| SoT / OSC | 运动学 | 多任务清晰 | 不考虑动态 | 多目标位置控制 |
| WBC | 动力学 | 多任务 + 力控制 | 实时性要求高 | 全身控制、双足 |
| MPC / Preview | 预测 | 稳定性强 | 需模型、优化开销大 | CoM轨迹、ZMP稳定 |
| HZD | 杂交系统 | 周期稳定性好 | 难以适应非周期 | 平地行走、理论研究 |
| 强化学习 | 数据驱动 | 灵活自适应 | 样本量大、转移难 | 非结构环境 |
杂交系统是指包含连续动态系统(例如由微分方程描述的运动)和离散事件系统(例如接触切换、碰撞、跳跃)的组合系统。
双足机器人中的杂交结构
- 系统由两种部分构成:连续阶段(Continuous Dynamics:机器人在空中摆腿、质心运动
例如:单腿支撑期、双腿支撑期的动力学模型
离散事件(Discrete Transitions):脚与地面接触或离地引起的状态突变
一个杂交系统一般写作如下六元组:$ H = ( Q , X , f , D , R , G )$
控制流程总结图
目标行走任务(如向前走)
↓
[高层任务] 决定步长/频率
↓
[步态生成] 生成ZMP轨迹、抬脚时序
↓
[运动规划] 用ZMP规划CoM轨迹(如 Preview Control)
↓
[任务空间控制] 生成CoM和足端运动指令
↓
[关节控制] 逆解得到关节目标值(IK/ID)
↓
[底层控制] PID or 力矩控制跟踪
↓
[电机执行,机器人行走]
双足机器人中步行常用轨迹类型
| 轨迹类型 | 控制目标 | 怎么求得的 |
|---|---|---|
| ZMP轨迹(零力矩点) | 动态稳定性 | ZMP保持在支撑面内部 |
| 质心轨迹(CoM) | 平衡、重心移动 | CoM 按LIPM/MPC等控制 |
| 足端轨迹(swing foot) | 摆动腿落点精度 | Bézier曲线、多项式轨迹 |
| 关节轨迹(joint angles) | 驱动指令输入 | 由逆运动学或优化求得 |
| 任务空间轨迹(如髋/躯干) | 姿态保持 | 水平/垂直速度稳定 |
双足机器人中OMPL的用途
- 环境中的路径规划(从A到B点)
- 多步脚印序列规划: OMPL 可用来在配置空间中搜索一条“步态合法序列”。
ESO在双足机器人中的应用
双足机器人是高度非线性、耦合、强扰动的系统:
| 问题 | 对应解决目标 |
|---|---|
| 地面不确定性(软硬、摩擦) | 外部扰动估计 |
| 建模误差(动力学不完整) | 结构性扰动估计 |
| 控制信号延迟、误差 | 观测状态误差补偿 |
| 状态难以精确传感(如关节加速度) | 使用 ESO 估计不可测状态 |
双足中的欠驱动问题
欠驱动意味着控制输入的自由度少于系统的自由度,导致系统无法直接驱动所有运动变量。控制这类系统时,通常需要利用系统本身的动力学特性和非线性控制方法。
| 方法类别 | 具体方法 |
|---|---|
| 反馈线性化控制 | 利用系统的非线性动力学方程,通过反馈设计奖系统部分状态线性化,便于设计线性控制器 |
| 滑膜控制 | 设计滑膜面 |
| 非线性控制(如反馈线性化结合非线性轨迹规划) | - 设计非线性控制器匹配系统非线性动力学,同时结合轨迹规划确保系统按预期运动 |
| 阶段切换控制(Hybrid Control) | - 欠驱动系统多表现为混合动力学(如步态中不同相位),通过切换不同控制策略完成不同阶段的控制 |
| 反步法(Backstepping) | - 递归设计控制律,将复杂系统分解为层级子系统,逐步设计控制器,适用于非线性欠驱动系统 |
| 优化控制与MPC(Model Predictive Control) | - 利用模型预测未来状态,求解带约束的最优控制输入,特别适合处理欠驱动系统的运动规划和实时控制 |
| 学习控制与强化学习 | - 通过数据驱动的方法,学习欠驱动系统的控制策略,适合模型不准确或环境复杂的情况 |
双足机器人中走的更快的问题
轨迹规划改进
- 动态步态生成
- 可变的步态调整
控制算法应该怎么改进
- 前馈和反馈进行结合:前馈部分用于快速响应人体和环境变化,反馈部分保证稳定性和误差校正。
- MPC:利用预测未来状态,提前计算控制输入,增强快速运动的稳定性和灵活性。
- 自适应控制:实时调整控制参数,应对人体动力学变化和不同的速度变化。
解决走路晃动幅度很大的问题
加强平衡控制:对质心和零力矩点进行控制
控制算法优化:
- 增强反馈控制增益
- 阻抗控制或者自适应阻抗控制
- 模型预测控制