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
Fork of autonomous Robot Android by
MicroBridge/androidADB.h
- Committer:
- chrigelburri
- Date:
- 2013-05-25
- Revision:
- 34:62996eed658a
- Parent:
- 33:ac39982fd3b2
- Child:
- 38:d76e488e725f
File content as of revision 34:62996eed658a:
#ifndef _ANDROIDADB_H_ #define _ANDROIDADB_H_ #include "mbed.h" #include "Adb.h" #include "defines.h" #include <string> #include <sstream> #include <vector> #include <iostream> #include <stdlib.h> /** * @author Arno Galliker * * @copyright Copyright © 2013 HSLU Pren Team #1 Cruising Crêpe * All rights reserved. * * @brief * * This File is for the connection to te self written java android app. * The connection works with the ADB class from rom Junichi Katsu. * For more information see here: <a href="http://mbed.org/users/jksoft/code/MicroBridge/">http://mbed.org/users/jksoft/code/MicroBridge/</a> */ /** * @file androidADB.h */ /** * @brief Takes an string, a vector of strings for the delimited tokens. * Tokens is the array to separated with the delimiters. * @param str to * @param tokens is the vecotr array * @param delimiters of the string */ void Tokenize(const string& str, vector<string>& tokens, const string& delimiters = " "); /** * @brief Parse the Message, split and save it to the Attributes. * @param length length of the data * @param data Data to parse */ void parseMessage(uint16_t length, uint8_t * data); /** * @brief Connecting to android. */ void connect(); /** * @brief Gets the desired θ value. * @return the desired θ, given in [°] */ float getDesiredTheta(); /** * @brief Gets the desired X-postition. * @return the desired X-postition, given in [m] */ float getDesiredX(); /** * @brief Gets the desired Y-postition. * @return the desired Y-postition, given in [m] */ float getDesiredY(); /** * @brief Sets the desired θ value. * @param t desired θ value, given in [°] */ void setDesiredTheta(float t); /** * @brief Initialise the ADB subsystem. Open an ADB stream on tcp port 4568. */ void init(); /** * @brief Write the Parameterlist to the android smartphone. * @param x Acutal X-Position * @param y Acutal Y-Position * @param t Acutal θ-Position * @param state_u Actual State Undervoltage * @param state_l Actual Left State * @param state_r Actual Right State * @param volt_b Actual battery voltage */ void writeActualPosition(float x, float y, float t, int state_u, int state_l, int state_r, float volt_b); #endif