This program is for an autonomous robot for the competition at the Hochschule Luzern. We are one of the 32 teams. <a href="http://cruisingcrepe.wordpress.com/">http://cruisingcrepe.wordpress.com/</a> The postition control is based on this Documentation: Control of Wheeled Mobile Robots: An Experimental Overview from Alessandro De Luca, Giuseppe Oriolo, Marilena Vendittelli. For more information see here: <a href="http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf">http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf</a>

Dependencies:   mbed

Fork of autonomousRobotAndroid by Christian Burri

Committer:
chrigelburri
Date:
Sun Apr 07 08:31:51 2013 +0000
Revision:
12:235e318a414f
Parent:
11:775ebb69d5e1
Child:
13:a7c30ee09bae
Kommentare nochmals verbessert android fehlt noch

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chrigelburri 10:09ddb819fdcb 1 /*! \mainpage Index Page
chrigelburri 2:d8e1613dc38b 2 * @author Christian Burri
chrigelburri 11:775ebb69d5e1 3 * @author Arno Galliker
chrigelburri 2:d8e1613dc38b 4 *
chrigelburri 11:775ebb69d5e1 5 * @copyright Copyright &copy; 2013 HSLU Pren Team #1 Cruising Crêpe
chrigelburri 1:6cd533a712c6 6 * All rights reserved.
chrigelburri 2:d8e1613dc38b 7 *
chrigelburri 11:775ebb69d5e1 8 * @brief
chrigelburri 2:d8e1613dc38b 9 *
chrigelburri 3:92ba0254af87 10 * This Programm is for a autonomous robot for the competition
chrigelburri 4:3a97923ff2d4 11 * at the Hochschule Luzern.
chrigelburri 3:92ba0254af87 12 * We are one of the 32 teams. In the team #1 is:
chrigelburri 11:775ebb69d5e1 13 * - Bauernfeind Julia <B>WI</B> <a href="mailto:julia.bauernfeind@stud.hslu.ch">julia.bauernfeind@stud.hslu.ch</a>
chrigelburri 11:775ebb69d5e1 14 * - Büttler Pirmin <B>WI</B> <a href="mailto:pirmin.buetler@stud.hslu.ch">pirmin.buetler@stud.hslu.ch</a>
chrigelburri 11:775ebb69d5e1 15 * - Amberg Reto <B>I</B> <a href="mailto:reto.amberg@stud.hslu.ch">reto.amberg@stud.hslu.ch</a>
chrigelburri 11:775ebb69d5e1 16 * - Galliker Arno <B>I</B> <a href="mailto:arno.galliker@stud.hslu.ch">arno.galliker@stud.hslu.ch</a>
chrigelburri 11:775ebb69d5e1 17 * - Amrein Marcel <B>M</B> <a href="mailto:marcel.amrein@stud.hslu.ch">marcel.amrein@stud.hslu.ch</a>
chrigelburri 11:775ebb69d5e1 18 * - Flühler Ramon <B>M</B> <a href="mailto:ramon.fluehler@stud.hslu.ch">ramon.fluehler@stud.hslu.ch</a>
chrigelburri 11:775ebb69d5e1 19 * - Burri Christian <B>ET</B> <a href="mailto:christian.burri@stud.hslu.ch">christian.burri@stud.hslu.ch</a>
chrigelburri 4:3a97923ff2d4 20 *
chrigelburri 4:3a97923ff2d4 21 * The postition control is based on polar coordiantes.
chrigelburri 3:92ba0254af87 22 * For more information see here: <a href="http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf">a href="http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf</a>
chrigelburri 2:d8e1613dc38b 23 *
chrigelburri 11:775ebb69d5e1 24 *
chrigelburri 1:6cd533a712c6 25 */
chrigelburri 1:6cd533a712c6 26
chrigelburri 11:775ebb69d5e1 27 /**
chrigelburri 11:775ebb69d5e1 28 * @file main.cpp
chrigelburri 11:775ebb69d5e1 29 */
chrigelburri 11:775ebb69d5e1 30
chrigelburri 1:6cd533a712c6 31 #include "defines.h"
chrigelburri 1:6cd533a712c6 32 #include "State.h"
chrigelburri 1:6cd533a712c6 33 #include "RobotControl.h"
chrigelburri 6:48eeb41188dd 34 //#include "android.h"
chrigelburri 6:48eeb41188dd 35
chrigelburri 12:235e318a414f 36 /**
chrigelburri 12:235e318a414f 37 * @name Communication
chrigelburri 12:235e318a414f 38 * @{
chrigelburri 12:235e318a414f 39 */
chrigelburri 12:235e318a414f 40
chrigelburri 12:235e318a414f 41 /**
chrigelburri 12:235e318a414f 42 * @brief <code>adkTerm</code> object is for the communication with a smartphone.
chrigelburri 12:235e318a414f 43 * The operation system must be a android.
chrigelburri 12:235e318a414f 44 */
chrigelburri 11:775ebb69d5e1 45 //AdkTerm adkTerm;
chrigelburri 12:235e318a414f 46 /*! @} */
chrigelburri 11:775ebb69d5e1 47
chrigelburri 11:775ebb69d5e1 48 /**
chrigelburri 11:775ebb69d5e1 49 * @name Hallsensor
chrigelburri 11:775ebb69d5e1 50 * @{
chrigelburri 11:775ebb69d5e1 51 */
chrigelburri 12:235e318a414f 52
chrigelburri 12:235e318a414f 53 /**
chrigelburri 12:235e318a414f 54 * @brief <code>hallsensorLeft</code> object with pin15, pin17 and pin16
chrigelburri 12:235e318a414f 55 */
chrigelburri 11:775ebb69d5e1 56 Hallsensor hallLeft(p18, p17, p16);
chrigelburri 12:235e318a414f 57
chrigelburri 11:775ebb69d5e1 58 /**
chrigelburri 11:775ebb69d5e1 59 * @brief <code>hallsensorLeft</code> object with pin17, pin28 and pin29
chrigelburri 11:775ebb69d5e1 60 */
chrigelburri 11:775ebb69d5e1 61 Hallsensor hallRight(p27, p28, p29);
chrigelburri 11:775ebb69d5e1 62 /*! @} */
chrigelburri 1:6cd533a712c6 63
chrigelburri 10:09ddb819fdcb 64 /**
chrigelburri 11:775ebb69d5e1 65 * @name Motors and Robot Control
chrigelburri 12:235e318a414f 66 * @{
chrigelburri 10:09ddb819fdcb 67 */
chrigelburri 12:235e318a414f 68
chrigelburri 12:235e318a414f 69 /**
chrigelburri 12:235e318a414f 70 * @brief <code>leftMotor</code> object with pin26, pin25, pin24,
chrigelburri 12:235e318a414f 71 * pin19 and <code>hallsensorLeft</code> object
chrigelburri 12:235e318a414f 72 */
chrigelburri 1:6cd533a712c6 73 MaxonESCON leftMotor(p26, p25, p24, p19, &hallLeft);
chrigelburri 12:235e318a414f 74
chrigelburri 11:775ebb69d5e1 75 /**
chrigelburri 12:235e318a414f 76 * @brief <code>rightMotor</code> object with pin23, pin22, pin21,
chrigelburri 12:235e318a414f 77 * pin20 and <code>hallsensorRight</code> object
chrigelburri 11:775ebb69d5e1 78 */
chrigelburri 1:6cd533a712c6 79 MaxonESCON rightMotor(p23, p22, p21, p20, &hallRight);
chrigelburri 1:6cd533a712c6 80
chrigelburri 11:775ebb69d5e1 81 /**
chrigelburri 12:235e318a414f 82 * @brief <code>robotControl</code> object with <code>leftMotor</code>,
chrigelburri 12:235e318a414f 83 * <code>rightMotor</code> and the sampling rate for the run method
chrigelburri 11:775ebb69d5e1 84 */
chrigelburri 11:775ebb69d5e1 85 RobotControl robotControl(&leftMotor, &rightMotor, PERIOD_ROBOTCONTROL);
chrigelburri 11:775ebb69d5e1 86 /*! @} */
chrigelburri 1:6cd533a712c6 87
chrigelburri 11:775ebb69d5e1 88 /**
chrigelburri 11:775ebb69d5e1 89 * @name Logging & State
chrigelburri 11:775ebb69d5e1 90 * @{
chrigelburri 11:775ebb69d5e1 91 */
chrigelburri 12:235e318a414f 92
chrigelburri 12:235e318a414f 93 /**
chrigelburri 12:235e318a414f 94 * @brief Define the struct for the State and the Logging
chrigelburri 12:235e318a414f 95 */
chrigelburri 11:775ebb69d5e1 96 state_t s;
chrigelburri 12:235e318a414f 97
chrigelburri 11:775ebb69d5e1 98 /**
chrigelburri 12:235e318a414f 99 * @brief <code>state</code> object with <code>robotControl</code>,
chrigelburri 12:235e318a414f 100 * <code>rightMotor</code>, <code>leftMotor</code>, <code>battery</code>
chrigelburri 12:235e318a414f 101 * and the sampling rate for the run method
chrigelburri 11:775ebb69d5e1 102 */
chrigelburri 11:775ebb69d5e1 103 State state(&s, &robotControl, &leftMotor, &rightMotor, p15, PERIOD_STATE);
chrigelburri 11:775ebb69d5e1 104 /*! @} */
chrigelburri 1:6cd533a712c6 105
chrigelburri 12:235e318a414f 106 // @todo PC USB communications DAs wird danach gelöscht
chrigelburri 11:775ebb69d5e1 107 //Serial pc(USBTX, USBRX);
chrigelburri 1:6cd533a712c6 108
chrigelburri 12:235e318a414f 109 /**
chrigelburri 12:235e318a414f 110 * @brief Main function. Start the Programm here.
chrigelburri 12:235e318a414f 111 */
chrigelburri 1:6cd533a712c6 112 int main()
chrigelburri 1:6cd533a712c6 113 {
chrigelburri 12:235e318a414f 114
chrigelburri 12:235e318a414f 115 /**
chrigelburri 12:235e318a414f 116 * Initialze the filt PLOTS.txt,
chrigelburri 12:235e318a414f 117 * start the timer for the Logging to the file
chrigelburri 12:235e318a414f 118 * and start the Task for logging
chrigelburri 12:235e318a414f 119 **/
chrigelburri 12:235e318a414f 120 state.initPlotFile();
chrigelburri 12:235e318a414f 121 state.startTimerFromZero();
chrigelburri 12:235e318a414f 122 state.start();
chrigelburri 12:235e318a414f 123
chrigelburri 12:235e318a414f 124 /**
chrigelburri 12:235e318a414f 125 * Clear all Errors of the ESCON Module, with a disabled to enable event
chrigelburri 12:235e318a414f 126 */
chrigelburri 1:6cd533a712c6 127 robotControl.setEnable(false);
chrigelburri 6:48eeb41188dd 128 wait(0.1);
chrigelburri 1:6cd533a712c6 129 robotControl.setEnable(true);
chrigelburri 6:48eeb41188dd 130 wait(0.1);
chrigelburri 12:235e318a414f 131
chrigelburri 12:235e318a414f 132 /**
chrigelburri 12:235e318a414f 133 * Set the startposition and start the Task for controlling the roboter.
chrigelburri 12:235e318a414f 134 */
chrigelburri 11:775ebb69d5e1 135 robotControl.setAllToZero(0, 0, PI/2 );
chrigelburri 11:775ebb69d5e1 136 // robotControl.setAllToZero(START_X_OFFSET, START_Y_OFFSET, PI/2 );
chrigelburri 8:696c2f9dfc62 137 robotControl.start();
chrigelburri 8:696c2f9dfc62 138
chrigelburri 8:696c2f9dfc62 139
chrigelburri 8:696c2f9dfc62 140 // robotControl.setDesiredPositionAndAngle(START_X_OFFSET, START_Y_OFFSET, PI/2);
chrigelburri 8:696c2f9dfc62 141 // robotControl.setDesiredPositionAndAngle(0, 0, PI/2);
chrigelburri 8:696c2f9dfc62 142 // wait(0.1);
chrigelburri 8:696c2f9dfc62 143
chrigelburri 8:696c2f9dfc62 144 //////////////////////////////////////////
chrigelburri 2:d8e1613dc38b 145
chrigelburri 12:235e318a414f 146 robotControl.setDesiredPositionAndAngle(0.0f, 1.0f, PI);
chrigelburri 12:235e318a414f 147 while(!(robotControl.getDistanceError() <= 0.1)) {
chrigelburri 12:235e318a414f 148 state.savePlotFile(s);
chrigelburri 12:235e318a414f 149 };
chrigelburri 12:235e318a414f 150
chrigelburri 12:235e318a414f 151 robotControl.setDesiredPositionAndAngle(-1.00f, 1.0f, -PI/2);
chrigelburri 12:235e318a414f 152 while(!(robotControl.getDistanceError() <= 0.1)) {
chrigelburri 12:235e318a414f 153 state.savePlotFile(s);
chrigelburri 12:235e318a414f 154 };
chrigelburri 8:696c2f9dfc62 155
chrigelburri 12:235e318a414f 156 robotControl.setDesiredPositionAndAngle(0.0f, -0.8f, PI/2);
chrigelburri 12:235e318a414f 157 while(!(robotControl.getDistanceError() <= 0.05)) {
chrigelburri 12:235e318a414f 158 state.savePlotFile(s);
chrigelburri 12:235e318a414f 159 };
chrigelburri 8:696c2f9dfc62 160
chrigelburri 12:235e318a414f 161 robotControl.setDesiredPositionAndAngle(0.0f, -0.2f, PI/2);
chrigelburri 12:235e318a414f 162 while(!(robotControl.getDistanceError() <= 0.05)) {
chrigelburri 12:235e318a414f 163 state.savePlotFile(s);
chrigelburri 12:235e318a414f 164 };
chrigelburri 8:696c2f9dfc62 165
chrigelburri 12:235e318a414f 166 robotControl.setDesiredPositionAndAngle(0.0, 0.0f, PI/2);
chrigelburri 12:235e318a414f 167 while(!(s.millis >= 32000)) {
chrigelburri 12:235e318a414f 168 state.savePlotFile(s);
chrigelburri 12:235e318a414f 169 };
chrigelburri 12:235e318a414f 170
chrigelburri 8:696c2f9dfc62 171
chrigelburri 8:696c2f9dfc62 172
chrigelburri 8:696c2f9dfc62 173
chrigelburri 8:696c2f9dfc62 174
chrigelburri 8:696c2f9dfc62 175 ///////////////////////stay
chrigelburri 7:34be8b3a979c 176 /*
chrigelburri 8:696c2f9dfc62 177 robotControl.setDesiredPositionAndAngle(0.0, 0.0f, PI/2);
chrigelburri 8:696c2f9dfc62 178 while(!(s.millis >= 25000)) {
chrigelburri 6:48eeb41188dd 179 state.savePlotFile(s);
chrigelburri 6:48eeb41188dd 180 };
chrigelburri 8:696c2f9dfc62 181 */
chrigelburri 8:696c2f9dfc62 182 //////////////////////////stay
chrigelburri 5:48a258f6335e 183
chrigelburri 8:696c2f9dfc62 184
chrigelburri 8:696c2f9dfc62 185
chrigelburri 8:696c2f9dfc62 186
chrigelburri 8:696c2f9dfc62 187
chrigelburri 8:696c2f9dfc62 188
chrigelburri 8:696c2f9dfc62 189
chrigelburri 8:696c2f9dfc62 190 ////////////////////////////////////////////////////////////////////////
chrigelburri 8:696c2f9dfc62 191
chrigelburri 9:d3cdcdef9719 192 /*
chrigelburri 9:d3cdcdef9719 193
chrigelburri 9:d3cdcdef9719 194 //Zum Umfang einstellen 2m fahren
chrigelburri 9:d3cdcdef9719 195 robotControl.setDesiredPositionAndAngle(0.0f, 0.5f, PI/2);
chrigelburri 9:d3cdcdef9719 196 while(!(robotControl.getDistanceError() <= 0.2)) {
chrigelburri 9:d3cdcdef9719 197 state.savePlotFile(s);
chrigelburri 9:d3cdcdef9719 198 };
chrigelburri 9:d3cdcdef9719 199
chrigelburri 9:d3cdcdef9719 200 robotControl.setDesiredPositionAndAngle(0.0f, 1.0f, PI/2);
chrigelburri 9:d3cdcdef9719 201 while(!(robotControl.getDistanceError() <= 0.2)) {
chrigelburri 9:d3cdcdef9719 202 state.savePlotFile(s);
chrigelburri 9:d3cdcdef9719 203 };
chrigelburri 9:d3cdcdef9719 204 robotControl.setDesiredPositionAndAngle(0.0f, 1.5f, PI/2);
chrigelburri 9:d3cdcdef9719 205 while(!(robotControl.getDistanceError() <= 0.2)) {
chrigelburri 9:d3cdcdef9719 206 state.savePlotFile(s);
chrigelburri 9:d3cdcdef9719 207 };
chrigelburri 8:696c2f9dfc62 208
chrigelburri 6:48eeb41188dd 209
chrigelburri 9:d3cdcdef9719 210 robotControl.setDesiredPositionAndAngle(0.0f, 2.0f, PI/2);
chrigelburri 9:d3cdcdef9719 211 while(!(s.millis >= 30000)) {
chrigelburri 9:d3cdcdef9719 212 state.savePlotFile(s);
chrigelburri 9:d3cdcdef9719 213 };
chrigelburri 8:696c2f9dfc62 214
chrigelburri 9:d3cdcdef9719 215 */
chrigelburri 8:696c2f9dfc62 216
chrigelburri 8:696c2f9dfc62 217
chrigelburri 8:696c2f9dfc62 218 ///////////////oder//////////////////e
chrigelburri 8:696c2f9dfc62 219
chrigelburri 8:696c2f9dfc62 220
chrigelburri 8:696c2f9dfc62 221 // Zum radabstand einstellen
chrigelburri 8:696c2f9dfc62 222
chrigelburri 8:696c2f9dfc62 223 /*
chrigelburri 8:696c2f9dfc62 224 robotControl.setDesiredPositionAndAngle(-0.7f, 1.0f, PI);
chrigelburri 7:34be8b3a979c 225 while(!(robotControl.getDistanceError() <= 0.05)) {
chrigelburri 7:34be8b3a979c 226 state.savePlotFile(s);
chrigelburri 7:34be8b3a979c 227 };
chrigelburri 2:d8e1613dc38b 228
chrigelburri 8:696c2f9dfc62 229 robotControl.setDesiredPositionAndAngle(-0.8f, 1.0f, PI);
chrigelburri 8:696c2f9dfc62 230 while(!(robotControl.getDistanceError() <= 0.05)) {
chrigelburri 7:34be8b3a979c 231 state.savePlotFile(s);
chrigelburri 7:34be8b3a979c 232 };
chrigelburri 6:48eeb41188dd 233
chrigelburri 6:48eeb41188dd 234
chrigelburri 8:696c2f9dfc62 235 robotControl.setDesiredPositionAndAngle(-1.0f, 1.0f, PI);
chrigelburri 8:696c2f9dfc62 236 while(!(s.millis >= 30000)) {
chrigelburri 6:48eeb41188dd 237 state.savePlotFile(s);
chrigelburri 8:696c2f9dfc62 238 }
chrigelburri 9:d3cdcdef9719 239
chrigelburri 8:696c2f9dfc62 240 */
chrigelburri 6:48eeb41188dd 241
chrigelburri 6:48eeb41188dd 242
chrigelburri 6:48eeb41188dd 243 ////////////////////////////////////////////////////////
chrigelburri 6:48eeb41188dd 244
chrigelburri 6:48eeb41188dd 245
chrigelburri 6:48eeb41188dd 246
chrigelburri 6:48eeb41188dd 247 // Epä Parkour fahrä
chrigelburri 11:775ebb69d5e1 248 /*
chrigelburri 11:775ebb69d5e1 249 robotControl.setDesiredPositionAndAngle(START_X_OFFSET, START_Y_OFFSET, PI/2);
chrigelburri 11:775ebb69d5e1 250 wait(0.1);
chrigelburri 6:48eeb41188dd 251
chrigelburri 11:775ebb69d5e1 252 robotControl.setDesiredPositionAndAngle(-1.50f, 1.50f, 3*PI/4);
chrigelburri 11:775ebb69d5e1 253 while(!(robotControl.getDistanceError() <= 0.9)) {
chrigelburri 11:775ebb69d5e1 254 state.savePlotFile(s);
chrigelburri 11:775ebb69d5e1 255 };
chrigelburri 6:48eeb41188dd 256
chrigelburri 11:775ebb69d5e1 257 robotControl.setDesiredPositionAndAngle(-1.20f, 2.1f, PI/4);
chrigelburri 11:775ebb69d5e1 258 while(!(robotControl.getDistanceError() <= 0.7)) {
chrigelburri 11:775ebb69d5e1 259 state.savePlotFile(s);
chrigelburri 11:775ebb69d5e1 260 };
chrigelburri 5:48a258f6335e 261
chrigelburri 11:775ebb69d5e1 262 robotControl.setDesiredPositionAndAngle(-0.75f, 3.0f, PI/2);
chrigelburri 11:775ebb69d5e1 263 while(!(robotControl.getDistanceError() <= 0.7)) {
chrigelburri 11:775ebb69d5e1 264 state.savePlotFile(s);
chrigelburri 11:775ebb69d5e1 265 };
chrigelburri 6:48eeb41188dd 266
chrigelburri 11:775ebb69d5e1 267 robotControl.setDesiredPositionAndAngle(-1.0f, 3.75f, 3*PI/4);
chrigelburri 11:775ebb69d5e1 268 while(!(robotControl.getDistanceError() <= 0.55)) {
chrigelburri 11:775ebb69d5e1 269 state.savePlotFile(s);
chrigelburri 11:775ebb69d5e1 270 };
chrigelburri 8:696c2f9dfc62 271
chrigelburri 4:3a97923ff2d4 272
chrigelburri 11:775ebb69d5e1 273 robotControl.setDesiredPositionAndAngle(-1.5f, 3.6f, PI);
chrigelburri 11:775ebb69d5e1 274 while(!(robotControl.getDistanceError() <= 0.05)) {
chrigelburri 11:775ebb69d5e1 275 state.savePlotFile(s);
chrigelburri 11:775ebb69d5e1 276 };
chrigelburri 11:775ebb69d5e1 277
chrigelburri 11:775ebb69d5e1 278 robotControl.setDesiredPositionAndAngle(-2.6f, 3.0f, -PI/2);
chrigelburri 11:775ebb69d5e1 279 while(!(robotControl.getDistanceError() <= 1.0)) {
chrigelburri 11:775ebb69d5e1 280 state.savePlotFile(s);
chrigelburri 11:775ebb69d5e1 281 };
chrigelburri 11:775ebb69d5e1 282
chrigelburri 11:775ebb69d5e1 283 robotControl.setDesiredPositionAndAngle(-1.74f, 1.30f, -PI/2);
chrigelburri 11:775ebb69d5e1 284 while(!(robotControl.getDistanceError() <= 0.1)) {
chrigelburri 11:775ebb69d5e1 285 state.savePlotFile(s);
chrigelburri 11:775ebb69d5e1 286 };
chrigelburri 11:775ebb69d5e1 287 robotControl.setDesiredPositionAndAngle(-1.75f, 0.80f, -PI/2);
chrigelburri 11:775ebb69d5e1 288 while(!(s.millis >= 32000)) {
chrigelburri 11:775ebb69d5e1 289 state.savePlotFile(s);
chrigelburri 11:775ebb69d5e1 290 }
chrigelburri 9:d3cdcdef9719 291
chrigelburri 11:775ebb69d5e1 292 */
chrigelburri 11:775ebb69d5e1 293
chrigelburri 11:775ebb69d5e1 294
chrigelburri 11:775ebb69d5e1 295
chrigelburri 12:235e318a414f 296 /*
chrigelburri 9:d3cdcdef9719 297
chrigelburri 12:235e318a414f 298 pc.baud(460800);
chrigelburri 12:235e318a414f 299 pc.printf("Welcome to adkTerm\n\n\n\n\n\n\r");
chrigelburri 12:235e318a414f 300 pc.printf("here we go... \n");
chrigelburri 12:235e318a414f 301 adkTerm.setupDevice();
chrigelburri 12:235e318a414f 302 pc.printf("Android Development Kit: start\r\n");
chrigelburri 12:235e318a414f 303 USBInit();
chrigelburri 12:235e318a414f 304 while (1) {
chrigelburri 12:235e318a414f 305 USBLoop();
chrigelburri 12:235e318a414f 306
chrigelburri 12:235e318a414f 307 pc.printf("Android x: %f ",adkTerm.getx());
chrigelburri 12:235e318a414f 308 pc.printf("Android y: %f ",adkTerm.gety());
chrigelburri 12:235e318a414f 309 pc.printf("Android t: %f\n",adkTerm.gett());
chrigelburri 12:235e318a414f 310 robotControl.setDesiredPositionAndAngle(adkTerm.getx(), adkTerm.gety(), adkTerm.gett());
chrigelburri 12:235e318a414f 311 }
chrigelburri 8:696c2f9dfc62 312
chrigelburri 8:696c2f9dfc62 313
chrigelburri 8:696c2f9dfc62 314
chrigelburri 12:235e318a414f 315 /**
chrigelburri 12:235e318a414f 316 * Close the File PLOTS.txt to read the file after with the computer and draw a diagramm
chrigelburri 12:235e318a414f 317 */
chrigelburri 12:235e318a414f 318 /*
chrigelburri 10:09ddb819fdcb 319 state.savePlotFile(s);
chrigelburri 10:09ddb819fdcb 320 state.closePlotFile();
chrigelburri 10:09ddb819fdcb 321 state.stop();
chrigelburri 10:09ddb819fdcb 322 robotControl.setEnable(false);
chrigelburri 11:775ebb69d5e1 323 */
chrigelburri 10:09ddb819fdcb 324 }