Aller au contenu


Photo
- - - - -

BurnBot - Self Balancing Robot

balancing equilibre pas à pas

154 réponses à ce sujet

#61 Budet

Budet

    Membre passionné

  • Membres
  • PipPipPip
  • 366 messages
  • Gender:Male
  • Location:69

Posté 14 octobre 2017 - 03:22

Nickel merci, je vais couper le cable du régulateur, puis souder sur le fil rouge un cable pour arduino (de même pour la masse) et brancher tout ça sur une breadboard.

 

Y'a des risques que ça fasse des arcs quand autant de courant passe dans des si petits fils simplement branché sur une breadboard ?



#62 Mike118

Mike118

    Staff Robot Maker

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

Posté 14 octobre 2017 - 04:07

Des arcs ? Autant de courant ? Dans une breadboard ? 

=> Schémas !!! 

Je ne veux pas te faire faire des bêtises ! ça serait dommage de brûler le burnbot avant qu'il ne fasse ses premiers burn sur ses jolies roues ! :P


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  

 

 

 


#63 Budet

Budet

    Membre passionné

  • Membres
  • PipPipPip
  • 366 messages
  • Gender:Male
  • Location:69

Posté 14 octobre 2017 - 04:28

J'avais déjà poster un schema avec quelques explications (je le remet ici) :)

J'ai tellement hate de le voir stable !!

Image(s) jointe(s)

  • IMG_4738.PNG


#64 Amhnemus

Amhnemus

    Membre passionné

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

Posté 14 octobre 2017 - 05:41

Pour moi ton schéma est valide reste à confirmer après pour la gauge des fils avec de la gauge 24 ou 20 ça pourrait aller tu peux consulter des tableaux sur le net avec les différentes section de câble à utiliser pour telle ou telle tension pour être plus sur mais si tout t'es contact sont bien isolé y'a pas de risque d'avoir des arcs électriques. Et si ça sent le chaud et bien tu arrêtes tout ;)
1ère place Robot Warrior 2019 humanoïdes autonome

#65 Amhnemus

Amhnemus

    Membre passionné

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

Posté 14 octobre 2017 - 05:43

Sur ton schéma t'a peut être deux masses en trop ou mal positionné qui vont de ta breadboard à tes drivers moteurs
1ère place Robot Warrior 2019 humanoïdes autonome

#66 Path

Path

    Made By Humans

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

Posté 14 octobre 2017 - 05:49

Auto erratum :) J'ai le même driver. Je viens de tester la tension qui sort du driver, avec le moteur en fonctionnement : à peine 1V

Ok, il faut laisser le driver gérer ;)



#67 Budet

Budet

    Membre passionné

  • Membres
  • PipPipPip
  • 366 messages
  • Gender:Male
  • Location:69

Posté 14 octobre 2017 - 06:19

Ça marche, je vous remercie tous pour vos réponses ! Ça m'aide beaucoup :)

Je vais essayer de travailler tout ça demain !

#68 Amhnemus

Amhnemus

    Membre passionné

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

Posté 14 octobre 2017 - 06:25

Pourquoi attendre demain alors que tu as toute la nuit lol, repose ton cerveau on y voit toujours plus clair après une nuit de sommeil ;)
1ère place Robot Warrior 2019 humanoïdes autonome

#69 Budet

Budet

    Membre passionné

  • Membres
  • PipPipPip
  • 366 messages
  • Gender:Male
  • Location:69

Posté 01 février 2018 - 01:23

Bonjour à tous !

 

Ca fait un peu de temps, j'ai beaucoup été pris dernièrement (avec la validation de mon diplôme notamment), j'ai eu un peu de temps libre récemment et j'ai donc avancé sur ce petit robot.

 

Le constat : BurnBot est très complexe d'un point de vu Hardware, je galère rien qu'à l'alimenter en électricité convenablement. Et puis le code avec des pas à pas c'est complexe pour moi j'ai donc décidé de baissé un peu la difficulté. En effet, à chaque fois que quelque chose ne va pas je ne sais pas si c'est mes cablages qui sont pas bon, ma batterie qui est morte ou mon programme qui est pourris, c'est donc compliqué de résoudre les bugs quand ils viennent de plusieurs endroits en même temps.

 

