Initial commit: project plan and roadmap

Mars Rover VR Project — 5-phase plan from panorama stitching
to immersive VR on Meta Quest 3.

Phases:
1. Image Collection & Database (complete)
2. Panorama Stitching Pipeline (in progress)
3. Equirectangular/Spherical Output
4. 3D Assets (rover model + photogrammetry terrain)
5. VR Application (Meta Quest 3)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Franck Garnier
2026-04-12 22:03:11 -04:00
commit 8f49bb3e1e
3 changed files with 231 additions and 0 deletions

81
README.md Normal file
View File

@@ -0,0 +1,81 @@
# Mars Rover — Immersive VR Experience
Explore Mars through the eyes of NASA's rovers in virtual reality.
This project creates immersive VR experiences from real Mars rover data: 360° panoramas, 3D rover models, and photogrammetric terrain, viewable on Meta Quest 3.
## Project Repositories
| Repository | Purpose | Status |
|-----------|---------|--------|
| [mars-panorama-pipeline](https://git.dupre-garnier.ca/git_admin/mars-panorama-pipeline) | Automated panorama stitching (Docker + Hugin) | Active |
| mars-rover (this repo) | Project documentation, planning, VR app | Active |
## Architecture
```
Mars Rover Data (NASA API)
|
v
[Phase 1] Image Collection & Database
| - NASA Mars Rover Photos API (Perseverance, Curiosity)
| - MySQL database (photos metadata, mast_az/el positioning)
| - Automated weekly collection (cron)
|
v
[Phase 2] Panorama Stitching Pipeline --> mars-panorama-pipeline repo
| - Docker container (Hugin CLI + Python + OpenCV)
| - CLAHE preprocessing for feature matching
| - Incremental assembly for large panoramas (80+ images)
| - NavCam (enblend) + Mastcam-Z (verdandi) blending
|
v
[Phase 3] Equirectangular Projection
| - 360° spherical panorama output
| - HDR processing for VR
| - Multiple resolution tiers
|
v
[Phase 4] 3D Assets
| - Rover 3D model (GLB format, NASA CAD data)
| - Photogrammetric terrain mesh (Meshroom)
| - Texture mapping from rover images
|
v
[Phase 5] VR Application
- Meta Quest 3 native app (Android/OpenXR)
- Spherical environment from panorama
- 3D rover model at scene center
- Photogrammetric terrain for near-field
- Free movement around rover
```
## Data Sources
| Source | Type | Volume |
|--------|------|--------|
| NASA Mars Rover Photos API | Images + metadata | 818K+ Curiosity, 365K+ Perseverance |
| NASA PDS (Planetary Data System) | Raw science data + XML | ~807 GB |
| NASA 3D Models | Rover GLB/USDZ | 12 MB (Perseverance) |
## Infrastructure
| Machine | Role | Specs |
|---------|------|-------|
| Homelab (192.168.1.42) | Database, Docker, NAS, Git | i7-6700T, 32GB, Debian 13 |
| AstroLab (192.168.1.250) | GPU processing, VR dev, Hugin UI | Ryzen 7 7735HS, 29GB, Win11 |
| NAS (/mnt/astro) | Image storage | 4 TB USB |
## Quick Start
```bash
# Clone
git clone https://git.dupre-garnier.ca/git_admin/mars-rover.git
# Generate a panorama (Docker)
docker run --rm \
-v /mnt/astro/mars_rovers:/data \
-v /mnt/astro/mars_rovers/images/panorama/perseverance:/output \
mars-panorama-pipeline \
--sol 1813 --camera NAVCAM_LEFT
```