您现在的位置: 晨光科技 >> 文章 >> 技术 >> 单片机 >> 正文  
  用微软MSRDS软件的语音识别技术遥控乐高机器人           
用微软MSRDS软件的语音识别技术遥控乐高机器人
[ 作者:佚名    转贴自:http://www.eefocus.com/zhang700309/blog/12-06/279565_221ac.html    点击数:37    更新时间:2018/5/10    文章录入:LA ]
[注:本站登载的某些文章并不代表本站支持或反对其观点或肯定其真实性]

    用中文语音来遥控机器人,曾出现在科幻小说、美国IMAX大片以及YouTube科学纪录片里,现在用乐高NXT机器人套件搭建个机械手车,再免费下载个微软机器人软件MSRDS R4版,编写个简单的程序,即可。在夜晚书房的灯光照耀下,我用比较标准的普通话,发布了“前进、后退、旋转、抓、放下”等命令,机器人居然也按照我的语音命令行动了!这一时候,感觉到了作为一个创客,能体验到新鲜技术实践的那种快乐。下面请看这个实践视频。

日本开发出的能语音交流的仿人机器人视频 :

     日本是机器人研发领先的国家,他们正在开发用于家庭服务的类人机器人,可以帮助人类干些家务,还可以表演舞蹈和歌唱,我们发出语音口令,指挥他们按照人类的意愿做事,这是一个多么理想的场景啊!而我现在借助微软MSRDS软件和乐高机器人在自己的家里,也完成了这样类似场景的实验,而且并不困难,所以我一直认为尽管创客们资金有限,但也应紧跟国际科技潮流,购买些符合国际流行规则的创客工具,这样才能少走弯路,高效方便地借助这些国际标准的软硬件工具制做作品,来实现自己的创意想法。  

     乐高9797+9695机器人套件,网址:http://item.taobao.com/item.htm?id=12941550436&

    对于MSRDS R4版软件的安装和使用入门,可以参看下《基于微软MSRDS的XBOX手柄操控乐高机械手车的编程》,网址:http://www.eefocus.com/zhang700309/blog/12-05/279205_eb30b.html。MSRDS R4一定要Win7操作系统,XP系统没有语音识别功能!

    下面介绍与语音识别关联的两个服务元件,Speech Recognizer Gui 与Speech Recognizer。见下图。(双击图片,都可以放大看,很清晰的!

 按下菜单工具栏中的启动按钮,或者按F5热键,运行DSS服务。

    在Run窗口,逐个寻找各行“Service started”的记录,点击其左侧的“-”符号便可看到对应的服务元件网址,现在要找到“http://…:5000/speechrecognizergui”并点击它,以呼叫浏览器网页监控Speech Recognizer Gui服务元件。

    进入监控网址时,可能会让您输入PC机账号和密码,就是您进入Win7操作系统时,自己原先设置的用户账户和密码,输入进去,即可,没啥玄机。

     在Speech Recognizer GUI 服务元件的监控网页中,看到Speech Configuration的栏目,在“Text”和“Semantic Value”参数项,逐个输入中文语音命令,我一共输入了8个命令,下图所示,如果您发出了其中一个命令,从Speech Recognizer服务元件就会输出相应的命令文本。

    从MSRDS开发环境左侧上方区域的「基本活动元件」(Basic Activities)区,拖出if活动元件,逐个填写[Text == “前进”]、[Text == “后退”]等条件选项,然后连线Speech Recognizer服务元件与if活动元件,随之出现“Connections”设置窗口,from选项选择“SpeechRecognized”。

   从下面程序全景图可以看出,如果您发出语音命令,比如“前进”,if活动元件的[Text == “前进”]成立,然后“LegoNXTDrivev2”NXT双电机元件通过蓝牙,驱使您身边的机械手车前进了,太酷了!

 

    然后具体谈谈与乐高NXT机器人相关的元件。从左侧下方区域的「服务元件」(Services)区,取出“LegoNXTBrickv2”NXT控制器和“LegoNXTDrivev2”NXT双电机以及“LegoNXTMotorv2”单电机元件。

    点击NXT控制器模块,在软件界面右侧「编程元件属性」“Properties”设置栏里,设置参数,PC机软件与NXT控制器的通讯方式为Bluetooth,根据操作系统的蓝牙软件中显示的串口号设置串口为“5”,注意:SerialPort的参数值必须是:电脑蓝牙设置软件和NXT控制器配对后,产生的串口“传出”端口号。

    下图,if活动元件与NXT电机元件的连接参数,显示了三种模式,“前进”和“后退”选项采用SetDrivePower模式,小车两个轮子的电机功率为正,而且功率值一样,小车就前进,为负,就后退。“旋转”也采用采用SetDrivePower模式,只不过我把小车两个轮子的电机功率设为一正一负,于是小车原地打转,直到发出停止命令。“停止”选项,小车两个电机功率为0。“左转”和“右转”选项采用RotateDegrees模式,在该模式对话框里设置偏转角度为20度和-20度。这样发出一次“左转”或“右转”口令,小车就偏转一个小的角度,以逐渐对准待抓取的物体。对于控制机械手的单电机元件用到的SetMotorRotation模式,我设置了反转1.6圈,就停下,这样正好物体从高处放下到地面。机械手抓起物体,还是采用了SetDrivePower模式,机械手从地面抓起物体,直到遇到挡块,产生闷车状态,闷车一段时间,NXT电机是可以承受的,但这样可以保证机械手紧紧抓住物体。

 

   到此,程序就讲解完了。程序编制后,按下F5,启动DSS服务,程序处于运行状态,这时可以用语音遥控乐高机器人了,它蛮听话的!微软语音识别技术也不是百分之百成功,比如我如果输入“抓起”,识别后居然变成了“左转”,后来我改成“抓”,问题就解决了。还有如果普通话不标准或者孩子的声音,它也识别出错。成年男人,标准普通话,然后带上耳麦,语音识别还是靠谱的,目前我做的语音控制实验,任务完成得相当顺利!

MSRDS R4版程序请下载:voiceApplication.zip 

  • 上一篇文章: 借助微软MSRDS软件,乐高机器人有了机器视觉

  • 下一篇文章: 微软XBOX手柄遥控乐高机械手车的MSRDS编程详解
  •    
    [注:标题搜索比内容搜索快]
    发表评论】【告诉好友】【打印此文】【关闭窗口
     最新5篇热点文章
  • 轨道钢承重计算公式及应用[109]

  • 【选型】如何为变频器选取阻值…[86]

  • AIS2023参展厂商名录[346]

  • AGV综合选型[170]

  • APIE 2023第4届亚太国际智能装…[138]

  •  
     最新5篇推荐文章
  • 外媒:正在唤醒中国的习近平[305]

  • 中国反伪科学运动背后的CIA黑手…[494]

  • [转载]袁隆平真言:中国最大的…[668]

  • 台专家:当年我们造IDF时 大陆…[572]

  • 旅日华人:中国严重误判日本民…[577]

  •  
     相 关 文 章
  • Arduino和STM32性能对比究竟谁…[26]

  • Labview及Proteus软件环境下单…[38]

  • 基于labview串口通讯的虚拟数字…[41]

  • AVR编程语言Arduino也可以用Pr…[47]

  • Arduino编程 PWM方法调节LED光…[37]


  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论
    设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 | 
    版权所有 Copyright© 2003 晨光科技        站长:璀璨星辰        页面执行时间:230.47毫秒
    Powered by:MyPower Ver3.5