Aller au contenu


Photo

FourBarQuad525 - Toujours plus rapide


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

#21 Oracid

Oracid

    Pilier du forum

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

Posté 26 novembre 2020 - 02:55

J'ai testé la V3. C'est pas mal, ça chaloupe un peu, mais ça lui donne une bonne allure. C'est à cause du "swing" à 50mm.

Je vais poursuivre avec un pas de 80 à -80.



#22 pat92fr

pat92fr

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 673 messages
  • Gender:Male

Posté 26 novembre 2020 - 06:58

Tu peux réduire le swing à 30mm. Le robot est assez rigide ! Mais un stride à -10mm serait intéressant à tester !



#23 Oracid

Oracid

    Pilier du forum

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

Posté 26 novembre 2020 - 07:31

Trop tard !

Voici une version avec une amplitude qui va de 80 à -80. Le Stride par lui-même va de 70 à -70.

J'ai conservé le Swing qui va à y=51.

C'est la position de l'axe du 4 barres, ou des servos pour faire simple, qui détermine la position du plancher.

Si, au lieu de faire ce chapeau de gendarme tu faisais un rectangle, il serait plus simple que le rectangle soit symétrique par rapport à X et à Y.

 

Par contre, le fait de baisser la position de l'axe du 4 barres, fait baisser le garrot du quadrupède. Alors qu'en montant l'axe, il est plus haut sur pattes.

A mon avis, c'est ce paramètre qui est important. A quelle hauteur doit-on mettre le garrot ?

 

Cliquez moi.

nwKine04.jpg



#24 pat92fr

pat92fr

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 673 messages
  • Gender:Male

Posté 26 novembre 2020 - 07:47

La hauteur du swing est juste là pour que le pied ne traine pas au sol. Faut l'ajuster à vue.

 

La hauteur optimale devrait etre lorsque le palonnier des servos et les deux barres du haut sont pratiquement à l'horizontale. C'est dans cette position que tu as la plus grand vitesse de rotation pour déplacer le pied.

 

Regarde la démarche de doggo, par exemple.

 

Patrick.



#25 Oracid

Oracid

    Pilier du forum

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

Posté 26 novembre 2020 - 09:15

Le pied trainera quand même au sol, à cause de la chaloupe. La chaloupe, permet de s'affranchir des problèmes de centre de gravité.

Le pied ne trainera pas au sol si on règle le problème du déphasage 3/4 qui pendant un lapse de temps très court maintient 3 pieds au sol. Ce qui va régler le problème du centre de gravité.

Pour la hauteur du garrot, jusqu'à maintenant, pour une simple raison esthétique, je le positionnais le plus haut possible. Mais je suis conscient que ce n'est pas une bonne idée.

 

La hauteur optimale devrait etre lorsque le palonnier des servos et les deux barres du haut sont pratiquement à l'horizontale. C'est dans cette position que tu as la plus grand vitesse de rotation pour déplacer le pied.

Je te crois sur parole.



#26 Oracid

Oracid

    Pilier du forum

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

Posté 27 novembre 2020 - 10:41

Je viens de tester la V4 qui a une amplitude de x=80 à x=-80, https://www.robot-ma...apide/?p=111821

 

