Aller au contenu


Photo
- - - - -

Robot Ursa le Self Balancing qui tombe

balancing equilibre

10 réponses à ce sujet

#1 Darkbhaal

Darkbhaal

    Nouveau membre

  • Membres
  • 5 messages
  • Gender:Male
  • Location:Versailles

Posté 21 janvier 2018 - 01:07

Bonjour 

Je me permets de vous présenter mon robot de type "Self Balancing" nommé ‘’URSA ‘’.

 

J'utilise:

Serveur : Raspberry PI 2 

Contrôleur : Arduino UNO

Moteur : 2 x Nema 17 moteur pas à pas

Driver Nema 17 : A4988

Centrale inertielle : MPU 6050

Batterie : LIPO 3S 3000maH

Batterie 5V : Batterie chargeur portable 12000mah (j’avais ça sous la main)

Châssis : Medium + tige fileté

 

Pour la partie Serveur je suis partie sur node.js (merci le tuto de Ash et en général les tutos de Locoduino) et une interface de commande et télémétrie via une page html. Le robot est donc pilotable depuis un pc ou un smartphone.

 

Pour l'instant j'en suis au balbutiement du Balancing. En effet il tient debout en position statique mais pas mal de boulot sur le réglage.

Petite vidéo pour le Balancing a l’arrêt:

 

Une autre ou il se déplace mais fini par tomber : 

 

Voila il faut que je finisse les réglages des PID.

 

Après cela je compte:

- alléger le robot qui pèse quand même 2kg, dans un premier temps diminuer le diamètre des roue car je manque de couple

- rajouter un pan tilt et faire un combo "camera pi - HC 04" mais je suis limité sur la UNO au niveau des TIMERS(si quelqu'un sait si on peut modifier le Timer 0 et continuer à gérer le temps car j'ai renoncer à modifier ce Timer? J'utilise Timer1 et Timer2 pour le pilotage des moteurs) donc à voir si je pilote les Servo avec le Raspberry PI  via python ou via une Arduino Nano que j'ai de disponible.

- se pencher sur Open Cv pour traiter la vidéo, faire de la reconnaissance d'objet, d'obstacle. J'ai déjà un serveur uv4l sur le Raspberry avec un simple retour video

- essayer de faire un lidar du pauvre

- faire toute la partie autonomie du robot

 

Voila après j'ai encore beaucoup idées mais ça fait déjà beaucoup et faut se limiter car on s’éparpille très très vite.

 

N’hésitez pas à poser des questions sur le robot ainsi qu'à me conseiller, car j'ai fait des choix après pas mal de lecture mais je n'ai que de très faible connaissance en programmation.


Modifié par Mike118, 07 janvier 2019 - 03:15 .
Inclusion des vidéo :)


#2 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 327 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 21 janvier 2018 - 01:20

N'hésite pas à mettre des photo / des schémas =) 
Tu as ce tuto qui explique comment ajouter du contenu sur les sujets du forum 


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 ! 

 

Les réalisations de Mike118  

 

 

 


#3 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 4 721 messages
  • Gender:Male

Posté 21 janvier 2018 - 08:40

C'est déjà très bien !
J'aime beaucoup l'efficacité de la construction.

#4 Path

Path

    Made By Humans

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

Posté 21 janvier 2018 - 10:49

J'adore ce type de robot !!! 😁 Félicitations !!
J'ai pas compris ce qui te gène avec les timers.

Podcast Made By Humans

Je cherche des volontaires de tous niveaux pour nos petites conversations entre hobbyistes.

Accès aux salles secrètes

 


#5 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 750 messages
  • Gender:Male
  • Interests:Glenn

Posté 21 janvier 2018 - 11:13

Super, bon travail. ^^


signature_01.png -->

 

Mon Tipeee
 


#6 Budet

Budet

    Membre passionné

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

Posté 21 janvier 2018 - 01:21

Je serais super intéressé d'avoir ton programme final (juste pour le balancement, pas la partie serveur).

 

Super boulot, je galère avec le miens depuis quelques mois



#7 Melmet

Melmet

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 161 messages
  • Gender:Male
  • Location:Saint-Sozy (46200)

Posté 21 janvier 2018 - 08:47

Je serais super intéressé d'avoir ton programme final (juste pour le balancement, pas la partie serveur).

 

Super boulot, je galère avec le miens depuis quelques mois

Petit lien :)


Ne demande jamais à un robot de faire ce que tu peux faire toi même. :nono: :laugh1:


#8 Path

Path

    Made By Humans

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

Posté 21 janvier 2018 - 08:57

Il y a des chances que je relance la projet aussi. C'était mon premier projet de robot et c'était un peu hard pour un premier. Aujourd'hui, c'est clair que je partirai sur des steppers comme vous.


Podcast Made By Humans

Je cherche des volontaires de tous niveaux pour nos petites conversations entre hobbyistes.

Accès aux salles secrètes

 


#9 Darkbhaal

Darkbhaal

    Nouveau membre

  • Membres
  • 5 messages
  • Gender:Male
  • Location:Versailles

Posté 22 janvier 2018 - 02:14

Bonsoir,

 

Je serais super intéressé d'avoir ton programme final (juste pour le balancement, pas la partie serveur).

 

Super boulot, je galère avec le miens depuis quelques mois

 

Alors pour le code, en attendant d'avoir quelque chose de vraiment fini que je pourrais publier je t'invite à regarder ces robots qui m'ont fortement servi.

 

