VEX AIM očima učitele informatiky: Omni kola, AI Vision a samořídící auta na školní lavici

Máme na škole VEX 123 pro první stupeň, VEX GO na jednoduché konstrukce a VEX IQ pro kroužek robotiky. Když jsem poprvé slyšel o VEX AIM, první otázka, kterou jsem si položil, nebyla „co to umí", ale „proč bych měl chtít další krabici do kabinetu, když nám ten stávající systém funguje". Odpověď jsem dostal během prvních dvaceti minut testování a musím říct, že mě překvapila víc, než jsem čekal. Ne proto, že by AIM uměl všechno lépe, ale proto, že umí dvě konkrétní věci, které žádný jiný VEX robot neumí, a právě ty dvě věci otevírají úplně nová témata pro výuku informatiky na základní škole.

Obsah článku:

 

Holonomní podvozek: proč tři omni kola mění všechno

Než se pustím do toho, co AIM umí programátorsky, musím začít podvozkem, protože právě ten způsobil na kroužku první „wow" moment.

Všechny roboty, se kterými jsme dosud pracovali, fungují na stejném principu: dvě/čtyři poháněná kola, robot se otáčí na místě změnou rychlosti jednotlivých kol a jede vždy ve směru, kam je natočený čelem. Chcete jet doprava? Musíte se nejdřív otočit doprava. Je to intuitivní, protože tak funguje auto – ale zároveň to znamená, že každá změna směru vyžaduje nejdříve rotaci celého těla robota, což komplikuje programování i reálný pohyb v těsných prostorech.

