Aller au contenu


Photo

Naissance de mon quadripède


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

#181 Oracid

Oracid

    Pilier du forum

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

Posté 08 octobre 2023 - 07:26

Je fais l'erreur où ?

Peut-être n'y a t-il pas d'erreur !

Le résultat de ce que tu programmes, tu peux le voir si tu mets ton quadrupède sur un piédestal. 

Non ?



#182 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 08 octobre 2023 - 08:58

Peut-être n'y a t-il pas d'erreur !

Le résultat de ce que tu programmes, tu peux le voir si tu mets ton quadrupède sur un piédestal. 

Non ?

Oui je retrouve bien une amplitude d'environ 13cm...mais cela n'explique pas pourquoi le calcul en partant de la vitesse et de la fréquence donne une foulée de près de 20cm. Si la mesure de la fréquence est fausse, par le calcul en partant de 13cm et 9.4/10m cela donne une fréquence de près de 500 bpm, ce qui n'est pas possible. Bref il y a une erreur dans mon raisonnement, dans mes mesures ou dans mes calculs.



#183 Oracid

Oracid

    Pilier du forum

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

Posté 08 octobre 2023 - 10:27

Ce que j'appelle la hauteur du pas , c'est l'amplitude représentée par l'ordonnée du graphique ci-dessous.

Ok, moi j'appelle cela Y ou la hauteur de la foulée.

Le tout est de se mettre d'accord sur les termes. Patrick a initié le terme "Foulée" ce qui me parait très significatif.

Le "Pas" ou "Itération" (je préfère itération), étant l'unité d'avancement par foulée.

Dans ton cas, si je me réfère à ton schéma, tu fais 9 itérations sur le plancher et 8 itérations en l'air.

Perso, je prends grand soin de la symétrie. Si j'avais 9 itérations sur le plancher, alors je ferais 9 itérations en l'air.

Car au moment ou 2 pattes se trouvent en l'air, 2 autres pattes sont sur le sol. Et donc, tout cela n'est pas synchronisé.

 

Sauf si c'est ce que tu veux faire, pour une raison que j'ignore.



#184 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 08 octobre 2023 - 10:39

Ok, moi j'appelle cela Y ou la hauteur de la foulée.

Le tout est de se mettre d'accord sur les termes. Patrick a initié le terme "Foulée" ce qui me parait très significatif.

Le "Pas" ou "Itération" (je préfère itération), étant l'unité d'avancement par foulée.

Dans ton cas, si je me réfère à ton schéma, tu fais 9 itérations sur le plancher et 8 itérations en l'air.

Perso, je prends grand soin de la symétrie. Si j'avais 9 itérations sur le plancher, alors je ferais 9 itérations en l'air.

Car au moment ou 2 pattes se trouvent en l'air, 2 autres pattes sont sur le sol. Et donc, tout cela n'est pas synchronisé.

 

Sauf si c'est ce que tu veux faire, pour une raison que j'ignore.

Oui c'est  ce que je veux faire mais sans fondement théorique. c'est juste mes essais qui m'ont conduit à avoir ce schéma.

Je m'aperçois de plus en plus qu'il y a un champ à explorer loin de la théorie qui ne prend pas en compte un certain nombre de paramètres, comme les frottements, jeux, glissements...



#185 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 24 octobre 2023 - 09:20

Bonsoir à tous

 

Alors que travaille sur les pieds du quadrupède (bi-matière, forme...) lors d'un essai d'un seul coup Jag'Bot I s'est mis à tourner en rond, de façon incompréhensible. Je suis en train de chercher la cause du problème et ai mis en cause un servo sans trop savoir lequel. 

Du coup j'ai tout démonté et testé  chaque servo avec la méthode Oracid (pas forcément le même montage et donc pas avec les mêmes poids)

Et là (mauvaise) surprise j'ai trouvé des valeurs très dispersées sur le couple de mes Geekservos: ca va d'un poids soulevé de 272g à 442g, suivant la répartition :

 

 

servograph.jpg

 

 

 

La dispersion est énorme et surprenante. J'ai refait mon test, parfaitement reproductible.

