フィルターをキャンセルすることができます。これにより遅延を除去できますが、高周波ノイズも増加します。これを行った後、ヘディングの新しい推定に基づいてロボットを制御しようとすることができます。これを行うには、ローパスフィルターのパラメーターを試してみる必要があります。たとえば、離散時間では、次のことがわかります。
θ(tは)時間における推測方位(コンパス出力)であり、T、θは、時間tにおける実際の方向(グランドトゥルース)です。
θ^(t)=a0θ(t)+a1θ(t−1)+⋯+akθ(t−k)
θ^(t)tθt
他の外部手段を使用してグラウンドトゥルースを測定する実験を行うことにより、パラメーター見つけることができます。所与のn + K + 1つのサンプルは、この式を有する
:[ θ(K )⋮ θ(K + N ) ] = [ θ (K )θ (K - 1 )⋯ θ (0 )⋮ ⋮ain+k+1
⎡⎣⎢⎢⎢θ^(k)⋮θ^(k+n)⎤⎦⎥⎥⎥=⎡⎣⎢⎢θ(k)⋮θ(k+n)θ(k−1)⋮θ(k+n−1)⋯⋯θ(0)⋮θ(n)⎤⎦⎥⎥⎡⎣⎢⎢⎢⎢a0a1⋮ak⎤⎦⎥⎥⎥⎥
そして、あなたは発見することによって解決することができます:
⎡⎣⎢⎢⎢⎢a0a1⋮ak⎤⎦⎥⎥⎥⎥=⎡⎣⎢⎢θ(k)⋮θ(k+n)θ(k−1)⋮θ(k+n−1)⋯⋯θ(0)⋮θ(n)⎤⎦⎥⎥+⎡⎣⎢⎢⎢θ^(k)⋮θ^(k+n)⎤⎦⎥⎥⎥
M+Mk、あなたはおそらく推測するでしょう。ボーナスポイントの場合、これはノイズが白色で独立していることを前提としていますが、最初にノイズを白色化してバイアスを除去することができるため、パラメーターの推定を改善できます。
これを伝達関数(離散時間領域でZ変換とも呼ばれます)に変換できます。
Θ^(z)Θ(z)=a0+a1z−1+...+akz−k
θ¯(t)
Θ¯(z)Θ^(z)=1a0+a1z−1+⋯+akz−k
時間領域に戻す:
a0θ¯(t)+a1θ¯(t−1)+⋯+akθ¯(t−k)=θ^(t)
θ¯(t)=θ^(t)−a1θ¯(t−1)−⋯−akθ¯(t−k)a0
θ¯
θ¯
上記の解決策はまだ最善の方法ではありません。ノイズの多い推定値はあまり有用ではありません。これを状態空間方程式に入れると、カルマンフィルター、およびLQR(線形2次レギュレータ)を使用したフルステートフィードバックコントローラーを設計できます。カルマンフィルターとLQRコントローラーの組み合わせは、LQGコントローラー(線形2次ガウス)とも呼ばれ、ループ転送回復を使用して適切なコントローラーを取得します。
これを行うには、(離散時間)状態空間方程式を考えます。
x⃗ (t)=Ax⃗ (t−1)+Bu⃗ (t−1)y⃗ (t)=Cx⃗ (t)
x⃗ (t)=⎡⎣⎢⎢⎢⎢θ(t)θ(t−1)⋯θ(t−k)⎤⎦⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢A110⋮00A201⋮00⋯⋯⋯⋯⋯000⋮10000⋮01000⋮00⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥x⃗ (t−1)+⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢B0B10⋮00⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥u⃗ (t−1)
y⃗ (t)=[θ^(t)]=⎡⎣⎢⎢⎢⎢a0a1⋮ak⎤⎦⎥⎥⎥⎥x⃗ (t)
u⃗ (t−1)A0A1B0B1BA
QoRo
その後、LQRコントローラーを設計できます。今回は、 QcRcQc=⎡⎣⎢⎢⎢⎢10⋮000⋮000⋮0⋯⋯⋯00⋮0⎤⎦⎥⎥⎥⎥Rc=[1]J=∑(x⃗ TQx⃗ +u⃗ TRu⃗ )
次に、離散時間代数のリカッチ方程式を使用します。
P=Q+AT(P−PB(R+BTPB)−1BTP)A
P
したがって、制御法は次のように指定できます。
u⃗ (t)=−K(x⃗ (t)−x⃗ ref(t))
K=(R+BTPB)−1(BTPA)
θ¯
これを修正するには、カルマンフィルターを調整し、代わりに新しい選択するループ転送回復手法を使用します。Qo=Q0+q2BVBTQ0QVV=Iqq→∞Qo マトリックスのチューニングが解除されるため、最適性が低下します。
qRcQc