Do it Yourself : construire son drone - Partie 3

Si vous avez bien suivi les deux premières parties de cet article, votre drone est désormais quasiment prêt pour le décollage ! Vous pouvez ainsi le contrôler manuellement, et ses capacités par défaut en font un appareil autonome dans certaines situations. Dans cette troisième et dernière partie, vous découvrirez comment choisir et installer votre batterie, et enfin, comment interagir avec le multicopter.

Une LiPo et ça décolle…

Afin d’alimenter l’ensemble des systèmes de l’appareil, vous devez équiper votre drone d’une batterie. L’idéal, particulièrement lorsque l’on utilise des moteurs de type brushless, est d’utiliser le Lithium Polymère, plus communément appelé LiPo. Ce type de batterie a pour avantage de conserver l’intégralité de sa puissance tout au long de la décharge sans avoir d’effet palier.

Les cellules (“S”)

Les batteries de type LiPo sont composées d’une ou plusieurs cellules nommées “S”. Chacune de ces cellules a une tension nominale (c’est-à-dire une tension minimale utile, soit 80% de la décharge de la batterie) de 3,7V. Par exemple, pour une batterie LiPo de type 3S, la tension nominale est de 3 cellules x 3,7V soit 11,1V.

Soyez vigilants : la tension maximale d’une cellule d’une batterie LiPo est de 4,20V lorsque la batterie est chargée à 100%. Au-delà de cette tension ou si la tension d’une cellule est trop basse (en général en dessous de 3,3V), vous risquez d’endommager la batterie.

J’insiste sur ce point car il est important de comprendre que l’utilisation de batterie de type LiPo n’est pas anodin : un dépassement de la charge maximale peut entraîner un incendie de la batterie. A l’inverse, une décharge trop importante peut rendre inutilisable la batterie ou entraîner un phénomène de surchauffe qui endommagerait l’appareil sur lequel elle est fixée. Pour ces différentes raisons, je conseille d’utiliser un chargeur spécifique pour charger une batterie LiPo, mais j’y reviendrai un peu plus tard. Attention enfin, soyez précautionneux lors de sa manipulation : une batterie qui a reçu un choc peut devenir inutilisable.

Le nombre de cellules de votre batterie dépendra des moteurs que vous avez choisis. Vous trouverez dans les caractéristiques de ceux-ci le nombre de cellules qu’il leur faut pour fonctionner. Dans mon cas, les moteurs que j’ai choisis doivent fonctionner avec une batterie ayant au minimum 4 cellules et au maximum 8 (4S – 8S). J’ai choisi d’utiliser une batterie LiPo 4S car le système que j’utilise pour alimenter mon contrôleur de vol ne supporte pas des tensions supérieures à ce que fournissent les batteries avec plus de 4 cellules.

La capacité, la clé de votre autonomie

La deuxième caractéristique pour choisir votre batterie est sa capacité, exprimée en mAh. Plus la capacité est élevée, plus l’autonomie de votre batterie sera grande… et plus elle sera lourde. A vous de jouer pour trouver le bon compromis entre autonomie et poids. Pour ma part, j’ai fait le choix d’une batterie d’une capacité de 5100 mAh et je pense, d’après mes calculs, pouvoir dépasser les 10 minutes d’autonomie. En effet, partant du principe que la consommation des systèmes électroniques tels que le contrôleur de vol et autres GPS ne représente qu’un infime pourcentage de la consommation réelle du drone (et donc que les moteurs consomment 99% de l’électricité) je fais le calcul suivant :

–       un moteur (T-Motor Mt4008-18) qui tourne à 85% de sa puissance avec une hélice de 15” de diamètre consommera 5,6A selon les données du constructeur.

–       Mon drone est composé de 4 moteurs donc la consommation totale sera d’environ 4 x 5,6A = 22,4A.

–       Si on prend la formule temps(t) = Capacité(Q) / Intensité(I) on obtient le calcul t = 5,1(Ah) / 22,4(A) = 0,23(h), ce qui nous donne en minute : 13,8 minutes (0,23 x 60).

