Ovládanie tela robota iCub hlasom

Autor: Šimon Drastich
Školiteľ: RNDr. Andrej Lúčny, PhD.

Informácie

Anotácie

Táto implementačná práca vychádza z existujúceho frameworku iCubSim, ktorý je už obohatený o ovládanie tohto simulátora humanoidného robota iCub v jazyku Python a prijímanie pokynov z aplikácie v mobilnom telefóne, premenených na text v Google cloude. Tento systém autor zdokumentuje a rozšíri o chatbot prepojený na akcie robota, ktoré bude musieť tiež implementovať. Okruh činnosti robota si autor môže vybrať, podmienkou je aby bol dostatočne atraktívny pre interagujúceho užívateľa. Od autora sa vyžaduje implementovať chatbot klasickou technológiou patternov, buď si na to zvolí framework alebo si ho implementuje sám. Požaduje sa však aby aj zvážil možnosti použitia moderných chatbotov pomocou webovej služby, napr. wit.ai, ktorý podporuje aj slovenčinu, hoci len v experimentálnej kvalite. Autorovi sa taktiež umožňuje zmeniť komunikačný jazyk s robotom na anglický, prípade diskutovať v práci aj o viac jazyčnosti.

Cieľ

Cieľom práce je implementovať chatbot a akcie simulovaného humanoidného robota za účelom čo najkvalitnejšie interakcie medzi užívateľom a robotom. Nemusí pritom použiť najmodernejšie prístupy (málo dostupné pre slovenčinu), ale mal by v práci prediskutovať možnosti ich použitia.


Hlavné Kapitoly

1. Úvod
2. Prehľad problematiky
3. Návrh riešenia
4. Implementácia
5. Záver

Východisková kapitola a prototyp

Východisková kapitola

Prototyp

Zdroje


Denník

Prvý týždeň

Zapracovanie pripomienok

Zapracovanie školiteľových pripomienok k textu práce a jej formátu.

17.2.2020 - 23.2.2020

Druhý týždeň

Prvý tréning

Zinštalovanie potrebných knižníc a programov ako Tensorflow, Sklearn-crfsuit, Anaconda, Jupyter Notebook, Rasa NLU...

Po rozbehnutí učenia som natrénoval prvý model chatbota a otestoval na ňom predikciu používateľovho zámeru na rôznych vetách.

24.2.2020 - 1.3.2020

Tretí týždeň

2.3.2020 - 8.3.2020

Štvrtý týždeň

Riešenie zásadného problému

Tento a predošlý týždeň som sa zasekol na inštalácií balíčkov. Po dlhej konzultácií a inštalácií s mojím školiteľom sme dospeli k záveru že mám starý stroj na ktorom to nepôjde rozbehať. Riešením bola kúpa nového stroja na ktorom všetko funguje.

9.3.2020 - 15.3.2020

Piaty týždeň

Vytvorenie chatbota

Rozbehanie učenia modelov pre Rasa NLU a Rasa Core. Otestovanie komunikácie s natrénovaným chatbotom a zároveň jeho interaktívne učenie.

23.3.2020 - 29.3.2020

Šiesty týždeň

Prvá reálna komunikácia s chatbotom prostredníctvom iCuba

Prepojenie chatbota s iCubom, mapovanie kĺbov k slovám, rozšírenie vedomostí iCuba.

30.3.2020 - 5.4.2020

Siedmy a ôsmy týždeň

rozširovenie vedomostí, implementácia vlastného extraktora entít

Aktívne rozširovenie iCubových vedomostí. Zapracovanie bindovania kĺbov pomocov vlastných metód, entity extraction z knižníc rasa nebola konzistentná.

6.4.2020 - 19.4.2020

Desiaty týždeň

Časová a priestorová optimalizácia

Vzhľadom na to že viacerí mi vraveli že v istých chvíľach je robot má trošku dlžšiu odozvu som hľadal a optimalizoval príčinu. Z veľkej časti to bolo spôsobené nevhodným načítavanim JSON súboru. Taktiež dáta pozícií som ukladal presne z getterov ktoré vracajú aj viac ako desať miestny double pričom keď sa bavíme o uhloch viach ako dve desatinné miesta nepotrebujeme takže som to zmenil. Z dlhodobého hladiska by to malo zabrať omnoho menej miesta.

27.4.2020 - 3.5.2020

Jedenásty týždeň

Písanie práce a debugging

Modelovanie rady UML diagramom k textu práce a jej samotné písanie. Ľadenie drobných chýb v programe.

3.5.2020 - 10.5.2020