2017-01-14 10 views
1

私は現在、来るべきロボット工学大会のためのロボット用のコーディングを準備中です。私は自律モード(人を制御せずに移動)を行うように私たちのロボットを設定しようとしていますが、問題にぶつかりました。私は、ロボットを左、右、前、後ろに動かすことができます(私たちはmecanumドライブを使用しています)。自律している間、私たちはそれが前進することを望み、それが完了した後に横に移動します。私たちはすぐにそれらをやっても何の問題もありませんが、後にすることは問題に遭うところです。私たちの現在のコード列は次のとおりです。Robotics Mecanum Drive Programming

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) 
+0

は、すべてのモーターを同時に有効にしているようです。なぜあなたは関連するものを有効にしないで、遅延を使用し、それらをオフにして、他のものを有効にしますか? –

+0

同じことを2回繰り返すループがあります。あなたはある事をし、次に別の事をする論理がないように見えます。 'for'ループの代わりに、ループの内部ロジックを2回書きますが、2回目の反復で' #set speed'セクションの内容を変更しますか? –

答えて

-1

enter image description here

は、ここで私はカリフォルニア州のためのプログラミングのスキルチャレンジを獲得したmecanum基づいて、ロボットをプログラミングされたときに、私を助けた参考図です。私は常に私のボットでCを使用したので、私は多くのPythonについて知らないが、それはあなたの遅延がわずか1ミリ秒であると思われる、それは問題になる可能性がありますか?うまくいけば、少なくともこの図が役に立ちます。