Cette durée n’est évidemment que théorique : chaque moteur ne vas pas forcément tourner constamment à 85% de sa puissance maximum et surtout la batterie ne doit pas être déchargée à plus de 85% de sa capacité.

Le taux de décharge

La dernière caractéristique à prendre en compte dans le choix de votre batterie est son taux de décharge. Il est, en général, indiqué sur la batterie en C (capacité), mais il est aussi parfois exprimé explicitement en Ampère. Il correspond au courant (A) que la batterie peut fournir en continu lors de sa décharge. Ma batterie LiPo de 5100 mAh de capacité, dont la valeur est de 35C, fournit un courant égal à 35 fois sa capacité soit 178,5A (35 x 5100 mA = 178,5A).

Le taux de décharge est un élément à prendre en compte car il permet de s’assurer que la batterie sera capable de fournir un courant continu suffisant pour faire fonctionner les moteurs et l’électronique. En effet, imaginez la mauvaise surprise en vol si la batterie ne peut plus fournir suffisamment de courant !

Vous trouverez chez les différents vendeurs des batteries de toutes les marques avec des connecteurs différents. Veillez à vérifier quel type de connecteur est soudé sur votre batterie afin de pouvoir adapter votre montage avec le bon connecteur. En général, vous avez deux choix qui s’offrent à vous si votre batterie a un connecteur différent du reste de votre montage : soit vous coupez et soudez un nouveau connecteur que vous aurez pris le soin d’acheter, soit vous achetez un adaptateur qui fera la jonction entre les deux types de connecteurs différents.

En ce qui concerne les marques de batterie, les mieux réputées mais aussi les plus chères sont les marques Tattu, Hyperion et Kypom. Ces batteries ont une bonne durée de vie et les valeurs annoncées au niveau de la capacité et du taux de décharge sont fiables. D’autres marques très répandues car moins chères comme Turnigy ou Zippy semblent avoir un bon rapport qualité / prix, mais il semblerait que les valeurs annoncées soit un peu surestimées. Je vous conseille donc de vous renseigner avant d’acheter une batterie d’une marque inconnue afin d’éviter les mauvaises surprises.

Un chargeur sachant charger…

Pour charger votre batterie LiPo, équipez-vous d’un chargeur spécifique, permettant au notamment de surveiller le voltage au fur et à mesure de la charge, ceci afin de ne pas dépasser les limites critiques d’une part, et d’équilibrer la charge entre les cellules de la batterie d’autre part.

Il existe de nombreuses marques de chargeur avec plus ou moins de fonctionnalités et de sécurité, pour toutes les bourses. Pensez, lors de l’achat, à vérifier deux aspects :

–        le chargeur doit être compatible avec votre batterie, autrement dit capable de charger le nombre de cellules de votre batterie,

–         la connectique doit être la bonne si par défaut votre chargeur n’a pas les bonnes fiches.

La charge doit s’effectuer de préférence en 1C, c’est-à-dire que l’ampérage lors de la charge doit correspondre à la capacité de la batterie. Pour ma batterie d’une capacité de 5100 mAh, je charge à 5,1A. Certains constructeurs annoncent que l’on peut charger jusqu’à 5C. Cependant, il est conseillé de ne pas le faire afin préserver la durée de vie de votre batterie.

Enfin, gardez toujours un œil sur le processus de charge afin de pouvoir agir en cas de problème : n’oubliez pas que l’utilisation de ces batteries n’est pas sans risque !

4…3…2…1… Décollage !

Désormais équipés d’une batterie chargée, vous devez lui trouver une place sur (ou sous) votre multicopter. Vérifiez bien les dimensions de votre batterie d’une part, et les dimensions de la place que vous lui avez réservée d’autre part. Ayant mal anticipé ce point, j’ai dû improviser un bricolage pour pouvoir installer la batterie sous mon drone.

Une fois la batterie fixée, il est temps de vous préparer pour votre premier vol ! Voici les étapes-clés de calibrage et paramétrage à respecter :

