【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第52课-语音控制机器人
使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎(内嵌了three.js编辑器的定制版-支持以第一视角游览3D场馆),可以在浏览器和node.js、deno、electron上运行,它是一个跨平台的软件,支持多个操作系统使用!并且支持使用内置的poplang智体编程语言实现3D组件的智能化编程——语法超简单,一句话语法,人人轻松上手!
下面分为几步介绍,如何基于dtns.network智体世界引擎实现语音识别控制机器人——通过使用语音识别的游览器agent,对听到的语音进行文本转换,当触发关键词“前进”、“左转”、“右转”、“后退”时,相应的通过dtns-api实现对机器人的adb指令调用。这样就完整地实现了机器人的语音控制功能。
为了实现机器人的语音控制,我们使用了浏览器原生的语音识别功能库——artyom.js,以便进行语音识别和语音播报。同时调用了dtna-api:dtns://web3:svrdev/rtphone/xxx/action?action=left&timeout=1000等指令接口(action分别对应不同的left、right、move、back),以便adb控制机器人左转、右转、前进、后退。
第一步:打开消息页面,找到机器人聊天窗口
注:找到标题为“机器人”的群聊。
第二步:点击进入“机器人”群聊,右下角的+号进入视频聊天功能,以接收机器人的实时画面(方便机器人的实时远程语音控制)
点击+号后,点击视频聊天图标(如下图所示)
第三步:进入视频聊天窗口,点击开始
注:点击开始后即可接收来自机器人端的实时画面(与上述步骤一样,进入视频聊天窗口开始视频聊天)
视频聊天的效果图如下:
第四步:打开 audio_cmd.html项目,以便使用插件启动该agent的前端语音识别代码
注:启动了artyom.js库之后,进行语音识别的监听,当出现关键词“左转”、“右转”、“前进”、“后退”时,调用相应的dtns-api接口:dtns://web3:svrdev/rtphone/xxx/action?action=left&timeout=1000等等。以便完成left、right、move、back的action动作调用。完成相应的机器人语音控制功能。
第五步:浏览器打开语音控制功能后,我们进行语音识别和控制
注:上图是语音控制指令“前进”发出后,机器人往前移动。
注:上图是机器人在接收到“后退”指令时发生的位置变化。
注:上图是在机器人接收到“右转”“左转”的转向指令后,机器人的视野的变化图。
通过上5步,我们即成功完成了通过dtns.network智体编程(dtns-api)实现了机器人的语音指令控制功能,从而大大提升了机器人的交互能力,满足不同场景下的非接触式机器人精确控制功能。这大大拓展了机器人编程的能力范围,演示了机器人语音指令控制的一些案例。
我们也看到了poplang智体编程语言的强大能量,一两行简单的指令,即可完成复杂的3D互动的交互效果、音效效果的开发。并且通过xverse-json源文件(3D轻应用)的方式进行社区分享,使得开源开放、公开透明的3D场馆的设计,能被大家更多的学习和继承,达到互动学习、互动成长的目的。这也是智体OS、智体互动式教育-学习的目标。
注:dtns.network德塔世界(开源的智体世界引擎)是在github和gitee上开源的项目!