Hexapode (partie 1: présentation)

Introduction

Pour mon projet de la fin de cette année scolaire, j’ai eu l’idée de fabriquer un hexapode robotique. Une des contrainte importantes que je me suis fixé est d’utiliser un maximum de ressources open-source.

Je vais dans cette série d’article essayer de décrire le raisonnement que j’ai suivi tout au long du projet pour réaliser l’objet.

Je vais dans cette première partie présenter le projet dans son ensemble.

Je mettrais en ligne des articles au fur et à mesure de l’avancement du projet.

Je n’ai pas réalisé ce projet seul. En effet, j’ai développé celui-ci  avec l’aide de 3 autres élèves de ma classe.

Un grand merci donc à Marwan, Léo et Axel pour leur aide précieuse!

Problématique

Pourquoi un robot avec des pattes? L’avantage de l’utilisation des pattes lors de déplacements en terrain irrégulier par rapport à l’utilisation de roues est certain. On pourrait parler de l’évolution, qui a doté la grande majorité des êtres vivant se déplaçant sur terre de pattes, de l’avantage de la maniabilité que cela confère, ou encore de la capacité de se relever après une chute.

Les roues nécéssitent quant à elles des contraintes extérieures favorables. Elles permettent de se déplacer plus rapidement sur une route, ou sur des terrains légèrements bosselés, mais on voit assez rapidement la limite de cette technologie lorsqu’il est nécéssaire de progresser sur un terrain accidenté, en montagne ou sur du sable. Des entreprises comme Boston Dynamics montrent ce que peuvent donner le développement d’une technologie bipède ou quadripède avec un budget important.

Un hexapode possède 6 pattes, ce qui lui confère une stabilité plus importante et lui permet en théorie de soulever une charge utile plus lourde qu’un quadripède.

Soyons lucides, les véhicules à roues permettent aujourd’hui de se déplacer sur de plus grandes distances à des vitesses bien plus élevées que nous ne le ferons jamais avec un hexapode. Notre objectif ici n’est pas d’essayer de dépasser les performances d’un véhicule roulant, mais de permettre de fournir des outils hardware et une base software pour du développement avec un budget n’excédant pas 300€. Nous pouvons citer quelques applications potentielles pour cet appareil, comme par exemple le divertissement. Il est possible d’en faire un jouet ou un support éducatif pour apprendre la programmation. Les articles de ce site ont d’ailleurs pour objectif d’être accessible au plus grand nombre. C’est pour cela que j’essaie de rendre la démarche effectuée la plus simple et complète possible à travers le contenu de ce site. On peut aussi imaginer d’autres applications plus professionnelles comme le déminage, l’exploration de conduits, d’égouts ou autres qui sont rendues pertinentes soit grâce au coût de fabrication dérisoire, soit grâce à sa taille. Bien programmé, un tel appareil pourrait servir pour de l’exploration dans des batiments effondrés après un tremblement de terre ou un bombardement afin de déterminer comment dégager des personnes coincées sans les blesser. Il est aussi possible de s’en servir plus simplement comme d’un robot de téléprésence. Je souhaite que le code du robot soit ouvert à tous et le plus évolutif possible. C’est pourquoi nous l’ouvrirons en open-source sur github avec une licence GNU GPL dès que nous aurons terminé ce projet.

Un hexapode possède tout de même de nombreux désavantages par rapport à un véhicule roulant. A commencer par son autonomie, réduite par la consommation des servomoteurs en statique qui, contrairement à un véhicule roulant, ont besoin d’être alimentés en permanence. Un autre désavantage est qu’il doit pouvoir supporter son propre poids sur ses 6 pattes. On est donc bien plus limité en terme de charge utile qu’avec une voiture par exemple.

Si l’on compare le rendemment d’un corps humain à celui d’un robot bipède, nous voyons que la problématique de la consommation d’énergie possède une énorme marge de progression. Les corps organiques possèdent des mécanismes comme l’autophagie qui permettent d’accroitre leur rendement, mais reposent aussi sur des nano machines ultra performantes: les muscles. Peut-être qu’utiliser des moteurs électriques pour des mouvements et des positions statiques n’est pas une si bonne idée… Une technologie hybride pourrait par exemple améliorer en partie les problème du rendement et d’autonomie. Faute de mieux et en attendant une avancée dans ce domaine, je vous souhaite une bonne lecture de ce dossier.

Fonctionnement de l’hexapode

Il s’agit donc d’un hexapode (six pattes) avec 3 articulations par pattes, qui est pilotée par un raspberry Pi. Un serveur web tournera sur la carte.  Grace à une application, on pourra se connecter à l’hexapode et le piloter en lui donnant des ordres simple comme avancer tout droit, aller à gauche, pivoter sur place, etc…

Comme le robot possède 3 axes et 6 pattes, il nous faut 18 servomoteurs. J’ai donc choisi d’utiliser deux puces PCA9685 pour piloter chacun des servomoteurs via la liaison I2C de la raspberry Pi.

La carte sera équipée d’une caméra brachée sur le port CSI. Cela permettra de piloter l’hexapode à distance grace à l’application.

Au niveau mécanique, la structure de l’appareil sera imprimée en 3D dans le but de limiter les coûts et de rendre le projet réalisable et accessible au plus grand nombre. Chaque servomoteur sera alimenté en 6V et des convertisseur DC-DC permettront de les alimenter.

On utilisera donc un Raspberry Pi 3 B+ pour la partie commande de l’appareil, alimenté en 5V via les GPIOs.

Synoptiques

Les synoptiques suivants permetent d’avoir une vue d’ensemble du projet:

Synoptique de câblage

L’image suivante permet d’avoir une vue d’ensemble de l’appareil (la batterie sera en dessous de la structure):

Liste des composants

Voici un tableau récapitulatif des pièces utilisées pour ce projet:

Composant Nombre nécessaire Lien commercial Prix approximatif
Servomoteur 18 lien  78€
PCA9685 2 lien  6€
Ralonges servomoteurs 18 lien  4€
DC-DC buck converter 3 lien  5€
Camera pour RPi  1 lien  32€
Batterie 11.1V  1 lien  14€
Raspberry Pi3 b+ 1 lien 39€
Fil 3D 1 lien 20€
Total:  –  – 198€

Analyse UML

(Cette section est suceptible d’évoluer au fur et à mesure de l’avancement du projet.)

Usecase

Diagramme de séquence

Diagramme de Classe (non définitif)

Article suivant

Références

draw.io
umbrello
inkscape

Sommaire du projet:

Partie 1
Partie 2
Partie 3
Partie 4
Partie 5
Partie 6
Partie 7

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *