Do it Yourself : construire son drone - Partie 2

Je vous propose aujourd’hui de nous pencher sur ce qui permet au drone de voler et d’être autonome, avec son intelligence embarquée, ce qu’on appelle un “Contrôleur de Vol”; et de profiter d’un focus sur un autre élément essentiel : le duo Récepteur / Radio-Commande.

LE CONTRÔLEUR DE VOL, L’INTELLIGENCE DU DRONE

Pour bien comprendre le rôle du contrôleur de vol dans notre processus, revenons brièvement sur le fonctionnement d’un drone et notamment les règles physiques qui le font voler : dans le cas d’un drone de type multicopter, c’est la rotation de chacune des hélices qui, grâce à la portance qu’elle génère, exerce une poussée vers le haut. Puisque le pas de l’hélice est fixe, la portance varie en fonction de la vitesse de rotation de celle-ci. Prenons un exemple simple pour illustrer ce principe : lorsque l’on veut que notre drone avance, les hélices qui se trouvent à l’avant du drone doivent avoir une vitesse de rotation légèrement inférieure aux hélices se trouvant à l’arrière. De ce fait, la partie avant du drone s’incline vers le bas ; la portance, en plus d’infliger une poussée verticale, applique également une légère poussée vers l’avant et amorce le déplacement voulu.

Gardons donc à l’esprit que les mouvements de notre drone seront liés à la vitesse de rotation de chacune de nos hélices et donc de chacun de nos moteurs.

Le pilote pourrait essayer, dans le cas d’un quadcopter qui ne comporte que quatre moteurs, de commander chacun d’eux manuellement, mais on imagine aisément la gymnastique intellectuelle de l’exercice et je vous laisse imaginer la rapidité d’exécution nécessaire pour 6, 8 voire 10 moteurs. C’est pour pallier à cette complexité que le contrôleur de vol intervient. Ce module permet en effet de commander l’ensemble des moteurs à notre place, pour traduire auprès des moteurs les mouvements que l’on souhaite donner à notre drone. Autre avantage, il permet de maintenir seul l’assiette (c’est-à-dire de garder le drone à peu près horizontal de façon à ce qu’il se stabilise) du drone sans que le pilote intervienne sur les commandes. Ce comportement est possible car le contrôleur est équipé d’un accéléromètre qui lui indique son assiette et qui corrige les mouvements du drone en conséquence.

Ces caractéristiques basiques (multi-commande des moteurs et maintien automatique de l’assiette) font que l’on peut considérer le contrôleur de vol comme l’intelligence du drone. Il s’agit certes d’une intelligence limitée mais elle joue un rôle déterminant en matière d’expérience de pilotage.

Outre ces caractéristiques de base, certains contrôleurs offrent des possibilités plus avancées, comme programmer une navigation via un circuit de points GPS ainsi qu’une altitude à suivre pour chaque point transmis. Dans ce cas, le drone est capable de façon autonome de décoller, puis d’aller d’un point à un autre en suivant le chemin qu’on lui a défini, puis d’atterrir. Pour permettre cette autonomie, il faut connecter au contrôleur un module GPS qui connaît sa position en temps réel. Attention toutefois, ce mode n’est pas assez autonome pour détecter les obstacles…

Certains contrôleurs sont également équipés d’une boussole leur permettant de situer l’orientation du drone par rapport au Nord magnétique. Cette information peut s’avérer utile si l’on souhaite que le drone tourne de façon automatique autour d’un point fixe en maintenant l’avant toujours en direction du point fixe.

Enfin, notons parmi les options possibles que d’autres contrôleurs sont capables de maintenir une altitude, de revenir seuls à leur point de départ, de décoller sans avoir à gérer la manette des gaz, ou encore de se mettre dans un mode “FailSafe”, qui se déclenche lors d’une perte de communication avec la radio commande ou la station au sol (dans ce cas le drone s’arrête ou revient à son point de départ).

QUELQUES CONTRÔLEURS DU MARCHÉ :

Maintenant que vous connaissez parfaitement les principes de base du contrôleur de vol, il est temps de parler de ce qui est disponible sur le marché et de quel contrôleur choisir en fonction de son besoin. Ci-dessous quatre contrôleurs que je considère comme les principaux :

–       CC3D / Naze32 : un contrôleur très petit, idéal pour un drone de type FPV Racing qui demande de la maniabilité et de la nervosité. Il fait partie des contrôleurs les moins chers du marché. Il est open source et a été créé par la communauté Openpilot. On le trouve sous différentes formes où les connecteurs peuvent être à souder soi-même pour les cartes les moins chères (25 – 65 euros).  Il n’y a pas de boussole intégrée mais il est possible d’y connecter un GPS avec boussole. Des logiciels open source sont disponibles sur Internet pour pouvoir configurer le contrôleur et c’est assez simple à utiliser.

