SlideShare a Scribd company logo
1 of 17
Download to read offline
Introduction to a self-driving car:
Vehicle Feedback Control
Punnu Phairatt, PhD
Self-Driving Car Engineer
1
Parkopedia is the global leader in
digital parking services
SYSTEM DESIGN ARCHITECTURE
Idealised SDC stack
Sensors
Perception:
Localisation
Perception:
Detection
Decision
Motion Planning:
(Local) Planner
Mission Planning:
(Global) Planner
Motion Planning:
Follower
Safety
Stop
User
Input
Motion Planning:
Control
Landmarks
Pose, Speed
Scene data:
Point Cloud
Image RGB
Scene data:
Image RGB
Odometry:
IMU
Encoders
Location/State of:
Live obstacles/
Traffic (lights)
Order command Stop command
Navigation
command
(see Driving
task)
Lanes
(Start/Goal)
Trajectory
(section)
Speed
(linear, angular)
Steering/Throttle
Scene
understanding
Lane
structure
Traffic rules
(live+offline)
Giving me data
Where am I?
What’s around me? What am I doing next? Where am I going next? Steering/Throttle
Emergency
Localisation
Perception Decision Navigation ControlSensor
Map
Map
02
03
04
05
01
07 08
Feedback
control?
Autonomous Driving:
Path Following
Storyline
PID Basic
Concept
Approach to
implementing PID
on a SDCDemos
Other approach: MPC
Q&A
06
Limitations
01 Feedback Control
General Examples
Inverted Pendulum Drone Water Tank
Objective: Stay vertical
Control input: Push/Pull velocity
Objective: Altitude hold
Control input: Angular velocities
Objective: Maintain water setpoint
Control input: Valve opener
02 PID Basic Concept
Feedback Loop
Desired State
(Target)
Measured State
(Actual)
Error (level) Control Signal
Target
Signal
Actual
03 Autonomous Driving
Basic PID: Lane Keeping Example
steering = Kp*error + Kd*d_error + Ki*s_error
error = current_x - target_x
d_error = (error - error_previous)/dt
s_error += error
target_x (centre line)
(+)(-)
(+) (-)
03 Autonomous Driving
Effect of Kp, Kd, Ki and Steering misalignment
Kp
Kp, Kd
Kp, Kd with 3 degrees drift
Kp,Kd,Ki with 3 degrees drift
Ki removed systematic error
Kd reduces overshooting/dampenKp reduces error
03 Autonomous Driving
Typical Waypoint Following: Target Position/Velocity
Throttle/Brake
Steering
X, Y, Heading
Velocity
To achieve speed
To achieve position
04 Implementing PID on SDC
Approach 1:Simple cross track and speed error
cte
x,y,current_v
x1,y1,target_v
x2,y2,target_v
xTrack
error
Speed
error
04 Implementing PID on SDC
Approach 2: Pure Pursuit
x,y
Vehicle x,y
Path
(Y)
(X)
l
x d
r
y
d² + y² = r²
Key Summary [1]
● A method of geometrically determining the
curvature that will drive the vehicle to a
chosen path point, termed the goal point
● Computes the angular velocity command
that moves the robot from its current position
to reach some look-ahead point in front of
the robot.
● The linear velocity is assumed constant,
hence you can change the linear velocity of
the robot at any point.
● The algorithm then moves the look-ahead
point on the path based on the current
position of the robot until the last point of the
path.
● The look ahead distance is how far along the
path the robot should look from the current
location to compute the angular velocity
commands
● Tuning l (lookahead) for a good performance
e.g. ω = γ * velocity
wp
Goal point
[1] https://uk.mathworks.com/help/robotics/ug/pure-pursuit-controller.html]
[2] R. Craig Coulter, "Implementation of the Pure Pursuit Path Tracking Algorithm"
[2]
04 Implementing PID on SDC
Pure Pursuit Velocity Control
speed
error
target ω
target v
current v
Filtering Steering model
Linear velocity to Throttle
Angular velocity to Steering
current ω error steering
throttle
f(wheel base, ratio, error)
current v
e.g gain * ---------------------
target v * Δω
04 Implementing PID on SDC
Kp/Kd/Ki Tuning
Manual PID tuning in 4 Steps
Set Kp, Kd, Ki = 0 Increase Kp until a car
oscillating steadily
Increase Kd until the
oscillation go away or
minimal
Increase Ki to reduce the
set point error (but not too
much that makes
overshooting)
* OR Parameter search: Twiddle
05 Simulation
Simple CTE PID
06 PID Limitations
System Delay
System delay Let imagine driving a boat….
It takes some seconds for a steering to take effect
OK for a slow boat but
is a serious problem
on a car
Response after 10 ms
Command issued T= 0
06 PID Limitations
Simulation: Oscillation effect
100 ms control delay
07 Other Approach
Simulation: Model Predictive Control
Optimal path that minimise cost function
for comfort
Compensate control system delays
Q & A
Dr. Punnu Phairatt
Self-Driving Car Engineer
punnu@parkopedia.com

More Related Content

Similar to Slides SDC Controls

Oral Report Rev2
Oral Report Rev2Oral Report Rev2
Oral Report Rev2
guest845037
 
cers_jack_nur_2016
cers_jack_nur_2016cers_jack_nur_2016
cers_jack_nur_2016
Jack Yuan
 
REU spring 2016
REU spring 2016REU spring 2016
REU spring 2016
Jack Yuan
 
Path Planning And Navigation
Path Planning And NavigationPath Planning And Navigation
Path Planning And Navigation
guest90654fd
 
Path Planning And Navigation
Path Planning And NavigationPath Planning And Navigation
Path Planning And Navigation
guest90654fd
 

Similar to Slides SDC Controls (20)

Autoware Architecture Proposal
Autoware Architecture ProposalAutoware Architecture Proposal
Autoware Architecture Proposal
 
Autonomous RC car using gps
Autonomous RC car using gpsAutonomous RC car using gps
Autonomous RC car using gps
 
Oral Report Rev2
Oral Report Rev2Oral Report Rev2
Oral Report Rev2
 
A Much Advanced and Efficient Lane Detection Algorithm for Intelligent Highwa...
A Much Advanced and Efficient Lane Detection Algorithm for Intelligent Highwa...A Much Advanced and Efficient Lane Detection Algorithm for Intelligent Highwa...
A Much Advanced and Efficient Lane Detection Algorithm for Intelligent Highwa...
 
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
 
A Longitudinal Control Algorithm for Smart Cruise Control with Virtual Parame...
A Longitudinal Control Algorithm for Smart Cruise Control with Virtual Parame...A Longitudinal Control Algorithm for Smart Cruise Control with Virtual Parame...
A Longitudinal Control Algorithm for Smart Cruise Control with Virtual Parame...
 
IRJET- Robust and Fast Detection of Moving Vechiles in Aerial Videos usin...
IRJET-  	  Robust and Fast Detection of Moving Vechiles in Aerial Videos usin...IRJET-  	  Robust and Fast Detection of Moving Vechiles in Aerial Videos usin...
IRJET- Robust and Fast Detection of Moving Vechiles in Aerial Videos usin...
 
Resume
ResumeResume
Resume
 
Realtime Road Lane Detection
Realtime Road Lane DetectionRealtime Road Lane Detection
Realtime Road Lane Detection
 
Design, analysis and controlling of an offshore load transfer system Dimuthu ...
Design, analysis and controlling of an offshore load transfer system Dimuthu ...Design, analysis and controlling of an offshore load transfer system Dimuthu ...
Design, analysis and controlling of an offshore load transfer system Dimuthu ...
 
cers_jack_nur_2016
cers_jack_nur_2016cers_jack_nur_2016
cers_jack_nur_2016
 
REU spring 2016
REU spring 2016REU spring 2016
REU spring 2016
 
Hand free
Hand freeHand free
Hand free
 
RMV robot programming
RMV robot programmingRMV robot programming
RMV robot programming
 
Path Planning And Navigation
Path Planning And NavigationPath Planning And Navigation
Path Planning And Navigation
 
Path Planning And Navigation
Path Planning And NavigationPath Planning And Navigation
Path Planning And Navigation
 
Report - Line Following Robot
Report - Line Following RobotReport - Line Following Robot
Report - Line Following Robot
 
Automatic signallin system.pdf
Automatic signallin system.pdfAutomatic signallin system.pdf
Automatic signallin system.pdf
 
Automatic signalling system verified by owner
Automatic signalling system verified by ownerAutomatic signalling system verified by owner
Automatic signalling system verified by owner
 
Embedded ppt
Embedded pptEmbedded ppt
Embedded ppt
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 

Recently uploaded (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 

Slides SDC Controls

  • 1. Introduction to a self-driving car: Vehicle Feedback Control Punnu Phairatt, PhD Self-Driving Car Engineer 1 Parkopedia is the global leader in digital parking services
  • 2. SYSTEM DESIGN ARCHITECTURE Idealised SDC stack Sensors Perception: Localisation Perception: Detection Decision Motion Planning: (Local) Planner Mission Planning: (Global) Planner Motion Planning: Follower Safety Stop User Input Motion Planning: Control Landmarks Pose, Speed Scene data: Point Cloud Image RGB Scene data: Image RGB Odometry: IMU Encoders Location/State of: Live obstacles/ Traffic (lights) Order command Stop command Navigation command (see Driving task) Lanes (Start/Goal) Trajectory (section) Speed (linear, angular) Steering/Throttle Scene understanding Lane structure Traffic rules (live+offline) Giving me data Where am I? What’s around me? What am I doing next? Where am I going next? Steering/Throttle Emergency Localisation Perception Decision Navigation ControlSensor Map Map
  • 3. 02 03 04 05 01 07 08 Feedback control? Autonomous Driving: Path Following Storyline PID Basic Concept Approach to implementing PID on a SDCDemos Other approach: MPC Q&A 06 Limitations
  • 4. 01 Feedback Control General Examples Inverted Pendulum Drone Water Tank Objective: Stay vertical Control input: Push/Pull velocity Objective: Altitude hold Control input: Angular velocities Objective: Maintain water setpoint Control input: Valve opener
  • 5. 02 PID Basic Concept Feedback Loop Desired State (Target) Measured State (Actual) Error (level) Control Signal Target Signal Actual
  • 6. 03 Autonomous Driving Basic PID: Lane Keeping Example steering = Kp*error + Kd*d_error + Ki*s_error error = current_x - target_x d_error = (error - error_previous)/dt s_error += error target_x (centre line) (+)(-) (+) (-)
  • 7. 03 Autonomous Driving Effect of Kp, Kd, Ki and Steering misalignment Kp Kp, Kd Kp, Kd with 3 degrees drift Kp,Kd,Ki with 3 degrees drift Ki removed systematic error Kd reduces overshooting/dampenKp reduces error
  • 8. 03 Autonomous Driving Typical Waypoint Following: Target Position/Velocity Throttle/Brake Steering X, Y, Heading Velocity To achieve speed To achieve position
  • 9. 04 Implementing PID on SDC Approach 1:Simple cross track and speed error cte x,y,current_v x1,y1,target_v x2,y2,target_v xTrack error Speed error
  • 10. 04 Implementing PID on SDC Approach 2: Pure Pursuit x,y Vehicle x,y Path (Y) (X) l x d r y d² + y² = r² Key Summary [1] ● A method of geometrically determining the curvature that will drive the vehicle to a chosen path point, termed the goal point ● Computes the angular velocity command that moves the robot from its current position to reach some look-ahead point in front of the robot. ● The linear velocity is assumed constant, hence you can change the linear velocity of the robot at any point. ● The algorithm then moves the look-ahead point on the path based on the current position of the robot until the last point of the path. ● The look ahead distance is how far along the path the robot should look from the current location to compute the angular velocity commands ● Tuning l (lookahead) for a good performance e.g. ω = γ * velocity wp Goal point [1] https://uk.mathworks.com/help/robotics/ug/pure-pursuit-controller.html] [2] R. Craig Coulter, "Implementation of the Pure Pursuit Path Tracking Algorithm" [2]
  • 11. 04 Implementing PID on SDC Pure Pursuit Velocity Control speed error target ω target v current v Filtering Steering model Linear velocity to Throttle Angular velocity to Steering current ω error steering throttle f(wheel base, ratio, error) current v e.g gain * --------------------- target v * Δω
  • 12. 04 Implementing PID on SDC Kp/Kd/Ki Tuning Manual PID tuning in 4 Steps Set Kp, Kd, Ki = 0 Increase Kp until a car oscillating steadily Increase Kd until the oscillation go away or minimal Increase Ki to reduce the set point error (but not too much that makes overshooting) * OR Parameter search: Twiddle
  • 14. 06 PID Limitations System Delay System delay Let imagine driving a boat…. It takes some seconds for a steering to take effect OK for a slow boat but is a serious problem on a car Response after 10 ms Command issued T= 0
  • 15. 06 PID Limitations Simulation: Oscillation effect 100 ms control delay
  • 16. 07 Other Approach Simulation: Model Predictive Control Optimal path that minimise cost function for comfort Compensate control system delays
  • 17. Q & A Dr. Punnu Phairatt Self-Driving Car Engineer punnu@parkopedia.com