Colour sensors calibrated
Dependencies: mbed-rtos mbed Servo QEI
Fork of ICRSEurobot13 by
globals.h
- Committer:
- madcowswe
- Date:
- 2013-04-09
- Revision:
- 20:70d651156779
- Parent:
- 19:4b993a9a156e
- Child:
- 21:c592bf6a6a2d
- Child:
- 23:6e3218cf75f8
- Child:
- 25:50805ef8c499
File content as of revision 20:70d651156779:
#ifndef GLOBALS_H #define GLOBALS_H #include "mbed.h" const float KALMAN_PREDICT_PERIOD = 0.05; //seconds #define ENABLE_GLOBAL_ENCODERS const float ENCODER_M_PER_TICK = 0.00084; //TODO: measure this!! const float ENCODER_WHEELBASE = 0.068; //TODO: measrue this!! const float TURRET_FWD_PLACEMENT = 0.042; //Robot movement constants const float fwdvarperunit = 0.01; //1 std dev = 7% //TODO: measrue this!! const float varperang = 0.01; //around 1 degree stddev per 180 turn //TODO: measrue this!! const float xyvarpertime = 0.0005; //(very poorly) accounts for hitting things const float angvarpertime = 0.001; /* PINOUT Sensors 5: RF:SDI 6 SDO 7 SCK 8 NCS 9 NIRQ 10-15 6 echo pins 16 trig 17 IRin 18-20 unused 21 stepper step 22-27 unused 28 Serial TX 29-30 unused PINOUT Main 5: Lower arm servo 6: Upper arm servo 14: Serial RX 15: Cake distance sensor 16: Fwd distance sensor 20: color sensor in 21-24: Motors PWM IN 1-4 25-26: Encoders 27-28: Encoders 29: Color sensor RED LED 30: Color sensor BLUE LED */ const PinName P_SERVO_LOWER_ARM = p5; const PinName P_SERVO_UPPER_ARM = p6; const PinName P_SERIAL_RX = p14; const PinName P_DISTANCE_SENSOR = p15; const PinName P_COLOR_SENSOR_IN = p20; const PinName P_MOT_RIGHT_A = p21; const PinName P_MOT_RIGHT_B = p22; const PinName P_MOT_LEFT_A = p23; const PinName P_MOT_LEFT_B = p24; const PinName P_ENC_RIGHT_A = p28; const PinName P_ENC_RIGHT_B = p27; const PinName P_ENC_LEFT_A = p25; const PinName P_ENC_LEFT_B = p26; const PinName P_COLOR_SENSOR_RED = p29; const PinName P_COLOR_SENSOR_BLUE = p30; //a type which is a pointer to a rtos thread function typedef void (*tfuncptr_t)(void const *argument); //Solving for sonar bias is done by entering the following into wolfram alpha //(a-f)^2 = x^2 + y^2; (b-f)^2 = (x-3)^2 + y^2; (c-f)^2 = (x-1.5)^2+(y-2)^2: solve for x,y,f //where a, b, c are the measured distances, and f is the bias //const float sonartimebias = 0; // TODO: measure and stick in the coprocessor code struct pos { float x; float y; }; extern pos beaconpos[3]; const float PI = 3.14159265359; #endif //GLOBALS_H