一.人型机器人的构成

在这里,让我们参照这实际已经被开发出来的机器人,来介绍一下机器人基本的构成把。左图(略)是Team Osaka开发的人型机器人VisiON NEXTA。是为了参加世界robotcup大会人型机器人赛区的比赛而开发的智能型2足步行机器人。比赛规则是,不可以有人遥控,机器人必须自己通过传感器,判断和行动。所以这种机器人可以检测出足球的位置,然后移动到足球的位置,判断球门的位置,射门。机器人身高475mm,宽260mm,身体材料使用非常轻且强度很大的合成材料,所以应该说是小型2足机器人中的极品了。

下面,我们分别从掌管身体运动的运动部分,识别周围环境的传感器部分,从识别到运动的智能处理部分这三个部分来说明。

1.运动部分

VisiON NEXTA围绕着能和人类一样踢球的机器人这个主题来设计的,为了能达到一定的运动能力,关节的配置也是很重要的,这种机器人一共有23个关节,每个关节都使用机器人专用的舵机来驱动。

根据配置,四肢可以做出以下的动作:

头:抬头,低头

胳膊:前后摆动,回转,横方向抬起

手臂:胳膊可以转,肘部可以弯曲

上半身:哈腰,向后下腰,上体转

腿:转,横向抬腿,向前踢,膝盖弯曲

脚:前后左右弯曲

这样就可以像下图一样作出射门的动作了。 

图1 电机性能

上表,是这款机器人所使用的机器人专业舵机的性能表。23个舵机分为两种,根据所需的转力不同,来决定配置的位置。转力就是表达马达的量,等于轴中心的距离(cm)乘以抬起东西的重量(kg)。比如转力的大小是22kg.cm,就是说半径1cm的臂能抬起22kg的东西。

胳膊,头,腰,和腿中旋转的关节,都用DX-116,比较需要大转力的关节,用DX-117.哪个关节,用哪种马达的设计是很重要的一个环节。如上表所示,转力强的马达,速度就慢一些,这是因为马达的齿轮的配置不同达到不同的效果。因为如果马达经常用很大的转力的话,消费的电力会很大,很快就不能正常的动作了,所以哪里需要大力哪里无所谓大力与否,在最开始设计的时候就要考虑得很清楚。

2.传感器部分

VisiON NEXTA这款机器人,为了能更好的认识周围的状况,应用的全方位视觉传感器,加速度平衡传感器,

还有就是角度传感器3种,下面简单的介绍一下这三种传感器,更多关于传感器的知识以后的文章里会介绍。

全方位视觉传感器,和他的名字一样,可以监测周围360度范围以内的环境,原理就是球面镜和摄像头的结合,用球面镜可以观测到360度范围内变了型的画像,然后再通过画像处理,把变了型的画像恢复成普通的画像。这样我们人就可以判断了,可是机器人是如何判断的呢?

这就需要画像处理这门技术了。首先,摄像头扑捉到的画像分为三元素红(R)绿(G)(B),分解成这3种颜色后,机器人就可以辨别足球和球门,还有队友,对手的颜色了,毕竟是机器人比赛,所以足球什么的颜色,都是大红大绿的。便于辨认,其实在画像认识领域,已经能达到很高的认识水平了。以后应用到机器人身上也是很正常的。

除了全方位视觉传感器,VisiON NEXTA的加速度平衡传感器和角度传感器也是很重要的角色。加速度传感器是判断身体是不是直立,或是判断倾斜了多少度。比如机器人被对手撞倒了,加速度传感器就会马上判断出。然后就会运行起身的动作。还有就是加速度传感器检测出身体倾斜了多少度,机器人往返方向倾斜多少度,就能保持上身平衡了。

角度传感器可以检测出身体往哪个方向,以多少速度移动,所以经常被使用到身体的摇晃程度的检出上。如果检出身体晃动太大,机器人就要作出稳定的姿势来控制平衡。

3.智能处理部分

