Skip to content

Seramicx/robotics-fleet-control

Repository files navigation

Robotics Fleet Control

Dashboard and agent system for managing a fleet of robots. Upload Python programs, deploy them to any robot, and watch execution logs in real time.

Built for college robotics teams that are tired of SSH-ing into each robot individually.

What it does

  • Central web dashboard showing all robots, their status, and battery levels
  • Upload .py programs and deploy to one or many robots at once
  • Live log streaming over WebSocket
  • Python agent runs on Raspberry Pi or in simulation mode
  • JWT auth with refresh tokens, rate limiting, sandboxed execution

Running it

Requires Docker.

git clone https://github.com/Seramicx/robotics-fleet-control.git
cd robotics-fleet-control
cp .env.example .env
docker compose up -d

Frontend at localhost:3000, API at localhost:4000.

Agent setup

On the robot (Raspberry Pi or any Linux box):

cd agent
cp agent_config.yaml my_config.yaml
# set server_url, robot_id, auth_token
python3 robot_agent.py --config my_config.yaml

Pass --simulate to run without hardware.

For auto-start, copy robot_agent.service to /etc/systemd/system/ and enable it.

Tests

cd tests && npm ci && npm test    # backend
pytest agent/tests/ -v            # agent

Architecture

See docs/architecture.md for system diagram, API reference, and deploy flow.

License

Apache 2.0