Obsah:

Výuka ovládání PID pomocí robotů Lego: 14 kroků
Výuka ovládání PID pomocí robotů Lego: 14 kroků

Video: Výuka ovládání PID pomocí robotů Lego: 14 kroků

Video: Výuka ovládání PID pomocí robotů Lego: 14 kroků
Video: Tento Tvar Je NEMOŽNÝ Nakreslit!😱 2024, Červenec
Anonim
Výuka ovládání PID pomocí robotů Lego
Výuka ovládání PID pomocí robotů Lego

Mnoho mladých robotických nadšenců se zajímá o pokročilejší témata řízení, ale může je zneklidňovat kalkul často požadovaný k analýze systémů s uzavřenou smyčkou. Na internetu jsou k dispozici úžasné zdroje, které zjednodušují konstrukci „proporcionálního integrálního diferenciálního regulátoru“(PID regulátor), a jeden skvělý popis je zde:

Přesto může být obtížné je dodržet a nemusí být vhodné pro třídu zhruba 20 studentů.

Tento krok za krokem Instructable ukazuje, jak úspěšně učit místnost plnou studentů pomocí robotického systému Lego, řady robotů (5 až 10 z nich), stejného počtu počítačových pracovních stanic se systémem NXT 2.0 a sedm stop stopy černé elektrická páska na podlaze.

ASIDE: Poděkování patří J. Slukovi, který napsal výše uvedený odkaz, Dr. Bruce Linnell, který vytvořil několik raných laboratoří Lego na úrovni univerzity ECPI, a Dr. Reza Jafari, který poskytl cíle učení PID Control mapující myšlenky k EET220 a Kurz Capstone.

Krok 1: Laboratorní příprava před příchodem studentů

Laboratorní příprava před příchodem studentů
Laboratorní příprava před příchodem studentů

Dejte studentům vědět o vaší tvrdé práci;-)

Instruktoři a pedagogičtí asistenti byli VELMI zaneprázdněni přípravami na to, že budete dělat tuto laboratoř! Robot byl nabit a sestaven pro tuto laboratoř. Pokud je nutná montáž, může to jednomu nebo více robotům trvat až 90 minut. Ještě více času je zapotřebí k nabití baterií nebo jejich kondicionování cykly nabíjení/vybíjení. Podrobné pokyny k sestavení robota, které dnes použijeme, najdete ve vzdělávací sadě NXT 2.0 nebo 2.1, příručce ke stavbě robotů „postupujte podle řady“. Použijeme však složitější programování … Černá elektrická páska na světlém linoleu je skvělá trať. Toto je 3 ‘x 7‘s půlkruhovými křivkami.

Krok 2: Seznamte se s robotem

Seznamte se s robotem
Seznamte se s robotem

Nejprve se seznámíte s nabídkou robota a některými částmi tohoto konkrétního robota. Dozvíte se také o technologii senzorů v průmyslovém stylu, které robot používá, včetně světelných diod, světelných senzorů, krokových motorů a snímačů polohy otáčení. Nezapomeňte vyplnit všechny požadované informace (obvykle podtržené mezery _).

1. Odpojte robota od nabíječky a/nebo USB portu vašeho PC. Pomocí oranžového tlačítka zapněte robota. Oranžové, levé a pravé tlačítko a šedé tlačítko „zpět“umožňují navigaci v nabídce. Přejděte do nabídky „Softwarové soubory“a procházejte dostupné softwarové soubory v robotu. Seznam názvů každého softwarového souboru, přesně tak, jak je napsán, včetně velkých písmen a mezer:

_

Krok 3: Kalibrace světelného senzoru

Kalibrujte světelný senzor
Kalibrujte světelný senzor

2 Zkontrolujte světelný senzor a informace o kalibraci. Vraťte se do hlavní nabídky a vyberte „Zobrazit“. Vyberte možnost „Odražené světlo“a Port (měl by to být „Port 3“), který způsobí zapnutí světla a zobrazení čísla na obrazovce. Ujistěte se, že vše funguje, a zaznamenejte si informace o kalibraci.

