2015_robocon_bteam / Mbed 2 deprecated 2015robot_main_zenkoku

Dependencies:   PID QEI mbed

Committer:
DeguNaoto
Date:
Sun Nov 15 11:45:29 2015 +0000
Revision:
37:75fcd28f48c7
Parent:
36:b8954b13a6d5
Child:
38:f4e9893641ac
20151115???????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DeguNaoto 0:b613dc16f27d 1 #ifndef MANUALMODE_H
DeguNaoto 0:b613dc16f27d 2 #define MANUALMODE_H
DeguNaoto 0:b613dc16f27d 3
DeguNaoto 0:b613dc16f27d 4 void manualIM920()
DeguNaoto 0:b613dc16f27d 5 {
DeguNaoto 33:a4323c20494b 6 if(modeflag){ //mode change
DeguNaoto 33:a4323c20494b 7 autoflag=1;
DeguNaoto 33:a4323c20494b 8 Indicator4=1;
DeguNaoto 33:a4323c20494b 9 IndicatorAuto=0;
DeguNaoto 33:a4323c20494b 10 resetState(1);
DeguNaoto 33:a4323c20494b 11 flaga=0;
DeguNaoto 33:a4323c20494b 12 step=114;
DeguNaoto 33:a4323c20494b 13 CStep=114;
DeguNaoto 33:a4323c20494b 14 mstep=114;
DeguNaoto 33:a4323c20494b 15 mCStep=114;
DeguNaoto 33:a4323c20494b 16 spcount=speed;
DeguNaoto 33:a4323c20494b 17 dpcount=0.0;
DeguNaoto 36:b8954b13a6d5 18 swingmoved=0;
DeguNaoto 0:b613dc16f27d 19 }
DeguNaoto 34:aa2a5c888a27 20 if(b==9){
DeguNaoto 34:aa2a5c888a27 21 if(edge9){
DeguNaoto 34:aa2a5c888a27 22 edge9=0;
DeguNaoto 34:aa2a5c888a27 23 toggle9=!toggle9;
DeguNaoto 34:aa2a5c888a27 24 if(toggle9){
DeguNaoto 34:aa2a5c888a27 25 // swingspeed=15.0;
DeguNaoto 34:aa2a5c888a27 26 // swingspeed=20.0;
DeguNaoto 36:b8954b13a6d5 27 // swingspeed=5.0;
DeguNaoto 34:aa2a5c888a27 28 resetSwingSpeed = 1;
DeguNaoto 34:aa2a5c888a27 29 interruptSwingSpeed.attach(&countSwingSpeed, 0.05);
DeguNaoto 34:aa2a5c888a27 30 enableSwing=1;
DeguNaoto 34:aa2a5c888a27 31 /*for(float i=0.0;i<1.0;i+=0.01){
DeguNaoto 34:aa2a5c888a27 32 Motor_swing=i;
DeguNaoto 34:aa2a5c888a27 33 wait(0.01);
DeguNaoto 34:aa2a5c888a27 34 }
DeguNaoto 34:aa2a5c888a27 35 Motor_swing = 1.0;*/
DeguNaoto 3:8d8c25c556ae 36 }
DeguNaoto 34:aa2a5c888a27 37 else{
DeguNaoto 34:aa2a5c888a27 38 interruptSwingSpeed.detach();
DeguNaoto 34:aa2a5c888a27 39 targSwingRadVelocity = 0.0;
DeguNaoto 34:aa2a5c888a27 40 enableSwing=0;
DeguNaoto 34:aa2a5c888a27 41 contSwing.reset();
DeguNaoto 34:aa2a5c888a27 42 Motor_swing = 0.0;
DeguNaoto 34:aa2a5c888a27 43 }
DeguNaoto 3:8d8c25c556ae 44 }
DeguNaoto 3:8d8c25c556ae 45 }
DeguNaoto 34:aa2a5c888a27 46 else if(b==10){
DeguNaoto 34:aa2a5c888a27 47 if(edge10){
DeguNaoto 34:aa2a5c888a27 48 edge10=0;
DeguNaoto 33:a4323c20494b 49 enableShoot=!enableShoot;
DeguNaoto 33:a4323c20494b 50 if(enableShoot) sendData(1,11);
DeguNaoto 33:a4323c20494b 51 else sendData(1,12);
DeguNaoto 0:b613dc16f27d 52 }
DeguNaoto 0:b613dc16f27d 53 }
DeguNaoto 36:b8954b13a6d5 54 else if((b==5)&&(!flaga)){ //Swing Start(middle)
DeguNaoto 33:a4323c20494b 55 if(edge5){
DeguNaoto 33:a4323c20494b 56 edge5=0;
DeguNaoto 30:cd344beb415d 57 resetState(0);
DeguNaoto 32:b8c8ad2eeca7 58 flagf=0;
DeguNaoto 30:cd344beb415d 59 spcount=0.0;
DeguNaoto 30:cd344beb415d 60 dpcount=0.0;
DeguNaoto 30:cd344beb415d 61 direction_controller.setBias(0.0);
DeguNaoto 32:b8c8ad2eeca7 62 sendData(5,60); //right
DeguNaoto 30:cd344beb415d 63 wait(0.05);
DeguNaoto 32:b8c8ad2eeca7 64 sendData(4,60); //left
DeguNaoto 30:cd344beb415d 65 wait(0.05);
DeguNaoto 32:b8c8ad2eeca7 66 sendData(6,30); //middle
DeguNaoto 30:cd344beb415d 67 stateR = 90;
DeguNaoto 30:cd344beb415d 68 stateL = 90;
DeguNaoto 30:cd344beb415d 69 mstep = 0;
DeguNaoto 33:a4323c20494b 70 mCStep = 114;
DeguNaoto 33:a4323c20494b 71 flaga = 1;
DeguNaoto 37:75fcd28f48c7 72 swingspeed = 17.0;
DeguNaoto 33:a4323c20494b 73 }
DeguNaoto 33:a4323c20494b 74 }
DeguNaoto 36:b8954b13a6d5 75 else if((b==8)&&(!flaga)){ //Swing Start(over)
DeguNaoto 33:a4323c20494b 76 if(edge8){
DeguNaoto 33:a4323c20494b 77 edge8=0;
DeguNaoto 36:b8954b13a6d5 78 resetState(0);
DeguNaoto 36:b8954b13a6d5 79 flagf=0;
DeguNaoto 33:a4323c20494b 80 spcount=0.0;
DeguNaoto 33:a4323c20494b 81 dpcount=0.0;
DeguNaoto 33:a4323c20494b 82 direction_controller.setBias(0.0);
DeguNaoto 33:a4323c20494b 83 sendData(5,60); //right
DeguNaoto 33:a4323c20494b 84 wait(0.05);
DeguNaoto 33:a4323c20494b 85 sendData(4,60); //left
DeguNaoto 33:a4323c20494b 86 wait(0.05);
DeguNaoto 36:b8954b13a6d5 87 sendData(6,30); //middle
DeguNaoto 33:a4323c20494b 88 stateR = 90;
DeguNaoto 33:a4323c20494b 89 stateL = 90;
DeguNaoto 36:b8954b13a6d5 90 mstep = 10;
DeguNaoto 36:b8954b13a6d5 91 mCStep = 114;
DeguNaoto 30:cd344beb415d 92 flaga = 1;
DeguNaoto 37:75fcd28f48c7 93 swingspeed = 18.015; //入った
DeguNaoto 36:b8954b13a6d5 94 }
DeguNaoto 36:b8954b13a6d5 95 }
DeguNaoto 36:b8954b13a6d5 96 else if((b==7)&&(swingmoved!=0)){
DeguNaoto 36:b8954b13a6d5 97 if(edge7){
DeguNaoto 36:b8954b13a6d5 98 edge7=0;
DeguNaoto 36:b8954b13a6d5 99 if(swingmoved==1){
DeguNaoto 36:b8954b13a6d5 100 mstep=2;
DeguNaoto 36:b8954b13a6d5 101 swingmoved=0;
DeguNaoto 36:b8954b13a6d5 102 }
DeguNaoto 36:b8954b13a6d5 103 else if(swingmoved==2){
DeguNaoto 36:b8954b13a6d5 104 mstep=12;
DeguNaoto 36:b8954b13a6d5 105 swingmoved=0;
DeguNaoto 36:b8954b13a6d5 106 }
DeguNaoto 36:b8954b13a6d5 107 else if(swingmoved==3){
DeguNaoto 36:b8954b13a6d5 108 mstep=22;
DeguNaoto 36:b8954b13a6d5 109 swingmoved=0;
DeguNaoto 36:b8954b13a6d5 110 }
DeguNaoto 26:760f1bce8214 111 }
DeguNaoto 26:760f1bce8214 112 }
DeguNaoto 34:aa2a5c888a27 113 //Move
DeguNaoto 34:aa2a5c888a27 114 if(b==2){
DeguNaoto 34:aa2a5c888a27 115 flagf=1;
DeguNaoto 34:aa2a5c888a27 116 targ_velocity=speed;
DeguNaoto 34:aa2a5c888a27 117 move=1;
DeguNaoto 34:aa2a5c888a27 118 }
DeguNaoto 34:aa2a5c888a27 119 else if(b==3){
DeguNaoto 34:aa2a5c888a27 120 flagf=0;
DeguNaoto 34:aa2a5c888a27 121 targ_velocity=speed;
DeguNaoto 34:aa2a5c888a27 122 move=1;
DeguNaoto 34:aa2a5c888a27 123 }
DeguNaoto 34:aa2a5c888a27 124 else if(move){
DeguNaoto 34:aa2a5c888a27 125 move=0;
DeguNaoto 34:aa2a5c888a27 126 targ_velocity=0.0;
DeguNaoto 34:aa2a5c888a27 127 }
DeguNaoto 34:aa2a5c888a27 128 if(b==1){
DeguNaoto 34:aa2a5c888a27 129 if(edge1){
DeguNaoto 34:aa2a5c888a27 130 edge1=0;
DeguNaoto 37:75fcd28f48c7 131 if(swingmoved!=0){
DeguNaoto 34:aa2a5c888a27 132 #ifdef BLUE
DeguNaoto 37:75fcd28f48c7 133 targ_sita-=PI/60.0;
DeguNaoto 34:aa2a5c888a27 134 #else
DeguNaoto 37:75fcd28f48c7 135 targ_sita+=PI/60.0;
DeguNaoto 37:75fcd28f48c7 136 #endif
DeguNaoto 37:75fcd28f48c7 137 }
DeguNaoto 37:75fcd28f48c7 138 else{
DeguNaoto 37:75fcd28f48c7 139 #ifdef BLUE
DeguNaoto 37:75fcd28f48c7 140 targ_sita-=PI/4.0;
DeguNaoto 37:75fcd28f48c7 141 #else
DeguNaoto 37:75fcd28f48c7 142 targ_sita+=PI/4.0;
DeguNaoto 34:aa2a5c888a27 143 #endif
DeguNaoto 37:75fcd28f48c7 144 }
DeguNaoto 34:aa2a5c888a27 145 }
DeguNaoto 34:aa2a5c888a27 146 }
DeguNaoto 34:aa2a5c888a27 147 else if(b==4){
DeguNaoto 34:aa2a5c888a27 148 if(edge4){
DeguNaoto 34:aa2a5c888a27 149 edge4=0;
DeguNaoto 37:75fcd28f48c7 150 if(swingmoved!=0){
DeguNaoto 34:aa2a5c888a27 151 #ifdef BLUE
DeguNaoto 37:75fcd28f48c7 152 targ_sita+=PI/60.0;
DeguNaoto 37:75fcd28f48c7 153 #else
DeguNaoto 37:75fcd28f48c7 154 targ_sita-=PI/60.0;
DeguNaoto 37:75fcd28f48c7 155 #endif
DeguNaoto 37:75fcd28f48c7 156 }
DeguNaoto 37:75fcd28f48c7 157 else{
DeguNaoto 37:75fcd28f48c7 158 #ifdef BLUE
DeguNaoto 37:75fcd28f48c7 159 targ_sita+=PI/4.0;
DeguNaoto 37:75fcd28f48c7 160 #else
DeguNaoto 37:75fcd28f48c7 161 targ_sita-=PI/4.0;
DeguNaoto 34:aa2a5c888a27 162 #endif
DeguNaoto 37:75fcd28f48c7 163 }
DeguNaoto 34:aa2a5c888a27 164 }
DeguNaoto 34:aa2a5c888a27 165 }
DeguNaoto 0:b613dc16f27d 166 if(b!=1) edge1=1;
DeguNaoto 0:b613dc16f27d 167 if(b!=2) edge2=1;
DeguNaoto 0:b613dc16f27d 168 if(b!=3) edge3=1;
DeguNaoto 0:b613dc16f27d 169 if(b!=4) edge4=1;
DeguNaoto 0:b613dc16f27d 170 if(b!=5) edge5=1;
DeguNaoto 21:bdf8ac5c200c 171 if(b!=6) edge6=1;
DeguNaoto 30:cd344beb415d 172 if(b!=7) edge7=1;
DeguNaoto 0:b613dc16f27d 173 if(b!=8) edge8=1;
DeguNaoto 0:b613dc16f27d 174 if(b!=9) edge9=1;
DeguNaoto 30:cd344beb415d 175 if(b!=10) edge10=1;
DeguNaoto 30:cd344beb415d 176 if(b!=11) edge11=1;
DeguNaoto 0:b613dc16f27d 177 }
DeguNaoto 13:57d8e360e9aa 178
DeguNaoto 30:cd344beb415d 179 #endif /*manualMode.h*/