Inhoudsopgave:
- Stap 1: Leslocatie gewijzigd
- Stap 2: Bouw de SnappyXO differentiële aandrijfrobot
- Stap 3: Sluit de elektronica aan
- Stap 4: Installeer de PreciseMovement Arduino-bibliotheek
- Stap 5: Coderen
- Stap 6: Hoe het werkt
Video: SnappyXO Precieze Mover Robot - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Laat uw Arduino-robot rechtdoor gaan voor een bepaalde afstand of draai naar een bepaalde hoek met behulp van de PreciseMovement Arduino-bibliotheek.
De robot heeft een rollende kogelgieter of gelijkwaardig nodig om wrijving tijdens het draaien te minimaliseren.
www.pololu.com/product/954
U kunt de robot vertellen om vooruit te gaan naar een bepaalde afstand of om te draaien naar een bepaalde hoek. Het programma bepaalt zijn positie met behulp van gegist bestek. Aangezien de positieschattingen alleen afhankelijk zijn van de wielsnelheid, zal slippen aanzienlijke fouten veroorzaken. De ontwerper van de robot moet ervoor zorgen dat het risico op wegglijden tot een minimum wordt beperkt.
Dit is getest om te werken met de SnappyXO-robot.
Stap 1: Leslocatie gewijzigd
De tutorial is verplaatst naar de onderstaande pagina. Deze tutorial wordt niet meer onderhouden.
sites.google.com/stonybrook.edu/premo
Stap 2: Bouw de SnappyXO differentiële aandrijfrobot
De PreciseMovement-bibliotheek die we zullen gebruiken, is alleen compatibel met differentiële aandrijfrobots. U kunt ervoor kiezen om andere 2 wiel aangedreven robots te gebruiken.
Stap 3: Sluit de elektronica aan
Voor de standaard SnappyXO optische encoder:
D0 (encoderuitgang) -> Arduino digitale pin
VCC -> Arduino 5V
GND -> GND
Motor- en Arduino-vermogen:
De motorstroombron moet geschikt zijn voor de motoren die u gebruikt. Voor de SnappyXO-kit worden 4AA-batterijen gebruikt voor de motorvoeding en 9V-batterij voor de Arduino-voeding. Zorg ervoor dat ze allemaal een gemeenschappelijke GND hebben.
Stap 4: Installeer de PreciseMovement Arduino-bibliotheek
downloaden:
github.com/jaean123/PreciseMovement-library/releases
Hoe Arduino-bibliotheek te installeren:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
Stap 5: Coderen
Arduino-code:
create.arduino.cc/editor/whileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
Deze parameters vereisen aanpassing. Andere parameters die in de code worden aanbevolen, kunnen worden aangepast voor betere prestaties.
- Controleer en stel de motorpinnen in onder ARDUINO PINS.
-
Stel LENGTE en RADIUS in.
- LENGTE is de afstand van het linkerwiel tot het rechterwiel.
- RADIUS is de straal van het wiel.
-
Stel PULSES_PER_REV in, wat het aantal pulsen is dat de encoder uitvoert voor één wielomwenteling.
- Merk op dat dit verschilt van het aantal pulsen dat de encoder afgeeft voor één omwenteling van de motoras, tenzij de encoders zijn aangesloten om rechtstreeks van de wielas te lezen.
- PULSES_PER_REV = (pulsen per omwenteling motoras) x (overbrengingsverhouding)
-
Stel STOP_LENGTH in als je ziet dat de robot doorschiet na de voorwaartse beweging.
De robot stopt zodra de geschatte positie STOP_LENGTH verwijderd is van het doel. De STOP_LENGTH is dus de geschatte afstand die de robot nodig heeft om tot stilstand te komen
-
PID-parameters
KP_FW: Dit is de proportionele component van de voorwaartse beweging. Verhoog dit totdat de robot rechtdoor gaat. Als u het niet recht kunt krijgen door dit af te stemmen, heeft de hardware waarschijnlijk een fout. (bijv. verkeerde uitlijning van het wiel, enz.)
KP_TW: Dit is de proportionele component van de draaiende beweging PID. Begin gewoon met een lage waarde en verhoog deze totdat de draaisnelheid, of de hoeksnelheid van de robot tijdens het draaien, snel genoeg is, maar geen overshoot veroorzaakt. Om waarnemingen te doen, kunt u de robot laten afwisselen van 0 naar 90 en terug door het volgende in de lusfunctie in te voegen
Plaats dit in een lus om KP_FW af te stemmen:
verhuizer.forward(99999);
Plaats dit in een lus om af te wisselen van 0 tot 90 om KP_TW af te stemmen:
verhuizer.twist(90); // Twist 90 CW
vertraging (2000);
mover.twist(-90) // Twist 90 CCW
vertraging (2000);
Merk op dat om de hoeksnelheid bij TARGET_TWIST_OMEGA daadwerkelijk te verdraaien, de KI_TW ook moet worden afgesteld, omdat een proportionele controller zich nooit op het exacte doel zal vestigen. Het is echter niet nodig om met die exacte hoeksnelheid te draaien. De hoeksnelheid moet gewoon langzaam genoeg zijn.
Stap 6: Hoe het werkt
Als je benieuwd bent hoe het werkt, lees dan verder.
De voorwaartse beweging wordt recht gehouden met behulp van het pure achtervolgingsalgoritme op een rechtlijnig pad. Meer over Pure Pursuit:
De twist PID-controller probeert de hoeksnelheid van de twist op TARGET_TWIST_OMEGA te houden. Merk op dat deze hoeksnelheid de hoeksnelheid van de hele robot is, niet de wielen. Er wordt slechts één PID-controller gebruikt en de output is de PWM-schrijfsnelheid van zowel de linker- als de rechtermotor. Gegist bestek wordt gedaan om de hoek te berekenen. Zodra de hoek de foutdrempel bereikt, stopt de robot.
Aanbevolen:
Obstakel vermijden van LEGO-robot: 8 stappen (met afbeeldingen)
Obstakel vermijden van LEGO-robot: we houden van LEGO en we houden ook van gekke circuits, dus we wilden de twee combineren tot een eenvoudige en leuke robot die kan voorkomen dat hij tegen muren en andere objecten botst. We laten u zien hoe we de onze hebben gebouwd en geven een overzicht van de basisprincipes die nodig zijn, zodat u uw eigen kunt bouwen
Brazo-robot: 28 stappen
Brazo Robot: Beschrijving van het trabajoen en presenteren van documenten die pretenderen te zijn van het spel van de robot en van functies die kunnen worden uitgevoerd door middel van drie plannen (x, y, z,) die een interfaz hebben gemaakt door een unual permit met een pc
[DIY] Spider Robot (Quad Robot, Quadruped): 14 stappen (met afbeeldingen)
[DIY] Spider Robot (Quad Robot, Quadruped): Als je extra ondersteuning van mij nodig hebt, is het beter dat je een geschikte donatie aan mij doet: http://paypal.me/RegisHsu2019-10-10 update:De nieuwe compiler veroorzaakt het berekeningsprobleem met zwevende getallen. Ik heb de code al aangepast. 2017-03-26
HOE EEN INDRUKWEKKENDE HOUTEN ROBOT ARM TE MONTEREN (DEEL 2: ROBOT OM obstakels te vermijden) -- GEBASEERD OP DE MICRO: BIT: 3 stappen
HOE EEN INDRUKWEKKENDE HOUTEN ROBOT ARM TE MONTEREN (DEEL 2: ROBOT OM obstakels te vermijden) -- GEBASEERD OP DE MICRO: BIT: Voorheen introduceerden we Armbit in lijnvolgmodus. Vervolgens introduceren we hoe Armbit te installeren in het vermijden van obstakelmodus
[Arduino Robot] Hoe maak je een Motion Capture-robot - Duimen Robot - Servomotor - Broncode: 26 stappen (met afbeeldingen)
[Arduino Robot] Hoe maak je een Motion Capture-robot | Duimen Robot | Servomotor | Broncode: Thumbs Robot. Gebruikt een potentiometer van MG90S servomotor. Het is erg leuk en makkelijk! De code is heel eenvoudig. Het is slechts ongeveer 30 lijnen. Het ziet eruit als een motion-capture.Laat een vraag of feedback achter! [Instructie] Broncode https://github.c