Aller au contenu


Photo

Naissance de mon quadripède


  • Veuillez vous connecter pour répondre
219 réponses à ce sujet

#1 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 15 mai 2023 - 07:20

Bonjour à tous

 

Je ne vais pas recommencer ici ce que j'explique dans le forum depuis quelques mois. Mais en résumé, je suis un fan de Lego Mindstorms et leur abandon m'a fichu un coup au moral. J'ai longtemps hésité, beaucoup échangé ici pour savoir comment me réorienter.

Merci au passage à ceux qui m'ont conseillé, Oracid, Sandro, Mike118 et les autres.

 

J'ai tergiversé, changer et surtout repartir de zéro à mon âge (63) c'est un peu compliqué et surtout frustrant. Ce que j'aime c'est créer, et recommencer à zéro revient à mettre la création de côté... je ne suis pas un fan d'électronique ni très compétent en mécanique...

 

j'ai fini par choisir de développer sur PICO le micro-contrôleur de Raspberry, qui se programme en micro-python, ce qui me paraissait plus facile à apprendre et plus ouvert pour mes projets pour la suite (Raspberry Pi et l'IA ?)

 

Donc j'apprends doucement le python. Et j'ai choisi pour accompagner mon apprentissage de faire un quadripède, sans prétention, ce qui me semble adapté pour comprendre le fonctionnement des capteurs et des actionneurs. Et comme je n'ai jamais fait un quadripède il y a l'intérêt pour moi de découvrir ce type de robot, progressivement en faisant et défaisant.

 

Bref.

 

Je vous présente mon nouveau-né, et je souhaiterais qu'Oracid en soit le parrain  :yes:

Ce bébé à  l'air turbulent, déjà... :laugh1:

 



#2 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 15 mai 2023 - 08:39

et je souhaiterais qu'Oracid en soit le parrain  :yes:

Sais-tu que être parrain, c'est des devoirs . . . . . . mais aussi des droits. En tout cas, félicitation !

 

Ce que tu as fait, cela s'appelle un mouvement parallèle, ou 5 barres, au choix.

Dans ton cas, l'une des barres, la barre g, comme ground ou châssis, a une longueur égale à 0.

 

Je ne sais pas si c'est volontaire, si le cas, tu vas au devant d'une complication.

Sur le servo du bas, le palonnier a une longueur de 3L, alors que sur le servo du haut le palonnier est bien de 3L, mais son raccordement au tibia est sur le 4eme trou, au lieu du troisième trou.

Peut importe la longueur de la barre de raccordement.

 

Maintenant, il n'y a plus qu'à coder la Cinématique Inverse . . .



#3 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 15 mai 2023 - 09:13

Sais-tu que être parrain, c'est des devoirs . . . . . . mais aussi des droits. En tout cas, félicitation !

 

Ce que tu as fait, cela s'appelle un mouvement parallèle, ou 5 barres, au choix.

Dans ton cas, l'une des barres, la barre g, comme ground ou châssis, a une longueur égale à 0.

 

Je ne sais pas si c'est volontaire, si le cas, tu vas au devant d'une complication.

Sur le servo du bas, le palonnier a une longueur de 3L, alors que sur le servo du haut le palonnier est bien de 3L, mais son raccordement au tibia est sur le 4eme trou, au lieu du troisième trou.

Peut importe la longueur de la barre de raccordement.

 

Maintenant, il n'y a plus qu'à coder la Cinématique Inverse . . .

bah j'ai pas tout compris. Quelle est la conséquence ? Quand je mets au 3ème trou j'ai une incompatibilité en position repos. Du coup j'ai mis au 4ème trou. Mais je pense de toutes façons que mon robot va beaucoup changer au fur et à mesure.



#4 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 16 mai 2023 - 06:40

Quand je mets au 3ème trou j'ai une incompatibilité en position repos.

Je ne vois pas de quoi tu parles.

 

Il y a une autre solution qui serait de passer à 4L pour les palonniers, en utilisant cette pièce https://www.bricklin...&O={"iconly":0}

Le problème, c'est  que le mécanisme du servo bas forme un parallélogramme, alors que le mécanisme du servo haut forme un mouvement 4 barres.

Un mouvement 4 barres, ce n'est pas aussi simple qu'il y parait. Si c'est volontaire et maitrisé, alors il a l'intérêt de pouvoir augmenter le couple en diminuant la vitesse, ou l'inverse.

Cela fonctionne exactement comme 2 roues dentées de diamètre différents. Cherche un peu sur YouTube, si tu veux en savoir plus.

Bref cela va compliquer les calculs de la Cinématique Inverse.



#5 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 16 mai 2023 - 07:41

Je ne vois pas de quoi tu parles.

 

