控制车辆的控制器和方法以及非暂时性计算机可读存储器与流程

文档序号:16993548发布日期:2019-03-02 01:10阅读:190来源:国知局
控制车辆的控制器和方法以及非暂时性计算机可读存储器与流程

本发明涉及控制车辆机动车辆的移动,并且具体涉及控制车辆以遵循期望的轨迹。



背景技术:

在高级驾驶员辅助(ada)机构和自主驾驶(ad)机构中,控制系统控制车辆以实现期望的目的。这些目的的例子是保持当前车道、改变到不同的车道、规避障碍物,或者在执行交通规则的同时行驶到特定位置。

该目的可以表示为车辆必须遵循的路径或轨迹。例如,轨迹可以通过决策方法、路径规划器、导航系统来生成。为了实际实现该目的,必须控制车辆实际遵循所生成的轨迹。例如,车辆控制器(vc)可以从例如监督控制器(sc)接收轨迹,并且决定促成车辆遵循该轨迹的转向命令。vc命令由例如处于电动助力转向模块中的致动器控制器(ac)接收,并通过恰当的机电装置致动,从而促成按使车辆遵循sc轨迹的方式来改变车辆的移动。为此,需要适当地协调车辆控制的不同组件或层(诸如sc、vc及ac),以合作实现共同目的。例如,每个较高层需要在生成其计算时考虑较低层的行为。这种协调通常很困难。

例如,在sc和vc的协调中,不能保证车辆能够准确地执行sc轨迹。这可能归因于sc利用简化的车辆移动模型来产生轨迹,该简化模型例如忽略了诸如纵向和横向滑移、道路摩擦或者道路斜坡等现象,以便更快地执行轨迹计算。而且,这可能归因于未被sc所知或所考虑的外部因素的存在(诸如轮胎磨损、前后轴与质心的不同距离等)。因此,需要对具有使车辆根据期望轨迹移动的共同目的的不同车辆组件进行协调控制。



技术实现要素:

一些实施方式基于这样的认识,即,车辆遵循轨迹的移动的性能取决于移动目的。例如,车辆遵循轨迹的移动的性能需要满足性能量度(m),该性能量度取决于该移动的当前目的。例如,在某些情况下,车辆不必准确地遵循期望轨迹,但是车辆的实际轨迹与期望轨迹之间的最大差异需要小于阈值。一些实施方式基于这样的认识,即,这种性能量度可以由控制车辆的实际实例产生,但也可以在针对移动目的生成期望轨迹的同时进行考虑。例如,如果移动目的是车道保持,则所有可能的期望轨迹需要与车道边界保持等于或大于阈值的安全裕度。类似地,如果移动目的是避免碰撞,则所有可能的期望轨迹需要与障碍物保持等于或大于阈值的安全距离。

因此,在控制车辆沿着期望轨迹的同时需要实现的性能量度m与允许生成的期望轨迹的类型相关联。为此,生成期望轨迹和根据期望轨迹控制车辆不仅仅是顺序的,而是相互依赖的过程。例如,如果期望轨迹是由监督控制器(sc)生成的,而车辆沿期望轨迹的移动是由车辆控制器(vc)控制的,那么sc与vc之间的协作可以包括相互依赖性,即,如果sc生成满足特性p的期望轨迹,则vc可以控制车辆满足性能量度m。

一些实施方式基于这样的认识,即,由于必需使用不同的移动模型来生成期望轨迹以及根据期望轨迹控制车辆,因此这种相互依赖性变得复杂。例如,为了生成期望轨迹,需要考虑更长的未来视野(futurehorizon)。具有计算车辆在扩展的未来视野内的移动的复杂的物理模型在计算上是困难的。相反,当已知期望轨迹时,根据期望轨迹控制车辆可以仅考虑下一个控制步骤或短未来视野。另外,车辆的控制需要比轨迹生成过程更精确。

为此,一些实施方式针对生成期望轨迹以及针对根据期望轨迹控制车辆使用不同的移动模型。例如,sc用于生成要遵循的期望轨迹的第一移动模型比vc用于控制车辆的第二移动模型简单。例如,vc使用的第二模型的阶次高于sc使用的第一模型的阶次。例如,模型的阶次可以由模型中的状态变量的数量来定义。使用不同的模型简化了ada或ad系统的计算要求,但是在sc与vc之间建立相互依赖性变得复杂。

一些实施方式基于这样的认识,即,可以通过施加在模型上的约束来建立sc与vc的不同模型之间的相互依赖性。例如,用于满足性能量度m的要求可以被变换成对车辆状态和/或vc使用的车辆第二模型的约束。具体来说,这样的约束可以指定:车辆的当前状态满足性能量度m并且存在这样的控制动作,即,其在不违反性能量度m的情况下改变车辆的当前状态,同时沿着期望轨迹的位置也在变化。以这种方式,所述约束保证车辆移动总是满足性能量度m。一些实施方式基于这样的认识,即,由于第一模型与第二模型之间的差异,因而,对车辆状态的这种约束并不总是可以确定的。为此,一些实施方式在sc的第一移动模型上添加附加约束,该附加约束可以限制由sc生成的可能期望轨迹的数量,并因此可以用作特性p。

为此,一些实施方式选择针对车辆的期望轨迹的第一约束,并且选择结合所述第一模型的状态与所述第二模型的状态的控制不变集。确定所述第一约束和所述控制不变集,使得针对所述控制不变子集内的所述状态的每个组合,存在针对所述第二模型的至少一个控制动作,对于针对所述第一模型的所述状态的、满足所述第一约束的每个修改,所述至少一个控制动作将所述第二模型的所述状态保持在所述控制不变集内。所述第一约束和所述控制不变集建立相互依赖性,即,如果sc生成满足所述第一约束(即,特性p)的期望轨迹,则vc可以控制车辆,将车辆状态保持在所述控制不变集内,即,满足所述性能量度m。

因此,本发明的一个实施方式公开了一种用于控制车辆的方法。所述方法包括:从存储器中选择车辆的第一移动模型和所述车辆的第二移动模型,其中,所述第二模型的阶次高于所述第一模型的阶次,其中,模型的阶次是模型中的状态变量的数量;从所述存储器选择针对使车辆沿着该车辆的期望轨迹移动的所述第一模型的第一约束,并且选择结合所述第一模型的状态与所述第二模型的状态的控制不变集,其中,针对所述控制不变子集内的所述状态的每个组合,存在针对所述第二模型的至少一个控制动作,对于针对所述第一模型的状态的、满足所述第一约束的每个修改,所述至少一个控制动作将所述第二模型的状态保持在所述控制不变集内;利用所述第一模型来确定满足所述第一约束的期望轨迹的一部分;利用所述第二模型来确定用于使所述车辆沿着期望轨迹的所述部分移动的一系列命令,使得所述一系列命令将通过所述期望轨迹的所述部分确定的所述第一模型的一系列状态和所述第二模型的一系列状态保持在所述控制不变子集内;以及利用来自所述一系列命令中的至少一个命令来控制所述车辆。所述方法的步骤利用在工作上连接至所述存储器的处理器来执行。

另一实施方式公开了一种用于控制车辆的控制器,该控制器包括:存储器,该存储器存储车辆的第一移动模型,存储所述车辆的第二移动模型,其中,所述第二模型的阶次高于所述第一模型的阶次,其中,模型的阶次是模型中状态变量的数量,所述存储器存储针对使车辆沿着该车辆的期望轨迹移动的所述第一模型的第一约束,并且存储结合所述第一模型的状态与所述第二模型的状态的控制不变集,其中,针对所述控制不变子集内的状态的每个组合,存在针对所述第二模型的至少一个控制动作,对于针对所述第一模型的状态的、满足所述第一约束的每个修改,所述至少一个控制动作将所述第二模型的所述状态保持在所述控制不变集内;监督控制器,该监督控制器利用所述第一模型来确定满足所述第一约束的期望轨迹的一部分;车辆控制器,该车辆控制器利用所述第二模型来确定使所述车辆沿着期望轨迹的所述部分移动的一系列命令,使得所述一系列命令将通过期望轨迹的所述部分确定的所述第一模型的一系列状态和所述第二模型的一系列状态保持在所述控制不变子集内;以及致动器控制器,该致动器控制器利用来自所述一系列命令中的至少一个命令来控制所述车辆。

又一实施方式公开了一种包含有可通过处理器执行的程序的非暂时性计算机可读存储器,所述程序用于执行包括以下步骤的方法:从所述存储器中选择车辆的第一移动模型和所述车辆的第二移动模型,其中,所述第二模型的阶次高于所述第一模型的阶次,其中,模型的阶次是模型中状态变量的数量;从所述存储器选择针对使车辆沿着该车辆的期望轨迹移动的所述第一模型的第一约束,并且选择结合所述第一模型的状态与所述第二模型的状态的控制不变集,其中,针对所述控制不变子集内的状态的每个组合,存在针对所述第二模型的至少一个控制动作,对于针对所述第一模型的状态的、满足所述第一约束的每个修改,所述至少一个控制动作将所述第二模型的状态保持在所述控制不变集内;利用所述第一模型来确定满足所述第一约束的期望轨迹的一部分;利用所述第二模型来确定使所述车辆沿着期望轨迹的所述部分移动的一系列命令,使得所述一系列命令将通过期望轨迹的所述部分确定的所述第一模型的一系列状态和所述第二模型的一系列状态保持在所述控制不变子集内;以及利用来自所述一系列命令中的至少一个命令来控制所述车辆。

附图说明

图1是包括采用本发明一些实施方式的原理的控制器的车辆的示意图;

图2是根据本发明一个实施方式的图1的控制器的框图;

图3是根据本发明一个实施方式的控制器的各层的示意图;

图4a是根据本发明一些实施方式的车辆控制的不同原理之一的例示图;

图4b是根据本发明一些实施方式的车辆控制的另一不同原理的例示图;

图5a是根据本发明一个实施方式的用于控制车辆的方法的框图;

图5b是根据本发明一个实施方式的协作控制的示意图;

图6是表示根据本发明一个实施方式的期望轨迹与车辆的第二移动模型之间的关系的示意图;

图7是根据本发明实施方式的由各种约束定义的可行区域的二维投影的示例;

图8a是根据本发明一些实施方式的用于控制车辆的操作的方法的框图;

图8b是根据本发明一个实施方式的用于选择控制车辆的命令的方法的框图;

图9是例示本发明一些实施方式所使用的控制不变集的确定背后的一些原理的示意图;

图10是根据本发明不同实施方式的用于选择控制不变集的方法的框图;

图11是根据本发明不同实施方式的用于选择控制不变集的方法的框图;

图12是例示图11的方法相对于图10的方法的效果的示意图;以及

图13是根据本发明实施方式的车辆控制方法的框图。

具体实施方式

图1示出了车辆101的示意图,车辆101包括采用本发明一些实施方式的原理的控制器102。如本文所使用的,车辆101可以是任何类型的轮式车辆,诸如客车、公共汽车或探测车(rover)。而且,车辆101可以是自主或半自主车辆。例如,一些实施方式控制车辆101的移动。移动的示例包括由车辆101的转向系统103控制的车辆的横向移动。在一个实施方式中,转向系统103由控制器102控制。另外或另选地,转向系统103可以由车辆101的驾驶员控制。

车辆还可以包括发动机106,发动机106可以由控制器102或车辆101的其它组件控制。车辆还可以包括用于感测周围环境的一个或更多个传感器104。传感器104的示例包括测距仪、雷达、激光雷达以及摄像头。车辆101还可以包括用于感测其当前移动量和内部状态的一个或更多个传感器105。传感器105的示例包括全球定位系统(gps)、加速度计、惯性测量单元、陀螺仪、轴旋转传感器、扭矩传感器、偏转传感器、压力传感器以及流量传感器。传感器向控制器102提供信息。车辆可以配备有能够通过有线或无线通信信道实现控制器102的通信能力的收发器106。

