ナビゲーションアプリケーションでコンパスラップを調整します
-
30-10-2019 - |
質問
コンパスの見出しに車両を導いているアプリケーションがあり、車両が360度から0度まで横断しているときに問題が発生しています。
この場合、コントロールループには、見出しに従うための最も近い方法を計算するスマートはありません。
たとえば、車両が360度の見出しに従うように指示されている場合、必然的に数度エーテル側に漂流します。それが0度以上に漂う場合、コントロールループはナットになり、車両をずっと操縦して再び360度に到達しようとします。
これに対処する優雅な方法はありますか?
ナビゲート関数の書き込み方法では、外部PIDコントローラークラスを使用し、次のような見出しを計算します。
lock (steering)
{
if (!Engaged)
{
return;
}
double mv = 90 + Trim + pidController.CalculateCorrection(flyHeading, currentHeading);
steering.Degree = mv;
}
ありがとう!
正しい解決策はありません
所属していません StackOverflow