Aller au contenu


Photo

HumaOne


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

#161 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 28 septembre 2017 - 09:27

houlala pas de nouvelle depuis le 24/08......Punaise le temps passe très vite....

 

Alors des nouvelles de mon bipèèèèèèèèèèèèèèèèèèèèèèèddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeee !!!

 

En dehors du fait que j'ai dorénavant tous les fils qui se touchent, le cerveau qui coulent par le nez et les oreilles je n'ai toujours rien de concret à vous montrer !!!

 

J'ai quand même depuis validé tous les repères des articulations , les paramètres DH, les matrices de passage direct et inverse..............et énormément d'autres paramètres et calculs.....

 

Je suis maintenant au niveau de la programmation et les premières phases on bien avancées............MAIS et oui !! MAIS !!! MAIS !!! J'ai une petite pétouille qui vient me faire CHIER !!!.....Le problème c'est que c'est un stack overflow.......donc oui je sais j'ma plantech qqe part .....

 

Enfin tout ça pour vous dire que je suis encore vivant et surtout HumaOne à commencé à se mouvoir, il se penche sur sa droite lève le pied gauche et l'avance, le pose au sol et bascule sur sa gauche puis il devrait lever la papatte droite mais !!!! GRUNGE !!! STACK OVERFLOW.........!!!

 

Tout ces mouvements sont  bien sûr calculées en temps réels, il n'y à aucun angle de défini par avance......Je passe au soft uniquement la destination du pied, le reste se calcule.....ou presque......Je vais essayer de vous faire une p'tite vidéo du massacre quand ça plante c'est rigolo HumaOne disparait de l'écran.....il bondit ......c'est un effet secondaire de la simulation.......

 

Allez j'men va regarder une petite série pour me reposer le moulin à café !!! Tchatchao ......



#162 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male

Posté 28 septembre 2017 - 09:31

Super des news, même si il n'y a rien à voir comme tu dis, le travail est là, j'imagine parfaitement tes prises de tête sur tous ces algorithmes lol, (oh punaise...) ^^, mais à te lire c'est motivant et j'espère pouvoir mettre en place un peu le même procédé vu que perso j'étais parti sur autre chose si on se rappel bien.  Bref, vivement une vidéo pour voir comment il bouge  :yahoo: HUMAONE :yahoo:


signature_01.png -->

 

Mon Tipeee
 


#163 Amhnemus

Amhnemus

    Membre passionné

  • Membres
  • PipPipPip
  • 593 messages
  • Gender:Male
  • Location:Montigny-le-bretonneux

Posté 28 septembre 2017 - 11:41

Oui enfin des nouvelles ça fait plaisir et oui t'as bien bossé et même une photo de le voir debout nous ferais plaisir.

Ça fait plaisir d'avoir des nouvelles d'HumanOne ;)
1ère place Robot Warrior 2019 humanoïdes autonome

#164 arobasseb

arobasseb

    Membre chevronné

  • Administrateur
  • PipPipPipPip
  • 737 messages
  • Gender:Male
  • Location:BORDEAUX (33)

Posté 28 septembre 2017 - 12:35

Pour ton problème de stackoverflow, tu utilise de la récursivité ?

#165 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 29 septembre 2017 - 06:05

Récursivité???? Tiens??!! Quel étrange mot .....Tu pourrais m'en dire plus s'il te plaît? Merci par avance.



#166 arobasseb

arobasseb

    Membre chevronné

  • Administrateur
  • PipPipPipPip
  • 737 messages
  • Gender:Male
  • Location:BORDEAUX (33)

Posté 29 septembre 2017 - 06:45

La récursivité, c'est quand une procédure s'appelle elle même par exemple :

Fonction additionner( nombre, increment) retour entier
Debut
. si increment = 0 alors
. debut
. retour nombre
. fin
. sinon
. debut
. nombre = nombre + 1
. increment = increment - 1

. additionner( nombre, increment)
. fin
Fin

L'exemple est bidon (bien que faisable), ça fonctionne mais si on veut additionner plus milliards, alors le programme peut faire un stackoverflow, car quand on appel une procédure, tout le contexte est enregistré dans la stack et elle fini par déborder. Et plus la procédure contient de variables plus le nombre possible d'appel diminue.

Ça peut être une des cause de ton problème.


Edit : Désolé pour l'indentation, je suis sur mon mobile.

#167 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 29 septembre 2017 - 07:52

ha non pas de récursivité dans mon code.......



