智能双足机器人舞蹈动作控制及稳定性研究

2016-12-21 12:23杨窈李霁叶建南章平强俊
电脑知识与技术 2016年28期
关键词:动作

杨窈+李霁+叶建南+章平+强俊

摘要:利用具有17个自由度的智能双足机器人,采用智能技术,通过ARM单片机来控制各个舵机。通过编码调试,无线传输,使其达到预定的角度,由此模拟人类前进、后退、翻滚等的各式各样的动作,并伴随着音乐节拍,实现机器人舞蹈效果。通过反复实验调试,智能双足机器人舞蹈动作控制及稳定性能良好,完成整段舞蹈的编排,达到了预期效果,证明了技术的正确性和可行性。

关键词:智能双足机器人;机器人舞蹈;动作;控制及稳定性;自由度

中图分类号:TP242 文献标识码:A 文章编号:1009-3044(2016)28-0192-04

Abstract:This thsis using intelligent biped robot With 17 degrees of freedom,adopted intelligent technology,using ARM single chip to control every actuators.By coding and testing,Wirelessly transmission to achieve concerted angle,from this to imitate human multifarious motion such as forwarding,fallbacking,rolling and so on,realize robot dancing effect with musical beat.By experimental testing tautologically,the action control and cooperation for intelligent biped robot function fine,complete all dancing arrange,achieve concerted effect,shows that this technology is correct and feasible.

Key words:intelligent biped robot; robot dancing; action; control and cooperation; degree of freedom

随着社会科学技术的发展,对于机器人的研究已成为高技术领域内代表性极强的战略目标[1]。智能双足机器人是一种智能化的、可以模仿人类运动方式和动作行为的特种机器人[2](如图1)。因其具有较强的稳定性及柔和性,消除了以往机器人动作的机械感与僵硬感,在国内外收到广泛欢迎[3]。2016春节联欢晚会,540个机器人组成了四个方阵进行了机器人舞蹈,节奏一致、步伐整齐,展现了成熟的机器人技术。

机器人的发展历史可以追溯到1968年,美国研究人员R.Smosher制作了一台操纵型双足步行机械Rig,从而揭开智能双足机器人研制的序幕[4];1969年,日本早稻田大学教授加藤一郎研制出了具有六个自由度的平面自由度步行机WAP-1,它是采用人造橡胶肌肉为关节,通过肌肉收缩牵引关节转动来实现动作,但因只具有六个自由度,所以它的稳定性不高[5];国内的起步较晚,哈尔滨工业大学于1985年开始研制双足机器人;1989年,国防科技大学研制成功一台具有是十个自由度并且能进行静态和动态步行的双足行走机器人;本文介绍了Robonova-2智能双足机器人模拟人类的前进、后退、转弯、横向跨步、前滚翻、后滚翻、侧手翻、单腿支撑蹲起、倒立、做俯卧撑、伏地起身等各种各样的动作。并伴随着一定的音乐节拍,实现机器人舞蹈效果。

1 软硬件详述

1.1 机器人规格

Robonova-2智能双足机器人具有17个自由度,肩宽为9.0厘米,双臂伸平横向长度为18.0厘米,直立高度为32.0厘米,此尺寸类似于人体比例,由此做出的舞蹈动作更美观,稳定性也随之加强。Robonova-2采用可充电锂聚合物电池供电,充电时间为60分钟左右,保证了机器人保持非连续工作一小时以上。

Robonova-2智能双足机器人上肢三个自由度、下肢五个自由度和头部一个自由度共17个自由度,如图2。九号舵机控制机器人头部的旋转运动方向,六号、七号、八号和十二号、十三号、十四号分别控制机器人的左右手旋转运动方向,零号、一号、二号、三号、四号和十八号、十九号、二十号、二十一号、二十二号分别控制机器人的左腿和右腿运动。通过烧录软件将代码烧录到主板中,控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵机,这一系列的运动使机器人完成各种复杂的动作。

1.2 编程软件R-BASIC

