Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of autonomousRobotAndroid by
StateDefines/defines.h
- Committer:
- chrigelburri
- Date:
- 2013-03-30
- Revision:
- 8:696c2f9dfc62
- Parent:
- 7:34be8b3a979c
- Child:
- 9:d3cdcdef9719
File content as of revision 8:696c2f9dfc62:
#ifndef _DEFINES_H_ #define _DEFINES_H_ #include "mbed.h" // Physical dimensions #define PI 3.141592654f // Physical dimensions π. // maxon motor #339282 EC 45 flat 30W and GEAR #define POLE_PAIRS 8u // Number of of pole pairs #define GEAR 1/11.6f // Gear on the motor 1/11.6f #define PULSES_PER_STEP 6u // Pulses per electrical step Hallsensor, have 6 steps // Physical Dimension of the car #define WHEEL_RADIUS_DIFF -0.00015f // positiv zu weit rechts, given in [m] #define WHEEL_RADIUS_LEFT 0.040280f // radius of the left wheel, given in [m] 0.040479f #define WHEEL_RADIUS_RIGHT (WHEEL_RADIUS_LEFT - WHEEL_RADIUS_DIFF) // radius of the left wheel, given in [m] #define WHEEL_DISTANCE 0.1875f // Distance of the wheel, given in [m] Grösser --> mehr drehen // State Bits of the car #define STATE_STOP 1u // Bit0 = stop pressed #define STATE_UNDER 2u // Bit1 = Undervoltage battery #define STATE_LEFT 4u // Bit2 = left ESCON in error state #define STATE_RIGHT 8u // Bit3 = right ESCON in error state // ESCON Constands #define ESCON_SET_FACTOR 1200.0f // Speed Factor how set in the ESCON #define ESCON_GET_FACTOR 1400.0f // Speed Factor how get in the ESCON //Error patch of the drift of Analog input and pwn output #define SET_SPEED_PATCH (1+0.0029f) // patch factor of set speed #define GET_SPEED_PATCH (1+0.0019f) // patch factor of get speed // Start Defintition #define START_X_OFFSET -0.8f // Sets the start X-point [m] #define START_Y_OFFSET 0.8f // Sets the start Y-point [m] // Maximum Aceeleration #define ACCELERATION 0.25f // maximum translational acceleration, given in [m/s2] #define THETA_ACCELERATION 1.0f // maximum rotational acceleration, given in [rad/s2] // position controller #define GAIN 0.30f // Main Gain #define K1 1.0f * GAIN #define K2 3.0f * GAIN #define K3 2.0f * GAIN // deafult 2.0f #define MIN_DISTANCE_ERROR -0.005f // min. Distance to switch the position controller off. Because when Distance Error goes to zero the ATAN2 is not define, given in [m] // LiPo Batterie #define BAT_MULTIPLICATOR 21.633333333f // R2 / (R1 + R2) = 0.153 R2= 10k , R1 = 1.8k 1/0.153 = 6.555 ---> 3.3 * 6.555 = 21.6333333f #define BAT_MIN 17.5f // minium operate voltage [V] Battery Type: 1SP1P LG-18650 --> nominal voltage 3.6V --> 5 batterys ==> 5 * 3.5V = 17.5V // Frequenz for the Task #define PERIOD_COMPASS 0.050f // 20Hz Rate for Compass HMC6352 #define PERIOD_ROBOTCONTROL 0.001f // 1kHz Rate for Robot Control #define PERIOD_STATE 0.001f // 1kHz Rate for State Objekt #define PERIOD_ANDROID 0.1f // 10Hz Rate for State Objekt // Compass Maxima und Minima for the Filter #define SET_MAXIMAS_MINIMAS true // For Set the maximas und minimas when false the object search the maximas minimas by your own #define COMP_X_MAX 391.219910f // Maximum X-Range #define COMP_Y_MAX 382.915161f // Maximum Y-Range #define COMP_Z_MAX -237.855042f // Maximum Z-Range not used in this side #define COMP_X_MIN -169.952530f // Minimum X-Range #define COMP_Y_MIN -247.647675f // Minimum Y-Range #define COMP_Z_MIN -385.915009f // Minimun Z-Range not used in this side // Android Buffer Size for communication #define OUTL 100 #define INBL 100 /** * struct state * structure containing system sensor data **/ typedef struct state { /** millis Time [ms]*/ int millis; /** Battery voltage [V] */ float voltageBattery; /** Number of pulses left */ int leftPulses; /** Number of pulses right */ int rightPulses; /** Velocity left [m/s] */ float leftVelocity; /** Velocity right [m/s] */ float rightVelocity; /** Velocity of the car [m/s] */ float velocity; /** Velocity rotation [°/s] */ float omega; /** X-Axis from co-ordinate [m] */ float xAxis; /** Y-Axis from co-ordinate [m] */ float yAxis; /** X-Axis Error [m] */ float xAxisError; /** X-Axis Error [m] */ float yAxisError; /** Angle Error [°] */ float angleError; /** Angle from Car [°] */ float angle; /** Setpoint X-Axis [m] */ float setxAxis; /** Setpoint Y-Axis [m] */ float setyAxis; /** Setpoint Angel [°] */ float setAngle; /** Setpoint velocitiy [m/s] */ float setVelocity; /** Setpoint rotation velocitiy [rad/s] */ float setOmega; /** Compass X-Axis */ float compassxAxis; /** Compass Y-Axis */ float compassyAxis; /** State of the Car **/ int state; /** distance to Goal */ float rho; /** theta to goal */ float lamda; /** theta from the goal */ float delta; } state_t; #endif