ナビゲーションアプリケーションでコンパスラップを調整します

StackOverflow https://stackoverflow.com/questions/4927774

  •  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;
        }

ありがとう!

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top