用于识别用于控制受控对象的电子系统中的故障的容错方法与流程

文档序号:15614183发布日期:2018-10-09 21:00阅读:188来源:国知局

本发明涉及一种用于控制处于变化的环境中的受控对象(例如车辆)的方法,其中执行控制的电子系统包括通过实时通信系统来交换数据的传感器(特别是多个传感器)、执行器(特别是多个执行器)以及节点计算机(特别是多个节点计算机)。

此外,本发明涉及一种用于控制处于变化的环境中的受控对象(例如车辆)的电子系统(例如,计算机系统),其中该电子系统包括通过实时通信系统来交换数据的传感器(特别是多个传感器)、执行器(特别是多个执行器)以及节点计算机(特别是多个节点计算机)。

最后,本发明涉及一种具有此类电子系统的受控对象。

本发明属于计算机技术领域。本发明涉及用于受控对象、特别是自主受控对象、特别是车辆的容错控制的方法和电子系统。



背景技术:

传感器技术和计算机技术的发展实现了自主地控制目标的技术设备和对象(例如,车辆)在很大程度上自主的控制。

根据维基百科[4],自动驾驶的分类分为六个等级:

等级0:“仅驾驶员”,驾驶员自己行驶、转向、给油、刹车等。

等级1:特定的辅助系统帮助车辆操作(主要是acc)。

等级2:由辅助系统(例如,堵车助手)承担部分自动化(例如,自动停车、车道保持功能、一般的纵向引导、加速、刹车等)。

等级3:高度自动化。驾驶员不必持续地监控系统。车辆自主地执行诸如触发闪光器、车道变换以及车道保持之类的功能。驾驶员可以从事其他事情,但是在需要时在警告时间内被系统要求接管操纵。这种形式的自主在高速公路上技术上是可行的。法律制定者正在着手允许等级3-车辆。预期在2020年以前可以实现。

等级4:完全自动化。车辆的操纵持续地由系统承担。如果系统不再胜任驾驶任务,则要求驾驶员接管操纵。

等级5:车辆的完全自主。车辆不装备有方向盘,车辆可以在没有驾驶员的情况下运动。

目前,在市场上可获得的车辆实现了等级2。对于等级2而言,驾驶员负责连续地监控计算机系统的规定功能并且在故障情形中立即干预。在更高的自动化等级中,必须容错地执行计算机系统,以便即使在计算机中有故障的情况下也确保车辆的安全性。

在iso26262标准中,车辆中的电子系统(硬件加软件)被分配为四个完整性级别之一(级别asila到asild),其中级别asild表示最高完整性等级[5]。用于完全自动化的车辆控制(等级4和等级5)的电子系统的完整性必须对应于asild。虽然在asilb的情况下出现对于车辆的安全性而言具有严重后果的危险故障的概率必须小于每小时10-6(即,103fit),但是在asild的情况下此概率必须小于每小时10-8(即,10fit)。

电子系统失灵的原因可能是硬件的老化故障(物理故障)或者硬件或软件中的设计错误(设计错误)。

当在其寿命开始时能够完全运作的组件由于硬件的老化过程而失灵时,会发生老化故障。在现有技术的汽车芯片中,老化故障的永久故障率<100fit。通过使用主动的冗余(tmr或自检查组件),可以在硬件中实现asild的所要求的小于10fit的故障率。

设计错误可能包含在硬件或软件中。硬件设计错误的后果可以通过不同硬件的主动冗余来克服。

导致减小在软件中存在未发现的设计错误的概率的措施为系统性设计过程、验证和检验,这主要通过广泛的测试进行。

在软件中出现设计错误的重要原因在于软件的复杂度。根据现有技术,全面地验证复杂的软件系统以便能够实现asilb,但不是asild,所要求的故障率是可能的。

现有技术包括控制系统(其是用于受控对象的实时控制和/或调节的系统)(例如本发明的电子系统)周期性地运行[8,第7页]。在周期性的观测时刻(采样点)观测受控对象。在此情况下获取的数据形成,优选尽可能快地,计算执行器所用的(新的)设定值(sollwerte)的基础,该设定值影响受控对象的行为。

我们将在每次观测之后执行的可能分布式的计算序列的周期性重复执行称为帧。

必须在一帧内处理的软件过程的结果在一条或多条数据流路径(dfp)中确定。

