Layered Architecture
The Vayu system is structured as a layered architecture, where each layer encapsulates a specific set of responsibilities and interacts with adjacent layers through well-defined interfaces. This design promotes modularity, portability, and maintainability, while enabling precise control over system behavior.
At a high level, the architecture is composed of four primary layers:
Hardware Layer: This layer consists of the physical components of the system, including the microcontroller, sensors (e.g., IMU, GPS, barometer), and actuators (e.g., motors, servos). It provides the raw interface to the physical world.
Hardware Abstraction Layer (NavHAL): NavHAL provides a uniform interface to hardware peripherals such as communication interfaces, timers, GPIO, and sensor drivers. It abstracts hardware-specific details, enabling the upper layers to remain independent of the underlying platform.
Execution Layer (VAIOS): VAIOS is responsible for managing system execution, including task scheduling, timing, and coordination between different subsystems. It ensures deterministic behavior by organizing tasks according to their timing and priority requirements.
Control Layer (Vayu): The top layer implements the core flight control logic, including sensor fusion, state estimation, control algorithms, and actuator command generation. It operates on abstracted interfaces provided by the lower layers and remains independent of hardware-specific details.
These layers interact in a hierarchical manner, where each layer depends only on the services provided by the layer immediately below it. This separation of concerns allows changes in one layer—such as adapting to new hardware or modifying execution strategies—without affecting the functionality of other layers.
The layered architecture also enables clear data and control flow across the system. Sensor data is acquired at the hardware level, abstracted by NavHAL, processed within the control layer, and translated into actuator commands that propagate back down to the hardware.
Figure 3.1 illustrates the high-level layered structure of the Vayu system.
This layered design provides a clear separation between hardware interaction, execution management, and control logic, forming a scalable and flexible foundation for embedded flight systems.