A typical autonomy software stack is organised into hierarchical layers, each responsible for a specific subset of functions — from low-level sensor control to high-level decision-making and fleet coordination.
Although implementations differ across domains (ground, aerial, marine), the core architectural logic remains similar:
Perception Layer – sensing and understanding the environment.
Localisation Layer – determining position and orientation.
Planning Layer – deciding what actions to take.
Control Layer – executing those actions through actuators.
System Layer – managing communication, hardware, and runtime.
Infrastructure Layer – providing simulation, cloud services, and DevOps.
This layered design aligns closely with both robotics frameworks (ROS 2) and automotive architectures (AUTOSAR Adaptive).
Figure 1:Typical Autonomy Software Stack (Adapted from [1][2]
[1]
Raj, A., & Saxena, P. (2022). Software architectures for autonomous vehicle development: Trends and challenges. IEEE Access, 10, 54321–54345