2015_robocon_bteam / Mbed 2 deprecated 2015robot_main_zenkoku

Dependencies:   PID QEI mbed

Committer:
DeguNaoto
Date:
Wed Nov 11 06:40:39 2015 +0000
Revision:
32:b8c8ad2eeca7
Parent:
30:cd344beb415d
Child:
33:a4323c20494b
20151110 ???

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DeguNaoto 0:b613dc16f27d 1 #ifndef AUTOMODE_H
DeguNaoto 0:b613dc16f27d 2 #define AUTOMODE_H
DeguNaoto 0:b613dc16f27d 3
DeguNaoto 0:b613dc16f27d 4 /***PID Controller***/
DeguNaoto 26:760f1bce8214 5 PID velocity_controller(9.0,5274.0,0.0,RATE);
DeguNaoto 26:760f1bce8214 6 PID direction_controller(36.0,3.5,0.0,RATE);
DeguNaoto 0:b613dc16f27d 7 //PID direction_controller(36.0,3.0,0.0,RATE);
DeguNaoto 0:b613dc16f27d 8
DeguNaoto 0:b613dc16f27d 9 /***IM920 correspondence***/
DeguNaoto 0:b613dc16f27d 10 void autoIM920() {
DeguNaoto 30:cd344beb415d 11 if(b==7){ //mode change
DeguNaoto 0:b613dc16f27d 12 if(edge7) {
DeguNaoto 0:b613dc16f27d 13 edge7=0;
DeguNaoto 0:b613dc16f27d 14 autoflag=0;
DeguNaoto 0:b613dc16f27d 15 Indicator4=0;
DeguNaoto 0:b613dc16f27d 16 IndicatorAuto=1;
DeguNaoto 26:760f1bce8214 17 targ_velocity=0.0;
DeguNaoto 30:cd344beb415d 18 resetState(0);
DeguNaoto 0:b613dc16f27d 19 flaga=0;
DeguNaoto 30:cd344beb415d 20 step=114;
DeguNaoto 30:cd344beb415d 21 CStep=114;
DeguNaoto 30:cd344beb415d 22 mstep=114;
DeguNaoto 30:cd344beb415d 23 mCStep=114;
DeguNaoto 26:760f1bce8214 24 spcount=speed;
DeguNaoto 26:760f1bce8214 25 dpcount=0.0;
DeguNaoto 0:b613dc16f27d 26 }
DeguNaoto 0:b613dc16f27d 27 }
DeguNaoto 30:cd344beb415d 28 else if((b==6)&&(!flaga)){ //Own & Middle Start
DeguNaoto 0:b613dc16f27d 29 if(edge6){
DeguNaoto 0:b613dc16f27d 30 edge6=0;
DeguNaoto 30:cd344beb415d 31 resetState(1);
DeguNaoto 0:b613dc16f27d 32 flagf=1;
DeguNaoto 0:b613dc16f27d 33 spcount=0.0;
DeguNaoto 26:760f1bce8214 34 dpcount=0.0;
DeguNaoto 2:738b28f6a04b 35 direction_controller.setBias(0.0);
DeguNaoto 0:b613dc16f27d 36 #ifdef BLUE
DeguNaoto 32:b8c8ad2eeca7 37 sendData(5,69); //right
unicore32 29:460e49e37048 38 wait(0.05);
DeguNaoto 32:b8c8ad2eeca7 39 sendData(4,69); //left
unicore32 29:460e49e37048 40 wait(0.05);
DeguNaoto 32:b8c8ad2eeca7 41 sendData(6,8); //middle
unicore32 29:460e49e37048 42 stateR = 69;
unicore32 29:460e49e37048 43 stateL = 69;
unicore32 29:460e49e37048 44 /*sendData(5,65); //right
DeguNaoto 0:b613dc16f27d 45 wait(0.05);
DeguNaoto 27:88863fab46c0 46 sendData(4,65); //left
DeguNaoto 17:726b6f53a457 47 wait(0.05);
unicore32 29:460e49e37048 48 sendData(6,10); //middle
DeguNaoto 0:b613dc16f27d 49 stateR = 69;
unicore32 29:460e49e37048 50 stateL = 69;*/
DeguNaoto 0:b613dc16f27d 51 #else
DeguNaoto 0:b613dc16f27d 52 sendData(5,69); //right
DeguNaoto 0:b613dc16f27d 53 wait(0.05);
DeguNaoto 0:b613dc16f27d 54 sendData(4,69); //left
DeguNaoto 17:726b6f53a457 55 wait(0.05);
DeguNaoto 27:88863fab46c0 56 sendData(6,69); //middle
DeguNaoto 0:b613dc16f27d 57 stateR = 69;
DeguNaoto 0:b613dc16f27d 58 stateL = 69;
DeguNaoto 0:b613dc16f27d 59 #endif
DeguNaoto 0:b613dc16f27d 60 step = 0;
DeguNaoto 30:cd344beb415d 61 CStep = 0;
DeguNaoto 30:cd344beb415d 62 flaga = 1;
DeguNaoto 30:cd344beb415d 63 }
DeguNaoto 30:cd344beb415d 64 }
DeguNaoto 30:cd344beb415d 65 else if((b==9)&&(!flaga)){ //Own & Opponent Start
DeguNaoto 30:cd344beb415d 66 if(edge9){
DeguNaoto 30:cd344beb415d 67 edge9=0;
DeguNaoto 30:cd344beb415d 68 resetState(1);
DeguNaoto 30:cd344beb415d 69 flagf=1;
DeguNaoto 30:cd344beb415d 70 spcount=0.0;
DeguNaoto 30:cd344beb415d 71 dpcount=0.0;
DeguNaoto 30:cd344beb415d 72 direction_controller.setBias(0.0);
DeguNaoto 30:cd344beb415d 73 #ifdef BLUE
DeguNaoto 30:cd344beb415d 74 sendData(5,67); //right
DeguNaoto 30:cd344beb415d 75 wait(0.05);
DeguNaoto 30:cd344beb415d 76 sendData(4,67); //left
DeguNaoto 30:cd344beb415d 77 wait(0.05);
DeguNaoto 30:cd344beb415d 78 sendData(6,60); //middle
DeguNaoto 30:cd344beb415d 79 stateR = 69;
DeguNaoto 30:cd344beb415d 80 stateL = 69;
DeguNaoto 30:cd344beb415d 81 /*sendData(5,65); //right
DeguNaoto 30:cd344beb415d 82 wait(0.05);
DeguNaoto 30:cd344beb415d 83 sendData(4,65); //left
DeguNaoto 30:cd344beb415d 84 wait(0.05);
DeguNaoto 30:cd344beb415d 85 sendData(6,10); //middle
DeguNaoto 30:cd344beb415d 86 stateR = 69;
DeguNaoto 30:cd344beb415d 87 stateL = 69;*/
DeguNaoto 30:cd344beb415d 88 #else
DeguNaoto 30:cd344beb415d 89 sendData(5,69); //right
DeguNaoto 30:cd344beb415d 90 wait(0.05);
DeguNaoto 30:cd344beb415d 91 sendData(4,69); //left
DeguNaoto 30:cd344beb415d 92 wait(0.05);
DeguNaoto 30:cd344beb415d 93 sendData(6,69); //middle
DeguNaoto 30:cd344beb415d 94 stateR = 69;
DeguNaoto 30:cd344beb415d 95 stateL = 69;
DeguNaoto 30:cd344beb415d 96 #endif
DeguNaoto 30:cd344beb415d 97 step = 10;
DeguNaoto 30:cd344beb415d 98 CStep = 10;
DeguNaoto 0:b613dc16f27d 99 flaga = 1;
DeguNaoto 0:b613dc16f27d 100 }
DeguNaoto 0:b613dc16f27d 101 }
DeguNaoto 21:bdf8ac5c200c 102 /*if(a2){
DeguNaoto 0:b613dc16f27d 103 skip = 1;
DeguNaoto 0:b613dc16f27d 104 }
DeguNaoto 0:b613dc16f27d 105 else if(!a2){
DeguNaoto 0:b613dc16f27d 106 skip = 0;
DeguNaoto 21:bdf8ac5c200c 107 }*/
DeguNaoto 21:bdf8ac5c200c 108 skip=0;
DeguNaoto 0:b613dc16f27d 109 if(b!=1) edge1=1;
DeguNaoto 0:b613dc16f27d 110 if(b!=2) edge2=1;
DeguNaoto 0:b613dc16f27d 111 if(b!=3) edge3=1;
DeguNaoto 0:b613dc16f27d 112 if(b!=4) edge4=1;
DeguNaoto 0:b613dc16f27d 113 if(b!=5) edge5=1;
DeguNaoto 0:b613dc16f27d 114 if(b!=6) edge6=1;
DeguNaoto 0:b613dc16f27d 115 if(b!=7) edge7=1;
DeguNaoto 0:b613dc16f27d 116 if(b!=8) edge8=1;
DeguNaoto 0:b613dc16f27d 117 if(b!=9) edge9=1;
DeguNaoto 30:cd344beb415d 118 if(b!=10) edge10=1;
DeguNaoto 30:cd344beb415d 119 if(b!=11) edge11=1;
DeguNaoto 0:b613dc16f27d 120 }
DeguNaoto 0:b613dc16f27d 121
DeguNaoto 0:b613dc16f27d 122
DeguNaoto 30:cd344beb415d 123 #endif /*autoMode.h*/