Clock synchronization plays a crucial role in the development of advanced driver-assistance systems (ADAS) and autonomous vehicles (AVs). First, ADAS and AVs need to manage time accurately to be able to function safely. Second, during virtual testing, the practices used for clock synchronization can have a strong influence on development speed and costs. The decision of how to approach clock synchronization and which tools to build or adopt is thus an important one for every ADAS and AV team.
In this blog post, we will discuss the challenges clock synchronization presents for ADAS and AV simulation. We will then describe our recommended best practices for managing clock synchronization to support ADAS and AV teams and accelerate their development and testing.
An ADAS or AV is often implemented as a distributed software system—a collection of distinct components that need to communicate with each other and collaborate to achieve various tasks. These different components often source time from different clocks. Clock synchronization helps align all components with a common understanding of time. In a distributed ADAS or AV stack architecture, a perception module and a planning module need to have an accurate, common understanding of time to accurately predict the motion and intention of actors in the perceived scene.
There are three aspects that make clock synchronization crucial to ADAS and AV development.
Clock synchronization ensures every component of the ADAS or AV has the same understanding of time, allowing the system to make the right decisions and achieve correct results in virtual testing. Inconsistent clock synchronization can cause system integration errors, as one minor instance of incorrect timekeeping can destabilize the entire system, even if each individual component reasons about its own time correctly.
For example, collision avoidance and emergency braking systems need to process data quickly and accurately to meet safety-critical requirements. When each system component has the same understanding of time, all components are synchronized correctly and work in harmony, delivering the safety-critical functionality as intended.
Determinism is essential to achieve reliable ADAS and AV behavior. Determinism means that, given a particular sequence of inputs, a system will always produce the same sequence of outputs. Simulators need to yield deterministic results to ensure reliable ADAS and AV testing. Without proper clock synchronization, differences in timestamps and operating system scheduling can prevent tasks from being executed with consistent and known timing. In other words, proper clock synchronization is necessary to achieve deterministic simulation results.
Clock synchronization is also necessary for scaling ADAS and AV testing (i.e., running millions of simulation tests across an organization at varying levels of fidelity). Running simulations faster than real time, especially for smaller subsystem tests, helps ADAS and AV teams achieve high coverage while sacrificing less engineering time and saving computing costs. Running simulations slower than real time allows teams to integrate high-fidelity vehicle dynamics and sensor models and test behaviors that are otherwise only possible to create through real-world test methods. Without proper clock synchronization, running simulations faster or slower than in real time is not possible, slowing down development and ultimately leading to higher costs or even unsafe ADAS or AV stack behavior.
Despite being crucial for successful ADAS and AV development teams, clock synchronization can be one of the most challenging tasks those teams need to master.
We recommend that ADAS and AV teams adopt the following best practices for successful clock synchronization in their development process.
To carry out these best practices successfully, Applied works closely with development teams across the industry to:
Clock synchronization is an engineering best practice that allows ADAS and AV teams to create meaningful simulation tests, scale development, and build complex, safe systems that can be deployed with confidence. Through our simulation products, Simian, Spectral, and Logstream, we help teams plan for or transition to the right clock synchronization practices for their needs. Contact us to learn more.