MATLAB, Simulink, and RoadRunner advance the design of automated driving perception, planning, and control systems by enabling engineers to gain insight into real-world behavior, reduce vehicle testing, and verify the functionality of embedded software. With MATLAB, Simulink, and RoadRunner, you can:
- Access, visualize, and label data
- Simulate driving scenarios
- Design planning and control algorithms
- Design perception algorithms
- Deploy algorithms using code generation
- Integrate and test
![Tier 1 diagram](https://www.mathworks.com/solutions/automated-driving/_jcr_content/mainParsys/band_copy_1227855798/mainParsys/columns_copy_2070482/2/image.adapt.full.medium.jpg/1711106369765.jpg)
See How Others Use MATLAB, Simulink, and RoadRunner for Automated Driving
Access, Visualize, and Label Data
You can access live and recorded driving data using MATLAB interfaces for CAN and ROS. Using built-in tools, you can also visualize and label imported data. For example, the ground truth labeler app provides an interface to visualize and label multiple signals interactively, or you can automatically label these signals and export the labeled data to your workspace.
To access and visualize geographic map data, you can use HERE HD Live Maps and OpenStreetMap.
Video Tutorials:
Simulate Driving Scenarios
You can use cuboid and Unreal Engine simulation environments with MATLAB to develop and test algorithms in virtual scenarios.
The cuboid environment represents actors as simple graphics and uses probabilistic sensor models. You can use this environment for controls, sensor fusion, and motion planning.
Using the Unreal Engine environment, you can develop algorithms for perception and the cuboid-environment use-cases. RoadRunner lets you design scenes to use with simulators, including CARLA, Vires VTD, and NVIDIA Drive Sim, as well as MATLAB and Simulink. RoadRunner also supports export to industry standard file formats like FBX and OpenDRIVE.
Video Tutorials:
Design Planning and Control Algorithms
Using MATLAB and Simulink, you can develop path planning and control algorithms. You can design vehicle control systems using lateral and longitudinal controllers that enable autonomous vehicles to follow a planned trajectory.
You can also test your algorithms synthetically using sensor models and vehicle dynamics models, along with 2D and 3D simulation environments.
![Design Planning and Controls Algorithms](https://www.mathworks.com/solutions/automated-driving/_jcr_content/mainParsys/band_copy_copy_10388_1399848285/mainParsys/column_0_copy_copy/2/image_1551718569.adapt.full.medium.jpg/1711106371684.jpg)
Video Tutorials:
Design Perception Algorithms
You can develop perception algorithms using data from camera, lidar, and radar. Perception algorithms include detection, tracking, and localization, which you can use for applications like automatic braking, steering, map building, and odometry.
You can implement these algorithms as part of ADAS applications like emergency braking and steering.
Using MATLAB, you can develop algorithms for sensor fusion, simultaneous localization and mapping (SLAM), map building, and odometry.
![Design Perception Algorithms](https://www.mathworks.com/solutions/automated-driving/_jcr_content/mainParsys/band_copy_copy_10388_1422799262/mainParsys/column_0_copy_copy/2/image_1551718569_cop.adapt.full.medium.jpg/1711106372189.jpg)
Video Tutorials:
Deploy Algorithms
You can deploy perception, planning, and control algorithms to hardware using code generation workflows. Supported code generation languages include C, C++, CUDA, Verilog, and VHDL®.
You can also deploy algorithms to service-oriented architectures like ROS and AUTOSAR.
Using auto-generated code, you can connect sensors with other ECU components. Several deployment targets are supported, including hardware from NVIDIA, Intel, ARM, and more.
![MATLAB language and toolbox support for code generation.](https://www.mathworks.com/solutions/automated-driving/_jcr_content/mainParsys/band_copy_copy_10388_2032623632/mainParsys/column_0_copy_copy/2/image_copy_110661590.adapt.full.medium.jpg/1711106374156.jpg)
Integrate and Test
You can integrate and test your perception, planning, and control systems. Using Requirements Toolbox, you can capture and manage your requirements. You can also use Simulink Test to run and automate test cases in parallel.
![Integrate and Test](https://www.mathworks.com/solutions/automated-driving/_jcr_content/mainParsys/band_copy_copy_10388_1743782165/mainParsys/column_0_copy_copy/2/image_1551718569.adapt.full.medium.jpg/1711106374363.jpg)
Reference Applications
Use the examples below as a basis for designing and testing ADAS and automated driving applications.
- Adaptive Cruise Control with Sensor Fusion
- Lane Keeping Assist with Lane Detection
- Autonomous Emergency Braking with Sensor Fusion
- Forward Collision Warning Using Sensor Fusion
- Forward Collision Warning Application with CAN FD and TCP/IP
- Automated Parking Valet
- Lane Following Control with Sensor Fusion and Lane Detection
Can’t find what you’re looking for? Visit our Automated Driving documentation page for a full list of examples.