R-BASIC全称RoboBasic,可作为Robonova-2智能双足机器人的编程软件,如图3,R-BASIC是专为控制机器人设计的一种类C语言,连接机器人与电脑,设置相应端口,通过一些定义的变量和语句编程,用roboBasic命令控制机器人各舵机的旋转角度从而控制机器人舞蹈。主要包括头文件和一些动作函数,用户自定义一些机器人动作,然后通过roboBasic语法对该动作函数进行实现,在每个函数之间加入适当的延时,一个基本的控制机器人的程序就完成了。roboBasic的语法是基于普通的BASIC程序的语言,大多数的roboBasic和BASIC相像。R-BASIC的一些常用指令有DIM指令,用于变量的声明;GOSUB,用于调用子程序;SPEED指令,用于设置伺服电机速度;DELAY指令,用于延迟程序执行的指定时间。

2 机器人舞蹈的动作设计过程

智能双足机器人的舞蹈动作设计,是设计者根据真人舞蹈、卡通视频以及想象中的舞蹈动作,按照机器人本身的机械结构和形象特点,设计各种个性化的动作。通过控制舵机在指定时间内到达指定角度,使机器人形成预想的空间动作,如图4。智能双足机器人完成一个期望的动作主要有两个过程,一是将动作数字化,即把真人的动作表示成舵机的旋转角度、旋转速度以及完成时间等数据序列;二是按照这些数据序列控制机器人运动,在规定的时间内完成相应的舞蹈动作[4]。

智能双足机器人的舞蹈动作设计方法主要有以下两种:

1)直观估测法:这种方法基于简单模仿的思想,直接模仿模特动作,由此进行设计与实现。观察真人动作,目测估计各个动作的参数,如时间间隔、舵机旋转角度、舵机旋转速度等。将估测到的数据用roboBASIC语言写入单片机控制板,编译运行后观察动作的效果,如果效果不佳,则返回修改相关数据,重新执行,直至确定最终结果。这种方法在观察真人动作时存在很大的随意性与不确定性,并且在将这些参数写入单片机控制板之前,机器人并没有给出相关反馈,究竟在这组数据控制下的舞蹈动作是否稳定、协调、美观,是否与音乐合拍等。因此,用直观估测法设计机器人舞蹈动作需要进行反复多次调试。

2)动作示教法:这种方法是认为对机器人各关节进行一定角度的旋转,将其摆置成期望的动作,记录这个动作所对应的舵机参数值,然后通过roboBASIC语言将各个参数值按组写入单片机控制板,编译运行后观察动作的效果,并不断调整参数值直至达到最理想状态。这种方法的优势在于可以直接反映出各关节运动的参数值,即可以直接将机器人动作转化为相应的数据程序,减少直观估测时反复调试的次数。

3 稳定性研究

3.1 静态步行与动态步行

智能双足机器人的行走方式分为两种:静态步行和动态步行。静态步行是指双足机器人在行走过程中一直处于静态平衡状态,即其重心在地面的投影始终位于支撑面内。静态步行时,各杆件的速度及加速度较小,可不考虑惯性力的影响对机器人的影响,其着地时脚掌与地面接触的瞬间速度可以忽略,可认为不发生碰撞,因此稳定性较易控制。而动态步行是一种高速步行方式,动态步行时,由于其高速性,使得机器人在前向和侧向两个平面产生惯性力,破坏了静态平衡,稳定性不易控制。从能量角度分析,静态步行的驱动力矩主要是克服重力矩的,而动态步行的驱动力矩是克服重力与惯性力的合力矩的。

机器人重心(center of gravity,COG)在地面的投影可体现静态步行的稳定性。智能双足机器人在行走的过程中,左右脚掌交替落地支撑,产生一个不断移动和变化的支撑面。在此过程中,如果机器人重心在地面的投影始终保持在支撑面内,称为满足静态稳定性条件。在机器人步行速度较低时,满足静态稳定性条件可保证机器人实现稳定静态步行。相反,若其重心在地面的投影落在支撑面边缘则处于临界稳定状态;落在支撑面之外,则处于不稳定状态,此时机器人会发生倾倒。因此,保持双足机器人重心在地面的投影始终落在支撑面内,才能实现其稳定的静态步行,如图5。

