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
Diff: Android/android.h
- Revision:
- 12:235e318a414f
- Parent:
- 11:775ebb69d5e1
- Child:
- 13:a7c30ee09bae
--- a/Android/android.h Fri Apr 05 10:58:42 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,154 +0,0 @@ -#ifndef _ANDROID_H_ -#define _ANDROID_H_ - -#include "mbed.h" -#include "AndroidAccessory.h" -#include "defines.h" -#include <string> -#include <sstream> -#include <vector> -#include <iostream> -#include <stdlib.h> - -/** - * @author Arno Galliker - * - * @subsection LICENSE - * - * Copyright © 2013 HSLU Pren Team #1 Cruising Crêpe - * All rights reserved. - * - * @subsection DESCRIPTION - * - * This class implements communication with the android smartphone - * For more information see the Android ADK Cookbook: - * <a href="http://mbed.org/cookbook/mbed-with-Android-ADK">http://mbed.org/cookbook/mbed-with-Android-ADK</a> - * - * Originally created by p07gbar from work by Makoto Abe - */ - -#define OUTL 100 -#define INBL 100 - -class AdkTerm : public AndroidAccessory -{ - -private: - - /** Attaches a tick to send messages over the USB buffer in a certain interval */ - void AttachTick(); - - /** Method to call when a tick period is over */ - void onTick(); - - /** Char buffer with a size of OUTL */ - char buffer[OUTL]; - - /** Buffer count ??? */ - int bcount; - - /** Instance of ticker */ - Ticker tick; - - //float right,left,rl,ll; - //int tl,tr; - - //Timeout n; - - /** States if tick is on */ - bool settick; - - /** States if something is written to the buffer?? */ - bool ind; - - /** Desired position in meters for x-coordinate, given by android */ - float x; - - /** Desired position in meters for y-coordinate, given by android */ - float y; - - /** Desired position in degrees for theta, given by android */ - float t; - -public: - - /** - * Creates a <code>AdkTerm</code> object and initializes all private - * state variables. Constructor - */ - AdkTerm(); - - /** - * Sets initial configurations and clears the buffer - * - */ - void setupDevice(); - - /** - * Returns the desired position in meters for x-coordinate, given by android - * @return x-coordinate,given in [m] - */ - float getx(); - - /** - * Returns the desired position in meters for y-coordinate, given by android - * @return y-coordinate,given in [m] - */ - float gety(); - - /** - * Returns the esired position in degrees for theta, given by android - * @return y-coordinate,given in degrees [°] - */ - float gett(); - -private: - - /** - * - * - */ - //void AttachTick(); - - /** - * - * - */ - // void onTick(); - - /** - * Clears the buffer and bcount - * - */ - void resetDevice(); - - /** - * Takes an string, a vector of strings for the delimited tokens, and a with the - * @param str - * @param tokens - * @param delimiters - */ - void Tokenize(const string& str, vector<string>& tokens, const string& delimiters = " "); - - /** - * - * @param buf - * @param len - */ - int callbackRead(u8 *buf, int len); - - /** - * - * - */ - int callbackWrite(); - - /** - * - * - */ - void serialIRQ(); - -}; - -#endif