Présentation du projet "Robot FPV"

Nous sommes un groupe de 4 élèves en terminale STI2D au Lycée Saint-Michel (Annecy),  en spécialité SIN qui travaille sur le projet "Robot FirstPersonView".

Notre projet a pour but de contrôler un robot à l’aide d’un casque d’immersion à distance permettant une meilleure maniabilité, une meilleure précision et observation de l’environnement qui l’entoure.

Il est possible d’observer et d’aller dans des lieux inaccessibles à l'être humain sans celui-ci.

Thomas TEXIER : responsable financier, travaille sur la programmation et réalisation du système "caméra mobile".

Alexandre PERROTTON : responsable technique, travaille aussi sur la mise en place du flux vidéo, du choix de la caméra vidéo et de la connectique.

Victor FILSNOEL : responsable planification, s'occupera de la programmation des moteurs, du montage et câblage du système "robot".

Kilian MAYANS : responsable communication, s'occupe aussi de la gestion et envoi des données des mouvements du casque et du mode de fonctionnement vers le robot.

 

Le SysML

Après avoir répartis les rôles de chacun, nous avons commencer par créer les diagrammes SysML pour notre projet.

Le SysML ou System Modeling Language est un langage de modélisation.

 

En premier temps Victor a travailler sur le diagramme des exigences qui permet de décrire les exigences du cahier des charges.

Kilian a fait le diagramme des cas d'utilisation qui montre les interactions fonctionnelles des acteurs et du système.

Ensuite nous avons tous travailler sur le diagramme de définition de blocs (architecture matérielle du système).

Le diagramme de blocs internes (transfert d'énergie et d'information des différents éléments du robot).

Et enfin le diagramme états transitions. Voici un exemple d'un des diagrammes du groupe (ici gyroscope).

Chaîne d'information et d'énergie

Alexandre et Thomas ont créé les différentes chaînes d'information et d'énergie du robot FPV en parallèle de la création des diagrammes SysML.

Test de programmation des moteurs

En attendant la livraison de nos composants, nous avons codé un programme Arduino et nous avons branché des LEDs de différentes couleurs afin de simuler le sens de déplacement du robot. La colonne gauche de LEDs correspond au mouvement de la chenille gauche et la colonne droite correspond à celui de la chenille droite. Les LEDs vertes correspondent à une marche avant de la chenille (droite ou gauche suivant la colonne), les oranges pour l'arrêt, et enfin les rouges qui indiquent une marche arrière. (Ici X=-3 et Y=0).  

Réception des commandes

Après avoir reçu nos commandes (émetteur recepteur, batteries, casque quanum, robot, caméra avec servomoteurs), nous avons monté le robot tous les 4 et nous avons aussi coller les différentes pièces du casque Quanum. Nous avons ensuite réfléchis aux emplacements des composants qui seront présents sur le robot (comme la caméra sur la photo).

Mise en marche des moteurs

Après avoir réaliser le montage du robot nous avons testé les moteurs. Ci-dessous une vidéo présentant le robot au cours d'un déplacement.

Fonctionnement du casque Quanum, de la caméra et de l'émetteur-récepteur

Après avoir réalisé toutes les soudures et branchements adéquats, nous avons tester l'émission des informations vidéo jusqu'au récepteur du casque qui affichera la vidéo sur l'écran.

Utilisation de l'imprimante 3D

Afin de créer un support adapté à la caméra et qu'elle ne soit pas gênée dans les mouvements de ses servomoteurs, nous avons utiliser une imprimante 3D et un logiciel de modélisation 3D qui nous a permis d'imprimer cette pièce en 45 minutes. 

Les problèmes et avancées du projet

Depuis le dernier article, nous avons tous travaillé sur nos programmes respectifs afin de les mettre en commun. Malheureusement nous avons rencontré plusieurs problèmes sans solution pour certains. Premièrement le gyroscope "TinkerKit" que nous avions commandé a un problème de précision dans l'angle donné donc nous avons commandé un "MPU-6050" 6 axes qui n'a aucun problème de précision une fois calibré. Le deuxième problème majeur est qu'il y a eu une erreur à la commande ce qui fait que nous avons toujours pas reçu la pièce centrale qui nous permet de relier tous les programmes entre eux par liaison non filaire. De ce fait nous sommes dans l'obligation de tester notre programme "général" (programme contenant toutes les parties individuelles) en reliant le gyroscope par des fils assez long afin d'avoir une certaine marge pour tester les différents cas possible de son inclinaison pour la caméra et les moteurs.

Simulation 3D des données du gyroscope

Afin de tester la précision du gyroscope "MPU-6050" j'ai réalisé une simulation 3D sur le logiciel "Processing" en raccord avec le programme Arduino que j'ai téléversé au préalable sur la carte Arduino Mega reliée au gyroscope.