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.