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

Revision:
12:235e318a414f
Parent:
11:775ebb69d5e1
Child:
13:a7c30ee09bae
--- a/StateDefines/defines.h	Fri Apr 05 10:58:42 2013 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,266 +0,0 @@
-#ifndef _DEFINES_H_
-#define _DEFINES_H_
-
-/*! \file defines.h
-\brief All defines for the roboter you can see here.
-*/
-
-#include "mbed.h"
-
-/**
- * @name Physical dimensions π;
- */
-#define PI                    3.141592654f
-/*! @} */
-
-/**
- * @name maxon motor #339282 EC 45 flat 30W
- * @{
- */
-
-/**
-* @brief Number of of pole pairs
-*/
-#define POLE_PAIRS            8u
-
-/**
-* @brief Gear on the motor 1/11.6f
-*/
-#define GEAR                  1/11.6f
-
-/**
-* @brief Pulses per electrical step form the Hallsensor, have 6 steps
-*/
-#define PULSES_PER_STEP       6u
-/*! @} */
-
-/**
- * @name Physical Dimension of the car
- * @{
- */
-
-/**
- * @brief Value for the diffrerenz between left an right, given in [m]
- */
-#define WHEEL_RADIUS_DIFF     0.0000f
-
-/**
- * @brief Radius of the left wheel, given in [m]
- */
-#define WHEEL_RADIUS_LEFT     0.040280f
-
-/**
- * @brief Radius of the left wheel, given in [m]
- */
-#define WHEEL_RADIUS_RIGHT    (WHEEL_RADIUS_LEFT - WHEEL_RADIUS_DIFF)
-
-/**
- * @brief Distance of the wheel, given in [m] Greater --> turn more
- */
-#define WHEEL_DISTANCE        0.2000f
-
-/**
- * @brief Sets the start X-point, given in [m]
- */
-#define START_X_OFFSET        -0.8f
-
-/**
- * @brief Sets the start Y-point, given in [m]
- */
-#define START_Y_OFFSET        0.8f
-/*! @} */
-
-/**
- * @name State Bits of the car
- * @{
- */
-
-/**
- * @brief Bit0 = stop pressed
- */
-#define STATE_STOP            1u
-
-/**
- * @brief Bit1 = Undervoltage battery
- */
-#define STATE_UNDER           2u
-
-/**
- * @brief Bit2 = left ESCON in error state
- */
-#define STATE_LEFT            4u
-
-/**
- * @brief Bit3 = right ESCON in error state
- */
-#define STATE_RIGHT           8u
-/*! @} */
-
-/**
- * @name ESCON Constands
- * @{
- */
-
-/**
- * @brief Speed Factor how set in the ESCON Studio
- */
-#define ESCON_SET_FACTOR      1500.0f
-
-/**
- * @brief Speed Factor how get in the ESCON Studio
- */
-#define ESCON_GET_FACTOR      1600.4f
-
-/**
- * @brief Error patch of the drift of Analog input and pwn output for set speed
- */
-#define SET_SPEED_PATCH       (1+0.00262f)
-
-/**
- * @brief Error patch of the drift of Analog input and pwn output for get speed
- */
-#define GET_SPEED_PATCH       (1+0.0019f)
-/*! @} */
-
-/**
- * @name position controller
- * @{
- */
-
-/**
- * @brief Main Gain for k1, k2 and k3
- */
-#define GAIN                  0.8f
-
-/**
- * @brief Gain k1 default 1.0f
- */
-#define K1                    0.8f * GAIN
-
-/**
- * @brief Gain k2 default 3.0f
- */
-#define K2                    3.0f * GAIN
-
-/**
- * @brief Gain k3 default 2.0f
- */
-#define K3                    2.0f * GAIN
-
-/**
- * @brief Min. Distance to switch the position controller off.
- * Because when Distance Error goes to zero the ATAN2 is not define, given in [m]
- */
-#define MIN_DISTANCE_ERROR    0.01f
-/*! @} */
-
-/**
- * @name Batterie control Battery Type: 1SP1P LG-18650
- * * nominal voltage 3.6V
- * * 5 batterys ==> 5 * 3.5V = 17.5V
- * @{
- */
-
-/**
- * @brief Battery Multiplicator for the potential divider.
- * 
- * R2 / (R1 + R2) = 0.153    R2= 10k , R1 = 1.8k 1/0.153 = 6.555  --> 3.3 * 6.555 = 21.6333333f
- */
-#define BAT_MULTIPLICATOR     21.633333333f
-
-/**
- * @brief minium operate voltage, given in [V]
- */
-#define BAT_MIN               17.5f
-/*! @} */
-
-/**
- * @name sampling rate for a Task Object
- * @{
- */
-
-/**
- * @brief 1kHz Rate for Robot Control, given in [s]
- */
-#define PERIOD_ROBOTCONTROL   0.001f
-
-/**
- * @brief 1kHz Rate for State Objekt , given in [s]
- */
-#define PERIOD_STATE          0.001f
-
-/**
- * @brief 10Hz Rate for the Android communication , given in [s]
- */
-#define PERIOD_ANDROID        0.1f
-/*! @} */
-
-/**
- * @name Android Buffer Size for communication
- * @{
- */
-
-/**
- * @brief Buffer Output
- */
-#define OUTL 100
-
-/**
- * @brief Buffer Input
- */
-#define INBL 100
-/*! @} */
-
-/**
- * @brief struct state
- * structure containing system sensor data
- */
-typedef struct state {
-    /** @brief millis Time [ms]*/
-    int millis;
-    /** @brief Battery voltage [V] */
-    float voltageBattery;
-    /** @brief Number of pulses left */
-    int leftPulses;
-    /** @brief Number of pulses right */
-    int rightPulses;
-    /** @brief Velocity left [m/s] */
-    float leftVelocity;
-    /** @brief Velocity right [m/s] */
-    float rightVelocity;
-    /** @brief Velocity of the car [m/s] */
-    float velocity;
-    /** @brief Velocity rotation [°/s] */
-    float omega;
-    /** @brief X-Axis from co-ordinate [m] */
-    float xAxis;
-    /** @brief Y-Axis from co-ordinate [m] */
-    float yAxis;
-    /** @brief X-Axis Error [m] */
-    float xAxisError;
-    /** @brief X-Axis Error [m] */
-    float yAxisError;
-    /** @brief Angle Error [°] */
-    float angleError;
-    /** @brief Angle from Car [°] */
-    float angle;
-    /** @brief Setpoint X-Axis [m] */
-    float setxAxis;
-    /** @brief Setpoint Y-Axis [m] */
-    float setyAxis;
-    /** @brief Setpoint Angel [°] */
-    float setAngle;
-    /** @brief Setpoint velocitiy [m/s] */
-    float setVelocity;
-    /** @brief Setpoint rotation velocitiy [rad/s] */
-    float setOmega;
-    int state;
-    /** @brief distance to Goal */
-    float rho;
-    /** @brief theta to goal */
-    float lamda;
-    /** @brief theta from the goal */
-    float delta;
-} state_t;
-
-#endif