A. Maximální čtení pomocí bílého listu papíru: Číslo: _ Popište přibližnou vzdálenost od papíru: _

b. Maximální hodnota na světlé podlaze linolea: _

C. Minimální čtení při ukazování na střed černé elektrické pásky: _

Krok 4: Otestujte kalibraci motoru

Otestujte kalibraci motoru
Otestujte kalibraci motoru

3 Zkontrolujte motory kol (vlevo a vpravo) a informace o kalibraci. Vraťte se do hlavní nabídky a vyberte „Rotace motoru“Vyberte port (u obou motorů by to měl být buď „Port B“nebo „Port C“). Zjistěte, zda můžete zkontrolovat kalibraci této hodnoty otáčením každého motoru o pevný počet otáček při sledování odečtu. Stejný kalibrační test provedete pro oba motory pomocí kalibrační obrazovky „Zobrazit“à „Stupně motoru“.

Motor na portu B

  • Kolikrát jste otočili kolečkem _
  • Zobrazená hodnota „Rotace motoru“_
  • Kolo vzdálenosti ve stupních bylo otočeno _
  • Zobrazená hodnota „Motor Degrees“_

Motor na portu C

  • Kolikrát jste otočili kolečkem _
  • Zobrazená hodnota „Rotace motoru“_
  • Kolo vzdálenosti ve stupních bylo otočeno _
  • Zobrazená hodnota „Motor Degrees“_

Souhlasily zobrazené hodnoty s vašimi očekáváními? Prosím vysvětlit. _

Krok 5: Spusťte poskytovaný ovladač zapnutí a vypnutí

Spusťte poskytovaný ovladač zapnutí a vypnutí
Spusťte poskytovaný ovladač zapnutí a vypnutí

Ovladač „On-Off“(někdy nazývaný „Bang-Bang“) má pouze dvě možnosti, zapnuto a vypnuto. Je to podobné ovládání termostatu u vás doma. Když je nastaven na zvolenou teplotu, termostat vytápí dům, pokud je příliš chladný, a ochlazuje dům, pokud je příliš horký. Zvolená teplota se nazývá „Set Point“a rozdíl mezi aktuální teplotou domu a Set-Point se nazývá „chyba“. Dalo by se tedy říci, že pokud je chyba pozitivní, zapněte AC, jinak zapněte topení.

V našem případě se robot otočí doleva nebo doprava, podle toho, zda má Set-Point světelného senzoru kladnou nebo zápornou chybu (příliš mnoho na bílé podlaze, nebo příliš mnoho na černé pásce).

Všimnete si, že váš robot již může být načten s řadou programů (nebo můžete použít přiložený soubor „01 line.rbt“vložený zde) uloženými na něm s názvy jako „1 řádek“a „2 řádek“a také tam může být další písmeno za číslem programu, například „3b řádek“. Budete muset spustit program s číslem „1“v názvu a poté umístit robota na páskovou stopu se senátorem na černou čáru. Snažte se držet stranou od ostatních robotů, kteří jsou již na trati, abyste mohli svého robota načasovat bez přerušení nárazu do jiných robotů.

4 Změřte následující časové zkoušky:

A. Čas na dokončení jedné rovné strany trati: _

b. Popište přímý pohyb robota: _

C. Čas na dokončení jedné křivky trati: _

d. Popište pohyb robota se zakřivenou stopou: _

E. Čas jednou projet celou trať: _

Krok 6: Otevřete software On-Off Controller „01 Line“

Otevři
Otevři
Otevři
Otevři
Otevři
Otevři

Otevřete software „LEGO MINDSTORMS NXT 2.0“(nikoli software Edu 2.1) a nahrajete příslušný program s názvem „01 line.rbt“a prozkoumáte a upravíte software podle následujících pokynů:

Otevřete software „LEGO MINDSTORMS NXT 2.0“(nikoli software Edu 2.1). Váš instruktor vám řekne, kde jsou soubory ve vašem počítači uloženy, a z tohoto místa otevřete program „1 řádek“. Jednoduše vyberte „Soubor“, poté „Otevřít“a vyberte program „1 řádek“, který chcete otevřít.

