一种自动驾驶控制方法、装置、设备及存储介质与流程

文档序号:32998769发布日期:2023-01-18 00:41阅读:29来源:国知局
一种自动驾驶控制方法、装置、设备及存储介质与流程

1.本发明涉及车辆技术领域,具体为一种自动驾驶控制方法、装置、设备及存储介质。


背景技术:

2.随着智能汽车中的电子技术日趋复杂,系统失效和硬件随机失效的风险也越来越大。因此,全面识别这些风险,并且采取相应的措施将风险消除或控制在可接受范围之内,成为汽车工业和it业的新的挑战。在l2级别以下的辅助驾驶功能中,在自动驾驶功能开启时,需要驾驶人手握方向盘,但是,一旦上升到了l3级别的自动驾驶系统,需要进行冗余设计,因为在l3级别的自动驾驶系统中,允许驾驶员的手长时间脱离方向盘,也不用时刻观察注意道路状况。在自动驾驶场景中,从自动驾驶系统出现失效,到驾驶员反应过来去接管控制,是存在一定时间间隔的,在此期间存在安全隐患。


技术实现要素:

3.为了克服现有技术存在的缺点与不足,本发明公开一种自动驾驶控制方法、装置、设备及存储介质,在自动驾驶场景中,即使自动驾驶控制器发生故障,也能保证自动驾驶安全。该方法包括:
4.基于预设通信通道,接收主控制器同步的自动驾驶数据,以及接收所述主控制器发送的心跳包;
5.在预设检测周期内没有接收到所述心跳包的情况下,接管自动驾驶控制权限;
6.在接管所述自动驾驶控制权限的情况下,基于所述主控制器同步的自动驾驶数据,以及实时获取的自动驾驶数据进行数据处理,生成自动驾驶控制信息。
7.更进一步地,所述预设通信通道包括第一通道与第二通道;
8.所述基于预设通信通道,接收主控制器同步的自动驾驶数据,以及接收所述主控制器发送的心跳包,包括:
9.基于所述第一通道,接收所述主控制器同步的所述自动驾驶数据;
10.基于所述第二通道,接收所述主控制器发送的所述心跳包。
11.更进一步地,所述基于所述第一通道,接收所述主控制器同步的所述自动驾驶数据之前,还包括:
12.基于所述第一通道接收所述主控制器发送的模拟测试数据;
13.在所述主控制器发送的所述模拟测试数据,与所接收到的模拟测试数据一致的情况下,确定所述第一通道建立成功。
14.更进一步地,所述基于预设通信通道,接收主控制器同步的自动驾驶数据,以及接收所述主控制器发送的心跳,包括:
15.基于第一进程接收所述自动驾驶数据;
16.基于第二进程接收所述心跳包;
17.所述第一进程与所述第二进程不同。
18.更进一步地,所述基于预设通信通道,接收主控制器同步的自动驾驶数据,以及接收所述主控制器发送的心跳包之后,所述方法还包括:
19.解析所述自动驾驶数据,得到所述自动驾驶数据对应的数据头和数据主体;所述数据头包括数据标识以及与所述数据标识对应的数据指针;
20.基于所述数据标识对应的数据指针,从所述数据主体中读取与所述数据标识对应的目标数据;
21.将所述目标数据存储到与所述数据标识对应的分区中。
22.更进一步地,所述基于预设通信通道,接收主控制器同步的自动驾驶数据,以及接收所述主控制器发送的心跳包之后,所述方法还包括:
23.在每个数据同步周期结束后,向消息发布模块发送数据同步完成消息;以使消息订阅模块从所述消息发布模块中获取所述数据同步完成消息。
24.更进一步地,所述在预设检测周期内没有接收到所述心跳包的情况下,接管自动驾驶控制权限之后,所述方法还包括:
25.在每次接管所述自动驾驶控制权限后,向消息发布模块发送权限接管完成消息,以使消息订阅模块从所述消息发布模块中获取所述权限接管完成消息。
26.另一方面,本技术还提供一种自动驾驶控制装置,包括:
27.接收模块,用于基于预设通信通道,接收主控制器同步的自动驾驶数据,以及接收所述主控制器发送的心跳包;
28.接管模块,用于在预设检测周期内没有接收到所述心跳包的情况下,接管自动驾驶控制权限;
29.生成模块,用于在接管所述自动驾驶控制权限的情况下,基于所述主控制器同步的自动驾驶数据,以及实时获取的自动驾驶数据进行数据处理,生成自动驾驶控制信息。
30.第三方面,本技术还提供一种电子设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的自动驾驶控制方法。
31.第四方面,本技术还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行如上所述的自动驾驶控制方法。
32.实施本发明,具有如下有益效果:
33.本技术分别配置主控制器与备控制器,备控制器通过预设通信通道接收主控制器同步的自动驾驶数据,以使备控制器与主控制器实现自动驾驶数据同步;在主控制器正常运行的情况下,主控制器通过预设通信通道向备控制器持续发送心跳包,当主控制器发生故障,主控制器停止发送心跳包,备控制器在预设检测周期内没有接收到心跳包的情况下,确定主控制器故障,备控制器接管自动驾驶权限,备控制器替代主控制器接收实时获取的自动驾驶数据,通过备控制器对实时获取的自动驾驶数据,以及主控制器同步的自动驾驶数据进行处理,生成自动驾驶控制信息;在主控制器发生故障时,备控制器接管自动驾驶控制权限,在自动驾驶场景中,即使自动驾驶控制器发生故障,也能保证车辆自动驾驶安全。
附图说明
34.为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
35.图1为本发明实施例提供的一种自动驾驶控制方法流程图;
36.图2为本发明实施例提供的主/备控制器信息交互图;
37.图3为本发明实施例提供的心跳包发送流程框图;
38.图4为本发明实施例提供的自动驾驶数据与心跳包发送方法流程图;
39.图5为本发明实施例提供的自动驾驶控制装置结构框图。
具体实施方式
40.为了使本技术领域的人员更好地理解本技术中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
41.本实施例中,本发明所要解决的技术问题在于,在驾驶人手长时间脱离方向盘的情况下,即使控制器发生故障,也能保证车辆自动驾驶安全。参照图1-2,该方法包括:
42.s110:基于预设通信通道,接收主控制器同步的自动驾驶数据,以及接收主控制器发送的心跳包;
43.本实施例在车辆系统中配置多个控制器,分别是主控制器与至少一个备控制器,本实施例的执行主体为备控制器,在主控制器上装载主虚拟机,在备控制器上装载备虚拟机,主虚拟机与备虚拟机之间建立预设通信通道,通过预设通信通道实现自动驾驶数据动态迁移,主控制器的主虚拟机通过预设通信通道向备控制器的备虚拟机发送心跳包,以确定主控制器的运行状态。
44.s120:在预设检测周期内没有接收到心跳包的情况下,接管自动驾驶控制权限;
45.如图3所示,以预设检测周期检测备控制接收到的心跳包次数,主控制器可以通过预设检测周期向备控制器发送一次心跳包,在预设检测周期内,检测到备控制器接收到心跳包的次数为零的情况下,确认主控制器故障,备控制器替代主控制器接管自动驾驶控制权限;在预设检测周期内检测到备控制器接收到心跳包的次数是1的情况下,表明主控制器正常运行,将计数清零,等待下一预设检测周期。
46.s130:在接管自动驾驶控制权限的情况下,基于主控制器同步的自动驾驶数据,以及实时获取的自动驾驶数据进行数据处理,生成自动驾驶控制信息。
47.主控制器同步的自动驾驶数据中包括用于辅助自动驾驶所需的数据,还包括来自外部传感装置发送的自动驾驶数据,主控制器已经接收但未处理的数据,在确认主控制器发生故障的情况下,由备控制器替代主控制器接收并处理实时获得的自动驾驶数据,还对在主控制器发生故障后,已经接收但未处理的数据进行处理,生成自动驾驶控制信息,在自动驾驶场景中,即使控制器发生故障,也能保证车辆自动驾驶安全。通过主虚拟机与备虚拟
机实现自动驾驶数据的动态迁移,用户无感知切换,提升用户的体验感。
48.另外,主控制器与备控制器的性能可以一致,也可不一致,在主控制器与备控制器的性能一致的情况下,备控制接管自动驾驶控制权限的前后,处理数据效率无任何差别,用户在使用过程中不会察觉,在主控制器已经修复的情况下,备控制器发生故障,基于预设通信通道,备控制器向主控制器发送同步自动驾驶数据,同步完成后,主控制器接管自动驾驶控制权限;在主控制器与备控制器的能行不一致的情况下,主控制器的性能优于备控制器的性能,减少成本的投入,在备控制器接管自动驾驶控制权限后,主控制器修复,主控制器基于预设通信通道向备控制器发送心跳包,备控制器在多个连续预设检测周期内,接收到主控制发送的心跳包次数均为1的情况下,确定主控制器修复完成,其连续的周期数可自行设定;基于预设通信通道,备控制器向主控制器发送同步自动驾驶数据,同步完成后,主控制器接管自动驾驶控制权限,在一般情况下,主控制器与备控制器不会同时故障,两个控制器的设置提高自动驾驶的安全性。
49.在一种实施方式中,预设通信通道包括第一通道与第二通道;
50.基于预设通信通道,接收主控制器同步的自动驾驶数据,以及接收主控制器发送的心跳包,如图4所示,包括:
51.s410:基于第一通道,接收主控制器同步的自动驾驶数据;
52.s420:基于第二通道,接收主控制器发送的心跳包。
53.第一通道与第二通道可以为同一通道,在本实施例中,第一通道与第二通道为两个相互独立的通道,设置与自动驾驶数据相适配的第一通道,设置与心跳包格式或型号相适配的第二通道,能够提升自动驾驶数据的同步速率,若将自动驾驶数据与心跳包通过同一通道进行传输,会导致自动驾驶数据同步时产生拥堵,以及心跳包发送至备控制器不及时,而导致误判主控制器发生故障,因此,分别设置第一通道与第二通道,能够提高自动驾驶数据的同步速度,以及提高主控制器故障确定的准确性。
54.在一种实施方式中,基于第一通道,接收主控制器同步的自动驾驶数据之前,还包括:
55.基于第一通道接收主控制器发送的模拟测试数据;
56.在主控制器发送的模拟测试数据,与所接收到的模拟测试数据一致的情况下,确定第一通道建立成功。
57.在进行自动驾驶同步之前,需要测试第一通道的可用性,向主控制器发送模拟测试数据,模拟测试数据由数据头与数据主体组成,数据头包含数据类别与功能类别等,数据主体包括具体到功能所需的参数,模拟测试数据包括多项测试数据,主控制器将模拟测试数据通过第一通道传输至备控制器,检测备控制器接收到的模拟测试数据的数量与数据类别,以及对应的数据主体,在主控制器发送的模拟测试数据的数据类别、数据数量以及对应的数据主体均与备控制器所接收的一致的情况下,确定第一通道建立成功,为自动驾驶数据同步提供保障。
58.在一种实施方式中,基于预设通信通道,接收主控制器同步的自动驾驶数据,以及接收主控制器发送的心跳,包括:
59.基于第一进程接收自动驾驶数据;
60.基于第二进程接收心跳包;
61.第一进程与第二进程不同。
62.在车辆启动后分别创建第一进程与第二进程,第一进程与第二进程并行运行,在正常情况下,第一进程与第二进程在车辆停止行驶时关闭,第一进程与第二进程相互关联,若第一进程异常,或者在无法正常同步自动驾驶数据的情况下,第二进程关闭,主控制器停止向备控制器发送心跳包,使备控制器接管自动驾驶控制权限,在自动驾驶数据同步异常的情况下,通过备控制实时接收自动驾驶数据,防止缺少自动驾驶数据而存在驾驶安全隐患,提高自动驾驶安全系数。
63.在一种实施方式中,基于预设通信通道,接收主控制器同步的自动驾驶数据,以及接收主控制器发送的心跳包之后,如图5所示,方法还包括:
64.解析自动驾驶数据,得到自动驾驶数据对应的数据头和数据主体;数据头包括数据标识以及与数据标识对应的数据指针;
65.基于数据标识对应的数据指针,从数据主体中读取与数据标识对应的目标数据;
66.将目标数据存储到与数据标识对应的分区中。
67.自动驾驶数据在主控制发送至备控制器前,将相应的数据头与数据主体组装成完整的自动驾驶数据,备控制器接收到自动驾驶数据后,将自动驾驶数据解析为数据头与数据主体,根据数据头中对应的数据指针,能够读取到数据标识对应的目标数据,将目标数据与储存在数据标识对应的分区中,分区保存,能够使备处理器在数据读取时的负载均衡,提高备处理器的处理效率。
68.在一种实施方式中,基于预设通信通道,接收主控制器同步的自动驾驶数据,以及接收主控制器发送的心跳包之后,方法还包括:
69.在每个数据同步周期结束后,向消息发布模块发送数据同步完成消息;以使消息订阅模块从消息发布模块中获取数据同步完成消息。
70.每个数据同步周期后,向消息发布模块发送数据同步完成消息,该消息可以是完成某个事件的通告,也可以是即将去完成某个事件的通告,以便于消息订阅模块进行订阅,若数据同步异常,向消息发布模块发送数据同步异常消息,消息发布模块可以是can总线或者多个消息订阅模块能够共同访问的网络,进一步的,可具体到每一事件结束均向消息发布模块发送该阶段完成消息,例如,建立第一通道,第一通道建立完成,向消息发布模块发送通道建立完成消息,若在第一通道测试阶段,检测出备控制器接收到的自动驾驶数据与主控制器发送的自动驾驶数据一致,表明第一通道建立成功,向消息发布模块发送通道建立成功消息,若检测出备控制器接收到的自动驾驶数据与主控制器发送的自动驾驶数据不一致,表明第一通道建立失败,向消息发布模块发送通道建立失败消息,对应的消息订阅模块从消息发布模块订阅通道建立失败消息,并制定相应的应对策略。
71.在一种实施方式中,在预设检测周期内没有接收到心跳包的情况下,接管自动驾驶控制权限之后,方法还包括:
72.在每次接管自动驾驶控制权限后,向消息发布模块发送权限接管完成消息,以使消息订阅模块从消息发布模块中获取权限接管完成消息。
73.在每次备控制器接管自动驾驶控制权限后,向消息发布模块发送权限接管完成消息,若备控制器接管自动驾驶控制权限失败,向消息发布模块发送权限接管失败消息,以使相应的模块进行订阅,并对备控制器接管自动驾驶控制权限失败制定应对策略,以保证在
主控制器故障后,备控制器能够成功接管自动驾驶控制权限。
74.本实施例还提供一种自动驾驶控制装置,该装置能够实现上述所有的方法步骤,该装置包括:
75.接收模块510,用于基于预设通信通道,接收主控制器同步的自动驾驶数据,以及接收主控制器发送的心跳包;
76.接管模块520,用于在预设检测周期内没有接收到心跳包的情况下,接管自动驾驶控制权限;
77.生成模块530,用于在接管自动驾驶控制权限的情况下,基于主控制器同步的自动驾驶数据,以及实时获取的自动驾驶数据进行数据处理,生成自动驾驶控制信息。
78.自动驾驶控制装置还包括:
79.第一接收模块,用于基于所述第一通道,接收所述主控制器同步的所述自动驾驶数据;
80.第二接收模块,用于基于所述第二通道,接收所述主控制器发送的所述心跳包。
81.第三接收模块,用于基于第一通道接收所述主控制器发送的模拟测试数据;
82.确定模块,用于在所述主控制器发送的所述模拟测试数据,与所接收到的模拟测试数据一致的情况下,确定所述第一通道建立成功。
83.第四接收模块,用于基于所述第一进程接收所述自动驾驶数据;
84.第五接收模块,用于基于所述第二进程接收所述心跳包。
85.解析模块,用于解析所述自动驾驶数据,得到所述自动驾驶数据对应的数据头和数据主体;所述数据头包括数据标识以及与所述数据标识对应的数据指针;
86.读取模块,用于基于所述数据标识对应的数据指针,从所述数据主体中读取与所述数据标识对应的目标数据;
87.储存模块,用于将所述目标数据存储到与所述数据标识对应的分区中。
88.第一发送模块,用于在每个数据同步周期结束后,向消息发布模块发送数据同步完成消息;以使消息订阅模块从所述消息发布模块中获取所述数据同步完成消息。
89.第二发送模块,用于在每次接管所述自动驾驶控制权限后,向消息发布模块发送权限接管完成消息,以使消息订阅模块从所述消息发布模块中获取所述权限接管完成消息。
90.实施本实施例,具有如下效果:
91.1.本技术通过配置两个控制器,分别是主控制器与备控制器,备控制器通过预设通信通道接收主控制器同步的自动驾驶数据,以使备控制器与主控制器实现自动驾驶数据同步;在主控制器正常运行的情况下,主控制器通过预设通信通道向备控制器持续发送心跳包,当主控制器发生故障,主控制器停止发送心跳包,备控制器在预设检测周期内没有接收到心跳包的情况下,确定主控制器故障,备控制器接管自动驾驶权限,备控制器替代主控制器接收实时获取的自动驾驶数据,通过备控制器对实时获取的自动驾驶数据,以及主控制器同步的自动驾驶数据进行处理,生成自动驾驶控制信息;在主控制器发生故障时,备控制器接管自动驾驶控制权限,在自动驾驶场景中,即使自动驾驶控制器发生故障,也能保证车辆自动驾驶安全。
92.2.将主控制器发送至备控制器的自动驾驶数据与心跳包通过不同进程、不同的通
道进程传输,能够提高自动驾驶数据的同步速度,以及提高主控制器的故障确定的准确性,第一进程与第二进程相关联,在第一进程异常时,第二进程停止运行,停止对备控制发送心跳包,使被控制器接管自动驾驶控制权限,在自动驾驶数据同步异常的情况下,通过备控制实时接收自动驾驶数据,防止缺少自动驾驶数据而存在驾驶安全隐患,提高自动驾驶安全系数。
93.本发明的实施例还提供了一种电子设备,电子设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如方法实施例中的一种自动驾驶控制方法。
94.本发明的实施例还提供了一种存储介质,存储介质可设置于服务器之中以保存用于实现方法实施例中一种自动驾驶控制方法的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的一种自动驾驶控制方法。
95.可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
96.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
97.上述说明已经充分揭露了本发明的具体实施方式。需要指出的是,熟悉该领域的技术人员对本发明的具体实施方式所做的任何改动均不脱离本发明的权利要求书的范围。相应地,本发明的权利要求的范围也并不仅仅局限于前述具体实施方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1