Le servo le plus faible a une drôle façon de débrayer, un espèce de sifflement au lieu du craquement habituel. J'ai cru avoir trouvé le problème, changé le servo, sans résultat. Jag'Bot I tourne toujours en rond (l'ennui ?)

J'ai changé 4 autres servos , sans résultat non plus.

Je parviens à redresser sa trajectoire avec des élastiques de force différente, mais ce qui n'était pas le cas avant, mais impossible de détecter le servo en cause. J'ai contrôlé le calibrage, parfait...

 

Ce que je ne comprends pas c'est comment Jag'Bot I a pu avoir une trajectoire aussi rectiligne avec des servos de couple aussi différents...et des élastiques strictement identiques

 

Je continue...



#186 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 24 octobre 2023 - 10:04

Bonsoir,

j'ai peut-être (ou pas) une explication pourquoi ton robot parvient à aller en ligne droite avec des servos aillant un couple différent :

si ta consigne de vitesse est atteignable (ie acceleration pas trop importante, et couple nécessaire inférieure au couple max des servos), alors le couple max de tes servos ne joue pas de rôle, et ça ne pose donc aucun problème que tes moteurs soient un peu (beaucoup) différents. Tu pourrais même utiliser des modèles différents si tu le voulait. Cette situation est ce qu'il faut viser si tu veux un comportement reproductible, sinon le moindre changement (dans tes frottements, moteur légèrement différent (2 moteurs strictement identiques, ça n'existe pas), ...) te fera dévier de ta trajectoire.

 

Si en revanche tu pousses les moteurs à leur couple max (soit car tu forces trop, soit car tu accélère fortement), alors tu perds toute reproductibilité (et toute similitude entre pattes). En revanche, tu tire le max de couple de tes moteurs. Mais vu la difficulter de controler le robot dans cette situation, je ne recommande pas.

 

Par contre, ça n'explique pas encore pourquoi ton robot tourne maintenant en rond. Est-ce que visuellement tous les moteurs font bien leur mouvements? Est-ce que la trajectoire de toutes les pattes semble cohérente?

Tu peux aussi essayer de soulever le robot, et de vérifier si en l'air la trajectoire de toutes les pattes est bien la même (ça élimine l'effet de la poussée sur le sol).

Sinon, tu peux aussi essayer de placer tous les moteurs gauches à droite (à la même articulation) et vice versa : si le robot tourne maintenant dans le sens opposé, alors c'est un problème de moteur. Sinon le problème est soit électronique, soit soft, soit mécanique (mais les moteurs sont innocents)


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#187 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 25 octobre 2023 - 05:18

Bonsoir,

j'ai peut-être (ou pas) une explication pourquoi ton robot parvient à aller en ligne droite avec des servos aillant un couple différent :

si ta consigne de vitesse est atteignable (ie acceleration pas trop importante, et couple nécessaire inférieure au couple max des servos), alors le couple max de tes servos ne joue pas de rôle, et ça ne pose donc aucun problème que tes moteurs soient un peu (beaucoup) différents. Tu pourrais même utiliser des modèles différents si tu le voulait. Cette situation est ce qu'il faut viser si tu veux un comportement reproductible, sinon le moindre changement (dans tes frottements, moteur légèrement différent (2 moteurs strictement identiques, ça n'existe pas), ...) te fera dévier de ta trajectoire.

 

Si en revanche tu pousses les moteurs à leur couple max (soit car tu forces trop, soit car tu accélère fortement), alors tu perds toute reproductibilité (et toute similitude entre pattes). En revanche, tu tire le max de couple de tes moteurs. Mais vu la difficulter de controler le robot dans cette situation, je ne recommande pas.

 

Par contre, ça n'explique pas encore pourquoi ton robot tourne maintenant en rond. Est-ce que visuellement tous les moteurs font bien leur mouvements? Est-ce que la trajectoire de toutes les pattes semble cohérente?

Tu peux aussi essayer de soulever le robot, et de vérifier si en l'air la trajectoire de toutes les pattes est bien la même (ça élimine l'effet de la poussée sur le sol).

Sinon, tu peux aussi essayer de placer tous les moteurs gauches à droite (à la même articulation) et vice versa : si le robot tourne maintenant dans le sens opposé, alors c'est un problème de moteur. Sinon le problème est soit électronique, soit soft, soit mécanique (mais les moteurs sont innocents)

Bonjour,

 

Oui, ton explication sur le fait qu'il aille en ligne droite malgré de telles différences est tout à fait plausible.

 

Pour ce qui est du problème de tourner en rond, quand je le maintiens en l'air tout est nickel. J'ai filmé avec un ralenti précis et je peux voir qu'en l'air c'est parfait, en revanche au sol, il a tendance à s'affaisser d'un côté et lever la patte en l'air de l'autre côté. J'ai changé les servos concernés et le problème reste identique !

 

C'est une bonne idée idée, je vais inverser mes servos gauche/droite et voir si je change le sens de rotation .

 

Pour rejoindre ta remarque sur la ligne droite, mon code est très exigeant sur la vitesse (je dépasse les 300 bpm). Peut-être que certains servos ne répondent plus de la même façon, ce qui est très difficile à voir. Je vais aussi faire l'essai de diminuer la cadence pour voir si je rétablis la ligne droite.

 

Merci pour ton avis précieux



#188 Oracid

Oracid

    Pilier du forum

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

Posté 25 octobre 2023 - 06:38

Ne perds de vue que tes servos doivent être étalonnés le plus précisément possible. Ce sujet pourrait t'inspirer : https://www.robot-ma...ammer/?p=115625

 

De plus, une fois montés, il doit y avoir un indice de correction pour chaque servo, pour le positionnement de l'extrémité de la patte.

Tu peux choisir comme référence la valeur de 90° pour les 2 servos. C'est ce que je fais.

Ou bien, la position de l'extrémité de la patte pour x=0 et y=0.

 

Ceci dit, faire une trajectoire parfaitement rectiligne sur 10m, je n'y suis jamais parvenu !



#189 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 25 octobre 2023 - 12:20

Ne perds de vue que tes servos doivent être étalonnés le plus précisément possible. Ce sujet pourrait t'inspirer : https://www.robot-ma...ammer/?p=115625

 

De plus, une fois montés, il doit y avoir un indice de correction pour chaque servo, pour le positionnement de l'extrémité de la patte.

Tu peux choisir comme référence la valeur de 90° pour les 2 servos. C'est ce que je fais.

Ou bien, la position de l'extrémité de la patte pour x=0 et y=0.

 

Ceci dit, faire une trajectoire parfaitement rectiligne sur 10m, je n'y suis jamais parvenu !

 

C'est la base. ils sont étalonnés et il y a effectivement des corrections d'angle.

J'ai revérifié. Statiquement il n'y a aucun défaut. En l'air il n'y a aucun défaut, mais en charge il est déséquilibré et il tourne. (quand je dis il tourne , il fait un cercle de 1m de diamètre !). Le déséquilibre est évident mais pas sa cause. J'arrive à redresser en bidouillant avec un élastique mais il perd en vitesse et ce n'est pas normal.

 

Avant ce phénomène, sur mon parcours de 7m j'étais parfaitement rectiligne à 1m/s

 

Je suis persuadé que c'est un (ou plusieurs) servos qui posent problème. c'est pour ça que j'ai fait une mesure de leur couple et que je suis tombé sur des valeurs très dispersées. J'ai changé les 4 plus faibles. C'est toujours pareil. C'est peut-être la vitesse d'un servo qui est en cause, c'est très difficile à voir.

Je vais faire des échanges entre eux pour voir si j'arrive à changer le symptôme, mais c'est un peu galère à faire.



#190 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 25 octobre 2023 - 05:43

En attendant de dépanner Jag'Bot I, j'ai repris Jag'Bot III qui pour mémoire est du même gabarit mais avec les servos T2065W donnés pour 3 fois plus puissants que les Geekservos qui équipent Jag'Bot I mais qui le sont en réalité deux fois moins... Je l'avais remisé, mais finalement je l'ai ressorti pour tester une version de pattes anti-retour pour diminuer l'impact du couple et peut-être profiter de la vitesse annoncée de ce servo.

 

J'ai donc créé une petite patte anti-retour, compatible Lego, avec un petit roulement de diamètre 6. Dans le même temps j'ai réduit fortement la hauteur du pas (le swing). Cela fait longtemps que je travaille sur ces pattes et pour l'instant la patte revêtue de peau de phoque pour ski en mohair était largement la meilleure solution.

 

Certes, je sais que je sors un peu du périmètre du quadrupède, mais je ne voulais pas avoir acheté pour 100€ de servos en pure perte.

 

Et bien le résultat est pas mal du tout; Sans optimisation, ça se voit sur la vidéo, il se cabre, il  atteint 10.5s pour 10m soit beaucoup mieux que ses 13.6s initiaux... cela donne peut-être des perspectives pour jag'Bot I de descendre sous les 9s/10m... A voir.

 

res 25 oct.jpg

 



#191 Oracid

Oracid

    Pilier du forum

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

Posté 25 octobre 2023 - 05:56

C'est très bizarre. Quand j'utilise du caoutchouc, cela ne fonctionne jamais. Et, c'est pas faute d'avoir fait des tests.

En tout cas, bravo !

 

Il faut que tu inverses les servos. Il faut tirer cela au clair.

Si cela ne fonctionne toujours pas, alors c'est peut-être le code qui est en cause.



#192 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 25 octobre 2023 - 06:25

C'est très bizarre. Quand j'utilise du caoutchouc, cela ne fonctionne jamais. Et, c'est pas faute d'avoir fait des tests.

En tout cas, bravo !

 

Il faut que tu inverses les servos. Il faut tirer cela au clair.

Si cela ne fonctionne toujours pas, alors c'est peut-être le code qui est en cause.

 

 

Moi non plus le caoutchouc ne fonctionne pas, c'est même la cata d'habitude. Mais là c'est différent, j'ai même pris le caoutchouc le plus agrippant, puisque la roue tourne dans un sens et donc n'exerce quasiment pas d'effort (sur le mouvement avant des pattes) et exerce un effort maximum en ne glissant pas lorsque les pattes font leur mouvement arrière.



#193 Oracid

Oracid

    Pilier du forum

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

Posté 25 octobre 2023 - 08:17

Et, mais, c'est génial ça !

Je me demandais ce que tu mettais dans l'axe. Je pensais que tu bloquais l'axe.

Je ne connais pas, peux-tu m'en dire plus sur les pièces de l'axe.



#194 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 25 octobre 2023 - 09:09

Et, mais, c'est génial ça !

Je me demandais ce que tu mettais dans l'axe. Je pensais que tu bloquais l'axe.

Je ne connais pas, peux-tu m'en dire plus sur les pièces de l'axe.

 

 

Je roulement utilisé est celui-là, diamètre intérieur 6, c'est un roulement à aiguille qui ne tourne que dans un sens.

 

J'ai imprimé un axe 3D de 6 compatible avec Lego comme tu peux le voir, et rajouté des pneus lego, collés sur le roulement  (Diamètre ext du roulement 10mm, idem pour le diamètre intérieur du pneu) :

 

axe.jpg



#195 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 25 octobre 2023 - 09:39

C'est très bizarre. Quand j'utilise du caoutchouc, cela ne fonctionne jamais. Et, c'est pas faute d'avoir fait des tests.

En tout cas, bravo !

 

Il faut que tu inverses les servos. Il faut tirer cela au clair.

Si cela ne fonctionne toujours pas, alors c'est peut-être le code qui est en cause.

Je viens d'inverser les servos du train arrière...toujours exactement le même problème, même sens de rotation, même déséquilibre.

Je n'ai pas pensé au code, il aurait fallu que je fasse une modif sans le vouloir, parce que le code je ne l'ai pas touché et il était nickel avant.

J'ai aussi inversé les branchements de mon shield, toujours pareil.

 

Demain j'inverse le train avant. C'est un truc de fou.



#196 Oracid

Oracid

    Pilier du forum

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

Posté 26 octobre 2023 - 07:07

Ta patte est absolument génial !

