一种控制车辆运动的系统、方法及装置与流程

文档序号:21038384发布日期:2020-06-09 20:32阅读:149来源:国知局
一种控制车辆运动的系统、方法及装置与流程

本发明涉及通信技术领域,特别是涉及一种控制车辆运动的系统、方法及装置。



背景技术:

目前为了满足人们的日常生活需求,工厂可以生产出智能化控制的车辆。这些智能化控制的车辆涉及范围较广,上至应用于自动驾驶技术的车辆,下至灾难救援除障车,甚至于包含青少年所钟爱的“四驱赛车”玩具车。这些涉及智能化控制的车辆上安装有微型电脑,一般将智能化控制编写微型电脑上,然后通过微型电脑实现智能化控制。示例性的,此微型电脑可以为树莓派(raspberrypi,简称rpi),一般需要编程人员使用编程语言python进行编写程序,从而在rpi上实现智能化控制。此处的智能化控制的主要实现过程如下:

一般实现智能化控制的车辆上安装有rpi,此rpi用于实现智能化控制,rpi是为学习计算机编程教育而设计,只有信用卡大小的微型电脑;

编程人员预先使用编程语言python在rpi上进行编写程序,比如,控制车辆运动的程序;这些程序中包含接收控制指令的程序以及控制车辆运动的程序;然后拥有车辆的用户,在使用车辆时,向车辆发出控制指令,比如语音指令,这样rpi会接收到该控制指令,rpi调用与控制指令相应的程序,从而控制车辆运动。

为了实现上述车辆的运动,需要编程人员提前编写程序。如果拥有车辆的用户是非编程人员,并且这些非编程人员需要学习或调整车辆已有的运动,以符合自己的个性化需求,就需要阅读编程人员提前编写好的程序。但一般非编程人员阅读编程人员编写的程序较为困难,这样不利于这些用户阅读,即使临时学习编程语言,需要消耗大量时间,学习成本较大。因此,非编程人员在调整智能化控制的车辆时,较难理解车辆上已编写的程序,难以满足用户的个性化需求。



技术实现要素:

本发明实施例的目的在于提供一种控制车辆运动的系统、方法及装置,用以解决现有技术中非编程人员在学习或调整智能化控制的车辆时,较难理解车辆上已编写的程序,难以满足用户的个性化需求的技术问题。具体技术方案如下:

第一方面,本发明实施例提供了一种控制车辆运动的系统,包括:

客户端,用于接收scratch网页中触发用于显示运动方式的标识产生的触发指令;识别所述触发指令中的运动方式;获得所述运动方式对应的命令行,作为指定命令行;将所述指定命令行传输给服务端;

服务端,用于识别所述指定命令行,控制所述车辆按照所述运动方式运动;

车辆,用于按照所述运动方式运动。

进一步的,所述客户端具体用于获取对用于显示运动方式的标识的操作,作为触发指令。

进一步的,所述服务端具体用于监听包含指定关键词的语音,将所述语音中的指定关键词以指定的消息格式打包,得到触发指令,并发送所述触发指令,所述指定关键词为与所述服务端预设关键词相匹配的关键词;

所述客户端具体用于通过scratch网页与服务端之间的指定通信端口,接收由所述服务端发送的触发指令。

进一步的,所述服务端具体用于:

将预设时长的语音作为已训练语音识别模型的输入,通过已训练语音识别模型,输出所述预设时长的语音中指定关键词,所述已训练语音识别模型是基于样本集训练得到的,所述样本集包括:包含有预设关键词的多条语音,且每条语音的长度相同。

进一步的,所述客户端具体用于:

将所述指定命令行以指定的消息格式进行打包,得到打包后的命令行;

将所述打包后的命令行,通过scratch网页与服务端之间的指定通信端口,传输给服务端。

进一步的,所述客户端还用于:

建立用于显示车辆预备运动的运动方式的多个标识,所述显示车辆预备运动的运动方式的多个标识中包含文字和/或图形。

第二方面,本发明实施例提供了一种控制车辆运动的方法,应用于第一方面所述的控制车辆运动的系统,所述方法包括:

客户端接收scratch网页中触发用于显示运动方式的标识产生的触发指令;识别所述触发指令中的运动方式;获得所述运动方式对应的命令行,作为指定命令行;将所述指定命令行传输给服务端;

服务端识别所述指定命令行,控制所述车辆按照所述运动方式运动;

车辆按照所述运动方式运动。

