Your browser does not allow JavaScript!
JavaScript is necessary for the proper functioning of this website. Please enable JavaScript or use a modern browser.
Open Science Slovenia
Open Science
DiKUL
slv
|
eng
Search
Browse
New in RUL
About RUL
In numbers
Help
Sign in
Robotovo pojasnjevanje svojih odločitev
ID
Cvetkov, Martin
(
Author
),
ID
Bratko, Ivan
(
Mentor
)
More about this mentor...
PDF - Presentation file,
Download
(1,57 MB)
MD5: 660D7565862FF377014908B4BEFBC0D0
PID:
20.500.12556/rul/a3ad130d-b1a6-4ea8-9670-375d159e37d7
Image galllery
Abstract
Eden izmed ciljev umetne intelegence je razvoj robotov, ki so sposobni ustvarjati načrte in delovati samostojno, kot ljudje. Cilj tega magistrskega dela je zagotoviti robotsko roko s šestimi prostostnimi stopnjami, ki je sposobna manipulirati s predmeti z uporabo inverzne kinematike ter samostojno planirati reševanje danih nalog. Hkrati, med izvajanjem načrta, robot pojasni vsako svojo odločitev oz. akcijo, ki jo izvede. Motiv za to magistrsko delo je to, da pogosto vidimo, kako roboti opravljajo dejanja, ki jih ljudje ne razumemo dobro. S tem, da robot razloži svoje odločitve, bodo inženirji, uporabniki in širša javnost, lahko lažje razumeli, kaj robot dejansko poskuša doseči. Drugi motiv je omogočiti, da robotovi plani za reševanje nalog niso vnaprej podani, temveč jih robot sestavi sam po potrebi. Torej, da se plani formirajo dinamično. V tej magistrski nalogi bom pokazal, kako omogočiti, da robot samostojno ustvarja dimanični načrt, in ga med izvajanjem razlaga. Natančno pozicioniranje in manipuliranje predmetov se doseže z uporabo inverzne kinematike, inverzna kinematika se uporablja za premikanje robotske roke na željeno lokacijo in z željeno orientacijo. Načrtovanje se doseže z uporabo planiranja s sredstvi in cilji (angl. "means-ends planning"). Uporabil sem način planiranja z regresiranjem ciljev. Vsaka akcija ima svojo osnovno razlago. Po oblikovanju načrta se vsaka akcija pojasni s cilji, bodisi glavnimi bodisi vmesnimi, ki jih akcija doseže. Glavne cilje določi uporabnik. Razlaga je ustvarjena s knjižnico, ki pretvarja pisno besedilo v govor, ki se za uporabnika predvaja prek zvočnikov. Dva scenarija (scenarij z žogami in scenarij s kockami), v tem magistrskem delu služita kot primera domen, v katerih ilustriramo delovanje planiranja in razlage robotovih akcij. Orodja in metodologija Za namen tega magistrskega dela sem razvil program, ki lahko nadzoruje in manipulira robotsko roko s šestimi prostostnimi stopnjami. Poleg nadzora in manipuliranja robotske roke sem kot del magistrske naloge razvil vizualno simulacijo robotske roke, ki posnema gibanje robotske roke v realnem času. Hkrati sem implementiral program za planiranje z regresiranjem ciljev za manipuliranje robotske roke z žogami ali kockami. Program je napisan v programskem jeziku C# v .NET framework, z uporabo integriranega razvojnega okolja "Microsoft Visual Studio 2015". Uporabniški vmesnik je oblikovan z uporabo Windows Presentation Foundation (WPF). Tridimenzionalne podobe robotske roke so narisane v "AutoCAD 2010", programska aplikacija za 2D in 3D računalniško oblikovanje, in dodatno izpopolnjene s programsko opremo za animacije in 3D grafiko Blender. 3D podobe robotske roke so importirane v program in animirane z uporabo WPF animacijskih razredov in knjižnice HelixToolkit. Robotska roka, za katero je program napisan, ima šest prostostnih stopenj in je v lasti Fakultete za elektrotehniko in informacijske tehnologije Univerze "Sv.Kiril i Metodij", Skopje. Planiranje Pri izboru, kateri planer uporabiti za zgoraj omenjena scenarija, sem se odločil uporabiti planer z regresiranjem ciljev, ker generira optimalne plane. Za regresijskega planiranja, sem uporabil algoritem opisan v knjigi "Prolog Programming for Artificial Intelligence" (4.izdaja, Pearson Education, 2012), avtor Ivan Bratko. Scenarij s sortiranjem barvnih žog V tem scenariju uporabnik lahko določi število žog in njihove barve (rdeča, zelena, modra). Žoge so lahko pozicionirane na štirih lokacijah, ki jih tu imenujemo "centri": začetni center, v katerem so žoge prvotno postavljene, in trije "barvni centri", kamor robot žoge premakne iz začetnega centra. Ideja je, da robot sortira žoge glede na njihove barve v ustrezne barvne centre, na način ki ga določi uporabnik. Uporabnik lahko določi pot (trajektorijo) k centru, kot želi, oziroma uporabnik lahko specificira točke, ki naj jih robotska roka obišče. To je koristno, ker lahko uporabnik glede na situacijo in ovire, s katerimi se sooča robot, določi alternativne poti za različne scenarije. Akcije, ki se lahko izvajajo za reševanje tega tipa nalog, so: zgrabi žogo, izpusti žogo, premakni roko z dane lokacije na začetni center, premakni žogo v dani barvni center. Scenarij z manipulacijo kock V tem scenaruju lahko uporabnik določi število kock, kot tudi njihov relativni položaj glede na druge kocke in "centre". Možni so štirje centri. Uporabnik določi začetni položaj kock in cilje, ki jih je treba doseči. Začetno stanje se določi tako, da se za vsako kocko navede njena pozicija. Vsaka kocka je lahko nameščena na eni od drugih kock ali enem od centrov. Planer poišče najkrajše zaporedje premikov kock, s katerim doseže zahtevane cilje. V tem scenariju so možne le akcije tipa MOVE(kocka, objekt 1, objekt 2); pri tem robotska roka prestavi kocko z objekta 1 na objekt 2, pri čemer je objekt 1 in objekt 2 lahko center ali kocka. Razlaga akcij, ki jih izvaja robot Motivacija za razlago akcij izhaja iz tega, da pogosto gledamo robote, kako opravljajo dejanja, ki jih ne razumemo. Razlage pomagajo inženirjem, uporabnikom in splošni publiki, da razumejo, kaj točno robot poskuša doseči. Pri generiranju razlage vsake akcije upoštevamo regresirani cilj, ki ga skuša akcija doseči, pa tudi osnovne cilje naloge, ki jih je podal uporabnik. Osnovna razlaga akcije se oblikuje v času planiranja. Akcija dejansko lahko izpolni več regresiranih ciljev, vendar se za osnovno razlago uporabi samo regresirani cilj, za čigar izpolnjevanje je planer to akcijo uvrstil v plan. Če regresirani cilj ni glavni, uporabniško določen cilj, bo razlaga akcije dopolnjena. Dopolnitev se opravi z algoritmom, ki deluje na naslednji način: Algoritem najprej preveri, ali je regresirani cilj glavni, uporabniško določen cilj; če je, se razlaga ne dopolnjuje. V primeru pa da ni tako, algoritem najprej preveri, če so kateri literali, ki ji ta akcija dodaja, del glavnih (uporabniško določenih) ciljev. Če obstaja tak literal, ki je glavni cilj, se razlagi doda naslednje besedilo: "This also achieves the main goal" in opis glavnega cilja. V primeru, da akcija ne vpliva na noben glavni cilj, algoritem išče glavne cilje, ki so z akcijo indirektno povezani. To pomeni, da akcija indirektno prispeva k izpolnitvi glavnega cilja. V primeru, da sta največ dva glavna cilja povezana z akcijo, se opis teh glavnih ciljev doda v razlago akcije. Če pa je z akcijo povezanih več glavnih ciljev, se k razlagi akcije dodajo le zaporedne številke teh, da razlaga ne bi bila preveč zapletena. V primeru, da je akcija povezana z vsemi glavnimi cilji, se razlagi doda naslednje besedilo: "This action affects all the main goals". Oglejmo si primer razlage plana v svetu kock. Naj bo začetno stanje določeno takole: (on(red block, center1), on(green block, center3), on(blue block, red block), clear(blue block), clear(green block), clear(center2), clear(center4)). Naj bo seznam ciljev: on(red block, green block), on(green block, blue block), on(blue block, center2). Potem se generira plan s tremi akcijami ter njihovo razlago takole: -Akcija move(blue block, red block, center2). Osnovna razlaga te akcije je naslednja: "Moving blue block from red block to center2 so that red block is clear." Ta razlaga se dopolni s stavkom "This also achieves the main goal blue block on top center 2”. Razlaga se dopolni ker akcija posredno dosega enega izmed glavnih ciljev. -Akcija move(green block, center3, blue block). Osnovna razlaga te akcije je: "Moving green block from center 3 to blue block so that green block on top of blue block." Ni potrebna dopolnitev razlage, zato ker akcija neposredno doseže glavni cilj: on(green block, blue block). -Akcija move(red block, center 1, green block). Osnovna razlaga za to akcijo je: "Moving red block from center 1 to green block so that red block on top of green block." Ni potrebna dopolnitev razlage, zato ker akcija neposredno doseže glavni cilj: on(red block, green block). Zaključek Razlaga akcije je pomembna, ker omogoča inženirjem, uporabnikom in splošnemu opazovalcu, da bi bolje razumeli, kako in zakaj robot izvaja posamezne akcije. Upoštevajoč sorodno delo, ki je bilo že opravljeno na področju razlage robotskih akcij, lahko rečem, da sem z uporabo planiranja kot osnovo za razlago uspel razviti alternativen pristop razlag akcij, ki jih opravlja robot, in se tem narediti obnašanje robota bolj razumljivo za opazovalce. Razviti program se lahko uporablja za vodenje katere koli robotske roke s šestimi prostostnimi stopnji z vrtljivimi sklepi. Treba je le določiti ustrezne inverzne enačbe in ustrezne dimenzije robotske roke. Kot nadaljnje delo bi razvil generiranje planov z razlago za druge domene robotskih nalog. Nadaljnje raziskovanje je lahko usmerjeno na skrajšanje razlag za kompleksne plane zato, da bi razlage bile uporabniku še bolj razumljive. Algoritem planiranja z regresiranjem ciljev bi bilo mogoče nadalje optimizirati za gradnjo bolj kompleksnih planov.
Language:
English
Keywords:
robotika
,
planiranje
,
inverzna kinematika
,
umetna inteligenca
,
obrazložitev
Work type:
Master's thesis/paper
Organization:
FRI - Faculty of Computer and Information Science
Year:
2017
PID:
20.500.12556/RUL-89080
Publication date in RUL:
13.02.2017
Views:
2597
Downloads:
402
Metadata:
Cite this work
Plain text
BibTeX
EndNote XML
EndNote/Refer
RIS
ABNT
ACM Ref
AMA
APA
Chicago 17th Author-Date
Harvard
IEEE
ISO 690
MLA
Vancouver
:
Copy citation
Share:
Secondary language
Language:
Slovenian
Title:
Making a robot explain its decisions
Abstract:
This master thesis is concerned with making robots more understandable to the user and broader audience. More exactly, the problem that this thesis tackles is to develop a way for robots to explain their actions in order to make it easier for engineers, users and for the audience to understand what the robot is actually trying to achieve. Another problem that this thesis tackles is that the tasks of the robots may not be precisely defined upfront. In such cases, tasks cannot be solved by a fixed, predefined task plan. Thus, I also show how to enable the user to create custom scenarios that the robot successfully resolves. These two problems are resolved by using planning. More specifically, the initial state of the robot and the goals that need to be achieved are defined by the user. After that, the robot, using the goal regression algorithm, creates a plan in order to achieve the goals. Each action of the plan is explained using an explanation algorithm. The algorithm takes into account the immediate and indirect goals the actions achieve. As a result of this master thesis, I developed a program that simulates and can control a robot with six degrees of freedom. The program creates dynamic plans for user defined goals. Also, the program enables the robot to explain each action it makes to the user, using the speakers.
Keywords:
robotics
,
planning
,
inverse kinematics
,
artificial intelligence
,
explanation
Similar documents
Similar works from RUL:
Similar works from other Slovenian collections:
Back