The RobotAbstraction
Workcell Dashboard

A full-stack operator interface combining a React dashboard, a Google ADK agent service, a Node.js bridge, and a Webots simulation. Run it locally to control UR and SCARA robots through plain-language commands.

Hosted on Vercel — UI preview (connect locally for live simulation)

Four services,
one workcell

RobotAbstraction is a multi-service application. A React operator dashboard communicates via WebSocket with a Node.js bridge that speaks TCP to a Webots supervisor. A separate Python agent service powered by Google ADK translates natural-language factory goals into safe, robot-agnostic tool calls.

All four services run locally. Once the stack is up, open the dashboard, connect to the coordinator, and start issuing intent — no motor commands required.

⚛️
React Dashboard
Vite + React operator UI with real-time telemetry, production counters, and an agent chat panel.
🤖
Google ADK Agent
Python service that maps natural-language factory goals to safe, robot-agnostic workcell tools.
🔌
Node.js Bridge
WebSocket / TCP bridge connecting the dashboard to the Webots coordinator over local sockets.
🌐
Webots Simulation
Combined UR + SCARA workcell world with a C supervisor coordinator that owns execution state.

Get running in
five steps

1
Clone the repository
Check out the feat/agentic_robot_workcell branch.
git clone https://github.com/tnkumar/20260513-hackathon.git
cd 20260513-hackathon
git checkout feat/agentic_robot_workcell
2
Set up the Python agent service
Create a virtual environment, install dependencies, and set your Google API key.
cd agent_service
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
export GOOGLE_API_KEY="your_api_key_here"
cd ..
3
Install frontend dependencies
Install the Node.js packages for the React dashboard and WebSocket bridge.
cd frontend
npm install
cd ..
4
Install Webots
Download and install Webots R2025a (or compatible) from the official site. On macOS set WEBOTS_HOME if needed.
# macOS (if installed outside /Applications)
export WEBOTS_HOME="/Applications/Webots.app"
5
Launch everything
Run the one-shot script to build controllers, start all services, and open the dashboard.
./start_all.sh
# Dashboard opens at http://127.0.0.1:5173/

Default ports

ServicePortOpen
React Dashboard (hosted)Vercelhttps://robot-abstraction-dashboard.vercel.app
React Dashboard (local):5173http://127.0.0.1:5173
Agent HTTP endpoint (local):8787internal only
ADK Planner endpoint (local):8790internal only
Browser WebSocket bridge (local)ws :8765internal only
Webots coordinator TCP (local):9099internal only
🚀

Open the hosted dashboard

The UI is live on Vercel. For a fully connected simulation, run the local stack with ./start_all.sh and open http://127.0.0.1:5173/.