AIM má tři všesměrová kola (takzvaná omni wheels) uspořádaná do trojúhelníku a tím tvoří tzv. holonomní podvozek, tedy podvozek se třemi stupni volnosti v rovině – robot se může nezávisle pohybovat dopředu a dozadu, do stran a současně rotovat kolem své osy, přičemž všechny tři pohyby lze libovolně kombinovat. V praxi to vypadá tak, že robot plynule klouže do strany bez jakéhokoliv otáčení, jede šikmo pod libovolným úhlem nebo se pohybuje po oblouku a zároveň se otáčí čelem k cíli. Tenhle pohyb je pro děti fascinující, protože ho znají z počítačových her (jak jsem se dozvěděl, v herním žargonu se tomu říká „strafing"), ale u fyzického robota ho většina z nich nikdy neviděla.

Na kroužku jsem to využil hned dvěma způsoby. Zaprvé jako motivační moment: dal jsem žákům ovladač a řekl „jeď doprava" a místo očekávaného otočení se robot prostě posunul do strany, což okamžitě vyvolalo diskusi o tom, jak je to možné a proč to náš IQ neumí. Zadruhé (a tohle je didakticky cennější) jsme si vzali oba roboty – IQ a AIM – a dali jim stejný úkol: dojeď z bodu A do bodu B, kde B leží šikmo vpravo vzadu. IQ musel provést sekvenci „otoč se → jeď → otoč se → jeď", zatímco AIM prostě jel šikmo napřímo. Žáci si sami změřili čas a najednou jsme z informatiky zabloudili do matematiky (k výpočtu délky přepony pravoúhlého trojúhelníku).

 

AI Vision Sensor: vím co je přede mnou

Pokud omni kola považuji za příjemné překvapení, AI Vision Sensor je pro mě hlavní důvod, proč AIM stojí za pozornost, a proč si troufám tvrdit, že posouvá školní robotiku o celou generaci dál.

Abych vysvětlil proč, musím nejdřív připomenout, jak fungují senzory u robotů, se kterými už pracujeme. VEX IQ má Distance Sensor – u první generace ultrazvukový, u druhé laserový (oba posílají signál a měří, za jak dlouho se vrátí odraz). Robot se tím pádem dozví jedinou informaci: „25 centimetrů přede mnou je něco." Neví co. Nerozliší zeď od míčku, ruku od barelu, modrý předmět od oranžového. Celé programování s Distance Sensorem se tudíž točí kolem jediného konceptu: „je tam něco, nebo není, a jak daleko."

AI Vision Sensor ve VEX AIM je kvalitativně úplně jiný přístroj. Je to kamera s rozpoznáváním obrazu přímo na čipu, která v reálném čase detekuje a rozlišuje dva typy objektů: barevné předměty (rozpozná oranžový barel od modrého, sportovní míček od pozadí na základě naučených barevných signatur) a AprilTagy (značky s unikátním ID). Pro každý detekovaný objekt senzor vrací souřadnice středu v obraze (centerX, centerY), rozměry ohraničujícího rámečku (width, height), u AprilTagů navíc ID značky a úhel natočení. Všechna tato data jsou okamžitě k dispozici v blocích VEXcode AIM.

Pro učitele informatiky to najednou otevírá zcela nový svět, čemu se s žáky věnovat: co je to bounding box, jak se z pozice objektu v obraze odvodí směr jízdy, co znamená confidence score u AI klasifikace, jak se navigovat v prostoru podle vizuálních značek.

Jedinou věcí, co mě na kameře mrzí je, že si zatím nemohu natrénovat AI na vlastní objekty. Tím bych mohl splnit výstup INF-001-ZV9-004 z RVP, kde má žák natrénovat model strojového učení a vyhodnotit, jak dobře model funguje. Snad se této změny brzy dočkáme.

Analogie z reálné robotiky: Distance Sensor jako LiDAR, AI Vision jako kamera u samořídících aut....

Jakožto fanouška nových technologií mi rozdíl mezi Distance sensor a AI Vision ihned evokoval dva různé přístupy, které používají automobilky při zavádění autonomního řízení.

Kdybychom si udělali výlet do San Francisca, mohli bychom nasednout do autonomního taxíku společnosti Waymo. Ten má na střeše LiDAR senzor, který funguje stejně jako distance senzor u IQ (posílá paprsky a měří, za jak dlouho se vrátí). Narozdíl od VEXů to ale dělá do mnoha směrů naráz, takže si tím vytvoří obraz o tom, jak jsou od něj objekty daleko. Nepozná ale, které objekty to jsou. Kdybychom ale nasedli do vozu společnosti Tesla robotaxi, ten bude mít kolem dokola spoustu kamer. Ty fungují stejně jako AI Vision, poznají co to je za objekt a podle jeho velikosti v zorném poli dopočítají, jak je daleko.

Výhoda LiDARu je, že funguje i za zhoršené viditelnosti, ale kamera pozná o jaký objekt jde a díky tomu pochopí, co asi bude dělat – sloupek bude stát na místě, chodec se bude pohybovat.

Tuhle analogii jsem použil na kroužku a překvapilo mě, jak rychle ji žáci pochopili. Zřejmě proto, že o autonomních autech slyší v médiích neustále, ale nikdy neměli příležitost vidět ty principy v praxi.

 

Konkrétní aktivity: co jsme vyzkoušeli

Robotaxi challenge
Na lavici jsem rozmístil 3 AprilTagy jako „zastávky" a rozložil míčky a barely. Zadání: naprogramuj robota, aby pomocí AI Vision našel konkrétní barel, dojel k němu, sebral ho magnetickým kickerem a dovezl k zadané zastávce (AprilTag s konkrétním ID).

Tady je krásně vidět, jak robot s kamerou pracuje. Není třeba do programu zadávat kam má jet, ale jen pro co má jet. Na začátku se vždy bude otáčet, dokud daný prvek nenajde a pak si pro něj dojede. To funguje ať ho postavíme kamkoliv na plánu a nemusíme měnit kód.

LED jako debugovací nástroj
Robot má 6 programovatelných LED po obvodu a my jsme je využili jako vizuální zpětnou vazbu ke kódu: zelená = vidím cílový objekt, červená = nic nedetekuji, modrá = jedu k AprilTagu. Místo čtení chybových hlášek na monitoru žáci ladili program podle barev robota.

Srovnávací jízda IQ vs. AIM
Už jsem to zmínil výše, ale chci zdůraznit, že tenhle jednoduchý experiment (stejný úkol, dva roboty, měření času) je didakticky mimořádně silný, protože žáci sami uvidí a změří rozdíl.

 

Kde AIM zapadá do systému VEX

AIM se na první pohled jeví jako novější nástupce 123, což je do jisté míry pravda. Nic se nestaví, nejjednodušší ovládání (button coding) je na obou, a když z toho děti vyrostou, mohou snadno přejít na blokové programování. AIM má ale tu výhodu, že disponuje dalšími funkcemi, které jsou spíše pro pokročilé, takže bych pro něj sáhl i se staršími, což se s 123 neděje.

Konstrukce pomocí dílků je neodmyslitelnou součástí robotiky, takže GO ani IQ určitě nenahradí, ale je skvělým doplňkem pro srovnání funkčnosti jednotlivých sad.

 

 

Provozovatel webu AV Media, a.s. jako správce osobních údajů zpracovává na tomto webu cookies potřebné pro zlepšování prostředí webových stránek a pro analytické účely. Podmínky a poučení o správě osobních údajů