使用冗余处理器架构通过参数数据进行诊断故障检测的系统、方法和装置与流程

文档序号:17941935发布日期:2019-06-18 23:11阅读:299来源:国知局
使用冗余处理器架构通过参数数据进行诊断故障检测的系统、方法和装置与流程

本发明总体涉及用于诊断故障检测的系统、方法和装置,并且更具体地,涉及在冗余平台架构中利用容差通过相应平台数据的参数数据的相关比较来检测和确定故障的诊断系统、方法和装置。

自主和半自主车辆能够感测其环境并基于所感测的环境进行导航。这种车辆使用诸如雷达、激光雷达、图像传感器等的传感设备来感测它们的环境。车辆系统还使用来自全球定位系统(gps)技术、导航系统、车辆到车辆通信、车辆到基础设施技术和/或线控驾驶系统的信息来导航车辆。结果,这种车辆使用多个计算平台来执行这些感测活动。通常通过对来自这些多个计算平台的相同数据进行比较来执行诊断测试。这种形式的比较可能导致诊断测试检测结果中的假阳性或假阴性。

因此,期望提供用于执行诊断测试的改进的系统、方法和装置。进一步期望提供具有改进的容差能力的系统、方法和装置,使得错误结果能最小化。进一步期望提供用于检测和隔离特别发生于车辆系统的处理器中的故障的系统、方法和装置。此外,结合附图和前面的技术领域及

背景技术:
,本发明的其他期望特点和特征将从随后的具体实施方式和所附权利要求中变得显而易见。



技术实现要素:

提供了用于在冗余平台架构中利用容差通过相应平台数据的参数数据的相关比较来检测车辆的处理器和系统中的故障,从而使假阳性和假阴性比较结果最小化的系统、方法和装置。

在实施例中,提供了一种用于检测故障的系统。该系统包括:自主车辆中的故障诊断计算机,其被配置为经由至少第一平台和第二平台接收参数数据,用于同时处理每个平台中的参数数据,其中第一平台和第二平台是彼此的冗余配置,其中参数数据包括数据的特征;检查平台,其连接到第一平台和第二平台,用于执行使用冲突测试来检查由两个平台处理的参数数据的方法,该方法包括:通过对每个平台上发现的一个或多个相应数据应用冲突测试来检测在冲突测试规定的容差范围内的数据冲突;以及,基于所检测到的每个平台上发现的一个或多个相应数据的参数数据的冲突比较结果,确定第一平台、第二平台或两者中的故障。

在实施例中,该系统包括:第一路径和第一环境,其被配置为使得能够经由第一平台检查由检查平台在第一平台上发现的参数数据。

在实施例中,该系统包括:第二路径和第二环境,其被配置为使得能够经由第二平台检查由检查平台在第二平台上发现的参数数据。第一平台包括处理器和硬件加速器。第二平台包括处理器和硬件加速器。检查平台包括用于检查第一平台的参数数据的第一检查平台。检查平台包括用于检查第二平台的参数数据的第二检查平台。

在实施例中,在该系统中,该方法还包括:基于冲突测试结果中无冲突状态或检测到冲突状态的结果,确定任一平台或两个平台中的故障。已经接收的参数数据来自包含故障诊断计算机的自主车辆的处理器,其中故障与特定车辆处理器相关联。

在另一个实施例中,提供了一种用于检测故障的方法。该方法包括:由配置在至少第一平台和第二平台中的自主车辆中的故障诊断计算机接收参数数据,用于同时处理每个平台中的参数数据,其中第一平台和第二平台是彼此的冗余配置,其中参数数据包括数据的特征;由连接到第一平台和第二平台的检查平台使用冲突测试来检查由两个平台处理的参数数据;通过对每个平台上发现的一个或多个相应数据应用冲突测试来检测在冲突测试规定的容差范围内的数据冲突;以及,基于所检测到的在每个平台上发现的一个或多个相应数据的参数数据的冲突比较结果,在第一平台、第二平台或两者中确定故障。

在另一实施例中,该方法还包括:在第一路径和第一环境中配置第一平台,以使得能够检查由检查平台在第一平台上发现的参数数据。

在另一实施例中,该方法还包括:在第二路径和第二环境中配置第二平台,以使得能够检查由检查平台在第二平台上发现的参数数据。第一平台包括处理器和硬件加速器。第二平台包括处理器和硬件加速器。检查平台包括用于检查第一平台的参数数据的第一检查平台。检查平台包括用于检查第二平台的参数数据的第二检查平台。

在另一实施例中,该方法还包括:基于冲突测试结果中无冲突状态或检测到冲突状态的结果,确定任一平台或两个平台中的故障。已经接收的参数数据来自包含故障诊断计算机的自主车辆的处理器,其中故障与特定车辆处理器相关联。

在另一实施例中,提供了一种用于检测故障的自主车辆的装置。该装置包括:在自主车辆内的故障诊断计算机,其配置在至少第一平台和第二平台中,接收参数数据以同时处理每个平台中的参数数据,其中第一平台和第二平台是彼此的冗余配置,其中参数数据包括数据的特征;检查平台,其连接到第一平台和第二平台,用于执行使用冲突测试来检查由两个平台处理的参数数据的方法,该方法包括:通过对每个平台上发现的一个或多个相应数据应用冲突测试来检测在冲突测试规定的容差范围内的数据冲突;以及,基于所检测到的在每个平台上发现的相应数据的参数数据的冲突比较结果,确定第一平台、第二平台或两者中的故障。

在另一实施例中,在该装置中,该方法还包括:将已生成参数数据到故障诊断计算机的处理器的故障位置隔离,其中故障与特定车辆处理器相关联。