图2示出了根据本发明一个实施方式的控制器102的框图。控制器102包括连接至存储器202(例如,非暂时性计算机可读介质)的处理器201。在一些实现中,存储器202包括用于存储关于车辆的信息的第一部分211和用于存储用于控制车辆的程序的第二部分212。例如,存储器202的第一部分211可以存储车辆的第一移动模型和该车辆的第二移动模型。在各种实施方式中,第二模型的阶次(例如,模型中的状态变量的数量)高于第一个模型的阶次。那些实施方式基于这样的认识,即,必需使用不同的移动模型来生成期望轨迹并根据期望轨迹控制车辆。例如,为了生成期望轨迹,需要考虑长的未来视野。具有计算车辆在扩展的未来视野内的移动的复杂的物理模型在计算上是困难的。相反,当期望轨迹已知时,根据期望轨迹控制车辆可以仅考虑下一个控制步骤或短未来视野。另外,车辆的控制需要比轨迹生成过程更精确。为此,在一些示例中,控制器102利用第一(即,简化的)移动模型来生成轨迹,而根据第二(即,更复杂的)移动模型利用所述轨迹来控制车辆。

存储器202的第二部分212可以包含可由处理器201执行的程序,该程序用于执行用于控制车辆101的方法。处理器201可以是能够执行计算的任何计算装置,并且可以包括相同或不同类型的一个或多个物理装置。另外或另选地,处理器201可以包括多个计算装置,例如,微处理器。类似地,存储器202可以是能够存储信息的任何逻辑存储器和/或非暂时性计算机可读存储介质,并且可以包括相同或不同类型的一个或更多个物理信息存储装置。由处理器201执行的计算通过存储在存储器的第二部分212中的程序来命令,并使用存储在存储器的第一部分211中的车辆信息、从传感器105获得的有关车辆101的信息、从传感器104获得的环境203的信息。处理器201的计算产生改变车辆移动的命令204。

由处理器201执行的程序使得能够实现车辆101的某些功能。例如,处理器210的操作可以使特定高级驾驶辅助(ada)机构(如车道保持或碰撞避免)成为可能,或者可以使车辆101的自主驾驶(ad)成为可能。在这些操作中的任何操作期间,由处理器201执行的程序旨在实现特定的驾驶目的,诸如保持在车道内、避开障碍、到达特定位置。通过恰当地影响车辆101的移动来实现该目的。由处理器201执行的软件程序可以在逻辑上分成多个模块。例如,在一个实施方式中,由处理器执行的程序包括按顺序排列为层的至少两个模块,使得一层的输出是下一层的输入。如本文所使用的,这种分层指定了控制器102的多个层或逻辑控制部,并允许将控制分成需要不同信息的不同阶段。

图3示出了根据本发明一个实施方式的控制器102的各层的示意图。在该实施方式中,控制器102包括三层控制。车辆的移动目的被表示为车辆根据移动目的需要遵循的路径或期望轨迹311。期望轨迹由监督控制器(sc)301生成。由sc用于生成期望轨迹的方法的示例包括各种决策和路径规划技术。由sc生成的期望轨迹被提供给车辆控制器(vc)302,该车辆控制器旨在计算用于致动系统(如转向系统103或发动机)的、用于影响车辆移动以遵循轨迹311的命令312。该vc命令312由例如处于电动助力转向模块中的致动器控制器(ac)303接收,并通过恰当的机电装置致动,从而产生按照使车辆遵循所述轨迹的方式来改变车辆移动的动作313。

由于控制的计算和信息要求,因而将提供ada和ad的程序划分成多个逻辑控制部或层可能是有利的。每个层都需要以不同的速率访问不同的信息,并被请求以不同速率生成不同复杂度的结果。然而,拥有多个层会使总体目的的实现变复杂,因为需要正确协调不同的逻辑控制部。例如,每个较高层需要在生成其计算时考虑较低层的行为。

一些实施方式基于这样的认识,即,车辆跟踪轨迹的移动需要满足取决于当前移动目的的性能量度(m)。例如,车辆不必准确地遵循期望轨迹,但是车辆的实际轨迹与期望轨迹之间的最大差异需要小于阈值,比方说50cm。一些实施方式基于这样的认识,即,这样的性能量度(即,在该示例中,50cm的最大差异)可以由控制车辆的实际实例产生,但也可以在针对移动目的生成期望轨迹的同时进行考虑。例如,如果该移动目的是车道保持,则所有可能的期望轨迹需要与车道边界保持等于或大于阈值(例如,所述50cm)的安全裕度。类似地,如果移动目的是避免碰撞,则所有可能的期望轨迹需要与障碍物保持等于或大于阈值(例如,所述50cm)的安全距离。

因此,在沿着期望轨迹控制车辆的同时需要实现的性能量度m与允许生成的期望轨迹的类型相关联。为此,生成期望轨迹和根据期望轨迹控制车辆不仅仅是顺序的,而是相互依赖的过程。例如,如果期望轨迹是由sc301生成的,而车辆沿期望轨迹的移动是由vc302控制的,那么sc与vc之间的协作可以包括相互依赖性,即,如果sc生成满足特性p322的期望轨迹,则vc可以控制车辆满足性能量度m321。换句话说,为了可以保证m321,sc将轨迹限制成属于特定类别p322。

为此,在性能量度m321的情况下,本发明的一个实施方式确定sc301可以生成的轨迹p322的类别,构成保证p中的任何轨迹的m的vc302,将sc限制成仅生成p中的轨迹,并操作vc以确保贯穿车辆的整个操作来满足m。在本发明另一实施方式中,还使能实现vc与ac之间的协调。

图4a和图4b示出了根据本发明一些实施方式的车辆控制的原理的例示图。这些示例与通过转向操作避免碰撞的ada功能相关。在具有边界401和车道分隔405的道路中,如图4a所示,当前行进车道403中的障碍物402需要车辆移动至另一车道404。性能量度m是针对由sc生成的轨迹412与通过应用vc的命令而获得的车辆移动413之间的最大差异的给定界限411。如果vc保证m,那么sc获知实际车辆移动将处于sc轨迹周围的宽度414的区域中。因此,通过确保m414与障碍物的最小间隔,sc实现了无碰撞的保证。相反,如图4b所示,如果sc没有考虑vc正在控制车辆,并且实际车辆移动与sc轨迹不同,那么sc可以生成不发生碰撞的轨迹422,但由于在sc中考虑的理想移动与实际车辆移动之间的差异,实际车辆移动423最终发生碰撞。

一些实施方式基于这样的认识,即,由于必需使用不同的移动模型来生成期望轨迹并根据期望轨迹控制车辆,因此这种相互依赖性变得复杂。例如,为了生成期望轨迹,需要考虑长的未来视野。具有计算车辆在扩展的未来视野内的移动的复杂的物理模型在计算上是困难的。相反,当期望轨迹已知时,根据期望轨迹控制车辆可以仅考虑下一个控制步骤或短未来视野。另外,车辆的控制需要比轨迹生成过程更精确。

为此,一些实施方式使用不同的移动模型来生成期望轨迹并且根据期望轨迹控制车辆。例如,sc用于生成轨迹的第一移动模型比vc用于控制车辆的第二移动模型简单,即,vc使用的第二模型的阶次高于sc使用的第一模型的阶次。如本文所使用的,模型的阶次是该模型中的状态变量的数量。使用不同的模型简化了车辆控制的计算要求,但是在sc与vc之间建立相互依赖性变得复杂。

一些实施方式基于这样的认识,即,可以通过施加在模型上的不同约束来建立sc与vc的不同模型之间的相互依赖性。例如,用于满足性能量度m的要求可以变换成对车辆状态和/或vc使用的车辆的第二模型的约束。具体来说,这样的约束可以指定:车辆的当前状态满足性能量度m并且存在这样的控制动作,即,该控制动作在不违反性能量度m的情况下改变车辆的当前状态。以这种方式,所述约束保证车辆移动总是满足性能量度m。一些实施方式基于这样的认识,即,由于第一模型与第二模型之间的差异,因而对车辆状态的这种约束并不总是可以确定的。因此,一些实施方式在sc的第一移动模型上添加附加约束,该附加约束可以限制由sc生成的可能期望轨迹的数量,并因此可以用作特性p。

例如,一些实施方式选择在车辆的期望轨迹上移动的第一模型的第一约束,并且选择结合所述第一模型的状态与所述第二模型的状态的控制不变集。确定该第一约束和控制不变集,使得针对控制不变子集内的所述状态的每个组合,存在针对第二模型的至少一个控制动作,对于针对第一模型的所述状态的、满足第一约束的每个修改,所述至少一个控制动作将第二模型的所述状态保持在控制不变集内。该第一约束和控制不变集建立相互依赖性,即,如果sc生成期望轨迹使得在期望轨迹上移动的第一模型满足第一约束(即,特性p),则vc可以控制车辆将车辆状态保持在该控制不变集内,即,满足性能量度m。

图5a示出了根据本发明一个实施方式的用于控制车辆101的方法的框图。该方法可以由诸如处理器201的处理器执行。另外或另选地,该方法可以存储在非暂时性计算机可读存储介质上作为包含在其上的程序,使得处理器可执行的程序执行该方法。

所述方法从存储器(例如,存储器202)中选择510车辆的第一移动模型515和该车辆的第二移动模型517。通常,第一模型比第二模型简单。例如,第二模型517的阶次高于第一模型515的阶次。如本文所使用的,模型的阶次是该模型中的状态变量的数量。第一模型用于表示沿着期望轨迹移动(例如,在期望轨迹上准确地移动)的车辆移动,车辆车辆的第二移动模型用于表示在vc的动作下车辆的移动。该方法还从存储器选择520针对在期望轨迹上移动的车辆的第一移动模型的第一约束525和结合第一模型的状态与第二模型的状态的控制不变集527。确定控制不变集527,使得针对控制不变集内的状态的每个组合,存在针对第二模型的至少一个控制动作,对于针对第一模型的所述状态的、满足第一约束525的每个修改,所述至少一个控制动作将第二模型的所述状态保持在该控制不变集内。

例如,第一模型的状态可以包括车辆在任何时间点的位置和在准确地沿着期望轨迹移动时的车辆偏航率。第一模型的状态变量的值可以在第一约束给出的界限内变化。第一约束可以或可以不限制第一模型的状态变量之一。例如,在一个实施方式中,第一约束确定第一模型的状态之间的转变。第一约束的示例包括针对沿着期望轨迹的移动的曲率变化的约束以及沿着期望轨迹转变第一模型的偏航率变化的约束。第二模型的状态变量包括相对于期望轨迹的横向位移、横向速度、相对于该轨迹的取向误差,以及在根据vc的动作移动时的偏航率。第一模型的状态变量和第二模型的状态变量可以相同或不同。可以根据车辆的性能量度来选择状态变量。例如,车辆的性能可以是以下各项中的一个或组合:减小车辆的横向加速度、减小车辆的偏航率、减小相对于期望轨迹的横向位移以及减小方向盘致动力。

控制不变集的状态变量包括第一和第二模型的状态。因为控制不变集的状态包括第一模型沿轨迹的移动与由按照vc控制移动的第二模型确定的车辆状态之间的关系(例如,误差的界限),所以控制不变集根据该关系结合第一模型的状态与第二模型的状态。控制不变集的值可以预先确定,例如,基于移动的目的和性能量度m。根据其构造,控制不变集保证当车辆的第二模型的对应状态和车辆的第一移动模型的对应状态处于控制不变集内时,满足性能量度m。

