我有一個應用程序,我正在指導一個車輛指南針標題,當車輛從360度過渡到0度時出現問題。調整指南針環繞在導航應用程序中
在這種情況下,控制環中沒有智能來計算最接近的方式來跟隨標題。
例如,如果指示車輛遵循360度的航向,它將不可避免地向乙醚側漂移幾度。如果它漂移到0度以上,控制迴路將會發生變化,並試圖將車輛轉向至360度。
有沒有一種優雅的方式來處理這個問題?
的導航功能的書寫方式,我使用外部PID控制器類和我計算這樣的標題:
lock (steering)
{
if (!Engaged)
{
return;
}
double mv = 90 + Trim + pidController.CalculateCorrection(flyHeading, currentHeading);
steering.Degree = mv;
}
謝謝!
我的猜測是,您實際上想要調整currentHeading而不是flyHeading(假設flyHeading是您想要跟蹤的)。否則,您將通過在360度分開的目標之間翻轉來混淆PID控制器的組成部分。 – 2011-02-08 21:14:13