4 min read
This project is a Software-in-the-Loop (SIL) tool that helps engineers simulate, test, and debug ADAS (Advanced Driver Assistance Systems) functions such as Lane Departure Warning (LDW), Adaptive Cruise Control (ACC), and so on. This program provides data playback, code debugging, and real-time visualization for a range of ADAS features. By using this tool, teams can validate algorithms more efficiently before deploying them in actual vehicles.
Our SIL tool bridges the gap between virtual testing and on-road trials by playing back previously recorded data or synthetic scenarios. This allows engineers to see how ADAS algorithms respond to different conditions without scheduling expensive physical test drives. It’s particularly useful for:
By relying on simulation, teams can catch most issues early in the software lifecycle. Testing is more efficient, especially since no physical track or on-road test time is needed just to check an algorithm’s basic functionality. The tool’s interface makes it simpler to manage different data sets, measurement periods, and debug sessions.
Large Qt Tree Models Performance:
One bottleneck was saving and restoring expanded states in a QTreeView with many items.
Using model()->match(...)
with a wildcard caused significant lag.
Switching to a simpler recursive approach (avoiding wildcard matches) boosted performance
and reduced UI freeze times by over 75%.
We also faced difficulties when jumping to a specific time in the simulation, because many data structures were statically defined. Re-initializing these in the middle of playback required rethinking how and when the objects were created.
Real-time data can be viewed in two main ways:
You can also zoom, pan, and select data points to get more information about specific variables at a particular moment.
Displays the vehicle’s state, sensor readings, and any planning results (e.g., speed profiles, trajectories) in real-time. You can:
© 2024 Milad Sharbati. All Rights Reserved. Designed by HTML Codex