Table des matières:

Création d'un robot à équilibrage automatique Arduino contrôlé à distance : B-robot EVO : 8 étapes
Création d'un robot à équilibrage automatique Arduino contrôlé à distance : B-robot EVO : 8 étapes

Vidéo: Création d'un robot à équilibrage automatique Arduino contrôlé à distance : B-robot EVO : 8 étapes

Vidéo: Création d'un robot à équilibrage automatique Arduino contrôlé à distance : B-robot EVO : 8 étapes
Vidéo: Human vs Robot | Artificial Intelligence 2024, Décembre
Anonim
Image
Image
Création d'un robot auto-équilibrant Arduino télécommandé: B-robot EVO
Création d'un robot auto-équilibrant Arduino télécommandé: B-robot EVO
Création d'un robot auto-équilibrant Arduino télécommandé: B-robot EVO
Création d'un robot auto-équilibrant Arduino télécommandé: B-robot EVO

Par jjrobotsjjrobotsFollow More par l'auteur:

Pybot: Python + bras robotique imprimé en 3D
Pybot: Python + bras robotique imprimé en 3D
Pybot: Python + bras robotique imprimé en 3D
Pybot: Python + bras robotique imprimé en 3D
Affichage rotatif motorisé simple (basé sur Arduino + contrôlé depuis votre smartphone)
Affichage rotatif motorisé simple (basé sur Arduino + contrôlé depuis votre smartphone)
Affichage rotatif motorisé simple (basé sur Arduino + contrôlé depuis votre smartphone)
Affichage rotatif motorisé simple (basé sur Arduino + contrôlé depuis votre smartphone)
Pince à bras robotique
Pince à bras robotique
Pince à bras robotique
Pince à bras robotique

À propos: Nous aimons les robots, le bricolage et la science amusante. JJROBOTS vise à rapprocher les projets robotiques ouverts des gens en fournissant du matériel, une bonne documentation, des instructions de construction + du code, des informations sur le "comment ça marche" … Plus d'informations sur jjrobots »

------------------------------------------------

MISE À JOUR: il y a une nouvelle version améliorée de ce robot ici: Le B-robot EVO, avec de nouvelles fonctionnalités

------------------------------------------------

Comment ça marche?

B-ROBOT EVO est un robot arduino auto-équilibré télécommandé créé avec des pièces imprimées en 3D. Avec seulement deux roues, B-ROBOT est capable de maintenir son équilibre à tout moment en utilisant ses capteurs internes et en entraînant les moteurs. Vous pouvez contrôler votre Robot, le faire bouger ou tourner, en envoyant des commandes via un Smartphone, une Tablette ou un PC pendant qu'il maintient son équilibre.

Ce robot auto-équilibré lit ses capteurs inertiels (accéléromètres et gyroscopes intégrés sur la puce MPU6000) 200 fois par seconde. Il calcule son attitude (angle par rapport à l'horizon) et compare cet angle avec l'angle cible (0° s'il veut garder l'équilibre sans bouger, ou un angle positif ou négatif s'il veut avancer ou reculer). En utilisant la différence entre l'angle cible (disons 0º) et l'angle réel (disons 3º), il pilote un système de contrôle pour envoyer les bonnes commandes aux moteurs pour maintenir son équilibre. Les commandes aux moteurs sont des accélérations. Par exemple si le robot est incliné vers l'avant (l'angle du robot est de 3º) alors il envoie une commande aux moteurs d'accélérer vers l'avant jusqu'à ce que cet angle soit réduit à zéro pour préserver l'équilibre.

Étape 1: Un peu plus en profondeur…

Un peu plus en profondeur…
Un peu plus en profondeur…
Un peu plus en profondeur…
Un peu plus en profondeur…
Un peu plus en profondeur…
Un peu plus en profondeur…

Le problème physique que B-ROBOT résout s'appelle le pendule inversé. C'est le même mécanisme dont vous avez besoin pour équilibrer un parapluie au-dessus de votre main. Le point de pivot est sous le centre de masse de l'objet. Plus d'informations sur le pendule inversé ici. La solution mathématique au problème n'est pas facile mais nous n'avons pas besoin de la comprendre pour résoudre le problème d'équilibre de notre robot. Ce que nous devons savoir, c'est comment restaurer l'équilibre du robot afin de pouvoir implémenter un algorithme de contrôle pour résoudre le problème.

Un système de contrôle est très utile en robotique (une automatisation industrielle). Fondamentalement, c'est un code qui reçoit des informations des capteurs et des commandes cibles en tant qu'entrées et crée, en conséquence, des signaux de sortie pour piloter les actionneurs du robot (les moteurs dans notre exemple) afin de réguler le système. Nous utilisons un contrôleur PID (Proportionnel + Dérivé + Intégral). Ce type de contrôle a 3 constantes pour ajuster kP, kD, kI. De Wikipedia: « Un contrôleur PID calcule une valeur d'"erreur" comme la différence entre une [entrée] mesurée et un point de consigne souhaité. Le contrôleur tente de minimiser l'erreur en ajustant [une sortie]. Ainsi, vous dites au PID ce qu'il faut mesurer (l'« Entrée »), où vous voulez que cette mesure soit (le « Consigne »,) et la variable que vous souhaitez ajuster pour que cela se produise (la « Sortie ».)

Le PID ajuste ensuite la sortie en essayant de rendre l'entrée égale au point de consigne. Pour référence, un réservoir d'eau que nous voulons remplir jusqu'à un niveau, l'entrée, le point de consigne et la sortie seraient le niveau en fonction du capteur de niveau d'eau, du niveau d'eau souhaité et de l'eau pompée dans le réservoir. kP est la partie proportionnelle et est la partie principale du contrôle, cette partie est proportionnelle à l'erreur. kD est la partie dérivée et est appliquée à la dérivée de l'erreur. Cette partie dépend de la dynamique du système (dépend du robot, du poids des moteurs, des inerties…). Le dernier, kI est appliqué à l'intégrale de l'erreur et est utilisé pour réduire les erreurs constantes, c'est comme une garniture sur la sortie finale (pensez aux boutons de garniture sur un volant de voiture RC pour rendre la voiture totalement droite, kI supprime le décalage entre la cible souhaitée et la valeur réelle).

Sur B-ROBOT, la commande de direction de l'utilisateur est ajoutée à la sortie des moteurs (un moteur avec un signe positif et l'autre avec un signe négatif). Par exemple si l'utilisateur envoie la commande de direction 6 pour tourner vers la droite (de -10 à 10) il faut ajouter 6 à la valeur du moteur gauche et soustraire 6 au moteur droit. Si le robot ne se déplace pas vers l'avant ou vers l'arrière, le résultat de la commande de direction est une rotation du robot

Étape 2: qu'en est-il de la télécommande ?

"loading=" paresseux"

Conseillé: