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

利用不确定运动模型的基于模型的控制的制作方法

2021-10-16 04:27:00 来源:中国专利 TAG:模型 控制 不确定性 总体上 用于


1.本发明总体上涉及基于模型的控制,更具体地涉及用于使用具有不确定性的运动模型的基于模型的控制的方法和设备。


背景技术:

2.基于优化的控制和估计技术(诸如模型预测控制(mpc))允许基于模型的设计框架,在该设计框架中,系统动态和约束可以直接被考虑。mpc在许多应用中被用于控制各种复杂性的动态系统。这样的系统的例子包括生产线、汽车引擎、机器人、数控加工、卫星和发电机。
3.mpc是基于系统的模型的实时有限区间优化。mpc具有预计未来的事件和采取适当的控制动作的能力。这通过在受约束的条件下优化系统在未来的有限的时间区间的操作并且仅执行对当前时间步长的控制来实现。
4.mpc可以预测由控制变量的变化引起的、建模的系统的状态变量的变化。状态变量定义系统的状态,即,被控系统的状态是控制系统的状态

空间表示中的状态变量的最小集合,所述状态空间表示可以表示系统在任何给定时间的整个状态。例如,如果被控系统是自主车辆,则状态变量可以包括车辆的位置、速度和前进方向。控制变量是被设计为改变机器的状态的系统的输入。例如,在化学工艺中,控制变量通常是压力、流动、温度、阀门的打开、以及阻尼器的刚度。这些工艺中的状态变量是要么表示控制目标、要么表示工艺约束的其他测量。
5.mpc使用系统的模型、当前系统测量、工艺的当前动态状态以及状态和控制约束来计算状态变量的未来的变化。计算这些变化是为了在受控制变量和状态变量这二者的约束的条件下使状态变量保持接近目标。mpc通常仅送出将被实现的每个控制变量的第一变化,并且当需要下一次改变时,重复计算。
6.基于模型的控制的性能不可避免地取决于最优控制计算中使用的预测模型的质量。预测模型描述系统的动态,即,系统及时的演化。例如,预测模型是描述系统的动态的非线性函数,基于被控系统的控制输入,连接该系统的先前的状态和当前的状态。
7.然而,在许多应用中,被控系统的运动模型部分是未知的或不确定的。在这样的情况下,对于不确定模型的控制的应用可能导致次优的性能、或者甚至导致被控系统的不稳定。例如,在一些情形下,运动模型的一些参数没有被精确地测量。因此,控制器可能需要估计机器的模型的未知参数。处理这样的问题的常规方法包括自适应mpc或基于学习的mpc,其中,mpc控制问题增加了闭环识别方案,以便学习未知的机器参数。通过学习未知的参数,通过控制器实现的机器的操作得到改进。参见例如u.s.2011/0022193。
8.然而,除了运动模型的参数的不确定性之外,或者替代运动模型的参数的不确定性,在一些情形下,系统的动态是变化的,即,被控系统的连续状态之间的函数关系。在这些情形下,用于估计模型的参数的自适应方法或基于学习的方法可能是不够的。
9.因此,需要可以实时地学习控制系统的动态的运动模型的基于模型的控制器。


技术实现要素:

10.一些实施例的目的是提供系统的使用描述系统的动态的运动模型的基于模型的控制。另外或可替代地,一些实施例的另一目的是提供系统的使用具有不确定性的运动模型的基于模型的控制。另外或可替代地,一些实施例的另一目的是提供系统的使用具有系统的动态的不确定性的运动模型的基于模型的控制。另外或可替代地,一些实施例的另一目的是当被控系统的运动的参数和/或动态是未知的和/或部分已知的时,估计该系统的运动模型。另外或可替代地,一些实施例的另一目的是估计具有非线性动态的被控系统的运动模型。
11.通常,系统可以利用至少两个模型(方程)来建模。第一模型是系统的将系统的状态与系统的前一状态和系统的输入关联的运动模型。所述运动模型捕捉系统的动态。所述运动模型通常包括表示运动模型的不确定性的噪声或干扰,和/或对外部干扰进行建模。这个不确定性在本文中被称为过程噪声。第二模型是将系统的可用测量与系统的状态关联的测量模型。所述测量模型还包括测量噪声和/或在本文中被称为测量噪声的其他不确定性。在本文中,这些不确定性被称为模型不确定性。
12.另外,系统的状态也是受到不确定性影响的,在本文中被称为状态不确定性。尤其是,过程噪声和测量噪声与模型不确定性组合引起状态不确定性。然而,虽然状态不确定性和模型不确定性紧密相连,但是它们不同于过程噪声和测量噪声。具体地说,状态不确定性是系统的模型和状态的值内部的,而过程噪声和测量噪声是状态的外部干扰。
13.当过程噪声、测量噪声和模型是已知的(即,过程噪声和测量噪声的分布的形状和参数以及描述模型的非线性函数是已知的)时,各种技术允许例如通过使用卡尔曼(kalman)滤波器或粒子滤波器,既估计系统的状态,又估计状态不确定性。系统的状态和状态不确定性这二者对于许多控制应用是重要的。例如,系统的状态可以用于确定系统的控制输入来实现控制目标,而状态不确定性可以用于调整控制输入来确保控制的可行性。
14.例如,当过程噪声和测量噪声的分布是已知的并且运动模型和测量模型是已知的时,粒子滤波器可以用于利用粒子集合来表示系统的状态和状态不确定性,其中系统的状态是粒子的加权组合,其中权重是根据粒子与测量模型的拟合而确定的。
15.然而,在若干应用中,运动模型在运行时之前不是已知的,例如,对于在道路上驾驶的车辆,表面不能被感测,除非车辆正在移动,并且任何控制器是基于在启动阶段中是不确定的、或者甚至完全未知的运动模型。另外或可替代地,系统的动态可能是未知的、部分已知的、或者随着时间变化的。
16.因此,对于一些应用,不仅需要估计系统的当前状态的分布,而且还需要估计系统的运动模型。为此,一些实施例在分别给定前一状态、测量模型、以及干扰运动和测量模型的过程噪声和测量噪声的情况下,估计系统的状态和运动模型。
17.一些实施例是基于以下认识,即,粒子滤波器可以通过将确定状态与使用测量模型的测量的拟合的权重和状态包括在每个粒子中来估计状态的分布。然而,在粒子中包括状态可能仅更新状态,而不更新运动模型,因为在这样的布置中,运动模型在粒子的外部,即,是粒子外部的,使得所有的粒子都由同一运动模型驱动。
18.一些实施例是基于以下理解,即,粒子滤波器还可以将运动模型包括在每个粒子中。以这样的方式,运动模型变为粒子内部的,即,每个粒子将具有它自己的运动模型。
19.实际上,因为不同粒子的运动模型可以不同,所以修改的粒子滤波器不仅可以更新系统的状态,而且还可以更新系统的运动模型。
20.一些实施例是基于以下认识,即,为了将运动模型包括到每个粒子中,粒子应包括状态、运动模型、运动模型的不确定性的测度、以及确定状态和运动模型相对于测量模型的联合拟合的权重。以这样的方式做确保每个粒子的加权反映运动模型的质量。
21.一些实施例是基于以下认识,即,未知的运动模型可以被认为是系统的运动模型的随机的不确定性。另外,一个实施例认识到,通常存在作用于车辆的运动上的其他干扰,诸如生成控制输入的致动器中的不确定性或其他外部干扰。一个实施例是基于以下认识,即,运动模型的分布可以被确定为根据粒子的权重加权的、每个粒子的可能的运动模型的加权组合。
22.一些实施例是基于以下认识,即,运动模型的不确定性可以被建模为系统的可能的运动模型上的高斯过程。所述运动模型是函数,通常是描述状态的演变的非线性函数。可能的运动模型上的高斯过程上的每个采样是采样的运动模型。因为高斯过程的参数(诸如高斯过程的均值和方差)捕捉运动模型的不确定性,所以采样的运动模型表示不确定性。为此,当运动模型和测量模型中的至少一个是未知的时,一些实施例使用高斯过程来对运动模型进行建模,所述高斯过程是状态的函数上的分布。
23.一些实施例是基于以下认识,即,为了更新运动模型,需要更新高斯过程,这是在计算上具有挑战性的问题。然而,一些实施例是基于以下理解,即,高斯过程可以被建模为加权的基本函数的集合,其中权重是根据高斯分布分布的。以这样的方式做大大简化了学习问题,因为学习模型的问题约简为学习相应的基本函数的权重。换句话说,为了更新高斯过程,一些实施例可以仅更新这些权重的高斯分布,并且为了确定运动模型,一些实施例可以仅从高斯分布确定n个标量权重。实际上,将运动模型认为是基本函数的加权组合显著地降低了对于以概率的方式估计轮胎摩擦的计算要求。
24.一些实施例是基于以下认识,即,基本函数的权重可以被建模为矩阵,在本文中被称为权重矩阵,该权重矩阵是矩阵正态分布的,该矩阵是其中从高斯分布对矩阵进行采样的分布。一个实施例认识到,当模型是未知的并且过程噪声和/或测量噪声的高斯分布的方差是未知的时,权重矩阵和噪声过程和/或测量噪声的分布的联合分布应是学生t分布(student

t distribution),其中学生t分布的均值矩阵取决于描述权重矩阵的参数,并且其中学生t的尺度矩阵取决于描述权重矩阵的参数和噪声协方差。这是因为学生t分布可以更好地捕捉高斯分布的未知方差的不确定性。
25.一些实施例是基于以下认识,即,系统的状态可以通过以下步骤利用模型和噪声不确定性来联合估计:从学生t分布递归地采样至少一个采样,根据与测量的一致性来对粒子进行评分,并且使用通过从学生t分布采样而产生的状态来更新权重矩阵的参数和噪声不确定性。
26.一个实施例认识到,不同的控制方法使用关于状态不确定性的不同的假设。例如,许多控制系统(诸如线性二次高斯控制器(lqg))依赖于过程和测量噪声的高斯假设来提供稳定性保证。因此,一个实施例从采样的状态产生不同的分布。例如,一个实施例将高斯分布拟合到采样的状态。
27.随着时间推进,学生t分布逼近高斯。一个实施例是基于避免这个合并可能是有益
的理解。因此,实施例约束学生t分布的参数,以使得学生t和高斯足够靠近彼此,但是不完全相同。
28.因此,一个实施例公开了一种用于控制系统的设备,所述设备包括:存储器,所述存储器被配置为存储粒子滤波器,所述粒子滤波器被配置为基于粒子集合到测量模型的拟合来估计所述粒子的权重,其中粒子包括所述系统的具有不确定性的运动模型以及所述系统的状态,所述运动模型被建模为所述系统的可能的运动模型上的高斯过程,所述系统的状态是在有所述粒子的运动模型的不确定性的情况下确定的,其中一个粒子的运动模型的高斯过程的分布不同于另一粒子的运动模型的高斯过程的分布,其中粒子滤波器的每次执行根据所述系统的控制输入和所述粒子的具有所述不确定性的运动模型来更新所述粒子的状态,并且通过将所述粒子的状态拟合到受测量噪声的条件下的所述测量模型中来确定所述粒子的权重;以及处理器,所述处理器被配置为:执行所述粒子滤波器以生成每个粒子的权重和在有每个粒子的运动模型的不确定性的情况下确定的每个粒子的状态;基于在有粒子的运动模型的不确定性的情况下确定的所述粒子的状态和在没有所述粒子的运动模型的不确定性的情况下确定的所述粒子的状态之间的差异,更新所述粒子的高斯过程的分布;将所述运动模型的当前估计确定为根据所述粒子的权重加权的、所述粒子的运动模型的加权组合;将所述系统的状态的当前估计确定为根据所述粒子的权重加权的、所述粒子的状态的加权组合;以及执行控制器,所述控制器被配置为:基于所述运动模型的当前估计和所述系统的状态的当前估计来产生所述控制输入的值,以及使用所述控制输入的所述值来控制所述系统。
29.另一实施例公开了一种用于控制系统的方法,其中所述方法使用处理器,所述处理器耦合到存储器,所述存储器存储粒子滤波器,所述粒子滤波器被配置为基于粒子集合到测量模型的拟合来估计所述粒子的权重,其中粒子包括所述系统的具有不确定性的运动模型以及所述系统的状态,所述运动模型被建模为所述系统的可能的运动模型上的高斯过程,所述系统的状态是在有所述粒子的运动模型的不确定性的情况下确定的,其中一个粒子的运动模型的高斯过程的分布不同于另一粒子的运动模型的高斯过程的分布,其中所述粒子滤波器的每次执行根据所述系统的控制输入和所述粒子的具有所述不确定性的运动模型来更新所述粒子的状态,并且通过将所述粒子的状态拟合到受测量噪声的条件下的所述测量模型中来确定所述粒子的权重,其中所述处理器与存储的实现所述方法的指令耦合,其中所述指令在被所述处理器执行时,执行所述方法的步骤,所述步骤包括:执行所述粒子滤波器以生成每个粒子的权重和在有每个粒子的运动模型的不确定性的情况下确定的每个粒子的状态;基于在有粒子的运动模型的不确定性的情况下确定的所述粒子的状态和在没有所述粒子的运动模型的不确定性的情况下确定的所述粒子的状态之间的差异,更新所述粒子的高斯过程的分布;将所述运动模型的当前估计确定为根据所述粒子的权重加权的、所述粒子的运动模型的加权组合;将所述系统的状态的当前估计确定为根据所述粒子的权重加权的、所述粒子的状态的加权组合;以及执行控制器,所述控制器被配置为:基于所述运动模型的当前估计和所述系统的状态的当前估计来产生所述控制输入的值,以及使用所述控制输入的所述值来控制所述系统。
30.又一实施例公开了一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质上包含处理器可执行的、用于执行方法的程序,所述介质存储粒子滤波器,所述粒
子滤波器被配置为基于粒子集合到测量模型的拟合来估计所述粒子的权重,其中粒子包括所述系统的具有不确定性的运动模型以及所述系统的状态,所述运动模型被建模为所述系统的可能的运动模型上的高斯过程,所述系统的状态是在有所述粒子的运动模型的不确定性的情况下确定的,其中一个粒子的运动模型的高斯过程的分布不同于另一粒子的运动模型的高斯过程的分布,其中粒子滤波器的每次执行根据所述系统的控制输入和所述粒子的具有所述不确定性的运动模型来更新所述粒子的状态,并且通过将所述粒子的状态拟合到受测量噪声的条件下的所述测量模型中来确定所述粒子的权重。所述方法包括:执行所述粒子滤波器以生成每个粒子的权重和在有每个粒子的运动模型的不确定性的情况下确定的每个粒子的状态;基于在有粒子的运动模型的不确定性的情况下确定的所述粒子的状态和在没有所述粒子的运动模型的不确定性的情况下确定的所述粒子的状态之间的差异,更新所述粒子的高斯过程的分布;将所述运动模型的当前估计确定为根据所述粒子的权重加权的、所述粒子的运动模型的加权组合;将所述系统的状态的当前估计确定为根据所述粒子的权重加权的、所述粒子的状态的加权组合;以及执行控制器,所述控制器被配置为:基于所述运动模型的当前估计和所述系统的状态的当前估计来产生所述控制输入的值,以及使用所述控制输入的所述值来控制所述系统。
附图说明
31.图1a示出一些实施例使用的粒子滤波器的示意图。
32.图1b示出图1a中的第一次迭代的五个状态的可能的分配的概率。
33.图1c示出根据一些实施例修改的粒子滤波器的示意图。
34.图2a示出根据一些实施例的用于控制系统的方法的迭代的流程图。
35.图2b示出根据一个实施例的粒子滤波器的一次迭代的执行的流程图。
36.图2c示出根据一个实施例的如何更新每个的高斯过程分布的流程图。
37.图2d示出根据一些实施例的用于控制系统的设备的框图。
38.图3a示出根据一个实施例的加权的基本函数的使用的例示说明。
39.图3b示出根据一些实施例的基本函数的权重对于运动模型的子集的影响的例示说明。
40.图3c示出根据一个实施例的用于更新每个粒子的运动模型的概率分布的方法的一次迭代的框图。
41.图3d示出根据一个实施例的用于确定用于更新每个粒子的基本函数的加权组合的权重的状态组合的方法的框图。
42.图4a示出根据一个实施例的高斯分布和测量。
43.图4b示出根据另一实施例的高斯分布和测量。
44.图4c示出根据一个实施例的使用学生t分布来确定采样的状态的效果的例示说明。
45.图4d示出根据一个实施例的从高斯分布产生的示例性场景。
46.图5a示出例示说明一些实施例的原理的示意图。
47.图5b示出例示说明一些实施例的原理的示意图。
48.图6a示出根据一些实施例的选择的参数如何与用于控制系统的各种控制器交互
的框图。
49.图6b示出根据一个实施例的用于使用运动模型的确定的分布来控制系统的方法的例示说明。
50.图6c示出根据一些实施例的估计的时间进展。
51.图6d示出根据一些实施例的估计的时间进展。
52.图6e示出根据一些实施例的估计的时间进展。
53.图7a示出根据一些实施例的控制系统的整体框图。
54.图7b示出根据一个实施例的传感器状态估计器的一般结构。
55.图8a示出包括采用一些实施例的原理的预测控制器的车辆的示意图。
56.图8b示出根据一些实施例的预测控制器和车辆的控制器之间的交互的示意图。
57.图8c示出自主或半自主被控车辆的示意图,其中对于该自主或半自主被控车辆,可以通过使用一些实施例计算动态可行的、并且通常是最佳的轨迹。
具体实施方式
58.一些实施例的目的是提供系统的使用描述系统的动态的运动模型的基于模型的控制。另外或可替代地,一些实施例的另一目的是提供系统的使用具有不确定性的运动模型的基于模型的控制。另外或可替代地,一些实施例的另一目的是提供系统的使用具有系统的动态的不确定性的运动模型的基于模型的控制。另外或可替代地,一些实施例的另一目的是当被控系统的运动的参数和/或动态是未知的和/或部分已知的时,估计该系统的运动模型。另外或可替代地,一些实施例的另一目的是估计具有非线性动态的被控系统的运动模型。
59.通常,所述系统的模型包括至少两个模型(方程)。第一模型是系统的将系统的状态与系统的前一状态和系统的输入关联的运动模型。所述运动模型通常包括表示运动模型的不确定性的噪声或干扰,和/或对外部干扰进行建模。这个不确定性在本文中被称为过程噪声。第二模型是将系统的可用测量与系统的状态关联的测量模型。所述测量模型还包括测量噪声和/或在本文中被称为测量噪声的其他不确定性。
60.运动模型的例子是x
k 1
=f(x
k
,u
k
) w
k
,其中w
k
是过程噪声,f(x
k
,u
k
)是描述当前状态和具有下一状态的控制输入之间的关系的非线性函数。此外,测量模型的例子是y
k
=h(x
k
,u
k
) e
k
,其中e
k
是测量噪声,h(x
k
,u
k
)是描述当前状态和具有当前测量的控制输入之间的关系的非线性函数。
61.如何描述运动模型和测量模型的不确定性的例子是将模型建模为来自高斯过程的采样,先验为κ
θ
(x,x

)为合适的协方差函数,以超参数θ为限制条件。在本文中,这些不确定性被称为模型不确定性。另外,系统的状态也遭受不确定性,在本文中被称为状态不确定性。尤其是,过程噪声和测量噪声与模型不确定性组合引起状态不确定性。然而,虽然状态和模型不确定性紧密相连,但是它们不同于过程噪声和测量噪声。具体地说,状态不确定性是状态和模型的值内部的,而过程噪声和测量噪声是状态的外部干扰。
62.图1a示出一些实施例使用的粒子滤波器(pf)的示意图。pf是用于具有随机的、可
能非高斯的过程和测量噪声的非线性状态

空间模型中的状态估计的工具。pf通过在时间上向前传播粒子来在每个时间步长使用测量来估计状态的分布,其中粒子包括状态假设和权重,所述权重确定状态与使用测量模型的测量的一致性。图1a示出当对每次迭代产生五个粒子时、产生状态轨迹的三次迭代的结果的简化示意图。初始状态110a通过使用运动模型和系统的输入,在时间111a上被向前预测,以生成五个接下来的状态121a、122a、123a、124a和125a。概率被确定为测量126a和噪声源的模型的函数。在每个时间步长,即,在每次迭代,使用概率的总计来生成聚合状态120a。
63.图1b示出图1a中的第一次迭代的五个状态的可能的分配的概率。这些概率121b、122b、123b、124b和125b被反映在选择例示说明状态121a、122a、123a、124a和125a的点的大小中。例如,状态123a具有最高的概率123b,因为当将测量与插入到测量模型中的状态进行比较时,它与测量最一致。类似地,状态121a和125a分别具有最低的权重121b和125b,因为当将相应的状态插入到测量模型中时,状态121a和125a与测量的一致性最低。
64.通常,粒子滤波器中的粒子包括状态假设和指示该状态假设的质量的权重。然而,这假定系统的运动模型是已知的,因为这是首先产生状态假设所需的。
65.图1c示出根据一些实施例修改的粒子滤波器的示意图。一些实施例是基于以下认识,即,粒子滤波器可以通过将状态112c和权重114c包括在每个粒子110c中来估计状态的分布,权重114c用于确定状态112c到使用受测量噪声126c的条件下的测量模型124c的测量的拟合。然而,在粒子中包括状态可能仅更新状态,而不更新运动模型120c,因为在这样的布置中,运动模型120c在粒子110c的外部,即,是粒子外部的,使得所有的粒子都由同一运动模型120c对象驱动,并且随机的不确定性来自过程噪声122c。以这样的方式,在粒子的外部,运动模型120c保持不变。
66.一些实施例是基于以下理解,即,粒子滤波器还可以将运动模型包括130c在每个粒子中。以这样的方式,运动模型变为粒子内部的,即,每个粒子将具有它自己的运动模型。例如,粒子140c可以包括运动模型144c,而粒子150c可以包括运动模型154c。实际上,因为不同粒子的运动模型可以不同,所以修改的粒子滤波器不仅可以更新系统的状态,而且还可以更新系统的运动模型。
67.一些实施例是基于以下认识,即,为了将运动模型包括到每个粒子中,粒子应包括状态142c和152c、运动模型144c和154c、运动模型的不确定性的测度、以及确定状态和运动模型相对于测量模型124c的联合拟合的权重146c和156c。以这样的方式做确保每个粒子140c和150c的加权反映运动模型的质量。
68.一些实施例是基于以下认识,即,运动模型的不确定性可以被建模为系统的可能的运动模型上的高斯过程。所述运动模型是函数,通常是描述状态的演变的非线性函数。可能的运动模型上的高斯过程上的每个采样是采样的运动模型。因为高斯过程的参数(诸如高斯过程的均值和方差)捕捉运动模型的不确定性,所以采样的运动模型表示不确定性。为此,当运动模型和测量模型中的至少一个是未知的时,一些实施例使用高斯过程来对运动模型进行建模,所述高斯过程是状态的函数上的分布。
69.因此,在一些实施例中,运动模型144c和154c被作为运动模型的分布包括在不同的粒子中,即,具有不确定性的运动模型被建模为系统的可能的运动模型上的高斯过程。因此,不同的粒子可以通过具有不同的分布来具有不同的运动模型。例如,在一些实施例中,
一个粒子的运动模型的高斯过程的分布不同于至少一个另一粒子的运动模型的高斯过程的分布。
70.一些实施例是基于以下认识,即,未知的运动模型可以被认为是系统的运动模型的随机的不确定性。另外,一个实施例认识到,通常存在作用于车辆的运动上的其他干扰。例如,由于生成控制输入的致动器中的不确定性或其他外部干扰。
71.一个实施例是基于以下认识,即,运动模型的分布可以被确定为根据粒子的权重加权的、每个粒子的可能的运动模型的加权组合。
72.一些实施例是基于以下理解,即,粒子滤波器可以将系统的状态的估计和系统的模型的估计这二者输出到基于模型的控制器。以这样的方式做,可以在控制的每个时间步长,基于估计的运动模型来产生新的控制输入。例如,粒子滤波器的每次执行根据系统的控制输入和每个粒子的具有不确定性的运动模型来更新该粒子的状态,并且通过将每个粒子的状态拟合到受测量噪声条件下的测量模型中来确定该粒子的权重。每个粒子具有它自己的状态、它自己的运动模型和它自己的权重。因此,系统的状态的当前估计可以被确定为根据粒子的权重加权的、粒子的状态的加权组合160c。类似地,运动模型的当前估计可以被确定为根据粒子的权重加权的、粒子的运动模型的加权组合165c。因此,可以基于运动模型的当前估计和系统的状态的当前估计来产生系统的控制170c。
73.图2a示出根据一些实施例的用于控制系统的方法的迭代的流程图。所述方法从存储器检索被配置为存储粒子滤波器的存储器,所述粒子滤波器被配置为基于粒子集合到测量模型的拟合来估计这些粒子的权重,其中粒子包括系统的具有不确定性的运动模型以及系统的状态,所述运动模型被建模为系统的可能的运动模型上的高斯过程,所述系统的状态是在有粒子的运动模型的不确定性的情况下确定的,其中至少一个粒子的运动模型的高斯过程的分布不同于至少另一粒子的运动模型的高斯过程的分布,其中粒子滤波器的每次执行根据系统的控制输入和粒子的具有不确定性的运动模型来更新粒子的状态,并且通过将粒子的状态拟合到受测量噪声的条件下的测量模型中来确定粒子的权重。
74.具体地说,所述方法检索车辆的运动模型205a和状态采样206a。每个状态采样206a与车辆的运动模型205a相关联以形成粒子。所述方法还获得在前一次迭代期间确定的控制输入204a,并且获得当前测量207a以执行210a粒子滤波器,以生成215a与粒子的状态的权重相对应的权重和状态。然后,所述方法更新220a高斯过程分布以生成用于每个粒子的运动模型的更新的分布225a。使用每个粒子的更新的分布225a,所述方法确定230a运动模型的当前估计和系统的状态。最后,当执行控制器时,使用确定的状态和运动模型235a,所述控制器使用确定的状态和运动模型235a,基于运动模型的当前估计和系统的状态的当前估计来产生240a控制输入的值,并且使用该控制输入的值来控制系统。
75.图2b示出根据一个实施例的粒子滤波器的一次迭代的执行的流程图。使用车辆的运动模型205b、在前一次迭代期间确定的控制输入206b、状态采样207b(其中每个状态采样207b与车辆的运动的运动模型205b相关联),粒子滤波器根据车辆的相应的运动模型来更新210b状态采样。在一些实施例中,运动模型205用状态上的分布来表示。在这些实施例中,所述方法对分布进行采样,以生成采样的运动模型,并且用对应的采样的运动模型来更新每个粒子的状态。然后,粒子滤波器测量220b状态以生成测量的状态225b。使用测量的状态225b和将状态与测量的状态关联的测量关系227b,粒子滤波器确定230b权重和状态采样
235b。
76.在一些实施例中,运动模型的当前估计和系统的状态被确定为根据粒子的权重加权的、粒子的运动模型的加权组合。在一个实施例中,加权组合是均值,其中每个运动模型和每个状态根据它们的权重加权。在另一实施例中,加权组合是最大估计,即,具有最大权重的运动模型和系统的状态并且其余为零被看作加权组合。
77.更新220a每个粒子的高斯过程分布可以以若干种方式进行。在一个实施例中,通过基于在有运动模型的不确定性的情况下采样的粒子的状态和在没有所述粒子的运动模型的不确定性的情况下确定的粒子的状态的组合、以及在前一次迭代中确定的参数来更新定义高斯过程分布的参数来进行所述更新。
78.图2c示出根据一个实施例的如何更新220a每个粒子的高斯过程分布的流程图。使用在前一次迭代期间确定的、粒子204c和粒子205c的运动模型,即,状态、运动模型的分布以及粒子的权重,所述方法确定210c在没有运动模型的不确定性的情况下的、系统的粒子的当前状态215c,即,运动模型的点估计。因此,为了确定在没有系统的不确定性的情况下的当前状态,一些实施例选择运动模型的分布的均值作为运动模型。
79.然后,使用所确定的在没有运动模型的不确定性的情况下的当前状态215c、以及在有运动模型的不确定性的情况下的采样的状态217c,所述方法确定220c在有运动模型的不确定性的情况下采样的粒子的状态和在没有所述粒子的运动模型的不确定性的情况下确定的粒子的状态的组合。使用状态组合227c和在前一次迭代期间确定的高斯过程的参数225c,所述方法将高斯过程参数更新230c为参数的组合225c和状态的组合227c。
80.对粒子进行采样是从提议分布x
k
~π(x
k
|x
0:k
‑1,y
0:k
)采样,其中提议分布π是包括运动模型的用户定义分布。例如,在一个实施例中,对粒子进行采样是根据预测密度从运动模型采样,π(x
k
|x
0:k
‑1,y
0:k
)=p(x
k
|x
0:k
‑1,y
0:k
‑1),但是众多其他替代方案是可能的。在一个实施例中,更新在没有确定性的情况下确定的粒子的状态是使用运动模型x
k 1
=f(x
k
)来更新状态,其中运动模型f是运动模型的分布的均值,并且更新高斯过程是将所述高斯过程的均值函数和协方差函数更新为均值和状态组合的加权组合。
81.图2d示出根据一些实施例的用于控制系统的设备210d的框图。所述设备包括存储粒子集合的存储器220d,其中每个粒子包括系统的具有不确定性的模型221d、在有运动模型的不确定性的情况下确定的系统的状态222d、以及确定模型和状态与测量的联合拟合的权重223d。
82.设备210d还包括传感器250d、处理器230d,传感器250d测量信号以生成指示系统的状态的测量序列,处理器230d被配置为:执行粒子滤波器以生成每个粒子的权重和在有每个粒子的运动模型的不确定性的情况下确定的每个粒子的状态;基于在有粒子的运动模型的不确定性的情况下确定的粒子的状态和在没有粒子的运动模型的不确定性的情况下确定的粒子的状态之间的差异,更新粒子的高斯过程的分布;将运动模型的当前估计确定为根据粒子的权重加权的、粒子的运动模型的加权组合;将系统的状态的当前估计确定为根据粒子的权重加权的、粒子的状态的加权组合;以及执行控制器,所述控制器被配置为:基于运动模型的当前估计和系统的状态的当前估计来产生控制输入的值,以及使用控制输入的值来控制系统。
83.一些实施例是基于估计高斯过程以确定运动模型的简化方式的认识。具体地说,
在一些实施例中,高斯过程被认为是有限数量的基本函数的加权组合,其中每个基本函数是系统状态的函数,并且运动模型的高斯过程是通过基本函数的权重的高斯分布捕捉的。换句话说,为了更新高斯过程,一些实施例可以仅更新这些权重的高斯分布,并且为了确定运动模型,一些实施例可以使用来自高斯分布的这些n个标量权重来确定加权组合。实际上,将运动模型认为是基本函数的加权组合显著地降低了对于以概率的方式估计运动模型的计算要求,这对于实时实现是关键的。
84.图3a示出根据一个实施例的加权的基本函数的使用的例示说明。在例示说明中,存在三个基本函数310、320a和330a。还示出了将前一状态映射到当前状态的真实的运动模型340a。通过组合基本函数并且对每个基本函数使用不同的权重,它们可以被组合来再现真实的运动模型。
85.图3b示出根据一些实施例的基本函数的权重对于运动模型340b的子集的影响的例示说明。通过让函数320b和330b的权重非常小,并且让310b的权重大,基本函数扩展可以仅利用一个基本函数来再现运动模型340b。尽管图3b是简化的示意图,但是它例示说明基本函数的原理和它可以具有的计算效率。
86.在其他实施例中,运动模型是被建模为基本函数集合的加权组合的高斯过程,其中每个函数的每个权重具有高斯概率分布,并且其中为了更新轮胎摩擦函数的概率分布,处理器被配置为更新基本函数集合的加权组合的至少一些权重的高斯概率分布。例如,一个实施例将运动模型建模为其中高斯过程的协方差函数κ(x,x

)是按照拉普拉斯算子公式化的,
87.利用基本函数运动模型是其中权重是高斯分布的,
88.一个实施例认识到使用加权的基本函数可以被用于将系统的运动建模为
[0089][0090]
其中a是权重矩阵,是作为系统的状态的函数的基本函数矢量。
[0091]
图3c示出根据一个实施例的用于更新230c每个粒子的运动模型的概率分布的方法的一次迭代的框图。所述方法使用当前和前一状态220c的确定的组合来更新310c基本函
数的加权组合的权重,并且根据利用更新的权重加权的、基本函数的加权组合来更新运动模型的概率分布320c。
[0092]
图3d示出根据一个实施例的用于确定用于更新每个粒子的基本函数的加权组合的权重的状态组合220c的方法的框图。
[0093]
使用插入到基本函数307d中的当前的采样的状态309d和前一状态308d,所述方法将插入到基本函数307d中的当前的采样的状态309d和前一状态308d映射到存储在矩阵中的数值集合315d。然后,所述方法使用确定的数值315d和概率函数320d来将数值315d映射到权重的分布。
[0094]
在一个实施例中,概率函数是用数值315d参数化的矩阵正态分布,也就是说,在另一实施例中,过程噪声被参数化为逆威沙特分布(wishart distribution)更新基本函数的权重、可能地,还有过程噪声协方差更新为如下的状态和测量序列的函数:
[0095]