两个时间参数与每一帧相联系:

执行历时表示采样点与帧的结果输出至待控制对象的执行器的时刻之间的时间区间。帧的执行历时越短,则控制系统的质量越好。

帧区间(采样时间)表示两个相继采样点之间的时间间隔。



技术实现要素:

本发明的任务在于,提高对受控对象的控制的可靠性。

该任务用开头部分提及的方法和开头部分提及的电子系统(例如计算机系统)通过以下方式来解决:用传感器周期性地观测受控对象及其环境,并且在每一帧中基于通过观测受控对象及其环境所获取的数据来执行至少三条独立的数据流路径(dfp),其中例如对于每条dfp而言借助不同的传感器来进行观测,并且其中

●第一dfp借助复杂软件、根据通过观测受控对象及其环境所获取的数据来确定受控对象和受控对象的环境的模型,并且基于该模型来执行轨迹规划,以便建立在给定的环境条件下对应于被指派的预定任务的一条或多条可能的轨迹,并且其中

●第二dfp借助优选不同的复杂软件、根据通过观测受控对象及其环境所获取的数据来确定受控对象和受控对象的环境的模型,并且基于该模型来确定安全的空-时域srzd,所有安全的轨迹必须位于该srzd内,并且其中

●第三dfp根据通过观测受控对象及其环境所获取的数据来确定受控对象和受控对象的环境的模型并且基于该模型来计算紧急轨迹,

并且其中在正常操作中决策单元检验紧急轨迹是否在安全的空-时域(srzd)之内。

本发明公开了用于提高复杂的电子系统的可靠性的方法和硬件架构。通过针对性地使用硬件和软件冗余,显著提高了电子系统的可靠性。通过针对性地使用硬件和软件冗余,立即识别出紧急系统的潜在失灵。

例如,每条dfp可以使用所有传感器的观测。还可以规定,每条dfp仅使用特定传感器的观测,并且例如还可以规定,每条dfp仅使用专门分配给它的传感器(即,这些传感器的观测)。

传感器优选是同步的,即所有传感器同时(周期性地)执行其观测。

优选地,在一帧中每次同时执行这些dfp。这意味着,一方面,传感器的观测同时进行(参见上文)以使得这些dfp在相同时间开始,并且此外这些dfp的结果在相同时刻传递给决策单元。

在航天和航空安全技术领域中,区分简单软件和复杂软件[6]。如果要使用的软件是简单的并且能够形式检验和/或全面测试,则假定可以通过仔细的设计过程来达成asild的所要求的故障率。

如果要使用的软件是复杂的,则假定出现设计错误的概率对应于asilb。通过软件冗余(即,用随后的因应用而异的结果对比来并行地执行两个或更多个不同的asilb软件系统)可以显著提高软件的可靠性。在[7]中描述了用于通过主动冗余(借助不同的软件)来提高软件可靠性的方法。然而,当不同的软件版本不能重复确定性地表现时,不可使用这种方法。

当在软件中存在非确定性设计构造(nddc)[8,第128页]时,不同软件不是重复确定性的。nddc在两个正确的、但是不兼容的情景之间作出决定。一般而言,不能假定具有nddc的软件的两个不同版本会得到相当的结果。

如果例如在街道上存在石头并且要作出车辆应当从左边还是右边绕过这块石头的决定,则一般而言不能假定两个不同的软件版本会得到相同的结果。尽管两个结果都是正确的,但是它们不是重复确定性的。由此丢失了容错性。

车辆的自主操纵需要用于图像识别、环境模型建立以及轨迹规划的软件系统。该软件系统不是简单的,而是复杂的并且通常包含nddc。

优选建议,将整个软件系统划分成两个部分。一个部分包含复杂软件。第二部分包含优选具有nddc的简单软件。

复杂软件的可靠性通过复杂软件的在独立的故障包容单元(fcu)上执行的两个或更多个不同版本的功能性冗余来显著提高。简单软件的可靠性通过详尽测试和形式分析来实现。

为了达成复杂软件的广泛的软件相异性,一个软件版本在空-时域中计算一个或多个合适的轨迹,而另一独立的软件版本在时-空域中确定每条安全轨迹都必须位于其内的结构。独立的第三软件版本确定车辆在安全状态中行驶的紧急轨迹。