附图说明

下面将结合以下附图来描述示例性实施例,其中相同的附图标记表示相同的元件,并且其中:

图1是示出根据各种实施例的具有计算机诊断检测系统的车辆的功能框图;

图2是示出根据各种实施例的具有一个或多个自主车辆的运输系统的功能框图;

图3是示出根据各种实施例的包括自主车辆中的计算机诊断检测系统的自主驾驶系统的参数数据流图;

图4是示出根据各种实施例的计算机诊断检测系统的参数数据流框图;

图5a和图5b示出了根据各种实施例的通过计算机诊断检测系统的冲突检测测试来进行的各种路径检查的表格;

图6示出了根据各种实施例的计算机诊断检测系统的各种冲突测试结果的表格;

图7是示出根据各种实施例的用于自主或半自主车辆的计算机诊断检测方法的流程图;以及

图8是示出根据各种实施例的用于自主或半自主车辆的计算机诊断检测方法的流程图。

具体实施方式

以下详细描述本质上仅是示例性的,并不旨在限制应用和用途。此外,不存在被前述技术领域、背景技术、发明内容或以下详细描述中提出的任何明示或暗示的理论的约束的意图。如这里所使用的,术语模块单独地或以任何组合指代任何硬件、软件、固件、电子控制组件、处理逻辑和/或处理器设备,包括但不限于:专用集成电路(asic)、电子电路、处理器(共享的、专用的或组),以及执行一个或多个软件或固件程序的存储器,组合逻辑电路和/或提供所描述的功能的其他合适的组件。

可以在功能和/或逻辑块组件和各种处理步骤方面描述本发明的实施例。应当理解,这样的块组件可以由被配置为执行指定功能的任意数量的硬件、软件和/或固件组件来实现。例如,本发明的实施例可以采用各种集成电路组件(例如,存储器元件、数字信号处理元件、逻辑元件、查寻表等),其可以在一个或多个微处理器或其他控制设备的控制下执行各种功能。另外,本领域技术人员将理解,本发明的实施例可以结合任意数量的系统来实践,并且这里描述的系统仅仅是本发明的示例性实施方式。

为简洁起见,可能不在此详细描述与信号处理、数据传输、参数流、信令、控制和系统的其他功能方面(以及系统的各个操作组件)有关的常规技术。此外,这里包含的各种图中所示的连接线旨在表示各种元件之间的示例性功能关系和/或物理连接。应当注意,在本发明的实施例中可以存在许多替代或附加的功能关系或物理连接。

为了实现高水平自动化,车辆通常配备有越来越多的不同类型的设备,用于分析车辆周围的环境,例如摄像头或捕获环境图像的其他成像设备、雷达或其他用于测量或检测环境中的特征的测距设备等。实际上,不同的车载设备位于车辆上的不同位置,并且通常以不同的采样率或刷新率操作,并且因此从不同的视点或视角捕获对应于不同时间点的不同类型的数据和参数。

用于这些传感器的汽车级硬件加速器的可获得性是最大有限的,因此汽车传感器中使用的硬件加速器和处理器源自消费者市场。有了这些非汽车级硬件加速器和处理器,特别是在与汽车级硬件加速器和处理器相关的情况下,这些加速器和处理器在用于汽车传感器中时的集成性可能并不总是足以满足自动汽车部署所需的可靠性。也就是说,这种硬件加速器和处理器在用于自主车辆操作时具有故障并不罕见。

因此,当在自主车辆中操作处理器时,需要一种方便且精确的方式来检测和隔离这些处理器中的故障,而不会有高假阳性或假阴性结果。此外,检测过程不仅在自主车辆操作期间,而且在自主车辆系统的操作之前从开始或提供自动活动以识别和校正处理器故障时起都是必要的。

在各种实施例中,冗余架构可用于实现处理器故障的故障检测、隔离或部分隔离的诊断覆盖的目标。在这种情况下,故障检测和隔离可以在容忍计算机或处理器操作步骤之间的比较(例如,数据异步性)的双(如果不是更多)冗余计算架构中实现,并且通过执行对至少两个冗余计算平台之间的输入参数数据和输出参数数据而不是实际数据本身进行比较的诊断测试来提供硬件加速器的故障检测。

参数数据可以包括但不限于形成在数据流操作期间定义数据或数据条件的集合之一的可测量因子;为数据流的特定情况选择的数量值,以及与可表示其他可变数量的数据流相关的数量;和/或其值决定数据和数据流的特征或行为的物理属性。可以设想,为了比较目的,参数数据不被认为是实际数据本身,而是数据的特征;然而,参数数据也可以不包括实际数据,而可以包括实际数据的性质或特性。换句话说,参数可以是实际数据的一部分以及不是实际数据的一部分或者是对实际数据规定的值。

参照图1,根据各种实施例的总体示出的车辆系统100与车辆10相关联。通常,车辆系统100包括配置有冗余处理器架构的计算机诊断系统200,以从车辆10的各种处理器和控制系统接收特征检测的输入并发送特征检测的输出。

本说明书主要描述了在用于汽车系统、设备和应用的诊断故障覆盖的背景下,在计算机诊断系统200中使用参数数据比较而不是数据本身。然而,应该理解,计算机诊断系统200对参数数据比较的使用可以用于检测多种系统、设备和应用中的故障。所提到的诊断测试或检查包括具有两个输入的冲突测试,以对路径、hw加速器、处理器和其他组件和系统中的参数数据进行各种检查和确定。此外,诊断测试或检查不限于冲突测试。

如图1所示,车辆10通常包括底盘12、车身14、前轮16和后轮18。车身14布置在底盘12上并且基本上包封车辆10的部件。车身14和底盘12可共同形成车架。车轮16-18各自在靠近车身14的相应角落处可旋转地联接到底盘12。

在一些实施例中,车辆10是自主车辆,并且计算机诊断系统200结合到车辆10中(下文中称为自主车辆10)。本说明书专注于自主车辆应用中的示例性应用。然而,应该理解的是,这里描述的计算机诊断系统200被设想用于包括驾驶员辅助系统的常规和半自动机动车辆中,作为示例,所述驾驶员辅助系统利用车道感知信息,例如车道偏离预警系统和车道保持辅助系统。

自主车辆10例如是自动控制以将乘客从一个位置运送到另一个位置的车辆。在所示实施例中,车辆10被描绘为乘用车,但是应当理解,也可以使用包括摩托车、卡车、运动型多功能车(suv)、休闲车(rv)、船舶、飞机等的任何其他交通工具。在示例性实施例中,自主车辆10是所谓的四级或五级自动化系统。四级系统表示“高度自动化”,指的是自主驾驶系统在动态驾驶任务的所有方面的驾驶模式特定性能,即使人类驾驶员没有对干预请求做出适当响应。五级系统表示“完全自动化”,指的是自主驾驶系统在可由人类驾驶员管理的所有道路和环境条件下的动态驾驶任务的所有方面的全时性能。

如图所示,自主车辆10通常包括推进系统20、传动系统22、转向系统24、制动系统26、传感器系统28、致动器系统30、至少一个数据存储设备32、至少一个控制器34和通信系统36。在各种实施例中,推进系统20可包括内燃机、诸如牵引电动机的电机和/或燃料电池推进系统。传动系统22构造成根据可选择的速比将动力从推进系统20传递到车轮16-18。根据各种实施例,传动系统22可包括步进比自动变速器、无级变速器或其他适当的变速器。制动系统26构造成向车轮16-18提供制动扭矩。在各种实施例中,制动系统26可包括摩擦制动器、线控制动器、诸如电机的再生制动系统,和/或其他适当的制动系统。转向系统24影响车轮16-18的位置。尽管用于说明目的被描绘为包括方向盘,但是在本发明范围内构思的一些实施例中,转向系统24可以不包括方向盘。

传感器系统28包括一个或多个传感设备40a-40n,其感测自主车辆10的外部环境和/或内部环境的可观察状况。传感设备40a-40n可包括但不限于雷达、激光雷达、全球定位系统、光学摄像头140a-140n、热学摄像头、超声波传感器和/或其他传感器。在实施例中,传感设备40a-40n包括用于以特定帧速率获取图像的一个或多个摄像头。一个或多个摄像头安装在车辆10上并且被布置用于捕获车辆10的外部环境的图像(例如,视频形式的一系列图像)。

致动器系统30包括一个或多个致动器设备42a-42n,其控制一个或多个车辆特征,例如但不限于推进系统20、传动系统22、转向系统24和制动系统26。在各种实施例中,车辆特征还可包括车辆内部和/或外部特征,例如但不限于门、行李箱和诸如空气、音乐、照明等的车厢特征(未标号)。

数据存储设备32存储用于自动控制自主车辆10的数据。在各种实施例中,数据存储设备32存储可导航环境的定义的地图。在各种实施例中,所定义的地图可以由远程系统预定义并从远程系统获得(关于图2进一步详细描述)。例如,定义的地图可以由远程系统组装并且以无线方式和/或以有线方式传送到自主车辆10并存储在数据存储设备32中。可以理解,数据存储设备32可以是控制器34的一部分,与控制器34分开,或者控制器34的一部分和单独系统的一部分。

控制器34包括至少处理器44和处理器45的冗余计算机架构,处理器44可以被认为是主处理器而处理器45可以被认为是备用处理器。处理器44和处理器45连接到至少一个计算机可读存储设备或介质46。处理器44和处理器45可以是任意定制的或商业上可获得的处理器、中央处理单元(cpu)、图形处理单元(hw加速器)、与控制器34相关联的若干处理器中的辅助处理器、基于半导体的微处理器(以微芯片或芯片组的形式)、微处理器,上述任意组合,或通常用于执行指令的任意设备。计算机可读存储设备或介质46可以包括例如只读存储器(rom)、随机存取存储器(ram)和保活存储器(kam)中的易失性和非易失性存储器。kam是持久性或非易失性存储器,其可用于在两个处理器44、45都断电时存储各种操作变量。计算机可读存储设备或介质46可以使用许多已知存储器设备中的任何一种来实现,例如prom(可编程只读存储器)、eprom(电子prom)、eeprom(电可擦除prom)、闪存,或能够存储数据的任意其他电、磁、光或组合存储器,其中一些数据代表可执行指令,由控制器34用于控制自主车辆10。

指令可以包括一个或多个单独的程序,每个程序包括用于实现逻辑功能的可执行指令的有序列表。当由处理器44和处理器45执行时,指令从传感器系统28接收信号并处理信号,执行用于自动控制自主车辆10的部件的逻辑、计算、方法和/或算法,并基于该逻辑、计算、方法和/或算法产生控制信号到致动器系统30以自动控制自主车辆10的部件。尽管图1中仅示出了一个控制器34,但是自主车辆10的实施例可包括任意数量的控制器34,其通过任意合适的通信介质或通信介质的组合进行通信,并且协作以处理传感器信号,执行逻辑、计算、方法和/或算法,并且产生控制信号以自动控制自主车辆10的特征。

在各种实施例中,并且参考照图4,控制器34的一个或多个指令体现在诊断计算机系统200中,并且当由处理器44、45执行时被配置为接收输入数据和输入参数数据并产生输出数据和输出参数数据以供车辆10的自动化特征使用。

