Aller au contenu


Photo

Glenn Robot Humanoide


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

#421 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 05 juin 2017 - 08:52

Here I am !

En effet, dans mon exemple, je considère un bras simplifié avec un seul DOF par articulation (dans le cas 2D ça marche très bien). Ce que tu proposes me semble pas mal, peut-être même que tu peux placer "segment" directement au niveau du bras. Du coup, ton bras serait une liste d'articulations et de segments qui les connectent.
Par contre, je ne suis pas sûr de ce que tu veux dire par "faire la liaison" ni pourquoi tu parles d'héritage. L'héritage sert quand tu veux spécialiser un objet: la classe école hérite de la classe bâtiment, parce que l'ensemble des écoles est inclus dans l'ensemble des bâtiments. Si tu veux créer une ville, tu ne dois pas faire hériter chaque bâtiment de la classe Ville mais avoir une liste de Bâtiments dans la classe Ville.

Un truc qui est resté un peu flou jusqu'ici (mais j'imagine que tu as travaillé ça de ton côté), c'est de définir un bon modèle du bras : dessiner les différentes parties, placer correctement les référentiels (avec une convention de Denavit-Hartenberg par exemple), lister les différentes variables : angles, longueurs, etc. qui rentrent en jeu dans les calculs. Une fois ces choses explicites, si tu écris les étapes à suivre et quelles variables entrent en jeu pour faire bouger le bras, tu auras une vue de ce que ton programme doit faire.

Il faut bien comprendre que toutes les classes que tu crées en amont pour organiser ton code, le but est de les utiliser ensuite pour contrôler le robot. Il faudra effectivement déclarer une fois les objets du type que tu veux (Articulation, Servo, etc.), mais ensuite, pour contrôler ton robot, tu as juste besoin d'appeler leurs méthodes.
Ça devrait se retrouver dans le main.py parce que c'est ce code là qui va tourner à la fin sur ton robot. En gros, toutes tes définitions et implémentations de classes vont dans des fichiers que tu importes ensuite dans ton programme principal de contrôle. Ton fichier "main.py" doit être spécifique à ton robot, les modules que tu écris devraient (en théorie) pouvoir être utilisés sur n'importe quel robot, indépendemment de sa morphologie.
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#422 Oliver17

Oliver17

    Pilier du forum

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

Posté 06 juin 2017 - 05:26

Hum, pour le coup du segment placé au niveau du bras, va falloir que je comprenne le bignou, mais ça rejoint ta question des parents enfants, en fait c'est un truc au quel je pensais lorsque je faisais de la 3D on avait l'habitude de parler comme ça en attachant nos bones pour créer une chaine...

Epaule : parent

coude : enfant

poignet : enfant du coude etc etc

 

C'est là ou je m'embrouille tout seul justement lorsque je parle des liaisons entres chaque articulations :)

 

Pour ce qui est de définir le "bon" modèle du bras via un référentiel du monde etc etc , j'ai à peu prés tout fais (d'autres à taton encore), mais le plus gros, ben c'est de comprendre D.H. et les Jacobiens qui vont avec, apparemment ça va bien ensemble, mais j'ai du mal à piger le concept, lorsque je lis sur wikipédia ce qui est en rapport avec D.H. suis largué, mais lorsque je reprend le livre "Introduction à la commande des robots humanoïdes" je cite : 

 

"Il existe une méthode très connue pour décrire les positions relatives des repères locaux,

appelée méthode de Denavit-Hartenberg (DH) [6]. Nous avons utilisé cette méthode
de représentation dans un premier temps, mais elle possède une restriction qui consiste à
devoir obligatoirement changer l’orientation d’un axe de rotation en changeant de segment.
Cette caractéristique a provoqué l’apparition d’erreurs, et nous avons donc abandonné la
représentation DH pour la méthode présentée ici.
"

 

J'avais souligné d'ailleurs à Telson se passage, je ne sais pas du coup si il est parti sur du D.H. ou autre...

Telson, si tu nous lis, peux tu nous donner ton avis stp. ^^

 

Ok, cool, ça me rassure pour la suite ;)

"les modules que tu écris devraient (en théorie) pouvoir être utilisés sur n'importe quel robot, indépendamment de sa morphologie.",