[0096]
初始化m0=0、∑0=v,ψ0=0,φ0=0,其中
[0097][0098][0099][0100][0101][0102][0103]
从状态被确定为从确定的状态轨迹到基本函数的更新的权重的静态映射。
[0104]
一些实施例是基于以下认识,即,当过程噪声和/或测量噪声的高斯分布的方差是未知的时,即使当过程噪声和/或测量噪声的实际分布是高斯时,过程噪声和/或测量噪声的分布也应是学生t分布。这是因为,学生t分布可以更好地捕捉高斯分布的未知方差的不确定性。
[0105]
图4a示出根据一个实施例的高斯分布410a和测量420a,其中高斯分布410a的概率参数是未知的,并且其中测量420a来源于410a。测量420a不接近410a的中心,但是具有不可忽略的发生概率。然而,测量420a被建模为来源于高斯分布430a,为此,在430a的概率参数的当前估计的情况下,测量具有接近于零的概率,并且结果将是状态估计器将以错误的方
式移动与420a相关联的分布440a和状态估计。
[0106]
图4b示出根据另一实施例的高斯分布410a和测量420a,其中高斯分布410a的概率参数是未知的,并且其中测量420a来源于410a。测量420a不接近410a的中心,但是具有不可忽略的发生概率。然而,测量420a在估计器中被建模为来源于学生t分布430b,为此,测量具有非零概率,因为学生t 430b的尾部覆盖测量420a,并且结果是粒子滤波器以更好的方式确定状态估计和分布440b。
[0107]
图4c示出根据一个实施例的使用学生t分布来确定采样的状态的效果的例示说明。真实的运动模型410c是高斯分布的。确定粒子滤波器中的下一状态的两种不同的方式被例示说明;使用学生t分布420c和使用高斯分布430c。粒子滤波器使用被建模为学生t分布的运动模型的不确定性对当前状态440c采样五次。学生t分布是重尾的,所以即使运动模型的估计的分布与真实的分布410c不相同,仍存在产生与运动模型一致的粒子的较大机会。
[0108]
图4d示出根据一个实施例的相同的场景,但是采样的状态440d是从高斯分布430c产生的。因为高斯分布具有较短的尾部,即,不是那么宽,所以采样的粒子与真实的运动模型一致的机会较小。
[0109]
因此,一个实施例通过从以高斯过程的均值为中心的学生t分布对每个粒子进行采样来确定该粒子的采样的状态,以生成下一状态,其中学生t分布的宽度是从运动模型的不确定性确定的。
[0110]
图5a示出例示说明一些实施例的原理的示意图。具体地说,为了例示说明适当地确定的状态轨迹为何可以递归地确定运动模型,图5a示出车辆的形式的动态系统具有初始状态510的场景。对于从运动模型的概率分布和系统的给定输入采样的一个采样的状态,车辆服从运动511a,并且以530a结束,导致不确定性531a。由于噪声、传感器中的偏差和剩余的传感器误差而引起的、传感器测量中的固有的不确定性导致车辆的状态只可以是直到某个区域520是已知的。然而,车辆530a的结束状态很好地驻留在区域520内,所以运动模型和车辆的初始状态的这个特定的组合被给予是良好组合的高概率。因此,运动模型的概率分布有可能是良好的分布,因为当前状态的采样是来自所述分布的采样。
[0111]
图5b示出这样的车辆,该车辆具有相同的初始状态510,可能地具有传感器的相同的偏差项,但是具有根据一些实施例的另一特定的采样的当前状态。对于相同的系统输入,车辆510现在服从运动511b,这导致车辆以状态530b结束,导致不确定性531b。然而,车辆的这个结束状态530b不驻留在传感器的确定性区域内。因此,初始状态、采样的当前状态和偏差项的这个特定的组合被分配是良好组合的低概率。因此,运动模型的估计的分布不太可能是良好分布。
[0112]
图6a示出根据一些实施例的确定的运动模型如何与用于控制系统的各种控制器交互的框图。控制器610a是基于模型的控制器,该控制器使用运动模型612a来产生给予被控系统的致动器602a的控制命令604a。例如,控制器可以是比例