在简单软件中在没有软件冗余的情况下实现并且优选包含nddc的决策单元检验由复杂软件提供的替换结果并且决定选择哪个替换结果。该简单软件优选在容错的硬件中执行,以掩蔽出现的硬件故障。

本发明描述了一种创新的方法,其说明了可以如何实现用于控制受控对象、特别是对于安全关键性的受控对象的复杂电子系统(例如,对自主车辆的控制)。在简单软件与复杂软件之间进行区分,其中简单软件优选在容错的硬件上执行,并且其中例如复杂软件的多个不同版本同时在独立的故障包容单元(fcu)上执行,并且其中由借助简单软件来实现的决策单元根据复杂软件的结果来选择要传递给执行器的结果。

以下描述根据本发明的方法或系统的有利设计:

决策单元的计算可以在tmr硬件上执行。

决策单元的计算可以同时在两个独立的自检查硬件组件上执行。

将第一dfp和第二dfp的结果传递给决策单元,其中决策单元借助简单软件来实现,并且其中决策单元检验由第一dfp确定的轨迹中的至少一条轨迹是否是安全的,即位于由第二dfp确定的srzd之内,并且其中在至少一条轨迹是安全的情形中选择由第一dfp确定的安全轨迹之一,并且其中决策单元将对应于所选择的轨迹的设定值传递给执行器控制装置,并且其中在没有一条轨迹是安全的情形中等待至少一个后续帧的结果,并且其中在接下来的一个或两个帧中都不存在安全轨迹的情形中由决策单元切换至紧急轨迹。如果在一帧中确定由第一dfp在该帧中确定的轨迹都不安全(即,没有一条轨迹位于由第二dfp在该帧中确定的srzd之内),则如上所述地等待至少一个跟随在所观察的帧之后的帧中的结果,并且如果在(相对于所观察的帧)接下来的一个或两个帧中都不存在安全轨迹,则由决策单元切换到紧急轨迹。

决策单元可以在不存在紧急轨迹或者紧急轨迹不安全(即,不位于srzd之内)的情形中输出警报信号,例如向受控对象的用户(例如,车辆的驾驶员)传送警报信号。

附图说明

以下根据附图中示出的实施例来描述本发明。在附图中示出:

图1示出了用于控制车辆形式的受控对象的复杂电子系统的数据流图,

图2示出了具有用于执行nddc的tmr硬件的用于实现图1的复杂电子系统的可能硬件架构,以及

图3示出了具有用于执行nddc的自检查硬件的用于实现图1的复杂电子系统的可能硬件架构。

具体实施方式

以下对实现的具体描述是以自主车辆控制系统为例,关于新颖方法的许多可能实施方法之一。该描述使用的术语如下所述。这些术语不仅在附图描述的框架中,而且在整个公开内容的上下文中均适用。

受控对象(“受控对象”,缩写co)是一种技术设备,该技术设备以随时间在给定环境条件下实现被指派的预定任务为目标来由电子系统(例如,计算机系统)和/或人控制。co的示例为:车辆、飞机、农业机械、机器人、或者无人机。

无人机被指派的任务可以例如在于:在被封锁的空域的情况下或者在达到一定的最小飞行高度的情况下飞抵特定的目标等。

环境模型是一种数字数据结构,其在给定时刻表示环境的、特别是co的环境的对于预定任务而言重要的特性的图像。环境模型的示例为:对街道的描述以及在所选时刻位于街道上的静态和动态对象。

轨迹是空-时域中的路径,co可以随时间执行该路径以实现预定任务。co的轨迹的特性取决于co的构造、被指派的预定任务以及当前的环境条件。例如,将车辆可能在给定环境条件下执行或经过以便达到目的地的可能路径称为轨迹。一条或多条轨迹的特性可以例如是行驶经过轨迹的速度。

软件过程被理解为程序系统在一个或多个计算机上的执行。

故障包容单元(fcu)是将故障原因的直接后果隔离的组件。

概念“容错的硬件”被理解为按照存在的故障假设来掩蔽出现的硬件故障的硬件架构。此类硬件架构的示例为三重模块冗余(tmr)或软件在自检查组件上的并行执行,如在(6,第156页)中描述的。现有技术包括冗余的fcu通过至少两个独立的通信信道来接收其输入数据并且通过至少两个独立的通信信道来传递其输出数据。

