波士顿动力机器人后空翻动作背后的技术浅析

jopen 6年前
   <p><a href="/misc/goto?guid=4958190462259388048" title="程序员"><img alt="波士顿动力机器人后空翻动作背后的技术浅析" src="https://simg.open-open.com/show/a08e318ff2ebc4ad30d5e6ff0cd93701.jpg" /></a></p>    <p>2017 年 11 月 16 日,一段 Atlas 跳跃、旋转、后空翻的视频几乎惊艳了整个机器人圈,各大媒体纷纷做了报道,我也在如何看待 Boston Dynamic 2017.11.16 新发布的机器人 Atlas 视频?发表了情怀感言,当然只有情怀是不够的,作为技术工科男,还是应该多思考下其背后到底有什么技术。</p>    <p>还是情怀一下:BD 的这段视频可以说是冰冻三尺非一日之寒,不信的话,你来看看这段视频:let robot in MIT 麻省理工学院腿实验室的早期作品单足双足四足跳跃机器人,更多研究成果和视频可以看:MIT Leg Laboratory。这个是三十年前的故事,若想了解如今的 BD,看看这个网站:Boston Dynamics is changing your idea of what robots can do. Boston Dynamics。</p>    <p>近几年 BD 的产品还是很多的,包括 Handle、SpotMini、Atlas、Spot、LS3、WildCat、BigDog、SandFlea 和 RHex,详情见 Boston Dynamics Boston Dynamics。知乎中也有大神讲解了波士顿动力是一家什么性质的公司?。</p>    <p>BD 是 Marc Raibert(Marc Raibert – Wikipedia)离开 MIT LegLab 之后创立的公司,Marc Raibert 于 1980 年在 CMU 创建了 Leg Lab,1986 年离开 CMU,去了 MIT,直到 1995 年。1992 年,他创建了 Boston Dynamic,a simulation and robotics company。在创建公司之后,他们服务过包括美国国防高级研究计划局(DARPA)在内的很多军方机构,甚至获得了国防部几千万美金的投资。此时,BD 与 Gill Pratt 有分不开的联系,Gill Pratt 是 Marc Raibert 的学生。而 Gill Pratt 是前 DARPA 机器人挑战赛的负责人,因此 BD 一直得到 DARPA 的投资也是情理之中。BD 于 2013 年被谷歌收购,但是 2016 年传出丰田要接手谷歌旗下的 BD 的消息(丰田接手谷歌旗下波士顿动力 6 大原因 -百家号),这个时候 Gill Pratt 离开了 DARPA,是丰田研究院(TOYOTA Research Institution,TSI)的负责人。后来消息不了了之。2017 年,BD 被软银(SoftBank)收购。</p>    <p>书归正传,在大概了解的 BD 后,下面回顾下 Atlas 的经典动作-后空翻。</p>    <p style="text-align:center"><img alt="波士顿动力机器人后空翻动作背后的技术浅析" src="https://simg.open-open.com/show/431251b519d2756817b1fae9a8f296d6.gif" /></p>    <p>在介绍 Atlas 后空翻的技术之前,先来介绍些预备知识。</p>    <p>1. Atlas 属于 Limbed system(Spring Handbook of Robotics 的 P419-441)的一种类型,贴几张图片吧。</p>    <p style="text-align:center"><img alt="波士顿动力机器人后空翻动作背后的技术浅析" src="https://simg.open-open.com/show/198c81dbf13e07d1a99f4e7587691fb2.jpg" /></p>    <p style="text-align:center"><img alt="波士顿动力机器人后空翻动作背后的技术浅析" src="https://simg.open-open.com/show/be141a838c1cc700e8a74db039e5449a.jpg" /></p>    <p style="text-align:center"><img alt="波士顿动力机器人后空翻动作背后的技术浅析" src="https://simg.open-open.com/show/9de7f7e105ddbb36ab3b4f2ff6fd58e3.jpg" /></p>    <p style="text-align:center"><img alt="波士顿动力机器人后空翻动作背后的技术浅析" src="https://simg.open-open.com/show/273a6852c7bce07884545012fce28c6d.jpg" /></p>    <p style="text-align:center"><img alt="波士顿动力机器人后空翻动作背后的技术浅析" src="https://simg.open-open.com/show/0da4edf1f048b4e159a2ec9a15a01f22.jpg" /></p>    <p style="text-align:center"><img alt="波士顿动力机器人后空翻动作背后的技术浅析" src="https://simg.open-open.com/show/ff0eb81b04e29d5901c8e452c6055406.jpg" /></p>    <p style="text-align:center"><img alt="波士顿动力机器人后空翻动作背后的技术浅析" src="https://simg.open-open.com/show/4c2e8a055ba887c9d6428c10565a38b7.jpg" /></p>    <p style="text-align:center"><img alt="波士顿动力机器人后空翻动作背后的技术浅析" src="https://simg.open-open.com/show/64d10ae05d5963f1189ff35dd70df6ce.jpg" /></p>    <p style="text-align:center"><img alt="波士顿动力机器人后空翻动作背后的技术浅析" src="https://simg.open-open.com/show/8a584f53001b8eb352316b9069a9d809.jpg" /></p>    <p style="text-align:center"><img alt="波士顿动力机器人后空翻动作背后的技术浅析" src="https://simg.open-open.com/show/78ab8d77f87ba1f89d4c2063838b91fa.jpg" /></p>    <p>2. 进一步细化,Atlas 属于 Legged Robots(Spring Handbook of Robotics 的 P1203-1263)。</p>    <p>Altas 的难点并不是后空翻这个动作,难点是在后空翻前的运动规划和接触地面后的控制(例如如何保持平衡,如何控制接触力等)。(One of the major difficulties in making a legged robot walk or run is keeping its balance: where should the robot place its feet, how should it move its body in order to move safely in a given direction, even in case of strong perturbations? This difficulty comes from the fact that contact forces with the environment are an absolute necessity to generate and control locomotion, but they are limited by the mechanical laws of unilateral contact)。</p>    <p>1)The Dynamic of Legged Locomotion</p>    <p>Atlas 最为关键的是动力学建模,一般根据 Lagrangian 和 Newton and Euler 建立模型,来一段贴图:</p>    <p style="text-align:center"><img alt="波士顿动力机器人后空翻动作背后的技术浅析" src="https://simg.open-open.com/show/91bdd0f578e1dfcc920daff849a2e2cb.jpg" /></p>    <p>上面的这段话可以解释后空翻实际并不难,下面来解释:</p>    <p>在 Flight Phases,Atlas 并没有与环境接触,因此没有任何的接触力f_i,此时牛顿方程简化为:</p>    <p>在空中的过程实际是个抛物线运动,因此没有办法在空中改变 Atlas 的运动。上式中的欧拉公式可以简化为:</p>    <p>在这种情况下,Atlas 既可以控制关节的运动,也可以控制整体的旋转,前提是在落地之前。</p>    <p style="text-align:center"><img alt="波士顿动力机器人后空翻动作背后的技术浅析" src="https://simg.open-open.com/show/1f0a9f33cb2c128af74ed79575b64099.jpg" /></p>    <p>综上所述,在空中运动过程中,Atlas 无法改变运动,但是可以改变姿态,也就是后空翻或是前空翻等复杂动作,只要在落地之前完成动作即可,当然跳以前也需要做步态和运动等的规划。</p>    <p>2)In Contact with the Ground</p>    <p>接触面包括了 flat ground 或是 multiple surfaces 等,视频中的接触面近似 flat,若是 multiple surfaces,在控制上将会更为复杂。</p>    <p>无论是什么样的接触面,Atlas 与地面接触时的瞬间接触力是非常大的,因此对电机有非常高的要求,BD 很聪明,选用了液压伺服控制。若是电机的话,可能分分钟爆掉。即使是液压伺服控制,也要考虑主动或是被动柔顺的控制。</p>    <p>个人觉得落地后的平衡相比于 walk 或是 run 的平衡相对简单,若是能将 walk 或是 run 过程中的平衡控制好,也许落地后的平衡相对较为容易,但是在跳跃之后与地面接触时的力控制就变成了难点。</p>    <p>在空中的时间设计尤为重要,若是时间较短,Atlas 完不成空翻动作;若是时间较长,Atlas 需要不停地调整姿态,以保证在接触地面前做好平衡的动作。</p>    <p>当然整个过程没有那么简单,下面给出参考文献,有兴趣的朋友可以精读下面的内容(Spring Handbook of Robotics 的 P1206-1263)。</p>    <p>① In Contact with a Flat Ground:The Center of Pressure. In Contact with Multiple Surfaces.</p>    <p>② Contact Models.</p>    <p>③ Compliant Contact Models.</p>    <p>④ Rigid Contact Models.</p>    <p>⑤ Hybrid and Nonsmooth Dynamics.</p>    <p>⑥ Stability Analysis – Not Falling Down.</p>    <p>⑦ Generation of Dynamic Walking and Running Motions.</p>    <p>⑧ Motion and Force Control.</p>    <p>⑨ Towards Move Efficient Walking.</p>    <p>⑩ Diffenert Contact Behaviors。</p>    <p> </p>    <p>来自: <a href="/misc/goto?guid=4959011755881526386" id="link_source2">雷锋网</a></p>