73 lines
1.5 KiB
Markdown
73 lines
1.5 KiB
Markdown
# Gazebo Simulation Guide
|
|
|
|
## Quick Start (2 Terminals)
|
|
|
|
**Terminal 1 - Gazebo:**
|
|
```bash
|
|
ros2 launch gazebo/launch/drone_landing.launch.py
|
|
```
|
|
|
|
**Terminal 2 - Controllers:**
|
|
```bash
|
|
source activate.sh
|
|
python run_gazebo.py --pattern circular
|
|
```
|
|
|
|
## Command Options
|
|
|
|
```bash
|
|
python run_gazebo.py --pattern circular --speed 0.5
|
|
|
|
Options:
|
|
--pattern, -p stationary, linear, circular, square, random
|
|
--speed, -s Rover speed in m/s (default: 0.5)
|
|
--amplitude, -a Movement radius (default: 2.0)
|
|
--no-rover Disable rover controller
|
|
```
|
|
|
|
## View Camera
|
|
|
|
```bash
|
|
python camera_viewer.py --topic /drone/camera
|
|
```
|
|
|
|
## Sensors
|
|
|
|
| Sensor | Description |
|
|
|--------|-------------|
|
|
| IMU | Orientation, angular velocity |
|
|
| Altimeter | Altitude, vertical velocity |
|
|
| Velocity | Estimated velocity (x, y, z) |
|
|
| Camera | Downward-facing image |
|
|
| Landing Pad | Relative position |
|
|
|
|
## ROS 2 Topics
|
|
|
|
| Topic | Direction |
|
|
|-------|-----------|
|
|
| `/cmd_vel` | Your commands → Drone |
|
|
| `/drone/telemetry` | Sensors → You |
|
|
| `/drone/camera` | Camera → You |
|
|
| `/rover/telemetry` | Rover position |
|
|
|
|
## Headless Mode (WSL2)
|
|
|
|
```bash
|
|
# Server only (no GUI)
|
|
ign gazebo -s gazebo/worlds/drone_landing.sdf
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
**Drone falls:**
|
|
- Check `run_gazebo.py` is running
|
|
- Check topic: `ros2 topic echo /drone/cmd_vel`
|
|
|
|
**Rover doesn't move:**
|
|
- Check topic: `ros2 topic echo /rover/cmd_vel`
|
|
|
|
**Model not found:**
|
|
```bash
|
|
export GZ_SIM_RESOURCE_PATH=$PWD/gazebo/models:$GZ_SIM_RESOURCE_PATH
|
|
```
|