本公开涉及车辆技术领域,尤其涉及一种车辆接口适配方法、装置、车载设备和存储介质。
背景技术:
针对特定的车辆,例如自动驾驶车辆,通常需要研发车辆应用的相关软件(即上层软件或上层应用),例如:针对不同车型,其采用各自对应的不同传感器等底层硬件时,几乎所有的软件功能都需要重新基于底层硬件进行适配及开发工作。由此,目前车辆上层应用与车辆底层硬件直接进行适配,当更换不同型号、类型的硬件或不同车型的车辆时,需要重新进行适配。另外,车辆底层硬件类型、数据较多,导致适配复杂度较高。极大地影响上层软件的通用性及普适性,从而使得软件研发难度较大,以及维护难度较大。
技术实现要素:
为了解决上述技术问题,本公开提供了一种车辆接口适配方法、装置、车载设备和存储介质。
本公开提供了一种车辆接口适配方法,其中,所述车辆接口为多个,该方法包括:
针对每个所述车辆接口:
基于该车辆接口获取对应的至少一个车辆底层硬件的数据;其中,该车辆接口与至少一个车辆底层硬件以及至少一个车辆上层应用相对应,且该车辆接口是对应的车辆上层应用与对应的车辆底层硬件之间进行交互的接口;
基于该车辆接口对应的上行输出数据的配置信息,将每个所述车辆底层硬件的数据转换为上行输出数据;其中,所述配置信息用于配置所述上行输出数据中包括的字段的含义和数量;
基于该车辆接口将所述上行输出数据发送给对应的至少一个车辆上层应用。
在一些实施例中,所述车辆底层硬件包括:多种类型的传感器;所述车辆接口基于传感器的类型进行设置。
在一些实施例中,针对每种类型的传感器分别设置一个车辆接口;该车辆接口对应一种类型的传感器;
所述上行输出数据的配置信息为基于同一类型的多个传感器的共有信息进行设置得到的信息。
在一些实施例中,针对产生相关信息的不同类型的传感器设置一个车辆接口;该车辆接口对应至少两种类型的传感器;
所述上行输出数据的配置信息为基于所述相关信息进行设置得到的信息。
在一些实施例中,所述上行输出数据的配置信息为基于车辆上层应用对于同一类型的传感器的数据需求进行设置得到的信息。
在一些实施例中,所述车辆底层硬件包括:执行器;所述执行器与一个车辆接口相对应。
在一些实施例中,所述车辆接口配置有多种状态,所述多种状态包括开始控制、停止控制和暂停控制;
基于所述车辆接口的当前状态切换为开始控制,将对应的车辆上层应用的控制指令发送给所述执行器;
基于所述车辆接口的当前状态切换为停止控制或暂停控制,向所述执行器发送停止指令或暂停指令。
在一些实施例中,所述车辆底层硬件包括:车身设备;针对所述车身设备设置一个车辆接口。
在一些实施例中,所述上行输出数据中包括的字段至少包括:所述车身设备的状态以及用于描述所述车身设备是否可控的标识;
其中,所述标识的值为基于所述车身设备的状态得到的值。
在一些实施例中,所述方法包括:
针对每个所述车辆接口:
基于该车辆接口获取对应的至少一个车辆上层应用的数据;
基于该车辆接口对应的下行输出数据的配置信息,将每个所述车辆上层应用的数据转换为下行输出数据;其中,所述下行输出数据的配置信息为基于该车辆接口对应的至少一个车辆底层硬件的数据要求进行设置得到的信息;
基于该车辆接口将所述下行输出数据发送给对应的至少一个车辆底层硬件。
本公开还提供了一种车辆接口适配装置,其中,所述车辆接口为多个,该装置包括:
第一获取单元,用于针对每个所述车辆接口,基于该车辆接口获取对应的至少一个车辆底层硬件的数据;其中,该车辆接口与至少一个车辆底层硬件以及至少一个车辆上层应用相对应,且该车辆接口是对应的车辆上层应用与对应的车辆底层硬件之间进行交互的接口;
第一转换单元,用于基于该车辆接口对应的上行输出数据的配置信息,将每个所述车辆底层硬件的数据转换为上行输出数据;其中,所述配置信息用于配置所述上行输出数据中包括的字段的含义和数量;
第一发送单元,用于基于该车辆接口将所述上行输出数据发送给对应的至少一个车辆上层应用。
在一些实施例中,所述车辆底层硬件包括:多种类型的传感器;所述车辆接口基于传感器的类型进行设置。
在一些实施例中,针对每种类型的传感器分别设置一个车辆接口;该车辆接口对应一种类型的传感器;
所述上行输出数据的配置信息为基于同一类型的多个传感器的共有信息进行设置得到的信息。
在一些实施例中,针对产生相关信息的不同类型的传感器设置一个车辆接口;该车辆接口对应至少两种类型的传感器;
所述上行输出数据的配置信息为基于所述相关信息进行设置得到的信息。
在一些实施例中,所述上行输出数据的配置信息为基于车辆上层应用对于同一类型的传感器的数据需求进行设置得到的信息。
在一些实施例中,所述车辆底层硬件包括:执行器;所述执行器与一个车辆接口相对应。
在一些实施例中,所述车辆接口配置有多种状态,所述多种状态包括开始控制、停止控制和暂停控制;
基于所述车辆接口的当前状态切换为开始控制,将对应的车辆上层应用的控制指令发送给所述执行器;
基于所述车辆接口的当前状态切换为停止控制或暂停控制,向所述执行器发送停止指令或暂停指令。
在一些实施例中,所述车辆底层硬件包括:车身设备;针对所述车身设备设置一个车辆接口。
在一些实施例中,所述上行输出数据中包括的字段至少包括:所述车身设备的状态以及用于描述所述车身设备是否可控的标识;
其中,所述标识的值为基于所述车身设备的状态得到的值。
在一些实施例中,所述装置包括:
第二获取单元,用于基于该车辆接口获取对应的至少一个车辆上层应用的数据;
第二转换单元,用于基于该车辆接口对应的下行输出数据的配置信息,将每个所述车辆上层应用的数据转换为下行输出数据;其中,所述下行输出数据的配置信息为基于该车辆接口对应的至少一个车辆底层硬件的数据要求进行设置得到的信息;
第二发送单元,用于基于该车辆接口将所述下行输出数据发送给对应的至少一个车辆底层硬件。
本公开还提供了一种车载设备,其中,设置多个车辆接口,每个所述车辆接口与至少一个车辆底层硬件以及至少一个车辆上层应用相对应,且每个所述车辆接口是对应的车辆上层应用与对应的车辆底层硬件之间进行交互的接口,该车载设备包括:处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行如上任一种方法的步骤。
本公开还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如上任一种方法的步骤。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供的车辆接口适配方法中,提供多个车辆接口,每个车辆接口与至少一个车辆底层硬件以及至少一个车辆上层应用相对应,且每个车辆接口是对应的车辆上层应用与对应的车辆底层硬件之间进行交互的接口,即车辆接口可作为车辆上层应用与车辆底层硬件之间进行交互的中间适配层。基于此,该方法包括:针对每个车辆接口:基于该车辆接口获取对应的至少一个车辆底层硬件的数据;基于该车辆接口对应的上行输出数据的配置信息,将每个车辆底层硬件的数据转换为上行输出数据;其中,配置信息用于配置上行输出数据中包括的字段的含义和数量;基于该车辆接口将上行输出数据发送给对应的至少一个车辆上层应用。由此,对于车辆上层应用来说,其不再直接适配车辆底层硬件,而是适配车辆接口。基于此,当车辆底层硬件或车辆本身发生变化时,只需要调整车辆接口与车辆底层硬件的对接,以输出适用于车辆上层应用的数据,即上行输出数据可保持不变,此时无需对车辆上层应用进行调整,由此可提高车辆的上层应用的通用性及普适性,即可将相同的车辆上层应用对应于不同的车辆底层硬件来使用,从而有利于降低软件研发难度,以及降低维护难度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例中基于车辆接口的底层硬件与上层应用的一种对应关系的示意图;
图2为本公开实施例中基于车辆接口的底层硬件与上层应用的另一种对应关系的示意图;
图3为本公开实施例中基于车辆接口的底层硬件与上层应用的又一种对应关系的示意图;
图4为本公开实施例中基于车辆接口的底层硬件与上层应用的又一种对应关系的示意图;
图5为本公开实施例的一种车辆接口适配方法的流程示意图;
图6为本公开实施例的另一种车辆接口适配方法的流程示意图;
图7为本公开实施例的一种车辆接口适配装置的结构示意图;
图8为本公开实施例的另一种车辆接口适配装置的结构示意图;
图9为本公开实施例的一种车载设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
随着智能驾驶技术的发展,车辆上层应用需要与车辆底层硬件进行适配,才能获取数据,并基于获取的数据对车辆进行行为决策、路径规划和控制等。
但是,目前车辆上层应用与车辆底层硬件直接进行适配,当更换不同型号、类型的车辆底层硬件或不同车型的车辆时,需要重新对车辆底层硬件与车辆上层应用之间进行适配。同时,由于车辆底层硬件的类型、数据等均较多,导致车辆上层应用于车辆底层硬件之间的适配复杂度较高,维护难度较高。
针对上述问题,本公开实施例提供一种车辆接口适配方法,通过设置车辆接口,将车辆接口作为车辆上层应用于车辆底层硬件之间进行交互的中间适配层,以实现车辆底层硬件与车辆上层应用之间的交互。针对每个车辆接口,基于该车辆接口获取对应的至少一个车辆底层硬件的数据;基于该车辆接口对应的上行输出数据的配置信息,将每个车辆底层硬件的数据转换为上行输出数据;基于该车辆接口将上行输出数据发送给对应的至少一个车辆上层应用。由此,对于车辆上层应用来说,其不再直接适配车辆底层硬件,而是适配车辆接口。基于此,当车辆底层硬件或车辆本身发生变化时,只需要调整车辆接口与车辆底层硬件的对接,以输出适用于车辆上层应用的数据,即上行输出数据可保持不变,此时无需对车辆上层应用进行调整,由此可提高车辆的上层应用的通用性及普适性,即可将相同的车辆上层应用对应于不同的车辆底层硬件来使用,从而有利于降低软件研发难度,以及降低维护难度。
下面结合图1-图9,对本公开实施例提供的车辆接口适配方法、装置、车载设备以及存储介质进行示例性说明。
在一些实施例中,图1为本公开实施例中基于车辆接口的底层硬件与上层应用的一种对应关系的示意图,图2为本公开实施例中基于车辆接口的底层硬件与上层应用的另一种对应关系的示意图,图3为本公开实施例中基于车辆接口的底层硬件与上层应用的又一种对应关系的示意图,图4为本公开实施例中基于车辆接口的底层硬件与上层应用的又一种对应关系的示意图。参照图1-图4,车辆接口01为多个,每个车辆接口01与至少一个车辆底层硬件02以及至少一个车辆上层应用03相对应,且每个车辆接口01是对应的车辆上层应用03与对应的车辆底层硬件02之间进行交互的接口。
其中,车辆接口01为车辆应用程序接口(applicationprogramminginterface,api),可为预先定义的函数,或指软件系统不同组成部分衔接的约定。示例性地,图1中示出了5个车辆接口01、图2-图4中均示出了2个车辆接口01,仅为了说明车辆接口01可实现的车辆底层硬件02与车辆上层应用03之间的对应关系,并不构成对车辆接口01的限定。
其中,车辆底层硬件02为实现具体功能的机械结构部件,例如可包括传感器、执行器或车身设备,以获取车辆运行或其他状态参数,或协同实现对车辆的运行或其他状态的控制。示例性地,图1、图2和图4中均示出了5个车辆底层硬件02,图3中示出了2个车辆底层硬件02,仅为了说明车辆底层硬件02与车辆上层应用03之间的对应关系,并不构成对车辆中车辆底层硬件02的限定。示例性地,在自动驾驶车辆中,车辆底层硬件02的种类繁多,数量庞大,可基于自动驾驶车辆的需求设置,本公开实施例对此不限定。
其中,车辆上层应用03为车辆的上层软件程序,用于基于车辆底层硬件02获取的、并经车辆接口01转换后的上行传输数据进行处理,以确定车辆的运行获取其他状态;或者用于下发控制指令,并经车辆接口01转换后,行程下行传输数据,用于控制车辆底层硬件02执行相应的操作。示例性地,图1、图3和图4中示出了5个车辆上层应用03、图2中示出了2个车辆上层应用,仅为了说明车辆上层应用03与车辆底层硬件02之间的对应关系,并不构成对车辆上层应用03的限定。示例性地,在自动驾驶车辆中,车辆上层应用03的种类繁多且数量庞大,以实现自动驾驶车辆的自动化控制,可基于自动驾驶车辆的需求设置,本公开实施例对此不做限定。
下面分别结合图1-图4,示例性地说明车辆底层硬件02与车辆上层应用03之间的对应关系。
示例性地,继续参照图1,其中示出了5个车辆接口01,5个车辆底层硬件02以及5个车辆上层应用03。其中,每个车辆接口01与一个车辆底层硬件02以及一个车辆上层应用03相对应,以实现对应的车辆上层应用03与对应的车辆底层硬件02之间进行一对一交互。
示例性地,继续参照图2,其中示出了2个车辆接口01,5个车辆底层硬件02以及2个上层应用03。其中,每个车辆接口01与一个车辆上层应用03对应,其中一个车辆接口01与3个车辆底层硬件02对应,另一个车辆接口01与2个车辆底层硬件02对应,如此可利用车辆接口01实现对应的车辆上层应用03与对应的车辆底层硬件02之间进行一对多交互。
示例性地,继续参照图3,其中示出了2个车辆接口01,2个车辆底层硬件02以及5个上层应用03。其中,每个车辆接口01与一个车辆底层硬件02对应,其中一个车辆接口01与3个车辆上层应用03对应,另一个车辆接口01与2个车辆上层应用03对应,如此可利用车辆接口01实现对应的车辆上层应用03与对应的车辆底层硬件02之间进行多对一交互。
示例性地,继续参照图4,其中示出了2个车辆接口01,5个车辆底层硬件02以及5个上层应用03。其中一个车辆接口01与3个车辆上层应用03对应,且与两个车辆底层硬件02对应;另一个车辆接口01与2个车辆上层应用03对应,且与3个车辆底层硬件03对应,如此可利用车辆接口01实现对应的车辆上层应用03与对应的车辆底层硬件02之间进行多对多交互。
基于上述图1-图4示出的,车辆接口01实现的车辆底层硬件02与车辆上层应用03之间的一对一、一对多、多对一以及多对多的交互关系,可实现车辆中基于上行传输数据的协同处理,以确定车辆的整体状态;或者基于下行传输数据实现对车辆底层硬件02的协同控制,以实现自动驾驶车辆的多维度自动化控制。
基于上述,车辆接口适配方法可用于利用车辆接口01实现对应的车辆上层应用03与对应的车辆底层硬件02之间的交互。
在一些实施例中,图5为本公开实施例的一种车辆接口适配方法的流程示意图,示出了数据上行过程中,车辆接口用于车辆底层硬件与车辆上层应用之间的交互的流程步骤。参照图5,针对每个车辆接口,该方法可包括:
s101、基于该车辆接口获取对应的至少一个车辆底层硬件的数据。
其中,车辆底层硬件可用于实时检测车辆自身、车辆周边或车辆中乘车人员的状态,得到对应的状态参数;并结合车辆底层硬件自身的参量,形成检测数据。
该步骤中,可基于与车辆接口对应的车辆底层硬件,获取对应的至少一个车辆底层硬件的数据,即根据后续数据处理需求,可获取对应的一个、两个或更多个车辆底层硬件的数据。
该步骤中,基于车辆接口获取车辆底层硬件的数据的方式可采用函数进行调用,或采用本领域技术人员可知的其他方式,本公开实施例对此不限定。
s102、基于该车辆接口对应的上行输出数据的配置信息,将每个车辆底层硬件的数据转换为上行输出数据。
其中,传输方向为由车辆底层硬件向车辆上层应用传输的数据为上行输出数据,上行传输数据中可包括车辆底层硬件检测到的车辆自身、车辆周边或车辆中乘车人员的状态相关的数据,以便后续经过车辆上层应用处理,确定对应的状态,从而便于实现实时监控。
其中,配置信息用于配置上行输出数据中包括的字段的含义和数量,用于形成可供车辆上层应用处理的上行输出数据。
该步骤中,可基于车辆接口对应的上行输出数据的配置信息,将上述s101中基于车辆接口获取的每个车辆底层硬件的数据转换为上行输出数据,为后续数据传输至车辆上层应用做准备。
该步骤中,基于车辆接口将车辆底层硬件的数据转换为上行输出数据的方式可采用特征信息提取、数据形式转换及本领域技术人员可知的其他方式,本公开实施例对此不限定。
s103、基于该车辆接口将上行输出数据发送给对应的至少一个车辆上层应用。
其中,车辆上层应用可用于对上行输出数据进行分析处理,以获得车辆自身、车辆周边或车辆中乘车人员的状态,从而实现实时监控。
该步骤中,可基于车辆上层应用与车辆接口的对应关系,基于车辆接口将上行输出数据发送给对应的至少一个车辆上层应用,即可将上行输出数据发送给一个、两个或更多个对应的车辆上层应用。
该步骤中,基于车辆接口将上行输出数据发送给车辆上层应用的方式可采用有线传输、蓝牙或其他近距离无线传输方式,本公开实施例对此不限定。
本公开实施例提供的车辆适配方法,将车辆接口作为车辆底层硬件与车辆上层应用之间的中间适配层,针对每个车辆接口,可基于该车辆接口获取对应的至少一个车辆底层硬件的数据;基于该车辆接口对应的上行输出数据的配置信息,将每个车辆底层硬件的数据转换为上行输出数据;基于该车辆接口将上行输出数据发送给对应的至少一个车辆上层应用。由此,对于车辆上层应用来说,其不再直接适配车辆底层硬件,而是适配车辆接口。基于此,当车辆底层硬件或车辆本身发生变化时,只需要调整车辆接口与车辆底层硬件的对接,以输出适用于车辆上层应用的数据,即上行输出数据可保持不变,此时无需对车辆上层应用进行调整,由此可提高车辆的上层应用的通用性及普适性,即可将相同的车辆上层应用对应于不同的车辆底层硬件来使用,从而有利于降低软件研发难度,以及降低维护难度。
下文中,以车辆底层硬件为传感器、执行器和车身设备为例,对本公开实施例提供的车辆接口适配方法进行示例性说明。
在一些实施例中,车辆底层硬件包括:多种类型的传感器;车辆接口基于传感器的类型进行设置。
其中,传感器(transducer,sensor)是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。
示例性地,应用于车辆中的传感器可包括温度传感器、湿度传感器、照度传感器、气体传感器、压力传感器、声音传感器、距离传感器、速度传感器、加速度传感器等多种不同类型的传感器,其中,距离传感器可包括毫米波雷达、超声波雷达、激光雷达等多种不同种类的雷达。
基于此,可基于传感器的类型设置车辆接口,例如可对于每种类型的传感器分别设置一个车辆接口;或者对于不同类型的、但可获得相同或相似信息(即下文中的相关信息)的传感器,可设置一个车辆接口。
在一些实施例中,针对每种类型的传感器分别设置一个车辆接口;该车辆接口对应一种类型的传感器;上行输出数据的配置信息为基于同一类型的多个传感器的共有信息进行设置得到的信息。
其中,共有信息为同一类型的传感器可检测到的用于状态表征的信息,而不包括不同传感器个体之间的差异化信息。即,通过统计同一类型传感器的型号、接入方式(包括硬件接入方式,例如总线接入或网络接入)、数据类型、功能等信息,可将同一类型传感器的特性(共性)抽取出来,作为车辆接口的输出。
示例性地,以超声波雷达为例,对于不同型号的超声波雷达,设置一个车辆接口,该车辆接口可与不同型号的超声波雷达对应,不论超声波雷达如何更换,该车辆接口输出的数据都是统一的。例如,该车辆接口输出的上行输出数据可包括:12个超声波的原始距离,还可包括车位类型、车位宽度等,以用于实现对车辆周边环境的探测,便于实现自动泊车。示例性地,车位类型、车位宽度可为具有找车位模块的超声波雷达所获取的数据。
又例如,以毫米波雷达为例,对于不同型号的毫米波雷达,设置一个车辆接口,该车辆接口输出的上行输出数据可包括:目标id、目标存在概率、横向距离、纵向距离、横向速度、纵向速度等,基于车辆驾驶需求设置。
在其他实施方式中,其他类型的传感器的车辆接口也可基于此原理设置,对于不同类型的车辆底层硬件,设置不同的车辆接口。本公开实施例对此不赘述也不限定。
在一些实施例中,针对产生相关信息的不同类型的传感器设置一个车辆接口;该车辆接口对应至少两种类型的传感器;上行输出数据的配置信息为基于相关信息进行设置得到的信息。
其中,相关信息为用于实现相同状态表征的信息。基于此,可以对产生相关信息的不同类型的车辆底层硬件,设置同一个车辆接口。
示例性地,以车辆姿态信息为例,三轴加速度传感器和高精度定位模块均可以产生车辆姿态信息。因此,可设置一个车辆接口对接这两个车辆底层硬件,以实现输出车辆姿态信息。这个车辆接口可以优先输出高精度定位模块的姿态数据,若没有高精度定位模块或高精度定位模块失效,则输出三轴加速度传感器的姿态数据。
在其他实施方式中,还可对其他不用类型,但可表征相同状态的传感器设置同一个车辆接口,本公开实施例对此不赘述也不限定。
在一些实施例中,上行输出数据的配置信息为基于车辆上层应用对于同一类型的传感器的数据需求进行设置得到的信息。
即,可根据车辆上层应用的对于传感器的数据需求,确定车辆接口输出的上行输出数据的配置信息。
例如,车辆上层应用需要采用目标级别的数据,则车辆接口需要将传感器的数据转换为目标级别的数据,并据此确定上行输出数据的配置信息,以使车辆接口可输出目标级别的数据。
在其他实施方式中,当车辆上层应用对于传感器的数据需求为其他需求时,需对应设置上行输出数据的配置信息,本公开实施例对此不赘述也不限定。
在一些实施例中,车辆底层硬件包括:执行器;执行器与一个车辆接口相对应。
其中,执行器用于实现能量转换,即在车辆上层应用的控制下,将输入的各种形式的能量转换为机械动作。自动驾驶车辆中,执行器可用于对车辆进行横向控制和/或纵向控制,其中,横向控制例如车辆的转弯,纵向控制例如车辆的启停和车速控制。
本实施例中,针对执行器设置一个车辆接口,可实现对执行器的控制。
在一些实施例中,车辆接口配置有多种状态,多种状态包括开始控制、停止控制和暂停控制;基于车辆接口的当前状态切换为开始控制,将对应的车辆上层应用的控制指令发送给执行器;基于车辆接口的当前状态切换为停止控制或暂停控制,向执行器发送停止指令或暂停指令。
即,车辆接口可提供三种状态:开始控制、停止控制和暂停控制;该车辆接口还可以传递指令,例如将车辆上层应用的控制指令传递给执行器,以使执行器进行横向控制和/或纵向控制。
示例性地,该车辆接口配置的具体实现形式可为:基于人机交互界面设置用户可触发的控制按钮,或者基于人机交互装置设置用户可触发的控制开关。自动驾驶车辆在自动驾驶过程中,用户也可以介入,即通过控制按钮或控制开关,实现对执行器的状态控制。
需要说明的是,人机交互界面或人机交互装置可设置在自动驾驶车辆中,或设置在用户移动终端,或设置在车辆远程控制中心,本公开实施例对此不限定。
在一些实施例中,车辆底层硬件包括:车身设备;针对车身设备设置一个车辆接口。
其中,车身设备包括多种类型的用于构成车身的设备,例如:各种类型的灯,包括转向灯、前照灯、雾灯、夜视灯、尾灯、危险报警灯、刹车灯、倒车灯、仪表灯、车内照明灯等,还包括车门、车窗等。
本实施例中,可以针对车身设备,设置一个车辆接口,该车辆接口可用于输出车身设备的实时状态,以实现对车身设备的监控。
在一些实施例中,上行输出数据中包括的字段至少包括:车身设备的状态以及用于描述所述车身设备是否可控的标识;其中,所述标识的值为基于车身设备的状态确定得到的值。
其中,基于车身设备的状态可确定对应的车身设备是否可控,从而可实现对车身设备的状态监控,以及进一步地实现对车身设备不可控等异常状态的提示,有利于提高行车安全性和舒适性。
在一些实施例中,图6为本公开实施例的另一种车辆接口适配方法的流程示意图,示出了数据下行过程中,车辆接口用于车辆上层应用与车辆底层硬件之间的交互的流程步骤。参照图6,针对每个车辆接口,该方法可包括:
s201、基于该车辆接口获取对应的至少一个车辆上层应用的数据。
其中,车辆上层应用的数据可包括对车辆底层硬件的控制指令。
该步骤中,可基于与车辆接口对应的车辆上层应用,获取对应的至少一个车辆上层应用的数据,即根据车辆协同控制需求,获取对应的一个、两个或更多个车辆上层应用的数据。
该步骤中,基于车辆接口获取车辆上层应用的数据的方式可采用函数进行调用,或采用本领域技术人员可知的其他方式,本公开实施例对此不限定。
s202、基于该车辆接口对应的下行输出数据的配置信息,将每个车辆上层应用的数据转换为下行输出数据。
其中,传输方向为由车辆上层应用向车辆底层硬件传输的数据为下行传输数据,下行传输数据中可包括车辆上层应用向车辆底层硬件发送的控制指令,以便实现对车辆底层硬件的控制。
其中,下行输出数据的配置信息为基于该车辆接口对应的至少一个车辆底层硬件的数据要求进行设置得到的信息,用于实现对对应的车辆底层硬件的控制。
该步骤中,可基于车辆接口对应的下行输出数据的配置信息,将上述s201中基于车辆接口获取的每个车辆上层应用的数据转换为下行输出数据,为后续数据传输至车辆底层硬件做准备。
该步骤中,基于车辆接口将车辆上层应用的数据转换为下行输出数据的方式可采用特征信息提取、数据形式转换及本领域技术人员可知的其他方式,本公开实施例对此不限定。
s203、基于该车辆接口将下行输出数据发送给对应的至少一个车辆底层硬件。
其中,车辆底层硬件用于响应于车辆上层应用下发的控制指令,实现对车辆自身、车辆周边环境或者车辆内乘车人员的状态的检测。
该步骤中,可基于车辆底层硬件与车辆接口的对应关系,基于车辆接口将下行输出数据发送给对应的至少一个车辆底层硬件,即可将下行输出数据发送给一个、两个或更多个对应的车辆底层硬件。
本公开实施例提供的车辆接口适配方法,将车辆接口作为车辆上层应用与车辆底层硬件之间的中间适配层,针对每个车辆接口,基于该车辆接口获取对应的至少一个车辆上层应用的数据;基于该车辆接口对应的下行输出数据的配置信息,将每个车辆上层应用的数据转换为下行输出数据;基于该车辆接口将下行输出数据发送给对应的至少一个车辆底层硬件。由此,对于车辆上层应用来说,其不再直接适配车辆底层硬件,而是适配车辆接口。基于此,当车辆底层硬件或车辆本身发生变化时,只需要调整车辆接口与车辆底层硬件的对接,以对应于相同的车辆上层应用,输出适用于不同车辆底层硬件的数据,即输出不同的下行输出数据,此时无需对车辆上层应用进行调整,由此可提高车辆的上层应用的通用性及普适性,即可将相同的车辆上层应用对应于不同的车辆底层硬件来使用,从而有利于降低软件研发难度,以及降低维护难度。
本公开实施例提供的车辆接口设计高度抽象,可以适配相同类型的不同型号的车辆底层硬件、或者适配不同类型的具有相关信息的车辆底层硬件;同时,本公开实施例中的车辆接口可适用于传感器、执行器和车身设备;且本公开实施例中的车辆底层硬件的接入方式不影响车辆接口设计,不同接入方式的车辆底层硬件对于车辆上层硬件提供的上行输出数据是相同的。
在上述实施方式的基础上,本公开实施例还提供了一种车辆接口适配装置,该车辆接口适配装置可用于执行上述实施方式中的任一种车辆接口适配方法。因此,该车辆接口适配装置也具有上述实施方式中的任一种车辆接口适配方法所具有的有益效果,相同之处可参照上文中对车辆接口适配方法的解释说明进行理解,下文中不再赘述。
本公开实施例提供的车辆接口适配装置,可基于车辆接口、车辆底层硬件和车辆上层应用之间的对应关系,实现基于车辆接口的、车辆底层硬件与车辆上层应用之间交互。
在一些实施例中,图7为本公开实施例的一种车辆接口适配装置的结构示意图,示出了数据上行过程中,车辆接口用于车辆底层硬件与车辆上层应用之间的交互的装置结构。参照图7,该车辆接口适配装置包括:第一获取单元301,用于针对每个车辆接口,基于该车辆接口获取对应的至少一个车辆底层硬件的数据;第一转换单元302,用于基于该车辆接口对应的上行输出数据的配置信息,将每个车辆底层硬件的数据转换为上行输出数据;其中,配置信息用于配置上行输出数据中包括的字段的含义和数量;第一发送单元303,用于基于该车辆接口将上行输出数据发送给对应的至少一个车辆上层应用。
本公开实施例提供的车辆适配装置中,第一获取单元301可针对每个车辆接口,基于该车辆接口获取对应的至少一个车辆底层硬件的数据;第一转换单元302可基于该车辆接口对应的上行输出数据的配置信息,将每个车辆底层硬件的数据转换为上行输出数据;第一发送单元303可基于该车辆接口将上行输出数据发送给对应的至少一个车辆上层应用。由此,对于车辆上层应用来说,其不再直接适配车辆底层硬件,而是适配车辆接口。基于此,当车辆底层硬件或车辆本身发生变化时,只需要调整车辆接口与车辆底层硬件的对接,以输出适用于车辆上层应用的数据,即上行输出数据可保持不变,此时无需对车辆上层应用进行调整,由此可提高车辆的上层应用的通用性及普适性,即可将相同的车辆上层应用对应于不同的车辆底层硬件来使用,从而有利于降低软件研发难度,以及降低维护难度。
在一些实施例中,图8为本公开实施例的另一种车辆接口适配装置的结构示意图,示出了数据上行过程中,车辆接口用于车辆底层硬件与车辆上层应用之间的交互的装置结构。参照图8,该车辆接口适配装置包括:第二获取单元311,用于基于该车辆接口获取对应的至少一个车辆上层应用的数据;第二转换单元312,用于基于该车辆接口对应的下行输出数据的配置信息,将每个车辆上层应用的数据转换为下行输出数据;其中,下行输出数据的配置信息为基于该车辆接口对应的至少一个车辆底层硬件的数据要求进行设置得到的信息;第二发送单元313,用于基于该车辆接口将下行输出数据发送给对应的至少一个车辆底层硬件。
本公开实施例提供的车辆接口适配装置中,第二获取单元311可基于该车辆接口获取对应的至少一个车辆上层应用的数据;第二转换单元312可基于该车辆接口对应的下行输出数据的配置信息,将每个车辆上层应用的数据转换为下行输出数据;第二发送单元313可基于该车辆接口将下行输出数据发送给对应的至少一个车辆底层硬件。由此,对于车辆上层应用来说,其不再直接适配车辆底层硬件,而是适配车辆接口。基于此,当车辆底层硬件或车辆本身发生变化时,只需要调整车辆接口与车辆底层硬件的对接,以对应于相同的车辆上层应用,输出适用于不同车辆底层硬件的数据,即输出不同的下行输出数据,此时无需对车辆上层应用进行调整,由此可提高车辆的上层应用的通用性及普适性,即可将相同的车辆上层应用对应于不同的车辆底层硬件来使用,从而有利于降低软件研发难度,以及降低维护难度。
本公开还提供了一种车载设备,其中,设置多个车辆接口,每个车辆接口与至少一个车辆底层硬件以及至少一个车辆上层应用相对应,且每个车辆接口是对应的车辆上层应用与对应的车辆底层硬件之间进行交互的接口,该车载设备包括:处理器和存储器;处理器通过调用存储器存储的程序或指令,用于执行如上任一种方法的步骤。因此,该车载设备可实现车辆上层应用对不同的车辆底层硬件的适配,通用性以及普适性较高。
在一些实施例中,图9为本公开实施例的一种车载设备的结构示意图。参照图9,该车载设备包括:
一个或多个处理器401,图9中以一个处理器401为例;
存储器402;
该车载设备还可以包括:输入装置403和输出装置404。
该车载设备中的处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图9中示例性地以通过总线连接为例示出其连接方式。
其中,存储器402作为一种非暂态计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本公开实施例中的应用程序的上述任一方法对应的程序指令/模块/单元(例如,附图7所示的第一获取单元301、第一转换单元302以及第一发送单元303;或如附图8所示的第二获取单元311、第二转换单元312以及第二发送单元313)。处理器401通过运行存储在存储器402中的软件程序、指令、单元以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据车载设备的使用所创建的数据等。
此外,存储器402可以包括高速随机存取存储器,还可以包括非暂态性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态性固态存储器件。
在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置403可用于接收输入的数字或字符信息,以及产生与车载设备的用户设置以及功能控制有关的键信号输入。
输出装置404可包括显示屏等显示设备。
示例性地,本公开实施例提供的车载设备可为车辆中的任一车载设备,本公开实施例对此不限定。
在上述实施方式的基础上,本公开还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储程序或指令,程序或指令使计算机执行如上任一种方法的步骤。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本公开实施例的上述方法可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开实施例的上述方法相关技术方案的本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例的各个方法。
在上述实施方式的基础上,本公开实施例还提供了一种自动驾驶车辆,该自动驾驶车辆可基于上述任一种车辆接口适配方法,采用车辆接口,实现车辆底层硬件与车辆上层应用之间的交互。
在其他实施方式中,自动驾驶车辆还可包括驱动机构和系统、驾舱照明、制冷制热控制机构和系统以及本领域技术人员可知的其他结构部件或控制部件,本公开实施例对此不做限定。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
1.一种车辆接口适配方法,其特征在于,所述车辆接口为多个,所述方法包括:
针对每个所述车辆接口:
基于该车辆接口获取对应的至少一个车辆底层硬件的数据;其中,该车辆接口与至少一个车辆底层硬件以及至少一个车辆上层应用相对应,且该车辆接口是对应的车辆上层应用与对应的车辆底层硬件之间进行交互的接口;
基于该车辆接口对应的上行输出数据的配置信息,将每个所述车辆底层硬件的数据转换为上行输出数据;其中,所述配置信息用于配置所述上行输出数据中包括的字段的含义和数量;
基于该车辆接口将所述上行输出数据发送给对应的至少一个车辆上层应用。
2.根据权利要求1所述的方法,其特征在于,所述车辆底层硬件包括:多种类型的传感器;所述车辆接口基于传感器的类型进行设置。
3.根据权利要求2所述的方法,其特征在于,针对每种类型的传感器分别设置一个车辆接口;该车辆接口对应一种类型的传感器;
所述上行输出数据的配置信息为基于同一类型的多个传感器的共有信息进行设置得到的信息。
4.根据权利要求2所述的方法,其特征在于,针对产生相关信息的不同类型的传感器设置一个车辆接口;该车辆接口对应至少两种类型的传感器;
所述上行输出数据的配置信息为基于所述相关信息进行设置得到的信息。
5.根据权利要求2所述的方法,其特征在于,所述上行输出数据的配置信息为基于车辆上层应用对于同一类型的传感器的数据需求进行设置得到的信息。
6.根据权利要求1所述的方法,其特征在于,所述车辆底层硬件包括:执行器;所述执行器与一个车辆接口相对应。
7.根据权利要求6所述的方法,其特征在于,所述车辆接口配置有多种状态,所述多种状态包括开始控制、停止控制和暂停控制;
基于所述车辆接口的当前状态切换为开始控制,将对应的车辆上层应用的控制指令发送给所述执行器;
基于所述车辆接口的当前状态切换为停止控制或暂停控制,向所述执行器发送停止指令或暂停指令。
8.根据权利要求1所述的方法,其特征在于,所述车辆底层硬件包括:车身设备;针对所述车身设备设置一个车辆接口。
9.根据权利要求8所述的方法,其特征在于,所述上行输出数据中包括的字段至少包括:所述车身设备的状态以及用于描述所述车身设备是否可控的标识;
其中,所述标识的值为基于所述车身设备的状态得到的值。
10.根据权利要求1所述的方法,其特征在于,所述方法包括:
针对每个所述车辆接口:
基于该车辆接口获取对应的至少一个车辆上层应用的数据;
基于该车辆接口对应的下行输出数据的配置信息,将每个所述车辆上层应用的数据转换为下行输出数据;其中,所述下行输出数据的配置信息为基于该车辆接口对应的至少一个车辆底层硬件的数据要求进行设置得到的信息;
基于该车辆接口将所述下行输出数据发送给对应的至少一个车辆底层硬件。
11.一种车辆接口适配装置,其特征在于,所述车辆接口为多个,所述装置包括:
第一获取单元,用于针对每个所述车辆接口,基于该车辆接口获取对应的至少一个车辆底层硬件的数据;其中,该车辆接口与至少一个车辆底层硬件以及至少一个车辆上层应用相对应,且该车辆接口是对应的车辆上层应用与对应的车辆底层硬件之间进行交互的接口;
第一转换单元,用于基于该车辆接口对应的上行输出数据的配置信息,将每个所述车辆底层硬件的数据转换为上行输出数据;其中,所述配置信息用于配置所述上行输出数据中包括的字段的含义和数量;
第一发送单元,用于基于该车辆接口将所述上行输出数据发送给对应的至少一个车辆上层应用。
12.根据权利要求11所述的装置,其特征在于,所述车辆底层硬件包括:多种类型的传感器;所述车辆接口基于传感器的类型进行设置。
13.根据权利要求12所述的装置,其特征在于,针对每种类型的传感器分别设置一个车辆接口;该车辆接口对应一种类型的传感器;所述上行输出数据的配置信息为基于同一类型的多个传感器的共有信息进行设置得到的信息。
14.一种车载设备,其特征在于,设置多个车辆接口,每个所述车辆接口与至少一个车辆底层硬件以及至少一个车辆上层应用相对应,且每个所述车辆接口是对应的车辆上层应用与对应的车辆底层硬件之间进行交互的接口,所述车载设备包括:处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行如权利要求1至10任一项所述方法的步骤。
15.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至10任一项所述方法的步骤。
技术总结