本文来自微信公众号:机器之心(ID:almosthuman2014),作者:机器之心编辑部,题图来自:Boston Dynamics
几天前,波士顿动力公司放出了双足人形机器人 Atlas 的最新酷炫视频。这次,Atlas 展示了它的最新技能“跑酷”。
在一系列倾斜胶合板还有木箱垒成的阶梯以及平衡木的场景挑战中,Atlas 如履平地,表现堪称完美。
其实三年前,波士顿动力就曾发布过 Atlas 跑酷的视频。不过当时,Atlas 跑起来显得更僵硬,步伐也稍显沉重。
早期 Atlas 跨越障碍的视频。
短短几年时间,从硬件和外观层面与先前没有太大区别的 Atlas 在运动方式上有了显著提升,平衡感也显然更好。
波士顿动力在背后进行了哪些技术改进和创新呢?机器人需要具备哪些条件才能像人一样奔跑、跳跃和跨越障碍呢?
波士顿动力高级机器人工程师、Atlas 感知软件开发负责人 Pat Marion 为大家详尽地解读了 Atlas 跑酷背后的技术。
跑酷认知能力
机器人感知算法的目的是将相机和雷达等传感器中的数据转换为对决策制定和规划形体动作有益的东西。虽然 Atlas 使用集成 IMU、联合位置和力传感器来控制自身的肢体动作,并通过感知地面来保持平衡,但它需要利用感知来识别和导航以下动图 1 中的间隙和窄梁等障碍。
深度相机拍摄的 Atlas 机器人的点云旋转视图。
Atlas 使用 TOF 深度相机以每秒 15 帧的速度生成环境的点云,点云是测距的大规模集合。Atlas 的感知软件使用一种名为多平面分割的算法从点云中提取平面。多平面分割算法的输入馈入到一个映射系统中,该系统为 Atlas 通过相机看到的各种不同对象构建模型。
下图 2 显示了 Atlas 的视觉“所见”以及如何使用这种视觉感知来规划行为。左上角是深度相机拍摄的红外图像。主图像中的白点形成点云。橙色轮廓标记了检测到的跑酷障碍物的矩形面,随着时间的推移从传感器观察结果中对其进行跟踪。然后将这些检测到的对象用于规划特定行为。例如,绿色的脚步代表下一步要跳到哪里。
具有感知输出的 Atlas 渲染。
为了执行扩展的跑酷行为,波士顿动力的研发团队为机器人提供了一张高级地图,其中包括研发人员希望它去的地方以及沿途它应该做的动作。该地图与真实路线的几何形状不完全匹配,而是一个包含障碍模板和注释动作的近似描述。Atlas 使用这些稀疏信息来导航,并使用实时感知数据来填充细节。
例如,Atlas 知道要寻找要跳的盒子,如果盒子向侧面移动 0.5 米,Atlas 会找到它的新位置并跳到那里。但如果盒子被移得太远,那么系统将找不到它并停下来。
波士顿动力机器人跑酷视觉“看到”和规划的信息。
这是一个 3D 可视化动画,主动跟踪的物体以绿色绘制,并在脱离机器人感知传感器的视野时从绿色淡化为紫色。跟踪系统持续估计物体姿态,导航系统利用地图上的信息来规划与这些物体相关的绿色足迹。
Atlas 行为库
Atlas 在跑酷中所做的每个动作都源自使用轨迹优化提前创建的模板。通过创建这些模板库允许研究者向库中添加新的轨迹,从而可以不断为机器人添加新的功能。给定感知计划目标,机器人从库中选择与给定目标尽可能匹配的行为。
通过离线设计进行轨迹优化,工程师能够提前以交互方式探索机器人能力的极限,并减少机器人的相关计算量。例如,由于驱动等物理限制,机器人如何精确协调其四肢以启动和进行后空翻,这些细节可能对机器人的成功产生重大影响。
利用离线优化,研究者可以在设计时捕获这种类似的重要约束,并使用单个通用控制器在线调节机器人。
上图机器人行为是使用离线轨迹优化设计的复杂行为,同时在线控制器将模板动作变成现实。
模型预测控制
在确定了机器人前面的箱子、坡道或障碍物,并计划了一系列操作以越过它们后,剩下的挑战就是机器人如何可靠地执行计划所需的所有细节。
Atlas 控制器被称为模型预测控制器(model-predictive controller, MPC),该控制器使用机器人动力学模型来预测机器人未来的动作。控制器的工作原理是通过优化来计算机器人当前要做的最优事情,从而随着时间的推移产生最佳动作。正如前文所述,行为库中的每个模板会向控制器提供什么解决方案是最佳的选择。
控制器会调整机器人的力、姿势和行为时间等细节,以应对环境、脚滑或其他实时因素带来的影响。拥有一个能够显著偏离模板动作的控制器可以简化行为创建过程,这意味着不用逐个匹配机器人遇到的每一个细节。例如,机器人从 52 厘米高的平台上跳下和从 40 厘米高的平台上跳下并没有什么不同,MPC 会解决细节问题。
以第一视角显示了 Atlas 感知和规划的路径。蓝色箭头为 MPC 预测的机器人在整个移动过程中的质心和动量。
MPC 的预测特性还允许 Atlas 跨越行为边界来查看后续动作。例如,知道跳跃之后是后空翻,控制器可以自动创建从一个动作到另一个动作的平滑过渡。这再次简化了机器人行为创建问题,因为我们不需要提前考虑所有可能的行为序列。当然,MPC 预测也存在局限性,例如,机器人尝试从快进慢跑动作过渡到后空翻是行不通的。一般来说,必须在控制器复杂性和行为库大小之间取得平衡。
Atlas 展示了接近于人类的跑酷能力,对于波士顿动力来说如何在 Atlas 上创建和控制广泛的动力学行为有了深刻的了解。更重要的是,它为设计一个可扩展的软件系统创造了机会,该软件系统将与团队一起成长。
原文链接:https://blog.bostondynamics.com/flipping-the-script-with-atlas
本文来自微信公众号:机器之心(ID:almosthuman2014),作者:机器之心编辑部