400-0919-097

基于自然动力学的机器人如何控制无人驾驶自行车

来源:dedesos.com  发布时间:2019-09-06 15:05  字体:[   ]

基于自然动力学的机器人如何控制无人驾驶自行车

基于自然动力学的机器人如何控制无人驾驶自行车

2003年赵明国教授进入清华自动化系工作,全身心投入到仿人机器人步态控制及无人驾驶自行车的研究中。他不仅是清华大学自动化系副研究员、机器人控制实验室主任,同时担任优必选科技人形机器人首席科学家,和优必选科技人形机器人团队一起在最前沿的人形机器人技术上进行探索,他所带领的团队多次参加全球机器人领域最知名的RoboCup机器人世界杯比赛,在多个赛项上获得前三名。



机器人在某种能力上达到人类的水平,甚至超过人,这是所有从事机器人研究的人,尤其是专注运动控制的研究人员需要面对的一个挑战。在挑战的过程中,我们追求的是哪些可以提炼出来做一些新的东西控制方法。所以,我们本身的目的并不仅仅是把无人驾驶自行车做出来,更是把它作为一个标杆,去验证一些技术,然后让这些技术在其他行业能够应用。无人驾驶自行车在天机芯片研发过程中的应用就是一个很好的案例。


基于自然动力学的机器人如何控制无人驾驶自行车




基于自然动力学的机器人如何控制无人驾驶自行车

基于自然动力学的机器人如何控制无人驾驶自行车

我们早期的研究中,是在固定的速度下,通过车把的转向控制就可以实现在平地上行驶,在稍微粗糙一点的草地上也具有比较好的稳定性,甚至可以过一些障碍。通过控制让自行车做到这样的功能没有特别大的难度,我们通过第一代的天机芯片就实现了这个功能。对于自动行驶的自行车控制起来真正的难度在于低速度、变速度和有各种扰动的时候,能不能做的更好,需要考录更多的内容。



我们对车的最初想法是让它自主跟住主人,所以我们用神经网络做了一些训练,让车可以在主人的后面跟着主人跑。我们最开始的愿景有这一项:主人变速车要改变速度,主人变路径车也要改变路径。这就要求在车的平衡控制功能之外,系统要具有一个视觉闭环,能够去追踪主人及做好行驶路径控制。把这些都做完之后,和整个天机芯片团队一起,再加上语音识别等功能,并把它们都用天机芯片来实现。天机芯片是世界上第一个异构的芯片,我们的识别、操控恰好为它提供了这样应用问题。



这是自行车的数学模型,车身倾角、车把转向角、后轮速度,三个变量就可以描述了。一个后轮或者前轮驱动电机,一个车把转向电机就能够实现控制,当然需要角度传感器测量车身的倾角,这个系统的平衡原理和倒立摆没有太本质的区别。


基于自然动力学的机器人如何控制无人驾驶自行车




但为了更大的适应性,解决状态之间的耦合,对参数的敏感等,都要在工程上把这些做得很好。我们最主要的工作之一是把速度估计做得比较准,测车轮的速度是不够用的,传统的状态观测器也不太适用,也很难建立模型,我们需要把这些理论和实际情况结合起来去具体解决这件事情。下面是就简化的模型介绍控制系统。


基于自然动力学的机器人如何控制无人驾驶自行车




基于自然动力学的机器人如何控制无人驾驶自行车

基于自然动力学的机器人如何控制无人驾驶自行车

我们未来想做什么?短期要把低速、静止,包括机动性、粗糙路面做得更棒。中期还是希望自行车能够实现的更多人类具有的功能,比如腾空、稳定落地等。将来希望自行车能够在更复杂的环境中行驶,还需要增加环境感知系统,因为一辆自行车或摩托车跑到100公里每小时以上,对环境的感知会有非常高的要求。所以,它能带动的挑战性问题也应该比较多。这个车可以继续做下去,除了验证天机芯片的功能以外,它本身控制能力的研究也很有趣。



