Skip to content

ecto/muni

Repository files navigation

muni

Open-source municipal robotics. Autonomous utility vehicles for public works, starting with sidewalk snow removal.

BVR rover with plow attachment

Repository

muni/
├── bvr/              # Base Vectoring Rover (first morphology)
│   ├── firmware/     # Onboard software (Jetson Orin NX, Rust)
│   ├── cad/          # Mechanical design
│   ├── electrical/   # Schematics, PCBs
│   └── docs/         # BVR-specific documentation
├── depot/            # Base station (fleet ops, teleop, metrics)
├── mcu/              # Embedded firmware (RP2350, ESP32-S3)
├── paper/            # Technical documents (Typst)
└── web/              # Website

Architecture

┌─────────────────────────────────────────────────────────────────────────────┐
│ Depot (Base Station)                                                        │
│                                                                             │
│   Console (:80)     Grafana (:3000)     InfluxDB        SFTP (:2222)       │
│   Fleet ops         Dashboards          Metrics DB      Session storage    │
│   Teleop UI         Alerts              Time series     Recording sync     │
└───────────────────────────────────┬─────────────────────────────────────────┘
                                    │
                        UDP metrics │ WebSocket teleop
                        SFTP sync   │ RTK corrections
                                    │
┌───────────────────────────────────┴─────────────────────────────────────────┐
│ BVR Rover                                                                   │
│                                                                             │
│   ┌─────────────────────────────────────────────────────────────────────┐  │
│   │ Jetson Orin NX                                                      │  │
│   │                                                                     │  │
│   │   bvrd (main daemon)                                                │  │
│   │   ├── teleop     Commands, telemetry, video streaming              │  │
│   │   ├── control    Differential drive mixer, rate limiting           │  │
│   │   ├── state      Mode management, safety interlocks                │  │
│   │   ├── gps        RTK positioning                                   │  │
│   │   └── recording  Session capture to .rrd files                     │  │
│   └───────────────────────────────┬─────────────────────────────────────┘  │
│                                   │ CAN bus                                 │
│       ┌───────────┬───────────────┼───────────────┬───────────────┐        │
│       │           │               │               │               │        │
│   ┌───┴───┐   ┌───┴───┐       ┌───┴───┐       ┌───┴───┐       ┌───┴───┐   │
│   │ VESC  │   │ VESC  │       │ VESC  │       │ VESC  │       │  MCU  │   │
│   │  FL   │   │  FR   │       │  RL   │       │  RR   │       │ LEDs  │   │
│   └───────┘   └───────┘       └───────┘       └───────┘       └───────┘   │
└─────────────────────────────────────────────────────────────────────────────┘

Quick Start

Base Station

cd depot
docker compose up -d

Console at http://localhost. See depot/README.md.

BVR Firmware

cd bvr/firmware
cargo build --release
./deploy.sh <rover-hostname>

See bvr/firmware/README.md.

MCU Firmware

cd mcu
cargo build --release -p rover-leds
picotool load target/thumbv8m.main-none-eabihf/release/rover-leds -t elf -f

See mcu/README.md.

Documentation

Topic Link
System architecture bvr/docs/architecture.md
Hardware BOM docs/hardware/bom.md
RTK GPS setup docs/hardware/rtk.md
Teleop system bvr/docs/teleop.md
Design language docs/design-language.md

License

MIT

About

Municipal Robotics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •