tello_driver package from tello_driver repotello_driver |
|
Package Summary
Tags | No category tags. |
Version | 0.3.1 |
License | Apache2 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/appie-17/tello_driver.git |
VCS Type | git |
VCS Version | development |
Last Updated | 2019-10-24 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Jordy van Appeven
Authors
- Jordy van Appeven
tello_driver
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.
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 (
$ 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
-
/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/manual_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
Services
TODO
Parameters
2.2 gamepad_teleop_node
Converting gamepad input controls from
``` to commands for
```tello_driver_node
Subscribed topics
-
/joy
sensor_msgs/Joy -
/tello/agent_cmd_vel_in
geometry_msgs/Twist
Published topic
-
/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
2.3 joy_node
Receive input from gamepad controller and publish into
``` message
### Subscribed topics
None
### Published topics
*
```/joy
``` [sensor_msgs/Joy](http://docs.ros.org/api/sensor_msgs/html/msg/Joy.html)
### Services
None
### Parameters
*
```~/joy_node/deadzone
3. Troubleshooting
-
No more video output after reconnect
Relaunch thetello_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 https://github.com/appie-17/tello_driver into development
- CMake configuration include functional tello_driver for ROS repo
- Update README.md
- 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 gamepad_teleop_node.py 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 https://github.com/appie-17/tello_driver into development
- Update documentation
- Fix tello_driver_node odom- and image frames
- Development of Swarmlab tello_driver
- Update README.md
- Update README.md
- Update README.md
- 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
Package Dependencies
Deps | Name |
---|---|
message_generation | |
cv_bridge | |
camera_info_manager_py | |
dynamic_reconfigure | |
geometry_msgs | |
codec_image_transport | |
image_transport | |
nav_msgs | |
rospy | |
sensor_msgs | |
std_msgs | |
catkin | |
message_runtime |
System Dependencies
Dependant Packages
Launch files
- launch/logger.launch
-
- bag.name [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/tello_node.launch
-
- tello_ip [default: 192.168.10.1]
- 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/joy_teleop.launch
-
- joy_dev [default: /dev/input/js0]
- namespace [default: tello]
- launch/devel.launch