Core Concepts
Everything you need to understand how HORUS works — from the basic building blocks to advanced communication patterns.
Start Here
- Architecture — How the four primitives (Nodes, Topics, Scheduler, Memory) fit together
- Choosing Configuration — Progressive guide from prototyping to production
Nodes
- Nodes (Beginner) — What nodes are and how they work
- Nodes — Full Reference — Node trait, lifecycle, communication patterns, safety
- The node! Macro — Declarative node definition with less boilerplate
Topics & Communication
- Topics (Beginner) — How nodes talk through pub/sub channels
- Topics — Full Reference — 10 backends, ring buffers, memory model, performance
- Communication Overview — Topics vs Services vs Actions — when to use each
- Services — Request/response RPC pattern (Beta)
- Actions — Long-running tasks with feedback and cancellation (Beta)
- Multi-Process — Cross-process shared memory communication
Scheduler & Execution
- Scheduler (Beginner) — How the scheduler runs your nodes
- Scheduler — Full Reference — Tick model, execution classes, safety, deterministic mode
- Execution Classes — Rt, Compute, Event, AsyncIo, BestEffort
- Real-Time Systems — What RT means, why robots need it, how HORUS handles it
Messages & Data
- Message Types — 70+ standard robotics messages (CmdVel, Imu, LaserScan, etc.)
- Custom Messages & Performance — Define your own types, zero-copy optimization
- TransformFrame — Coordinate frame management (lock-free, sub-microsecond)
Configuration & Multi-Language
- horus.toml — Project manifest and dependency management
- Multi-Language — Rust + Python integration
- What is HORUS? — Overview and positioning
See Also
- Learn — Why HORUS, comparisons, migration guides
- Tutorials — Hands-on learning path
- Getting Started — Install and build your first robot
- Rust API Reference — Complete Rust API documentation
- Python API Reference — Python bindings documentation