Jakmile je program otevřený, můžete pomocí ikony „ruka“přesouvat celý obrázek na obrazovce programu a pomocí ikony „šipka“můžete kliknutím na jednotlivé objekty zjistit, jak fungují (a také provádět změny).

Krok 7: Pochopení softwaru ovladače „On Line“01 Line

Pochopení
Pochopení

Program „1 řádek“používá způsob ovládání „On-Off“. V tomto případě jsou na výběr buď „Otočit doleva“nebo „Otočit doprava“. Grafika obsahuje popis prvků programu:

Krok 8: Úprava softwaru ovladače „On Line“01 Line

Úpravy
Úpravy

Změňte požadovanou hodnotu a porovnejte výsledky.

Ve výše uvedeném kroku 2 jste objevili některé hodnoty světelného měřiče v reálném světě. Zaznamenali jste hodnoty v částech b a c, čísla pro minimální a maximální hodnoty, které by robot viděl při běhu dráhy.

5 Vypočítejte DOBROU žádanou hodnotu (průměr min a max): _

6 Vyberte ŠPATNOU hodnotu set-pinty (číslo velmi blízké minimu nebo maximu): _

Změňte požadovanou hodnotu na jednu z těchto hodnot kliknutím na ikonu se šipkou na pole pro výpočet chyb a změnou čísla, které se odečítá (viz obrázek níže). Nyní připojte robota k počítači pomocí kabelu USB, zkontrolujte, zda je robot zapnutý, a stáhněte do robota novou verzi programu „1 řádek“. Uvidíte, jak dlouho robotovi obejde trať ve směru hodinových ručiček, jednou s DOBROU nastavenou hodnotou a jednou se ŠPATNOU žádanou hodnotou.

7 Dokončete časové testy s DOBRÝMI a ŠPATNÝMI nastavenými hodnotami

A. Čas jednou úplně projet po trati (DOBRÝ set-point): _

b. Čas jednou úplně projet po trati (BAD Set-Point): _

Vaše postřehy / závěry? _

Krok 9: Porozumění „02 Line“On-Off pomocí softwaru ovladače mrtvé zóny

Pochopení
Pochopení

Pokud by se AC a teplo ve vašem domě neustále zapínalo a vypínalo celý den, mohlo by to definitivně zničit váš systém HVAC (nebo alespoň zkrátit jeho životnost). Většina termostatů je vyrobena s vestavěnou „mrtvou zónou“. Pokud je například nastavená hodnota 70 stupňů Fahrenheita, termostat nemusí zapnout střídavý proud, dokud nedosáhne 72 stupňů, ani nezapne teplo, dokud teplota neklesne na 68 stupňů. Pokud je mrtvá zóna příliš široká, dům se může stát nepohodlným.

V našem případě použijeme program 02 na přidání mrtvé zóny, během které bude robot jednoduše jet rovně.

Nyní prohlédněte „02 řádek“softwarového souboru, jak je popsáno na obrázku a jak je obsaženo v přiloženém souboru.

Tento softwarový soubor naprogramuje robota, aby sledoval linii pomocí ovládání On-Off s diferenciální mezerou. Toto je také známé jako mrtvé pásmo a to znamená, že se robot otočí doleva nebo doprava v závislosti na chybě, ale pokud je chyba malá, robot půjde rovnou.

Program „02 line“nejprve vypočítá výše uvedené odečtením nastaveného bodu od měření světla a poté provede srovnání, jak je uvedeno výše. Prohlédněte si program na PC a zaznamenejte hodnoty, které vidíte.

Jaká je aktuální (původní) hodnota žádané hodnoty programů „2 řádků“? _

Jaká je aktuální (původní) hodnota programů „2 řádků“„Velká“pozitivní chyba? _

Jaká je aktuální (původní) hodnota programů „2 řádky“„Velká“negativní chyba? _