–  Assurez-vous que tous les éléments électroniques ont bien été calibrés (Accéléromètre, boussole, gyroscope, etc.),

–  Vérifiez que le calibrage de la radio commande à bien été réalisé et vérifiez si vous avez besoin ou non d’inverser la commande correspondant au pitch. En effet, selon les modèles de contrôleurs de vol, il est possible que le drone entame un déplacement vers l’arrière lorsque vous pousserez la manette pour avancer,

–  Vérifiez que les ESC sont tous bien calibrés : lorsque vous jouez avec la manette des gaz, les moteurs doivent réagir en même temps et tourner à la même vitesse. On peut le voir facilement lorsque l’on remet les gaz à zéro : si les ESC ne sont pas tous calibrés de la même façon, un ou des moteurs tourneront pendant que les autres seront à l’arrêt. Si votre contrôleur de vol le permet, effectuez le calibrage sur les 4 ESC simultanément. Sinon, faites le ESC par ESC. Des tutoriels disponibles sur Internet vous aideront à réaliser le calibrage, des différences existent selon que vous passiez par le contrôleur de vol ou que vous branchiez le récepteur de la radio commande directement sur l’ESC à calibrer.

–  Si votre contrôleur de vol implémente les fonctions Return To Launch (RTL) ou Loiter, paramétrez-les sur votre radio commande : lors des premiers vols, ces deux fonctions peuvent vous être très utiles en cas de perte de repère ou si le contrôle devient un peu trop difficile.

Ainsi, vous êtes prêts pour votre premier vol de test ! Si vous voulez voir le mien, ça se passe à l’adresse suivante : http://youtu.be/xLndW0gOq5o

drone final

drone vol 1

drone final vol

Allo Houston, ici le drone !

Dès lors que notre drone se retrouve dans les airs, on ne peut se fier qu’à nos yeux pour le diriger et évaluer les situations dans lesquelles il se trouve. De plus, construire un drone implique une recherche d’autonomie. J’aborde donc dans cette partie le sujet de la télémétrie, qui nous permettra non seulement d’avoir un feedback du contrôleur de vol, mais également de créer des missions autonomes… et de faire un peu de programmation !

Il existe plusieurs façons de recevoir et d’envoyer des informations à votre drone depuis votre contrôleur de vol. Je n’en évoquerai que deux, en lien avec le contrôleur de vol que j’ai décidé d’utiliser, en l’occurrence le contrôleur Pixhawk. Je vous invite à vous renseigner sur les possibilités qu’offre le contrôleur que vous aurez choisi.

Ceci étant dit, voici les options de télémétrie qui s’offrent à nous :

– Le module de télémétrie radio : ce module est composé de deux parties, une première partie destinée à être installée sur votre multicopter et qui se branche sur le port “Telem 2” de votre controleur Pixhawk. Ce module sera alimenté par le contrôleur et vous n’aurez rien d’autre à faire que de le brancher et de le fixer. La deuxième partie est équipée d’une prise USB à brancher sur votre ordinateur. Lorsque les deux parties sont alimentées respectivement par le drone et par l’ordinateur, l’appairage se fait automatiquement et vous aurez ainsi un canal de communication ouvert entre les deux. Libre à vous d’utiliser un logiciel dédié ou de tenter de programmer directement via le langage MavLink via ce canal. Une chose importante à savoir sur ce module est qu’il existe deux versions avec des fréquences différentes. Une version à 915 Mhz pour les États-Unis et une version à 433 Mhz pour le reste du monde. Ce n’est pas un détail : j’ai fait l’erreur de commander un module avec une mauvaise fréquence, et je possède donc des appareils que je ne peux utiliser sous peine de brouiller certaines fréquences de téléphonie portable.

