新浪科技 探索

Seth Hutchinson:BatBot,仿生机器人的新突破

新浪科技

关注

新浪科技讯 8月18日消息,2018世界机器人大会拟于8月15日至19日在北京亦创国际会展中心举行。大会以“共创智慧新动能 共享开放新时代”为主题,由“论坛”、“博览会”、“大赛”、“地面无人系统展示活动”四大版块构成。 本届大赛汇聚了来自美国、俄罗斯、德国、日本、以色列等全球近20个国家和地区的1万余支赛队和数百名顶尖专家,共计超过5万多名参赛选手同台竞技。

美国乔治亚理工大学教授Seth Hutchinson在论坛上发表了题为“仿生机器人新突破:BatBot蝙蝠机器人”的演讲。

以下为演讲全文:

各位早上好,感谢主办方邀请我参加此次精彩的会议,这是我第一次参加这样的会议,也非常期待能够和大家进行更多的交流。在座的很多都是我的同事,看起来好像是我们的聚会一样。今天我的演讲主题是有关仿生机器人,但我不会讲得非常抽象,而是谈一谈过去四年我们所做的一个具体的项目。过去是在伊里诺易大学,目前在佐治亚理工大学。

这是我的团队当中的三个成员,阿里亚佐尼是我们的博士后,中间的乔霍夫是位博士生,宋成也是一位教授,我从他那里学到了很多。

这是国家地理频道的一个视频,讲的是蝙蝠的飞行。通常来说,仿生的开发首先是观察生物的行为。我们有很多方式思考生物给我们的启示,可以看到一边会有人看到动物做了某件事情,然后思考我们应该做一个机器人来做这样的事情。另一方面可能会有科学家,看到这个动物后说要把它完整的地复制下来,包括肌肉和关节等等全部重新复制,看一看我们处在这个光谱的什么位置,怎样思考仿生机器人的问题。作为科学家和工程师,我们应该怎样解决这样的问题,这种仿生一方面是比较松散的,另一方面是比较紧密的。

蝙蝠的飞行方式和鸟类、昆虫不太一样,它的特点是什么呢?具体涉及到飞行机制,应该回 答的问题是需要复制哪些方面。如果需要复制飞行,大家看到我做的蝙蝠机器人之后都会提一个问题,你的蝙蝠有声纳吗?我说没有,因为声纳和飞行没有关系,我们复制的只是和飞行有关的部分,但一定是蝙蝠的特点,而不是鸟类或者昆虫的特点。

作为工程师,需要考虑的问题是如何把几何尺寸及其它参数进行复制。作为设计师,需要了解动力学和几何尺寸有什么关系,什么程度上我们可以把几何尺寸和动力学相分离?机器人是闭环控制,所以要确保其具有合适的控制架构,传统机器人的架构和便服机器人的架构不太一样,线性基础的方法是不适用蝙蝠机器人的开发。如何解决这些问题呢?通过蝙蝠机器人的开发作为具体案例,按照步骤介绍我们所做的这些工作。

比如动力学的设计,一般来说,设计流程中到了某个阶段就会发现生物学已经没有用了,我们已经到了这样的阶段,这是因为我们所处的阶段是飞行领域的知识所无法衡量的。比如一个动物在屋子当中飞行的话,很难衡量和计算它的空气动力学。如果要把它拿去进行研究,比如在它身上放置感应器,这个动物可能就不愿意飞行了,所以还是很难的。

再来看生物机制的复杂性,真实蝙蝠复杂性是很高的,然后再从工程设计的角度谈一谈这个问题。这是一个真正蝙蝠的动画,可以看到它的骨骼结构非常复杂。看到这种蝙蝠生物的时候,我们是和布朗大学的同事进行合作,所以只要看到这种蝙蝠结构都是来自于布朗大学的同事,他们是生物学家,可以看一看它的机制。这是一种非常复杂的机制,要在机器人硬件当中实施这种复杂结构几乎是不可能的,那样机器人会太重了,所以这种真实的蝙蝠的关节有一度左右和三度自由,甚至有六度自由。骨头上面还有一层膜,这种膜也是非常灵活的,所以非常难以复制。有些关节是活跃的,由它的骨骼来控制,有些关节是不活跃的,所以对此在机器人的结构上也很难对它进行复制,因为要考虑到机器人的各种电消耗和重量。

