CN117031920A - 主冗切换控制方法、系统、设备及存储介质 - Google Patents
主冗切换控制方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN117031920A CN117031920A CN202310758577.8A CN202310758577A CN117031920A CN 117031920 A CN117031920 A CN 117031920A CN 202310758577 A CN202310758577 A CN 202310758577A CN 117031920 A CN117031920 A CN 117031920A
- Authority
- CN
- China
- Prior art keywords
- main
- module
- redundancy
- unit
- vehicle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004364 calculation method Methods 0.000 claims abstract description 126
- 230000036541 health Effects 0.000 claims description 47
- 230000003862 health status Effects 0.000 claims description 21
- 238000001514 detection method Methods 0.000 claims description 18
- 238000012544 monitoring process Methods 0.000 claims description 18
- 230000003068 static effect Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 10
- 238000013439 planning Methods 0.000 claims description 6
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 230000000737 periodic effect Effects 0.000 claims description 5
- 238000013461 design Methods 0.000 abstract description 14
- 230000003993 interaction Effects 0.000 abstract description 9
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 238000003745 diagnosis Methods 0.000 description 6
- 239000000306 component Substances 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 235000017166 Bambusa arundinacea Nutrition 0.000 description 1
- 235000017491 Bambusa tulda Nutrition 0.000 description 1
- 241001330002 Bambuseae Species 0.000 description 1
- 235000015334 Phyllostachys viridis Nutrition 0.000 description 1
- 230000007488 abnormal function Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 239000011425 bamboo Substances 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000004092 self-diagnosis Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B9/00—Safety arrangements
- G05B9/02—Safety arrangements electric
- G05B9/03—Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
Abstract
本发明自动驾驶数据交互领域,公开了一种自动驾驶车辆的主冗切换控制方法、系统、设备及存储介质。本方法包括:获取自动驾驶车辆的主模块的计算参数和线控参数,并判断计算参数和线控参数是否满足预设的主冗切换条件,若满足,则下发冗余模块接管指令,并基于冗余模块接管指令将自动驾驶车辆从所述主模块切换至冗余模块,基于冗余模块进行自动驾驶的控制。本方法采用模块化的设计,设计通用标准接口和协议,采用一套代码同时部署主冗模块,实现主冗模块完全独立,实现了冗余切换的解耦控制,优化了冗余模块间数据交互模式从而提高系统的实时性,保证了鲁棒性和降低管理难度。
Description
技术领域
本发明涉及自动驾驶数据交互领域,尤其涉及一种自动驾驶车辆的主冗切换控制方法、系统、设备及存储介质。
背景技术
为保证自动驾驶车辆实现安全驾驶,会在控制器中基于主模块设计冗余模块实现主模块故障时切换至冗余模块,从而保证安全驾驶。现有技术中,冗余模块会导致系统的软件逻辑更加复杂,造成兼容不稳定的问题,同时,由于冗余模块只在主模块故障时切换,会导致冗余模块不能实时响应系统的指令,且现有技术中对于冗余模块的切换条件通常是通过算法实现的,需要考虑多种因素。因此,需要提供一种更加稳定、兼容、实时、易于管理的冗余模块切换设计方案。
发明内容
本发明的主要目的在于解决现有的冗余切换方案中存在的切换条件复杂、难度大,主冗模块间数据交互复杂的问题。
本发明第一方面提供了一种自动驾驶车辆的主冗切换控制方法,所述主冗切换控制方法包括:获取自动驾驶车辆的主模块的计算参数和线控参数;判断所述计算参数和所述线控参数是否满足预设的主冗切换条件;若满足,则下发冗余模块接管指令,并基于所述冗余模块接管指令将自动驾驶车辆从所述主模块切换至冗余模块,基于所述冗余模块进行自动驾驶的控制。
可选的,在本发明第一方面的第一种实现方式中,所述获取自动驾驶车辆的主模块的计算参数和线控参数,包括:读取自动驾驶车辆主模块中主计算单元接收到的控制模块下发的控制数据、主模块中主线控单元传输的主线控单元的状态模式和车辆当前受控单元,并检测主模块中主计算单元的健康状况;基于所述主计算单元的健康状况、控制数据、主线控单元的状态模式和车辆当前受控单元得到主模块的计算参数;读取自动驾驶车辆的主模块中主线控单元接收到的主计算单元下发的主冗计算单元选择数据、主计算单元接管指令和主计算单元的健康状况;基于所述主冗计算单元选择数据、主计算单元接管指令、主计算单元的健康状况得到主模块的线控参数。
可选的,在本发明第一方面的第二种实现方式中,所述判断所述计算参数和所述线控参数是否满足预设的主冗切换条件,包括:获取所述主模块中主计算单元的上层算法数据、主模块所在的域控制器的硬件数据和主计算单元的输出数据,并生成故障检测结果;基于所述故障检测结果判断所述主模块中主计算单元的是否失效;若主计算单元失效,则确定所述主模块满足预设的主冗切换条件;若主计算单元未失效,则判断主线控单元是否接收到主计算单元输出的数据;若未接收到,则确认主计算单元和主线控单元之间的连接线路故障,所述主模块满足预设的主冗切换条件;若接收到,则接收车辆底盘的反馈数据,并判断车辆底盘是否受主线控单元控制;若否,则确认主线控单元失效,所述主模块满足预设的主冗切换条件。
可选的,在本发明第一方面的第三种实现方式中,所述基于所述故障检测结果判断所述主模块中主计算单元的是否失效,包括:判断所述故障检测结果中是否存在规划无法处理的故障类型,其中,所述故障类型包括主计算单元算法输入故障、域控制器硬件故障和输出线路故障;若存在,则确认主计算单元失效;或者,在主模块所在的域控制器中注册基于周期性回调函数的副线程,并基于所述副线程监控主模块中主计算单元的输出状态;若所述输出状态为异常,则确认主计算单元下发的数据无法发送至主线控单元和车辆底盘,主计算单元失效。
可选的,在本发明第一方面的第四种实现方式中,所述下发冗余模块接管指令,并基于所述冗余模块接管指令将自动驾驶车辆从所述主模块切换至冗余模块,基于所述冗余模块进行自动驾驶的控制,包括:在满足主冗切换条件后,向冗余计算单元下发冗余模块接管指令;获取冗余模块的冗余计算参数和冗余线控参数,并基于所述冗余计算参数和冗余线控参数得到冗余模块的健康状况;基于所述冗余模块的健康状况和所述冗余模块接管指令生成冗余计算单元接管请求和冗余线控单元接管请求;基于所述冗余计算单元接管请求和冗余线控单元接管请求将自动驾驶车辆从所述主模块切换至冗余模块,基于所述冗余模块进行自动驾驶的控制。
可选的,在本发明第一方面的第五种实现方式中,在所述基于所述冗余模块接管指令将自动驾驶车辆从所述主模块切换至冗余模块,基于所述冗余模块进行自动驾驶的控制之后,还包括:获取自动驾驶车辆的行驶数据和主模块的健康状况反馈,基于所述行驶数据行驶数据和主模块的健康状况反馈判断车辆是否满足预设的回切条件;若满足,则将自动驾驶车辆从所述冗余模块切换至主模块,基于所述主模块进行自动驾驶的控制。
可选的,在本发明第一方面的第六种实现方式中,所述基于所述行驶数据行驶数据和主模块的健康状况反馈判断车辆是否满足预设的回切条件,包括:提取自动驾驶车辆的行驶数据中的车辆状态,判断自动驾驶车辆是否处于静止状态;若处于静止状态,则自动驾驶车辆的行驶数据中驻车制动的状态,并判断所述驻车制动是否被拉起;若被拉起,则基于所述主模块的健康状况反馈判断主模块是否有效;若有效,则确认自动驾驶车辆满足预设的回切条件。
本发明第二方面提供了一种自动驾驶车辆的主冗切换控制系统,所述主冗切换控制系统包括:控制模块、主模块和冗余模块,所述主模块包括主计算单元和主线控单元,所述冗余模块包括冗余计算单元和冗余线控单元,所述控制模块包括:获取单元,用于获取自动驾驶车辆的主模块计算参数和线控参数;判断单元,用于判断所述计算参数和所述线控参数是否满足预设的主冗切换条件;切换单元,用于若满足,则下发冗余模块接管指令,并基于所述冗余模块接管指令将自动驾驶车辆从所述主模块切换至冗余模块,基于所述冗余模块进行自动驾驶的控制。
可选地,在本发明第二方面的第一种实现方式中,所述获取单元包括:
第一读取子单元,用于读取自动驾驶车辆主模块中主计算单元接收到的控制模块下发的控制数据、主模块中主线控单元传输的主线控单元的状态模式和车辆当前受控单元,并检测主模块中主计算单元的健康状况;基于所述主计算单元的健康状况、控制数据、主线控单元的状态模式和车辆当前受控单元得到主模块的计算参数;
第二读取子单元,用于读取自动驾驶车辆的主模块中主线控单元接收到的主计算单元下发的主冗计算单元选择数据、主计算单元接管指令和主计算单元的健康状况;基于所述主冗计算单元选择数据、主计算单元接管指令、主计算单元的健康状况得到主模块的线控参数。
可选地,在本发明第二方面的第二种实现方式中,所述判断单元包括:
第一判断子单元,用于获取所述主模块中主计算单元的上层算法数据、主模块所在的域控制器的硬件数据和主计算单元的输出数据,并生成故障检测结果;基于所述故障检测结果判断所述主模块中主计算单元的是否失效;若主计算单元失效,则确定所述主模块满足预设的主冗切换条件;
第二判断子单元,用于若主计算单元未失效,则判断主线控单元是否接收到主计算单元输出的数据;若未接收到,则确认主计算单元和主线控单元之间的连接线路故障,所述主模块满足预设的主冗切换条件;
第三判断子单元,用于若接收到,则接收车辆底盘的反馈数据,并判断车辆底盘是否受主线控单元控制;若否,则确认主线控单元失效,所述主模块满足预设的主冗切换条件。
可选地,在本发明第二方面的第三种实现方式中,所述第一判断子单元还用于:判断所述故障检测结果中是否存在规划无法处理的故障类型,其中,所述故障类型包括主计算单元算法输入故障、域控制器硬件故障和输出线路故障;若存在,则确认主计算单元失效;或者,在主模块所在的域控制器中注册基于周期性回调函数的副线程,并基于所述副线程监控主模块中主计算单元的输出状态;若所述输出状态为异常,则确认主计算单元下发的数据无法发送至主线控单元和车辆底盘,主计算单元失效。
可选地,在本发明第二方面的第四种实现方式中,所述切换单元包括:
下发子单元,用于在满足主冗切换条件后,向冗余计算单元下发冗余模块接管指令;获取冗余模块的冗余计算参数和冗余线控参数,并基于所述冗余计算参数和冗余线控参数得到冗余模块的健康状况;
控制子单元,用于基于所述冗余模块的健康状况和所述冗余模块接管指令生成冗余计算单元接管请求和冗余线控单元接管请求;基于所述冗余计算单元接管请求和冗余线控单元接管请求将自动驾驶车辆从所述主模块切换至冗余模块,基于所述冗余模块进行自动驾驶的控制。
可选地,在本发明第二方面的第五种实现方式中,所述切换单元还包括:
回切子单元,用于获取自动驾驶车辆的行驶数据和主模块的健康状况反馈,基于所述行驶数据行驶数据和主模块的健康状况反馈判断车辆是否满足预设的回切条件;若满足,则将自动驾驶车辆从所述冗余模块切换至主模块,基于所述主模块进行自动驾驶的控制。
可选地,在本发明第二方面的第六种实现方式中,所述回切子单元具体用于:提取自动驾驶车辆的行驶数据中的车辆状态,判断自动驾驶车辆是否处于静止状态;若处于静止状态,则自动驾驶车辆的行驶数据中驻车制动的状态,并判断所述驻车制动是否被拉起;若被拉起,则基于所述主模块的健康状况反馈判断主模块是否有效;若有效,则确认自动驾驶车辆满足预设的回切条件。
本发明的第三方面提供了一种自动驾驶车辆的主冗切换控制设备,所述主冗切换控制设备包括存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述主冗切换控制设备执行如上所述的主冗切换控制方法的各个步骤。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现如上所述主冗切换控制方法的各个步骤。
本申请提出了一种自动驾驶车辆的主冗切换控制方法、系统、设备及存储介质。包括:获取自动驾驶车辆的主模块的第一工作参数和第二工作参数,并判断计算参数和线控参数是否满足预设的主冗切换条件,若满足,则下发冗余模块接管指令,并基于冗余模块接管指令将自动驾驶车辆从所述主模块切换至冗余模块,基于冗余模块进行自动驾驶的控制。本方法采用模块化的设计,设计通用标准接口和协议,采用一套代码同时部署主冗模块,实现主冗模块完全独立,实现了冗余切换的解耦控制,优化了冗余模块间数据交互模式从而提高系统的实时性,采用自动化监控和诊断技术来降低切换冗余单元的难度。
附图说明
图1为本发明实施例提供的自动驾驶车辆的主冗切换控制方法的第一个实施例示意图;
图2为本发明实施例提供的自动驾驶车辆的主冗切换控制方法的第二个实施例示意图;
图3为本发明实施例提供的自动驾驶车辆的主冗切换控制系统的连接架构示意图;
图4为本发明实施例提供的自动驾驶车辆的主冗切换控制系统的冗余仲裁切换设计示意图;
图5为本发明实施例提供的自动驾驶车辆的主冗切换控制系统的第一种结构示意图;
图6为本发明实施例提供的自动驾驶车辆的主冗切换控制系统的第二种结构示意图;
图7为本发明实施例提供的自动驾驶车辆的主冗切换控制设备的一种结构示意图。
具体实施方式
针对于现有的自动驾驶车辆的主冗切换控制方式,本申请通过获取自动驾驶车辆的主模块的第一工作参数和第二工作参数,并判断计算参数和线控参数是否满足预设的主冗切换条件,若满足,则下发冗余模块接管指令,并基于冗余模块接管指令将自动驾驶车辆从所述主模块切换至冗余模块,基于冗余模块进行自动驾驶的控制,提高了自动驾驶车辆的主冗切换的效率。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、设备、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1本发明实施例提供的自动驾驶车辆的主冗切换控制方法的第一个实施例示意图,该方法具体包括以下步骤:
101、获取自动驾驶车辆的主模块的计算参数和线控参数。
自动驾驶系统通常由多个计算单元和线控单元组成。计算单元是自动驾驶系统中的核心部件,负责处理传感器数据、执行算法和决策,并控制车辆的行为,由高性能的处理器、图形处理器(GPU)、神经网络加速器等组成,能实时处理大量的数据,并根据预先训练的模型和算法做出驾驶决策,如车辆的加速、刹车、转向等。线控单元是自动驾驶系统中负责控制车辆行驶的部件,接收来自计算单元的指令,并通过电子控制单元(ECU)来操控车辆的各个执行机构,如发动机、刹车系统、转向系统等,线控单元根据计算单元提供的驾驶决策和指令,控制车辆的行为,使其按照预定的路径和行驶规则进行驾驶。计算单元和线控单元之间通过数据接口进行通信,计算单元将处理后的数据和驾驶指令传递给线控单元,线控单元则将车辆的状态和执行结果反馈给计算单元,以实现双向的数据交换和控制。需要注意的是,不同的自动驾驶系统可能采用不同的架构和组件,因此具体的计算单元和线控单元的设计和实现可能会有所差异,正常驾驶情况下,由主计算单元和主线控单元组成主模块控制车辆,只有当主模块失效时才启用冗余模块进行控制。
本实施例中,主模块的计算参数包括主线控单元传输的主线控单元的状态模式、冗余线控单元的状态模式、冗余计算单元的健康状态、车辆当前受控单元和控制模块下发的控制数据,还包括主计算单元的健康状况,其中,所述主计算单元的健康状况可以由主计算单元进行自检得到;主模块的线控参数包括主计算单元下发的主计算单元下发的主冗计算单元选择数据、主计算单元接管指令和主计算单元的健康状况,和冗余线控单元传输的冗余线控单元的状态模式、冗余计算单元的健康状态以及冗余线控单元接管车辆标志位。
102、判断计算参数和线控参数是否满足预设的主冗切换条件。
判断计算单元是否失效的方法主要有:1、系统监控,自动驾驶系统通常会配备监控机制来实时监测计算单元的运行状态,通过监测计算单元的工作负载、温度、电压等指标,可以判断计算单元是否正常工作,如果计算单元的指标超出了设定的正常范围,就可能表示计算单元存在故障或失效;2、错误检测与纠正,自动驾驶系统可以采用错误检测和纠正机制来判断计算单元是否发生错误,例如,通过冗余计算单元的配置,可以对比两个计算单元的计算结果是否一致,若结果不一致则表示至少一个计算单元出现故障;3、自检程序,计算单元可以内置自检程序,定期进行自我诊断和测试,这些自检程序可以检查计算单元的各个功能模块是否正常工作,以及存储器是否有错误或损坏,如果自检程序检测到问题,就可以判断计算单元存在故障;4、外部监控,除了自身的监控机制,计算单元还可以与其他系统进行通信,接收外部的监控指令或发送状态信息,例如,可以使用外部监控设备或连接云端服务器,实时监测计算单元的状态,如果外部监控系统检测到计算单元的异常行为或错误,就可以判断计算单元存在问题。需要注意的是,判断计算单元是否失效通常需要综合多种方法和指标进行分析,此外,自动驾驶系统的设计也应该考虑到容错性和冗余机制,以最大程度地提高系统的可靠性和安全性,最好的做法是在设计和开发阶段就考虑到故障检测与容错机制,以及适当的监控和自检程序,以提前发现并处理计算单元的失效情况。
103、若满足,则下发冗余模块接管指令,并基于冗余模块接管指令将自动驾驶车辆从所述主模块切换至冗余模块,基于冗余模块进行自动驾驶的控制。
在本实施例中,当主模块失效时,确认满足主冗切换条件,计算单元通过线控方式向主控制单元发送指令或数据,以更新或控制车辆标志位,即计算单元将特定的标志位信息写入数据总线,并在监听总线的过程中检测到该信息,并根据标志位的状态进行相应的控制操作。进一步的,还可以增加灯光提醒模块,当主模块在控时,显示绿色灯光长亮;当主模块在控且遥控时,显示绿色灯光常亮且闪黄灯;当主模块在控且冗余模块的adv_system_state.un it_state==UNIT_STATE_FAULT时,即主模块在控冗余模块不健康时,显示绿色灯光长亮且快闪红灯;当主模块在控且遥控且冗余模块的adv_system_state.unit_state==UNIT_STATE_FAULT时,即主模块遥控在控且冗余模块不健康时,显示绿色灯光常亮且闪黄灯且慢闪红灯;在自动驾驶下,冗余模块在控(不管MU什么状态)时闪绿灯。
本方案通过对主模块健康状态的判断,确认主模块是否失效,并在确认主模块失效后,将车辆控制权转移到冗余模块,并设计了一套代码同时部署主冗模块,实现主冗模块完全独立,实现了冗余切换的解耦控制,优化了冗余模块间数据交互模式从而提高系统的实时性。
请参阅图2,本发明实施例提供的自动驾驶车辆的主冗切换控制方法的第二个实施例示意图,请参阅图3,本发明实施例提供的自动驾驶车辆的主冗切换控制系统的连接架构示意图,其中,主冗切换控制系统包括分别与主计算单元和冗余计算单元通过总线连接的主线控模块和冗余线控模块,主线控模块和冗余线控模块之间通过私有总线连接,主线控模块和冗余线控模块分别通过供电总线、车辆底盘总线和冗余车辆底盘总线与车辆连接,本方案所述的主模块和冗余模块通过在配置文件配置cfg_mu_ru_selector自动识别一套代码跑两个节点的设置,并通过static cast实现转换,控制模块在输出端的配置文件中配置选择器,并在主计算模块和冗余计算模块的输入端进行控制和系统架构的对应配置。cfg_mu_ru_selector是一个配置项,用于选择或设置MU(Master Unit,主计算单元)和RU(Remote Unit,冗余计算单元)之间的通信模式或连接方式,表示配置MU和RU之间的选择器或开关,其作用是通过配置该项,决定MU和RU之间的通信方式,包括不同的总线协议、数据传输方式、通信速率等。根据具体的系统设计和需求,可以根据配置的不同来调整和优化MU和RU之间的通信性能和可靠性。进一步的,可以通过static cast实现转换,static cast是一种C++语言中的类型转换操作符,将一个表达式或变量转换为另一种类型。通过在配置文件中配置上述配置项,在起节点的时候实现在一套软件适应两套硬件,且由于自动驾驶的两套系统主模块和冗余模块所在的两套硬件存在相同或不同,配置量代码在运行编译时,在起时将未用到的代码删除,代码中关于MU和RU在控制车辆时,接到不同接口,其中,控制模块输入给主模块的接口为:/control/low_level_control_cmd&&/adv_system_State,输入给冗余模块的接口为:/ru_control/low_level_co ntrol_cmd&&/ru_adv_system_State,人工驾驶下,control_source应反馈人工控制,主模块工作但指令不到达车辆,切断主模块指令到达车辆的传输。
在自动驾驶中,冗余模块对私有总线进行检测,即冗余线控单元检测私有总线数据丢失,需要向冗余模块报ADV_system_fault故障;主模块对私有总线进行监测,即主线控单元检测private_CAN timeout,即私有总线信号暂停时,向主模块报错。其中,私有总线(Private CAN)是指连接自动驾驶系统内部各个计算单元和线控单元的专用CAN总线,用于在车辆内部传输数据和命令。Private CAN在自动驾驶系统中具有以下作用:数据传输、系统协同、故障隔离、性能管理。私有总线数据丢失是指在使用私有总线进行通信时,某些数据包或消息在传输过程中未能成功到达目标设备或接收方,从而导致数据丢失的情况。私有总线是指专门用于内部通信的一种数据传输总线,通常在特定的系统或设备中使用。当出现私有总线数据丢失时,可能会导致以下问题或影响:数据不完整或不准确、功能或操作异常、同步异常,数据丢失的原因包括总线通信故障、传输错误、噪声干扰、电磁干扰、通信速率不匹配、连接问题等。为了减少私有总线数据丢失的风险,通常需要采取适当的错误检测和纠正机制、数据重传机制、错误处理策略等措施,以确保可靠的数据传输和系统正常运行。
在本实施例中,底盘总线(Chassis CAN)指用于连接车辆底盘系统各个执行单元的CAN总线,底盘系统包括车辆的刹车系统、转向系统、悬挂系统等,而Chassis CAN负责各系统之间的通信和数据传输,具有以下作用:执行单元通信、传感器数据共享、控制指令传递、故障监测和处理,需要注意的是,实际的自动驾驶车辆中的底盘系统和通信协议可能有所不同。
该方法具体包括以下步骤:
201、基于主计算单元的健康状况、控制数据、主线控单元的状态模式和车辆当前受控单元得到主模块的计算参数,基于主冗计算单元选择数据、主计算单元接管指令、主计算单元的健康状况得到主模块的线控参数。
请参阅图4,本发明实施例提供的自动驾驶车辆的主冗切换控制系统的冗余仲裁切换设计示意图,其中,DBW(Drive By Wire,线控油门驱动)系统通过改变传统形式,通过传感器来检测油门踏板位置,有助于车辆加速时的平顺性和高速时的强劲行驶性。MU表示主计算单元,RU表示冗余计算单元,MU(Master Unit)指的是主计算单元,通常是车辆网络中的主节点,负责控制和管理整个网络,RU(Redundancy Unit)指的是冗余计算单元,通常是车辆网络中的从节点,承担特定的功能或任务,并通过与MU进行通信来实现协作,MDBW表示主线控单元,RDBW表示冗余线控单元,MDBW能够诊断所有的总线的健康状态,包括:MU总线健康状态、底盘总线健康状态、冗余底盘总线健康状态和供电总线健康状态,并将诊断结果上报至MU,RDB W能够诊断所有的总线的健康状态,包括:RU总线健康状态、底盘总线健康状态、冗余底盘总线健康状态和供电总线健康状态,并将诊断结果上报至RU。主计算单元和冗余计算单元在硬件上共用线控通用逻辑,所述线控通用逻辑部署在MU或RU上,其中MDBW与RDBW为基于TC397车规级嵌入式芯片的一个硬件设备,该TC397板子要求至少支持五路总线。
主线控单元接收冗余线控单元发送的RDBW状态模式、RDBW接管车辆标志位和RU健康状态,并将RDBW状态模式、RU健康状态、MDBW状态模式和车辆当前受控单元发送至主计算单元,同时主计算单元进行自检,得到MU健康状态,主计算单元根据上述信息进行判断接管可行性,若满足MU接管条件,则向MDBW下发MU接管指令,也可以直接讲MU健康状态、主冗选择器和MU接管指令下发至主线控单元,进行车辆底盘控制权的转移。
MU通过与MDBW的连接接口接收RU健康状态、RDBW状态模式、MU状态模式和车辆当前受控单元,对于该系统软件的实现,服务器中的Contr ol_Source反馈当前车辆的受控源,即车辆当前受控单元,包括主模块、冗余模块和人工,服务器中的Own_Current_State要能显示线控的各个状态,对于起MU的线程,服务器中Friend_Unit_Health要能显示MU的adv_system_sta te健康状态,CAN_BUS_Health要能显示出四路总线的健康状态,Friend_Cur rent_State要能反馈主线控单元的dbw state,自动驾驶中,RDBW接管车辆时,control_source应反馈RU接管,否则反馈MU接管,人工驾驶下,control_so urce应反馈Human,MU工作,但指令不到达车辆,默认情况下,RDBW输出的接管车辆标志位oxE0 RDBW_Enable_Ctl应为false,DBW应将自身状态反馈到0xE0中的RDBW_Current_State,RDBW应将RU的健康状态反馈到0xE0的RU_Unit_Health。
202、依次判断主计算单元、主计算单元和主线控单元之间的连接线路、主线控单元、主线控单元和车辆底盘之间的连接线路是否失效。
当主模块失效时,需要切换至冗余模块,即当出现如下情况时,确认主模块失效,切换至冗余模块,具体的:MU自身主动报告故障,切换到RU,即线控节点收到规划无法处理的故障等级时,需要切换到RU,即收到Adv System State Id::ADV_SYS_STATE_FAULT时,其是一个命名表示自动驾驶系统状态的标识符,system state id指的是系统状态标识符,用于唯一标识特定的系统状态,::是一个分隔符,用于区分标识符的不同部分,adv_sys_state_fault表示一个自动驾驶系统的故障状态。因此,上述报错可能用于指示自动驾驶系统处于故障状态,可以用于系统监测、错误诊断、故障排查等方面,以便进行系统状态的监控和管理。并且当sub_state为Adv System Sub StateId::ADV_SYS_FAULT_SUB_PAIRUNIT时,是一个命名表示自动驾驶系统子状态的标识符,sub_state,表示系统状态的子状态,用于进一步细分和描述系统状态的特定方面或条件,system state id,是系统状态标识符的一部分,用于唯一标识特定的系统状态,adv_sys_fault_sub_pairunit表示一个自动驾驶系统故障的子状态与特定的配对单元(pair unit)相关配对单元,通常是指在自动驾驶系统中进行配对或协同操作的两个或多个单元,例如传感器、执行器、控制模块等。当系统检测到与配对单元相关的故障或错误时,会进入这个故障子状态,具体的故障可能因配对单元的类型和功能而有所不同,例如,如果是传感器配对单元,则可能涉及传感器故障、传感器数据不一致或传感器通信问题等,如果是执行器配对单元,则可能涉及执行器故障、执行器操作不一致或执行器通信问题等。因此,该标识符用于指示自动驾驶系统故障状态的子状态,特别是与特定配对单元相关的故障子状态,用于系统监测、错误诊断、故障排查等方面,以便进一步细分和描述系统故障的特定条件和情况。此种故障表示在主计算单元的输入端无法接收到上层控制模块的指令以及数据,主冗切换控制系统的上层算法出现故障,即在控制以上的节点包括感知、定位、角色、规划,纯算法层出现各种故障,需要进一步检查和处理该故障的详细信息,可能需要参考相关的系统文档、故障诊断工具或专业技术人员的帮助来确定具体的故障原因和解决方法。
当出现Adv System Sub State Id::ADV_SYS_FAULT_SUB_HW_ESTOP时,表示自动驾驶系统中出现硬件急停(Hardware Emergency Stop)故障子状态,硬件急停是指由于系统检测到硬件故障或错误,导致系统无法正常运行,进而触发紧急停止或断电的安全机制。具体的硬件故障可能包括传感器故障、执行器故障、通信故障、电源故障,在本实施例中可以表示主模块所在的域控制器出现硬件故障,例如芯片过温等。当系统检测到这些硬件故障时,会进入硬件急停子状态,并触发紧急停止措施,停止自动驾驶功能的运行,该标识符的出现表示自动驾驶系统处于硬件急停故障子状态,需要进行故障排查和修复,在这种状态下,系统无法继续正常运行,并且需要进行适当的修复和恢复操作,以确保系统的安全性和可靠性。
当出现Adv System Sub State Id::ADV_SYS_FAULT_SUB_DBW时,表示自动驾驶系统中出现与驱动-制动-转向(Drive-By-Wire,DBW)系统相关的故障子状态,DBW系统是一种基于电子信号而非机械连接的驾驶控制系统,它用于控制车辆的加速、制动和转向等操作,当系统检测到与DBW系统相关的故障或错误时,会进入这个故障子状态,具体的故障可能涉及DBW系统的电子控制单元(ECU)、传感器、执行器、通信链路等方面,在本实施例中表示线控出现故障,即在算法下比较多驱动固件,DBW线控出现问题,且该种故障表示部分问题的汇总,在上层算法和硬件完整的前提下,控制指令仍无法下发至车辆。例如,可能存在ECU通信故障、传感器信号异常、执行器故障或执行指令不一致等问题。该标识符的出现表示自动驾驶系统中与DBW系统相关的故障子状态,具体的故障子状态和DBW系统的配置和设计有关,需要参考相关的系统文档或规范来准确理解和解释该故障子状态的具体含义和处理方法。
对于无法通过自检检测的故障,通过在线控主线程之外再注册另一个线程,起一个Timer Callback()的周期性回调函数,通过不断清零主线程cnt的方式,周期性监控DBW主线程的运行健康状态,得到主模块的健康状态。当监控到以上方式任意一种状态有误,即证明主模块失效,控制指令已无法安全下发到线控底盘,立即报告MU_Control_Out,即上报主模块失效。第二种情况,当主线控单元无法收到MU的数据时,图示的MU健康状态等信号timeout,主线控单元将向RDBW发送的MU健康状态为不健康,RDBW切换冗余计算单元,即发送端和接收端以及中间的传输路线出现故障。第三种情况,冗余线控单元检测主线控单元控制车辆底盘的数据,判断主线控单元失效,冗余线控单元主动使能,切换到RU,即出现主线控单元无法将控制指令下发至车辆底盘,在数据下发的最后一个节点,数据传不到车辆。当以上三种情况发生时,即下发RDBW接管车辆标志位。
自动驾驶中,当遇到以下情况时,RDBW需要接管车辆:MU Adv_sys_state不健康,RU下发RU_CONTROL_IN标志位;MDBW控制车端失效(由各车型判断);MU掉线,数据丢失超过200ms,收到MDBW的退出接管标志位。若处于手动驾驶,RDBW不响应任何接管车辆,RU正常且MU Adv_Sys_State是Fault时,RU主动下发接管车辆指令。
203、若失效,则确认主模块失效,切换至冗余模块。
自动驾驶车辆的冗余切换控制系统具有输出接口输出RDBW接管车辆标志位,车辆收到此标志位即可自动切换RU控制或恢复MU控制,同时RDBW接管车辆后,会立即进行靠边停车的处理,当MU恢复正常时,需要能自动切换到MU控制,MDBW软件内部判断,仅当车辆静止&&EPB拉起&&MU系统恢复正常,且当前非自动,控制权可交由MDBW,即恢复为正常的自动驾驶。
当RU Adv_Sys_State是Fault时,MU需要通过MDBW检测到,请求进自动,RU需要接收/ru_vehicle/enable,RU反馈的所有topic都要带/ru_前缀,/vehicle/dbw_Status里面要反馈冗余计算单元健康状态(redundant_unit_healt)h、主模块总线健康状态(main_unit_can_health)、受控源(control_source),请求进自动时,默认MDBW控车,若车辆已经进自动,RDBW未进入自动状态,RU反馈ADV_SYS_STATE_FAULT,人工驾驶下,control_source应反馈Human,
204、根据自动驾驶车辆的行驶数据和主模块的健康状况反馈,判断是否满足回切条件。
获取自动驾驶车辆当前的转向状态,并生成转向反馈信号;获取冗余计算模块下发的操作指令,并将操作指令与转向反馈信号进行对比,判断操作指令是否为预期操作指令;若是,则将操作指令下发至自动驾驶车辆。仲裁控制权切换到冗余线控单元之后,冗余线控单元需要根据当前车辆的转向实际反馈和冗余模块的指令作对比,即将当前车辆状态和切换之后的指令中将要执行的状态进行对比,做防阶跃保护,避免非预期的大转向,即对比/contr ol/low_level_control_cmd与/ru_control/low_level_control_cmd是否超预期。
一般情况下,RDBW不接管车辆,只有在出现RU请求接管、MDBW请求接管、MDBW失效时,获取RDBW的状态模式,若此时冗余线控单元处于自动驾驶模式,RDBW才接管车辆,在冗余线控单元接管车辆后,判断是否出现车辆精致且驻车制动拉起、车辆切换至人工模式、主线控单元恢复至预备状态时,退出冗余线控接管,将车辆控制权交由主线控单元或人工。同时RDBW接管车辆后,会立即进行靠边停车的处理,当MU恢复正常时,需要能自动切换到MU控制,MDBW软件内部判断,仅当车辆静止、EPB拉起、MU系统恢复正常,且当前非自动,控制权可交由MDBW,即恢复为正常的自动驾驶,且在自动驾驶中,RDBW接管车辆时,control_source应反馈RU接管,否则反馈MU接管,默认情况下,MDBW输出的接管车辆标志位oxE1MDBW_Enable_Ctl应为true,MDBW控制权转移之后,若RDBW请求退出车辆控制,MDBW需要恢复车辆控制权,当MDBW请求进入自动后,需要校核和RDBW的系统状态,若状态不一致,报ADV_Fault。
提取自动驾驶车辆的行驶数据中的车辆状态,判断自动驾驶车辆是否处于静止状态,若处于静止状态,则自动驾驶车辆的行驶数据中驻车制动的状态,并判断驻车制动是否被拉起,若被拉起,则基于主模块的健康状况反馈判断主模块是否有效,若主模块有效,则确认自动驾驶车辆满足预设的回切条件。
205、若满足,将自动驾驶车辆从冗余模块切换至主模块。
基于冗余计算单元的健康状况、控制数据、冗余线控单元的状态模式和车辆当前受控单元得到冗余模块的冗余计算参数,基于主冗计算单元选择数据、冗余计算单元接管指令、冗余计算单元的健康状况得到冗余模块的冗余线控参数,并基于冗余模块的冗余计算参数和冗余线控参数判断冗余模块的健康状态,从确确定是否需要将自动驾驶车辆从冗余模块切换至主模块。
本方案在确认主模块失效,将自动驾驶车辆从主模块切换至冗余模块之后,还进一步判断冗余模块与主模块的状态是否满足回切条件,并在满足回切条件的基础上,将自动驾驶车辆由冗余模块切换至主模块,优化了冗余模块间数据交互模式从而提高系统的实时性,保证了鲁棒性和降低管理难度。
上面对本发明实施例中自动驾驶车辆的主冗切换控制方法进行了描述,下面从模块化功能实体的角度对本发明实施例自动驾驶车辆的主冗切换控制系统进行详细描述,请参阅图5,本发明实施例提供的自动驾驶车辆的主冗切换控制系统的第一种结构示意图,所述主冗切换控制系统包括:控制模块510、主模块520和冗余模块530,所述主模块520包括主计算单元521和主线控单元522,所述冗余模块530包括冗余计算单元531和冗余线控单元532,所述控制模块510包括:
获取单元511,用于获取自动驾驶车辆的主模块计算参数和线控参数;
判断单元512,用于判断所述计算参数和所述线控参数是否满足预设的主冗切换条件;
切换单元513,用于若满足,则下发冗余模块接管指令,并基于所述冗余模块接管指令将自动驾驶车辆从所述主模块切换至冗余模块,基于所述冗余模块进行自动驾驶的控制。
本方案采用模块化的设计,设计通用标准接口和协议,采用一套代码同时部署主冗模块,实现主冗模块完全独立,实现了冗余切换的解耦控制,优化了冗余模块间数据交互模式。
请参阅图6,本发明实施例提供的自动驾驶车辆的主冗切换控制系统的第二种结构示意图,所述主冗切换控制系统包括:控制模块610、主模块620和冗余模块630,所述主模块620包括主计算单元621和主线控单元622,所述冗余模块630包括冗余计算单元631和冗余线控单元632,所述控制模块610包括:
获取单元611,用于获取自动驾驶车辆的主模块计算参数和线控参数;
判断单元612,用于判断所述计算参数和所述线控参数是否满足预设的主冗切换条件;
切换单元613,用于若满足,则下发冗余模块接管指令,并基于所述冗余模块接管指令将自动驾驶车辆从所述主模块切换至冗余模块,基于所述冗余模块进行自动驾驶的控制。
在本实施例中,所述获取单元611包括:
第一读取子单元6111,用于读取自动驾驶车辆主模块中主计算单元接收到的控制模块下发的控制数据、主模块中主线控单元传输的主线控单元的状态模式和车辆当前受控单元,并检测主模块中主计算单元的健康状况;基于所述主计算单元的健康状况、控制数据、主线控单元的状态模式和车辆当前受控单元得到主模块的计算参数;
第二读取子单元6112,用于读取自动驾驶车辆的主模块中主线控单元接收到的主计算单元下发的主冗计算单元选择数据、主计算单元接管指令和主计算单元的健康状况;基于所述主冗计算单元选择数据、主计算单元接管指令、主计算单元的健康状况得到主模块的线控参数。
在本实施例中,所述判断单元612包括:
第一判断子单元6121,用于获取所述主模块中主计算单元的上层算法数据、主模块所在的域控制器的硬件数据和主计算单元的输出数据,并生成故障检测结果;基于所述故障检测结果判断所述主模块中主计算单元的是否失效;若主计算单元失效,则确定所述主模块满足预设的主冗切换条件;
第二判断子单元6122,用于若主计算单元未失效,则判断主线控单元是否接收到主计算单元输出的数据;若未接收到,则确认主计算单元和主线控单元之间的连接线路故障,所述主模块满足预设的主冗切换条件;
第三判断子单元6123,用于若接收到,则接收车辆底盘的反馈数据,并判断车辆底盘是否受主线控单元控制;若否,则确认主线控单元失效,所述主模块满足预设的主冗切换条件。
在本实施例中,所述第一判断子单元6121还用于:判断所述故障检测结果中是否存在规划无法处理的故障类型,其中,所述故障类型包括主计算单元算法输入故障、域控制器硬件故障和输出线路故障;若存在,则确认主计算单元失效;或者,在主模块所在的域控制器中注册基于周期性回调函数的副线程,并基于所述副线程监控主模块中主计算单元的输出状态;若所述输出状态为异常,则确认主计算单元下发的数据无法发送至主线控单元和车辆底盘,主计算单元失效。
在本实施例中,所述切换单元613包括:
下发子单元6131,用于在满足主冗切换条件后,向冗余计算单元下发冗余模块接管指令;获取冗余模块的冗余计算参数和冗余线控参数,并基于所述冗余计算参数和冗余线控参数得到冗余模块的健康状况;
控制子单元6132,用于基于所述冗余模块的健康状况和所述冗余模块接管指令生成冗余计算单元接管请求和冗余线控单元接管请求;基于所述冗余计算单元接管请求和冗余线控单元接管请求将自动驾驶车辆从所述主模块切换至冗余模块,基于所述冗余模块进行自动驾驶的控制。
在本实施例中,所述切换单元613还包括:
回切子单元6133,用于获取自动驾驶车辆的行驶数据和主模块的健康状况反馈,基于所述行驶数据行驶数据和主模块的健康状况反馈判断车辆是否满足预设的回切条件;若满足,则将自动驾驶车辆从所述冗余模块切换至主模块,基于所述主模块进行自动驾驶的控制。
在本实施例中,所述回切子单元6133具体用于:提取自动驾驶车辆的行驶数据中的车辆状态,判断自动驾驶车辆是否处于静止状态;若处于静止状态,则自动驾驶车辆的行驶数据中驻车制动的状态,并判断所述驻车制动是否被拉起;若被拉起,则基于所述主模块的健康状况反馈判断主模块是否有效;若有效,则确认自动驾驶车辆满足预设的回切条件。
本方案通过获取自动驾驶车辆的主模块的计算参数和线控参数,并判断计算参数和线控参数是否满足预设的主冗切换条件,若满足,则下发冗余模块接管指令,并基于冗余模块接管指令将自动驾驶车辆从所述主模块切换至冗余模块,基于冗余模块进行自动驾驶的控制,优化了冗余模块间数据交互模式,提供了效率更高的竹筒切换控制方法。
上面图5-6从模块化功能实体的角度对本发明实施例中的中自动驾驶车辆的主冗切换控制系统进行详细描述,下面从硬件处理的角度对本发明实施例中自动驾驶车辆的主冗切换控制设备进行详细描述。
图7是本发明实施例提供的一种自动驾驶车辆的主冗切换控制设备的结构示意图,该主冗切换控制设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)710(例如,一个或一个以上处理器)和存储器720,一个或一个以上存储应用程序733或数据732的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器720和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对主冗切换控制设备700中的一系列指令操作。更进一步地,处理器710可以设置为与存储介质730通信,在主冗切换控制设备700上执行存储介质730中的一系列指令操作,以实现上述实施提供的方法。
主冗切换控制设备700还可以包括一个或一个以上电源740,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口760,和/或,一个或一个以上操作设备731,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图7所示的主冗切换控制设备结构并不构成对本发明提供的自动驾驶车辆的主冗切换控制设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述各实施例提供的所述的自动驾驶车辆的主冗切换控制方法的各个步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备或系统、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种自动驾驶车辆的主冗切换控制方法,其特征在于,所述主冗切换控制方法包括:
获取自动驾驶车辆的主模块的计算参数和线控参数;
判断所述计算参数和所述线控参数是否满足预设的主冗切换条件;
若满足,则下发冗余模块接管指令,并基于所述冗余模块接管指令将自动驾驶车辆从所述主模块切换至冗余模块,基于所述冗余模块进行自动驾驶的控制。
2.根据权利要求1所述的主冗切换控制方法,其特征在于,所述获取自动驾驶车辆的主模块的计算参数和线控参数,包括:
读取自动驾驶车辆主模块中主计算单元接收到的控制模块下发的控制数据、主模块中主线控单元传输的主线控单元的状态模式和车辆当前受控单元,并检测主模块中主计算单元的健康状况;
基于所述主计算单元的健康状况、控制数据、主线控单元的状态模式和车辆当前受控单元得到主模块的计算参数;
读取自动驾驶车辆的主模块中主线控单元接收到的主计算单元下发的主冗计算单元选择数据、主计算单元接管指令和主计算单元的健康状况;
基于所述主冗计算单元选择数据、主计算单元接管指令、主计算单元的健康状况得到主模块的线控参数。
3.根据权利要求2所述的主冗切换控制方法,其特征在于,所述判断所述计算参数和所述线控参数是否满足预设的主冗切换条件,包括:
获取所述主模块中主计算单元的上层算法数据、主模块所在的域控制器的硬件数据和主计算单元的输出数据,并生成故障检测结果;
基于所述故障检测结果判断所述主模块中主计算单元的是否失效;
若主计算单元失效,则确定所述主模块满足预设的主冗切换条件;
若主计算单元未失效,则判断主线控单元是否接收到主计算单元输出的数据;
若未接收到,则确认主计算单元和主线控单元之间的连接线路故障,所述主模块满足预设的主冗切换条件;
若接收到,则接收车辆底盘的反馈数据,并判断车辆底盘是否受主线控单元控制;
若否,则确认主线控单元失效,所述主模块满足预设的主冗切换条件。
4.根据权利要求3所述的主冗切换控制方法,其特征在于,所述基于所述故障检测结果判断所述主模块中主计算单元的是否失效,包括:
判断所述故障检测结果中是否存在规划无法处理的故障类型,其中,所述故障类型包括主计算单元算法输入故障、域控制器硬件故障和输出线路故障;若存在,则确认主计算单元失效;
或者,
在主模块所在的域控制器中注册基于周期性回调函数的副线程,并基于所述副线程监控主模块中主计算单元的输出状态;若所述输出状态为异常,则确认主计算单元下发的数据无法发送至主线控单元和车辆底盘,主计算单元失效。
5.根据权利要求1-4任一项所述的主冗切换控制方法,其特征在于,所述下发冗余模块接管指令,并基于所述冗余模块接管指令将自动驾驶车辆从所述主模块切换至冗余模块,基于所述冗余模块进行自动驾驶的控制,包括:
在满足主冗切换条件后,向冗余计算单元下发冗余模块接管指令;
获取冗余模块的冗余计算参数和冗余线控参数,并基于所述冗余计算参数和冗余线控参数得到冗余模块的健康状况;
基于所述冗余模块的健康状况和所述冗余模块接管指令生成冗余计算单元接管请求和冗余线控单元接管请求;
基于所述冗余计算单元接管请求和冗余线控单元接管请求将自动驾驶车辆从所述主模块切换至冗余模块,基于所述冗余模块进行自动驾驶的控制。
6.根据权利要求5所述的主冗切换控制方法,其特征在于,在所述基于所述冗余模块接管指令将自动驾驶车辆从所述主模块切换至冗余模块,基于所述冗余模块进行自动驾驶的控制之后,还包括:
获取自动驾驶车辆的行驶数据和主模块的健康状况反馈,基于所述行驶数据行驶数据和主模块的健康状况反馈判断车辆是否满足预设的回切条件;
若满足,则将自动驾驶车辆从所述冗余模块切换至主模块,基于所述主模块进行自动驾驶的控制。
7.根据权利要求6所述的主冗切换控制方法,其特征在于,所述基于所述行驶数据行驶数据和主模块的健康状况反馈判断车辆是否满足预设的回切条件,包括:
提取自动驾驶车辆的行驶数据中的车辆状态,判断自动驾驶车辆是否处于静止状态;
若处于静止状态,则自动驾驶车辆的行驶数据中驻车制动的状态,并判断所述驻车制动是否被拉起;
若被拉起,则基于所述主模块的健康状况反馈判断主模块是否有效;
若有效,则确认自动驾驶车辆满足预设的回切条件。
8.一种自动驾驶车辆的主冗切换控制系统,其特征在于,所述主冗切换控制系统包括:控制模块、主模块和冗余模块,所述主模块包括主计算单元和主线控单元,所述冗余模块包括冗余计算单元和冗余线控单元,所述控制模块包括:
获取单元,用于获取自动驾驶车辆的主模块计算参数和线控参数;
判断单元,用于判断所述计算参数和所述线控参数是否满足预设的主冗切换条件;
切换单元,用于若满足,则下发冗余模块接管指令,并基于所述冗余模块接管指令将自动驾驶车辆从所述主模块切换至冗余模块,基于所述冗余模块进行自动驾驶的控制。
9.一种自动驾驶车辆的主冗切换控制设备,其特征在于,所述主冗切换控制设备包括存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述主冗切换控制设备执行如权利要求1-7中任一项所述的主冗切换控制方法的各个步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-7中任一项所述的主冗切换控制方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310758577.8A CN117031920A (zh) | 2023-06-25 | 2023-06-25 | 主冗切换控制方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310758577.8A CN117031920A (zh) | 2023-06-25 | 2023-06-25 | 主冗切换控制方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117031920A true CN117031920A (zh) | 2023-11-10 |
Family
ID=88640145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310758577.8A Pending CN117031920A (zh) | 2023-06-25 | 2023-06-25 | 主冗切换控制方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117031920A (zh) |
-
2023
- 2023-06-25 CN CN202310758577.8A patent/CN117031920A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9740178B2 (en) | Primary controller designation in fault tolerant systems | |
JP6714611B2 (ja) | 車両の電子制御システムに冗長性を付与する方法及び装置 | |
US9934111B2 (en) | Control and data transmission system, process device, and method for redundant process control with decentralized redundancy | |
JP3912379B2 (ja) | 安全ネットワークシステム及び安全スレーブ並びに通信方法 | |
JP7179999B2 (ja) | 車両制御システム | |
CN110737192A (zh) | 汽车驾驶冗余控制系统及其方法 | |
KR20200038478A (ko) | 중복 휠 속도 감지를 위한 시스템들 및 방법들 | |
CN106054852A (zh) | 集成式故障沉默和故障运转系统中的可量容错的构造 | |
CN101609421B (zh) | 运算处理装置的多重控制系统及多重控制方法 | |
JP2014075105A (ja) | 制御システム | |
CN107229534A (zh) | 混合双重双工故障操作模式和对任意数量的故障的概述 | |
CN114348027B (zh) | 车辆控制方法、装置、平台及存储介质 | |
CN112740121A (zh) | 用于车辆的控制架构 | |
JP2013201664A (ja) | 冗長通信装置 | |
KR102263570B1 (ko) | 수술 로봇 운행상태 고장 검출 방법 | |
EP2811350A1 (en) | Controlling distributed subsea units | |
CN117031920A (zh) | 主冗切换控制方法、系统、设备及存储介质 | |
JP7014140B2 (ja) | 電磁ブレーキ制御装置及び制御装置 | |
CN106970550B (zh) | 车辆子系统通信仲裁 | |
JP2006279498A (ja) | ノード診断システム及びノード | |
WO2023207701A1 (zh) | 自动驾驶方法和系统、控制器、电子设备和计算机存储介质 | |
JP4258460B2 (ja) | ネットワークシステム及びネットワークシステムの故障診断方法 | |
JP2006344023A (ja) | 制御装置 | |
WO2021019715A1 (ja) | 車両制御装置 | |
JP2006279497A (ja) | ノード診断システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |