Indholdsfortegnelse:
- Trin 1: Vejledningens placering ændret
- Trin 2: Byg SnappyXO Differential Drive Robot
- Trin 3: Tilslut elektronikken
- Trin 4: Installer PreciseMovement Arduino Library
- Trin 5: Kode
- Trin 6: Sådan fungerer det
Video: SnappyXO Precise Mover Robot: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Få din Arduino -robot til at gå lige i en bestemt afstand eller vride til en bestemt vinkel ved hjælp af PreciseMovement Arduino -biblioteket.
Robotten har brug for en kuglehjul eller tilsvarende for at minimere friktion under vridning.
www.pololu.com/product/954
Du kan bede robotten om at gå frem til en bestemt afstand eller vride til en bestemt vinkel. Programmet bestemmer sin position ved hjælp af dødregning. Da positionsestimaterne kun er afhængige af hjulets hastighed, vil glidning medføre betydelig fejl. Robotens designer skal være forsigtig med at minimere risikoen for glidning.
Dette er blevet testet for at fungere med SnappyXO -robotten.
Trin 1: Vejledningens placering ændret
Selvstudiet er flyttet til siden herunder. Denne vejledning vedligeholdes ikke længere.
sites.google.com/stonybrook.edu/premo
Trin 2: Byg SnappyXO Differential Drive Robot
Det PreciseMovement -bibliotek, vi vil bruge, er kun kompatibelt med differentialdrevsrobotter. Du kan vælge at bruge andre 2 -hjulsdrevne robotter.
Trin 3: Tilslut elektronikken
Til standard SnappyXO optisk encoder:
D0 (encoder output) -> Arduino Digital Pin
VCC -> Arduino 5V
GND -> GND
Motor og Arduino -effekt:
Motorens strømkilde skal være tilstrækkelig til de motorer, du bruger. Til SnappyXO -kittet bruges 4AA -batterier til motoreffekten og 9V -batteri til Arduino -strømmen. Sørg for, at de alle har en fælles GND.
Trin 4: Installer PreciseMovement Arduino Library
Hent:
github.com/jaean123/PreciseMovement-library/releases
Sådan installeres Arduino Library:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
Trin 5: Kode
Arduino kode:
create.arduino.cc/editor/whileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
Disse parametre kræver justering. Andre parametre mærket anbefalet på koden kan justeres for bedre ydeevne.
- Kontroller og sæt motorstifterne under ARDUINO PINS.
-
Indstil LÆNGDE og RADIUS.
- LÆNGDE er afstanden fra venstre hjul til højre hjul.
- RADIUS er hjulets radius.
-
Indstil PULSES_PER_REV, som er antallet af impulser, encoderens udgange giver for et hjulomdrejningstal.
- Bemærk, at dette er forskelligt fra antallet af impulser, som encoderen udsender for en motorakselomdrejning, medmindre koderne er forbundet til at læse direkte fra hjulakslen.
- PULSES_PER_REV = (impulser pr. Omdrejning af motoraksel) x (gearforhold)
-
Indstil STOP_LENGTH, hvis du ser, at robotten overskyder efter bevægelsen fremad.
Robotten stopper, når den estimerede position er STOP_LENGTH væk fra målet. STOP_LÆNGDEN er således den omtrentlige afstand, der kræves for, at robotten standser
-
PID -parametre
KP_FW: Dette er den proportionelle komponent i fremadgående bevægelse. Forøg dette, indtil robotten går lige. Hvis du ikke kan få det til at gå lige ved at indstille dette, er hardware sandsynligvis skyld. (f.eks. forkert justering af hjul osv.)
KP_TW: Dette er den proportionelle komponent i vridningsbevægelsen PID. Du skal blot starte fra en lav værdi og øge denne, indtil vridningshastigheden eller robotens vinkelhastighed under vridning er hurtig nok, men forårsager ikke overskridelse. For at foretage observationer kan du få robotten til at skifte fra 0 til 90 og tilbage ved at indsætte følgende i loop -funktionen
Placer dette i loop for at indstille KP_FW:
mover.ward (99999);
Placer dette i loop for at skifte fra 0 til 90 for at stille KP_TW:
mover.twist (90); // Twist 90 CW
forsinkelse (2000);
mover.twist (-90) // Twist 90 CCW
forsinkelse (2000);
Bemærk, at for faktisk at vride vinkelhastigheden ved TARGET_TWIST_OMEGA, skal KI_TW også indstilles, da en proportional controller aldrig vil slå sig til det nøjagtige mål. Det er imidlertid ikke nødvendigt at vride med den præcise vinkelhastighed. Vinkelhastigheden skal bare være langsom nok.
Trin 6: Sådan fungerer det
Hvis du er nysgerrig efter hvordan det fungerer, læs videre.
Fremadgående bevægelse holdes lige ved hjælp af den rene forfølgelsesalgoritme på en lige linje. Mere om Pure Pursuit:
Twist PID -controlleren forsøger at holde twist -vinkelhastigheden ved TARGET_TWIST_OMEGA. Bemærk, at denne vinkelhastighed er vinkelhastigheden for hele robotten, ikke hjulene. Der bruges kun én PID -controller, og output er PWM -skrivehastigheden for både venstre og højre motor. Død regning foretages for at beregne vinklen. Når vinklen når fejlgrænsen, stopper robotten.
Anbefalede:
Arduino - Maze Solving Robot (MicroMouse) Wall Following Robot: 6 trin (med billeder)
Arduino | Maze Solving Robot (MicroMouse) Wall Following Robot: Welcome I'm Isaac, og dette er min første robot " Striker v1.0 " Denne robot er designet til at løse en simpel labyrint. I konkurrencen havde vi to labyrinter og robotten Alle andre ændringer i labyrinten kan kræve en ændring i
Sådan opbygges SMARS Robot - Arduino Smart Robot Tank Bluetooth: 16 trin (med billeder)
Sådan bygger du SMARS Robot - Arduino Smart Robot Tank Bluetooth: Denne artikel er stolt sponsoreret af PCBWAY. PCBWAY laver prototyper af PCB'er af høj kvalitet til mennesker over hele verden. Prøv det selv og få 10 PCB'er for kun $ 5 på PCBWAY med meget god kvalitet, tak PCBWAY. Motorskærmen til Arduino Uno
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)
RC -sporet robot ved hjælp af Arduino - Trin for trin: 3 trin
RC Tracked Robot Using Arduino - Step by Step: Hey guys, I are back with another cool Robot chassis from BangGood. Håber du har gennemgået vores tidligere projekter - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot med Robotic Arms og The Badland Braw
[Arduino Robot] Sådan laver du en Motion Capture Robot - Thumbs Robot - Servomotor - Kildekode: 26 trin (med billeder)
[Arduino Robot] Sådan laver du en Motion Capture Robot | Thumbs Robot | Servomotor | Kildekode: Thumbs Robot. Brugt et potentiometer af MG90S servomotor. Det er meget sjovt og let! Koden er meget enkel. Det er kun omkring 30 linjer. Det ligner en motion-capture. Efterlad et spørgsmål eller feedback! [Instruktion] Kildekode https: //github.c