技术 | 让机器人直立行走的光荣与梦想:Atlas 双足 国外

admin 6月前 147


作者:机器之心
链接:http://www.vccoo.com/v/21406d
来源:微口网
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2月23日,向来逆天的波士顿动力又一次发布了一个轰动机器人圈的视频,视频中最新版的人形机器人Atlas完成了毅然决然推门而出、酿酿跄跄雪地行走、不屈不挠搬箱子、顽强勇敢站起来等艰巨任务。新版Atlas的表现令人惊叹:1米75、160斤的身高体重与正常人类接近;在未知地形行走、上肢负重突变等情况下均能保持平衡。回想起八个月前DARPA机器人大赛上众人形机器人的表现,这样的成就可谓一道曙光。

DARPA机器人大赛摔倒视频集锦 


人类走路跑步爬坡、推门搬箱洗碗——生活中的太多动作都不经大脑而理所当然。然而,对于机器人工程师们来说,造一个像人类一样高效的身体已经非常困难(几乎不可能)、让这个身体像人一样运动甚至干活更是耗费了几代研究人员的心血,至今没有标准的解决方案。

巨大的困难并没有让人类退缩——在实用价值上,人们对人形机器人有许多美好期望:没有哪一种机器人比它们更能适应人类工作生活的环境、帮助人类做各种各样的事情。就像DARPA机器人大赛的主题一样,人们首先寄希望于这类机器人终有一天取代人类消防员、灾后救援人员、矿工等等去从事那些只有人能做却又对人极其危险的工作;然后可能展望一下全能的机器人管家为我们分担所有生活琐事的未来。(对机器人有朝一日使大量工人失业、或机器人自我觉醒从而攻击人类的担忧——这真的不在一篇实实在在做科普的文章的讨论范围。)抛开实用价值不说,解决人形机器人的这些困难就好似工程学领域的引力波探测,它需要各个专业领域工程师和科研人员孜孜不倦的探索与追求。

这是一篇向这一探索与追求致敬的文章。这篇文章力求以最通俗易懂的语言回答两个问题:人形机器人的困难与挑战有哪些?到目前为止我们采用了什么样的解决方法?请注意,小型的、主要能跳舞娱乐或用于教育的人形机器人、以及不是用两只脚走路但长着人脸人手的机器人,都不在本文的讨论范围之内;作者可能会在另一篇更通用的写人形机器人的文章中再予以介绍。

双足行走——控制算法


对于人形机器人的研究通常都是从双足机器人开始的,双足行走,尤其是在未知地形、或遇到未知干扰时仍能保持平衡行走不摔跤,是人形机器人最受关注、最急需解决的难题。大自然可能花了几百万年才最终进化出人类这一直立行走的智慧生物,人类的婴儿出生以后需要到一两岁才能学会站立走路;而关于人形机器人双足行走的研究,已经持续了三四十年,可如今它们大部分走的还是“baby step”(婴儿步)。

为什么控制一个机器人用两条腿走路会这么难呢?不知道大家几年前有没有玩过一个游戏,分别控制一个运动员双腿的大腿和小腿,看你能跑多远:


 对人来说完全不用经过大脑的多关节协调跑步,让你直接操控关节只能是分分钟领便当 


用这个游戏来说明这个事情有多困难只是给你一个直观印象,科研人员们实际面对的挑战比这要大得多。机器人的每条腿有六个自由度而不是两个,机器人的脚每次落地都是对整个系统的一次冲击(机械上、控制上以及传感器上),机器人还应该能够面对未知的干扰如地面的不平整……

如果你愿意重新审视一下你走路的动作,现在不妨站起来,抬起一条腿、向前迈一步、落地、再抬起一条腿、摆到前面、再落地……把这一系列动作放慢,感受一下你的身体在双腿支撑与单腿支撑之间的转换、感受一下一条腿从后面摆到前面时与地面接触的脚底受力如何从足跟转移到足尖。你还可以单腿站立,找个人从各个方向轻推你一下,同时仔细感受你足底的受力;再用力推一下,看看你抬起的那条腿如何反应、在何处落地以维持你身体的平衡(如果你颜好手美易推倒,这个实验可能不适合你= =)。

在双足机器人界有一个重要概念叫“零力矩点”(Zero Moment Point, ZMP),说的是地面对你的所有作用力的总和,与你身体的惯性力、其它外力产生的总和在这一点的力矩为零。与之共同出现的还有另一个叫“支撑多边形”(Support Polygon)的概念,当你单腿站立时这个多边形就是你的足底,双腿站立时就是你两只脚底连起来的多边形,如下图所示。