– Un Raspberry Pi : cette carte a de nombreux avantages et permet, par son interface GPIO, de se connecter elle aussi au port “Telem 2” afin d’échanger avec le contrôleur de vol. De préférence, utilisez un module USB wifi pour communiquer avec un ordinateur au sol. Vous pouvez également communiquer avec un autre type de périphérique tel qu’un smartphone, lui aussi équipé du wifi (la procédure pour se connecter et communiquer est un peu plus complexe dans ce cas).

Raspberry Pi, Wifi, Ordinateur : équipez votre station de contrôle

Pour faire communiquer notre drone avec notre ordinateur (sur lequel on aura préalablement pris le soin d’installer le logiciel “Mission Planner” offrant toutes les fonctionnalités d’une station de contrôle), 5 grandes étapes sont nécessaires.

Pré-requis :

  • Un dongle USB wifi opérationnel
  • Un  Raspbian wheezy minimum d’installé
  •  Une connexion internet
  • Des câbles breadboard, Arduino, Pi.
  •  Un connecteur DF13 de 6 positions

Etape 1 : la fabrication du câble de connexion

La première étape consiste à fabriquer le câble qui va relier le contrôleur de vol avec la carte Raspberry. Pour le réaliser, j’ai utilisé des câbles classiques avec connecteur femelle pour breadboard pour réaliser les branchements sur les pins du Raspberry, et de l’autre côté un câble avec un connecteur DF13 (6 positions) pour le branchement dans le connecteur du contrôleur de vol. Vous n’aurez besoin que de 4 positions sur les 6. Pour le sens de branchement, il faut respecter les branchements suivants :

– Pour le connecteur DF13 (6 positions) :

le connecteur DF13

  • GPIO raspberry pi :

GPIO raspberry pi

Pour résumer ces branchements, le fil rouge correspond à la sortie 5V du contrôleur qui vient se brancher sur l’entrée 5V du Raspberry. Dans ce cas, c’est le contrôleur qui alimente la carte. Le fil noir correspond au ground, et les fils jaune et vert correspondent respectivement au signal de transmission et de réception.

Une fois votre câble fabriqué, place désormais à l’installation des librairies qui permettront au Raspberry de communiquer avec le contrôleur de vol, mais aussi de renvoyer l’information vers l’ordinateur distant.

Etape 2 : la désactivation du contrôle du port série par l’OS

Pour réaliser la désactivation du contrôle du port série par l’OS, vous devez vous connecter en SSH à votre Raspberry, puis entrer la commande suivante :

sudo raspi-config

Lorsque la fenêtre de configuration s’affiche, sélectionnez la 8ème ligne : “Advanced Option”.

Dans l’écran suivant, sélectionnez également la 8ème ligne “A8 serial”.

Sélectionnez ensuite ”No” dans l’écran suivant.

Un reboot s’impose maintenant pour prendre en compte le nouveau paramétrage.

Etape 3 : la récupération et l’installation des librairies MAVLink et  MAVproxy

Cette étape nécessite en premier lieu de mettre à jour la liste des librairies :

sudo apt-get update

Puis installez les librairies et utilitaires nécessaires à l’installation de MAVLink et MAVproxy :

sudo apt-get install screen python-wxgtk2.8 python-matplotlib python-opencv python-pip python-numpy python-dev libxml2-dev libxslt-dev

Enfin, récupérez et installez les librairies MAVLink et MAVproxy :

sudo pip install mavproxy

Etape 4 : le test de connexion

Vous êtes désormais prêts à faire un test de connexion entre le Raspberry Pi et le contrôleur de vol. Pour cela, il est nécessaire de connecter la carte au contrôleur sur le port “Telem 2” grâce au câble précédemment fabriqué, puis de mettre sous tension le drone et par la même occasion le contrôleur de vol et le Raspberry.

test de connection drone

Une fois connectés en SSH au Raspberry, entrez la ligne de commande suivante :

sudo -s mavproxy.py –master=/dev/ttyAMA0 –baudrate 57600 –aircraft monDrone

Si tout se passe bien, vous obtiendrez le résultat suivant :

ssh

