Aller au contenu


Photo

Syncro. roues motrices d'un robot


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

#1 electron83

electron83

    Nouveau membre

  • Membres
  • 7 messages

Posté 12 juillet 2006 - 08:08

Bonjour à tous,
/// Je suis en train de fabriquer mon premier robot. J'ai choisi deux mêmes petits moteurs pour les deux roues motrices.
Si ces moteurs sont théoriquement identiques, il y aura toujours une petite différence de vitesse. J'ai deux idées pour les synchroniser (analogique et numérique) je ne sais pas trop ce qu'elle vallent. Pouvez-vous me dire comment vous avez synchroniser les votres. Merci.
Pierre.

#2 crossign

crossign

    Membre occasionnel

  • Membres
  • Pip
  • 140 messages
  • Location:Maidenhead, UK

Posté 12 juillet 2006 - 09:31

Bonjour,

Ce n'ai pas evident d'etre sure a 100% que tes moteurs tournent a la meme vitesse au meme moment. Surtout si ton robot se deplace sur de la moquette, ou dans une pente de biais.

Pour mon robot, j'utilise deux controleur PID. Je donne les meme consigne d'acceleration, de vitesse et de position. Les PID vont tout faire pour faire tourner les moteurs a la vitesse donnee et atteindre la position voulue.

Mais j'ai quand meme quelques souci, mais ca marche pas trop mal.

Il faudrai un seul montage PID qui commanderai les deux moteurs et prendrait en charge la synchro lorsqu'elle est voulue (deplacement en ligne droite)

Mes PID sont bases sur des PIC. Ils commande les moteurs entre 0 et 12V et lisent la vitesse/acc/position a l'aide de capteur en quadrature de phase (codeur optique).

Voila quelque liens:
http://fribotte.free.fr/bdtech/PidSurPic/PidSurPic.html
et http://www.gamatronix.com/product_info.php.../products_id/28


Sinon, si tu veux vraiment etre synchro avec tes moteurs, utilise des moteurs pas a pas. La tu est sur du resultat.

A+
Cyril

#3 electron83

electron83

    Nouveau membre

  • Membres
  • 7 messages

Posté 12 juillet 2006 - 10:58

Je te remercie pour ta réponse rapide. J'ai regardé ce que tu m'as conseillé et effectivement c'est un problème délicat à résoudre.
Je vais quand même essayer mon bidouillage.
Quant aux moteurs pas à pas , pourquoi faire simple quand on peut faire compliquer ? :lol: Et puis un petit moteur consomme beaucoup moins.
Pierre.

#4 wolfjeremy

wolfjeremy

    Membre occasionnel

  • Membres
  • Pip
  • 135 messages

Posté 12 juillet 2006 - 11:38

Ou alors il y a la solution comme dans l'aéromodélisme, un reglage du Trim, mais je ne sais pas comment sa marche, je sais juste qu'il faut que je tourne le bouton :lol:

#5 Fabarbuck

Fabarbuck

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 685 messages

Posté 12 juillet 2006 - 01:52

C'est effectivement un probleme pas si simple, et la solution se trouve dans l'asservissement de la commande.
Je peux te parler de la solution retenue par notre équipe quand j'ai participé à la coupe de robotique (plein d'équipes utilisent le meme systeme). On utilise effectivement un asservissement par moteur, ce qui nécessite un encodeur par moteur et un système de traitement (un microcontroleur ou une puce dédiée, car il y en a qui existent).
A coté de cela, on utilise deux roues codeuses indépendantes des roues de propulsion. Parce qu'en effet, si jamais une de tes roues dérape (et avec un robot qui pese 10kg et accélere pas mal, c'est tres facile à obtenir ;) ), l'asservissement basé sur les encodeurs moteurs est directement dans les choux.
Ces roues codeuses indépendantes sont tout simplement de petites roues plaquées au sol par des ressorts assez barbares ; le but est qu'elles captent tous les déplacements faits par le robot, meme quand les roues de propulsion dérapent. Elles sont positionnées à coté des roues de propulsion (il faudrait un schéma pour etre le plus clair possible mais je fais confiance à tes capacités d'imagination :P )
A partir des informations de déplacement obtenues grâce à ces deux roues codeuses indépendantes, on récupère une information plus fiable sur la trajectoire réelle du robot, ce qui permet de déterminer la commande appropriée pour les deux moteurs ; en somme, on a un 'asservissement' qui englobe les deux asservissements des moteurs.
Au final, ca marche pas trop mal, mais ca complique nettement le systeme complet à mettre en oeuvre...