#168 arobasseb

arobasseb

    Membre chevronné

  • Administrateur
  • PipPipPipPip
  • 737 messages
  • Gender:Male
  • Location:BORDEAUX (33)

Posté 29 septembre 2017 - 08:02

La récursivité est le coup classique de ce genre d'erreur, après ça peut venir de procédures qui contiennent beaucoup de variables et qui appel d'autre procédure en chaîne.

Sinon, si tu le souhaite tu peux déposer ton code pour qu'on puisse jeter un œil. 



#169 cocothebo

cocothebo

    Membre passionné

  • Membres
  • PipPipPip
  • 341 messages
  • Gender:Male

Posté 30 septembre 2017 - 04:54

Sinon ça vient encore plus souvent d'une écriture qui déborde d'une variable.

 

Par exemple avoir un tableau de 10 bytes et écrire 11 bytes (dedans ou plus).

 

Il me semble que tu es en C++ (ou C ce sera la même chose), donc si tu as une variable non allouée dynamiquement ,en gros une déclaration genre int monTab[10]), si tu écris monTab[10] ou qqc > 10, tu vas écrire en dehors de l'espace qui est réservé pour cette variable monTab en mémoire dite "pile" (stack en anglais). Cela fait que tu écrase des données, tant que ce ne sont que tes données, ya des chances de bugs mais pas plus, par contre à force d'écrire trop loin, tu écrases des données qui sont utiles pour l'exécution du programme et la tu as un gros risque du fameux "seg fault" qui est le résultat de ce "stack buffer overflow".

 

Attention ce problème arrive aussi si tu débordes d'une variable allouée dynamiquement (donc qui réside non plus dans la pile mais dans une autre partie de la mémoire appellée tas ou heap en english), par contre les symptomes sont rarement les mêmes.

 

Pour tenter d'éviter ces problèmes, il faut vérifier les "bornes" quand on écrit en mémoire, et si possible éviter les commandes genre memcpy, strcpy etc, et favoriser les méthodes qui permettent de gérer la profondeur d'écriture comme strncpy (avec le "n" au milieu) qui permet de dire la taille de ce que l'on utilise, comme ça si jamais on essaye d'écrire plus que la taille de notre buffer, ça va s’arrêter.



#170 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 26 octobre 2017 - 07:14

hé yaaaaaaaaaa........

 

Enfin !!! Enfin.......Après de très long mois à me faire cuire la tête c'est un grand pas que je viens de franchir !!!

 

J'ai le plaisir de vous annoncer que HumaOne marche...Bon il se met encore un peu les pieds dans le tapis mais il marche !!!!

 

Je vous entends d'ici !!! Une vidéo !! Une vidéo !!! Oui mais avec Marilou quand j'enregistre la marche de HO ce sont des fichiers de 500 Mo.....Faut que je regarde ça aussi......Heu si quelqu'un à une idée je suis preneur.......

 

A+



#171 Amhnemus

Amhnemus

    Membre passionné

  • Membres
  • PipPipPip
  • 593 messages
  • Gender:Male
  • Location:Montigny-le-bretonneux

Posté 26 octobre 2017 - 07:38

C'est un grand pas pour Telson et plein de petit pour HumaOne 😉. Je suis content que ton projet avance. Pour la vidéo mon idée est radical , pourri et ne fera pas 500Mo filme avec ton téléphone portable 😃. Et oui on bon screen comme en russie. Tu vois si comme ça la qualité d'image te plait et si ça te va et bien voilà.
1ère place Robot Warrior 2019 humanoïdes autonome

#172 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 01 novembre 2017 - 07:14

allez petite vidéo....il reste encore du taf.....

 

Les mouvements sont saccadés car j'ai laissé en place énormément de pause me permettant de lire les résultats dans une fenêtre annexe....

 



#173 Oracid

Oracid

    Pilier du forum

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

Posté 01 novembre 2017 - 12:14

Si ça fonctionne avec Anykode Marilou, alors ça devrait fonctionner dans la vrai vie.
Courage !

#174 Amhnemus

Amhnemus

    Membre passionné

  • Membres
  • PipPipPip
  • 593 messages
  • Gender:Male
  • Location:Montigny-le-bretonneux

Posté 01 novembre 2017 - 04:40

+1 pour Oracid merci pour cette vidéo et oui y'a du potentiel sans les pauses (peut être coder sans pause pour les vidéos)çaemarche peux être très fluide et humaine. Beau travail Telson. Hâte de voir la suite
1ère place Robot Warrior 2019 humanoïdes autonome

