Taula de continguts:
- Pas 1: s'ha canviat la ubicació del tutorial
- Pas 2: creeu el robot de transmissió diferencial SnappyXO
- Pas 3: connecteu l'electrònica
- Pas 4: instal·leu la biblioteca Arduino de PreciseMovement
- Pas 5: Codi
- Pas 6: Com funciona
Vídeo: Robot SnappyXO Precise Mover: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Feu que el vostre robot Arduino vagi recte durant una distància especificada o gireu-lo fins a un angle especificat mitjançant la biblioteca PreciseMovement Arduino.
El robot necessita una bola rodant o equivalent per minimitzar la fricció mentre es torça.
www.pololu.com/product/954
Podeu dir al robot que avanci fins a una distància especificada o que giri fins a un angle especificat. El programa determina la seva posició utilitzant el calcul mort. Atès que les estimacions de posició només es basen en la velocitat de la roda, el lliscament induirà un error considerable. El dissenyador del robot ha de tenir cura de minimitzar el risc de lliscament.
S'ha provat que funciona amb el robot SnappyXO.
Pas 1: s'ha canviat la ubicació del tutorial
El tutorial s'ha mogut a la pàgina següent. Aquest tutorial ja no es manté.
sites.google.com/stonybrook.edu/premo
Pas 2: creeu el robot de transmissió diferencial SnappyXO
La biblioteca PreciseMovement que utilitzarem només és compatible amb robots de disc diferencial. Podeu optar per utilitzar altres robots de 2 rodes motrius.
Pas 3: connecteu l'electrònica
Per al codificador òptic SnappyXO estàndard:
D0 (sortida del codificador) -> Pin digital Arduino
VCC -> Arduino 5V
GND -> GND
Potència del motor i Arduino:
La font d'energia del motor ha de ser adequada per als motors que utilitzeu. Per al kit SnappyXO, s’utilitzen bateries 4AA per a la potència del motor i bateria de 9V per a la potència Arduino. Assegureu-vos que tots tinguin un GND comú.
Pas 4: instal·leu la biblioteca Arduino de PreciseMovement
Descarregar:
github.com/jaean123/PreciseMovement-library/releases
Com instal·lar la biblioteca Arduino:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
Pas 5: Codi
Codi Arduino:
create.arduino.cc/editor/whileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
Aquests paràmetres requereixen ajust. Es poden ajustar altres paràmetres etiquetats recomanats al codi per obtenir un millor rendiment.
- Comproveu i configureu els passadors del motor a PINS ARDUINO.
-
Estableix LLARG i RADI.
- LONGITUD és la distància de la roda esquerra a la roda dreta.
- RADIUS és el radi de la roda.
-
Estableix PULSES_PER_REV, que és el nombre de pulsacions que el codificador genera per a una volta de roda.
- Tingueu en compte que això és diferent del nombre d’impulsos que produeix el codificador per a una volta de l’eix del motor tret que els codificadors estiguin connectats per llegir-los directament des de l’eix de la roda.
- PULSES_PER_REV = (polsos per cada volta de l'eix del motor) x (relació d'engranatges)
-
Establiu STOP_LENGTH si veieu que el robot està superant després del moviment cap endavant.
El robot s’aturarà un cop la posició estimada estigui a STOP_LENGTH de l’objectiu. Així, STOP_LENGTH és la distància aproximada necessària perquè el robot s’aturi
-
Paràmetres PID
KP_FW: Aquest és el component proporcional del moviment cap endavant. Augmenteu-ho fins que el robot vagi recte. Si no podeu aconseguir que funcioni directament sintonitzant això, és probable que el maquinari sigui culpable. (per exemple, desalineació de rodes, etc.)
KP_TW: Aquest és el component proporcional del moviment de gir PID. Només cal que comenceu des d’un valor baix i que augmenteu fins que la velocitat de gir, o la velocitat angular del robot mentre torceu, sigui prou ràpida, però no causi excessius trets. Per fer observacions, podeu fer alternar el robot de 0 a 90 i tornar, inserint el següent a la funció de bucle
Col·loqueu-lo en bucle per sintonitzar KP_FW:
mover.forward (99999);
Col·loqueu-lo en bucle per alternar de 0 a 90 per sintonitzar KP_TW:
mover.twist (90); // Twist 90 CW
endarreriment (2000);
mover.twist (-90) // Twist 90 CCW
endarreriment (2000);
Tingueu en compte que per tal de girar la velocitat angular a TARGET_TWIST_OMEGA, el KI_TW també ha de ser sintonitzat, ja que un controlador proporcional mai no s’assentarà a l’objectiu exacte. No obstant això, no cal girar a aquesta velocitat exactament angular. La velocitat angular només ha de ser prou lenta.
Pas 6: Com funciona
Si teniu curiositat per saber com funciona, seguiu llegint.
El moviment cap endavant es manté recte mitjançant l'algorisme de cerca pura en un camí de línia recta. Més informació sobre Pure Pursuit:
El controlador PID de gir intenta mantenir la velocitat angular de gir a TARGET_TWIST_OMEGA. Tingueu en compte que aquesta velocitat angular és la velocitat angular de tot el robot, no les rodes. Només s’utilitza un controlador PID i la sortida és la velocitat d’escriptura PWM dels motors esquerre i dret. El càlcul mort es fa per calcular l'angle. Un cop l’angle arriba al llindar d’error, el robot s’atura.
Recomanat:
Arduino - Robot de solució de laberint (MicroMouse) Robot de seguiment de paret: 6 passos (amb imatges)
Arduino | Maze Solving Robot (MicroMouse) Wall Following Robot: Benvingut sóc Isaac i aquest és el meu primer robot "Striker v1.0". Aquest robot va ser dissenyat per resoldre un simple laberint. A la competició vam tenir dos laberints i el robot els va poder identificar. Qualsevol altre canvi al laberint pot requerir un canvi en el
Com construir el robot SMARS - Arduino Smart Robot Tank Bluetooth: 16 passos (amb imatges)
Com construir el robot SMARS: Arduino Smart Robot Tank Bluetooth: aquest article compta amb el patrocini orgullós de PCBWAY.PCBWAY fabrica PCB de prototipatge d’alta qualitat per a persones de tot el món. Proveu-ho per vosaltres mateixos i obteniu 10 PCB per només 5 dòlars a PCBWAY amb una qualitat molt bona, gràcies PCBWAY. La protecció del motor per a Arduino Uno
Com fer un robot basat en Arduino per evitar el robot: 4 passos
Com fer un robot basat en Arduino per evitar el robot: fem un robot totalment autònom amb sensors Arduino i IR. Explora la superfície de la taula sense caure. Mireu el vídeo per obtenir més informació
Robot d'equilibri / robot de 3 rodes / robot STEM: 8 passos
Robot d'equilibri / robot de 3 rodes / robot STEM: hem construït un robot d'equilibri combinat i de 3 rodes per a ús educatiu a les escoles i programes educatius extraescolars. El robot es basa en un Arduino Uno, un blindatge personalitzat (es proporcionen tots els detalls de la construcció), un paquet de bateries Li Ion (tot constr
[Arduino Robot] Com fer un robot de captura de moviment - Thumbs Robot - Servomotor - Codi font: 26 passos (amb imatges)
[Robot Arduino] Com fer un robot de captura de moviment | Thumbs Robot | Servomotor | Codi font: Thumbs Robot. S'ha utilitzat un potenciòmetre de servomotor MG90S. És molt divertit i fàcil! El codi és molt senzill. Només ronda les 30 línies. Sembla una captura de moviment. Deixeu qualsevol pregunta o comentari. [Instruccions] Codi font https: //github.c