A reproducible testbed for monocular depth-based perception and autonomous navigation on low-cost RC hardware.
DriveCore is an open R&D platform designed to lower the barrier to entry for perception and autonomy research. It pairs a Raspberry Pi vehicle OS with a desktop client running real-time depth estimation and a voxel-based mapping engine — letting researchers iterate on manual driving, perception, mapping, and autonomy without rebuilding the software stack each time.
Current focus: Drive Assist — Mapping Engine (depth → voxel occupancy map → hazard detection → path and steering output)
Low-cost RC platforms offer a practical middle ground between pure simulation and full-scale autonomous vehicles, but most existing frameworks either lock you into specific hardware or treat the vehicle as a black box. DriveCore is designed around three open research problems:
- Monocular depth in real-time on edge hardware — how well can transformer-based depth models (via Depth Anything V2) drive practical obstacle avoidance without dedicated depth sensors?
- Voxel-based occupancy mapping from a single moving camera — building and stabilizing a spatial map using only monocular depth and (eventually) IMU ego-motion.
- Lightweight autonomy on constrained hardware — rule-based and Kalman-filter path following that runs reliably on a Raspberry Pi 4.
DriveCore splits computation deliberately: perception and mapping run on the desktop client where GPU acceleration is available, while the Pi stays focused on real-time motor control and telemetry.
┌─────────────────────────────────┐ ┌──────────────────────────────┐
│ DriveCore Client │ │ DriveCore OS (Pi) │
│ (Desktop) │ │ (On-vehicle) │
│ │ │ │
│ PySide6 UI │◄──────►│ PWM motor / servo (pigpio) │
│ UDP video receive │ UDP │ UDP video stream │
│ Depth estimation │ │ Telemetry & IMU (planned) │
│ └─ Depth Anything V2 (repo) │ │ OLED status display │
│ Mapping Engine │ │ Wi-Fi captive portal │
│ └─ Voxel grid + hazard cells │ │ Auto-start host services │
│ └─ Path / steering output │ │ │
│ Vehicle tuning & logs │ │ │
└─────────────────────────────────┘ └──────────────────────────────┘
Depth estimation uses the Depth Anything V2 repository by Lihe Yang et al. DriveCore integrates it as an external dependency — it is not developed here.
Active vehicle: D-14 — running v1.3.x "Control System & Communication Layer"
See the full changelog, hardware notes, and per-version demos in D-14/README.md.
- Depth pipeline integration (Depth Anything V2)
- Perspective grid + alert cell extraction
- PySide6 mapping widget prototype
- IMU fusion for ego-motion and map stabilization
- Persistent object tracking and landmark anchoring
- Path following and autonomy hooks
- Auto-start host services
- Wi-Fi captive portal for headless setup
- OLED status display
- TUI control surface (debug / config)
- Packaged vehicle plug-in layout for new platforms
- IMU streaming service
- v1.4.x — Intelligent perception + Mapping Engine beta
- v1.5 — Autonomy foundations (rule-based + Kalman path following)
Full installation details are in
INSTALL.md. The steps below are a quick summary.
| Component | Requirement |
|---|---|
| Vehicle (Pi) | Raspberry Pi 4+, 2 GB RAM min, Pi camera, pigpio |
| Client | Linux or Windows, Python 3.9+, ROCm/CUDA optional |
# 1. Clone
git clone https://github.com/HalfasleepDev/DriveCore.git
cd DriveCore
# 2. Client dependencies
python -m venv env
source env/bin/activate
pip install -r requirements.txt
# 3. Launch client
python3 D-14/Client-Side/client-app/main.pyFor Pi setup (OS files, pigpio configuration, and the host boot script), see INSTALL.md.
DriveCore/
├── D-14/ # Primary development vehicle
│ ├── Client-Side/
│ │ ├── client-app/ # Main PySide6 application
│ │ ├── openCV-testing/ # OpenCV & depth experiments
│ │ └── ui-prototypes/ # UI prototypes
│ ├── DriveCore-OS/ # Pi host files
│ └── pytest-tests/ # Tests (TBD)
├── Probe-33/ # New vehicle (in progress)
└── requirements.txt
Full navigation: D-14 docs · Probe-33 docs · CV experiments · UI prototypes
If you use DriveCore in your research, please cite it as:
@misc{drivecore,
author = {Gregory Eloi (HalfasleepDev)},
title = {DriveCore: Modular RC Vehicle Control, Depth-Based Perception, and Autonomy Research Framework},
year = {2025},
url = {https://github.com/HalfasleepDev/DriveCore}
}
Depth estimation is provided by Depth Anything V2 — please cite that work separately if you use the depth pipeline.
MIT License — see LICENSE.