Jaký rozsah chyb mrtvého pásma způsobí, že robot půjde rovně? OD PRO _

U výše uvedené chyby „Velké“proveďte tři (3) časové zkoušky s různými hodnotami. Vypočítáte aktuální nastavení „2 řádků“a dvě další nastavení. Pro svého robota jste již vybrali DOBROU nastavenou hodnotu. Nyní si vyberete dva různé rozsahy mrtvého pásma a zaznamenáte čas, za který robot vyrobí jedno kolo ve směru hodinových ručiček:

Původní nastavení pro linku 02 _

Mrtvý pás +4 až -4 _

Mrtvý pás +12 až -12 _

Krok 10: Pochopení softwaru proporcionálního ovladače „03 Line“

Pochopení
Pochopení

S proporcionálním ovládáním nezapínáme nebo nevypínáme teplo, možná máme několik nastavení, jak moc se pec zapne (jako velikost plamenů na sporáku). V případě robota nemáme jen tři nastavení motoru (levý, pravý a přímý). Místo toho můžeme ovládat rychlost levého a pravého kola, abychom získali širokou škálu otáček. Čím větší je chyba, tím rychleji se chceme vrátit zpět na linku.

Podívejme se na proporcionální řízení s programem „03 řádek“

Program pro řádek „03“je komplikovanější, protože nejenže nastavuje metodu „Proporcionální“, ale také obsahuje veškerý software pro ovládání proporcionálně-integrálně, proporcionálně-diferenciálně a proporcionálně-integrálně-diferenciálně (PID). Když načtete software, bude pravděpodobně příliš velký, aby se vešel na obrazovku najednou, ale ve skutečnosti má tři části, jak ukazuje přiložená grafika.

A - Matematika pro výpočet chyby a „počet“k nalezení integrálu a derivace chyby v čase.

B - Matematika pro výpočet otáček levého motoru na základě nastavení PID řízení Kp, Ki a Kd

C - Matematika k testování limitů otáček motoru a odeslání správných otáček motoru na levý a pravý motor.

Všechny tři z nich mají své vlastní nekonečné smyčky (po inicializaci) a můžete se procházet pomocí ikony „ruka“, ale přepnutím zpět na ikonu „šipka“prozkoumáte obsah pole a změníte nastavení.

Krok 11: Úprava programu 03 Line (Proportional Control)

Úprava programu 03 Line (Proportional Control)
Úprava programu 03 Line (Proportional Control)

Ve střední části (část B v předchozím popisu) si všimnete, že v programu „03 řádek“jsou nastavení Ki a Kd 0.

Nechme je tak. Změníme pouze hodnotu Kp, proporcionální část ovladače.

Kp rozhoduje o tom, jak plynule robot mění rychlost, když se vzdaluje od čáry. Pokud je Kp příliš velký, pohyb bude extrémně trhaný (podobný ovladači On-Off). Pokud je Kp příliš malý, bude robot provádět opravy příliš pomalu a bude se unášet daleko od čáry, zejména na křivkách. Může se dokonce unášet tak daleko, že úplně ztratí šňůru!

13 Jakou nastavenou hodnotu používá program „03 line“? (odečteno po čtení nastavení světla ve smyčce A) _

14 Jaká je hodnota Kp v aktuálním programu „03 řádek“? _

Časové zkoušky pro proporcionální ovladač (program „3 řádky“)

K provedení časovky využijete původní nastavení pro program „03 řádek“uložený v paměti vašeho robota a také použijete dvě další úpravy programu „03 řádek“pro celkem tři měření časových pokusů. Úpravy, které máte provést, zahrnují

DRIFTY - Nalezení hodnoty Kp, díky které se robot velmi pomalu unáší a možná ztratí dohled nad linií (ale doufejme, že ne). Vyzkoušejte Kp různé hodnoty mezi 0,5 a 2,5 (nebo jinou hodnotu), dokud nezískáte tu, kde robot driftuje, ale zůstane na lince.

JERKY - Nalezení hodnoty Kp, která robota trhne tam a zpět, velmi podobné pohybu typu On -Off. Zkuste hodnotu Kp někde mezi 1,5 a 3,5 (nebo jinou hodnotu), dokud nedostanete takovou, kde robot začne projevovat pohyb tam a zpět, ale ne příliš dramaticky. Toto je také známé jako „kritická“hodnota Kp.

Časové zkoušky pro celou zatáčku po směru hodinových ručiček jsou potřeba pouze s původními hodnotami „3 řádků“a dvěma novými sadami hodnot (DRIFTY a JERKY), které objevíte tím, že robot sleduje pouze krátkou stopu. Nezapomeňte si do svého robota vždy stahovat změny!

15 Zaznamenejte hodnoty proporcionální kontroly a časové zkoušky pro program „3 řádky“(nezapomeňte stáhnout změny do robota!) Pro každou z těchto tří hodnot Kp (původní hodnota řádku 03 a dvě hodnoty, které určíte metodou pokusu a omylu) být DRIFTY a JERKY).

Krok 12: Pokročilé PID regulátory

Pokročilé PID regulátory
Pokročilé PID regulátory
Pokročilé PID regulátory
Pokročilé PID regulátory

Před zahájením tohoto kroku nezapomeňte dokončit předchozí kroky a zaznamenat všechny požadované informace s konkrétním robotem, kterého hodláte použít pro tuto laboratoř. Každý robot je mírně odlišný, pokud jde o mechanické aspekty, motorické aspekty a zejména výsledky světelných senzorů na trati.

Čísla, která budete potřebovat z předchozích experimentů

16 Maximální odečet světelného senzoru (od kroku 2) _

17 Minimální čtení světelného senzoru (od kroku 5) _

18 DOBRÉ nastavení pro set-point (průměr z výše uvedeného) _

19 DRIFTY nastavení pro Kp (od kroku 15) _

20 nastavení JERKY (kritické) pro Kp (od kroku 15) _

Pochopení PID regulátoru

Možná jste se o řadiči PID (Proportional Integral Differential) dozvěděli v rámci kurzu Industrial Controls a dobrý rychlý přehled je online na Wikipedii (https://en.wikipedia.org/wiki/PID_controller).

V případě tohoto experimentu je naměřená hodnota množství světla odraženého od podlahy. Nastavená hodnota je požadované množství světla, když je robot přímo nad okrajem černé pásky. Chyba je rozdíl mezi aktuální hodnotou světla a nastavenou hodnotou.

U proporcionálního ovladače byla rychlost levého motoru úměrná chybě. Konkrétně:

Error = Light Reading-Set-Point

V této grafice byla žádaná hodnota nastavena na 50.

Později, abychom našli rychlost levého motoru, vynásobíme chybu proporcionální konstantou „Kp“konkrétně:

L Motor = (Kp * Chyba) + 35

Kde v této grafice je Kp nastaveno na 1,5 a přidání 35 se děje v jiné části programu. Hodnota 35 se přičte k převodu čísla, které je někde v rozmezí -40 až +40, což je číslo, které je někde mezi 10 a 60 (rozumné otáčky motoru).

Integral je jakousi vzpomínkou na minulost. Pokud byla chyba delší dobu špatná, měl by robot zrychlit směrem k požadované hodnotě. Ki se používá k vynásobení integrálem (integrál je průběžný součet chyb - v tomto případě se snižuje o 1,5 každé iterace, takže robot bude mít „vybledlou paměť“minulých chyb).

Derivát je druh budoucí předpovědi. Předpovídáme budoucí chybu porovnáním poslední chyby se současnou chybou a předpokládáme, že rychlost změny chyby bude poněkud lineární. Čím větší je budoucí chyba, o které se předpovídá, tím rychleji se potřebujeme přesunout na požadovanou hodnotu. Kd se používá k vynásobení derivací (derivace je rozdíl mezi aktuální chybou a předchozí chybou).

L Motor = (Kp * Chyba) + (Ki * Integrální) + (Kd * Derivát) + 35

Krok 13: Nalezení nejlepších parametrů PID

Nalezení nejlepších parametrů PID
Nalezení nejlepších parametrů PID
Nalezení nejlepších parametrů PID
Nalezení nejlepších parametrů PID
Nalezení nejlepších parametrů PID
Nalezení nejlepších parametrů PID

K nalezení parametrů PID lze použít řadu způsobů, ale naše situace má jedinečné aspekty, které nám umožňují použít „manuálnější“experimentální způsob hledání parametrů. Unikátní aspekty, které máme, jsou:

  • Experimentátoři (vy) dobře rozumějí způsobu, jakým stroj funguje
  • Pokud se ovladač zblázní, nehrozí žádné zranění ani poškození robota kvůli špatnému nastavení ovladače
  • Světelný senzor je takové nedbalé snímací zařízení a existuje pouze jeden světelný senzor, takže můžeme jen doufat, že získáme okrajově dobrý konečný výsledek. Proto je pro naše experimenty vhodné „nejlepší úsilí“

Nejprve jsme již použili „03 line“k rozhodnutí o nejlepší Kp (hodnoty GOOD Set-point a JERKY Kp, krok 18 a 20 výše). Viz první obrázek s pokyny, jak jsme našli hodnotu JERKY pro Kp.

Pomocí softwaru „04 line“určete Ki. Nejprve upravíme „4 řádky“, aby měly hodnoty, které jsme zaznamenali v položkách 18 a 20 výše. Dále budeme pomalu zvyšovat Ki, dokud nedostaneme hodnotu, která nás opravdu velmi rychle přesune na požadovanou hodnotu. Pokyny k výběru hodnoty Ki viz druhá grafika.

21 NEJRYCHLEJŠÍ Hodnota Ki, která se na set-pointu usadí nejrychleji (i při určitém překročení) _

Pomocí softwaru „05 line“určete Kd. Nejprve upravte „5 řádek“hodnotami z kroků 18, 20 a 21, poté zvyšujte Kd, dokud nezískáte konečného pracovního robota, který dosáhne požadované hodnoty rychle a s velmi malým překročením, pokud existuje. Třetí obrázek ukazuje návod, jak vybrat Kd.

22 OPTIMÁLNÍ hodnota Kd _

23 JAK DLOUHO BUDE VÁŠ ROBOT VYKLÁZAT HNED TEĎ ??? _

Krok 14: Závěr

Laboratorní experiment proběhl velmi dobře. S přibližně 20 studenty, pomocí 10 (deset) pracovních stanic + nastavení robotů zobrazených na první grafice, nikdy nedošlo k logjamu zdrojů. Po časovkách kroužili po trati nejvýše tři roboti.

Doporučuji rozdělit část řízení PID (minimálně programy „04 řádek“a „05 řádek“) na samostatný den, kvůli souvisejícím konceptům.

Zde je sekvence videí ukazujících postup kontrol (od „01 řádku“do „05 řádku“) pomocí hodnot, které jsem vybral - ale každý student přišel s trochu jinými hodnotami, což se dá očekávat!

PAMATUJTE: Jedním z hlavních důvodů, proč se velmi dobře připraveným robotickým týmům špatně daří na soutěžních akcích, je skutečnost, že neprovádějí kalibraci v přesném místě, kde se akce uskuteční. Osvětlení a mírné změny polohy senzorů v důsledku strkání mohou výrazně ovlivnit hodnoty parametrů!

  • 01 řádek (Zapnuto -Vypnuto) Řízení PID pomocí robotů Lego -
  • 02 line (On-Off with Dead-Zone) PID Control with Lego Robots-https://videos.ecpi.net/Watch/n4A5Lor7
  • Řízení PID 03 (proporcionální) s roboty Lego -
  • Řízení PID 04 (proporcionálně -integrální) s roboty Lego -
  • Řízení PID 05 (proporcionální-integrální-derivační) s roboty Lego-https://videos.ecpi.net/Watch/s6LRi5r7

Doporučuje: