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>
82 lines
2.6 KiB
Markdown
82 lines
2.6 KiB
Markdown
# 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
|
|
```
|