Robot Tello Drone = Botello.
Botello is here! Kinda, at least. My goal with this project is to create a robotic drone that would provide a foundation for later experimentation.
Generally, take a look at the GitHub repo if you’re curious! It will be up to date.
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. Also, before we begin, ~I would like to point out that this is not a thorough installation guide. If you’d like to build this code locally and use it (and you are having trouble doing so), then let me know and I’ll expand on the installation/build process.~ I actually ended up writing quite a bit about the installation process — still, let me know if you need more.
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
For the following commands, you’ll need
# 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
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.
tello_driver in this repository without making it a submodule (this is not good practice, sorry!), I ended up removing its