双腿支撑时的支撑多边形

ZMP的理论说:如果这个零力矩点落在你的“支撑多边形”里面,那么你的身体就能够维持平衡,否则你就会倒。在上面你所做的平衡实验中,你应该能感受到足底的受力位置随着外界作用力及你自身运动状态而改变。即使你完全不知道这是如何实现的,你的大脑也已经替你完成了所有的控制,确保你的ZMP落在你的支撑多边形里。


人类行走时的ZMP轨迹 

ZMP的理论于1968年提出,但直到1984年,只利用ZMP理论控制行走的双足机器人才出现。它就是日本早稻田大学的WL-10RD,它每走一步需要1.3秒,步长40cm。


只采用ZMP理论实现“动力学行走”(Dynamic Walking)的机器人WL-10RD 

说起来,日本人对人形机器人就是有种谜样的热情。如今最的采用基于ZMP理论控制的机器人,就是大家都耳熟能详的Asimo了。


Asimo在一个Show上的表演 


根据Honda官网上的说法,Asimo的控制有三个部分(地面作用力控制、目标ZMP控制和足迹落点控制),围绕ZMP和支撑多边形展开——基本思路就是,你要么通过改变足底向地面施力的点、或改变躯干的运动状态以改变ZMP的位置;要么通过选择好的落脚点得到能包含ZMP的支撑多边形——总之,要保证Asimo的ZMP始终能落在它的支撑多边形里。

这个思路看起来直截了当,然而ZMP这个理论本身却是有缺陷的——当ZMP落在支撑多边形边缘的时候,理论上认为机器人是不稳定的,但它实际上是可以稳定的;另外,如下图所示非水平支撑面的情况,即使ZMP落在机器人的Support Polygon内,机器人还是会摔倒。因此,ZMP作为一个表征整个系统稳定性的控制变量是不完善的。


 ZMP落在Support Polygon内,系统却不稳定的一个情况 


上面的图可能也说明了为什么我们从来没有见过Asimo在非平整地面上的表演,尽管它能走能跑能跳能爬楼梯,但如果它采用的仅仅是基于ZMP的控制,这类地面对它将是个几乎不可能完成的任务。(Asimo一直以来的定位都是家庭室内使用的机器人,因此它可能也不追求能在野外复杂地形行走。)

现在我们可以来看,为什么最新版的Atlas视频中那段长达25秒的雪地行走片段如此令人震撼,Atlas甚至可以完成这样的自我调整:

最新版Atlas在有坡的雪地行走片段 


Boston Dynamics就这样花式虐了全世界做人形机器人研究的各大企业和实验室……却没有任何专利或论文可以让我们对他们的技术和算法一探究竟。 不过,从Atlas行走的姿态来看,大家都推测它用的是Capture Point(这个好像真的还没有对应的中文翻译哦)的理论——关于这个理论还是有很多资料可循的。

Capture Point的意思其实就更简单了:它是地面上的一个点,当机器人快倒时,踩到这个点就可能调整自身至完全静止。你可以想象你在玩“一二三木头人”,然后停在了某单腿站立的奇怪姿势,在你终于站不住的时候你会怎么做呢?你的另一只脚可能会最终着地、可能着地之后你还是站不稳需要多倒腾几步。因此在Capture Point这个概念上又延伸出一个叫“N-step Capture Region”的概念,说的是踩到某个区域内,你还要再走(酿跄)N步才能完全停下来。


        

      图a)是静止时候的Capture Region示意图图;b)是跑步时候的示意图图;c)是当跑步时前方只有几块石头能落脚的示意图 。

这个概念可能比较难理解,但它也是很符合直觉的。有一点一定要注意的是,Capture Region的大小、形状、位置是与你的状态有关的:本来你单腿站着的时候是站在N=0的区域内,但如果有人突然推你一下,你瞬间有了要倒下的速度,那可能你脚下的Capture Region可能就变成N=1甚至大于1了。

提出这个概念有什么用呢?记得前面说,ZMP作为表征系统稳定程度的量是不完善的,而N-Step Capturable(就是在N步以内机器人能停下来)就正好可以代替它成为一个可靠的表示系统稳定程度的量。在这个基础上,机器人行走过程中,我们可以选择保证它的步伐总是踩在N小于2的区域(比较小心翼翼的走法)、也可以踩在N=3、N=4的区域(比较勇敢的走法);一旦发现系统状态变化导致机器人踩在N大于设定值的区域里(比如Atlas在雪地里一个趔趄),就赶紧多走两步稳定下来。

