ROS driver wrapper for DJI/Ryze Tello drone
Node: src/tello_driver_node.py
Topics:
~cmd_vel
: geometry_msgs/Twist~image_raw
: sensor_msgs/Image~takeoff
: std_msgs/Empty~throw_takeoff
: std_msgs/Empty~land
: std_msgs/Empty~palm_land
: std_msgs/Empty~flattrim
: std_msgs/Empty~flip
: std_msgs/Uint8
Parameters:
~tello_ip
~tello_cmd_port
~client_port
~connect_timeout_sec
$ cd <CATKIN_WS/SRC>
$ git clone https://github.com/anqixu/TelloPy.git
$ cd TelloPy
$ sudo -H pip2 install -e .
$ cd ..
$ git clone https://github.com/anqixu/tello_driver.git
$ cd ..
$ rosdep install tello_driver
$ catkin build tello_driver
- turn on drone and wait for its front lights to blink amber
- connect WiFi to drone's access point (e.g.
TELLO_######
) $ roslaunch tello_driver launch/tello_node.launch
To see the camera:
$ rosrun rqt_image_view rqt_image_view /tello/image_raw/compressed
First check out the following and possibly adjust parameters / code / mappings:
Now run:
$ roslaunch tello_driver devel.launch
It is possible to connect to multiple Tello drones by using multiple USB WiFi dongles and a Docker container running UDP proxy servers.
- Sometimes, perhaps when taking off without moving gamepad analog sticks / sending commands to
/tello/cmd_vel
, further cmd_vel will not work; fix by restarting node, moving gamepad analog sticks / send a message to/tello/cmd_vel
FIRST, then takeoff