IMA3/IMA4 2018/2020 P21 : Différence entre versions

De Wiki de Projets IMA
(Réponse à la question difficile)
(Objectifs)
Ligne 74 : Ligne 74 :
 
==Objectifs==
 
==Objectifs==
  
Le fil directeur de notre projet est le contrôle d'un drone sous les facettes d'informatique, microélectronqiue et automatique. Au niveau informatique, nous nous concentrerons sur le développement d'algorithme de déplacement et d'évitement d'obstacle. Pour la partie microélectrique nous nous pencherons sur le fonctionnement des moteurs, des cartes électroniques et des capteurs. Enfin nous nous serverons de l'automatique pour réguler en vitesse et en postion botre drone.
+
Le fil directeur de notre projet est le contrôle d'un drone sous les facettes d'informatique, microélectronqiue et automatique. Au niveau informatique, nous nous concentrerons sur le développement d'algorithme de déplacement et d'évitement d'obstacle. Pour la partie microélectrique nous nous pencherons sur le fonctionnement des moteurs, des cartes électroniques et des capteurs. Enfin nous nous serverons de l'automatique pour réguler en vitesse et en position de notre drone.
  
 
L'objectif final est de développer le drone mis à notre disposition afin qu'il puisse se déplacer d'un point A à un point B tout en évitant les obstacles. Au cours de son déplacement il devra transmettre une vidéo à l'utilisateur.  
 
L'objectif final est de développer le drone mis à notre disposition afin qu'il puisse se déplacer d'un point A à un point B tout en évitant les obstacles. Au cours de son déplacement il devra transmettre une vidéo à l'utilisateur.  
Ligne 80 : Ligne 80 :
 
Dans un premier temps, nous étudierons le fonctionnement générale d'un drone à 4 branches. Ensuite, nous allons asservir une position statique à notre drone qu'il devra maintenir quelque soit la perturbation (vent, etc). Dans un second temps, nous développerons les fonctions d'évitement d'obstacles. Enfin, nous nous pencherons sur le déplacement 3D du drone afin qu'il puisse suivre une trajectoire GPS fournie par nos soins.
 
Dans un premier temps, nous étudierons le fonctionnement générale d'un drone à 4 branches. Ensuite, nous allons asservir une position statique à notre drone qu'il devra maintenir quelque soit la perturbation (vent, etc). Dans un second temps, nous développerons les fonctions d'évitement d'obstacles. Enfin, nous nous pencherons sur le déplacement 3D du drone afin qu'il puisse suivre une trajectoire GPS fournie par nos soins.
  
Comme piste d'amélioration, on pourra éventuellement optimiser l'autonomie, ou bien imprimer en 3D des pièces pour protéger les hélices (fichier STL disponible sur internet).
+
Comme piste d'amélioration, on pourra éventuellement optimiser l'autonomie, la précision GPS, ou bien imprimer en 3D des pièces pour protéger les hélices (fichier STL disponible sur internet).
  
 
=Analyse du projet=
 
=Analyse du projet=

Version du 12 février 2019 à 22:00


Présentation générale

Description

De nos jours, les drones sont présents dans de nombreux domaines : industrie, agriculture, sports, loisir... etc. Dans les airs ou dans la mer, ils ont tous des buts différents selon leur utilisation.

Nous allons nous concentrer sur les drones d'application industrielle. Ils présentent de nombreux enjeux, comme la commande automatique, l’évitement d'obstacles, la détection d'intrus, d’événement indésirables.

L'ouverture à la programmation et à la modification hardware/software peut être un frein dans la mise en place d'une application industrielle de drone, c'est pourquoi nous allons nous concentrer sur un drone avec module de programmation open source.

Plus particulièrement, notre projet se servira du drone Drone Aero Ready To Fly de chez Intel®.


Caractéristiques principales du drone Aero Ready to Fly d'Intel®

Intel aero1.png
  • Equipé de la technologie Intel RealSense™ (caméra de profondeur)
  • Fonctionne avec le système Linux
  • Contrôleur de vol pré-programmé avec logiciel Dronecode PX4 (open source)
  • Prise en charge du SDK AirMap pour les services aériens (open source)


Chiffres clés
  • Dimension : 300*222*230 mm
  • Poids : 865g (sans batterie)
  • Poids max au décollage : 1900g (avec batterie)
  • Autonomie batterie pleine (4000mAh) : 20 min de temps de vol
  • Portée: jusqu’à 300m
  • Vitesse : 15m/s
  • Vent max soutenu : 15 nœuds (~27 km/h)
  • Altitude d'opération : 5000m maximum
  • GPS

Matériel fournit avec le drone Intel Aero Ready To Fly

  • Carte de calcul Intel Aero
  • Kit d'accessoires Intel Aero Vision
  • Boîtier de carte de calcul Intel Aero
  • Contrôleur de vol Intel Aero avec pilote automatique Dronecode PX4
  • Capteurs GPS et boussole
  • Châssis en fibre de carbone
  • 8 hélices enfichables : 4 hélices de type A, 4 hélices de type B (2 jeux complets)
  • 4 contrôleurs de vitesse électronique (ESC)
  • 4 moteurs brushless (ESC et moteur - conçus et fabriqués par Yuneec)
  • Emetteur-récepteur Spektrum* DXe - DSMX 2,4 GHz, complet avec 4 piles AA
  • Une caméra Intel RealSense R200, une caméra 8 MP et une caméra VGA.


