首页 论坛 创客及开源专区 机器人及人工智能 人工智能技术之语音识别机器人——傻强(上)(原创:飞扬自我)

发帖 回复

[转载] 人工智能技术之语音识别机器人——傻强(上)(原创:飞扬自我)
3137 查看
12 回复
 楼主 | 发布于 2018-06-12 | 只看楼主
分享到:
还记得《澳门风云》中的傻强吗?
 
傻强:老板,老板,huo茶还是huo咖啡?

傻强:我好怕怕,我还想窝尿。

。。。。。

是否觉得傻强是电影的一个笑点呢,自己DIY一个吧,我就趁着这次机会,尝试DIy一个,使用时下比较热门的人工智能技术——语音识别,成不成功, 相似度有多少,大家期待哦。

现在的人工智能语音识别技术在这方面有几个方案:
1,基于传统的固定关键字的识别技术
        传统的固定关键字识别技术是需要程序预先预设置需要识别的关键字或者语句进行识别,这样可以需要修改程序中的关键字语句才能识别其他的语句,而且      现在固定关键字识别在识别关键字数量以及识别指令的层次上也有限制,代表是基于ld3320芯片的识别模块。
2,基于云平台的关键字识别技术
        在语音采集和压缩上在本地进行处理,但是最终的识别算法在云端服务器进行处理识别再通过网络回传给本地模块进行指令操作或者语音对话,这个就像《最强大脑》中的小度机器人一样,其背后是一个强大的计算机服务,以及一个强大的开发团队,,,
        代表作有,百度的DuerOS,还有科大讯飞。


本次DIY由于对固定关键字的识别技术模块有一定的使用经验,但是想尝试基于云平台的应用,可以选择百度的DuerOs或者科大讯飞的平台,不知道那个大咖有使用过,可以给个建议,小弟先行谢过。。。


考虑的经费问题,使用网络上的玩具机器人进行改装DIY,大概25-30cm高吧。初步计划是这个,还的看里面的空间怎么样。。已经入手小机器人了,到货了发出来和大家见个面。。。

小机器人到位,今天试了一下,还行,下面的图,就是机器人内部空间有点小,大家有没有好的推荐,找个大些的机器人???



 
眼睛还会闪哦,
 
走起路来又摇又摆,



第三方的一个开发套件,可以连接duerOS。
 
 
 


今天还测试了一下,交互效果还不错

 

R01语音智能开发板可以通过wifi连接duerOS,我们只需要使用AT指令就可以轻松配置完成,配置完了就可以直接输入语音进行人机交互或者命令咯,,,,
最近还在折腾这个玩儿,
R01开发板是基于Mbed系统开发的,以前都没有接触过这个系统,所以还是有点吃力的,
先发一个使用AT指令连接dueros的使用截图吧,,,,
 
通过简单的指令就可以连接wifi,启动dueros连接,修改音量,退出dueros连接等操作,,,,,
最近把买回来的小机器人拆了看看里面有什么可以进行改造的,进行我的大脑的DIY了,,,先看看下面的机器人,是一个锂电池和主板。

 

看头上还有一大把电路线,应该是上面控制LED灯的。。。
 
把头部分才开里面的线路就出来了,,,是一个PCB板载着LED灯阵。3X3  还有两部分,,,作为两个眼睛,上面还有一个喇叭,以及一个红外接收头、、、
 
看看主板,一个牛屎封装的mcu,一个电机驱动芯片,ma1208,还有一片4Mbit的flash,还有一个锂电池充电芯片。。。。。。。
 
外部是各种接头
 

看看头部,,,,
 
这就是3X3 灯阵,机器人的两个眼睛,,,,,,,
 

这个就是灯阵的信号,排序以及正负极接线方式。。
 
更新原理图咯,,,还没开始画板



电源部分,只是做电源接入,主板部分是使用3.7V的锂电池供电,,,
 


Mcu部分,主要是一个STM32F103c8t6提供电机驱动芯片信号,头部LED灯阵控制信号,以及提供USART3,SPI,I2C等接口,以及按键,主要是为了控制电机以及与外部的语音识别模块进行通信。。。。

 


