1

方向余弦行列から四元数への変換が必要なシステムをシミュレートしています。simulink で利用可能なデフォルトの DCM から Quaternion への変換ブロックを使用します。ただし、シミュレーションのいくつかのポイントで、出力クォータニオン コンポーネントの符号が反転します。

残念ながら、プロット画像を添付できません。

これは数学的には正しいのですが、私はスムーズな変化を望んでいます。これを回避し、四元数の滑らかな曲線を作成する方法について何か考えはありますか?

更新 1: http://tinypic.com/view.php?pic=33dayap&s=6

上はシミュレートされたプロットです。最初のプロットは出力クォータニオンです。2 番目のプロットは方向余弦行列です。ご覧のように、DCM コンポーネントはスムーズに変化しますが、クォータニオンの符号が急激に変化します。

4

1 に答える 1

1

この問題は、四元数の二重被覆特性のために発生します。2 つの単位四元数がすべての回転に対応します。ある時点で、ある規則に従って、Matlab の実装が 1 つの四元数から別の四元数に切り替わりました。あなたがそれについてできることはあまりありません。

厄介な回避策は、独自の回転行列をクォータニオン変換に記述し、前のものに近い 2 つの可能性の表現を選択して、突然のジャンプを回避することです。ぐちゃぐちゃです。

四元数のプロットは、通常、実際のアプリケーションでは必要ありません。ほとんどの場合、オブジェクト/ベクトルを回転させています。そのオブジェクト/ベクトル (またはそのいくつかの投影) をプロットすると、回転の表現にジャンプがあっても、突然のジャンプは発生しません。回転したオブジェクトの射影をプロットするもう 1 つの利点は、四元数よりもこれらのプロットを解釈する方がはるかに簡単であることです。アプリケーションで意味があるかどうかはわかりません。それは私の中で美しく働きました。

于 2013-03-05T11:36:29.223 に答える