A modular, open-source robotics framework that bridges high-level AI with physical hardware through standardized middleware, enabling rapid prototyping of autonomous robotic systems.
JOSHUA transforms a single configuration file into a fully operational robot system using ROS2, Protocol Buffers, and pluggable AI inference.
Define your entire robot system—hardware, sensors, AI models, and operation mode—in a single Protocol Buffers text configuration file. No code changes required to reconfigure the system.
Plug-and-play support for servo motors (STS3215, Pybricks SPIKE), cameras (OpenCV), encoders, and LiDAR sensors with factory-pattern instantiation and mock drivers for testing.
Extensible model architecture supporting SmolVLA (vision-language-action), decision transformers, and custom models. C++/Python interop via PyBind11 for real-time inference on edge devices.
Built on ROS2 (Humble/Jazzy) with 91 standard message types, configurable QoS profiles, and automatic node lifecycle management through the Node Generator orchestrator.
Physics-based simulation with interactive, passive, mirror (digital twin), and offscreen rendering modes. GPU-accelerated RL training via MuJoCo-XLA (MJX) and NVIDIA Isaac Sim integration.
Supports AMD64 and ARM64 (NVIDIA Jetson Orin Nano) with Docker containers for Ubuntu 22.04/24.04. Bazel build system for reproducible, hermetic builds with cross-compilation.
A layered, modular architecture where each component is independently configurable and replaceable.
Protocol Buffers schema defines the entire system: robot hardware, AI models, communication protocols, operation modes, and simulation settings. A single .pbtxt file configures the complete system.
Central process manager that parses configuration, validates integrity (port conflicts, dependency checks), determines C++/Python backend per node, and manages the full lifecycle of child processes.
Hardware Abstraction Layer with factory-pattern device instantiation. Supports multiple actuators, sensors, and communication protocols through standardized interfaces with both C++ and Python implementations.
Model registry with base class architecture for pluggable inference models. Supports vision-language-action models (SmolVLA), reinforcement learning (PPO via JAX/Flax), and custom model integration.
MuJoCo-based physics simulation with four operational modes. GPU-accelerated parallel training via MuJoCo-XLA (2048 parallel environments). NVIDIA Isaac Sim integration for industrial-grade simulation.
Qt6 C++ desktop control panel for real-time monitoring and calibration. React/TypeScript web UI with Zenoh bridge for distributed monitoring, topology visualization, and configuration management.
Built on industry-standard technologies for robotics, AI, and systems engineering.
C++ for performance-critical robot drivers and node orchestration. Python for AI inference and rapid prototyping. TypeScript for the web monitoring UI.
ROS2 for inter-process communication with configurable QoS. Zenoh bridge for distributed monitoring. Boost.Asio for async serial communication.
PyTorch and HuggingFace Transformers for model inference. JAX/Flax with MuJoCo-XLA for GPU-parallel RL training. LeRobot for vision-language-action models.
MuJoCo for physics simulation with 4 operational modes. MJX for GPU-accelerated training. Isaac Sim for industrial-grade simulation with USD assets.
Bazel for hermetic, reproducible builds with cross-compilation (ARM64). Docker multi-platform containers. CI/CD with automated testing and linting.
Qt6 native desktop GUI for real-time control and calibration. React web UI with topology visualization and Zenoh SSE-based real-time monitoring.
JOSHUA supports seven distinct operation modes, all selectable through configuration.
Leader-follower arm control for manual robot manipulation. Supports Xbox controller input and keyboard control for data collection scenarios.
Real-time autonomous operation using trained AI models. Supports SmolVLA vision-language-action models with multi-camera input and natural language task descriptions.
Reinforcement learning (PPO) and imitation learning pipelines. GPU-parallel training via MuJoCo-XLA with 2048 simultaneous environments.
Physics-based simulation with interactive GUI, trajectory replay, ROS2 digital twin mirroring, and headless offscreen rendering for data generation.
Record teleoperation demonstrations with episode indexing for imitation learning. Supports HuggingFace datasets format (Parquet, CSV, JSONL) for standardized data storage.
Servo motor calibration with operational limit detection. Publishes calibration data as ROS2 topics for integration with the control panel GUI.
Comprehensive documentation covering every layer of the JOSHUA framework.
Layered architecture overview, data flow diagrams, node orchestration, and the dual-layer data type system (Protocol Buffers + ROS2).
Installation guide for Ubuntu 22.04/24.04, Docker setup, Bazel build instructions, and running your first robot configuration.
Protocol Buffers schema reference, configuration presets, operation modes, and the complete .pbtxt file specification.
Hardware abstraction, factory patterns, supported actuators (STS3215, Pybricks), sensors (camera, LiDAR, encoder), and communication protocols.
Model registry, SmolVLA integration, reinforcement learning pipeline, training infrastructure, and the extensible inference architecture.
MuJoCo physics engine, simulation modes, MJCF robot models, MuJoCo-XLA parallel training, and NVIDIA Isaac Sim integration.
Docker containerization, cross-compilation for ARM64, GitHub Actions CI, pre-commit hooks, and production deployment workflows.