电机驱动部分,使用的是MX1208,玩具的电机驱动芯片,,,,,

天继续折腾百度云的duerOs,发现不单单是一个模块就能完事的,还得去开发平台创建技能,
边看介绍边创建技能,
还测试了一下,见下图,,,,




 

 

 

最近忙了很久,DuerOS可能没时间去做,去摸索了,现在先更新PCB吧,昨天已经发出去制版了,
上图
PCB的整体视图
 

PCB正面图
 

正面的布局图
 

PCB背面图
 

PCB的背面布局图
 
今天开始调试测试程序,希望在最后的几天可以赶上做出一个完整的作品,


本帖有更多资源,需 登录 才可以下载,没有帐号?立即 注册

(0 ) (2 )
回复 举报

楼主 | 回复于 2018-06-12 沙发

最后这几天为了最终完成作品,可能需要进行方案修改一下了,
原计划是基于云端的语音识别,也就是基于DuerOS系统的语音识别的机器人傻强的DIY,但是DuerOS网上资源确实不多,而且还得上班活口,时间不是很多,现在发现基于DuerOS的计划可能要放弃了,但是DuerOS的探索还会继续,这是今天在公司摸索的一个功能,手机客户端控制的一个数据点(DuerOS云端服务器与本地终端的数据交换称为数据点)。
见图,
见图,
见图,
手机端的模拟设备,进行wifi连接,控制网页上的应用,

通过+/-进行改变数值




下面是电脑网页上的显示数据点数据,这个是通过手机端的数字修改,二显示出来













//////////////////////////////////////////////////////////////////分割线/////////////////////////////////////////////////////////////////
DuerOS的更新到这里了,接下来就没时间折腾DuerOS了,一个小白入门没人带还真不容易啊


¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
以下我是修改方案为基于LD3220+无线通信的控制方式,结合上一楼中的控制板STM32F103+音乐播放模块进行设计,LD3220进行语言识别,STM32F103与语言模块进行控制电机,灯光,以及语言回答的控制。。。。。

语言合成使用合成软件,但是找了很久都没有合适的     四川话男声,只能勉强使用女声了。






为了傻强的语录,昨晚硬生生还把《澳门风云2》看了一遍。。。。。
整理了一下,见图片


明天开始调试程序,语音模块还在路上,等一下吧,


编辑于 2018-06-12

(0 )
评论 (0) 举报

楼主 | 回复于 2018-06-12 2#

 昨晚测试了MP3播放模块的功能,该模块只需要使用串口进行控制就可以进行歌曲播放,指定曲目播放,上下一曲,播放,暂停等功能,十分合适DIY制作,简单而又不失乐趣。。。。     先上图
上图

管脚说明
 
以下是指令说明以及使用方法。
 

 

 

 

最后附上一部分代码:
/*********************************************************************************
*函数命名: void MY169012P_Init(void)
*初始化MY169012P
**********************************************************************************/
void MY169012P_Init(void)        
{
    GPIO_InitTypeDef GPIO_InitStructure;  

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);             //ʹÄÜ PORTA,PORTEʱÖÓ
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;//GPIOB.3 
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;         //ÏÂÀ­ÊäÈë
    GPIO_Init(GPIOB, &GPIO_InitStructure);                         //³õʼ»¯GPIOB3
                 
                send_4dat_cmd(0x35,0x01);          //SD播放
                 delay_ms(25);
                send_4dat_cmd(0x38,0x01);       //busy输出为高
                 delay_ms(25);
                send_4dat_cmd(0x31,0x0a);           //音量设置为10(范围0-30)        
                 delay_ms(25);
                send_5dat_cmd(0x41,0x00,0x00);             //指定歌曲播放曲目0000
                 delay_ms(25);                 
                send_3dat_cmd(0x11); //播放
//                 while(BUSY);
                          delay_ms(10000);        
          send_3dat_cmd(0x1E); //停止



 
继续更新
语音识别部分。
由于以前有使用过这个代码,所以修改起来还是比较快的,但是要一个一个代码自己敲进去也挺耗时间的,,,
不多说,看图,看视频

通过软件设定一定的值,对应不同的指令,当然这也指令也就固定下来了,只能识别设置的指令,其他指令识别不了。见下图
 

在测试前,先打印出来方便测试使用,一下就是能识别到的指令,也就是我们这次傻强的所有功能的定义,有队话(4-10),也有指令控制操作,包含放歌,跳舞,讲笑话等

 

傻强语音识别测试指令.jpg (54.48 KB, 下载次数: 4)

下载附件

2018-1-12 01:04 上传



下面是测试的截图,
 

随机挑选的测试指令
 
当然也有时候会识别错误的,(和你设置的关键词相似程度,你说话的标准是否,别湖念成福就行了)但是大多时候都可以识别出来你的指令,,,,
 

(0 )
评论 (0) 举报

楼主 | 回复于 2018-06-12 3#

PCB板回来了,还焊接了一块,和原来机器人上面得板卡一样的结构
上图吧 

最左边是机器人原来的板卡,中间是焊接好的PCB板,右边是空的PCB板
 

 
安装过一次,可以安装进去,,,
接下来就是调试程序了,,,,,



今天开始调试了一下整个系统的对话和指令识别情况,整个流程很不错,
看看一下测试时候打印的信息,,
 

以下是主程序的部分截图以及关键调用

 

测试过程中优化了部分语音结构,下面是最新的语音控制流程,

终于迎来了最关键的时刻,
我们的傻强要出来和大伙见面了。

大伙准备好掌声了没有啊。(此处应该有掌声吧)先来晒个最终的完整图。。
 
经过十来天的熬夜终于把小强弄出来了,在一个玩具机器人上面进行修改的,希望大伙能喜欢



(0 )
评论 (0) 举报

楼主 | 回复于 2018-06-12 4#

今晚的制作过程,
DIY就是需要折腾,
折腾就需要进行自己的思路以及动手去把自己喜欢的东西做出来,
先上图吧。

下班回来,吃过饭,就先把主板安装上去,但是发现,线缆太多,而且语言识别模块没有地方可以放下的,只能是外置了,考虑这里,只能先把连接语言模块的线缆冲机器人的正面出去,其他的MP3模块只能委屈安装在肚子里面了,

 

说干就干,把线缆和MP3模块都收到肚子里,但是机器人后背还有一个原来带的电池,
 
考虑到MP3模块的高度,和后面的电池有干涉,果断去掉电池,
 
这是原来机器人带有的电池,就在机器人背面,,但是和MP3模块干涉了。。。。
 
果断除掉,供电在外部使用小米充电宝供电吧。。。。。
 
细看肚子里的东西满满的一肚子线缆和模块,还有喇叭已经放到头上去了,只是没有拍照而已。。

 

安装接好线,先别急着拧螺丝,上电测试是不是正常,
 
躺着的全图
 
测试通过,接线没有问题,封上后盖,准备和大伙见面咯,,
 

大家好,我叫傻强,有啥子需要我都可以满足各位,(#^.^#)
 

来个背后的语音识别,暂时没有东西,过两天有空了,DIY一个小背包,让傻强背上,把语音识别模块放到里面去

 

头部眼睛的特写,(由于程序是流水式刷新的之抓拍到部分,看视频会有动感)

 

我是傻强,来自feiyangziwo DIY制作。
 







看了图,大伙都会问怎么控制的,这里大概画了一下,手写的有点难看。。。。。大家可以参考一下。。。。

(0 )
评论 (1) 举报

回复于 2018-06-12 5#

多谢分享!!!
(0 )
评论 (0) 举报

回复于 2018-06-12 6#

很完整 谢谢分享,傻强,觉得应该做的像傻根的外形
(0 )
评论 (0) 举报

回复于 2018-06-13 7#

感谢分享
(0 )
评论 (0) 举报

回复于 2018-06-15 8#

感谢分享;
(0 )
评论 (0) 举报

回复于 2018-06-21 9#

感谢分享
(0 )
评论 (0) 举报

回复于 2018-06-26 10#

多谢分享!!!
(0 )
评论 (0) 举报
发表回复
0/3000





举报

请选择举报类别

  • 广告垃圾
  • 违规内容
  • 恶意灌水
  • 重复发帖

全部板块

返回顶部