tag 标签: 语音控制

相关帖子
相关博文
  • 热度 5
    2023-11-8 18:29
    535 次阅读|
    0 个评论
    引言 离线语音识别是指在没有网络连接的情况下,通过在本地设备上进行语音信号处理和识别,实现语音命令的转化和执行。随着智能设备的普及,离线语音识别技术在智能客服、电话会议、智能交通等领域的应用越来越广泛。本文将深入探讨离线语音识别的工作原理,以及其所使用的技术。 一、离线语音识别的工作原理 离线语音识别的工作原理包括信号采集、预处理、特征提取和匹配等步骤。下面我们逐一详细介绍这些步骤: 1.信号采集 离线语音识别系统的第一步是信号采集。声音信号通过麦克风(传感器)以电信号的形式被捕捉到,这是后续处理的基础。 2.预处理 预处理阶段包括去除噪声、回声消除、降噪等处理,以提高语音信号的质量。同时,进行采样和量化,将连续的模拟信号转换为离散的数字信号。主要通过DSP来处理,雷龙语音模块内置DSP芯片,可以做各种卷积和数字滤波处理。大幅提高语音质量。 3.特征提取 在特征提取阶段,将语音信号转化为具有代表性的特征向量。这些特征向量能够捕捉到语音信号中的关键信息,如音调、音色和音节等。特征信息也是需要通过算法来提取,也需要大量的计算能力。 4.匹配 在匹配阶段,将提取的特征向量与预定义的词典中的词进行匹配。最常用的匹配算法是动态时间规整(DTW),它能有效地解决语音信号的时间扭曲问题。 二、离线语音识别使用的技术 离线语音识别主要使用深度学习、卷积神经网络(CNN)和循环神经网络(RNN)等技术。这些技术能够在本地设备上实现高效运算,使得离线语音识别成为可能。 1.深度学习 深度学习在语音识别领域具有广泛的应用。其中,循环神经网络(RNN)和卷积神经网络(CNN)是最常用的两种技术。RNN 适用于处理时间序列数据,如语音信号,而 CNN 则适用于处理具有网格结构的数据,如图像。通过深度学习技术,可以有效地提高语音识别的准确率和鲁棒性。 2.卷积神经网络(CNN) CNN 是针对网格结构数据的处理而设计的。在语音识别领域,CNN 主要用于处理语音信号的短时傅里叶变换(STFT)后的频谱图。通过卷积层、池化层和全连接层等基本结构的组合使用,CNN 能够有效地捕捉语音信号的局部特征。 3.循环神经网络(RNN) RNN 是专门为处理时间序列数据而设计的神经网络。在语音识别领域,RNN 主要用于处理语音信号的时间序列数据。通过将相邻时间步长的特征向量串联起来,RNN 能够捕捉到语音信号的长时依赖关系。同时,通过使用 LSTM(长短时记忆)或 GRU(门控循环单元)等变体,可以进一步提高 RNN 的性能。 三、离线语音识别的优势和应用场景 离线语音识别具有数据安全性高、实时性好等优点。此外,由于无需联网,离线语音识别在处理低延迟、高可靠性的场景时具有很大的优势。下面我们通过与传统语音识别方法的比较,说明离线语音识别的特点和作用: 与传统语音识别方法相比,离线语音识别无需联网,因此可以避免由于网络延迟或不稳定导致的问题。同时,离线语音识别可以更好地保护用户隐私,避免因联网而产生的数据泄露风险。在某些需要高可靠性的应用场景,如智能客服、电话会议和智能交通等,离线语音识别能够发挥重要作用。 雷龙发展公司 致力于为客户提供一站式的离线语音解决方案。我们的服务涵盖了多个领域,包括家电、医疗器械、安防报警、汽车电子、多媒体、通信、电话录音、工业自动化控制、玩具及互动消费类产品等。通过我们的专业知识和经验,我们能够满足各类产品的语音交互需求,让用户享受更加智能、便捷的使用体验。
  • 热度 2
    2023-10-27 18:12
    246 次阅读|
    0 个评论
    一.使用场景 夏天某个凉爽的早晨,当你躺在床上玩着手机,突然一阵困意袭来,原来已经中午了,此时你一个侧身准备休息,突然发现一阵酷热袭来,你定睛一看,原来是风扇没有打开,这个睡姿很舒服你又不想起床怎么办?此时如果你有一个智能语音风扇,你只需要说一句打开风扇即可。关于语音识别这个功能,市面上有多家公司开发有关离线识别的芯片和算法,可是识别效果不是很理想,但是思必驰是例外,该公司的芯片唤醒率和识别率均高于市场同行,抗噪音的能力也非常优秀。 二.思必驰芯片简介 本文主要介绍思必驰股份有限公司推出的一款离线语音识别芯片。该芯片是根据智能语音交互市场需求及思必驰算法的发展方向定义开发的“芯片+算法”人工智能人机语音交互解决方案,具有高性能、低功耗、低成本、高识别率、低误触发率、远距离唤醒、更强的抗噪能力、更快的响应时间、项目快速落地等优秀的特点。 该芯片通过软硬融合的方法,具备快速赋予各类设备语音交互的能力,赋予设备“听”和“说”的能力,从用户说出命令到执行命令只需要0.2-0.6秒的时间,极大的提高了用户体验和产品灵活性。 三.产品特色 2.词条自定义 思必驰的智云译芯平台,可以让客户自定义属于自己的词条,还可以配置不同情况下MUC的动作,不需要懂编程即可完成配置。同时平台提供10种音色供客户选择。 3.产品品类 已落地多种品类的项目。如:遥控器、空调伴侣、取暖桌、油烟机、茶吧机、集成灶、晾衣架、按摩椅、风扇、灯具、净水器、热水器等等项目。只有你想不到,没有我们做不到。 4.处理器 ●32位处理器,支持FPU ●运行频率:240MHZ ●内置2MB Flash 5.外设 该芯片有丰富的外设,有13个IO供客户二次开发使用,可以替代大部分市面上的MCU,为客户节省成本,替换MCU的同时,增加了语音识别功能。 该芯片具有丰富的外设,USB1.1,4个16位定时器,三个16位PWM发生器,三个全双工串口,两个SPI接口,一个IIC接口,内置触摸按键控制器,10位ADC模拟器,所有GPIO支持外部中断/唤醒。 6.蓝牙 支持蓝牙V5.3+BR+EDR+BLE规范,发射功率+6dB,接收器最小灵敏度-90dB。可以制作配套小程序。 外部电路简单,如果客户不需要播报应答语,还可以省一个功放。 四、思必驰的优势 在上诉介绍中可以看到,思必驰的识别效果更好,价格美丽。一定情况下还可以替换MCU。 随着智能家居市场扩大和消费者需求增加, 深圳雷龙发展 专注于行业语音交互器件标准化,致力于简化复杂事物,提供快捷的语音、智能物联网应用解决方案。我们的产品价格便宜、实用简单,适合中小型批量生产,小数量生产也可及时拿货,满足大多数用户的产品使用需求。质量有保障,提供免费技术服务、免费打样。同时,为减少客户测试时间,我们还提供功放模块。
  • 热度 30
    2014-10-12 17:57
    1046 次阅读|
    0 个评论
    随着科学技术的发展和社会的需要,移动机器人技术得到了迅速发展,正在渗透到各行各业中,使人们的生活更加便利。现今以单片机为核心的移动机器人存在处理数据量有限、控制系统速度低、人机交互机制单一等缺点,不能满足机器人多任务的要求。系统中增加协处理器的系统结构也得到了广泛应用,虽然可以管理多种传感器,但这种结构却增加了硬件的冗余度和复杂度,见参考文献。为此,提出了以嵌入式处理器S3C2440为核心的多任务机器人控制系统。 1 控制系统硬件设计 控制系统选用两轮独立驱动小车为移动式机器人平台,后轮为一个尼龙万向轮。处理器为三星公司的S3C2440,系统主频最高可达533 MHz,外接512 MB的NAND Flash和64 MB的SDRAM,支持SPI、I2C、UART等接口,满足移动机器人控制系统的需求,如图1所示。 图1 系统硬件组成 整个控制系统工作过程如下:语音识别芯片LD3320通过SPI总线接口接人ARM 处理器,处理器可以对识别的结果进行分析和汇总,并通过查表提取出操作人员的命令码;同时,处理器通过串口读取机器人当前的航向信息;超声波测距和红外线地面检测模块由处理器的GPIO 引脚控制;通过控制两自由度的云台,可以进行多方位的超声波障碍物检测,利用LD3320模块的MP3播放功能播放所检测到的障碍物距离和路况信息。控制系统根据传感器的数据和所识别的操作人员的命令码,利用信息融合技术提取环境特征,通过路径规划技术作出决策,控制电机状态,最终控制机器人的姿态。 2 控制系统软件设计 在软件设计中,将系统中所有要处理的任务划分为不同的、相互独立的任务模块。根据系统的性能指标和技术要求,可将任务划分为:语音识别、航向测量与计算、超声波测距、电机控制、信息处理等任务。 2.1 进程的创建与状态转换 移动机器人控制系统在初始化完成后,利用系统调用fock机制分别为语音识别、航向测量与计算和超声波测距等任务产生相应的子进程,实现方式如图2所示。进程创建成功后,操作系统会根据调度算法进行进程调度,这使系统在行驶过程中,能够及时响应语音命令。 图2 系统多进程设计的实现方式 2.2 进程间通信机制 在信息处理进程中,需要对不同任务返回的有效数据进行信息处理和融合。由于不同进程的数据段、堆栈段是相互隔离的,因此,采用共享内存的进程间通信方式,在程序中可以使用shmget从系统中取出一块未使用的物理内存并映射到用户空间,如图3所示。 图3 共享内存机制示意图 在两个进程之间建立共享内存的具体实现步骤如下: ① 在调用fock()前,使用shmget创建新的共享内存,返回值为共享内存标识码: shmid = shmget(IPC_PRIVATE,1,PERM) //申请一个字节共享内存 ② 调用fock()函数,创建子进程,根据fock()的返回值区分父进程和子进程,并分别在两个进程中使用shmat映射一块共享内存,即允许当前进程访问创建的共享内存: if(fock()) p_addr= shmat(shmid,0,0); //将共享内存映射到父进程 else{c_addr=shmat(shmid,0,0);}//将共享内存映射到子进程 其中,shmid为shmget()函数的返回值,即共享内存标识码。 从用户的角度看,在父进程中可以对p_addr进行读写操作,实际访问的是申请的共享内存。子进程则可以对c_addr进行读写,从而实现两个进程间的通信。共享内存的映射和进程之间的关系,如图4所示。 图4 进程和共享内存映射关系 2.3 系统控制流程 在程序初始化完成后,为每项任务创建了相应的进程,并建立了共享内存,如图5所示。在每个进程中采用循环执行方式,语音识别进程中利用select函数监控是否有识别结果输出,并将识别结果写入到相应的共享内存区。 图5 系统控制流程图 航向测量和计算进程循环读取陀螺仪的角度信息并存储。超声波测距进程在接收到信息处理进程的控制命令后进行测距并将数据返回至信息处理进程。信息处理进程融合了多传感器的数据,根据设定的路径规划方案,将控制信息传输到电机控制进程,实现机器人姿态的调整。 2.4 语音识别 在系统运行过程中,语音识别进程独立完成对语音模块的初始化和读取识别结果的任务,因此,能够及时响应操作人员发出的语音指令。程序中使用了select()函数监控read()是否可读。当语音识别模块LD3320有识别结果时,将在中断引脚输出高电平以触发系统中断,结束驱动程序中的等待状态,同时应用程序可以通过read()函数读取LD332O的识别结果,并写入到相应共享内存区M中。在没有中断时,read()函数将被阻塞,如图6所示。 图6 语音识别进程流程图 使用select机制监控是否语音识别结果,在超出等待时间后,会退出等待并重新初始化语音模块LD3320,释放公共资源,这样也使得系统能够及时响应LD332O的MP3播放功能,避免了在长时间没有语音识别结果时,系统进入卡死状态。 2.5 航向测量 为了使移动机器人能够沿指定的方向行驶并能修正由外界干扰因素产生的航向偏差,系统采用陀螺仪航向测量模块MPU - 6050,该模块将其测量的模拟量转换为可输出的数字量,并通过串口发送到S3C2440。系统通过read(fd_uartl,bur,10)函数读取相应串El,得到航向数据并写人到共享内存区S中。 2.6 超声波测距 本系统采用渡越时间法,超声波测距模块在收到发射控制信号时,换能器将发出40 kHz的连续脉冲信号。接收器的输出高电平时间和距离成正比,同时触发处理器的中断,上升沿中断开启定时器,下降沿关闭定时器,利用处理器内部的定时器1测量出输出信号的高电平的持续时间△T,经过式(1)的计算,可得到检测距离S: S— V × △T/2 (1) 式中,V 为超声波的传播速度,常温下超声波在空气中的传播速度是340 m/s。程序中根据所编写的驱动程序,使用ioctl(fd_chao,SEND_BEGIN)、ioctl(fd_chao,SEND_STOP)控制GPIO以实现超声波的发射和停止。系统中对某个方向连续测量5次,进行中值滤波并将滤波后数据传递到信息处理进程。 2.7 电机控制 移动平台中采用L298驱动直流减速电机,平台尚未安装速度反馈单元,简化了控制模式。程序通过ioctl()控制L298以实现电机的正反转以及停止操作。 在电机驱动程序中定义了相应GPIO的输入/输出方式:ioctl(fd,TURN_LEFT)中,fd为驱动程序的文件描述符;TURN_LEFT 是命令掩码CMD,驱动程序根据命令掩码CMD对相应的GPIO赋值以控制L298的状态。 3 路径规划和避障算法 根据模糊逻辑法,移动平台能够在不确定环境中实现局部路径规划和避障。 3.1 输入输出变量的模糊化 在路径规划过程中,信息分析模块的输入量为移动平台的行驶方向信息、与障碍物之间的相对位移信息;输出量为移动平台的旋转角度和平动位移信息。 ① 定义移动平台与左侧障碍物的距离为DL、与右侧障碍物的距离为DR、前方障碍物的距离为DF。模糊子集定义为{S,M,B},分别表示小、中、大,相应的距离隶属度函数如图7所示。 图7 距离隶属度函数 ② 定义移动平台和目标点之间夹角为了,模糊子集定义为{LB,LS,Z,RS,RB},分别表示左大、左小、零、有小和右大。相应的角度隶属度函数如图8所示。 ③ 移动平台的旋转角度φ的模糊子集定义为{TIB,TLS,TZ,TRS,TRB}。分别表示左转大、左转小、不旋转、右转小、右转大,相应的输出隶属度函数如图9所示。 3.2 建立模糊控制规则 在移动机器人远离障碍物或不存在障碍物的情况下,依据移动平台的行驶轨迹,可以先对行驶方向进行调整。当检测到障碍物接近移动平台时,移动平台应改变行驶轨迹,避免发生碰撞。移动平台的部分模糊控制规则如表1所列。 图8 角度隶属度函数 图9 输出隶属度函数 表1 模糊控制规则 3.3 模糊推理和解模糊化 根据距离隶属度函数,将超声波测量得到的不同方位的距离数据转换为模糊逻辑状态,再查找模糊控制规则,查表得到相应的输出模糊量。 解模糊化是输出模糊量映射到动作行为的过程。模糊控制器对移动平台的动作进行了分解并编码,将复杂的动作分解为一系列简单动作的叠加,使得每一个输出模糊量对应一套动作。 例如在检测到前方有障碍物并确定左转时,可以将机器人动作分解为:后退(左转,即先后退,再左转。这样可以减小机器人触碰到前方障碍物的概率。 4 实验测试 使用menuconfig命令为嵌入式Linux系统内核配置添加相应驱动程序后,进行make编译生产zImage文件。启动移动机器人系统并进入BIOS模式,将配置好的内核通过Supervivi工具烧写到NAND Flash。在系统启动后,配置Linux目录中的/etc/init.d文件,使系统启动后,自动运行所设计的程序。 如果系统初始化正常,将听到由语音模块发出的提示声:“校准完成”。此时,操作人员可以下达“前进”、“后退”或“测距”等设计好的语音指令,机器人将按照操作人员的指令完成相应的动作,还可以通过语音模块播放出测量到的距离。 结语 系统利用了Linux系统支持多任务和可裁剪的特点,结合处理器丰富的接口资源,实现了多方位超声波测距、电机控制等功能,通过对多传感器信息的融合和分析,为模糊逻辑法进行路径规划提供了判断依据。语音识别功能使得机器人和操作人员之间的人机交互变得更灵活方便。在此基础上,可以利用Linux操作系统强大的网络功能,为进一步研究服务机器人、机器人联网、机器人与机器人通信等提供了一种方案。
  • 热度 28
    2014-10-8 13:57
    974 次阅读|
    0 个评论
    随着科学技术的发展和社会的需要,移动机器人技术得到了迅速发展,正在渗透到各行各业中,使人们的生活更加便利。现今以单片机为核心的移动机器人存在处理数据量有限、控制系统速度低、人机交互机制单一等缺点,不能满足机器人多任务的要求。系统中增加协处理器的系统结构也得到了广泛应用,虽然可以管理多种传感器,但这种结构却增加了硬件的冗余度和复杂度,见参考文献。为此,提出了以嵌入式处理器S3C2440为核心的多任务机器人控制系统。 1 控制系统硬件设计 控制系统选用两轮独立驱动小车为移动式机器人平台,后轮为一个尼龙万向轮。处理器为三星公司的S3C2440,系统主频最高可达533 MHz,外接512 MB的NAND Flash和64 MB的SDRAM,支持SPI、I2C、UART等接口,满足移动机器人控制系统的需求,如图1所示。 图1 系统硬件组成 整个控制系统工作过程如下:语音识别芯片LD3320通过SPI总线接口接人ARM 处理器,处理器可以对识别的结果进行分析和汇总,并通过查表提取出操作人员的命令码;同时,处理器通过串口读取机器人当前的航向信息;超声波测距和红外线地面检测模块由处理器的GPIO 引脚控制;通过控制两自由度的云台,可以进行多方位的超声波障碍物检测,利用LD3320模块的MP3播放功能播放所检测到的障碍物距离和路况信息。控制系统根据传感器的数据和所识别的操作人员的命令码,利用信息融合技术提取环境特征,通过路径规划技术作出决策,控制电机状态,最终控制机器人的姿态。 2 控制系统软件设计 在软件设计中,将系统中所有要处理的任务划分为不同的、相互独立的任务模块。根据系统的性能指标和技术要求,可将任务划分为:语音识别、航向测量与计算、超声波测距、电机控制、信息处理等任务。 2.1 进程的创建与状态转换 移动机器人控制系统在初始化完成后,利用系统调用fock机制分别为语音识别、航向测量与计算和超声波测距等任务产生相应的子进程,实现方式如图2所示。进程创建成功后,操作系统会根据调度算法进行进程调度,这使系统在行驶过程中,能够及时响应语音命令。 图2 系统多进程设计的实现方式 2.2 进程间通信机制 在信息处理进程中,需要对不同任务返回的有效数据进行信息处理和融合。由于不同进程的数据段、堆栈段是相互隔离的,因此,采用共享内存的进程间通信方式,在程序中可以使用shmget从系统中取出一块未使用的物理内存并映射到用户空间,如图3所示。 图3 共享内存机制示意图 在两个进程之间建立共享内存的具体实现步骤如下: ① 在调用fock()前,使用shmget创建新的共享内存,返回值为共享内存标识码: shmid = shmget(IPC_PRIVATE,1,PERM) //申请一个字节共享内存 ② 调用fock()函数,创建子进程,根据fock()的返回值区分父进程和子进程,并分别在两个进程中使用shmat映射一块共享内存,即允许当前进程访问创建的共享内存: if(fock()) p_addr= shmat(shmid,0,0); //将共享内存映射到父进程 else{c_addr=shmat(shmid,0,0);}//将共享内存映射到子进程 其中,shmid为shmget()函数的返回值,即共享内存标识码。 从用户的角度看,在父进程中可以对p_addr进行读写操作,实际访问的是申请的共享内存。子进程则可以对c_addr进行读写,从而实现两个进程间的通信。共享内存的映射和进程之间的关系,如图4所示。 图4 进程和共享内存映射关系 2.3 系统控制流程 在程序初始化完成后,为每项任务创建了相应的进程,并建立了共享内存,如图5所示。在每个进程中采用循环执行方式,语音识别进程中利用select函数监控是否有识别结果输出,并将识别结果写入到相应的共享内存区。 图5 系统控制流程图 航向测量和计算进程循环读取陀螺仪的角度信息并存储。超声波测距进程在接收到信息处理进程的控制命令后进行测距并将数据返回至信息处理进程。信息处理进程融合了多传感器的数据,根据设定的路径规划方案,将控制信息传输到电机控制进程,实现机器人姿态的调整。 2.4 语音识别 在系统运行过程中,语音识别进程独立完成对语音模块的初始化和读取识别结果的任务,因此,能够及时响应操作人员发出的语音指令。程序中使用了select()函数监控read()是否可读。当语音识别模块LD3320有识别结果时,将在中断引脚输出高电平以触发系统中断,结束驱动程序中的等待状态,同时应用程序可以通过read()函数读取LD332O的识别结果,并写入到相应共享内存区M中。在没有中断时,read()函数将被阻塞,如图6所示。 图6 语音识别进程流程图 使用select机制监控是否语音识别结果,在超出等待时间后,会退出等待并重新初始化语音模块LD3320,释放公共资源,这样也使得系统能够及时响应LD332O的MP3播放功能,避免了在长时间没有语音识别结果时,系统进入卡死状态。 2.5 航向测量 为了使移动机器人能够沿指定的方向行驶并能修正由外界干扰因素产生的航向偏差,系统采用陀螺仪航向测量模块MPU - 6050,该模块将其测量的模拟量转换为可输出的数字量,并通过串口发送到S3C2440。系统通过read(fd_uartl,bur,10)函数读取相应串El,得到航向数据并写人到共享内存区S中。 2.6 超声波测距 本系统采用渡越时间法,超声波测距模块在收到发射控制信号时,换能器将发出40 kHz的连续脉冲信号。接收器的输出高电平时间和距离成正比,同时触发处理器的中断,上升沿中断开启定时器,下降沿关闭定时器,利用处理器内部的定时器1测量出输出信号的高电平的持续时间△T,经过式(1)的计算,可得到检测距离S: S— V × △T/2 (1) 式中,V 为超声波的传播速度,常温下超声波在空气中的传播速度是340 m/s。程序中根据所编写的驱动程序,使用ioctl(fd_chao,SEND_BEGIN)、ioctl(fd_chao,SEND_STOP)控制GPIO以实现超声波的发射和停止。系统中对某个方向连续测量5次,进行中值滤波并将滤波后数据传递到信息处理进程。 2.7 电机控制 移动平台中采用L298驱动直流减速电机,平台尚未安装速度反馈单元,简化了控制模式。程序通过ioctl()控制L298以实现电机的正反转以及停止操作。 在电机驱动程序中定义了相应GPIO的输入/输出方式:ioctl(fd,TURN_LEFT)中,fd为驱动程序的文件描述符;TURN_LEFT 是命令掩码CMD,驱动程序根据命令掩码CMD对相应的GPIO赋值以控制L298的状态。 3 路径规划和避障算法 根据模糊逻辑法,移动平台能够在不确定环境中实现局部路径规划和避障。 3.1 输入输出变量的模糊化 在路径规划过程中,信息分析模块的输入量为移动平台的行驶方向信息、与障碍物之间的相对位移信息;输出量为移动平台的旋转角度和平动位移信息。 ① 定义移动平台与左侧障碍物的距离为DL、与右侧障碍物的距离为DR、前方障碍物的距离为DF。模糊子集定义为{S,M,B},分别表示小、中、大,相应的距离隶属度函数如图7所示。 图7 距离隶属度函数 ② 定义移动平台和目标点之间夹角为了,模糊子集定义为{LB,LS,Z,RS,RB},分别表示左大、左小、零、有小和右大。相应的角度隶属度函数如图8所示。 ③ 移动平台的旋转角度φ的模糊子集定义为{TIB,TLS,TZ,TRS,TRB}。分别表示左转大、左转小、不旋转、右转小、右转大,相应的输出隶属度函数如图9所示。 3.2 建立模糊控制规则 在移动机器人远离障碍物或不存在障碍物的情况下,依据移动平台的行驶轨迹,可以先对行驶方向进行调整。当检测到障碍物接近移动平台时,移动平台应改变行驶轨迹,避免发生碰撞。移动平台的部分模糊控制规则如表1所列。 图8 角度隶属度函数 图9 输出隶属度函数 表1 模糊控制规则 3.3 模糊推理和解模糊化 根据距离隶属度函数,将超声波测量得到的不同方位的距离数据转换为模糊逻辑状态,再查找模糊控制规则,查表得到相应的输出模糊量。 解模糊化是输出模糊量映射到动作行为的过程。模糊控制器对移动平台的动作进行了分解并编码,将复杂的动作分解为一系列简单动作的叠加,使得每一个输出模糊量对应一套动作。 例如在检测到前方有障碍物并确定左转时,可以将机器人动作分解为:后退(左转,即先后退,再左转。这样可以减小机器人触碰到前方障碍物的概率。 4 实验测试 使用menuconfig命令为嵌入式Linux系统内核配置添加相应驱动程序后,进行make编译生产zImage文件。启动移动机器人系统并进入BIOS模式,将配置好的内核通过Supervivi工具烧写到NAND Flash。在系统启动后,配置Linux目录中的/etc/init.d文件,使系统启动后,自动运行所设计的程序。 如果系统初始化正常,将听到由语音模块发出的提示声:“校准完成”。此时,操作人员可以下达“前进”、“后退”或“测距”等设计好的语音指令,机器人将按照操作人员的指令完成相应的动作,还可以通过语音模块播放出测量到的距离。 结语 系统利用了Linux系统支持多任务和可裁剪的特点,结合处理器丰富的接口资源,实现了多方位超声波测距、电机控制等功能,通过对多传感器信息的融合和分析,为模糊逻辑法进行路径规划提供了判断依据。语音识别功能使得机器人和操作人员之间的人机交互变得更灵活方便。在此基础上,可以利用Linux操作系统强大的网络功能,为进一步研究服务机器人、机器人联网、机器人与机器人通信等提供了一种方案。
相关资源