je suis bien content que tu me dise ça, car je partais sur cette optique sans être vraiment sur que ce soit si utile pour la suite, en fait, si, merci de le confirmer :)

 

Ps : Bon, je vais tout mettre à plat pour la création du modèle, histoire que se soit au propre une bonne fois pour toute ^^

 

Merci  :thank_you:


signature_01.png -->

 

Mon Tipeee
 


#423 Telson

Telson

    Membre chevronné

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

Posté 07 juin 2017 - 07:46

Oui effectivement la méthode de Denavit-Hartenberg (DH) engendre des erreurs.....Je n'y pas encore.....Mais je vais coupler DH avec une autre méthode citée à la page 47 du document :: Shuuji_Kajita,_Hirohisa_Hirukawa,_Kensuke_Harada.pdf

 

Une gymnastique aussi avec DH c'est le placement des repères et la définition de r, d, alpha et téta......Un beau merdier quoi !!!



#424 Mike118

Mike118

    Staff Robot Maker

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

Posté 07 juin 2017 - 07:56

L'avantage des méthodes tel que D-H tel c'est certes qu'elle impose une rigueur dans la notation mais une fois que cette rigueur est acquise, ce n'est plus qu'un automatisme facile à appliquer ... avec des résultat tout prêt... et toute personne utilisant la même rigueur peut travailler avec vous.
" Bête et discipliné mais ça marche " 

Après il y a bien entendu d'autres méthodes ( que je ne connais pas forcément d'ailleurs ... ) mais chaque méthode doit avoir ces avantages et ses inconvénients =) à vous de voir quel méthode vous convient le mieux ... 


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  

 

 

 


#425 Telson

Telson

    Membre chevronné

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

Posté 07 juin 2017 - 08:00

il faudrait que l'ont établisse un exemple (exercice) type avec DH pour pouvoir le vulgariser....Il y à des zones d'ombres encore pour moi......



#426 Oliver17

Oliver17

    Pilier du forum

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

Posté 07 juin 2017 - 08:36

Je commence un peu à me pencher sur le sujet, mais pour moi, ce ne sont pas des zones d'ombres, mais le néant lol ^^

 

Je vais bien lire le document des Japonais voir comment ils évitent D.H., sinon ben je m'y mettrai, et à moi les tapages de tête contre les murs lol   :dash2:


signature_01.png -->

 

Mon Tipeee
 


#427 Bobox

Bobox

    Habitué

  • Membres
  • PipPip
  • 157 messages
  • Gender:Male
  • Location:Montigny le Bretonneux

Posté 07 juin 2017 - 09:07

Voici 5 videos du cours  "ColumbiaX: CSMM.103x Robotics" que je suis sur edx.org (https://www.edx.org/...mbiax-csmm-103x)

C'est en anglais malheureusement.

 

Ca explique la notation D.H et son utilisation pour faire de la forward Kinematic :

 

Forward Kinematic D.H Example:

 

D.H Notation example : 2-link planar robot

 

D.H Notation example : SCARA Robot

 

Kinematic example : 6 DOF and 7 DOF robots :

 

 



#428 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 07 juin 2017 - 09:47

Ho punaise merci du partage !!

#429 Mike118

Mike118

    Staff Robot Maker

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

Posté 07 juin 2017 - 10:07

j'ai ajouté les info dans le sujet qui référence les cours de " mécanique pour la robotique " commencé par path =). 

Un grand merci pour ce genre de partage =) 
 

 ( d'ailleurs pour ceux qui l'ont remarqué j'essaye de travailler à organiser ce genre d'information ... car malheureusement, des info intéressante comme ça c'est dommage qu'elles soient enfoui dans le 427 ème post qui est à la 22ème page d'un sujet ...  D'ailleurs il y a ce sujet qui est là pour essayer de référencer les sujets de références ... http://www.robot-maker.com/forum/topic/11224-liste-des-cours-et-des-tutoriels-utiles/ 

Si vous avez d'autres idées pour "organiser" les connaissance sur le forum je suis preneur =)  )


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  

 

 

 


#430 Oliver17

Oliver17

    Pilier du forum

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

Posté 07 juin 2017 - 10:28

Outch, en anglais, snif, mais je regarderai tout de même ;)

 

