Eurobot_2012_Secondary

Dependencies:   mbed tvmet

Committer:
narshu
Date:
Fri Apr 20 21:32:24 2012 +0000
Revision:
0:fbfafa6bf5f9

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
narshu 0:fbfafa6bf5f9 1 #ifndef GLOBALS_H
narshu 0:fbfafa6bf5f9 2 #define GLOBALS_H
narshu 0:fbfafa6bf5f9 3
narshu 0:fbfafa6bf5f9 4 #include "mbed.h"
narshu 0:fbfafa6bf5f9 5
narshu 0:fbfafa6bf5f9 6 #define PI 3.14159265
narshu 0:fbfafa6bf5f9 7
narshu 0:fbfafa6bf5f9 8 //Robot constants
narshu 0:fbfafa6bf5f9 9 //const int encoderRevCount = 1856;
narshu 0:fbfafa6bf5f9 10 //const int wheelmm = 314;
narshu 0:fbfafa6bf5f9 11 //const int robotCircumference = 1256;
narshu 0:fbfafa6bf5f9 12
narshu 0:fbfafa6bf5f9 13 //Robot constants in mm
narshu 0:fbfafa6bf5f9 14 const int robot_width = 260;
narshu 0:fbfafa6bf5f9 15 const int encoderRevCount = 360;
narshu 0:fbfafa6bf5f9 16 const int wheelmm = 226;
narshu 0:fbfafa6bf5f9 17 const int robotCircumference = 816;
narshu 0:fbfafa6bf5f9 18
narshu 0:fbfafa6bf5f9 19 //Robot movement constants
narshu 0:fbfafa6bf5f9 20 const float fwdvarperunit = 0.005; //1 std dev = 7% //NEEDS TO BE MEASURED AGAIN!
narshu 0:fbfafa6bf5f9 21 const float varperang = 3E-5; //around 1 degree stddev per 180 turn
narshu 0:fbfafa6bf5f9 22 const float xyvarpertime = 0.001; //(very poorly) accounts for hitting things
narshu 0:fbfafa6bf5f9 23 const float angvarpertime = 0.001;
narshu 0:fbfafa6bf5f9 24
narshu 0:fbfafa6bf5f9 25 //sonar constants
narshu 0:fbfafa6bf5f9 26 static const float sonarvariance = 0.005;
narshu 0:fbfafa6bf5f9 27
narshu 0:fbfafa6bf5f9 28 //Arena constants
narshu 0:fbfafa6bf5f9 29 struct pos {
narshu 0:fbfafa6bf5f9 30 int x;
narshu 0:fbfafa6bf5f9 31 int y;
narshu 0:fbfafa6bf5f9 32 };
narshu 0:fbfafa6bf5f9 33 const pos beaconpos[] = {{3000, 1000},{0,0}, {0,2000}};
narshu 0:fbfafa6bf5f9 34
narshu 0:fbfafa6bf5f9 35 //System constants
narshu 0:fbfafa6bf5f9 36 const int PREDICTPERIOD = 20; //ms
narshu 0:fbfafa6bf5f9 37
narshu 0:fbfafa6bf5f9 38 //High speed serial port
narshu 0:fbfafa6bf5f9 39 extern Serial pc;
narshu 0:fbfafa6bf5f9 40
narshu 0:fbfafa6bf5f9 41 //I2C mutex
narshu 0:fbfafa6bf5f9 42 //extern Mutex i2c_rlock;
narshu 0:fbfafa6bf5f9 43 //extern Mutex i2c_wlock;
narshu 0:fbfafa6bf5f9 44
narshu 0:fbfafa6bf5f9 45
narshu 0:fbfafa6bf5f9 46 // IR angle calc
narshu 0:fbfafa6bf5f9 47 #define RELI_BOUND_LOW 4
narshu 0:fbfafa6bf5f9 48 #define RELI_BOUND_HIGH 25
narshu 0:fbfafa6bf5f9 49
narshu 0:fbfafa6bf5f9 50 // Localization estimate tolerences
narshu 0:fbfafa6bf5f9 51 #define POSITION_TOR 50
narshu 0:fbfafa6bf5f9 52 #define ANGLE_TOR 0.15
narshu 0:fbfafa6bf5f9 53
narshu 0:fbfafa6bf5f9 54 // motion control
narshu 0:fbfafa6bf5f9 55 #define MOVE_SPEED 30
narshu 0:fbfafa6bf5f9 56 #define MAX_STEP_RATIO 0.10 //maximum change in the speed
narshu 0:fbfafa6bf5f9 57 //#define TRACK_RATE 10 // +- rate for each wheel when tracking
narshu 0:fbfafa6bf5f9 58
narshu 0:fbfafa6bf5f9 59 // Task suspend periods
narshu 0:fbfafa6bf5f9 60 #define IR_TURRET_PERIOD 200
narshu 0:fbfafa6bf5f9 61 #define MOTION_UPDATE_PERIOD 20
narshu 0:fbfafa6bf5f9 62
narshu 0:fbfafa6bf5f9 63 #endif