仔细观察蝙蝠的骨骼细节结构,从肩膀到手和人类是类似的,但蝙蝠的差异在于手指更长一些,所以几何尺寸是不一样的,但它的骨骼拓普和人的肩膀到手指是很类似的。当你意识到这一点的时候,蝙蝠和人的手有很多类似之处,你就知道需要了解之前人们对机器人仿造人手的一些研究,可以利用它的方法,包括数学的方法来解决蝙蝠机器人的设计问题,下面几张幻灯片要做的工作主要是解决优化的问题。

在此之前,需要理解它的生物机制。通过这则有关蝙蝠的视频,可以看到它翅膀上面有一些点,这些点是对它运动的记录,当把它置于风道中,可以计算它的空气的速度,也可以模拟不同的大小。我的同事中有很多非常专业的生物学家,做了很多这样的研究,也要从中提取一些蝙蝠飞行的特点。

在分析翅膀移动的时候可以看到它们提取了17个关节,如果做主要因素分析的话,可以看到飞行的时候有三件事情,最后我们可以看到三种运动正在发生:首先是翅膀在拍动,左翅膀和右翅膀是在同时拍动。翅膀还有一个折叠的动作,两个翅膀的折叠动作是有先后次序的,不是同时的。它们的腿可以做上下运动,看起来就像飞机的尾翼一样。这是蝙蝠飞行过程当中的三件事情,可能有些限制因素,可以在动力学模型当中加入进去。

在此基础上,我们设计了一个动力学的拓普模型,首先将全部的自由度进行捕捉,同时对其进行轻量化、低能耗处理,当翅膀变得越大的时候这种拍打的功能也会越来越困难,可能会带来很大的风阻,不够坚固的结构会导致某些部件掉下来。这是放在某人手上的示意图,在底部有一个发动机,这里同时发生着两件事:这种移动其实就是你所希望的移动状态,但同时又可以去抵挡一些来自不同方向的阻力,使其变得更加坚固,也在模仿它两条腿的上下移动。

现在的问题是,这样的结构几何学应该是怎样的?如果看它的手指,它的手指角度应该是怎样的?它的骨骼关节连接应该是怎样的?有一些具体的几何学问题需要搞清楚,通过这张优化图,可以看到我们对它的角度和关节点都进行了优化,并对飞行轨迹进行预测,实际上设计过程当中自由度还是比较大的。采用这种方式,使得我们在驱动机器人的时候反而有了更大的自由度,总共大概有三度自由,还有三种自由度是属于被动型的,并且是受制于驱动器的自由度,这里用紫色的线条显示。大家可以想象这种传统型的动力学设计机制,最终要考虑到长度和角度之间的补偿关系。

如何实现这样的设计并在动力学当中选择所有正确的参数,同时实现仿生学的飞行方式呢?很明显,这肯定是在有限条件下的数学求解问题。这是我们仿生学的同事之前在蝙蝠机器人选择的方式,会有一些虚拟标签在虚拟蝙蝠机器人当中,当然并不是现在看到的最终版本,而是一开始的原型版本。基本上要在里面找到蝙蝠机器人原型的标签参数,这部视频当中可以看到整个拍打翅膀的动作。我们把每一个标签都进行了标记,把所有座标的数据拿出来,建立这样的矩阵,然后会看矩阵当中每一列的数字,包括几何的参数等等,我们也是花了一些时间来研究这种数学。

这里给大家提供的信息和数据可能太多了,关键的参数分析和计算它的具体值,我们是用PCA的方法进行计算。这个例子当中可能有两到三种模式,也是主要数值的输入,包括几种不同的自由度,取决于具体的条件。我们在这当中进行了优化,参数值定义为Alpha,然后看一看手臂结构的参数价值和驱动,这些都定义为不同的数学值。这个例子当中我们也进行了这样的矩阵计算,获得了这些数值以后,一方面要建立仿生学的蝙蝠机器人,另一方面是蝙蝠机器人之间的数值,然后就是优化求解的过程。

