一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于自主系统的开发和实时应用的形式化验证的制作方法

2022-03-19 14:54:27 来源:中国专利 TAG:


1.本公开涉及用于自主系统的形式化(formal)验证方法,自主系统是,例如,诸如自动驾驶汽车、无人驾驶飞行器(unmanned aerial vehicle,uav)等自主交通工具,该形式化验证方法可以实时地应用(在交通工具的操作期间“在线”)和在用于检查自主系统是否符合预定义的规则集合的开发过程(“离线”)期间应用。


背景技术:

2.如今,许多机电系统被开发和销售,而没有满足重要的安全标准。该事实的原因是根据可应用的安全标准进行开发的所需的成本和时间付出是相对高的。因此,仅“高端”应用(例如在汽车和航空工业领域中)严格地将该标准应用于系统设计中。
3.根据应用,机电系统应当根据不同的安全标准来开发,例如,在汽车工业领域中的iso26262(标题为:“道路车辆.功能安全性”),用于机器安全性的iec62061(标题为“机械安全.与安全有关的电气、电子和可编程序电子控制系统的功能安全”),在铁路工业领域中的en51028,或在航空工业领域中,为了满足例如欧洲机械指令的要求的d0254/d0178c。它们中的大多数源自元标准iec 61508。为了做到这一点,所谓的v模型通常是根据这些标准在系统设计(软件和硬件设计)中应用的公认的系统开发过程。
4.为了根据v模型开发和设计系统,需要大量的开发时间用于测试、文档编制和验证。作为说明性示例,工作流的起点可以是所要求的文本规范。在下一步骤中,开发符合所要求的规范的系统软件模型(例如,使用通用数值计算环境matlab/simulink)。为了证明符合所要求的规范,独立开发者接着(四眼原则)在低关键程度的情况下进行审阅,或者第三方审阅者(六眼原则)在系统的高关键程度的情况下额外进行审阅。
5.为了降低开发成本,mathworks公司引入了几种基于matlab的工具,该基于matlab的工具允许开发过程的部分自动化。这些工具包括自动代码生成、模型中的所要求变化的自动可追踪性、自动测试设计以及系统设计的验证和确认。回顾v模型开发周期,这些工具使“v”的下部部分实现了自动化,而v模型的顶部级别仍然需要必须由工程师“手动”执行的手动工作。
6.除了在开发过程期间自主系统的有效验证之外,还需要在自主系统(例如,自动驾驶汽车或uav)的操作期间连续检查和验证系统行为,以便确保实际的系统行为符合由预定义的规则集合(例如,交通规则)指定的所需要的行为。


技术实现要素:

7.本文描述的一个实施例涉及一种用于监督动态系统(例如交通工具)的方法。该方法包括接收系统状态样本,以及针对特定时刻、基于当前系统状态和表示动态系统的系统模型来计算系统状态的可达集合。该方法还包括计算通用规则的特定表现形式(specific manifestation)的数学表示,并且基于可达集合和通用规则的特定表现形式的数学表示来计算系统状态的允许子集。此外,该方法包括测试系统状态样本是否在允许子集内。
8.在一个具体实施例中,系统状态样本由耦接到动态系统的控制器预测(预先计算),其中预测的系统状态样本是由控制器规划的轨迹的一部分。
9.本文描述的另一实施例涉及一种控制系统。该系统包括动态系统(例如,诸如交通工具的机械系统)和数字控制器,该数字控制器耦接到动态系统以形成控制回路。控制系统还包括监视器单元,该监视器单元被配置为:接收传感器数据,该传感器数据包括关于动态系统的当前系统状态的信息;基于当前系统状态和系统模型、针对特定时刻计算系统状态的可达集合;计算通用规则的特定表现形式的数学表示,其中基于传感器数据确定该特定表现形式;以及基于可达集合和通用规则的特定表现形式的数学表示,计算系统状态的允许子集。此外,控制系统包括测试单元,该测试单元被配置为从数字控制器接收系统状态样本,并且测试系统状态样本是否在允许子集内。
附图说明
10.参考以下附图和描述可以更好地理解本发明。附图中的部件不一定按比例绘制;相反,重点在于说明本发明的原理。此外,在附图中,相同的附图标记表示相应的部分。在附图中:
11.图1是可视化的形式化验证方法的一个示例的示图。
12.图2图示了在开发过程期间“离线”使用的形式化验证方法的一个实施例的数据流和功能块。
13.图3是图示了特征的几何实现的一个示例的图。
14.图4是图示开发过程的数据流和设置的图。
15.图5示出了使用图形用户界面(graphical user interface,gui)来将文本规范转换成表示系统要求的数字数据。
16.图6示出了实时验证方法的一个实施例的数据流和功能块。
17.图7是示出了紧急路径的生成的示例性流程图。
18.图8是示出本文描述的用于监督/监视系统的方法的一个示例性实施例的示例性流程图。
具体实施方式
19.本文描述的实施例的一个方面首先涉及要控制的系统状态的可达集合的计算,其次涉及“特征”的几何解释的计算,自主交通工具应当遵循或遵守该几何解释,该几何解释包括关于交通工具可能如何(或不)违反特征的一些信息。然后,该信息被用于评估(例如,仿真(simulation)、预测或测量的)样本系统状态(由对系统的特定输入产生)是否在可达集合内并且不违反特征。如果是,则形式化验证样本系统状态(或形式化验证引起系统状态的系统输入)。如下面将更详细地讨论的,特征可以被认为是通用规则的特定表现形式的数学表示,该通用规则的特定表现形式的数学表示可以是适用于系统的文本规范(规则集合)的一部分。
20.上述可达集合可以描述动态系统在给定时间t内能够达到的系统状态集合(例如,可以将系统状态解释为面积、体积或系统状态更高维的等效值)。可以用作表示汽车的动态行为的简单模型的2d二重积分器被认为是用于以下解释的动态系统的说明性示例。假设系
统状态表示为(x,v)
t
,其中x=(x
x
,xy)
t
是表示2d位置(例如,汽车的位置)的矢量,v=(v
x
,vy)
t
是表示对应的2d速度的矢量(上标“t”表示转置算子)。在该示例中,然后可以通过以下微分方程来表示系统模型
[0021][0022]
其中a0=(a
x,0
,a
y,0
)
t
表示初始加速度。算子“d/dt”表示时间导数。假设恒定加速度a0(至少对于短暂的积分时间间隔),上述等式给出
[0023][0024]
其中v0=(v
x,0
,v
y,0
)
t
表示初始速度,而x0=(x
x,0
,x
y,0
)
t
表示初始位置。需要注意的是,系统状态也可以由位置、标量速度和欧拉角(俯仰角、偏航角和侧倾角,其中对于2d运动,仅偏航角是有关联的)表示。
[0025]
作为示例,图1图示了上面讨论的2d二重积分器的可达集合r。在所描绘的示例中,可达集合r可以被可视化为矩形,该矩形在图1中分别使用平行于x和y坐标的实线绘制。矩形表示可达集合r的边界,可达集合r的边界由加速度a0的最小值和最大值产生,加速度a0取决于交通工具的特性(例如,交通工具质量、发动机功率、通过制动的减速等)以及初始值v0和x0。
[0026]
本文中,术语“特征”用于表示对象(例如交通标志、道路的中心线等)的几何表示,该对象受可以包括在文本规范中的规则支配。也就是说,特征表示在特定情况下对通用规则的具体解释。为了给出与汽车应用有关的示例,通用规则可以是“车辆必须不跨过实线”。在特定交通情形下,实线可以被检测(例如通过使用传感器)并且被解释为特征——该特征添加了关于车辆的移动的进一步约束或者一般而言关于系统状态的进一步约束的。
[0027]
如所提及的,特征表示特定情形中的通用规则的特定表现形式。因此,特征将可达集合划分为可达集合的“允许子集”和“不允许子集”。虽然可达集合定义系统理论上基于物理定律由系统达到的系统状态集合,但允许子集定义系统可在不违反规则的情况下达到的系统状态的集合,该规则由特定情形中的特征表示。举例来说,假定物理过程允许交通工具在接下来的十秒内向前移动200米,而停止标志指示100米内强制停止,表示停止标志的特征将覆盖交通工具前方200米的位置的可达集合划分为覆盖停止标志的前面的区域的允许子集和覆盖停止标志以外的区域的不允许子集。停止标志(在特定位置处)是特定交通情形中的通用规则“你必须在停止标志处停止”的特定表现形式,且此特定表现形式由特征表示。
[0028]
特征可以由数学函数(例如直线(straight line)、样条曲线(spline)、圆等)来表示,并且该函数可以由该函数的一个或多个参数(也被称为系数)——例如,在圆的情况下由中心点和半径——和/或描述该函数的一组点来定义。图1将特征f图示为穿过可达集合r并将可达集合r划分为允许子集(可达集合的白色部分)和不允许子集(可达集合的阴影部分)的虚线直线。方向指示符i可以与特征相关联,以定义违反或不违反特征的方向。在图1的示例中,方向指示符指向可达集合的不违反特征的那部分。换句话说,特征将允许集合划分为允许子集和不允许子集,并且方向指示符允许区分允许子集和不允许子集。几何上,方向指示符可以被解释为指示允许可达子集所处的方向(相对于特征)的指针。为了对上文进
行总结,特征f是在特定情况下系统必须遵守的通用规则的特定表现形式(例如,通过测量检测到的)的特定几何/数学表示。通用规则可以是适用于系统的规则/要求的文本规范的一部分。
[0029]
如上所描述的,受控动态系统的一个示例是无人驾驶汽车(autonomous vehicle,av),例如自动驾驶汽车(机器人汽车),av用作进一步讨论的示例。上述文本规范可以表示系统行为必须符合的规则集合。作为简单的示例,考虑交通规则,该交通规则声明“车辆必须不能穿过实中心线”。假设是右手交通,如果汽车在道路的右侧驾驶,则实中心线的几何解释可以是与图1所示的特征类似的特征,其中方向指示符指向允许车辆驾驶的一侧,而对向侧是不允许汽车驾驶的不允许子集(在本示例中是道路的左侧)。该简单的示例图示了文本规范(规则或规则集合)可以如何关联到系统控制器的技术实现。允许子集和不允许集合的并集产生总可达集合;并且允许子集可以通过确定可达集合并减去由特征定义的不允许子集来获得,该特征是文本规范(规则集合)中包括的规则的特定表现的几何表示。应当理解,可达集合、特征和所得到的允许子集不是静态的,而是随着时间改变。
[0030]
已经讨论了动态系统、动态系统的可达系统状态集合以及将可达集合分成允许子集和不允许子集的特征的示例,以下讨论涉及关于样本系统状态或特定系统输入(导致样本系统状态)是否符合由特征表示的文本规范的评估。这可以通过评估所考虑的系统的样本状态是否在允许子集内来实现。在图1的示例中,“样本1”表示可达集合r的允许子集内的样本状态,而“样本2”表示不允许子集内的样本状态。因此,系统状态“样本1”不违反特征f,并且因此符合由特征表示的规则,而“样本2”确实违反特征f,并且因此不符合规则。需要注意的是,图1所示的可达集合r是2d对象,并且因此可以被认为是陆地交通工具的可达位置(x坐标和y坐标)的可达集合。当还考虑速度(在x方向和y方向上)时,系统状态可以被认为是四维向量,并且对应的可达集合可以由4d对象表示。在这样的示例中,特征——即,通用规则(例如,在红灯处停止)的特定表现形式(例如,在检测到的红灯的前100m处停止)的数学表示(例如,直线),可以是将4d可达集合分成允许子集和不允许子集的3d超平面。当特定特征仅与表示速度(例如,限速30km/h的道路标志)的系统状态相关时,允许集合可以被缩减成2d集合,并且特征可以由直线表示(例如,当交通工具在y方向上行驶时,在vy=30km/h处)。该示例还解释清楚了表示关键(critical)系统状态集合的特征,并且因此解释清楚了允许集合的边界。
[0031]
为了将根据上述概念的方法应用于真实世界的系统,该方法可以使用软件指令进行数字实现。当在一个或多个处理器上执行时,包括软件指令的程序执行所需的计算(参见图2,可达集合计算11和特征计算12)。根据一个实施例,确定可达集合所需的计算和获得特征所需的计算被组合到进一步称为“监视器”10的软件程序中,而评估特定样本状态是否在允许子集内所需的计算则由本文称为“检验器”20的软件程序实现。图2示出了一个实施例的数据流,其中用虚线绘制的框表示监视器10。
[0032]
可达集合计算11需要(作为配置参数的)系统模型(例如,上文所提及的2d二重积分器)、系统的状态和输入边界,以及(作为输入参数)当前系统状态(系统状态变量的集合)和时间t,将针对该时间t计算可达集合。可达集合计算11提供定义可达集合的(作为输出的)参数值。这些可以是可达集合的最小值和最大值(参见图1)、查找表或等效结构。可使用正向或反向可达性分析来完成可达集合的计算。对于一些系统模型,存在分析解决方案,而
一些其它系统模型需要数值解决方案。
[0033]
特征计算12需要作为配置参数的函数模板(在图2中表示为"几何函数")以用于描述特征。例如,适当的函数可以是直线、样条、圆等及其组合。函数可以不同的方式表示。图3通过示例的方式示出了如何使用点(参见图3,定义线的点(x1,y1)和(x2,y2))或特定公式(参见图3,公式y=a0 a1x a2x2 ... anxn,该公式定义多项式或样条分段)来表示直线(straight line)和样条(spline)。取决于检验器的实现,特征计算可以使用一个表示或另一个表示,其中不同的表示可以从一个转换到另一个。此外,用于特定特征的函数模板可以取决于描述当前处理的特征的类型的元信息。
[0034]
特征计算12接收作为输入的关于实际检测(测量)的对象(例如,交通标志、道路标记等)的信息——在陆地交通工具的情况下。检测的对象可以由对象的位置(即,坐标)、对象的速度和元信息来表示。元信息包括关于对象类型及对象的含义的信息。元信息可以表示例如“道路标记、实线”、“交通标志、停车”、“交通标志、30km/h最大速度”、“交通灯红色”。元信息允许将特定规则(例如,从上述文本规范导出)映射到检测的对象/特征,并因此确定特征如何限制可达集合以获得允许子集。例如,实线道路标记将限制可达集合——以从可达集合排除某些位置以获得允许子集的方式,而30km/h最大速度的交通标志将以从可达集合排除某些速度(超过特定位置)以获得允许子集的方式限制可达集合。特征计算12的输出/结果是表示可以由检验器20处理的特定格式的检测特征的参数。特征计算12的输出包括基于模板定义函数的特定实现的函数参数(例如,样条系数),函数的特定实现与元信息一起定义相关联的规则(即,定义可达集合的哪个部分需要被排除以获得允许子集)的空间适用性。元信息可以用于选择特定函数模板,并且如上所描述的,元信息还允许将特征映射到特定规则。当图2的实施例用于离线应用中时,对特征计算的输入不是由传感器提供的,而是可以静态地定义并存储在文件中。
[0035]“检验器”20接收作为输入的系统状态和/或系统输入的样本、定义/表示可达集合(由可达集合计算11计算)的参数、以及定义/表示特征(由特征计算12提供)的信息(函数参数、元信息)。值得注意的是,所有参数是针对相同时间t计算的。能够使用计算机图形领域公知的方法或类似方法来评估样本状态是否违反特征。检验器返回布尔变量,例如在被测样本未违反特征的情况下的“真”(“true”),并且在被评估样本违反特征的情况下返回“假”(“false”)。另外,检验器可返回当前测试样本,并且如果适用,可返回被违反的特征。
[0036]
在以下段落中,描述了两个应用,其中可以应用上述方法的概念。根据第一示例,上述概念被并入系统开发过程中以在控制器的设计过程期间支持工程师。根据第二示例,上述概念用于自动验证由可以采用人工智能(artificial intelligence,简称“ai”,ai有例如深度神经网络deep neural network,简称“dnn”)的路径规划器生成的轨迹。由此,轨迹被验证以便在实时操作期间遵守规范(例如,技术要求或法律,诸如交通规则、空中规则等)。规范可以文本形式提供并且使用这样的已知方法自动转换成特征。公开文件wo2017/202906a1(遵守文本系统描述的机电系统的计算机辅助设计,“computer-assisted design of mechatronic systems to comply with textual system description”)描述了如何使文本规范自动转换成数字形式(表示与系统状态相关的约束)。如所描述的,与检测(测量)的对象/特征相关联的元信息允许将特定对象/特征映射到与检测的对象/特征相关的通用规则。
[0037]
第一应用是离线方法,因为离线方法不需要满足任何实时约束。图4示出了在仿真环境中嵌入到控制器(用于控制动态系统)的开发过程中的方法的一个实施例。该方法补充有要控制的动态系统的仿真模型和其他仿真模型(根据需要)、由用户/工程师根据规范定义对象/特征和其他仿真参数的用户界面、以及表示要开发的控制器的系统。对象/特征(例如,交通标志、道路标记等)可以被静态地定义以仿真特定交通情形。
[0038]
动态系统的仿真模型(参见图4,“系统模型的仿真”)接收控制器的输出(参见图4,“待开发的控制器”)作为输入。在自主驾驶应用中,这可以是例如转向角、减速度/加速度等。仿真模型的输出是系统状态。在许多汽车和航空航天应用中,系统状态可以包括例如(陆地或空中)交通工具的位置和速度。在航空航天应用中,位置还可以包括高度。在仿真规范中描述了待仿真的场景(参见图3)。动态系统的配置参数通常是系统的初始状态条件以及用于使仿真模型适应于特定的真实世界系统的其他参数(例如系统的质量、最大加速度等)。仿真模型通常包括描述要使用数值积分方法来控制的系统的动态的高阶微分方程。需要注意的是,用于仿真诸如汽车之类的动态系统的仿真模型是这样已知的,因此在此不做进一步讨论。并且已知的是在软件产品(例如,作为实际工业标准的matlab/simulink)中可商业运用的各种各样的数值积分算法。
[0039]
系统模型可以根据需要用另外的仿真模型来补充(并且因此可以包括另外的仿真模型)。非常常见的使用情况是对其他静止或动态对象、传感器或作用者(actor)——即,可以影响系统模型的行为的任何事物的仿真。
[0040]
用户界面(参见图4,“gui”)用于简化将特征的文本规范和/或其他仿真参数转换成可以由后续仿真模型使用的数字形式(数字约束)的过程。图5示出了如何将文本规范(例如,诸如“实线必须不能穿过”的规则集合的规则)转换成表示针对系统状态的约束(在本文中也被称为“数字约束”或“数字要求”)的数字数据的一个示例(参见图5,“文本形式的规则”)。如果道路的侧线要被转换成数字约束,则第一步骤是将表示道路的数字地图加载到用户界面中。然后,由用户选择特征(例如,直线、样条曲线等)。计算机鼠标可以用于选择若干点,例如道路的侧线的x1、y1和x2、y2。所有点的坐标可以被存储到文件中。随后,方向指示器被绘制到数字地图中,并且方向指示器值也可以被存储(
“‑
1”表示方向,“1”将表示相反方向)。
[0041]
已经解释了在开发过程中使用的仿真环境,开发过程本身就不再详细讨论。首先,编写表示上述规则集合的文本规范(参见图4,“书面规范”)。使用用户界面,将规范转换成如上所描述的数字要求。然后,根据仿真环境的规范和可用编程接口来开发仿真。之后,使用包括例如ai和深度神经网络的任何通用控制器设计概念来设计控制器。为了验证控制器设计是否满足文本规范(转换为数字约束),仿真的系统状态和/或系统输入被发送到检验器20,检验器20还从监视器10接收计算的可达集合(系统能够达到的系统状态集合)和计算的特征,如上面参考图2所讨论的,监视器10被配置为基于当前系统状态和数字约束以及静态定义的对象/特征列表(例如,虚拟交通标志、虚拟道路标记等)来提供这些数据(可达集合以及特征)——通过gui输入。
[0042]
在检验器20中,系统状态向量(包括系统状态变量)被测试以验证系统状态向量是否在允许可达集合内。在系统状态变量在可达集合的允许子集内的情况下,执行下一仿真步骤。在系统状态变量不在允许子集内的情况下,停止仿真。在每个仿真运行期间,所有的
系统输入以及从检验器获得的信息(内部/外部的允许状态子集)被存储在数字存储器30中,用于每个仿真步骤。如果仿真显示特征被违反(对应于文本规范的规则的一个特定表现形式未被遵守),则所存储的仿真数据可以随后被用户/设计工程师使用以重新设计控制器,以便避免其中特征被违反的情况。所存储的仿真数据可以被用于调试引起特征违反的“错误”,并且在违反发生之前的仿真时间重新开始仿真(例如,利用修改的控制器参数)。图4总结了该迭代开发过程,该过程可以利用本文描述的概念在效率上进行显著地改进。
[0043]
第二个应用是在线方法,因此必须满足严格的实时要求。在这种情况下,使用监视器10和检验器20实时地并且在实时系统的操作期间测试由控制器(在当前示例中称为“路径规划器”,可以包括ai、dnn等)产生的轨迹是否满足文本规范的概念。图6示出了嵌入到实时应用中的方法。通过向检验器20补充紧急路径规划器21和一些逻辑(紧急操纵控制器22)来增强上述概念。检验器20、紧急路径规划器21和紧急操纵控制器22现在统称为“投票者”200。图6还示出了系统控制器,该系统控制器包括可以使用任何已知技术设计的所谓的路径规划器。系统控制器/路径规划器可以包括人工智能、深度神经网络等,因此可以呈现不确定的行为,即不能以100%的确定性预测/预计算的行为(取决于ai或dnn的训练)。
[0044]
控制器/路径规划器的输入来自传感器5(包括传感器数据预处理),并且控制器/路径规划器的输出被提供给动态系统的致动器40(传感器和致动器可以被认为是动态系统的一部分,例如待控制的交通工具)。在自主车辆的示例中,传感器5可以包括例如以下中的一个或多个:雷达和激光雷达传感器、相机、超声传感器、gps传感器等。传感器数据预处理可以包括任何已知的信号处理技术,诸如距离和速度测量、对象识别、图像处理技术和分类、传感器融合技术等。低水平控制致动器系统40基本上包括设置转向角和加速/制动车辆所需的装置。
[0045]
存在两种方式将本文所描述的概念的实施例集成到实时控制的动态系统中。在一个示例中,仅传感器的最近测量被使用并且仅在下一仿真步骤中被应用。另一示例运行预测性并且使用由路径规划器确定的多个(预测的)可达集合、多个(预测的)特征和多个(预测的)系统状态和/或输入。第一示例通常被应用于标准反馈控制器,而第二示例在预测性控制的情况下被应用。需要注意的是,规划的路径确定所需要的(预测的)系统输入和在未来(预测时间,“look-ahead time”)定义的时间间隔内的所得到的系统状态。由于所有控制器以数字方式操作,所以系统状态是系统输入和先前系统状态的直接结果。
[0046]
在以下段落中,仅考虑第二示例(与预测控制相关),而第一示例是第二示例的特殊情况(子函数)。所有子系统的共同配置参数是采样时间ts和时间范围t
hrorizon
,其中t
horizon
=n
sample
·
ts,其中n
sample
是正整数。时间范围t
hrorizon
描述控制器预测的时间跨度。计算针对矢量t
predict
=[0,ts,2
·
ts,3
·
ts,...,n
sample
·
ts]中的离散时间的预测(可达集合、特征、系统状态等的预测)。所有子系统使用相同的矢量t
predict
可以具有一些优点,但是这不一定是所要求的。在子系统中的任何一个使用不同的矢量t
predict
的情况下,需要应用重采样算法以同步所有数据。
[0047]
用于控制动态系统的轨迹的路径规划器(控制器)的主要目的是生成无碰撞、满足文本规范(例如,交通规则、空中规则)、可由动态系统(例如,交通工具)执行并且潜在地优化乘客舒适度的轨迹(路径)。可以使用不同的路径规划方法,如快速探索随机树(rapidly-exploring random tree,rrt)、批处理通知树(batch informed tree,bit),概率路标图
(probabilistic roadmap)等,或者作为备选,深度神经网络。路径规划器的配置参数取决于所选路径规划方法和优化路径的要求。到路径规划器中的输入是当前的(测量的)系统状态(例如,交通工具的位置、速度)、环境传感器测量(例如,相机、雷达传感器等)和/或从传感器预处理(例如,使用图像处理或对象识别算法)提取的特征。规划器的输出是时间向量、一组样本状态及该样本状态对应的系统输入,它们一起构成规划的轨迹,规划的轨迹是由时间t
horizon
定义的不久的将来的动态系统的所需要的轨迹。
[0048]
在图6的实例中,监视器接收原始实时传感器读数或来自实时计算的传感器预处理的特征参数作为输入。相比之下,在离线应用中,监视器接收仿真系统状态(参见图4)和静态定义的特征(特征参数)。在原始传感器读数的情况下,传感器预处理可包含在监视器中。监视器的特征计算部分的输出是特征集合。特征集合中的特征数目可基于其中的使用交通工具的特定情境/环境而变化。如上文所提及,针对包含在时间向量t
predict
(代表预测时间)中的每一时刻预测性地计算特征。监视器的可达集合计算部分使用系统状态的传感器测量和/或系统输入作为输入。可达集合计算部分的输出是描述包括在时间矢量t
predict
中的用于每个时刻的可达集合的参数。为了优化计算所有参数所需的时间,可以至少部分地进行并行计算。
[0049]
投票者的检验器部分用于评估规划规划的轨迹是否符合文本规范,即预测计划的系统状态(针对矢量t
predict
中的每个时刻)是否在可达集合的允许子集内。如果规划的轨迹被肯定地测试(即符合所有要求),则规划的轨迹被转发到交通工具的低水平控制器,该低水平控制器驱动致动器。如果规划的轨迹被否定地测试(即在矢量t
predict
的至少一个时刻中违反一个或多个特征),则投票者中包括的紧急路径规划器用于找到紧急轨迹,该紧急轨迹将交通工具带到预定义的安全状态,该安全状态可以是例如用于陆地交通工具的“完全停止”或“跟随前面交通工具”或用于航空器的“紧急着陆”。如果找到紧急路径,则紧急路径被发送到交通工具的低水平控制器。如果没有找到紧急轨迹,则可以发起紧急操纵。对于陆地交通工具,这可以是“完全制动”,直到交通工具停止,并且对于航空器,这可以是启动降落伞以将飞机安全地带到地面。上述示例通过图7的流程图进一步图示。
[0050]
投票者的检验器部分如上所描述(参见图4和相关描述)运行。因为在本示例中考虑(对于每个时刻的一个)多个可达集合、多个特征和多个预测的系统状态(构成规划的轨迹),所以由检验器执行的计算可以并行化。也就是说,与时间矢量t
predict
的相同时间相关联的可达集合、特征和系统状态可以被并行处理。当规划的轨迹(即,构成规划的轨迹的预测的系统状态)在允许可达集合的集合内时,检验器的输出是“真”,并且然后检验器的输出将标称路径发送到低水平控制器。当标称路径不在允许的可达集合的集合内时,检验器的输出返回“假”。
[0051]
在一些实施例中,路径规划器可以输出多个轨迹(每个轨迹由包括在矢量t
predict
中的时刻的多个系统状态组成)。在这种情况下,检验器可以评估多个规划的轨迹以便确定附加参数,例如与乘客舒适度相关的参数(例如,最大的用于特定轨迹的加速度)。如果两个或更多个规划的轨迹被评估为安全的(即,不违反任何特征),这些参数可以用于评估多个轨迹中的哪个轨迹是要被选择和发送到低水平控制器的最佳轨迹。
[0052]
紧急路径规划器可以应用与控制器/路径规划器类似的路径规划方法或更专门的方法。后者可以使用例如包括一个或多个预先计算的路径的查找表,或使用凸优化方法来
找到到安全状态的路径。为了更好地理解紧急路径规划器的功能,下面描述一个简短的示例。假设系统状态可以用四个状态变量x=[pos
x
,posy,vel,head]来描述,其中pos
x
和posy表示交通工具位置的x和y坐标,vel表示速度,并且“head”表示速度的航向(速度的航向基本上是指示交通工具当前移动的方向的角度)。首先,安全状态可以被定义为“完全停止”,“完全停止”可以被表示为x=x
safe
=[*,*,0,*],其中“*”表示允许的可到集合内的任何值。值得注意的是,多个允许可达子集是针对矢量t
predict
中的时间计算的(可达集合中的)那些允许子集。第一步骤可以是对多个允许可达子集中的随机点进行采样,例如x=x
sample
=[pos
x,i
,pos
y,i
,0,headi]。然后,凸优化方法可以用于找到来自当前(测量的)的系统状态x
currrent
=[pos
x,measured
,pos
y,measured
,vel
mesasured
,head
mesaured
]到其中一个状态x
safe
的轨迹。在找到紧急路径的情况下,紧急路径规划器返回“真”,并且规划的紧急路径被发送到低水平控制器。在没有找到紧急路径的情况下,紧急路径规划器返回“假”,并且执行故障返回紧急操纵。
[0053]
参考图8,概述了本文描述的概念的若干方面。应当理解,下面不是穷举性的列举,而是示例性的概述。图8借助于流程图描述了用于监督动态系统的方法,该动态系统可以是诸如(陆地或空中)交通工具的机械系统。因此,该方法包括接收系统状态样本(参见图7、步骤s1)并且针对特定时刻基于当前系统状态和表示该动态系统的系统模型来计算系统状态的可达集合(参见图7、步骤s2)。该方法还包括计算通用规则的特定表现形式的数学表示(参见图7、步骤s3)并且基于该可达集合和该通用规则的特定表现形式的数学表示来计算系统状态的允许子集(参见图7、步骤s4)。此外,该方法包括测试系统状态样本是否在允许子集内(参见图7、步骤s5)。
[0054]
上面关于图8概述的方法与图2的图一致。计算一组可达系统状态的步骤s2由可达集合计算块/单元11执行(参见图2),其中该计算基于当前系统状态(当前系统状态可以被测量或仿真)和表示动态系统的系统模型。系统状态的物理边界和约束(例如,陆地交通工具的示例中的最大加速度、制动时的最大减速度、最大转向角等)被视为系统模型的一部分。计算通用规则的特定表现形式的数学表示的步骤s3由特征计算块/单元12执行(参见图2)。计算系统状态的允许子集和测试系统状态样本是否在允许子集内的步骤s4和s5由检验器20执行(测试单元/块,参见图2)。
[0055]
在一个实施例中,在待监督的动态系统的模拟步骤中(离线应用),通过例如控制器/路径规划器(参见图4)并且基于先前的系统状态样本和系统输入来计算系统状态样本。在另一个实施例中,系统状态样本由耦接到动态系统的数字控制器预测,其中预测的系统状态样本是由控制器(具有例如模型预测控制的在线应用)规划的轨迹的一部分。因此,控制器也可以被称为路径规划器。值得注意的是,系统状态样本(在步骤s5中测试)表示系统在特定时刻(选自上述矢量t
predict
)的(规划/预测的)状态,针对该特定时刻计算允许集合。
[0056]
如上面详细解释的,通用规则定义了对待监督系统的状态的通用约束。在汽车应用中,通用规则可以是交通规则,诸如例如“在显示红色的交通灯上的交叉路口停止”。规则是通用的,因为它可以应用于所有显示红色的交通灯。通用规则的特定表现形式可以通过将通用规则应用于基于传感器数据检测的特定情形(在线应用)来获得,或者通过用户输入定义的特定情形(离线应用,仿真)来获得。所提到的特定情形通常由待监督系统的环境中的对象(例如交通灯)的存在来确定。进一步延伸当前的例子,一旦在前方100米的交叉路口
检测到(例如,通过安装在av中的照相机和图像处理)显示红色的特定的交通灯,通用规则“在显示红色的交通灯上的交叉路口停止”表现为特定规则,该规则(当用正常语言书写时)可以表示为“不要行驶超过前方100米的交叉路口”。
[0057]
通用规则的特定表现形式可以由数学函数表示,该数学函数可以解释为几何结构,例如直线、样条曲线等。此种通用规则的特定表现形式的数学表示定义了允许子集的边界,并且因此可以用于从可达集合确定允许子集。因此,可以通过使可达集合与通用规则的特定表现形式的数学表示相交来获得允许子集,通用规则的特定表现形式的数学表示在本文中也被称为“特征”。在红色交通灯的示例中,数学表示可以是当交通工具平行于y方向行驶时,在随交通工具移动的坐标系中y=100m处的直线。应当注意的是,通用规则的特定表现形式的数学表示(参见图1,特征f)是表示一组关键系统状态的数学函数。如果违反了由数学函数定义的约束,则系统状态处于不允许子集中,这意味着违反了通用规则。
[0058]
尽管已经关于一个或多个实现方式示出和描述了本发明,但是在不脱离所附权利要求的精神和范围的情况下,可以对所示出的示例做出改变和/或修改。特别地,关于由上述组件或结构(单元、组件、设备、电路、系统等)执行的各种功能,除非另外指出,否则用于描述这样的组件的术语(包括对“装置”的引用)旨在对应于执行所描述的组件的指定功能(例如,功能上等同)的任何组件或结构,即使在结构上不等同于执行本发明的本文所示出的示例性实现方式中的功能的所公开的结构。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献