コンパスを使ってロボットを動かそうとしています。コンパスを使用してロボットを直線的に動かします。2つの車輪を使用しており、動きが少し異なります。そのため、方向として0〜359の値を設定し、現在の方向を確認してエラーを計算し、修正します。エラーのように=current_direction-実際の方向。
問題は、たとえば、初期化方向が90度で、ロボットが45度の場合、エラーは45度になり、修正されることです。0の場合、エラーは90になり、修正されます。問題は、それが0より少し大きく移動し、たとえば359になる場合、エラーは-269になるため、一方の方向に90を移動する代わりに、もう一方の方向に-269を移動することです。
エラーのサインを使用して、方向を固定するために移動するホイールを決定します。それを修正する方法はありますか?