2015_robocon_bteam / Mbed 2 deprecated 2015robot_main_zenkoku

Dependencies:   PID QEI mbed

Committer:
DeguNaoto
Date:
Fri Nov 06 11:35:39 2015 +0000
Revision:
21:bdf8ac5c200c
Parent:
17:726b6f53a457
Child:
23:26f9483439fe
20151106 ??

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 3:8d8c25c556ae 4 void Call(){
DeguNaoto 3:8d8c25c556ae 5 mesure_state();
DeguNaoto 3:8d8c25c556ae 6 if(autoflag){
DeguNaoto 3:8d8c25c556ae 7 move_following();
DeguNaoto 3:8d8c25c556ae 8 if(spcount<speed){
DeguNaoto 3:8d8c25c556ae 9 spcount+=speed/100.0;
DeguNaoto 3:8d8c25c556ae 10 targ_velocity=spcount;
DeguNaoto 3:8d8c25c556ae 11 }
DeguNaoto 3:8d8c25c556ae 12 }
DeguNaoto 3:8d8c25c556ae 13 #ifdef MESURE
DeguNaoto 21:bdf8ac5c200c 14 // if(mesureflag){
DeguNaoto 21:bdf8ac5c200c 15 fprintf(fp_r, "time:%1.3f ,x:%f ,y:%f ,sita:%f ,testflag:%d\r\n",time,x,y,sita,testflag);
DeguNaoto 21:bdf8ac5c200c 16 // }
DeguNaoto 3:8d8c25c556ae 17 #endif
DeguNaoto 3:8d8c25c556ae 18 }
DeguNaoto 3:8d8c25c556ae 19
DeguNaoto 0:b613dc16f27d 20
DeguNaoto 0:b613dc16f27d 21 void manualMoveIM920()
DeguNaoto 0:b613dc16f27d 22 {
DeguNaoto 0:b613dc16f27d 23 #ifdef BLUE
DeguNaoto 0:b613dc16f27d 24 if(Y<2) {
DeguNaoto 0:b613dc16f27d 25 Move_l(-0.6);
DeguNaoto 0:b613dc16f27d 26 Move_r(0.6);
DeguNaoto 0:b613dc16f27d 27 }
DeguNaoto 0:b613dc16f27d 28 else if(Y>6) {
DeguNaoto 0:b613dc16f27d 29 Move_l(0.6);
DeguNaoto 0:b613dc16f27d 30 Move_r(-0.6);
DeguNaoto 0:b613dc16f27d 31 }
DeguNaoto 0:b613dc16f27d 32 else {
DeguNaoto 0:b613dc16f27d 33 if(X<2) {
DeguNaoto 0:b613dc16f27d 34 Move_l(0.6);
DeguNaoto 0:b613dc16f27d 35 Move_r(0.6);
DeguNaoto 0:b613dc16f27d 36 } else if(X>6) {
DeguNaoto 0:b613dc16f27d 37 Move_l(-0.6);
DeguNaoto 0:b613dc16f27d 38 Move_r(-0.6);
DeguNaoto 0:b613dc16f27d 39 } else {
DeguNaoto 0:b613dc16f27d 40 Move_l(0.0);
DeguNaoto 0:b613dc16f27d 41 Move_r(0.0);
DeguNaoto 0:b613dc16f27d 42 }
DeguNaoto 0:b613dc16f27d 43 }
DeguNaoto 0:b613dc16f27d 44 #else
DeguNaoto 0:b613dc16f27d 45 if(Y<2) {
DeguNaoto 0:b613dc16f27d 46 Move_l(0.6);
DeguNaoto 0:b613dc16f27d 47 Move_r(-0.6);
DeguNaoto 0:b613dc16f27d 48 }
DeguNaoto 0:b613dc16f27d 49 else if(Y>6) {
DeguNaoto 0:b613dc16f27d 50 Move_l(-0.6);
DeguNaoto 0:b613dc16f27d 51 Move_r(0.6);
DeguNaoto 0:b613dc16f27d 52 }
DeguNaoto 0:b613dc16f27d 53 else {
DeguNaoto 0:b613dc16f27d 54 if(X<2) {
DeguNaoto 0:b613dc16f27d 55 Move_l(-0.6);
DeguNaoto 0:b613dc16f27d 56 Move_r(-0.6);
DeguNaoto 0:b613dc16f27d 57 } else if(X>6) {
DeguNaoto 0:b613dc16f27d 58 Move_l(0.6);
DeguNaoto 0:b613dc16f27d 59 Move_r(0.6);
DeguNaoto 0:b613dc16f27d 60 } else {
DeguNaoto 0:b613dc16f27d 61 Move_l(0.0);
DeguNaoto 0:b613dc16f27d 62 Move_r(0.0);
DeguNaoto 0:b613dc16f27d 63 }
DeguNaoto 0:b613dc16f27d 64 }
DeguNaoto 0:b613dc16f27d 65 #endif
DeguNaoto 0:b613dc16f27d 66 }
DeguNaoto 0:b613dc16f27d 67 void manualIM920()
DeguNaoto 0:b613dc16f27d 68 {
DeguNaoto 0:b613dc16f27d 69 if(b==7){ /*mode change*/
DeguNaoto 0:b613dc16f27d 70 if(edge7){
DeguNaoto 3:8d8c25c556ae 71 Com.attach(&Call,RATE);
DeguNaoto 0:b613dc16f27d 72 edge7=0;
DeguNaoto 0:b613dc16f27d 73 autoflag=1;
DeguNaoto 0:b613dc16f27d 74 Indicator4=1;
DeguNaoto 0:b613dc16f27d 75 IndicatorAuto=0;
DeguNaoto 0:b613dc16f27d 76 Move_l(0.0);
DeguNaoto 0:b613dc16f27d 77 Move_r(0.0);
DeguNaoto 6:ca3a74a93ae2 78 direction_controller.setTunings(36.0,3.0,0.0);
DeguNaoto 0:b613dc16f27d 79 resetState();
DeguNaoto 0:b613dc16f27d 80 flaga=0;
DeguNaoto 0:b613dc16f27d 81 step=114;
DeguNaoto 0:b613dc16f27d 82 CStep=114;
DeguNaoto 3:8d8c25c556ae 83 spcount=speed;
DeguNaoto 0:b613dc16f27d 84 }
DeguNaoto 0:b613dc16f27d 85 }
DeguNaoto 0:b613dc16f27d 86 else if(b==5){
DeguNaoto 0:b613dc16f27d 87 if(edge5){
DeguNaoto 0:b613dc16f27d 88 edge5=0;
DeguNaoto 21:bdf8ac5c200c 89 resetSwingSpeed = 1;
DeguNaoto 21:bdf8ac5c200c 90 interruptSwingSpeed.attach(&countSwingSpeed, 0.05);
DeguNaoto 21:bdf8ac5c200c 91 /*for(float i=0.0;i<0.6;i+=0.01){
DeguNaoto 3:8d8c25c556ae 92 Motor_swing=i;
DeguNaoto 17:726b6f53a457 93 wait(0.001);
DeguNaoto 3:8d8c25c556ae 94 }
DeguNaoto 21:bdf8ac5c200c 95 Motor_swing = 0.6;*/
DeguNaoto 3:8d8c25c556ae 96 }
DeguNaoto 3:8d8c25c556ae 97 }
DeguNaoto 3:8d8c25c556ae 98 else if(b==8){
DeguNaoto 3:8d8c25c556ae 99 if(edge8){
DeguNaoto 3:8d8c25c556ae 100 edge8=0;
DeguNaoto 3:8d8c25c556ae 101 enableShoot=1;
DeguNaoto 3:8d8c25c556ae 102 }
DeguNaoto 3:8d8c25c556ae 103 }
DeguNaoto 3:8d8c25c556ae 104 else if(b==9){
DeguNaoto 3:8d8c25c556ae 105 interruptSwingSpeed.detach();
DeguNaoto 3:8d8c25c556ae 106 targSwingRadVelocity = 0.0;
DeguNaoto 3:8d8c25c556ae 107 contSwing.reset();
DeguNaoto 7:4aa57a35ec0b 108 sendData(2,8);
DeguNaoto 3:8d8c25c556ae 109 Motor_swing = 0.0;
DeguNaoto 3:8d8c25c556ae 110 }
DeguNaoto 17:726b6f53a457 111 else if(b==6){
DeguNaoto 17:726b6f53a457 112 if(edge6){
DeguNaoto 17:726b6f53a457 113 edge6=0;
DeguNaoto 17:726b6f53a457 114 sendData(1,1);
DeguNaoto 17:726b6f53a457 115 }
DeguNaoto 17:726b6f53a457 116 }
DeguNaoto 3:8d8c25c556ae 117 /*else if(b==5){
DeguNaoto 3:8d8c25c556ae 118 if(edge5){
DeguNaoto 3:8d8c25c556ae 119 edge5=0;
DeguNaoto 0:b613dc16f27d 120 sendData(1,4);
DeguNaoto 0:b613dc16f27d 121 }
DeguNaoto 0:b613dc16f27d 122 }
DeguNaoto 0:b613dc16f27d 123 else if(b==6){
DeguNaoto 0:b613dc16f27d 124 if(edge6){
DeguNaoto 0:b613dc16f27d 125 edge6=0;
DeguNaoto 0:b613dc16f27d 126 sendData(1,5);
DeguNaoto 0:b613dc16f27d 127 }
DeguNaoto 3:8d8c25c556ae 128 }*/
DeguNaoto 0:b613dc16f27d 129 else if(b==1){ /*L down*/
DeguNaoto 0:b613dc16f27d 130 if(edge1){
DeguNaoto 0:b613dc16f27d 131 edge1=0;
DeguNaoto 0:b613dc16f27d 132 if(stateL!=1) stateL--;
DeguNaoto 0:b613dc16f27d 133 sendData(4,stateL);
DeguNaoto 0:b613dc16f27d 134 }
DeguNaoto 0:b613dc16f27d 135 }
DeguNaoto 0:b613dc16f27d 136 else if(b==2){ /*L up*/
DeguNaoto 0:b613dc16f27d 137 if(edge2){
DeguNaoto 0:b613dc16f27d 138 edge2=0;
DeguNaoto 0:b613dc16f27d 139 if(stateL!=92) stateL++;
DeguNaoto 0:b613dc16f27d 140 sendData(4,stateL);
DeguNaoto 0:b613dc16f27d 141 }
DeguNaoto 0:b613dc16f27d 142 }
DeguNaoto 0:b613dc16f27d 143 else if(b==3){ /*R down*/
DeguNaoto 0:b613dc16f27d 144 if(edge3){
DeguNaoto 0:b613dc16f27d 145 edge3=0;
DeguNaoto 0:b613dc16f27d 146 if(stateR!=1) stateR--;
DeguNaoto 0:b613dc16f27d 147 sendData(5,stateR);
DeguNaoto 0:b613dc16f27d 148 }
DeguNaoto 0:b613dc16f27d 149 }
DeguNaoto 0:b613dc16f27d 150 else if(b==4){ /*R up*/
DeguNaoto 0:b613dc16f27d 151 if(edge4){
DeguNaoto 0:b613dc16f27d 152 edge4=0;
DeguNaoto 0:b613dc16f27d 153 if(stateR!=92) stateR++;
DeguNaoto 0:b613dc16f27d 154 sendData(5,stateR);
DeguNaoto 0:b613dc16f27d 155 }
DeguNaoto 0:b613dc16f27d 156 }
DeguNaoto 0:b613dc16f27d 157 if(b!=7) edge7=1;
DeguNaoto 0:b613dc16f27d 158 if(b!=1) edge1=1;
DeguNaoto 0:b613dc16f27d 159 if(b!=2) edge2=1;
DeguNaoto 0:b613dc16f27d 160 if(b!=3) edge3=1;
DeguNaoto 0:b613dc16f27d 161 if(b!=4) edge4=1;
DeguNaoto 0:b613dc16f27d 162 if(b!=5) edge5=1;
DeguNaoto 21:bdf8ac5c200c 163 if(b!=6) edge6=1;
DeguNaoto 0:b613dc16f27d 164 if(b!=8) edge8=1;
DeguNaoto 0:b613dc16f27d 165 if(b!=9) edge9=1;
DeguNaoto 0:b613dc16f27d 166 }
DeguNaoto 13:57d8e360e9aa 167
DeguNaoto 0:b613dc16f27d 168 #endif /*manualMode.h*/