Developing Next-Generation Lidar with Model-Based Design
Chenji Tu, System Engineer, Valeo
Model-Based Design has become a cornerstone of Valeo's development of automotive lidar systems, an essential component of its advanced driver assistance systems portfolio. This strategic approach is driven by the imperative to shorten market delivery times, expedite development cycles, meet escalating performance demands, and achieve cost-effective designs. This presentation highlights the effective application of Model-Based Design in the development of Valeo's lidar sensor motor-driven laser-shooting system. The process of generating a sensor's point cloud starts with laser shots driven by a motor, positioning the design as a critical juncture for the development teams. Among the technical challenges faced are ensuring azimuth precision, maintaining accuracy, and addressing missing shots in the point cloud. Additionally, adherence to ISO 26262 standards is required.
Attendees will gain insights into how MATLAB® and Simulink® streamline concept evaluation, algorithm design, and plant modeling. The algorithms developed include precise control, offline calibration, online corrections. Area and timing-optimized code is generated using HDL Coder™. Model testing is conducted with Simulink Test™, while HDL Verifier™ is employed to automatically repurpose model testbenches for verifying HDL code, ensuring a comprehensive and efficient development cycle.
Published: 3 Jun 2024
Ladies and gentlemen, good afternoon. My name is Chenji Tu. I'm a systems engineer from Valeo. In the presentation today, you will have an overview of Valeo LiDAR evolution, our adoption of model-based design, some practical examples, design optimization, key takeaways, and finally, my gratitude to MathWorks experts.
At Valeo, we develop products for ADAS. In addition to camera, radar, and ultrasonic sensors, we develop automotive LiDAR. LiDAR offers higher-resolution 3D mapping than radar or camera, which is essential for self-driving cars. Valeo is a leader in the automotive LiDAR market, and our LiDAR is used by major OEMs. Our long-range version LiDAR has won 2024 CES Innovation awards. Throughout the years, challenges come from shorter time to market, reduced design to cost, increase the design complexity, more and more requirements, and higher KPIs. We've learned that model-based design can improve the efficiency to bring the time-consuming and costly iterations from the right-hand side of the VCycle on hardwares into the left-hand side in simulations.
Point cloud generation process begins with the feedback loop controller on the motor driver chip. The motor runs and the mirror rotates. The angular position sensor measures the angle.
FPGA improves the angle and drives the photodiode to shoot an infrared laser. The photons go through optics, mirror through front cover, travels at the speed of light for distance reflected by objects. It returns coming back through front cover, mirror, and optics.
It eventually triggers the avalanche breakdown events inside the detector, calculating the time of flight of distance. FPGA combines the sharp angle and distance information to generate a point cloud. Finally, algorithms like object detection and land detection process this point cloud.
Detector sensitivity is temperature dependent. Sensitivity can be controlled by supply voltage. For controllability analysis, we use Simulink and Simscape to create a system behavior model to simulate its temperature-dependent voltage behavior. For noise sensitivity analysis, we use libraries from DSP System Toolbox to evaluate the noise floors and supply voltage on feedback voltage and on temperature measurements. Finally, we use Embedded Coder to generate C code from the model and to create system requirements based on the cross-domain system simulations.
Optical power estimation is an important topic relating to laser eye safety and range performance. We use Simulink to build a system behavior model to simulate the signal chain from the electrical laser feedback pulse to DAC-controlled threshold to FPGA noisy differential input buffer, to pulse profile reconstruction and power estimation algorithms. We use MATLAB to analyze the correlation between the power and the estimate. The model serves as a simulatable specification and guides our cross-domain activities.
The motor subsystem is the starting point of our LiDAR, and its quality affects the system performance. For improvement study, we used Simulink Simscape motor and Control System Toolbox to model it. We are also collaborating with MathWorks consulting service for it.
The rotor angle is measured by an angular position sensor. This sensor is very noisy and impacts the accuracy and precision performance. With model-based design, we develop algorithms to improve it. And we use HDL Coder to generate a code from the model to target our FPGA chip.
The noisy angular sensor data is modeled as random variables. Our algorithm manipulates the sample mean and variance to improve the overall accuracy and precision. For validating the algorithm, we use MATLAB to import and to analyze the data recorded from real electronics.
We can see the improvement on hardware level. Then we place the LiDAR sensor on an optical accuracy bench. We can also see the improvement on product level.
We use a wide range of toolboxes. Simulink is used for plant modeling for noisy angular sensors and for algorithm development. Stateflow is used for finite state machines, for discrete control of data paths, and for reconfigurable laser driver. DSP System Toolbox is used for performance evaluation. MATLAB Statistical and Machine learning Toolbox are used for data analysis.
For design optimization, we use Fixed-Point Designer and Lookup Table Optimizer. These apps improve FPGA utilization effectively. In the first example, the original FPGA implementation consumes a lot of resources and has overflow error.
Simply click on the Fixed-Point Tool app and follow the intuitive workflow. Initially, the data types in the signal chain are not optimize. Based on input directives, the app automatically checks overflow, underflow, and proposes more efficient new data types.
The optimization process is driven by simulations. The testbench for simulation should cover all possible input range. We run the simulations to evaluate the tolerances before and after applying the new data types.
In this example, fixed point to improve FPGA utilization effectively by 54%. In the second example, the original FPGA implementation consumes a lot of resources and has timing violations. Simply click on the Lookup Table Optimizer app and follow the intuitive workflow. To specify the intended function, enter the input data type, output data type, and range, and target HDL for Simulink. In the example, Lookup Table Optimizer improves FPGA utilization effectively by around five times.
We use HDL Coder for automatic production code generation. HDL Coder is classified as tool confidence level 1 so that extra tool qualification is not required. We use Simulink test and Simulink coverage for reusable test cases and model coverage, and we use HDL Verifier for code simulation and verification.
Simulink test is non-intrusive. The test bench against the subsystem can be created from the top model without design change. The test cases for model simulation can be later reused for regression tests, for co-simulation with QuestaSim and for loop on a real hardware. A model coverage report can be generated by Simulink coverage. After achieving 100% model coverage, the next step is to reuse the test bench for code coverage.
Code verification can be done by HDL Verifier's code simulation to compare outputs from Simulink model and QuestaSim. QuestaSim generates code coverage reports accordingly. When our boards are ready, we will continue to work on FPGA-in-the-loop with HDL Verifier.
Now, at the end of my presentation, I'd like to summarize a few takeaways. A single model serves for multiple purposes simultaneously. A model is an executable specification.
It can be simulated, can generate code and requirements from it. It can do cross-domain system simulation, It can do trade study, option evaluations, and improve communications with different teams and stakeholders. As a user, I compare before and after adopting model-based design, and the benefits are quite clear.
Finally, I'd like to express my gratitude. My work is around motor and laser as the starting point of the LiDAR sensor. My work can block many activities for the rest of the team.
MathWorks experts are Herbert, Dimitri, Tom, Gernot, and Pablo. You have been supporting me to unblock many critical situations. It is great to collaborate with you on my model-based design journey. Thank you.
[APPLAUSE]