Pourrais tu m'expliquer à quoi se rapportent les différentes cotes de ton lien.

 

Oui, jette un coup d'œil au code, on sait jamais.



#197 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 26 octobre 2023 - 12:46

Ta patte est absolument génial !

Pourrais tu m'expliquer à quoi se rapportent les différentes cotes de ton lien.

 

Oui, jette un coup d'œil au code, on sait jamais.

 

 

J'ai commandé les roulements : 

 

HF0612 6x10x12mm

 

6 est le diamètre intérieur, 10 le diamètre extérieur et 12 la hauteur du roulement. a noter qu'un roulement pèse moins de deux grammes, ce qui ne pose pas de problème pour être montée en bout de patte.

 

Il y a toutes les tailles , même plus petits. c'est impressionnant.

 

La principale difficulté est de trouver la taille du revêtement caoutchouc adéquate, le plus adhérent possible. Un caoutchouc trop glissant ne convient pas.

 

Je pense qu'il vaudrait mieux un manchon continu avec un maintien de chaque côté.



#198 Oracid

Oracid

    Pilier du forum

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

Posté 26 octobre 2023 - 01:15

Je pense qu'il vaudrait mieux un manchon continu avec un maintien de chaque côté.

Je ne vois pas ce que tu veux dire.

 

Merci pour les informations sur les cotes.

 

Le mieux serait peut être de l'élastique nouille, très large. Il y en a chez Leroy au rayon déménagement.

Sinon, chez Décathlon, il y a pas mal de chose au rayon grands élastiques.

Question. Pourquoi n'as tu pas pris du 8mm en diamètre intérieur ? C'est la dimension des trous Lego.

Les pins sont faites pour rester bloqué à ce diamètre.

Au pire, une petite vis dans la pin et le tour est joué. D'ailleurs, c'est un excellent moyen de bloquer un assemblage.



#199 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 26 octobre 2023 - 02:03

Je ne vois pas ce que tu veux dire.

 

Merci pour les informations sur les cotes.

 

Le mieux serait peut être de l'élastique nouille, très large. Il y en a chez Leroy au rayon déménagement.

Sinon, chez Décathlon, il y a pas mal de chose au rayon grands élastiques.

Question. Pourquoi n'as tu pas pris du 8mm en diamètre intérieur ? C'est la dimension des trous Lego.

Les pins sont faites pour rester bloqué à ce diamètre.

Au pire, une petite vis dans la pin et le tour est joué. D'ailleurs, c'est un excellent moyen de bloquer un assemblage.

je veux dire que plutôt d'avoir 2 roues, il vaudrait mieux je pense avoir un rouleau central.

J'ai pris 6, pour avoir quelque chose de léger, je ne pensais pas que c'était aussi léger. J'ai aussi acheté du 8 d'ailleurs sur autre site avec un extérieur hexagonal.

 

8mm les trous legos ? il font 5 plutôt non ? 8 (7.97) c'est l'écartement entre deux trous .



#200 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 945 messages
  • Gender:Male

Posté 26 octobre 2023 - 04:21

C'est très bizarre. Quand j'utilise du caoutchouc, cela ne fonctionne jamais. Et, c'est pas faute d'avoir fait des tests.

En tout cas, bravo !

 

Il faut que tu inverses les servos. Il faut tirer cela au clair.

Si cela ne fonctionne toujours pas, alors c'est peut-être le code qui est en cause.

Je viens d'interchanger les servos du train avant, toujours sans résultat ni modification du symptôme

J'ai encore ensuite changé 2 servos, j'en suis à 6/8 changés... Toujours pareil.

 

Je vous mets la vidéo de la marche avant le problème et maintenant, au ralenti en l'air et en charge. On voit évidemment qu'en charge il s'affaisse et la patte avant gauche se lève...

 

 

 

Il me reste le code à regarder, mais pourquoi à vide se serait OK ?

Je me dis que le châssis peut-être en cause mais je ne vois rien.

Les pattes elles-mêmes ?

 

Je commence à tourner en rond, comme mon quadrupède...  :dash2:






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

0 members, 0 guests, 0 anonymous users