转自: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%">

基于Dragon Board410c 的智能机器人预研-语音识别及定位的更多相关文章

  1. [转] 前后端分离开发模式的 mock 平台预研

    引入 mock(模拟): 是在项目测试中,对项目外部或不容易获取的对象/接口,用一个虚拟的对象/接口来模拟,以便测试. 背景 前后端分离 前后端仅仅通过异步接口(AJAX/JSONP)来编程 前后端都 ...

  2. 数据质量管理工具预研——Griffin VS Deequ VS Great expectations VS Qualitis

    开源数据质量管理工具预研--Griffin VS Deequ VS Great expectations VS Qualitis. 概述 ​ 数据质量监控(DQC)是最近很火的一个话题,也是数据治理中 ...

  3. 基于jQuery页面窗口拖动预览效果

    今天给大家分享一款基于Query页面窗口拖动预览效果.这是一款基于jQuery+HTML5实现的模拟页面窗口显示拖动窗口预览特效.这款实例适用浏览器:IE8.360.FireFox.Chrome.Sa ...

  4. 预研报告——MyBatis持久层的demo

    一.预研任务介绍和预研目标 任务介绍: 与 Hibernate 相比, MyBatis 是一个半自动化的持久层框架,以轻量级.效率高.原生代而好评如潮.虽然有在分享会上大致讲解,但是还是重新梳理成文字 ...

  5. Nvidia NVENC 硬编码预研总结

    本篇博客记录NVENC硬编码的预研过程 github:  https://github.com/MarkRepo/NvencEncoder 步骤如下: (1)环境搭建 (2)demo编译,测试,ARG ...

  6. Blazor预研与实战

    背景 最近一直在搞一件事,就是熟悉Blazor,后期需要将Blazor真正运用到项目内.前期做了一些调研,包括但不限于 Blazor知识学习 组件库生态预研 与现有SPA框架做比对 与WebForm做 ...

  7. 基于zipkin分布式链路追踪系统预研第一篇

    本文为博主原创文章,未经博主允许不得转载. 分布式服务追踪系统起源于Google的论文“Dapper, a Large-Scale Distributed Systems Tracing Infras ...

  8. 基于geotools的(两个)SHP要素变化提取方法预研

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 我们用遥感的手段进行卫星特征提取.多幅影像间的特征变化提取的 ...

  9. android手势感应预研

    1.     产品介绍 该产品可以通过传感器来侦测用户的手势变化进而执行一些操作.比如说信息预览(如短信息预览.日历预览等等),此外,还可以通过指向某一个时间点来预览视频内容.预览音乐播放器(下一首歌 ...

随机推荐

  1. win10中让Visual Studio默认使用Administrator权限运行

    https://stackoverflow.com/questions/9654833/how-to-run-visual-studio-as-administrator-by-default Win ...

  2. Oracle多表连接效率,性能优化

    Oracle多表连接,提高效率,性能优化 (转) 执行路径:ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用:我们发现,单表数据的统计比多表统计的速度完全是两个概念.单表统计可能只 ...

  3. Java-MyBatis:MyBatis3 | 日志

    ylbtech-Java-MyBatis:MyBatis3 | 日志 1.返回顶部 1. 日志 Mybatis 的内置日志工厂提供日志功能,内置日志工厂将日志交给以下其中一种工具作代理: SLF4J ...

  4. Java-MyBatis-3.0:MyBatis 3 简介

    ylbtech-Java-MyBatis-3.0:MyBatis 3 简介 1.返回顶部 1. 简介 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程 ...

  5. 第七章 用户输入和while 循环

    7.1 创建多行字符串的方式: 01 prompt="if you tell me who you are, we can personalize the message you see.& ...

  6. 如何解决“因为计算机中丢失php_mbstring.dll”

    配置编译环境时,php.exe报系统错误,无法启动此程序,因为计算机中丢失php_mbstring.dll. 在C:\Windows找到php.ini文件,ctrl+f找到extension=php_ ...

  7. QQ自动登录里的一些控件知识

    在这个程序里面有个读取计算机指定文件的知识: private void button2_Click(object sender, EventArgs e) { openFileDialog1.Show ...

  8. 别让好想法埋没:如何进行APP开发?

    经常和许多创业者讨论,发现很多人想法都不错,但是都不知道该如何实现,今天就如何引导大家走出第一步写一篇文章,很多人通常误会一件事情,认为程序员开发可以一步步把自己的想法拼接出来,我有一个功能点,就让程 ...

  9. ZBrush 笔刷的基础参数

    ZBrush®中的笔刷基本参数主要包括3个:Draw Size(绘制大小).Focal Shift(焦点衰减)和Z Intensity(深度强度),通常使用这3个基本参数对笔刷进行调整. 在视图文档区 ...

  10. Eclipse中重置(还原)GIT分支

    重置(还原)GIT分支: 1.  右击项目——Team——Reset…: 2.  在弹出的Reset框中选择要重置(还原)的分支——Reset,即可完成.