J'ai donc conçu BleuBot, le petit frère de BurnBot, qui fonctionne avec deux servos en rotation continus, une arduino nano, un MPU 6050 et une petite électronique homemade. Il fait 7 cm de longueur pour 10 cm de hauteur et 3 cm de largeur. Vous remarquerez que j'ai aussi utilisé ma macro de maillage pour lui donné un design plus sympa :)

 

En deux journées de travail j'arrive à un résultat déjà bien plus avancé qu'avec BurnBot, la mécanique est finis, l'électronique fonctionne et mon premier petit programme arrive à le stabiliser pendant plusieurs secondes.

 

Je vais travailler maintenant sur un algo de stabilisation avec PID en espérant que ça marche !

 

IMG_5046.JPG

 

IMG_5047.JPG

 

vidéo youtube : https://youtu.be/x3tCRODo0Os


  • Oracid , Melmet , Mike118 et 2 autres aiment ceci

#70 Budet

Budet

    Membre passionné

  • Membres
  • PipPipPip
  • 366 messages
  • Gender:Male
  • Location:69

Posté 02 février 2018 - 03:34

Bonjour,

 

Avant de me lancer dans l'élaboration d'un PID j'ai voulu étudier plus en détail les différentes valeurs de ma centrale inertielle. L'idée est de savoir quelle variables je vais devoir utiliser pour mon PID, je rappelle que l'axe X correspond à la rotation de mon robot et que l'axe Z est dirigé de vers l'avant du robot.

 

J'ai réalisé un premier essai ou je faisais osciller le robot autour de l'axe X :

 

Capture.PNG

 

On remarque premièrement que toutes les courbes ont grosso modo un comportement périodique. Au départ je voulais travailler avec la rotation par rapport à X et les accélération par rapport à Z et X. Pour que les résultats soient plus lisible j'ai décidé de lisser les courbes en raccourcissant l'échelle, ce qui donne la courbe suivante :

 

oscillation périodique avec forte accélération angulaire.PNG

 

On remarque que l'accélération en X et la rotation autour de X sont déphasées d'une valeur de PI. Je peux donc me passer de l'accélération en X car elle fournis grosso-modo la même information.

 

J'ai ensuite fait un essai avec des accélération angulaire plus importante et en ne gardant que l'accélération en Z et la rotation en X ce qui me donne :

 

Oscillation périodique avec forte accélération.PNG

 

Je trouve que le corrélation entre les deux valeurs est nette, lorsque le robot accélère vers l'avant, l'angle augmente, lorsque qu'il accélère vers l'arrière, il tombe, l'angle diminue.

 

J'ai donc une petite question à vous poser, dois-je partir sur un asservissement avec ces deux valeurs ? Ou bien juste la rotation en X suffis ? Car au final les deux courbes sont aussi déphasée... Ne vais-je pas me compliquer la vie à manipuler deux valeurs qu'elles disent encore une fois la même chose ?

 

Parce que je pense qu'il est important d'avoir une infos sur l'accélération, plus le robot va tombé vite, plus l’accélération va être forte et donc plus les moteurs devront envoyés pour compenser. mais je peux quand même connaitre cette accélération avec la variation angulaire (plus elle est rapide, plus on accélère)

 

J'ai raison ou mon raisonnement est à mettre à la poubelle ?


  • Melmet aime ceci

#71 Budet

Budet

    Membre passionné

  • Membres
  • PipPipPip
  • 366 messages
  • Gender:Male
  • Location:69

Posté 02 février 2018 - 04:54

Rapide Update,

 

J'ai essayé avec un semblant de PID (en utilisant que le correcteur proportionnel) et les résultats sont pas mal ! 

 

Il arrive à se maintenir à l'équilibre assez longtemps (bien que le cable USB doit l'aider) et fais relativement du sur place !

 

Y'a encore beaucoup de travail mais y'a moyen d'aboutir à quelque chose :)


  • Melmet , Path et Oliver17 aiment ceci

#72 Mike118

Mike118

    Staff Robot Maker

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

Posté 03 février 2018 - 12:09

Bonjour,

 

Avant de me lancer dans l'élaboration d'un PID j'ai voulu étudier plus en détail les différentes valeurs de ma centrale inertielle. L'idée est de savoir quelle variables je vais devoir utiliser pour mon PID, je rappelle que l'axe X correspond à la rotation de mon robot et que l'axe Z est dirigé de vers l'avant du robot.

 

J'ai réalisé un premier essai ou je faisais osciller le robot autour de l'axe X :

 

attachicon.gifCapture.PNG

 

On remarque premièrement que toutes les courbes ont grosso modo un comportement périodique. Au départ je voulais travailler avec la rotation par rapport à X et les accélération par rapport à Z et X. Pour que les résultats soient plus lisible j'ai décidé de lisser les courbes en raccourcissant l'échelle, ce qui donne la courbe suivante :

 

attachicon.gifoscillation périodique avec forte accélération angulaire.PNG

 

On remarque que l'accélération en X et la rotation autour de X sont déphasées d'une valeur de PI. Je peux donc me passer de l'accélération en X car elle fournis grosso-modo la même information.

 

J'ai ensuite fait un essai avec des accélération angulaire plus importante et en ne gardant que l'accélération en Z et la rotation en X ce qui me donne :

 

attachicon.gifOscillation périodique avec forte accélération.PNG

 

Je trouve que le corrélation entre les deux valeurs est nette, lorsque le robot accélère vers l'avant, l'angle augmente, lorsque qu'il accélère vers l'arrière, il tombe, l'angle diminue.

 

J'ai donc une petite question à vous poser, dois-je partir sur un asservissement avec ces deux valeurs ? Ou bien juste la rotation en X suffis ? Car au final les deux courbes sont aussi déphasée... Ne vais-je pas me compliquer la vie à manipuler deux valeurs qu'elles disent encore une fois la même chose ?

 

Parce que je pense qu'il est important d'avoir une infos sur l'accélération, plus le robot va tombé vite, plus l’accélération va être forte et donc plus les moteurs devront envoyés pour compenser. mais je peux quand même connaitre cette accélération avec la variation angulaire (plus elle est rapide, plus on accélère)

 

J'ai raison ou mon raisonnement est à mettre à la poubelle ?

 

en fait normalement tu dois asservir l'accélération du robot en fonction de l'angle mesuré ... 

Je crois que je n'ai pas compris ce que tu cherchais à faire ou à dire ...


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  

 

 

 


#73 Budet

Budet

    Membre passionné

  • Membres
  • PipPipPip
  • 366 messages
  • Gender:Male
  • Location:69

Posté 03 février 2018 - 10:05

Ce que jessaye de dire cest quà mon sens la position angulaire ne suffit pas. Il faut avoir une indication sur laccélération aussi.

Petit exemple : imaginons quà un instant t le robot soit à 30deg de la normale. Si on ne connais que cette information le robot va adapter la vitesse des moteur en fonction de cette angle.

Sauf quon ne sait pas quelle accélération est en train de subir le robot, est ce quil etait en chute libre, subissant une accélération mg ou alors est ce quil a reçu une violante claque impliquant une accélération beaucoup plus importante.

Dans les deux cas la réponse des moteurs doit être complètement différente.

Après jai limpre quun PID quavec la position angulaire pourrais suffire parce quil ya une notion temporelle avec les terme integratif et dérivatif, qui pourrait du coup prendre en compte une evolution de linclinaison en fonction du temps et donc son accélération.

Mais tout ca cest seulement ce que jen comprend. Cest super intéressant, jai trop trop hate d´arriver a un résultat acceptable surtout que je pense avoir une super idée dapplication pour ce robot !

#74 Oliver17

Oliver17

    Pilier du forum

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

Posté 03 février 2018 - 10:12

Perso j'ai aussi une idée d'application pour se genre de robot, m'apporter mon whisky sans en renverser une seul goutte :)

Sinon je lui vire ces piles lol


signature_01.png -->

 

Mon Tipeee
 


#75 Mike118

Mike118

    Staff Robot Maker

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

Posté 03 février 2018 - 04:13

