Asynchronous Execution Graphs for Autonomous Driving
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current autonomous vehicle systems face challenges in deterministic decision-making, modularization, and efficient execution of autonomous driving operations due to non-deterministic behavior and complexity, which hinders simulation replication and development speed.
Innovation Solution
An asynchronous execution graph is employed, comprising subgraphs with nodes and edges, ensuring deterministic outputs, easy modularization, and efficient scheduling to execute operations quickly, allowing for partial execution and transparent configuration, thereby facilitating faster development and simulation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional autonomous vehicle systems are used, then the system can perform basic driving operations, but the decision-making behavior becomes non-deterministic and complex systems hinder simulation replication
Solution Approach 1:
The autonomous vehicle system is divided into multiple independent subgraphs, each representing specific driving operations or decision modules. These subgraphs can be executed independently and concurrently, reducing overall system complexity while maintaining deterministic behavior through structured organization of computational tasks.
Solution Approach 2:
The system implements dynamic scheduling of subgraph execution based on runtime conditions and resource availability. The execution engine can adaptively select which subgraphs to execute and in what order, allowing the system to maintain determinism while handling complex varying driving scenarios through flexible dynamic execution strategies.
2Adaptability or versatility
If comprehensive autonomous driving operations are implemented, then the vehicle can handle various driving scenarios, but the execution time and latency increase
Solution Approach 1:
Driving operations are segmented into independent subgraphs that can be executed in parallel. This allows the system to process multiple driving scenarios simultaneously, reducing overall execution latency while maintaining comprehensive scenario coverage through concurrent processing of divided computational tasks.
Solution Approach 2:
The system executes only the necessary subset of subgraphs required for the current driving scenario rather than executing all possible operations. This partial execution approach reduces latency by avoiding unnecessary computations while still providing comprehensive coverage when needed through selective activation of relevant subgraphs.
3Ease of manufacture
If modularization is improved for easier development, then the development cycle speeds up, but the system architecture becomes more complex
Solution Approach 1:
The system architecture is segmented into standardized subgraph modules that can be independently developed, tested, and reused. This modular structure speeds up development through code reuse and independent module optimization, while the standardized interface design prevents architecture from becoming unmanageably complex.
Solution Approach 2:
Subgraph modules are designed with universal interfaces and standardized data formats that allow them to be reused across different driving scenarios and applications. This universality reduces development time through reuse while maintaining clear architectural boundaries that prevent complexity from accumulating.
4Measurement precision
If deterministic execution is ensured through systematic protection against race conditions, then simulation replication accuracy improves, but the execution flexibility is reduced
Solution Approach 1:
The execution engine implements dynamic scheduling that adapts to different execution contexts while maintaining determinism through consistent scheduling rules. This allows the system to replicate simulations accurately by following the same execution path, while still providing flexibility for different driving scenarios through adaptive subgraph selection and parallel execution strategies.
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for executing the operations represented by an asynchronous execution graph. One of the methods includes receiving data characterizing an asynchronous execution graph comprising one or more subgraphs, wherein each subgraph comprises a plurality of nodes connected by edges, the plurality of nodes comprising a source node, one or more processor nodes, and one or more sink nodes; receiving source data from an external system that corresponds to the source node of a first subgraph in the graph; in response, executing the operations represented by the processor nodes in the first subgraph; and executing the operations represented by each sink node in the first subgraph.