数据流路径(dfp)是一系列分布式软件过程,其中第一软件过程读取输入数据并且位于前面的软件过程的输出数据是后续软件过程的输入数据。最后软件过程的输出数据是dfp的结果数据。在实时数据处理的许多应用情形中,dfp的第一软件过程接受传感器数据,并且dfp的最后软件过程产生执行器的设定值。

在实时数据处理的大多数应用情形中,循环地执行dfp。两个循环之间的时间间隔称为帧。在dfp的两个相继帧之间可以存储软件过程的内部状态[8,第84页]。

如果两个dfp跟踪相同的目标设置、但是这两个dfp的软件过程使用不同算法(算法相异性)和/或不同输入数据(数据相异性),则这两个dfp是不同的。

环境建模是一种软件过程,其基于环境的静态数据和由不同传感器获取的环境的动态数据来建立环境模型。

轨迹规划是一种软件过程,其基于给定的环境模型和给定的目的来确定解决预定任务或被指派的任务的一个或多个可能的轨迹。

时刻的不久的将来是一时间区间,该时间区间开始的一刻直至在进程(例如,车辆)处于安全的状态结束的时刻。

例如,当需要10秒以使车辆静止(安全状态)并且设置每秒30帧的采样率时,不久的将来包含300个时间上等距的时刻的序列。

安全轨迹是时-空域中的轨迹,该轨迹描述进程(例如,车辆)在不久的将来的道路,其中该道路没有障碍物并且已考虑到所有在不久的将来相关(例如,行驶动态)的边界。

例如,如果车道是潮湿的,则必须设置不同于车道干燥时的行驶动态边界。

紧急轨迹是将进程(例如,车辆)引导到安全状态中的安全轨迹。

安全的空-时域(srzd)是空-时域中的管状结构,其中包含了不久的将来的所有安全轨迹。

决策单元是因应用而异的软件过程,其包含接收作为输入数据的多条建议、分析这些建议并且具有作出选择哪条建议的决定的自由,该建议可能是一变更了的建议。在许多情形中,决策单元包含nddc。

正常操作的特征在于,由轨迹规划计算出的轨迹位于安全的空-时域(srzd)中。

例如,决策单元包含作为输入的车辆的可能的轨迹的多条建议并且决定要执行的可能改变的一条轨迹。

图1示出了用于车辆的自主控制的复杂电子系统的数据流图。图1的方框的竖直连接线100示出了从上到下的数据流。

在图1中示出了三个不同的dfp110、120和130。每个dfp具有自己的用于观测车辆环境的传感器。这些传感器被循环地读取。第一dfp110具有传感器111,第二dfp120具有传感器121,并且第三dpf130具有传感器131。车辆的传感器的示例为相机、雷达传感器、激光雷达传感器和超声传感器。在dfp的第一处理级中,读取并且预处理原始传感器数据。这在dfp110中是软件过程112、在dfp120中是软件过程122、并且在dfp130中是软件过程132。

有利地,软件过程112、122和132使用不同算法(算法相异性),该些算法被供有不同输入数据(数据相异性)。

有利地,传感器111、121和131同时观测环境。同时观测可以用从容错的全局时间推导出的分布式触发信号来达成。

在dfp的第二处理级中,基于所接收到的传感器数据以及关于环境的静态参数的信息(例如,来自导航系统的存在的地图材料)来执行环境建模。这在dfp110中是软件过程113、在dfp120中是软件过程123、并且在dfp130中是软件过程133。

有利地,软件过程113、123和133使用不同算法(算法相异性),该些算法被供有不同输入数据(数据相异性)。

在第一dfp110的第三处理级(即,软件过程114)中,基于第二处理级113的所建立的环境模型来执行轨迹规划。

在第二dfp120的第三处理级(即,软件过程124)中,基于第二处理级123的所建立的环境模型来确定所有安全轨迹必须位于其中的安全的空-时域(srzd)。

在dfp130的第三处理级(即,软件过程134)中,基于第二处理级133的所建立的环境模型来计算紧急轨迹,该紧急轨迹可以在不久的将来之内将车辆引导到安全状态中。

第一dfp110的第三处理级的轨迹规划114生成一条或多条用于抵达目的地的替换轨迹,这些轨迹被提供给后续软件过程(决策单元150)。所建议的轨迹可以由轨迹规划114从安全性的角度以及是否有效地抵达目的地或完成被指派任务的角度被评价。