进一步的,所述客户端获取对用于显示运动方式的标识的操作,作为触发指令。

第三方面,本发明实施例提供了一种控制车辆运动的方法,应用于客户端,所述方法包括:

接收scratch网页中触发用于显示运动方式的标识产生的触发指令;

识别所述触发指令中的运动方式;

获得所述运动方式对应的命令行,作为指定命令行;所述指定命令行用于将所述指定命令行传输给服务端,由服务端识别所述指定命令行,控制所述车辆按照所述运动方式运动。

第四方面,本发明实施例提供了一种控制车辆运动的装置,应用于客户端,所述装置包括:

接收模块,用于接收scratch网页中触发用于显示运动方式的标识产生的触发指令;

识别模块,用于识别所述触发指令中的运动方式;

处理模块,用于获得所述运动方式对应的命令行,作为指定命令行;所述指定命令行用于将所述指定命令行传输给服务端,由服务端识别所述指定命令行,控制所述车辆按照所述运动方式运动。

第五方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。

第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面任一的方法。

本发明实施例提供的一种控制车辆运动的系统、方法及装置,客户端接收scratch网页中触发用于显示运动方式的标识产生的触发指令,识别此触发指令中的运动方式,然后获得运动方式对应的命令行,并传输给服务端,服务端识别此指定命令行,以控制车辆按照上述运动方式运动。

由此可见,相较于现有技术,通过客户端的scratch网页使用用于显示运动方式的标识,也就是模块化处理,将运动方式可视化处理,并不需要用户理解服务端上的程序,方便直观显示车辆的运动方式,进而学习和理解车辆的运动方式。这样客户端接收cratch网页中触发用于显示运动方式的标识产生的触发指令,最终找到触发指令所对应的命令行,与服务端相互配合,以控制车辆按照所述运动方式运动。从而不需要用户理解程序,方便用户操作和学习,满足用户个性化需求,提高用户体验效果。

当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的控制车辆运动的系统的第一结构示意图;

图2为本发明实施例的显示车辆预备运动的运动方式的多个标识的第一示意图;

图3为本发明实施例的显示车辆预备运动的运动方式的多个标识的第二示意图;

图4为本发明实施例提供的控制车辆运动的系统的第二结构示意图;

图5为本发明实施例提供的控制车辆运动的方法的第一流程示意图;

图6为本发明实施例提供的控制车辆运动的方法的第二流程示意图;

图7为本发明实施例提供的控制车辆运动的装置的结构示意图;

图8为本发明实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

针对现有技术中非编程人员在学习或调整智能化控制的车辆时,较难理解车辆上已编写的程序,难以满足用户的个性化需求的问题,本发明实施例提供一种控制车辆运动的系统、方法及装置,scratch网页显示显示车辆预备运动的运动方式的多个标识,客户端接收scratch网页中触发用于显示运动方式的标识产生的触发指令,识别此触发指令中的运动方式,然后获得运动方式对应的命令行,并传输给服务端,服务端识别此指定命令行,以控制车辆按照上述运动方式运动。

基于上述过程,通过客户端的scratch网页使用用于显示运动方式的标识,也就是模块化处理,将运动方式可视化处理,并不需要用户理解服务端上的程序,方便直观显示车辆的运动方式,进而学习和理解车辆的运动方式。这样客户端接收cratch网页中触发用于显示运动方式的标识产生的触发指令,最终找到触发指令所对应的命令行,与服务端相互配合,以控制车辆按照所述运动方式运动。从而不需要用户理解程序,方便用户操作和学习,满足用户个性化需求,提高用户体验效果。

下面首先对本发明实施例提供的控制车辆运动的系统进行介绍。

参见图1,图1为本发明实施例提供的控制车辆运动的系统的第一结构示意图。

本发明实施例所提供的控制车辆运动的系统,包括:

客户端01,用于接收scratch网页中触发用于显示运动方式的标识产生的触发指令;识别所述触发指令中的运动方式;获得所述运动方式对应的命令行,作为指定命令行;将所述指定命令行传输给服务端02。其中,所述运动方式对应的命令行可以是预先编写运动方式的指令命令行,用于指示运动方式。

服务端02,用于识别所述指定命令行,控制所述车辆03按照所述运动方式运动。

车辆03,用于按照所述运动方式运动。

在本发明实施例中,通过客户端的scratch网页使用用于显示运动方式的标识,也就是模块化处理,将运动方式可视化处理,并不需要用户理解服务端上的程序,方便直观显示车辆的运动方式,进而学习和理解车辆的运动方式。这样客户端接收cratch网页中触发用于显示运动方式的标识产生的触发指令,最终找到触发指令所对应的命令行,与服务端相互配合,以控制车辆按照所述运动方式运动。从而不需要用户理解程序,方便用户操作和学习,满足用户个性化需求,提高用户体验效果。

在上述客户端中用于显示运动方式的标识可以是显示车辆预备运动的运动方式的多个标识中的一个或多个标识,此用于显示运动方式的标识能够显示车辆预备运动的运动方式。并且,显示车辆预备运动的运动方式的多个标识的框线形状可以为用于可以直接选择的任何形状。比如,此scratch网页20中显示车辆预备运动的运动方式的多个标识可以但并不限于为字符标识如图2所示,具体的,“向左”、“向右”,“向前”,“向后”,“顺时针旋转”及“逆时针旋转”;或者此scratch网页30中显示车辆预备运动的运动方式的多个标识可以但并不限于为符号标识如图3所示的各种箭头。本发明实施例所示的显示车辆预备运动的运动方式的多个标识对应的框线形状可以但并不限于为图2中的矩形,也可以为菱形等。字符标识也可以为英文缩写,在此不做限定。本发明实施例所示的显示车辆预备运动的运动方式的多个标识对应的框线可以但并不限于为图3中的单线条,也可以为双线条,在此不做限定。图2和图3所示的实现方式是为了方便理解所提供的一种可能的实现方式,在此不做限定。这样方便显示及识别。

其中,上述scratch网页可以但不限于是引入scratch3.0网页,通过scratch3.0网页来实现远程操作和功能模块的编写,更加方便用户对整个系统进行维护和扩展。

其中,上述车辆可以是工作电压在5伏到12伏的车辆,可以使用l298n电机驱动板驱动的车辆。比如应用于工厂,医院,学校等多个场景下的机械小车,此机械小车能够实现语音识别智能化,可以提供运输,监测,除障、搜寻等服务。这样选择机械小车作为控制实体,主要是因为其高易用性,并且易维护易扩展,满足很多应用场景,其包括运输,监控,搜寻等。此车辆也可以是作为青少年娱乐工具的可语音控制的四驱赛车,凭借其来组织赛车竞速障碍赛以丰富青少年的课余活动。

车辆还可装载多个功能扩展模块,包括无线麦克风,摄像头,红外避障等,进而实现工程上运输,监测,除障、搜寻等工作以及作为语音控制的四驱赛车提供给青少年娱乐。

在本发明实施例可以应用于上述各种车辆的基础上,随着移动互联网和人工智能技术的不断推进,语音、手势、甚至脑电波等越来越多的人机交互方式不断出现,因此为了方便用户直接选择用于显示运动方式的标识,在一种可能的实现方式中,所述客户端具体用于获取对用于显示运动方式的标识的操作,作为触发指令。

由于在用户需要车辆按照运动方式运动时,可以由用户对显示车辆预备运动的运动方式的多个标识中任一或多个标识产生触发指令,客户端接收此触发指令,最终找到触发指令对应的命令行,与服务端相互配合,以控制车辆按照所述运动方式运动。因此在本发明实施例中上述可能的实现方式中进一步包括:所述客户端具体用于获取由用户对scratch网页中用于显示运动方式的标识的操作,作为触发指令。这样在用户需要车辆按照上述运动方式运动时,可以由用户对触发用于显示运动方式的标识产生触发指令,方便用户操作和识别标识。

其中,操作可以为任何能够实现对用于显示运动方式的标识进行操作,此操作可以但并不限于包括点击操作,这样用户可以直接以点击操作的方式,操作scratch网页中各种自定义的显示车辆预备运动的运动方式的多个标识,将指定命令行发送给服务端,通过服务端控制车辆按照所述运动方式运动。操作还可以但并不限于包括滑动操作,语音操作。任何能够实现对用于显示运动方式的标识进行操作,均属于本发明实施例的保护范围,在此不一一举例。这样用户可以直接操作,选择所需的运动方式的标识,方便用户操作,不需要用户理解程序,满足用户个性化需求,提高用户体验效果。

在上述一种可能的实现方式中,用户可以动手操作,直观选择用于显示运动方式的标识。但是人机交互的方式中,语音作为一种最为直接高效的交互方式,它的重要性也逐渐凸显。因此为了减少用户动手操作,方便不同的用户使用及体验智能化车辆,可以采用语音识别,实现控制所述车辆按照所述运动方式运动。因此在一种可能的实现方式中,具体说明如下:

第一步,所述服务端具体用于监听包含指定关键词的语音,将所述语音中的指定关键词以指定的消息格式打包,得到触发指令,并发送所述触发指令,所述指定关键词为与所述服务端预设关键词相匹配的关键词,其中指定关键词可以但不限于为与所述预设关键词相匹配的一个或多个关键词。

上述第一步中进一步包括:通过用户发出包含指定关键词的语音,所述服务端的语音识别模块监听用户发出的包含指定关键词的语音,将所述指定关键词以指定的消息格式打包,得到触发指令。这样可以完成人机交互的过程,方便用户操作。

第二步,所述客户端具体用于通过scratch网页与服务端之间的指定通信端口,接收由所述服务端发送的触发指令。

上述第二步中的指定通信端口可以为能够实现scratch网页与服务端之间进行通信的端口。比如但并不限于可以使用一个第三方社区制作的应用于scratch的插件工具codelab-adapter,完成服务端和scratch网页之间的通信需求。这样codelab-adapter将服务端和scratch网页进行连接,可以实现双向通信。其中,此codelab-adapter主要提供一个链接scratch和其他硬件的websocketserver,来实现scratchvm和硬件的双向通信,采用zeromq来传输sub/pub消息。这样可以通过scratch网页发送用于控制车辆按照所述运动方式运动的命令行,给服务端小车,同时也可以自定义scratch的插件来实现对服务端的多样化控制。

通过上述指定通信端口传输包含有预设关键词的触发指令,这些预设关键词是用户预先自定义的词语,用于能够表示车辆的运动方式。比如,预设关键词可以但并不限于为前进、后退、向左、向右、逆时针旋转和顺时针旋转,这些预设关键词还可以但并不限于为forward,back,aleft,right,contrarotate,clockwise。以上仅仅是对预设关键词的举例说明,在此不做限定。这样用户可以按照自己需求,表达出包含预设关键词的语音,方便服务端的语音识别模块的识别。

上述服务端语音识别模块可以是用于识别语音的任何脚本,比如语音识别python脚本,在此不一一举例说明。语音识别模块可以采用tensorflow框架,该模块基于循环神经网络(recurrentneuralnetwork,简称rnn)分类模型,能够有效识别不同口音及语音不清晰的情况,并且使用的控制模块集成了无线驱动模块,无需外接无线驱动模块。本发明实施例中的服务端能够完成语音识别,也可以根据用户需求添加其他多种模块。

上述服务端识别语音模块的识别过程,说明如下:

服务端通过服务端的语音识别模块,实时对用户发出的语音的监听,当监听到包含指定关键词的语音时,解读出语音中的指定关键词,将指定关键词以指定的消息格式打包,得到触发指令。这样scratch网页可以通过服务端的语音识别模块,时刻保持对语音的监听,当服务端的语音识别模块捕捉到语音中包含的指定关键词时,服务端自动发送触发指令给scratch网页,方便用户通过语音方式控制车辆按照上述运动方式运动,这样用户不用直接点击操作显示车辆预备运动的运动方式的多个标识,用户看着显示车辆预备运动的运动方式的多个标识,直接通过语音,完成控制所述车辆按照所述运动方式运动。

上述语音识别模块的识别过程可以通过第1步至第4步进一步说明如下:

第1步,获取多条语音,作为样本集;其中,样本集包含30个词的65000条语音,wav格式,每条长度为一秒钟。通常模型标注的识别准确率均为在实验环境下测得,但考虑到本发明的实际户外使用场景一些常用模型的识别准确率会部分降低,因此为了满足本发明实施例的场景应用,主要上述样本集可以为带噪数据增广训练数据集。这样采用含噪样本集作为模型的数据,在一定程度上也提升了实际应用场景下的识别准确率。

第2步,利用样本集作为待训练的rnn分类模型的输入,训练待训练的rnn分类模型,得到训练好的rnn分类模型,作为已训练语音识别模型。

其中,待训练的rnn分类模型,也可以称为待训练的语音识别模型。在训练时,可以选取了最优的双层双向rnn分类模型作为最终采用的模型。这样在无噪条件下、有噪声无增广条件下、有噪声有增广条件下,使用rnn分类模型,可以优化rnn分类模型。除此之外,对数据增广前和数据增广后的rnn分类模型进行比较,并对rnn分类模型进行调优,使其准确率在无噪条件下达到了89%,在有噪条件下达到了87.2%,从而满足能够在服务端快速加载一个小型,快速,准确,最大化屏蔽噪声干扰的已训练语音识别模型。