我们使用了F-Lab的数学计算软件进行辅助计算,可以看到右边是我们的仿生蝙蝠,左边就是蝙蝠机器人,这是平行拍打翅膀的运动,生物蝙蝠一直都存在动力学的变化,至少从肉眼来看这两种拍打运动是非常相似的。上面的是非驱动状态下的机器人,可以看到它的自由度,下面的是实际的几何形状以及自由度,也就是在用电机驱动状态下的情况。这是机器人航空动力学的具体参数和情况,所以在机器人当中还是比较复杂的,里面是有很多的东西。

机器人的大脑会消耗很大的能量,所以飞行时间也要取决于思考消耗了多少能量,可能有些夸大其词,但确实存在这样的问题。机器人的翅膀膜结构是很酷的,伊里诺易大学有些材料学的学生能做到降低其能量消耗,下行拍打翅膀的时候推动空气,最终可以实现这样的一种空气动力学的被动机制。如果过去看到过其它的工具也是有这样的情况,比如腿部做出这种运动的时候也会在下一次运动的时候出现这种空气动力学的原理。

这里我们并没有对其进行数学建模,有些人不会相信这个验证的过程,但除了仿生学获得的这些航空动力学、空气动力学的想法之外,我们还想看一看大脑当中如何更好地控制蝙蝠机器人。现在我们的仿生学当中正在进行这样的研究,所以我们开始进行了工程学方面的计算,也会给大家看一些公式,可能看起来像符号,但这些公式并没有这么复杂。这里我们看到的是它的动力学的轨迹优化公式,基本上所有的这些都是从一开始机器人的教科书当中找到,就是常见的拉格朗日算子模型。

这是空气动力学的参数,我们要搜集所有的信息,通过这样的机制进行求解,得到最优化的轨迹。这个机器人和其它我们看到的机器人手臂有什么区别?这里有很多的自由度,还有就是非驱动状态下的,因为翅膀在拍打的时候会有不同的动作以及非驱动状态下的参数。这里关键的问题是,我们设计出来的参数模型,可能对你来说是非常罕见的说法,简单来说就是让它保持最好的状态,不会从天空当中掉下来,也不会朝向不稳定的方向飞行。现在可以去求解它在某种驱动自由度下最优化的运行轨迹,这也能够给你一个方式去优化轨迹。

我们进行了这样的一种轨迹的规划,里面当然会有一些限制,比如它的运动是周期性的,应该是稳定的,高度要保持,不要从某种高度坠落下来,然后我们用计算机输入这些参数,获得了比较合理的结果。

控制部分最前面也有所提及,如果考虑其它的驱动运动与之相比的话,某种程度上来说,不管具体驱动运动的机制是什么,都有一些相似之处。当时我们参考了一些运动行走机器人的文献,就是要使用一个象限回归映像进行数学求解。很多的情况下这个机器人都会回到过去的位置,就是拍打翅膀的时候下行的动作,下次回到初始状态的时候就可以把这种动力学的公式进行线性化,之后就可以求解线性二次调节方式LQR,然后求解到回归映像当中。

伊里诺易大学有一个非常大的场馆进行测试,可以看到它的飞行高度还是挺高的,到达某一点以后就又有一个非常优雅的落地状态。这并不是一个闭环的轨迹控制,而是拿着遥感去控制它的运行,从而能够控制空气动力学的状态,使其保持稳定。另外一个视频是在室内,花了很大的成本做这个网,但蝙蝠从来没有落在网上。大家可以看到,可能你觉得它们的控制数学算法一定非常厉害,但其实是进行了具体轨道的优化,也就是说如果在进行控制算法编程的话,最好是能够最大化地接近最优化的轨道。

总结一下,我们一定要了解能够在仿生学当中得到多少,能够在工程学当中做出多少,通过数学的方法进行建模,从而能够获得最想复制的行为,不管有多大的自由度,最为关键的就是刚才说的这一点。

加载中...