动态步行时,由于机器人惯性力的作用,其重心在地面的投影可能不会一直落在支撑面内,还会落在支撑面边缘,如图6所示,因此对其动态步行时的稳定性的研究不能用重心在地面的投影来体现,ZMP概念的提出,为机器人动态步行稳定性的研究提供了依据。

3.2 ZMP稳定性判据

智能双足机器人在动态行走、舞蹈的过程中,与地面的接触面积较小,重心较高,易发生倾倒。因此,步行的稳定性一直是智能双足步行机器人所要解决的技术重难点。常用的步行稳定性理论是ZMP(Zero-Moment Point,零力矩点)稳定性判据。

1972年,伍科布拉托维奇(Vukobrastovic)等人首次提出了ZMP概念,后成为研究双足机器人稳定性的经典理论。ZMP指地面上双足机器人足底受到的合力点,由于力的相互作用,其足底将受到的地面反作用力,反力在该点绕其在地面上的力矩分量为零。当双足机器人静态步行时,其重心在地面的投影和ZMP重合,如图7所示;动态步行时,由于速度的存在而产生惯性力,导致机器人的重心在地面的投影不能一直保持与ZMP重合,如图8所示。当重心在地面的投影落在支撑面之外时,机器人运动是不稳定的;若ZMP点落在支撑面以内,则机器人运动是稳定的[6]。

在智能双足机器人行走的过程中,ZMP应始终保持在支撑面区域之内。若单脚支撑,则ZMP位于支撑脚的支撑区域内,此时机器人保持动态平衡,否则机器人会因稳定性不高而倾倒。

在机器人行走的过程中,ZMP应一直保持在支撑脚掌所组成的凸多边形有效支撑面内。如图9和图10所示,单脚支撑时,ZMP位于支撑脚的支撑面内时机器人能保持静态平衡,符合稳定性要求;双脚支撑时,ZMP位于支撑多边形以内且距边缘一定距离时,机器人保持动态平衡,满足稳定性要求;反之,若ZMP位于稳定支撑于的边界,那么机器人将会倾倒或倾倒的可能性较大,此时为临街稳定性状态;若ZMP位于单脚支撑时的支撑多边形之外,那么机器人会因不能保持平衡而倾倒,这就是ZMP稳定性判据。ZMP的引入,为双足机器人的稳定性及动态步行的设计提供了重要的理论依据。

3.3 不稳定原因

导致智能双足机器人不稳定的原因主要有以下五点:

1)双足机器人自身的不稳定性。由于双足机器人的各个活动关节为舵机,在无电机驱动力的情况下,机器人难以保持直立状态,在有电机驱动力的情况下,当机器人的重心在地面的投影落在足底且ZMP点落在支撑面以内时,双足机器人才可能保持稳定行走,否则就会倾倒。

2)双足机器人本身是一个非线性的混合系统。其模型近似于倒立摆模型,但机器人接触的平面是随机的,即它的落脚点是任意的,由此双足机器人是一个非线性的复杂系统。

3)双足机器人所接触的地面随机。在地面特征未知的情况下,机器人稳定步行的条件是苛刻的,地面的任意角度都有可能导致机器人倾倒,致使双足机器人稳定步行的难度加大。

4)目前对人类步态行走以及人类运动稳定性机理的研究还不够深入,有待进一步的学习和提高。

3.4 ZMP的计算

要实现机器人的动态步行,必须保证零力矩点ZMP在机器人步行的过程中,始终落在其支撑面以内。下面进行ZMP的计算。

在笛卡尔坐标系下的期望ZMP为[5]:

其中,(XZMP,YZMP,0)为机器人ZMP点的坐标;

mi为机器人各连杆的质量;

i,i,i为机器人各连杆的质心加速度;

(Xi,Yi,Zi)为机器人各连杆的质心坐标;

g为重力加速度;

当机器人静态步行时,各连杆的质心加速度相等且为0,即i=i=i=0,得:

由式(3)与式(4)得出智能双足机器人静态步行时的质心即为ZMP。所以,只要机器人重心的投影落在其脚面上,就能保证机器人步行的稳定性。

4 机器人舞蹈实验过程与结果分析

本实验通过不断计算ZMP的值以及调试机器人舵机的角度来调节其稳定性与美观性,下面分别对机器人进行零点设置实验、金鸡独立实验、侧步实验和倒立实验。

