移动机器人的语音控制

移动机器人的语音控制
移动机器人的语音控制

移动机器人的语音控制

摘要:基于传统的语音识别算法,以广茂达公司提供的能力风暴智能机器人为实验工具,实现机器人的语音控制。结合机器人的硬件基础,本项目特征提取采用了计算量比较少的L PCC算法,在模板匹配上采用了DTW算法。其中在数据采集上,为了减少空间,采用了语音数据的压缩存储。

关键词:语音控制,数据压缩存储,移动机器人

1.引言

1.1课题所属研究领域

语音识别技术就是让机器人通过识别和理解把语音信号转变为相应的文本或控制命令的技术。语音识别是一门交叉学科,正逐步成为信息技术中人机交互的关键技术,语音识别技术与语音合成技术的结合,使人们能够更方便的通过语音命令操作机器人。

1.2课题研究的价值

随着现代科学和计算机技术的发展,人们在与机器的信息交流中,需要一种更加方便、自然的方式。语言是人类最重要、最有效和最方便的信息交流方式,人类通过语言相互沟通,据统计,在日常生活中人类的信息交流约有75%是通过语言来完成的。这就很容易让人想到能否用自然语言代替传统的人机交互方式,如键盘、鼠标、手写或按键输入等。人机语言交流需要机器具有听觉,能“听懂”人类的语言,这就是机器的语音识别功能,语音识别是语音信号处理的重要研究方向之一。

语音识别技术正逐步成为信息技术中人机交互的关键技术,随着计算机技术、模式识别和信号处理技术以及声学技术等的发展,使得满足各种需要的语音识别系统的实现成为可能。近三十年来,语音识别在工业、军事、交通、医学、民用等方面,特别是在计算机、信息处理、通讯与电子系统、自动控制等领域中有着广泛的应用。当今,语音识别产品在人机交互应用中已经占到越来越大的比例。

1.3相关领域的研究现状

嵌入式语音识别是近年来语音识别技术在嵌入式领域的热门应用,而语音识别技术又是嵌入式语音识别研究和发展的理论基础。

语音识别的研究工作开始于20 世纪50 年代,这一时期主要探索和研究声音和语音学的

基本概念和原理。1952 年,贝尔实验室的Dvasi、Biddulph 和Balashek 开发了一个针对特定人的离散数字识别系统——Audry 系统,该系统主要依赖于测量数字元音区域的共振波谱。

60 年代,出现了语音识别方面的几种基本思想,这时期的重要成果是提出了线性预测分析技术(Linear Prediction,LP)和动态规划(Dynamic Programming,DP) ,前者较好地解决了语音信号产生模型的问题,后者则有效解决了不等长语音的匹配问题,对语音识别的发展产生了深远的影响。

70 年代,伴随自然语言理解的研究以及微电子技术的发展,语音识别领域取得了突破性成果。在理论上,线性预测分析技术得到进一步应用,动态时间弯折(Dynamic timewarping,DTW)基本成熟,特别是提出了矢量量化(Vector Quantization,VQ)和隐马尔科夫模型(Hidden Markov Model,HMM)理论。在实践上,实现了基于线性预测倒谱和DTW技术的特定人孤立词语音识别系统。

80 年代,语音识别研究的重点之一是连接词语音识别,出现了各种连接词语音识别和关键词识别算法。另一个重要发展是语音识别算法从模板匹配技术转向基于统计模型的技术,尤其是HMM 模型和人工神经网络(ANN)在语音识别中的成功应用。人们的研究从微观转向宏观,不再刻意追求细化语音特征,而是更多地从整体平均的角度来建立最佳的语音识别系统。统计语言模型也开始取代基于规则语言的模型。具有里程碑意义的事件是1988 年美国卡耐基梅隆大学(CMU) 开发的基于VQ/HMM 997 词非特定人连续语音识别系统SPHINX。

90 年代,相应的研究工作在模型设计的细化、参数的提取和优化以及系统的自适应技术等方面取得了一些关键性的进展,这使语音识别技术进一步成熟,并且出现一些很好的产品。一些国家和公司都为语音识别系统的实用化开发研究投以巨资,如美国、日本、韩国,以及IBM、Microsoft、Apple、AT&T、NTT 等著名公司。

2.基本介绍

2.1能力风暴机器人

项目中使用到的机器人是广茂达公司提供的能力风暴智能机器人大学版AS-UIII。AS-UIII 是面向教育的新一代智能移动机器人。它有一个功能强大的微处理系统和传感器系统,而且它还能扩展听觉、视觉、和触觉,成为真正意义上的智能机器人。

能力风暴AS-UIII 采用NXP 公司的ARM7 中LPC2132 微处理器为控制核心。

LPC2132 是基于一个支持实时仿真和嵌入式跟踪的32/16 位ARM7TDMI-STM CPU的微控制器,并带有64kB 的嵌入的高速Flash 存储器。128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16

位Thumb 模式将代码规模降低超过30%,而性能的损失却很小。

LQFP64 封装和极低的功耗使LPC2132 可理想地用于小型系统中。宽范围的串行通信接口和片内16kB 的SRAM 使LPC2132 非常适用于通信网关、协议转换器、软modem 、声音辨别和低端成像,为它们提供巨大的缓冲区空间和强大的处理功能。多个32 位定时器、8 路10 位ADC 、1 路10 位DAC 、PWM 通道和47 个GPIO 以及多达9 个边沿或电平触发的外部中断使它们特别适用于工业控制和医疗系统。

2.2识别算法理论

语音识别流程:

Y

识别结果

主程

启动机器人

语音采集模块 是否有语音语音识别模块

机器人控制模块 N

Y

等待

符合控制要

N

预处理是提高语音识别性能,增强稳健性的重要环节,并为特征参数的提取做准备。预处理主要包括:语音信号电压放大采样、反混叠失真滤波、预加重、自动增益控制、分帧、加窗等环节。同时还可能包含语音增强、端点检测、以及A/D 转换等。

2.2.1.1预加重

由于语音信号的平均功率谱受声门激励和口鼻辐射的影响,高频端大约在800Hz以上按6dB/倍频程跌落,为此要在预处理中进行预加重。预加重主要是为了提升高频部分,以弥补声音在唇部辐射时产生的高频部分损失,可以使信号的频谱变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱,以便于进行频谱分析或声道参数分析。预加重可以在A/D 变换前,在预滤波之后进行,也可以在A/D 变换之后进行。语音信号数字化时在反混叠滤波器之前进行,这样不仅可以进行预加重,而且可以压缩信号的动态范围,有效地提高信噪比。但是预加重一般是在语音信号数字化之后,用具有6dB/倍频程的提升高频特性的预加重数字滤波器实现,它一般是一阶的。

H(z)=1-a*(z-1)

式中,μ 值一般取0.9~1 之间,本文选取μ 值为0.97。

2.2.1.2加窗分帧

由于语音信号是非平稳的时变过程,但是人的发音器官的肌肉运动速度较慢,所以可以认为语音信号是局部平稳的或短时平稳的。因此语音信号分析常采用分段或分帧的方法来处理,一般每秒的帧数为33~100,视情况而定,分帧可用连续的或交叠分段的方法。本文采用交叠分段的方法,可以保证帧与帧之间平滑过渡,保持其连续性。每帧的长度称为帧长,相邻两段交叠的部分称为帧移,帧长和帧移对应的点数由于采样频率的差异而不同,文中采取的帧长为160,帧移为80。

2.2.2语音信号噪声抑制

实际环境中,语音总会受到外界环境噪声的干扰,这些噪声包括从周围环境传输媒质中引入的噪声、电气设备的噪声以及其他说话人的干扰等。环境噪声使识别系统的性能大大下降,已经成为语音识别技术走向实用化的一个主要障碍,因此寻求一种合理有效的方法,滤除信号噪声是语音识别系统获得良好识别效果的重要前提

语音的端点检测(Endpoint Detect)是语音识别中最基本的模块,尤其在嵌入式语音识别系统中更是占有非常重要的地位:一方面端点检测的结果不准确,系统的识别性能就得不到保证;另一方面如果端点检测的结果过于放松,虽然语音部分被很好的包含在处理信号中,但是增加过多的静音会增加系统的运算量,同时对识别性能也有负面影响。因此,选择一种准确、有效的端点检测方法无疑是整个系统中非常重要的部分。

2.2.4 语音信号特征提取

