Ce driver permet de faire communiquer ROS avec le drone Tello EDU en utilisant la librairie de développement SDK de Tello et ça version modifié en Python offrant plus de possibilités.
Télecharger le projet Mettre le dossier dans le dossier src du catkin_workspace Faire un catkin_make pour générer le projet Faire source devel/setup.bash
Pour lancer le driver :
Allumer le drone
Se connecter au drone sur son wifi TELLO-XXXXXX
Puis enfin : Roslaunch tello_driver tello_driver_node.launch
cfg -> contient les configs du Tello EDU
launch -> contient les fichiers .launch
msg -> contient le message de status du Tello EDU
nodes -> contient les exécutables Python
src -> contient la bibliothèque TelloPy SDK
/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
/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
La première node à lancer qui assure la liaison entre le drone et ROS.
Il reçoie le flux vidéo, le status du drone etc
Et envoie les commandes et la vitesse du drone.
Mappage des commandes du drone sur des boutons du clavier.
Il y a un bouton pour chaque commande tels que takeoff, land, emergency.
takeoff permet de décoller
land d'attérir
emergency de couper tous les moteurs
Puis d'autres boutons pour jouer sur le topic /tello/cmd_vel qui règle la vitesse pour chaque direction et angle du drone.
Node de déplacement et de rotation.
Il suffit alors d'imbriquer les fonctions pour paramétrer des trajets.
Il gère les consignes et la vitesse de la même façon que la node keyboar_teleop.
Ce package est basé sur :
https://github.com/appie-17/tello_driver.git
http://wiki.ros.org/tello_driver