0
雷锋网按:本文作者段晋军,东南大学自动化学院智能机器人方向博四研究生,原文首发于知乎,雷锋网授权转载。
2017年11月16日,一段Atlas跳跃、旋转、后空翻的视频几乎惊艳了整个机器人圈,各大媒体纷纷做了报道,我也在 如何看待 Boston Dynamic 2017.11.16 新发布的机器人 Atlas 视频?发表了情怀感言,当然只有情怀是不够的,作为技术工科男,还是应该多思考下其背后到底有什么技术。
还是情怀一下:BD的这段视频可以说是冰冻三尺非一日之寒,不信的话,你来看看这段视频:let robot in MIT 麻省理工学院 腿实验室的早期作品 单足 双足 四足 跳跃机器人,更多研究成果和视频可以看:MIT Leg Laboratory。这个是三十年前的故事,若想了解如今的BD,看看这个网站:Boston Dynamics is changing your idea of what robots can do. | Boston Dynamics。
近几年BD的产品还是很多的,包括Handle、SpotMini、Atlas、Spot、LS3、WildCat、BigDog、SandFlea和RHex,详情见Boston Dynamics | Boston Dynamics。知乎中也有大神讲解了波士顿动力是一家什么性质的公司?。
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)收购。
书归正传,在大概了解的BD后,下面回顾下Atlas的经典动作-后空翻。
在介绍Atlas后空翻的技术之前,先来介绍些预备知识。
1. Atlas属于Limbed system(Spring Handbook of Robotics的P419-441)的一种类型,贴几张图片吧。
2. 进一步细化,Atlas属于Legged Robots(Spring Handbook of Robotics的P1203-1263)。
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)。
1)The Dynamic of Legged Locomotion
Atlas最为关键的是动力学建模,一般根据Lagrangian和Newton and Euler建立模型,来一段贴图:
上面的这段话可以解释后空翻实际并不难,下面来解释:
在Flight Phases,Atlas并没有与环境接触,因此没有任何的接触力f_i,此时牛顿方程简化为:
在空中的过程实际是个抛物线运动,因此没有办法在空中改变Atlas的运动。上式中的欧拉公式可以简化为:
在这种情况下,Atlas既可以控制关节的运动,也可以控制整体的旋转,前提是在落地之前。
综上所述,在空中运动过程中,Atlas无法改变运动,但是可以改变姿态,也就是后空翻或是前空翻等复杂动作,只要在落地之前完成动作即可,当然跳以前也需要做步态和运动等的规划。
2)In Contact with the Ground
接触面包括了 flat ground 或是 multiple surfaces等,视频中的接触面近似flat,若是multiple surfaces,在控制上将会更为复杂。
无论是什么样的接触面,Atlas与地面接触时的瞬间接触力是非常大的,因此对电机有非常高的要求,BD很聪明,选用了液压伺服控制。若是电机的话,可能分分钟爆掉。即使是液压伺服控制,也要考虑主动或是被动柔顺的控制。
个人觉得落地后的平衡相比于walk或是run的平衡相对简单,若是能将walk或是run过程中的平衡控制好,也许落地后的平衡相对较为容易,但是在跳跃之后与地面接触时的力控制就变成了难点。
在空中的时间设计尤为重要,若是时间较短,Atlas完不成空翻动作;若是时间较长,Atlas需要不停地调整姿态,以保证在接触地面前做好平衡的动作。
当然整个过程没有那么简单,下面给出参考文献,有兴趣的朋友可以精读下面的内容(Spring Handbook of Robotics的P1206-1263)。
① In Contact with a Flat Ground:The Center of Pressure. In Contact with Multiple Surfaces.
② Contact Models.
③ Compliant Contact Models.
④ Rigid Contact Models.
⑤ Hybrid and Nonsmooth Dynamics.
⑥ Stability Analysis - Not Falling Down.
⑦ Generation of Dynamic Walking and Running Motions.
⑧ Motion and Force Control.
⑨ Towards Move Efficient Walking.
⑩ Diffenert Contact Behaviors。
内容实在是太多,不可能通过一篇文章解释清楚,所以只给出了大概的解释和内容,起到抛砖引玉的效果。
参考文献:Siciliano B, Khatib O. Springer Handbook of Robotics[J]. Springer Handbook of Robotics, 2016.
雷峰网版权文章,未经授权禁止转载。详情见转载须知。