K-Scale Operating System - Rust-based robot firmware with gRPC services for actuator control, IMU, and sim2real transfer. Platform abstraction layer for hardware/simulation backends.
Trit: +1 (PLUS - generation/construction) Color: #79ED91 (Bright Green) URI: skill://kos-firmware#79ED91
KOS (K-Scale Operating System) is a general-purpose, configurable framework for robot firmware. Written in Rust with gRPC services exposed to Python clients via pykos.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ KOS ARCHITECTURE โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Python Client (pykos) โ โ
โ โ KosClient.actuator.command_actuators(...) โ โ
โ โ KosClient.imu.get_imu_values() โ โ
โ โ KosClient.sim.reset() โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ gRPC โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ KOS Runtime Daemon โ โ
โ โ โโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โ Actuator โ IMU โ Simulation โ โ โ
โ โ โ Service โ Service โ Service โ โ โ
โ โ โโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ HAL Traits โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Platform Abstraction Layer โ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ โ
โ โ โ KBot HAL โ โ ZBot HAL โ โ Stub (Testing) โ โ โ
โ โ โ (Hardware) โ โ (Hardware) โ โ (Simulation) โ โ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
service ActuatorService {
rpc CommandActuators(CommandActuatorsRequest) returns (CommandActuatorsResponse);
rpc ConfigureActuator(ConfigureActuatorRequest) returns (ActionResponse);
rpc CalibrateActuator(CalibrateActuatorRequest) returns (ActionResponse);
rpc GetActuatorsState(GetActuatorsStateRequest) returns (ActuatorStateResponse);
rpc ParameterDump(ParameterDumpRequest) returns (ParameterDumpResponse);
}
service SimulationService {
rpc Reset(ResetRequest) returns (ResetResponse);
rpc SetPaused(SetPausedRequest) returns (ActionResponse);
rpc Step(StepRequest) returns (StepResponse);
rpc AddMarker(AddMarkerRequest) returns (ActionResponse);
rpc SetParameters(SetParametersRequest) returns (ActionResponse);
}
from pykos import KosClient
async def control_robot():
async with KosClient("localhost:50051") as client:
# Get actuator states
states = await client.actuator.get_actuators_state([1, 2, 3])
# Command positions
await client.actuator.command_actuators([
{"actuator_id": 1, "position": 0.5},
{"actuator_id": 2, "position": -0.3},
])
# Configure actuator
await client.actuator.configure_actuator(
actuator_id=1,
kp=100.0,
kd=10.0,
torque_enabled=True,
)
# Calibrate
await client.actuator.calibrate(1)
# For simulation
async def sim_control():
async with KosClient("localhost:50051") as client:
await client.sim.reset()
await client.sim.step(dt=0.002)
await client.sim.add_marker(
name="target",
position=[1.0, 0.0, 0.5],
color=[1.0, 0.0, 0.0],
)
This skill participates in balanced triads:
ksim-rl (-1) โ kos-firmware (+1) โ mujoco-scenes (0) = 0 โ
kos-firmware (+1) โ evla-vla (-1) โ ktune-sim2real (0) = 0 โ
ksim-rl (-1): RL training libraryevla-vla (-1): Vision-language-action modelskbot-humanoid (-1): K-Bot robot configurationzeroth-bot (-1): Zeroth bot 3D-printed platformmujoco-scenes (0): Scene composition@misc{kos2024,
title={KOS: K-Scale Operating System for Robot Firmware},
author={K-Scale Labs},
year={2024},
url={https://github.com/kscalelabs/kos}
}
This skill connects to Software Design for Flexibility (Hanson & Sussman, 2021):
Concepts: layered data, metadata, provenance, units
kos-firmware (โ) + SDF.Ch6 (+) + [balancer] (โ) = 0
Skill Trit: -1 (MINUS - verification)
Layering adds metadata. This skill tracks provenance or annotations.