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.