Au passage, les moteurs pas à pas c'est bien, mais il faut bien etre conscient que le fait que tu lui demandes de faire un pas, ca ne veut pas dire qu'il va le faire (obstacle, manque de couple...), et meme s'il fait un pas, rien ne dit que le robot avance d'autant (sol glissant, roue qui dérape, ...). En gros, commander en boucle ouverte (sans asservissement) un robot avec un PaP, c'est bien, mais il y a malgré tout des limites !

#6 electron83

electron83

    Nouveau membre

  • Membres
  • 7 messages

Posté 12 juillet 2006 - 06:37

Merci beaucoup pour ta réponse qui a beaucoup de valeur pour moi car tu as déjà touché le problème.
Je vais bidouller mon idée :
-j'ai une roue codeuse à chaque roue et un opto. qui capte les impulsions
-Un même signal PWM est envoyé aux deux moteurs . La roue droite (par ex.) est prise comme référence. Le déphasage de deux impulsions témoigne d'une différence de vitesse aussitôt corrigée.
Ce déphasage se manifeste par un signal associé de la roue gauche supérieur à celui de la roue droite . C'est signalé au micro qui se charge de trouver si la roue gauche est en avance ou en retard, puis il corrige .
Les impulsions de la roue droite durent trois fois plus longtemps que celles de la gauche, ce qui permet une certaine tolérance et évite de corriger inutilement.
Pierre.

#7 crossign

crossign

    Membre occasionnel

  • Membres
  • Pip
  • 140 messages
  • Location:Maidenhead, UK

Posté 12 juillet 2006 - 07:22

Le probleme, c'est que meme si tu arrives a corriger le dephasage, il est trop tard et le robot ne va plus en ligne droite. Je m'explique:

Tu fais avancer ton robot de 5 metres. en ligne droite.
Au bout de 2 metres, une des roue ralentie (sur le tapis, un cailloux...) du coup, ton robot tourne legerement.
Tu corrige l'erreur et fait tourner la roue plus vite, le robot reprend son angle, mais ta trajectoire n'est pas bien droite et ton robot est decale pusiqu'il tourne un coup a gauche puis un coup a droite tout en roulant.

Bon, si tu es assez rapide pour lire l'erreur, la corriger + inertie, c'est pas trop grave.

J'ai pas encore tester mon robot sur de longue distance, mais je pense que je vais m'amuser a le faire aller bien droit. Surtout avec un poid de 25kg!

Bon courage.

#8 Fabarbuck

Fabarbuck

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 685 messages

Posté 13 juillet 2006 - 12:18

Effectivement, la solution de prendre une des deux roues comme 'maitresse' et d'asservir l'autre par rapport à celle ci est utilisée par certaines équipes, parce que c'est plus simple que la solution que j'ai décrite précédement. Comme le dit crossign, c'est pas parfait, mais c'est déjà un plus par rapport à deux asservissements completement indépendants ou tu mets un correcteur par moteur, auquel tu donnes la meme consigne.
D'ailleurs, sur certaines vidéos de la coupe, on peut reconaitre certains robots qui utilisent ce systeme: il y en a dont l'asserv est assez lente/mal réglée, du coup, une des deux roues est en permanence en train de corriger par rapport à l'autre, et le robot... tortille du cul :P ou se déplace en canard, comme on veut, bref, une roue (la roue de référence) avance a peu pres droit, et l'autre oscille entre etre en avance ou en retard par rapport à la roue de ref... c'est marrant à voir, mais pas forcément efficace pour faire de 'belles' trajectoires ;)

#9 electron83

electron83

    Nouveau membre

  • Membres
  • 7 messages

Posté 13 juillet 2006 - 05:10

C'est ce que je me disais après les premières réponses. Mais si on déguise le robot en super-nana , ça peut-être sympa de le voir avancer... :D
Bon, je vais perséverer quand même ou essayer de trouver une autre forme de propulsion.
A bientôt.
Pierre.

PS . Je ne suis plus un étudiant mais aimerais participer un jour à un concours de robots. Est-ce que ça existe pour un vieux quadragénaire comme moi ? Une coupe "open", quoi . Car je ne vois comme participants que des lycées ou écoles d'électroniques.

#10 Fabarbuck

Fabarbuck

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 685 messages

Posté 13 juillet 2006 - 08:21

Disons que oui, ca peut etre super marant un robot qui avance comme ca :)
Un autre parametre important, c'est qu'il vaut mieux commencer par faire un truc simple, meme loin d'etre optimal, plutot que de se lancer direct dans la conception d'un systeme ultra complexe qui a pris plusieurs années aux équipes eurobot pour développer la plupart du temps.

En bref, le dandinement a du bon pour un premier robot :) Et pour les autres formes de propulsions, malheureusement, il n'y en a pas tellement de beaucoup plus simples efficaces pas cher qui font le café, sinon tout le monde les utiliserait ;)

Coté concours, tu as toujours le concours de sumo dont on parle pas mal sur ce forum. C'est plus accessible comme robot, il n'y a pas besoin de beaucoup d'équipement pour avoir un robot qui marche, bref, c'est idéal comme premier objectif de concours à mon avis.

Si tu veux malgré tout envisager une participation à e=m6/eurobot, il n'y a aucun soucis ! Il faut savoir que l'inscription est ouverte aux associations, donc tu n'as qu'a te rapprocher d'une assoc, ou bien, comme je l'ai vu à la coupe, embarquer toute ta famille dans l'aventure et roule :)
On ne peut plus s'inscrire à titre individuel depuis... 2003 je crois, parce que d'une, il y avait trop trop de candidats, et de deux, c'est pas trop dans l'esprit 'équipe, entraide, pédagogie, vulgarisation' et compagnie.
Tu peux aussi peut etre tenter de faire quelque chose avec une MJC pres de chez toi, un club, éventuellement voir pour aider une équipe qui participe aux trophées de robotique....
En bref, il y a des tas de possibilités, tout dépend ensuite de tes envies, du temps dont tu disposes, etc... mais rassure toi, parmi les étudiants participant aux concours, yen a pas mal "d'attardés", et en étant quadra, je doute que tu sois le senior des participants. :rolleyes:

#11 Jan

Jan

    Webmaster

  • Membres
  • PipPipPipPipPip
  • 4 747 messages
  • Gender:Male
  • Location:Rhône Alpes

Posté 14 juillet 2006 - 01:17

PS . Je ne suis plus un étudiant mais aimerais participer un jour à un concours de robots. Est-ce que ça existe pour un vieux quadragénaire comme moi ? Une coupe "open", quoi . Car je ne vois comme participants que des lycées ou écoles d'électroniques.


Bonjour

Je ne suis plus étudiant depuis longtemps maintenant et je connais pas mal de passionnés de robotique qui tournent autour de ton age. Toutes les générations s'interessent à la robotique, c'est ca qui est sympa, ca ouvre de bonnes perspectives pour la suite. Alain Gélinas le créateur des petits robots visibles dans le robotscope doit se situer dans la 40 ène. Pour les concours, celui des robots sumos comme te dit Fabarbuck semble le plus adapté et puis le plus ouvert.

à+

#12 electron83

electron83

    Nouveau membre

  • Membres
  • 7 messages

Posté 15 juillet 2006 - 04:38

Bonjour à tous,
Eureka (boom) , j'ai trouvé ! Malgré ses deux moteurs C.C , mon robot ne dévie pas d'un mm !

Mais en toute modestie je pense que beaucoup avaient pensé à CETTE solution car on la touche du pied tous les jours...
Z'avez deviné ?
Pierre.

#13 JFDuval

