Lane Following Controller Team 2 Mohamed Aly Gustavo

  • Slides: 25
Download presentation
Lane Following Controller Team 2 Mohamed Aly, Gustavo Costa, Nhattrieu (Tom) Duong

Lane Following Controller Team 2 Mohamed Aly, Gustavo Costa, Nhattrieu (Tom) Duong

Goals and Objectives n Lateral controller: q q Lane following without GPS Steady State

Goals and Objectives n Lateral controller: q q Lane following without GPS Steady State Error < 50 cm n q Overshoot < 50 cm n n q To remain confortably within 3. 5 m corridor To remain within 3. 5 m corridor Requires longer settling times For speeds up to 15 m/s (Advanced Navigation requirement C. 5. ) 2

Waypoint Generation y Alice frame Trajectory waypoints x r. Alice(tn) rn(tn) y 0 rn,

Waypoint Generation y Alice frame Trajectory waypoints x r. Alice(tn) rn(tn) y 0 rn, 0 x 0 Boundary data points Stationary frame 3

Waypoint Generation n Deals with one small frame at a time q q q

Waypoint Generation n Deals with one small frame at a time q q q n Filters into three scenarios for each frame q q q n Left and Right lane data good Only Left lane Only Right lane Updates waypoints file with new information q q n Looks ahead to plan path Default: 10 data points Adjustable (perhaps with speed? ) Waypoints file can be accessed by traj generator Traj generator not yet implemented Matlab/Simulink path following implemented using generated waypoints file (seen later in presentation) 4

Waypoint Generation 5

Waypoint Generation 5

Waypoint Generation 6

Waypoint Generation 6

Alice Model n Bicycle model n Linearized Model n Control only y and θ

Alice Model n Bicycle model n Linearized Model n Control only y and θ using φ 7

Simulink Model 8

Simulink Model 8

Controllers n n Take as reference the projected error of the path generated from

Controllers n n Take as reference the projected error of the path generated from the two boundaries Two types of controllers: n n State feedback design (PI); Frequency domain design (PID); 9

Controllers n State space controller: n n State (Simulink model): [y yref θ θref

Controllers n State space controller: n n State (Simulink model): [y yref θ θref ] Matrices from the state space model: q q q A=0 B = [1, 0, -1, 0] C = ki D = [-K, K] ki is the integral gain and K is a two dimension vector with proportional gains; § Obtained from the eigenvalue placement using At and Bt from the linearized model of Alice; 10

Controllers n State space controller: n n Using the eigenvalues p = [-1. 5,

Controllers n State space controller: n n Using the eigenvalues p = [-1. 5, -. 2] the gains obtained were K = [0. 2816 1. 8857] and ki = -0. 0367; Simulation (Using the Alice model with the time delay and saturation block): q Simulink: 11

Controllers n State space controller: n Simulation: q Simulator (Follow) with initial error of

Controllers n State space controller: n Simulation: q Simulator (Follow) with initial error of 3 m: 12

Controllers n PID controller (frequency domain): n n Loop shaping was used to design

Controllers n PID controller (frequency domain): n n Loop shaping was used to design the integral, proportional and derivative gains. Therefore, a first model of L=P*C had to be computed; The Alice model (P) was obtained using: q q nd. Alice = tf(ss(Ap, Bp, Cp, Dp)); § Ap, Bp, Cp and Dp are the matrices from the linearized model; Time delay was added using Pade approximation: § [nd, dd] = pade(0. 1, 2); § delay = tf(nd, dd); § Alice = nd. Alice*delay; 13

Controllers n PID controller (frequency domain): n Using random values for ki, kp and

Controllers n PID controller (frequency domain): n Using random values for ki, kp and kd, a prototype of C was obtained and Sisotool was used to design new values for C given the process P and the specifications: q q q n Phase margin: 77 degrees; Bandwidth: 0. 87 rad/s; Steady state error: 0; Controller obtained: 4. 3288 (s+0. 07997) (s+0. 005804) ---------------(s+0. 0005637) (s+20. 32) 14

Controllers n PID controller (frequency domain): n Bode plot (Loop transfer function): 15

Controllers n PID controller (frequency domain): n Bode plot (Loop transfer function): 15

Controllers n PID controller (frequency domain): n Bode plot (Closed loop): 16

Controllers n PID controller (frequency domain): n Bode plot (Closed loop): 16

Controllers n PID controller (frequency domain): n Sensitivity functions: 17

Controllers n PID controller (frequency domain): n Sensitivity functions: 17

Controllers n PID controller (frequency domain): n Simulation (Simulink): 18

Controllers n PID controller (frequency domain): n Simulation (Simulink): 18

Controllers n PID controller (frequency domain): n Simulation (Follow/Simulator): 19

Controllers n PID controller (frequency domain): n Simulation (Follow/Simulator): 19

Sample Trajectories: Straight Line 20

Sample Trajectories: Straight Line 20

Sample Trajectories: Straight Line with Obstacles 21

Sample Trajectories: Straight Line with Obstacles 21

Sample Trajectories: Horizontal Sine Wave 22

Sample Trajectories: Horizontal Sine Wave 22

Sample Trajectories: Vertical Sine Wave with uncertainty 23

Sample Trajectories: Vertical Sine Wave with uncertainty 23

Sample Trajectories: Race Track 24

Sample Trajectories: Race Track 24

Future Work n n n Implement PID controller with waypoint generation in follow on

Future Work n n n Implement PID controller with waypoint generation in follow on Alice Improve controller performance Waypoint Generation (beyond scope of proj) q q q Deal with noise Enable disparate left and right lane data Smooth out distubances in path (to avoid unnecessary swerving) 25