Il a fallu que je baisse le garrot (position de l'axe du 4 barres) qui était à 180mm pour les tests V2 et V3. 

A 180mm, les points à partir x=70 étaient inaccessibles. De 175mm et 165mm, ça passe, mais ça chaloupe beaucoup et il se retourne.

Je l'ai donc passé à 160mm. Une autre solution était de ne plus garder la symétrie et de faire du x=80 à x=-60, par exemple.

Il faut bien considérer ce problème. Plus le garrot est élevé, et plus le centre de gravité va poser des problèmes.

 

Il a une bonne allure ! Il chaloupe beaucoup tout en réussissant à lever un peu la patte.

 

Je vais faire des tests de vitesse.



#27 Oracid

Oracid

    Pilier du forum

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

Posté 27 novembre 2020 - 02:54

Je viens de faire un test de vitesse avec la V4 qui a une amplitude de x=80 à x=-80.

Les résultats sont excellents et égalent mes meilleures performances, avec environ 15s pour 10m.

Malheureusement, il ne va pas en ligne droite, ce qui est problématique pour une vidéo. De plus, pas mal d'instabilités dû à la chaloupe.

C'est pour cette même raison que j'ai proposé une vidéo avec une performance à 20s pour 10m, alors que je savais réussir à 15s.

 

Tout ceci est très bien, mais je pense que lever la patte à 50mm, ce qui fait chalouper le quadrupède, n'est peut-être pas adapté à la vitesse.

 

Je vais tester avec une amplitude asymétrique.



#28 pat92fr

pat92fr

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 673 messages
  • Gender:Male

Posté 27 novembre 2020 - 02:57

Et en diminuant la hauteur de swing à 30mm ?



#29 Oracid

Oracid

    Pilier du forum

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

Posté 27 novembre 2020 - 03:32

Et en diminuant la hauteur de swing à 30mm ?

Et bien, oui, il faut faire toute une série de tests.

 

Voici la V5, avec une amplitude asymétrique de 80mm à -60mm.

Je viens de tester. Le résultat est moins bon, mais avec une meilleure stabilité.

 

Cliquez moi.

nwKine05.jpg

 

Je vais essayer de baisser le Swing de la V4 à 30mm.

A quoi servent les Overlays, à gauche et à droite ?



#30 Oracid

Oracid

    Pilier du forum

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

Posté 27 novembre 2020 - 04:20

J'ai testé la V6 qui va de 80mm à -80mm avec un Swing de 30mm.

C'était pas mal, mais en relevant le garrot de 160mm à 170mm, et bien, j'ai battu mon record. Soit environ 14s pour 10m.

Il faut donc noter que la position du garrot est une donnée à prendre en compte pour la vitesse.

 

Voici la V6 qui est identique à la V4, mais avec un Swing à 30mm au lieu de 50mm.

 

Cliquez moi.

nwKine06.jpg



#31 pat92fr

pat92fr

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 673 messages
  • Gender:Male

Posté 27 novembre 2020 - 04:22

Le pied ne traine pas au sol ? 

 

Encore 4s à gagner !?



#32 Oracid

Oracid

    Pilier du forum

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

Posté 27 novembre 2020 - 04:38

Voici la V7 qui identique à la V6, mais sans Overlays.

Je l'ai testée. Pas de changement notable, mais plus simple.

 

Cliquez moi.

nwKine07.jpg



#33 pat92fr

pat92fr

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 673 messages
  • Gender:Male

Posté 27 novembre 2020 - 04:41

Ce serait bien aussi de regarder si la durée de swing est identique à la durée de stride.

 

Sinon le déphase à 180° se passe pas bien.



#34 Oracid

Oracid

    Pilier du forum

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

Posté 27 novembre 2020 - 04:50

Le pied ne traine pas au sol ? 

Encore 4s à gagner !?

Non, ça va, l'allure est intéressante.

 

En résumé, même si j'ai légèrement amélioré la vitesse, difficile de dire exactement pourquoi.

Je vais essayer de loguer la durée du Swing et du Stride.



#35 pat92fr

pat92fr

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 673 messages
  • Gender:Male

Posté 27 novembre 2020 - 04:55

Excellent, donc c'est peut etre la bonne valeur de hauteur. Je serais intéressé de connaitre le résultat avec une légère hauteur (négative) de stride aussi.

 

La trajectoire que tu implémente est plus rapide ç réaliser que le trapèze et moins contraignant pour la vitesse de rotation des servos. Ca doit jouer !

 

Tu nous feras une petite vidéo du résultat ?



#36 Oracid

Oracid

    Pilier du forum

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

Posté 27 novembre 2020 - 06:41

Je vais voir pour le Stride négatif.

Ton argument pour la trajectoire me parait convaincante. C'est vrai que pour un servo, c'est plus facile de tracer une courbe, qu'une droite.

Pour la vidéo, je ne promets rien à court terme.

 

J'ai testé la durée du Swing et le Stride en ne faisant fonctionner qu'une seule patte, la patte avant droite.

Après chaque déplacement des 2 servos d'une patte, j'exécute un  delayMicroseconds(Speed);  C'est cette variable qui détermine la vitesse du quadrupède. Dans mon test de la V4, la valeur est de 500 et le résultat est de 360cm en 5s.

 

Pour mon test, j'ai Speed=1000. A cette vitesse, les valeurs du Swing et du Stride vont de 55ms à 57ms, avec une net majorité de 56ms, dans les deux cas.

Ce temps est calculé pour un cycle complet que j'exécute en 2 temps. Premier temps, le Stride, deuxième temps le Swing. 33 pas chacun.

J'exécute 10 fois le cycle dans une boucle. Après plusieurs tests, je n'ai constaté aucune variation.



#37 pat92fr

pat92fr

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 673 messages
  • Gender:Male

Posté 27 novembre 2020 - 06:46

Ok ! Intéressant.

 

Ton cycle est de 112ms ? Ca me parait très rapide !



#38 Oracid

Oracid

    Pilier du forum

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

Posté 27 novembre 2020 - 07:06

Ton cycle est de 112ms ? Ca me parait très rapide !

A la réflexion, moi aussi.

Voici mon code. Y vois-tu un problème ?

 

void Forward(){
  unsigned long temp, start;
  start=millis();
  for(int i=0;i<33;i++){
    InverseKinematics(FRx[i],FRy[i],FRLS,FRRS);
  }
  Serial.print("\n\t Swing = ");Serial.print(temp=millis()-start);
 
  start=millis();
  for(int i=33;i<lgTab;i++){
    InverseKinematics(FRx[i],FRy[i],FRLS,FRRS);
  }
  Serial.print("\t\t\t Stride = ");Serial.print(temp=millis()-start);
}


#39 Oracid

Oracid

    Pilier du forum

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

Posté 27 novembre 2020 - 07:25

Cela fait 112x4=448ms pour les 4 pattes.

Presqu'une  1/2 seconde pour un cycle complet.

Je crois que c'est bon ?!



#40 pat92fr

pat92fr

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 673 messages
  • Gender:Male

Posté 27 novembre 2020 - 07:26

C'est curieux. Tu n'as pas de temps de pause dans les routines IK ? A quel rythme tu envoies les consignes aux servos ?






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

0 members, 0 guests, 0 anonymous users