Jules Legros & Benoit Perruche 09/04/14. Projet CannonBall RC 1/9

Documents pareils
L équipement choisit devra être nomade, il servira aux visiteurs en déplacements et sera donc sujets à des limitations de tailles et de poids.

Bien commencer avec un LaunchPad MSP430G et un Breadboard

Anticiper pour avoir une innovation d'avance : le leitmotiv de Pierre Jouniaux, entrepreneur du big data!

TRAAM STI Acquisition et exploitations pédagogiques des données sur un système pédagogique

Notre Catalogue des Formations IT / 2015

Guide de la documentation des produits BusinessObjects XI

Panorama de l offre et des usages des tablettes

PORTABLES $ $ $ 34.99$ ORDINATEURS INCLUS. Options Écran tactile. Lenovo ThinkPad Edge E540

La mesure des écarts en Sciences de l'ingénieur

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

La mobilité dans l Administration avec Windows

Modules Multimédia PAO (Adobe)

Quel PC pour quels usages? 1) PC de Bureau ou Portable? Les différents types de portables. - Les ultra-portables. - Les portables généralistes

3615 SELFIE. HOW-TO / GUIDE D'UTILISATION

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés.

Guide de l'administrateur Citrix Personal vdisk 5.6.5

Environnement logiciel open source pour la création d œuvres artistiques interactives

Découverte des tablettes tactiles (ipad d'apple et Galaxy Tab de Samsung

Installation et prise en main

Réussir et traiter ses photos sous UV avec Photoshop

Casisa Anthony DOSSIER PERSONNEL

Recommandations techniques

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

CONÇU POUR S'ADAPTER. Lenovo recommande Windows 8 Professionnel.

Séquence rédigée de manière provisoire : Document de travail FAIRE ROULER - "Petites Voitures" CYCLE II

II-Solution technique pour le développement du site de l'urma

Comment installer Viber et WhatsApp sur son ordinateur!

PCTV DVB-T Pro USB Matériel

CYLINDRE ET BÉQUILLE ÉLECTRONIQUES À BADGE Aperio E100 & C100

Créer un rapport pour Reporting Services

Gestion des utilisateurs : Active Directory

Tester Windows 8 sans l'installer avec Virtualbox

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Préconisations Techniques & Installation de Gestimum ERP

Transmetteur Wifi Heden NOTICE D UTILISATION

Mention : En débat

Déployer des Ressources et des Applications sous Android.

1 er réseau social dédié à la photographie

Projet Robot Centaure

ÉLECTRONIQUE DE LA PORTE

Hippo : La réactivité d une tablette, la taille d un tableau blanc interactif!

Manuel de l'utilisateur d'intego VirusBarrier Express et VirusBarrier Plus

La GEIDE. Dans une solution GEIDE, il est possible d'associer au sein même d'un dossier:

Compte TOURISME PORTS ENVIRONNEMENT UPPC RÉSEAU EXEMPLAIRE DES VILLES PORTS - TERROIRS CULTURELS DE CORSE TIC PORTO- VECCHIO

Dossier table tactile - 11/04/2010

Études et Réalisation Génie Électrique

Utilisation du visualiseur Avermedia

Extrait des Exploitations Pédagogiques

Calibrage du moniteur avec Monitor Profiler de Little CMS

Analyse de performance, monitoring

Enquête 2014 de rémunération globale sur les emplois en TIC

PPE BTS SIO Jourson - Attard Ascenzi Mancini GEP Marseille - 06/11/2014

A- Observez la vidéo A présentant le fonctionnement de deux objets techniques que nous

Par Richard Beauregard. Novembre 2011

Outil de gestion et de suivi des projets

Conduite et Gestion de Projet - Cahier des charges

Ensuite, insérer la clé USB 3.0 compatible, et lancer l'assistant Windows To Go :

CFAO. Conception et Fabrication Assistée par Ordinateur. Le matériel utilisé en CFAO : un SYSTÈME AUTOMATISÉ. Barbecue Assisté par Ordinateur

PARCOURS COMPLET AU COURS MOYEN

Solutions pour l'industrie de nutrition animale

L A T O U R D E P E I L Z Municipalité

Ordinateur portable GAMER - GE620DX

CIRCUIT DE LA CHATRE

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

VTigerCRM. CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise

InLighten MC (Tablette réfléchissante)

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

Examen de la saisine Définition de l'architecture du SINP. Contributeurs : Frédéric Gosselin, Pascal Dupont

EW3961 Adaptateur voiture universel 90 W pour Ordinateur portable

Lenovo S5000. Guide de démarrage rapide v1.0

CAS IT-Interceptor. Formation «Certificate of Advanced Studies»

CYBER-BASE M. E. F. I 2 RIVES. Programme des Ateliers

Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V

Aménager. son point de vente

1. Installation standard sur un serveur dédié

Lampes à DEL EcoShine II Plus

Table des matières. 3kernels.free.fr QR-Codes 2 / 6

guide de branchement

Optimisez le potentiel sans fil de votre ordinateur portable ou de votre PC de bureau

Baccalauréat technologique

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Satellite Pro R50 C O N Ç U P O U R V O T R E E N T R E P R I S E. TOSHIBA recommande Windows 8.

GUIDE DE L UTILISATEUR Recoveo Récupérateur de données

Communiquer : les autres Chèque n 7 Module 2

Prototypage électronique

PRÉSENTATION VITRINEMEDIA

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Contrat de Maintenance Informatique

CATALOGUE FORMATIONS

Nb. De pages : 24 MANGO. Manuel d'utilisation. Version 1.2. décembre 2010


01V96i Editor Manuel d'installation

Amortisseurs de fin de course

PHPWEBSITE -Tutoriel image

TABLE DES MATIERES. Remarque... 2

GSM/GPRS/GPS Traceur Véhicule G-1000 PRO Manuel D utilisation

DEVELOPPEMENT MOBILE - ETAT DE L ART DES SOLUTIONS

Routeur Gigabit WiFi AC 1200 Dual Band

Transcription:

Projet CannonBall RC 1/9

Table des matières Contexte et domaine d'application ciblée...3 Cahier des charges résumé...3 Achitectures implémentées...4 Composants logiciels et matériels utilisés...5 Matériel utilisé :...5 Logiciel :...6 Technologies utilisées :...6 Gestion du projet (etapes, taches, temps,...)...7 Problèmes rencontrés et les solutions élaborées...8 Conclusion...9 Évolution et perspectives :...9 2/9

Contexte et domaine d'application ciblée Le but de ce projet est la réalisation d'une voiture de course modèle réduit autonome capable de parcourir un circuit par identification de markers. Une des finalités est de faire un convoi de voitures qui maintiendraient une distance (de sécurité) entre elles. Cahier des charges résumé Le véhicule doit être capable de se déplacer à l'aide de marker,s pour cela, l'utilisateur doit effectuer quelques tâches qui sont schématisées dans le diagramme suivant : Tout ce que la voiture CannonBall nécessite comme énergie est fournie par une batterie lipo. L'utilisateur a juste à lancer le programme de reconnaissance de marker sur une tablette préalablement chargée et placer son marker coloré devant la caméra pour que la voiture agisse de manière autonome. 3/9

Achitectures implémentées Premièrement, nous avions pensé à une architecture comportant plusieurs blocs inintéressants. Elle comprenait une partie Marker + Camera + Tablette, s occupant de la détection, de l'analyse et du tracking des markers. Ensuite, une autre partie comprenant Le Pololu + les moteurs de direction et de propulsion + la voiture + la tablette, pour s'occuper du déplacement et du contrôle du véhicule. Enfin deux autres modules y étaient ajoutés : le serveur + les capteurs qui serviraient à envoyer des données sur un serveur via MQTT et aussi à optimiser la trajectoire du véhicule grâce à ces données. Enfin un module de Réception Radio couplé au Pololu, pour envoyer des ordres au véhicule, comme l'arrêt d'urgence. Voici un diagramme présentant succinctement cette architecture : Finalement, comme dans la plupart des cas, on fait face à des problèmes, et ce qui est prévu peut changer. Nous avons donc remplacé le Pololu par un Arduino dont la fonction reste globalement la même. L'usage des capteurs et du Radio Contrôle fut abandonné. Voici un diagramme représentant l'architecture utilisée : 4/9

Composants logiciels et matériels utilisés Matériel utilisé : Tout d'abord, la base de notre montage, la voiture RC Kyosho Scorpion XXL VE équipéé de deux servo pour la direction et la propulsion. Elle contient un module de réception 2,4Ghz - - Tablette Lenovo Thinkpad2 sous Windows pour lancer les programmes d'analyse des markers et de contrôle du véhicule, choisi pour sa légèreté et sa finesse et son encombrement réduit. 5/9

- Arduino Uno pour le contrôle du véhicule via les servo-moteurs, Il pourra aussi recevoir les données du récepteur radio. - Pololu maestro 6-channel servo controller : ancienne solution de contrôle du véhicule - Caméra c920 Logitech filmant en HD pour une bonne précision de l'image qui est encodé en h264 matériellement pour la légèreté du flux. Logiciel : - OS : Windows qui était installé sur la tablette non compatible Linux (GPU) - IDE : Visual Studio pour développer sous Windows. Pololu Maestro controller pour le premiers essai de contrôle. Arduino IDE pour la version final du controller. Technologies utilisées : - Opencv (c++) pour la détection et la traking de markers - Arduino pour le contrôle du véhicule - Communication série pour faire communiquer les deux parties, contrôle et détection de markers, entre elles 6/9

Gestion du projet (etapes, taches, temps,...) Tout d'abord nous avons imaginé une répartition idéale des tâches et du temps en deux grandes parties à savoir : la détection de markers et le contrôle du véhicule. Après la phase de développement des ces deux parties, il y aurait eu une mise en commun pour les intégrer ensembles afin de rendre le prototype fonctionnel. Une fois ce prototype achevé, les parties sur son optimisation auraient été abordées. Des parties telles que le contrôle de la voiture par Radio Contrôle, pour effectuer des arrêts d'urgences ; ou encore une partie sur les capteurs qui aurait permis un meilleur contrôle de la vitesse, des directions et de l accélération. Enfin, une phase d'intégration finale aurait été nécessaire, suivie d'une phase de test, de debug et d'optimisation. Enfin, la documentation aurait pu être rédigée sereinement avant la soutenance. Voici un diagramme de Gantt illustrant cette planification de projet : Finalement, comme c'est souvent le cas, cette planification ne fut pas respectée, et suite a des problèmes auxquels nous avant du faire face, (problèmes développés au point suivant) le planning s'est vu quelque peu modifié, voici un diagramme illustrant ce que fut la planification réelle du projet : 7/9

Problèmes rencontrés et les solutions élaborées Problème 1 : installation des librairies ArUco nécessaires à la reconnaissance des markers Il nous était impossible d'éditer correctement les librairies sous Windows (très peu de documentation). --> solution : projet opencv trackant un marker coloré, et abandon de l'analyse de marker sous forme de Qrcode. Problème 2 : services du Pololu insuffisants pour contrôler efficacement les moteurs du véhicules. --> solution : récupération d'un Arduino, ce qui fut une bonne opération au vu de l'extrême richesse de la communauté. Problème 3 : comment récupérer la position ainsi que la taille de l'objet à tracker? --> solution : utilisation de la fonction cvmoments(imgthresh, moments, 1); Cette fonction calcule les moments spatiaux et centraux d'une image binarisée (ici imgtresh) jusqu'au troisième ordre. On peut ainsi obtenir les coordonnées (dans le repère de la caméra) du marker coloré que l'on souhaite tracker, mais aussi la taille de l'objet en question. Problème 4 : intégration des parties "détection marker" et "pilotage véhicule". Nous ne pouvions pas envoyer la position et la taille du marker nécessaires aux algorithmes de contrôle du véhicule sur l'arduino. --> solution : ajout de la librairie serial, permettant de transmettre des informations après les avoir préalablement découpées en plusieurs morceaux de taille fixe. Cette méthode permet l'envoie ainsi que la réception de données sur l'arduino via son port Serial. La communication en série nous a permis d'établir un dialogue à sens unique ici entre l'analyse de la caméra et les moteurs (propulsion et direction). 8/9

Conclusion Au final notre projet se divise en trois parties, dont une bien distincte : Architecture Système L'utilisateur détermine les valeurs TSV (Teinte Saturation Valeur) correspondantes au marker coloré, puis rentre ces données dans ObjectTracking. Il ne reste plus qu'à lancer le projet opencv ObjectTracking,, et à placer le marker dans le champs de vision de la caméra. Ainsi, le véhicule, piloté par l'arduino grâce aux données envoyée par ObjectTracking, suivra le marker en gérant sa vitesse et sa direction de manière autonome. Évolution et perspectives : L'année prochaine, lors qu'un groupe aura repris le projet, il pourra être judicieux d implémenter la reconnaissance de markers de type Qrcode, pour cela, la bibliothèque ARuco est tout indiquée. L'avantage de ces markers et d'être facilement détectables (contraste entre le blanc et le noir) et identifiables, cela évite tout parasitage. Il serait plus aisée de travailler sous Linux pour pouvoir ajouter des bibliothèques plus aisément tout en gardant un tablette fine. Ici nous avons une tablette qui a une taille qui rentre parfaitement dans le châssis de la voiture, à 5 mm près, L'utilisation des capteurs de la tablette pourra aussi être une perspective raisonnable, pour améliorer certains point comme la sécurité du matériel et des personnes. Grâce a ces capteurs, une mesure de la vitesse pourra être faite ainsi qu'une mesure de l'accélération pour contrôler ou éviter le dérapage. 9/9