Show EOL distros:
Package Summary
>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.
- Maintainer status: developed
- Maintainer: Jordy van Appeven <jordyvanappeven AT gmail DOT com>
- Author: Jordy van Appeven <jordyvanappeven AT gmail DOT com>
- License: Apache2
- Bug / feature tracker: https://github.com/appie-17/tello_driver/issues
- Source: git https://github.com/appie-17/tello_driver.git (branch: 0.3.2)
Package Summary
The tello_driver package
- Maintainer status: developed
- Maintainer: Pedro Arias <pedroariasperez96 AT gmail DOT com>
- Author: Pedro Arias <pedroariasperez96 AT gmail DOT com>
- License: MIT
Package Summary
The tello_driver package
- Maintainer status: developed
- Maintainer: Pedro Arias <pedroariasperez96 AT gmail DOT com>
- Author: Pedro Arias <pedroariasperez96 AT gmail DOT com>
- License: MIT
Contents
Use GitHub to report bugs or submit feature requests. [View active issues]
tello_driver
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.
Installation
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 https://github.com/appie-17/tello_driver.git
$ cd ..
$ catkin_make
$ source devel/setup.bash
Launch
- Turn on Tello drone
Connect to drone's WiFi access point (TELLO_XXXXXX)
$ roslaunch tello_driver tello_node.launch
Nodes
tello_driver_node
Main node running as interface for the TelloPy library
Subscribed topics
/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
Published topics
/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/imu sensor_msgs/Imu
/tello/status tello_driver/TelloStatus
Parameters
~/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
gamepad_teleop_node
Converting gamepad input controls from joy_node to commands for tello_driver_node
Subscribed topics
/joy sensor_msgs/Joy
/tello/agent_cmd_vel_in geometry_msgs/Twist
Published topics
/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
Services
None
Parameters
joy_node
Receive input from gamepad controller and publish into sensor_msgs/Joy message
Subscribed topics
None
Published topics
/joy sensor_msgs/Joy
Services
None
Parameters
~/joy_node/deadzone
~/joy_node/dev
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.
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
WIP