共分散を回転させる方法は?


11

私はEKFに取り組んでおり、共分散行列の座標フレーム変換について質問があります。レッツは、私はいくつかの測定を得ると言う対応する6×6共分散行列C。この測定値とCは、座標フレームG 1で示されます。測定値を別の座標フレームG 2に変換する必要があります(x,y,z,roll,pitch,yaw)CCG1G2。測定自体の変換は簡単ですが、その共分散も変換する必要がありますよね?G 2の間の平行移動は関係ないはずですが、それでも回転させる必要があります。私が正しい場合、どうすればいいですか?xyzの間の共分散について、最初に考えたのは3D回転行列を単に適用することでしたが、これは完全な6x6共分散行列内の3x3サブ行列に対してのみ機能します。4つのブロックすべてに同じ回転を適用する必要がありますか?G1G2xyz

回答:


8

共分散は次のように定義されます

C=E(XXT)E(X)E(XT)

どこ、あなたのケースでは、XR6あなたの状態ベクトルであり、Cあなたが既に持っている共分散行列です。

変形状態のためのX=RXRR6×6あなたのケースでは、次のようになり

C=E(XXT)E(X)E(XT)=E(RXXTRT)E(RX)E(XTRT)=R E(XXT) RTRE(X)E(XT)RT=R( E(XXT)E(X)E(XT))RT=RCRT

警告として、オイラー角に注意してください。これらの振る舞いは通常直感的ではないため、位置に使用するのと同じ回転行列で単純に回転できない場合があります。位置は通常グローバル座標系で定義されるのに対し、それらは通常(ロボット工学の世界では)ローカル座標系で定義されることに注意してください。でも頭の上から特別な治療が必要かどうか思い出せません。


RCRR

1
R

1

MRPTライブラリは、あなたのためにこれを行うことができます。CPose3DPDFGaussianポーズと共分散を表すにはa を使用し、次に+演算子を使用する必要があります。

内部的には、6DOF共分散を7DOFクォータニオンベース共分散として表します。ここでは、計算がより簡単です。


数学だけでなく、それを行うライブラリを表示することも有益でしょう。
中旬

0

共分散とその分解の幾何学的解釈による非常に直感的な説明。

http://www.visiondummy.com/2014/04/geometric-interpretation-covariance-matrix/


こんにちは、ロボティクスへようこそ!回答ありがとうございます。可能な限り、回答は自己完結型にすることをお勧めします。リンクは腐敗する傾向があるため、コンテンツへのリンクが消えた場合、リンクに依存する回答が役に立たなくなる可能性があります。リンクからより多くのコンテキストを追加すると、他の人があなたの答えが役立つと思う可能性が高くなります。
Mactro 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.