我正在嘗試使用指南針移動機器人。我們使用羅盤使機器人直線移動,它使用2個輪子,它們移動有點不同。 所以我們設置一個介於0和359之間的值作爲方向,然後檢查當前的方向,計算錯誤並修復它。像error = current_direction - 實際方向。指南針:從359到0度
問題是,如果例如我們的init方向是90度,而我們的機器人是45,那麼錯誤將會是45,它會修復它。如果它是0,錯誤將是90,它會修復它。問題是,如果它移動的比例大於0並且例如變爲359,則錯誤將是-269,因此不是在一個方向上移動90,而是在另一個方向上移動-29。
我使用錯誤的符號來決定要移動哪個輪來修復方向。 任何想法如何解決它?
將這些'if's改爲'while':D – 2011-04-05 13:03:51
@Jakub Hampl:你叫它Dizzybot? :D – Piskvor 2011-04-05 13:19:24