tello_driver package from tello_driver repo


Package Summary

Tags No category tags.
Version 0.3.1
License Apache2
Build type CATKIN

Repository Summary

Checkout URI
VCS Type git
VCS Version development
Last Updated 2019-10-24
CI status Continuous Integration
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

>This package provides a ROS interface for the TelloPy library. Development of this ROS package pursues not to modify the TelloPy library, instead apply any modification or addition to the ros_driver package in an encapsulated manner.

Additional Links


  • Jordy van Appeven


  • Jordy van Appeven

tello_driver Build Status

1. Overview

Communicating with the Tello drone can be done either using official Tello SDK or one of the unofficial libraries. The unofficial libraries originated from the reverse-engineering the raw packages broadcasted by the Tello. This ROS package is build on top of the unofficial TelloPy library. The TelloPy library is used at this moment since it offers more functionalities than the official Tello SDK or any other unofficial library.

Developing of the tello_driver ROS package is inspired by tello_driver, which by now diverged considerately from the original work. Furthermore, development of this ROS package pursues not to modify the TelloPy library, but instead apply any modification or addition to the ros_driver package in an encapsulated manner. This prevents breaking functionalities when updating the TelloPy library.


ROS distribution

Binary release from the ROS repository:
* Kinetic: $ sudo apt install ros-kinetic-tello-driver

Build from source

  • $ cd <CATKIN_WS/SRC> * $ git clone --recursive
  • $ cd .. * $ catkin_make
  • $ source devel/setup.bash


  • Turn on Tello drone
  • Connect to drone's WiFi access point ( TELLO_XXXXXX)
  • $ roslaunch tello_driver tello_node.launch * $ roslaunch tello_driver joy_teleop.launch

2. Nodes

2.1 tello_driver_node

Main node running as interface for the TelloPy library

Subscribed topics

Published topics




  • ~/tello_driver_node/connect_timeout_sec
  • ~/tello_driver_node/fixed_video_rate
  • ~/tello_driver_node/local_cmd_client_port
  • ~/tello_driver_node/local_vid_server_port
  • ~/tello_driver_node/stream_h264_video
  • ~/tello_driver_node/tello_cmd_server_port
  • ~/tello_driver_node/tello_ip
  • ~/tello_driver_node/vel_cmd_scale
  • ~/tello_driver_node/video_req_sps_hz
  • ~/tello_driver_node/altitude_limit
  • ~/tello_driver_node/attitude_limit
  • ~/tello_driver_node/low_bat_threshold

2.2 gamepad_teleop_node

Converting gamepad input controls from joy_node to commands for tello_driver_node

Subscribed topics

Published topic




2.3 joy_node

Receive input from gamepad controller and publish into sensor_msgs/Joy message

Subscribed topics


Published topics




  • ~/joy_node/deadzone
  • ~/joy_node/dev

3. Troubleshooting

  • No more video output after reconnect
    Relaunch the tello_driver_node to continue the video stream after WiFi reconnection. Only an issue when using PyAV to decode h264 video instead of ROS codec_image_transport.

4. Notes

  • Stream raw video
    Depends on PyAV package: $ pip install av --user

Installation of PyAV on Ubuntu 16.04 requires ffmpeg of at least version 3:

$ sudo add-apt-repository ppa:jonathonf/ffmpeg-3

$ sudo apt update && sudo apt install ffmpeg

5. Work-in-progress

6. License


Changelog for package tello_driver

0.3.0 (2019-10-12)

  • Merge branch \'development\' of into development
  • CMake configuration include functional tello_driver for ROS repo
  • Update
  • Fix installation clone from branche develop-0.7.0
  • Gamepad_node fix flattrim to square, altitude and attitude limit params
  • Manual takeoff topic
  • Revert unfinished features
  • Addition of and joy node
  • Contributors: appie-17

0.2.0 (2019-10-02 15:29)

  • tello_driver 0.2.0 dependends on codec_image_transport instead of h264_image_transport
  • Merge branch \'codec_image_transport\' into development
  • Remove cloning h264_image_transport git repository
  • Replace h264_image_transport 3rd party package by codec_image_transport ROS
  • Add tag V0.1.0
  • Contributors: appie-17

0.1.0 (2019-10-02 11:51:23 +0200)

  • Update documentation
  • Merge branch \'development\' of into development
  • Update documentation
  • Fix tello_driver_node odom- and image frames
  • Development of Swarmlab tello_driver
  • Update
  • Update
  • Update
  • added fast mode; bugfixes
  • added cmd_XYZ to status msg + stream_h264_video rosparam + test scripts
  • video settings and improvements
  • working code for controlling 2(+) drones using wifi docker proxy
  • updated gitignore
  • improved networking
  • client_port
  • comments
  • docs and small fixes
  • missing launch files + docs
  • improved node + sync with TelloPy
  • working wrapper
  • typo
  • readme
  • added proxy docker container for connecting to multiple drones
  • first try using pytello (will switch to TelloPy)
  • Initial commit
  • Contributors: Anqi Xu, Jordy, appie-17

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

  • launch/tello_node.launch
      • tello_ip [default:]
      • tello_cmd_server_port [default: 8889]
      • local_cmd_client_port [default: 8890]
      • local_vid_server_port [default: 6038]
      • camera_calibration [default: $(find tello_driver)/cfg/960x720.yaml]
      • namespace [default: tello]
  • launch/logger.launch
      • [default: $(env HOME)/tello]
      • bag.topics [default: /diagnostics /joy /rosout /rosout_agg /tello/agent_cmd_vel_in /tello/cmd_vel /tello/flattrim /tello/flip /tello/land /tello/odom /tello/reset /tello/status /tello/takeoff /tello/tello/parameter_descriptions /tello/tello/parameter_updates /tello/throw_takeoff ]
  • launch/devel.launch
  • launch/joy_teleop.launch
      • joy_dev [default: /dev/input/js0]
      • namespace [default: tello]


No service files found


No plugins found.

Recent questions tagged tello_driver at Robotics Stack Exchange