通信系统36被配置为以无线方式与其他实体48通信信息,例如但不限于其他车辆(“v2v”通信)、基础设施(“v2i”通信)、远程系统和/或个人设备(关于图2更详细地描述)。在示例性实施例中,通信系统36是无线通信系统,被配置为经由使用ieee802.11标准的无线局域网(wlan)或通过使用蜂窝数据通信进行通信。然而,诸如专用短程通信(dsrc)信道的附加或替代通信方法也被认为在本发明的范围内。dsrc信道是指专为汽车应用而设计的单向或双向短距离到中距离无线通信信道以及相应的协议和标准集。

现在参照图2,在各种实施例中,关于图1描述的自主车辆10可以适用于特定地理区域(例如,城市、学校或商业园区、购物中心、游乐园、活动中心等)中的出租车或穿梭系统的环境,或者可以只需由远程系统管理。例如,自主车辆10可以与基于自主车辆的远程运输系统相关联。图2示出了总体上以50示出的操作环境的示例性实施例,其包括基于自主车辆的远程运输系统52,其与如关于图1所描述的一个或多个自主车辆10a-10n相关联。在各种实施例中,操作环境50还包括一个或多个用户设备54,其经由通信网络56与自主车辆10和/或远程运输系统52进行通信。

通信网络56根据需要支持由操作环境50支持的设备、系统和组件之间的通信(例如,经由有形通信链路和/或无线通信链路)。例如,通信网络56可以包括无线载波系统60,例如蜂窝电话系统,其包括多个蜂窝塔(未示出)、一个或多个移动交换中心(msc)(未示出),以及将无线载波系统60与陆地通信系统连接所需的任意其他网络组件。每个蜂窝塔包括发送和接收天线以及基站,来自不同蜂窝塔的基站直接或通过诸如基站控制器的中间设备连接到msc。无线载波系统60可以实现任意合适的通信技术,包括例如数字技术,例如cdma(例如,cdma2000)、lte(例如,4glte或5glte)、gsm/gprs或其他当前或新兴的无线技术。其他蜂窝塔/基站/msc布置是可能的,并且可以与无线载波系统60一起使用。例如,基站和蜂窝塔可以共同位于同一站点,或者它们可以彼此远程定位,每个基站可以负责单个蜂窝塔,或者单个基站可以服务于各个蜂窝塔,或者各种基站可以连接到单个msc,仅举几个可能的布置。

除了包括无线载波系统60之外,可以包括卫星通信系统64形式的第二无线载波系统,以提供与自主车辆10a-10n的单向或双向通信。这可以使用一个或多个通信卫星(未示出)和上行链路发送站(未示出)来完成。单向通信可以包括例如卫星无线电服务,其中节目内容(新闻、音乐等)由发送站接收,打包以便上载,然后发送到卫星,卫星将节目广播给订户。双向通信可以包括例如使用卫星在车辆10和站之间中继电话通信的卫星电话服务。卫星电话可以用于无线载波系统60之外或代替无线载波系统60。

还可以包括陆地通信系统62,其是连接到一个或多个陆线电话的传统陆基电信网络,并且将无线载波系统60连接到远程传输系统52。例如,陆地通信系统62可以包括公共交换电话网(pstn),例如用于提供硬连线电话、分组交换数据通信和因特网基础设施的公共交换电话网。陆地通信系统62的一个或多个分段可以通过使用标准有线网络、光纤或其他光网络、有线网络、电力线、诸如无线局域网(wlan)的其他无线网络,或者提供宽带无线接入(bwa)的网络或其任意组合来实现。此外,远程传输系统52不需要经由陆地通信系统62连接,而是可以包括无线电话设备,使得它可以直接与无线网络(例如无线载波系统60)进行通信。

尽管图2中仅示出了一个用户设备54,但是操作环境50的实施例可以支持任意数量的用户设备54,包括由一个人拥有、操作或以其他方式使用的多个用户设备54。可以使用任意合适的硬件平台来实现由操作环境50支持的每个用户设备54。在这方面,用户设备54可以以任意常见的形状规格实现,包括但不限于:台式计算机;移动计算机(例如,平板计算机、笔记本计算机或上网本计算机);智能电话;视频游戏设备;数字媒体播放器;一件家庭娱乐设备;数字摄像头或视频摄像机;可穿戴计算设备(例如,智能手表、智能眼镜、智能服装);等等。由操作环境50支持的每个用户设备54被实现为计算机实现的或基于计算机的设备,其具有执行这里描述的各种技术和方法所需的硬件、软件、固件和/或处理逻辑。例如,用户设备54包括可编程设备形式的微处理器,其包括存储在内部存储器结构中的一个或多个指令,并应用于接收二进制输入以创建二进制输出。在一些实施例中,用户设备54包括能够接收gps卫星信号并基于那些信号生成gps坐标的gps模块。在其他实施例中,用户设备54包括蜂窝通信功能,使得设备使用一个或多个蜂窝通信协议通过通信网络56执行语音和/或数据通信,如这里所讨论的。在各种实施例中,用户设备54包括视觉显示器,诸如触摸屏图形显示器或其他显示器。

远程传输系统52包括一个或多个后端服务器系统,其可以是基于云的、基于网络的,或驻留在由远程传输系统52服务的特定园区或地理位置。远程运输系统52可以由现场顾问或自动顾问或两者的组合来管理。远程运输系统52可以与用户设备54和自主车辆10a-10n进行通信以安排乘坐,调度自主车辆10a-10n等。在各种实施例中,远程运输系统52存储存储账户信息,例如订户认证信息、车辆标识符、简档记录、行为模式和其他相关订户信息。

根据典型的用例工作流程,远程运输系统52的注册用户可以经由用户设备54创建乘车请求。乘车请求通常将指示乘客的期望的接载地点(或当前gps位置)、期望的目的地位置(其可以标识预定义的车辆停靠点和/或用户指定的乘客目的地)以及接载时间。远程运输系统52接收乘车请求,处理该请求,并且派遣自动驾驶车辆10a-10n中所选择的一个(当一个可用时)以在指定的接载地点和适当的时间接载乘客。运输系统52还可以生成适当配置的确认消息或通知并发送给用户设备54,以使乘客知道车辆在途中。

如可以理解的,这里公开的主题为可以被视为标准或基准自主车辆10和/或基于自主车辆的远程运输系统52提供某些增强特征和功能。为此,可以对自主车辆和基于自主车辆的远程运输系统进行修改、增强或补充,以提供下面更详细描述的附加特征。

这里描述的关于计算机诊断系统200的主题不仅适用于自主驾驶系统、设备和应用,而且还适用于具有利用计算机能力的一个或多个自动化特征的其他驾驶系统。此外,计算机诊断系统200可在除汽车领域之外的其他系统、设备和应用中操作,用于故障检测和故障隔离。

根据示例性自动驾驶应用,控制器34实现如图3所示的自主驾驶系统(ads)70。也就是说,控制器34的合适的软件和/或硬件组件(例如,处理器44、45和计算机可读存储设备46)用于提供与车辆10相结合使用的自主驾驶系统70。

在各种实施例中,自主驾驶系统70的指令可以由功能、模块或系统组成。例如,如图3所示,自主驾驶系统70可包括计算机视觉系统74、定位系统76、引导系统78和车辆控制系统80。如可以理解的,在各种实施例中,指令可以被组织成任意数量的系统(例如,组合、进一步划分等),因为本发明不限于当前示例。

在各种实施例中,计算机视觉系统74合成并处理传感器数据并预测车辆10的环境中对象和特征的存在、位置、分类和/或路径。在各种实施例中,计算机视觉系统74可以合并来自多个传感器的信息,多个传感器包括但不限于摄像头、激光雷达、雷达和/或任意数量的其他类型的传感器。

定位系统76处理传感器数据以及其他数据以确定车辆10相对于环境的位置(例如,相对于地图的本地位置、相对于车道的精确位置、车辆航向、速度等)。引导系统78处理传感器数据以及其他数据以确定车辆10跟随的路径。车辆控制系统80根据确定的路径产生用于控制车辆10的控制信号。

在各种实施例中,控制器34实现机器学习技术以辅助控制器34的功能,例如特征检测/分类、障碍物减轻、路线遍历、映射、传感器集成、地面实况确定等。

如上面简要提到的,图1(和图4)的计算机诊断系统200可以包括在自主驾驶系统和应用中的ads70内,例如,作为计算机诊断系统200的故障检测和隔离能力的一部分。计算机诊断系统200被配置为输出参数数据以供在依赖于特征检测(例如图像特征分类和定位)的各种可能的自动控制模块中使用。在一些实施例中,检测到的图像特征参数数据包括道路特征参数数据(例如道路边界和道路标记,包括路侧标志和交通灯),其包括车道特征参数数据(例如车道边界和车道标记)和周围物体参数数据(包括行人、其他车辆、建筑物等)。这种检测到的图像特征参数数据可由引导系统78使用,以确定车辆10的轨迹。车辆控制系统80与致动器系统30一起工作以穿过这样的轨迹。

例如,如关于图4更详细地示出的,并继续参照图1和图3,计算机诊断系统200包括主计算平台210和备用计算平台222,每个计算平台从一个或多个传感器设备225接收输入参数数据。在示例性实施例中,来自一个或多个传感器设备225(例如,图1的光学摄像头40a-40n)的输入参数数据由主计算平台210和备用计算平台220二者接收。更详细地,图5中示出了计算机诊断系统200的示例性诊断路径检查。应当理解,图5示出了对输入和输出参数数据进行路径检查用于故障检测和故障隔离的一种技术。在替代性实施例中使用其他故障检测和故障隔离技术,其提供输入和输出参数数据的路径检查,以确定隔离或部分隔离的组件故障。

返回参照图4,在示例性实施例中,参数数据经由参数流的双路径布置,由主硬件加速器212和备用硬件加速器222处理。由主硬件加速器212和备用硬件加速器222在正常操作中的处理将在相对相同或相似的时间帧或周期内发生。也就是说,主硬件加速器212和备用硬件加速器222将在处理器周期或规定的窗口或范围内接收具有参数数据的数据。此外,可以通过设计改变或修改定时周期;这是可以在单个时段或多个时段内考虑的正常操作。可以根据管道中的操作需求和处理能力来设计、改变和更新延迟时间。同样地,当双路径参数数据流在路径1(或由cpu内部解决方案计算的轨迹)上的输出216和输入217处继续到主处理器214时,参数数据流可以在冗余路径(路径2)内同步、几乎同步或者在时间段范围内,路径2中参数流在到备用处理器224的输出226和输入227处。参数流程经由218所示的路径1中的第一环境在主处理器214的双旁路路径中继续,并且经由228所示的路径2中的第二环境在备份处理器224的冗余旁路路径中继续。

在主路径检查模块234处,主路径检查1模块234接收三个输入,第一输入:通过219所示的路径1从主处理器214输出的参数数据流;第二输入:通过路径2从备份硬件加速器222输出的参数数据流;第三输入:从218所示的路径1中的主硬件加速器212输出的参数数据流。

在备份路径检查2模块236处,备用路径检查2模块同样接收三个输入:第一输入:通过229所示的路径2从备份处理器220输出的参数数据流;第二输入:218所示的路径1中的主硬件加速器212输出的参数数据流中的参数数据;第三输入:从228所示的路径2中的备份硬件加速器222输出的参数数据流。

主命令计算模块232通过路径1从219所示的主处理器214的输出接收参数数据流输入。备份命令计算模块238通过路径2从229所示的备份处理器214的输出接收参数数据流输入。

主处理器214执行与运动规划有关的功能,并且备份处理器224执行与运动规划相关的相同功能。主硬件加速器212执行与感知有关的功能,并且备用硬件加速器222执行与感知相关的相同功能。

故障检测通过在环境(在硬件加速器中计算)上铺设路径(在处理器中计算)来运行冲突检测测试来实现。使用来自同一计算平台的两个输入运行冲突检查允许检查以确定处理器故障。因此,对来自两个计算平台的输入使用冲突测试,并利用能够容忍跨计算平台的时间同步中缺陷的参数。直接比较来自多台计算机的相同数据以检测故障容易由于数据不同步而导致假阳性检测,因此利用与数据相关联且对于同步问题鲁棒性更高的参数将导致更少的假阳性检测,继而提供鲁棒性更高的诊断覆盖。

图5a和图5b示出了根据示例性实施例的用于利用来自相同平台的输入执行冲突检测测试的结果的类型。在图5a中,一系列冲突测试中的基本路径检查结果在冲突检测表500中通过“健康”、“失败”、“通过”或“未通过”状态指示。在冲突检测表500中,在行510中,图4的主硬件加速器212示出了路径检查器/冲突检测测试的结果,其使用来自行510中的相同计算平台/控制器的两个输入(路径和环境),其中第一次测试结果:“健康”;在第二次测试中:“失败”。也就是说,在第二列515中,如果hw加速器在行510处“健康”或无故障并且cpu1在行520处无故障或“健康”,则行525中的路径检查器/冲突检测测试结果将不会检测到任何冲突(列515中示出),并基于所有模块都“健康”或无故障的假设而操作。

在第三列525和行520中,检查图4的主处理器214并且结果为第一次测试:“健康”;在第二次测试中:“健康”。在第三列525中,示出了cpu1为“健康”(无故障)但是hw加速器1为故障;当对路径1(cpu1的输出)与环境1(hw加速器的输出)执行冲突测试时,路径检查器未检测到冲突,因此无法检测到故障。因此,需要使用路径2检查进行冗余比较检查(图6中示出)。因此,在这种情况下,即使存在有故障的硬件加速器,如果没有对路径2进行额外的比较检查,基本路径检查器也不会检测到该故障。也就是说,为了检测该故障,需要如图6所示对路径1与环境2以及路径2与环境1执行冲突检查。

在图5b的冲突检测表中,在第四列505中,示出了hw加速器1为健康(无故障)525但cpu1有故障;当对行530的路径1(cpu1的输出)与环境1(hw加速器1的输出)执行冲突测试时,路径检查器将检测到冲突540。这可以被认为是理想的结果,因为诊断测试(路径检查器/冲突测试)能够检测cpu1中的故障。

健康(无故障)cpu中的运动规划功能将针对输入(其是来自hw加速器的感知环境)规划无冲突路径(轨迹)。换句话说,即使感知环境故障或由于hw加速器故障而出现故障,cpu中的运动规划输出与环境感知相比时仍将处于无冲突状态,因为在这种情况下的环境感知是不正确的。换句话说,感知的环境实际上有故障而表现是健康的,并且cpu规划的路径将覆盖错误的感知。

在图6中,由图1-图4的计算机诊断系统进行的诊断检查的结果的示例性实施例在诊断检查表600中示出。诊断检查表例示了各种场景下的冲突测试和比较结果。场景如下:在行610中:路径1与环境1;在行615中:路径2与环境2;在行620中:路径2与环境1;在行625中:路径1与环境2;在行630中,活动平台结果;在行640中:故障隔离结果。

在示例性实施例中,当满足以下条件时,活动平台被标识为平台“1”且在列650中没有标识故障隔离:在行610中,对路径1与环境1的冲突检测测试结果为“无冲突”;在行615中,对路径2与环境2的冲突检测测试结果为“无冲突”;在行620中,对路径2与环境1的冲突检测测试结果为“无冲突”;在行625中,对路径1与环境2的冲突检测测试结果为“无冲突”。当所有冲突检查都已通过时,可以使用平台1或2中的任一个。然而,平台1被假定为主要平台,因此被视为活动平台。在列650中,故障隔离“无”和活动平台“平台1”可以表示为:if[(冲突检测测试(路径1,环境1)=无冲突)and(冲突检测测试(路径2,环境2)=无冲突)and(冲突检测测试(路径2,环境1)=无冲突)and(冲突检测测试(路径1,环境2)=无冲突)],then活动平台=平台1且故障隔离=无。

