Obsah:
- Krok 1: Umístění výukového programu změněno
- Krok 2: Sestavte robota diferenciálního pohonu SnappyXO
- Krok 3: Připojte elektroniku
- Krok 4: Nainstalujte si PreciseMovement Arduino Library
- Krok 5: Kód
- Krok 6: Jak to funguje
Video: Přesný robot Mover SnappyXO: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Pomocí knihovny PreciseMovement Arduino nechte svého robota Arduino jet rovně na zadanou vzdálenost nebo se stočte do zadaného úhlu.
Robot potřebuje kolečko na kolečkách nebo ekvivalent, aby minimalizoval tření při kroucení.
www.pololu.com/product/954
Můžete říci robotu, aby šel vpřed na zadanou vzdálenost nebo se otočil do zadaného úhlu. Program určuje svou polohu pomocí mrtvého zúčtování. Protože odhady polohy spoléhají pouze na rychlost kola, prokluz způsobí značnou chybu. Konstruktér robota by měl být opatrný, aby minimalizoval riziko uklouznutí.
Toto bylo testováno, aby fungovalo s robotem SnappyXO.
Krok 1: Umístění výukového programu změněno
Výukový program byl přesunut na níže uvedenou stránku. Tento výukový program již není udržován.
sites.google.com/stonybrook.edu/premo
Krok 2: Sestavte robota diferenciálního pohonu SnappyXO
Knihovna PreciseMovement, kterou budeme používat, je kompatibilní pouze s roboty s diferenciálním pohonem. Můžete se rozhodnout použít jiné roboty s pohonem 2 kol.
Krok 3: Připojte elektroniku
Pro standardní optický kodér SnappyXO:
D0 (výstup kodéru) -> Arduino Digital Pin
VCC -> Arduino 5V
GND -> GND
Výkon motoru a Arduina:
Zdroj energie motoru by měl být vhodný pro motory, které používáte. V sadě SnappyXO jsou použity 4AA baterie pro napájení motoru a 9V baterie pro napájení Arduino. Zajistěte, aby všechny měly společný GND.
Krok 4: Nainstalujte si PreciseMovement Arduino Library
Stažení:
github.com/jaean123/PreciseMovement-library/releases
Jak nainstalovat Arduino Library:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
Krok 5: Kód
Arduino kód:
create.arduino.cc/editor/ whileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
Tyto parametry vyžadují úpravu. Další parametry označené v kódu doporučené lze upravit pro lepší výkon.
- Zkontrolujte a nastavte kolíky motoru pod ARDUINO PINS.
-
Nastavte LENGTH a RADIUS.
- DÉLKA je vzdálenost od levého kola k pravému.
- RADIUS je poloměr kola.
-
Nastavte PULSES_PER_REV, což je počet impulsů výstupů kodéru pro jednu otáčku kola.
- Všimněte si toho, že se liší od počtu impulsů, které enkodér vydá pro jednu otáčku hřídele motoru, pokud nejsou enkodéry připojeny ke čtení přímo z hřídele kola.
- PULSES_PER_REV = (impulsy na jednu otáčku hřídele motoru) x (převodový poměr)
-
Nastavte STOP_LENGTH, pokud uvidíte, že robot po pohybu vpřed přestřelí.
Robot se zastaví, jakmile je odhadovaná poloha STOP_LENGTH od cíle. STOP_LENGTH je tedy přibližná vzdálenost potřebná k tomu, aby se robot zastavil
-
Parametry PID
KP_FW: Toto je proporcionální složka pohybu vpřed. Zvyšte to, dokud se robot nepohne rovně. Pokud nemůžete vyladit toto, pak je pravděpodobně na vině hardware. (např. nesouosost kol atd.)
KP_TW: Toto je proporcionální složka PID kroucení pohybu. Jednoduše začněte od nízké hodnoty a zvyšujte ji, dokud rychlost kroucení nebo úhlová rychlost robota při kroucení není dostatečně rychlá, ale nezpůsobí překročení. Chcete -li provádět pozorování, můžete nechat robota střídat od 0 do 90 a zpět vložením následujícího do funkce smyčky
Umístěte to do smyčky a nalaďte KP_FW:
mover.forward (99999);
Umístěte to do smyčky a střídejte od 0 do 90, abyste naladili KP_TW:
mover.twist (90); // Twist 90 CW
zpoždění (2000);
mover.twist (-90) // Twist 90 CCW
zpoždění (2000);
Všimněte si toho, že aby se skutečně změnila úhlová rychlost v TARGET_TWIST_OMEGA, musí být také vyladěn KI_TW, protože proporcionální ovladač se nikdy neusadí na přesný cíl. Není však nutné kroutit přesně touto úhlovou rychlostí. Úhlová rychlost musí být dostatečně pomalá.
Krok 6: Jak to funguje
Pokud vás zajímá, jak to funguje, čtěte dále.
Pohyb vpřed je udržován rovně pomocí algoritmu čistého pronásledování na přímce. Více o Pure Pursuit:
Twist PID regulátor se snaží udržet úhlovou rychlost zkroucení na TARGET_TWIST_OMEGA. Všimněte si, že tato úhlová rychlost je úhlová rychlost celého robota, nikoli kol. Je použit pouze jeden PID regulátor a výstupem je rychlost zápisu PWM levého i pravého motoru. K výpočtu úhlu se provádí mrtvé zúčtování. Jakmile úhel dosáhne prahové hodnoty chyby, robot se zastaví.
Doporučuje:
Přesný a přesný voltmetr Arduino (0-90V DC): 3 kroky
Přesný a přesný voltmetr Arduino (0-90V DC): V tomto návodu jsem postavil voltmetr pro měření vysokého napětí DC (0-90v) s relativní přesností a přesností pomocí Arduino Nano. Testovací měření, která jsem provedl, byla dostatečně přesná, většinou do 0,3 V od skutečného napětí naměřeného
3D tištěný koncový obloukový reaktor (film přesný a nositelný): 7 kroků (s obrázky)
3D tištěný obloukový reaktor Endgame (film přesný a nositelný): Úplný návod na YouTube: Nenašel jsem žádné zvláště přesné 3D soubory pro obloukový reaktor/pouzdro Mark 50 pro nanočástice, takže jsme s kamarádem uvařili nějaké sladké. Trvalo spoustu vyladění, aby věc vypadala přesně a úžasně
Přesný model proměnné hvězdy Cepheid: 5 kroků (s obrázky)
Přesný model proměnné hvězdy Cepheid: Prostor je velký. Velmi velký. Dalo by se dokonce říci, že astronomicky. To nemá na tento projekt žádný vliv, jen jsem chtěl použít slovní hříčku. Není překvapením, že na noční obloze je mnoho hvězd. Někoho, kdo je v této oblasti nový, však může překvapit
Jak vyrobit přesný snímač průtoku vzduchu s Arduino pro ventilátor COVID-19 do 20 GBP: 7 kroků
Jak vyrobit přesný snímač rychlosti proudění vzduchu s Arduinem za ventilátor COVID-19 do 20 GBP: Nejnovější design tohoto snímače průtoku clony naleznete v této zprávě: https://drive.google.com/file/d/1TB7rhnxQ6q6C1cNb. .. Tento návod ukazuje, jak vybudovat snímač průtoku vzduchu pomocí levného snímače diferenčního tlaku a snadno
Visuino - Získejte přesný čas ze serveru Internet NIST pomocí NodeMCU: 8 kroků
Visuino - Získejte přesný čas z internetového serveru NIST pomocí NodeMCU: V tomto kurzu použijeme NodeMCU Mini, OLED Lcd a Visuino k zobrazení živého internetového času ze serveru NIST na Lcd. Podívejte se na ukázkové video. Zásluhu na inspiraci má uživatel youtube " Ciprian Balalau "