Atlas机器人算法的核心突破是什么?

99ANYc3cd6 机器人 1

Atlas算法体系概览

Atlas的算法核心可以分解为以下几个关键层面:

Atlas机器人算法的核心突破是什么?-第1张图片-广州国自机器人
(图片来源网络,侵删)
  1. 核心控制与动态平衡
  2. 运动规划与轨迹生成
  3. 感知与环境理解
  4. 高层任务规划与决策

下面我们逐一展开讲解。


核心控制与动态平衡

这是Atlas最“神奇”的部分,也是其稳定性和灵活性的基石,它不仅仅是一个简单的PID控制器,而是一个复杂的、基于模型的控制系统。

a) 全身控制

Atlas不是孤立地控制每个关节,而是将整个机器人视为一个动态系统来控制,这意味着控制算法会考虑所有关节之间的相互作用、惯性、重力以及外部力(如被推搡)。

  • 核心思想:控制器的目标是生成一组关节力矩,使得机器人的整体运动(如质心位置、身体姿态)能够精确地跟踪期望的轨迹。
  • 技术实现:通常使用逆动力学方法,给定期望的全身运动轨迹(如躯干位置、脚部位置),算法可以反向计算出实现这个轨迹所需要的每个关节的精确力矩。
  • 关键挑战:实时性,Atlas需要在毫秒级别内完成这个复杂的计算。

b) 平衡与状态估计

这是Atlas在被外界干扰后能迅速恢复的关键。

Atlas机器人算法的核心突破是什么?-第2张图片-广州国自机器人
(图片来源网络,侵删)
  • 状态估计:算法需要实时“感知”机器人的当前状态,它融合了来自多种传感器的数据:
    • IMU (惯性测量单元):提供加速度和角速度,是判断身体是否倾斜的核心。
    • 关节编码器:提供每个关节的精确角度和速度。
    • 激光雷达/深度相机:提供与地面的相对位置信息。
    • 力/力矩传感器:安装在脚部,提供地面反作用力,这是判断是否打滑或受到冲击的关键。
  • 平衡策略:当算法检测到机器人失去平衡时(IMU显示身体前倾),会立即触发一个平衡恢复策略,这个策略会快速重新计算期望的质心位置和脚步位置,并通过全身控制器调整全身姿态,以“迈出一步”或“调整姿势”的方式来恢复平衡,这就像我们在快摔倒时会本能地迈出一步一样。

c) 模型预测控制

这是目前最先进、最主流的控制策略,也是Atlas能够完成复杂动态动作(如后空翻)的“秘密武器”。

  • 核心思想:在每一个控制周期(例如10毫秒),算法会:
    1. 预测:基于当前状态和机器人模型,预测未来一小段时间(例如0.5秒)内机器人的可能行为。
    2. 优化:在预测的时间窗口内,寻找一个最优的控制输入序列(即关节力矩序列),使得某个成本函数最小化,这个成本函数可以包括:与目标轨迹的偏差、关节力矩的大小、能量消耗等。
    3. 执行:只执行这个最优序列中的第一步
    4. 循环:在下一个控制周期,重新获取最新的机器人状态,然后重复上述过程。
  • 优势:MPC具有极强的鲁棒性和前瞻性,它不仅能处理当前的不确定性,还能提前规划未来的动作,以应对即将发生的动态变化,例如在跳跃前精确计算起跳时机和姿态。

运动规划与轨迹生成

光有控制器还不够,还需要告诉控制器“做什么”和“怎么做”,这就是运动规划的职责。

a) 足部轨迹规划

对于双足机器人来说,脚的轨迹至关重要。

  • 关键点:算法需要规划脚的支撑点,在行走、跑步或跳跃时,一只脚作为支撑点(保持与地面接触),另一只脚则在空中摆动。
  • 生成方法:通常使用样条曲线(如贝塞尔曲线、B样条)来生成平滑、自然的足部轨迹,确保脚在落地和抬升时冲击力最小,且运动流畅。

b) 全身轨迹优化

