猎豹是陆地上奔跑最快的动物,能在短短几秒内加速到60英里每小时。在加速过程中,猎豹会四肢两两并用,跳跃加速。现在,MIT的研究人员开发出了一套跳跃算法,并将它用在了机器豹身上。
机器豹拥有四肢,配置了齿轮,电池,电动马达,与动物猎豹的重量也差不多。研究团队对机器豹进行了测试,它能稳定地在草地上跳跃前进,最高时速能够达到10英里,能够跳跃超过一英尺(30cm)的障碍物。据预计,机器豹的最高时速能达到30英里。
有网友在知乎上问:MIT 猎豹机器人算法有多复杂?为什么国内不能研发出这种机器人?
有专业的答主做了以下回答:
其实MIT Cheetah(猎豹)的算法还真不算复杂,至少目前还不复杂,但是,国内依旧做不出来,所以原因还不在算法上。
看完其他人的答案,相信大家也区别出MIT Cheetah和BDI的Cheetah的不同了,题主关心的MIT Cheetah,是MIT Biomimetics Robotcs Lab 副教授Sangbae Kim团队设计和制作的电驱动四足机器人,其基本思想是模仿真实的猎豹,实现高速奔跑,因此该团队目前的工作主要在如何提高MIT Cheetah的奔跑速度上。
MIT Cheetah四个主要设计理念都是为提高该机器人的奔跑速度以及奔跑时间(能量效率)服务的。为实现快速奔跑并提高能量利用效率,MIT Cheetah的设计者主要做了三方面的重要工作:1)机械结构设计;2)执行机构设计);3)控制器设计。就目前的情况来看,机械结构以及执行机构的设计应该说是该机器人能够成功的关键,但是在机械结构与执行机构定型后,控制器的设计将会越来越重要。下面针对这三点分别谈谈我自己的认识。
1)机械结构设计
MIT Cheetah的机械结构是从动物中获得的灵感。
Kim在CMU的一次讲座中提到他在一个
视频中看到一只细腿的鹿在欢快的跳跃,他就在想一只鹿那么细的腿能承受那么重的身体重量进行跳跃且腿不会折断,那为何我们设计的机器人虽然采用强度比骨头大很多倍的铝合金、钢、甚至碳纤维等材料却反而不能承受大负载实现跳跃呢?于是经过其对很多生物足部的研究,发现很多的前足都采用肌腱加腕骨的模式,如下图:
于是他认为,肌腱结构能够减小冲击力,相当于增加了腿部的强度。他通过有限元分析验证了自己的结论,于是设计了类似的肌腱结构足部,并在两个肌腱之间加入了弹簧以增加一定的柔顺性:
以上是其足端结构的来源。正如前面所说,设计MIT Cheetah的目的是实现快速奔跑,而奔跑由腿的快速摆动实现。为提高摆动速度,需要尽量减小腿部的惯量,因此,Kim将腿部主要的惯量来源——执行机构(电机)全部统一放置于髋关节处,并设计了低质量腿部关节,采用类似肌腱的杆来传递能量,带动膝关节和髋关节。经过该设计,单腿的重心被控制在了执行机构所在圆以内,极大的降低了腿摆动时的惯性,重心位置如下图CoM所示:
另外,其采用的脊椎结构,也是通过观察四足哺乳动物得到的启发。该团队设计了差分的脊椎驱动系统,想法很巧妙。当trot(对角步)步态行走时,两条前腿的运动刚好相差180度相位,此时脊椎保持不动,而当galloping(飞驰)步态行走时,两条前腿同相位,则在前腿同时后摆时带动脊椎弯曲,达到跟猎豹奔跑时的脊椎弯曲一致的效果。这样做的好处是什么呢?节能。飞驰步态时两条前腿同时触地和离地,在奔跑过程中,前腿会有一个从向后摆动然后减速然后加速向前摆动的过程,这时,脊椎的参与使得原本在前腿后摆减速过程中损失的能量存储在了脊椎的弹性势能里面,在前腿向前摆动时再释放出来转化为前腿的动能,实现了能量的回收利用。
最后,MIT Cheetah其实还设计了尾部结构,其灵感来自于猎豹追逐猎物时,在变换方向过程中,尾巴在保持猎豹奔跑稳定性方面起到的至关重要的作用,如下图:
MIT Cheetah团队也做了相关的实验,证明加入尾巴对侧向冲击具有抵抗作用,能够增强其侧向稳定性。如下图所示,在侧向用球击打MIT Cheetah时,其尾巴摆动提高了侧向稳定性。其实摆尾巴的原理很简单,就是角动量守恒。
2)执行机构设计
以上讲了其机械结构的特点,机械结构的优异性决定了其拥有高速奔跑的潜力,而执行机构的能力才是真正实现高速奔跑的大杀器。电机设计这方面在下不懂,这里列出其单电机的基本参数:
第一版本的Cheetah使用的是商业级电机Emoteq HT-5001,参数为:
重量:1.3Kg
最大扭矩:10Nm
而该电机不符合他们的峰值扭矩要求,于是他们自己随意设计了一个……他们自己设计的电机参数为:
重量:1.067Kg
最大扭矩:30Nm
为啥他们随意设计了一个就比商用级的电机强这么多?!!真的是随意设计的么……显然,随意二字是我自己加的。第二版Cheetah用的应该就是这个电机了。
执行器部分的结构如下图所示,一个模块内包含了单腿所需要的两个电机转子和定子以及减速齿轮,还包含了必要的光电编码器。每条腿需要一个这样的模块。
3)控制器设计
最后说说控制器设计。这方面从其发表的论文来看其实没有什么新颖的东西,跟BigDog的方法也差不多,甚至还更简单。因为目前其主要关注奔跑速度,对地形的适应能力还没有做过多的扩充,也就在第二版
视频展现了其越障能力,而越障能力其实已经在第一版就实现了。本来就是研究的galloping飞驰步态,因此实现跳跃并不难。第二版也就是加入了一个激光测距传感器,检测前方的障碍物高度,然后实施跳跃动作。如下图:
当然,要想实现跳跃也不是很简单,需要计算起跳地点,落地地点以及达到落地地点所需要的力,还包括步态的设计,但是这样的功能BigDog已经实现了,所以也就不算新颖了。
其他一些比较重要的内容也顺便提一下,一是trot到galloping步态的切换,采用的是CPG。为提高奔跑稳定性,采用了swing leg retracting(摆动腿回缩)技术。为实现触地柔顺性,采用了阻抗控制技术。这些都不具体说了。有兴趣的参见参考文献中的论文吧。
总结:
从以上三点,我们很容易得出结论,有时候不一定要有多么深奥的算法,多么复杂的控制结构,但是,一定要有一个好的平台,好的机械结构,我们经常自己调侃自己,要是结构做得好,我们自己的BigDog早就能跑了!哈哈。