双足机器人的平衡控制

  在最开始,双足机器人使用的平衡控制策略是「静态步行」(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 控制器:

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

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

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

 

posted @   XXX已失联  阅读(2258)  评论(2编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2016-04-12 GCC编译器代码优化
点击右上角即可分享
微信分享提示