1
我目前正在爲即將到來的機器人競賽爲我們的機器人編寫編碼。我試圖建立我們的機器人做自主模式(移動沒有人控制它),但我遇到了一個問題。我能夠讓機器人向左,向右,向前,向後等移動(我們正在使用mecanum驅動器)。在自治時,我們希望它向前移動,然後在完成後橫向移動。我們同時做這兩件事都沒有問題,但是一個接一個地做我們遇到麻煩的地方。我們當前的代碼思路是:機器人Mecanum驅動編程
def autonomous(self):
for a in range(2):
zero = 0 #lateral movement (positive is left)
one = -1 #forward movement (negative is forwards)
four = 0 #rotation (positive is clockwise)
#set speed
speedFLM = four + zero - one
speedFRM = four + zero + one
speedRRM = four - zero + one
speedRLM = four - zero - one
#speed modifier
speedFLM = speedFLM/2
speedFRM = speedFRM/2
speedRRM = speedRRM/2
speedRLM = speedRLM/2
#set motor output
self.FLM.set(speedFLM)
self.FRM.set(speedFRM)
self.RRM.set(speedRRM)
self.RLM.set(speedRLM)
wpilib.Timer.delay(1)
#reset to zero
self.FLM.set(0)
self.FRM.set(0)
self.RRM.set(0)
self.RLM.set(0)
似乎你是在同一時間啓用所有電機。你爲什麼不啓用相關的,使用延遲,然後關閉它們並啓用其他的? –
你有一個循環做了兩次相同的事情。似乎你沒有任何邏輯去做一件事,然後做另一件事。而不是'for'循環,寫出循環的內部邏輯兩次,但是在第二次迭代中改變'#set speed'部分的內容? –