一种基于语音控制的机械臂3D虚拟操作实验平台的制作方法

文档序号:15642378发布日期:2018-10-12 22:12阅读:337来源:国知局

本发明属于自动化领域和计算机应用领域,尤其是涉及一种基于语音控制的机械臂3d虚拟操作实验平台。



背景技术:

机械臂是近代自动控制领域中出现的一项新型技术装备,是工业机器人系统中传统的任务执行机构。在专业综合实验教学中机械臂实验可以多方面、多层次培养学生的工程实践能力和创新能力。

在实践过程中,一方面由于机械臂本体的购买和维护成本较高,开发难度大;另一方面,直接进行计算机仿真时,比较常见的是使用visualc++、matlab、java、vrml等文本编程语言进行计算,再结合opengl图形库、solidworks或者其他3d引擎,完成可视化三维运动状态仿真显示。实验开发和编程需要掌握的知识点多,对编程人员要求很高,开发难度同样很大,不适合初学者。

与此同时,随着计算机技术的发展,引入人机交互技术后的机械臂仿真控制操作开发也成为实验教学和实际应用的热点。有研究表明,在机械臂遥控操作控制中,语音控制方式可以明显提高操作速度,提升控制绩效与体验,吸引学生去研究和探索学习。但常规文本编程的语音识别实现方法也有其工作繁琐的缺陷,不利于快速设计与开发。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于语音控制的机械臂3d虚拟操作实验平台,适合用于示例教学和课后实验,为学生开展设计性和创新性实验提供了一个快速开发与实现的平台。

本发明的目的可以通过以下技术方案来实现:

一种基于语音控制的机械臂3d虚拟操作实验平台,包括依次连接的语音模块、控制中心和3d虚拟实验场景模块,其中,

所述3d虚拟实验场景模块包括:

3d模型构建单元,用于构建机械臂3d模型和工作场景3d模型;

运动姿态动态显示单元,用于根据运动姿态参数实现所述机械臂3d模型在所述工作场景3d模型中运动的显示,所述运动姿态参数由所述控制中心基于语音模块的输出解算获得;

所述语音模块、控制中心和3d虚拟实验场景模块均基于图形化编程语言实现。

进一步地,所述语音模块包括:

语音接收单元,用于接收用户输入的语音信息,并转换为语音音频电信号;

语音识别单元,用于对所述语音音频电信号进行识别,获得指令字符串。

进一步地,所述语音接收单元包括麦克风。

进一步地,所述控制中心包括:

指令分类处理单元,用于对语音模块的输出进行分类,输出分类语音指令;

运动姿态解算单元,用于根据所述机械臂3d模型在所述工作场景3d模型中的当前姿态和所述分类语音指令,解算获得机械臂3d模型的运动姿态参数,并输出。

进一步地,所述运动姿态解算单元通过端点解算或位姿解算获得机械臂3d模型的运动姿态参数。

进一步地,所述图形化编程语言为labview。

进一步地,所述运动姿态动态显示单元中,采用循环刷新方式显示所述机械臂3d模型在所述工作场景3d模型中的运动。

与现有技术相比,本发明具有以下有益效果:

1、本发明结合可视化及语音识别的人机交互技术,设计与实现语音控制下多自由度机械臂运动3d虚拟操作实验平台,能有效地减少工业机械臂相关实验对实验设备的依赖性,降低实验成本并增加实验项目的灵活性和多样性,有利于调动学生学习的积极性,提高实践教学效果。

2、本发明使用图形化编程语言进行快速开发,有效降低了三维运动状态仿真显示实验时使用文本编程语言进行开发的难度,有利于克服初学者和学生的畏难情绪,实验项目和实验内容易于扩展。

3、本发明使用语音控制,将实验用户的语音信息转换为特定的控制指令字符串,并传输给控制中心程序进行处理,从而可允许实验用户的双手在此同时做其它操作,提高实验效率和提升直观体验效果。

4、本发明是多自由度机械臂实物系统的有益补充和扩展,可避免实物系统操控时由于编程失误等原因导致机械臂运动失控或误动作导致安全事故发生。

附图说明

图1为本发明平台的架构示意图;

图2为本发明3d虚拟实验场景示意图;

图3为本发明3d模型零件单元关系示意图,其中,(a)为层次关系,(b)为并列关系;

图4为本发明语音模块示意图;

图5为本发明工作程序流程示意图。

图中,1、语音模块,2、控制中心,3、3d虚拟实验场景模块,4、第二横板,5、第一横板,6、柱顶,7、立柱,8、滑动副,9、第一转轴,10、底座,11、第一杆,12、第二转轴,13、第二杆,14、末端执行器,15、物块,16、工作台,17、背板,18、第三横板。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

如图1所示,本发明提供一种基于语音控制的机械臂3d虚拟操作实验平台,包括依次连接的语音模块1、控制中心2和3d虚拟实验场景模块3,语音模块1、控制中心2和3d虚拟实验场景模块3均基于图形化编程语言实现。3d虚拟实验场景模块3建立3d虚拟实验场景,语音模块1采集和识别用户的语音信息,控制中心2结合机械臂当前运动姿态,解算得到机械臂3d模型相应的运动参数,3d虚拟实验场景模块c以3d图形方式动态显示机械臂运动过程。

3d虚拟实验场景模块3包括3d模型构建单元和运动姿态动态显示单元,3d模型构建单元用于构建机械臂3d模型和工作场景3d模型,运动姿态动态显示单元用于根据运动姿态参数实现所述机械臂3d模型在所述工作场景3d模型中运动的显示,所述运动姿态参数由所述控制中心基于语音模块的输出解算获得。

语音模块1包括语音接收单元和语音识别单元,语音接收单元用于接收用户输入的语音信息,并转换为语音音频电信号;语音识别单元用于对所述语音音频电信号进行识别,获得指令字符串。语音识别单元可以集成于计算机中。

控制中心2包括指令分类处理单元和运动姿态解算单元,指令分类处理单元用于对语音模块的输出进行分类,输出分类语音指令;运动姿态解算单元用于根据所述机械臂3d模型在所述工作场景3d模型中的当前姿态和所述分类语音指令,解算获得机械臂3d模型的运动姿态参数,并输出。

如图5所示,上述基于语音控制的机械臂3d虚拟操作实验平台的工作过程为:1)初始化;2)语音模块接收语音信号并识别获得指令字符串;3)指令分类处理单元根据所述指令字符串执行相应操作;4)运动姿态解算单元根据操作指令内容和当前运动姿态,解算机械臂的运动位姿参数;5)3d虚拟实验场景模块实现机械臂3d模型在工作场景3d模型中的三维运动姿态动态显示。

上述工作过程的程序结构采用“循环内嵌事件”,保证实时响应语音识别模块所识别得到的字符串指令,及时高效的解算运动状态参数,在指定窗口中显示机械臂的工作状态。

本发明结合可视化及语音识别的人机交互技术,设计与实现语音控制下多自由度机械臂运动3d虚拟操作实验平台,能有效地减少工业机械臂相关实验对实验设备的依赖性,降低实验成本并增加实验项目的灵活性和多样性,提高实践教学效果。

实施例1

本实施例中多自由度机械臂运动3d虚拟实验场景模拟的是工业生产中机械臂的典型应用:机械臂接受外部指令,精确地定位到三维空间上的某一点进行作业,抓取工件后放到指定位置,如图2所示。

本实施例中,图形化编程语言为labview。labview环境下的3d建模遵循“先创建对象,后添加对象”的函数调用规则,同时对图形对象的尺寸、颜色、位置等熟悉进行设置。一个复杂的3d模型往往由多个零件单元构成,各个零件单元之间存在层级关系或者并列关系。层级关系举例如图3中(a)所示,零件1、2、3的级别依次降低,其特点是:零件1运动时,零件2和3相对于零件1静止,而跟随其运动;零件2的运动则会引起零件3的跟随;并列关系如图3中(b)所示,环境作为最高级对象,其下的零件1、2、3互相并列,三者的运动互不影响,各自独立。机械臂运动虚拟显示实验环境中,需要建立模型具体结构和关系如图3中(c)所示的机械臂、工作台、货架和工件等的3d模型,这4类对象属于并列关系,而组成机械臂的各个零件单元之间属于层级关系;工作台和货架则处于静止状态,其各个零件组成单元之间的关系无需特别设置。使用图形化编程语言进行3d虚拟实验场景的快速开发,克服了使用文本编程语言设计难度大的缺点,编程简单。

本实施例的具体应用为:labview的3d显示窗口中摆放着机械臂、工作台、工件存储货架以及不同颜色的工件物块,用户说出所要转移工件的颜色名称和动作要求,机械臂接收到语音指令信息后抓取货架上相应颜色的物块并放置到工作台指定的位置上。

本实施例的运动姿态解算单元根据机械臂当前运行姿态和接收到的语音指令,计算输出机械臂动作过程中的运动姿态参数。如图2所示,解算控制对象为三自由度(虚拟)机械臂的运动状态,若设沿z轴运动的滑动副位移为d,xoy平面中第一转轴9和第二转轴12的转角分别为θ1和θ2,第一杆11的长度为l1,第二杆13的长度为l2,则从位于底座中心的基坐标系到末端执行器坐标系依次经历的相对坐标变换为:沿+z轴方向平移d,绕+z轴旋转θ1、沿+y轴方向平移l1、绕+z轴旋转θ2、沿+y轴平移l2。据此可写出转移矩阵方程,如公式(1)所示。

公式(1)中(x,y,z)是三维空间中某一点在基坐标系下的坐标定义,而(x′,y′z,′)是空间中同一位置点在末端执行器坐标系下的坐标定义。如果该点与末端执行器坐标系原点重合,那么(x′,y′,z′)=(0,0,0)。

如图2中所示,若已知末端执行器需要到达空间位置(x,y,z),求解机械臂的运动姿态参数d、θ1和θ2,则属于位姿解算;反之,若已知d、θ1和θ2,求解(x,y,z),则属于端点解算。将已知的设定条件l1=l2=1.5,(x′,y′,z′)=(0,0,0)代入公式(1),分别进行两种解算运算,得到如公式(2)、公式(3)和公式(4)形式所示的解析解。位姿方程的解算结果有两个解:根据运动姿态特点,θ2为正的一组解称为“上折解算”,θ2为负数的一组解称为“下折解算”。根据图2所示实验3d模型的位置,去程(机械臂从货架抓取工件)适合采用上折解算,回程(机械臂放置工件到工作台)适合采用下折解算。在labview中调用mathscript节点,直接使用matlab的mcode解算后,将公式(2)、公式(3)和公式(4)封装成去程结算、回程结算、端点结算函数,配置输入输出接线端生成独立的子vi,供后续调用。labview和mcode结合,可简化解算运算算法的编程工作。

实施例2

本实施例中,运动姿态动态显示单元使用labview开发,采用循环刷新的方式实现3d图形的运动状态动态显示,运动的方式主要分为平移和旋转两种,用于实现机械臂的3d运动姿态动态显示。其余同实施例1。

本实施例中,如图2中所示,机械臂的运动由其滑动副的平移、转轴1和转轴2的旋转叠加而成。以转轴1的运动控制为例,每次进入循环时将转轴1的转角设置成“渐变θ1”的值,然后再获取其转角写入“当前θ1”。只要“渐变θ1”在运动期间连续变化,获取“当前θ1”后即可调用位姿解算函数计算出下一位置“最终θ1”,解算其运动速度和加速度参数,控制3d视图中的转轴1对象随之连续转动显示。转轴2、滑动副的运动控制可以用同样的方法实现。当机械臂的末端执行器位置移动到指定的工件物块存放位置时,启用附着效果,设置附着标志,完成夹持动作。以绿色工件物块为例,当程序中“附着-绿”标志为真时,每次循环都采集当前的d、θ1和θ2,调用端点解算函数计算出当前末端执行器坐标(x,y,z),并将所选的绿色工件物块对象平移至该点位置。当“附着-绿”标志为假时,则不进行任何操作,绿色工件物块停在当前位置(货架或工作台上)。其他颜色的工件物块处理方式与此类似。

实施例3

本实施例中,语音接收单元采用麦克风。其余同实施例1。

本实施例中,编程语言labview本身不具有语音识别功能,必须调用外部程序来实现该功能,labview采用windows自带的语音识别引擎,可以简单、方便地实现语音指令控制的识别与连接。语音识别单元的程序如图4所示,图中模块a是语音识别部分的主程序,在“词库”中分别写入所要执行的语音指令字符串{“绿色”,“黄色”,“蓝色”,“红色”},用于分辨所要抓取工件对象的颜色。“字符串”组件是创建的spokentext的引用,相当于其指针,二者连接至子vi“sr.vi”的输入端端口;模块b显示的是“sr.vi”的源代码,编程所用的函数节点来自“互连接口-.net”函数选板,双击“构造器节点”,在对话框中选择所要调用的外部语音识别引擎(system.speech程序集)中的功能函数(choices、grammarbuilder、speechrecognizer等),程序首先为“词库”中的词条建立语法,然后传递给语音识别功能函数,最后通过“事件回调注册”节点注册speechrecognized事件,当该事件(语音识别出结果)发生时,在事件驱动机制下就能启动运行静态vi“callback_sr.vi”。其中spokentextbox来源于图5中模块a中spokentext的引用,作为用户参数被送到该静态vi中;模块c显示的是模块b中子vi“callback_sr.vi”的源代码,该vi实现的功能是将语音识别的结果以文本的格式写入spokentext变量。值得注意都是,子vi的数据类型和数据内容必须严格与注册事件匹配,模块b的注册事件原型是speechrecognized(objectsender,speechrecognizedargse),因而输入参数簇“eventdata”中的两个.net句柄的类也必须分别设为对应的object和speechrecognizedargs类型。采用图形化编程语言labview连接windows自带语音识别引擎的操作和代码非常简洁,将模块a中所述的代码插入到实验主程序中,就可以实现语音系统与3d显示控制模块(包括运动状态解算和状态动态显示)的连接。

本实施例中,如图5及图2所示,开始运行实验程序时,仿真窗口中机械臂和工件的3d模型置于初始位置待命,实验程序在后台同时启动microsoftspeechrecognizer语音识别引擎。当实验者对着pc机的麦克风话筒说出“绿色、黄色、蓝色、红色”之中的一个指令词语时,机械臂就会模拟仿真运动,抓取相应颜色的工件物块并转移放置到工作台的指定位置上,编程和调试结果表明:利用labview图形化编程语言,结合microsoft语音识别引擎,可以实现语音控制机械臂运动状态3d可视化显示实验的快速开发,提高学生的学习兴趣和实践效率。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1