2.2.2021

foto Petr Bravenec

Petr Bravenec
Twitter: @BravenecPetr
+420 777 566 384
petr.bravenec@hobrasoft.cz

Úvod

Myšlenka na "autonomního" robota mě pronásleduje od středoškolských let. Jenže narozdíl od dob středoškolských (téměř 40 let zpět, letí to) dnes můžu použít více, než stavebnici Merkur bez motorků a žárovičky. Elektronika se neuvěřitelně zmenšila a zároveň získala obrovský výkon (40 let dozadu = doba ZX Spektra).

Ještě větší pokrok nastal na poli software. Zatímco dnešní elektronika z pohledu dávných věků (40 let už jsou dávné věky) je stále představitelná, i když těžko uvěřitelná, dnešní software je čirá magie. Neuronové sítě existovaly pouze v akademických pracích a programátoři o nich věděli pouze to, že fungují trochu jako lidský mozek.

Je nutné zmínit také dostupnost ostatních dílů na podobný projekt. Svět se zmenšil a je velmi jednoduché kontaktovat prodejce či výrobce na druhém konci světa. Prodávat podvozek, na kterém je Pásovec postavený, by se asi nevyplatilo, pokud by nebylo možné jej vyrobit ve velkém množství a nabídnout jej levně zájemcům na celém světě.

A nakonec musím vzpomenout i 3D tisk. Průšova tiskárna v naší kanceláři poslala pistoli s tavným lepidlem do výslužby, místo lepidla nastoupily díly vyrobené přesně na míru a šroubované či zacvakávací spoje.

Pásovec je tak dneska vybavený dvěma kamerami pro stereoskopické vidění, počítačem pro rozeznávání obrazu, snadno přizpůsobitelným softwarem a některé jeho důležité mechanické části byly vyrobené přímo v naší kanceláři.

Motivace

S neuronovými sítěmi pracuji několik posledních let. Neuronové sítě jsou vynikající vidle na přehazování ohromných množství dat. Velký komerční význam pro nás mají třeba neuronové sítě pro fotovoltaické elektrárny — zde jde ale o "nezáživnou" práci s "podivnými" daty.

S pomocí Pásovce si můžeme snadno vyzkoušet jinou oblast využití neuronových sítí — zpracování obrazu. Kamery v Pásovci dokáží posbírat dostatečné množství vlastních trénovacích dat, ke kterým bychom se jinak dostávali těžko. Přímo v kanceláři si tak můžeme vyzkoušet různé postupy pro zpracování obrazu na vlastních datech.

Náš mechanický obyvatel kanceláře dokáže zaujmout návštěvníky z řad zákazníků. V mnoha výrobních provozech jsou pracovní místa, kde osm hodin denně kouká nebohá obsluha stroje na nekončící proud výrobků a třídí je do kategorií dobrý/špatný podle vzhledu. Totéž by zvládla speciálně vycvičená neuronová síť. Nikdy nezapomenu zákazníkům zdůraznit, že mezi neuronovou sítí v pásovci a (případnou) neurovou sítí u nich v provozu je rozdíl pouze v trénovacích datech.

Několikrát ročně školívám C++, Qt a QML. Rád bych do svého školícího portfolia zahrnul i neuronové sítě (jenom to školení připravit — je to nejméně na měsíc práce). Pásovec je v tomto ohledu výborná školící pomůcka, která by při živém předvedení dokázala motivovat i žáky.

Představujeme Pásovce

Podvozek

Nezávisle poháněné pásy dvěma elektromotory. Halovými sondami snímané otáčky a smysl otáčení. Při výběru jsem se záměrně vyhýbal příliš malým "hračkám", chtěl jsem, aby podvozek něco uvezl:

Počítač

Nvidia Jetson Nano. Běžný počítač na úrovni Raspberry Pi, navíc je však vybavený porty pro dvě kamery a především výkonnou akcelerovanou grafickou kartou pro běh neuronové sítě. Rychlost neuronové sítě a zpracování obrazu v Nvidia Jetson Nano je mnohonásobně vyšší, než v Raspberry Pi libovolné generace. Existují dvě varianty desky. Jedna varianta má pouze jeden konektor pro kameru, varianta B01 má konektory dva. K počítači je připojená wifi síťová karta.

Jeden exemplář Nvidia Jetson Nano už u nás v kanceláři pracuje delší dobu na pozici vrátného:

Deska řízení motoru

Waveshare JetBot. Na desce je malý display, dva obvody pro řízení motorů, držák pro tři Li-Pol baterie 18550, obvody pro nabíjení a jednoduchý voltmetr pro kontrolu napětí baterie. Deska navíc poskytuje napětí 5 V pro napájení Nvidia Jetson Nano. Vše komunikuje na sběrnici I²C.

Kamera

Dvě kamery na jedné desce, navíc je deska vybavená akcelerometrem, gyroskopem a magnetometrem. Kamery se napojují dvěma plochými kabely, ostatní přístroje na desce komunikují na sběrnici I²C.

Napájení

Akumulátory na desce řízení motorů lze nabíjet přímo na místě. Kritické je však napětí nabíječky, mělo by být 12,6 V. Nižším napětím nelze akumulátor plně nabít, vyšším napětím se akumulátory zničí! Pro nabíjení používám průmyslový zdroj Mean Well HDR-03-12. Ten lze jemně nastavit na požadované výstupní napětí. Zdroj je přicvaknutý na zeď, potřebný kus DIN lišty je vytištěný na 3D tiskárně. Původní zdroj už jsem v nabídce nenašel, takže jsem našel aspoň odkaz na podobný zdroj.

Důležitá poznámka: Napájecí zdroj je důležitý i pro samotné spuštění desky JetBot. I když jsou baterie plně nabité, deska bez napájecího zdroje nespustí měnič napětí 5 V pro napájení Nvidia Jetson Nano. Desku JetBot je nutné pro nastartování alespoň na chvíli připojit k napájecímu napětí 12,6 V.

Ostatní

Pro rozeznávání obrazu je vhodné mít dostatek světla. Původní LED na podvozku míří nahoru. Použil jsem vytištěný díl a šuplíkové výkonové LED, napájení tříčlánkovou Li-Pol baterií pro modeláře a jednoduchý DC-DC měnič napětí.

Software

K desce JetBot se dodává softvare v podobě Jupyter zápisníku. Zde lze dobře vysledovat pricipy, na jakých deska pracuje. Dnes používám z dodaného software především řízení displeje a řízení motorů.

Závěr

Tento článek je první částí z plánovaného seriálu. V dalších částech podrobněji ukážu jednoduché ovládání klávesnicí nebo gamepadem, zpracování obrazu, rozeznávání překážek a další.

Hobrasoft s.r.o. | Kontakt