–       DJI Naza : un très bon contrôleur de la marque DJI, qui fabrique les drones du même nom. C’est un contrôleur fiable et précis, qui permet de réaliser l’ensemble des tâches qu’un contrôleur peut offrir lorsqu’il est associé à un GPS. Il a toutefois l’inconvénient d’être cher (150 – 250 euros) et les possibilités de personnalisation ou de développement sont quasi inexistantes car il n’est pas open source ( les nouvelles fonctionnalités viennent donc au bon gré du constructeur).

–       APM : un contrôleur à base Arduino, développé par la communauté ArduPilot. C’est l’un des précurseurs des contrôleurs de vol et il est idéal pour les drones voués à la prise de vue. La technologie embarquée date un peu, mais il reste accessible aux bourses modestes (40 – 100 euros). Le logiciel est open source donc on peut modifier son fonctionnement à son gré. L’interface avec le contrôleur est simple, car ce dernier prend en charge le protocole de communication  MAVlink.

–       Pixhawk : un concurrent direct du DJI Naza, fabriqué par la société 3D Robotics. C’est une version améliorée de l’APM car il utilise le même code source pour fonctionner,  mais avec des composants électroniques plus récents et plus puissants. Bien qu’assez cher (170 – 250 euros), il peut néanmoins réaliser l’ensemble des tâches que l’on peut attendre d’un contrôleur, avec l’avantage lui aussi d’être basé sur un logiciel open source et d’offrir la possibilité d’ajouter des fonctionnalités. On peut également s’interfacer au contrôleur via le protocole MAVlink.

Pour la réalisation de mon propre drone, mon choix s’est porté vers le contrôleur Pixhawk de 3D Robotics et ce pour plusieurs raisons :

–    il est parfaitement adapté pour les prises de vues ;

– l’alimentation du contrôleur est simple, via un adaptateur fourni que l’on branche directement sur la batterie. C’est donc beaucoup moins compliqué que d’utiliser le BEC (pour Battery Eliminator Circuit) des ESC mais en contrepartie, on est limité dans le choix des batteries car l’adaptateur ne supporte pas tous les voltages ;

–  il est compatible avec le protocole de communication MAVLink et il existe une api pour pouvoir contrôler le drone via la programmation (dans mon cas, un programme présent sur un rapsberry pi) ;

–   il offre une grande variété de modes comme le maintien à une position, la programmation de parcours, le retour à la position de départ, le « failsafe » en cas de perte de communication ;

–   il m’a été recommandé par l’ensemble des professionnels du drone que j’ai pu rencontrer pour la prise de vue.

Le montage du contrôleur doit se faire sur un dispositif anti-vibration de façon à ne pas trop perturber l’accéléromètre et il faut bien réfléchir à son emplacement, si possible assez éloigné de la batterie pour éviter toute perturbation électrique. Lors de la première utilisation, il faut uploader le firmware du contrôleur, ainsi que réaliser l’ensemble des calibrations pour que le contrôleur soit opérationnel. On réalise ces opérations grâce aux logiciels Mission Planner (Windows) ou APM Planner (MAC, linux). Il existe des dizaines de vidéos sur youtube, dont certaines très bien faites, qui expliquent comment réaliser l’upload et la première configuration du contrôleur.

Dans le cas de mon propre drone, j’ai associé mon contrôleur de vol à un module GPS compatible avec le pixhawk, de façon à lui ajouter toutes les fonctionnalités liées au GPS : programmation de circuit, maintien de la position, retour au point de départ…

 

RADIO COMMANDE + RÉCEPTEUR  : UN DUO POUR GARDER LES COMMANDES

Il va sans dire que le plaisir de faire voler un appareil tel qu’un drone tient pour beaucoup dans le fait de pouvoir le contrôler et qu’il nous obéisse au doigt et à l’œil. L’instrument de tout pilote qui se respecte en modélisme est bien entendu la radiocommande. Comme pour chacune des pièces présentées jusqu’ici, il existe une large gamme de radiocommandes pour toutes les bourses. Si cet élément est l’un des plus chers de votre processus de fabrication, il est également le plus facilement réutilisable pour d’autres projets.

Les radiocommandes sont plus ou moins complexes et en plus des deux joysticks qui permettent de faire évoluer votre appareil dans toutes les directions, vous allez trouver sur le marché des radios commandes avec toute une panoplie d’interrupteurs et de boutons, qui dans le cas d’un drone, ne vous servirons pas nécessairement.