语音信号中含有丰富的信息,特征提取就是对语音信号进行分析处理,去除对语音识别无关紧要的冗余信息,提取对语音识别有用的重要信息。对于非特定人语音识别来说,希望特征参数尽可能多的反映语音信息,而尽量减少说话人的个人信息特征;对于说话人语音识别来说,则希望尽量多的保留说话人的个性特征,因此需要根据不同的应用目的选用相应的特征参数。本项目采用线性预测倒谱系数(Linear Prediction Cepstrum Coefficients, LPCC)。

LPCC 系数是LPC 系数经过倒谱分析推导而来的一种重要的倒谱系数。该特征是基于语音信号为自回归(Auto-Regressive, AR)信号的假设,利用线性预测分析获得倒谱系数。因此只要计算出LPC 系数,就可以通过倒谱分析求得LPCC 系数。LPCC 系数的求解过程如下:

(1) LPC 系数的求解。LPC 系数是模拟人的发音器官的,是一种基于语音合成的系数。对于一个LPC 系统,采样点n 的输出s(n)可看成一个p 阶的AR 过程序列,可以表示为:

∑=+-=p k k n Gu k n s a n s 1)

()()(

其中,1a , 2a ....p a 为常数。该式的Z 域表达式为:

)

()()(1z GU z S z a z S p k k k +=∑=-

由此可以得到系统的传递函数为:

)(111)()()(1z A z a z U z S z H p k k

k =-==∑=-

定义系统输出的估计为:

∑=-=p k k k n s a n s 1)

()(

进一步可得系统的估计误差为:

∑=--='-=p k k k n s a n s n s n s n e 1)

()()()()(

而相应的误差传递函数为:

∑=--==p k k

k z a z S z E z A 11)()()(

由此可知,线性预测误差就等于激励与增益的乘积,即:

)()(n u G n e ?=

为了计算LPC 系数,首先定义起点为n 的短时语音信号和误差信号为:

)()()

()(m n e m e m n s m s n n +=+=

误差平方和为:

∑∑∑??????--===m p k n k n m n n k m s a m s m e E 2

12)()()(

上式对各阶LPC 系数求导数,令其分别为零:

p k a E k

n ,...2,1,0==?? 可得下式:

∑∑=--=-m p

k m n n k n n k m s i m s a m s i m s 1)()(?)()(

根据相关函数的定义:

∑--=m

n n n k m s i m s k i )()(),(θ

可以得到:

∑===p

k n k p k k i a

i 1...2,1),,(?)0,(φθ 上式表示P 个方程的方程组,未知数为P 个。求解该方程组,就可以得到系统的线性预测系数

(2) LPCC 系数的求解。利用倒谱分析递推关系,即可得到LPC 到LPCC 的直接递推关系如下:

????

?????>≤≤+==∑∑-=--=-11112,1,0,log m k k m k m k k m k m m p m a c m k p m a c m k a m G c

式中,m ,p 分别是LPCC 与LPC 的阶数,根据两者的大小关系不同递推关系也有所不同。m=0 时实际上是直流分量,在识别过程中通常是不需要的,无须计算。LPC 模型是基于发音模型建立的,LPCC 系数是一种基于合成的参数,其主要优点是有效地去除了语音产生过程中的激励信息,但是没有充分利用人耳的听觉特性。

2.2.5 DTW 匹配算法

DTW 算法的基本思想是运用动态规划的思想,利用局部最佳化的处理来自动寻找一条路径,使得参考模板与测试模板的两个特征矢量之间的积累失真量最小,从而得出识别结果,同时避免了由于时间长度不同而可能引入的误差。DTW 算法具有计算简洁、容易实现和识别率高等优点,在小词汇量孤立词语音识别中获得了良好的性能。

2.2.5.1 算法原理

假设测试和参考模板分别用T 和R 表示,为了比较它们之间的相似度,可以计算它们之间的距离 D[T ,R],距离越小则相似度越高。为了计算这一失真距离,应从T 和R 中各个对应帧之间的距离算起。设n 和m 分别是T 和R 中任意选择的帧号,d[T (n ),R (m )]表示这两帧特征矢量之间的距离。距离函数取决于实际采用的距离度量,在DTW 算法中通常采用欧氏距离.

若N=M 则可以直接计算,否则要考虑将T (n )和R (m )对齐。对齐可以采用线性扩张的方法,如果N

如果把测试模板的各个帧号n=1~N 在一个二维直角坐标系中的横轴上标出,把参考模板的各帧号m=1~M 在纵轴上标出,通过这些表示帧号的整数坐标画出一些纵横线即可形成一个网络,网络中的每一个交叉点(n ,m )表示测试模式中某一帧的交汇点。DP 算法可以归结为寻找一条通过此网络中若干格点的路径,路径通过的格点即为测试和参考模板中进行计算的帧号。路径不是随意选择的,首先任何一种语音的发音快慢都有可能变化,但是其各部分的先后次序不可能改变,因此所选的路径必定是从左下角出发,在右上角结束

2.2.5.2 算法搜索路径

为了描述这条路径,假设路径通过的所有格点依次为(n ,m ),……,(n ,m ),……,(n ,m ),其中(n ,m )=(1,1),(n ,m )=(N ,M )。路径可以用函数m =?(n )

描述,其中n =i,i=1,2,……,N,?(1)=1,?(N)=M。为了使路径不至于过倾斜,可以约束斜率在0.5~2的范围内,如果路径已经通过了格点(n ,m ),那么下一个通过的格点(n ,m )只可能是下列三种情况之一:

(n ,m )=(n +1,m +2)

(n ,m )=(n +1,m +1)

(n ,m )=(n +1,m )

用r表示上述三个约束条件。求最佳路径的问题可以归结为满足约束条件r时,求最佳路径函数m =?(n ),使得沿路径的积累距离达到最小值,即:

搜索该路径的方法如下:搜索从(n ,m )点出发,可以展开若干条满足?的路径,假设可计算每条路径达到(n ,m )点时的总的积累距离,具有最小累积距离者即为最佳路径。易于证明,限定范围的任一格点(n ,m )只可能有一条搜索路径通过。对于(ni,mi),其可达到该格点的前一个格点只可能是(n ,m )、(n ,m -1)和(n ,m -2),那么(n ,m )一定选择这3个距离之路径延伸而通过(n ,m ),这时此路径的积累距离为:D[(n ,m )]=d[T(n ),R(m )]+D[(n , m )]

其中的n = n -1 ,m -1由下式决定:

D[(n ,m )]=min{D[(n , m )],D[(n , m -1)],D[(n , m -2)]}

这样可以从(n ,m )=(1,1)出发搜索(n ,m ),再搜索(n ,m ),……,对每一个(n ,m )都存储相应的前一格点(n ,m )及相应的帧匹配距离d[n ,m ]。搜索到(n ,m )时,只保留一条最佳路径。如果有必要的话,通过逐点向前寻找就可以求得整条路径。这套DP算法便是DTW算法。

DTW算法可以直接按上面的描述来实现,即分配两个N×M的矩阵,分别为积累距离矩阵D和帧匹配距离矩阵d,其中帧匹配距离矩阵d(i,j)的值为测试模板的第i帧与参考模板的第j帧间的距离。D(N,M)即为最佳匹配路径所对应的匹配距离。

3.技术难点

3.1解决空间资源不足

虽然目前的语音识别算法已经相对比较成熟,已经可以实现非特定人的连续语音识别,但是这些识别算法的提出基本上都是基于PC机上等内存容量很大或者不需要考虑内存空间的服务器上实现,由于嵌入式系统本身的特点,资源和时间都是主要需要解决的问题,因此这个项目我们也和大部分嵌入式系统开发一样面临了相同的问题,一般的语音识别算法基本都不能直接移植到嵌入式系统上,因此这个项目当中我们很大一部分都是在资源空间上解决问题。

结合项目中使用的能力风暴机器人,这时我们需要解决的问题包括:采样率,采样时间,数据精度,内存分配等。

(1)采样率

高的采样率虽然能更加精确的表示语音数据,但是同时带来的问题是同样的一段语音需要更多的数据存储空间。为了节省空间,根据奈奎斯特理论,我们确定了最低的采样率8K。

(2)采样时间

采样率确定后,需要确定采样时间。采样时间短,能够减少数据量,但不能采集完一条完整命令;采样时间长,能够采集完命令,但同时增加了数据量;根据项目目标:需要实现

“前进”,“后退”,“左转”,“右转”,“停止”五条指令,由经验最终确认了0.5秒的采样时间。

(3)数据精度

同样地,数据精度大,表示的范围大,但数据量增加;数据精度小,表示的范围小,但数据量减少。结合机器人本身的采样精度,我们确定了10位精度值。

(4)内存分配

语音识别算法中需要用到很多的临时数组,因此在算法实现上每一步都需要关注内存的分配问题,如果数组开辟总的空间超过机器人RAM提供的空间即无法计算。

4.主要工作

3.1语音信号采集

3.1.1 确定语音信号采集量

根据奈奎斯特理论,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。所以项目中确定了最小的采样率为8K Hz。

LPC2132 内置一个16k的RAM,如果采集1秒的数据,一个数据用2个字节来存储,8k的采样率得出总的字节数为:8K*2 = 16K,加上代码运行中占用内存量,将超过LPC2132 的RAM大小。根据识别语音命令“前进”,“后退”,“左转”,“右转”,“停止”,由经验值可以知道,一条命令只要0.5秒就可以完成,即只要4000个数据就能采集完一条指令,因此最终确定语音信号的采集量为4000个数据。

3.1.1 得出8K Hz采样率

确定了最小的采样率后,由于不知道LPC2132 A/D本身的采样率,因此我们在代码中通过延迟时间大概得出需要的8k采样率。由采集量4000个数据可以知道采样时间为0.5秒,我们的做法是在代码中通过增加一个循环来延迟A/D的采样,具体做法如下:

#define MAX_NUMBER 4000

void m_delay(int n)

{

int i=0;

int nt=0;

nt = n*50;

for(i=0;i

{

}

}

Time1 = getCurrentTime(); //输出当前时刻

for(i=0;i

{

a = 0;

a = m_AI(); /*A/D采集函数*/

m_delay(20);

}

Time2 = getCurrentTime(); //输出当前时刻

不断调整m_delay(n)里面的n参数值使得(Time2- Time1)≈0.5。

3.1.1 验证机器人采样效果

由上一步可知我们只能大概得出一个8K采样频率,为了进一步验证机器人的采样效果,我们通过将语音数据传输到PC机上试验语音效果。我们的做法先通过机器人通过串口将语音数据传到PC,在PC机上写一段接收端代码接收数据,由于语音数据是以10位实际存储,而串口只能一个一个字节发送,所以在接收端需要做一定的处理,得出实际的语音数据采样值。

在PC端存储为一个个整型数据,然后通过cool edit软件播放出来,一步步调整延迟函数的参数值,进一步优化采样效果。

3.2 RAM存储分配

3.2.1 原始数据压缩存储

4000个数据,每个数据用短整型(2个字节)表示,即数据信号占用量4K*2=8K个字节,由于后面的LPCC系数的提取和DTW算法的匹配都需要用到较多数组,为了给后面的计算腾出尽可能多的RAM容量,因此我们考虑对语音数据进行压缩处理。

通过查找LPC2132资料,A/D转换的精度为10位,即采集一个数据用10位表示,如果用两个字节16位来表示,将有6位数据是无用的,这里就有了数据压缩的空间,尽可能地利用这6位数据来存储有用的信息。我们的做法是通过定义一个位数组,以10个数据位来表示一个数据,这时4K的数据总的占用量为4K*10/8 = 5K字节,总共减少了3K的RAM 空间。

具体实现如下:

#define BITMASK(b) (1 << ((b) % CHAR_BIT))

#define BITSLOT(b) ((b) / CHAR_BIT)

#define BITTEST(a,b) ((a)[BITSLOT(b)] & BITMASK(b))

#define MAX_BIT_NUM 40000

#define SAMPLE_BIT 10 //样本的位数

uint8 sample[BITNSLOTS(MAX_BIT_NUM)]; //位数组,以10位表示一个数据

for(j=0;j

{

b = a & 0x01; //a代表得出的A/D采样值16位表示

if(b ==1)

{

BITSET(sample,(i*SAMPLE_BIT)+j);

}

a = a >> 1;

}

由A/D采样值得出一个16位数值,然后通过按位处理,将a的前10插入到位数组上。后面计算时通过每10位表示一个数据得出原来的采样值。

3.2.2 预处理信号数据存储

为了消除发声过程中声带和嘴唇的效应,来补偿语音信号受到发音系统所压抑的高频部分,需要对语音数据进行预加重处理,

预加重公式:H(z)=1-a*(z-1)

系数其中a 介于0.9 和1.0 之间。若以时域的表达式来表示,预强调后的讯号s2(n) 为:s2(n) = s(n) - a*s(n-1)

由这个公式可以知道如果信号预加重后,将得出一个和原始信号数据一样大小的数组,但是这时候每个数据将变成浮点数,每个浮点数用4个字节表示,4000个数据将占用16K 的RAM大小,超出了可用的空间,为了解决这个问题,我们采取了定义一个1帧大小数据的预加重数组空间,由于后面的处理都是按一帧帧的处理,所以每处理完一帧的数据后,都更新这个预加重数组。一帧大小为160个数据,可以知道这个预加重数组大小为160*4=640B。

具体做法如下:

#define HAMMING_LEN 160

#define FRAME_NUM 49

fp32 preData[HAMMING_LEN];

for(i=0;i

{

....

updatePreData(i*10*HAMMING_LEN/2);//更新preData数组

....

}

3.2.3自相关系数存储

自相关函数是描述随机信号X(t)在任意两个不同时刻t1,t2,的取值之间的相关程度,根据LPCC算法可知,需要计算自相关系数,定义一个一帧大小的数组,如果以8K的采样率即自相关系数阶数为10,这个自相关系zxg[10+1]数数组大小为(10+1)*4 =44B。

3.2.4 LPC系数存储

线性预测编码(LPC)是主要用于音频信号处理与语音处理中根据线性预测模型的信息用压缩形式表示数字语音信号谱包络的工具。它是最有效的语音分析技术之一,也是低位速下编码方法高质量语音最有用的方法之一,它能够提供非常精确的语音参数预测。

由LPC的计算公式需要定义一个10阶大小的数组LPC[10],则这个数组的大小为10*4 = 40B个字节

3.2.5 LPCC系数存储

LPCC 系数是LPC 系数经过倒谱分析推导而来的一种重要的倒谱系数。该特征是基于语音信号为自回归(Auto-Regressive, AR)信号的假设,利用线性预测分析获得倒谱系数。

LPCC的系数一般去12阶,这个数组LPCC[12*FRAME_NUM],其中FRAME_NUM 为语音数据的帧总数,在我们的项目中FRAME_NUM =49,则这个数组总大小为:12*49*4=2352B。

3.2.6 DTW系数存储

在计算DTW中,需要定义一个大小为50*50大小的distance[][][二维浮点数组,用于动态时间规划计算,这个数组大小为50*50*4 = 10000B≈10KB,由上面的计算占用的RAM空间可以知道,将无法提供这个10KB空间,由于DTW算法只需要LPCC系数,前面的原始数据、自相关系数和LPC系数已经不需要,所以我们的做法是回收前面的数组占用的空间,只保留LPCC数组空间,然后再动态生成这个数组。由上面可以知道LPCC大小:2352B,两个数组总大小:10000B + 2352B = 12352B。

具体实现:

//先回收内存

#define DTWMAXNUM 50

free((uint8 *)sample);

free((fp32 *)preData);

free((fp32 *)zxg);

free((fp32 *)LPC);

//动态生成数组

distance = (fp32 **)malloc(sizeof(fp32*)*DTWMAXNUM);

for(i=0; i

{

distance[i] = (fp32 *)malloc(sizeof(fp32)*DTWMAXNUM);

}

3.2.7 模板数据存储

每个模板数组大小为12*49 *4=2352B,需要的5个模板值占用的总空间为:5*2352 = 11760B个字节,由于这些模板是不改变的,所以我们定义为常量数组,数据将存储在flash 中,由于flash的大小为64KB,所以满足需要。

3.2.8 内存分配

3.2.8.1 在计算LPCC系数之前需要RAM空间:

(1)Sample:原始数据数组,大小:5000B

(2)preData:一帧的预加重数组,大小:640B

(3)Zxg:自相关系数数组,大小:44B

(4)LPC:LPC系数数组,大小:40B

(5)LPCC:LPCC系数数组,大小:2352B

需要的RAM总空间为:5000B+640B+44B+40B+2352B = 8076B,满足要求。

3.2.8.1.2在运算DTW算法需要的RAM空间

(1)LPCC:LPCC系数数组,大小:2352B

(2)Distance:Distance数组,大小:10000B

需要的RAM总空间为:2352B+10000B=12352B,满足要求。

5.成果和不足

5.1成果

1.能够实现一定的语音识别功能;

5.2不足

1.没有达到预期的识别精度

2.只能实现特定人的语音识别

3.对噪音的抗干扰能力很弱,为了节省运算时间,我们省去了端点检测步骤,只通过一个阈值来判断是否语音开始,只要大于这个阈值,系统就认为语音开始,所以如果噪音大于这个阈值,同样会对噪音进行识别。

参考文献:

[1]基于DTW算法的语音识别系统实现吴晓平电子工程师,2004

[2]语音识别技术的进展张青松科技信息,2011

[3]机器人嵌入式语音识别系统研究刘桂斌硕士学位论文,中国石油大学

[4]基于低信噪比条件下的VAD算法研究汪涛电子工程师,2005

[5]一种基于DTW的孤立词语音识别算法张军计算机仿真,2009

[6]语音识别中DTW算法改进研究文翰微计算机信息,2010

[7]基于语音识别系统中DTW算法改进技术研究陈立万微计算机信息,2006

[8]改进的DTW算法在实时语音辨识系统中的应用曹茂俊科学技术与工程,2010

[9]嵌入式语音识别算法的研究与实现熊飞硕士学位论文,太原理工大学

[10]嵌入式语音识别系统设计何燕玲微计算机信息,2007

移动机器人控制软件的设计与实现

移动机器人控制软件的设计和实现
作者:李晓明 文章来源:https://www.360docs.net/doc/058990622.html, 更新时间:2006-8-9 17:25:55 点击数: 2742
简介:现在做一个移动机器人是很容易的一件事,车体自己可以加工,或买现成的;避障可以用超声阵列;
导航可以用激光测距 LMS;定位可以用电子地图加 LMS 加陀螺仪;然而控制软件却只能自己编写。本文 或许可以给你一些启示。
相关链接 基于 VIA 平台的移动机器人
移动机器人的使用现在非常多,做一个移动机器人似乎也很容易,车体自己可以加工,也可以去 买现成的;避障可以用超声阵列;导航可以用激光测距 LMS;定位可以用电子地图加 LMS 加陀 螺仪;驱动可以用各种电机及配套驱动器或者自己做;通讯可以去买现成的无线通讯模块,可以 是数字的,也有模拟的;大范围定位可以用 GPS 模块,也是现成的;至于什么红外,蓝牙,甚 至计算机视觉都可以去市场上买,但是(然而)为什么做一个移动机器人还是这么难呢?尤其是 对一个新手而言。一个老外说过,硬件是现成的,软件算法杂志里有的是,很多可以在网上当, 但即使是一个博士生也要花费很长的时间完成一个实际可用的移动机器人。为什么?因为机器人 使用的困难在使用软件的设计上。前面那个老外也说过,现在什么都可以在网上当,唯独使用程 序不能。有过自己写移动机器人程序的人可能会理解这段话,当然也仅仅是可能,因为不排除有 很多机器人大拿一上来就可以写出很棒的移动机器人软件。
移动机器人的控制软件开发是和硬件紧密相关的,甚至和机器人的体系结构也密切相关,同样是 移动机器人,有的是用 PC 控制的,有的是用多个嵌入式系统实现的,有的则是多机器人协同工 作的,操作系统有人会用 DOS,有人会用 Windows,有人会用 Linux,有人会用 Embeded Operation System。硬件平台有的用 x86,有的用 ARM 芯片,有的会用 DSP,通讯里面会 有串口,TCP/IP 网络,无线以太网,红外,蓝牙等,甚至驱动机构也不一样,有的是用腿,有

浅谈机器人智能控制研究.答案

陕西科技大学 2015 级研究生课程考试答题纸 考试科目机械制造与装配自动化 专业机械工程 学号1505048 考生姓名乔旭光 考生类别专业学位硕士

浅谈机器人智能控制研究 摘要:以介绍机器人控制技术的发展及机器人智能控制的现状为基础,叙述了模糊控制和人工神经网络控制在机器人中智能控制的方法。讨论了机器人智能控制中的模糊控制和变结构控制,神经网络控制和变结构控制,以及模糊控制和神经网络控制等几种智能控制技术的融合。并对模糊控制和神经网络控制等方法中的局限性作出了说明。 关键词:机器人;智能控制;模糊控制;人工神经网络 1 智能控制的主要方法 随着信息技术的发展,许多新方法和技术进入工程化、产品化阶段,这对自动控制技术提出崭新的挑战,促进了智能理论在控制技术中的应用,以解决用传统的方法难以解决的复杂系统的控制问题。 智能控制技术的主要方法有模糊控制、基于知识的专家控制、神经网络控制和集成智能控制等,以及常用优化算法有:遗传算法、蚁群算法、免疫算法等。1.1 模糊控制 模糊控制以模糊集合、模糊语言变量、模糊推理为其理论基础,以先验知识和专家经验作为控制规则。其基本思想是用机器模拟人对系统的控制,就是在被控对象的模糊模型的基础上运用模糊控制器近似推理等手段,实现系统控制。在实现模糊控制时主要考虑模糊变量的隶属度函数的确定,以及控制规则的制定二者缺一不可。 1.2 专家控制 专家控制是将专家系统的理论技术与控制理论技术相结合,仿效专家的经验,实现对系统控制的一种智能控制。主体由知识库和推理机构组成,通过对知识的获取与组织,按某种策略适时选用恰当的规则进行推理,以实现对控制对象的控制。专家控制可以灵活地选取控制率,灵活性高;可通过调整控制器的参数,适应对象特性及环境的变化,适应性好;通过专家规则,系统可以在非线性、大偏差的情况下可靠地工作,鲁棒性强。 1.3 神经网络控制 神经网络模拟人脑神经元的活动,利用神经元之间的联结与权值的分布来表

全向移动机器人的运动控制

全向移动机器人的运动控制 作者:Xiang Li, Andreas Zell 关键词:移动机器人和自主系统,系统辨识,执行器饱和,路径跟踪控制。 摘要:本文主要关注全向移动机器人的运动控制问题。一种基于逆运动学的新的控制方法提出了输入输出线性化模型。对执行器饱和及驱动器动力学在机器人性能体现方面有重要影响,该控制法考虑到了以上两个方面并保证闭环控制系统的稳定性。这种控制算法常用于真实世界的中型组足球机器人全方位的性能体现。

1.介绍 最近,全方位轮式机器人已在移动机器人应用方面受到关注,因为全方位机器人“有一个满流动的平面,这意味着他们在每一个瞬间都可以移动,并且在任何方向都没有任何调整”。不同于非完整的机器人,例如轮式机器人,在执行之前具有旋转任何所需的翻译速度,全方位机器人具有较高的机动性并被广泛应用在动态环境下的应用,例如在中型的一年一度的足球比赛。 大多数移动机器人的运动控制方法是基于机器人的动态模型或机器人的运动学模型。动态模型直接描述力量施加于车轮和机器人运动之间的关系,以外加电压的每个轮作为输入、以机器人运动的线速度和角加速度作为输出。但动态变化所造成的变化的机器人惯性矩和机械组件的扰动使控制器设计变得较为复杂。假设没有打滑车轮发生时,传感器高精度和地面足够平坦,由于结构的简单,因而运动模型将被广泛应用于机器人的设计行为中。作为输入运动学模型是机器人车轮速度,输出机器人的线速度和角速度,机器人的执行器的动力都快足以忽略,这意味着所需的轮速度可以立即达到。然而,该驱动器的动态极限,甚至降低了机器人在真实的情况中的表现。 另一个重要方面是机器人控制的实践:执行器饱和。因机器人轮子的指挥电机速度是有饱和的界限的,执行器饱和能影响到机器人的性能,甚至使机器人运动变得不稳定。 本文提出了一个全方位的机器人的一种运动控制方法,这种控制方法是基于逆输入输出的线性的运动学模型。它需要不仅考虑到驱动器动力学的识别,但也需要考虑到执行器饱和控制器的设计,并保证闭环控制系统系统稳定性。 本文其余的部分:在2节介绍了运动学模型的一个全方位的中型足球机器人;在3节介绍了路径跟踪与定位跟踪问题基于逆运动学模型的输入输出线性化的解决方法,其中包括执行器饱和分析;4部分介绍了动态识别器及其在控制性能方面的影响;最后的实验结果和结论讨论部分分别在5和6。

ROS语音控制机器人教程

如今语音识别在PC机和智能手机上炒的火热,ROS走在技术的最前沿当然也不会错过这么帅的技术。ROS中使用了CMU Sphinx和Festival开源项目中的代码,发布了独立的语音识别包,而且可以将识别出来的语音转换成文字,然后让机器人智能处理后说话。 一、语音识别包 1、安装 安装很简单,直接使用ubuntu命令即可,首先安装依赖库: $ sudo apt-get install gstreamer0.10-pocketsphinx $ sudo apt-get install ros-fuerte-audio-common $ sudo apt-get install libasound2 然后来安装ROS包: 其中的核心文件就是nodes文件夹下的recognizer.py文件了。这个文件通过麦克风收集语音信息,然后调用语音识别库进行识别生成文本信息,通过/recognizer/output消息发布,其他节点就可以订阅该消息然后进行相应的处理了。 2、测试 安装完成后我们就可以运行测试了。 首先,插入你的麦克风设备,然后在系统设置里测试麦克风是否有语音输入。然后,运行包中的测试程序: $ roslaunch pocketsphinx https://www.360docs.net/doc/058990622.html,unch 此时,在终端中会看到一大段的信息。尝试说一些简单的语句,当然,必须是英语,例如:bring me the glass,come with me,看看能不能识别出来。 我们也可以直接看ROS最后发布的结果消息: $ rostopic echo /recognizer/output

二、语音库 1、查看语音库 这个语音识别时一种离线识别的方法,将一些常用的词汇放到一个文件中,作为识别的文本库,然后分段识别语音信号,最后在库中搜索对应的文本信息。如果想看语音识别库中有哪些文本信息,可以通过下面的指令进行查询: $ roscd pocketsphinx/demo $ more robocup.corpus 2、添加语音库 我们可以自己向语音库中添加其他的文本识别信息,《ros by example》自带的例程中是带有语音识别的例程的,而且有添加语音库的例子。 首先看看例子中要添加的文本信息: $ roscd rbx1_speech/config $ more nav_commands.txt 这就是需要添加的文本,我们也可以修改其中的某些文本,改成自己需要的。然后我们要把这个文件在线生成语音信息和库文件,然后在线编译生成库文件。把下载的文件都解压放在rbx1_speech包的config文件夹下。我们可以给这些文件改个名字: $ roscd rbx1_speech/config $ rename -f 's/3026/nav_commands/' *

移动机器人控制系统的发展方向

移动机器人控制系统的发展方向 摘要随着计算机技术、传感器技术的不断发展,对于机器人领域的发展具有一定的促进作用。而由于移动机器人具有能够自治与移动的特征,在机器人领域处于核心地位。在复杂、危险的环境中,移动机器人所发挥的作用是有目共睹的。对此,对当前国内外较为常见的移动机器人控制系统进行剖析,并在此基础上论述了该领域的未来发展方向。 【关键词】移动机器人控制系统发展方向 移动机器人属于能够自动执行工作任务的机器,不但能够按照事先编译的程序运行,同时人类还可对其指挥。当前主要被运用在生产业、建筑业以及航空航天领域,而该领域的发展情况直接关系到国家综合实力的提升速度,对此加强对移动机器人控制系统的发展情况,以及未来发展方向的研究势在必行。 1 国内外常见的移动机器人控制系统 相对于国内在移动机器人的研究状况,能够看出国外在该领域的研究是较早的,其中具有代表性的有Saphira、TeamBots以及ISR。而在国内方面,代表性的有OSMOR、ZJMR以及Agent。下面,便对较为常用的控制系统进行介绍:

1.1.1 Saphira控制系统 Saphira控制系统是移动机器人领域中最早的系统,是有SRI国际人工智能中心在1990年所研发的,此系统是基于本地感知空间的共享内存与黑板,来实现协调与通信进程。由于Saphira是采用C语言来进行开发的,同时支持Windows 与Unix系统,因此具有文档资料相对完整、系统资源占用少等特征。但是需注意的是,由于Saphira系统在定位方面无法达到当前的实际需求,因此运用是相对较少的。 1.1.2 TeamBots控制系统 本系统是基于Java包与Java应用程序而构建的,经过20余年的发展后,此系统截止到目前已经被运用到多种类型的机器人平台当中。除此之外,在适用的操作系统方面,其中具有代表性的有Windows、MacOS以及Linux等,因此其运用的范围是更加广泛的。 1.1.3 ISR控制系统 ISR是基于行为的控制模式,其中是有任务执行层、反映层以及推理层所构成的,是有CAS研究中心所研发的。其中,任务执行层的作用是执行推理层所传输的指令;反映层其中包含资源、控制器以及行为;推理层的功能是根据用户的指令来对决策进行制定。此外,ISR控制系统仅能够在Linux中进行操作,并且没有公开化使用。

智能机器人控制系统

机器人的控制 机器人控制系统是机器人的大脑,是决定机器人功能和性能的主要因素。机器人控制技术的主要任务就是控制工业机器人在工作空间中的运动位置、姿态和轨迹、操作顺序及动作的时间等。具有编程简单、软件菜单操作、友好的人机交互界面、在线操作提示和使用方便等特点。 智能机器人控制的关键技术 关键技术包括: (1)开放性模块化的控制系统体系结构:采用分布式CPU计算机结构,分为机器人控制器(RC),运动控制器(MC),光电隔离I/O控制板、传感器处理板和编程示教盒等。机器人控制器(RC)和编程示教盒通过串口/CAN总线进行通讯。机器人控制器(RC)的主计算机完成机器人的运动规划、插补和位置伺服以及主控逻辑、数字I/O、传感器处理等功能,而编程示教盒完成信息的显示和按键的输入。 (2)模块化层次化的控制器软件系统:软件系统建立在基于开源的实时多任务操作系统Linux上,采用分层和模块化结构设计,以实现软件系统的开放性。整个控制器软件系统分为三个层次:硬件驱动层、核心层和应用层。三个层次分别面对不同的功能需求,对应不同层次的开发,系统中各个层次内部由若干个功能相对对立的模块组成,这些功能模块相互协作共同实现该层次所提供的功能。 (3)机器人的故障诊断与安全维护技术:通过各种信息,对机器人故障进行诊断,并进行相应维护,是保证机器人安全性的关键技术。 (4)网络化机器人控制器技术:目前机器人的应用工程由单台机器人工作站

向机器人生产线发展,机器人控制器的联网技术变得越来越重要。控制器上具有串口、现场总线及以太网的联网功能。可用于机器人控制器之间和机器人控制器同上位机的通讯,便于对机器人生产线进行监控、诊断和管理。 PID控制原理和特点 在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。 比例(P)控制 比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差。 积分(I)控制 在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统。为了消除稳态误差,在控制器中必须引入积分项。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。 微分(D)控制

智能移动机器人控制与感知系统

摘要 随着机器人的应用范围的不断拓宽,机器人所面临的工作环境也越来越复杂,往往是未知的、动态的、非结构化的,所以,要在这种环境下实时地完成各种任务,就对机器人的控制提出了新的挑战。 本文的主要工作和创新点包括:对移动机器人的硬件模块进行了分析。详细研究了移动机器人的感知系统,包括超声波传感器和视觉传感器两大模块。移动机器人采用了两款超声波传感器组合使用,用于探测更为全面的障碍物特征信息。通过对基于行为控制技术的论述,设计了一种用于移动机器人完成多目标任务的基于行为控制系统。另外机器人采用了 Sony EVI-D31 PTZ 摄像头,成功地实现了计算机串口控制,大大的扩展了机器人的视觉功能,可以更多的获取外界信息。 关键词:移动机器人、硬件模块、行为控制。

Abstract With the development of applied range, the work condition faced by robot is more complex, which always is unknown, dynamic and unstructured. So the control of robot t o fulfill a mission in real time under this environment has a new challenge. The ma in work and innovative ideas include. The structure of RIRA-Mobile robot is introduced. Furthermore, the driving model and power model are analyzed. The perception system of RIRA-Mobile robot is demonstrated particularly, which includes two models of vision and ultrasonic sensor. RIRA-Mobile robot uses two type s ultrasonic sensors so as to detect the general obstacles’ information. In addition, Sony EVI-D31 PTZ camera is also used, which can de controlled by computer serials that the vision function of robot is extended greatly to get more environment information. Through exploring the behavior-based control technology, a behavior-based control system has been designed for mobile robot fulfilling multiple objective missions. KEYWORDS:mobile robot; hardware modules; behavior control.

智能机器人的控制技术前景分析

智能机器人的控制技术前景分析 随着科学技术的发展,机器人控制技术也日渐成熟,不仅在力矩和位置控制等基础技术上有所进步,在智能化控制上也有显著提高。可是机器人基础控制技术尽管比较完善,但是想要得到进一步提升却有很大难度,因此,智能化发展成为了机器人控制技术的研发方向,该技术上突破会给基础控制技术的发展带来契机,本文重在研究机器人控制技术的发展方向及难度,希望本文内容能对机器人控制技术的研究带来帮助。 机器人技术一直是国内外科学家重点研究的课题,尤其是美国、日本等发达国家更是机器人研究能力较强的国家,他们对机器人的研究工作有近60年了,而且实现了编程机器人向智能化机器人的发展。他们经过多年研究总结,把机器人控制技术分为三大部分,分别是力矩技术、位置技术和智能技术,其中,力矩技术和位置技术是基础,智能技术是研究的发展方向,所以说,前者是基础技术,后者是重点技术,两者都要快速地向前发展。 1.机器人基础控制技术的重要性及所面临的技术难题 力矩技术和位置技术是机器人控制技术的基础,智能化技术是在这两种技术的基础上进行发展的,所以说,我们要想实现机器人智能化发展,就要先认识到力矩技术和位置技术的作用,了解到两种基础控制技术的重要性。 以前,在机器人基础控制技术中的研究重点是速度、位置和受力等要素,而随着科学技术的发展,控制技术又需要研究各种实用的系统技术,从而保证机器人基础控制技术更加完善。可以这样说,在当今时代,机器人基础控制技术已经达到了一定的水平,这给机器人控制技术的发展打下了坚实的基础,但是,对于作为基础技术中的力矩技术和位置技术来说,要想实现突破,却要依赖智能化技术的发展,因此,位置技术、力矩技术、智能技术三者是紧密联系和相互制约的,位置技术和力矩技术为机器人控制技术智能化发展打下了基础,智能化技术又为机器人基础控制技术的突破带来了机会。下面,我介绍一下机器人控制基础技术所面临的难题。 第一,机器人基础技术研发中存在技术难题。机器人系统设置和实际运动出现不一致问题,这个问题一直难以解决,这对位置技术和力矩技术来说是一个大的挑战。第二,数据模型不能解决机器人运动中的复杂问题。机器人在实际运行中遇到复杂问题时,数据模型就出现工作不正常现象,还有一些难以预见的问题,更是机器人控制基础技术难以解决的。第三,机器人基础控制技术系统不够完善。由于机器人基础控制技术都是建立在数字模型基础上的,该数字模型只是简单的力矩控制系统,根本不能完成复杂的指令,因此,机器人为了提高系统的性能,就需要增加设备来实现,这对基础控制系统来说难度很大。第四,机器人基础控制技术不能解决不确定对象的有关问题。机器人运行中会遇见很多不确定因素,由于这些不确定因素没有建立数字模型,因此,这些问题就难以靠基础控制技术来解决。所以说,机器人性能要想得到提高,光靠基础控制技术是难以实现的,

多移动机器人编队控制

基于Multi-Agent的多机器人编队控制 摘要:多移动机器人协调是当前机器人技术的一个重要发展方向。多移动机器人之间的协调与 合作将大大提高机器人行为的智能化程度,完成由单个机器人难以完成的更加复杂的作业。多 移动机器人协调技术的研究对提高机器人的智能化水平及加快机器人的实用化进程具有重要的 理论研究意义和实用价值。本文结合多智能体技术对多机器人编队控制进行了研究,同时根据 具体的多机器人系统,进行了仿真实验。验证了多智能体技术在机器人编队控制系统中的应用,完成了小规模的编队控制。 关键词:多智能体;多机器人;编队控制;协调控制;模糊控制 Multi-robot Formation Control Based on Multi - Agent Abstract :The problem of multi-robot cooperation and coordination is central to mobile robotics. Cooperation and coordination will improve the intelligent performance of robots and can complete lots of impossible missions for single robot.The research on multi-robot cooperation and coordination is of great academic and applied significance. The multi-robot formation is developed combined with the multi-agent technology in this dissertation, and the simulation is done with the multi-robot system. The application of multi-agent is verified in the multi-robot formation control through a small system adopt the fomation control. Key words: Multi-agent ;Multi-robot ;Formation control;Coordination control;Fuzzy control 1. 国内外机器人系统发展现状 自80年代末以来,基于多智能体系统理论研究多机器人协作受到了普遍的关注,从军事领域到工业与民用领域,从星际探险到海底考察,从比赛到教学,都取得了不同程度的进步。近年来,在IEEE R&A,IROS等著名的国际机器人学术会议上,几乎每次会议都有多智能体协作机器人系统的专题。一些机器人学术刊物出版了有关多智能体机器人的研究专辑。一些研究项目,如ACTRESS,CEBOT,GOFER,SWARM等,已进行了多年[1]。 目前,国内关于群体机器人系统的研究刚刚起步,基本上还处于基础技术的研究阶段,这方面的研究成果报道比较少。中科院沈阳自动化所机器人开放研究实验室是国内研究多机器人技术较早也较全面的科研单位。 (1)CEBOT(Cellular Robotic System) CEBOT是一种自重构机器人系统(Self-Reconfigurable Robotic System),它的研究是受生物细胞结构的启发,将系统中众多的具有相同和不同功能的机器人视为细胞元,这些细胞元可以移动,寻找和组合。 根据任务或环境的变化,细胞元机器人可以自组织成器官化机器人,多个器官化机器人可以进一步自组织,形成更加复杂的机器人系统。细胞结构机器人系统强调是单元体的组合如何根据任务和环境的要求动态重构。因此,系统具有多变的构型,可以具有学习和适应的系统智能(Group Intelligence),并具有分布式的体系结构[3]。 (2)ALLANCE/L-ALLANCE系统

智能移动机器人

智能移动机器人 近年来,随着机器人研究的不断发展,机器人技术开始源源不断地向人类活动的各个领域渗透,结合这些领域的应用特点,各种各样的具有不同功能的机器人被研制出来,并且在不同的应用领域都得到了广泛的应用。 本文主要设计一个配置机械手的智能移动机器人,可以调速、转弯、抓取物体。涉及到双目摄像头定位、激光测距、电机控制、压力传感器等技术。 一、系统总体结构图 机器人系统主要由机械系统、驱动控制系统、视觉系统、传感器系统、上位机系统、电源系统以及人机交互系统等组成。 系统总体结构图如下: 智能机器人平台采用了主从结构的分布式处理方式,由上位机系统来协调控制各个子模块系统。各个子系统都有自己的数据处理机制,数据处理都在本模块的DSP处理器中完成。上位机只是负责数据融合、任务分解、策略选择制定、协调控制各子模块等工作。当上位机需要某个模块的数据时,子模块向上位机提供该模块经过处理以后的数据。由于大量的数据处理都在各个子模块中完成,上位机得到的都是经过处理后的小量数据,大大减少了上位机的负担。采用这种方式既提高了上位机的效率,又增加了系统的稳定性,方便系统的维护。 二、机械手

该机械手的设计仿照人类手臂的构造,总共有五个自由度,包括抬手臂转动关节,肩转动关节,肘转动关节,腕转动关节,手爪旋转关节与手爪开闭关节。这种多自由度的设计使得机械手具有较大的灵活度,以适应抓取不同目标物体的要求。 三、控制系统 1、感知系统 感知系统也就是传感器系统,本智能机器人系统的传感器系统可以只包含两个传感器,一个是测障、测距用激光传感器,一个是抓物时压力感测的压力传感器。 红外测距传感器(简称PSD:Poison Sensitive Detector): 通常采用光学三角测量方法来确定机器人同物体之间的距离:传感器的红外发光管发出红外光,当红外光没有碰到障碍的时候,红外光保持前行;当红外光碰到障碍的时候,红外光反射回来,并进入探测器。这样,在反射点,发射器,探测器之间形成一个三角形,探测器通过镜面反射,将红外光射入一个线性CCD中,由CCD测量反射光的角度,并由角度的大小来计算障碍物的距离。本机器人系统配置4路PSD传感器,分别以接近于90度的角度间距安装于机器人的前、后、左、右四个方向上和机械臂抓手的手掌内。 图2 PSD传感器位置示意图 压力传感器: 测得与物体接触的压力值返回给DSP分析处理:是否继续抓紧动作。装在机械臂抓手的每个手指上。 传感器系统结构图

移动机器人控制系统设计

? 197 ? ELECTRONICS WORLD?技术交流 移动机器人控制系统设计 广东工业大学 侯晓磊 随着移动机器人在人们社会生活中的地位不断提高,设计一种 可靠、稳定的机器人控制系统越发的变得重要起来,以NI公司的MyRIO控制器以其安全可靠、编程开发简单而脱颖而出。本文基于上述控制器、L298N电机驱动芯片Labview设计一种移动机器人控制软硬件系统系统,经验证,该系统运行稳定、可靠、高效。 1.前言 新一轮科技革命引发新一轮产业革命。“互联网+制造”构建工业4.0,智能制造成为我国由制造大国向制造强国转变的关键一步,移动机器人作为智能制造中的一个组成部分,作用越发的变得举足轻重。本文给出一种以MyRIO+L298N+Labivew的移动机器人控制系统。 2.IN MyRIO控制器 NI myRIO是NI最新设计的嵌入式系统设计平台。NI myRIO中内含双核ARM Cortex-A9,实时性高,并且还可以便捷定制FPGA I/ O,给开发设计人员提供更好的设计复杂系统的平台。 NI myRIO作为可重配置控制器具有以下重要特点: 易于上手使用:引导性安装和启动界面可使开发人员更快地熟悉操作,协助开发人员快速了解工程概念,完成设计任务。编程设计简单,利用实时应用、内置WiFi等功能,开发人员可以实现远程部署应用,“无线”操控。 板载资源众多:有丰富的数字I/O接口,提供SPI串行外设接口、PWM脉宽调制输出端口、正交编码器输入端口、UART异步收发器端口和I2C总线接口、多个单端模拟输入、差分模拟输入和带参考的模拟输入等可供选择的资源。 另外,NI MyRIO还提供可靠性能较好的控制器保护电路,防止由于意外操作造成控制器不可恢复性损坏,总之,NI MyRIO为开发人员提供了一个编程简易,设计电路方便,不用刻意担心意外操作而影响控制器使用的平台。 3.L298N电机控制芯片 L298N是一种用来驱动电机的集成电路,可以较稳定的输出平稳电流和较强的功率。工作均电流为2A,最高可达4A,最高输出电压为50V,能够带动带有感性元件的负载。控制器可以直接通过输入输出口与电机驱动芯片联接,从而方便控制驱动芯片的输出。如将芯片驱动直流电机时,可以直接与步进电机相联接,通过调节控制器输出实现步进电机的的正反转功能当控制直流电机时,可以通过调节控制芯片的电压信号的极性,PWM波的占空比,从而实现直流电机转速和转向的调节。4.系统硬件部分设计 系统采用MyRIO整体框架,外围增设电机驱动电路、避障驱动电路、里程计电路、液晶显示电路、陀螺仪电路。通过MyRIO主控制发送控制信号驱动移动机器人运动,实时通过外围传感器获取位置信息反馈给主控制 器,然后控制器通过闭环系统调节当前位置以保证对目标位置的追踪。 图1 5.系统软件部分设计 系统软件部分采用经典控制理论的闭环控制系统,将电机、主控制器和外设传感器构成闭环系统,通过调节闭环统的参数,来使 移动机器人以较小偏差追踪按照预定轨迹。 图2 6.结束语 本文介绍了基于NI MyRIO控制器设计移动机器人控制系统,通过仿真和实物测试,能较好的完成对任务的追踪踪。 参考:From Student to Engineer:Preparing Future Innova-tors With the NI LabVIEW RIO Architecture https://www.360docs.net/doc/058990622.html,.2014-04-01;王曙光,袁立行,赵勇.机器人原理与设计.人民邮电出版社,2013 。

湖面清扫智能机器人的控制系统设计说明书

湖面清扫智能机器人的控制系统设计 1、引言 机器人是上个世纪中叶迅速发展起来的高新技术密集的机电一体化产品,它作为人类的新型生产工具,在减轻劳动强度、提高生产率、改变生产模式,把人从危险、恶劣的环境下解放出来等方面,显示出极大的优越性。在发达国家,工业机器人已经得到广泛应用。随着科学技术的发展,机器人的应用范围也日益扩大,遍及工业、国防、宇宙空间、海洋开发、紧急救援、危险及恶劣环境作业、医疗康复等领域。进入21世纪,人们已经越来越切身地感受到机器人深入生产、深入生活、深入社会的坚实步伐。机器人按其智能程度可分为一般机器人和智能机器人。一般机器人是指不具有智能,只具有一般编程能力和操作功能的机器人;智能机器人是具有感知、思维和动作的机器人。所谓感知即指发现、认识和描述外部环境和自身状态的能力,如装配机器人需要在非结构化的环境中认识障碍物并实现避障移动,这依赖于智能机器人的感觉系统,即各种各样的传感器;所谓思维是指机器人自身具有解决问题的能力,比如,装配机器人可以根据设计要求为一部复杂机器找到零件的装配办法及顺序,指挥执行机构,即指挥动作部分完成这部机器的装配;动作是指机器人具有可以完成作业的机构和驱动装置。由此可见,智能机器人是一个复杂的软件、硬件综合体。 机器人的核心是控制系统。机器人的先进性和功能的强弱通常都直接与其控制系统的性能有关。机器人控制是一项跨多学科的综合性技术,涉及自动控制、计算机、传感器、人工智能、电子技术和机械工程等多种学科的内容。 近年来,随着工业和其它服务行业的蓬勃发展,人们在重视其经济效益的同时却往往忽略了他们对环境的污染,人类赖以生存的水资源也不例外。水面污染对人类的水源构成很大的威胁,湖泊尤其是旅游胜地和市内人工湖泊,更是无法逃避漂浮物污染的厄运,举目可见各种日常消费品的包装物在湖面上漂浮。污染的加剧根治水污染。但是,水面污染的治理是一项艰难的长期任务,是全人类必须面对的共同问题。用人工清理水面漂浮物只是权益之计,有些危险水域人无法工作。很多发达国家致力于水面污染治理设备的研究,如石油清理设备,但只是用于大量泄露石油的清理。目前,我国研制的清理水面漂浮物的设备还未见报道,国外研制的也不多,并且价格昂贵,实现的功能也不尽人意。因此,开发一种性

《智能机器人控制》教学大纲

《智能机器人控制》教学大纲 课程编号: 开课院系:计算机与通信工程学院电子系课程类别:专业选修 适用专业:电子信息、物联网等 课内总学时:32 学分:2 先修课程:嵌入式系统与单片机、微机原理 与应用、计算机网络 执笔:解仑 审阅:石志国 一、课程教学目的 “智能机器人控制”课程属于“电子信息类”专业选修的一门重要的专业基础课,具有较完整的理论体系和较高的实用价值。通过该门课程的学习,使学生学会智能机器人的控制技术、软件开发平台使用方法、整体结构设计、硬件电路设计与制作、软件模块的编程方法,并对基本的智能机器人系统的研制有正确的理解和认识。为学生学习后继的电子工程、物联网工程基础等有关课程打下坚实的基础。 二、课程教学基本要求 1.课程重点: 嵌入式系统的硬件设计、检测与调试;内核移植与系统定制;驱动程序开发与嵌入式图像处理;竞赛机器人的控制器、软件开发平台、结构和部件;双足步行机器人动力学模型;双足步行机器人步态生成控制器设计与实现;多智能体控制技术等。 2.课程难点: 嵌入式操作系统的内核移植与定制、驱动程序编写与开发;多传感器融合算法的实时性研究和分析;PCB的电磁兼容设计的原则、干扰消除;智能机器人模块化结构化设计与实现;双足步行机器人动力学分析与实现方法研究;双足步行机器人行为合成算法分析与实现等。3.能力培养要求: 通过该门课程的学习,使学生深化智能机器人理论所涉及的主要控制技术,提高运用软件、硬件综合知识的能力,从仿真分析和设计方法的角度来对智能机器人控制系统进行分析,培养学生的设计思维能力和实际动手能力,对所研究的机电系统进行深入分析,培养学生从物理意义及工程应用角度,对数学计算与设计进行深刻理解的能力。掌握PCB的电磁兼容设计的原则、干扰消除、抗串扰和PCB接地技术。提升学生对智能机器人控制的实际工程能力,为后继的的电子工程、物联网工程基础等重要的相关课程打下坚实的基础。 三、课程教学内容与学时 课堂教学(32学时) 1.竞赛机器人的控制器、软件开发平台、结构和部件(8学时) 掌握竞赛机器人的控制器基本原理,熟练掌握软件开发平台、结构和部件,理解多传感器信息融合算法。 2.双足步行机器人动力学模型(8学时)了解稳定性定律,熟练掌握新星关节驱动器的设计方法,掌握人机接口的设计方法,理解鲁棒控制的基本原理。 3.双足步行机器人步态生成控制器设计与实现(8学时) 掌握双足步行机器人步态生成控制器的基本原理及其设计与实现。 4.嵌入式系统的硬件设计、检测与调试(8学时) 了解嵌入式系统的硬件设计,理解Linux内核移植和定制,熟练掌握简化模式的驱动设计和实现,掌握Windows CE图像的基本应用方法。 实验教学(9学时)

06第11课《语音控制对话机器人》教学设计

第11课语音控制对话机器人 【教材分析】 本课属于承上启下的基础课程,将拓展模块中的语音传感器加入到机器人中去。在知识结构上介于简单程序和较为复杂的程序(如计次循环语句等)之间,需要教师细化教学内容,并帮助部分学困生理解这个程序的流程。 【学情分析】 学生在学习这一课时,有着较为强烈的实践需要,学生可操控的范围较大,属于实践性的内容。因此,在本课的教学中,教师要安排适宜的课时比率,并能配备充足的实验器材,保证实验的有效性。 【教学目标与要求】 1. 知识与技能 (1)了解语音传感器的工作原理。 (2)掌握编写语音控制机器人对话的程序。 2. 过程与方法 (1)设计流程图进行活动规划。 (2)在学习过程中让学生多自学多探索。 3. 情感、态度与价值观 通过多种拓展传感器的探索和使用,培养学生举一反三的学习能力。 4. 行为与创新 在生活中感受机器人的活动方式,培养学生的程序设计思维。 【教学重点与难点】 重点:理解和掌握机器人语音控制程序的设置方法。 难点:理解语音传感器的含义。 【教学方法与手段】 实验法、主题活动。 【课时安排】 安排1课时。 【教学准备】 控制软件、学生机器人平台。

【教学过程】 学习过程教师与学生活动设计意图 生活导入 播放微软机器人“小冰”的视频。 师:聪明的机器人已经能够和人类对话了, 但它毕竟是一个虚拟的对象,我们的机器人能不 能直接和我们对话呢?大家有哪些主意? 师生讨论。 师:今天,老师就给大家介绍引导机器人传 感器——语音传感器。 从学生生活经验出 发,在巩固旧知的同时 引出新问题。 头脑风暴,激发集 体智慧。 语音传感器工作原理 展示机器人语音控制的效果。 师:机器人能够根据人类的命令行动,其实 是利用了语音传感器在工作。 (展示语音传感器图片)语音传感器就像小 动物的耳朵一样,它从外界接收到语音信号,并 控制相应的动作。 (展示语音机器人) 用实际案例让学生 感受机器人语音控制模 块的实际效果,以此激 发学生的学习热情。 设计流程图 师:语音传感器中哪个部件特别的重要?它 主要起到了什么作用? 生讨论回答。 师:是的,接收管就是语音传感器的“情报 分析部门”,它就来分析“是”“否”接收到了信 号。 (板书流程图) 师:我们用这样的图来表示接收管的工作流 程。但要使语音传感器工作,经过这样的一次判 断就可以了吗? (生设计流程图) 这个过程需要反复执行,这样机器人才能不 断进行语音的检测。 通过引领学生对实 际情况进行分析,从中 抽离知识要点,形成流 程图。以此让学生感受 从生活中发现知识的过 程,并了解和掌握流程 图的设计过程。

基于机器人运动控制系统软件设计

基于机器人运动控制系统软件设计 提供一种移动机器人 实现了基于渡越时间法的超声波测距模块设计, 本文主要完成对主控板控制器软件设计、 电机驱 使开发系统能够服务于移动机器人研究的通用 关键词:机器人;运动控制;软件设计;超声波测距 中途分类号:TP 9文献标识码:B 0引言 随着计算机、网络、机械电子、信息、自动化以及人工智能等技术的飞速发展,移动机 器人的研究进入了一个崭新的阶段。 同时,太空资源、海洋资源的开发与利用为移动机器人 的发展提供了广阔的空间。 目前,智能移动机器人,无人自主车等领域的研究进入了应用的 阶段,随着研究的深入,对移动机器人的自主导航能力, 动态避障策略,避障时间等方面提 出了更高的要求。地面智能机器人路径规划, 是行驶在复杂,动态自然环境中的全自主机器 人系统的重要 环节,而地面智能机器人全地域全自主技术的研究, 是当今国内外学术界面临 的挑战性问题。 智能移动机器人是一类能够通过传感器感知环境和自身状态, 实现在有障碍物的环境中 面向目标自主运动,从而完成一定功能的机器人系统。移动机器人技术研究综合了路径规划、 导航定位、路 径跟踪与运动控制等技术。涉及到包括距离探测、视频采集、 温湿度以及声光 等多种外部传感器,作为移动机器人的输入信息。移动机器人的运动控制主要是完成移动机 器人的运动平 台,提供一种移动机器人的控制方式。 性能良好的移动机器人运动控制系统是 移动机器人运行的基础,能够服务于移动机器人研究的通用开发平台。 移动机器人技术研究综合了多学科领域的知识, 关键技术可分为:路径规划、导航定位、 路径跟踪与运动控制技术。路径规划又可分为全局和局部路径规划。 全局路径规划是根据移 动机器人总体任务进行路径规划, 将总体路径任务分解, 并建立全局地形数据库; 局部路径 规划是根据全局规划分解的子任务, 结合移动机器人当前状态信息, 实时规划可行路径; 导 航定位技术确定移动机器人在全局地图中的位置, 并实时得到机器人与路径跟踪的相对位置 关系,其关键技术是多传感器信息处理与数据融合技术。 路径跟踪与运动控制技术的任务是 控制移动机器人跟踪局部规划给出的路径, 结合导航定位系统得到机器人本身状态信息与道 路信息,完成航向和速度控制。 移动机器人的路径规划、 导航控制以及路径跟踪与运动控制 摘要:移动机器人的运动控制主要是完成移动机器人的运动平台, 的控制方式。本文通过对移动机器人的研究, 为 机器人提供简单方便的障碍物距离检测。 动控 制器软件设计和超声波测距软件的设计, 开发 平台。

浅谈机器人智能控制研究

.. . … 科技大学 2015 级研究生课程考试答题纸 考试科目机械制造与装配自动化专业机械工程 学号1505048 考生乔旭光 考生类别专业学位硕士

浅谈机器人智能控制研究 摘要:以介绍机器人控制技术的发展及机器人智能控制的现状为基础,叙述了模糊控制和人工神经网络控制在机器人中智能控制的方法。讨论了机器人智能控制中的模糊控制和变结构控制,神经网络控制和变结构控制,以及模糊控制和神经网络控制等几种智能控制技术的融合。并对模糊控制和神经网络控制等方法中的局限性作出了说明。 关键词:机器人;智能控制;模糊控制;人工神经网络 1 智能控制的主要方法 随着信息技术的发展,许多新方法和技术进入工程化、产品化阶段,这对自动控制技术提出崭新的挑战,促进了智能理论在控制技术中的应用,以解决用传统的方法难以解决的复杂系统的控制问题。 智能控制技术的主要方法有模糊控制、基于知识的专家控制、神经网络控制和集成智能控制等,以及常用优化算法有:遗传算法、蚁群算法、免疫算法等。1.1 模糊控制 模糊控制以模糊集合、模糊语言变量、模糊推理为其理论基础,以先验知识和专家经验作为控制规则。其基本思想是用机器模拟人对系统的控制,就是在被

控对象的模糊模型的基础上运用模糊控制器近似推理等手段,实现系统控制。在实现模糊控制时主要考虑模糊变量的隶属度函数的确定,以及控制规则的制定二者缺一不可。 1.2 专家控制 专家控制是将专家系统的理论技术与控制理论技术相结合,仿效专家的经验,实现对系统控制的一种智能控制。主体由知识库和推理机构组成,通过对知识的获取与组织,按某种策略适时选用恰当的规则进行推理,以实现对控制对象的控制。专家控制可以灵活地选取控制率,灵活性高;可通过调整控制器的参数,适应对象特性及环境的变化,适应性好;通过专家规则,系统可以在非线性、大偏差的情况下可靠地工作,鲁棒性强。 1.3 神经网络控制 神经网络模拟人脑神经元的活动,利用神经元之间的联结与权值的分布来表示特定的信息,通过不断修正连接的权值进行自我学习,以逼近理论为依据进行神经网络建模,并以直接自校正控制、间接自校正控制、神经网络预测控制等方式实现智能控制。 1.4 学习控制 (1)遗传算法学习控制 智能控制是通过计算机实现对系统的控制,因此控制技术离不开优化技术。快速、高效、全局化的优化算法是实现智能控制的重要手段。遗传算法是模拟自然选择和遗传机制的一种搜索和优化算法,它模拟生物界/生存竞争,优胜劣汰,适者生存的机制,利用复制、交叉、变异等遗传操作来完成寻优。遗传算法作为优化搜索算法,一方面希望在宽广的空间进行搜索,从而提高求得最优解的概率;另

相关文档
最新文档