IMA3/IMA4 2020/2022 P3 : Différence entre versions
(→COMMUNICATION) |
(→COMMUNICATION) |
||
Ligne 225 : | Ligne 225 : | ||
Le logiciel offre une utilisation facile et directe pour les débutants, tout en offrant une prise en charge des fonctionnalités haut de gamme pour les utilisateurs expérimentés.<br /><br /> | Le logiciel offre une utilisation facile et directe pour les débutants, tout en offrant une prise en charge des fonctionnalités haut de gamme pour les utilisateurs expérimentés.<br /><br /> | ||
+ | |||
+ | [[Fichier:interface.png|150px|thumb|right|Interface QGround]]<br> | ||
Ces principales caractéristiques sont :<br /><br /> | Ces principales caractéristiques sont :<br /><br /> | ||
Version du 5 janvier 2022 à 23:23
Sommaire
PRESENTATION DU SUJET
L’objectif de ce projet est de réaliser un drone de sa conception à sa réalisation et de mettre en œuvre une solution pour le commander par wifi.
Notre équipe est composée d'étudiants en 4ème année de la spécialité « Systèmes embarqués » qui sont : Niels Godbert, Léo Poumaer, Rémi Brachot, Lucas Postollec et Louise Maës.
Nous espérons que ce projet nous permettre de pouvoir mettre en application les savoir-faire acquis pendant notre formation, et ainsi pouvoir développer de nouveaux acquis grâce à ce travail en groupe.
QU'EST-CE QU'UN DRONE ?
Introduction
Les drones sont des aéronefs autonomes qui ont la particularité de ne pas nécessiter de présence humaine à bord. Cependant, leurs utilisations la plus répandue n’est que semi-autonome, ils restent majoritairement pilotés manuellement à distance par commande numérique.
Utilisés aussi bien en tant que loisir que dans le milieu professionnel et militaire, on observe une popularité qui ne cesse de croître depuis plusieurs années. Que ça soit pour la photographie afin de filmer des plans autrement impossibles, pour des relevés de terrain ou encore pour la sécurité et pour le bâtiment, les drones deviennent un outil de travail unique et de plus en plus indispensable dans certaines professions.
Durant ce projet, nous allons nous intéresser plus précisément sur les quadrirotors (ou quadricoptères), une catégorie bien précise de drones.
Le quadrirotor se démarque du fait de sa voilure tournante comportant quatre rotors et quatre hélices pour sa sustentation contrairement à d’autres types de drones où le nombre d’hélice peut aller jusqu’à huit. Les rotors les plus populaires sont placés aux extrémités d'une croix, cependant d’autres variétés de cadres existent (en “H”, en “X”, en “T”...etc).
Ici, nous allons réaliser un drone quadrirotors en "X".
Composition
L’architecture d’un quadrirotor est épurée, la conception du drone est un compromis entre légèreté, résistance et performance.
Son châssis central comporte le contrôleur de vol (un microcontrôleur et des capteurs), une batterie et 4 bras avec au bout, les hélices mises en rotations par des moteurs commandés par le microcontrôleur.
La différence entre les nombreux modèles va se faire sur la matière du châssis et des hélices ainsi que leurs tailles, la capacité de la batterie, la vitesse maximale, la distance de contrôle, la portée des différents capteurs et la caméra embarquée. Le choix est très vaste et, avec une demande croissante, le prix baisse de plus en plus ce qui rend cette technologie accessible au grand public.
Principe de fonctionnement
Afin de comprendre le fonctionnement d’un drone, il est important de définir les trois axes de rotation sur lesquels le drone va se déplacer :
L’axe des x, dit axe de roulis, qui correspond au mouvement de bascule de gauche à droite.
L’axe des y, dit axe de tangage, qui correspond au mouvement de bascule d’avant en arrière.
L’axe des z, dit axe de lacet, qui correspond à la rotation sur lui-même.
On observe deux positions possibles pour le drone dans son repère ; lorsque les hélices sont parallèles au sol, elles génèrent une force perpendiculaire qui permet au drone de s’élever dans les airs. Lorsque celles-ci sont inclinées, elles permettent au drone de se déplacer dans une direction.
On peut alors établir le tableau suivant :
CAHIER DES CHARGES
Objectifs
Le but de notre projet est de concevoir un drone dans son intégralité, ce qui inclut : la modélisation d’un circuit imprimé et de la partie électronique, la réalisation du châssis, la modélisation et programmation informatique du système de contrôle qui permettra la communication avec le drone.
Finalement, une fois tous ces éléments réalisés, le drone devra être capable de voler selon les bons vouloirs de son pilote.
Cependant, l'année dernière, nous avons hérité du drone des anciens SE4. Notre objectif était alors de faire voler leur drone. Nous avons constaté que le câblage était à refaire et que les pieds de leur drone n'étaient pas assez solides. Nous avons donc, refabriqué des pieds, revu son câblage et donc soudé quelques fils.
Description fonctionnelle des besoins
Afin d’atteindre notre but de concevoir un drone; voici ce qui doit être mis en place :
Niveau matériel :
La conception (ou l’achat) d’un châssis capable de résister aux chocs, de supporter le poids de la batterie, et bien évidemment conçu de manière à simplifier l'ensemble des branchements électriques entre les différentes parties du drone.
La documentation et la choix des matériaux pour les différentes parties du châssis.
La documentation et le choix sur le dimensionnement des pièces électroniques/électromécaniques (moteurs, contrôleurs de moteurs, contrôleur de vol, carte mère, capteurs) et autres pièces indispensable (hélices par exemple).
Niveau informatique :
La communication entre le drone et un téléphone, un ordinateur ou une télécommande via le wifi (nous pensons essayer de créer une application dédiée à cet effet, via AppInventor).
La modélisation, la programmation de parcours pour vérifier le fonctionnement du drone.
Niveau Automatique/Commande :
Le drone doit pouvoir monter, descendre, se déplacer latéralement et pivoter sur lui-même (axe de lacet).
Le drone devra répondre aux instructions du pilote de manière rapide et précise.
Le drone doit être en mesure de voler correctement et jusqu’à une distance suffisamment grande entre lui-même et le pilote.
Le drone doit être stable, même face aux intempéries (vent par exemple) .
Les servomoteurs doivent être parfaitement synchronisés pour garantir la stabilité.
Limites du projet
Les objectifs que nous nous sommes fixés au début du projet ont évolué. En effet, nous avions prévu de réaliser un drone de A à Z, en codant son programme et en le chargeant nous-même sur notre carte préalablement designée par nos soins. Cependant, nous n'avions pas encore eu conscience de la difficulté de ce que nous voulions entreprendre. De plus, nous avons également revu à la baisse notre volonté d'apporter une amélioration à notre projet. Les équipements que nous pouvons ajouter au drone restent malgré tout très couteux.
De plus, d’autres limites de notre projet nous sont apparues, par exemple les contraintes financières et matérielles. En effet, certains matériaux dont nous connaissons les caractéristiques avantageuses dans la conception d’un drone sont plutôt coûteux, à savoir le carbone pour le châssis ou alors des matériaux peut-être trop lourds comme le bois.
Nous devons aussi prendre en compte l’installation d’une batterie : comment recharger le drone ? Est-ce trop lourd ? Quelle est l’autonomie ?
La météo et les potentiels obstacles doivent être pris en compte par le pilote.
LES MATERIAUX ET EQUIPEMENTS ELECTRONIQUES UTILISES
Le châssis
Avant tout, le choix du matériau est très important pour un drone : il faut qu’il soit ni trop lourd ni trop rigide. En effet, le cadre du drone va devoir supporter toutes les vibrations que va générer le drone, il faut donc un matériau pas trop déformable afin que celui-ci reste stable et ne se détériore pas. Même si le carbone semble être idéal, il reste une solution très coûteuse. En compromis, l’alliance entre le bois et le plastique est ce qui nous semblait le plus conforme : le bois forme un châssis solide et rigide, tandis que pour les pieds le plastique résisterait aux vibrations et à l'atterrissage de l’engin.
En réalité, le bois est à proscrire et mieux vaut le remplacer par de l’aluminium, très léger et très rigide.
Les hélices
Comme pour le cadre, les hélices définissent la fonction que l’on veut donner à notre drone. Il en existe de tailles, de formes et de matériaux différents.
Plus les hélices ont de pales, plus elles consomment d’énergie et donc, par conséquent, la consommation du drone est plus importante. Les hélices en plastique sont de très bonnes candidates et rivalisent avec celles en carbone, beaucoup plus chères. Mais au-delà du matériau, la longueur et le pas de celles-ci jouent un rôle important dans la fonction de notre drone.
Une hélice dite longue va tourner moins rapidement qu’une hélice dite courte, mais sa capacité de portance sera, bien évidemment, plus importante au vu de sa taille. Elle apporte aussi, plus de stabilité. Contrairement à la taille de l’hélice, un pas élevé implique une faible portance et une vitesse de rotation maximale limitée.
On peut alors établir un tableau récapitulatif des effets de la taille des hélices :
Les moteurs
Afin de bien choisir ses moteurs, il faut bien définir le type de vol que va réaliser notre drone. Il faut donc définir les paramètres suivants : l’endurance souhaitée, la taille du drone, son poids total, sa charge utile, sa vitesse maximale, le nombre de moteurs (ici quatre) ainsi que son utilité. En général, pour un vol “stable”, il faut 8 000 tours/minutes maximum, pour un vol “normal”, il faut 10 000 tours/minutes et enfin, pour un vol “nerveux”, il faut 12 000 tours/minutes.
Si on utilise une batterie 3S (11,1V), on peut établir le tableau suivant :
Ici, pour la conception de notre drone, nous avons décidé d’utiliser des moteurs brushless qui sont de la même famille que les machines synchrones. Ils sont faciles à contrôler à l’aide d’un ESC, sont plus fiables et ont une grande marge de vitesse de rotation, ce qui correspond à la fonctionnalité que l’on veut donner à notre drone.
La batterie
Le choix de la batterie est très important pour le bon fonctionnement du drone.
En effet, la batterie doit être assez puissante pour alimenter les différents composants mais être également assez légère pour ne pas rendre le drone trop lourd et ainsi, l'empêcher de voler correctement.
Le contrôleur de vol
Après avoir fait de nombreuses recherches, nous nous sommes vite rendu compte qu’il allait nous être compliqué à notre niveau de réaliser par nous même l’ensemble de la partie communication avec le drone, ainsi que le contrôle et la commande des moteurs, des différents capteurs,..
Notre choix s’est donc porté sur le contrôleur de vol Pixhawk qui inclut tout ce dont nous avons besoin.
En effet, le PixHawk4 est un contrôleur de vol, c’est-à-dire que ce module agit comme un carte microcontrôleur (comme un arduino) déjà programmé (programmation très complexe) et conçu de manière à être extrêmement exploitable : on peut ajouter au PX4 un grand nombre de capteurs tels que une caméra, des capteurs ultrason, stabilisateur de caméra,...
MODELISATION
Modélisation mathématique
Avant toute chose, il est important de savoir comment fonctionne mathématiquement notre système, afin de pouvoir modéliser notre système sur Matlab.
Ainsi, après avoir étudié plusieurs mémoires d’autres étudiants (il nous a paru très difficile, à notre niveau, de tout trouver nous même) sur la conception d’un drone nous en sommes venus aux équations de mouvement suivantes :
avec Iq , q ∈ [ x , y , z ] : le moment d’inertie en kg.m2
φ : angle de roulis. Il définit la rotation autour de l’axe x1( − π < φ < π) en radians
θ : angle de tangage. Il définit la rotation autour de l’axe y1( − 2π < θ < 2π ) en radians
Ψ : angle de lacet. Il définit la rotation autour de l’axe z1(− π <Ψ < π ) en radians
Le drone va subir différentes forces qui vont entrer en jeu dans la dynamique du système :
La portance: composante de force subie par un corps en mouvement dans un fluide qui s’exerce perpendiculairement à la direction du mouvement des hélices. Celle-ci est générée grâce à la rotation des quatre hélices. Elle va permettre à l’appareil de décoller si elle compense au moins la traînée. Elle s’exprime sous la forme : τx = bl(Ω4² − Ω2²) sur l’axe de roulis et τy = bl(Ω3² − Ω1²) sur l’axe de tangage avec b le coefficient de portance en kg.m/rad2 et l la demi-envergure du quadrirotor en mètres.
L’effet gyroscopique: capacité d’un objet à conserver son moment angulaire. Ainsi, lorsque le quadrirotor est en rotation sur deux axes, cette force apparaît sur le troisième axe et résiste aux mouvements de ce dernier. Elle s'exprime comme suit : Gx = Jωy(Ω1² + Ω3² − Ω4² − Ω2²) et Gy = Jωx(− Ω1² − Ω3² + Ω4² + Ω2²), respectivement pour l’axe de roulis et de tangage.
La traînée: force qui s’oppose parallèlement au mouvement d’un corps dans un fluide et agit comme un frottement. Elle vaut : τz = d(Ω1² + Ω3² − Ω4² − Ω2²) avec d le coefficient de traînée en kg.m2/rad2. Elle s’applique donc selon l’axe de lacet.
En projetant ces trois forces et en ajoutant l’effet de l’accélération des moments
d’inertie sur chaque axe, on obtient les équations de la vitesse angulaire suivant les axes de
lacet, roulis et tangage :
avec Iq , q ∈ [ x , y , z ] : le moment d’inertie en kg.m2
φ : angle de roulis. Il définit la rotation autour de l’axe x1( − π < φ < π) en radians
θ : angle de tangage. Il définit la rotation autour de l’axe y1( − 2π < θ < 2π ) en radians
Ψ : angle de lacet. Il définit la rotation autour de l’axe z1(− π <Ψ < π ) en radians
Ω , i ∈ [1; 4] : la vitesse de chaque moteur en rad/s
Simulation
Pour réaliser une simulation Matlab à l’aide des résultats trouvés précédemment, nous avions besoin d’un modèle du quadrirotor (encore une fois, le niveau demandé par une simulation de ce genre dépasse de loin ce que nous pouvons faire à notre niveau étant donné l’étendue des connaissances nécessaires).
Nous avons donc fait le choix d’utiliser les équations et la simulation trouvés et utilisés par le groupe de SE4 qui a aussi travaillé sur le drone.
Grâce à la partie Simulink du logiciel Matlab, nous avons pu commander le drone, et vérifier sa stabilité via des simulations.
La boîte à outils UAV comprend des outils et des applications de référence pour concevoir, simuler, tester et déployer des applications de drones. On peut alors observer sur la figure suivante, les commandes que nous avons utilisé afin de procéder à la simulation du drone :
Ce gros schéma bloc comprend quatre curseurs permettant d’appliquer une commande au drone en hauteur, en latitude, en longitude et en angle de lacet.
Le suivant, quatre sous-systèmes qui permettent d’ajuster manuellement les valeurs des paramètres des PID qui corrigent chaque commande à l’aide de curseurs.
Enfin, ces deux parties représentent différents capteurs tels qu’un gyroscope, un capteur de vitesse et de position.
On peut décider de commander le drone manuellement grâce au curseur ou automatiquement, grâce à des schémas de commande.
Cela va permettre au drone de suivre des commandes sans intervention extérieure. On peut par exemple commander au drone de suivre un trajet particulier, ou tout simplement de lui demander d’atterrir.
Régulation du drone :
On doit maintenant réussir à stabiliser le quadrirotor, afin qu’il “obéisse” aux consignes de manière stable, rapide et précise. Pour cela, on doit récupérer les données en vitesse, position et angles fournies par les différents capteurs. Un convertisseur nous indique les tensions qu’on peut appliquer pour que le drone puisse atteindre la position désirée. Dans un premier temps, on cherche à calculer la poussée à appliquer et les valeurs d’angle de roulis et de tangage désirées.
Voici la structure du schéma bloc permettant ces calculs :
Le principe est plutôt simple: la position mesurée est soustraite à la valeur désirée. Elle est ensuite corrigée dans un PID renvoie une tension adaptée, permettant d’atteindre la vitesse voulue.
La vitesse théorique en x et y est soustraite à la vitesse mesurée et multipliée par la matrice de rotation afin d’avoir l’erreur sur la vitesse. L’erreur est corrigée par un PID qui nous donne respectivement la valeur de l’angle de roulis et de tangage désirée.
Le principe reste le même pour la vitesse en z mis à part que nous n’avons pas besoin de multiplier par la matrice de rotation, de plus, le dernier PID renvoie la valeur de poussée.
Maintenant que nous avons les valeurs désirées en angle, il nous faut, dans un second temps, réaliser la correction que nécessite le système afin de répondre correctement à la consigne en rotation sur les 3 axes.
On convertit alors la valeur consigne, calculée au préalable en radians, puis on soustrait la valeur mesurée pour connaître l’erreur et la corriger à l’aide d’un PID.
Cela donne le schéma bloc suivant :
Et pour finir, on doit envoyer au drone les valeurs de tensions à appliquer sur chaque moteur qui correspondent aux coordonnées désirées. Un bloc dans la boîte à outil UAV permet de faire cela.
COMMUNICATION
Le pack PX4 commandé par l’école comportait 2 radios télémétriques (toutes 2 émettrices/réceptrices) de la marque Holybro, ce sont des modules fonctionnant à 433MHz.
De manière générique, le logiciel utilisé avec ses radios, qui sont faites pour fonctionner avec le PX4 (et que nous avons aussi commencé à utiliser) est le logiciel QGroundControl.
Ce logiciel (open source) qui est disponible sur PC et Android, permet principalement de commander au drone un certain trajet, et aussi de configurer le drone, ainsi que tous ces capteurs, moteurs, … (du moment qu’ils fonctionnent grâce à PX4 ou ArduPilot, une bibliothèque faite pour les drone d’Arduino).
Le logiciel offre une utilisation facile et directe pour les débutants, tout en offrant une prise en charge des fonctionnalités haut de gamme pour les utilisateurs expérimentés.
Ces principales caractéristiques sont :
- Installation / configuration complète des véhicules alimentés par ArduPilot et PX4 Pro.
- Assistance en vol pour les véhicules exécutant PX4 et ArduPilot (ou tout autre pilote automatique qui communique en utilisant le protocole MAVLink).
- Planification de la mission pour le vol autonome.
- Affichage de la carte de vol indiquant la position du véhicule, la trajectoire de vol, les points de cheminement et les instruments du véhicule.
- Streaming vidéo avec superpositions d'affichage des instruments.
- Prise en charge de la gestion de plusieurs véhicules.
REVISIONS APPORTEES
CONCLUSION
Enfin dans cette partie nous allons élaborer un bilan sur plusieurs points concernant notre drone, à savoir; l'aspect financier, le temps qu'il nous a fallu pour effectuer ce projet, mais aussi l'aboutissement de notre projet. Nous allons également ouvrir la réflexion sur l'aspect commerciale de notre solution.
- Bilan financier
- Bilan temporel
- Bilan technique
- Que faudrait-il changer? Comment?