Conception et optimisation d’un robot DiWheel

Robot DiWheel 2021

Robot DiWheel 2021

Bonjour à toutes et à tous
Nous sommes heureux de vous présenter notre projet, le robot DiWheel. Notre robot se base sur une structure de LEGO, mais beaucoup de travail technique a été nécessaire pour mener ce passionnant projet à bien.
Si cela vous intéresse, n’hésitez pas, et cliquez sur ce lien pour en savoir plus !
-> Lire l’article complet <-

Conception et optimisation d’un Robot DiWheel

Prototype d’un robot DiWheel

Robot DiWheel 2021

Robot DiWheel 2021


Bienvenue chers visiteurs !

    Étudiant à Polytech Angers nous avons eu, Adrien Soubrane et Corentin Amoruso, la chance de travailler sur l’un des projets proposés au cours de notre dernier semestre. Notre choix s’est porté sur l’étude du robot DiWheel !

    Un DiWheel est un véhicule avec deux grandes roues latérales. Il a été inventé en 1880 mais n’a pas conquis le grand public, ce qui l’a fait disparaitre.
    En effet, les balancements sont le principal défaut de ce moyen de transport.

    L’objectif a été de concevoir un prototype de A à Z à l’aide du kit LEGO Mindstorm EV3 mais aussi d’étudier la stabilité de ce dernier.
    Ce travail est une partie très importante car il permet de modéliser le robot, à la manière d’une maquette, avant de pouvoir le répliquer à échelle humaine.
    C’est donc un projet sur la durée, et nous espérons sincèrement qu’un grand modèle verra le jour à Polytech Agers, grâce (en partie) à nos travaux.
    Le contrôle du robot doit se faire en Bluetooth, dans notre cas avec une application smartphone.

    Ce projet est très complet : nous avons dû, d’ans l’ordre, concevoir le robot, le contrôler, illustrer son comportement via des capteurs, modéliser mathématiquement le système, et mettre en place une loi de commande, pour réguler les oscillations.

  1. Pour commencer, la conception :
    La première phase du travail, probablement la plus créative, est celle de la construction du robot ! Nous utilisons Studio 2.0 pour visualiser notre système.
    Avant toute chose, nous avons cherché un logiciel nous permettant de modéliser les pièces LEGO. Après quelques recherches, nous nous sommes tournés vers Studio 2.0.
  2. Exemple de modélisation sous Studio 2.0

    Exemple de modélisation sous Studio 2.0

    Nous devons réduire au maximum les oscillations, et nous devons y penser dès la création de la structure.
    Nous avons donc choisi de placer la brique EV3 non pas au niveau de l’axe des roues mais en dessous. Cela permet d’abaisser le centre de gravité, en le plaçant sous l’axe des roues.

    Pour la conception des roues, le choix de l’imprimante 3D était intéressant, mais trop contraignant, surtout avec le confinement. Nous avons donc décidé d’utiliser des quarts de roues LEGO. Nous n’avions plus qu’à trouver un moyen de les fixer à l’EV3.

    Arc de roue dentée

    Arc de roue dentée


    Roue du robot

    Roue du robot



    Pour que le Diwheel avance sans soucis, il fallait trouver la meilleure configuration possible avec les différents engrenages et pièces LEGO à notre disposition. L’important était avant tout de réussir à transmettre le plus d’énergie possible des moteurs vers les roues. Pour cela, nous devions réfléchir à comment réduire au maximum les frottements pour permettre aux roues et aux engrenages de tourner le plus librement possible. Moins les frottements sont importants, meilleur sera le rendement.

    Mécanisme côté gauche

    Mécanisme côté gauche

  3. Après, le contrôle du robot :

    L’étape suivante du projet a été de trouver une nouvelle manière de contrôler le DiWheel. En effet, ce dernier ne dispose que d’un seul moyen pour cela : appuyer directement sur les boutons de la brique EV3. C’est pourquoi nous voulions trouver un moyen plus amusant et pratique pour faire avancer notre robot. C’est de cette réflexion qu’ont découlées les idées de contrôler le DiWheel à l’aide d’une manette et d’une application.

  4. A la manière d’un Mario Kart, nous voulions pouvoir maîtriser notre robot à l’aide d’une Wiimote et du gyroscope intégré.
    Pour cela, nous voulions nous servir de la communication Bluetooth commune à l’EV3 et à la manette. Il fallait donc trouver un moyen de programmer la Wiimote afin de communiquer avec la brique EV3. La solution la plus simple est d’utiliser GlovePIE. C’est un logiciel dédié pour la Wiimote permettant de l’utiliser avec n’importe quel périphérique.
    Malheureusement, compte tenu des conditions de travail (confinement, matériel, problème de Bluetooth…) nous n’avons pas pu connecter les deux périphériques ensembles. Néanmoins la solution reste viable si BlueSoleil ou un autre pilote fonctionne sur l’ordinateur utilisé pour la manipulation.
    Une autre solution existe : modifier le système d’exploitation de la brique pour utiliser un programme disponible sur internet. Mais cette dernière nous semblait trop risquée, nous ne voulions pas endommager l’EV3.

    Manette WiiMote Source: https://nintendo-museum.fr/wii-wheel/

    Manette WiiMote
    Source: https://nintendo-museum.fr/wii-wheel/

    Cependant, grâce à RemotEV3, une application android, nous pouvons commander le robot via bluetooth.
    Le robot peut ainsi être dirigé dans toutes les directions et tous les sens.
    La connexion étant plus simple avec un smartphone, nous n’avons eu aucun souci de fonctionnement.

  5. Ensuite, la modélisation du système :

    Elle se déroule en trois parties : l’étude du système, la représentation d’état et l’expérimentation.

    L’étude du système consiste à déterminer l’ensemble des constantes, des forces et des vitesses appliquées au robot afin de déterminer un modèle théorique. Il servira pour déterminer une représentation d’état contenant les variables que nous voulons changer. C’est pourquoi il ne faut pas perdre de vue notre but : réduire les balancements.
    Notre choix s’est donc porté sur le modèle Lagrangien nous permettant d’obtenir les formules de l’accélération angulaire des roues et du corps. En effet, en atténuant les variations d’accélération, le robot deviendra plus stable.
    Après simplification nous avons obtenus les formules respectives de l’accélération du corps et celle des roues :

  6. Équations de Lagrange

    Équations de Lagrange

    Une fois que nous avons obtenu nos formules, on s’est intéressé à la représentation d’état. Grâce à cette loi de commande on peut comprendre de manière théorique comment évoluent nos variables.
    Une représentation d’état est composée d’une entrée X, d’une sortie Y et de différentes matrices (A, B, C et D) montrant l’évolution du système.
    A l’aide de Scilab, nous avons confirmé théoriquement l’instabilité du système. En effet, après avoir reproduit virtuellement le système à l’aide de la représentation d’état, nous avons simulé et obtenu la courbe correspondant à l’angle du corps par rapport à l’axe y. Cette dernière forme une sinusoïde caractéristique d’une instabilité (ici des balancements). Certes les valeurs et le comportement obtenu sont cohérents, néanmoins pour pouvoir les utiliser il faut vérifier expérimentalement si cela concorde avec la réalité.

    courbe modélisation (sinusoïdale)

    courbe modélisation (sinusoïdale)

    Avec le logiciel (Windows) LEGO Mindstorm EV3 et grâce aux capteurs gyroscopiques et l’accéléromètre fournis dans le kit, nous avons pu prendre quelques mesures. En comparant les valeurs obtenues avec les capteurs et celles de la simulation, nous avons pu confirmer que notre modèle est utilisable pour la commande du système.

    Courbe gyroscope (robot instable)

    Courbe gyroscope (robot instable)


    positionnement des capteurs

    positionnement des capteurs

    Enfin, commander le système :

  7. Une fois la commandabilité du système étant assurée par le critère de Kalman, il ne suffisait plus qu’à trouver comment influencer le système.
    Nous avons donc décidé d’utiliser une commande par retour d’état pour asservir le système. Cette méthode se base sur l’utilisation d’un gain correcteur afin de modifier en temps réel la sortie.
    Le but est ainsi d’obtenir, par le capteur gyroscopique, non plus une courbe sinusoïdale mais une courbe de système de premier ordre. Elle est reconnaissable via deux phases : une transition (la valeur de la sortie varie) et une stabilisation (la sortie atteint une valeur limite).
    Après simulation sur Scilab ou Matlab et si les résultats sont concluants, on peut implémenter cette loi de commande sur l’EV3. Certes le robot ira moins vite, mais il est devenu beaucoup plus stable.
  8. Exemple de simulation sous Scilab

    Exemple de simulation sous Scilab

    Bilan :

    Ce projet a été pour nous une occasion de nous amuser et de travailler plus en profondeur sur des notions complexes. Il nous a permis de développer nos compétences dans différents domaines (Physique, mathématique, automatisme, conception…).
    Nous avons aussi appris à travailler en équipe, en autonomie et à surmonter les difficultés à l’aide de nos connaissances, et grâce à nos recherches.
    Même si le projet n’a pas abouti au niveau de la commande par retour d’état, nous sommes fiers d’avoir obtenu un DiWheel fonctionnel et commandable via smartphone.

    Ressources :

    Le projet touchant à sa fin, il nous tenait à cœur de pouvoir vous donner la possibilité de continuer ce dernier. En effet, si vous disposez vous aussi du kit LEGO Mindstorm EV3 et que vous souhaitez reproduire et améliorer notre robot, nous mettons à votre disposition l’ensemble des étapes de construction :
    Compte rendu et instructions de montage

    Ce drive contient également notre compte rendu de projet, que nous vous incitons vivement à consulter si vous souhaitez reproduire un robot du même style.

    Pour plus de question, n’hésitez pas à nous contacter via nos adresses mail respectives :

    • corentin.amoruso@gmail.com
    • adsoub@gmail.com

    Merci pour votre lecture ! A très vite !
    Corentin & Adrien

Projet : Liaisons cinématiques LEGO®

Conception de pièces de liaisons adaptables sur pièces LEGO®

Rendu final des pièces

Rendu final des pièces

Nous sommes 3 élèves : Felix Bessonneau, Colin Fléchard et Dorian Clermont, issus du cycle préparatoire de l’ISTIA en 2ème année en charge d’un projet :
Ce projet Ei2 sur les liaisons mécaniques LEGO® s’inscrit dans le cadre de notre 4ème semestre, dans l’unité d’étude n°5 : Projets de conception.
Il fait suite aux difficultés rencontrées lors des cours de Génie Mécanique de 3ème année qui utilisaient les LEGO® afin de faciliter la compréhension des schémas cinématiques : en effet certaines liaisons n’étaient pas réalisables de façon simple.
Il s’agit là donc de travailler sur des LEGO® : quoi de plus amusant que ça ?
Modélisation complexe d’une liaison hélicoïdale en LEGO

Modélisation complexe d’une liaison hélicoïdale en LEGO

La liaison glissière :

La première idée était de faire une pièce compatible avec les pièces classiques de Lego®. Le premier prototype consistait donc à faire une longue brique creuse avec à l’intérieur une pièce qui coulissait afin de jouer le rôle de glissière. Cette pièce pouvait accueillir une barre en croix. Ainsi la barre était guidée dans la brique ce qui réalisait bien une liaison. Cependant le guidage laissait à désirer et nous avons décidé de nous orienter sur une compatibilité “Lego® Technic”. Il fallait donc repartir de zéro pour créer une nouvelle pièce plus simple. La nouvelle idée était d’avoir une pièce capable de guider une barre en croix avec une seule pièce. Nous avons donc pensé à une cavité capable de guider la barre en croix et en même temps de s’accrocher à une prise femelle cruciforme.
Liaisons glissières (à droite la pièce finale)