一些实施方式意识到,针对由简化的第一移动模型所生成的所有可能的轨迹设计这样的控制不变集并不总是可能的。为此,第一约束根据沿着这样的期望轨迹移动的车辆的第一移动模型来限制期望轨迹的变化,以使得能够生成这样的控制不变集。例如,一个实施方式选择第一约束的、允许非空控制不变集的最大值。另外或另选地,一个实施方式在增加控制不变集的大小的同时,减小第一约束的值。为此,第一约束可以被认为是期望轨迹的多个可能变化与控制不变集的大小之间的平衡因子,其确定vc的允许动作的数量。

接下来,该方法利用第一模型515确定530期望轨迹535的、满足第一约束525的一部分,并利用第二模型517确定540用于使车辆沿着期望轨迹535的所述部分移动的一系列命令545,使得该系列命令在控制不变子集527内保持根据期望轨迹的所述部分确定的第二模型517的一系列状态和第一模型515的一系列状态。该方法利用来自该系列命令中的至少一个命令545来控制550车辆101。

例如,对于满足特性p的期望轨迹来说,可以确定轨迹条件和当前车辆状况的允许组合,这产生车辆将来状况和当前轨迹需要满足的条件的区域r,即,控制不变集527。因为车辆将来状况取决于当前车辆状况和应用于车辆的车辆指令,所以条件r还确定针对车辆的有效命令。

图5b示出了根据本发明一个实施方式的协作控制的示意图。在sc301中,例如由路径规划器模块t502基于当前车辆信息515提供的最初生成的期望轨迹被修改501成属于满足特性p的轨迹类别,并且修改的轨迹511被提供给vc302。在vc中,控制器c503使用车辆信息515、修改的轨迹511以及轨迹条件和当前车辆状况的允许组合的区域r504,以确定提供给ac303的车辆命令512。利用当前车辆信息515和车辆命令512的ac生成针对车辆101的物理动作513,物理动作513修改车辆的移动514,使得通过针对修改的轨迹512的车辆移动514,性能量度m505总是返回真516,即,满足。

示例性第一移动模型

在一些实施方式中,sc生成描述车辆在特定时刻的期望位置的定时轨迹。例如,定时轨迹可以包含车辆在特定时刻的的一系列位置矢量(px,py)的信息。然而,关于这种轨迹的信息需要利用关于遵循这种轨迹的车辆移动的附加信息来增强。因此,sc基于在所述轨迹上准确地移动的车辆的第一移动模型,来生成关于在期望轨迹上的车辆移动的附加信息。例如,根据sc轨迹,车辆的第一移动模型不仅确定车辆的期望位置(px,py),而且确定时刻t的取向θ、偏航率ω以及纵向速度v,其关系如下:

其中,r是转弯半径,是路径的曲率。因此,给定当前位置和取向以及纵向速度,偏航率确定将来位置。偏航率可以定义为

其中xr和ur是内部状态变量以及生成轨迹的系统的输入。内部状态确定在sc轨迹上准确移动的第一模型的当前条件。所述输入确定第一模型条件的强制变化以继续准确地在sc轨迹上移动。

满足方程(2)的移动模型的示例包括

w=crxr(3)

或者更简单的形式

其对应于理想车辆移动,该理想车辆移动被表示为准确地在sc轨迹上移动的质点(particle)。

一般来说,(3)、(4)中的微分方程可以转换成差分方程,其中,按由k索引并由相等长度的时间间隔ts分隔的离散时刻定义解,因为这种形式更适合在微处理器中进行确定,分别得到

xr(k+1)=arxr(k)+brur(k)

yr(k)=w(k)=crxr(k)(5)

yr(k)=xr(k)=ω(k)=xr(k)+tsur(k),(6)

因为车辆可以执行的动作受限于机械和安全考虑事项,所以由sc生成的轨迹也能够受到限制。特别地,可以通过确保第一模型(例如,(5)、(6))满足下面的约束来定义sc轨迹的限制

其中,是适当的集合,其确定针对在sc轨迹上移动的第一个模型的状态和输入的允许值,并且其可以对例如针对偏航率和偏航加速度的限制进行建模

ωrmin≤ωr≤ωrmax(8a)

示例性第二移动模型

图6示出了表示根据本发明一个实施方式的期望轨迹与车辆的第二移动模型之间的关系的示意图。期望轨迹可以由具有沿着轨迹的x轴和与轨迹正交的y轴的参考系602表示,该参考系根据车辆的第一移动模型沿着路径601以给定速度移动。在这种情况下,由vc控制的车辆的第二移动模型可以被表示为附接至车辆质心的坐标系603(具有沿着车辆长度的x轴和沿着车辆宽度的y轴)与坐标系602之间的差异。具体来说,如果车辆与参考系602以相同速度移动,则坐标系602与坐标系603之间的差异相当于沿602的y轴的分量的差604以及坐标系603、602的取向角之差。实际上,只要该差604为零,车辆就沿着期望轨迹移动。

因此,表示为相对于期望轨迹的差异的车辆移动被写为

其中,e1、e2是横向距离604以及603、602之间的取向误差,δ是转向角,m、iz是车辆质量和沿竖直轴的惯量,cf、cr是前后轮胎的刚度,lf、lr是前、后轴相对于质心的距离。应注意到,车辆状态变化取决于轨迹偏航率,因为轨迹偏航率使参考系602移动,这改变了参考系602与车辆坐标系603之间的差异。

车辆还受制于机械和安全限制,这些限制可以被建模为对车辆移动变量的约束。可以按由k索引并由相等长度的时间间隔ts分隔开的离散时刻表示车辆移动,并且可以定义转向增量δu以获得车辆模型

x(k+1)=ax(k)+bδu(k)+dw(k)(10)

其中,

并且x是车辆的状态,即当前车辆状况,而δu是vc选择的针对车辆的命令输入。

针对车辆的约束被建模为