当然,这个N-step Capture Region是需要实时计算的,它的计算是通过简化的人体模型(三维的顶着一个飞轮的倒立摆),篇幅所限,我们也没有办法在这里展开讲更多了……


 DARPA上的iHMC机器人,视频为14倍速。这是提出Capture Point 理论的Jerry Pratt带领的团队


上面讲了ZMP和Capture Point两种判定机器人系统稳定状态的方法和基于其理论设计采用的控制方法。很不幸地是,它们虽然是人形机器人双足行走控制的重要理论基础,但在实际应用中也只是一个小环节。除了计算ZMP运动轨迹或身体质心的运动轨迹、计算Capture Region、计划机器人每一步的落点,机器人还需要在更底层的控制(控制每个关节的力矩或速度/位置)中实现这个轨迹、需要从机器人身上无数的传感器(陀螺仪、加速度计、每个关节的运动传感器、手脚的力传感器……)实时估测自身的运动信息、需要在更底层控制好每个关节的执行器……除非亲自去做,你不会知道这有多少困难——因为在人身上,所有的这一切都发生在潜意识里。

有一个普遍的问题是,为什么这些人形机器人都得屈着膝盖走路?原因是,它们的腿都是六个自由度,膝盖伸直的时候,“机械腿”处在我们说的“奇异”状态(Singularity)——ROBOTICS干货的读者应该对这个概念应该很熟悉了噢。奇异状态时机械腿比正常状态下失去一个自由度,这对机器人而言意味着遇到干扰时可调整的选择受限了,更难适应多变未知的环境。另外,弯曲的膝盖也能化解一些脚落地时的冲击。通俗一点说,人在遇到复杂地形、比如河边的乱石堆、或走过摇晃的绳索桥时,也一样会倾向于屈膝行走防止摔倒;腿脚弱的老年人,也经常会弯曲膝盖走得很慢——如今人形机器人行走的姿态,想起来也是跟老年人很相像呢。

身体构造——执行器(actuator)和能量来源


即使有了实用稳定的算法,造出实体的人形机器人来测试和应用这些算法也很不容易。首先人形机器人本身就是一个极其复杂的系统,它的一只手臂就得是一个工业机械臂。虽然各家设计略有不同,但它的自由度(DOF)分布基本是这样的:

    • 手臂:7 × 2 DOF

    • 腿:6 × 2 DOF

    • 躯干(腰):0 ~ 3 DOF

    • 头部(脖子):0 ~ 3 DOF

    • 手(如果有的话):(1 ~ 13) × 2 DOF

这个自由度分布与人体非常接近,比如说,看手机看累了的你可以上下左右转一转脖子再往两边歪歪头,看看它是不是有三个自由度。


 HRP-3人形机器人构造示意图 


人类的四肢构造是如此复杂精妙,几乎在最小的体积里放下了最多的关节,这些关节还得有相当大的运动范围和输送扭矩的能力。对机械设计者来说,仅仅是初略地仿造,其复杂程度也已超乎想象。执行器和传动装置要放在哪里呢?整个机器人的质量(自重)应该如何分布呢?控制电路板、线路等又该如何安置呢?每一个细节的设计都很重要。(至于人的手,ASIMO的一只手就有13个自由度,“仿造”灵巧的人手是一个几乎并行的研究课题,我们以后也需要专门为手写一篇文章的……)

 HRP-3人形机器人构造示意图 

抛开身体构造本身的复杂性不说,腿和手臂本来就是完全不同的工作方式:腿是通过它的“末端执行器”(end effector,也就是脚)与地面接触的作用力(包括支撑力和摩擦力)“推动”自身移动同时保持平衡;手臂则是自身固定,控制end effector即手移动去操作外界物体。腿的这种工作方式,决定了它一不需要极其的位置控制;二需要能准确控制脚对地面的作用力(也就是地面对脚的作用力);三需要能够应对每次脚落地的冲击。

出于这种需求,很多足式机器人会使用一种特殊的执行器,叫Series Elastic Actuator(SEA,串联弹性执行器),这是一个在电机和齿轮箱后面串联一个弹簧的设计:


SEA结构示意图


这样的设计还是挺精妙的:这一个大弹簧就像一个减震器,正好能从机械上减少地面作用力对齿轮箱的冲击;然后呢,在弹簧那里装一个位置传感器测量弹簧长度的变化,就可以测量电机输出的力,对一个关节直接进行准确的力矩控制成为可能;最后,这个弹簧还能储存一部分能量,大大提高足式机器人的能量利用效率。

