WSL Support
This commit is contained in:
87
README.md
87
README.md
@@ -3,20 +3,20 @@
|
||||
|
||||
A complete simulation environment for UAV (drone) and UGV (ground vehicle) development using **GPS-denied navigation** with vision-based localization, while maintaining GPS-based geofencing for safety.
|
||||
|
||||
## 🎯 Key Feature: GPS-Denied Navigation
|
||||
## Key Feature: GPS-Denied Navigation
|
||||
|
||||
**Navigation Mode**: All vehicles navigate using **relative positioning** only:
|
||||
- ✅ Visual odometry from cameras
|
||||
- ✅ Optical flow sensors
|
||||
- ✅ IMU integration
|
||||
- ✅ Visual landmark tracking
|
||||
- ✅ Local coordinate frames
|
||||
- Visual odometry from cameras
|
||||
- Optical flow sensors
|
||||
- IMU integration
|
||||
- Visual landmark tracking
|
||||
- Local coordinate frames
|
||||
|
||||
**GPS Usage**: GPS is ONLY used for:
|
||||
- ✅ Geofencing (safety boundaries)
|
||||
- ✅ Initial position reference (optional)
|
||||
- ❌ NOT used for waypoint navigation
|
||||
- ❌ NOT used for position control
|
||||
- Geofencing (safety boundaries)
|
||||
- Initial position reference (optional)
|
||||
- NOT used for waypoint navigation
|
||||
- NOT used for position control
|
||||
|
||||
This simulates real-world GPS-denied environments like:
|
||||
- Indoor spaces
|
||||
@@ -26,31 +26,41 @@ This simulates real-world GPS-denied environments like:
|
||||
|
||||
## Features
|
||||
|
||||
- 🚁 **Iris quadcopter** with dual cameras (forward + downward)
|
||||
- 🚗 **Ground vehicle (UGV)** with vision sensors
|
||||
- 📷 **Visual odometry** - camera-based position estimation
|
||||
- 👁️ **Optical flow** - velocity estimation from downward camera
|
||||
- 🗺️ **Landmark navigation** - visual feature tracking
|
||||
- 🛡️ **GPS geofencing** - safety boundaries only
|
||||
- 🎮 **Single command launch** - everything runs from one script
|
||||
- 🖥️ **NVIDIA GPU acceleration** support
|
||||
- 🐍 **Python virtual environment** for isolated dependencies
|
||||
- 🌍 **GPS-denied worlds** - indoor and urban environments
|
||||
- **Iris quadcopter** with dual cameras (forward + downward)
|
||||
- **Ground vehicle (UGV)** with vision sensors
|
||||
- **Visual odometry** - camera-based position estimation
|
||||
- **Optical flow** - velocity estimation from downward camera
|
||||
- **Landmark navigation** - visual feature tracking
|
||||
- **GPS geofencing** - safety boundaries only
|
||||
- **Single command launch** - everything runs from one script
|
||||
- **NVIDIA GPU acceleration** support
|
||||
- **Python virtual environment** for isolated dependencies
|
||||
- **GPS-denied worlds** - indoor and urban environments
|
||||
|
||||
## System Requirements
|
||||
|
||||
- Ubuntu 22.04 LTS
|
||||
- Python 3.10
|
||||
- ROS 2 Humble
|
||||
- **Ubuntu 22.04 LTS** (or 24.04 with ROS 2 Jazzy)
|
||||
- **Python 3.10+**
|
||||
- **ROS 2 Humble** (or Jazzy for Ubuntu 24.04)
|
||||
- 8GB RAM minimum (16GB recommended)
|
||||
- NVIDIA GPU recommended
|
||||
|
||||
### WSL2 Support (Windows)
|
||||
|
||||
This project supports **Windows Subsystem for Linux (WSL2)**:
|
||||
- Windows 10 (21H2+) or Windows 11
|
||||
- WSL2 with Ubuntu 22.04
|
||||
- GUI support via WSLg (Windows 11) or VcXsrv (Windows 10)
|
||||
- See [WSL Setup Guide](docs/wsl_setup_guide.md) for detailed instructions
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Linux (Native)
|
||||
|
||||
```bash
|
||||
# 1. Clone repository
|
||||
cd ~/ros2_ws/src
|
||||
git clone <your-repo-url> uav_ugv_simulation
|
||||
git clone https://git.sirblob.co/SirBlob/simulation.git uav_ugv_simulation
|
||||
cd uav_ugv_simulation
|
||||
|
||||
# 2. Run setup (installs everything)
|
||||
@@ -64,6 +74,30 @@ source activate_venv.sh
|
||||
bash scripts/run_simulation.sh
|
||||
```
|
||||
|
||||
### WSL2 (Windows)
|
||||
|
||||
```bash
|
||||
# 1. Clone repository
|
||||
cd ~
|
||||
git clone https://git.sirblob.co/SirBlob/simulation.git uav_ugv_simulation
|
||||
cd uav_ugv_simulation
|
||||
|
||||
# 2. Run WSL-specific setup
|
||||
bash scripts/setup_wsl.sh
|
||||
|
||||
# 3. Restart terminal
|
||||
exit
|
||||
# Reopen WSL terminal
|
||||
|
||||
# 4. Run simulation
|
||||
cd ~/uav_ugv_simulation
|
||||
source activate_venv.sh
|
||||
bash scripts/run_simulation.sh
|
||||
|
||||
# If graphics are slow, use software rendering:
|
||||
bash scripts/run_simulation.sh --software-render
|
||||
```
|
||||
|
||||
## GPS-Denied Navigation Architecture
|
||||
|
||||
```
|
||||
@@ -178,7 +212,8 @@ mission_waypoints = [
|
||||
|
||||
## Documentation
|
||||
|
||||
- [Setup Guide](docs/setup_guide.md)
|
||||
- [Setup Guide](docs/setup_guide.md) - Linux installation
|
||||
- [WSL Setup Guide](docs/wsl_setup_guide.md) - Windows WSL2 installation
|
||||
- [Usage Guide](docs/usage.md)
|
||||
- [Architecture Overview](docs/architecture.md)
|
||||
- [GPS-Denied Navigation](docs/gps_denied_navigation.md)
|
||||
@@ -191,7 +226,7 @@ mission_waypoints = [
|
||||
| Position Source | GPS satellites | Visual odometry + sensors |
|
||||
| Waypoint Type | GPS coordinates | Relative coordinates (x,y,z) |
|
||||
| Reference Frame | Global (lat/lon) | Local (relative to start) |
|
||||
| Indoor Capability | ❌ No | ✅ Yes |
|
||||
| Indoor Capability | No | Yes |
|
||||
| Drift | Minimal | Accumulates over time |
|
||||
| Geofencing | GPS-based | GPS-based (safety only) |
|
||||
| Use Cases | Outdoor, open sky | Indoor, urban, GPS-jammed |
|
||||
|
||||
Reference in New Issue
Block a user