Botello
Robot Tello Drone
For the most up-to-date information, see the github repo: https://github.com/yoraish/botello
Notice: This project has been developed on old software. Namely Ubuntu 16.04 and ROS Kinetic. I have plans to migrate the work done to newer ROS and Ubuntu distributions. Please stay tuned for that.
This is an ongoing project in pursuit of autonomizing a small Tello drone. To date (2022-04-28), the robot can localize itself with respect to a visual marker and follow waypoints. The goals of this project are:
- Localize in a known map via landmark observations (e.g., markers, visual features, etc.).
- Navigate to arbitrary points on the map. Start with straightshot navigation and improve it with proper path planning in an occupancy grid.
- Experiment with onboard computation (Raspberry Pi Zero 2W?) for visual feature extraction and localization.
Let’s recap what we have so far.
About Botello
This will be populated in the future :).
Setup
My setup runs on Ubuntu 16.04 and ROS Kinetic. I installed PyAV with the following command: python -m pip install av==0.5.2
and my Python version is: 2.7.12. The backbone of our communication with the Tello is owed to the great work done on the package tello_driver
, I cannot emphasize enough how great the work on this package is! It allows us to do so much with the Tello.
If you want to install botello
:
For the following commands, you’ll need catkin tools
.
# Clone/fork this repository into some location in your computer
git clone https://github.com/yoraish/botello.git
# Navigate to the workspace.
cd botello/botello_ws
# Start by building only tello driver
catkin build tello_driver
# Build all the packages.
catkin build
# Source your setup file.
source path/to/botello_ws/devel_setup.bash # Or .zsh if you use that.
# Launch all the nodes (after connecting to the Tello via WiFi).
roslaunch botello_driver tello_driver.launch
If this does not work for you, then you should install tello_driver
independently, then clone this repository, and finally replace tello_driver
(of this repository) with the copy that you have installed independently.
I think installing tello_driver
independently should solve some issues like
from tellopy._internal import tello
ImportError: No module named _internal
If you want to ONLY install tello_driver
:
To get it to work, I created a fresh workspace and installed tello_driver
from source with the following:
# create some folder_ws/src,
$ cd /path/to/the/folder_ws
$ catkin init
$ cd src
$ git clone --recursive https://github.com/appie-17/tello_driver.git
$ cd ..
$ catkin build
$ source /path/to/the/folder_ws/devel/setup.bash # Or zsh if you use that like me.
$ roslaunch tello_driver tello_node.launch # To check if it works.
To keep tello_driver
in this repository without making it a submodule (this is not good practice, sorry!), I ended up removing its .git
directory.