Ce que jessaye de dire cest quà mon sens la position angulaire ne suffit pas. Il faut avoir une indication sur laccélération aussi.

Petit exemple : imaginons quà un instant t le robot soit à 30deg de la normale. Si on ne connais que cette information le robot va adapter la vitesse des moteur en fonction de cette angle.

Sauf quon ne sait pas quelle accélération est en train de subir le robot, est ce quil etait en chute libre, subissant une accélération mg ou alors est ce quil a reçu une violante claque impliquant une accélération beaucoup plus importante.

Dans les deux cas la réponse des moteurs doit être complètement différente.

Après jai limpre quun PID quavec la position angulaire pourrais suffire parce quil ya une notion temporelle avec les terme integratif et dérivatif, qui pourrait du coup prendre en compte une evolution de linclinaison en fonction du temps et donc son accélération.

Mais tout ca cest seulement ce que jen comprend. Cest super intéressant, jai trop trop hate d´arriver a un résultat acceptable surtout que je pense avoir une super idée dapplication pour ce robot !

Oui le D ( dérivé ) du PID permet d'agir en fonction de la vitesse angulaire de chute du robot ( dérivé de la position angulaire ) pour ajuster la compensation. 

Il ne faut pas prendre en compte l'accélération du robot car, imaginons que pour un problème quelconque : une pente par exemple , le robot est en train de se casser la figure vers l'avant alors qu'il est en train d'accélérer vers l'avant

Si il se dit " malgré le fait que je sois entrain de me casser la figure vers l'avant je ne vais pas accélérer car je le fais déjà je robot risque de tout simplement pas assez réagir et tomber ... 

 

Par contre tu peux faire une " boucle d'asservissement sur l'accélération " si tu le souhaites. ( Perso je ferais plus une boucle d'asservissement sur la position ... mais bon ...  ) Et tu peux avoir plusieurs asservissements imbriqués. 

 


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  

 

 

 


#76 Budet

Budet

    Membre passionné

  • Membres
  • PipPipPip
  • 366 messages
  • Gender:Male
  • Location:69

Posté 03 février 2018 - 04:25

AH oui cest possible davoir plusieurs PID ? Je me posais la question :)

Quand jarriverais à le faire tenir en équilibre je ferais surement un PID pour la position angulaire autour de Z pour quil ne tourne pas sur lui même naturellement.

#77 Oliver17

Oliver17

    Pilier du forum

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

Posté 03 février 2018 - 04:39

Hum, ta central innertielle ne fait pas boussole ??
Cela pourrait être utile justement pour tenir la position angulaire sur Z, qu'il garde la position, sur la position de la boussole à l'instant t.


signature_01.png -->

 

Mon Tipeee
 


#78 Mike118

Mike118

    Staff Robot Maker

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

Posté 03 février 2018 - 05:53

AH oui cest possible davoir plusieurs PID ? Je me posais la question :)

Quand jarriverais à le faire tenir en équilibre je ferais surement un PID pour la position angulaire autour de Z pour quil ne tourne pas sur lui même naturellement.

 

Il est intéressant aussi de faire un asservissement sur la position du robot pour qu'il reste à sa place ;) 


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  

 

 

 


#79 Budet

Budet

    Membre passionné

  • Membres
  • PipPipPip
  • 366 messages
  • Gender:Male
  • Location:69

Posté 04 février 2018 - 10:52

Bon... Je débarque surement d´une autre planète, vous allez tous me dire que vous le saviez déjà mais ya des bibliothèques arduino toutes faites pour les PiD !!!!

https://playground.a...Code/PIDLibrary

Jessaye ça demain mais ça à l´air miraculeux !

#80 Oracid

Oracid

    Pilier du forum

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

Posté 05 février 2018 - 07:46

Voici une vidéo qui me parait intéressante, 'https://www.youtube....v=fusr9eTceEo'.
Le gars fournit le code et la CAO de sa réalisation. J'espère que cela pourra t'aider.
  • Oliver17 aime ceci



Répondre à ce sujet



  



Aussi étiqueté avec au moins un de ces mots-clés : balancing, equilibre, pas à pas

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

0 members, 2 guests, 0 anonymous users