# tellobut_ws
ROS catkin workspace with various Tello-related packages, currently focused on the fiducial tag-based localization. Tested on Ubuntu 18.04.4 LTS and ROS Melodic.

## Installation
- `cd <DESIRED_LOCATION>`
- `git clone --recurse-submodules git@student.robotika.ceitec.vutbr.cz:student-projects/tellobut_ws.git`
- `cd tellobut_ws`
- `catkin_make`
- `source devel/setup.bash` 
- recommended: `echo "source <DESIRED_LOCATION>/tellobut_ws/devel/setup.bash" >> ~/.bashrc`

## Running
Run Tello driver and Aruco detection:
```
roslaunch tello_localization ardetect.launch
```

Publish static transformations describing the distribution of the tags in space (create your own launch file, this is an example for a specific lab). Recommended naming: `tags_<room_name>.launch`.
```
roslaunch tello_localization tags_se1112.launch
```

Run the localization algorithm:
```
rosrun tello_localization localization.py
```

Run the navigation algorithm:
```
rosrun tello_navigation navigation.py
```

Run the command script:
```
rosrun tello_command command.py
```
## Troubleshooting
- tello_driver requires PyAV library wich requires ffmpeg. Tested with ffmpeg v 3.4.6 and PyAV 6.2.0 (`sudo apt install ffmpeg` and `pip install -Iv av==6.2.0`)
