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.
$ cd <CATKIN_WS/SRC>
$ git clone https://github.com/hanyazou/TelloPy/tree/develop-0.7.0
$ cd TelloPy
$ pip install av numpy --user
$ python setup.py install --user
$ cd ..
$ git clone https://github.com/appie-17/tello_driver.git
$ 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
Main node running as interface for the TelloPy library
/tello/cmd_vel
geometry_msgs/Twist/tello/emergency
std_msgs/Empty/tello/fast_mode
std_msgs/Empty/tello/flattrim
std_msgs/Empty/tello/flip
std_msgs/Uint8/tello/land
std_msgs/Empty/tello/palm_land
std_msgs/Empty/tello/takeoff
std_msgs/Empty/tello/throw_takeoff
std_msgs/Empty
/tello/camera/camera_info
sensor_msgs/CameraInfo/tello/image_raw
sensor_msgs/Image/tello/imag/raw/h264
h264_image_transport/H264Packet/tello/odom
nav_msgs/Odometry/tello/status
tello_driver/TelloStatus
~/image_raw/compressed/format
~/image_raw/compressed/jpeg_quality
~/image_raw/compressed/png_level
~/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