本发明涉及汽车技术领域,特别是涉及一种车控系统的控制方法、装置、存储介质、设备及汽车。
背景技术:
现有的车控系统(车载控制系统)中,车控指令都是由开发人员预先编写好,用户只能够通过调用车控指令或者调用之后设置车控指令的参数的方式来对汽车进行相应控制,无法根据自己的喜好编写出车控指令。而且,现有的车控指令都是基于特定的计算机语言进行编写的,对于没有系统地学习过计算机语言的用户而言,即使提供了开发环境,编写车控指令的难度仍然非常大,编写效率低。
技术实现要素:
本发明提供一种车控系统的控制方法、装置、存储介质、设备及汽车,以解决用户难以根据喜好编写车控指令的技术问题,本发明实施例能够降低车控指令编程的门槛,极大地便于用户根据喜好自主创建车控指令,提高汽车的智能化程度,进而提高用户体验。
为了解决上述技术问题,第一方面,本发明实施例提供一种车控系统的控制方法,其特征在于,所述控制方法包括:
获取用户设置的指令块组合;其中,所述指令块组合由至少一个指令块组成,每一所述指令块包括功能参数以及用户设置参数;
将所述指令块组合按照预设的第一转换关系转换为车控指令。
作为一个优选方案,所述将所述指令块组合按照预设的第一转换关系转换为车控指令,具体为:
根据所述预设的第一转换关系,从所述指令块组合中取出每一所述指令块,将每一所述指令块转换为车控指令片段,拼接所有所述车控指令片段以得到所述车控指令。
作为一个优选方案,所述预设的第一转换关系,包括:
以所述指令块组合中的所述指令块之间的前后组合顺序依次取出每一所述指令块;
以所述前后组合顺序依次拼接所有所述车控指令片段。
作为一个优选方案,所述预设的第一转换关系,包括:
以所述指令块组合中的所述指令块的执行时刻的先后顺序依次取出每一所述指令块;
以所述执行时刻的先后顺序依次拼接所有所述车控指令片段。
作为一个优选方案,所述方法还包括:
将所述车控指令加载至车控系统的本地进程,将所述指令块组合以及所述车控指令上传至云服务器。
作为一个优选方案,所述控制方法还包括:
获取汽车受控部件的设备状态信息以及环境信息;
当所述设备状态信息以及所述环境信息均为正常信息时,根据所述车控指令对所述汽车受控部件进行控制。
作为一个优选方案,所述控制方法还包括:
获取所述汽车受控部件的运行状态;
当所述运行状态未达到所述指令块组合所指示的目标运行状态时,进行车控指令错误信息推送。
作为一个优选方案,所述控制方法还包括:
将所述指令块组合按照预设的第二转换关系转换为仿真控制指令;
将所述仿真控制指令加载至车控系统的本地进程,采用预设的汽车模型,渲染所述仿真控制指令,获得渲染结果;
展示所述渲染结果。
作为一个优选方案,所述将所述指令块组合按照预设的第二转换关系转换为仿真控制指令,具体为:
根据所述预设的第二转换关系,从所述指令块组合中取出每一所述指令块,将每一所述指令块转换为仿真控制指令片段,拼接所有所述仿真控制指令片段以得到所述仿真控制指令。
作为一个优选方案,所述预设的第二转换关系,包括:
以所述指令块组合中的所述指令块之间的前后组合顺序依次取出每一所述指令块;
以所述前后组合顺序依次拼接所有所述仿真控制指令片段。
作为一个优选方案,所述预设的第二转换关系,包括:
以所述指令块组合中的所述指令块的执行时刻的先后顺序依次取出每一所述指令块;
以所述执行时刻的先后顺序依次拼接所有所述仿真控制指令片段。
作为一个优选方案,所述汽车模型为3d汽车模型。
作为一个优选方案,所述控制方法还包括:
当所述渲染结果不符合所述指令块组合所指示的预期渲染结果时,进行仿真控制指令错误信息推送。
为了解决上述技术问题,第二方面,本发明实施例提供一种车控系统的控制装置,所述控制装置包括:
指令块组合获取模块,用于获取用户设置的指令块组合;其中,所述指令块组合由至少一个指令块组成,每一所述指令块包括功能参数以及用户设置参数;
第一转换模块,用于将所述指令块组合按照预设的第一转换关系转换为车控指令。
作为一个优选方案,所述第一转换模块,具体用于:
根据所述预设的第一转换关系,从所述指令块组合中取出每一所述指令块,将每一所述指令块转换为车控指令片段,拼接所有所述车控指令片段以得到所述车控指令。
作为一个优选方案,所述预设的第一转换关系,包括:
以所述指令块组合中的所述指令块之间的前后组合顺序依次取出每一所述指令块;
以所述前后组合顺序依次拼接所有所述车控指令片段。
作为一个优选方案,所述预设的第一转换关系,包括:
以所述指令块组合中的所述指令块的执行时刻的先后顺序依次取出每一所述指令块;
以所述执行时刻的先后顺序依次拼接所有所述车控指令片段。
作为一个优选方案,所述控制装置还包括:
加载模块,用于将所述车控指令加载至车控系统的本地进程;
上传模块,用于将所述指令块组合以及所述车控指令上传至云服务器。
作为一个优选方案,所述装置还包括:
信息获取模块,用于获取汽车受控部件的设备状态信息以及环境信息;
车控指令输出模块,用于当所述设备状态信息以及所述环境信息均为正常信息时,根据所述车控指令对所述汽车受控部件进行控制。
作为一个优选方案,所述控制装置还包括:
状态获取模块,用于获取所述汽车受控部件的运行状态;
第一推送模块,用于当所述运行状态未达到所述指令块组合所指示的目标运行状态时,进行车控指令错误信息推送。
作为一个优选方案,所述控制装置还包括:
第二转换模块,用于将所述指令块组合按照预设的第二转换关系转换为仿真控制指令;
渲染模块,用于将所述仿真控制指令加载至车控系统的本地进程,采用预设的汽车模型,渲染所述仿真控制指令,获得渲染结果;
展示模块,用于展示所述渲染结果。
作为一个优选方案,所述第二转换模块,具体用于:
根据所述预设的第二转换关系,从所述指令块组合中取出每一所述指令块,将每一所述指令块转换为仿真控制指令片段,拼接所有所述仿真控制指令片段以得到所述仿真控制指令。
作为一个优选方案,所述预设的第二转换关系,包括:
以所述指令块组合中的所述指令块之间的前后组合顺序依次取出每一所述指令块;
以所述前后组合顺序依次拼接所有所述仿真控制指令片段。
作为一个优选方案,所述预设的第二转换关系,包括:
以所述指令块组合中的所述指令块的执行时刻的先后顺序依次取出每一所述指令块;
以所述执行时刻的先后顺序依次拼接所有所述仿真控制指令片段。
作为一个优选方案,所述汽车模型为3d汽车模型。
作为一个优选方案,所述控制装置还包括:
第二推送模块,用于当所述渲染结果不符合所述指令块组合所指示的预期渲染结果时,进行仿真控制指令错误信息推送。
为了解决上述技术问题,第三方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被执行时实现如第一方面任一项所述的车控系统的控制方法。
为了解决上述技术问题,第四方面,本发明实施例提供一种终端设备,所述终端设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序;
其中,所述处理器执行所述计算机程序时实现如第一方面任一项所述的车控系统的控制方法。
为了解决上述技术问题,第五方面,本发明实施例提供一种汽车,所述汽车包括如第四方面所述的终端设备。
为了解决上述技术问题,第六方面,本发明实施例提供一种服务系统,所述服务系统包括云服务器、tsp以及第一车端处理器;其中,
所述第一车端处理器,用于获取用户设置的指令块组合,将所述指令块组合按照预设的第一转换关系转换为车控指令,将所述车控指令加载至车控系统的本地进程,将所述指令块组合以及所述车控指令上传至所述云服务器;其中,所述指令块组合由至少一个指令块组成,每一所述指令块包括功能参数以及用户设置参数;
所述云服务器,用于接收所述指令块组合以及所述车控指令,对所述指令块组合以及所述车控指令进行校验,当校验通过时,通过所述tsp将校验通过结果下发至所述第一车端处理器。
作为一个优选方案,所述服务系统还包括第二车端处理器;
所述云服务器,还用于当校验通过时,通过tsp将所述指令块组合以及所述车控指令下发至所述第二车端处理器。
与现有技术相比,本发明实施例提供的一种车控系统的控制方法、装置、存储介质、设备及汽车,其有益效果在于:为用户提供了指令块,用户能够对车控指令进行可视化编程,通过拖动、组合指令块,创建出一个完整的车控指令,降低了用户自主编程对汽车进行控制的难度,从而降低了用户编程控制汽车的门槛,提高了用户体验的同时提高了汽车的适用性;而且,用户能够根据个人需求或者使用习惯创建出指令块组合,对汽车进行个性化控制,提高了用户体验的同时提高了汽车控制的智能化程度;与此同时,用户通过指令块进行编程,该编程方式本身具有极高的可拓展性,能够满足不同用户的创作愿景,进一步提高了汽车控制的智能化程度以及用户体验。
附图说明
为了更清楚地说明本发明实施例的技术特征,下面将对本发明实施例中所需要使用的附图做简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种车控系统的控制方法的一个优选实施例的流程示意图;
图2是本发明提供的一种车控系统的控制方法的另一个优选实施例的结构示意图;
图3是本发明提供的一种车控系统的控制方法的另一个优选实施例的结构示意图;
图4是本发明提供的一种车控系统的控制方法的另一个优选实施例的结构示意图;
图5是本发明提供的一种车控系统的控制方法的另一个优选实施例的结构示意图;
图6是本发明提供的一种车控系统的控制方法的另一个优选实施例的结构示意图;
图7是本发明提供的一种车控系统的控制装置的一个优选实施例的结构示意图;
图8是本发明提供的一种终端设备的一个优选实施例的结构示意图;
图9是本发明提供的一种服务系统的一个优选实施例的结构示意图;
图10是本发明提供的一种服务系统的另一个优选实施例的结构示意图。
具体实施方式
为了对本发明的技术特征、目的、效果有更加清楚的理解,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例仅用于说明本发明,但是不用来限制本发明的保护范围。基于本发明的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的其他实施例,都应属于本发明的保护范围。
在本发明的描述中,应当理解的是,本文中的编号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有顺序或者技术含义,不能理解为规定或者暗示所描述的对象的重要性。
需要说明的是,在本发明实施例中,指令块并不是直接控制汽车的受控部件的,而是需要先根据预设的转换协议,转换为汽车能够读取的车控指令,再通过车控指令对汽车的受控部件进行控制。
在本发明实施例中,指令块之间是能够进行组合的,而且是用户能够可视化组合的。作为一个举例,指令块设计为积木块形式,但本发明的实现形式不限于此,例如,还可以设计为图案形式等。当指令块为积木块形式时,用户可以通过拖动、堆积积木块的方式,将多个指令块拼接为一个指令块组合,即:通过对指令块进行拼接、堆积,组合成为一个完整的指令块组合,实现对多个汽车受控部件的联动控制。
在本发明实施例中,有些指令块与汽车的受控部件、执行动作之间具有关联对应关系,还有些指令块是用于条件判断的,还有些指令块是单纯的执行操作的,例如延时操作、循环操作等。其中,在将指令块与汽车的受控部件进行关联对应之前,需要先了解受控部件的状态。作为一个举例,汽车座椅的状态包括有前后左右移动、上下升降以及加热、按摩等状态,但本发明不限于此,例如,还可以包括膨胀、收缩等状态。那么,在进行关联对应时,则首先将受控部件模块化,并与指令块关联,然后再将受控部件的状态与指令块的功能参数进一步关联,关联之后进行测试验证,若测试效果不符合预期,则需要进行重新设计,若测试效果符合预期,则将指令块存储至指令块数据库。作为一个举例,将汽车主驾驶座椅模块化为模块1,并定义模块1的运动,其中,座椅的前后左右移动、上下升降可以认为是相对于某一个定点的运动,故可以建立变换矩阵将运动前后的位置进行对应。
图1所示为本发明提供的一种车控系统的控制方法的一个优选实施例的流程示意图。
如图1所示,所述控制方法包括如下步骤:
s10:获取用户设置的指令块组合;其中,所述指令块组合由至少一个指令块组成,每一所述指令块包括功能参数以及用户设置参数;
s20:将所述指令块组合按照预设的第一转换关系转换为车控指令。
具体实施时,本实施例首先获取用户设置的指令块组合。其中,所述指令块组合由一个或者多个指令块组成,每一个所述指令块包括功能参数,所述功能参数用于指示对应的汽车受控部件以及执行动作或者条件判断或者执行操作。每一个所述指令块还包括用户设置参数。作为一个举例,用户设置的指令块1为“打开空调器,设定温度为20℃”,其中,“空调器”为受控部件,“打开”为空调器的执行动作,“20℃”为用户设置的目标运行温度。由于汽车在执行动作不能直接读取该指令块组合的源代码,故还需要按照预设的第一转换关系,将所述指令块组合的源代码转译为汽车能够读取的车控指令。
需要说明的是,用户能够将指令块组合中的某一或者某些指令块禁用(例如,令指令块处于未激活状态),在转换时,这些被禁用的指令块会被自动跳过,只对未被禁用的指令块进行转换。
本发明实施例提供的一种车控系统的控制方法,为用户提供了指令块,用户能够对车控指令进行可视化编程,通过拖动、组合指令块,创建出一个完整的车控指令,降低了用户自主编程对汽车进行控制的难度,从而降低了用户编程控制汽车的门槛,提高了用户体验的同时提高了汽车的适用性;而且,用户能够根据个人需求或者使用习惯创建出指令块组合,对汽车进行个性化控制,提高了用户体验的同时提高了汽车控制的智能化程度;与此同时,用户通过指令块进行编程,该编程方式本身具有极高的可拓展性,能够满足不同用户的创作愿景,进一步提高了汽车控制的智能化程度以及用户体验。
在一个优选实施例中,所述将所述指令块组合按照预设的第一转换关系转换为车控指令,具体为:
根据所述预设的第一转换关系,从所述指令块组合中取出每一所述指令块,将每一所述指令块转换为车控指令片段,拼接所有所述车控指令片段以得到所述车控指令。
具体而言,每一所述指令块,都能够按照预设的转换协议,对应转换为车控指令片段,但是每一所述指令块需要单独转译。因此,在进行指令块组合的转译时,需要先将所述指令块组合中的每一所述指令块拆开,并将每一所述指令块按照预设的转换协议转换为对应的车控指令片段,然后再将所有的所述车控指令片段拼接起来得到完整的车控指令。
其中,所述预设的第一转换关系,包括:
以所述指令块组合中的所述指令块之间的前后组合顺序依次取出每一所述指令块;
以所述前后组合顺序依次拼接所有所述车控指令片段。
或者,所述预设的第一转换关系,包括:
以所述指令块组合中的所述指令块的执行时刻的先后顺序依次取出每一所述指令块;
以所述执行时刻的先后顺序依次拼接所有所述车控指令片段。
需要说明的是,用户在进行指令块的组合时,还可以设置每一所述指令块的执行时刻。作为一个举例,用户在对指令块进行编辑时,可以选择默认模式或者是时间轴模式。在所述默认模式下,无需设置每一指令块的执行时刻,所有的指令块的执行时刻均为初始时刻(具有延时的指令块除外);在所述时间轴模式下,还需要设置每一指令块的执行时刻,否则默认在初始时刻执行(具有延时的指令块除外)。
在进行指令块组合的转译时,首先判断编辑模式,若是默认模式,则以指令块组合中指令块之间的前后组合顺序依次取出每一指令块,并分别转译为对应的车控指令片段,然后再以所述前后组合顺序依次拼接所有车控指令片段,得到完整的车控指令。若是时间轴模式,则以指令块组合中指令块的执行时刻的先后顺序依次取出每一指令块,其中,若某一指令块未设置执行时刻,则提示用户进行设置,以及提示不进行设置则默认在初始时刻执行,并分别转译为对应的车控指令片段,然后再以所述执行时刻的先后顺序依次拼接所有车控指令片段,得到完整的车控指令。
作为一个举例,在默认模式下,指令块组合由指令块1、指令块2以及指令块3依次拼接组合而成。其中,指令块1的控制对象为车门,并具体选中打开左顶翼门,指令块2的控制对象为车灯,并具体选中打开左前车灯,指令块3的控制对象为座椅,并具体选中后移左后座5cm。则,首先依次取出指令块1、指令块2以及指令块3,并按照前后组合顺序将3块指令块进行排序,然后依次根据预设的转换协议生成每一块指令块对应的代码片段,即分别生成与打开左顶翼门对应的代码片段1、与打开左前灯对应的代码片段2、与后移左后座5cm的代码片段3,最后再将代码片段1、代码片段2以及代码片段3依次拼接,得到完整的车控指令。在时间轴模式下,指令块组合仍由指令块1、指令块2以及指令块3依次拼接组成而成,但是指令块1的执行时刻为5s,指令块2的执行时刻为0s,指令块3的执行时刻为3s,则首先依次取出指令块2、指令块3以及指令块1,并进行排序,然后依次根据预设的转换协议生成每一块指令块对应的代码片段,即分别生成与执行时刻为0s时打开左前灯对应的代码片段2、与执行时刻为3s时后移左后座5cm的代码片段3、与执行时刻为5s时打开左顶翼门对应的代码片段1,最后再将代码片段2、代码片段3以及代码片段1依次拼接,得到完整的车控指令。
本实施例在用户编辑指令块组合时提供了多种模式以便用户选择,能够满足用户不同的创作需求,进一步提高了汽车控制的智能化程度及用户体验。
在一个优选实施例中,所述控制方法还包括:
判断所述车控指令在执行时是否存在错误;
若存在,则找出错误并进行提示。
作为一个举例,在上述默认模式下时,由于每一指令块的执行时刻相同(具有延时的指令块除外),即在指令块的指示下,受控部件在同一时刻有可能需要执行多个操作,此时需要判断同一时刻下同一受控部件的执行操作是否存在错误,如车门同时需要打开和关闭,则可以说明执行操作存在错误,进行错误提示,并提示用户修改错误。同理,在上述时间轴模式下时,也需要判断同一时刻下同一受控部件的执行操作是否存在错误,若存在则进行错误提示,并提示用户修改错误。
在一个优选实施例中,如图2所示,在步骤s20之后,所述控制方法还包括:
s30:将所述车控指令加载至车控系统的本地进程,将所述指令块组合以及所述车控指令上传至云服务器。
其中,将车控指令加载到车控系统的本地进程,能够便于后续快速调用。
将指令块组合以及车控指令上传至云服务器,所述云服务器能够对指令块组合以及车控指令进行校验,并在校验通过时将校验通过结果下发至车控系统或者将指令块组合以及车控指令下发至其他汽车的车控系统,或者在校验未通过时将校验不通过结果下发至所述车控系统。
作为一个举例,云服务器首先判断指令块组合中的每一指令块的合法性,即指令块是否为合法指令块(云服务器已存储的当前汽车的车型对应的指令块为合法指令块)以及用户设置参数是否为合法参数(合法参数范围内的参数为合法参数),并进一步判断转译过程是否正确(云服务器对指令块组合进行一次转译,并将两次转译的结果进行比对)。在校验通过之后,将校验通过结果下发至车控系统,车控系统再从本地进程调用车控指令对汽车进行控制;或者,将指令块组合以及车控指令下发至其他汽车。
在一个优选实施例中,如图3所示,在步骤s30之后,所述控制方法还包括:
s40:获取汽车受控部件的设备状态信息以及环境信息;
s50:当所述设备状态信息以及所述环境信息均为正常信息时,根据所述车控指令对所述汽车受控部件进行控制。
具体而言,在对汽车进行相应控制之前,还需要获取汽车受控部件的设备状态信息以及环境信息,并判断两者是否为正常信息,当两者均为正常信息时,则根据车控指令对汽车受控部件进行相应控制,当两者存在异常信息时,则进行提示。
作为一个举例,需要对车门进行打开控制,但是车门的门锁结构处于反锁状态而车控系统无法自主解锁该反锁状态时,判定车门的设备状态信息为异常信息,进行提示。又比如,需要对车门进行打开控制,但是检测到车门在打开时会遇到障碍物时,则判断车门的环境信息为异常信息,并进行提示。当获取得到的车门的设备状态信息以及环境信息均为正常信息时(即不影响车控指令的正常执行时),再对车门进行相应控制。
在一个优选实施例中,如图4所示,在步骤s50之后,所述控制方法还包括:
s60:获取所述汽车受控部件的运行状态;
s70:当所述运行状态未达到所述指令块组合所指示的目标运行状态时,进行车控指令错误信息推送。
具体而言,在对汽车受控部件进行了相应控制之后,本实施例还进一步获取汽车受控部件的运行状态,并检测是否达到了指令块组合所指示的目标运行状态,当未达到所述指令块组合所指示的目标运行状态时,则进行车控指令错误信息推送。
作为一个举例,当需要对空调器进行控制时,指令块组合所指示的空调器的运行温度为18℃,但是执行了车控指令之后,检测到空调器的运行温度为26℃,则说明空调器的运行温度未达到所述指令块组合所指示的目标运行温度,说明车控指令有误,并进行车控指令错误信息推送,当推送至用户时,用户能够重新设定运行温度或者重新选择指令块组合,当推送至管理人员时,管理人员能够及时找出问题所在并进行修复。
在一个优选实施例中,如图5所示,所述控制方法还包括:
s80:将所述指令块组合按照预设的第二转换关系转换为仿真控制指令;
s90:将所述仿真控制指令加载至车控系统的本地进程,采用预设的汽车模型,渲染所述仿真控制指令,获得渲染结果;
s100:展示所述渲染结果。
其中,步骤s80~s100与步骤s20~s50可以是同步执行,也可以是不同步执行。
需要说明的是,在本实施例中,指令块组合除了能够转译为车控指令外,还能够转译为仿真控制指令。并通过api接口调用预设的汽车模型,通过汽车模型渲染所述仿真控制指令,获得与所述指令块组合对应的效果动画和/或效果图,并在车控系统的显示页面进行展示。
作为一个举例,用户选定了一个指令块组合,并使用该指令块组合对汽车进行控制时,同步将该指令块组合转换为车控指令和仿真控制指令,并在车控指令执行的过程中,将其控制效果同步在车控系统的显示界面通过汽车模型进行展示。
作为另一个举例,所述指令块组合包括:指示汽车1通过isd智能交互系统投影显示读秒倒计时的指令块4,和指示汽车2通过isd智能交互系统投影显示求婚视频的指令块5,其中,指令块5的执行时间在指令块4之后(如,指令块4的执行时刻为0,总执行时间为10s,则指令块5的执行时刻在10s之后)。此时,将指令块4、指令块5以转换仿真控制指令,再对汽车模型进行渲染,得到两辆汽车一辆投影显示读秒倒计时、另一辆在读秒结束之后投影显示求婚视频的展示动画。
作为另一个举例,用户选定了一个指令块组合,但是并不希望直接使用该指令块组合对汽车进行控制而是先观察其控制效果时,则先将该指令块组合转换为仿真控制指令,在显示界面通过汽车模型展示其控制效果,若用户对控制效果满意,则可以继续将该指令块组合转换为车控指令,并对汽车进行控制(可以理解的,此时显示界面可以同步展示,或者取消展示)。
在本实施例中,用户能够将指令块的渲染效果通过汽车模型进行实时可视化展示,便于用户观察指令块组合的实际控制效果,从而对编程进行调整,进一步提高了汽车控制的智能化程度,而且提高了用户体验。
在一个优选实施例中,所述将所述指令块组合按照预设的第二转换关系转换为仿真控制指令,具体为:
根据所述预设的第二转换关系,从所述指令块组合中取出每一所述指令块,将每一所述指令块转换为仿真控制指令片段,拼接所有所述仿真控制指令片段以得到所述仿真控制指令。
需要说明的是,与车控指令对应的,仿真控制指令也具有一套转换协议,两套转换协议之间独立工作,互不干扰。
具体而言,在将指令块组合转译为仿真控制指令的过程中,先将所述指令组合中的每一所述指令块拆开,并将每一所述指令块按照预设的转换协议转换为对应的仿真控制指令片段,然后再将所有的仿真控制指令片段拼接起来得到完整的仿真控制指令。
其中,所述预设的第二转换关系,包括:
以所述指令块组合中的所述指令块之间的前后组合顺序依次取出每一所述指令块;
以所述前后组合顺序依次拼接所有所述仿真控制指令片段。
或者,所述预设的第二转换关系,包括:
以所述指令块组合中的所述指令块的执行时刻的先后顺序依次取出每一所述指令块;
以所述执行时刻的先后顺序依次拼接所有所述仿真控制指令片段。
与指令块组合转译为车控指令同理,转译为仿真控制指令时,也需要首先判断编辑模式,若是默认模式,则以指令块组合中指令块之间的前后组合顺序依次取出每一指令块,并分别转译为对应的仿真控制指令片段,然后再以前后组合顺序依次拼接所有仿真控制指令片段,得到完整的仿真控制指令。若是时间轴模式,则以指令块组合中指令块的执行时刻的先后顺序依次取出每一指令块,其中,若某一指令块未设置执行时刻,则提示用户进行设置,以及提示不进行设置则默认在初始时刻执行,并分别转译为对应的仿真控制指令片段,然后再以执行时刻的先后顺序依次拼接所有仿真控制指令片段,得到完整的仿真控制指令。
在一个优选实施例中,所述汽车模型为3d汽车模型。
其中,所述3d汽车模型包括车内3d模型以及车外3d模型,车内3d模型展示的为能够在车内观察到的控制效果,车外3d模型展示的为能够从车外观察到的控制效果,所述车内3d模型与所述车外3d模型能够同步展示控制效果。
在一个优选实施例中,如图6所示,在步骤s100之后,所述控制方法还包括:
s110:当所述渲染结果不符合所述指令块组合所指示的预期渲染结果时,进行仿真控制指令错误信息推送。
具体而言,通过3d汽车模型对仿真控制指令进行渲染之后,会得到一个渲染结果,该渲染结果展示了3d汽车模型的各组件在仿真控制指令被执行后的状态,将该渲染结果与指令块组合所指示的预期渲染结果进行对比,能够判断仿真控制指令是否有误。
作为一个举例,指令块组合所指示的预期渲染结果为左前门、右前门、左后门以及右后门均打开,但是在最后得到的渲染结果中仅有左前门和右前门打开了,说明仿真控制指令有误,并进行仿真控制指令错误信息推送,当推送至用户时,用户能够重新设定,当推送至管理人员时,管理人员能够及时找出问题所在并进行修复。
在一个优选实施例中,所述控制方法还包括:
s111:为所述渲染结果添加时间进度条。
具体而言,当所述渲染结果的展现形式为动画时,则为该动画添加时间进度条,便于用户进行定位阅览。
在一个优选实施例中,所述控制方法还包括:
s112:响应于指令块新建请求,获取新建指令块的功能参数,并对所述新建指令块的功能参数进行校验,校验通过时,将所述新建指令块进行存储。
其中,校验过程主要判断新建指令块与已有指令块是否相同。
在本实施例中,用户能够根据不同使用习惯新建出个性化的指令块,进一步提高了汽车控制的智能化程度,而且提高了用户体验。
在一个优选实施例中,所述控制方法还包括:
s113:响应于指令块重命名请求,获取重命名指令块的新名称,判断所述新名称是否已存在,若是,则进行提示,若否,则更新所述重命名指令块的名称。
其中,在重命名时,本实施例还提供多语种、多字体、多字形、多字号、多字体颜色,并提供预览,但本实施例不限于此。
在本实施例中,用户能够根据不同使用习惯对指令块进行重命名,进一步提高了用户体验。
在一个优选实施例中,所述控制方法还包括:
s114:响应于指令块删除请求,获取用户选定的待删除指令块,删除所述待删除指令块。
其中,在删除之前,还可以提示用户或者开发人员该指令块实现的功能,以便用户或者开发人员创建新的指令块或者取消删除。进一步的,在删除之后,还可以将该待删除指令块保留至回收站。
在本实施例中,用户能够根据不同使用习惯对指令块进行删除,同样提高了用户体验。
应当理解,本发明实现上述车控系统的控制方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述车控系统的控制方法的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
图7所示为本发明提供的一种车控系统的控制装置的一个优选实施例的结构示意图,所述控制装置能够实现上述任一实施例所述的车控系统的控制方法的全部流程以及达到相应的技术效果。
如图7所示,所述控制装置包括:
指令块组合获取模块71,用于获取用户设置的指令块组合;其中,所述指令块组合由至少一个指令块组成,每一所述指令块包括功能参数以及用户设置参数;
第一转换模块72,用于将所述指令块组合按照预设的第一转换关系转换为车控指令。
在一个优选实施例中,所述第一转换模块72,具体用于:
根据所述预设的第一转换关系,从所述指令块组合中取出每一所述指令块,将每一所述指令块转换为车控指令片段,拼接所有所述车控指令片段以得到所述车控指令。
在一个优选实施例中,所述预设的第一转换关系,包括:
以所述指令块组合中的所述指令块之间的前后组合顺序依次取出每一所述指令块;
以所述前后组合顺序依次拼接所有所述车控指令片段。
或者,所述预设的第一转换关系,包括:
以所述指令块组合中的所述指令块的执行时刻的先后顺序依次取出每一所述指令块;
以所述执行时刻的先后顺序依次拼接所有所述车控指令片段。
在一个优选实施例中,所述控制装置还包括:
指令错误判断模块,用于判断所述车控指令在执行时是否存在错误;
指令错误提示模块,用于当所述车控指令在执行时存在错误时,找出错误并进行提示。
在一个优选实施例中,所述控制装置还包括:
加载模块73,用于将所述车控指令加载至车控系统的本地进程;
上传模块74,用于将所述指令块组合以及所述车控指令上传至云服务器。
在一个优选实施例中,所述控制装置还包括:
信息获取模块75,用于获取汽车受控部件的设备状态信息以及环境信息;
车控指令输出模块76,用于当所述设备状态信息以及所述环境信息均为正常信息时,根据所述车控指令对所述汽车受控部件进行控制。
在一个优选实施例中,所述控制装置还包括:
状态获取模块77,用于获取所述汽车受控部件的运行状态;
第一推送模块78,用于当所述运行状态未达到所述指令块组合所指示的目标运行状态时,进行车控指令错误信息推送。
在一个优选实施例中,所述控制装置还包括:
第二转换模块79,用于将所述指令块组合按照预设的第二转换关系转换为仿真控制指令;
渲染模块710,用于将所述仿真控制指令加载至车控系统的本地进程,采用预设的汽车模型,渲染所述仿真控制指令,获得渲染结果;
展示模块711,用于展示所述渲染结果。
在一个优选实施例中,所述第二转换模块79,具体用于:
根据所述预设的第二转换关系,从所述指令块组合中取出每一所述指令块,将每一所述指令块转换为仿真控制指令片段,拼接所有所述仿真控制指令片段以得到所述仿真控制指令。
在一个优选实施例中,所述预设的第二转换关系,包括:
以所述指令块组合中的所述指令块之间的前后组合顺序依次取出每一所述指令块;
以所述前后组合顺序依次拼接所有所述仿真控制指令片段。
或者,所述预设的第二转换关系,包括:
以所述指令块组合中的所述指令块的执行时刻的先后顺序依次取出每一所述指令块;
以所述执行时刻的先后顺序依次拼接所有所述仿真控制指令片段。
在一个优选实施例中,所述汽车模型为3d汽车模型。
其中,所述3d汽车模型包括车内3d模型以及车外3d模型。
在一个优选实施例中,所述控制装置还包括:
第二推送模块712,用于当所述渲染结果不符合所述指令块组合所指示的预期渲染结果时,进行仿真控制指令错误信息推送。
在一个优选实施例中,所述控制装置还包括:
时间进度条添加模块713,用于为所述渲染结果添加时间进度条。
在一个优选实施例中,所述控制装置还包括:
指令块新建模块714,用于响应于指令块新建请求,获取新建指令块的功能参数,并对所述新建指令块的功能参数进行校验,校验通过时,将所述新建指令块进行存储。
在一个优选实施例中,所述控制装置还包括:
指令块重命名模块715,用于响应于指令块重命名请求,获取重命名指令块的新名称,判断所述新名称是否已存在,若是,则进行提示,若否,则更新所述重命名指令块的名称。
在一个优选实施例中,所述控制装置还包括:
指令块删除模块716,用于响应于指令块删除请求,获取用户选定的待删除指令块,删除所述删除指令块。
图8所示为本发明提供的一种终端设备的一个优选实施例的结构示意图,所述设备能够实现上述任一实施例所述的车控系统的控制方法的全部流程以及达到相应的技术效果。
如图8所示,所述终端设备包括:
存储器81,用于存储计算机程序;
处理器82,用于执行所述计算机程序;
其中,所述存储器81中存储有计算机程序,所述计算机程序被配置为由所述处理82执行,且被所述处理器8执行时实现如上述任一实施例所述的车控系统的控制方法。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器81中,并由所述处理器82执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。
所称处理器82可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器81可用于存储所述计算机程序和/或模块,所述处理器82通过运行或执行存储在所述存储器81内的计算机程序和/或模块,以及调用存储在所述存储器81内的数据,实现所述终端设备的各种功能。所述存储器81可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,所述存储器131可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
需要说明的是,上述终端设备包括,但不仅限于,处理器、存储器,本领域技术人员可以理解,图8结构示意图仅仅是上述终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多部件,或者组合某些部件,或者不同的部件。
相应的,本发明实施例提供一种汽车,所述汽车包括上述实施例所述的终端设备。
图9所示为本发明提供的一种服务系统的一个优选实施例的结构示意图,所述服务系统能够实现上述任一实施例所述的车控系统的控制方法的全部流程以及达到相应的技术效果。
如图9所示,所述服务系统包括云服务器91、tsp92以及第一车端处理器93;其中,
所述第一车端处理器93,用于获取用户设置的指令块组合,将所述指令块组合按照预设的第一转换关系转换为车控指令,将所述车控指令加载至车控系统的本地进程,将所述指令块组合以及所述车控指令上传至所述云服务器91;其中,所述指令块组合由至少一个指令块组成,每一所述指令块包括功能参数以及用户设置参数;
所述云服务器91,用于接收所述指令块组合以及所述车控指令,对所述指令块组合以及所述车控指令进行校验,当校验通过时,通过所述tsp92将校验通过结果下发至所述第一车端处理器93。
其中,所述车端处理器还能够执行上述任一实施例所述的车控系统的控制方法的全部流程。
具体而言,所述云服务器91通过如下步骤对所述指令块以及所述车控指令进行校验:
判断所述指令块组合中的每一指令块的是否为合法指令块;
若是,则判断每一指令块对应的用户设置参数是否为合法参数;
若是,则判断所述车控指令是否由所述指令块组合转译而来;
若是,则判定校验通过。
在一个优选实施例中,如图10所示,所述服务系统还包括第二车端处理器94;
所述云服务器91,还用于当校验通过时,通过tsp92将所述指令块组合以及所述车控指令下发至所述第二车端处理器94。
其中,所述第二车端处理器可由所述第一车端处理器进行选择。
作为一个举例,用户在所述第一车端处理器编写了一套汽车之间的灯光联动指令块组合,为了达到联动控制,还需要另外三辆汽车进行配合,则指定亲友的汽车,通过所述云服务器将所述灯光联动指令块组合下发至亲友的汽车,然后再实现联动控制。
作为另一个举例,用户在所述第一车端处理器编写了一套汽车之间的灯光联动指令块组合,亲友对该灯光联动指令块组合进行下载之后,所述用户可以选中亲友的汽车的显示界面,并将所述灯光联动指令块组合的控制效果在选中的显示界面进行展示,便于用户及亲友同步观察展示效果,进行指令块组合的修改或者确认。
本实施例的指令块组合以及车控指令能够通过云服务器下发至其他汽车,能够满足用户的不同需求,极大地提高了用户体验。
以上所述,仅是本发明的优选实施方式,但本发明的保护范围并不局限于此,应当指出,对于本领域技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干等效的明显变型方式和/或等同替换方式,这些明显变型方式和/或等同替换方式也应视为本发明的保护范围。