Kenate

Body Data

Robot Profiles

Kenate is universal. To ensure it actually works on any machine, I aggressively separate the Brain Logic from the Body Data. Because hardcoding pin numbers into your state machine is a rookie mistake.

What is a Robot Profile?

A Robot Profile is the literal blueprint of your hardware. The Engine reads this at startup so it knows exactly how far it can push the motors before they physically melt.

Portability

Run the same mission code on multiple robots just by swapping the profile JSON.

Safety

Protect hardware by defining Thermal and Battery thresholds without hardcoding them.

Standard Profile Schema

The Robot Profile requires these top-level keys for safe deployment. Missing keys will trigger a Kernel Halt on initialization.

{
  "ROBOT_ID": "X-SERIES-001",
  "SAFETY": {
    "MAX_TEMP": 85.0,
    "MIN_BATTERY": 15
  },
  "PARAMETERS": {
    "MAX_WHEEL_SPEED": 1.25,
    "GAINS_P": 0.5
  }
}

ROBOT_ID

Unique identifier used for network discovery and telemetry tagging.

SAFETY

Global thresholds for hardware protection (Auto-abort logic).

The Blueprint (JSON)

A typical rover profile looks like this:

{
    "ROBOT_ID": "ROVER-01",
    "MAX_WHEEL_SPEED": 2.0,
    "SAFETY": {
        "MAX_TEMP": 75.0,
        "SIGNAL_MIN": 20
    }
}

Loading the Profile

config = kenate.ConfigLoader()
config.load("your_custom_robot.json")

Users are encouraged to rename, modify, or replace the included templates to match their specific robotic hardware.