第3步,将训练好的已训练语音识别模型部署到服务端上。具体的是,在训练好的rnn分类模型所生成的.h5模型文件与识别服务执行脚本打包部署到服务端上,这样方便后期使用。在系统执行此步骤之后,所述系统还包括:supervisor管理语音识别模块和socket通信管道开机自启。这样减少用户操作,可以实时完成传输服务端与scratch网页之间的通信。

第4步,服务端具体用于将预设时长的语音作为已训练语音识别模型的输入,通过已训练语音识别模型,输出所述预设时长的语音中指定关键词,所述已训练语音识别模型是基于样本集训练得到的,所述样本集包括:包含有预设关键词的多条语音,且每条语音的长度相同。

其中,上述rnn分类模型使用tensorflow和keras框架。此rnn分类模型可以采用python语音,完成代码的编写。上述预设时长可以是根据用户需求进行设置,预设时长可以为1秒,在此不做限定。这样识别的预设时长的语音中的指定关键词更加准确。

由于一般语音长度不同的原因,这些特征序列的长度往往不一致,然而,当每个一批batch的序列同样的长度,利用图形处理器(graphicsprocessingunit,简称gpu)可以进行高效的并行训练,因此为了能够高效的训练,可以采用padding和masking的技术,使语音长度一致。故上述样本集可以为多段语音的mel频标倒谱参数(melfrequencycepstralcoefficient,简称mfcc)特征序列。

其中,padding主要是将大于固定长度的序列截断到固定长度;并将小于固定长度的序列,用预先设定的值补齐到上述固定长度。但,使用padding也会带来一些问题:序列中补齐的值在训练中,会对已训练语音识别模型产生影响。例如,原始长度为n的序列,通过padding此序列之后添加n-k个padding值,使得该序列的长度补齐成固定长度为k的序列。这些padding所添加值在训练过程中会输入给rnn分类模型,引起rnn分类模型内部隐状态不必要的更新,影响到最终计算的梯度,最终影响每个参数的值。

为了消除padding所带来的上述影响,可以通过masking技术。此masking技术通过对padding所添加值的输入进行屏蔽,使得屏蔽值被传入rnn分类模型时,rnn分类模型可以选择性地忽略,不进行任何更新。这样使得已训练语音识别模型能够并行化训练,同时免除padding所添加值对已训练语音识别模型参数带来的负面影响。

使用上述服务端识别语音的过程,识别速度和准确率高,从而实时识别语音中的指定关键词,并且对已训练语音识别模型进行简化,也提升了已训练语音识别模型加载和预测的速度,基本能够实现实时监测。

在上述可能的实现方式中,不仅不需要用户理解程序,方便用户操作,满足用户个性化需求,提高用户体验效果。而且,还可以通过服务端接收语音来识别语音,并生成能够触发scratch网页中用于显示运动方式的标识的触发指令。服务端与scratch网页相互协作,也不需要用户理解程序,方便用户口头控制,满足用户个性化需求,提高用户体验效果。因此满足多种场景下的用户需求。

在确定上述包含有指定关键词的语音确定之后,需要通过指定通信端口完成scratch网页与服务端之间的通信交互,则需要使用scratch网页与服务端能够识别的通信格式的通信,因此需要使用指定的消息格式进行通信,则在一种可能的实现方式中,所述客户端具体用于:

将所述指定命令行以指定的消息格式进行打包,得到打包后的命令行;将所述打包后的命令行,通过scratch网页与服务端之间的指定通信端口,传输给服务端。这样使用服务端作为操作平台有利于整个系统的完善和后期的扩展,也可以使得控制所述车辆按照所述运动方式运动。

上述指令命令行用于能够使得服务端识别的命令行,且能够指示需要车辆的所述运动方式。比如,指令命令行可以是用于向前的命令行,将此指令命令行以指定的消息格式进行打包,得到打包后的命令行,传输给服务端,以使服务端控制车辆按照向前的运动方式运动。再比如,指令命令行可以是用于向后的命令行。又比如,指令命令行可以为向左的命令行,指令命令行可以为向右的命令行,指令命令行还可以为逆时针旋转的命令行,指令命令行又可以为顺时针旋转的命令行。同理,这些指令命令行的过程除了指令命令行的内容以外,其他执行的步骤与用于向前的命令行的步骤相同,在此不再赘述。

上述指定的消息格式用于能够完成scratch网页与服务端能够识别的通信格式的通信。指定的消息格式比如但并不限于json数据交换格式,用于作为通信数据的消息格式。

为了能够实现显示车辆预备运动的运动方式的多个标识,因此需要预先建立此标识,则在一种可能的实现方式中,所述客户端还用于:

建立用于显示车辆预备运动的运动方式的多个标识,所述显示车辆预备运动的运动方式的多个标识中包含文字和/或图形。这样显示车辆预备运动的运动方式的多个标识中可以包含文字和/或图形。用户可以先建立显示车辆预备运动的运动方式的多个标识,方便后期显示,也可以编程人员先建立显示车辆预备运动的运动方式的多个标识,方便后期显示。这样客户端的scratch网页显示用于显示运动方式的多个标识,用户就可以后期直接使用显示车辆预备运动的运动方式的多个标识,不需要用户理解程序,方便用户操作,满足用户个性化需求,提高用户体验效果。

本发明实施例系统中的服务端可以是按照用户需求自行编写程序,完成本发明实施例的任何能够控制车辆运动的服务器。但是,由于树莓派(raspberrypi,简称rpi)3b+作为整个系统的操作平台,其拥有的接口较多和计算能力足够满足本发明实施例的应用,因此为了能够使用树莓派作为操作平台,提供后台服务,有利于控制车辆按照上述运动方式运动。因此,示例性的但不限于本发明实施例服务端可以是rpi。参见图4,图4为本发明实施例提供的控制车辆运动的系统的第二结构示意图。对服务端应用于rpi进行详细说明。

客户端11,用于接收scratch网页中触发用于显示运动方式的标识产生的触发指令;识别所述触发指令中的运动方式;获得所述运动方式对应的命令行,作为指定命令行;将所述指定命令行传输给rpi12。

上述客户端11接收scratch网页中触发用于显示运动方式的标识产生的触发指令可以通过如下方式实现:用户10发出语音,所述rpi12的语音识别模块122可以监听包含指定关键词的语音,将所述语音中的指定关键词以指定的消息格式打包,得到触发指令,并发送所述触发指令,所述指定关键词为与所述rpi12预设关键词相匹配的关键词。所述客户端具体用于通过scratch网页与rpi12之间的指定通信端口,接收由所述rpi12发送的触发指令。这样将部署有实时运行语音识别模块的rpi作为核心控制模块,脱离繁杂的工程设计,方便组装和迁移。

rpi12,用于识别所述指定命令行,控制所述车辆按照所述运动方式运动。为了实现控制车辆按照所述运动方式运动,rpi12具体用于识别所述指定命令行,启动电机驱动模块121,以控制所述车辆按照所述运动方式运动。这样使用rpi作为操作平台有利于整个系统的完善和后期的扩展,也可以使得控制车辆按照上述运动方式运动。

其中,电机驱动模块121可以是指指定的python解释器里执行相应的电机驱动模块。指定的python解释器用来存储电机驱动内容。电机驱动模块121可以采用l298n电机驱动板控制电机转动,l298n电机驱动板的工作电压在1伏到12伏,因此可以使用l298n电机驱动板驱动车辆。此电机驱动模块121相应控制脚本触发后,会给对应的rpi通用型之输入输出(general-purposeinput/output,简称gpio)的口不同的高低电平,从而实现小车制动。

车辆13,用于按照上述运动方式运动。基于上述电机驱动模块121,车辆进行运动,所述车辆13具体用于基于所述电机驱动模块121,控制车辆按照上述运动方式运动。

其中,上述系统还包括:上述rpi与客户端预先建立通信连接,这样后期可以使用指定通信端口进行通信。通信连接可以是蓝牙连接,也可以是无线局域网连接,只要能够实现本发明实施例的通信连接,均属于本发明实施例的保护范围,在此不一一举例说明。

基于上述发明实施例的具体实现流程如下:rpi开机启动的语音识别模块,由rpi的语音识别模块一直在后台运行保持对麦克风输入的语音进行监听;当监听到包含有指定关键词的语音时,读取语音中的指定关键词,将指定关键词打包为zeromq所需的信息格式,作为触发指令,并将触发指令传输到指定通信端口;由scratch网页读取打包的触发指令,识别触发指令中的所述运动方式,获得预先编写所述运动方式的命令行,作为指定命令行;将指定命令行以指定的消息格式传输给rpi,由所述rpi识别所述指定命令行,控制车辆按照上述运动方式运动。

由于rpi体积小,功能强大,易于编辑,成本较小,方便用户使用。这样并不需要用户理解rpi上的程序,由于通过客户端的scratch网页显示用于显示车辆预备运动的运动方式的多个标识,通过客户端的scratch网页使用用于显示运动方式的标识,也就是模块化处理,将运动方式可视化处理,并不需要用户理解服务端上的程序,方便直观显示车辆的运动方式,进而学习和理解车辆的运动方式。这样客户端接收cratch网页中触发用于显示运动方式的标识产生的触发指令,最终找到触发指令所对应的命令行,与服务端相互配合,以控制车辆按照所述运动方式运动。从而不需要用户理解程序,方便用户操作和学习,满足用户个性化需求,提高用户体验效果。

下面继续对本发明实施例提供的一种控制车辆运动的方法进行介绍。

参见图5,图5为本发明实施例提供的控制车辆运动的方法的第一流程示意图。本发明实施例提供的一种控制车辆运动的方法,包括如下步骤:

步骤110,客户端接收scratch网页中触发用于显示运动方式的标识产生的触发指令;识别所述触发指令中的运动方式;获得所述运动方式对应的命令行,作为指定命令行;将所述指定命令行传输给服务端。

步骤120,服务端识别所述指定命令行,控制所述车辆按照所述运动方式运动。

步骤130,车辆按照所述运动方式运动。

在本发明实施例中,通过客户端的scratch网页使用用于显示运动方式的标识,也就是模块化处理,将运动方式可视化处理,并不需要用户理解服务端上的程序,方便直观显示车辆的运动方式,进而学习和理解车辆的运动方式。这样客户端接收cratch网页中触发用于显示运动方式的标识产生的触发指令,最终找到触发指令所对应的命令行,与服务端相互配合,以控制车辆按照所述运动方式运动。从而不需要用户理解程序,方便用户操作和学习,满足用户个性化需求,提高用户体验效果。

在一种可能的实现方式中,所述客户端获取对用于显示运动方式的标识的操作,作为触发指令。

在一种可能的实现方式中,所述服务端监听包含指定关键词的语音,将所述语音中的指定关键词以指定的消息格式打包,得到触发指令,并发送所述触发指令,所述指定关键词为与所述服务端预设关键词相匹配的关键词;

所述客户端具体用于通过scratch网页与服务端之间的指定通信端口,接收由所述服务端发送的触发指令。

在一种可能的实现方式中,所述服务端将预设时长的语音作为已训练语音识别模型的输入,通过已训练语音识别模型,输出所述预设时长的语音中指定关键词,所述已训练语音识别模型是基于样本集训练得到的,所述样本集包括:包含有预设关键词的多条语音,且每条语音的长度相同。

在一种可能的实现方式中,所述客户端将所述指定命令行以指定的消息格式进行打包,得到打包后的命令行;

将所述打包后的命令行,通过scratch网页与服务端之间的指定通信端口,传输给服务端。

在一种可能的实现方式中,所述客户端还建立用于显示车辆预备运动的运动方式的多个标识,所述显示车辆预备运动的运动方式的多个标识中包含文字和/或图形。

下面继续对本发明实施例提供的一种控制车辆运动的方法进行介绍。

参见图6,图6为本发明实施例提供的控制车辆运动的方法的第二流程示意图。本发明实施例提供的一种控制车辆运动的方法,应用于客户端,包括如下步骤:

步骤210,接收scratch网页中触发用于显示运动方式的标识产生的触发指令;

步骤220,识别所述触发指令中的运动方式;

步骤230,获得所述运动方式对应的命令行,作为指定命令行;所述指定命令行用于将所述指定命令行传输给服务端,由服务端识别所述指定命令行,控制所述车辆按照所述运动方式运动。

在本发明实施例中,通过客户端的scratch网页使用用于显示运动方式的标识,也就是模块化处理,将运动方式可视化处理,并不需要用户理解服务端上的程序,方便直观显示车辆的运动方式,进而学习和理解车辆的运动方式。这样客户端接收cratch网页中触发用于显示运动方式的标识产生的触发指令,最终找到触发指令所对应的命令行,指定命令行用于服务端控制车辆按照所述运动方式运动。从而不需要用户理解程序,方便用户操作和学习,满足用户个性化需求,提高用户体验效果。

