naoki-mizuno / tello_driver

ROS driver for DJI/Ryze Tello drones

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tello_driver

WORK-IN-PROGRESS

ROS driver wrapper for DJI/Ryze Tello drone

Node: src/tello_driver_node.py

Topics:

Parameters:

  • ~tello_ip
  • ~tello_cmd_port
  • ~client_port
  • ~connect_timeout_sec

Installation

  • $ 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/h264_image_transport.git
  • $ git clone https://github.com/anqixu/tello_driver.git
  • $ cd ..
  • $ rosdep install h264_image_transport
  • $ rosdep install tello_driver
  • $ catkin build tello_driver

Optionally, install the following udev rules for PS3 gamepads; see instructions in comments on top of file.

Running the 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

Tele-operate the drone using a wired DualShock 3 gamepad

First check out the following and possibly adjust parameters / code / mappings:

Now run:

  • $ roslaunch tello_driver devel.launch

Connecting to multiple drones

It is possible to connect to multiple Tello drones by using multiple USB WiFi dongles and a Docker container running UDP proxy servers.

Known bugs

  • 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

About

ROS driver for DJI/Ryze Tello drones

License:Apache License 2.0


Languages

Language:Python 83.0%Language:Shell 7.0%Language:CMake 6.6%Language:C++ 1.8%Language:Dockerfile 1.6%