Skip to content

HalfasleepDev/DriveCore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Platform Python OpenCV PySide6 Version License

DriveCore

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)


Ver 1.3.0 Demo


Research motivation

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.

Architecture

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.


Current status

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.


Research roadmap

Mapping Engine (Drive Assist)

  • 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

DriveCore OS

  • 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

Milestones

  • v1.4.x — Intelligent perception + Mapping Engine beta
  • v1.5 — Autonomy foundations (rule-based + Kalman path following)

Getting started

Full installation details are in INSTALL.md. The steps below are a quick summary.

Prerequisites

Component Requirement
Vehicle (Pi) Raspberry Pi 4+, 2 GB RAM min, Pi camera, pigpio
Client Linux or Windows, Python 3.9+, ROCm/CUDA optional

Quick install

# 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.py

For Pi setup (OS files, pigpio configuration, and the host boot script), see INSTALL.md.


Repository structure

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


Citation / reference

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.


License

MIT License — see LICENSE.

About

DriveCore is a modular and scalable platform designed for controlling RC vehicles with the potential for AI-powered autonomy. Built using Python, OpenCV, and a Raspberry Pi, DriveCore serves as the foundation for both manual and automated vehicle operation, integrating computer vision, sensor fusion, and remote control capabilities.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages