Automated Driving With Matlab and Simulink
Automated Driving With Matlab and Simulink
MANOHAR REDDY M
Jonny Andersson
Senior Engineer
Scania
Thorsten Gerke
Automotive Industry Manager EMEA
MathWorks
Solution
Use Simulink® to design a longitudinal model predictive
controller. Tune parameters based on experimental data
imported into MATLAB®. Deploy the controller as an ROS
node using Robotics System Toolbox™. Generate source Voyage’s self-driving car in San Jose, California.
code with Simulink Coder™, and package it as a Docker
container. “We were searching for a prototyping solution that was
fast for development and robust for production. We
decided to go with Simulink for controller development
Results and code generation, while using MATLAB to automate
• Development speed tripled development tasks.”
• Easy integration with open-source software - Alan Mond, Voyage
• Simulink algorithms delivered as production software
4
How can you use MATLAB and Simulink to develop
automated driving algorithms?
Perception Control
Planning
5
Examples of how you can use MATLAB and Simulink to develop
automated driving algorithms
Perception Control
Sensor fusion
with live data Path planning
Planning
6
How can you use MATLAB and Simulink to develop
perception algorithms?
Deep learning Sensor models &
model predictive control
Perception Control
Sensor fusion
with live data Path planning
Planning
7
Automated Driving System Toolbox introduced:
Ground Truth Labeling App to label video data
10:45
Introduction to Automated
Driving System Toolbox
8
Automate labeling lanes with Ground Truth Labeler
9
Automated Driving System Toolbox introduced examples to:
Accelerate the process of Ground Truth Labeling
10
Specify attributes and sublabels in Ground Truth Labeler App
11
Automate labeling pixels with Ground Truth Labeler
12
Learn more about developing deep learning perception algorithms
with these examples
14
Free Space Detection Using Semantic Segmentation
15
How can you use MATLAB and Simulink to develop
perception algorithms?
Deep learning Sensor models &
model predictive control
Perception Control
Sensor fusion
with live data Path planning
Planning
16
Automated Driving System Toolbox introduced:
Multi-object tracker to develop sensor fusion algorithms
Multi-Object Tracker
17
Automated Driving System Toolbox introduced examples to:
Develop sensor fusion algorithms with recorded data
18
How can I test my sensor fusion algorithm with live data?
Radar
CAN CAN FD
CAN Tx
Camera
TCP/IP Ethernet
IMU
19
Test forward collision warning algorithm with live data from
vehicle
Radar
FCW application
Vision Object
CAN
Radar Object
CAN Tx CAN FD Lane
Camera CAN
Rx Read
Vehicle Speed
sensor data stream
Yaw Rate
and video stream
Video frame
TCP/IP Ethernet TCP/IP
IMU
FCW algorithm
Visualization
20
Test forward collision warning algorithm with live data from
“surrogate” vehicle
Video frame
Video frame TCP/IP Ethernet
Recorded video TCP/IP
FCW algorithm
Visualization
21
Send live CAN FD and TCP/IP data
22
Receive live CAN FD and TCP/IP data
23
Generate C/C++ code for algorithm
24
Stream live CAN FD and TCP/IP data into compiled algorithm code
25
Learn about developing sensor fusion algorithms with live
data using this example
Receiver
Transmitter
Ethernet
Video stream
26
How can you use MATLAB and Simulink to develop
control algorithms?
Deep learning Sensor models &
model predictive control
Perception Control
Sensor fusion
with live data Path planning
Planning
27
Automated Driving System Toolbox introduced examples to:
Synthesize detections to test sensor fusion algorithms
28
Automated Driving System Toolbox introduced:
Radar and vision detections for closed loop simulation
29
Voyage Develops Longitudinal Controls
for Self-Driving Taxis
Challenge
Develop a controller that enables a self-driving car to maintain
a target velocity and keep a safe distance from obstacles.
Solution
Use Simulink® to design a longitudinal model predictive
controller. Tune parameters based on experimental data
imported into MATLAB®. Deploy the controller as an ROS
node using Robotics System Toolbox™. Generate source
code with Simulink Coder™, and package it as a Docker Voyage’s self-driving car in San Jose, California.
container.
“We were searching for a prototyping solution that was
Results fast for development and robust for production. We
• Development speed tripled decided to go with Simulink for controller development
• Easy integration with open-source software and code generation, while using MATLAB to automate
• Simulink algorithms delivered as production software development tasks.”
- Alan Mond, Voyage
Technical Article
30
Simulate closed loop system with radar/vision detections,
sensor fusion, and model-predictive control
31
Synthesize detections to test sensor fusion and
model-predictive controller
32
Compare classical and model predictive control algorithms
33
Automated Driving Applications with Model Predictive Controls
34
Vision Detection Generator models lane detection sensor
35
Create highway double curve with drivingScenario
▪ Driver
waypoints
simulate
distraction at
curvature
changes
36
Simulate distracted driver
37
Simulate lane keep assist at distraction events
38
Compare distracted and assisted results
39
Simulate lane following by increasing minimum safe distance
40
Explore lane following results
41
Graphically edit scenarios with Driving Scenario Designer
42
Learn about synthesizing sensor detections to develop
control algorithms with these examples
44
How can you use MATLAB and Simulink to develop
planning algorithms?
Deep learning Sensor models &
model predictive control
Perception Control
Sensor fusion
with live data Path planning
Planning
45
Robotics System Toolbox introduced:
Connectivity with the ROS ecosystem
46
We are investing in design and simulation of path planning for
automobiles
47
Learn about developing path planning algorithms
with these examples
▪ Plan path for automobile ▪ Plot map tiles using ▪ Simulate V2X
given pre-defined map World Street Map (Esri) communication to assess
Automated Driving Automated Driving channel throughput
System ToolboxTM System ToolboxTM LTE System ToolboxTM
48
Examples of how you can use MATLAB and Simulink to develop
automated driving algorithms
Perception Control
Sensor fusion
with live data Path planning
Planning
49
MathWorks can help you customize MATLAB and Simulink for
your automated driving application
▪ Web based ground ▪ Lidar ground truth ▪ Lidar sensor model for
truth labeling labeling Unreal Engine
▪ Consulting project with Caterpillar ▪ Joint presentation with Autoliv ▪ Joint paper with Ford
▪ 2017 MathWorks Automotive ▪ 2018 MathWorks Automotive ▪ SAE Paper 2017-01-0107
Conference Conference (May 2nd, Plymouth MI)
50
How can we help you can use MATLAB and Simulink to develop
automated driving algorithms?
Perception Control
Planning
51
Speaker Details Contact MathWorks India
MANOHAR REDDY M Products/Training Enquiry Booth
52