电子琴演奏机器人实验教学平台开发

2020-10-30 08:24
实验室研究与探索 2020年9期
关键词:仿人电子琴编曲

王 旭

(北京科技大学高等工程师学院,北京100083)

0 引 言

乐器演奏机器人(Instrument Playing Robot)将模拟人的高级技巧活动——演奏乐器作为机器人技术的研究领域,受到国内外研究者的持续关注[1-5]。根据乐器的种类,演奏机器人主要有管乐(笛子、萨克斯等)[6-9]、弦乐(吉他、小提琴等)[10-13]、键盘打击乐(钢琴、架子鼓等)[14-17]3 种类型。研究技术主要集中在:机构设计、驱动控制、机器视觉、拟人化等方向[18-21]。乐器演奏机器人具有综合性、学科交叉等技术特点,又具有成果展示度高、平台拓展性强的特点,是机电综合实验训练、激发学生兴趣的良好平台。

本文通过电子琴演奏机器人实验教学平台开发,实现模拟人手演奏动作、乐谱编辑、乐曲播放、演奏技巧等功能。

1 系统总体设计

已知演奏电子琴琴键数量为61 个,键宽22 mm,琴键间隙1.5 mm,设计要求机器人能够根据曲谱,实现快速、准确、平稳的按键动作。系统组成如图1 所示,机械结构包括仿人机械手、双手横移机构;控制系统包括控制系统硬件、编曲及播放软件。

图1 电子琴演奏机器人系统组成

2 机械结构

2.1 仿人机械手

机械手指模拟人类手指的弯曲和伸展,实现下按及抬起动作。设计需要满足行程、力量、速度、形似等要求。

(1)手指运动原理及分析。各手指需要有独立驱动,为实现形似效果,需要具有人类手指的3 个关节。仿人机械手指设计采用多连杆机构,原理如图2 所示,各指节通过连杆互连。

图2 机械手指连杆运动原理图

手指运动过程:驱动OA 转动,通过AB 杆推动指根BCFG绕C点转动,使得连杆DE 推动中指EFH绕F点转动,同时使得连杆GI 推动指尖IHJ 绕H 点转动,压下琴键。

根据人手指的实际长短,初步确定机械手指各部分的尺寸,如图3 所示。

图3 机械手指连杆尺寸

校核该尺寸是否满足琴键下按运动的行程。已知机械手指固定高度高于琴键23 mm,琴键被按下发声时行程为20 mm,手指指尖运动行程应不低于23 +20 =43 mm。

将图2 的多连杆机构拆解为3 个4 连杆机构。

如图4 所示为构建PABC 4 杆机构,已知舵机臂长度14 mm,设定舵机转动角度为35°。通过作图法可知,当PA转动35°时,CB旋转26°,可以计算出指根BCFG转动时下压高度h1=KF′ =38 × sin26° =16.7 mm。

图4 PABC指根4杆机构运动分析

同理,通过分析CDEF 4 杆机构,可以计算出中指相对于指根的下压高度h2=15 mm;

通过分析FGHI 4 杆机构,可以计算出指尖相对于中指的下压高度h3=15.05 mm;

手指整体下压的高度h =h1+h2+h3=16.66 +15 +15.05 =46.71 mm >43 mm,手指设计选择尺寸合理,可以满足按键行程要求。

(2)手指结构设计。根据手指多连杆机构运动原理,选择欠驱动形式,单舵机驱动。设计如图5、6 所示,实物如图7 所示。其中,手指采用不锈钢钣金加工。

图5 仿人机械手指设计图

图6 仿人机械手指三维设计图

图7 仿人机械手指实物图

校核手指演奏速度。已知驱动舵机在4.8 V供电时的转动速度为545°/s,则舵机臂转动角度为35°的运动时间间隔

通常演奏简单曲目的速度可以确定为120 b/min(120 拍/min),按照2/4 拍的音乐,以4 分音符为1拍,按2 b/s 计,普通曲目最快演奏为16 分音符,即0.125 s。

0.06 <0.125,因此,舵机响应速度满足演奏要求。

(3)手掌及其相关机构。由于机械手指难以实现跨指及穿指等人类关节能实现的复杂演奏动作,因此采用单手7 手指设计,可以实现单手完成一个音区中7 个键的弹奏,从而减少移动次数,使得弹奏无间断,演奏更流畅。

机械手手掌采用3 mm 碳纤板加工;将手指及舵机前后错开分布可以更接近人手外形,并保证各手指模块的一致性,便于安装和调试。设计图如图8 所示,实物图如图9 所示。