在实际使用中,SEA通常需要一个又大又重的弹簧。原因如下:机器人的腿至少要能够承载全身重量,而机器人都是很重的;同时我们也要求弹簧形变不能太大,否则控制会变得非常困难——又要能测量到那么大的力,又要形变小,那弹簧就只有非常硬(Stiffness足够大),硬的弹簧就必然非常大了。所以,实际使用SEA的腿都是这样的:


SEA实物图,看到那个大大的弹簧了么?

Boston Dynamics对这一切表示无所谓,因为他们用的执行器根本不是电机,而是液压系统。虽然整个系统以及控制都非常复杂,液压系统相比电机系统有两个重要优势:能量密度大、能量利用效率高。能量密度大是说同等系统体积下,液压系统比电机系统能输出更大的力;能量利用效率高则是说液压系统的能量损耗比电机系统更小。这些优势对于一个负载很重又不能拖着一根电源线的野外机器人来说无疑非常重要。在新版Atlas上,他们的机械工程师也把液压的优势发挥地——他们把液压管道都用金属3D打印打进了腿部结构里,就像人类的骨骼和血管一样,进一步缩小了整个系统的体积、减轻系统重量。然而我也不想说金属3D打印一个这样的结构得要多少银子了……


右边为3D打印液压管道腿的设计稿,放大的横截面图可以看到里面的管道设计

能量其实一直是机器人的大问题——我们看过了太多看起来很酷结果动起来非得拖着条尾巴的机器人了。Asimo身上背着一个重12斤的51.8V锂电池,只够它用一个小时,充电还要用三小时。电池不只不够用多少时间,还那么重、那么大,给机器人增加了很多的负担。有时候我们会想,这可能要寄望于电力定点无线传输技术实现的那一天吧……

环境感知与自我认知——传感器


一个机器人在拥有了躯壳和稳定的运动控制以后,它需要感知周围的环境和物体:知道在走过一堆乱石时应该把哪里作为落脚点、知道完成倒饮料任务时应该在哪里抓起哪里落下——如果没有传感器,机器人就只能做些预先编好的动作,顺带把你的生活搞得一团糟:

让一个没有视觉的机器人给你准备早餐?

相比之下,Asimo的表现精致优雅:


这并不是一个预先位置完全编程好的动作,Asimo需要先识别水壶及杯子并抓取

在人类的所有感觉中,视觉无疑是最重要的。人形机器人由于其他感觉的不足以及控制算法上比之人类的劣势,需要得到更高精度的人类两只眼睛以及大脑所能得到的立体视觉信息。

实际上,Asimo宇航员一样的头盔里就藏着它的两只眼睛:


可能因为眼睛大得有点恐怖+破坏科技感,ASIMO并不太想让你们看见它们

根据能查到的资料看,Asimo采用和人类类似的双目立体视觉,运行自家秘密的视觉算法,在相对简单的室内环境、物体模型已知的情况下,能够识别三维物体的形状位置、做出相应的操作。这双眼睛安装在Asimo的头上,而这个头和我们人一样是可以转来转去的——你一定奇怪我为什么要讲这种很显然的事情——因为很重要的一点是,Asimo的大脑需要能够保证同步获取身上的关节位置信息和视觉信息,以得到看到每一幅图像时准确的相机姿态(位置和朝向),才能计算出外界物体相对于机器人的准确位置。

对在室外或更复杂环境运动的机器人而言,提前获取的三维地形信息对实现稳定的双足行走控制意义重大,机器人需要在这些信息已知的基础上计算Capture Region、计划它的足迹落点等等;错误的地面高度信息很可能就会导致机器人一步踩下去施力不太对而直接倒下。因此,目前最先进的双目立体视觉技术也无法提供机器人需要的精度足够高的三维环境信息,它们还需要额外的立体传感设备辅助。在Atlas和其他参加DARPA大赛的机器人头上,你都能看到一个不停旋转的东西:


DARPA大赛上Team ViGIR的机器人



DARPA大赛上iHMC的机器人,在乱石阵上思考人生(这是个7倍速的视频)



旧版Atlas的头部放大照片

这个东西叫LIDAR(激光雷达传感器),就是以激光作为探测手段的雷达。LIDAR通过向环境各个方向发射并接收反射回来的激光,分析获取场景的三维地形。人形机器人头上所用的LIDAR通常可以探测到几十米远,同时达到近处毫米远处厘米级别的精度。它所看到的世界大概是这样的:


LIDAR返回的数据是PointCloud(一大坨点云)