4.1 零点设置实验

机器人最原始的动作,也是机器人复位和调零的动作,机器人双手伸平,双腿保持站立姿势,方便对机器人舵机的初始角度进行调零,以及对后面复杂的动作进行调试,同时还是各个动作之间的衔接点,其重心在地面投影一直落在支撑面内,稳定性较高,如图11。

机器人保持站立姿势时,各个舵机的值应该为100,将这组数据烧录到机器人中后,机器人的双手和双脚有存在一定程度的弯曲,在无电机驱动力的情况下此动作稳定性不高,需对机器人左右脚舵机进行微调,使其保持标准的站立姿势,直到达到最理想的姿势。

4.2 金鸡独立实验

机器人模拟人类单脚站立的动作,前进时先将身体的重心倾向左边,接着抬起右脚,然后右脚向后伸展,身体重心左倾,伸直两臂,就完成了金鸡独立动作,如图12。

机器人抬脚时,应该将重心偏向一方,然后抬起另一只脚,根据这个动作先写出大致的舵机角度,然后将这组数据烧录到人形机器人中,发现人形机器人的重心偏移的程度不够,其重心在地面的投影落在支撑面以内的边缘处,难以保持平衡,易发生倾斜导致侧翻。对机器人的稳定性进行微调,使其能够保持平衡且左脚迈出的距离足够,经过不断地调试与运行,稳定完成金鸡独立动作。

4.3 侧步实验

机器人模拟人类横向平移动作,先将重心右移,弯曲右膝,接着抬起左脚向左跨步,待左脚稳定踏地后弯曲右膝抬起右脚,实现右脚向左跨步,如图13。在此过程中,机器人重心的偏移是造成不稳定的主要原因,其在重心左右倾的过程中重心在地面的投影有可能在支撑面边缘甚至超出支撑面,因此不断调试舵机角度将其重心保持在支撑面中心。

4.4 倒立实验

机器人倒立时,先将身体的重心往下压,之后伸出双手并慢慢倒下,将双手收回然后沿水平方向将将双手平举并缓慢抬起双脚,用双手和头当支点来保持身体平衡,防止机器人摔倒,在倒立的同时双脚可以做各种复杂的动作,如图14。

倒立这个动作是依靠人形机器人的双手和头部来支撑他的平衡,双脚保持直立朝上,先模拟出这一组数据,将这组数据烧录到人形机器人中,机器人保持平衡,但是两腿的方向不一致,并且腿部有点弯曲,倒立时的支撑面积相对较小,因此对机器人稳定性要求较高,对机器人腿部的舵机进行微调来解决这一问题。

6 结束语

本文利用具有17个自由度的智能双足机器人并对其进行舞蹈动作控制及协作研究。通过RoboBasic编译软件对Robonova-2智能双足机器人进行舞蹈的编排,通过不断地计算ZMP的值以及调试舵机的角度保证其重心在地面的投影落在支撑面以内,增强舞蹈动作的稳定性与美观度,并可以伴随音乐节拍实现一定的舞蹈效果,对机器人娱乐、服务等领域的研究做出了一定贡献。

参考文献:

[1]陈宗君. 舞蹈机器人控制系统设计[J].科学之友,2013(1):1-2.

[2]郑万通,仉俊峰,王东,等.仿人机器人舞蹈动作的研究[J]. 自动化技术与应用,2015(10):134-137+145.

[3]胡志强,王润孝,李曙光.舞蹈机器人动作设计与实现研究[J]. 制造业自动化,2006(11):36-39.

[4]郗俊杰.多智能双足机器人的动作控制及协作研究[D].西安电子科技大学,2012.

[5]罗伟,游鹏辉,陆荣信,等.仿人机器人足部结构与感知系统设计及ZMP计算[J].机械与电子,2013(10):67-70.

[6]熊芳. 双足舞蹈机器人稳定性研究[D].兰州理工大学,2012.

猜你喜欢
动作
动作不可少(下)
动作不能少(上)
巧借动作写友爱
下一个动作
动作描写要具体
让动作“活”起来
动作喜剧电影周
一般过去时
Aetion(动作)