这是Atlas完成后空翻等高难度动作的核心。

  • 挑战:后空翻是一个高度非线性的、复杂的动力学过程,需要同时规划躯干的旋转、手臂的摆动、膝关节的发力、脚的蹬地时机等。
  • 技术实现:研究人员会先定义一个初始的、可能不完美的轨迹(通过运动捕捉或手动设计),使用轨迹优化算法(如CHOMP, TrajOpt)对这个轨迹进行迭代优化。
  • 优化目标:优化的目标函数通常包括:
    • 动力学可行性:确保轨迹在物理上是可实现的(力矩、加速度等在机器人的能力范围内)。
    • 平滑性:避免突变,使动作看起来更自然。
    • 任务目标:如“身体旋转360度”、“稳稳落地”。
    • 能量效率:尽量减少不必要的能量消耗。

感知与环境理解

机器人需要“看见”和“理解”世界,才能做出正确的决策。

a) 立体视觉与SLAM

Atlas使用头部的立体摄像头来构建周围环境的3D模型。

  • 深度估计:通过左右两个摄像头的视差,计算出场景中每个像素点的深度,从而生成深度图
  • SLAM (即时定位与地图构建):Atlas在移动时,会利用深度图和IMU数据,实时构建环境的3D点云地图,同时确定自身在地图中的精确位置,这对于在复杂地形中行走至关重要。

b) 地形识别与适应

当Atlas在户外行走时,地面并非平坦。

  • 算法流程
    1. 感知:通过摄像头和激光雷达感知前方的地面。
    2. 分类:使用机器学习/深度学习模型(如语义分割网络)将地面分类为“平地”、“草地”、“岩石”、“台阶”等。
    3. 适应:根据地形类型,运动规划器会调整步态参数,在草地上步幅会变小、步频会提高以增加稳定性;在台阶上会精确计算抬腿高度和落脚点。

高层任务规划与决策

这是最顶层的“大脑”,负责将一个抽象的指令(如“拿起那个箱子”)分解为一系列具体的动作。

  • 技术:通常基于行为树分层任务网络
  • 示例 - “拿起箱子”
    1. 目标:拿起箱子。
    2. 分解
      • 子任务1:导航到箱子附近。
        • 需要用到:SLAM、路径规划算法(如A或RRT)*
      • 子任务2:调整身体姿态,面向箱子。
      • 子任务3:规划抓取动作。
        • 需要用到:逆运动学(计算手臂关节角度)、抓取力规划
      • 子任务4:执行抓取,并提起箱子。
        • 需要用到:全身控制器、力/力矩反馈(确保抓牢且不损坏箱子)
      • 子任务5:将箱子搬运到目标位置。
    3. 执行:按顺序执行这些子任务,并根据执行结果动态调整。

算法的协同工作

Atlas的一次流畅的奔跑,是这些算法完美协同的结果:

  1. 感知:摄像头和IMU感知到前方地形。
  2. 高层规划:决策系统决定采用“跑步”步态。
  3. 运动规划:轨迹生成器根据当前状态和跑步步态模板,生成未来几秒内躯干和四肢的期望轨迹。
  4. 模型预测控制:MPC控制器以极高的频率(每秒100次)循环执行:
    • 预测:预测未来状态。
    • 优化:计算最优的关节力矩。
    • 执行:发出指令,驱动电机。
    • 反馈:IMU和关节编码器将实际状态反馈给MPC,形成闭环控制。
  5. 动态平衡:如果被侧面推了一下,状态估计模块立即检测到扰动,MPC会迅速调整优化目标,生成恢复平衡的轨迹,机器人会像人类一样侧身迈出一步来稳住自己。

Atlas的算法是一个集成了全身控制、模型预测控制、轨迹优化、SLAM和机器学习的复杂系统,它的成功不仅在于单个算法的先进性,更在于这些算法如何被无缝地集成在一个实时、鲁棒的框架中,实现了机器人从感知到决策再到执行的完整闭环。

标签: Atlas机器人核心算法突破 Atlas机器人动态平衡算法 Atlas机器人运动控制算法

抱歉,评论功能暂时关闭!