语音控制方法和装置、平衡车控制方法和装置与平衡车与流程

文档序号:11097805阅读:894来源:国知局
本发明涉及嵌入式控制
技术领域
,尤其是涉及一种语音控制方法和装置、平衡车控制方法和装置与平衡车。
背景技术
:随着语音识别技术的飞速发展,实用性不断提高,生活中越来越多的设备被赋予了“语音”的功能。例如,智能家居中,用户可以通过语音控制各种家具;儿童玩具中,语音交互更是被赋予了教育的重任。双轮平衡车是利用车里内部的陀螺仪或加速度传感器来检测车体姿态的变化,并利用控制器精确的驱动电机进行调整,以保持系统的平衡。现有的语音控制双轮平衡车通常应用语音芯片对原始语音进行理解和分析,进而转变为控制信号并发送给单片机,该单片机根据控制信号对平衡车改变平衡车的运动状态,从而达到通过语音控制目的;但是,上述基于语音识别的控制方法存在使用不便、识别不准确的、系统设计缺乏人性化等诸多问题。针对现有的语音控制方法精确度较低的问题,尚未提出有效的解决方案。技术实现要素:有鉴于此,本发明的目的在于提供一种语音控制方法和装置、平衡车控制方法和装置与平衡车,以快速准确地获得语音识别结果,进而根据该结果控制平衡车,提高平衡车控制的效率和精确度。第一方面,本发明实施例提供了一种语音控制方法,该方法由控制器执行,该控制器与执行器无线连接,该方法包括:通过语音采集装置接收用户发出的语音信号;根据预先设置的垃圾词汇表,对语音信号进行过滤;其中,该垃圾词汇表中保存了与目标识别关键词无关的词语;将过滤后的语音信号与预先设置的关键词汇表中保存的目标识别关键词进行比对,生成语音识别结果;其中,该语音识别结果中包括控制命令;从预先设置的命令码列表中查找与控制命令对应的命令码;将命令码发送至执行器,以使执行器根据语音识别结果控制平衡车运动。结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上述根据预先设置的垃圾词汇表,对语音信号进行过滤包括:对语音信号进行分割,生成分割后的一个或多个语音单元;将分割后的一个或多个语音单元逐一与垃圾词汇表中保存的词语进行比对;如果比对成功,删除语音单元。第二方面,本发明实施例提供了一种平衡车控制方法,该方法由执行器执行,该执行器与控制器无线连接,该方法包括:接收控制器发送的命令码;通过陀螺仪获取平衡车的运动状态数据;根据运动状态数据,生成与命令码相对应的脉冲控制信号;将脉冲控制信号发送至电机驱动器,以使电机驱动器根据脉冲控制信号控制平衡车运动。结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,上述接收控制器发送的命令码之前,上述方法还包括:接收陀螺仪发送的平衡车的初始运动状态数据;根据初始运动状态数据,采用PID算法控制平衡车处于自平衡状态。第三方面,本发明实施例提供了一种语音控制装置,该装置设置于控制器,该控制器与执行器无线连接,该装置包括:信号接收模块,用于通过语音采集装置接收用户发出的语音信号;信号过滤模块,用于根据预先设置的垃圾词汇表,对语音信号进行过滤;其中,该垃圾词汇表中保存了与目标识别关键词无关的词语;比对模块,用于将过滤后的语音信号与预先设置的关键词汇表中保存的目标识别关键词进行比对,生成语音识别结果;其中,该语音识别结果中包括控制命令;查找模块,用于从预先设置的命令码列表中查找与控制命令对应的命令码;第一发送模块,用于将命令码发送至执行器,以使执行器根据语音识别结果控制平衡车运动。结合第三方面,本发明实施例提供了第三方面的第一种可能的实施方式,其中,上述信号过滤模块包括:信号分割单元,用于对语音信号进行分割,生成分割后的一个或多个语音单元;比对单元,用于将分割后的一个或多个语音单元逐一与垃圾词汇表中保存的词语进行比对;删除单元,用于如果比对成功,删除语音单元。第四方面,本发明实施例提供了一种平衡车控制装置,该装置设置于执行器,该执行器与控制器无线连接,该装置包括:命令码接收模块,用于接收控制器发送的命令码;状态数据获取模块,用于通过陀螺仪获取平衡车的运动状态数据;控制信号生成模块,用于根据运动状态数据,生成与命令码相对应的脉冲控制信号;第二发送模块,用于将脉冲控制信号发送至电机驱动器,以使电机驱动器根据脉冲控制信号控制平衡车运动。结合第四方面,本发明实施例提供了第四方面的第一种可能的实施方式,其中,上述装置还包括:状态数据接收模块,用于接收陀螺仪发送的平衡车的初始运动状态数据;控制模块,用于根据初始运动状态数据,采用PID算法控制平衡车处于自平衡状态。第五方面,本发明实施例提供了一种平衡车,该平衡车包括:平衡车本体和遥控器;该平衡车本体上设置有执行器、电机驱动器和陀螺仪;该遥控器上设置有控制器和语音采集装置。结合第五方面,本发明实施例提供了第五方面的第一种可能的实施方式,其中,上述平衡车还包括蓝牙收发模块;蓝牙收发模块的数量为两个,分别设置于平衡车本体和遥控器上。本发明实施例带来了以下有益效果:本发明实施例提供的一种语音控制方法和装置、平衡车控制方法和装置与平衡车,根据预先设置的垃圾词汇表对用户发出的语音信号进行过滤;通过将过滤后的语音信号与预先设置的关键词汇表进行比对得到语音识别结果;再从预先设置的命令码列表中查找与语音识别结果中控制命令对应的命令码,并发送至执行器,以使执行器根据语音识别结果控制平衡车运动。上述方式通过垃圾词汇表对语音信号进行过滤,通过关键词汇表比对获得语音识别结果,可以根据用户的声音信号更加快速准确地获得语音识别结果,进而根据该结果控制平衡车,提高了平衡车控制的效率和精确度。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种语音控制方法的流程图;图2为本发明实施例提供的一种平衡车控制方法的流程图;图3为本发明实施例提供的一种双轮平衡车的硬件系统的结构示意图;图4为本发明实施例提供的一种基于语音识别的双轮平衡车无线控制方法的流程图;图5为本发明实施例提供的一种语音控制装置的结构示意图;图6为本发明实施例提供的一种平衡车控制装置的结构示意图;图7为本发明实施例提供的一种平衡车的结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。考虑到现有的语音控制方法精确度较低的问题,本发明实施例提供了一种语音控制方法和装置、平衡车控制方法和装置与平衡车,该技术可以应用于语音控制的双轮或多轮平衡车玩具中,也可以应用于语音控制的载人双轮或多轮平衡车中;该技术可以采用相关的软件和硬件实现,下面通过实施例进行描述。实施例一:参见图1所示的一种语音控制方法的流程图,该方法由控制器执行,该控制器与执行器无线连接,该方法包括如下步骤:步骤S102,通过语音采集装置接收用户发出的语音信号;其中,该音频采集装置可以为话筒;步骤S104,根据预先设置的垃圾词汇表,对语音信号进行过滤;其中,垃圾词汇表中保存了与目标识别关键词无关的词语;例如,当上述目标识别关键词为控制命令时,用户发出的语音信号中包含控制命令,例如“前进”、“后退”等;但用户可能不仅会发出控制命令,还会发出一些语气词,或者其他与控制命令无关的词语,例如,“前进啊”,“立即后退”中的“啊”和“立即”均不属于控制命令;根据上述垃圾词汇表,将用户可能经常发出的与控制命令无关的词语过滤掉,为后续控制命令的识别提供了较好的数据基础。步骤S106,将过滤后的语音信号与预先设置的关键词汇表中保存的目标识别关键词进行比对,生成语音识别结果;其中,语音识别结果中包括控制命令;例如,当语音控制的对象为小车时,上述关键词汇表中保存的目标识别关键词为与控制小车相关的词语,比如,“前进”、“左转”、“停止”等;进一步地,上述语音控制的对象也可以为多辆小车,此时,关键词汇表中保存的不仅包括控制命令,还包括控制对象,例如,“一号小车”、“二号小车”等;此时,上述语音识别结果中包括控制命令,还包括控制对象。步骤S108,从预先设置的命令码列表中查找与控制命令对应的命令码;步骤S110,将命令码发送至执行器,以使执行器根据语音识别结果控制平衡车运动。通常,上述控制命令为一串字符串,如果将该字符串发送至执行器,发送的数据较多,可能会导致控制时间的延迟,还可能字符串在传输过程中发生错误,导致控制失败;因此,根据命令码列表将控制命令转换为命令码;该命令码与控制命令的对应关系可以如表1所示:表1控制命令命令码前进1后退2停止3左转4右转5上述命令码为数字,可以降低传输的数据量,提高控制效率和准确率。本发明实施例提供的一种语音控制方法,由控制器执行,根据预先设置的垃圾词汇表对用户发出的语音信号进行过滤;通过将过滤后的语音信号与预先设置的关键词汇表进行比对得到语音识别结果;再从预先设置的命令码列表中查找与语音识别结果中控制命令对应的命令码,并发送至执行器,以使执行器根据语音识别结果控制平衡车运动。上述方式通过垃圾词汇表对语音信号进行过滤,通过关键词汇表比对获得语音识别结果,可以根据用户的声音信号更加快速准确地获得语音识别结果,进而根据该结果控制平衡车,提高了平衡车控制的效率和精确度。进一步地,上述根据预先设置的垃圾词汇表,对语音信号进行过滤包括如下步骤:(1)对语音信号进行分割,生成分割后的一个或多个语音单元;(2)将分割后的一个或多个语音单元逐一与垃圾词汇表中保存的词语进行比对;(3)如果比对成功,删除语音单元。在实际应用时,上述用户发出的语音信号可能为多个词语组成的句子,而该垃圾词汇表中保存的通常为一个或多个汉字组成的词语,将语音信号分割成词语,可以提高对垃圾词汇表的适应性,进而提高垃圾词语过滤的准确率。实施例二:参见图2所示的一种平衡车控制方法的流程图,该方法由执行器执行,该执行器与控制器无线连接,该方法包括如下步骤:步骤S202,接收控制器发送的命令码;步骤S204,通过陀螺仪获取平衡车的运动状态数据;其中,该陀螺仪可以为六轴陀螺仪;步骤S206,根据运动状态数据,生成与命令码相对应的脉冲控制信号;步骤S208,将脉冲控制信号发送至电机驱动器,以使电机驱动器根据脉冲控制信号控制平衡车运动。本发明实施例提供的一种平衡车控制方法,由执行器执行,根据从陀螺仪获取到的运动状态数据,生成与控制器发送的命令码相对应的脉冲控制信号;并将该脉冲控制信号发送至电机驱动器,以使所述电机驱动器根据所述脉冲控制信号控制平衡车运动。上述方式将控制器发送的、且根据用户发出的声音信号处理得到的命令码转换成可以控制电机驱动器的脉冲控制信号,进而控制平衡车运动,提高了平衡车控制的效率和精确度。优选地,上述接收控制器发送的命令码之前,上述方法还包括如下步骤:(1)接收陀螺仪发送的平衡车的初始运动状态数据;(2)根据该初始运动状态数据,采用PID算法控制平衡车处于自平衡状态。在实际实现时,该平衡车在电源开启,且没有命令码发送时,默认为以两个轮子连线的中心点为中心的旋转状态;当接收到命令码时,为了更好地执行该命令码代表的控制命令,需要将平衡车的状态变更为自平衡状态,该自平衡状态也可以理解为运动停止状态。实施例三:为了更详细地理解上述语音控制方法和平衡车控制方法,本发明实施例提供了一种基于语音识别的双轮平衡车无线控制方法;该方法可以由双轮平衡车的硬件系统执行,为了便于理解上述基于语音识别的双轮平衡车无线控制方法,本发明实施例首先对上述双轮平衡车的硬件系统进行描述。参见图3所示的一种双轮平衡车的硬件系统的结构示意图;该硬件系统包括LD3320语音识别芯片302;Arduinoatmega2560控制器304、HC-05蓝牙主机模块306、HC-06蓝牙从机模块307、MPU6050六轴陀螺仪308、ArduinoLeonardo控制器310、A4988步进电机驱动器312和42型步进电机314;其中,LD3320芯片302、Arduinoatmega2560控制器304、HC-05蓝牙主机模块306设置于双轮平衡车的遥控器中;HC-06蓝牙从机模块307、MPU6050六轴陀螺仪308、ArduinoLeonardo控制器310、A4988步进电机驱动器312和42型步进电机314设置于双轮平衡车本体中;其中,该双轮平衡车可以称为平衡车,也可以称为双轮自平衡小车。具体地,Arduinoatmega2560控制器的程序头文件PinMap中对SS、MOSI、MISO以及SCK引脚的规定决定了LD3320语音识别芯片与Arduinoatmega2560控制器的硬件连接引脚;参见表2所示的具体的引脚连接方式,其中,MOSI、MISO、SCK引脚的连接需要通过编写Arduinoatmega2560中关于LD3320的引脚头文件PinMap.h来使LD3320适应Arduinoatmega2560控制器;表2LD3320Arduinoatmega25603.3VVCCGNDGNDMISOD50MOSID51NC悬空SCKD52NSSD4RSTD9IRQD2WRGND参见图4所示的一种基于语音识别的双轮平衡车无线控制方法的流程图,该方法包括如下步骤:步骤S402,Arduinoatmega2560控制器控制LD3320语音识别芯片初始化LD3320的寄存器,并装载入预先编写的关键词汇表和垃圾词汇表;步骤S404,LD3320语音识别芯片接收用户发出的语音控制命令,通过将输入的语音控制命令分别与垃圾词汇表和关键词列表进行比对,向Arduinoatmega2560控制器输出语音识别结果;其中,垃圾词汇表中包括相近发音的命令;在具体实现时,关键词汇表与垃圾词汇表中存储的词汇数量决定了语音识别的准确度。关键词列表的创建需包含所有可能用到的命令,并将其用拼音表示出来,为了增加识别精度,可添加方言的拼音或者英语单词的拼音;通过实验得出“嗯嗯嗯”“啊啊啊”等语音的识别属于垃圾词汇列表的内容,垃圾词汇内容越丰富,语音识别的精确度就越高;步骤S406,Arduinoatmega2560控制器根据对应的语音识别结果输出不同的命令码;再通过HC-05蓝牙主机模块无线传输给双轮平衡车;例如,qianjin命令对应于命令码“1”,houtui命令对应于命令码“2”,以此类推;步骤S408,双轮平衡车中HC-06蓝牙从机模块的接收命令码,并通过数据接收串口将该命令码发送至ArduinoLeonardo控制器;在实际实现时,双轮平衡车在初始状态下为原地转圈维持自平衡状态,当蓝牙连接后,小车状态变为原地静止维持自平衡状态,等待接收命令;ArduinoLeonardo控制器需结合MPU6050六轴陀螺仪的数据,通过PID算法维持自平衡状态;步骤S410,根据接收到的命令码,和从MPU6050六轴陀螺仪获取的运动状态数据,ArduinoLeonardo控制器持续发出脉冲至A9488步进电机驱动器;步骤S412,A9488步进电机驱动器根据接收到的脉冲,驱动两个42步进电机做出前进、后退、左右转等动作。本发明实施例提供的一种基于语音识别的双轮平衡车无线控制方法,LD3320语音识别模块接收使用者发出的特定语音控制命令,经过Arduinoatmega2560控制器与LD3320语音识别模块的处理,形成命令码,并通过HC-05蓝牙主机模块发送给双轮平衡车;该双轮平衡车初始状态下为原地转圈状态,当双轮平衡车上的HC-06蓝牙从机模块接收到命令码后,双轮平衡车的状态变为静止维持平衡状态;最后结合MPU6050芯片的数据,双轮平衡车上的ArduinoLeonardo控制器根据接收到的命令码,驱动42步进电机前进、后退以及左右转。本发明具有语音控制操作简易、识别精度高、控制距离远等优点,改善了传统遥控手动按键控制的方法。进一步地,本发明实施例通过可行的技术方案,具有以下几点有益效果:(1)减轻了小型双轮平衡车必须单个人工遥控操作的麻烦,通过语音控制的方式,使控制过程简单、易行、安全;(2)改善了传统有线控制的方法,使用无线控制与语音控制相结合的方法,使控制过程更加人性化;(3)可以根据调整PinMap.h文件,改变语音控制端的控制器型号,适应性强。实施例四:对应于上述方法实施例,参见图5所示的一种语音控制装置的结构示意图,该装置设置于控制器,该控制器与执行器无线连接,该装置包括如下部分:信号接收模块502,用于通过语音采集装置接收用户发出的语音信号;信号过滤模块504,用于根据预先设置的垃圾词汇表,对语音信号进行过滤;其中,该垃圾词汇表中保存了与目标识别关键词无关的词语;比对模块506,用于将过滤后的语音信号与预先设置的关键词汇表中保存的目标识别关键词进行比对,生成语音识别结果;其中,该语音识别结果中包括控制命令;查找模块508,用于从预先设置的命令码列表中查找与控制命令对应的命令码;第一发送模块510,用于将命令码发送至执行器,以使执行器根据语音识别结果控制平衡车运动。本发明实施例提供的一种语音控制装置,设置于控制器,根据预先设置的垃圾词汇表对用户发出的语音信号进行过滤;通过将过滤后的语音信号与预先设置的关键词汇表进行比对得到语音识别结果;再从预先设置的命令码列表中查找与语音识别结果中控制命令对应的命令码,并发送至执行器,以使执行器根据语音识别结果控制平衡车运动。上述方式通过垃圾词汇表对语音信号进行过滤,通过关键词汇表比对获得语音识别结果,可以根据用户的声音信号更加快速准确地获得语音识别结果,进而根据该结果控制平衡车,提高了平衡车控制的效率和精确度。进一步地,上述信号过滤模块包括:(1)信号分割单元,用于对语音信号进行分割,生成分割后的一个或多个语音单元;(2)比对单元,用于将分割后的一个或多个语音单元逐一与垃圾词汇表中保存的词语进行比对;(3)删除单元,用于如果比对成功,删除语音单元。参见图6所示的一种平衡车控制装置的结构示意图,该装置设置于执行器,该执行器与控制器无线连接,该装置包括如下部分:命令码接收模块602,用于接收控制器发送的命令码;状态数据获取模块604,用于通过陀螺仪获取平衡车的运动状态数据;控制信号生成模块606,用于根据运动状态数据,生成与命令码相对应的脉冲控制信号;第二发送模块608,用于将脉冲控制信号发送至电机驱动器,以使电机驱动器根据脉冲控制信号控制平衡车运动。本发明实施例提供的一种平衡车控制装置,设置于执行器,根据从陀螺仪获取到的运动状态数据,生成与控制器发送的命令码相对应的脉冲控制信号;并将该脉冲控制信号发送至电机驱动器,以使所述电机驱动器根据所述脉冲控制信号控制平衡车运动。上述方式将控制器发送的、且根据用户发出的声音信号处理得到的命令码转换成可以控制电机驱动器的脉冲控制信号,进而控制平衡车运动,提高了平衡车控制的效率和精确度。优选地,上述装置还包括:(1)状态数据接收模块,用于接收陀螺仪发送的平衡车的初始运动状态数据;(2)控制模块,用于根据初始运动状态数据,采用PID算法控制平衡车处于自平衡状态。实施例五:对应于上述方法实施例和装置实施例,参见图7所示的一种平衡车的结构示意图,该平衡车包括:平衡车本体72和遥控器74;该平衡车本体72上设置有执行器722、电机驱动器724和陀螺仪726;该遥控器74上设置有控制器742和语音采集装置744。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的平衡车的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。进一步地,上述平衡车还包括蓝牙收发模块;该蓝牙收发模块的数量为两个,分别设置于平衡车本体和遥控器上。本发明实施例提供的平衡车,与上述实施例提供的语音控制方法和装置、平衡车控制方法和装置具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。本发明实施例所提供的语音控制方法和装置、平衡车控制方法和装置与平衡车的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1