主要内容

La traducción de esta página está obsoleta。Haga clic aquí para ver la última versión en inglés。

Estimación我们可以在时间上对卡尔曼变量进行过滤

因此,我们希望我们能在Simulink中对卡尔曼变量的时间变化进行线性分析。金宝app请在控制系统工具箱的参考文献中使用卡尔曼滤波器并参照posición y la velocidad de vehículo terrete en función de las medidas de posición ruidosas, como las medias传感器GPS。对卡尔曼进行过滤的植物模型características对时间变量进行过滤。

Introduccion

我们想知道posición,我们想知道速度,我们想知道vehículo,我们想知道在北边的方向。我们可以在二维空间中自由地生活。我们可以在diseña un sistema de navegación y seguimiento multiusso我们可以在其他地方使用它,而不是在vehículo单独使用。

美元美元x_e (t)yx_n (t)美元我们的儿子在vehículo的北边,\θ(t)美元也就是orientación和vehículou_ \ psi (t)美元Es el ángulo de giro del vehículo。元新台币这是连续时间的变量。

Simulink模型的组成金宝app部分的原则:vehículo模型和卡尔曼的滤纸。这是我们的详细说明。

open_system (“ctrlKalmanNavigationExample”);

莫德罗del vehiculo

El vehículo一个seguir se代表了一个模型,这个模型是masa de puntos sencillo:

$ $ \压裂{d} {dt} \离开[& # xA; \开始{数组}{c} & # xA;x_e (t) \ \ & # xA;x_n (t) \ \ & # xA;s (t) \ \ & # xA;\θ(t) & # xA; \{数组}\]= \左右结束[& # xA; \开始{数组}{c} & # xA;s (t) \ cosθ(t)) (\ \ \ & # xA;s (t) \ sinθ(t)) (\ \ \ & # xA;(P \;{u_T(t)}{s(t)} - A \;重金属镉\; s(t)^2) / m \\
 s(t) \tan(u_\psi(t)) / L
\end{array} \right]
$$

亲爱的儿子:

$$ \begin{array} {all}
x_e(t) \;& # 38;\ textnormal{东位置}\;[m] \ \ & # xA; x_n (t) \;& # 38;\ textnormal{北位置}\;[m] \ \ & # xA; s (t) \;& # 38;\ textnormal{速度}\;(米/秒)\ \ & # xA; \θ(t) \; & \textnormal{Orientation from east} \; [deg] \\
\end{array} $$

Los parámetros del vehículo儿子:

$$ \begin{array} {ll}
P=100000 \;& # 38;\textnormal{峰值引擎功率}\;[W] \ \ & # xA; A = 1 \;& # 38;\ textnormal{锋面}\;(m ^ 2) \ \ & # xA;重金属镉= 0.3 \;& # 38;\ textnormal{阻力系数}\;(无单位)\ \ & # xA; m = 1250 \; & \textnormal{Vehicle mass} \; [kg] \\
L=2.5 \; & \textnormal{Wheelbase length} \; [m] \\
\end{array} $$

你的控制之子:

$$ \begin{array} {ll}
u_T(t) \;& # 38;\textnormal{油门位置在-1和1的范围内}\;(无单位)\ \ & # xA; u_ \ psi (t) \;& # 38;\ textnormal{转向角}\;[度]\ \ & # xA; \{数组}$ $

La dinámica纵向的modelo ignora La registrencia a La rodadura de los neumáticos。在dinámica的横向模型中,我们可以看到ángulo的直线,我们可以把它看成是瞬时的对数我们可以忽略guiñada的惯性矩。

这是一种生存模式ctrlKalmanNavigationExample /车辆模型.Simulink的模型是可金宝app以控制的,我们可以在生存的过程中使用orientación和速度ctrlKalmanNavigationExample/速度和方向跟踪.为了给卡尔曼的经验提供具体的功能条件。

Diseño del filter de Kalman

卡尔曼滤波是一个线性模型下的变量interés的参数估计算法。模型线性描述evolución变量估计,它是一个时间上的恢复,一个条件下的模型,así模型上的结果和模型上的结果。En este ejemplo, se estiman los geuentes parámetros/variables:

$$ \hat{x}[n] = \left[
c \开始{数组}{}& # xA;{x} \帽子_e [n] \ \ & # xA;{x} \帽子_n”[n] \ \ & # xA;{\ \帽子点{x}} _e [n] \ \ & # xA;{\ \帽子点{x}} _n”[n] & # xA;结束\{数组}& # xA;\右]& # xA; $ $

在哪里

$$ \begin{array} {all}
\hat{x}_e[n] \;& # 38;\textnormal{East position estimate} \;[m] \ \ & # xA; \帽子{x} _n”[n] \;& # 38;\textnormal{北位置估计}\;[m] \ \ & # xA; \帽子{\点{x}} _e [n] \;& # 38;\textnormal{East velocity estimate} \;(米/秒)\ \ & # xA; \帽子{\点{x}} _n”[n] \; & \textnormal{North velocity estimate} \; [m/s] \\
\end{array} $$

洛杉矶terminos$ \点{x} $他的速度和他的歌剧没有关系。n美元这就是我们的时间。这个模型在卡尔曼的滤纸上应用了这个公式:

数组$ $ \开始{}{rl} & # xA; \帽子{x} (n + 1) & # 38; = \帽子{x} [n] + Gw [n] \ \ & # xA; y [n] & # 38; = C \帽子{x} [n] + v [n] & # xA; \{数组}$ $

在哪里$ \帽子{x} $estado向量,y美元儿子medidas拉斯维加斯,w美元这是我们要做的五美元我是拉斯梅迪达斯的朋友。卡尔曼的滤镜w美元y五美元子变量作为独立变量可以作为不同的变量美元$ E [ww ^ T] =问E (vv ^ T) = R美元y美元$ E [wv ^ T] = N.Aquí,最后矩阵A G y C子:

$$ A = \left[
\begin{array}{c c c}
1 & # 38岁;0 & # 38;T_s & # 38;0 xA \ \ & #;0 & # 38;1 & # 38岁;0 & # 38;T_s \ \ & # xA; 0 & 0 & 1 & 0 \\
 0 & 0 & 0 & 1
 \end{array}
 \right]
$$

$$ G = \left[
开始\{数组}{c c} & # xA;T_s / 2 & # 38;0 xA \ \ & #;0 & # 38;T_s / 2 \ \ & # xA;1 & # 38岁;0 xA \ \ & #;0 & # 38;1 & # xA; \end{array}
 \right]
$$

$$ C = \left[
\begin{array}{c c c}
1 & # 38岁;0 & # 38;0 & # 38;0 xA \ \ & #;0 & # 38;1 & # 38岁;0 & # 38;0 xA & #; \end{array}
 \right]
$$

在哪里美元$ T_s = 1 \; [s]

这是我们的一个模型,我们的速度是这样的,我们的记录是:$ \帽子{\点{x}} _e (n + 1) ={\点{x}} \帽子_e [n] + w_1美元[n].在现实中,时间是一个持续的变量,它是时间的整体速度$ \压裂{d} {dt} {x} _e = \ \帽子帽子{\点{x}} _e美元.La primera fila de A y G represent una aproximación discreta A esta relación cinemática:美元(\帽子{x} _e (n + 1) - \帽子{x} _e [n]) / Ts =(\帽子{\点{x}} _e (n + 1) + \帽子{\点{x}} _e [n]) / 2美元.第二部分和第三部分代表了我们的国家relación在北方的国家posición。

我的母亲,我的母亲,我的母亲,posición。一个传感器posición, como GPS,我们可以在1hz的范围内使用。La varianza del ruido de las meddas五美元,矩阵R,具体来说R = 50美元.Puesto R se especifica科莫联合国escalar el bloque de filtros德卡尔曼supone乘缆车matriz R es对角线,,sus对角儿子50 y sus维度的儿子兼容机con y。如果el ruido de las medidas es gaussiano R = 50此时al de las medidas de posicion 68%, se encuentran dentro de下午\ \ sqrt{50} \美元;m美元哦,在北方真正的方向。禁运,我们不需要对卡尔曼的要求。

洛杉矶elementos德w美元捕捉cuánto puede cambiar la velocidad del vehículo a lo largo un timeempo de muestreo Ts. Se ha por que la varianza del ruido del proceso, la matriz Q, varíe con el timeo。Capta la intuición de los valores típicos dew [n]美元儿子más pequeños在这里。如果是10米/秒,则等于10米/秒,等于20米/秒。En concrete, se utilization las velocidades estimadas el norte y este y una función de saturación para construcir Q[n]:

$ $ f{坐在}(z) = min (max (z, 25), 625) $ $

$$ Q[n] = \left[
\begin{array}{c c}
\ displaystyle 1 + \压裂{250}{f{坐在}(\帽子{\点{x}} _e ^ 2)} & # 38;0 xA \ \ & #;0 & # 38;\ displaystyle 1 + \压裂{250}{f{坐在}({\点{x}} \帽子_n”^ 2)}& # xA;结束\{数组}& # xA;\右]& # xA; $ $

按比例计算的速度估计的对角线模型。La función de saturación evita que Q sea demasiado grande o demasiado pequeña。系数250 se obtiene a partir de unajustcon mínimos cuadrados a los datos de aceleración de 0- 5,5 -10, 10-15, 15-20 y 20- 25m /s en vehículo genérico。在对角线上的Q代表了我们对速度的理解,在北边是dirección,而不是están相关。

请输入configuración block Kalman Filter

块卡尔曼滤波是参考文献的一部分控制系统工具箱仿真软金宝app件。También se encuentra en la biblioteca de系统辨识工具箱/估计.配置los parámetros del block para obtener和estimación de los estados de timempo disto。具体地说Configuracion de filtrosiguientes:

  • 时间域离散时间(时间离散)。选择正确的时间。

  • 选择verificación使用当前测量y[n]来改进xhat[n](Usar la medida actual y[n] para mejorar xhat[n])。Esta opción实现离散时间卡尔曼滤波的变量“实际估计”。Esta opción mejora la precisión de la estimación y es más útil para los tiempos de muestreo lentos。这是罪恶的禁运。Además,从卡尔曼的反馈到vía从直接到直接,如果美国从卡尔曼的反馈到直接到ningún弱智(从反馈到también从直接到vía)。El lazo algebraico también puede afectar a la velocidad la simulación。

Haga clic en la pestaña选项(Opciones)确定恩特拉达港和萨里达港

  • Anule la selección de la casilla de verificación添加输入端口u(Añadir puerto de entrada u).没有任何植物的模式。

  • 选择verificación输出状态估计误差协方差Z(在estimación的estado de salida Z上的误差协方差)。矩阵Z ofrece información关于在estado的估计中忽略的友谊。

哈加按在模型参数(Parámetros del modelo)具体如características del modelo de planta y de ruido:

  • 源模型(Fuente del modelo):单个A, B, C, D矩阵。

  • 一个: A.您的名字是什么? A.您的名字是什么?

  • C: C. La matriz, C. ya se have definido en este ejemplo。

  • 初步估计源对话(Cuadro de diálogo)

  • 初始状态x [0](邻近的调整x [0]):0.在t = 0 s时,表示假设速度的估计值为0。

  • 状态估计误差协方差P[0](Covarianza de error de estimación del estado P[0])10.假设x和实值之间的误差是一个变量,如desviación estándar$ \ sqrt {10} $

  • 选择verificación使用G和H矩阵(默认G=I和H=0)用矩阵G y H (valores predeterminados: G = I y H = 0)来描述一个特殊的矩阵G y H。

  • G: G. a matriz G.你们可以用这个词来定义。

  • H0.我们不能把它看作是卡尔曼的作品。

  • Anule la selección de la casilla de verificación定常问(不变的时间Q)。矩阵Q varía在时间上和比例上是一致的través在时间上和比例上是一致的。在时间上和比例上是一致的。我们应该在时间上使用卡尔曼不变的滤纸。一个卡尔曼不变的公式在时间上是对一个问题的解释,在más fácil的diseñar中是一个计算方法。

  • R: R. Es la covarianza del ruido de las meddasv [n]美元.女士们,你们可以给我下个定义。

  • N0.我不知道在这个过程中是否存在。

  • 样本时间(继承时为-1)[时间和行动(-1 para遗传)]:那么,你们应该给我一个定义。

Resultados

在Kalman simulando的过滤下,我们可以situación在这里,我们可以vehículo我们可以看到maniobras:

  • 当t = 0时,el vehículo se encuentra En美元x_e(0) = 0美元x_n(0) = 0美元y estacionado。

  • En dirección este, acelera a 25米/秒。Desacelera a 5 m/s en t = 50 s。

  • 当t = 100秒时,则在20米/秒的范围内。

  • 当时间为200秒时,其余的时间都用这个公式。Acelera a 25米/秒。

  • 当速度为260秒时,速度为15米/秒,速度为180度。

模拟Simulink的模型。金宝app代表gráficamente las estimaciones reales, medidas y filter de Kalman de la posición del vehículo。

sim卡(“ctrlKalmanNavigationExample”);图;%绘制结果,用实线连接数据点。情节(x (: 1) x (:, 2),“软”...(: 1), y (:, 2),“gd”...xhat (: 1), xhat (:, 2),“罗”...“线型”“- - -”);标题(“位置”);包含(“东[m]”);ylabel (“北[m]”);传奇(“实际”“测量”“卡尔曼滤波器估计”“位置”“最佳”);轴

El error entre la posición medida y real así como El error entre la estimación del filter de Kalman y la posición real es:

%东方位置测量误差[m]n_xe = y (: 1) - x (: 1);%北位置测量误差[m]n_xn = y (:, 2) - x (:, 2);%卡尔曼滤波东位置误差[m]e_xe = xhat (: 1) - x (: 1);%卡尔曼滤波北位置误差[m]e_xn = xhat (:, 2) - x (:, 2);图;%东方位置误差次要情节(2,1,1);情节(t, n_xe‘g’t e_xe“r”);ylabel ('位置误差-东[m]');包含(“时间[s]”);传奇(sprintf (“量:% .3f”规范(n_xe 1) /元素个数(n_xe)), sprintf (“卡尔曼f。:% .3f”规范(e_xe 1) /元素个数(e_xe)));轴%北位置误差次要情节(2,1,2);情节(t、y (:, 2) - x (:, 2),‘g’t xhat (:, 2) - x (:, 2),“r”);ylabel ('位置误差-北[m]');包含(“时间[s]”);传奇(sprintf (“量:% .3f”规范(n_xn 1) /元素个数(n_xn)), sprintf (“卡尔曼f: % .3f”规范(e_xn 1) /元素个数(e_xn)));轴

Las leyendas de Las gráficas muestran la medida de la posición y el error de estimación ($ | | x_e - \帽子{x} _e | | _1美元y$ | | x_n - \帽子{x} _n”| | _1美元)正常化por el número de puntos de datos。卡尔曼滤波后的估计误差只有25%

La velocidad real en dirección este y su estimación del filter de Kalman se estra a continuación en La gráfica superior。La gráfica劣等muestra el错误estimación。

e_ve = xhat (:, 3) - x (:, 3);% [m/s]卡尔曼滤波东速度误差e_vn = xhat (:, 4) - x (:, 4);% [m/s]卡尔曼滤波北速度误差图;%东向速度及其估计次要情节(2,1,1);情节(t) x (:, 3),“b”t xhat (:, 3),“r”);ylabel (“速度-东[m]”);包含(“时间[s]”);传奇(“实际”卡尔曼滤波器的“位置”“最佳”);轴;次要情节(2,1,2);%估计误差情节(t, e_ve“r”);ylabel (“速度误差-东[m]”);包含(“时间[s]”);传奇(sprintf (“卡尔曼滤波器:% .3f”规范(e_ve 1) /元素个数(e_ve)));轴

La leyenda de La gráfica de error muestra el error de estimación de La velocidad en dirección este$ | | \点{x} _e - \帽子{\点{x}} _e | | _1美元Normalizado por el número de puntos de datos。

卡尔曼的速度估计和过滤的速度趋势是真正正确的。这是一段非常漫长的旅程。我们可以在diseño的矩阵上进行比较。我们可以在50秒和200秒之间进行比较。巧合的是,我们在未来的一段时间里都很后悔,但我们都认识到了彼此的关系。我们的速度是真实的,我们的速度是真实的,我们的速度是真实的。

Resumen

在Simulink中,我们估计在posición和vehículo中运行卡尔曼滤波器。金宝app在我们的时间里,我们可以继续我们的生活。您可以对我们的模拟实验进行验证,我们可以对您的实验进行验证。卡尔曼的过滤程序可以在posición和在vehículo的比例上估计速度。

bdclose (“ctrlKalmanNavigationExample”);