其中,是确定车辆的所述状态与输入的允许值的适当集合,并且其对例如针对车辆与轨迹之间的最大转向和偏航率误差、以及车辆与轨迹之间的误差的约束进行建模

δmin≤δ≤δmax(13b)

e1min≤e1≤e1max(13c)

轨迹特性与性能量度

基于针对sc轨迹和车辆的模型,性能量度m可以通过对车辆的约束(12)来定义,约束(12)包括车辆位置与sc轨迹位置之间的最大横向误差等。由sc生成的轨迹必须满足的特性p由一般更新方程(2)(例如,表达为(5)或(6))和约束(7)来定义。在一些实施方式中,特性p的约束定义了控制不变集527。

例如,一个实施方式将控制不变集确定为sc轨迹状态xr和车辆状态x的组合空间的区域r,使得针对r中的sc轨迹状态和车辆状态的所有组合(x,xr)∈r,满足针对sc轨迹状态的约束和针对车辆状态的约束而针对r中的sc轨迹状态和车辆状态的任何组合(x,xr)∈r,存在输入使得针对所有sc轨迹输入下一sc轨迹状态处于下一车辆状态处于本发明还确定了针对的选择,使得区域r是非空的。基于区域r,本发明确定针对vc的设计,其确定转向值δ,使得对于满足特性p的每个轨迹来说,总是实现性能量度m。

控制不变集

在一些实施方式中,控制不变集r是相对于沿着期望轨迹移动的车辆的第一移动模型(5)以及在vc的控制下移动的车辆的第二移动模型(10)来确定的。该控制不变集是由在vc的控制下移动的车辆的第二模型的、满足方程(12)的状态以及沿着期望轨迹移动的车辆的第一模型的、满足方程(7)的状态所限定的可行区域的子集,其中,被视为控制输入,而被视为干扰。

图7示出了根据本发明实施方式的由各种约束定义的可行区域710的二维投影的示例。对于受制于在(7)、(12)中定义多面集的线性约束的线性方程(5)、(10)来说,该可行区域是车辆的状态和由超平面确定的期望轨迹的状态的空间中的多维多面体,其由线性不等式表示。

因为该系统具有动态,所以对于的任何选择来说,在某一时刻处于可行区域的车辆的第一移动模型的状态和车辆的第二移动模型的状态本身并不保证它们可以在下一时刻保持在该可行区域中。例如,车辆的第二移动模型的状态和车辆的第一移动模型的状态720对于一次迭代是可行的,但是在下一迭代期间对车辆的第二移动模型的所有控制动作721-724可以使车辆的第二移动模型的状态处于可行区域510之外。

本发明的一些实施方式基于又一个认识,即,可以选择该可行区域的子集715,使得根据该子集内的任何车辆状态,对于车辆的第一移动模型的所有可容许的将来状态,存在将车辆的第二移动模型的状态保持在该子集内的控制动作。例如,针对子集715内的任何状态(如状态730)并且在控制器可以执行的所有可能控制动作731-734内,存在至少一个控制动作734,其将车辆的第二移动模型的状态和轨迹保持在子集715内。

因此,如果选择用于控制该操作的控制动作,使得车辆的第二移动模型的状态和车辆的第一移动模型的状态仍保持在该可行区域的该特殊子集715中,并且该可行区域还根据方程(5)、(7)生成,则保证了车辆以由性能量度定义的有界误差跟踪期望轨迹,并且车辆的每个将来状态总是容许至少一个可行控制动作。在这种情况下,子集715是本发明的一些实施方式所使用的控制不变集。例如,可以通过优化表示受制于由可行区域的该特殊子集715定义的约束的车辆移动的成本函数来执行控制动作的选择,这与可行区域710本身内的优化形成对比。如本文所述,子集715是结合第一模型的状态与第二模型的状态的控制不变集。

图8a示出了根据本发明一些实施方式的用于控制车辆的操作的方法801的框图。该方法可以由控制器102的处理器201执行。该方法确定810车辆状态和由约束804定义的期望轨迹状态的可行区域710。在一个实现方式中,约束804包括在方程(7)、(12)中定义的、对车辆的第二移动模型的约束以及对车辆的第一移动模型的约束。接下来,该方法选择820区域r作为控制不变集815(作为可行区域的子集),使得根据该子集内车辆的第二移动模型的任何状态,对于车辆的第一移动模型的任何下一状态,存在将车辆的第二移动模型的状态保持在该子集内的控制,并且选择830用于控制该操作的控制动作840,使得车辆状态仍保持在该子集中。在一个实施方式中,该选择包括优化表示受制于由子集区域715定义的约束的车辆操作的成本函数835。该成本函数迭代地优化固定的时间范围(timehorizon)以生成当前迭代的命令840。

例如,步骤830中的优化可以作为优化问题被公式化,该优化问题优化受制于这样的约束的车辆的性能,即,该约束包括车辆的第二移动模型的将来状态与来自属于该控制不变集的第一模型的一系列状态的第一元素的组合。车辆性能的示例包括:减小车辆的横向加速度、减小车辆的偏航率,减小相对于期望轨迹的横向位移以及减小方向盘致动力。通过求解该优化问题,可以生成用于有益地移动车辆的命令或一系列命令。

在一些实施方式中,图8a的方法的所有步骤在车辆操作期间执行。在另选实施方式中,步骤810、820在车辆操作之前执行,并且成本函数835或选择控制动作的其它原则也在车辆操作之前被定义。这样的操作可以在微处理器中或者在通用计算机器(诸如台式计算机、笔记本计算机或工程工作站)中执行。步骤820的结果和成本函数835的结果被编程在微处理器201的存储器202中,并且步骤830是在车辆操作期间重复执行的唯一步骤。

图8b示出了根据本发明一个实施方式的用于选择830命令840的方法899的框图。这种方法可以在车辆操作期间执行。方法899选择850满足由可行区域810定义的车辆移动的物理约束的可行命令855。该方法根据所述命令来估计860车辆的第二移动模型从当前状态到将来状态865的转变,并且如果车辆的第二移动模型的将来状态与来自第一模型的一系列状态的第一元素的组合属于控制不变集815,则将可行命令855选择870为用于控制车辆的命令840。否则,该方法选择880不同的可行命令并重复估计步骤和选择步骤。

例如,可行命令855是图7的命令732。该命令将车辆的第二移动模型的状态移动到控制不变集之外。为此,方法899选择880不同的命令,例如,可以选择不同的可行命令以减小根据不同可行命令确定的将来状态与该控制不变集的边界之间的距离。例如,下一不同的命令可以是命令733。这样的命令也将车辆的状态转换到控制不变集715之外,因此方法899选择另一个不同的命令,直到这样的新命令将车辆的第二移动模型的状态保持在控制不变集内为止。这种命令的示例是命令734。

确定控制不变集

图9例示了在确定由本发明一些实施方式所使用的子集715背后的原理。例如,一个实施方式根据受制于由方程(7)、(12)针对sc轨迹的干扰而给出的约束的方程(5)、(10),将控制不变集r确定为针对车辆的第二移动模型和车辆的第一移动模型的状态集的子集715。车辆的第二移动模型的状态的和车辆的第一移动模型的状态的可行集710为

在该示例中,车辆902的状态和期望轨迹903的状态定义可行区域710中的(x,r)中的点901。给定针对车辆的第一移动模型的状态的输入的容许集904

车辆的第二移动模型的将来状态和车辆的第一移动模型的将来状态可以是由线段905、906界定的多面体907中的任何地方。因此,控制器可以采取任何控制动作,使得车辆902的第二移动模型的将来状态保持在线段910中,使得车辆的第二移动模型的将来状态与车辆的第一移动模型的将来状态的组合仍保持在多面体907中。

如果集合cx,r907使得始终存在这样的控制动作,即,针对车辆的第一移动模型的下一状态的整个容许范围904,该控制动作将车辆的第二移动模型的状态和车辆的第一移动模型的状态901保持在集合907中

那么可以保证

其保证了满足针对车辆的约束和针对性能(例如,跟踪误差界限)的约束。值得注意的是,因为更新状态仍在r内,所以该过程可以在下一步骤重复,从而递归地保证约束实施。

图10示出了根据一个实施方式的通过迭代地执行后向可达集计算直到满足终止条件来选择区域r的方法的框图。后向可达集计算从当前可行区域去除所有状态,对于该可行区域来说,针对车辆的第一移动模型的所有下一状态,没有将车辆的第二移动模型的状态保持在该可行区域内的控制。

例如,后向可达集计算在步骤k=0初始化1001当前可行集1001,作为可行区域510,

然后确定1002车辆的第二移动模型和车辆的第一移动模型的状态的后向可达集,其可以根据下面的方程,转变成针对可容许参考输入的所有值的当前可行集

其中,

方程(19)的计算去除了后向可达集的状态,对于该后向可达集,不存在将车辆的第二移动模型和车辆的第一移动模型保持到针对sc轨迹输入的所有可容许值的当前可行集中的控制动作。

在步骤1003,该计算测试后向可达集是否等于当前可行集,即,ωk+1==ωk。如果是1004,则后向可达集是控制不变集715,该计算停止并且r=ωk。在一些实施方式中,测试1003用作终止条件,其指定当后向可达集与可行集之差低于阈值时,后向可达集等于当前可行集。

否则1005,后向可达集被用作该计算的下一迭代(k=k+1)中的当前可行集。图10的后向可达集计算返回最大的现有鲁棒控制不变集。然而,因为允许的轨迹输入的集合取决于期望轨迹的状态,所以在一些情况下,控制不变集不是单个凸多面体而是一组凸多面体,这使得在实时控制中使用这种子集变得困难。而且,图10的后向可达集计算在计算上是扩展的并且可能花费大量时间,例如,几天甚或几个月。

图11示出了确定控制不变集r的另选方法的框图,该集合r略小于图10的最大控制不变集,但是其是单个凸多面体。而且,图11的方法较快,例如,可以在几分钟和/或几小时内确定控制不变集。

该方法首先1100根据针对第一模型的约束(包括第一约束),确定第一模型的状态的将来可行的容许集。例如,该容许集可以从方程(5)获得,而方程满足(7),该容许集对于方程(5)、(7)来说本身是不变的,

以及将轨迹状态保持到这样的集合中的第一模型状态相关输入的对应集合

然后,该方法通过以下步骤来初始化1101:例如根据下面的方程计算第一模型的可行状态和第二模型的可行状态的第一集合

并且例如根据下面的方程计算由第一集合与容许集的交集而形成的第二集合

然后,该方法在仅考虑第一约束(即,忽略其它约束)的同时,迭代1108(在此,在当前迭代计算出1102第三集合)第一集合的后向可达计算

然后,该方法将第一集合更新1103成第一集合与第三集合的交集

并且将第二集合更新1104成所更新的第一集合与容许集的交集

例如,当前第二集合与车辆无关容许轨迹集的交集被形成为与x相关联的维度中的整个空间以及与xr相关联的维度中的最大轨迹状态集。

如果所更新的第二集合与在前一迭代期间更新的第二集合之差1106小于阈值,则该方法将控制不变集确定1105为所更新的第二集合,例如,

ωk+1=ωk。(27a)

否则,迭代继续。结束时,r在车辆的第二移动模型的状态x和车辆的第一移动模型的状态xr的空间中被表示为单个凸多面体。

图12示出了图11的方法相对于图10的方法的效果。因为在计算的某些部分中忽略了轨迹输入ur对车辆的第一移动模型的状态xr的依赖性,所以通过图11的方法获得的集合1201小于通过图10的方法获得的集合1202,但子集1201是单个凸多面体,而子集1202包括较大的凸多面体1203和在边界处的多个较小的凸多面体1204,其并集是非凸的。

确定期望轨迹的特性

如果利用图10或图11中描述的方法计算的控制不变集r为空,则对于满足特性p的所有轨迹来说,不可能实现性能量度m,其中,m由约束(12)表示,p由方程(5)和约束(7)表示。为此,一些实施方式更新特性p和性能量度m中的一个或组合。例如,一个实施方式确定第一约束的、允许非空控制不变集的最大值。另一实施方式平衡第一约束的值与控制不变集的大小,例如,在增加控制不变集的大小的同时减小第一约束的值。

一些实施方式基于这样的认识,即,控制不变集r可以用于确定特性p和/或性能量度m。例如,可以将约束(7)参数化成

其中,σ1和σ2是两个非负缩放系数。然后,可以搜索σ1和σ2的、提供非空区域r的值,并根据σ1和σ2优化成本函数

成本函数的一个例子可以是近似于满足(7)的sc轨迹状态和输入的量(volume)的缩放分量的加权值,

j(σ1,σ2)=w1σ1+w2σ2(30)

具体来说,对于方程(5)由方程(6)指定并且(7)中的约束由(8)指定的情况来说,一个实施方式可以基于车辆可以根据(10)、(12)实现的允许最大偏航率来固定偏航率约束(8a),并且通过求解下面的方程来确定由轨迹(8b)所施加的最大偏航加速度

其根据(8a)提供特性p作为具有有界偏航率的最大类别的轨迹,对于该轨迹,建模为(10)的车辆可以满足由(12)建模的性能量度m。

可以通过以下步骤执行类似运算:将固定方程(7)和变化方程(12)保持成

并求解

其中,例如成本函数j如(30)中那样确定对于p内的轨迹来说可以实现的最佳性能量度m。

针对轨迹特性和性能量度的车辆控制设计

在确定了控制不变集r之后,一些实施方式确定vc函数针对p中的任何轨迹满足m。例如,根据针对任何给定车辆状态x和轨迹状态xr的控制不变集r,可以应用以保证针对满足p的任何轨迹的所有将来时刻的m的输入的集合为

vc可以被设计为选择任何转向增量δu,使得

并确定转向命令为

δ(k)=δ(k-1)+δu(k)。(36)

具体来说,vc可以被设计成选择最小化某个性能目标的转向增量δu,如

minδuj(δu,x,xr)

s.t.δu∈ru(x,xr),(37)

其中,例如j是车辆的第二移动模型的下一状态和控制作用的二次函数,

j(u,x,xr)=(ax+bδu+dcrxr)′w1(ax+bδu+dcrxr)+δu′w2δu,(38)

其中,w1、w2是矩阵权重。

在一些实施方式中,sc为某些步骤提前生成轨迹,因此vc可以通过求解下面的方程,来优化不仅针对当前步骤而且针对n>1个将来步骤的控制动作

s.tx(k+h+1)=ax(k+h)+bδu(k+h)+dcrxr(k)

(x(k+h+1),xr(k+h1))∈r,

δu(k+h),xr(k+k)∈r,

h=0,...n-1(39)

其中,例如

或者

并且约束

(x(k+h+1),xr(k+h+1))∈r,h=0,...n-1(42)

确保对于针对满足p的任何轨迹的所有将来时间来说,都满足性能量度m。通过求解(14)获得的控制动作可以全部或部分应用,直到vc需要重新计算控制动作为止,以使vc以滚动时域(recedinghorizon)方式操作。

图13示出了根据实施方式的vc的控制方法的框图,其中系统以这种滚动时域方式操作。在任何控制周期,通过vc获取1301车辆状态和沿着长度为n的将来预测视野(predictionhorizon)的sc轨迹,并求解1302控制问题(39)。所得输入序列解δu(k)的第一元素被用于1303计算转向命令δ(k),转向命令δ(k)被设定给ac以便应用于车辆1304车辆。然后,当重复该序列时,vc等待1305下一控制周期。

命令计算

vc的控制命令计算可以以几种方式之一操作。基于方程(35),可以操作简单搜索,包括随机选择δu,然后验证方程(35)的满足,并且在否定答案的情况下,重复该过程直到选择了满足方程(35)的δu。对于优化了成本函数(如(37)、(39))的情况来说,由于(5)、(10)中的方程是线性的,因而在方程(7)、(12)由线性约束确定并因此是凸多面的情况下,通过图11中的方法确定的r也是凸多面体,因此可以通过计算凸约束二次程序(quadraticprogram)的解来求解方程(37)、(39)

s.t.gpδu≤kp,(43)

其中,矩阵qp、gp,和矢量fp、kp由方程(5)、(7)、(10)、(12)、(27b)构成。由于来自图11中的方法的所得区域r是凸多面体(27b),因而一种实现方式将方程(37)、(39)公式化为凸二次程序(43)。例如,使用图(10)中的方法很难将方程(37)、(39)公式化为凸二次程序(43)。

本发明的上述实施方式可以按许多方式中的任一种来实现。例如,这些实施方式可以利用硬件、软件或其组合来实现。当按软件来实现时,软件代码可以在任何合适处理器或处理器集合上执行,而不管设置在单一计算机中还是分布在多个计算机当中。这种处理器可以被实现为集成电路,在集成电路组件中具有一个或更多个处理器。然而,处理器可以利用采用任何合适格式的电路来实现。

而且,本发明的实施方式可以被具体实施为方法,已经提供了该方法的示例。作为该方法的一部分执行的动作可以按任何合适方式来安排。因此,即使在例示性实施方式中被示出为顺序动作,也可以构造按与所例示相比不同的次序来执行动作的实施方式,其可以包括同时执行一些动作。

在权利要求书中使用诸如“第一”、“第二”的序数词来修饰权利要求要素,本身并不意味着一个权利要求要素相对于另一权利要求要素的任何优先级、优先权或顺序,或者方法的动作执行的时间顺序,而是仅仅被用作用于区分具有特定名称的一个权利要求要素与具有相同名称(但供序数词使用)的另一要素的标记,以区分这些权利要求要素。

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