# 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 ```