# gzuav

TODO: Add description and screenshots here

## System requirements

```TODO```

## Running the example

1. Install gzuav:
```bash
cmake ... to be documented
```

2. Open a terminal run:
```bash
gzuavserver /path/to/example/example.ini
```

3. In a second terminal run either this...
```bash
gzuavcluster 127.0.0.1 9999 iris_demo_0{1,2,3,4,5,6,7,8}
```
...or this if you also want to run a simple autonomous flight demo on each UAV:
```bash
gzuavcluster 127.0.0.1 9999 iris_demo_0{1,2,3,4,5,6,7,8} -- python3 -u /path/to/example/dronekit-example.py
```

4. Optionally, in a third terminal run this to see the Gazebo GUI:
```bash
gzuavclient 127.0.0.1 9999
```

Optionally, you can also connect QGroundControl to 127.0.0.1 (TCP port 5760) to control the UAVs.

**Note**: If you run the dronekit example and QGroundControl at the same time, you may incur in https://github.com/dronekit/dronekit-python/issues/677 ("Exception in message handler for HEARTBEAT"). Refer to the answer by user "tizioanfiorenzani" for instructions on how to upgrade a fixed version of the library.

## How to add more UAVs

TODO

## Distributed simulation

TODO
