欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 调节控制> 车辆控制方法、装置、车辆和计算机可读存储介质独创技术54525字

车辆控制方法、装置、车辆和计算机可读存储介质

2021-02-10 05:26:47

车辆控制方法、装置、车辆和计算机可读存储介质

  技术领域

  本申请涉及车辆控制技术领域,特别是涉及一种车辆控制方法、装置、车辆和计算机可读存储介质。

  背景技术

  随着车辆控制技术和人工智能技术的发展,出现了自动驾驶技术。其中,线控系统对于自动驾驶来说是不可或缺的,车辆线控系统是一种安全相关的关键性系统,它对于信息传输网络的容错性和冗余提出了很高的要求。自动驾驶车辆一般由通用型或特殊型计算单元(如电脑)作为控制信息源,通过一路或多路CAN总线、若干路数字或模拟信号等通过控制单元控制车辆线控系统。

  然而,目前的车辆控制方法,容易由于控制单元发生如卡顿、断电、系统崩溃等情况,导致自动驾驶车辆在行驶中失去控制,安全性较低。

  发明内容

  基于此,有必要针对上述技术问题,提供一种车辆控制方法、装置、车辆和计算机可读存储介质。

  一种车辆控制方法,所述方法包括:

  获取至少两个计算单元的状态信息,得到至少两个状态信息;

  基于所述至少两个状态信息及车辆的受控状态,确定对所述车辆具有控制权的控制方;所述控制方包括所述至少两个计算单元中的一个计算单元或人类;

  根据所述控制方发出的控制信息对所述车辆进行控制。

  在一个实施例中,所述基于所述至少两个状态信息及车辆的受控状态,确定对所述车辆具有控制权的控制方,包括:

  当所述受控状态为人类控制状态时,将所述人类作为所述控制方;

  当所述受控状态为自动控制状态时,基于所述至少两个状态信息确定所述至少两个计算单元中的一个计算单元,作为所述控制方。

  在一个实施例中,所述当所述受控状态为自动控制状态时,基于所述至少两个状态信息确定所述至少两个计算单元中的一个计算单元,作为所述控制方,包括:

  当所述受控状态为自动控制状态时,响应于所述状态信息携带的控制权处理请求,确定针对于所述控制权的处理类型;

  根据所述处理类型以及所述计算单元的工作状态,将所述至少两个计算单元中的一个计算单元,作为所述控制方。

  在一个实施例中,所述根据所述处理类型以及所述计算单元的工作状态,将所述至少两个计算单元中的一个计算单元,作为所述控制方,包括:

  当所述处理类型包括交出控制权,且请求交出控制权的计算单元的工作状态异常时,将其他计算单元中工作状态正常的计算单元作为候选计算单元;

  根据所述请求交出控制权的计算单元与所述候选计算单元之间的控制信息匹配关系,从所述候选计算单元中确定所述控制方。

  在一个实施例中,所述根据所述处理类型以及所述计算单元的工作状态,将所述至少两个计算单元中的一个计算单元,作为所述控制方,包括:

  当所述处理类型包括夺取控制权时,获取请求夺取控制权的计算单元以及被请求夺取控制权的计算单元的工作状态;

  当所述请求夺取控制权的计算单元的工作状态正常,且所述被请求夺取控制权的计算单元的工作状态异常,以及所述请求夺取控制权的计算单元与被请求夺取控制权的计算单元之间的控制信息相匹配时,将所述请求夺取控制权的计算单元作为所述控制方。

  在一个实施例中,根据所述处理类型以及所述计算单元的工作状态,将所述至少两个计算单元中的一个计算单元,作为所述控制方,包括:

  当所述处理类型包括夺取控制权时,获取请求夺取控制权的计算单元的工作状态;

  当所述请求夺取控制权的计算单元的工作状态正常,且车辆的自动紧急刹车功能被激活,以及所述请求夺取控制权的计算单元与被请求夺取控制权的计算单元之间的控制信息相匹配时,将所述请求夺取控制权的计算单元作为所述控制方。

  在一个实施例中,所述请求夺取控制权的计算单元的状态信息所携带的控制权夺取请求,是所述请求夺取控制权的计算单元检测到所述被请求夺取控制权的计算单元的工作状态异常时生成的。

  在一个实施例中,所述请求夺取控制权的计算单元的状态信息所携带的控制权夺取请求,是所述请求夺取控制权的计算单元检测到所述车辆的自动紧急刹车功能被激活时生成的。

  在一个实施例中,所述根据所述处理类型以及所述计算单元的工作状态,将所述至少两个计算单元中的一个计算单元,作为所述控制方,包括:

  当所述处理类型包括归还控制权时,获取请求归还控制权的计算单元的工作状态;

  当所述请求归还控制权的计算单元的工作状态正常,且所述请求归还控制权的计算单元与被请求归还控制权的计算单元的控制信息相匹配,以及所述车辆处于安全运行状态时,将所述请求归还控制权的计算单元作为所述控制方。

  在一个实施例中,所述根据所述处理类型以及所述计算单元的工作状态,将所述至少两个计算单元中的一个计算单元,作为所述控制方,包括:

  当所述处理类型包括归还控制权时,获取请求归还控制权的计算单元的工作状态;

  当所述请求归还控制权的计算单元的工作状态正常,且被请求归还控制权的计算单元已失效时,将所述请求归还控制权的计算单元作为所述控制方。

  一种车辆控制装置,包括:

  获取模块,用于获取至少两个计算单元的状态信息,得到至少两个状态信息;

  确定模块,用于基于所述至少两个状态信息及车辆的受控状态,确定对所述车辆具有控制权的控制方;所述控制方包括所述至少两个计算单元中的一个计算单元或人类;

  控制模块,用于根据所述控制方发出的控制信息对所述车辆进行控制。

  在一个实施例中,确定模块,进一步用于当所述受控状态为人类控制状态时,将所述人类作为所述控制方;当所述受控状态为自动控制状态时,基于所述至少两个状态信息确定所述至少两个计算单元中的一个计算单元,作为所述控制方。

  在一个实施例中,确定模块,进一步用于当所述受控状态为自动控制状态时,响应于所述状态信息携带的控制权处理请求,确定针对于所述控制权的处理类型;根据所述处理类型以及所述计算单元的工作状态,将所述至少两个计算单元中的一个计算单元,作为所述控制方。

  在一个实施例中,确定模块,进一步用于当所述处理类型包括交出控制权,且请求交出控制权的计算单元的工作状态异常时,将其他计算单元中工作状态正常的计算单元作为候选计算单元;根据所述请求交出控制权的计算单元与所述候选计算单元之间的控制信息匹配关系,从所述候选计算单元中确定所述控制方。

  在一个实施例中,确定模块,进一步用于当所述处理类型包括夺取控制权时,获取请求夺取控制权的计算单元以及被请求夺取控制权的计算单元的工作状态;当所述请求夺取控制权的计算单元的工作状态正常,且所述被请求夺取控制权的计算单元的工作状态异常,以及所述请求夺取控制权的计算单元与被请求夺取控制权的计算单元之间的控制信息相匹配时,将所述请求夺取控制权的计算单元作为所述控制方。

  在一个实施例中,确定模块,进一步用于当所述处理类型包括夺取控制权时,获取请求夺取控制权的计算单元的工作状态;当所述请求夺取控制权的计算单元的工作状态正常,且车辆的自动紧急刹车功能被激活,以及所述请求夺取控制权的计算单元与被请求夺取控制权的计算单元之间的控制信息相匹配时,将所述请求夺取控制权的计算单元作为所述控制方。

  在一个实施例中,所述请求夺取控制权的计算单元的状态信息所携带的控制权夺取请求,是所述请求夺取控制权的计算单元检测到所述被请求夺取控制权的计算单元的工作状态异常时生成的。

  在一个实施例中,所述请求夺取控制权的计算单元的状态信息所携带的控制权夺取请求,是所述请求夺取控制权的计算单元检测到所述车辆的自动紧急刹车功能被激活时生成的。

  在一个实施例中,确定模块,进一步用于当所述处理类型包括归还控制权时,获取请求归还控制权的计算单元的工作状态;当所述请求归还控制权的计算单元的工作状态正常,且所述请求归还控制权的计算单元与被请求归还控制权的计算单元的控制信息相匹配,以及所述车辆处于安全运行状态时,将所述请求归还控制权的计算单元作为所述控制方。

  在一个实施例中,确定模块,进一步用于当所述处理类型包括归还控制权时,获取请求归还控制权的计算单元的工作状态;当所述请求归还控制权的计算单元的工作状态正常,且被请求归还控制权的计算单元已失效时,将所述请求归还控制权的计算单元作为所述控制方。

  一种车辆,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

  获取至少两个计算单元的状态信息,得到至少两个状态信息;基于所述至少两个状态信息及车辆的受控状态,确定对所述车辆具有控制权的控制方;所述控制方包括所述至少两个计算单元中的一个计算单元或人类;根据所述控制方发出的控制信息对所述车辆进行控制。

  一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

  获取至少两个计算单元的状态信息,得到至少两个状态信息;基于所述至少两个状态信息及车辆的受控状态,确定对所述车辆具有控制权的控制方;所述控制方包括所述至少两个计算单元中的一个计算单元或人类;根据所述控制方发出的控制信息对所述车辆进行控制。

  上述车辆控制方法、装置、车辆和计算机可读存储介质,获取至少两个计算单元的状态信息,从而得到至少两个状态信息,然后基于该至少两个状态信息以及车辆的受控状态,确定出对该车辆具有控制权的控制方,该控制方可以是前述至少两个计算单元中的其中一个或者是人类,然后根据该控制方发出的控制信息对车辆进行控制。该技术方案为车辆引入至少两个计算单元,结合各计算单元的状态信息以及车辆目前所处的受控状态确定出一个控制方,由该一个控制方发出的控制信息对车辆进行控制,可以有效地降低由于计算单元卡顿、断电、硬件故障等情况下车辆失去控制的风险,提高车辆控制的安全性。

  附图说明

  图1为一个实施例中车辆控制方法的应用环境图;

  图2为一个实施例中车辆控制方法的流程示意图;

  图3为一个应用示例中车辆控制方法的流程示意图;

  图4为一个实施例中车辆控制装置的结构框图;

  图5为一个实施例中车辆的结构示意图。

  具体实施方式

  为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

  本申请提供的车辆控制方法,可以应用于如图1所示的应用环境中,图1为一个实施例中车辆控制方法的应用环境图,该应用环境可以为车辆线控系统,该车辆线控系统的架构可以基于CAN网络构建,在该车辆线控系统当中可以包括至少两个计算单元以及控制单元,该控制单元可以用于对计算单元的控制信息进行仲裁,例如通过对不同CAN信号的值、CAN信号的时序、CAN网络错误或其他错误的读取和判断,最终决定计算单元控制信号的流向,该系统可以具体由主计算单元、冗余计算单元、主线控控制单元,冗余线控控制单元等构成。

  在一个实施例中,如图2所示,图2为一个实施例中车辆控制方法的流程示意图,提供了一种车辆控制方法,以该方法如图1所示的车辆线控系统当中,包括以下步骤:

  步骤S201,获取至少两个计算单元的状态信息,得到至少两个状态信息;

  本步骤中,可以由线控控制单元接收至少两个计算单元的状态信息,得到至少两个状态信息。其中,该状态信息可以用于表征该计算单元当前的状态,该状态信息可以由前述至少两个计算单元以心跳信息的形式定时发送到线控控制单元,线控控制单元可以在每次接收到状态信息时对该状态信息进行响应,例如向各计算单元反馈相应的响应信息。

  步骤S202,基于至少两个状态信息及车辆的受控状态,确定对车辆具有控制权的控制方;

  本步骤中,该控制方可以至少两个计算单元中的一个计算单元或者人类。如图1所示,车辆在任意一个时间点可以且只能由以下三方的一方通过线控系统进行控制:人类、主计算单元和冗余计算单元。一般来说,人类的控制权永远拥有最高优先级,即当人类进行操作时,车辆的控制权必须立即交给人类,而当控制权被交给主计算单元或冗余计算单元时,控制权可以由线控控制单元根据各计算单元的状态信息(主线控控制单元或者冗余线控控制单元)进行有限度的仲裁和切换,而控制权的切换可以根据实际情况基于一定的条件进行。其中,主线控控制单元和冗余线控控制单元都可以接收到主计算单元和冗余计算单元发送的信息,而设置主线控控制单元和冗余线控控制单元可以为线控控制单元对计算单元的信息处理带来更高的可靠性,以防止其中一个线控控制单元(如主线控控制单元)失效时,另一个线控控制单元(如冗余线控控制单元)可以照常对计算单元的信息进行处理。

  在一个实施例中,步骤S202中的基于至少两个状态信息及车辆的受控状态,确定对车辆具有控制权的控制方,具体可以包括:

  当受控状态为人类控制状态时,将人类作为控制方;当受控状态为自动控制状态时,基于至少两个状态信息确定至少两个计算单元中的一个计算单元,作为控制方。

  本实施例中,线控控制单元可以首先判断车辆的受控状态是人类控制状态还是自动控制状态。如果车辆的受控状态是人类控制状态,则车辆直接受到人类的控制,无需经过计算单元控制,而出于安全考虑,人类对车辆的控制权通常要比计算单元具有更高的优先级,此时可以将人类作为对车辆具有控制权的控制方。而如果车辆的受控状态是自动控制状态,则车辆进入自动驾驶状态,可以由计算单元发出控制信息对车辆进行控制,而对车辆具有控制权的只能是前述至少两个计算单元中的其中之一,此时线控控制单元可以进一步基于各计算单元的状态信息裁定哪一个计算单元具有对车辆的控制权。

  在一个实施例中,进一步的,上述当受控状态为自动控制状态时,基于至少两个状态信息确定至少两个计算单元中的一个计算单元,作为控制方的步骤,具体可以包括:

  当受控状态为自动控制状态时,响应于状态信息携带的控制权处理请求,确定针对于控制权的处理类型;根据处理类型以及计算单元的工作状态,将至少两个计算单元中的一个计算单元,作为控制方。

  具体的,当车辆的受控状态为自动控制状态时,线控控制单元可以对各计算单元的状态信息进行分析,状态信息当中可以携带有计算单元发起的控制权处理请求,线控控制单元可以进一步对该状态信息当中携带的控制权处理请求进行响应,从而确定针对于控制权的处理类型。其中,针对于控制权的处理类型可以包括请求交出控制权、请求夺取控制权、请求归还控制权等;对应于请求交出控制权的控制权处理请求可以称为控制权交出请求,对应于请求夺取控制权的控制权处理请求可以称为控制权夺取请求,对应于请求归还控制权的控制权处理请求可以称为控制权归还请求,这些请求可以由至少一个计算单元发起并由状态信息携带,发送至线控控制单元,从而由线控控制单元对其进行响应。

  线控控制单元在确定针对于控制权的处理类型后,可以进一步根据该处理类型以及各计算单元的工作状态,将前述至少两个计算单元中的一个计算单元作为控制方。其中,计算单元的工作状态也可以携带在状态信息当中,各计算单元可以将自身的工作状态写入状态信息,定时发送给线控控制单元,从而线控控制单元可以根据状态信息感知各计算单元的工作状态,该工作状态可以包括自身是否发生工作异常等等。

  下面针对于控制权的不同处理类型,以多个实施例的方式对确定控制方的过程进行说明:

  在其中一个实施例中,上述根据处理类型以及计算单元的工作状态,将至少两个计算单元中的一个计算单元,作为控制方,具体可以包括:

  当处理类型包括交出控制权,且请求交出控制权的计算单元的工作状态异常时,将其他计算单元中工作状态正常的计算单元作为候选计算单元;根据请求交出控制权的计算单元与候选计算单元之间的控制信息匹配关系,从候选计算单元中确定控制方。

  本实施例中,当线控控制单元判断处理类型包括交出控制权时,说明当前对车辆具有控制权的一个计算单元希望将控制权交出,该计算单元可以称为请求交出控制权的计算单元。此时,可以先判断请求交出控制权的计算单元的工作是否处于异常状态,如果该请求交出控制权的计算单元的异常,说明如果继续由该请求交出控制权的计算单元继续控制车辆,则有可能影响到车辆的安全运行,由此,线控控制单元可以进一步将其他计算单元中,工作状态正常的计算单元作为候选计算单元。其中,其他计算单元可以包括前述至少两个计算单元中,除了前述请求交出控制权的计算单元以外的计算单元。该其他计算单元的数量可以是多个,然后线控控制单元依据该其他计算单元的工作状态进行初步筛选,线控控制单元可以将该其他计算单元中,工作状态正常的计算单元作为候选计算单元。可以理解,候选计算单元的数量也可以是多个,线控控制单元可以进一步对候选计算单元进行筛选,线控控制单元进一步根据请求交出控制权的计算单元与候选计算单元之间的控制信息匹配关系,从候选计算单元中选择一个作为控制方。具体的,如果线控控制单元接收到由请求交出控制权的计算单元发送的控制信息,又收到了候选计算单元发送与之对应的相同属性的控制信息,则可以确定请求交出控制权的计算单元发送的控制信息与候选计算单元发送的控制信息匹配,从而将该匹配的候选计算单元作为控制方,如果该匹配的候选计算单元的数量大于一个,则可以从中随机选择一个作为控制方,或者可以预先为各计算单元设定优先级,在选择控制方时,可根据该预先设定的优先级将各候选计算单元进行排序,将优先级高的候选计算单元作为控制方。

  在其中一个实施例中,上述根据处理类型以及计算单元的工作状态,将至少两个计算单元中的一个计算单元,作为控制方,可以包括:

  当处理类型包括夺取控制权时,获取请求夺取控制权的计算单元以及被请求夺取控制权的计算单元的工作状态;当请求夺取控制权的计算单元的工作状态正常,且被请求夺取控制权的计算单元的工作状态异常,以及请求夺取控制权的计算单元与被请求夺取控制权的计算单元之间的控制信息相匹配时,将请求夺取控制权的计算单元作为控制方。

  本实施例中,当线控控制单元判断处理类型包括夺取控制权时,说明存在至少一个计算单元希望夺取当前对车辆具有控制权的一个计算单元的控制权,该希望夺取控制权的计算单元称为请求夺取控制权的计算单元,当前对车辆具有控制权的一个计算单元称为被请求夺取控制权的计算单元。

  此时,线控控制单元可以获取请求夺取控制权的计算单元以及被请求夺取控制权的计算单元的工作状态,根据该工作状态进行控制权的处理。其中,当请求夺取控制权的计算单元的工作状态正常,且被请求夺取控制权的计算单元的工作状态异常,以及请求夺取控制权的计算单元与被请求夺取控制权的计算单元之间的控制信息相匹配时,线控控制单元可以将请求夺取控制权的计算单元作为控制方,其中,线控控制单元可以接收请求夺取控制权的计算单元以及被请求夺取控制权的计算单元发送的控制信息,如果对于所有由被请求夺取控制权的计算单元发送的控制信息,都已经接收到由请求夺取控制权的计算单元发送的对应的相同属性的控制信息,则可以确定请求夺取控制权的计算单元与被请求夺取控制权的计算单元之间的控制信息相匹配,从而可以将被请求夺取控制权的计算单元的控制权,转由请求夺取控制权的计算单元,即线控控制单元可根据请求夺取控制权的计算单元发送的控制信息对车辆进行控制。

  进一步的,前述请求夺取控制权的计算单元的状态信息所携带的控制权夺取请求,可以是该请求夺取控制权的计算单元检测到被请求夺取控制权的计算单元的工作状态异常时生成的。也就是说,各计算单元之间可以进行相互的工作状态监控,当其中至少一个计算单元检测到当前对车辆具有控制权的一个计算单元的工作状态异常时,均可以生成控制权夺取请求,通过状态信息发送给线控控制单元进行控制权的夺取处理,以提高车辆驾驶安全。

  在其中一个实施例中,上述根据处理类型以及计算单元的工作状态,将至少两个计算单元中的一个计算单元,作为控制方,可以包括:

  当处理类型包括夺取控制权时,获取请求夺取控制权的计算单元的工作状态;当请求夺取控制权的计算单元的工作状态正常,且车辆的自动紧急刹车功能被激活,以及请求夺取控制权的计算单元与被请求夺取控制权的计算单元之间的控制信息相匹配时,将请求夺取控制权的计算单元作为控制方。

  本实施例中,当线控控制单元判断处理类型包括夺取控制权时,线控控制单元可以获取请求夺取控制权的计算单元的工作状态,还可以判断车辆的自动紧急刹车(AEB)功能是否被激活,从而根据请求夺取控制权的计算单元的工作状态和自动紧急刹车功能是否被激活进行控制权处理。其中,当请求夺取控制权的计算单元的工作状态正常,且车辆的自动紧急刹车功能被激活,以及请求夺取控制权的计算单元与被请求夺取控制权的计算单元之间的控制信息相匹配时,线控控制单元可以将请求夺取控制权的计算单元作为控制方,以使请求夺取控制权的计算单元可以强制接管被请求夺取控制权的计算单元的控制权。其中,线控控制单元可以接收请求夺取控制权的计算单元以及被请求夺取控制权的计算单元发送的控制信息,如果对于所有由被请求夺取控制权的计算单元发送的控制信息,都已经接收到由请求夺取控制权的计算单元发送的对应的相同属性的控制信息,则可以确定请求夺取控制权的计算单元与被请求夺取控制权的计算单元之间的控制信息相匹配,从而在车辆的自动紧急刹车(AEB)功能被激活的情况下,可以将被请求夺取控制权的计算单元的控制权,转由请求夺取控制权的计算单元,即线控控制单元可根据请求夺取控制权的计算单元发送的控制信息对车辆进行控制。

  进一步的,前述请求夺取控制权的计算单元的状态信息所携带的控制权夺取请求,可以是请求夺取控制权的计算单元检测到车辆的自动紧急刹车功能被激活时生成的。也就是说,各计算单元可以对车辆的自动紧急刹车功能进行实时检测,以检测该自动紧急刹车功能是否处于被激活状态,当其中不具有控制权的至少一个计算单元检测到车辆的自动紧急刹车功能被激活时,均可以生成控制权夺取请求,以请求强制接管控制权,通过状态信息发送给线控控制单元进行控制权的夺取处理,以提高车辆驾驶安全。

  在其中一个实施例中,上述根据处理类型以及计算单元的工作状态,将至少两个计算单元中的一个计算单元,作为控制方,可以包括:

  当处理类型包括归还控制权时,获取请求归还控制权的计算单元的工作状态;当请求归还控制权的计算单元的工作状态正常,且请求归还控制权的计算单元与被请求归还控制权的计算单元的控制信息相匹配,以及车辆处于安全运行状态时,将请求归还控制权的计算单元作为控制方。

  本实施例中,当线控控制单元判断处理类型包括归还控制权时,说明至少两个计算单元中的其中一个计算单元(称为请求归还控制权的计算单元),希望当前对车辆具有控制权的一个计算单元(称为被请求归还控制权的计算单元)将控制权进行归还,即交由来对该车辆具有控制权的计算单元对车辆进行控制。

  此时,线控控制单元获取该请求归还控制权的计算单元的工作状态,如果线控控制单元判断该请求归还控制权的计算单元的工作状态正常,则可以进一步判断该请求归还控制权的计算单元与被请求归还控制权的计算单元的控制信息是否匹配,当对于所有由被请求归还控制权的计算单元发送的控制信息,都已经接收到由请求归还控制权的计算单元发送的对应的相同属性的控制信息,则可以确定请求归还控制权的计算单元与被请求归还控制权的计算单元之间的控制信息相匹配时,线控控制单元可以再进一步判断当前车辆是否处于安全运行状态,例如当车辆速度为0时,线控控制单元判断车辆处于安全状态,此时,线控控制单元可以将控制权从被请求归还控制权的计算单元,归还至请求归还控制权的计算单元,有该请求归还控制权的计算单元对车辆进行控制。

  在其中一个实施例中,上述根据处理类型以及计算单元的工作状态,将至少两个计算单元中的一个计算单元,作为控制方,可以包括:

  当处理类型包括归还控制权时,获取请求归还控制权的计算单元的工作状态;当请求归还控制权的计算单元的工作状态正常,且被请求归还控制权的计算单元已失效时,将请求归还控制权的计算单元作为控制方。

  本实施例中,当线控控制单元判断处理类型包括归还控制权时,线控控制单元可以获取请求归还控制权的计算单元的工作状态,如果线控控制单元判断该请求归还控制权的计算单元的工作状态正常,则可以进一步判断被请求归还控制权的计算单元是否失效(或者是否已就绪),其中,当被请求归还控制权的计算单元已失效(或者未就绪),则线控控制单元可以直接将请求归还控制权的计算单元作为控制方,也就是说,在被请求归还控制权的计算单元已失效的情况下,可以不要求车辆处于例如车辆速度为0的安全运行状态,而直接经由请求归还控制权的计算单元发起的控制权处理请求来切换控制权,以提高车辆控制的安全性。

  步骤S203,根据控制方发出的控制信息对车辆进行控制。

  本步骤主要是基于至少计算单元中的其中一个计算单元,或者人类发出的控制信息对车辆实施控制。

  上述车辆控制方法,获取至少两个计算单元的状态信息,从而得到至少两个状态信息,然后基于该至少两个状态信息以及车辆的受控状态,确定出对该车辆具有控制权的控制方,该控制方可以是前述至少两个计算单元中的其中一个或者是人类,然后根据该控制方发出的控制信息对车辆进行控制。该技术方案为车辆引入至少两个计算单元,结合各计算单元的状态信息以及车辆目前所处的受控状态确定出一个控制方,由该一个控制方发出的控制信息对车辆进行控制,可以有效地降低由于计算单元卡顿、断电、硬件故障等情况下车辆失去控制的风险,提高车辆控制的安全性。

  为了更完整阐述本申请提供的技术方案,结合图1和图3对上述车辆控制方法进行说明。

  如图1所示,CAN1(电子助力网络)可以用于连接主线控控制单元;CAN2(底盘CAN网络)可以用于连接主线控控制单元、冗余线控控制单元、主计算单元以及冗余计算单元,其中,CAN2之于主计算单元和冗余计算单元的连接可设置为可选连接;CAN3可以用于连接主计算单元、冗余计算单元和主线控控制单元,主要用于主计算单元的控制;CAN4可以用于连接主线控控制单元、冗余线控控制单元、主计算单元以及冗余计算单元,主要用于冗余计算单元的控制;CAN5(ADAS CAN网络),可以用于连接冗余计算单元,且该连接为可选连接。

  下面对用于线控系统信息仲裁时所使用的CAN信息结构进行说明:

  1、计算单元心跳信息(ADC Heartbeat message),参考表1:

  信息长度为7字节;

  信息周期为10毫秒;

  主计算单元的心跳信息ID为0x70,由主计算单元在CAN_3上发送;

  冗余计算单元的心跳信息ID为0x71,由冗余计算单元在CAN_4上发送;

  

  表1

  字节0表示计数器:计算单元发送大小在0x00-0xFF之间的计数器;

  字节1表示收到的计数器:计算单元发送最后接收到的另一计算单元发出的计数器;

  字节2表示计算单元健康情况:汇报本计算单元的健康情况;

  字节3表示CAN网络健康情况:

  Bit_0:CAN_2健康情况:1表示健康,0表示不健康。

  Bit_1:CAN_3健康情况:1表示健康,0表示不健康。

  Bit_2:CAN_4健康情况:1表示健康,0表示不健康。

  Bit_3-7:未定义。

  字节4表示控制权字节:

  Bit_0:1表示主计算单元请求交出控制权。

  Bit_1:1表示主计算请求收回控制权。

  Bit_2:未定义。

  Bit_3:未定义。

  Bit_4:1表示冗余计算单元请求夺取控制权。

  Bit_5:1表示冗余计算单元强制接管控制权。

  Bit_6:未定义。

  Bit_7:未定义。

  字节5表示当前控制状态:

  Bit_0:1表示本计算单元当前拥有控制权,0表示本计算单元不拥有控制权。

  Bit_1:未定义。

  Bit_2:未定义。

  Bit_3:未定义。

  Bit_4:1表示本计算单元当前处于远程控制模式,0表示本计算单元当前未处在远程控制模式。其中,远程控制模式属于人类控制模式的一种。

  Bit_5:未定义。

  Bit_6:未定义。

  Bit_7:未定义。

  字节6表示符合SAE J1850标准的8位CRC。

  2、线控控制单元应答信息(DBW LLC acknowledge message),参考表2:

  信息长度为5字节;

  信息ID为0x72,由主线控控制单元在CAN_3和CAN_4上发送;

  

  表2

  字节2表示控制权提示:

  若为0:人类拥有控制权

  若为1:主计算单元拥有控制权

  若为2:主计算单元远程控制拥有控制权

  若为3:冗余计算单元拥有控制权

  若为4:冗余计算单元远程控制拥有控制权

  5-7未定义。

  字节3表示CAN网络健康情况:

  Bit_0:CAN_1健康情况:1表示健康,0表示不健康。

  Bit_1:CAN_2健康情况:1表示健康,0表示不健康。

  Bit_2:CAN_3健康情况:1表示健康,0表示不健康。

  Bit_3:CAN_4健康情况:1表示健康,0表示不健康。

  Bit_4-7:未定义。

  字节4表示符合SAE J1850标准的8位CRC。

  结合图3对本应用实例中的控制权交换和仲裁的逻辑进行说明,其中,车辆在任意一个时间点可以且只能由以下三方的一方通过线控系统进行控制:人类、主计算单元和冗余计算单元。而人类的控制权拥有最高优先级,即当人类进行操作时,车辆的控制权必须立即交还给人类。但是当控制权被交给主计算单元或冗余计算单元时,控制权可以由主线控控制单元进行有限度的仲裁和切换,切换会基于一定条件。

  参考图3,图3为一个应用示例中车辆控制方法的流程示意图,其中,当控制权被交给主计算单元或冗余计算单元时,可以采用四种方式进行控制权的交换,包括主计算单元交出控制权、冗余计算单元夺取控制权、主控制单元请求归还控制权和冗余计算单元强制接管控制权,分别对这四种方式进行说明:

  S1,主计算单元交出控制权:

  当主计算单元检测到由于内部元件失效、系统卡顿、系统无法正常工作等情况时,当以下条件全部满足时,主计算单元应请求交出控制权:

  -主计算单元拥有控制权;

  -冗余计算单元的心跳信息正常(如未超时、计数器连续且正常等);

  -最后收到的冗余计算单元发送的心跳信息显示冗余计算单元健康(字节2);

  -主计算单元检测到会影响到自动驾驶继续进行的问题;

  -CAN_3和CAN_4工作正常;

  -冗余计算单元发送的控制信息和主计算单元正在发送的控制信息匹配。

  在满足所有如下条件时,主线控控制单元应该进行控制权的切换,把控制权交由冗余计算单元:

  -主计算单元拥有控制权;

  -冗余计算单元的心跳信息正常(如未超时、计数器连续且正常等);

  -最后收到的冗余计算单元发送的心跳信息显示冗余计算单元健康(字节2);

  -主计算单元检测到会影响到自动驾驶继续进行的问题;

  -CAN_3和CAN_4工作正常;

  -对于所有CAN_3上收到的由主计算单元发送的控制命令,都已经收到在CAN_4上由冗余计算单元发出的对应的相同属性的命令;

  -主计算单元在心跳信息中请求交出控制权,即字节4,bit_0(控制权字节)为1。

  主计算单元请求交出控制权过程中CAN信息的变化顺序是:

  1.主计算单元心跳信息字节4-Bit_0(控制权字节)由0变为1,代表“主控制器请求交出控制权”。

  2.如果冗余计算单元的心跳信息表示冗余控制器健康,且所有在CAN_3上由主计算单元发送的命令都已经在CAN_4上由冗余计算单元发送对应的命令,那么主线控控制单元在回应任意心跳信息所发送的应答信息中,将字节2-Bit_1(主计算单元拥有控制权)和Bit_2(主计算单元远程控制拥有控制权)写为0,将字节2-Bit_3(冗余计算单元拥有控制权)或Bit_4(冗余计算单元远程控制拥有控制权)写为1。

  3.冗余控制器心跳信息字节5-Bit_0(当前控制状态)由0变为1,代表冗余控制器确认拥有控制权。

  S2,冗余计算单元夺取控制权:

  当冗余计算单元检测到由于主计算单元工作状态异常,当以下任意条件均满足时,冗余计算单元应请求夺取控制权:

  -主计算单元拥有控制权;

  -主计算单元的心跳信息显示主计算单元不健康但是主计算单元未请求交出控制权(见S1),或主计算单元心跳信息消失超过100毫秒;

  -CAN_4工作正常;

  -冗余计算单元发送的控制信息和主计算单元正在发送的控制信息匹配。

  在满足所有如下条件时,主线控控制单元应该进行控制权的切换,把控制权交由冗余计算单元:

  -主计算单元拥有控制权;

  -冗余计算单元的心跳信息正常(如未超时、计数器连续且正常等);

  -最后收到的冗余计算单元发送的心跳信息显示冗余计算单元健康(字节2);

  -主计算单元的心跳信息显示主计算单元不健康但是主计算单元未请求交出控制权(见S1),或主计算单元心跳信息消失超过100毫秒;

  -CAN_4工作正常;

  -对于所有CAN_3上收到的由主计算单元发送的控制命令,都已经收到在CAN_4上由冗余计算单元发出的对应的相同属性的命令;

  -冗余计算单元在心跳信息中请求夺取控制权,即字节4,Bit_4(控制权字节)为1。

  冗余计算单元请求夺取控制权过程中CAN信息的变化顺序是:

  1.冗余计算单元心跳信息字节4-Bit_4(控制权字节)由0变为1,代表“冗余控制器请求夺取控制权”。

  2.如果冗余计算单元的心跳信息表示冗余控制器健康,且所有在CAN_3上由主计算单元发送的命令都已经在CAN_4上由冗余计算单元发送对应的命令,那么主线控控制单元在回应任意心跳信息所发送的应答信息中,将字节2-Bit_1(主计算单元拥有控制权)和Bit_2(主计算单元远程控制拥有控制权)写为0,将字节2-Bit_3(冗余计算单元拥有控制权)或Bit_4(冗余计算单元远程控制拥有控制权)写为1。

  3.冗余计算单元心跳信息字节5-Bit_0(当前控制状态)由0变为1,代表冗余控制器确认拥有控制权。

  S3,主计算单元请求归还控制权:

  当主计算单元从异常状态中恢复时,当以下所有条件都满足时,主计算单元应请求归还控制权:

  -冗余计算单元拥有控制权;

  -主计算单元的心跳信息显示主计算单元健康;

  -CAN_3和CAN_4工作正常;

  -主计算单元发送的控制信息和冗余计算单元正在发送的控制信息匹配;

  -车辆速度为0。

  在满足所有如下条件时,主线控控制单元应该进行控制权的切换,把控制权交由主计算单元:

  -冗余计算单元拥有控制权;

  -主计算单元的心跳信息正常(如未超时、计数器连续且正常等);

  -最后收到的主计算单元发送的心跳信息显示冗余计算单元健康(字节2);

  -CAN_3和CAN_4工作正常;

  -对于所有CAN_4上收到的由冗余计算单元发送的控制命令,都已经收到在CAN_3上由主计算单元发出的对应的相同属性的命令;

  -主计算单元在心跳信息中请求归还控制权,即字节4,Bit_1(控制权字节)为1。

  主计算单元请求归还控制权过程中CAN信息的变化顺序是:

  1.主计算单元心跳信息字节4-Bit_1(控制权字节)由0变为1,代表“主控制器请求归还控制权”。

  2.如果主计算单元的心跳信息表示主控制器健康,且所有在CAN_4上由冗余计算单元发送的命令都已经在CAN_3上由主计算单元发送对应的命令,且当前车速为0,那么主线控控制单元在回应任意心跳信息所发送的应答信息中,将字节2-Bit_3(冗余计算单元拥有控制权)和Bit_4(冗余计算单元远程控制拥有控制权)写为0,将字节2-Bit_1(主计算单元拥有控制权)或Bit_1(主计算单元远程控制拥有控制权)写为1。

  3.主控制器心跳信息字节5-Bit_0(当前控制状态)由0变为1,代表主控制器确认拥有控制权。

  S4,冗余计算单元强制接管控制权

  当冗余计算单元检测到车辆的AEB(自动紧急刹车)功能被激活时,当以下任意条件均满足时,冗余计算单元应强制接管控制权:

  -主计算单元拥有控制权;

  -CAN_4工作正常;

  -车辆的AEB(自动紧急刹车)功能被激活

  -冗余计算单元发送的控制信息和主计算单元正在发送的控制信息匹配。

  在满足所有如下条件时,主线控控制单元应该进行控制权的切换,把控制权交由冗余计算单元:

  -主计算单元拥有控制权;

  -冗余计算单元的心跳信息正常(如未超时、计数器连续且正常等);

  -最后收到的冗余计算单元发送的心跳信息显示冗余计算单元健康(字节2);

  -CAN_4工作正常;

  -对于所有CAN_3上收到的由主计算单元发送的控制命令,都已经收到在CAN_4上由冗余控制器发出的对应的相同属性的命令;

  -冗余计算单元在心跳信息中强制接管控制权,即字节4,Bit_5(控制权字节)为1。

  冗余计算单元请求夺取控制权过程中CAN信息的变化顺序是:

  1.冗余计算单元心跳信息字节4–Bit_5(控制权字节)由0变为1,代表“冗余控制器强制接管控制权”。

  2.如果冗余计算单元的心跳信息表示冗余控制器健康,且所有在CAN_3上由主计算单元发送的命令都已经在CAN_4上由冗余计算单元发送对应的命令,那么主线控控制单元在回应任意心跳信息所发送的应答信息中,将字节2–Bit_1(主计算单元拥有控制权)和Bit_2(主计算单元远程控制拥有控制权)写为0,将字节2–Bit_3(冗余计算单元拥有控制权)或Bit_4(冗余计算单元远程控制拥有控制权)写为1。

  3.冗余控制器心跳信息字节5–Bit_0(当前控制状态)由0变为1,代表冗余控制器确认拥有控制权。

  除以上方式外,应用示例还提供在特定情况下可进入线控系统紧急刹车的状态以进一步提高车辆行驶的安全性,示例性的,在以下情况下可以进入该线控系统紧急刹车的状态:

  a.在自动驾驶状态中,主计算单元和冗余计算单元皆失效;其中,在自动驾驶状态下,冗余计算单元或者主计算单元未就绪或已失效时车辆可进入接管待定状态,在接管待定状态中当冗余计算单元和主计算单元皆失效时,进入线控系统紧急刹车状态;

  b.在自动驾驶状态中,主计算单元或者冗余计算单元失效,且控制权在一预设时间段例如500毫秒内未切换到未失效的计算单元;其中,主计算单元失效时,可通过上述步骤S1或者S2由冗余计算单元接管控制权;冗余计算单元失效时,可通过步骤S3由主计算单元接管控制权;而控制权从冗余计算单元切换至主计算单元或者从主计算单元切换至冗余计算单元时,如果在例如500毫秒内未完成控制权切换,则进入线控系统紧急刹车状态;

  c.车辆平台发生故障;

  d.遥控紧急按钮被触发。

  上述应用示例,提供了当自动驾驶车辆的线控网络中的存在多个计算单元时,对线控控制信息做出仲裁以对车辆进行可靠控制的方法,通过引入冗余计算单元、冗余线控控制单元及线控信息仲裁,可以有效地降低由于计算单元卡顿、断电、硬件故障等情况下自动驾驶车辆失去控制的风险,提高车辆行驶的安全性。

  应该理解的是,虽然图2至3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

  在一个实施例中,如图4所示,图4为一个实施例中车辆控制装置的结构框图,提供了一种车辆控制装置,该车辆控制装置400可以包括:

  获取模块401,用于获取至少两个计算单元的状态信息,得到至少两个状态信息;

  确定模块402,用于基于至少两个状态信息及车辆的受控状态,确定对车辆具有控制权的控制方;控制方包括至少两个计算单元中的一个计算单元或人类;

  控制模块403,用于根据控制方发出的控制信息对车辆进行控制。

  在一个实施例中,确定模块402,进一步用于当受控状态为人类控制状态时,将人类作为控制方;当受控状态为自动控制状态时,基于至少两个状态信息确定至少两个计算单元中的一个计算单元,作为控制方。

  在一个实施例中,确定模块402,进一步用于当受控状态为自动控制状态时,响应于状态信息携带的控制权处理请求,确定针对于控制权的处理类型;根据处理类型以及计算单元的工作状态,将至少两个计算单元中的一个计算单元,作为控制方。

  在一个实施例中,确定模块402,进一步用于当处理类型包括交出控制权,且请求交出控制权的计算单元的工作状态异常时,将其他计算单元中工作状态正常的计算单元作为候选计算单元;

  根据请求交出控制权的计算单元与候选计算单元之间的控制信息匹配关系,从候选计算单元中确定控制方。

  在一个实施例中,确定模块402,进一步用于当处理类型包括夺取控制权时,获取请求夺取控制权的计算单元以及被请求夺取控制权的计算单元的工作状态;当请求夺取控制权的计算单元的工作状态正常,且被请求夺取控制权的计算单元的工作状态异常,以及请求夺取控制权的计算单元与被请求夺取控制权的计算单元之间的控制信息相匹配时,将请求夺取控制权的计算单元作为控制方。

  在一个实施例中,确定模块402,进一步用于当处理类型包括夺取控制权时,获取请求夺取控制权的计算单元的工作状态;当请求夺取控制权的计算单元的工作状态正常,且车辆的自动紧急刹车功能被激活,以及请求夺取控制权的计算单元与被请求夺取控制权的计算单元之间的控制信息相匹配时,将请求夺取控制权的计算单元作为控制方。

  在一个实施例中,请求夺取控制权的计算单元的状态信息所携带的控制权夺取请求,是请求夺取控制权的计算单元检测到被请求夺取控制权的计算单元的工作状态异常时生成的。

  在一个实施例中,请求夺取控制权的计算单元的状态信息所携带的控制权夺取请求,是请求夺取控制权的计算单元检测到车辆的自动紧急刹车功能被激活时生成的。

  在一个实施例中,确定模块402,进一步用于当处理类型包括归还控制权时,获取请求归还控制权的计算单元的工作状态;当请求归还控制权的计算单元的工作状态正常,且请求归还控制权的计算单元与被请求归还控制权的计算单元的控制信息相匹配,以及车辆处于安全运行状态时,将请求归还控制权的计算单元作为控制方。

  在一个实施例中,确定模块402,进一步用于当处理类型包括归还控制权时,获取请求归还控制权的计算单元的工作状态;当请求归还控制权的计算单元的工作状态正常,且被请求归还控制权的计算单元已失效时,将请求归还控制权的计算单元作为控制方。

  关于车辆控制装置的具体限定可以参见上文中对于车辆控制方法的限定,在此不再赘述。上述车辆控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

  在一个实施例中,提供了一种车辆,其结构图可以如图5所示,图5为一个实施例中车辆的结构示意图。该车辆包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该车辆的处理器用于提供计算和控制能力。该车辆的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该车辆的通信接口用于与外部的设备进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种车辆控制方法。该车辆的显示屏可以是液晶显示屏或者电子墨水显示屏,该车辆的输入装置可以是显示屏上覆盖的触摸层,也可以是车辆上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

  本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的车辆的限定,具体的车辆可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

  在一个实施例中,还提供了一种车辆,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各车辆控制方法实施例中的步骤。

  在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各车辆控制方法实施例中的步骤。

  本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

  以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

  以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

《车辆控制方法、装置、车辆和计算机可读存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)