robocup メイン fumiya

Dependencies:   AQM0802A HMC6352 L6470_lib PID mbed

Fork of CatPot_Main_ver1 by CatPot 2015-2016

wraparound.cpp

Committer:
ryuna
Date:
2015-01-10
Revision:
7:7a0aee1477d9
Parent:
6:c2c31bc971ad

File content as of revision 7:7a0aee1477d9:

//回り込みます
/**
ballの位置によりボールが正面に来るまで.を一連の処理動作とし,動作を考える.
すなわち,逐一モーターを動かし,ボールとの位置をチェックしモーターを動かすのではなく,はじめの状態から移動を考えてその処理を終えるまでモーターは拘束される.

この動作について信用を得るために超音波(後ろ,左右),irセンサ,地磁気センサの三つから現在状態およびボールとの距離を把握.計算により移動量,回転速度を決定,行動へ.



上位4ビットで一番目のボールの位置,下位4ビットで二番目のボールの位置
二つ目の8ビットで1個目のボールの値
三つ目の8ビットで2個目のボールの値

Ir1//irの一番値が大きいもの
Ir2//irの二番目に値が大きいもの


以上は割と序盤に考えたことで適当なこと言ってる。


1 フローチャートを用いる。 12/26~ 

露骨にオートマトンのプログラムを参考にしている。


もしかして途中までの計算まとめられる
ir分岐後の計算がほとんど同じ
動きが他のものと違う後ろと前以外を先に関数でどっかに飛ばす
if(ir == 1 || ir == 7){
 (*ControlRobo[ir/7])(&CompassDef); //これで0,1に分けれるはず
 continue;
}

この後ほかのやつは似たような処理をしたあと 
 それぞれに分岐するとか考えられる。
 
    逆にこれによる害は何か。
    
    



*****/








/***

irは+-30度まで読めるが,距離が遠い場所ほど減衰

ボールがないときは12
          
              *1     
      *0              *2
    
   *11                    *3
 
   
 *10                        *4


   *9                     *5

       *8             *6
               *7

**/