Autre point de vigilance, vérifiez bien lorsque vous achetez votre radiocommande que son mode correspond à vos habitudes. En effet, il y a deux modes possibles pour une radiocommande : le mode 1 qui correspond à la manette des gaz à droite et le mode 2 qui est avec la manette des gaz à gauche. Ce choix ne peut être modifié de façon logicielle car la manette des gaz se base sur un mécanisme particulier, donc pensez-y en amont !

La majorité des radiocommandes ont au moins 8 canaux de communication – un canal correspondant à un élément de votre radiocommande (par exemple interrupteur, bouton, axe d’un joystick). Pour vous donner un exemple, le joystick qui gère le roulis[1] et le tangage[2] du drone utilise deux canaux sur ma radio : un canal qui va transmettre la valeur du roulis, et un autre qui va transmettre la valeur du tangage. De base, notre radiocommande a besoin de 5 canaux : roulis, tangage, lacet, gaz, sélection du mode. Rien n’empêche par la suite d’utiliser des canaux supplémentaires pour diriger la nacelle ou se trouve la caméra par exemple.

En résumé, un canal correspond à un élément à contrôler. Mais pour que les canaux ouverts sur la radiocommande impactent le vol de notre drone, la transmission au contrôleur de vol pour interprétation est nécessaire. C’est là que le récepteur entre en jeu, car il va servir de pont entre les deux.

Le récepteur communique avec la radiocommande via des ondes radios, puis il les transmet au contrôleur de vol via un ou des branchements. Il existe en effet différentes façons de connecter votre récepteur à votre contrôleur. Schématiquement, voici l’alternative :

–        soit une sortie par canal de communication, que vous branchez sur une entrée correspondante du contrôleur,

–        soit un branchement unique via un port “sbus” sur votre récepteur et votre contrôleur.

L’avantage de la deuxième solution (branchement unique) est qu’en plus de n’avoir qu’un câble à connecter, ce mode vous permettra sur certains récepteurs d’utiliser jusqu’à 16 canaux, là où la première méthode vous limitera à 8 canaux, car les récepteurs sont munis uniquement de 8 ports pour 8 sorties. Sachez également que certains contrôleurs de vol ne peuvent recevoir les données du récepteur que via leur port “sbus”. Dans ce cas, si votre récepteur n’est pas compatible, il existe un adaptateur (le PPM Sum Receiver), qui pourra faire l’intermédiaire entre votre récepteur et votre contrôleur.

Pour ma part, j’ai choisi d’utiliser une radiocommande de la marque FrSky : la Taranis 9D plus. C’est une radiocommande de milieu de gamme, animée par un logiciel open source OpenTx désormais réputé dans le monde des multicopters car il offre beaucoup de possibilités de personnalisation. Je l’ai associée avec le récepteur XR8 de la même marque. Il présente l’avantage d’avoir un port “sbus”, et donc mon branchement n’en sera que simplifié. Il faudra là aussi passer par le logiciel de configuration du contrôleur pour calibrer la radiocommande. Attention, lorsque vous choisissez un récepteur, vérifiez auparavant sur Internet la compatibilité avec votre contrôleur, car il se peut que certains modèles ne soient pas complètement compatibles entre eux!

Un dernier point à anticiper concernant le récepteur : le positionnement des antennes. Ce point est essentiel pour avoir une bonne réception lorsque le drone est en l’air, ce n’est donc pas un détail ! Les récepteurs sont dotés de deux antennes et il est recommandé de les orienter dans des sens différents pour augmenter la qualité de réception. Certains diront de les positionner au-dessus du drone, d’autres en dessous, je pense pour ma part que le positionnement dépend vraiment de la forme de votre drone et de la forme des antennes, et qu’il vous faudra réaliser des tests dans plusieurs configurations pour optimiser votre réception. Avec l’avènement des imprimantes 3D, vous pourrez trouver très facilement des modèles de support d’antenne correspondant à votre récepteur, à télécharger et à imprimer.

Avec ces nouveaux éléments (contrôleur, radiocommande et récepteur), mon drone est maintenant très avancé. Je n’ai pas eu besoin de fer à souder pour cette partie, mais j’ai du user de scotch double face et d’un collier de serrage pour positionner les éléments liés aux contrôleur de vol et au récepteur. Il me reste à choisir une batterie et je pourrai faire mes premiers tests de vol, vérifier que le GPS fonctionne correctement et que mes antennes sont bien positionnées pour avoir une bonne réception.

 

[1] roulis (roll) : mouvement de rotation autour de son axe longitudinal. Le drone se penche vers la droite ou vers la gauche.

[2] tangage (pitch) : mouvement de rotation autour de son axe transversal. Le drone se penche vers l’avant ou vers l’arrière.