Welcome to Xyrom OS
Xyrom OS is the operating system and cloud platform for embodied robot autonomy. This guide gets you from zero to your first robot task in under 15 minutes.
Installation
# Install the Xyrom OS SDK pip install xyrom-os-sdk # For mock/simulation (no hardware needed) pip install xyrom-os-sdk[mock] # Verify installation python3 -c "import xyrom_os_sdk; print(xyrom_os_sdk.__version__)"
Quick Start
Create your first task in 3 lines of Python:
from xyrom_os_sdk import XyromClient
# Connect to your Xyrom OS instance
client = XyromClient(api_url="https://api.xyromos.com", api_key="your-key")
# Submit a task
task = client.tasks.create(
skill_id="navigate_to",
robot_id="tron1-001",
params={"destination": "main-hall", "speed": 0.5}
)
print(f"Task created: {task.task_id}")
print(f"Status: {task.state}")
Core Concepts
đ¤ Robots
Physical robots managed by Xyrom OS. Each has an adapter, state, and telemetry stream.
⥠Skills
Typed action contracts. Define preconditions, parameters, and expected outcomes.
đ Tasks
Instructions to run a skill on a robot. Tracked through full lifecycle with traces.
Next Steps
- â Architecture Overview â Understand the full stack
- â API Reference â Complete REST API docs
- â Build an Adapter â Connect your robot hardware
- â Write a Skill â Create custom robot behaviors
System Architecture
Xyrom OS is organized into five layers: Hardware, Safety Runtime, Agent Runtime, Cloud Control, and Developer Platform.
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ â Developer Platform / SDK / Docs â ââââââââââââââââââââââââââââââââââââââââââââââââââââââ⤠â Cloud Control Plane / Fleet / Evals / Telemetry â ââââââââââââââââââââââââââââââââââââââââââââââââââââââ⤠â Agent Runtime / Planner / Memory / World Model â ââââââââââââââââââââââââââââââââââââââââââââââââââââââ⤠â Robot Runtime / Safety / Skills / HAL / State â ââââââââââââââââââââââââââââââââââââââââââââââââââââââ⤠â OEM Hardware / Sensors / Actuators / Controllers â âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Zone A â Robot Edge (always-on)
Hardware adapter, safety runtime, emergency stop. Runs on robot compute. Real-time safe.
Zone B â Edge Agent
Skill executor, local planner, world model, trace buffer. Operates without cloud connectivity.
Zone C â Cloud
LLM planner, fleet management, telemetry aggregation, operator console. Cloud services.
REST API v0
The Xyrom OS REST API provides programmatic access to all platform features. Base URL: https://api.xyromos.com/v0
Python SDK
The official Python SDK for Xyrom OS. Supports Python 3.10+.
Installation
pip install xyrom-os-sdk
Authentication
from xyrom_os_sdk import XyromClient
client = XyromClient(
api_url="https://api.xyromos.com",
api_key="xos_your_api_key_here"
)
Task Management
# Create a task
task = client.tasks.create(
skill_id="patrol_area",
robot_id="tron1-001",
params={"zone": "main-floor", "duration_sec": 300}
)
# Poll for completion
import time
while task.state not in ("completed", "failed"):
time.sleep(2)
task = client.tasks.get(task.task_id)
print(f" State: {task.state}")
print(f"Final state: {task.state}")
Skill Registration
from xyrom_os_sdk.skills import SkillContract, SkillParameter
# Define a skill
skill = SkillContract(
skill_id="my_custom_skill",
version="1.0.0",
description="My custom robot skill",
parameters=[
SkillParameter(name="target", type="string", required=True),
SkillParameter(name="speed", type="float", default=0.5),
],
preconditions=["robot.battery_pct > 20", "robot.status == 'active'"],
timeout_sec=120
)
# Register it
client.skills.register(skill)
Telemetry Streaming
for event in client.telemetry.stream("tron1-001"):
print(f"[{event.timestamp}] {event.metric}: {event.value}")
Building OEM Adapters
Adapters (`.aoa` packages) connect robot hardware to Xyrom OS. They implement the Hardware Abstraction Layer (HAL).
Adapter Package Structure
my_robot_adapter/
âââ manifest.yaml # Adapter metadata and capabilities
âââ adapter.py # Main HAL implementation
âââ sensors.py # Sensor bridge
âââ actuators.py # Actuator wrappers
âââ safety_hooks.py # Safety policy hooks
âââ tests/
âââ test_adapter.py
manifest.yaml
id: com.example.my-robot name: My Robot Adapter version: 1.0.0 platform: my-robot-v2 xyrom_api: ">=0.5.0" capabilities: - navigation - manipulation - camera - lidar safety_class: B2
adapter.py
from xyrom_os_sdk.hal import BaseAdapter, SensorData, ActuatorCommand
class MyRobotAdapter(BaseAdapter):
def connect(self, config: dict) -> bool:
# Initialize hardware connection
return True
def get_sensor_data(self) -> SensorData:
# Read from hardware
return SensorData(...)
def send_command(self, cmd: ActuatorCommand) -> bool:
# Send to hardware
return True
def emergency_stop(self) -> bool:
# Implement E-STOP
return True
Skill Contracts
Skills are typed behavioral contracts. They define what a robot can do, under what conditions, and with what parameters.
Skill YAML Contract
skill_id: navigate_to
version: 1.0.0
description: Navigate robot to a named location
category: navigation
author: Xyrom OS Core Team
parameters:
destination:
type: string
required: true
description: Named location from site map
speed:
type: float
default: 0.5
min: 0.1
max: 1.0
description: Navigation speed (m/s)
preconditions:
- robot.battery_pct > 15
- robot.status == "active"
- site.location_exists(params.destination)
outcomes:
success:
- robot.location == params.destination
failure:
- code: OBSTACLE_BLOCKED
- code: LOCATION_NOT_FOUND
- code: LOW_BATTERY
timeout_sec: 120
safety_class: B1
requires_approval: false
Implementing a Skill
from xyrom_os_sdk.skills import SkillExecutor, SkillContext, SkillResult
class NavigateToSkill(SkillExecutor):
skill_id = "navigate_to"
async def execute(self, ctx: SkillContext) -> SkillResult:
dest = ctx.params["destination"]
speed = ctx.params.get("speed", 0.5)
ctx.log(f"Navigating to {dest} at speed {speed}")
# Execute navigation
result = await ctx.robot.navigate(
location=dest,
speed=speed,
on_progress=ctx.report_progress
)
if result.success:
return SkillResult.success({"arrived_at": dest})
else:
return SkillResult.failure(result.error_code)
Tutorials
đ Your First Task
Submit your first task to a mock robot and see it through to completion.
Read Tutorial âđ Build an Adapter
Connect a new robot model to Xyrom OS by implementing the HAL adapter interface.
Read Tutorial âđ ī¸ Write a Custom Skill
Define a typed skill contract and implement the executor class.
Read Tutorial ââī¸ Deploy to Production
Configure your Xyrom OS cloud instance, set up RBAC, and deploy a multi-robot fleet.
Read Tutorial â