王滨, 郑元松 , 李思远, 李慧慧, 王思琪, 刘巍, 杨君子, 王立新, 殷红
(1.大连豪森瑞德设备制造有限公司,辽宁大连116036;2.大连工业大学机械工程与自动化学院,辽宁大连116034)
机器人是现代科技发展的必然产物,双足步行机器人的研究是近年来机器人研究的热点之一。国外早在20世纪60年代起就开始了相关研究,在机器人的本体设计、控制方法、运动稳定性、步态规划等方面取得了较好的效果[1]。机械、电子类课程关于自由度、机构设计和单片机设计等内容,抽象的理论知识较多,学生难于理解。针对这种情况,研究设计了双足机器人教师,以机器人自身运动步态为实例,结合机器人语音讲解和问答,使机器人结构和控制等抽象内容得以充分展现。
双足机器人教师主要由5部分组成,分别为运动机构、指纹识别模块、语音发声模块、语音识别模块和智能控制系统。双足步行机器人教师的运动机构是所有部件的载体,也是设计过程最基本和首要的工作[2],通过其运动机构能够完成双腿行走、双臂摆动和回复等基本功能;指纹识别模块能实现课堂点名功能;语音识别模块和语音发声模块完成课程的讲解和问答;智能控制系统将指纹识别模块、语音识别模块、语音发声模块,以及舵机的控制有效结合,控制指纹识别模块实现点名功能后,对机器人发出指令控制舵机实现四肢的动作,完成行走、摆臂和回复,同时利用语音识别模块、语音发声模块结合自身运动展开课堂内容的讲解和问答。
模拟人类行走时的步态,调整舵机的旋转角度,完成机器人的步态行走。为使双足机器人教师实现行走动作,如图1所示,将机器人的每条腿配置3个自由度,髋关节、膝关节、踝关节各一个自由度。除上述6个自由度外,机器人的两只胳膊在肩关节处各配置一个自由度,因此本研究机器人自由度总数为8。每个自由度由舵机驱动。髋关节和膝关节俯仰自由度共同协调动作可完成机器人的直线行走功能;踝关节的偏转自由度协调动作可实现在横向平面内的重心转移功能。
图1 机器人双腿自由度
2.1.1 对称性要求
在结构布置上,步行运动普遍采用对称性结构。Goldberg[3]等人研究了步行结构的对称性,发现机身运动的对称性和腿结构的对称性之间存在着相互关系。在单足支撑阶段,对称性的机身运动要求腿部机构是对称的,而在双足支撑阶段,则对腿部结构没有对称性的要求。根据这点,本设计采用对称分布结构。
2.1.2 避免耦合干涉设计
当机器人关节自由度为2个或3个时,容易产生自由度的耦合干涉,即通常所说的折叠腿现象。为了防止这种现象的出现,尽量通过设计将旋转轴的中心线交于一点,以降低发生耦合干涉的几率。
2.1.3 机器人关节的要求
机器人关节的设计是双足机器人设计中最关键的步骤之一,为保证机器人在行走过程中步态平稳,行动灵活,动作可靠,本研究关节选用旋转式关节,根据机器人动作要求设计3个主要关节,分别为:髋关节、膝关节、踝关节。
2.1.4 机器人外观设计
本研究机器人由头部、上体、双臂、腰部、双腿、双足等部分构成,模拟人体各部分比例设计完成。所设计的机器人尺寸为 300 mm×270 mm×130 mm,重 1.42 kg。
对机器人而言,驱动器和肌肉在人体运动过程中所起到的作用一样,它通过驱动机器人各关节从而让其实现各种复杂的运动。目前,常用于机器人驱动的驱动器可以分为电机驱动、液压驱动、气压驱动以及其它新型驱动机构。驱动方式特点如表1所示。
表1 驱动方式特点
由于本研究的机器人尺寸较小、动作复杂等特点,选择电机驱动作为本机器人各关节的驱动器。
控制用的电机主要有步进电机和伺服电机两种,但这两种电机输出转速很高,对于本研究机器人而言,驱动器速度一般要求在100~150 r/min,所以需要在电机输出端增加减速机构,这必然会增加机器人的尺寸。考虑到本设计驱动器的负载较低,同时需要调节的速度范围较小,因此选用舵机驱动为机器人提供动力。
为了简化控制系统设计并尽可能提高控制系统的可靠性,本设计采用MG995全金属齿轮舵机做为驱动电机,其主要技术指标如表2所示。
表2 舵机主要技术指标
驱动器与运动机构最简单的连接方法是将舵机与各关节同轴直接相连,虽然采用此种连接方式会减弱整个腿部的机动性,但是本研究机器人只有8自由度,结构相对简单,采用舵机支架直接连接的方式是可行的。舵机支架采用铝合金(LY12)钣金材料,舵机关节受力为双弯曲受力,校核公式如下式:
本研究的机器人舵机支架宽度b=26 mm,厚度h=1.5 mm,最大力矩L=300 N·mm,铝合金材料抗弯强度为30 MPa,通过式(1)校核计算可以得出上述尺寸设计是合理的。
利用Arduino单片机编写语音识别模块、语音发声模块、指纹识别模块,舵机控制模块的控制程序。
机器人共有8个舵机,主要用于驱动各处关节的运动,同时采用Arduino单片机控制各个舵机的运动。由于Arduino单片机I/O接口较少,单独使用时只能控制两个舵机,不能满足设计要求。因此采用16路舵机控制器与Arduino单片机配合使用控制8个舵机。
舵机控制器需要两个电源:舵机电源和芯片电源。由于舵机的功率比较大,当两者公用一个电源时,可能会因为发热量过大烧坏芯片,所以使用两个外接电源分别为舵机和芯片提供电源。控制器与Arduino的配合连接比较简单,只需要将Arduino的TX引脚与控制器的RX引脚相连接,共接二者的GND就可以实现对多个舵机的控制。
语音识别部分采用语音识别芯片LD3320实现;采用芯片WP588D实现语音发声功能。
本机器人运动的实现是通过协调各个舵机的先后运动顺序来完成的,舵机的程序控制部分如下:
void loop()
{if(Serial1.available())
{int inByte=Serial1.read();
switch(inByte)
{ case 0x00:send_data(0x03); break;
case 0x01:send_data(0x04);delay(4000);
titui();delay(3000);
lizheng();
break;
case 0x02:send_data(0x06);delay(13000);
shenshou();
break;
case 0x03:send_data(0x07);
break;
case 0x04:send_data(0x08);
break; }
Serial.write(inByte);
}}
利用三维建模软件Unigraphics建立了双足步行机器人的实体模型,其模型如图2。
双足机器人运动步态设计的难点在于如何使其在行走过程中保证自身的平稳性。目前世界上大多数双足机器人都采用ZMP作为稳定行走的判定依据。当双足机构处于动态平衡时,ZMP和脚底所受地面反力的压力中心是重合的。因此可以通过检测到的地面反力信息,计算出CoP,利用控制策略不断调整ZMP和CoP的位置直至两者重合,最终实现机器人的稳定行走[4-5]。
图2 三维实体模型
在步态设计时,不仅要考虑到机器人的稳定行走,也要考虑各动作之间的协调性。传统的保证协调性的编写方法是采用滚动条的方法,但是这种方法效率较低,不适合在本研究中使用,所以需要编写更加有效率的运动文件。在研究本机器人的动作平台中,由于每台机器人的初始位置所对应的动作数据不同,因而,即使机器人的动作表达式一样,他们所对应的数据也不尽相同。比如,机器人实际动作时的舵机角度值A,初始位置角度值H,机器人进行动作时舵机转动角度R之间的关系如下式:
通过机器人运动中双腿各个部分角度R,H,A的计算,编程逐步移动机器人。机器人立正动作的程序如下:
void lizheng()
{
for(a=40,b=53,c=24,d=14;a<60&&b<73&&c<44&&d<34;a++,b++,c++,d++)
{
servo3.write(a);
delay(2);
servo4.write(b);
delay(2);
servo6.write(c);
delay(2);
servo7.write(d);
delay(2);
}
servo8.write(95);
delay(50);
servo9.write(57);
delay(50);
for(a=87;a<67;a--)
{
servo5.write(a);
delay(10);
}}
初始状态:机器人保持立正的姿势,如图3(a)。
第一步:右腿踝关节转动30°,机器人身体向右倾斜,使重心右移,所有重量都集中到机器人的右腿上,使机器人保持平衡,如图 3(b)。
第二步:髋关节和膝关节转动,左腿向前踢出,同时右臂向前摆,由拉绳拉动肘部弯曲,小臂基本水平。左臂向后摆动,如图 3(c)。
第三步:右腿踝关节回转30°,左脚着地,重心回到两腿之间,如图 3(d)。
第四步:左腿踝关节转动30°,机器人身体向左倾斜,使重心左移,所有重量都集中到机器人的左腿上,使机器人保持平衡,如图 3(e)。
第五步:左右腿的髋关节和膝关节同时转动,右腿向前踢出,同时左臂向前摆,由拉绳拉动肘部弯曲,使小臂基本水平。右臂向后摆动,如图3(f)。
如此循环往复,机器人便可向前运动。
图3 机器人行走步骤
完成了双足机器人教师本体的结构设计,共8个自由度,包括上肢2个自由度和下肢6个自由度。利用Arduino单片机通过舵机控制器实现了对8个舵机的控制,并对其进行步态规划,最终实现前进、后退、左右转等动作。同时,在完成类人行走的基础上,增加了语音识别、语音发声、指纹识别的功能使其能够有效地用于讲解机器人的结构和驱动的抽象知识,实现了课堂的互动。
[1] 周华平,冯金光.仿人步行机器人机构设计[J].电测与仪表,2005,42(2):9-12.
[2] 梁静强,许瑛.双足步行机器人的结构及其控制系统设计[J].机械工程师,2007(3):47-49.
[3] 曾强,方跃法.双足步行机器人整体协调运动规划[J].机械,2007(2):53-59.
[4] Comb G M,Predko M.机器人设计与实现[M].北京:北京科学出版社,2008.
[5] 陈恳,付成龙,仿生机器人理论与技术[M].北京:清华大学出版社,2010.