Umělá inteligence a strojové učení stále více uplatňuje v reálných aplikacích a tím významně proniká do oblasti vestavných a zejména kyberfyzikálních systémů. Typickým příkladem je subsystém analýzy obrazu pro samořiditelná auta nebo inteligentní senzory. Na rozdíl od oblasti big data disponují tyto systémy omezeným výpočetním výkonem a mají vysokou variabilitu v architektuře hardwaru, a navíc jsou na tyto systémy kladeny další požadavky zejména na zpracování v reálném čase, bezpečnost a spolehlivost, explainability, spotřebu a velikost čipu. Z těchto hledisek musí být výsledná implementace optimalizována tak, aby minimalizovala hardwarové zdroje při zachování funkčnosti a spolehlivosti pro splnění ekonomických cílů. Automatizovaný převod modelů strojového učení například hlubokých neuronových sítí do hardwaru ASIC a zejména pak programovatelného (FPGA) je v současné době velmi aktuálním tématem.
Předmětem navrhovaného tématu je výzkum algoritmů, postupů, metodik a nástrojů pro syntézu modelů umělé inteligence a strojového učení do programovatelného hardwaru. Aktuální je výzkum v oblasti aproximativních výpočtů, optimalizace hardware s využitím omezené přesnosti cílené dle hodnot jednotlivých parametrů včetně dalších aspektů mapování na cílovou platformu (spotřeba, velikost čipu, časování). Předmětem výzkumu nebude jen prosté mapování naučeného modelu na hardware, ale i optimalizace AI modelu s ohledem na implementaci v hardwaru, což vyžaduje těsnější provázání nástrojů pro AI s nástroji pro vysokoúrovňovou a logickou syntézu. Téma je možné rozšířit na syntézu sítí se spiking modely neuronů a o integraci učících algoritmů do hardwaru, což se v současné době neřešená nebo málo řešená problematika.
Literatura
[1] Shubham Raif, et al. Logic Synthesis Meets Machine Learning: Trading Exactness for Generalization. arXiv:2012.02530v2 [cs.LG] 15 Dec 2020.
[2] Chia-Chih Chi and Jie-Hong R. Jiang. Logic Synthesis of Binarized Neural Networks for Efficient Circuit Implementation. In IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN (ICCAD ’18), November 5–8, 2018, San Diego, CA, USA. ACM, New York, NY, USA, 7 pages. https://doi.org/10.1145/3240765.3240822
Práca rieši návrh a zostrojenie elektronického hudobného nástroja teremin, na ktorom dokáže hrať človek, ale aj robot. Zámerom práce je vyvinutie digitálnej podoby tohoto nástroja, ktorá má dva módy.
Analógový mód, v ktorom sa teremin správa ako jeho analógová predloha, a mód hybridný. V tomto móde nedochádza k plynulej zmene vydávanej frekvencie v závislosti na vzdialenosti hudobníkovej ruky, ale sú tu diskrétne definované tóny chromatickej stupnice. Obvod tereminu bol postavený na univerzálnu dosku plošného spoja.
Dve antény vyrobené z medených trubiek sú uchytené na krabičke vytlačenej na 3D tlačiarni. Funkčnosť tereminu bola otestovaná ako človekom tak robotom Nao.
Tato práce pojednává o návrhu a implementaci systému pro automatizované testování výkonnosti algoritmů umělých neuronových sítí. Testování je zaměřeno hlavně na vestavěné systémy. K dosažení tohoto cíle byla vyvinuta aplikace pro generování implementací umělých neuronových sítí, systémy pro jejich automatické testování a měření výkonnosti.
Tato práce se zabývá návrhem a implementací jednoduchých periferií v FPGA
systému na čipu Xilinx Zynq na desce Digilent ZYBO. V této práci jsou na-
vrženy, zdokumentovány, implementovány a otestovány celkem čtyři periferie.
Obsahují řídící a stavové registry viditelné přes AXI sběrnici dvěma ARMo-
vým jádrům, na kterých běží Linux. První periferie pouze generuje přerušení
od tlačítek nebo přepínačů a umožňuje zapisovat na LED diody. Ostatní rea-
lizují kromě přerušení také DMA přenosy. Jednotlivé periferie popořadě před-
stavují jednoduchou transformační funkci, disk s podporou scatter/gather a konfigurovatelnou kameru.
Cílem této práce je vytvořit fyzický model automobilové přístrojové desky, zobrazující pomocí ručičkových i světelných ukazatelů informace o stavu vozidla. Pro komunikaci s ostatními komponentami využívá v automobilech hojně rozšířené sběrnice CAN. Práce by měla sloužit jako výuková pomůcka na Fakultě informačních technologií na ČVUT v Praze.
Práce se zabývá zvýšením funkcnosti rozpoznávace hlasových povelu, který
je používán ve fakultním ctyrkolovém ROBOTovi FIT. Systém dosud trpel
problémy s rozpoznáním povelu vyslovených z vetších vzdáleností. Duvodem
techto potíží jsou dozvuky, tj. odrazy zvuku, ke kterým dochází v akustických
prostredích a degradují výsledný signál na prijímaci.
Úkolem je rušivé dozvuky maximálne redukovat. Konkrétních rešení je
celá rada, více ci méne robustních, s ruznými nároky na hardware. Pro naše
úcely byl zvolen algoritmus slepého krácení impulsní odezvy, který má obecne
nízké nároky, a presto dosahuje snížení vlivu odražených signálu, konkrétne
prvotních odrazu.
Pro robota je interakce s okolím klícová a možnost s ním komunikovat
zvukem i na dálku výrazne zvyšuje jeho použitelnost. V tom byl ucinen krok
vpred, protože použitá implementace zlepšuje úspešnost rozpoznávání približne
trojnásobne a chybovost vetšiny príkazu redukovala na cca 5 %.
Výstupem práce je systém knihoven a aplikací, který integruje externí
soustavou nástroju pro zlepšení vzdáleného rozpoznání reci (DSR) do programového
vybavení robota, a je navržen tak, aby bylo snadné jej v budoucnu
rozšírit a testovat.
Tato bakalárská práce se zabývá propojením herního volantu se sbernicí CAN.
V rešení problému je využito analýzy dat tlacítek, polohy volantu a pedálu
herního volantu, ze kterých je vytvorena zpráva pro sbernici CAN. Následne je
tato zpráva odeslána do modulu s rozhraním této sbernice pripojených na vývojovou
desku Digilent ZYBO. Programové vybavení je doplneno o možnost
sledování prenosu na sbernici CAN a výpis zpráv v textové podobe na terminál
nebo do souboru. Výsledkem návrhu a implementace je konzolová aplikace
v jazyce C pro operacní systém Linux. V príloze práce lze nalézt zdrojové kódy
aplikace.
Manager síťových připojení jako modul pro robota NAO
Práce se zabývá návrhem a implementací modulu pro robota NAO, který umožňuje management síťových připojení.
Navržený modul je schopen automatické obnovy zvoleného WiFi připojení při jeho náhlém výpadku, volit různé WiFi sítě a hlasově informovat o stavu sítí. Hlasový výstup podporuje jak český, tak anglický jazyk. Práce také řeší otázky počítačové bezpečnosti, zejména
zabezpečení síťového provozu přes Wifi pomocí firewallu. Funkčnost výsledného modulu implementovaného v jazyce c++ byla otestována přímo na robotovi NAO.
Tato bakalářská práce se zabývá vytvořením brány sběrnice CAN do počítačové sítě. Dále úpravou automobilového simulátoru Speed Dreams umožňující ovládání ze sběrnice CAN pomocí vytvořené brány a běhu několika instancí s různými pohledy do scény synchronizovaných po síti. K vytvoření brány je využito převodníku USB2CAN od firmy CANLAB s. r. o. a vývojové desky Digilent ZYBO. Ovládání simulátoru přes sběrnici CAN je řešeno pomocí naprogramovaného řidiče v simulátoru, který reaguje na příchozí zprávy z brány. Pro běh s různými pohledy je potřeba upravit již existující grafický modul simulátoru. Výsledkem návrhu a implementace je aplikace brány v jazyce C pro operační systém Linux a patch pro simulátor umožňující zmíněné možnosti. V příloze práce lze nalézt zdrojové kódy aplikace, simulátor a patch pro simulátor.
Tato bakalářská práce je zaměřena na výrobu výukového přípravku pro práci s IoT technologiemi. Přípravek umožňuje studentům si vyzkoušet napojeni předpřipravených programů, nebo vlastních programu na protokoly MQTT a HTTP. Pomoci těchto protokolu je možné přípravek také vzdáleně ovládat. Pro tyto účely je přípravek dále osazen jednoduchými senzory v podobě potenciometrů, tlakových snímačů, tlačítek a fotorezistoru. Aktory zde zastupují LED diody. Tyto komponenty umožňují interakci s uživatelem. Důležitou součástí je dotyková plocha sestavená z tlakových senzorů, která umožňuje demonstraci využití více senzorů pro výpočet umístění břemene na ploše.
Výpočetní část přípravku je postavena na výukové platformě Raspberry Pi, které byl přidán rozšiřující modul obsahující zmíněné senzory a A/D převodník, který v Raspberry Pi chybí. Pro zjednodušení přístupu k datům ze senzorů byl napsán ovladač pro rozšiřující modul ve formě modulu do jádra systému, který zpřístupní data ve formě souborů. To umožňuje čtení pomocí libovolného programovacího či skriptovacího jazyka bez potřebných znalostí senzorů.
Výsledky a použité technologie v této práci jsou popsány v následujícím textu.
Bakalářská práce se zabývá tvorbou výukového přípravku s Pelitérovým článkem. Tento přípravek dokáže ochladit i ohřát kapalinu na požadovanou teplotu pomocí termoelektrického chlazení a ohřevu.
Cíle bylo dosaženo pomocí číslicového regulátoru, který ovládá Peltiérův článek pulzně šířkovou modulací.
Práce se v první řadě zabývá konstrukcí přípravku a návrhem chlazení teplé strany Peltiérova článku s ohledem na funkčnost a velikost celého zařízení.
Dále řeší návrh elektrického schématu, plošného spoje a výběr součástek. V poslední řadě se práce zabývá implementací nezbytných knihoven pro čtení senzorů, regulátoru a ukázkové aplikace.
Vytvořený přípravek byl úspěšně otestován a měl by sloužit jako výuková pomůcka na ČVUT v Praze.
Tato bakalářská práce se zabývá tvorbou jádra webového informačního systému pro správu robotů využívaných v laboratořích inteligentních vestavných systémů.
Jádro systému bude tvořeno databází zařízení, sadou knihoven v PHP pro zobrazení a editaci dat ve webových stránkách a rozhraním pro napojení na výkonné funkce správy zařízení jako je např. jejich konfigurace, přenos souborů, aplikací a zobrazování stavu.
Práce se nejprve věnuje analýze dostupných technologií a uživatelských požadavků.
Poté, na základě této analýzy, se dále práce zaměřuje na výběr technologií a implementaci systému samotného.
Zhotovený informační systém usnadní výuku spojenou s roboty a vestavnými systémy využívanými ve výše zmíněných laboratořích.
V příloze práce jsou k dispozici zdrojové kódy, vygenerovaná kódová dokumentace, návod pro integraci a také galerie obrázků zhotoveného systému.
Předmětem této bakalářské práce je vývoj aplikace, která poskytuje webové rozhraní pro ovládání, konfiguraci a diagnostiku čtyřkolového robota.
Aplikace běží na linuxové platformě na desce RoBoard s WiFi rozhraním, přes které komunikuje s klientem pomocí asynchronních dotazů přes HTTP protokol.
Protože aplikace běží na méně výkonném vestavném systému, je kladen důraz na nízkou hardwarovou náročnost.
Tato bakalářská práce je věnována analýze, návrhu a implementaci designu
uživatelského webové rozhraní a jeho propojení s jádrem souběžně vyvíjeného
informačního systému pro Laboratoř inteligentních vestavných systémů.
Nejprve se práce zabývá analýzou vztahu dat, procesů a požadavků na
systém s designem a návrhem webového rozhraní.
Dále práce navazuje návrhem rozhraní, technologiemi a vhodnou implementací
(s jádrem systému).
V implementační/realizační části práce se bere důraz na flexibilitu rozhraní
a budoucí rozšiřitelnost, pro případné očekávané změny, jak z pohledu
využívání celého systému, tak z pohledu designového.
Tato bakalářská práce se zabývá vytvořením modelu kolového robota, pro účely počítačové simulace. Model v simulátoru je použit pro testování, bez potřeby reálného robota. K realizaci celé simulace je použit simulátor jménem Gazebo, který je společně s operačním systémem Linux nutností pro spuštění celé simulace. Dále je pro realizaci simulace využit framework Robot Operating System, který vytváří komunikační vrstvu mezi modelem a softwarem robota. Díky této práci se urychlí vývoj pro robota a zároveň může práce posloužit i jako návod pro převedení reálného robota do simulátoru.
Tato práce se zameruje na rozpoznání pohlaví, veku a emocí podle obliceje
snímaného robotem NAO. V první cásti se zamerím na rešerši metod rozpoznání
obliceje. V cásti druhé potom na existující rešení tohoto problému
a výber jednoho vhodného z nich. Dále analizuji možnosti a prostredky pro
práci s robotem NAO. V poslední cásti potom vybrané rešení upravím pro
robota a provedu testování.
V mojej práci skúmam strojové videnie a možnosti rozpoznávania objektov.
Používam najmodernejšie hlboké konvolučné neurónové siete vo frameworku
Keras. Skúmal som ich architektúru a možnosti dotrénovania. V rámci expe-
rimentov som vytvoril novú sieť kombináciou dvoch typov sietí a ukázalo sa,
že takto vytvorená sieť je úspešnejšia v klasifikácii ako tie, z ktorých bola
vytvorená. Vybrané siete som vytrénoval na rozpoznávanie priestorov Fakulty
informačných technológií ČVUT v Prahe. Najvhodnejšie z nich som imple-
mentoval v aplikácií pre robota NAO, pomocou ktorej dokáže určiť v akom
priestore sa nachádza na fakulte s presnosťou 93, 48% a s presnosťou 76, 09%
dokáže určiť, v ktorej z budov sa práve stojí.
Cielom práce je navrhnút aplikáciu na rozpoznávanie a výpocet matematických
príkladov, ktorá beží na humanoidnom robotovi NAO od firmy Softbank
Robotics. Práca je rozdelená do troch celkov. Prvý predstavuje robota
NAO, jeho technickú a programovú výbavu. Dalej poskytuje strucnú históriu
technológie OCR, oboznamuje so samotnou technológiou a princípmi, ktoré
používa. Popísané sú aj jednotlivé použité funkcie knižnice OpenCV a matematického
aparátu, ktorý sa za nimi ukrýva. Uvedený je aj zoznam použitých
nástrojov a podmienky, ktoré musia byt splnené, aby aplikácia fungovala. V závere prvej casti je vyobrazený a popísaný vývojový diagram návrhu aplikácie.
Druhý celok je venovaný podrobnému popisu programu, ktorý je vyvinutý
v grafickom prostredí Choregraphe a v jazyku Python. Hlavné bloky kódu
sú podrobne popísané a vysvetlené sú aj vstavané funkcie a balícky jazyka
Python. Robot dokáže rozpoznat a vypocítat príklady od rovníc až po limity
a integrály. Posledný celok je venovaný testovaniu a výsledkom. Aplikácia je
riadená a ukoncená slovnými príkazmi, teda nemusí byt opätovne spuštaná.
Projekt je možné využit na riešenie príkladov z tabule, papiera alebo na kontrolu
správnosti. Do budúcnosti je možné rozšírenie na vysvetlenie konkrétnej
problematiky, generovanie náhodných príkladov alebo použitie OCR casti na
cítanie dokumentov, kníh a textov.
Tato práce se zabývá návrhem a vytvořením systému pro správu robotů NAO, linuxových zařízení a vývojových desek Arduino. Navržený systém je schopný spouštět aplikace na zařízeních, vytvářet zálohy zařízení, restart zařízení, detekovat online zařízení a další funkce. Literární rešerše se zabývá analýzou možností identifikace jednotlivých zařízení, otázkou bezpečného spojení se zařízením a efektivního přenosu souborů mezi zařízením a uživatelem. Umožňuje také napojení na webový portál, který obsluhuje systém. Systém obsahuje možnost přidělení jména Arduino zařízení, tato možnost není běžná u podobných systémů. Příloha práce obsahuje uživatelskou příručku systému.
Tato bakalářska práce se zaměřuje na oblast rozpoznávání řeči s pomocí neuronových sítí a klade si za cíl implementovat "end-to-end" rozpoznávač řeči jako hlasové uživatelské rozhraní pro robota NAO.
Uvažovaná architektura rozpoznávače řeči je složena ze tří důležitých částí: extrakce příznaků signálu řeči za použtí metody mel-frekvenčních kepstrálních koeficientů, rozpoznávače v podobě rekurentní neuronové sítě s "long-short- term-memory" buňkami a algoritmu "connection temporal classification" k získání finalního převedeného textu.
Výsledkem této práce je "end-to-end" rozpoznávač řeči, natrénovaný na VCTK korpusu a implementovaný v programovacím jazyce Python s využitím knihovny hlubokého učení TensorFlow.
Tato práce se zaměřuje na praktické využití holografických brýlí HoloLens první generace a vývoj aplikace schopné zobrazit telemetrická data (např. výstupy z čidel, PWM signály do motorů a serv, nebo i jakékoliv proměnné kódu) z připo\-jených robotů tak, že je možné zároveň sledovat roboty a i jejich data. HoloLens k funkci nepotřebují žádné kabelové spojení, čímž zaručují absolutní volnost pohybu uživatelů.
Aplikace je na doporučení firmy Microsoft Corporation vyvíjena v herním enginu Unity 3D, dále exportována do vývojového prostředí Visual Studio a následně nahrána jako UWP C\# aplikace do HoloLens. Komunikace mezi HoloLens a roboty (auta Sunfounder Smart Video Car a Hexapodu) je zprostřed\-kována pomocí Wi-Fi spojení s možností budoucího rozšíření o technologii Bluetooth. Práce klade minimální požadavky na roboty, u kterých vyžaduje jen podporu TCP/IP socketů a serializace JSON.
Přijatá data se zobrazují na plavoucích panelech sledujících vytisknutý marker, který je fyzicky připevněný k cílenému robotovi. Panely se zobrazují ve dvou konfiguracích. Jeden panel uprostřed obsahující až tři datové záznamy, nebo dva panely symetricky rozložené okolo markeru, kde je každý schopnen zobrazit až pět záznamů.
Cílem práce je vytvořit programové vybavení pro šestinohého robota v podobě knihovny. Knihovna je určena pro model hexapodu A-Pod od firmy Lynxmotion, který je ovládán pomocí počítače Raspberry Pi a servo kontroleru SSC-32u od stejné firmy, jako je robot. Vytvořená knihovna podporuje chůzi robota po rovině i v terénu pomocí dotykových senzorů. Při plánování pohybu je použita inverzní kinematika. Výsledky této práce umožní dalším studentům na FIT ČVUT v Praze vytvářet složitější aplikace pro šestinohého robota. V příloze práce lze nalézt uživatelskou příručku a na přiloženém CD se nachází videa zachycující chůzi robota.
V rámci této práce bylo vytvořeno experimentální BCI na bázi jednokanálového EEG signálu. Hlavním přínosem práce je implementace aplikace umožňující nahrávat a experimentovat se stopami mentálních úkolů a testovat tak jejich užitečnost pro nasazení v BCI. Zároveň bylo implementováno experimentální ovládání drona myšlenkou. Bylo zjištěno, že přesnost klasifikace EEG vln s časem výrazně degraduje.
Cílem této práce bylo prozkoumat model robotické ruky od společnosti YouBionic a následně navrhnout a implementovat programové vybavení pro ovládání.
V práci je podrobně popsán původní produkt, který byl pak modernizován jak hardwarově tak i softwarově. Pro ovládání modelu pohybem paže uživatele byla vytvořena rukavice se senzory ohybu. Také bylo v práci implementováno programové řešení pro řídící jednotku robotické ruky a vytvořena PC aplikace v jazyce C pro ovládání a demonstraci možností modelu.
Cílem práce bylo vyvinout bezpečný monitorovací systém, který snímá prostředí kamerou a obrazová data zasílá přes internet do cloudu, kde dochází k jejich zpracování. Práce se orientuje na bezpečnostní aspekty řešení.
V práci jsou popsány možnosti vývoje monitorovacího systému na různých platformách a vlastnosti, které z výběru platformy vyplývají. Je zde popsán návrh IoT zařízení založeného na platformě Azure Sphere připojeného ke cloudu Microsoft Azure, cloudová aplikace založená na službách cloudu Azure vyvinutá podle konceptu PaaS a uživatelské aplikace zobrazující výstupy z monitorovacího systému uživateli.
V práci jsou také popsány problémy spojené s vývojem na platformě Azure Sphere a možnosti
jejich řešení.
Tato práce je zaměřena na možnosti ovládání minidronů Parrot Mambo. Cílem práce je vytvořit aplikaci schopnou dron samostatně navádět dle informací z jeho senzorů a kamer. Vyhýbání se dronu překážkám je dosaženo za pomocí upraveného Bug algoritmu. Získání informací z obrazu je zajištěno především za použití knihovny OpenCV a neuronové sítě Detectron2.
Tato bakalářská práce se zabývá návrhem a implementací aplikace pro humanoidního robota Pepper, která má za úkol podporovat péči o zákazníky na pobočce mobilního operátora. Práce analyzuje dostupné technologie pro potřeby aplikace a zároveň se snaží vyvarovat nedostatků a chyb podobných řešení. Cílem práce je vytvořit interaktivní aplikaci, která bude informovat i bavit zákazníky.
Výsledkem je robustní řešení, využívající moderní cloudové technologie pro rozpoznávání řeči a umělou inteligenci pro lokalizaci a detekci záměru z přepisu hlasového vstupu, které obstojí v komunikaci, uživatelské přívětivosti a prožitku.
Tato bakalářská práce se věnuje problému sledování pohybu aut nebo jiných modelů na podlaze laboratoře inteligentních vestavných systémů v reálném čase pomocí statické kamery. Cílem bylo kromě lokalizace modelů na základě jednoduchých značek umožnit sofistikované sledování s využitím hlubokých neuronových sítí s důrazem na rychlou adaptaci sledovacího systému na nové modely. K lokalizaci pomocí značek jsem využil ArUco Markers. K detekci objektů s využitím hlubokých neuronových sítí jsem využil model YOLO. Navrhl a implemenotval jsem způsob automatického označování dat pomocí metody odečítání pozadí, který značně urychlil adaptaci sledovacího systému na nové modely.
Tato bakalářská práce se zabývá vývojem programového vybavení pro autonomní parkování modelů vozidel v Laboratoři inteligentních vestavných systémů na FIT ČVUT. V rámci práce byla provedena rešerše algoritmů pro autonomní parkování a bylo zanalyzováno současné hardwarové a programové vybavení modelů. Na základě rešerše a analýzy byl navržen algoritmus pro přesné řízení modelů vozidel při parkování, který byl implementován v jazyce Python. Pro snadnější práci s modely byl implementován terminál, který obsahuje příkazy pro různé funkcionality, například ovládání modelu či jeho kalibraci. Pro snadné testování byl v enginu Godot vytvořen simulátor replikující reálný model vozidla. Navržený systém řízení a parkovací algoritmus byly implementovány a následně systematicky otestovány v simulaci a poté na hardwarovém modelu. Testování parkování bylo prováděno do obdélníkových parkovacích míst různých délek z různých výchozích pozic. V simulaci byla úspěšnost parkování vysoká, kvůli hardwarovým nepřesnostem a nedostatkům byla na hardwarových modelech o něco nižší. Hlavním přínosem této práce je celkové rozšíření programové výbavy modelů, které s nimi do budoucna usnadní práci.
Tato práce se zabývá návrhem a implementací generátoru hardwarového popisu v jazyce VHDL ze softwarového modelu neuronové sítě, popsaného v Keras API. Důraz je také kladen na konfiguraci datových typů parametrů sítě a jejich export. Práce analyzuje Keras API a existující řešení generování VHDL ze softwarových modelů. V rámci práce bylo navrženo řešení, pomocí kterého lze generovat VHDL přímo z Keras modelu bez dalších mezistupňů. Výsledkem práce je funkční aplikace implementovaná v jazyce Python, která je schopná z modelu, popsaného v Kerasu, a předložených VHDL stavebních bloků vygenerovat syntetizovatelné VHDL a exportovat parametry sítě konvertované do datových typů specifikovaných konfigurací.
Tato práce se zabývá akcelerací neuronových sítí na cloudové FPGA kartě Alveo U55C. Zkoumány jsou zejména framework HLS4ML využívající vysoko-úrovňovou syntézu a framework Vitis AI využívající akceleraci pomocí DPU. Oba frameworky jsou nejprve otestovány na malých sítích pro datovou sadu Iris. Poté jsou provedeny experimenty se sadou různě velkých konvolučních neuronových sítí trénovaných na datové sadě CIFAR-10. Jsou nalezeny limity obou přístupů. Experimenty jsou vyhodnoceny z hlediska délky času zpracování a spotřeby energie. Poté je pomocí Vitis AI provedena akcelerace modelu YOLOv7 pro detekci objektů v obraze. Ten je poté použit v prototypové aplikaci pro zpracování obrázků z humanoidních robotů Nao. Model je také vyhodnocen z hlediska propustnosti a latence.
Tato bakalářská práce se zabývá nasazením kooperativního robota YuMi v~průmyslové aplikaci se zaměřením na analýzu jeho schopností a ekonomických přínosů oproti lidské pracovní síle. Práce zahrnuje návrh výrobku vhodného pro montáž robotem i člověkem a implementaci programu pro robota YuMi. Simulace a testování ukázaly výhody i omezení využití robota, zejména v přesnosti a efektivitě montáže. Výsledky ekonomické analýzy zohledňují náklady na pořízení, provoz a údržbu robota, stejně jako srovnání s lidskou pracovní silou.
Práce se zabývá návrhem a implementací systému autonomního řízení modelů vozidel pro laboratoř inteligentních vestavných systémů na FIT ČVUT. Vozidlo řídí minipočítač Raspberry Pi 4, který zpracovává obraz z kamery na otočném mechanismu na přední části vozu. Obraz je zpracováván pomocí modelu strojového učení YOLOv11, který byl vytrénován tak, aby uměl rozpoznat plné a přerušované čáry na silnici. V zájmu co nejnižší latence běží veškeré rozpoznávání lokálně přímo na modelu auta. To bylo umožněno i díky hardwarovému akcelerátoru Intel MYRIAD Neural Compute Stick 2. Celý návrh proto klade důraz na nízké hardwarové požadavky a nízkou spotřebu. Pro účely testování byla vytvořena modelová silnice a křižovatka ve tvaru T, kterou vozidlo po implementaci popsaného návrhu zvládá projíždět v souladu s pravidly silničního provozu - umí se držet v pravém jízdním pruhu a podle instrukcí v předpřipraveném itineráři správně odbočit na křižovatce.
Následující práce se zabývá vytvořením lokalizační infrastruktury pro modely aut v laboratoři inteligentních vestavných systému na ČVUT FIT. V teoretické části se zabývá analýzou stávajícího řešení lokalizace a rešerší lokalizačních a komunikačních systémů využívaných v autonomních vozidlech. V praktické části vytváří samotnou lokalizační infrastrukturu. Hlavní část (server) běží na desce NVIDIA Jetson TX2, sleduje dopravní prostředí pomocí kamery na stropě laboratoře a identifikuje jednotlivé modely pomocí rozpoznávacího modelu YOLO nebo alternativně pomocí značek ArUco. Zároveň slouží i jako Wi-Fi přístupový bod pro propojení celé infrastruktury. Druhou částí jsou jednotlivé modely aut (klienti), které se registrují na serveru a mají na výběr z více typů požadavků zahrnujících protokoly TCP i UDP. Řešení implementuje třídu v jazyce Python, která svým API umožňuje aplikacím běžícím na modelech vozidel zjistit jejich polohu v rámci oblasti sledované kamerou, sledovat ostatní modely a komunikovat s nimi. Systém dokáže jednotlivá auta automaticky identifikovat a odlišit i v případě absence ArUco značky a identicky vypadajících modelů. Není tedy nutná ruční identifikace. Pro demonstaci byla vyvinuta aplikace, která zobrazuje informace získané z lokalizační infrastruktury a umožňuje model na základě informací o poloze dopravit na určený bod v místnosti. Průměrná odchylka systému je menší než 2 cm a zpoždění se pohybuje do 200 milisekund. Vše je řádně zdokumentováno, včetně návodů pro nasazení systému na vývojovou desku NVIDIA Jetson TX2 a jednotlivé modely aut.
Syntéza neuronových modelů pro FPGA s parametry v externích pamětech
Tato práce představuje rozšíření nástroje hls4ml, který umožňuje odkládání parametrů neuronového modelu do externí paměti FPGA desek. Open-source nástroj hls4ml slouží pro vysokoúrovňovou syntézu malých neuronových modelů využívající principy proudové architektury. Na základě analýzy hls4ml jsem navrhl a implementoval toto rozšíření, čímž se zlepšilo využití paměti na čipu pro větší neuronové modely. Poté jsem toto rozšíření úspěšně použil k syntéze neuronového modelu s využitím až o 55 % méně vyhledávacích tabulek než standardní verze hls4ml. Pro ověření funkčnosti a chování rozhraní byl syntetizovaný model před spuštěním na hardwaru ověřen v programu Vitis HLS použitím C simulace a C-RTL kosimulace. Vstupní a výstupní datové typy byly převedeny na čísla s pevnou řádovou čárkou, čímž se teoreticky snížil objem přenášených dat na polovinu. Experimentoval jsem s nasazením na malé FPGA desce PYNQ-Z2 i na výkonnější cloudové kartě Alveo U55C. Široká škála modelů na datasetech Iris a MNIST byla implementována jak se standardní, tak s rozšířenou verzí hls4ml, aby bylo možné kvantifikovat přínos rozšíření a také stanovit jasné limity technologie. Tyto implementace byly hodnoceny podle využití FPGA prostředků a spotřeby energie, stejně jako podle propustnosti a latence.
Tato bakalářská práce se zabývá problematikou rozpoznávání tvaru objektu pomocí dotykových senzorů na robotické ruce. Cílem bylo navrhnout a realizovat simulované prostředí robotické ruky Hey 5 od společnosti Tiago Robotics, která je vybavena dotykovými senzory pro sběr dat během manipulace s objekty. Pomocí neuronové sítě byly tyto senzorické vstupy využity k rozpoznání tvaru drženého objektu. Práce se věnuje jak návrhu simulace a sběru dat, tak i implementaci a trénování neuronového modelu. Výsledky ukazují, že i na základě dotykové zpětné vazby lze rozlišovat základní tvary objektů, což přispívá k rozvoji obratné manipulace v robotice.
Cílem práce je vytvoření programového vybavení pro robota NAO, které umožní robotovi vést přednášku. Obsahem této práce je návrh a realizace aplikace pro zadání jednotlivých textů ke slajdům, které má robot předčítat, a následné spuštění aplikace vedené robotem.
Tato diplomová práce má za cíl seznámit čtenáře s problematikou vývoje řídícího softwaru pro kooperativního robota, který ke spolupráci s člověkem využívá rozhraní holografických brýlí. Rešeršní část práce se zabývá analýzou a popisem vývoje pro robota YuMi v prostředí RobotStudio a vývojem aplikace pro holografické brýle HoloLens. Praktická část práce se zaměřuje na vývoj jednoduché aplikace, která demonstruje možnosti komunikace mezi robotem YuMi a holografickými brýlemi HoloLens.
Z této práce může těžit především laboratoř inteligentních vestavných systémů na FIT ČVUT, která se bude se studenty zabývat vývojem aplikací na robota YuMi. Zároveň může práce posloužit jako výchozí bod pro případné zájemce o implementaci podobného kooperativního systému v průmyslu.
Tato práce se zabývá řízením modelu autonomního vozidla, založeného na minipočítači Raspberry Pi. Model vozidla byl doplněn o senzory pro měření vzdálenosti a inkrementální čidla pro měření ujeté vzdálenosti, směru a rychlosti. Mimo to bylo vozidlo vylepšeno o několik dalších součástí zlepšující jízdní vlastnosti a zjednodušující používání modelu. Pro připojení senzorů byly vytvořené desky plošných spojů. Upraven byl rovněž software ovládající vozidlo.
Pro vozidlo byl vytvořen komplexní systém řízení zahrnující dráhu s dopravním značením, ultrazvukovou lokalizaci vozidla a programy pro rozpoznávání dráhy. Rozpoznávání je prováděno jak tradičními přístupy (openCV), tak i za použití neuronových sítí. Systém řízení a upravený model byl vyzkoušen na několika modelových drahách.
Cílem této práce je otestovat přístup využívající lineárně aproximované funkce realizované pomocí posunů a sčítáni pro urychlení výpočtu neuronových sítí. Proto byl vytvořen Shift-block, univerzální blok, který má sloužit jako náhrada za posuvník, implementující lineárně aproximované instrukce. Tento blok byl integrován do existující otevřeného RISC-V jádra. Byly vytvořeny tři varianty: první, která nemá hardware násobičku ani Shift-block, druhá, která obsahuje Shift-block, a třetím která obsahuje hardware násobičku. Pro testování implementací byl rozšířen RISC-V kompilátor o nové instrukce. Bylo vytvořeno několik testů, aby se zajistilo, že daný návrh pracuje korektně. Nakonec byly vytvořeny programy pro test výkonu návrhů, které byly zaměřeny hlavně na testování výkonu násobení a počítání neuronových sítí. Výsledku ukazují, že varianta vybavená Shift-blockem je stejně výkonná jako varianta s hardware násobičkou, a navíc spotřebovává méně zdrojů.