不要说实时双目立体视觉的算法、从PointCloud和相机得到的画面识别物体的算法有多么困难,单单是LIDAR的价格就是一个很大的挑战——像那些机器人所用的LIDAR,基本都要五千到一万美元。

除了视觉以外,我们人类还有很多很多的传感器在明里暗里帮助我们走路不要摔倒。这些传感器有的能在人形机器人上找到类似的对应、有的却还根本无法实现。仅就平稳走路这个任务而言:

    • 人有内耳平衡及测速装置,机器人有IMU(惯性测量单元)(另外,人的视觉也在帮助维持平衡)

    • 人有关节感受器,能知道关节位置速度扭矩等,机器人有关节位置/速度传感器,某些机器人有关节力矩传感器(比如前面说的SEA)

    • 人有遍布全身的皮肤压力传感器(tactile sensor),“打哪指哪”,能够知道外界对自己的作用力大小方向作用点;机器人没有,或只有特定位置(手腕、脚踝)有六轴力传感器

这么多的传感器,人类最厉害之处在于能够将各处的信息实时整合起来——因为传感器本身总会有测量范围和精度的限制、会有误差,所以很多时候需要综合比对不同来源的信息才能做出准确判断。对机器人来说,如何综合利用好传感器提供的信息也是一个研究课题(Sensor Fusion)。

我们简单讲了人形机器人在双足行走控制、机械设计、感知环境上的困难和解决方法,然而这些远远不足以完整讲述实现一个真的能够为人类服务的人形机器人所要面对的挑战。我们没有能够讲到跑步和跳跃,也没有细说如何在保持平衡的同时机械臂实现一些操作(比如推门和搬箱子),更没有提到机器人真正实用所需要的“智慧”。人形机器人目前还纠结在如何实现那些人靠潜意识就能做好的事情;而真正能够把顶层的人工智能加入,恐怕还要机器人学家们再奋斗很多年。另外,虽然我们看到深度学习的发展让机器视觉在识别物体、理解场景上有了长足的进步,要让AI真正对机器人有帮助,做人工智能的研究人员也还有很长的路要走。

总而言之,穷尽人类的工程智慧,让人形机器人最终能够像人一样稳稳当当地直立行走、灵活全能地操作各种工具、智能地理解这个世界,从而代替人类从事危险工作、解放人类于琐事之中——我想说,这就是每一个机器人学家、每一个人类工程师的光荣与梦想。


参考资料

Vukobratović, Miomir, and Branislav Borovac. "Zero-moment point—thirty five years of its life." International Journal of Humanoid Robotics 1.01 (2004): 157-173.

Wieber, Pierre-Brice. "On the stability of walking systems." Proceedings of the international workshop on humanoid and human friendly robotics. 2002.

Pratt, Jerry, et al. "Capture point: A step toward humanoid push recovery."Humanoid Robots, 2006 6th IEEE-RAS International Conference on. IEEE, 2006.

Koolen, Twan, et al. "Capturability-based analysis and control of legged locomotion, Part 1: Theory and application to three simple gait models." The International Journal of Robotics Research 31.9 (2012): 1094-1113.

Pratt, Jerry, et al. "Capturability-based analysis and control of legged locomotion, part 2: Application to m2v2, a lower body humanoid." The International Journal of Robotics Research (2012): 0278364912452762.

Pratt, Gill A., et al. "Stiffness isn"t everything." experimental robotics IV. Springer Berlin Heidelberg, 1997. 253-262.

Sakagami, Yoshiaki, et al. "The intelligent ASIMO: System overview and integration." Intelligent Robots and Systems, 2002. IEEE/RSJ International Conference on. Vol. 3. IEEE, 2002.

http://cilab.csie.ncu.edu.tw/mt/tabo/archives/2007/05/zmp_ece_zero_mo_1.html

https://www.zhihu.com/question/22276239

http://27.98.208.149/newwww/2015active/app/index.php?m=robot&a=getRobotDetail&id=14

http://world.honda.com/ASIMO/history/technology1.html

https://asimo.honda.com/downloads/pdf/asimo-technical-faq.pdf

http://www.cs.cmu.edu/~cga/drc/atlas-control/

https://www.theguardian.com/science/the-lay-scientist/2016/feb/25/how-real-is-that-atlas-robot-boston-dynamics-video

http://spectrum.ieee.org/automaton/robotics/humanoids/humanoid-robots-rise

http://www.businessinsider.com/atlas-robot-sensor-system-2014-4


最新回复 (0)
返回
发新帖