Table des matières:
- Étape 1: Emplacement du didacticiel modifié
- Étape 2: Construisez le robot à entraînement différentiel SnappyXO
- Étape 3: Connectez l'électronique
- Étape 4: Installez la bibliothèque Arduino PreciseMovement
- Étape 5: Coder
- Étape 6: Comment ça marche
Vidéo: Robot de déplacement précis SnappyXO : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Faites en sorte que votre robot Arduino aille droit sur une distance spécifiée ou tournez à un angle spécifié à l'aide de la bibliothèque Arduino PreciseMovement.
Le robot a besoin d'une roulette à billes ou d'un équivalent pour minimiser la friction lors de la torsion.
www.pololu.com/product/954
Vous pouvez dire au robot d'avancer jusqu'à une distance spécifiée ou de se tordre à un angle spécifié. Le programme détermine sa position à l'estime. Étant donné que les estimations de position reposent uniquement sur la vitesse de la roue, le glissement induira une erreur considérable. Le concepteur du robot doit veiller à minimiser le risque de glissement.
Cela a été testé pour fonctionner avec le robot SnappyXO.
Étape 1: Emplacement du didacticiel modifié
Le tutoriel a été déplacé vers la page ci-dessous. Ce tutoriel n'est plus maintenu.
sites.google.com/stonybrook.edu/premo
Étape 2: Construisez le robot à entraînement différentiel SnappyXO
La bibliothèque PreciseMovement que nous utiliserons n'est compatible qu'avec les robots à entraînement différentiel. Vous pouvez choisir d'utiliser d'autres robots 2 roues motrices.
Étape 3: Connectez l'électronique
Pour l'encodeur optique SnappyXO standard:
D0 (sortie codeur) -> broche numérique Arduino
VCC -> Arduino 5V
GND -> GND
Puissance moteur et Arduino:
La source d'alimentation du moteur doit être adéquate pour les moteurs que vous utilisez. Pour le kit SnappyXO, des piles 4AA sont utilisées pour l'alimentation du moteur et une pile 9V pour l'alimentation Arduino. Assurez-vous qu'ils ont tous un GND commun.
Étape 4: Installez la bibliothèque Arduino PreciseMovement
Télécharger:
github.com/jaean123/PreciseMovement-library/releases
Comment installer la bibliothèque Arduino:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
Étape 5: Coder
Code Arduino:
create.arduino.cc/editor/whileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
Ces paramètres nécessitent un ajustement. D'autres paramètres étiquetés recommandés sur le code peuvent être ajustés pour de meilleures performances.
- Vérifiez et réglez les broches du moteur sous ARDUINO PINS.
-
Réglez la LONGUEUR et le RAYON.
- LONGUEUR est la distance entre la roue gauche et la roue droite.
- RADIUS est le rayon de la roue.
-
Définissez PULSES_PER_REV, qui est le nombre d'impulsions émises par le codeur pour un tour de roue.
- Notez que cela est différent du nombre d'impulsions émises par le codeur pour un tour d'arbre moteur, à moins que les codeurs ne soient connectés pour lire directement à partir de l'arbre de roue.
- PULSES_PER_REV = (impulsions par tour d'arbre moteur) x (rapport de démultiplication)
-
Réglez STOP_LENGTH si vous voyez que le robot dépasse après le mouvement vers l'avant.
Le robot s'arrêtera une fois que la position estimée sera STOP_LENGTH loin de la cible. Ainsi, le STOP_LENGTH est la distance approximative requise pour que le robot s'arrête
-
Paramètres PID
KP_FW: C'est la composante proportionnelle du mouvement vers l'avant. Augmentez cette valeur jusqu'à ce que le robot aille tout droit. Si vous ne pouvez pas le faire fonctionner directement en réglant cela, le matériel est probablement en cause. (par exemple, désalignement des roues, etc.)
KP_TW: Il s'agit de la composante proportionnelle du PID du mouvement de torsion. Commencez simplement à partir d'une valeur faible et augmentez-la jusqu'à ce que la vitesse de torsion, ou la vitesse angulaire du robot pendant la torsion, soit suffisamment rapide, mais ne provoque pas de dépassement. Pour faire des observations, vous pouvez faire alterner le robot de 0 à 90 et inversement en insérant ce qui suit dans la fonction de boucle
Placez ceci en boucle pour régler KP_FW:
mover.forward(99999);
Placez ceci en boucle pour alterner de 0 à 90 pour régler KP_TW:
mover.twist(90); // Twist 90 CW
retard (2000);
mover.twist(-90) // Twist 90 CCW
retard (2000);
Notez que pour tordre réellement la vitesse angulaire à TARGET_TWIST_OMEGA, le KI_TW doit également être réglé car un contrôleur proportionnel ne s'installera jamais sur la cible exacte. Cependant, il n'est pas nécessaire de tordre à cette vitesse angulaire exactement. La vitesse angulaire doit juste être suffisamment lente.
Étape 6: Comment ça marche
Si vous êtes curieux de savoir comment cela fonctionne, lisez la suite.
Le mouvement vers l'avant est maintenu droit en utilisant l'algorithme de poursuite pure sur un chemin en ligne droite. Plus sur Pure Pursuit:
Le contrôleur PID de torsion essaie de maintenir la vitesse angulaire de torsion à TARGET_TWIST_OMEGA. Notez que cette vitesse angulaire est la vitesse angulaire de l'ensemble du robot et non des roues. Un seul contrôleur PID est utilisé et la sortie est la vitesse d'écriture PWM des moteurs gauche et droit. L'estime est effectuée pour calculer l'angle. Une fois que l'angle atteint le seuil d'erreur, le robot s'arrête.
Conseillé:
Voltmètre Arduino précis et précis (0-90V DC): 3 étapes
Voltmètre Arduino précis et précis (0-90V DC) : Dans cette instructable, j'ai construit un voltmètre pour mesurer les hautes tensions DC (0-90v) avec une précision et une précision relatives à l'aide d'un Arduino Nano. Les mesures de test que j'ai prises étaient suffisamment précises, principalement à moins de 0,3 V de la tension réelle mesurée avec un
Réacteur à arc de fin de partie imprimé en 3D (film précis et portable) : 7 étapes (avec photos)
Réacteur à arc de fin de partie imprimé en 3D (film précis et portable) : Tutoriel complet sur Youtube : je n'ai trouvé aucun fichier 3D particulièrement précis pour le réacteur/boîtier à arc Mark 50 pour les nanoparticules, alors mon ami et moi en avons préparé de doux. Il a fallu une tonne de peaufinage pour que la chose soit précise et impressionnante
Comment faire un arc de déplacement simple à haute tension (ÉCHELLE DE JACOB) avec ZVS Flyback Trafo: 3 étapes
Comment faire un arc de déplacement simple à haute tension (ÉCHELLE DE JACOB) avec ZVS Flyback Trafo: Une échelle de Jacob est un merveilleux affichage exotique d'arcs électriques blancs, jaunes, bleus ou violets
Robot de déplacement automatique simple utilisant Arduino et L293d IC: 6 étapes
Robot de déplacement automatique simple utilisant Arduino et L293d IC: Il s'agit d'un robot de base exploité par un arduino et ce qu'il fait, c'est qu'il se déplace et suit un chemin circulaire par code par défaut, mais vous pouvez modifier le code pour changer le chemin facilement. C'est un projet simple que tout le monde peut construire..Donc, si vous Ev
Sac à dos de voyage solaire. Pour recharger en déplacement : 5 étapes (avec photos)
Sac à dos de voyage solaire..Pour recharger en déplacement : la recharge en déplacement ne sera jamais aussi facile.Continuez à marcher et la centrale solaire rechargera votre batterie pendant que vous marchez au soleil.Ceci est utile pour les voyageurs dans le désert.Une urgence l'alimentation de secours peut aider à sauver une vie ! Les sacs intelligents sont l'avenir