转自:http://www.csdn.net/article/a/2016-01-06/15833642

一、前言

机器人是一种可编程和多功能的。用来搬运材料、零件、工具的操作机,智能机器人则是一个在感知、思维、效应方面全面模拟人的机器系统(外形不一定像人)。

在当前技术环境下,智能机器人一般都应包括人机交互、环境识别、核心计算、多功能本体等。

二、概述

得益于Qualcomm 骁龙 410处理器的强大,我们能够尝试基于Dragon Board 410c 去搭建一个机器人平台。

当中,由语音前端处理模块构建人机语音交互场景。摄像头和各类传感器构成环境识别系统。

核心计算则基于Dragon Board410c。多功能本体包括电机等机动构件,整体框图例如以下:

三、具体说明

本次内容将先介绍语音处理模块。完整的语音处理系统如图所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" style="vertical-align:middle; border:none; max-width:100%">

模块主要功能是完毕4麦克风阵列、降噪、回声消除、语音唤醒等语音前端处理,输出降噪后的音频信号、声源角度数据、唤醒触发信号、通讯等。

3.1 麦克风阵列

麦克风阵列由4个φ9.5mm的ECM麦克风构成。

3.1.1 麦克风选型

市场上常见麦克风有两类:数字麦和模拟麦。

数字麦採用MEMS技术,灵敏度高、体积小、耐高温可过炉,但成本较高。

模拟麦也就是ECM驻极体电容麦,灵敏度较差但成本较低。

在此次机器人应用中,因为机器人头部採用拟人化球面设计。数字麦仅仅能贴片于PCB板上无法贴合内壁。所以选用传统驻极体麦克风。

3.1.2 麦克风摆放

依赖于音源定位算法的原因。麦克风整列摆放需满足:直线排列,间距35mm,水平高度落差小于20mm,拾音面呈45度角斜向上。

3.2 回声消除

回声消除的核心思想是将麦克风採集到的混合声音(包含上位机播放的声音、有效人声、环境噪声等)与參考信号(上位机播放的声音)进行“减法”运算,消去或削弱參考信号。

具体參见“回声消除原理框图”(当中全部标注的信号均为模拟信号)。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" style="vertical-align:middle; border:none; max-width:100%">

3.3 音源定位

音源定位就是通过分析在不同位置上的麦克风所收到的信号来确定声源的空间位置。主要有三种方法:基于最大输出功率的可控波束形成技术,基于高分辨率谱预计的定位技术,基于到达时间差技术。

本次选用的模组採用的是到达时间差技术。涉及算法专利,细节如图所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="vertical-align:middle; border:none; max-width:100%">

最新文章

  1. Repeater嵌套Repeater并取得嵌套Repeater里面的控件
  2. android SurfaceView中播放视频 按视频的原始比例播放
  3. 使用 Date 和 SimpleDateFormat 类表示时间、Calendar类和Math类
  4. nodepad++快捷键收集
  5. Openstack Basic Networking 翻译
  6. TortoiseSVN使用方法
  7. maven_创建quickstart模板时异常
  8. How to control printer orientation(Landscape / Portrait) for an AX report in X++
  9. HDOJ-1013 Digital Roots
  10. 关于JavaScript 原型的理解
  11. 通过bin-log对mysql进行数据恢复
  12. Linux Socket多线程实现简单的多人聊天(pend)
  13. java数据类型与二进制
  14. 关于linux crontab定时操作oracle不执行的问题解决方案
  15. springboot启动配置原理之三(事件监听机制)
  16. Tsung 超详细的的tsung性能测试资料
  17. Linux运维平台工具:pstree、ps、top、htop、free、vmstat、dstat、kill、killall
  18. [Nginx] – 性能优化 – 配置文件优化
  19. delphi执行查询语句时的进度条怎么做
  20. Jenkins+Jmeter+Ant自动化集成环境搭建

热门文章

  1. Spring使用HibernateDaoSupport操作数据
  2. Android面试题集
  3. org/eclipse/jetty/util/component/Container$Listener
  4. 查看md文件
  5. 大数据量.csv文件导入SQLServer数据库
  6. activity_note
  7. windows下git server搭建
  8. day09-1 列表,元祖的内置方法
  9. zabbix部署监控端(server)以及页面优化
  10. 测试用html