图8 7指机械手设计图

图9 7指机械手实物图

2.2 双手横移机构

(1)横移机构设计。为了实现演奏的拟人效果及跨音区演奏要求,设计采用双手可横移方案。考虑到弹奏电子琴时要求传动平稳,具有一定定位精度,传动负载较小,横移机构采用带传动方式。横移机构设计如图10 所示,实物如图11 所示。

图10 横移机构设计图

图11 横移机构实物图

(2)横移机构速度校验。在演奏音域跨度较大的曲目时,必须考虑到横移机构的移动速度是否满足演奏速度要求。横移速度为:

式中:L为横移距离。通过实际测量所用电子琴设备的距离参数,得到一个8 度音的距离L =165 mm。音符时间为:

式中:y为分音符,取曲谱中的最大值(如,某乐曲中有

4 分音符和2 分音符,应取y =4)。

x为拍(如,某乐曲的拍号为4/4 拍,表示以4 分音符为一拍,取x =4)。

T为每一拍占用的时间(s)。(如,设定演奏乐曲的速度为每分钟120 b/min 后,一拍就相当于0.5 s,取T =0.5 s)

将以上曲谱参数(x =4,y =4,T =0.5 s)代入式(1)可得,横移速度要求

即,所设计横移机构的移动速度需要大于330 mm/s,才能满足演奏速度要求。

横移机构的实际横移速度

已知,减速齿轮z1=40,z2=20,同步带轮半径r =30 mm,舵机转速n =77 r/min,计算得:

横移速度可以满足演奏要求。

3 控制系统

3.1 控制系统硬件

控制系统由计算机、电源、控制板及各个执行器(舵机)组成。计算机作为控制系统中的上位机,通过串口通信给控制板发送指令,实现舵机群动作控制。控制系统原理如图12 所示。

图12 控制系统原理图

3.2 编曲及播放软件

编曲及播放软件的作用在于将乐谱方便地转换为计算机可识别的控制代码,控制舵机驱动手指动作。电子琴演奏机器人教学平台的编曲播放软件具有4 项基本功能:配置、编曲、转码、播放。功能分解如图13所示。

图13 编曲及播放软件功能分解图

(1)配置。演奏时,机械手控制舵机有“抬起”和“按下”两个状态,演奏不同的音,对应的舵机组状态是不同的,可以通过“设置”按钮来设置每个舵机的状态值并保存,方便下次设置时直接导入,减小编曲的工作量。配置界面如图14 所示。

舵机状态配置完成后,便可添加音符。将状态值与演奏音符动作对应,便于转换乐谱。音符配置界面如图15 所示。

图14 舵机状态配置界面

图15 音符配置界面

(2)编曲。编曲是根据演奏曲谱,确定每一个音符对应舵机组的动作序号、执行速度、持续时间。编曲界面如图16 所示。

(3)转码。编曲完成后,需将编曲乐谱转换成舵机控制板可以识别的代码,不同的舵机控制板有不同的动作执行格式,但信息都包括:序号、位置、速度、时间4 个参数。根据格式要求在后台进行转码即可。转码功能流程图如图17 所示。

图16 编曲界面

图17 转码功能流程图

(4)播放。在编曲播放前,需要先完成上位机与舵机控制板的连接、串口设置、播放选择等设定,具体流程见图18、19,串口设计界面见图20,演奏播放界面见图21。

图18 串口设置流程图

图19 乐曲播放流程图

图20 串口设置界面

图21 播放控制界面

4 结 语

本文开发的电子琴演奏机器人教学平台,为机电专业学生进行系统集成、系统调试、机构优化、软件编写提供了良好载体。在本平台上可以进行的实验内容有:

(1)仿人机械手拆装与调试;

(2)系统连接与参数设置;

(3)编曲与演奏调试;

(4)演奏技巧、演奏算法实验;

(5)多乐器合奏实验。

本平台已开设全校公共选修课程,参与平台使用学生200 余人,参与毕业设计学生10 余人。电子琴演奏机器人教学平台实物如图22 所示。

图22 电子琴演奏机器人教学平台实物图

猜你喜欢
仿人电子琴编曲
中科院自动化所实现人与机器人间的类人物体交接
万世太平
探究流行音乐编曲
春日景和
基于AT89C51单片机的电子琴设计
十唱共产党
仿人机器人的现状研究
电子琴
具有面部表情的仿人头部机器人系统的研制
世纪梦想