Obsah:
- Krok 1: Pracovní princip
- Krok 2: Sestavení
- Krok 3: Sestavení
- Krok 4: Navrhněte traťovou linku
- Krok 5: Naprogramujte svůj kód
- Krok 6: HOTOVO
Video: Robot sledující linii na základě PID s polem POLOLU QTR 8RC-senzorové pole: 6 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:24
Ahoj!
toto je můj první zápis o instruktážích a dnes vás vezmu po silnici a vysvětlím vám, jak pomocí senzoru QTR-8RC postavit linku na základě PID za robotem.
Než se pustíme do stavby robota, musíme pochopit, čemu se říká PID,
Krok 1: Pracovní princip
Co je PID ??
Pojem PID znamená proporcionální, integrální, derivační. Jednoduše tedy to, co děláme se zapojením PID s následováním řádku, je, dáváme robotu příkaz, aby sledoval čáru a detekoval zatáčky výpočtem chyby zvážením toho, jak daleko se to posunulo mimo trať.
klíčové termíny uvedené v dokumentech polalu
Proporcionální hodnota je přibližně úměrná poloze vašeho robota vzhledem k čáře. To znamená, že pokud je váš robot přesně vystředěn na linii, očekáváme poměrnou hodnotu přesně 0
Integrovaná hodnota zaznamenává historii pohybu vašeho robota: je to součet všech hodnot proporcionálního členu, které byly zaznamenány od spuštění robota
Derivát je rychlost změny poměrné hodnoty
V tomto tutoriálu budeme hovořit pouze o termínech Kp a Kd, ale výsledků lze dosáhnout také pomocí výrazu Ki. Hodnoty, které získáváme ze senzoru, nejsou jen analogové hodnoty, ale také poziční hodnoty robota.takže senzor v zásadě poskytuje hodnoty od 0 do 2500 v rozsahu od maximální odrazivosti po minimální odrazivost, ale zároveň také poskytuje informace o tom, jak daleko se robot od linky uvízl.)
Nyní musíme vzít v úvahu chybový termín, Toto je rozdíl mezi dvěma hodnotami žádané hodnoty a aktuální hodnoty. (Požadovaná hodnota je hodnota, která odpovídá „dokonalému“umístění senzorů na horní čáry. A Aktuální hodnota je okamžité hodnoty senzoru. Například: Pokud používáte tento senzor pole a používáte 8 senzorů, obdržíte poziční hodnotu 3500, pokud jste na místě, kolem 0, pokud jste příliš daleko od řádek a kolem 7000, pokud jste příliš pravicoví.). Naším cílem je vynulovat chybu. Pak teprve může robot plynule sledovat čáru.
Poté přichází část výpočtu,.
1) vypočítat chybu.
Chyba = Žádaná hodnota - Aktuální hodnota = 3500 - pozice
Jak jsem pomocí 8 senzorů. když je robot perfektně umístěn, snímač poskytuje poziční hodnotu 3 500. Nyní, když jsme vypočítali naši chybu, rozpětí, o které se náš robot unáší po trati, je na čase, abychom chybu zkontrolovali a podle toho upravili otáčky motoru
2) určete upravené otáčky motorů.
MotorSpeed = Kp * Chyba + Kd * (Chyba - LastError);
LastError = Chyba;
RightMotorSpeed = RightBaseSpeed + MotorSpeed;
LeftMotorSpeed = LeftBaseSpeed - MotorSpeed;
Logicky vzato, chyba 0 znamená, že náš robot je doleva, což znamená, že náš robot musí jít trochu doprava, což zase znamená, že pravý motor musí zpomalit a levý motor zrychlit. TOTO JE PID!
Hodnota MotorSpeed je určena ze samotné rovnice. RightBaseSpeed a LeftBaseSpeed jsou rychlosti (libovolná hodnota PWM 0-255), při kterých robot běží, když je chyba nulová.
Kód, který jsem připojil, také obsahuje, jak zkontrolovat poziční hodnoty senzoru, takže můžete otevřít sériový monitor a nahrát kód a sami se podívat na řádek, jak se motory otáčejí, když se poloha mění.
Pokud se při implementaci robota dostanete do potíží, zkontrolujte, zda a uvidíte změnou znamének rovnic !!!
A teď nejtěžší část NAJÍMÁNÍ Kp A Kd, musel jsem strávit více než 1 hodinu, abych dokonale vyladil svého robota. Místo zadávání náhodných hodnot jsem našel jednodušší způsob, jak to určit.
- Začněte s kp a Kd rovným 0 a začněte s Kp, nejprve zkuste nastavit Kp na 1 a pozorujte robota, naším cílem je sledovat čáru, i když je vratká, pokud robot přestřelí a ztratí čáru, snižte hodnotu kp.pokud robot nemůže navigovat v zatáčce a být pomalý, zvyšte hodnotu Kp.
- Jakmile se zdá, že robot trochu sleduje čáru, upravte hodnotu Kd (hodnota Kd> hodnota Kp) od 1 a hodnotu zvyšujte, dokud neuvidíte hladký pohon s menším kolísáním.
- Jakmile robot začne sledovat čáru, zvyšte rychlost a zjistěte, zda je schopen čáru udržet a sledovat.
Mějte na paměti, že rychlost má přímý dopad na ladění PID a někdy možná budete muset přeladit, aby odpovídala rychlosti vašeho robota.
Nyní se můžeme pustit do stavby našeho robota.
Krok 2: Sestavení
Arduino atmega 2560 s USB kabelem - to je hlavní používaný mikrokontrolér.
Podvozek- pro podvozek robota jsem použil 2 kruhové akrylátové desky, které se používají pro jiný projekt, který je pro to ideální. Pomocí matic a šroubů jsem postavil dvoupatrový podvozek, takže mohu k horní desce připevnit další moduly. Nebo můžete použít k dispozici hotový podvozek.
www.ebay.com/itm/2WD-DIY-2-Wheel-Drive-Rou…
Mikrometální převodové motory- robot potřeboval rychle se otáčející motory, aby se vyrovnal s rutinou PID, k tomu jsem použil motory o výkonu 6V 400 ot / min a vhodná přilnavá kola.
www.ebay.com/itm/12mm-6V-400RPM-Torque-Gea…
www.ebay.com/itm/HOT-N20-Micro-Gear-Motor-…
Pole senzorů QTR 8Rc - toto lze použít pro sledování linek, jak již bylo zmíněno dříve, myslím, že nyní máte jasnou představu o tom, jak ovládat pole senzorů pomocí PID. Kód je velmi jednoduchý a pomocí stávajících knihoven Arduino budete schopni vybudovat rychlého následovníka linky.
www.ebay.com/itm/Pololu-QTR-8RC-Reflectanc…
TB6612FNG Motorový ovladač-chtěl jsem použít motorový ovladač, který zvládne obraty a mění směr v mžiku, který je schopen účinně zabrzdit motory, když signál PWM klesne.
www.ebay.com/itm/Pololu-Dual-DC-Motor-Driv…
Baterie Lipo- lipo baterie 11,1 V slouží k napájení robota. Ačkoli jsem použil lipo baterii 11,1 V, tato kapacita je větší, než je potřeba pro arduino a motory. Pokud najdete lehký 7,4 V lipo baterie nebo 6V Ni-MH baterie bude perfektní. Z tohoto důvodu musím použít převodník buck k převodu napětí na 6V.
11,1 V-https://www.ebay.com/itm/High-Capacity-11-1V-2200…
7,4 V-
Modul převodníku Buck-https://www.ebay.com/itm/1PCS-DC-DC-LM2596-power-…
Kromě toho potřebujete propojovací vodiče, matice a šrouby, šroubováky a elektrické pásky a také zipy, abyste se ujistili, že je vše na svém místě.
Krok 3: Sestavení
pomocí matic a šroubů připevněte motory a malé kolečko na desku a poté na podvozek namontujte snímač QTR, ovladač motoru, desku arduino a nakonec baterii.
Zde je perfektní diagram, který jsem našel na internetu, který vám řekne, jak by měla být provedena připojení.
Krok 4: Navrhněte traťovou linku
Nyní se zdá, že váš projekt je téměř u konce. Protože v poslední fázi potřebujete mít malou arénu k testování svého robota. Použil jsem náhodnou čáru o šířce 3 cm bílé čáry na černém pozadí. Ujistěte se, že jste vše dobře vložili. A prozatím se vyhnete 90 úhlovým křížům a průřezům, protože se jedná o složitý případ kódování.
Krok 5: Naprogramujte svůj kód
1. Stáhněte a nainstalujte Arduino
Desktop IDE
· Windows -
· Mac OS X -
· Linux -
2. Stáhněte a vložte soubor pole senzorů QTR 8 RC do složky knihoven Arduino.
·
· Vložte soubory do cesty - C: / Arduino / libraries
3. Stáhněte a otevřete souborLINEFOLLOWING.ino
4. Nahrajte kód na desku arduino pomocí kabelu USB
Krok 6: HOTOVO
Nyní máte robota sledujícího linii vyrobeného sami.
Doufám, že tento návod byl užitečný. Neváhejte mě kontaktovat prostřednictvím [email protected], pokud máte nějaký problém.
brzy se uvidíme s dalším novým projektem.
Užijte si stavbu !!
Doporučuje:
Robot sledující člověka využívající Arduino Uno pod 20 $: 9 kroků
Robot pro sledování lidí pomocí Arduino Uno Pod 20 $: tak jsem tento robot vyrobil asi před rokem a miloval jsem ho, může vás sledovat kdekoli a všude. toto je nejlepší alternativa pro psa. je to stále se mnou až dosud. Mám také kanál YouTube, kde můžete vidět proces jeho vytváření ve vi
DIY robot sledující zeď: 9 kroků
DIY robot sledující zeď: V tomto Instructable vysvětlíme, jak navrhnout systém detekce a vyhýbání se překážkám pomocí GreenPAK ™ společně s několika externími ultrazvukovými a infračervenými (IR) senzory. Tento design představí některá témata, která jsou vyžadována pro autonomní
ROBOT ŘÍZENÝ GESTEM NA ZÁKLADĚ IOT: 10 kroků (s obrázky)
ROBOT ŘÍZENÝ gesty na bázi IOT: Tento robot je ovládán gesty, který lze ovládat odkudkoli pomocí internetu. V tomto projektu se akcelerometr MPU 6050 používá ke sběru dat týkajících se našich pohybů rukou. Měří zrychlení naší ruky ve třech
Robot sledující čáru: 11 kroků (s obrázky)
Line Follower Robot: Vyrobil jsem liniového robota s mikroprocesorem PIC16F84A vybaveným 4 IR senzory. Tento robot může běžet na černobílých čarách
Robot EBot8 sledující objekt: 5 kroků (s obrázky)
Robot sledující objekt EBot8: Přemýšleli jste někdy o tom, že byste vyrobili robota, který bude následovat, kamkoli půjdete? Ale prostě ne? No … Nyní můžete! Představujeme vám robot následujícího objektu! Jděte na tento návod, lajkujte a hlasujte a možná to zvládnete také