ROS driver wrapper for DJI/Ryze Tello drone
Node: src/tello_driver_node.py
Topics:
~cmd_vel
: geometry_msgs/Twist~fast_mode
: std_msgs/Empty~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
using a virtual environment for python this is the sane thing to do, previously it was sudo -H pip...
, big no no.
$ pip 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
$ catkin build tello_driver
Optionally, install the following udev rules for PS3 gamepads; see instructions in comments on top of file.
- 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
This doesn't work apparently, but the camera is still accessible using rviz and subscribing to the topic.
Launching roslaunch tello_driver tello_node.launch
will start a node and connect to the drone. Then the usual topics will be available to receive publications.
No controller was availble when testing the modified package.
- 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
This was modified for personal needs and shared since a desperate attempt worked and the basic functions of the drone were fine. I'm not deep into the development of this package and cannot do much about other problems. Refer to the original repository for more details.