波士顿动力一周前发布了一个长达90秒的视频。在视频中,Atlas完美地跑完了复杂的障碍赛。于是有很多网友好奇是什么黑科技让机器人可以如此智慧。

机器人该怎么样才能像运动员一样奔跑、翻转、跳跃?创造这些高能演示的是一个有趣的挑战,但波士顿的技术目标不仅仅是创造一场华丽的表演。在Atlas项目中,他们以跑酷为实验主题,通过动态运动,感知和控制之间的联系,来研究相关的问题。这些问题的解决有助于机器人更加顺畅的运行。

解密:波士顿动力如何用算法构建Atlas机器人的感官世界

机器人对跑酷的感知

机器人感知算法会被用到相机和激光雷达等传感器的数据转换对策和规划物理行动中。虽然Atlas使用IMU、关节位置和受力传感器来控制其身体并感受地面获得平衡,但Atlas还需要感知算法来识别障碍物,如图1中看到的木箱和窄桥。

解密:波士顿动力如何用算法构建Atlas机器人的感官世界

图1:这个动画显示了一个Atlas机器人深度相机生成的点云旋转视图。

Atlas使用深度相机以每秒15帧的速度生成环境点云。点云是距离测量数据的集合。Atlas的感知软件使用多平面分割的算法从点云中提取表面。接着算法输出的数据被输入地图系统,最后系统帮助Atlas用相机看到不同物体建立模型。

解密:波士顿动力如何用算法构建Atlas机器人的感官世界

图2:具有感知输出的Atlas渲染。

图2显示了Atlas感知到的物体,并经过反馈与计算规划行动。左上角是深度相机拍摄的红外图像。主图像中的白点形成点云。橙色轮廓标记了跑酷障碍物检测到的矩形面,这些矩形面随着时间的推移被传感器跟踪。从而帮助Atlas设置特定的行为。例如,绿色的脚印标记下一步在哪里跳跃和慢跑。

为了扩展跑酷课程,机器人被导入一张高级地图,其中包括命令它去哪里,以及路上应该做什么动作。这张高级地图与实际课程不完全一致,它是对障碍物位置和一些主要动作的简要描述。所以Atlas会使用这些简要的信息来导航,同时使用实时感知数据来填充细节。例如,Atlas寻找一个可以跳跃的盒子,如果盒子移动到侧面0.5米,Atlas会在那里找到并调整姿势。如果盒子移动得太远,系统找不到它就会停下来。

解密:波士顿动力如何用算法构建Atlas机器人的感官世界

图3:展示机器人对跑酷课程中伙伴的感知的动画。

这是一个3D可视化动图,展示了机器人在跑酷障碍跑道上看到的内容和机器人通过内容反馈的计划。主动跟踪的物体被绘制成绿色,当物体的距离超过感知范围时,图标就会从绿色变成紫色。跟踪系统也会不断跟进物体的姿态传给导航系统,导航系统会通过地图上的信息设计好对应物体的绿色脚印。

行为库

你在跑酷程序中看到 Atlas 执行的每个动作都来自“轨迹优化离线设计”创建的模板。这些模板库,允许科研人员往库中添加新的轨迹,添加新的功能。

轨迹优化离线设计,可以让工程师交互探索机器人能力的极限,并减少机器人的计算量。例如,机器人如何收起四肢做后空翻,这些成就对项目的推进有莫大的帮助。因为这样可以帮助机器人做到最合理的驱动。科研人员可以利用离线优化捕捉重要的发力点,并使用控制器在线调整它们的动作。

解密:波士顿动力如何用算法构建Atlas机器人的感官世界

图4:这种跳马行为是使用离线轨迹优化设计的复杂全身行为的一个例子。

模型预测

确定了机器人前面盒子、坡道和障碍的位置,并设计了一系列越过它们的动作。剩下的挑战是填写机器人执行计划所需的细节问题。

Atlas的控制器被称为模型预测控制器(MPC),因为它使用机器人动力学模型来预测运动将如何演变。控制器的工作原理是优化计算出现在最应该做的事情是什么,从而尽可能形成好的运动姿态。

如上所述,行为库中的每个模板都向控制器提供了最优解的解决方案。控制器调整力、姿势和行为时机等细节,应对环境几何形状、脚滑或其他实时因素。这样就可以拥有能够偏离模板运动的控制,自我创建运动过程。这种解决方案也大大减少了机器人可能需要的场景行为模板。例如,从52厘米的平台上跳下来和40厘米的平台跳下来,MPC会自动弄清楚细节。

解密:波士顿动力如何用算法构建Atlas机器人的感官世界

图5:显示感知和计划路径的第一人称视图。蓝色箭头对应于MPC对机器人在路线中移动时质心和动量的预测。

MPC的预测特性允许Atlas跨越行为界限。比如,知道跳跃后是后空翻,控制器可以自主创建一个平稳过渡的动作。这也简化了行为创建问题,研究人员不需要再提前考虑可能的行为序列。不过,MPC的创新是有限度的。例如,试图从慢跑运动过渡到后空翻是行不通的。

为未来奠定基础

他们对Atlas系统中创建和控制动态行为(也包括舞蹈)有了深刻的理解。但更重要的是,创造了一个可扩展软件系统的机会,也让Atlas系统通过感知自身环境做出改变,这个系统将与他们的团队一起成长。

本文雷锋网编译自:https://twitter.com/BostonDynamics/status/1429876922293575681