JFDuval

    Membre

  • Membres
  • 36 messages
  • Location:Québec!

Posté 15 juillet 2006 - 09:13

Une roue devant l'autre? Du poids sur un côté?

#14 Fabarbuck

Fabarbuck

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 685 messages

Posté 24 juillet 2006 - 11:38

Ou encore un moteur pour avant arriere, et un pour gauche droite, avec un essieu genre truc de skate... Je ne sais plus qui a fait un robot sur une base de trotinette electrique selon ce principe: le moteur de la trotinette pour avancer, et un servo puissant pour faire tourner la roue de propulsion par rapport au chassis.

#15 crossign

crossign

    Membre occasionnel

  • Membres
  • Pip
  • 140 messages
  • Location:Maidenhead, UK

Posté 24 juillet 2006 - 12:02

Bonjour,

A oui, j'avait penser a faire ce genre de truc au debut. Une seule roue motrice montee sur une fourche qui tourne sur 180 degres et deux roue fixes a l'arriere
Cela permet de faire tourner le robot sur lui meme et tu es sur de faire des trajectoires bien droites.

mais la meca est l'odometrie sont plus complexes je pense

A+
Cyril

#16 Fabarbuck

Fabarbuck

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 685 messages

Posté 24 juillet 2006 - 02:48

Oui, peut etre que décrire ca comme un tricycle dont la roue avant serait motorisée donne une image plus claire du truc ;)
Effectivement, c'est pas forcément simple d'ajouter l'odométrie la dessus... Il faut aussi savoir que coté trajectoires faisables, c'est moins bien que le systeme type char ; un tricycle ne peut pas tourner sur lui meme par exemple ! Il faut donc apprendre à son robot à faire des créneaux :D
Cela dit, ca peut simplifier la vie pour aller en ligne droite... ;)

#17 electron83

electron83

    Nouveau membre

  • Membres
  • 7 messages

Posté 28 juillet 2006 - 07:00

Bonjour à tous,
D'après toutes les remarques et conseils que vous m'avez donné, et ce que j'ai fait, j'ai touché du doigt que la synchronisation électronique est très difficile à réaliser . Un asservissement électronique fiable sera très compliqué, et aura des limites.
Par contre l'asservissement MECANIQUE des deux moteurs est relativement à simple à réaliser et fiable à 100% .
Pierre.

#18 Jan

Jan

    Webmaster

  • Membres
  • PipPipPipPipPip
  • 4 747 messages
  • Gender:Male
  • Location:Rhône Alpes

Posté 29 juillet 2006 - 04:46

Salut

Le problème de l'asservissement "mécanique" c'est qu'il est très limité.
En général il ne permet pas à la machine de faire un tour complet sur lui même.

A+

#19 electron83

electron83

    Nouveau membre

  • Membres
  • 7 messages

Posté 08 août 2006 - 05:06

Bonjour,
Non, il n'est pas question de ça. Ma solution consiste à unir ou désunir chacun des axes des deux moteurs à l'aide de pignons à couronnes. Pignons emboités: synchro. Pignons désunis: fonctionnement séparé des deux moteurs.
Pierre. B)

#20 Fabarbuck

Fabarbuck

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 685 messages

Posté 08 août 2006 - 05:42

Plutot que d'emboiter/déboiter des pignons (attention la casse :blink: ) tu peux peut etre te servir d'un systeme avec différentiel... je ne suis pas sur que ca puisse fonctionner parfaitement bien, mais il y a peut etre un moyen de s'en sortir...Je vois ca comme ca:
- un différentiel, donc, pour tes deux roues de propulsion
- un (gros) moteur qui entraine le différentiel ; il permet d'aller en ligne droite
- un (petit) moteur qui n'entraine qu'une branche du différentiel ; pour aller droit, il est en roue libre, et sinon, il va freiner ou accélérer une seule branche du différentiel
Ca peut peut etre aider, mais bon je ne suis pas sur que ce soit le plus simple, ni que ca fonctionne super bien... il faudrait que je fasse un prototype en lego pour tester, tiens ! :P




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

0 members, 0 guests, 0 anonymous users