基于实时信息流的扬琴机器人双臂协同防交叉演奏方法转让专利

申请号 : CN201611259505.5

文献号 : CN106584479B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈鑫蒋晨旭周莉周洋费婷

申请人 : 中国地质大学(武汉)

摘要 :

本发明公开了一种基于实时信息流的扬琴机器人双臂协同防交叉演奏方法,包括以下步骤:1)绘制扬琴琴面俯视图,建立x‑y平面坐标系;根据扬琴音高对坐标系进行分区;2)接收演奏乐曲相关信息流,记录乐曲宏信息,通过分析事件信息中的音符值对双臂机器人进行任务分配;3)根据步骤2)的音符值分配结果和事件信息单元信息,整合针对分配给左手臂和右手臂的对应音符值、时间间隔、力度,输出相对应的控制信息流{坐标位置,时间间隔,速度}。本发明实现在扬琴机器人演奏乐曲期间,在实时接收乐曲信息流的同时能够对扬琴机器人双臂的进行任务分配,实现双臂较少交叉及双臂间歇性交替演奏类人化的特点。

权利要求 :

1.一种基于实时信息流的扬琴机器人双臂协同防交叉演奏方法,其特征在于,包括以下步骤:

1)绘制扬琴琴面俯视图,以扬琴琴面俯视图左下角顶点为坐标系的原点,建立x-y平面坐标系;根据扬琴音高对坐标系进行如下分区:中高音A区,中低音B区;所述扬琴琴面俯视图上标定有琴码及击弦位置;

2)接收演奏乐曲相关信息流,记录乐曲宏信息,通过分析事件信息中的音符值对双臂机器人进行任务分配;

所述演奏乐曲相关信息流包括乐曲宏信息单元及事件信息单元;所述乐曲宏信息单元包括:音色、通道号、节奏速度、ticks数、强度和音阶信息;所述事件信息单元包括:时间间隔、控制指令、音符值和力度;

具体分配方法如下:通过乐曲音阶确定音符值对应扬琴琴弦的位置,若音符值对应的琴弦属于A区且左手臂连续分配次数累计未达到3次,则将敲击任务分配至机器人左手臂;

若音符对应琴弦属于B区且右手臂连续分配次数累计未达到3次,则将敲击任务分配至机器人右手臂;若该手臂连续分配次数累计达到3次,则不论音符对应琴弦在A区还是B区,都将该音符值分配到另一手臂,并将该手臂连续分配次数置0;

3)根据步骤2)的音符值分配结果和事件信息单元信息,整合针对分配给左手臂和右手臂的对应音符值、时间间隔、力度,输出相对应的控制信息流:坐标位置、时间间隔、速度。

2.根据权利要求1所述的基于实时信息流的扬琴机器人双臂协同防交叉演奏方法,其特征在于,所述步骤1)中分区方法为:在俯视图坐标系中自左向右将琴码及击弦位置标为1至5列,其中1至2列为中高音区定为A区,3至5列为中低音区定为B区。

3.根据权利要求1所述的基于实时信息流的扬琴机器人双臂协同防交叉演奏方法,其特征在于,所述步骤2)中,机器人左手臂每执行一次任务,则将左臂连续分配次数加1,右手臂连续分配次数置为0;机器人右手臂每执行一次任务,则将右臂连续分配次数加1,将左手臂连续分配次数置为0。

4.根据权利要求1所述的基于实时信息流的扬琴机器人双臂协同防交叉演奏方法,其特征在于,所述步骤3)中控制信息流的时间间隔为任务分配后针对同一手臂敲击相邻琴弦事件的时间间隔,不同于事件信息单元中相邻音符值的时间间隔。

5.根据权利要求1所述的基于实时信息流的扬琴机器人双臂协同防交叉演奏方法,其特征在于,所述步骤3)中控制信息流的速度信息为扬琴琴竹敲击琴弦的速度,速度信息由事件信息单元的力度转换而来。

说明书 :

基于实时信息流的扬琴机器人双臂协同防交叉演奏方法

技术领域

[0001] 本发明涉及智能机器人技术领域,尤其涉及一种基于实时信息流的扬琴机器人双臂协同防交叉演奏方法。

背景技术

[0002] 近些年来,随着科学技术的进步,机器人技术也随之全面发展。服务型机器人作为机器人的一种,其应用背景很广,主要从事维护、安保、救援、娱乐、示教等方面的工作。我国同世界各国一样,对服务型机器人发展也越来越重视,据我国“机器人发展规划”指出到2020年我国的服务型机器人年销售收入有望超过300亿人民币。
[0003] 扬琴机器人作为服务型机器人的一种,对其研究可以搭建对机器人与人工智能等领域的研究平台。同时,学习扬琴作为现代人陶冶情操的一种途径却面临着相关教学人员不足与费用昂贵等问题,而扬琴机器人的出现则在一定程度上解决了这一问题。
[0004] 扬琴机器人是类人化机器人,它具有人性化的双臂,因此在执行演奏敲击的过程中需要对演奏的双臂进行任务分配。目前仍未有任何组织和机构对任务分配方面进行深入研究。本发明提出的一种基于扬琴机器人的任务分配方法,能够实时对接收的乐曲信息流进行实时处理分配且可以有效避免双臂机器人演奏执行过程中双臂过多交叉的现象及音符值高频率出现某一区域独臂频繁演奏敲击不协调现象。

发明内容

[0005] 本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于实时信息流的扬琴机器人双臂协同防交叉演奏方法。
[0006] 本发明解决其技术问题所采用的技术方案是:一种基于实时信息流的扬琴机器人双臂协同防交叉演奏方法,包括以下步骤:
[0007] 1)绘制扬琴琴面俯视图,以扬琴琴面俯视图左下角顶点为坐标系的原点,建立x-y平面坐标系;根据扬琴音高对坐标系进行如下分区:中高音A区,中低音B区;所述扬琴琴面俯视图上标定有琴码及击弦位置;
[0008] 2)接收演奏乐曲相关信息流,记录乐曲宏信息,通过分析事件信息中的音符值对双臂机器人进行任务分配;
[0009] 所述演奏乐曲相关信息流包括乐曲宏信息单元及事件信息单元;所述宏信息单元包括:音色、通道号、节奏速度、ticks数、强度和音阶信息;所述事件信息单元包括:时间间隔、控制指令、音符值和力度;
[0010] 具体分配方法如下:通过乐曲音阶确定音符值对应扬琴琴弦的位置,若音符值对应琴弦属于A区且左手臂连续分配次数累计未达到3次,则将敲击任务分配至机器人左手臂;若音符对应琴弦属于B区且右手臂连续分配次数累计未达到3次,则将敲击任务分配至机器人右手臂;若该手臂连续分配次数累计达到3次,则不论音符对应琴弦在A区还是B区,都将该音符值分配到另一手臂,并将该手臂连续分配次数置0;
[0011] 3)根据步骤2)的音符分配结果和事件信息单元信息,整合针对分配给左手臂和右手臂的对应音符值、时间间隔、力度,输出相对应的控制信息流{坐标位置,时间间隔,速度}。
[0012] 按上述方案,所述步骤1)中分区方法为:在俯视图坐标系中自左向右将琴码及击弦位置标为1至5列,其中1至2列为中高音区定为A区,3至5列为中低音区定为B区。
[0013] 按上述方案,所述步骤2)中,机器人左手臂每执行一次任务,则将左臂连续分配次数加1,右手臂连续分配次数置为0;机器人右手臂每执行一次任务,则将右臂连续分配次数加1,将左手臂连续分配次数置为0。
[0014] 按上述方案,所述步骤3)中控制信息流的时间间隔为任务分配后针对同一手臂敲击相邻琴弦事件的时间间隔,不同于事件信息单元中相邻音符值的时间间隔。
[0015] 按上述方案,所述步骤3)中控制信息流的速度信息为扬琴琴竹敲击琴弦的速度,速度信息由事件信息单元的力度转换而来。
[0016] 本发明产生的有益效果是:本发明实现在扬琴机器人演奏乐曲期间,在实时接收乐曲信息流的同时能够对扬琴机器人双臂的进行任务分配,实现双臂较少交叉及双臂间歇性交替演奏类人化的特点。

附图说明

[0017] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0018] 图1是本发明实施例的扬琴俯视图坐标系区域划分示意图;
[0019] 图2是本发明实施例的方法流程图;
[0020] 图3是本发明实施例的宏信息单元格式示意图;
[0021] 图4是本发明实施例的事件信息单元格式示意图;
[0022] 图5是本发明实施例的控制信息流格式示意图。

具体实施方式

[0023] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0024] 一种基于实时信息流的扬琴机器人双臂协同防交叉演奏方法,该方法为:
[0025] 步骤1,建立扬琴琴面俯视图坐标系并标定琴码及击弦位置简化图,根据扬琴音高对坐标系进行分区:中高音A区,中低音B区;扬琴坐标系具体分区方法为:在俯视图坐标系中自左向右将琴码及击弦位置标为1-5列,其中1-2列为中高音区定为A区,3-5列为中低音区定为B区。
[0026] 步骤2,接收演奏乐曲相关信息流,记录乐曲宏信息,通过分析事件信息中的音符值对双臂机器人进行任务分配:整体上当音符值对应琴弦属于A区,分配至机器人左手臂,当音符值对应琴弦属于B区,分配至机器人右手臂,若某一手臂连续分配次数累计达到3次,则不论音符值对应琴弦在A区域还是B区域,都将该音符值分配到另一手臂,且连续分配次数置0;
[0027] 步骤3,根据步骤2的音符值分配结果,整合针对分配给左手臂和右手臂的音符值时间间隔及敲击力度,输出相对应的控制信息流。
[0028] 在步骤2中,乐曲相关信息流是由乐曲宏信息单元及若干事件信息单元组成,其中宏信息单元及事件信息单元格式如图3和图4所示;
[0029] 在步骤3中,所述的乐曲相关信息流中的音符值存在特异性:鉴于乐曲有七种音阶,不同音阶的同一音符值对应扬琴琴弦的位置不一定相同,即同一音符值分配的区域会存在差别。
[0030] 在步骤2中,所述的任务分配的隐含情况为:若某一手臂连续分配次数未累计达到3次而音符值隶属于另一区域,则将连续分配次数置0,此外将音符值分配至另一手臂,另一手臂连续分配次数置1。
[0031] 在步骤3中,所述的任务分配后输出的控制信息流的格式如图5所示;
[0032] 所述的最后输出的控制信息流中的坐标位置为工作坐标系坐标位置,速度为扬琴琴竹敲击琴弦的速度,其由事件信息单元的力度相转换而来。时间间隔是针对单一手臂敲击执行相邻事件的时间间隔,是事件信息流单元中所有事件间隔时间的累加。
[0033] 如图1,首先确定扬琴琴面俯视图坐标系的原点:扬琴左下角。并以此原点建立x-y平面坐标系。其中横轴为x方向,竖轴为y方向。将扬琴琴码自左向右标记为1-5列,将1-2中高音区标为A区,将3-5中低音区定为B区。
[0034] 图2为任务分配控制流程图,其主要步骤如下:
[0035] 步骤1:模块初始化;
[0036] 步骤2:将左右臂连续敲击次数及左、右臂的时间间隔置0;
[0037] 步骤3:接收乐曲整体信息流,提取乐曲首个音符值;
[0038] 步骤4:判定音符值是否在A区,如果不成立,则跳至步骤8;
[0039] 步骤5:判定左臂连续敲击次数是否大于等于3次,如果不成立则跳至步骤9;
[0040] 步骤6:将音符分配给右臂,计算右臂当前音符与右臂上一音符的时间间隔;
[0041] 步骤7:右臂连续敲击次数加1,左臂连续敲击次数置0,跳至步骤11;
[0042] 步骤8:判定右臂连续敲击次数是否大于等于3次,如果不成立,则跳至步骤6;
[0043] 步骤9:将音符分配给左臂,计算左臂当前音符与左臂上一音符的时间间隔;
[0044] 步骤10:左臂连续敲击次数加1,右臂连续敲击次数置0;
[0045] 步骤11:判定接收的乐曲整体信息流是否被全部分配,如果成立则跳至步骤13;
[0046] 步骤12:提取下一个音符值,跳至步骤4;
[0047] 步骤13:结束整体任务分配。
[0048] 本发明通过实时接收整体乐曲信息流,对扬琴机器人双机械臂的敲击进行任务及时间分配,为下一步机器人的运动控制模块提供的详细的信息,使整体扬琴机器人演奏更具有协调化、类人化的特点。
[0049] 应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。