3D打印动漫舞蹈机器人的设计与研发*

2018-07-11 01:04马浩鹏徐红娇胡宇鹏
机械研究与应用 2018年3期
关键词:控制板舵机指令

马浩鹏,徐红娇,李 培,胡宇鹏

(东莞理工学院,广东 东莞 523000)

0 引 言

机器人是一门综合电子、仿生、机械、计算机科学、控制工程、运动学、模式识别、人工智能等多个学科的具有综合性的研究科目。它的发展需要各个领域的知识分子的技术支持,是一个国家综合国力和科技发展水平的体现。仿生双足机器人是一种外形与人类相似,能够模仿人类的物理及感知等特性的机器人。双足步行的机器人有很多优势:首先,通过陀螺仪和算法的设计,它能轻易通过不规则的路面,跨越障碍,甚至是上下楼梯,对行走运动的环境要求较低,其次,双足机器人的移动盲区少,行走面积小,便于感知,如果配置灵活的机械手臂,可极大地增加其活动空间与灵活准确度;最后,由于双足仿生机器人与人类步行相似,无需对工作环境进行太大的改动便可以协助人类工作,对他的研究可以更深入地认识人类的步行规律,甚至为下肢瘫痪和截肢者提供完善的动力学假肢[2]。

舞蹈机器人既是娱乐机器人的一种,同时又是集成了多学科前沿技术的运动机器人的一种。运动机器人的设计与制作,涉及到自动控制、通讯、传感和感知融合、精密机械等众多学科的研究与综合集成。

随着科技的发展,以往高大上机器人正在慢慢的走近我们的生活,进入我们的视野。越来越多的活动主办方为了节目新颖、吸引人,正在逐步引进舞蹈机器人,甚至出现机器人与人同台共舞。

但舞蹈机器人在中国还处于起步阶段,金属的外壳、方正的外形,其外形难免与舞台的格调格格不入。这时,需要我们在现有舞蹈机器人的基础之上对机器人的外形重新进行设计,赋予舞蹈机器人动漫人物的外形,将动漫人物走出屏幕,从一个静止不动的模型变成一个能走会跳的动漫舞蹈机器人。而再结合现在高速发展的3D打印工艺,可以打印出任意的外形,将以往难以加工的外形变为现实。相比金属骨架,3D打印的骨架成本极大的降低,而3D打印的材料的可操作性使修改更加的简单。使这个项目的研究可行性大大的提高。

笔者所研究设计的3D打印动漫舞蹈机器人是一个双足15DOF(Degree Of Freedom,自由度)的舞蹈机器人,该机器人采用舵机来模拟人的关节,一共由15个关节组成,包括腿、手臂、腰和颈关节等。通过不同关节(舵机)旋转到不同角度位置可以模仿人的一些基本动作,比如直立、屈膝、行走、鞠躬等动作。甚至把几百个基本动作组合起来形成一套的动作组,并配合适当的乐曲,就可以构成一套优美的舞蹈表演动作。

1 舞蹈机器人的硬件系统

1.1 舵机控制板

舵机控制板是以ARM Cortex-M3单片机微控制器为内核,包括电源模块、USB下载模块、舵机驱动模块、外部晶振以及各种I/O接口。这款舵机控制板有严格的通信协议来保证各位数据传输的正确性和完整性。表1是通讯协议的一部分。

表1 通讯协议

串口通信,波特率 9600

帧头:连续收到两个 0×55,表示有数据包到达。

数据长度:等于参数个数N加一个指令加数据长度本身占用的一个字节长度,即数据长度 Length 等于参数N+2

指令:各种控制指令

参数:除指令外需要补充的控制信息。

用户主动给控制板发送数据部分

用户的发送数据引脚接到控制板的 RX 插针上,当然用户的控制系统还要跟控制板进行共地(GND),如果用户发送正确数据到控制板,那么控制板上的蓝色LED2 灯会闪一下,表明已经接收到正确数据。如果发送的是错误数据, 那么蓝色 LED2 灯不会有任何反应,保持常亮,蜂鸣器会“滴,滴”响两声,提示用户发送数据错误。

(1) 指令名 CMD_ SERVO_MOVE指令值 3数据长度 Length:

说明:控制任意个舵机的转动,数据长度 Length =控制舵机的个数×3+5

参数 1:要控制舵机的个数参数

参数 2:时间低八位参数

参数 3:时间高八位

参数 4:舵机 ID 号

参数 5:角度位置低八位

参数 6:角度位置高八位参数......:格式与参数 4,5,6 相同,控制不同 ID 的角度位置。

(2) 指令名CMD _ACTION_GROUP_RUN 指令值 6 数据长度(Length)值:5

说明:控制动作组运行,前提是该动作组已经下载到控制板。可以控制动作组运行的次数,如果想让该动作组一直运行,则次参数值为 0 代表无限次

参数 1:要运行的动作组的编号参数

参数 2:动作组要运行的次数低八位

参数 3:动作组要运行的次数高八位