Manolo qui s'inspire de Brobot mais avec une arduino UNO et non une Leonardo comme pour Brobot, les code sont disponible sur Github.

 

Le problème principal avec ce type de robot est de bien maitriser la centrale inertiel. N'étant pas capable d'exploiter moi même les registres du MPU 6050 qui permette d'utiliser le MPU pour faire les calculs, j' ai d'abord récupérer les données brut de accéléromètre et du gyroscope et appliquer le filtre complémentaire.

Malheureusement je n'arrivai pas à avoir quelque chose de stable une fois les moteurs en actions.

J'ai provisoirement solutionner mes principaux problème avec le code décrit dans ce lien mais je compte trouver une autre solution.

Attention également sur URSA le Positionnement du MPU 6050 m'a pas mal aidé, je l'ai positionné au niveau de l'axe des moteurs pour gagner en réactivité.

 

Ci dessous un schema de Principe de fonctionnement des 2 PID pour l'auto équilibrage du robot qui je l’espère pourra aider certain à mieux comprendre le fonctionnement.

 

Schema principe PID.jpg

 

 

 

Path à écrit:

J'ai pas compris ce qui te gène avec les timers.

 

 

Bon je galère avec les citations :)

 

Le problème que j'ai rencontré avec les TIMERS et le nombre limiter de 3 TIMERS disponible dans l'arduino UNO.

En effet j'utilise Timer 1 et 2 pour l'envoi des step aux 2 moteurs, j'ai essayer avec le TIMER0 mais je n'ai pas su le modifier et conserver les fonctions millis et ou micros que j'ai besoin pour les PID.

Du coup je me retrouve dans l'incapacité de piloter avec la UNO les 2 servos que j'ai prévu pour le Pan tilt.

Ci dessous le schéma fritzing de URSA

Fichier joint  segway lg v2 Ursa_bb.pdf   2,78 Mo   60 téléchargement(s)

 

Pour la partie communication j'ai choisi node.js et j'ai trouvé un super tuto (en plus de celui de PATH lien) très détaillé pratique pour les débutant en programmation comme moi et en français lien (d'ailleurs je ne veux pas faire de la pub mais ce site à pas mal de tutoriel intéressant sur arduino).

Principe Communication.jpg

 

Cela m'a permis de faire une interface de pilotage en HTML pour URSA. Pour l'instant il manque le retour vidéo de la camera PI en fond. Il y a 2 joysticks virtuels celui de gauche pilote le déplacement et celui de droite pilote le Pan tilt. Je voulais un déplacement et une vision un peu comme dans World of Tank sur mobile si certains connaissent.

J'utilise pour les joysticks virtuels ceci.

Pour les courbes dynamiques j'utilise jquery flot

Interface télémetrie et pilotage Ursa.jpg

 

Ci dessous quelques photos de Ursa.

20180122_001249.jpg

Ursa vu de dos

20180122_001304.jpg

Le raspberry pi et le combo Arduino UNO CNC Shield

20180122_001315.jpg

La lipo bien caler pour éviter les transfert de masse et le module bluetooth pour les tests sans raspberry

20180122_001329.jpg

La batterie 5V pour le raspberry pi

20180122_001424.jpg

Le dessous avec le MPU 6050 et les 2 Nema et les cales pour le maintient à l’arrêt car elles ne l’empêche pas de tomber.

 

Bon j'ai encore beaucoup de problème outre le balancing de URSA.

Le joystick virtuel de droite est décalé de la moitié de l'écran et je n'arrive pas à le centrer les joie de l'html et du css.

La page HTML sature au bout d'un moment et il faut que je la recharge régulièrement surement du au courbes.

Si vous avez des conseils je suis preneur.

 

Voila si vous avez lu jusque la je suis désolé pour l'orthographe et le pavé un peu fouilli. :)

 

A bientôt.



#10 Path

Path

    Made By Humans

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

Posté 22 janvier 2018 - 08:45

Nodejs ^^ j'aime ce truc !!

Sinon, pour les steps, j'ai utilisé une lib arduino que j'ai trouvé sur ce forum : AccelStepper. Cherche les tests de ashira. Il y a peut-être une chance que cela te libére de tes timers.

Sinon, pour piloter tes 2 servos, tu peux aussi ajouter une carte qui les pilote via i2c. Ou bien les piloter depuis le raspberry.

Super ton robot !!

Podcast Made By Humans

Je cherche des volontaires de tous niveaux pour nos petites conversations entre hobbyistes.

Accès aux salles secrètes

 


#11 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 327 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 22 janvier 2018 - 09:07

 

Le problème que j'ai rencontré avec les TIMERS et le nombre limiter de 3 TIMERS disponible dans l'arduino UNO.

En effet j'utilise Timer 1 et 2 pour l'envoi des step aux 2 moteurs, j'ai essayer avec le TIMER0 mais je n'ai pas su le modifier et conserver les fonctions millis et ou micros que j'ai besoin pour les PID.

Du coup je me retrouve dans l'incapacité de piloter avec la UNO les 2 servos que j'ai prévu pour le Pan tilt.

 

Si tu ne veux pas changer de cerveau pour ton robot et quand même piloter ta tourelle tu peux utiliser ce driver pour servo   =)

Bonne continuation pour la suite ! =) 

 

EDIT : devancé par Path ! =)


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 ! 

 

Les réalisations de Mike118  

 

 

 




Répondre à ce sujet



  



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

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

0 members, 0 guests, 0 anonymous users