drive down
Dependencies: BMP280 BNO055_fusion PowerControl mbed
Fork of TEAM_G_FLOW_RIDA by
LOCOMOTION.h@30:116cd143fdf7, 2016-04-19 (annotated)
- Committer:
- 12104404
- Date:
- Tue Apr 19 02:04:10 2016 +0000
- Revision:
- 30:116cd143fdf7
- Parent:
- 29:e8ef4a2e628d
- Child:
- 31:69caabc10879
explode
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
12104404 | 6:0602a9e8118b | 1 | #ifndef LOCOMOTION_H |
12104404 | 6:0602a9e8118b | 2 | #define LOCOMOTION_H |
12104404 | 26:0ea6a550a99d | 3 | |
12104404 | 6:0602a9e8118b | 4 | #include "mbed.h" |
12104404 | 17:2f89826b5679 | 5 | #include "LOCALIZE.h" |
12104404 | 27:fb1298d35bd1 | 6 | #include "math.h" |
12104404 | 26:0ea6a550a99d | 7 | |
12104404 | 29:e8ef4a2e628d | 8 | #define SPEED_TURN_MIN 0.35//0.15 |
12104404 | 29:e8ef4a2e628d | 9 | #define SPEED_TURN_MAX 0.60//0.45 |
12104404 | 30:116cd143fdf7 | 10 | #define Y_BIAS_MIN 0.75 |
12104404 | 25:f3bf8351bbd4 | 11 | #define Y_BIAS_MAX 1.00 |
12104404 | 30:116cd143fdf7 | 12 | #define SPEED_X_MIN 0.10 |
12104404 | 30:116cd143fdf7 | 13 | #define SPEED_X_MAX 0.35 |
12104404 | 30:116cd143fdf7 | 14 | #define GAIN_GRAVITY 0.75 |
12104404 | 27:fb1298d35bd1 | 15 | #define M_PI 3.1415926535897932384 |
12104404 | 26:0ea6a550a99d | 16 | |
12104404 | 25:f3bf8351bbd4 | 17 | #define X_INCREASE 1 |
12104404 | 25:f3bf8351bbd4 | 18 | #define X_DECREASE 2 |
12104404 | 25:f3bf8351bbd4 | 19 | #define X_BACKWARDS 3 |
12104404 | 26:0ea6a550a99d | 20 | #define ROTATE_1 4 |
12104404 | 26:0ea6a550a99d | 21 | #define ROTATE_2 5 |
12104404 | 26:0ea6a550a99d | 22 | #define BACKOFF 10 |
12104404 | 26:0ea6a550a99d | 23 | #define X_NEAR_GOAL 0 |
12104404 | 26:0ea6a550a99d | 24 | #define X_FAR_GOAL 90 |
12104404 | 26:0ea6a550a99d | 25 | #define Y_INCREMENT 7 |
12104404 | 26:0ea6a550a99d | 26 | |
12104404 | 15:7729da55873a | 27 | enum { |
12104404 | 15:7729da55873a | 28 | ANGLE_TURN = 0, |
12104404 | 15:7729da55873a | 29 | ANGLE_BIAS = 1, |
12104404 | 15:7729da55873a | 30 | }; |
12104404 | 26:0ea6a550a99d | 31 | |
12104404 | 6:0602a9e8118b | 32 | class LOCOMOTION |
12104404 | 6:0602a9e8118b | 33 | { |
12104404 | 6:0602a9e8118b | 34 | public: |
12104404 | 24:fb1f083ebd62 | 35 | LOCOMOTION(PinName en, PinName motor1F, PinName motor1B,PinName motor2F, PinName motor2B, PinName forward1, PinName forward2, DigitalOut& led1, DigitalOut& led2, DigitalOut& led3, DigitalOut& led4); |
12104404 | 23:455f7da3dd7a | 36 | DigitalOut _en; |
12104404 | 15:7729da55873a | 37 | PwmOut _m1f; |
12104404 | 15:7729da55873a | 38 | PwmOut _m1b; |
12104404 | 15:7729da55873a | 39 | PwmOut _m2f; |
12104404 | 15:7729da55873a | 40 | PwmOut _m2b; |
12104404 | 15:7729da55873a | 41 | DigitalOut _m1dir; |
12104404 | 15:7729da55873a | 42 | DigitalOut _m2dir; |
12104404 | 24:fb1f083ebd62 | 43 | DigitalOut _led1; |
12104404 | 24:fb1f083ebd62 | 44 | DigitalOut _led2; |
12104404 | 24:fb1f083ebd62 | 45 | DigitalOut _led3; |
12104404 | 24:fb1f083ebd62 | 46 | DigitalOut _led4; |
12104404 | 23:455f7da3dd7a | 47 | void eStop(void); |
12104404 | 26:0ea6a550a99d | 48 | void mStop(void); |
12104404 | 18:f9012e93edb8 | 49 | bool setXPos(int target, int current, int error, int angle); |
12104404 | 25:f3bf8351bbd4 | 50 | bool setYBias(int target, int current, int error, int angle); |
12104404 | 15:7729da55873a | 51 | bool setAngle(int target, int current, int error, int mode); |
12104404 | 25:f3bf8351bbd4 | 52 | |
12104404 | 26:0ea6a550a99d | 53 | void setXstate(int *xCurrState, int *xTarget,bool xGood,bool angleGood,int *angleGoal,int *angleTol ); |
12104404 | 25:f3bf8351bbd4 | 54 | void setAngleTol(int *angleTol,bool yGood, bool xGood); |
12104404 | 25:f3bf8351bbd4 | 55 | void setYgoal(bool xGood,bool angleGood,bool yGood,int *yTarget); |
12104404 | 25:f3bf8351bbd4 | 56 | void check_xya(bool *xGood,bool *yGood,bool *angleGood, int xGoal,int angleGoal,int yGoal,LOCALIZE_xya xya,int xErr, int yErr,int angleErr); |
12104404 | 27:fb1298d35bd1 | 57 | void moveF(int angle); |
12104404 | 27:fb1298d35bd1 | 58 | void moveB(void); |
12104404 | 27:fb1298d35bd1 | 59 | |
12104404 | 15:7729da55873a | 60 | protected: |
12104404 | 17:2f89826b5679 | 61 | float s; |
12104404 | 25:f3bf8351bbd4 | 62 | void setMotors(float x); |
12104404 | 27:fb1298d35bd1 | 63 | void setMotors12(float x, float y); |
12104404 | 23:455f7da3dd7a | 64 | int wrap(int num); |
12104404 | 27:fb1298d35bd1 | 65 | inline float compG(float speed, bool dir, int angle); |
12104404 | 19:2dd81b864e14 | 66 | |
12104404 | 6:0602a9e8118b | 67 | }; |
12104404 | 6:0602a9e8118b | 68 | #endif |