(3) 指令名CMD _ACTION_GROUP_STOP 指令值 7 数据长度(Length)值:2

说明:停止正在运行的动作组。如果动作组没有运行,也发送了次命令则不影响。

参数:无参数

(4) 指令名:CMD_ACTION_GROUP _SPEEDCmd值:11 数据长度(Length)值:5

说明:控制动作组的速度,以百分比的形式表示,比如要控制 1 号动作组的速度是原来的 2 倍,则百分比数值为 200,代表 200% 如果动作组编号为 0xFF,则代表,调整所有下载的动作组的速度。

(5) 指令名:CMD_GET_BATTERY_VOLTAGECmd值:15 数据长度(Length)值:2

说明:获取控制板电池电压,单位毫伏,发送此指令后控制板会立刻返回数据,返回的数据是带有两个参数值的数据包

参数:无参数

1.2 舵 机

舵机本质上是可定位的马达,当舵机收到一个位置指令,它就会运动到指定的位置。因此,舞蹈机器人最常用它作为可控的运动关节,我们也曾这个运动关节为自由度。一般来讲,主要由以下几个部分组成舵机,减速齿轮组、位置反馈电位计5k、 舵盘、直流电机、控制电路板等。 其工作原理为控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机的转动方向和速度,从而达到目标停止。舵机的输入线共有三条,红色中间,是电源线,一边黑色的是地线,这辆根线给舵机提供最基本的能源保证,主要是电机的转动消耗。另外一根线是控制信号线,Futaba的一般为白色,JR的一般为桔黄色。

本项目中所采用的LD-220MG的20 kg大扭力双轴数字舵机产品内部为全金属的齿轮,舵机寿命较高,可满足多次实验需要,外壳为红色金属,有利于散热,加长了舵机连续使用时间,采用了PWM脉宽型调节角度,周期为20 ms,占空比0.5~2.5 ms的脉宽电平对应舵机0°~180°的角度范围,也对应于数值在500~2 500的范围,成线性关系。舵机在2 000个脉宽范围内控制精度达到0.3°。

2 舞蹈机器人结构外观设计

舞蹈机器人结构外观的设计关键是稳定性,平衡性和灵活性,于此同时,还要保证机器人拥有一定的刚度,所以舞蹈机器人的结构设计成左右对称,高度适当,上下半身比例协调,确保结构紧凑。在这个的前提下保证舞蹈机器人的外观美观有个性。

Soildworks是一款优秀的基于Windows NT/XP/10的三维造型软件[4],通过它可以进行三维零件设计和三维虚拟装配,该软件具有特征管理器,可以非常方便地查看复杂零部件的设计细节与层次关系,Soildworks还可以通过三维装配图的动态仿真出构件之间的传动关系,从而缩短了设计周期,降低设计的成本,提高了设计质量,所以它被广泛应用于产品开发中,已经发展成为三维机械造型的主流工具。

2.1 3D打印动漫舞蹈机器人一代

3D打印动漫舞蹈机器人一代(如图1所示)拥有15个关节,包括颈部,肘部,腰部,肩部,胯部,膝部,和踝部等共15个关节。采用机甲战士,海贼路飞为原型,编排舞蹈动作,机器人背部装有主控板等元器件,所占空间较大,背甲没有可设计的空间,为了整体的美观,我们改用了超人战袍来遮蔽背部元件,整体效果如图所示,另外在这一代没有加装MP3模块,遥控也并非PS2游戏操作柄来控制,反而采用的是上位机控制,所以舞蹈动作受到一定阻碍。

3D打印动漫舞蹈机器人一代骨架及外观结构皆采用了3D打印的方法,同时为了让机器人能有一定的刚度,加厚了机器人机甲的3D打印件。在重量配置下,为了保证机器人在进行步行,弯腰,摆臂等动作时机器人处于稳定状态,需要将机器人的重心保持在稳定区域内,将机器人的主要部件用电子秤秤出其重量,将数据储存于soildworks模型中,并利用soildworks模拟出机器人的重心,修改模型直到重心置于机器人的腰部位置,同时为了尽量将机器人的重心保持在舞蹈机器人的较低位置,所以,我们设计了比较宽厚的脚掌,将腿部的关节也设计得比较短小。最后经过调试及修改动作组,机器人成功跳起了舞蹈。

2.2 3D打印动漫舞蹈机器人二代

3D打印动漫舞蹈机器人二代(如图2所示)以高达为原型设计,头部高仿蓝色提坦斯,胸甲,手掌,脚掌等各个地方棱角分明,比例恰到好处。在第一代的基础上,其动作更稳定,舵机运动范围更广,可完成动作也比一代复杂得多,同时,机器人内部接上了MP3模块与PS2手柄接收器,可实现播放歌曲,无线遥控等功能。

图1 3D打印动漫舞蹈机器人一代    图2 3D打印动漫舞蹈机器人二代