Liaisons glissières (à droite la pièce finale)

La liaison hélicoïdale :

Tout comme la liaison glissière, l’idée première était de partir sur un bâti adapté aux briques Lego® avec en son centre un perçage de forme hélicoïdale. La première difficulté a été d’adapter ce perçage à la vis sans fin déjà existante dans les pièces Lego®. Une fois la pièce finalisée (et de nombreux essais infructueux) nous avons décidé en même temps que pour la glissière de refaire le bâti pour le rendre compatible aux Lego® Technic.
Pour cela nous avons opté pour 2 prises femelles cruciforme de chaque côté du perçage, ce qui est beaucoup plus économique niveau matière, et plus stable dans un montage.
Liaisons hélicoïdales (à gauche la pièce finale)

Liaisons hélicoïdales (à gauche la pièce finale)

La liaison rotule :

La liaison rotule faisait partie des liaisons existantes en Lego® mais sous forme inadaptée à la modélisation de mécanisme. En effet il existe des sortes de rotule chez certains modèles de Lego® comme les Bionicles pour ne citer qu’une gamme de produit, mais celles-ci n’offrent pas un mouvement efficace ou une adaptabilité optimale.
Pour la création de cette liaison, notre idée fut de créer une sphère et un socle emboîtés l’une dans l’autre. Nous savions que l’imprimante 3D permettait l’impression d’une pièce dans une autre, nous en avons donc profité. Pour l’adaptabilité de cette pièce nous avons choisis des embouts cruciformes mâles pour la sphère et le socle. Nous avions trouvé les dimensions Lego® des pièces cruciformes mâles sur internet, nous les avons donc reportées sur Solidworks. La difficulté principale était la détermination du jeu entre la sphère et son socle, celui-ci devait être assez grand pour que la matière friable de l’imprimante 3D puisse être retirée mais assez petit pour empêcher les deux pièces de se séparer l’une de l’autre trop aisément.
Liaison rotule

