IMA4 2018/2019 P40
Sommaire
Présentation générale : RFID/NFC
Étudiants : Xinwei Hu et Jean de Dieu NDUWAMUNGU
Encadrants : Thomas DANEL et Vincent COELEN
Description
Le Robotino est un système robotique opérationnel de grande qualité à entraînement omnidirectionnel. Il peut se déplacer dans plusieurs directions. Il est muni d’une webcam et de plusieurs capteurs afin d’assurer son déplacement et différentes opérations qu’on adviendrait à effectuer. Il peut être utilisé directement sans PC.
Pour effectuer sa commande le Robotino dispose d’un ordinateur de bord sur lequel se trouve une carte Compact Flash qui contient plusieurs applications de démonstration ainsi qu’un système d’exploitation. Les démonstrations peuvent être directement lancées à l’aide du clavier de commande du Robotino.
Traditionnellement sa programmation est faite soit depuis un PC à l’aide du logiciel Robotino View via un réseau local sans fil ou en le branchant directement par une connexion filaire.
Dans ce projet nous allons développer une méthode nous permettant de le configurer automatiquement sans devoir passer par un réseau quelconque à l’aide de puces RFID/NFC et aussi en exploitant la technologie NFC disponible sur nos téléphones Android.
Objectifs
- Aspect RoboCup
Le but de ce projet est d'avoir des puces RFID/NFC intégrés au niveau des têtes des Robotino ou sur la coque et de pouvoir avoir plusieurs applications possibles. Une des application possibles serait d’avoir des cartes qu’on pourrait aimanter afin de choisir la configuration du robot pour différents aspects. Dans la coupe de robotique, RoboCup, les robots sont de deux couleurs différentes : cyan ou magenta. Au début de la compétition cette configuration est faite manuellement. Le travail que nous allons faire sera de le réaliser automatiquement cette tâche à l’aide de puces RFID/ NFC en leurs affectant un numéro, une couleur. Automatiser la tâche nous permettra de gagner donc du temps et d’éviter les erreurs liées à la configuration des Robotino surtout quand on dispose plusieurs de ces derniers.
- Aspect AIP
L'école Polytech Lille reçoit le long de l'année des visites sur le campus lors des journées portes ouvertes ou des événements comme la CREP. Sur les différents robots se trouvent des vidéos de démonstration. L'objectif côté AIP sera de développer une technique permettant de lancer automatiquement une démonstration à l'aide d'un tag préprogrammé qu'on viendrai déposer sur le robot.
- Application Smartphone
La technologie NFC s'est étendue sur plusieurs modèles de smartphone. Un autre objectif de ce projet sera d'exploiter cette possibilité en effectuant une configuration automatique des Robotino lorsqu'on approche un smartphone sur ces derniers. Dans notre cas il s'agira dans un premier temps de connecter automatiquement le robot sur le même réseau wifi que le smartphone que l'on approche du Robotino et dans un second temps de piloter le robot ou de visualiser les images vidéos à l'aide du joystick virtuel sur une application Android que nous allons développer.
Analyse du projet
Positionnement par rapport à l'existant
Dans ce projet nous allons travailler sur des Robotino qu'on retrouve à Polytech. Notre solution sera nouvelle dans la mesure où elle va permettre un gain considérable en temps et en nombre de tâches à effectuer lors de la configuration des robots, en automatisant les tâches. Les Robotino disposent des supports NFC le but est d'exploiter cette possibilité en apportant une solution nouvelle.
Analyse du premier concurrent
Wakdev est une société de développement informatique spécialisée dans la conception et la réalisation de solutions Web & Mobile. Il a développé l'application qui s'appelle NFC Tools pour configurer des tags NFC sur la plateforme Android, IOS, PC/MAC. NFC Tools est une application qui permet de lire, écrire ou programmer des tâches sur les tags NFC et autres puces RFID compatibles. NFC Tools peut enregistrer sur les tags NFC des informations standard qui seront compatibles avec l'ensemble des appareils NFC. Il propose aussi de programmer des tâches sur les tags NFC afin d'automatiser des actions qui étaient autrefois répétitives.
Website de cette société : [1]
Analyse du second concurrent
Robotino View est le logiciel d'édition officiel de Robotino avec des fonctionnalités extrêmement puissantes. Il peut réaliser la programmation et la simulation de Robotino.
Scénario d'usage du produit ou du concept envisagé
4 Juillet 2019, RoboCup 2019
L'équipe de recherche de Polytech'Lille participe à la RoboCup 2019. Elle veut améliorer ses performances en instaurant une technique de configuration automatique des Robotino sans avoir à le faire manuellement pour chaque robot en lui assignant à l'aide d'un tag NFC un numéro ainsi qu'une configuration adéquate. Des Tags Cyan et Mangeta pour chaque ont été fabriqués. On a juste à coller le tag sur la tête du Robotino pour le configurer en Cyan ou Magenta.
2 Mai 2019, Journée CREP Polytech Lille
Jean et Xinwei, étudiant en IMA4 et passionné par la robotique, sont chargés de la présentation des Robotino aux élèves venus découvrir ce qui peut être leurs domaines d'études dans quelques années. Afin de rendre interactif la présentation des Robotino Jean et Xinwei ont décidé de développer une application sur leurs téléphones Android qui agit en tant que joystick permettant ainsi une commande à distance du Robotino, ou une vue de ce que la caméra sur le robot filme. Ils pourront saisir une photo qu'ils vont partager avec les élèves visiteurs.
Réponse à la question difficile
- Existe-t-il un lecteur intégré NFC au robotino ? Si oui quelle est la difficulté du projet ? Si non, quel lecteur prendre (quelle norme) et comment s'intégre-t-il dans la chaîne de développement ?
Les robotinos ne disposent pas de lecteur intégré NFC. Dans le cadre du projet commun à la coupe Robocup nos encadrants ont effectué une commande de lecteur NFC. Une fois arrivés nôtre tâche sera de les connecter au Robotino et de nous assurer du bon fonctionnement des lecteurs. La difficulté du projet réside dans le fait que l'on va devoir apprendre à développer sur un Robotino en utilisant ROS qui est un serveur de paramètre. Nous avons la possibilité de le faire en C++ et en Python. Le robotino dispose en effet d'un fichier de configuration dans lequel se trouve sa configuration complète : nom du robot, couleur, réglages des moteurs, etc. Nous allons donc devoir lire ce fichier et trouver par nous mêmes comment envoyer l'information nécessaire à l'antenne qui sera connecté sur le Robotino. Cette antenne est notre lecteur RFID et sera connecté en série avec le Robotino. De plus une application Android devra être développée dans le langage Java. Nous allons donc apprendre également comment concevoir des applications Android et comment faire marcher la communication téléphone<->Robotino.
- Comment réaliser la configuration du smartphone pour la prise de contrôle du Robotino ?
Comme expliqué dans le paragraphe ci-dessus l'application va nous permettre de faire communiquer Robotino et téléphone. Le robot pourra envoyer des données comme le nom de son wifi ou un mot de passe par exemple et nous allons nous connecter sur son wifi et ainsi il y'aura une liaison entre les deux terminaux. Avec la pratique nous allons vérifier s'il est judicieux de se connecter au wifi du robot ou connecter le Robotino à un wifi imposé. Nous étudierons les deux cas et on va adopter celui qui sera la plus efficace.
Préparation du projet
Cahier des charges
1. S'assurer du bon fonctionnement du kit RFID sur le Robotino. Programmer ce dernier afin qu'il puisse prendre en compte les différents applications dont nous pourrons avoir besoin
2. Coller des tags RFID/NFC extérieurs pour mettre le robot dans une configuration souhaitée
3. Côté téléphone : Réaliser la prise de contrôle du Robotino avec le téléphone à l'aide d'une application Android
4. Reconfigurer le robot avec le téléphone
Choix techniques : matériel et logiciel
Le matériel a déjà été commandé par nos encadrants. La liste des composants ne nous est pas encore parvenue on actualisera ces données dès que nous l'aurons reçue.
Nous utiliserons du matériel déjà existant : Robotino + tags RFID qui ont été commandés.
Côté développement téléphone mobile nous utiliserons Android Studio pour développer notre application.
Liste des tâches à effectuer
- S'assurer du bon fonctionnement du kit RFID sur le Robotino. Programmer ce dernier afin qu'il puisse prendre en compte les différents applications dont nous pourrons avoir besoin
- Coller des tags RFID/NFC extérieurs pour mettre le robot dans une configuration souhaitée
- Côté téléphone : Réaliser la prise de contrôle du Robotino avec le téléphone à l'aide d'une application Android
- Reconfigurer le robot avec le téléphone
Calendrier prévisionnel
Réalisation du Projet
Feuille d'heures
Tâche | Prélude | Heures S1 | Heures S2 | Heures S3 | Heures S4 | Heures S5 | Heures S6 | Heures S7 | Heures S8 | Heures S9 | Heures S10 | Total |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Analyse du projet | 0 |