Il y a une autre solution qui serait de passer à 4L pour les palonniers, en utilisant cette pièce https://www.bricklin...&O={"iconly":0}

Le problème, c'est  que le mécanisme du servo bas forme un parallélogramme, alors que le mécanisme du servo haut forme un mouvement 4 barres.

Un mouvement 4 barres, ce n'est pas aussi simple qu'il y parait. Si c'est volontaire et maitrisé, alors il a l'intérêt de pouvoir augmenter le couple en diminuant la vitesse, ou l'inverse.

Cela fonctionne exactement comme 2 roues dentées de diamètre différents. Cherche un peu sur YouTube, si tu veux en savoir plus.

Bref cela va compliquer les calculs de la Cinématique Inverse.

Bon je ne suis pas assez avancé pour tout capter. Ca viendra.

Un de mes problèmes actuel est qu'avec le shield que j'ai et les servos (je ne sais pas de quoi ça vient), si j'initialise pas l'angle au départ, ça fait n'importe quoi. Je pensais que l'angle programmé était relatif, mais dans mon cas il est absolu. Je m'explique, si je demande au servo de tourner de 20°, il ne tournera pas s'il est déjà à 20° de sa position initiale, une sorte de position zéro. Est-ce normal ? les servos ont une position initiale immuable ?



#6 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 16 mai 2023 - 10:03

les servos ont une position initiale immuable ?

Oui.

 

Si ta consigne initiale est de 20°, il ira à 20°. 

Si tu donnes une nouvelle consigne de 20°, il ne bougera pas.

 

Si tu tiens à connecter les fémurs directement aux axes des servos, voici un montage qui pourrait t'inspirer. Cela est rendu possible grace à l'utilisation des GeekServo.

Il y a une petite astuce. Si cela t'intéresse, on en reparle.

 

Cliquez moi.

pmdd01.jpg



#7 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 16 mai 2023 - 12:06

Oui.
 
Si ta consigne initiale est de 20°, il ira à 20°. 
Si tu donnes une nouvelle consigne de 20°, il ne bougera pas.
 
Si tu tiens à connecter les fémurs directement aux axes des servos, voici un montage qui pourrait t'inspirer. Cela est rendu possible grace à l'utilisation des GeekServo.
Il y a une petite astuce. Si cela t'intéresse, on en reparle.
 
Cliquez moi.
attachicon.gifpmdd01.jpg

Oui je vois , tu utilises des half beam... intéressant. Mais grosso modo dans mon cas aussi j'ai un axe sur le fémur Non ? Je m'étais dit qu'en mettant les servos l'un sous l'autre j'abaissais le centre de gravité.a voir

Ça me rassure de voir que le fonctionnement des servos est ainsi. Je suis en phase.

#8 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 16 mai 2023 - 01:10

Mais grosso modo dans mon cas aussi j'ai un axe sur le fémur Non ? 

Oui, précisément, c'est pour cette raison que je te proposais ce montage.

 

Dans ton montage, la patte est en porte à faux d'un seul coté. Tu peux imaginer d'encadrer les servos en utilisant l'axe arrière, mais je pense que ça coincerait quelque part.

Dans mon montage, je pense que ça coincerait aussi, mais très haut. De plus tu pourrais doubler très facilement les fémurs et/ou le tibia, pour une plus grande stabilité.

Mais c'était juste pour te montrer une autre possibilité.

Perso, je n'utilise pas ce montage que je trouve trop large.



#9 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 17 mai 2023 - 04:15

Autre question, comment représenter le système de mon quadripède sur le logiciel linkage ? 



#10 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 17 mai 2023 - 06:27

Pas facile !

 

Tu peux t'inspirer de ce que j'ai fait, https://www.robot-ma...e-paw/?p=113709

Voici le fichier. Avant de cliquer dessus, supprime l'extension txt.

Fichier joint  5Bar - Copie.linkage2.txt   8,61 Ko   61 téléchargement(s)



#11 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 18 mai 2023 - 10:18

Sais-tu que être parrain, c'est des devoirs . . . . . . mais aussi des droits. En tout cas, félicitation !

 

Ce que tu as fait, cela s'appelle un mouvement parallèle, ou 5 barres, au choix.

Dans ton cas, l'une des barres, la barre g, comme ground ou châssis, a une longueur égale à 0.

 

Je ne sais pas si c'est volontaire, si le cas, tu vas au devant d'une complication.

Sur le servo du bas, le palonnier a une longueur de 3L, alors que sur le servo du haut le palonnier est bien de 3L, mais son raccordement au tibia est sur le 4eme trou, au lieu du troisième trou.

Peut importe la longueur de la barre de raccordement.

 

