Skip to content

teamignitionvitc/ARK-Advanced-Rocketry-Kernel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ARK Logo

ARK

Advanced Rocketry Kernel

Professional Flight Computer Firmware for Model Rocketry

Language Domain Focus Status

What is ARK?Design PhilosophyArchitectureProject StructureUsage Concept


Team Ignition Logo

Developed by Team Ignition
Vellore Institute of Technology, Chennai


What is ARK?

ARK (Advanced Rocketry Kernel) is a robust, safe, and heavily tested SDK designed to support the development of a Flight Operating System.

ARK is not an application and not a monolithic firmware.
It is a restricted execution kernel that exposes only flight-safe interfaces required for:

  • Sensor data acquisition and filtering
  • Flight state estimation inputs
  • Deterministic execution control
  • Payload isolation

The Flight Operating System (Flight OS) built on top of ARK is responsible for scheduling, supervision, and orchestration.

Flight safety always takes precedence over payload execution.


Core Principle

ARK enforces this principle by design:

  • Flight logic always has the highest priority
  • Payload applications run only during free cycles
  • Hardware access is strictly mediated
  • Only validated and filtered data is exposed (Unless an external driver is added by the suer)

Design Philosophy

1. Safety First

  • Deterministic behavior
  • Defensive defaults
  • No implicit side effects
  • Clear failure boundaries

2. Minimal API Surface

ARK exposes only:

  • Processed sensor outputs
  • Flight state indicators
  • Explicit lifecycle hooks
  • Controlled configuration points

Everything else remains internal.

3. Strong Separation of Concerns

  • ARK Core → flight-safe kernel logic
  • Drivers → hardware abstraction
  • Flight OS → scheduling and policy
  • Payload → non-critical computation

What ARK Provides

Sensor Data Pipeline (For flight critical data)

  • Raw sensor ingestion
  • Filtering and validation
  • Processed outputs (altitude, acceleration, etc.)
  • Compile-time option for file-based data sources (simulation/testing)

Flight State Support

  • Centralized flight state interfaces
  • Deterministic state evaluation inputs
  • Designed to be driven by the Flight OS

Execution Control

  • Base ARK class initialization
  • Driver registration
  • Sensor pin / source configuration
  • Mission parameter configuration (e.g. expected altitude)
  • Payload attachment with strict execution constraints

Architecture Overview

┌─────────────────────────────────────────────┐
│                Payload App                  │
│   (Non-critical logic, runs on free cycles) │
└─────────────────────▲───────────────────────┘
                      │
┌─────────────────────┴───────────────────────┐
│                 Flight OS                   │
│  • Registers drivers & subsystems           │
│  • Defines mission parameters               │
│  • Composes system configuration            │
└─────────────────────▲───────────────────────┘
                      │
┌─────────────────────┴───────────────────────┐
│                    ARK                      │
│  • Deterministic scheduling                 │
│  • Execution priority control               │
│  • Sensor filtering & validation            │
│  • Flight state interfaces                  │
│  • Safety gates & isolation                 │
└─────────────────────▲───────────────────────┘
                      │
┌─────────────────────┴───────────────────────┐
│             Hardware Drivers                │
│  • Sensors                                  │
│  • Actuators                                │
│  • Low-level peripherals                    │
└─────────────────────────────────────────────┘

Project Structure

Current repository layout:

ARK/
├── core/ # Core ARK kernel (to be implemented)
├── docs/ # Architecture, specifications, design notes
├── examples/ # Example payloads and integrations
├── test/ # Unit and integration tests
├── tools/ # Build, simulation, and analysis tools
├── public/ # Logos and shared visual assets
├── README.md

Usage Concept (High-Level)

ARK ark;

/* Initialize kernel */
ark.init();

/* Register hardware drivers */
ark.addDriver(barometer);
ark.addDriver(accelerometer);

/* Configure sensor sources */
ark.configureSensors({
    .altitude = SENSOR_BARO,
    .accel    = SENSOR_IMU
});

/* Mission parameters */
ark.setExpectedAltitude(1200.0f);

/* Attach payload */
ark.attachPayload(payloadApp);

/* Hand control to Flight OS */
FlightOS::run(ark);

Payload execution never interferes with flight-critical execution.


Intended Use Cases

  • Rocket flight computers
  • Experimental aerospace systems
  • Safety-critical embedded research
  • Flight simulation and validation
  • Academic and R&D avionics platforms

Contributing

ARK is developed as part of Team Ignition’s avionics stack.

Contributions are welcome in the form of:

  • Design reviews
  • Safety analysis
  • Testing frameworks
  • Simulation tooling
  • Documentation improvements

Please open an issue or discussion before major changes.


License

This project is licensed under the GNU General Public License v3 with additional restrictions.

Commercial use is prohibited without explicit written permission.

See the LICENSE file for details.

ARK — build flight software that cannot fail silently.

Team Ignition

© Team Ignition, VIT Chennai

About

Advanced Rocketry Kernel and Logics for Ignitions Flight Systems

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors