IMA3/IMA4 2018/2020 P13

De Wiki de Projets IMA
Révision datée du 26 mai 2019 à 15:06 par Vdubois- (discussion | contributions) (Equipe 1)


Présentation générale

Description

Sur le marché actuel, on trouve très peu de robots amphibies. En effet, les systèmes de propulsion traditionnellement utilisés ne sont pas adaptés pour fonctionner dans différents environnements. Cependant, de nouvelles techniques voient le jour notamment grâce à l’émergence de la robotique molle (Soft Robotic). Ce nouveau domaine s'inspire fortement de la manière dont les organismes vivants se déplacent et s’adaptent à leur milieu. L'un des objectifs de la robotique déformable est notamment d’accroître la mobilité des systèmes en utilisant des matériaux hautement déformables.

Ce projet consiste donc en la réalisation d'un robot amphibie pouvant se déplacer aussi bien sur la terre ferme qu'en milieu aquatique. Pour ce faire, nous nous inspirons du déplacement de la raie et du serpents. Ces deux animaux se déplacent par ondulation (verticale pour la raie et horizontale pour le serpent). Le robot sera donc munie de deux nageoires ondulantes dont on peut changer l'inclinaison afin de s'adapter a son environnement.

Objectifs

L'objectif est dans un premier temps de concevoir le système de propulsion a l'aide de matériaux déformables. Le mouvement des nageoires sera sinusoïdale contrairement a la raie dont le mouvement serai trop complexe a reproduire étant donne le temps consacré au projet. Le contrôle du robot se fera en boucle fermé donc de manière autonome.

Dans sa globalité, le projet comprend:

-la conception du système de propulsion par ondulation

-la fabrication de l'enveloppe hermétique

-la conception de la carte électronique

-l’intégration des différents capteur nécessaires au fonctionnement autonome

-le développement du programme de navigation (avec reconnaissance du milieu?)

Analyse du projet

Positionnement par rapport à l'existant

Analyse du premier concurrent

Salamandra robotica II (École polytechnique fédérale de Lausanne)


Salamandra robotica II.jpg Salamandra robotica II2.jpg


Ses concepteurs se sont inspiré de la salamandre pour fabriquer un robot amphibie capable d’évoluer dans l'eau comme sur terre. Cet amphibien utilise deux modes de locomotion différents en fonction du milieu dans lequel il se trouve. Dans l'eau, son corps ondule: l'animal nage alors à la manière d'une anguille. En revanche, il utilise ses pattes pour se mouvoir sur la terre ferme.

Le robot se compose de dix modules articulés pouvant réaliser des mouvements latéraux. Les neuf premiers ont une forme rectangulaire et intègrent des circuits électriques et des microcontrôleurs. Quant au dernier, il ressemble à une palette natatoire. Les modules 3 et 6 sont en plus équipés d'une paire de pattes repliables.

Les mouvements sont donc coordonnés par un ordinateur principal faisant tourner la modélisation du réseau neuronal des salamandres. Une simple commande pouvant être émise à distance suffit pour changer le mode de locomotion du robot. La vitesse de nage comme sa direction sont également gérées par l'ordinateur central.

Analyse du second concurrent

Velox (PLIANT ENERGY SYSTEMS llC) https://www.pliantenergy.com/

Pliant energy robot.jpg Pliant energy robot2.jpg Pliant energy robot3.jpg

Le robot Velox cumule plusieurs modes de locomotion empruntés au monde du vivant. Équipé d’une seule paire d’ailettes latérales souples qui changent de position selon l’environnement, l’engin est capable « de nager comme une raie, de ramper comme un mille-pattes, de jaillir comme un calamar et de glisser comme un serpent ».

Le secret de ses déplacements réside dans ses appendices ondulatoires. Lorsqu’ils sont alignés à l’horizontale, la machine peut se déplacer sous l’eau. En mode tout-terrain, ses ailettes se positionnent perpendiculairement au sol pour ramper, par exemple, sur des sables mouvants. Ses pédicules caoutchouteux lui permettent également de patiner sur la glace et de slalomer entre les obstacles sur la neige.

