本发明涉及自动驾驶,特别涉及一种自动驾驶控制方法、装置及设备。
背景技术:
目前,现有车型上的辅助驾驶模式切换逻辑如图1所示,在启动驾驶功能后,系统会发出状态切换的命令给相对应的子系统,待子系统确认模式并向系统反馈后开启辅助驾驶功能,若子系统反馈超时,系统会提示辅助驾驶功能启动失败。
功能开启后,辅助驾驶功能开始运作,当驾驶者自主关闭功能、子系统发生错误或更高优先级的功能做动时,会直接关闭系统的输入响应,当系统监测到子系统的功能退出后将关闭辅助驾驶功能。
在辅助驾驶模式下,驾驶者随时可以介入系统且优先级高于系统输入,此时,若不满足功能关闭条件,系统会持续运作。
但现有技术方案会产生如下技术问题:
在辅助驾驶模式下,当子系统接收到功能优先级高于辅助驾驶模式的控制命令时,会退出辅助驾驶模式并响应更高优先级的功能命令,如车身稳定控制命令,这对于辅助驾驶没有问题,但自动驾驶就无法满足系统需求,在自动驾驶模式下,车身稳定控制仍应有最高优先级,但在其做动时,子系统不能直接反馈关闭自动驾驶的控制命令,需内部进行仲裁处理,在车身稳定控制结束后子系统应继续执行自动驾驶的控制命令,若直接解除自动驾驶功能却无确认驾驶状态,会产生危险。
在辅助驾驶模式下,当子系统发生错误时,会退出辅助驾驶模式,这对于辅助驾驶没有问题,因为驾驶者需对车辆动态的操控负责,但自动驾驶模式就无法满足,在自动驾驶模式下,子系统需确保即使发生错误也要能持续响应系统命令,直到自动驾驶系统解除自动驾驶模式,若子系统因系统错误直接解除自动驾驶功能却无确认驾驶状态,会产生危险。
在现有逻辑策略下,当系统与驾驶者同时做动,这对于辅助驾驶模式没有问题,因为在辅助驾驶模式下驾驶者仍然需要对车辆动态的操控负责,但自动驾驶模式下,系统需要对车辆动态的操控负责,若驾驶者和系统同时对车辆系统进行操控,会存在风险。
系统需接收所有控制器的状态作为判断系统是否可以正常运行的依据,如图2所示,其判断数据量庞大且对于软件设计会有很大负担且系统的自由度降低,当控制器软件或硬件配置有所变更,其系统变更负担会增加。
技术实现要素:
针对现有技术的上述问题,本发明的目的在于提供一种自动驾驶控制方法、装置及设备,以避免因更高优先级功能介入或子系统错误造成系统直接退出自动驾驶模式以及厘清驾驶者与系统两者间的责任划分,从而降低自动驾驶风险,提高自动驾驶可靠性。
本发明第一方面提供一种自动驾驶控制方法,所述方法包括:基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式;判断是否接收到介入请求,所述介入请求包括介入功能信息;若是,判断所述介入功能信息所对应的功能是否为所述自动驾驶模式下的异常功能;若是,控制所述车辆执行安全泊车。
进一步地,在基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式之前,所述方法还包括:接收至少一个主子系统发送的运行状态信息,每一主子系统所发送的运行状态信息包括至少一个子系统的运行状态信息;基于接收的所述主子系统发送的运行状态信息判断所述车辆是否满足自动驾驶模式进入条件;若是,执行基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式的步骤。
进一步地,所述判断是否接收到介入请求包括:判断是否接收到至少一个主子系统发送的介入请求,每一主子系统所发送的介入请求包括至少一个子系统的介入请求。
进一步地,所述介入功能信息至少包括如下之一:子系统介入功能信息、驾驶者介入功能信息和子系统错误信息。
进一步地,所述方法还包括:若判断出所述介入功能信息所对应的功能不是所述自动驾驶模式下的异常功能,保持自动驾驶模式。
进一步地,所述方法还包括:当判断出所述介入功能信息所对应的功能是所述自动驾驶模式下的异常功能时,判断是否接收到所述车辆的驾驶者的接管指令;若是,控制所述车辆退出所述自动驾驶模式。
安全泊车进一步地,所述控制所述车辆执行安全泊车包括:确定所述车辆的目标泊车位置;在自动驾驶模式下控制所述车辆停入所述目标泊车位置。
本发明第二方面提供一种自动驾驶控制装置,所述装置包括:自动驾驶启动模块,用于基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式;介入请求接收模块,用于判断是否接收到介入请求,所述介入请求包括介入功能信息;介入功能信息判断模块,用于在接收到介入请求时判断所述介入功能信息所对应的功能是否为所述自动驾驶模式下的异常功能;安全控制模块,用于在所述介入功能信息所对应的功能为所述自动驾驶模式下的异常功能时,控制所述车辆执行安全泊车。
进一步地,所述装置还包括:运行状态信息接收模块,用于接收至少一个主子系统发送的运行状态信息,每一主子系统所发送的运行状态信息包括至少一个子系统的运行状态信息;进入条件判断模块,用于基于接收的所述主子系统发送的运行状态信息判断所述车辆是否满足自动驾驶模式进入条件;所述自动驾驶启动模块还用于在判断出所述车辆满足自动驾驶模式进入条件时,执基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式。
本发明第三方面提供一种自动驾驶控制设备,包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现任一所述的自动驾驶控制方法。
由于上述技术方案,本发明具有如下有益效果:
在所述介入功能信息所对应的功能为所述自动驾驶模式下的异常功能时,车辆执行相应的安全操作,而不会直接退出自动驾驶模式,从而降低了自动驾驶风险,提高了自动驾驶可靠性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是现有技术中辅助驾驶模式切换逻辑图;
图2是现有技术中自动驾驶系统接收子系统数据的模拟图;
图3是本发明实施例提供的一种自动驾驶控制方法的流程示意图;
图4是本发明实施例提供的一种自动驾驶控制方法中基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式的流程示意图;
图5是本发明实施例提供的一种自动驾驶控制方法中控制所述车辆执行安全泊车的流程示意图;
图6是本发明实施例提供的另一种自动驾驶控制方法的流程示意图;
图7是本发明实施例提供的另一种自动驾驶控制方法中的系统接收子系统数据的模拟图;
图8是本发明实施例提供的一种自动驾驶控制装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
以下介绍本发明的自动驾驶控制方法,图3是本发明实施例提供的一种自动驾驶控制方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际的自动驾驶控制装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图3所示,所述方法可以包括:
步骤s301:基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式;
在本发明实施例中,所述车辆的用户可以通过按下自动驾驶启动按键来发出所述自动驾驶启动指令,以使所述车辆进入自动驾驶模式。
在一个具体的实施例中,如图4所示,所述基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式可以包括:
步骤s401:基于用户的自动驾驶启动指令向子系统发送自动驾驶模式切换指令;
步骤s403:判断是否接收到所述子系统发送的进入自动驾驶模式的确认信息;
本发明实施例中的所述子系统包括为辅助自动驾驶所需的子系统,当所述子系统接收到系统发送自动驾驶模式切换指令,由所述子系统确认是否进入自动驾驶模式,并在确认后向系统发送子系统进入自动驾驶模式的确认信息。
步骤s405:若是,启动车辆进入自动驾驶模式。
在本发明实施例中,当在预设时间内接收到所述子系统发送的进入自动驾驶模式的确认信息,则系统响应于用户的自动驾驶启动指令进入自动驾驶模式;若子系统反馈超时,系统则提示自动驾驶启动失败。
步骤s303:判断是否接收到介入请求,所述介入请求包括介入功能信息;
在本发明实施例中,当子系统监测到介入功能信息时,由子系统向系统发出包括所述介入功能信息的介入请求,此时,子系统仍保持自动驾驶模式,不会因为功能介入而退出自动驾驶。
在本发明实施例中,所述介入功能信息至少包括如下之一:
子系统介入功能信息、驾驶者介入功能信息和子系统错误信息。
具体的,所述子系统介入功能信息可以包括不同优先级的子系统介入功能信息如更高优先级的车身稳定系统的介入功能信息,所述驾驶者介入功能信息可以包括驾驶者介入方向盘、介入油门踏板或刹车踏板等介入功能信息,所述子系统错误信息可以包括子系统故障或通讯中断等错误信息。
在一个具体的实施例中,为了减少系统负担,增加系统自由度,所述判断是否接收到介入请求可以包括:
判断是否接收到至少一个主子系统发送的介入请求,每一主子系统所发送的介入请求包括至少一个子系统的介入请求。
在本发明实施例中,所述子系统可以依据错误处理机制如备份系统所需划分成不同的组,每组子系统由一个主子系统进行介入状态信息的汇整及处理,并由该组的主子系统将包括所述介入状态信息的介入请求发送给系统,以告知系统车辆的当前状况,以确保系统能得到完整的子系统状态信息。
步骤s305:若是,判断所述介入功能信息所对应的功能是否为所述自动驾驶模式下的异常功能;
在本发明实施例中,当系统接收到介入请求时,由系统判断所述介入功能信息所对应的功能是否为所述自动驾驶模式下的异常功能,所述自动驾驶模式下的异常功能是指无法与自动驾驶并行的功能。
例如,当所述介入功能信息为驾驶者介入油门踏板的介入功能信息时,系统判断驾驶者介入油门踏板的功能信息所对应的加速功能为所述自动驾驶模式下的异常功能。
步骤s307:若是,控制所述车辆执行安全泊车。
在一个具体的实施例中,如图5所示,当判断出所述介入功能信息所对应的功能是所述自动驾驶模式下的异常功能时,为了保证驾驶安全,所述控制所述车辆执行安全泊车可以包括:
步骤s501:确定所述车辆的目标泊车位置;
步骤s503:在自动驾驶模式下控制所述车辆停入所述目标泊车位置。
在本发明实施例中,当系统判断出所述介入功能信息所对应的功能是所述自动驾驶模式下的异常功能时,例如,当系统判断出所述子系统错误信息所对应的功能是所述自动驾驶模式下的异常功能时,由于子系统具备对应的错误处理机制如备份系统,子系统仍将保持自动驾驶模式,并在系统控制下执行相应的安全泊车。
在另一些实施例中,如图6所示,为了提高自动驾驶的可靠性,以及减少系统负担,增加系统自由度,在基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式之前,所述方法还可以包括:
步骤s309:接收至少一个主子系统发送的运行状态信息,每一主子系统所发送的运行状态信息包括至少一个子系统的运行状态信息;
在本发明实施例中,如图7所示,每组子系统由一个主子系统进行子系统运行状态信息的汇整及处理,并由该组的主子系统将所述运行状态信息发送给系统,以告知系统车辆的当前状况,以确保系统能得到完整的子系统状态信息。
步骤s311:基于接收的所述主子系统发送的运行状态信息判断所述车辆是否满足自动驾驶模式进入条件;
在本发明实施例中,由系统根据接收的所述主子系统发送的运行状态信息判断子系统是否满足自动驾驶模式进入条件。
步骤s313:若是,执行基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式的步骤。
在本发明实施例中,当系统根据接收的所述主子系统发送的运行状态信息判断出子系统满足自动驾驶模式进入条件时,系统响应于用户的自动驾驶启动指令启动车辆进入自动驾驶模式;相反的,当子系统不满足自动驾驶模式进入条件时,系统提示错误模式。
在另一些实施例中,考虑到驾驶者主动接管,所述自动驾驶方法还可以包括:
当判断出所述介入功能信息所对应的功能是所述自动驾驶模式下的异常功能时,判断是否接收到所述车辆的驾驶者的接管指令;
在本发明实施例中,系统在控制所述车辆执行安全泊车时,也同时监测是否接收到所述车辆的驾驶者的接管指令。
若是,控制所述车辆退出所述自动驾驶模式。
在另一些实施例中,为了避免自动驾驶模式的频繁退出,以及为了实现进一步提高自动驾驶安全的介入功能,所述自动驾驶方法还可以包括:
若判断出所述介入功能信息所对应的功能不是所述自动驾驶模式下的异常功能,保持自动驾驶模式。
在本发明实施例中,当系统判断出所述介入功能信息所对应的功能不是所述自动驾驶模式下的异常功能时,保持自动驾驶模式,还可以在所述自动驾驶模式下执行所述介入功能信息所对应的功能。例如,当所述子系统介入功能信息为更高优先级的车身稳定介入功能信息时,系统控制所述车辆保持自动驾驶模式,并且在所述自动驾驶模式下执行所述介入功能信息所对应的车身稳定介入功能。
本发明实施例还提供了一种自动驾驶控制装置,如图8所示,所述装置包括:
自动驾驶启动模块810,用于基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式;
介入请求接收模块820,用于判断是否接收到介入请求,所述介入请求包括介入功能信息;
介入功能信息判断模块830,用于在接收到介入请求时判断所述介入功能信息所对应的功能是否为所述自动驾驶模式下的异常功能;
安全控制模块840,用于在所述介入功能信息所对应的功能为所述自动驾驶模式下的异常功能时,控制所述车辆执行安全泊车。
在另一些实施例中,所述装置还包括:
运行状态信息接收模块,用于接收至少一个主子系统发送的运行状态信息,每一主子系统所发送的运行状态信息包括至少一个子系统的运行状态信息;
进入条件判断模块,用于基于接收的所述主子系统发送的运行状态信息判断所述车辆是否满足自动驾驶模式进入条件;
所述自动驾驶启动模块还用于在判断出所述车辆满足自动驾驶模式进入条件时,执基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式。
所述的装置实施例中的装置与方法实施例基于同样的发明构思。
本发明实施例还提供了一种自动驾驶控制设备,包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现任一所述的自动驾驶控制方法。
由上述本发明提供的自动驾驶控制方法、装置或设备的实施例可见,本发明的自动驾驶控制方法、装置及设备在所述介入功能信息所对应的功能为所述自动驾驶模式下的异常功能时,车辆执行相应的安全操作,而不会直接退出自动驾驶模式,从而降低了自动驾驶风险,提高了自动驾驶可靠性。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、终端和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
1.一种自动驾驶控制方法,其特征在于,所述方法包括:
基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式;
判断是否接收到介入请求,所述介入请求包括介入功能信息;
若是,判断所述介入功能信息所对应的功能是否为所述自动驾驶模式下的异常功能;
若是,控制所述车辆执行安全泊车。
2.根据权利要求1所述的一种自动驾驶控制方法,其特征在于,在基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式之前,所述方法还包括:
接收至少一个主子系统发送的运行状态信息,每一主子系统所发送的运行状态信息包括至少一个子系统的运行状态信息;
基于接收的所述主子系统发送的运行状态信息判断所述车辆是否满足自动驾驶模式进入条件;
若是,执行基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式的步骤。
3.根据权利要求1所述的一种自动驾驶控制方法,其特征在于,所述判断是否接收到介入请求包括:
判断是否接收到至少一个主子系统发送的介入请求,每一主子系统所发送的介入请求包括至少一个子系统的介入请求。
4.根据权利要求1所述的一种自动驾驶控制方法,其特征在于,所述介入功能信息至少包括如下之一:
子系统介入功能信息、驾驶者介入功能信息和子系统错误信息。
5.根据权利要求1所述的一种自动驾驶控制方法,其特征在于,所述方法还包括:
若判断出所述介入功能信息所对应的功能不是所述自动驾驶模式下的异常功能,保持自动驾驶模式。
6.根据权利要求1所述的一种自动驾驶控制方法,其特征在于,所述方法还包括:
当判断出所述介入功能信息所对应的功能是所述自动驾驶模式下的异常功能时,判断是否接收到所述车辆的驾驶者的接管指令;
若是,控制所述车辆退出所述自动驾驶模式。
7.根据权利要求1所述的一种自动驾驶控制方法,其特征在于,所述控制所述车辆执行安全泊车包括:
确定所述车辆的目标泊车位置;
在自动驾驶模式下控制所述车辆停入所述目标泊车位置。
8.一种自动驾驶控制装置,其特征在于,所述装置包括:
自动驾驶启动模块,用于基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式;
介入请求接收模块,用于判断是否接收到介入请求,所述介入请求包括介入功能信息;
介入功能信息判断模块,用于在接收到介入请求时判断所述介入功能信息所对应的功能是否为所述自动驾驶模式下的异常功能;
安全控制模块,用于在所述介入功能信息所对应的功能为所述自动驾驶模式下的异常功能时,控制所述车辆执行安全泊车。
9.根据权利要求8所述的一种自动驾驶控制装置,其特征在于,所述装置还包括:
运行状态信息接收模块,用于接收至少一个主子系统发送的运行状态信息,每一主子系统所发送的运行状态信息包括至少一个子系统的运行状态信息;
进入条件判断模块,用于基于接收的所述主子系统发送的运行状态信息判断所述车辆是否满足自动驾驶模式进入条件;
所述自动驾驶启动模块还用于在判断出所述车辆满足自动驾驶模式进入条件时,执基于用户的自动驾驶启动指令启动车辆进入自动驾驶模式。
10.一种自动驾驶控制设备,其特征在于,包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-8任一所述的自动驾驶控制方法。
技术总结