在这一代中,采用了铝合金为骨架,极大地提高了机器人的稳定性。同时,机器人内部也有了更多空间,这是能加装更多功能模块的前提。比起第一代,机器人的总重量下降了不少,延长了机器人舵机的使用时间,也防止了机器人因未及时散热而烧坏。

外观上3D打印动漫舞蹈机器人二代比第一代复杂且建模耗时更久,但也同时结构更合理美观。选择更合理的螺丝孔位安装方法;机器人润色;使用上位机软件调整机器人的舵机角度,使其更加稳定。

颜色选择上,选择金黄色颜料喷漆,不仅是因为喷漆方法简单可行,更因为金黄色的颜料喷漆喷到3D打印件上更显机器人的细节之美,效果逼真,且黄金机甲在动漫中是较高级的存在,符合动漫造型。

3 舞蹈机器人的动作控制与调试

由于机器人本身并不能识别自己在做什么,自己的姿态是怎么样子的,所以要让机器人跳舞,就必须设计动作组,前进是一个动作组,一个舞蹈也是一个动作组。将每个动作的运行时间与顺序安排整理,保存为一个文件,这个文件便是动作组文件。

动作组设计包括以下舞蹈分析,动作分解,动作编译,动作调试,修改动作组几个过程。其中舞蹈分析需要与动作编译需要需要不断地尝试,也是比较耗时的。而作组设计出来后需要经过修改动作组才能使机器人不会产生干涉与舵机堵转烧坏的现象。截止一代完成后两个月时间内,总共设计了16个动作组。一个动作组由几十个甚至几百个动作组成,每个动作中又要控制17个舵机。在动作组设计与调试过程中,其工作量十分庞大,为了解决这个问题,使用Soildworks软件,在装配图中进行一定的动态仿真,可以更方便地查看装配完成后整体机构的运动情况,同时还可以进行余隙与碰撞检测。

在制作完3D打印动漫机器人一代后,开始着手于动作组设计。做出了大部分的机器人动作组,包括了前进后退,左倾右倾,左转右转,大鹏展翅,鞠躬敬礼,小苹果等动作组。虽然这些动作组设计并非完美无缺,但在后来完成二代机器人中发挥出了极大的作用,节省了不少时间,以便可以多设计几个舞蹈动作,如江南style,机械舞,la song等。

4 结 语

4.1 3D打印动漫舞蹈机器人设计所取得成效

从开始研究舞蹈机器人样品的结构,内部控制电路,上位机控制界面及组合动作的编辑,到后来自主设计属于自己项目的3D打印动漫舞蹈机器人一二三代,再到最后修改机器人的动作组文件,前后经历了近一年的时间。在这期间,做了很多的工作,不论是测量舵机等电子元件尺寸,设计外观,还是设计动作组,都是由团队成员共同完成,虽然设计这个过程十分地枯燥耗时,但是当实现了从无到有时,便感到无比激动开心。同时在这个过程中积累了很多经验,成长了许多,为以后的改进提供了参考的价值。

当然设计的舞蹈机器人在功能上是最简单的双足舞蹈机器人,既没有视觉系统,也没有感知系统,完全靠下载驱动板中的程序控制全身关节表演舞蹈动作。总的来说,在设计的过程中取得了以下成效:

(1) 设计出了双足17自由度的3D打印舞蹈机器人的稳定结构。

通过人体各个关节机构的特征,舞蹈机器人左右对称,而且重心在身体的重心稳定范围中,以保证了机器人在做舞蹈动作过程中,能够保持平衡与稳定。

(2) 通过上位机软件设计出了多个舵机动作组,使机器人如同拥有记忆一般动起来。

(3) 设计了3D打印动漫舞蹈机器人包括一代、二代与三代,三代机器人功能越来越多,外观也越来越复杂美观。

4.2 未来的改进措施

(1) 优化机器人的结构,尽可能降低重心,避免屈膝降低重心方法的使用。

(2) 更换使用重量更轻可串联的高精度舵机,减少布线的麻烦,同时完善主控板中的舵机过流保护功能,使用全金属舵盘,减少不必要的晃动。

(3) 改善机器人造型,增加LED眼睛的功能,通过一些巧妙的机构设计,简化机器人的安装方法,并屏蔽住机器人的内部,使整体更加美观和谐。

(4) 增强机器人的功能。开发出一款app,通过蓝牙连接控制;给机器人添加视觉与触觉,使其具有避障和识别目标的功能;配上语音识别功能,使其能够听从人的指令而做出相应的反应;在头部增加五官,用小型电机控制,让机器人有多种不同的神态。

猜你喜欢
控制板舵机指令
《单一形状固定循环指令G90车外圆仿真》教案设计
含齿隙弹载舵机的全局反步模糊自适应控制
轨道交通AFC导向标识控制板设计
基于dsPIC单片机的飞艇舵机控制实现
一种集成脚本控制单元的设计与实现
一种全隔离的无刷直流电机的反馈制动控制板的研究
基于高速同步485总线通信的多通道舵机控制器设计
一种机载SAR中心控制板的设计
中断与跳转操作对指令串的影响
基于云模型的舵机同步控制