@ Mike : tout à fais d'accord, autant faire un doublon, ça ne coûte rien qu'il y ai l'info ici et surtout sur le post dédié que Path à commencé.

 

Sur cette page on voit à peu prés dans quelle direction va Glenn avec quelles solutions, et sur la page dédié, et bien justement on y parle plus précisément.


signature_01.png -->

 

Mon Tipeee
 


#431 Oliver17

Oliver17

    Pilier du forum

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

Posté 14 juin 2017 - 09:21

Bonjour les Maker's, bon, j'ai une petite question mais la réponse me permettrait de ne pas perdre trop de temps dessus, bref.

 

Un cercle trigonométrique peut on lui donner une rotation pour obtenir comme position de départ (sur les articulations d'un robot) de tous mettre à zéro.

CAD :

 

Voici donc notre bon cercle trigonométrie, bon je ne fais pas de rappel sur sont fonctionnement, donc notre 0 est à droite, 90 au dessus, -90 en bas et 180 (ou -180) à gauche.

 

cercle_trigo.jpg

 

Donc, avec la technique de Mike sur le convertisseur (en prog pour les servos), je me suis fais un test avec un servo et une matrice, mon test et de dire au servo que sont 0 et en bas, (voir image en dessous), sur la matrice les informations sont correctes lorsque je lui donne par exemple -90°, mais comme si le cercle était positionné de façon normal et non comme l'image en dessous.

 

cercle_trigo_02.jpg

 

Bon après l'idée était d'aligner tous les servo sur 0° et dans la bonne orientation, mais j'ai peux que mes matrices de rotation justement soient faussés pas la suite.

Ex : l'axe Y de l'épaule lorsque sont segment est aligné vers le bas (dans le sens de Z) on retrouve 0°, comme ça je peux donner une valeur positive (en avant) et négative (en arrière).

 

C'est juste une idée, je me trompe surement mais j'aimerais en avoir la confirmation. ;)

 

Merci


signature_01.png -->

 

Mon Tipeee
 


#432 Telson

Telson

    Membre chevronné

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

Posté 14 juin 2017 - 09:53

houlala tu pourrais faire un schéma avec l'emplacement de ton servo, sa position 0°, sa position 180° et son sens de rotation et bien sur la position du bras.....

 

si cela peut te rassurer j'ai terminé la mise en place des 12 repères pour les jambes d'HumaOne et la définition des paramètres de DH. Je pars en mission à l'étranger pendant 15 jours....Pfeeee en France!!! Donc j'aurais certainement le temps de faire un petit résumé de mon expérience avec DH et de ses pièges....

 

++



#433 Oliver17

Oliver17

    Pilier du forum

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

Posté 14 juin 2017 - 10:14

Et bien de -90 = 0 du servo et 90 = 180 du servo. (sur l'axe de rotation Y et le segment du bras est aligné sur Z).

Donc placer la position du servo en bas sur le 0, indiqué sur le cercle modifié et il aura toujours une amplitude de 180°.

 

Sinon pas grave, si personne ne comprend je vais faire comme d'hab.


signature_01.png -->

 

Mon Tipeee
 


#434 Telson

Telson

    Membre chevronné

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

Posté 14 juin 2017 - 10:33

Alors si j'ai bien compris il te faudrait placer ton servo à 90° et fixer ton bras dessus.

 

Ainsi quand ton servo effectuera une rotation de -90° (l est en position 0°) ton bras se retrouvera sur la position 0° de ton cercle modifié et quand ton servo effectuera une rotation de +90° (il est en position 180°) ton bras sera sur la position 180° de ton cercle modifié...Je vais essayer de te faire un dessin..... 



#435 Telson

Telson

    Membre chevronné

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

Posté 14 juin 2017 - 10:46

Serait ce ceci ???

 

 

glenn - 001.jpg

 

 



#436 Oliver17

Oliver17

    Pilier du forum

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

Posté 14 juin 2017 - 01:20

Coucou, merci déjà d'avoir pris le temps de me faire un exemple en dessin, effectivement on ne c'est pas compris. :)

 

Sur la première image on retrouve un cercle trigo orientée normalement, avec le servo moteur (sur l'axe de rotation Y avec la matrice qui va bien) et sont degrés d'orientation d'origine avant manipulation dans le code, mais je place tout de même le segment (ou bras) aligné sur l'axe -Z.

 

cercle_trigoRM_01.jpg

 

Sur la seconde image, dans mon idée c'était de faire en sorte que le cercle trigo se retrouve vers le bas pour avoir une valeur positive en avant et négative en arrière, donc, avec le convertisseur de Mike ça fonctionne sans problème, le hic, c'est que sur ma matrice je pense que tous les calculs vont être fausser si on y réfléchis bien pour la cinématique direct, voilà ou je voulais en venir, pour juste bouger un servo ok, mais en se servant des matrices par la suite suis pas sur de mon coup.

 

cercle_trigoRM_02.jpg

 

 

C'était juste une idée, comme ça tous les servos et segments sont alignées sur le 0° et pourront bouger en conséquence, MAIS, les matrices ne correspondent plus vraiment.

Ce qui est dommage car je trouvais l'idée sympa ^^

 

Donc, c'était pour savoir si je continue à creuser de se coté là dans le cadre de la cinématique du robot et la création du modèle, ou alors je fais autrement.

 

PS : j'espère que mes dessins aides à comprendre lol :)

 

Merci


signature_01.png -->

 

Mon Tipeee
 


#437 Telson

Telson

    Membre chevronné

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

Posté 15 juin 2017 - 05:45

Je peux me tromper mais tu as peux être brûlé des étapes.....

 

En fonction de ta structure tu disposes sur les articulations les repères selon la convention de DH.

 

Ensuite selon la disposition des repères tu définis les paramètres a,d,alpha, téta de chacune des matrices.

 

Tu fais ensuite varier les angles téta des articulations pour valider les paramètres a,d, alpha et téta et seulement quand tu as des calculs justes tu positionnes tes servo de manière à te faciliter le pilotage de ces derniers....

 

Je me trompe peut être mais pour moi c'était plus simple de commencer ainsi....



#438 Oliver17

Oliver17

    Pilier du forum

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

Posté 15 juin 2017 - 08:03

Merci Telson, pas de soucis ce que j'essayais de faire c'était juste une idée, rien de plus, je me doutais bien que ça n'allais pas fonctionner, lol ^^

 

Sinon j'essaye de suivre ce que l'on retrouve dans le livre (pas évident non plus), ils ne se servent pas de DH si j'ai bien compris, je vais donc tenter le coup.

 

 

Merci ;) 


signature_01.png -->

 

Mon Tipeee
 


#439 Telson

Telson

    Membre chevronné

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

Posté 15 juin 2017 - 09:04

Dans le livre ils ne suivent pas DH c'est exact mais je pense que pour un bras ou des besoins simples cela devrait convenir...Si j'arrive à trouver du temps je ferais une récap de mon "expérience" avec DH......ça n'a pas été simple mis maintenant je pense que je vais pouvoir vraiment passer à la phase programmation.....

 

il est très important de pouvoir valider les paramètres de toutes les matrices et d'effectuer des calculs dans tous les sens pour détecter une éventuelle anomalie. d'autant que cela peut fonctionner avec les matrices direct et avoir des erreurs en indirects.

 

N'oublie surtout pas la règle de la main droite pour positionner les repères.....

 

Aide toi de Excel pour matérialiser tes matrices et visualiser l'évolution des valeurs et des coordonnées en direct....Tu fais un fichier du genre ::

 

repère-test.JPG

 

Je ne peux pas joindre un fichier Excel donc pour le moment ce sera juste une capture d'écran.....Peut être en MP j’essaie...

 

Non, pas possible....



#440 Mike118

Mike118

    Staff Robot Maker

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

Posté 15 juin 2017 - 09:46

pour aller plus vite : zip ton excel et tout document pouvant être intéressant avec dans un dossier .  tu pourras partager le dossier zippé ;)


Si besoin nous pouvons voir pour autoriser le partage de fichier excel ... mais si l'astuce des dossiers zippé convient en a t on vraiment besoin ?


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  

 

 

 





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

0 members, 0 guests, 0 anonymous users