实际上无人驾驶自行车要面临的环境非常复杂,我们几乎处理不了,现在只能说我们有了一项技术,但是可能还有十项技术要我们去做,才能达到能应用的效果。只做其中一个,不足以支撑那么多应用,所以希望更多的人加入进来解决更多的问题。



这是加拿大的一个教授在1988年到1990年做的工作,是一个机械结构,在一个非常小的斜坡上给了一个初始的状态以后,它就可以走下去,而且走出来的性能指标和人比较接近。1990年它发表在机器人领域最好的杂志IJRR上,作者几乎把这套理论和方法全部写下来了,但实际上这个结果一直没有得到太多人的关注和认可。直到2005年,康奈尔大学用这个原理做了右下角的机器人。这个机器人以跟人类相当的能量效率实现走路,并发表在Science的307期上,当年引起了很大轰动。


基于自然动力学的机器人如何控制无人驾驶自行车




这个时候这篇文章登在Science上也就很合乎情理了,因为机器人做到了与人几乎相当的能量效率。这套原理怎么应用,大家非常关注,2005年一直到2010年这个领域突然火爆起来,但之后进展非常缓慢。简单讲,宏观物体受牛顿定律的支配,根本层面所有事情已经解释的非常清楚了,大家也很难提出太多的方法。值得一提的是,这期间Nature和Science也发表了好几篇相关研究文章。



基于自然动力学的机器人如何控制无人驾驶自行车

基于自然动力学的机器人如何控制无人驾驶自行车

2014年以后我发现了一些新的问题,觉得可能比较重要。有些生理学研究的人将人走路的步态记录下来,发现数据看上去“乱七八糟”,因为每一步都不是完全相同。最开始人们认为这就是采样或路不平引起的随机干扰,但分析了以后,发现不是随机数据,而更符合混沌的特征,而且和跟年龄、健康程度等有关。



基于自然动力学的机器人如何控制无人驾驶自行车

基于自然动力学的机器人如何控制无人驾驶自行车

实物机器人上也有人发现了混沌步态,这是日本一个被动的四足机器人,观测发现了混沌步态的结果。清华力学系的博士生叫柳宁,他做的被动机器人也观察到了分叉步态。我也做了一个小的实验装置,学生拿手机去录音,也观察到了分叉的结果。混沌会带来很多重要的结果。单周期步态代表只有一个周期,每一步都是重复的。但是经多周期到混沌以后,每一步都不重复,覆盖的面积可能步态范围非常大,但是就是不倒,可以不停地从一个转换到另一个。展开时间轴曲线,你看不出这些曲线有什么区别,所以画出来就像一个毛线团一样,一圈的毛线都是一个状态的轨迹。我的问题是:人走路最理想的状态是单周期的,还是混沌的?这就涉及到我前面提出的生理学的问题,最终测出来的结果是倾向于混沌的。


基于自然动力学的机器人如何控制无人驾驶自行车




我做了一个特别简单的被动机器人,左边第二个。别看小,效率很高。我们是在机器人两腿之间加了橡皮筋,用了燕尾夹去调整橡皮筋的张力,改变它的刚度,也可以用燕尾夹夹一些质量块来调整质量分布,就是改变系统的参数。经过微小的改变,就可以让系统稳定性得到极大的增强。和前面放的帕金森病人的视频一样,视觉上做一个微小的刺激就改变了整体的属性。这些系统有共通的地方,能够通过微小的改变实现四两拨千斤的效果。人类走路的过程中没有人用大脑去控制,都是用脊柱中的中枢神经来实现控制。中枢神经这个振荡系统是工作在混沌状态,还是工作在其他状态?“能不能通过微小参数的调节性能?”就变得很重要,我们要把这件事情解决好,是否可以解决其他问题。我们已经知道被动原理可以做出很好的机器人,所以我们就看动力机器人方面了。


基于自然动力学的机器人如何控制无人驾驶自行车




这变成一个很重要的问题,我们做机器人按什么原理去做,做外骨骼按什么原理去做,可能存在最根本的差异。所有人都按照单周期这样的步态去做,就是欠缺一个理论基础,这注定是一个机械的做法。我们做仿生仿是原理,就要确定这个原理是不是正确的。我们做的模型只能是两条腿之间拉个橡皮筋,不是很符合实际情况,人是躯干和每条腿之间有肌腱、韧带和肌肉。所以我们做了这样一个与人相近的模型,仿真分析居然也有混沌现象。过渡到混沌之前,会出来一个特殊的分叉现象,如左边的图。横轴是时间,纵轴是角度。看数据看不出太大区别,不仔细看认为还是个周期性步态。脚与地面碰撞状态的像平面图是右面这个图,也是步态像轨迹的庞加莱截面图。每次状态轨道在截面上都有一个点,它们就在最外面的圆圈上跑,一次也不会重复,但会经过13个周期回到初始位置附近一次,不过永远不能回到重复的点上,只能一圈一圈绕,最后走路的像轨道就变成一个游泳圈,而不是一条线。像轨迹是在游泳圈表面上绕的轨迹,永远不重复。再往下过渡就也进入混沌步态了。


基于自然动力学的机器人如何控制无人驾驶自行车




还是拉动两条腿上的橡皮筋,一条是红色,一条是蓝色。标准的过程是在T等于0的时候,两个角度,红色在0的位置上,另一条腿是蓝色的在上面某一个角度上。时间开始以后,到T1阶段两个都朝某一个方向动,动到T1的时候,蓝色的不动,红色到T2的时候反方向动一下,这个过程就结束了。就两个参数,一个是拉的角度,一个是拉的时间。如果一个T1、T2是一个系统,改变一次以后变成另外一个系统。所有的可能系统在某一个时刻被选择,哪个系统对未来是最好的我就选哪一个系统。实验中T1、T2是按照对数收敛分布,我大概三十几组数,如果一瞬间能算出来,在零时刻就知道从现在开始走一步这几组参数里哪个最好我就走哪一个。每一步都这样做,就会出现一个非常好的结果。



基于自然动力学的机器人如何控制无人驾驶自行车

基于自然动力学的机器人如何控制无人驾驶自行车

我们用这种方法做了一个双足机器人,但还很初级阶段,还没有实现在线运算。当它遇到地面干扰的时候,非常容易就切换到新步态上。在此之前解决干扰问题相对比较困难,要建模,要搞很多控制,现在做一个简单的切换就可以了。理论分析很长,但实际执行的算法非常少,现在还处于只是平面机器人的实验阶段。



以后的应用,除了控制速度、控制落脚点,其他的东西都可以加进去,但目前只用的控制速度和落脚点两项。



机器人面临的挑战要比其它人工智能的领域难得多,解决的问题要现实得多,所以还是要一块一块的去解决,目前我们能解决其中的一块,控制平衡我们能做得很好。再往后发展,人工智能要解决更多领域的问题,才能有更广阔的应用前景,但是现在没有突破性的技术。这个技术不在于机器人本身,还是在于人工智能本身,人工智能要落地机器人是非常好的载体。做机器人研究和人工智能研究的位置关系,很多人想法都不一样,我觉得是这样的,机器人从业者绝对要认清楚自己是蓝领,研究人工智能的是白领,做机器人一定是为人工智能服务的。当然工业机器人不需要,没有人工智能这么大的发展之前,工业机器人发展的挺好。但是为什么要为它做服务,因为机器人更大的空间还是服务机器人,服务机器人要想真正应用,必须有很好的智能。



服务机器人需要解决的问题最终都是靠人工智能来解决的,我们搞的控制技术在里面解决的是从属问题。所以,机器人一定是作为人工智能的载体,这样才能把问题解决掉,引进人工智能的手法也还是为了解决控制层面的问题。我们要把平台做好,让人工智能研究者可以在上面做更多的算法和应用测试。



注:文章内的所有配图皆为网络转载图片,侵权即删!