Liaison rotule

Difficultés et problèmes rencontrées :

Evidemment nous avons dû faire face à plusieurs problèmes : par exemple lors de l’impression, ou lors de la gestion du jeu des pièces (par exemple pour la glissière : la pièce intérieure devait pouvoir coulisser dans le bâti sans problème).
Nous avons aussi eu quelques difficultés : notamment la complexité des pièces à concevoir sur SolidWorks (perçage de la pièce hélicoïdale).
Nous avons également eu des soucis au niveau de l’impression, comme une coupure de courant, ou encore une erreur d’impression inexpliquée, que vous pouvez voir ci dessous:
Pièces mal imprimées (quasiment coupées en deux)

Pièces mal imprimées
(quasiment coupées en deux)

Les différents montages réalisés :

Pour la première phase de recherche des liaisons complexes, nous avons dû effectuer certains montages mécaniques plus ou moins basiques. Pour cela nous avions à notre disposition plusieurs schémas cinématiques, tel que la cale réglable, le sinusmatic, la pince schrader, ou encore un système de pompe à piston.
Nous avons passé quelques heures à réaliser ces schémas afin d’étudier quelles liaisons allions-nous devoir concevoir. C’est ainsi que nous avons remarqué que la glissière et la rotule étaient difficiles à modéliser sur le sinusmatic par exemple.
Exemple du montage : Pince Schrader

Exemple du montage :
Pince Schrader

Complexité visible de la rotule & glissière

Complexité visible de la rotule & glissière

Et afin de vérifier que nos pièces conçues remplissaient leur rôle, nous avons refait quelques uns de ces montages afin de montrer qu’ils étaient plus simples à construire.
Sinusmatic :  Montage initial montage final

Sinusmatic :
Montage initial
Montage final

Pompe avec piston :  Montage initial (gauche) montage final (droite)

Pompe avec piston :
Montage initial (gauche)
Montage final (droite)

Cale réglable :  Montage initial Montage final

Cale réglable :
Montage initial
Montage final

Pour conclure sur ce projet, nous pouvons dire que nous l’avons beaucoup apprécié pour les nouvelles méthodes que cela impliquait : notamment le travail en quasi-totale autonomie.
Nous remercions aussi M.Verron qui a toujours été très agréable et très pédagogue !