Maintenant, il n'y a plus qu'à coder la Cinématique Inverse . . .

Je reviens sur la notion de mouvement parallèle. Es-tu sûr que c'est ce que j'ai fait ?  Parce que l'articulation de la hanche (servo du dessus) est indépendante de l'articulation du genou (servo du bas) , j'imaginais que c'était plutôt un mouvement série ?



#12 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 18 mai 2023 - 12:57

Je reviens sur la notion de mouvement parallèle. Es-tu sûr que c'est ce que j'ai fait ?  

Je pense que oui, mais je ne suis plus sûr de rien.



#13 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 20 mai 2023 - 05:51

Bon allez, pour le WE, les premiers pas de mon quadripède  :D

je suis très content d'en arriver là, niveau programmation ça me permet de progresser...

Bon OK, ce n'est ni du Oracid, ni du Boston Dynamics, le chemin est long mais c'est ça qui est cool...

 



#14 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 20 mai 2023 - 06:14

Bravo !

 

Si c'est du caoutchouc que tu a mis au bout des pattes, je te conseille d'essayer, sans.



#15 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 21 mai 2023 - 01:37

Bravo !

 

Si c'est du caoutchouc que tu a mis au bout des pattes, je te conseille d'essayer, sans.

Ce n'est pas vraiment du caoutchouc, mais un embout de filetage en pvc, ça glisse mais pas trop et ça limite le bruit.

 

Je n'ai pas fait de calcul, pas vraiment envie de me lancer dans les matrices de transformation ! J'ai rentré de nombreux paramètres dans mon code que j'ai fait varier pour essayer de déterminer un optimum.

 

En tant que coureur à pieds, je sais qu'il vaut mieux améliorer sa fréquence que la longueur de sa foulée, pour la performance globale et pour réduire les blessures...ben là , idem, dès que j'ai augmenté la fréquence et diminué la foulée , j'ai eu un résultat correct. Pour aussi augmenter la foulée avec cette cadence, il me faut une construction plus robuste et plus équilibrée, c'est clair.

C'est une première étape pour le fun, mais j'ai vraiment besoin de me perfectionner en python, je pensais éviter la programmation orientée objet, mais non...



#16 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 21 mai 2023 - 02:03

Ce n'est pas vraiment du caoutchouc, mais un embout de filetage en pvc, ça glisse mais pas trop et ça limite le bruit.

Cela m'intéresse beaucoup ! Pourrais tu me donner un lien pour voir de quoi il s'agit.

 

Pour l'instant, ne te prends pas trop la tête. Déjà, avoir mis en œuvre un Pico, c'est super.

Pour l'allure et sa programmation, tu peux t'inspirer des petits quadrupèdes Lego ayant un seul moteur. 

Comme celui là, par exemple : https://www.robot-ma...buwizz/?p=95946



#17 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 21 mai 2023 - 03:52

Cela m'intéresse beaucoup ! Pourrais tu me donner un lien pour voir de quoi il s'agit.

 

Pour l'instant, ne te prends pas trop la tête. Déjà, avoir mis en œuvre un Pico, c'est super.

Pour l'allure et sa programmation, tu peux t'inspirer des petits quadrupèdes Lego ayant un seul moteur. 

Comme celui là, par exemple : https://www.robot-ma...buwizz/?p=95946

Il s'agit de ces embouts, décrits en caoutchouc, mais c'est du plastic mi-mou il me semble



#18 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 21 mai 2023 - 06:07

Il s'agit de ces embouts, décrits en caoutchouc, mais c'est du plastic mi-mou il me semble

Oui, j'ai déjà testé ça. Je pense que c'est du silicone.

Tu devrais quand même essayer, sans. Juste pour voir.



#19 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 22 mai 2023 - 01:53

Oui, j'ai déjà testé ça. Je pense que c'est du silicone.

Tu devrais quand même essayer, sans. Juste pour voir.

 

Je viens de tester, je perds sans embout 15% de vitesse (sur parquet).

 

En revanche j'ai fait des essais de longueur de "tibia" et en mettant un tibia plus long à l'avant (et seulement dans cette disposition), j'ai un gain de vitesse de 25% (comparatif avec embouts)

 

Une question qui n'a rien à voir :

 

j'ai plusieurs shield, celui que j'utilise actuellement utilise un protocole I2C pour piloter les servos. les autres que j'ai utilisent un signal PWM... Quelle différence ? quels avantages/inconvénients ?  Là sur ce sujet je suis totalement inculte. 



#20 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 22 mai 2023 - 08:38

 

Je viens de tester, je perds sans embout 15% de vitesse (sur parquet).

Intéressant !

 

Perso, je n'ai jamais utiliser de carte servos, genre Pololu, avec protocole I2C.






0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users