双足机器人的平衡控制

本文介绍了双足机器人的两种主要平衡控制策略:静态步行和动态步行,并重点讨论了基于零力矩点(ZMP)的动态步行控制策略。文中详细解释了如何通过直立姿态控制器来改善机器人在复杂地形上的平衡性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  在最开始,双足机器人使用的平衡控制策略是「静态步行」(static walking)。这种策略的特点是:机器人步行的过程中,重心(COG,Center of Gravity)的投影始终位于多边形支撑区域(support region)内,这种控制策略的好处在于:机器人可以在行走动作中停止而不摔倒,但代价是行动速度非常迟缓(每一步需要花费10 秒甚至更长,因为需要保持重心的投影始终位于支撑区域,否则将不稳定)。

  因为静态步行和人类的期望相差甚远,于是人类开发出来了另一种步行平衡策略——「动态步行」(dynamic walking)。在动态步行中,机器人的行动速度被提升至了每步不超过 1 秒。但其弊端也是显而易见的,机器人难以在运动的状态下立即停顿(惯性的作用),从而使得机器人在状态转换的过程中变得不稳定。为了解决惯性带来的影响,零力矩点(ZMP,zero moment point)被引入到了这一控制策略中。在单脚支撑相中,ZMP=COG。其好处在于,当 ZMP 严格的存在于机器人的支撑区域中,机器人则绝对不会摔倒。

双足平衡的主流——基于 ZMP 的动态步行

  现在双足平衡的主流是用基于 ZMP 的动态步行。从上述的基本内容来看,双足机器人的一条腿就可以抽象成控制系统中最基本的「倒立摆」模型。

  由于复杂地形的双足平衡无法由单一的控制器实现,所以多个控制器的切换策略被用于解决平衡问题。在这一个策略中,机器人的行走被设定为一个周期(cycle)每一个周期被分成了不同的行走阶段(stage),如下图所示:

直立姿态控制器(Upright Pose Controller )

  这种控制器可以使机器人在倾斜地形中始终保持直立姿势,从而保持整个机体的平衡。对于双足机器人而言,倾斜地形的「全局倾斜角」的测量就显得尤为重要。一般采用的测量方法是在机器人的躯体内部安装一个 2 轴的加速度计,再加上一个低通滤波器就可以构成一个倾斜计。

  对于机器人的俯仰姿态控制,在规定的踝关节轨迹上,直立姿态控制器附加了含有俯仰误差的 PI 控制器:

  直立姿态控制器则可由下列等式实现:

  下图更加直观的反映出了使用控制器之前与之后的俯仰控制平衡性差异:

  下图显示了使用控制器之前与之后的侧倾控制平衡性差异:

 

### 使用强化学习实现双足机器人平衡的方法 为了使双足机器人能够保持稳定并有效移动,可以采用基于线性倒立摆模型(LIPM)的控制方法,并结合强化学习优化其行为模式[^1]。具体而言,在设计控制系统时引入智能体(agent),该智能体会根据环境反馈调整自身的行动策略。 #### 构建智能体及其执行器网络 在这一过程中,大部分复杂度集中在训练阶段;而当获得了一个充分训练后的智能体之后,则仅需部署用于决策的动作映射函数即执行器至实际设备上运行即可[^3]。对于双足步行机器人来说,这意味着通过大量模拟实验让智能体学会如何依据当前状态做出最优反应以维持身体姿态稳定。 #### 设定奖励机制促进学习过程 为了让强化学习算法更高效地工作,合理设置奖惩规则至关重要。例如,每当机器人成功迈出一步而不摔倒时给予正面激励分值;反之如果发生倾覆则扣除相应分数。这样经过反复迭代后,智能体就能逐渐掌握一套有效的行走技巧。 #### 参数调优确保性能表现 考虑到不同应用场景下可能存在的差异性需求,还需要针对特定任务微调一些关键配置项如每轮次更新频率等超参数设定。这通常涉及对初步测试结果的数据分析以及经验判断相结合来进行适当修改直至达到满意效果为止[^4]。 ```python class Arguments: def __init__(self): self.steps_per_epoch = 2 ** 7 # 基于未训练模型的表现预估所需步数的数量级 ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值