
first commit
steering_header.h
- Committer:
- aalawfi
- Date:
- 2021-11-22
- Revision:
- 34:cb9a0cec2feb
- Parent:
- 31:d570f957e083
File content as of revision 34:cb9a0cec2feb:
/* Include libraries, IO pins */ #include "cmath" #include <algorithm> // std::min, std::max #define M_PI 3.14159265359f #define MAX_TURN_ANGLE M_PI/4 #define MIN_TURN_ANGLE -M_PI/4 #define SERVO_MOTOR_FREQ 50.0f #define CENTER_DUTY_CYCLE 0.075f float REF = 0.00f; //in meters /* most recent PID values float KP = 5.3;//1.2 // 1.5 #define KI_STEERING 10.2//4.1985 float KD = 0.1;//0.05003 */ float KP = 6.6f; //at 0.17 best is 6.0f float KI_STEERING = 0.3f; // at 0.17 best is 0.25f; float KD = 0.4f; //at 0.17 best is 0.3f; #define TIME_DERIVATIVE 1 //0.1 // was 0.08 #define TIME_INTEGRAL 1 //0.5 // 0.4 #define TI_STEERING 0.01f // in seconds #define SEN_DIFF_TO_DIST 3.5216 #define BITS 4 //Construct the Ticker to call the steering control system at a set rate // INPUT PINS AnalogIn left_distance_sensor(PTB1); AnalogIn right_distance_sensor(PTB0); // PWM out PwmOut servo_motor_pwm(PTD4); // Digital outs DigitalOut seg1[BITS]={PTC17, PTA16,PTA17,PTE31}; // insert pin numbers //Interrupt In InterruptIn left_landmark_sensor(PTD6); InterruptIn right_landmark_sensor(PTD7); // Tickers volatile bool steering_enabled = true; Ticker steering_control_ticker; int counter=0; int lap=-1;