#175 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 01 novembre 2017 - 10:28

Merci Messieurs,

 

Je supprimerais les pauses prochainement quand j'aurai supprimé quelques imprécisions ......

 

D'ailleurs en parlant d'imprécision ce sont surtout au niveau des calculs, peut être les cos, sin, tan, asin, acos, atan, atan2.......J'ai quelques dérivé de 4/5  mm sur des calculs......c'est peut être pas beaucoup mais les calculs des angles sont impactés et dans le temps HO fini par se mélanger les pinceaux et chute......

 

Il faut aussi que je modifie les séquences cela ne me convient pas......

 

Pour rappel dans cette méthode il n'y à aucun angle prédéfini ils sont calculés en temps réel....



#176 Oracid

Oracid

    Pilier du forum

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

Posté 02 novembre 2017 - 06:59

Pour rappel dans cette méthode il n'y à aucun angle prédéfini ils sont calculés en temps réel....

Pourquoi ne calcules-tu pas d'abord ta série d'angles en remplissant un tableau ?

#177 Amhnemus

Amhnemus

    Membre passionné

  • Membres
  • PipPipPip
  • 593 messages
  • Gender:Male
  • Location:Montigny-le-bretonneux

Posté 02 novembre 2017 - 07:17

@Telson j'avais juste une interrogation quel est l'avantage de calculer les angles en temps réel ? Code plus léger ??
1ère place Robot Warrior 2019 humanoïdes autonome

#178 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 977 messages
  • Gender:Male
  • Location:Anglet

Posté 02 novembre 2017 - 07:39

le temps réel permet de faire du "dynamique" ! =)  En fonction de données capteurs la séquence sera " corrigeable " en temps réel. 
Une série d'angle pré calculé ça fonctionne mais c'est de la boucle ouverte ...C'est un simple automate et la moindre irrégularité du terrain ou le moindre imprévu et c'est la chute. 

En dynamique avec les capteurs adéquate, le système va pouvoir chercher à maintenir son équilibre .

Mais on peut aussi utiliser des méthodes " mixte " une partie de la machine peut suivre une séquence donnée pendant qu'une autre agit pour le maintient de l'équilibre. 
On pourrait par exemple imaginer un "humanoïde" dont la démarche bipède est en mode " automate" mais où les bras sont piloté afin d'augmenter la stabilité de l'ensemble =) Ou bien la même chose avec des masses inertielles en rotation à l'intérieur du bipède =) 

Cette démarche "mixte" permet souvent d'avoir des résultats assez intéressant rapidement =) en essayant de garder les meilleurs atouts des deux méthodes : la facilité de l'automate et la dynamique du temps réelle =). 
( attention à ne pas prendre les deux inconvénients des deux méthode x) le manque de fiabilité face aux imprévus et la complexité de mise en oeuvre ^^ )


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#179 Amhnemus

Amhnemus

    Membre passionné

  • Membres
  • PipPipPip
  • 593 messages
  • Gender:Male
  • Location:Montigny-le-bretonneux

Posté 02 novembre 2017 - 08:19

Merci Mike pour cette éclairage
1ère place Robot Warrior 2019 humanoïdes autonome

#180 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 02 novembre 2017 - 09:00

C'est exactement ça ....Merci Mike.

 

J'utilise pour le moment des séquences pour le déplacement des jambes : inclinaison_droite, avant jambe_gauche de Xcm , inclinaison_gauche, avance_jambe droite de X cm.

 

J'utilise la méthode de Denavit-Hartenberg exclusivement pour calculer les positions des articulations........J'utilise ensuite l'origine d'un pied, sa destination et des vecteurs pour calculer les positions intermédiaires........

 

 

il faut maintenant que j'améliore les séquences. Je trouve que cela reste trop mécanique comme marche.....Ensuite j'aimerais bien remplacer certaines séquences par la gestion du déplacement du centre de masse..............Il me faudra par la suite implémenter une centrale inertielle et des capteurs sous les papattes....tout ça sous Marilou....bien sûr.....

 

Au final je suis surpris de trouver plus de plaisir à programmer que d’utiliser mon I3D.... Jusque quand??? ça je ne sais pas..............J’apprécie surtout le fait de ne plus avoir ces contraintes mécatroniques......

 

 

A+






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

0 members, 1 guests, 0 anonymous users