Ce robot n’est pour l’instant qu’un prototype mais intéresserait cependant le bureau de la recherche navale américaine pour ravitailler en armes et en matériel des troupes lors d’un débarquement.

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

Le robot est capable de détecter la nature de son milieu et d'adapter l'inclinaison de ses nageoires en fonction. Il peut donc évoluer dans des milieux complexes et variés tel que des zones sinistrées, inondées, marécageuses, sableuses, aquatiques,... L'avantage qu'il possède, comparé au véhicules traditionnels, est son changement de locomotion rapide en cours de déplacement. En fonction de l'objectif de sa mission, le robot se déplace de manière autonome jusqu’à atteindre sa cible ou peut être piloté manuellement par un utilisateur. Du fait de ses propriétés, il peut servir dans les scénario suivants:

  • Reconnaissance et recherche de survivants suite a un tremblement de terre.
  • Navigation dans des zones marécageuse/sable mouvants.
  • Reconnaissance dans conduite d'eau
  • Exploration de fonds marins (Résistant à l'enchevêtrement dans les plantes ou autres débris aquatiques).

Réponse à la question difficile

Bibliographie et webographie

  • Magazine Pour La Science n 402 p66 "Onduler pour avancer"

Préparation du projet

Cahier des charges du groupe

Cahier des charges des équipes

Equipe 1

Damien Tillaux & Vincent Dubois

  • Propulsion:

Le robot reprend le principe de propulsion du second concurrent. Pour reproduire ce mouvement sinusoïdale des nageoires artificielles on utilise des servomoteurs alignés de chaque côté du robot. Le nombre de servomoteurs est fixé à 5 de chaque côté afin d'avoir une meilleur stabilité. En effet, pour une période d'oscillation, le robot alterne entre 2 et 3 points d'appuis; l'avantage étant que les point d'appuis du robot sont centrés sur le milieu du chassie ce qui assure une meilleur stabilité.

Schema stabilite.png

La solution moteur+arbre est d’emblée éliminé car trop compliquée a mettre en place étant donne nos faibles connaissances en mécanique. De plus, la consommation en énergie des servomoteurs est bien moindre comparée a un moteur(DC).

  • Chassie:

Comparée au robot massif et volumineux du deuxième concurrent, nous souhaitons concevoir un robot de plus petit taille et a faible coût... impression 3D. Le chassie doit pouvoir accueillir le moins de matériel nécessaire a la navigation possible afin de limiter son poids. L'appareil étant amené a se déplacer dans l'eau, le chassie doit donc être étanche. Étant donnée que le projet porte en premier lieu sur les compétences IMA, l’étanchéité du robot fera l'objet d'une étude secondaire avec l'aide de nos confrères en Conception Mécanique.


  • Nageoires:

De chaque cote du robot, la pale est attaché aux servomoteurs via une bielle adaptée au dimensions du servomoteur et de la pale. La nageoire doit être déformable pour pouvoir s'adapter au mouvement sinusoïdale des servomoteurs. Elle doit aussi avoir une certaine adhérence au sol pour permettre au robot d'avancer correctement.


  • Contrôle:

Le dispositif a pour but final d'être complètement autonome. Pour cela nous devrons créer un algorithme qui devra reconnaître son milieux et adapter son déplacement en fonction. Pour ce faire, le robot doit intégrer des détecteurs d'obstacles ainsi que des capteurs d’humidité pour la reconnaissance de milieux aquatiques. L'appareil doit également être télécommandable pour que l'utilisateur puisse prendre la main sur son déplacement. Nous proposons d’intégrer une télécommande infrarouge au projet ainsi qu'une camera.

Equipe 2

Eric Agbodjan

L'avantage de fabriquer sa propre carte électronique est de pouvoir utiliser uniquement les entrées/sorties du microprocesseur dont on a besoin pour le projet et de pouvoir adapter la disposition des pins. Notre PCB doit pouvoir accueillir: 12 servomoteurs, 2 TSOP, 2 capteur de distance IR et une sonde d’humidité. On doit aussi pourvoir la programmer et la réinitialiser. Les dimensions de la carte ainsi que la disposition des pins doivent être adaptes au châssis et a la disposition des différents capteur/servomoteurs. De plus cette carte doit être modifiable pour pouvoir intégrer de futur capteurs en plus.

Choix techniques : matériel et logiciel

Equipe 1

  • Servomoteurs:

SG90: Avantages: pas chère, léger, peu volumineux, facile a contrôler (PWM) Assez de couple pour soulever le robot?

estimation de la masse total du robot ~ 0,5kg.

Tableau des masses
Masse (kg) Quantité Total
Arduino Mega 0,037 1 0,037
Batterie 0,2 1 0,2
SG90 0,009 10 0,09
Boitier 0,1 1 0,1
Pales 0,01 2 0,02
Capteurs 0,005 1 0,005
0,497


D’après la datsheet, le SG90 peut développer un couple de 1800g/cm:

Sg90.jpg SG90specifications.png

Dans le cas le plus défavorable le poids est repartie sur 4 points d'appuie (125g chacun).

Schema couple.png

On a donc un couple appliqué sur chaque servomoteur C = 125xL g.cm On calcule une largeur de pale L = 1800/125 = 14,4 cm maximal pour ne pas dépasser le couple max développé par les SG90. Etant donné l'estimation de la taille du châssis (~300mm*200mm), la largeur max de nageoire calculée est largement supérieur a l'estimation faite en amont. Validation du choix du servomoteur.

  • Nageoire:
    • Matériau:

Le caoutchouc est un matériaux déformable et rugueux et parait être parfaitement adapté a notre problème. De plus, ce matériaux est facile a découper (manuellement/découpe laser). Nous utilisons donc des feuilles de caoutchouc pour les premiers prototypes de nageoire. Cependant, l’inconvénient de ce matériau est qu'il a une masse volumique importante et donc demande plus de puissance au servomoteurs lors du délassement. Pour palier a ce problème, nous avons penser a l'impression 3D avec un matériau déformable tel que le TPU (polyuréthane thermoplastique). L’intérieur de la nageoire serait donc designer sous forme de mésostructure a la fois rigide, déformable et de faible masse (logiciel ICE SL).

    • forme:

Le positionnement de la pale sera déterminé de manière expérimentale. Nous avons pensé a 2 solutions: la première consiste a placer la nageoire de manière longitudinale dans l'axe des bielles. De ce fait, le mouvement d'ondulation suit parfaitement le mouvement des servomoteurs. La deuxième solution est donner une forme ondulée aux nageoires; c'est a dire que lorsque les bielle sont toutes alignées sur le même plan, la nageoire est deja ondulée. [faire un schéma!] Le dimensionnement des nageoires dépend donc de la configuration choisie.

  • Contrôle:
    • Détection d'obstacles:

Les capteurs ultrasons généralement vendus avec les cartes Arduino permettent de mesurer une distance et sont souvent utilisés pour la détection d'obstacle. Cependant, d’après notre expérience personnelle, leur fonctionnement ainsi que la précisions des mesures sont douteux. Les capteurs de distance infrarouges paressent être une alternative plus fiable(https://www.phidgets.com/?tier=3&catid=5&pcid=3&prodid=396). Deux capteurs seront disposés a l'avant du robot et seront inclines l'un par rapport a l'autre afin de couvrir un angle plus important. Meme si théoriquement le robot est capable d'effectue une marche arrière, nous n'avons pas juge nécessaire de positionner un autre capteur a l’arrière du châssis.

    • Détection milieux aquatique:

Nous avons d'abord pense a un capteur d’humidité. Cependant la mesure du taux d’humidité ne caractérisé pas si on est dans un milieu aquatique ou non: on peut par exemple avoir un taux de 100% dans l'air. Il a donc fallu trouver un système tout ou rien pour détecter la présence d'eau. Pour cela, on place deux électrode a l’extérieur du châssis et on applique une tension sur l'une des deux. Si le robot est bel et bien dans l'eau, on peut détecter une tension sur la deuxième électrode.

Test detection eau.jpg
    • Pilotage manuel:

Pour prendre la main sur le déplacement du robot, on décide d'utiliser une télécommande infrarouge ainsi que des TSOP. Les TSOP, directement implantés sur le PCB reçoivent les signaux infrarouges envoyés par la télécommande. Dans un premier temps, on utilisera une télécommande infrarouge deja existante (télécommande de télévision). Dans un second temps, nous fabriquerons notre propre télécommande spécialement adaptée a notre application.

    • Camera:

La récupération des images de la camera a distance est impossible a mettre en oeuvre avec une simple carte basée sur l'ATmega. Pour recevoir les images en tant réel, on connecte la camera a une carte RaspberryPi capable d’interagir avec un ordinateur via le réseau wifi. La carte RaspberryPi Zero (https://www.raspberrypi.org/products/raspberry-pi-zero-w/) possède une carte wifi et permet la connexion d'une camera CSI (https://www.raspberrypi.org/products/camera-module-v2/).

Equipe 2

Réalisation du PCB:

matériel a intégrer : - 12 servomoteurs (type : SG90) - 2 TSOP - 2 capteurs de distance IR - Capteur d’humidité - Bouton reset - led de contrôle - Communication USB ( microprocesseur FT232R ) - programmateur ( prog spi avr)


Nous avons choisi de prendre un microcontroleur atmega2560 pour effectuer notre carte programmable. Ce microprocesseur possède 16 broches PWM ( 12 seront utilisés pour le servomoteurs). Ceci est un avanatge car le robot va devoir porter le chassis donc cela va permettre d'aléger de quelques grammes les palmes.

Le bouton va permettre de rénitialiser la carte s'il y a un problème dessus.

Les leds de controles vont être très utiles car avec ça, nous allons pouvoir repérer les éventuelles problèmes d'alimentation.

Le capteur infrarouge va nous permettre de télécommander le robot via une télécommande.

La carte raspberry pi zéro va servir pour la caméra car nous ne pouvons pas brancher directement la caméra à un arduino. Nous avons choisi cette car elle est petite, pas cher et assez puissante pour faire fonctionner une caméra.

Niveau logiciel, j'ai choisi d'utiliser Altium Designer car on va l'utiliser tout au long du cursus.

Liste des tâches à effectuer

Equipe 1

  • 1.1 Choix des capteurs/servomoteurs.
  • 1.2 Premier prototype de châssis (un seul cote = 5 servomoteurs).
  • 1.3 Algorithme de déplacement (avec 5 servomoteurs seulement).
  • 1.4 Design des nageoires.
  • 1.5 Tests et ajustements algorithme/pale avec 5 servomoteur.
  • 1.6 Conception et impression du châssis final.
  • 1.7 Algorithme de déplacement complet (10 servomoteurs).
  • 1.8 Télécommande IR.
  • 1.9 Camera + RaspberryPi.
  • 1.10 Algorithme de pilotage automatique avec intégration des capteurs.
  • 1.11 Châssis étanche.

Equipe 2

  • 2.1 Recherche sur les différents composants (descriptions des pins, alimentation,...)
  • 2.2 Conception du schéma électrique du circuit
  • 2.3 Routage du PCB
  • 2.4 Impression et implantation des composants
  • 2.5 Tests
  • 2.6 Choix de la batterie adaptée

Calendrier prévisionnel

Planningp13.png

Réalisation du Projet

Projet S6

Semaine 4

Lors de la séance du 12/02, nous avons défini un premier jet du cahier des charges. En fonction des éléments que nous voulons inclure sur le véhicule, nous avons mis en prévision un masse total des composants (environ 500 gramme).

Pour la méthode de déplacement, nous avons décidé d'utiliser des servomoteurs mais nous devons définir le nombre à inclure sur le robot. Le nombre de servomoteur sera défini à partir de la masse qu'ils devront soulevé en fonction de la longueur des pâles. Nous sommes allé voir M Astori pour savoir si l'idée de mettre 5 servomoteurs de chaque côté était envisageable. Après étude du caractéristique couple/distance de l'arbre des servomoteurs SG90, nous devrions pourvoir réussir à soulever cette masse sans problème. Théoriquement, avec un SG90 qui a un couple de 1.8kg.cm, quand nous sommes au point critique de, donc 4 appuis, chaque servomoteur devra soulever une masse de 125 gramme. Si nous considérons la masse réparti équitablement, avec cette configuration, les pales devrons, au maximum être d'une largeur de 14.4 cm. Toutes ses informations seront retranscrites dans les choix techniques.

Semaine 5

Cette séance était très fortement consacrée à un brainstrorming du groupe de projet pour savoir qu'elle serait les choix techniques au niveau matériel.

  • servomoteurs: nous partons sur un model de servomoteur FS90. Ce sont les sevomoteur plus basique que les SG90
  • chassi: nous partons dans un premier temps sur la conception d'une moitiée latérale du chassi pour les premiers test à effectuer
  • pale du véhicule imprimé par imprimante 3D, avec une structure souple permettant son ondulation.
  • capteurs utilisés: au niveaux des capteurs à utiliser nous sommes parti sur une liste simple qui pourra être modifié par la suite
    • tsop et led infra-rouge pour une communication infra-rouge
    • 3 sonnar à l'avant du véhicule pour repérer les obstacles en mode autonome
    • une rasberry Pi pour une communication direct avec l'utilisateur s'il veut passer en mode télécommandé

Semaine 6

La scéance fut principalement réservée pour la remplissage du wiki.

Semaine 7

Equipe 1:

Durant cette séance, nous avons commencé à programmer les servomoteurs pour avoir une base pour les premiers tests lorsque le chassis sera imprimé.

Pour le chassis, un modèle 3D à été fait est devrait être imprimé pour la semaine prochaine.

Modification des choix techniques: nous avons décidé de changer les sonars par des détecteurs de distance infra-rouge. Ce changement est dû à la différence d'efficacité entre les 2 composants. Les détecteurs infra-rouge on une meilleure précision et un meilleur fonctionnement.

Equipe 2:

Pendant la séance j'ai effectué des recherches sur le branchement des différents composants ( capteurs de distances, servomoteurs ...) sur l'arduino afin de réaliser le schéma électrique.

Semaine 8

Equipe 1:

Nous avons reçu le premier chassis et nous avons fais les premiers test avec les servomoteur.

Test1 P13.gif

Premier essais TSOP + telecommande IR et préparation d'une rasbérie PI.

Equipe 2:

J'ai effectué la réalisation du PCB (schéma électrique) sur Altium. J'attends la validation de M.Boé pour passer au routage et voir les éventuelles modifications à effectuer.

Semaine 9

Equipe 1:

Adaptation du code pour faire des ondulations lors des tests avec les pales. A faire rapidement les premières pâles pour pouvoir tester.

Création d'un calendrier prévisionnel sur Gant avec les tâches que nous devrons réaliser.

Equipe 2:

Modification du schéma électrique

Recherche pour créer un régulateur 6V pour les servomoteurs

Semaine 10

Equipe 1:

Nous avons commencer le design des bielles pour tenir les nageoires. Nous avons aussi commandé des feuilles de caoutchouc pour prototyper les premières nageoires.

Equipe 2:

attente de validation du shematic. recherche pour la batterie. recherce=he consommation total du système

Semaine 11

Equipe 1:

Equipe 2:

Ajout d'un capteur de température.


Semaine 12

Equipe 1:

Equipe 2:

Finition du shematic.

Commencement du routage.( ils manquent 2 capcacités de découplages)

Capture1.png

C2.png

Documents Rendus

Projet S7

Documents Rendus

Projet S8

Documents Rendus