This program is for an autonomous robot for the competition at the Hochschule Luzern. http://cruisingcrepe.wordpress.com/ We are one of the 32 teams. http://cruisingcrepe.wordpress.com/ 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: http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf

Dependencies:   mbed

Fork of autonomous Robot Android by Christian Burri

Committer:
chrigelburri
Date:
Tue May 21 17:42:50 2013 +0000
Revision:
33:ac39982fd3b2
Parent:
32:767044a3e421
Child:
34:62996eed658a
korrigiert christian

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chrigelburri 18:306d362d692b 1 #ifndef _ANDROIDADB_H_
chrigelburri 18:306d362d692b 2 #define _ANDROIDADB_H_
chrigelburri 18:306d362d692b 3
chrigelburri 18:306d362d692b 4 #include "mbed.h"
chrigelburri 18:306d362d692b 5 #include "Adb.h"
chrigelburri 20:01b233b0e606 6 #include "defines.h"
chrigelburri 18:306d362d692b 7
chrigelburri 18:306d362d692b 8 #include <string>
chrigelburri 18:306d362d692b 9 #include <sstream>
chrigelburri 18:306d362d692b 10 #include <vector>
chrigelburri 18:306d362d692b 11 #include <iostream>
chrigelburri 18:306d362d692b 12 #include <stdlib.h>
chrigelburri 18:306d362d692b 13
chrigelburri 18:306d362d692b 14 /**
chrigelburri 21:48248c5b8992 15 * @brief Takes an string, a vector of strings for the delimited tokens, and a with the
chrigelburri 21:48248c5b8992 16 * @param str
chrigelburri 21:48248c5b8992 17 * @param tokens
chrigelburri 21:48248c5b8992 18 * @param delimiters
chrigelburri 21:48248c5b8992 19 */
chrigelburri 18:306d362d692b 20 void Tokenize(const string& str,
chrigelburri 18:306d362d692b 21 vector<string>& tokens,
chrigelburri 18:306d362d692b 22 const string& delimiters = " ");
chrigelburri 21:48248c5b8992 23
chrigelburri 21:48248c5b8992 24 /**
chrigelburri 33:ac39982fd3b2 25 * @brief Parse the Message, split and save it to the Attributes.
chrigelburri 33:ac39982fd3b2 26 * @param length length of the data
chrigelburri 33:ac39982fd3b2 27 * @param data Data to parse
chrigelburri 21:48248c5b8992 28 */
chrigelburri 21:48248c5b8992 29 void parseMessage(uint16_t length, uint8_t * data);
chrigelburri 21:48248c5b8992 30
chrigelburri 21:48248c5b8992 31 /**
chrigelburri 33:ac39982fd3b2 32 * @brief Connecting to android.
chrigelburri 21:48248c5b8992 33 */
chrigelburri 18:306d362d692b 34 void connect();
chrigelburri 18:306d362d692b 35
chrigelburri 21:48248c5b8992 36 /**
chrigelburri 21:48248c5b8992 37 * @brief Gets the desired &theta; value.
chrigelburri 32:767044a3e421 38 * @return the desired &theta;, given in [°]
chrigelburri 21:48248c5b8992 39 */
chrigelburri 19:b2f76b0fe4c8 40 float getDesiredTheta();
chrigelburri 21:48248c5b8992 41
chrigelburri 21:48248c5b8992 42 /**
chrigelburri 21:48248c5b8992 43 * @brief Gets the desired X-postition.
chrigelburri 21:48248c5b8992 44 * @return the desired X-postition, given in [m]
chrigelburri 21:48248c5b8992 45 */
chrigelburri 19:b2f76b0fe4c8 46 float getDesiredX();
chrigelburri 21:48248c5b8992 47
chrigelburri 21:48248c5b8992 48 /**
chrigelburri 21:48248c5b8992 49 * @brief Gets the desired Y-postition.
chrigelburri 21:48248c5b8992 50 * @return the desired Y-postition, given in [m]
chrigelburri 21:48248c5b8992 51 */
chrigelburri 19:b2f76b0fe4c8 52 float getDesiredY();
chrigelburri 19:b2f76b0fe4c8 53
chrigelburri 21:48248c5b8992 54 /**
chrigelburri 28:b3e195e80439 55 * @brief Sets the desired &theta; value.
chrigelburri 28:b3e195e80439 56 * @param t desired &theta; value, given in [°]
chrigelburri 28:b3e195e80439 57 */
chrigelburri 28:b3e195e80439 58 void setDesiredTheta(float t);
chrigelburri 28:b3e195e80439 59
chrigelburri 28:b3e195e80439 60 /**
chrigelburri 21:48248c5b8992 61 * @brief Initialise the ADB subsystem. Open an ADB stream on tcp port 4568.
chrigelburri 21:48248c5b8992 62 */
chrigelburri 19:b2f76b0fe4c8 63 void init();
chrigelburri 19:b2f76b0fe4c8 64
chrigelburri 21:48248c5b8992 65 /**
chrigelburri 21:48248c5b8992 66 * @brief Write the Parameterlist to the android smartphone.
chrigelburri 33:ac39982fd3b2 67 * @param x Acutal X-Position
chrigelburri 33:ac39982fd3b2 68 * @param y Acutal Y-Position
chrigelburri 33:ac39982fd3b2 69 * @param t Acutal &theta;-Position
chrigelburri 33:ac39982fd3b2 70 * @param state_u Actual State Undervoltage
chrigelburri 33:ac39982fd3b2 71 * @param state_l Actual Left State
chrigelburri 33:ac39982fd3b2 72 * @param state_r Actual Right State
chrigelburri 33:ac39982fd3b2 73 * @param volt_b Actual battery voltage
chrigelburri 21:48248c5b8992 74 */
chrigelburri 20:01b233b0e606 75 void writeActualPosition(float x, float y, float t, int state_u, int state_l, int state_r, float volt_b);
chrigelburri 19:b2f76b0fe4c8 76
chrigelburri 18:306d362d692b 77 #endif