Kenate

Core Concepts

Philosophy

Kenate is built on one core belief: robotics code should be modular, not monolithic.

The Problem with Traditional Robotics

Most robot code looks like this: one giant main.py file with a massive while True: loop. Everything is jammed together: sensor reading, motor control, state transitions, error handling. It's a mess.

When something breaks, you're debugging the entire robot. When you want to add a feature, you risk breaking everything else. Been there, debugged that.

The Kenate Solution: States

Kenate forces you to think in States. Each behavior your robot can perform is a separate, isolated Python class.

Traditional

One file. One loop. Everything mixed together. Change one thing, break another.

Kenate

Many small files. Each state is isolated. Fix PatrolState without touching AlertState.

Core Principles

Modularity

Each behavior is a self-contained State class. You can add, remove, or modify states without affecting others. It's like Lego, but for robot brains.

Hybrid Performance

You write easy Python. Under the hood, a C++ Engine runs at 1000Hz, ensuring precise timing for smooth robot motion. Best of both worlds.

Determinism

The Engine guarantees your on_update() runs at exact intervals. No more guessing about timing or missed sensor readings. Predictable is good.

Separation of Concerns

Your Python code handles 'what to do'. The C++ Engine handles 'when to do it'. You never write timing loops again. You're welcome.

The Architecture Sandwich

Kenate is a three-layer system. Yes, we call it a sandwich. No, we will not apologize.

Layer 3Your Python StatesYou work here
Layer 2Pybind11 BridgeTranslates Python to C++
Layer 1C++ EngineThe 1000Hz brain