在另一示例性实施例中,当满足以下条件时,活动平台被标识为平台“2”且列655中故障隔离标识为cpu1:在行610中,对路径1与环境1的冲突检测测试结果为“检测到冲突”;在行615中,对路径2与环境2的冲突检测测试结果为“无冲突”;在行620中,对路径2与环境1的冲突检测测试结果为“无冲突”;在行625中,对路径1对环境2的冲突检测测试结果为“x”,其表示结果与任一“无冲突”或“检测到冲突”状态的冲突检测测试结果无关。当路径1与环境1的结果确定为“检测到冲突”状态时,冲突测试表示cpu1有故障;因此,通过检测cpu1中的故障,不需要运行针对路径1(故障cpu1的输出)和环境2的冲突测试。另外,由于路径2与环境2以及路径2与环境1的冲突检测测试的结果被确定为“无冲突”;可以确定在cpu2或任一硬件加速器(1或2)中没有检测到故障。此外,由于cpu2和硬件加速器2都被确定为处于无故障状态,因此平台2是“活动平台”。在列655中,故障隔离“cpu1”和活动平台状态“平台2”可以由以下逻辑关系表示:if[(冲突检测测试(路径1,环境1)=检测到冲突)and(冲突检测测试)(路径2,环境2)=无冲突)and(冲突检测测试(路径2,环境1)=无冲突)],then活动平台=平台2且故障隔离=cpu1。

在另一示例性实施例中,当活动平台被标识为“无”并且故障隔离在列660中被标识为cpu1和(硬件加速器1或硬件加速器2)时,则满足以下条件:在行610中,对路径1与环境1的冲突检测测试结果为“检测到冲突”;在行615中,对路径2与环境2的冲突检测测试的结果为“无冲突”;在行620中,对路径2与环境1的冲突检测测试的结果为“检测到冲突”;在行625中,对路径1与环境2的冲突检测测试结果为“x”。由于路径2与环境1的冲突检测测试结果为“检测到冲突”,因此在硬件加速器之一(1或2)上检测到故障。在列660中,故障隔离“cpu1和(硬件加速器1或硬件加速器2)”和活动平台“无”可以由以下逻辑关系表示:if[(冲突检测测试(路径1,环境1)=检测到冲突)and(冲突检测测试(路径2,环境2)=无冲突)and(冲突检测测试(路径2,环境1)=检测到冲突)],then活动平台=无且故障隔离=cpu1and(硬件加速器1or硬件加速器2)。

在另一示例性实施例中,当满足以下条件时,活动平台被标识为平台“1”并且在列665中故障隔离标识为cpu2:在行610中,对路径1与环境1的冲突检测测试的结果为“无冲突”结果;在行615中,对路径2与环境2的冲突检测测试的结果为“检测到冲突”;在行620中,对路径2与环境1的冲突检测测试的结果为“x”;在行625中,对路径1与环境2的冲突检测测试的结果为“无冲突”。路径2与环境2检测到故障表示路径2出现故障,并且不必要进行路径2与环境1的测试来标识在此特定情况下cpu2中的故障。在列665中,故障隔离“cpu2”和活动平台“平台1”可以由如下逻辑关系表示:if[(冲突检测测试(路径1,环境1)=无冲突)和(冲突检测测试(路径2,环境2)=检测到冲突)and(冲突检测测试(路径1,环境2)=无冲突)],then活动平台=平台1且故障隔离=cpu2。

在列670中,故障隔离“cpu2和(硬件加速器1或硬件加速器2)”和活动平台“无”可以由如下逻辑关系表示:if[(冲突检测测试(路径1,环境1)=无冲突)and(冲突检测测试(路径2,环境2)=检测到冲突)and(冲突检测测试(路径1,环境2)=检测到冲突)],then活动平台=无且故障隔离=cpu2and(硬件加速器1or硬件加速器2)。

如果在列675中hw加速器1或hw加速器2中发现故障隔离,则故障隔离和活动平台可以由如下逻辑关系表示:if[(冲突检测测试(路径1,环境1)=无冲突)and(冲突检测测试(路径2,环境2)=无冲突)and(冲突检测测试(路径1,环境2)=检测到冲突)],then活动平台=无,故障隔离=hw加速器1orhw加速器2。

如果在列680中故障隔离在hw加速器1或hw加速器2中,则故障隔离和活动平台可以由如下逻辑关系表示:if[(冲突检测测试(路径1,环境1)=无冲突)and(冲突检测测试(路径2,环境2)=无冲突)and(冲突检测测试(路径2,环境1)=检测到冲突)],then活动平台=无,故障隔离=hw加速器1orhw加速器2。

如果在列685中故障隔离在cpu1和cpu2中,则故障隔离和活动平台可以由如下逻辑关系表示:if[(冲突检测测试(路径1,环境1)=检测到冲突)and(冲突检测测试(路径2,环境2)=检测到冲突)],then活动平台=无,故障隔离=cpu1andcpu2。

在表600中的各种示例性实施例中,示出了针对主处理器和备用处理器的用于路径1和2以及环境1和2的比较的活动平台和故障隔离的不同状态。

现在参照图7和图8,并继续参照图1-图6,流程图示出了可由根据本发明的图4的诊断检测系统200执行的故障诊断方法700。如根据本发明可以理解的,该方法内的操作顺序不限于如图7和图8中所示的顺序执行,而可以根据适用的并与本发明一致的一个或多个变化的顺序执行。在各种实施例中,方法700可以被安排为基于一个或多个预确定的事件运行,和/或可以在半自动或自主车辆10的操作期间或在一些其他应用的操作期间连续运行。

图1-图6的计算机诊断系统200的冲突测试使用如下公式计算参数数据的车头时距:

车头时距=(dh-dt)/vh

(1)d=v2/(2*μ*g)

(2)d=停止距离,v=速度,μ=表面系数,g=减速度(3)

如果车头时距在规定范围或阈值之外,则发生“检测到冲突”的结果。如果车头时距在规定范围或阈值内或之内,则发生“无冲突”结果。车头时距计算提供了对相应路径和环境的“同步”参数数据的容差。车头时距计算提供了用于当在相应路径中进行比较时确定参数数据何时不同步的特定计算。如果针对特定冗余处理器架构配置认为存在许多假阳性或阴性,则可以修改或改变车头时距计算。

在图7和图8中,在任务705处,由图1的计算机诊断系统200对路径1和环境1(图4中示出)的参数数据执行冲突检测测试比较。如果没有检测到参数数据的冲突,则流程进行到下一个确定任务。如果在任务705处检测到冲突,则冲突检测结果是“检测到冲突”。由于输出和输入来自主处理器214,因此可以确定主处理器214(cpu1)有故障。因此,在图6的表600中的路径检查结果包括主处理器214(cpu1)中的故障隔离。如果在任务705没有发现冲突,则在任务707处将图4的主处理器214(cpu1)的状态标识为无故障(即,在cpu1中未检测到故障),并且流程进行到任务710的下一个诊断检查。

在任务710处,由图1的计算机诊断系统200执行路径2和环境2(图4中示出)的参数数据的冲突检测测试比较。如果没有检测到参数数据的冲突,则在任务712处确定cpu2的状态为“无故障”(即,在cpu2中没有检测到故障),并且流程进行到任务715进行下一个确定。如果在任务710处检测到冲突,则检测到备份处理器224(cpu2)的故障。

然后在任务725处执行二级诊断检查。也就是说,在任务725处,由图1的计算机诊断系统200执行路径1和环境2(图4中示出)的参数数据的冲突检测测试比较。在该阶段,如果没有冲突,则任务727针对主处理器214(cpu1)和主硬件加速器212(hw加速器1)检测到无故障并且在表600中示出。也就是说,在任务729处,确定平台1没有故障并且可以用作用于控制车辆的活动平台。可替换地,如果在任务725处,通过对路径1和环境2的参数数据的冲突检测测试比较检测到冲突,则在任务730处检测到主硬件加速器212(hw加速器1)或备份硬件加速器222(hw加速器1)的故障或失效。此外,还在任务733处确定平台1和平台2都不应该用作用于控制车辆的活动平台。

在任务710处,如果平台是无冲突的并且在712处没有在cpu2中检测和确定故障,则在该阶段,流程进行到另一个诊断故障测试。在任务715处,由图1的计算机诊断系统200执行路径1和环境2(图4中示出)的参数数据的冲突检测测试比较。在任务715处,如果没有检测到参数数据的冲突,则确定此阶段的平台状态为“无冲突”,并且流程进行到任务735的下一个确定。

在任务735处,执行对路径2和环境1的冲突检测测试比较。如果检测到冲突,则在任务738处,检测到硬件加速器212(hw加速器1)或硬件加速器222(hw加速器2)中故障。接下来,流程进行到任务740,并且确定两个平台都没有故障并且可以用于控制车辆。在任务735处,如果没有检测到冲突,则在任务742处,没有检测到主处理器214和备用处理器224,或主硬件加速器212(hw加速器1)和备用硬件加速器(hw加速器2)的故障。接下来,在任务745处,确定两个平台都没有故障并且可以用于控制车辆。在任务715处,如果检测到冲突,则流程进行到任务760(在图8中)并且确定硬件加速器212(hw加速器1)或硬件加速器222(hw加速器2)中有故障或失效。然后,进行到任务763,确定两个平台都不应当用于控制车辆。

由于来自输入侧和输出侧的数据参数之间的冲突测试结果,经由图2的环境2输入到备份处理器224的数据参数与路径2上备份处理器224的输出数据参数不同步。也就是说,每个数据参数的车头时距被认为在有效范围或容差之外。由于输出和输入来自备份处理器224,因此可以确定备份处理器224(cpu2)有故障。因此,在图6的表600中的路径检查结果示出了备份处理器224(cpu2)中的故障隔离。

在任务705处,如果检测到冲突,则流程进行到任务765(在图8中),并且在图4的主处理器214(cpu1)中检测到故障。在任务770处,通过对路径2和环境1应用冲突测试比较进行诊断故障测试。如果测试结果为检测到无冲突,则流程进行到任务773,在主硬件加速器212(hw加速器1)或备用硬件加速器222(hw加速器2)中检测到故障。

接下来,流程进行到任务775,并且通过对路径2和环境1应用冲突测试比较进行诊断故障测试。如果路径2被标识为无冲突。可替换地,如果在任务770处检测到冲突,则流程进行到任务780,在任务780处主硬件加速器212(hw加速器1)或备用硬件加速器222(hw加速器2)中未检测到故障或失效。接下来,在任务785处,确定平台2没有故障并且应该用于控制车辆。

可替换地,在任务775处,如果路径2和环境1的诊断故障测试比较产生检测到冲突的结果,则流程进行到任务753。在任务753处,确定在hw加速器1或hw加速器2中有故障。因此,在任务755处,确定两个平台都不应当用于控制车辆。

在任务770处,如果路径2和环境1的诊断故障测试比较产生检测到冲突的结果,则流程进行到任务790。在任务790处,确定在cpu2中有故障并且随后在任务795处确定两个平台都不能用于控制车辆。

尽管本发明实施例中涉及汽车应用,但是设想了通过利用检测到的图像特征参数数据210进行感知来执行控制的其他应用。

尽管在前面的详细描述中已经呈现了至少一个示例性实施例,但是应该理解存在许多变体。还应当理解,一个或多个示例性实施例仅是示例,并不旨在以任何方式限制本发明的范围、适用性或配置。相反,前面的详细描述将为本领域技术人员提供用于实现一个或多个示例性实施例的便利路线图。应当理解,在不脱离所附权利要求及其合法等同物所阐述的本发明范围的情况下,可以对元件的功能和布置做出各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1