STEM Intenzívny vzdelávací prístup

Vo svete inžinierskeho vzdelávania existuje veľa vynikajúcich kurzov, ale často okolo nich vytvorený učebný plán trpí jednou vážnou chybou - nedostatočnou súdržnosťou medzi rôznymi témami. Niekto by mohol namietať: ako je to možné?

Pri vytváraní školiaceho programu sú pre každý kurz uvedené predpoklady a jasné poradie, v ktorom sa disciplíny musia študovať. Napríklad, aby ste mohli postaviť a naprogramovať primitívneho mobilného robota, musíte poznať trochu mechaniky na vytvorenie jeho fyzickej štruktúry; základy elektriny na úrovni Ohmových/Kirchhoffových zákonov, reprezentácia digitálnych a analógových signálov; operácie s vektormi a maticami s cieľom popísať súradnicové systémy a pohyby robota v priestore; základy programovania na úrovni prezentácie dát, jednoduché algoritmy a riadiace prenosové štruktúry a pod. opísať správanie.

Je toto všetko zahrnuté v univerzitných kurzoch? Samozrejme, že mám. Avšak s Ohmovými/Kirchhoffovými zákonmi dostávame termodynamiku a teóriu poľa; okrem operácií s maticami a vektormi sa treba vysporiadať s Jordanovými formami; v programovaní študovať polymorfizmus – témy, ktoré nie sú vždy potrebné na riešenie jednoduchého praktického problému.

Vysokoškolské vzdelanie je rozsiahle – študent ide na široký front a často nevidí zmysel a praktický význam vedomostí, ktoré dostáva. Rozhodli sme sa premeniť paradigmu vysokoškolského vzdelávania v STEM (zo slov Science, Technology, Engineering, Math) a vytvoriť program, ktorý je založený na koherencii vedomostí, umožňujúcej zvýšenie úplnosti v budúcnosti, tj. znamená intenzívne zvládnutie predmetov.

Učenie sa nového predmetu možno prirovnať k objavovaniu miestnej oblasti. A tu sú dve možnosti: buď máme veľmi podrobnú mapu s veľkým množstvom detailov, ktoré je potrebné preštudovať (a to si vyžaduje veľa času), aby sme pochopili, kde sú hlavné orientačné body a ako spolu súvisia. ; alebo môžete použiť primitívny plán, na ktorom sú vyznačené iba hlavné body a ich vzájomné polohy - takáto mapa stačí na to, aby sa okamžite začala pohybovať správnym smerom a postupne objasňovala podrobnosti.

Intenzívny prístup STEM učenia sme testovali na zimnej škole, ktorú sme organizovali spolu so študentmi MIT s podporou Výskum JetBrains.

Príprava materiálu


Prvou časťou školského programu bol týždeň vyučovania v hlavných oblastiach, ktoré zahŕňali algebru, elektrické obvody, počítačovú architektúru, programovanie v Pythone a úvod do ROS (Robot Operating System).

Smery neboli zvolené náhodou: navzájom sa dopĺňali a mali pomôcť študentom vidieť súvislosti medzi na prvý pohľad zdanlivo odlišnými vecami – matematikou, elektronikou a programovaním.

Samozrejme, hlavným cieľom nebolo veľa prednášať, ale dať študentom možnosť, aby si novonadobudnuté poznatky sami uplatnili v praxi.

V časti algebra si študenti mohli precvičiť maticové operácie a riešenie sústav rovníc, ktoré boli užitočné pri štúdiu elektrických obvodov. Po oboznámení sa so štruktúrou tranzistora a logickými prvkami vybudovanými na jeho základe mohli študenti vidieť ich použitie v procesorovom zariadení a po naučení sa základov jazyka Python v ňom napísať program pre skutočného robota.

STEM Intenzívny vzdelávací prístup

Duckietown


Jedným z cieľov školy bolo minimalizovať prácu so simulátormi tam, kde je to možné. Preto bola pripravená veľká sada elektronických obvodov, ktoré mali študenti poskladať na breadboarde z reálnych súčiastok a otestovať ich v praxi a za základ projektov bol vybraný Duckietown.

Duckietown je open-source projekt zahŕňajúci malých autonómnych robotov nazývaných Duckiebots a siete ciest, po ktorých cestujú. Duckiebot je platforma s kolieskami vybavená mikropočítačom Raspberry Pi a jednou kamerou.

Na jeho základe sme pripravili súbor možných úloh, ako je zostavenie automapy, hľadanie predmetov a zastavovanie pri nich a množstvo ďalších. Študenti si mohli navrhnúť aj vlastný problém a nielen napísať program na jeho vyriešenie, ale ho aj rovno spustiť na skutočnom robote.

Vyučovanie


Počas prednášky učitelia prezentovali látku pomocou vopred pripravených prezentácií. Niektoré hodiny boli zaznamenané na video, aby si ich študenti mohli pozrieť doma. Počas prednášok študenti používali materiály na svojich počítačoch, kládli otázky a riešili problémy spoločne aj samostatne, niekedy aj pri tabuli. Na základe výsledkov práce bolo vypočítané hodnotenie každého študenta samostatne v rôznych predmetoch.

STEM Intenzívny vzdelávací prístup

Pozrime sa podrobnejšie na vedenie tried v každom predmete. Prvým predmetom bola lineárna algebra. Študenti strávili jeden deň štúdiom vektorov a matíc, sústav lineárnych rovníc atď. Praktické úlohy boli štruktúrované interaktívne: navrhnuté problémy sa riešili individuálne, učiteľ a ostatní študenti poskytovali pripomienky a tipy.

STEM Intenzívny vzdelávací prístup

Druhým predmetom je elektrina a jednoduché obvody. Žiaci sa naučili základy elektrodynamiky: napätie, prúd, odpor, Ohmov zákon a Kirchhoffove zákony. Praktické úlohy boli čiastočne robené v simulátore alebo dokončené na doske, ale viac času sa venovalo budovaniu reálnych obvodov, ako sú logické obvody, oscilačné obvody atď.

STEM Intenzívny vzdelávací prístup

Ďalšou témou je Počítačová architektúra – v istom zmysle most spájajúci fyziku a programovanie. Študenti študovali základný základ, ktorého význam je viac teoretický ako praktický. V rámci cvičenia študenti samostatne navrhli aritmetické a logické obvody v simulátore a za splnené úlohy získavali body.

Štvrtý deň je prvým dňom programovania. Python 2 bol vybraný ako programovací jazyk, pretože sa používa pri programovaní ROS. Tento deň bol štruktúrovaný nasledovne: učitelia prezentovali látku, uvádzali príklady riešenia úloh, študenti ich počúvali, sedeli pri svojich počítačoch a opakovali, čo učiteľ napísal na tabuľu alebo snímku. Potom žiaci riešili podobné úlohy samostatne a riešenia následne vyhodnotili učitelia.

Piaty deň bol venovaný ROS: chalani sa učili o programovaní robotov. Celý školský deň študenti sedeli pri počítačoch a spúšťali programový kód, o ktorom hovoril učiteľ. Dokázali samostatne prevádzkovať základné jednotky ROS a zoznámili sa aj s projektom Duckietown. Na záver tohto dňa boli žiaci pripravení začať projektovú časť školy – riešenie praktických úloh.

STEM Intenzívny vzdelávací prístup

Popis vybraných projektov

Študenti mali vytvoriť trojčlenné tímy a vybrať si tému projektu. V dôsledku toho boli prijaté tieto projekty:

1. Kalibrácia farieb. Duckiebot potrebuje kalibrovať kameru pri zmene svetelných podmienok, takže existuje automatická kalibračná úloha. Problém je, že farebné rozsahy sú veľmi citlivé na svetlo. Účastníci implementovali pomôcku, ktorá zvýraznila požadované farby v rámci (červená, biela a žltá) a vytvorila rozsahy pre každú farbu vo formáte HSV.

2. Duck Taxi. Myšlienkou tohto projektu je, že Duckiebot by mohol zastaviť v blízkosti objektu, zdvihnúť ho a nasledovať určitú trasu. Ako objekt bola zvolená žiarivo žltá kačica.

STEM Intenzívny vzdelávací prístup

3. Zostrojenie cestného grafu. Úlohou je zostrojiť graf ciest a križovatiek. Cieľom tohto projektu je vytvoriť cestný graf bez poskytovania a priori environmentálnych údajov Duckiebotovi, pričom sa spolieha iba na údaje z kamery.

4. Hliadkové auto. Tento projekt vymysleli samotní študenti. Navrhli naučiť jedného Duckiebota, „hliadku“, aby prenasledoval iného, ​​„narušiteľa“. Na tento účel bol použitý mechanizmus rozpoznávania cieľa pomocou markera ArUco. Hneď po dokončení rozpoznávania sa „votrelcovi“ pošle signál, aby dokončil prácu.

STEM Intenzívny vzdelávací prístup

Kalibrácia farieb

Cieľom projektu Color Calibration bolo prispôsobiť rozsah rozpoznateľných farieb značenia novým svetelným podmienkam. Bez takýchto úprav sa rozpoznávanie zastávkových čiar, oddeľovačov jazdných pruhov a hraníc ciest stalo nesprávnym. Účastníci navrhli riešenie založené na predspracovaní značkovacích farebných vzorov: červenej, žltej a bielej.

Každá z týchto farieb má prednastavený rozsah hodnôt HSV alebo RGB. Pomocou tohto rozsahu sa nájdu všetky oblasti rámu obsahujúce vhodné farby a vyberie sa najväčšia. Táto oblasť je braná ako farba, ktorú si treba zapamätať. Na odhad nového farebného rozsahu sa potom použijú štatistické vzorce, ako je výpočet priemeru a štandardnej odchýlky.

Tento rozsah je zaznamenaný v konfiguračných súboroch kamery Duckiebot a možno ho použiť neskôr. Opísaný prístup bol aplikovaný na všetky tri farby, čím sa nakoniec vytvorili rozsahy pre každú z značkovacích farieb.

Testy ukázali takmer dokonalé rozoznanie značkovacích línií, s výnimkou prípadov, keď boli pri značkovacích materiáloch použité lesklé pásky, ktoré odrážali svetelné zdroje tak silno, že z uhla pohľadu kamery sa znaky javili ako biele, bez ohľadu na ich pôvodnú farbu.

STEM Intenzívny vzdelávací prístup

Duck Taxi

Projekt Duck Taxi zahŕňal vytvorenie algoritmu na vyhľadanie kačacieho pasažiera v meste a jeho následné prevoz na požadované miesto. Účastníci rozdelili tento problém na dva: detekciu a pohyb po grafe.

Študenti vykonali detekciu kačíc na základe predpokladu, že kačica je akákoľvek oblasť v rámčeku, ktorú možno rozpoznať ako žltú, s červeným trojuholníkom (zobákom). Akonáhle sa takáto oblasť zistí v nasledujúcom zábere, robot by sa k nej mal priblížiť a potom sa na niekoľko sekúnd zastaviť, čím simuluje pristátie pasažiera.

Potom, čo majú cestný graf celého duckietownu a polohu robota vopred uloženú v pamäti, a tiež dostanú cieľ ako vstup, účastníci zostavia cestu z miesta odchodu do miesta príchodu pomocou Dijkstrovho algoritmu na nájdenie ciest v grafe. . Výstup je prezentovaný ako súbor príkazov - odbočky na každej z nasledujúcich križovatiek.

STEM Intenzívny vzdelávací prístup

Graf ciest

Cieľom tohto projektu bolo vybudovať graf – sieť ciest v Duckietowne. Uzly výsledného grafu sú križovatky a oblúky sú cesty. Na to musí Duckiebot preskúmať mesto a analyzovať jeho trasu.

Počas práce na projekte sa uvažovalo o myšlienke vytvorenia váženého grafu, ale potom sa zavrhlo, v ktorom sú náklady na hranu určené vzdialenosťou (časom na cestu) medzi križovatkami. Realizácia tejto myšlienky sa ukázala ako príliš náročná na prácu a v rámci školy na ňu nebol dostatok času.

Keď sa Duckiebot dostane na ďalšiu križovatku, vyberie si cestu vedúcu z križovatky, ktorou ešte neprešiel. Keď prejdú všetky cesty na všetkých križovatkách, vygenerovaný zoznam susediacich križovatiek zostane v pamäti robota, ktorý sa prevedie na obrázok pomocou knižnice Graphviz.

Algoritmus navrhnutý účastníkmi nebol vhodný pre náhodný Duckietown, ale fungoval dobre pre malé mesto so štyrmi križovatkami používanými v rámci školy. Myšlienkou bolo pridať značku ArUco na každú križovatku obsahujúcu identifikátor križovatky na sledovanie poradia, v ktorom križovatky prešli.
Schéma algoritmu vyvinutého účastníkmi je znázornená na obrázku.

STEM Intenzívny vzdelávací prístup

Hliadkové auto

Cieľom tohto projektu je vyhľadať, prenasledovať a zadržať porušovateľa v meste Duckietown. Hliadkový robot sa musí pohybovať po vonkajšom okruhu mestskej cesty a hľadať známeho narušiteľa. Po zistení votrelca musí hliadkový robot nasledovať votrelca a prinútiť ho zastaviť.

Práca začala hľadaním nápadu na detekciu bota v ráme a rozpoznanie votrelca v ňom. Tím navrhol vybaviť každého robota v meste jedinečnou značkou na zadnej strane - rovnako ako skutočné autá majú štátne evidenčné čísla. Na tento účel boli zvolené markery ArUco. Predtým sa používali v duckietown, pretože sa s nimi ľahko pracuje a umožňujú vám určiť orientáciu značky v priestore a vzdialenosť k nej.

Ďalej bolo potrebné zabezpečiť, aby sa hliadkový robot pohyboval striktne vo vonkajšom kruhu bez zastavenia na križovatkách. V predvolenom nastavení sa Duckiebot pohybuje v jazdnom pruhu a zastavuje na čiare zastávky. Potom pomocou dopravných značiek určí konfiguráciu križovatky a zvolí smer prejazdu križovatkou. Za každú z opísaných fáz je zodpovedný jeden zo stavov konečného stroja robota. Aby sa tím zbavil zastávok na križovatke, zmenil stavový automat tak, že pri približovaní sa k stop čiare bot okamžite prepol do stavu jazdy priamo cez križovatku.

Ďalším krokom bolo vyriešenie problému so zastavením narušiteľského robota. Tím vychádzal z predpokladu, že hliadkový robot by mohol mať SSH prístup ku každému z robotov v meste, to znamená, že má nejaké informácie o tom, aké autorizačné údaje a aké ID má každý robot. Po zistení narušiteľa sa teda hliadkový bot začal pripájať cez SSH k narušiteľskému botovi a vypínal svoj systém.

Po potvrdení, že príkaz na vypnutie bol dokončený, sa zastavil aj hliadkový robot.
Algoritmus činnosti hliadkovacieho robota možno znázorniť ako nasledujúci diagram:

STEM Intenzívny vzdelávací prístup

Práca na projektoch

Práca bola organizovaná vo formáte podobnom Scrumu: každé ráno si študenti naplánovali úlohy na aktuálny deň a večer referovali o vykonanej práci.

V prvý a posledný deň si žiaci pripravili prezentácie, v ktorých popisovali úlohu a spôsob jej riešenia. V miestnostiach, kde sa pracovalo na projektoch, boli neustále prítomní učitelia z Ruska a Ameriky, aby pomohli študentom plniť si zvolené plány a odpovedali na otázky. Komunikácia prebiehala prevažne v angličtine.

Výsledky a ich demonštrácia

Práca na projektoch trvala jeden týždeň, po ktorom študenti prezentovali svoje výsledky. Všetci si pripravili prezentácie, v ktorých hovorili o tom, čo sa na tejto škole naučili, aké boli najdôležitejšie lekcie, čo sa im páčilo alebo nepáčilo. Potom každý tím predstavil svoj projekt. Všetky tímy splnili svoje úlohy.

Tím realizujúci kalibráciu farieb dokončil projekt rýchlejšie ako ostatní, takže mali čas aj na prípravu dokumentácie pre svoj program. A tím pracujúci na cestnom grafe sa aj v posledný deň pred demonštráciou projektu snažil vylepšiť a opraviť svoje algoritmy.

STEM Intenzívny vzdelávací prístup

Záver

Po skončení školy sme požiadali študentov, aby zhodnotili minulé aktivity a odpovedali na otázky, ako škola splnila ich očakávania, aké zručnosti získali atď. Všetci žiaci poznamenali, že sa naučili pracovať v tíme, rozdeľovať úlohy a plánovať si čas.

Študenti mali tiež ohodnotiť užitočnosť a náročnosť kurzov, ktoré absolvovali. A tu sa vytvorili dve skupiny hodnotení: pre niektorých kurzy nepredstavovali veľké ťažkosti, iní ich hodnotili ako mimoriadne ťažké.

To znamená, že škola zaujala správny postoj tým, že zostala prístupná začiatočníkom v určitom odbore, ale zároveň poskytuje materiály na zopakovanie a upevnenie skúseným študentom. Treba poznamenať, že kurz programovania (Python) takmer každý označil za nekomplikovaný, ale užitočný. Podľa študentov bol najťažší kurz „Počítačová architektúra“.

Keď sa študenti pýtali na silné a slabé stránky školy, mnohí odpovedali, že sa im páči zvolený štýl výučby, v ktorom učitelia poskytujú rýchlu a osobnú asistenciu a odpovedajú na otázky.

Študenti tiež poznamenali, že sa im páčila práca v režime denného plánovania svojich úloh a stanovovania si vlastných termínov. Ako nevýhody študenti zaznamenali nedostatok poskytnutých vedomostí, ktoré boli potrebné pri práci s robotom: pri pripájaní, pochopenie základov a princípov jeho fungovania.

Takmer všetci študenti konštatovali, že škola prekonala ich očakávania, čo naznačuje správny smer organizácie školy. Pri organizácii ďalšej školy by sa teda mali zachovať všeobecné zásady, brať do úvahy a ak je to možné, odstraňovať nedostatky zaznamenané študentmi a učiteľmi, prípadne zmeniť zoznam kurzov alebo načasovanie ich vyučovania.

Autori článku: tím laboratórium algoritmov mobilných robotov в Výskum JetBrains.

PS Náš firemný blog má nový názov. Teraz bude venovaný vzdelávacím projektom JetBrains.

Zdroj: hab.com

Pridať komentár