
Syncro. roues motrices d'un robot
#1
Posté 12 juillet 2006 - 08:08
/// 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
Posté 12 juillet 2006 - 09:31
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
Posté 12 juillet 2006 - 10:58
Je vais quand même essayer mon bidouillage.
Quant aux moteurs pas à pas , pourquoi faire simple quand on peut faire compliquer ?

Pierre.
#4
Posté 12 juillet 2006 - 11:38

#5
Posté 12 juillet 2006 - 01:52
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

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

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
Posté 12 juillet 2006 - 06:37
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
Posté 12 juillet 2006 - 07:22
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
Posté 13 juillet 2006 - 12:18
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


#9
Posté 13 juillet 2006 - 05:10

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
Posté 13 juillet 2006 - 08:21

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


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.

#11
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
Posté 15 juillet 2006 - 04:38
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
Posté 15 juillet 2006 - 09:13
#14
Posté 24 juillet 2006 - 11:38
#15
Posté 24 juillet 2006 - 12:02
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
Posté 24 juillet 2006 - 02:48

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

Cela dit, ca peut simplifier la vie pour aller en ligne droite...

#17
Posté 28 juillet 2006 - 07:00
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
Posté 29 juillet 2006 - 04:46
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
Posté 08 août 2006 - 05:06
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.

#20
Posté 08 août 2006 - 05:42

- 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 !

1 utilisateur(s) li(sen)t ce sujet
0 members, 1 guests, 0 anonymous users