https://fr.rs-online.com/web/p/kits-de-developpement-pour-processeurs-et-microcontroleurs/1368796/

Objectifs

Le fil directeur de notre projet est le contrôle d'un drone sous les facettes d'informatique, microélectronqiue et automatique. Au niveau informatique, nous nous concentrerons sur le développement d'algorithme de déplacement et d'évitement d'obstacle. Pour la partie microélectrique nous nous pencherons sur le fonctionnement des moteurs, des cartes électroniques et des capteurs. Enfin nous nous serverons de l'automatique pour réguler en vitesse et en position de notre drone.

L'objectif final est de développer le drone mis à notre disposition afin qu'il puisse se déplacer d'un point A à un point B tout en évitant les obstacles. Au cours de son déplacement il devra transmettre une vidéo à l'utilisateur.

Dans un premier temps, nous étudierons le fonctionnement générale d'un drone à 4 branches. Ensuite, nous allons asservir une position statique à notre drone qu'il devra maintenir quelque soit la perturbation (vent, etc). Dans un second temps, nous développerons les fonctions d'évitement d'obstacles. Enfin, nous nous pencherons sur le déplacement 3D du drone afin qu'il puisse suivre une trajectoire GPS fournie par nos soins.

Comme piste d'amélioration, on pourra éventuellement optimiser l'autonomie, la précision GPS, ou bien imprimer en 3D des pièces pour protéger les hélices (fichier STL disponible sur internet).

Analyse du projet

Positionnement par rapport à l'existant

Open-source-dev.png

Le principal avantage de notre drone est sa palteforme Open Source. Ainsi nous sommes en mesure de le programmer comme bon nous semble afin d'essayer de satisfaire pleinement le cahier des charges. Contrairement au Bebop 2 (2eme conccurent), nous pouvons par exemple asservir les moteurs en vitesse directement via notre plateforme de programmation.

Le drone Intel® Aero Ready to Fly embarque une distribution Linux développé avec Yocto® Project. De plus nous pouvons nous servir des plateformes ROS, MAVROS, MAVlink®, et des bibliothèques OpenCV® pour contrôler notre drone.

Enfin le contrôleur de vol de notre drone est dispose déjà de la technologie Dronecode PX4 Autopilot, communiquant avec le protocol MAVlink®, qui contient le nécessaire pour faire voler notre drone en Open Source (dès la réception). Cependant, comme précisé dans les objectifs, notre but est d'améliorer les fonctionnalités de base du drone ce qui nous démarquera de nos concurrents (cf "réponse à la question difficile").

L'avantage de disposer de ces technologies est le fait de pouvoir développer des programmes d'analyse de l’environnement, et de régulation automatisé en vitesse et en position plus librement.

Analyse du premier concurrent

A REVOIR


Constructeur : AltiGator

Drone.jpeg

Constructeur de Drone pour différentes utilisations :

  • Contrôle et maintenance de différents systèmes (ex : les systèmes de gestion du trafic aérien).
  • Outils utilisé par les forces de polices (analyse des scènes d’accidents de la route, recherche de personnes disparues, localisation de suspects…).
  • Inspections aériennes des lignes électriques.
  • Secours


Premier concurrent analysé : ALTIGATOR HYDRA 12

Caractéristique
  • Type dodecacopter : 12 moteurs
  • Autonomie de la batterie : 25 minutes de temps de vol (avec batterie pleine)
  • Charge utile maximale : 12 Kg
  • Test d'endurance avec 7 Kg de charge utile : 15 min
  • Altitude maximale (AMSL) : 5000 m
  • Vitesse vent continu max : 12.5 m/s

Les avantages et inconvénients par rapport à notre drone :

Avantages Inconvénient
  • Charge utile
  • Temps de vol
  • Fonctionne sous la pluie
  • Prix (1500e)
  • Vitesse max
  • Plus de moteurs donc moins maniable

Analyse du second concurrent

Constructeur : Parrot

Constructeur de drone de plusieurs types comme :

  • Drone pour l'agriculture (surveillance des cultures, du bétail)
  • Drone pour l'architecture et la construction (inspection visuel et thermique, modélisation 3D pour la prise de mesure d'un devis ou relevé de l'existant)
  • Drone pour la sécurité public (recherche et sauvetage de personnes, reconnaissance des sites, surveillance des incendies)


Deuxième concurrent analysé : PARROT BEBOP2

Bebop21.jpg

Il s'agit d'un drone compact, de petite taille, très léger (500g). L'autonomie reste la même que la plupart des drones du marché (~20/25min). En milieu professionnel, il est plutôt utiliser pour filmer un chantier ou survoler une installation industrielle.