在简单软件中实现的决策单元150检验轨迹规划114的所选轨迹是否在由第二dfp120的软件过程124确定的安全的空-时域(srzd)之内。如果是这种情形,则相应的设定值被传递给执行器。

如果轨迹规划114的任何轨迹都不位于由软件过程124确定的srzd之内,则决策单元不向执行器输出新的设定值,而是等待下一帧。

如果在下一帧中轨迹规划114的任何轨迹也不位于由软件过程124确定的srzd之内,则决策单元选择由软件过程134提供的紧急轨迹并且使车辆进入安全状态。

图2示出了用于执行图1的dfp的可能的硬件结构。图2的方框表示组件。图2的组件的连接线200示出了存在的用于传递数据的通信信道。

dfp110包含传感器111和组件210。dfp120包含传感器121和组件220。dfp130包含传感器131和组件230。组件210形成故障包容单元(fcu),该fcu包含用于执行dfp110的软件过程112、113和114的硬件组件(节点计算机、数据导线、存储器)。组件220形成故障包容单元(fcu),该fcu包含用于执行dfp120的软件过程122、123和124的硬件组件(节点计算机、数据导线、存储器)。组件230形成故障包容单元(fcu),该fcu包含用于执行dfp130的软件过程132、133和134的硬件组件(节点计算机、数据导线、存储器)。

图1的决策单元150同时重复确定性地在三个节点计算机251、252和253上执行,以便能够掩蔽硬件故障。三个节点计算机251、252和253的结果被传递给优选为智能的执行器控制装置260,该执行器控制装置260进行三选二投票。

图3示出了用于执行图1的dfp的另一硬件结构。图2的方框表示组件。图3和图2中相同的附图标记表示相同的元件。

组件的连接线300示出了存在的用于传递数据的通信信道。与图2不同,在图3中,决策单元150在两个自检查的组件351和352上执行。优选为智能的执行器控制装置360接受351或352的结果之一。由于在组件351和352上运行的软件过程是重复确定性的并且组件351和352的硬件自己检验,因而组件351和352的结果必须是相同的。

在正常操作中,特别是在每一帧中,至少一个由第一dfp计算出的轨迹位于由第二dfp计算出的安全的空-时域(srzd)之内。为了能够识别执行紧急轨迹计算的第三dfp中的停机或故障,优选规定在正常操作中、特别是在每一帧中检验紧急轨迹是否位于srzd之内。如果不位于srzd之内,则向驾驶员发送警报信号,以便向驾驶员通知紧急轨迹计算失灵了。

在故障情形中,由第一dfp计算出的轨迹不在由第二dfp计算出的安全的空-时域(srzd)之内。在故障情形中,不能决定第一dfp还是第二dfp有故障。优选在故障情形中规定,由决策单元选择紧急轨迹,而不检验紧急轨迹是否位于srzd之内。

在连续的操作中,决定由于硬件中的老化故障还是软件故障而引起dfp的结果中所确定的错误是非常困难的。然而,此区别在出现故障的时候是不重要的,因为所建议的架构掩蔽了这两种故障类型。

所引用的文献:

[1]2016年2月4日公布的题为“deviceandmethodfortheautonomouscontrolofvehicles(用于车辆的自主控制的设备和方法)”的美国专利申请20160033965

[2]pct申请pct/at2015/050212。用于安全关键应用的计算机系统和方法。在奥地利专利局提交的fts计算机技术的专利申请。2015年9月3日。

[3]奥地利专利申请a5073/2016。用于借助不同的轨迹规划来控制自主技术设备的容错的方法和装置。在奥地利专利局提交的fts计算机技术的专利申请。2016年8月16日

[4]在2016年8月11日调用的维基百科“自动驾驶”

[5]在2016年8月11日调用的维基百科“汽车安全完整性等级iso26262”

[6]faa。针对部分23架飞机的咨询性循环系统安全评估。url:http://www.faa.gov/documentlibrary/media/advisory_circular/ac%2023.1309-1e.pdf,在2016年8月11日调用

[7]avizienis,a的“用于容错软件的n版本办法”,ieee软件工程期刊,第11卷,第1491-1501页,1985年12月

[8]kopetz,h.的“实时系统,用于分布式嵌入式应用的设计原理”,施普林格出版社,2011年。

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