CoolFace
Apppublic

steeltroops-ai/ros2-robot-stack

sourceHugging Faceupdated 7mo agoView on Hugging Face
0likes
App README

Multi-robot fleet management platform.**

Simulate real hardware robots through ROS 2. Control them through a web-based 3D dashboard. Add AI perception for intelligent autonomy.

Maintained by: Mayank (steeltroops.ai@gmail.com)


What This Is

A full-stack robotics platform that mirrors how real robotics companies build their infrastructure:

  • ROS 2 Humble for robot simulation and control
  • Node.js Backend bridging ROS 2 to the web via WebSocket
  • Next.js Dashboard with real-time 3D visualization (React Three Fiber)
  • ML Service for computer vision and intelligent perception (PyTorch + FastAPI)
Browser (3D Dashboard) ←→ Node.js Backend ←→ ROS 2 ←→ ML Service

Architecture

ServiceLocationRuntimePurpose
Frontendapps/frontendNext.js 163D Operator Dashboard
Backendapps/backendFastify + tsxROS 2 Bridge, API, WS
ML Serviceapps/ml-serviceFastAPI + UVVision & Inference
Roboticsrobotics/ros2_wsROS 2 HumbleSimulation & Control
Sharedpackages/TypeScriptType Contracts

Supported Robot Types

RobotPhaseStatus
AMR (Mobile)1Working
AMR + Nav23Planned
6-DOF Arm4Planned
Drone7+Planned
Swarm (10+ AMRs)7Planned

Quick Start

Prerequisites

  • WSL 2 (Ubuntu 22.04)
  • Bun (curl -fsSL https://bun.sh/install | bash)
  • UV (curl -LsSf https://astral.sh/uv/install.sh | sh)
  • ROS 2 Humble (installed in WSL)

Setup

bash
# Clone into WSL
cd ~/projects
git clone <repo-url> ros2-robot-stack
cd ros2-robot-stack

# Install dependencies
bun install

# Source ROS 2
source /opt/ros/humble/setup.bash

# Build ROS workspace (first time only)
cd robotics/ros2_ws
colcon build
source install/setup.bash
cd ../..

Run the Full Stack

bash
./scripts/dev-all.sh

This launches:

  • Frontend: http://localhost:3000
  • Backend: http://localhost:4000
  • ROS 2 Mock Robot: Publishing telemetry on /odom, /battery, /map

Manual Launch (Individual Services)

bash
# Terminal 1: ROS 2 Simulation
source /opt/ros/humble/setup.bash
cd robotics/ros2_ws && source install/setup.bash
python3 src/simulation_manager/src/mock_robot.py

# Terminal 2: Backend
cd apps/backend
bun run dev

# Terminal 3: Frontend
cd apps/frontend
bun run dev

Repository Structure

ros2-robot-stack/
├── apps/
│   ├── frontend/          # Next.js + React Three Fiber Dashboard
│   ├── backend/           # Fastify + Socket.IO + rclnodejs Bridge
│   └── ml-service/        # FastAPI + PyTorch ML Service
├── packages/
│   └── shared-types/      # TypeScript type contracts
├── robotics/
│   └── ros2_ws/           # ROS 2 workspace (simulation, nav, arm)
├── infra/
│   └── docker-compose.yml # Docker deployment
├── docs/
│   ├── VISION.md          # Project vision and goals
│   ├── ROADMAP.md         # Phase-by-phase delivery plan
│   ├── ARCHITECTURE.md    # System architecture
│   ├── guides/            # Design guides (3D, ROS, ML)
│   └── planning/          # RFCs and handoff docs
└── scripts/
    └── dev-all.sh         # Launch entire dev stack

Roadmap

PhaseFeatureStatus
1Basic AMR + Telemetry + 2D MapComplete
23D Visualization + Multi-RobotNext
3Autonomous Navigation (Nav2)Planned
4Robotic Arm + Joint ControlPlanned
5ML Perception + CV OverlayPlanned
6LLM Natural Language ControlPlanned
7Swarm Robotics (10+ robots)Planned
8Production Hardening + AuthPlanned

Tech Stack

CategoryTechnology
FrontendNext.js 16, React 19, Tailwind v4, shadcn/ui
3D RenderingReact Three Fiber, Three.js, @react-three/drei
BackendFastify, Socket.IO, rclnodejs, tsx
ML/AIFastAPI, PyTorch, OpenCV, YOLOv8
RoboticsROS 2 Humble, Nav2, MoveIt2, Gazebo
Package ManagerBun (Node), UV (Python)
InfrastructureDocker, PostgreSQL, Redis

Documentation

  • Vision — What we are building and why
  • Roadmap — Phase-by-phase delivery plan
  • Architecture — System architecture and data flow
  • 3D Frontend Guide — React Three Fiber patterns
  • ROS2 Package Design — Topic naming and URDF structure
  • ML Perception — Computer vision pipeline

License

PROPRIETARY / SOURCE AVAILABLE See LICENSE for full terms.