Dans la commande précédente, l’argument master correspond au port utilisé pour se connecter au contrôleur de vol. Dans le cas d’un Raspberry, on utilise le port serie qui est  /dev/ttyAMA0. L’argument baudrate correspond à la vitesse de transmission sur le port. N’essayez pas de mettre plus 57600 lorsque vous utilisez le port série du Raspberry car cela ne fonctionne pas ! Le dernier argument correspond au nom de dossier qui sera créé pour stocker les logs et données de télémétrie.

Etape 5 : l’envoi des données vers Mission Planner

La connexion étant fonctionnelle, vous allez pouvoir faire transiter les informations du contrôleur vers le logiciel Mission Planner en passant par la carte Raspberry Pi.

Quelques mots sur Mission Planner en préambule : ce logiciel, si vous avez choisi d’utiliser un contrôleur de vol de type Pixhawk ou APM, s’avère indispensable car il vous permet, entre autres choses, de mettre à jour le firmware du contrôleur, de faire les calibrages de l’accéléromètre, du compass, de la radio commande, etc. C’est une véritable « boite à outils » qui implémente aussi les fonctionnalités relatives à une station de contrôle, c’est-à-dire qu’il affiche plusieurs paramètres concernant votre drone, comme son assiette, son altitude, sa vitesse, son orientation, sa position GPS, etc. Son seul défaut est qu’il n’est disponible que sous Windows !

Voici le lien de téléchargement du logiciel, si vous voulez vous faire une idée de ses fonctionnalités : http://ardupilot.com/downloads/?did=82

Pour pouvoir rediriger les informations vers l’ordinateur distant où Mission Planner est installé, il faut récupérer son adresse ip avec une invite de commande par exemple et la commande ipconfig

Une fois l’adresse ip récupérée, connectez-vous en SSH sur le Rapberry connecté au contrôleur de vol, puis tapez la commande suivante :

mavproxy.py –master=/dev/ttyAMA0 –baudrate 57600 –out 192.168.1.11:14550 –aircraft MonDrone

Ici l’argument “out” correspond à l’adresse ip de l’ordinateur distant sur lequel Mission Planner est installé.

Sur l’ordinateur distant, lancez Mission Planner, puis en haut à droite de la fenêtre, sélectionnez dans le menu déroulant “UDP”, laissez la vitesse par défaut puis cliquez sur “Connect”. Une fenêtre popup vous demandera le numéro de port UDP, il suffit alors d’entrer le port 14550.

mission planner

mission planner 2

Votre drone est ainsi connecté à la station de contrôle. Vous pouvez prendre votre drone dans vos mains et le bouger pour voir l’indicateur d’assiette évoluer en même temps !

mission planneur 3

 

Pour aller plus loin…

Le fait de pouvoir communiquer avec le contrôleur de vol sans passer par la radio-commande nous donne la possibilité de faire des scripts, voire des programmes, pour diriger notre multicopter. La société qui développe le contrôleur de vol Pixhawk a décidé de mettre à disposition une API afin de multiplier les possibilités d’usage de notre drone. Je vous propose ici de voir ensemble un exemple très simple d’utilisation de cet API, avant de vous laisser la main pour des projets plus complexes.

Le principe

L’exercice vise à utiliser l’API DroneKit en Python, dont vous trouverez la documentation complète à l’adresse suivante : http://dronekit.io

Avec cette API, vous pourrez réaliser un script qui fera décoller le multicopter pour atteindre une altitude donnée, puis déplacer le drone à 2 points GPS différents, puis à le faire atterrir. Pour réaliser ce vol, il est évidemment nécessaire que votre multicopter soit équipé d’un GPS.

L’API DroneKit est utilisable pour plusieurs plateformes : Cloud, Android, et Python. Puisque le programme a pour vocation d’être exécuté sur un Raspberry, il me paraissait logique d’utiliser la librairie Python pour réaliser le script.

La récupération et l’installation de l’API DroneKit

Connectez-vous en SSH sur le Raspberry puis entrez la commande suivante :

sudo pip install dronekit

La création du script python

A l’aide de votre éditeur de texte préféré, nous allons commencer notre script par l’import des classes dont nous aurons besoin :

from dronekit import connect, LocationGlobalRelative

from dronekit.lib import VehicleMode

import time

connect : classe qui permet d’initialiser la connexion avec le contrôleur de vol

LocationGlobalRelative : classe qui fait des manipulations sur les coordonnées GPS

time : car nous allons user de timer dans ce script

Nous allons ensuite déclarer une variable “vehicle” qui sera initialisée lors de la connexion au contrôleur de vol :

vehicle = None

Nous allons maintenant créer une méthode dans laquelle nous allons effectuer la connexion vers le contrôleur de vol, puis attendre que le processus d’initialisation aille jusqu’au bout :

def init_connexion():

   vehicle = connect(‘/dev/ttyAMA0’, wait_ready=True, baud=57600)

while vehicle.gps_0.fix_type < 2:

       print « Etat du gps : », vehicle.gps_0.fix_type

time.sleep(1)

while not vehicle.is_armable:

       print « Attente de la fin du process d’initialisation »

time.sleep(1)

vehicle.mode = VehicleMode(« GUIDED »)

 

Ici, plusieurs tâches sont effectuées :

– La connexion via le port série du Rapsberry vers le contrôleur,

– La vérification que le signal GPS est suffisamment fort pour pouvoir avoir une idée précise de la position du drone,

–  La vérification que le contrôleur de vol est prêt à armer les moteurs, cela veut dire que la check list du contrôleur est OK et que rien n’empêche le décollage du multicopter.

–    Enfin, nous forçons le mode “GUIDED” qui est le mode compatible avec le guidage du drone par la programmation.

La méthode qui suit permet de gérer la phase de décollage du drone :

def arm_and_takeoff(altitude):

   vehicle.armed = True

while not vehicle.armed:

       print « Attente de l’armement des moteurs »

time.sleep(1)

if vehicle.mode.name == « GUIDED »:

            vehicle.simple_takeoff(altitude)

while True:

           print  » Altitude: « , vehicle.location.global_relative_frame.alt

if vehicle.location.global_relative_frame.alt >= altitude * 0.95:

               print « Altitude initiale atteinte »

break

            time.sleep(1)

else:

            vehicle.armed = False

 

Les étapes suivies dans cette méthode sont :

–       L’armement des moteurs, puisque normalement tout est OK pour le décollage,

–       L’attente que le processus d’armement des moteurs soit réalisé,

–     La Vérification que le mode “GUIDED” est toujours le mode actif. Cela permet, en cas de problème, d’annuler le décollage en changeant le mode via votre radio commande

–   Le Décollage avec un objectif d’altitude initial

–  Enfin, on attend que le multicopter ait atteint son altitude initiale pour aller plus loin dans le script.

Il faut maintenant demander au multicopter de rejoindre un point GPS à une altitude que l’on aura définie, on crée donc la méthode suivante :

def go_to(lat, long, alt):                      

   if vehicle.mode.name == « GUIDED »:

            tempPoint = LocationGlobalRelative(lat, long, alt)

vehicle.simple_goto(tempPoint, groundspeed=3)

Ici, nous convertissons la latitude, la longitude et l’altitude pour en faire un point compréhensible par la méthode simple_goto. Puis nous donnons l’ordre de rejoindre le point avec cette même méthode en précisant une vitesse en m/s. Nous vérifions aussi ici si le mode est toujours le mode “GUIDED” pour éviter d’être court-circuité par le script si l’on décide de reprendre la main manuellement sur le drone.

Une précision sur la méthode simple_goto : cette méthode ne donne pas de feedback lorsque le point est atteint, et si l’on donne un autre ordre, alors la commande est annulée. Il faut donc mettre un timer pour laisser le temps au drone d’atteindre le point souhaité avant de donner un autre ordre.

Nous avons désormais nos méthodes, nous pouvons définir le scénario à suivre pour notre multicopter :

print « Initialisation de la connexion »

init_connexion()

print « Armement et Décollage avec une aaltitude initiale de 10 m »

arm_and_takeoff(10)

print « En route pour le premier point »

go_to(48.630150, 1.491171, 10)

time.sleep(10)

print « En route pour le deuxième point »

go_to(48.630007, 1.491560, 10)

time.sleep(10)

print « Retour au point de départ puis atterissage »

vehicle.mode = VehicleMode(« RTL »)

vehicle.close()

On laisse dix secondes pour atteindre le premier point, idem pour le deuxième point. Ensuite, nous activons le mode Return To Launch pour revenir au point de départ et faire atterrir le drone.

Les points GPS sont indicatifs et à changer en fonction d’où vous vous trouverez. Sachant que la vitesse définie est de 3 m/s, votre drone aura parcouru à peu près 30 mètres après 10 secondes. Ceci est à prendre en compte dans le choix du terrain pour effectuer vos tests. Il est évident qu’il faut réaliser ce genre de choses en rase campagne afin d’éviter les désagréments en cas de problème.

Le script complet donne cela :

from dronekit import connect, LocationGlobalRelative

from dronekit.lib import VehicleMode

import time

vehicle = None

def init_connexion():

   vehicle = connect(‘/dev/ttyAMA0’, wait_ready=True, baud=57600)

while vehicle.gps_0.fix_type < 2:

            print « Etat du gps : », vehicle.gps_0.fix_type

time.sleep(1)

while not vehicle.is_armable:

            print « Attente de la fin du process d’initialisation »

time.sleep(1)

vehicle.mode = VehicleMode(« GUIDED »)

def arm_and_takeoff(altitude):

   vehicle.armed = True

while not vehicle.armed:

            print « Attente de l’armement des moteurs »

time.sleep(1)

if vehicle.mode.name == « GUIDED »:

            vehicle.simple_takeoff(altitude)

while True:

            print  » Altitude: « , vehicle.location.global_relative_frame.alt

if vehicle.location.global_relative_frame.alt >= altitude * 0.95:

           print « Altitude initiale atteinte »

break

            time.sleep(1)

else:

            vehicle.armed = False

def go_to(lat, long, alt):

   if vehicle.mode.name == « GUIDED »:

            tempPoint = LocationGlobalRelative(lat, long, alt)

vehicle.simple_goto(tempPoint, groundspeed=3)

print « Initialisation de la connexion »

init_connexion()

print « Armement et Decollage avec une altitude initiale de 10 m »

arm_and_takeoff(10)

print « En route pour le premier point »

go_to(48.630150, 1.491171, 10)

time.sleep(10)

print « En route pour le deuxieme point »

go_to(48.630007, 1.491560, 10)

time.sleep(10)

print « Retour au point de depart puis atterissage »

vehicle.mode = VehicleMode(« RTL »)

vehicle.close()

Il ne vous restera plus qu’à copier le script sur le raspberry, puis de l’exécuter avec la commande :

python nom_du_script.py

J’espère vous avoir donné envie de construire votre propre drone tout au long de ces articles. N’oubliez pas qu’il s’agit d’un hobby qui construit lentement sa bonne réputation, à pratiquer dans des conditions de sécurité maximales et dans le respect des règles de vol et de voisinage. Bon vol !

 

 

2 commentaires
  1. Charly
    Charly dit :

    Super François !
    Ton article date d’avril et je le découvre qu’ aujourd’hui
    J’ai lu pas mal de tuto car j’aime bien comprendre toutes les pièces d’un drone et ton article est le plus clair !
    J’ai tout bien compris les parties d’un drone et je vais pouvoir faire évoluer le mien que je ne vais pas tarder à recevoir (Walkera runner 250 pour débuter)
    Merci pour le partage de ta passion

    Depuis avril je présume que pas mal de choses ont évolué ?
    Bonne fêtes à toit et ta famille
    Charly

    Répondre

votre commentaire

Se joindre à la discussion ?
Vous êtes libre de contribuer !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Inscription newsletter

Ne manquez plus nos derniers articles !