积分

微分(pid)控制器,或者控制器610a可以是模型预测控制器(mpc)。控制器610a可以要么是独立的控制器,要么补充系统的人类操作者607a的动作。例如,系统可以是车辆,人类操作者可以是车辆的驾驶者。控制器接收参考603a、状态和输入约束614a和运动模型612a,并且根据参考603a产生控制横向运动的车轮的期望的控制命令604a、和/或控制系统的期望的速度或加速度804a。
[0113]
在一个实施例中,非线性模型预测控制器(nmpc)使用确定的运动模型来控制系统。mpc通过在存在约束614a的情况下优化系统的期望的未来的行为603a来进行操作。mpc使用利用运动模型612a的内部预测模型,并且在给定模型612a的情况下优化系统行为。在这样的情况下,mpc确定最佳控制命令来获得最佳状态轨迹。为了这样做,使用定义系统的前一状态与系统的当前状态之间的关系的运动模型来确定预测区间上的状态的变化。
[0114]
在一个实施例中,通过对跟踪类型的最佳控制问题公式进行求解来确定控制命令:
[0115][0116][0117]
x
i 1
=f
i
(x
i
,u
i
),
ꢀꢀꢀꢀꢀꢀꢀꢀ
i=0,...,n

1,
[0118]
0≥h(x
i
,u
i
),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
i=0,...n

1,
[0119]
0≥r(x
n
),
[0120]
其中x
i 1
=f
i
(x
i
,u
i
)是离散时间运动模型612a,是约束614a。最佳控制问题被称为非线性编程(nlp),并且存在解决该问题的各种方法。
[0121]
在一个实施例中,使用利用实时迭代(rti)的顺序二次编程(sqp)来对nlp进行求解。rti方法是基于每一控制时间步长一个sqp迭代,并使用从一个时间步长到下一个时间步长的控制轨迹和状态的基于连续的热启动。每次迭代由两个步骤组成:
[0122]
(1)准备阶段:使系统动态离散化和线性化,使剩余的约束函数线性化,并且评估二次目标逼近以构建最佳控制结构化qp子问题。
[0123]
(2)反馈阶段:对qp进行求解以更新所有优化变量的当前值,并且获得下一个控制输入以将反馈应用于系统。
[0124]
另一实施例使用块结构化的因式分解技术以及对于本原有效集算法内的迭代求解器的预调理的低阶更新。这导致实现相对简单,但是计算高效,并且得到适合于嵌入式控制硬件的可靠的qp求解器。
[0125]
一些实施例是基于以下认识,即,控制器可以使用系统状态和系统模型的不确定性的测度。例如,在随机mpc中,可以将不确定性合并到问题公式中,以使得系统在状态空间的不确定性大的区域中是谨慎的。
[0126]
图6b示出根据一个实施例的用于使用运动模型的确定的分布来控制系统的方法的例示说明。真实的运动模型620b用估计的运动模型610b表示不是非常好,因为由于粒子滤波器的执行才刚开始,所以要使用的数据点很少。这由运动模型的显著的不确定性估计630b指示。因此,系统的控制器通过将控制器设计为使得系统对于区域630b指示的所有的可能的运动模型不确定性是稳定的,来将这一点考虑在内。
[0127]
图6c、6d和6e示出根据一些实施例的估计的时间进展。具体地说,随着时间推移以及更多测量变得可用,运动模型的估计610c、610d和610e变得更好,并且运动模型的不确定
性630c、630d和610e收缩。
[0128]
因此,在一个实施例中,控制器被设计为使得它使它的行为适应运动模型的不确定性。例如,鲁棒控制不变量集合被设计为使得不确定性越大、控制器变得越来越保守。
[0129]
图7a示出根据一些实施例的控制系统699的整体框图。控制系统699的不同组件可以使用操作地连接到系统的存储器和/或各种类型的传感器的一个或若干个处理器来实现。控制系统699可以在系统700的内部,并且控制系统699的不同组件的实现一般取决于系统的类型。
[0130]
控制系统699可以包括感测系统730,感测系统730测量关于系统的至少一些部分的运动的信息。感测系统730还可以从外部源接收感测信息729。
[0131]
控制系统199还包括传感器状态估计器740,用于提取关于传感器状态的有价值的信息。在本发明的一些实施例中,传感器状态估计器迭代地确定传感器的内部状态,诸如传感器的偏差和传感器的方差。另外,信息解析器740可以确定道路信息,诸如倾侧角和/或滚动角,前提条件是感测系统730包括惯性传感器,即,俯仰和滚动角和/或速率传感器。另外或可替代地,感测系统可以包括微分gps。
[0132]
传感器状态估计器740使用来自感测系统的信息731。传感器状态估计器740还可以从系统控制单元760接收关于系统运动的信息761。所述信息可以包括系统的状态,并且从直接或远程连接到机器的硬件或软件接收。
[0133]
例如,传感器状态估计器可以输出传感器的状态741,包括偏移值、偏移的确定性程度、以及测量的噪声的方差、或它们的组合。控制系统699还包括使用传感器状态信息741的系统控制器760。例如,如果系统是道路车辆,则在一个实施例中,偏移被用于利用车辆的动态的模型的高级驾驶者辅助系统(adas)中,其决于传感器的偏移的状态。在这样的情况下,车辆控制器760可以包括独立的组件、或能够实现自主驾驶特征的车辆控制器的组合。描述传感器的状态的偏移和方差可以被用作车辆的估计器790(例如,状态估计器)的输入。
[0134]
传感器状态估计器被控制系统的运动模型估计器790用来帮助确定根据本发明的一些实施例的运动模型。运动模型被各种实施例用来使用控制器760控制系统。
[0135]
图7b示出根据一个实施例的传感器状态估计器740的一般结构。传感器状态估计器740包括用于执行传感器状态估计器740的模块的至少一个处理器770。处理器770连接771到存储器780,存储器780存储传感器状态和参数的统计781、以及系统信息782(诸如当前确定的运动模型和测量模型)。存储器780还存储783估计器的内部信息,包括但不限于传感器的状态的值、系统的每个计算的状态的值、以及导致系统的每个状态的运动。在一些实施例中,基于从系统761和感测731接收的信息来更新771关于系统的信息。
[0136]
图8a示出包括采用一些实施例的原理的预测控制器802的车辆801的示意图。如本文中所使用的,车辆801可以是任何类型的轮式车辆,诸如乘用车、公交车或巡视器。此外,车辆801可以是自主或半自主车辆。例如,一些实施例控制车辆801的运动。运动的例子包括由车辆801的转向系统803控制的车辆的横向运动。在一个实施例中,转向系统803由控制器802控制。另外或可替代地,转向系统803可以由车辆801的驾驶者控制。
[0137]
车辆还可以包括引擎806,引擎806可以由控制器802或车辆801的其他组件控制。车辆还可以包括感测周围环境的一个或多个传感器804。传感器804的例子包括距离范围探测器、雷达、激光雷达和相机。车辆801还可以包括感测其当前运动量和内部状态的一个或
多个传感器805。传感器805的例子包括全球定位系统(gps)、加速计、惯性测量单元、陀螺仪、轴旋转传感器、力矩传感器、偏转传感器、压力传感器和流动传感器。传感器将信息提供给控制器802。车辆可以配备有收发器806,收发器806能够通过有线或无线通信信道实现控制器802的通信能力。
[0138]
图8b示出根据一些实施例的预测控制器802和车辆801的控制器820之间的交互的示意图。例如,在一些实施例中,车辆801的控制器820是控制车辆820的旋转和加速度的转向825和刹车/油门控制器830。在这样的情况下,预测控制器802将控制输入输出到控制器825和830来控制车辆的状态。控制器820还可以包括高级控制器,例如,进一步处理预测控制器802的控制输入的车道保持辅助控制器835。在上述两种情况下,控制器820映射使用预测控制器802的输出来控制车辆的至少一个致动器,诸如车辆的转向轮和/或刹车,以便控制车辆的运动。
[0139]
图8c示出自主或半自主被控车辆850的示意图,其中对于该自主或半自主被控车辆850,可以通过使用一些实施例计算动态可行的、并且通常是最佳的轨迹855。产生的轨迹旨在使车辆保持在特定的道路界线852内,并且旨在避免其他的未被控的车辆,即,对于被控车辆850的障碍物851。在一些实施例中,障碍物851中的每个可以用混合整数最优控制问题的时间或空间公式化中的一个或多个不等式约束来表示,包括用于障碍物中的每个的一个或多个附加的离散变量。例如,基于被配置为实现混合整数模型预测控制器的实施例,自主或半自主被控车辆850可以实时地做出离散的决策,诸如,例如,在左侧或右侧通过另一车辆、或者改为在道路852的当前车道内留在另一车辆的后面。
[0140]
在一些实施例中,为了控制车辆,控制输入包括指定车辆的车轮的转向角和车轮的旋转速度中的一个或组合的值的命令,测量包括车辆的旋转速率和车辆的加速度中的一个或组合的值。车辆的每个状态包括车辆的速度和转首角速度(heading rate),以使得运动模型通过车辆在连续的时间步长的动态将控制输入的值与车辆的状态的第一值关联,测量模型将测量的值与车辆的状态在同一时间步长的第二值关联。
[0141]
本发明的上述实施例可以以许多方式中的任何一种方式实现。例如,实施例可以使用硬件、软件或它们的组合来实现。当用硬件实现时,软件代码可以在任何合适的处理器或处理器集合上执行,不管是在单个计算机中提供,还是分布在多个计算机之间。这样的处理器可以利用集成电路组件中的一个或多个处理器被实现为集成电路。但是,处理器可以使用任何合适的格式的电路系统来实现。
[0142]
此外,本文中概述的各种方法或处理可以被编码为在一个或多个处理器上可执行的软件,该处理器采用各种操作系统或平台中的任何一个。另外,这样的软件可以使用许多合适的编程语言和/或编程或脚本撰写工具中的任何一个来编写,并且还可以被编译为在框架或虚拟机上执行的可执行机器语言代码或中间代码。通常,在各种实施例中,程序模块的功能性可以根据需要组合或分布。
[0143]
此外,本发明的实施例可以被实施为其例子已经被提供的方法。作为所述方法的一部分执行的动作可以按任何合适的方式排序。因此,可以构造这样的实施例,在该实施例中,动作按与例示说明的次序不同的次序执行,这可以包括同时执行一些动作,即使在说明性实施例中被示为顺序的动作。
[0144]
尽管本发明已经被作为优选实施例的例子描述,但是要理解在本发明的精神和范
围内,可以做出各种其他的改动和修改。因此,所附权利要求书的目的是覆盖落在本发明的真实的精神和范围内的所有的这样的变化和修改。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