Implement new controller
Dependencies: mbed-rtos mbed QEI BNO055 MPU6050_DMP_Nucleo-I2Cdev virgo3_imuHandler_Orion_PCB MAX17048 Servo
Fork of Orion_newPCB_test by
01_DriveTrain/pidBearing.h@30:44676e1b38f8, 2018-03-20 (annotated)
- Committer:
- ahmed_lv
- Date:
- Tue Mar 20 05:56:22 2018 +0000
- Revision:
- 30:44676e1b38f8
- Parent:
- 29:a6a812ee83ea
Editted Input Variables to PID
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ahmed_lv | 26:32eaf3c3ac2e | 1 | #ifndef pidBearing_H |
ahmed_lv | 26:32eaf3c3ac2e | 2 | #define pidBearing_H |
ahmed_lv | 26:32eaf3c3ac2e | 3 | |
ahmed_lv | 26:32eaf3c3ac2e | 4 | #include "generalFunctions.h" |
ahmed_lv | 26:32eaf3c3ac2e | 5 | #include "mbed.h" |
ahmed_lv | 26:32eaf3c3ac2e | 6 | #include "orion_pinmapping.h" |
ahmed_lv | 26:32eaf3c3ac2e | 7 | #include "config.h" |
ahmed_lv | 26:32eaf3c3ac2e | 8 | #include "math.h" |
ahmed_lv | 26:32eaf3c3ac2e | 9 | |
ahmed_lv | 26:32eaf3c3ac2e | 10 | class pidBearing |
ahmed_lv | 26:32eaf3c3ac2e | 11 | { |
ahmed_lv | 26:32eaf3c3ac2e | 12 | public: |
ahmed_lv | 26:32eaf3c3ac2e | 13 | //motorDriver(PinName mPlus, PinName mMinus, int freq_khz); |
ahmed_lv | 26:32eaf3c3ac2e | 14 | //void setPWM(float val); |
ahmed_lv | 26:32eaf3c3ac2e | 15 | |
ahmed_lv | 26:32eaf3c3ac2e | 16 | pidBearing(); |
ahmed_lv | 29:a6a812ee83ea | 17 | void setSpeedChange(float* wl, float* wr, float* speedChange, float* Error, |
ahmed_lv | 29:a6a812ee83ea | 18 | float target[2], |
ahmed_lv | 29:a6a812ee83ea | 19 | float local[2], |
ahmed_lv | 29:a6a812ee83ea | 20 | float yaw, |
ahmed_lv | 29:a6a812ee83ea | 21 | float* robotFrame, |
ahmed_lv | 29:a6a812ee83ea | 22 | float xx, float yy, |
ahmed_lv | 29:a6a812ee83ea | 23 | float* k3, |
ahmed_lv | 29:a6a812ee83ea | 24 | float lGain); |
ahmed_lv | 29:a6a812ee83ea | 25 | void pidBearing::findRobotFrameDistance(float target[2], float local[2], float* robotFrame); |
ahmed_lv | 26:32eaf3c3ac2e | 26 | |
ahmed_lv | 26:32eaf3c3ac2e | 27 | private: |
ahmed_lv | 26:32eaf3c3ac2e | 28 | float kp, kd, ki; |
ahmed_lv | 26:32eaf3c3ac2e | 29 | float imuToAchieve, offset, angleToRotate, prevaError, bearingToWaypoint, sumError, max_in, minDist; |
ahmed_lv | 26:32eaf3c3ac2e | 30 | }; |
ahmed_lv | 26:32eaf3c3ac2e | 31 | |
ahmed_lv | 26:32eaf3c3ac2e | 32 | |
ahmed_lv | 26:32eaf3c3ac2e | 33 | #endif |