π€ Asimov Architecture
Asimov - Humanoid Robot Platform
Section titled βAsimov - Humanoid Robot PlatformβA comprehensive monorepo for developing, controlling, and managing humanoid robots. Named after Isaac Asimov, this platform implements a layered architecture for robust robot operations.
ποΈ Architecture Overview
Section titled βποΈ Architecture OverviewβAsimov follows a distributed 4-layer architecture with clear separation between robot-side and cloud-side components:
βοΈ CLOUD/BACKENDββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ Command & Control ββ (Teleoperation, Autonomy, Intelligence) ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€β Data Engine ββ (Audio/Video/State Storage & Analytics) ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€β Gateway ββ (Cloud-Robot Interface) ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β π€ ROBOT HARDWAREββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ Transport Layer ββ (Communication & Streaming) ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€β Hardware Abstraction ββ (Robot Runtime) ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββπ Project Structure
Section titled βπ Project Structureβπ€ Robot (/robot)
Section titled βπ€ Robot (/robot)βEverything that runs directly on the robot hardware
-
cortex/- Primary firmware for custom robot development- Custom robot implementations: Houses all firmware when developing proprietary robots
- Core control systems: Primary control loops, motor drivers, sensor interfaces
- Hardware abstraction: Direct hardware access and real-time control
- Empty for third-party robots: Not used when working with Unitree G1, AgiBot A2
- Mission-critical: Primary firmware for custom hardware platforms
-
link/- Robot control interface layer (βAlways Presentβ)- Universal robot interface: Always exists regardless of robot type
- Robot-specific implementations:
agibot_a2/,unitree_g1/adapters for third-party robots - Control logic and trajectory planning coordination
- Inverse kinematics calculations and motor control interfaces
- Never blocked by Nucleus - maintains robot safety
- Read/write flow management:
read_flow/,write_flow/for sensor data and commands - Works with Cortex: Provides interface layer even for custom firmware
-
nucleus/- Robot gateway and service manager- Cloud service interface - handles all external communications
- Connection management - reconnections, retries, fault tolerance
- Metrics collection - system health and performance data
- Can crash safely without affecting core robot functionality
- Acts as buffer between critical systems and external services
-
simulation/- Robot simulation environment- Physics simulation and testing
- Third-party integrations
- Virtual development and validation
-
common/- Shared robot utilities- Configuration management (
config.yaml) - Shared memory interfaces
- Cross-component data structures
- Configuration management (
βοΈ Backend (/backend)
Section titled ββοΈ Backend (/backend)βCloud-based services for robot management and data processing
-
gateway/- Universal service entry point- Multi-protocol support: WebRTC, gRPC, HTTP endpoints
- Service discovery and routing for all backend components
- Authentication and security layer
- Load balancing and request distribution
- Primary interface for all external communications
-
command_control/- Command & Control Layerteleoperation/- Primary mode: Human operator control systemsintelligence_provider/- AI decision engines for autonomous capabilitiescloud_models/- Cloud-based AI/ML models for complex reasoninglocal_models/- Edge computing models for low-latency decisions- Flexible input routing based on operational mode
-
data_engine/- Comprehensive data managementstorage/databases/- ClickHouse for long-term data storagetelemetry/- Real-time data collection and streaming- Stores: Audio streams, video feeds, robot state data, sensor logs
- Analytics: Historical analysis, performance metrics, behavior insights
- Time-series data for trajectory and performance analysis
-
diagnostics/- System monitoring and observabilityreplay/- Historical data replay and debugging tools- Prometheus/Grafana stack for real-time monitoring
- System health dashboards and alerting
- Performance bottleneck identification
π₯οΈ Frontend (/frontend)
Section titled βπ₯οΈ Frontend (/frontend)βUser interfaces for robot interaction
-
website/- Web-based control dashboard- Real-time robot monitoring
- Configuration management
- Analytics and reporting
-
mobile_app/- Mobile application- Remote robot control
- Status monitoring
- Emergency controls
π§ͺ Testing (/test)
Section titled βπ§ͺ Testing (/test)βIntegration and system-wide testing
- Cross-system integration tests
- End-to-end testing scenarios
- Performance benchmarks
π€ Development Modes
Section titled βπ€ Development ModesβAsimov supports two primary development approaches:
π§ Custom Robot Development
Section titled βπ§ Custom Robot DevelopmentβWhen building proprietary robot hardware:
- Full control over hardware, sensors, actuators
- Custom control loops and real-time systems
- Direct hardware abstraction layer implementation
π Third-Party Robot Integration
Section titled βπ Third-Party Robot IntegrationβWhen working with existing platforms (Unitree G1, AgiBot A2):
- Adapter pattern for different robot manufacturers
- Interface with existing robot SDKs and APIs
- Standardized control interface across platforms
This dual-mode architecture allows Asimov to support both custom hardware development and integration with commercial robot platforms using the same software stack.
π‘οΈ Safety-First Architecture
Section titled βπ‘οΈ Safety-First ArchitectureβOur architecture directly embodies Asimovβs Laws through:
Human-Centric Control
Section titled βHuman-Centric Controlβ- Teleoperation primacy: Humans remain in control of all critical decisions
- Real-time responsiveness: Low-latency command execution for immediate human control
- Rich feedback: Audio, video, and sensor data provide operators with complete situational awareness
Layered Safety Systems
Section titled βLayered Safety Systemsβ- Link protection layer: Secondary firmware that acts as final safety arbiter
- Never-blocking guarantee: Safety systems remain responsive regardless of other component states
- Fault isolation: Critical safety functions isolated from non-essential systems
Transparent Operations
Section titled βTransparent Operationsβ- Complete data logging: All robot actions, decisions, and states recorded
- Replay capabilities: Historical analysis ensures accountability and learning
- Human oversight: Operators can review and understand all robot behaviors