Cependant pour avoir un bon résultat, il est nécessaire de le contrôler avec la télécommande, ce qui le démarque fortement de notre drone automatisé.

A noter qu'il dispose d'une API configurable pour lui imposer une trajectoire GPS (et donc se passer de la télécommande). Cependant la détection d'obstacle reste non configurable. De plus, l'analyse de la géométrie de l'environnement n'est pas programmable. En outre, la remonté temps-réels des informations de bord ainsi que le traitement d'image nécessite une programmation avancé en dehors de l'API. Enfin la régulation des moteurs et l’asservissent de l'altitude se fait automatiquement par le drone, il est impossible d'intervenir sur ces paramètres.

Pour finir, l'utilisation fermé du Bebop2 nous oblige à rester dans le cadre voulu par Parrot ; il nous est difficile de développer des algorithmes d’analyse de l'environnement et de contrôle automatisé avec le Bebop2.

Scénario d'usage du produit ou du concept envisagé

L'utilisation automatisée d'un drone peut être utilisée dans de nombreux domaines : industrie, agriculture, défense, sauvetage... Dans le cas où la mise en place de caméra est impossible, beaucoup trop lente, ou bien inadaptée à l'environnement cible (champ, fôret, territoire inhabité), l'utilisation d'un drone pour obtenir une acquisition vidéo est indispensable.


Dans notre scénario d'usage, nous allons imaginer un industriel qui souhaiterait contrôler l'état de son entrepôt toutes les heures. Ainsi notre drone pourra être capable de survoler l'ensemble de l’entrepôt (si l'autonomie de la batterie le permet) et d'acquérir une vidéo de l'ensemble du site, qui sera remontée à un poste de contrôle/sécurité. Grâce à ses capteur de détection d'obstacle, il sera en mesure d'éviter un obstacle inattendu qui sera automatiquement détecté et signaler au poste de contrôle. Dans ce scénario, la détection d'évenement inhabituel (intrus, incendie...) se fait via un agent au poste de contrôle par rapport à l'acquisition vidéo fournie par le drone. L'avantage d'utiliser un drone plutôt qu'un réseau de caméra, réside dans la souplesse et la maniabilité du drone. En effet il est capable de survoler une pile de conteneur ou bien de slalomer entre-eux afin de fournir une aquisition vidéo plus facilement qu'avec des caméra fixes.


Avec le temps, si notre projet est suffisamment avancé, on peux imaginer développer des programmes de traitement de l'image qui pourraient détecter des objets en mouvement et ainsi repérer des intrus automatiquement. Ou bien installer une caméra thermique pour détecter un incendie.

Réponse à la question difficile

Le drone étant livré monté, prêt à l'emploi, avec un contrôleur de vol près-programmé, qu'est ce que vous apporter en plus par rapport à ce qui est déjà possible de faire avec ce drone ?

Notre but est de développé une suite d'algorithme de contrôle automatisé de notre drone, en améliorant les fonctionnalités déjà disponibles. L'idée est de pouvoir imposer un comportement le plus adéquat en fonction de l'usage de l'utilisateur. Par exemple imposer d'aller moins vite dans une certaine zone, plus en hauteur dans une autre, etc. Et ensuite d’améliorer les fonctionnalités de base du drone en analysant la géométrie de notre environnement, la profondeur des obstacles, afin de pouvoir les éviter au mieux.

  • Tout d’abord en agissant nous-même, directement sur l'asservissement en position et en vitesse de notre drone.
  • Ensuite, en développant des programmes d'analyse de l'environnement via la caméra de profondeur Intel RealSense, et en programmant les algorithmes d'évitement d'obstacle et de signalement d'évènement inattendus.
  • Pour finir en lui imposant une trajectoire à suivre, et en transmettant des informations de vols en temps-réel. La trajectoire peut se faire par GPS, cependant les modules inclus dans notre drone sont peut précis (l'ordre du mètre). Soit on améliore la précision en ajoutant un module supplémentaire, soit on devra penser à un système de balisage de notre environnement, soit notre cahier des charges tolère une imprécision de 2-3 mètres.

Bibliographie et webographie

Préparation du projet

Cahier des charges du groupe

Cahier des charges des équipes

Equipe 1

Equipe 2

Equipe 3

Choix techniques : matériel et logiciel

Equipe 1

Equipe 2

Equipe 3

Liste des tâches à effectuer

Equipe 1

Equipe 2

Equipe 3

Calendrier prévisionnel

Le calendrier prévisionnel peut se concrétiser sous la forme d'un diagramme de GANTT.

Equipe 1

Equipe 2

Equipe 3

Réalisation du Projet

Projet S6

Eventuellement créer des sous-pages par équipe avec le compte-rendu des réunions de groupe sur cette page principale.

Semaine 4

Semaine 5

Semaine 6

Semaine 7

Semaine 8

Semaine 9

Semaine 10

Semaine 11

Semaine 12

Documents Rendus

Projet S7

Documents Rendus

Projet S8

Documents Rendus