Innehållsförteckning:
- Steg 1: Handledningens plats har ändrats
- Steg 2: Bygg SnappyXO Differential Drive Robot
- Steg 3: Anslut elektroniken
- Steg 4: Installera PreciseMovement Arduino Library
- Steg 5: Kod
- Steg 6: Hur det fungerar
Video: SnappyXO Precise Mover Robot: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Låt din Arduino -robot gå rakt ett visst avstånd eller vrid till en viss vinkel med hjälp av PreciseMovement Arduino -biblioteket.
Roboten behöver en rullkula eller motsvarande för att minimera friktion vid vridning.
www.pololu.com/product/954
Du kan be roboten att gå framåt till ett visst avstånd eller vrida till en viss vinkel. Programmet bestämmer sin position med hjälp av dödräkning. Eftersom positionsuppskattningarna endast är beroende av hjulhastigheten kommer glidning att orsaka betydande fel. Robotens designer bör vara försiktig för att minimera risken för halka.
Detta har testats för att fungera med SnappyXO -roboten.
Steg 1: Handledningens plats har ändrats
Handledningen har flyttats till sidan nedan. Denna handledning underhålls inte längre.
sites.google.com/stonybrook.edu/premo
Steg 2: Bygg SnappyXO Differential Drive Robot
PreciseMovement -biblioteket som vi kommer att använda är endast kompatibelt med differentialdrivrobotar. Du kan välja att använda andra tvåhjulsdrivna robotar.
Steg 3: Anslut elektroniken
För standard SnappyXO optisk kodare:
D0 (kodarutgång) -> Arduino Digital Pin
VCC -> Arduino 5V
GND -> GND
Motor och Arduino Power:
Motorkraftkällan bör vara tillräcklig för de motorer du använder. För SnappyXO -satsen används 4AA -batterier för motoreffekten och 9V -batteri för Arduino -kraften. Se till att de alla har en gemensam GND.
Steg 4: Installera PreciseMovement Arduino Library
Ladda ner:
github.com/jaean123/PreciseMovement-library/releases
Så här installerar du Arduino Library:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
Steg 5: Kod
Arduino -kod:
create.arduino.cc/editor/whileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
Dessa parametrar kräver justering. Andra parametrar som rekommenderas på koden kan justeras för bättre prestanda.
- Kontrollera och ställ in motorstiften under ARDUINO PINS.
-
Ställ in LÄNGD och RADIUS.
- LÄNGD är avståndet från vänster hjul till höger hjul.
- RADIUS är hjulets radie.
-
Ställ in PULSES_PER_REV, vilket är antalet pulser som kodaren matar ut för ett hjulvarv.
- Observera att detta skiljer sig från antalet pulser som kodaren matar ut för en motoraxelvarvtal om inte givarna är anslutna för att avläsa direkt från hjulaxeln.
- PULSES_PER_REV = (pulser per ett varv på motoraxeln) x (växelförhållande)
-
Ställ in STOP_LENGTH om du ser att roboten skjuter över efter framrörelsen.
Roboten stannar när den beräknade positionen är STOP_LENGTH från målet. STOP_LENGTH är alltså det ungefärliga avståndet som krävs för att roboten ska stanna
-
PID -parametrar
KP_FW: Detta är den proportionella komponenten i framåtrörelsen. Öka detta tills roboten går rakt. Om du inte kan få det att gå direkt genom att ställa in det här, är det troligtvis fel på hårdvaran. (t.ex. feljustering av hjul osv.)
KP_TW: Detta är den proportionella komponenten i vridrörelsen PID. Starta helt enkelt från ett lågt värde och öka detta tills vridningshastigheten, eller robotens vinkelhastighet vid vridning, är tillräckligt snabb, men orsakar inte överskott. För att göra observationer kan du låta roboten växla från 0 till 90 och tillbaka genom att infoga följande i loop -funktionen
Placera detta i loop för att ställa in KP_FW:
flyttare. framåt (99999);
Placera detta i loop för att växla från 0 till 90 för att ställa in KP_TW:
mover.twist (90); // Twist 90 CW
fördröjning (2000);
mover.twist (-90) // Twist 90 CCW
fördröjning (2000);
Observera att för att faktiskt vrida vinkelhastigheten vid TARGET_TWIST_OMEGA måste KI_TW också justeras eftersom en proportionell styrenhet aldrig kommer att nöja sig med det exakta målet. Det är dock inte nödvändigt att vrida med den exakta vinkelhastigheten. Vinkelhastigheten behöver bara vara tillräckligt långsam.
Steg 6: Hur det fungerar
Om du är nyfiken på hur det fungerar läs vidare.
Rörelsen framåt hålls rak med den rena jaktalgoritmen på en rak linje. Mer om Pure Pursuit:
Twist PID -regulatorn försöker hålla vridvinkelhastigheten vid TARGET_TWIST_OMEGA. Observera att denna vinkelhastighet är vinkelhastigheten för hela roboten inte hjulen. Endast en PID -regulator används och utgången är PWM -skrivhastigheten för både vänster och höger motor. Död räkning görs för att beräkna vinkeln. När vinkeln når felgränsen stannar roboten.
Rekommenderad:
Arduino - Maze Solving Robot (MicroMouse) Wall Following Robot: 6 steg (med bilder)
Arduino | Maze Solving Robot (MicroMouse) Wall Following Robot: Welcome I'm Isaac och detta är min första robot " Striker v1.0 " .Denna Robot var utformad för att lösa en enkel labyrint. I tävlingen hade vi två labyrinter och roboten Alla andra förändringar i labyrinten kan kräva en ändring av
Arduino Precise & Accurate Volt Meter (0-90V DC): 3 steg
Arduino Precise & Accurate Volt Meter (0-90V DC): I denna instruerbara har jag byggt en voltmeter för att mäta högspänningar DC (0-90v) med relativ precision och noggrannhet med en Arduino Nano. De testmätningar jag tog var tillräckligt noggranna, mestadels inom 0,3v från den faktiska spänningen mätt med en
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
RC -spårad robot med Arduino - Steg för steg: 3 steg
RC -spårad robot med Arduino - Steg för steg: Hej killar, jag är tillbaka med ett annat häftigt robotchassi från BangGood. Hoppas att du har gått igenom våra tidigare projekt - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot med Robotic Arms och The Badland Braw
[Arduino Robot] Hur man gör en Motion Capture Robot - Tummen Robot - Servomotor - Källkod: 26 steg (med bilder)
[Arduino Robot] Hur man gör en Motion Capture Robot | Tummen Robot | Servomotor | Källkod: Thumbs Robot. Använd en potentiometer för MG90S servomotor. Det är väldigt roligt och enkelt! Koden är väldigt enkel. Det är bara runt 30 rader. Det ser ut som en rörelseinspelning. Lämna gärna frågor eller feedback! [Instruktion] Källkod https: //github.c