在一种可能的实现方式中,所述方法还包括:可以将指定命令行传输给服务端。此步骤进一步包括:将所述指定命令行以指定的消息格式进行打包,得到打包后的命令行;将所述打包后的命令行,通过scratch网页与服务端之间的指定通信端口,传输给服务端。

在一种可能的实现方式中,所述接收scratch网页中触发用于显示运动方式的标识产生的触发指令,包括:

获取对用于显示运动方式的标识的操作,作为触发指令。

在一种可能的实现方式中,所述接收scratch网页中触发用于显示运动方式的标识产生的触发指令,包括:

通过scratch网页与服务端之间的指定通信端口,接收由所述服务端发送的触发指令,其中,所述触发指令是通过服务端具体用于监听包含指定关键词的语音,将所述语音中的指定关键词以指定的消息格式打包得到的,所述指定关键词为与所述服务端预设关键词相匹配的关键词。

在一种可能的实现方式中,在步骤230之后,所述方法还包括::

建立用于显示车辆预备运动的运动方式的多个标识,所述显示车辆预备运动的运动方式的多个标识中包含文字和/或图形。

下面继续对本发明实施例提供的控制车辆运动的装置进行介绍。

参见图7,图7为本发明实施例提供的控制车辆运动的装置的结构示意图。本发明实施例提供的控制车辆运动的装置,所述装置包括:

接收模块21,用于接收scratch网页中触发用于显示运动方式的标识产生的触发指令;

识别模块22,用于识别所述触发指令中的运动方式;

处理模块23,用于获得所述运动方式对应的命令行,作为指定命令行;所述指定命令行用于将所述指定命令行传输给服务端,由服务端识别所述指定命令行,控制所述车辆按照所述运动方式运动。

在本发明实施例中,通过客户端的scratch网页使用用于显示运动方式的标识,也就是模块化处理,将运动方式可视化处理,并不需要用户理解服务端上的程序,方便直观显示车辆的运动方式,进而学习和理解车辆的运动方式。这样客户端接收cratch网页中触发用于显示运动方式的标识产生的触发指令,最终找到触发指令所对应的命令行,指定命令行用于服务端控制车辆按照所述运动方式运动。从而不需要用户理解程序,方便用户操作和学习,满足用户个性化需求,提高用户体验效果。

在一种可能的实现方式中,所述接收模块,具体用于:

获取对用于显示运动方式的标识的操作,作为触发指令。

在一种可能的实现方式中,所述接收模块,具体用于:

通过scratch网页与服务端之间的指定通信端口,接收由所述服务端发送的触发指令,其中,所述触发指令是通过服务端具体用于监听包含指定关键词的语音,将所述语音中的指定关键词以指定的消息格式打包得到的,所述指定关键词为与所述服务端预设关键词相匹配的关键词。

在一种可能的实现方式中,所述装置还包括:建立模块,用于建立用于显示车辆预备运动的运动方式的多个标识,所述显示车辆预备运动的运动方式的多个标识中包含文字和/或图形。

上述客户端可以应用于具有此客户端的电子设备,下面继续对本发明实施例提供的电子设备进行介绍。

本发明实施例还提供了一种电子设备,如图8所示,包括处理器31、通信接口32、存储器33和通信总线34,其中,处理器31,通信接口32,存储器33通过通信总线34完成相互间的通信,

存储器33,用于存放计算机程序;

处理器31,用于执行存储器33上所存放的程序时,实现如下步骤:

接收scratch网页中触发用于显示运动方式的标识产生的触发指令;

识别所述触发指令中的运动方式;

获得所述运动方式对应的命令行,作为指定命令行;所述指定命令行用于将所述指定命令行传输给服务端,由服务端识别所述指定命令行,控制所述车辆按照所述运动方式运动。

上述电子设备提到的通信总线可以是pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括ram(randomaccessmemory,随机存取存储器),也可以包括nvm(non-volatilememory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括cpu(centralprocessingunit,中央处理器)、np(networkprocessor,网络处理器)等;还可以是dsp(digitalsignalprocessing,数字信号处理器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明实施例提供的方法可以应用于电子设备。具体的,该电子设备可以为:台式计算机、便携式计算机及智能移动终端等。在此不作限定,任何可以实现本发明的电子设备,均属于本发明的保护范围。

本发明实施例提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的控制车辆运动的方法的步骤。

本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述的控制车辆运动的方法的步骤。

本发明实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述的控制车辆运动的方法的步骤。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/方法/电子设备/存储介质/包含指令的计算机程序产品/计算机程序实施例而言,由于其基本相似于系统实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1