Roboshark / Mbed 2 deprecated Roboshark_V101

Dependencies:   mbed

Fork of Roboshark_V10 by Roboshark

Committer:
ahlervin
Date:
Mon May 07 15:41:52 2018 +0000
Revision:
9:feabe0b7cea4
Parent:
8:d0a27278c108
Child:
10:fb2195d0de0f
Aufger?umtes Programm

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ahlervin 9:feabe0b7cea4 1 /*Roboshark V7
ahlervin 6:7bbcdd07bc2d 2 Fahren.cpp
ahlervin 6:7bbcdd07bc2d 3 Erstellt: J. Blunschi
ahlervin 6:7bbcdd07bc2d 4 geändert: V.Ahlers
ahlervin 6:7bbcdd07bc2d 5 V.5.18
ahlervin 6:7bbcdd07bc2d 6 */
ahlervin 6:7bbcdd07bc2d 7
Jacqueline 0:6d0671ae4648 8 #include "Fahren.h"
Jacqueline 0:6d0671ae4648 9 #include <mbed.h>
ahlervin 9:feabe0b7cea4 10 #include "IRSensor.h"
Jacqueline 0:6d0671ae4648 11
Jacqueline 0:6d0671ae4648 12
ahlervin 6:7bbcdd07bc2d 13 using namespace std;
ahlervin 6:7bbcdd07bc2d 14
Jacqueline 0:6d0671ae4648 15
ahlervin 7:862d80e0ea2d 16
ahlervin 9:feabe0b7cea4 17 //Konstruktor
ahlervin 9:feabe0b7cea4 18 Fahren::Fahren(Controller& controller, EncoderCounter& counterLeft, EncoderCounter& counterRight, IRSensor& iRSensor):
ahlervin 9:feabe0b7cea4 19 controller(controller), counterLeft(counterLeft), counterRight(counterRight), iRSensor (iRSensor){
ahlervin 9:feabe0b7cea4 20 SpeedR = 80.0f;
ahlervin 9:feabe0b7cea4 21 SpeedL = 80.0f;
ahlervin 9:feabe0b7cea4 22 disF = 0.0f;
ahlervin 9:feabe0b7cea4 23 }
ahlervin 9:feabe0b7cea4 24 //Dekonstruktor
ahlervin 9:feabe0b7cea4 25 Fahren::~Fahren() {}
Jacqueline 0:6d0671ae4648 26
ahlervin 9:feabe0b7cea4 27
ahlervin 9:feabe0b7cea4 28
ahlervin 6:7bbcdd07bc2d 29 //Implementation der Methode geradeaus fahren geregelt
ahlervin 6:7bbcdd07bc2d 30 void Fahren::geradeausG(){
ahlervin 6:7bbcdd07bc2d 31
ahlervin 6:7bbcdd07bc2d 32 //einlesen des aktuellen Encoder standes
ahlervin 6:7bbcdd07bc2d 33 initialClicksRight = counterRight.read();
ahlervin 6:7bbcdd07bc2d 34 initialClicksLeft = counterLeft.read();
ahlervin 6:7bbcdd07bc2d 35
ahlervin 6:7bbcdd07bc2d 36 //Anzahl Clicks die der Encoder zählen soll
ahlervin 8:d0a27278c108 37 wegRechts = 1776;
ahlervin 8:d0a27278c108 38 wegLinks = 1776;
ahlervin 7:862d80e0ea2d 39
ahlervin 6:7bbcdd07bc2d 40
ahlervin 6:7bbcdd07bc2d 41 //Zustand, dass der Roboter nicht gestoppt hat
ahlervin 6:7bbcdd07bc2d 42 stopRight = false;
ahlervin 6:7bbcdd07bc2d 43 stopLeft = false;
ahlervin 8:d0a27278c108 44 reglerEinR = 1;
ahlervin 8:d0a27278c108 45 reglerEinL = 1;
ahlervin 6:7bbcdd07bc2d 46
ahlervin 6:7bbcdd07bc2d 47 while(1){
ahlervin 9:feabe0b7cea4 48 float diff = (iRSensor.readR() - iRSensor.readL())*0.9f; //Regler
ahlervin 9:feabe0b7cea4 49 if((diff < 1.5f) ||(diff > -1.5f)) diff = 0;
ahlervin 8:d0a27278c108 50 if(iRSensor.readR()>60.0f) diff=0;
ahlervin 8:d0a27278c108 51 if(iRSensor.readL()>60.0f) diff=0;
ahlervin 8:d0a27278c108 52 //printf("diff =%f \n",diff);
ahlervin 8:d0a27278c108 53 controller.setDesiredSpeedRight(SpeedR+diff);
ahlervin 8:d0a27278c108 54 controller.setDesiredSpeedLeft(-(SpeedL-diff));
ahlervin 8:d0a27278c108 55
ahlervin 8:d0a27278c108 56 wait(0.05);
ahlervin 6:7bbcdd07bc2d 57
ahlervin 6:7bbcdd07bc2d 58 // printf("Encoderrechts %d \n\r", counterRight.read()); //Debugging Zweck (Putty benutzen!)
ahlervin 6:7bbcdd07bc2d 59 // printf("Encoderlinks %d \n\r", counterLeft.read()); //Debugging Zweck (Putty benutzen!)
ahlervin 6:7bbcdd07bc2d 60
ahlervin 6:7bbcdd07bc2d 61 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
ahlervin 8:d0a27278c108 62 if(counterRight.read() - initialClicksRight >= wegRechts || counterRight.read() - initialClicksRight <= -wegRechts || iRSensor.readF() < 50.0f){
ahlervin 6:7bbcdd07bc2d 63 controller.setDesiredSpeedRight(0);
ahlervin 6:7bbcdd07bc2d 64 stopRight = true;
ahlervin 8:d0a27278c108 65 reglerEinR = 0;
ahlervin 6:7bbcdd07bc2d 66 }
ahlervin 6:7bbcdd07bc2d 67
ahlervin 6:7bbcdd07bc2d 68 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
ahlervin 8:d0a27278c108 69 if(counterLeft.read() - initialClicksLeft >= wegLinks || counterLeft.read() - initialClicksLeft <= -wegLinks || iRSensor.readF() < 50.0f){
ahlervin 6:7bbcdd07bc2d 70 controller.setDesiredSpeedLeft(0);
ahlervin 6:7bbcdd07bc2d 71 stopLeft = true;
ahlervin 8:d0a27278c108 72 reglerEinL = 0;
ahlervin 6:7bbcdd07bc2d 73 }
ahlervin 6:7bbcdd07bc2d 74
ahlervin 6:7bbcdd07bc2d 75 if(stopRight == true && stopLeft == true){
ahlervin 6:7bbcdd07bc2d 76 return;
ahlervin 6:7bbcdd07bc2d 77 }
ahlervin 6:7bbcdd07bc2d 78
ahlervin 6:7bbcdd07bc2d 79 }
ahlervin 6:7bbcdd07bc2d 80
ahlervin 6:7bbcdd07bc2d 81 }
ahlervin 6:7bbcdd07bc2d 82
Jacqueline 0:6d0671ae4648 83 //Implementation der Methode 90 Grad Rechtsdrehen
Jacqueline 0:6d0671ae4648 84 void Fahren::rechts90() {
Jacqueline 0:6d0671ae4648 85
Jacqueline 0:6d0671ae4648 86 //einlesen des aktuellen Encoder standes
Jacqueline 0:6d0671ae4648 87 initialClicksRight = counterRight.read();
Jacqueline 0:6d0671ae4648 88 initialClicksLeft = counterLeft.read();
Jacqueline 0:6d0671ae4648 89
Jacqueline 0:6d0671ae4648 90 //Anzahl Clicks die der Encoder zählen soll
ahlervin 7:862d80e0ea2d 91 wegRechts = 868;
ahlervin 7:862d80e0ea2d 92 wegLinks = 868;
Jacqueline 0:6d0671ae4648 93
Jacqueline 0:6d0671ae4648 94 //Zustand, dass der Roboter nicht gestoppt hat
Jacqueline 0:6d0671ae4648 95 stopRight = false;
Jacqueline 0:6d0671ae4648 96 stopLeft = false;
Jacqueline 0:6d0671ae4648 97
Jacqueline 0:6d0671ae4648 98 //Drehrichtung der Motoren
ahlervin 7:862d80e0ea2d 99 controller.setDesiredSpeedRight((SpeedR));
ahlervin 7:862d80e0ea2d 100 controller.setDesiredSpeedLeft((SpeedL));
ahlervin 7:862d80e0ea2d 101 //printf("SpeedR in F = %f\n",SpeedR);
ahlervin 7:862d80e0ea2d 102 //printf("SpeedL in F = %f\n",SpeedL);
Jacqueline 0:6d0671ae4648 103 while(1){
Jacqueline 0:6d0671ae4648 104
Jacqueline 0:6d0671ae4648 105 // printf("Encoderrechts %d \n\r", counterRight.read()); //Debugging Zweck (Putty benutzen!)
Jacqueline 0:6d0671ae4648 106 // printf("Encoderlinks %d \n\r", counterLeft.read()); //Debugging Zweck (Putty benutzen!)
Jacqueline 0:6d0671ae4648 107
Jacqueline 0:6d0671ae4648 108 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
Jacqueline 0:6d0671ae4648 109 if(counterRight.read() - initialClicksRight >= wegRechts || counterRight.read() - initialClicksRight <= -wegRechts){
Jacqueline 0:6d0671ae4648 110 controller.setDesiredSpeedRight(0);
Jacqueline 0:6d0671ae4648 111 stopRight = true;
Jacqueline 0:6d0671ae4648 112 }
Jacqueline 0:6d0671ae4648 113
Jacqueline 0:6d0671ae4648 114 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
Jacqueline 0:6d0671ae4648 115 if(counterLeft.read() - initialClicksLeft >= wegLinks || counterLeft.read() - initialClicksLeft <= -wegLinks ){
Jacqueline 0:6d0671ae4648 116 controller.setDesiredSpeedLeft(0);
Jacqueline 0:6d0671ae4648 117 stopLeft = true;
Jacqueline 0:6d0671ae4648 118 }
Jacqueline 0:6d0671ae4648 119
Jacqueline 0:6d0671ae4648 120 if(stopRight == true && stopLeft == true){
Jacqueline 0:6d0671ae4648 121 return;
Jacqueline 0:6d0671ae4648 122 }
Jacqueline 0:6d0671ae4648 123
Jacqueline 0:6d0671ae4648 124 }
Jacqueline 0:6d0671ae4648 125
Jacqueline 0:6d0671ae4648 126 }
Jacqueline 0:6d0671ae4648 127
Jacqueline 0:6d0671ae4648 128
Jacqueline 0:6d0671ae4648 129
Jacqueline 0:6d0671ae4648 130 //Implementation der Methode 180 Grad Rechtsdrehen
Jacqueline 0:6d0671ae4648 131 void Fahren::rechts180() {
Jacqueline 0:6d0671ae4648 132
Jacqueline 0:6d0671ae4648 133 //einlesen des aktuellen Encoder standes
Jacqueline 0:6d0671ae4648 134 initialClicksRight = counterRight.read();
Jacqueline 0:6d0671ae4648 135 initialClicksLeft = counterLeft.read();
Jacqueline 0:6d0671ae4648 136
Jacqueline 0:6d0671ae4648 137 //Anzahl Clicks die der Encoder zählen soll
ahlervin 7:862d80e0ea2d 138 wegRechts = 1752;
ahlervin 7:862d80e0ea2d 139 wegLinks = 1752;
Jacqueline 0:6d0671ae4648 140
Jacqueline 0:6d0671ae4648 141 //Zustand, dass der Roboter nicht gestoppt hat
Jacqueline 0:6d0671ae4648 142 stopRight = false;
Jacqueline 0:6d0671ae4648 143 stopLeft = false;
Jacqueline 0:6d0671ae4648 144
Jacqueline 0:6d0671ae4648 145 //Drehrichtung der Motoren
ahlervin 7:862d80e0ea2d 146 controller.setDesiredSpeedRight((SpeedR));
ahlervin 7:862d80e0ea2d 147 controller.setDesiredSpeedLeft((SpeedL));
Jacqueline 0:6d0671ae4648 148
Jacqueline 0:6d0671ae4648 149 while(1){
Jacqueline 0:6d0671ae4648 150
Jacqueline 0:6d0671ae4648 151 // printf("Encoderrechts %d \n\r", counterRight.read()); //Debugging Zweck (Putty benutzen!)
Jacqueline 0:6d0671ae4648 152 // printf("Encoderlinks %d \n\r", counterLeft.read()); //Debugging Zweck (Putty benutzen!)
Jacqueline 0:6d0671ae4648 153
Jacqueline 0:6d0671ae4648 154 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
Jacqueline 0:6d0671ae4648 155 if(counterRight.read() - initialClicksRight >= wegRechts || counterRight.read() - initialClicksRight <= -wegRechts){
Jacqueline 0:6d0671ae4648 156 controller.setDesiredSpeedRight(0);
Jacqueline 0:6d0671ae4648 157 stopRight = true;
Jacqueline 0:6d0671ae4648 158 }
Jacqueline 0:6d0671ae4648 159
Jacqueline 0:6d0671ae4648 160 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
Jacqueline 0:6d0671ae4648 161 if(counterLeft.read() - initialClicksLeft >= wegLinks || counterLeft.read() - initialClicksLeft <= -wegLinks ){
Jacqueline 0:6d0671ae4648 162 controller.setDesiredSpeedLeft(0);
Jacqueline 0:6d0671ae4648 163 stopLeft = true;
Jacqueline 0:6d0671ae4648 164 }
Jacqueline 0:6d0671ae4648 165
Jacqueline 0:6d0671ae4648 166 if(stopRight == true && stopLeft == true){
Jacqueline 0:6d0671ae4648 167 return;
Jacqueline 0:6d0671ae4648 168 }
Jacqueline 0:6d0671ae4648 169
Jacqueline 0:6d0671ae4648 170 }
Jacqueline 0:6d0671ae4648 171
Jacqueline 0:6d0671ae4648 172 }
Jacqueline 0:6d0671ae4648 173
Jacqueline 0:6d0671ae4648 174
Jacqueline 2:402b1a74fff6 175 //Implementation der Methode 90 Grad Linksdrehen
Jacqueline 2:402b1a74fff6 176 void Fahren::links90() {
Jacqueline 0:6d0671ae4648 177
Jacqueline 0:6d0671ae4648 178 //einlesen des aktuellen Encoder standes
Jacqueline 0:6d0671ae4648 179 initialClicksRight = counterRight.read();
Jacqueline 0:6d0671ae4648 180 initialClicksLeft = counterLeft.read();
Jacqueline 0:6d0671ae4648 181
Jacqueline 0:6d0671ae4648 182 //Anzahl Clicks die der Encoder zählen soll
ahlervin 8:d0a27278c108 183 wegRechts = 868;
ahlervin 8:d0a27278c108 184 wegLinks = 868;
Jacqueline 0:6d0671ae4648 185
Jacqueline 0:6d0671ae4648 186 //Zustand, dass der Roboter nicht gestoppt hat
Jacqueline 0:6d0671ae4648 187 stopRight = false;
Jacqueline 0:6d0671ae4648 188 stopLeft = false;
Jacqueline 0:6d0671ae4648 189
Jacqueline 0:6d0671ae4648 190 //Drehrichtung der Motoren
ahlervin 7:862d80e0ea2d 191 controller.setDesiredSpeedRight((-SpeedR));
ahlervin 7:862d80e0ea2d 192 controller.setDesiredSpeedLeft((-SpeedL));
Jacqueline 0:6d0671ae4648 193
Jacqueline 0:6d0671ae4648 194 while(1){
Jacqueline 0:6d0671ae4648 195
Jacqueline 0:6d0671ae4648 196 // printf("Encoderrechts %d \n\r", counterRight.read()); //Debugging Zweck (Putty benutzen!)
Jacqueline 0:6d0671ae4648 197 // printf("Encoderlinks %d \n\r", counterLeft.read()); //Debugging Zweck (Putty benutzen!)
Jacqueline 0:6d0671ae4648 198
Jacqueline 0:6d0671ae4648 199 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
Jacqueline 0:6d0671ae4648 200 if(counterRight.read() - initialClicksRight >= wegRechts || counterRight.read() - initialClicksRight <= -wegRechts){
Jacqueline 0:6d0671ae4648 201 controller.setDesiredSpeedRight(0);
Jacqueline 0:6d0671ae4648 202 stopRight = true;
Jacqueline 0:6d0671ae4648 203 }
Jacqueline 0:6d0671ae4648 204
Jacqueline 0:6d0671ae4648 205 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
Jacqueline 0:6d0671ae4648 206 if(counterLeft.read() - initialClicksLeft >= wegLinks || counterLeft.read() - initialClicksLeft <= -wegLinks ){
Jacqueline 0:6d0671ae4648 207 controller.setDesiredSpeedLeft(0);
Jacqueline 0:6d0671ae4648 208 stopLeft = true;
Jacqueline 0:6d0671ae4648 209 }
Jacqueline 0:6d0671ae4648 210
Jacqueline 0:6d0671ae4648 211 if(stopRight == true && stopLeft == true){
Jacqueline 0:6d0671ae4648 212 return;
Jacqueline 0:6d0671ae4648 213 }
Jacqueline 0:6d0671ae4648 214
Jacqueline 0:6d0671ae4648 215 }
Jacqueline 0:6d0671ae4648 216
Jacqueline 0:6d0671ae4648 217 }
Jacqueline 0:6d0671ae4648 218
ahlervin 4:767fd282dd9c 219
ahlervin 4:767fd282dd9c 220 //Implementation der Methode Ziel erreicht
ahlervin 4:767fd282dd9c 221 void Fahren::ziel() {
ahlervin 4:767fd282dd9c 222
ahlervin 4:767fd282dd9c 223 //einlesen des aktuellen Encoder standes
ahlervin 4:767fd282dd9c 224 initialClicksRight = counterRight.read();
ahlervin 4:767fd282dd9c 225 initialClicksLeft = counterLeft.read();
Jacqueline 0:6d0671ae4648 226
ahlervin 4:767fd282dd9c 227 //Anzahl Clicks die der Encoder zählen soll
ahlervin 4:767fd282dd9c 228 wegRechts = 7050;
ahlervin 4:767fd282dd9c 229 wegLinks = 7050;
ahlervin 4:767fd282dd9c 230
ahlervin 4:767fd282dd9c 231 //Zustand, dass der Roboter nicht gestoppt hat
ahlervin 4:767fd282dd9c 232 stopRight = false;
ahlervin 4:767fd282dd9c 233 stopLeft = false;
ahlervin 4:767fd282dd9c 234
ahlervin 4:767fd282dd9c 235 //Drehrichtung der Motoren
ahlervin 7:862d80e0ea2d 236 controller.setDesiredSpeedRight((SpeedR));
ahlervin 7:862d80e0ea2d 237 controller.setDesiredSpeedLeft((SpeedR));
ahlervin 4:767fd282dd9c 238
ahlervin 4:767fd282dd9c 239 while(1){
ahlervin 4:767fd282dd9c 240
ahlervin 4:767fd282dd9c 241 // printf("Encoderrechts %d \n\r", counterRight.read()); //Debugging Zweck (Putty benutzen!)
ahlervin 4:767fd282dd9c 242 // printf("Encoderlinks %d \n\r", counterLeft.read()); //Debugging Zweck (Putty benutzen!)
ahlervin 4:767fd282dd9c 243
ahlervin 4:767fd282dd9c 244 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
ahlervin 4:767fd282dd9c 245 if(counterRight.read() - initialClicksRight >= wegRechts || counterRight.read() - initialClicksRight <= -wegRechts){
ahlervin 4:767fd282dd9c 246 controller.setDesiredSpeedRight(0);
ahlervin 4:767fd282dd9c 247 stopRight = true;
ahlervin 4:767fd282dd9c 248 }
ahlervin 4:767fd282dd9c 249
ahlervin 4:767fd282dd9c 250 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
ahlervin 4:767fd282dd9c 251 if(counterLeft.read() - initialClicksLeft >= wegLinks || counterLeft.read() - initialClicksLeft <= -wegLinks ){
ahlervin 4:767fd282dd9c 252 controller.setDesiredSpeedLeft(0);
ahlervin 4:767fd282dd9c 253 stopLeft = true;
ahlervin 4:767fd282dd9c 254 }
ahlervin 4:767fd282dd9c 255
ahlervin 4:767fd282dd9c 256 if(stopRight == true && stopLeft == true){
ahlervin 4:767fd282dd9c 257 return;
ahlervin 4:767fd282dd9c 258 }
ahlervin 4:767fd282dd9c 259 }
ahlervin 4:767fd282dd9c 260
ahlervin 4:767fd282dd9c 261 }
Jacqueline 0:6d0671ae4648 262
ahlervin 4:767fd282dd9c 263 //Implementation der Methode stopp
ahlervin 4:767fd282dd9c 264 void Fahren::stopp(){
ahlervin 4:767fd282dd9c 265
ahlervin 4:767fd282dd9c 266 //einlesen des aktuellen Encoder standes
ahlervin 4:767fd282dd9c 267 initialClicksRight = counterRight.read();
ahlervin 4:767fd282dd9c 268 initialClicksLeft = counterLeft.read();
ahlervin 4:767fd282dd9c 269
ahlervin 4:767fd282dd9c 270 //Anzahl Clicks die der Encoder zählen soll
ahlervin 4:767fd282dd9c 271 wegRechts = 0;
ahlervin 4:767fd282dd9c 272 wegLinks = 0;
ahlervin 4:767fd282dd9c 273
ahlervin 4:767fd282dd9c 274 //Geschwindigkeit
ahlervin 4:767fd282dd9c 275 speedRight = 0;
ahlervin 4:767fd282dd9c 276 speedLeft = 0;
ahlervin 4:767fd282dd9c 277
ahlervin 4:767fd282dd9c 278 //Zustand, dass der Roboter nicht gestoppt hat
ahlervin 4:767fd282dd9c 279 stopRight = false;
ahlervin 4:767fd282dd9c 280 stopLeft = false;
ahlervin 4:767fd282dd9c 281
ahlervin 4:767fd282dd9c 282 //Drehrichtung der Motoren
ahlervin 4:767fd282dd9c 283 controller.setDesiredSpeedRight(speedRight);
ahlervin 4:767fd282dd9c 284 controller.setDesiredSpeedLeft(-(speedLeft));
ahlervin 4:767fd282dd9c 285
ahlervin 4:767fd282dd9c 286
ahlervin 4:767fd282dd9c 287 while(1){
ahlervin 4:767fd282dd9c 288
ahlervin 4:767fd282dd9c 289 // printf("Encoderrechts %d \n\r", counterRight.read()); //Debugging Zweck (Putty benutzen!)
ahlervin 4:767fd282dd9c 290 // printf("Encoderlinks %d \n\r", counterLeft.read()); //Debugging Zweck (Putty benutzen!)
ahlervin 4:767fd282dd9c 291
ahlervin 4:767fd282dd9c 292 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
ahlervin 4:767fd282dd9c 293 if(counterRight.read() - initialClicksRight >= wegRechts || counterRight.read() - initialClicksRight <= -wegRechts){
ahlervin 4:767fd282dd9c 294 controller.setDesiredSpeedRight(0);
ahlervin 4:767fd282dd9c 295 stopRight = true;
ahlervin 4:767fd282dd9c 296 }
ahlervin 4:767fd282dd9c 297
ahlervin 4:767fd282dd9c 298 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
ahlervin 4:767fd282dd9c 299 if(counterLeft.read() - initialClicksLeft >= wegLinks || counterLeft.read() - initialClicksLeft <= -wegLinks ){
ahlervin 4:767fd282dd9c 300 controller.setDesiredSpeedLeft(0);
ahlervin 4:767fd282dd9c 301 stopLeft = true;
ahlervin 4:767fd282dd9c 302 }
ahlervin 4:767fd282dd9c 303
ahlervin 4:767fd282dd9c 304 if(stopRight == true && stopLeft == true){
ahlervin 4:767fd282dd9c 305 return;
ahlervin 4:767fd282dd9c 306 }
ahlervin 4:767fd282dd9c 307
ahlervin 4:767fd282dd9c 308 }
ahlervin 4:767fd282dd9c 309
ahlervin 4:767fd282dd9c 310 }