全方位视觉传感器,加速度平衡传感器,角度传感器中得到的信号,VisiON NEXTA内藏的两台电脑来处理。这两台电脑就相当于这个机器人的头脑部分,如果用佛家的思想来说算是心吧。这两个电脑分别用作主控制器和辅助控制器。主控制器主要进行画像处理,环境认识,行动计划等等,辅助控制器主要是负责动作生成和姿势的安定化。如图,以下的表,表示了这两块板子的性能。用全方位视觉传感器得到的视觉信号,通过主控制器的处理,得到应该做的动作,然后向辅助控制器中传送因该做的动作命令。辅助控制器就是把传过来的命令翻译给舵机,这样就会得到想要得姿势了

主控制器的视觉处理和行动的决定,需要大量的计算,所以主控制器需要尽量用性能高的电脑。辅助控制器用的是写入的芯片,因为辅助控制器的任务是接受主控制器送来的运动指示,并把这个指示翻译给舵机,还有就是传感器送来的身体各部位的状态信号,用这种信号来保持自己的平衡。这种计算要每隔一小段时间就计算一次,所以如果用主控制器来进行这么多的运算,就容易分工不均,导致无法正常运作。写入的芯片,对这种一定间隔实行的处理非常在行。所以分工合作,才能提高性能。

从传感器收到的各种各样的信号,经过分析,机器人要做各种各样的动作,各种各样的动作是事先在电脑中记录的动作流程,比如,向前走,身体改变方向,踢球,这样的动作都是事先输入到电脑中的。难点就在于,如何通过传感器收到的信号,来正确的选择动作。

让我们来想,看到足球,然后去踢球这个单纯的动作。人工智能固然对于机器人来说很重要,但是如果机器人的传感器无法正常的分析,机器人无法正确的运动的话,人工智能也是没有意义的。相反,就算人工智能设计的单纯一点,如果传感器的分析,和动作正确的话,也是很不错的!

那么,这种基本的动作是怎么样实现的呢?VisiON NEXTA的动作组成有两个方法。

一种,辅助控制器上搭载的步行模型,通过步行模型的动作,就是用数式表示步行的轨迹,这种步行轨迹的结果用逆运动学去解,实现步行的方法。逆运动学就是为了实现脚的位置的姿势,计算关节的角度的方法。这种轨迹,是辅助控制器随时生成的,所以机器人可以以自由的步幅,自由的方向移动。

另一种动作的生成方法,RobovieMaker这种动作编辑软件。这款软件如图(略),个个关节的移动参数可以直接输入,如果把电脑和机器人连接起来,软件上的各部分动作的控制,就可以直接反映到机器人身上,所以机器人实际的动作,用眼睛判断来确认是很直观的。

通过这个软件,能生成各种各样的动作,比如踢球这一个动作,也有很多种踢球的方式。

但是为什么还需要逆运动学这种方法呢?因为逆运动学可以很简单的决定关节的动作。所以只有脚需要逆运动学的参与。软件的动作指定就要把所有的关节的动作都考虑进去才行。因为这么多马达如果都用逆作用学来控制,那会非常复杂,难以做到,所以两者结合应用是最好的。

机器人并不是单单是动作生成然后执行。动作中传感器的信号也要考虑进去,像人一样不跌到,安定的保持就要靠刚才说的加速度平衡传感器和角度传感器了。

加速度传感器就是为了在倾斜的地面上,机器人也能自立才用到的。加速度传感器可以测出重力的方向,这个重力的方向和机器人的姿势比较,如果机器人能一直和重力的方向保持一致的话,就不会倒了。机器人脚上的关节的控制来实现机器人的平衡。

角度传感器,就是可以检出机器人的身体回转的速度,如可以检测出身体哈腰,或者左右倾斜时的角速度。机器人身体以什么样的速度回转一直在记录中,如果有预想以外的回转了,就要用马达来控制一下,防止回转。有了这个两样传感器,机器人就很稳定了!