1 / 127

Intelektikos pagrindai

Intelektikos pagrindai. 2012 m. Robertas Damaševičius r obertas.damasevicius @ktu.lt. Robotų programavimo architektūros ir metodai. 2 paskaita. Turinys. Robotų programavimo principai Robotų sistemų tipai Robotų architektūros. Problema. Planas / Programa. Tikslas. Programavimas.

lucius
Download Presentation

Intelektikos pagrindai

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Intelektikos pagrindai 2012 m. Robertas Damaševičius robertas.damasevicius@ktu.lt

  2. Robotų programavimo architektūros ir metodai 2 paskaita.

  3. Turinys • Robotų programavimo principai • Robotų sistemų tipai • Robotų architektūros

  4. Problema Planas / Programa Tikslas Programavimas Programavimo esmė: sukurti programą, kuri sprendžia tam tikrą problemą ir leidžia pasiekti tikslą

  5. Žmogus Robotas Žmogus Robotas Kuria programą Tikslas Problema Kuria planą Vykdo programą Problema Kuria planą Vykdo planą Tikslas Roboto programavimas Kad robotas suprastų žmogaus planus, reikia naudoti roboto valdymo instrukcijas aprašančią programavimo kalbą

  6. Tipinis robotas PASAULIS žmogus Sąsaja Vykdytuvai Jutikliai Robotas Valdymas Programos vykdymas Duomenys

  7. Intelektualus robotas Žinios Dirbtinis intelektas Jutimas Planavimas ir valdymas Priežiūra Žemo lygmens valdymas Jutikliai Vykdytuvai PASAULIS

  8. Roboto elgsena Elgsena – patogi sąvoka kalbant apie roboto atliekamus veiksmus Paprasta elgsena Pvz., “važiuoti į priekį 3 sekundes” Sudėtingą elgseną galima išskaidyti į paprastą elgseną Sudėtinga elgsena Pvz.,“rasti kelią labirinte”

  9. Elgsenos planavimas • Analizuoti problemą. • Pavyzdyje: robotas turi patekti iš pradžios taško (1)į tikslą (2) • 2. Rasti bendrą sprendimą. • Pavyzdyje: robotas turi važiuoti nurodytu keliu

  10. 3.Suskaidyti sprendimą į smulkesnius žingsnius (seką) • Pavyzdyje: • Važiuoti į priekį 3 sekundes • Sukti į kairę 90º laipsnių • Važiuoti į priekį 5 sekundes • Sukti į dešinę 90º laipsnių • Važiuoti į priekį 2 sekundes • Sukti į dešinę 90º laipsnių • Važiuoti į priekį 2 sekundes • 4.Detalizuoti kiekvieną žingsnį • Pavyzdyje: • Važiuoti į priekį 3 sekundes • 1.1. Įjungti kairįjį variklį • 1.2. Įjungti dešinįjį variklį • 1.3. Laukti 3 sekundes • 1.4. Išjungti kairįjį variklį • 1.5. Išjungti dešinįjį variklį

  11. Elgsenos detalizavimas • Važiuoti į priekį 3 sekundes • 1.1. Įjungti kairįjį variklį • 1.2. Įjungti dešinįjį variklį • 1.3. Laukti 3 sekundes • 1.4. Išjungti kairįjį variklį • 1.5. Išjungti dešinįjį variklį • Važiuoti į priekį 3 sekundes • Sukti į kairę 90º laipsnių • Važiuoti į priekį 5 sekundes • Sukti į dešinę 90º laipsnių • Važiuoti į priekį 2 sekundes • Sukti į dešinę 90º laipsnių • Važiuoti į priekį 2 sekundes Detalizavimo algoritmas: 1. Pradėti nuo sudėtingos elgsenos, kuri leidžia išspręsti problemą. 2. Suskaidyti sudėtingą elgseną į paprastesnes elgsenas 3. Kartoti 2 žingsnį tol, kol jie bus pakankamai paprasti, kad juos būtų galima aprašyti robotų programavimo kalba.

  12. Elgsena ir architektūra • Kaip elgsena turi būti realizuota aprašo architektūra • Architektūra: sistemos struktūros aprašas, kuris nurodo iš kokių komponentų sudaryta sistema ir kaip jie sąveikauja tarpusavyje • Skiriasi nuo detalaus projekto (low-leveldesign) tuo, kad nenurodo visų realizacijos detalių

  13. Robotų architektūros raida • Klasikinės architektūros (apie 1975 m.) • Sense-Plan-Act (SPA) Statinis pasaulio vaizdas • Reaktyviosios architektūros (apie 1985 m.) • Jokių modelių: pasaulis yra modelis • Paprastosjutimo-reakcijos funkcijos • Atsirandantis (“emergent”)elgesys Reakcija į pokyčius aplinkoje • Hibridinės architektūros (apie 1990) • Daugiasluoksiškumas • Žemiausiame lygyje – reaktyvumas, elem. veiksmai • Aukščiausiame lygmenyje – pasaulio ir elgsenios modeliai Sudėtingos aplinkos, lokalizacija Sudėtingos realios aplinkos Skraidantys ir plaukiojantys robotai • Tikimybiniai metodai (apie 2000 m.) • Neapibrėžtoji logika • Modelių integracija

  14. Roboto elgsena ir valdymas • Roboto elgsena yra išorinio stebėtojo matomi roboto veiksmai (veiksmų seka) • Roboto programavimo tikslas yra pasielgti, kad robotas turėtų pageidaujamą elgseną. • Roboto elgsena gali būti: • Judėjimas • Manipuliavimas su objektais (griebimas, nešimas, stumdymas) • Pagal roboto elgseną robotai gali būti skirstomi į • Vežimėlius (judėjimas) • Rankas (patys nejuda, tačiau perkelia kitus objektus) • Hibridiniai (pvz., vežimėlis turi sumontuotą ranką, humanoidiniai ir t.t.) • Elgsena priklauso nuo aplinkos ir roboto būsenos

  15. Roboto būsena • Vidinė būsena gali būti: • stebima:robotas visada žino savo būseną • nestebima/neprieinama:robotas nežino savo būsenos • dalinai stebima: robotas žino dalį informacijos apie savo būseną • Išorinė būsena: pasaulio būsena • Nustatoma naudojant roboto jutiklius • Roboto būsena yra vidinės ir išorinės būsenos kompozicija • Roboto saugomas būsenos vaizdas yra vadinamas vidiniu (arba pasaulio) modeliu

  16. Valdymo problemos • Galvojimas (= sprendimų priėmimas) yra lėtas. • Roboto reakcija turi būti greita. • Galvojimas leidžia planuoti veiksmus iš ankstoir taip išvengti blogų sprendimų • Tačiau per ilgas galvojimas taip pat gali būti pavojingas (pvz., robotas gali nukristi nuo laiptų, susidurti su kliūtimi) • Tam kad būtų galima galvoti (samprotauti), robotas turi turėti daug tikslios informacijos apie savo aplinką, t.y. pasaulio modelį

  17. Valdymas • Roboto jutiklių ir vykdytuvų koordinavimas • Valdymo metodai: • Reaktyvusis valdymas:Negalvok, bet veik (reaguok) • Elgsena grįstas valdymas:Galvok, kaip veikti • Patariamasis (deliberative) valdymas:Daug galvok, o po to veik • Hibridinis valdymas:Galvok ir veik lygiagrečiai

  18. Reaktyviosios sistemos • Veikia principu poveikis -> atsakas • Tikslas: laiku reaguoti į poveikį dinaminėje ir nestruktūrizuotoje aplinkoje • Apribojimai: • Mažas būsenų skaičius • Neturi atminties • Nereikia apmokymo / sunkiai apsimoko • Neturi vidinio / pasaulio modelio • Negali numatyti savo būsimų veiksmų • Realizuojama kaip paprastas taisyklių rinkinys

  19. Patariamosios sistemos • Pagrįstos Sense→Plan→Act(SPA) modeliu • Nuoseklios • Planavimas • Atsako paieška • Reikalingas pasaulio modelis • Trūkumai • Pasaulio modelis pasensta • Planavimas ir paieška trunka ilgai

  20. Patariamosios  Reaktyvinės Šaltinis: Arkin, R. 1998. Behavior Based Robotics.

  21. Hibridinės sistemos • Apjungia reaktyviasias ir patariamasias sistemas • Žemutiniame lygmenyje – reaktyvioji (gali veikti be sudėtingų skaičiavimų) • Viduriniame lygmenyje – ryšio lygmuo • Viršutiniame lygmenyje – patariamoji (turi pasaulio modelį, veiksmų planą ir t.t.) • Lygmenys veikia lygiagrečiai • Pagr. problema: kaip valdyti ryšius tarp lygių

  22. Hibridinės sistemos Neatspari gedimams dėl vieno sluoksnio gedimo Komplikuotas valdymas: reikalingas mediatorius, kuris sprendžia, kurio sluoksnio veiksmai vykdomi

  23. Valdymo sistemų palyginimas

  24. Elgsena grįstos sistemos • Alternatyva hibridinėms sistemoms • Gali veikt reaktyviai ir planuoti • Neturi tarpinio sluoksnio • Lygiagretus veikimas

  25. Robotas ir jo aplinka

  26. Grįžtamasis ryšys • Grįžtamasis ryšys:nuolatinis jutiklių stebėjimas ir reagavimas į jų pokyčius • Autoreguliacinė sistema • Grįžtamasis ryšis: • Teigiamas • Neigiamas • Neigiamas grįžtamasis ryšys • Stabilizuoja sistemos būseną, išeities reikšmę • Jei per daug, sumažina • Jei per mažai, padidina • Teigiamas grįžtamasis ryšys • Padidina sistemos būsenos / išeities signalo reikšmę • Kuo daugiau, tuo labiau padidina

  27. Autonomiškumas • Sugebėjimas pačiam priimti sprendimus ir juos įgyvendinti • Robotikoje: galimybė justi aplinką ir atitinkamai į ją reaguoti • Autonomiškumas gali būti: • Visiškas • Dalinis (pvz., nuotoliniu būdu valdomi robotai)

  28. Roboto programinės įrangos rolė

  29. Robotų programavimo metodai (1) • Robotų programavimo metodai gali būti suskirstyti į 2 pagrindines kategorijas: • Rankinis programavimas • Automatinis programavimas • Programų architektūra svarbi abejais atvejais Šaltinis: G. Biggs and B. MacDonald. A Survey of Robot Programming Systems

  30. Robotų programavimo metodai (2) • Rankinio robotų programavimo metodai gali būti suskirstyti į 2 pagrindines kategorijas: • Tekstinis programavimas, • Grafinis (vizualus) programavimas Šaltinis: G. Biggs and B. MacDonald. A Survey of Robot Programming Systems

  31. Robotų programavimo metodai (3) • Automatinio robotų programavimo metodai gali būti suskirstyti į 3 pagrindines kategorijas: • apsimokančios sistemos, • programuojamos demonstruojant ir • instrukcinės sistemos. Šaltinis: G. Biggs and B. MacDonald. A Survey of Robot Programming Systems

  32. Apsimokančios sistemos • Apsimokančios sistemos sukuria programą indukcijos pagalba iš vartotojo pateiktų pavyzdžių ir roboto atliekamo aplinkos žvalgymo. • Dažniausiai naudojama neuroninių tinklų technologija • Etapai: • 1. Robotas stebi, kaip turi būti atliekama užduotis • 2. Robotas bando atlikti užduotį pats

  33. Instrukcinės sistemos • Instrukcinėms sistemoms duodama instrukcijų seka (paprastai realiu laiku). • Šis metodas geriausiai tinka nurodant robotams atlikti užduotis, kurias jie jau buvo apmokyti arba suprogramuoti atlikti. • Instrukcijoms perduoti gali būti naudojamas balso atpažinimas arba gestų atpažinimas.

  34. Programavimas demonstruojant (1) • Vienas labiausiai paplitusių robotų programavimo metodų. • Prasideda nuo žmogaus atliekamos veiksmo demonstracijos. • Žmogaus rankos ir pirštų judesiai registruojami naudojant specialią pirštinę su jutikliais • Aplinkoje esantys objektai stebimi kompiuterine sistema, o balso atpažinimo sistema seka balsines komandas. • Sistemos išeiga yra vykdomoji programa leidžianti atlikti pademonstruotą veiksmą (užduotį).

  35. Programavimas demonstruojant (2) • Komandų žodyno pavyzdys

  36. Programavimas demonstruojant: pavyzdys Šaltinis: Handbook of Robotics, 59 skyrius, Springer.

  37. Vartotojo rolė Daviklių duomenys Rank. valdymas • Pranašumai: • Vartotojui nereikia rašyti sudėtingos valdymo programos • Programavimas keliamas į aukštesnį lygmenį • Trūkumai: • Rezultatas priklauso nuo vartotojo “geros valios” • Nėra pilnai automatizuotas (apibendrinimo etapas) Daviklių duomenys Apibendrinimas Autonomiškai vykdoma programa Šaltinis: S. MÜNCH, J. KREUZIGER, M. KAISER, R. DILLMANN. Robot Programming by Demonstration (RPD) - Using Machine Learning and User Interaction Methods for the Development of Easy and Comfortable Robot Programming Systems. Proc. of the 24th Int. Symp. on Industrial Robots (ISIR '94)

  38. Programavimas demonstruojant (3) • Pranašumai: • mažesni kaštai • operatoriui nereikia turėti programavimo žinių • reikia mažiau laiko robotui sukonfigūruoti • Pagrindinė problema: • apibendrinimas, t.y. kaip pritaikyti programas kitiems robotams, arba kitiems daiktams, su kuriais dirba robotai

  39. Programavimo demonstruojant sistemos funkcinė architektūra Šaltinis: S. MÜNCH, J. KREUZIGER, M. KAISER, R. DILLMANN. Robot Programming by Demonstration (RPD) - Using Machine Learning and User Interaction Methods for the Development of Easy and Comfortable Robot Programming Systems. Proc. of the 24th Int. Symp. on Industrial Robots (ISIR '94)

  40. Bendrinė demonstravimo schema Šaltinis: S. MÜNCH, J. KREUZIGER, M. KAISER, R. DILLMANN. Robot Programming by Demonstration (RPD) - Using Machine Learning and User Interaction Methods for the Development of Easy and Comfortable Robot Programming Systems. Proc. of the 24th Int. Symp. on Industrial Robots (ISIR '94)

  41. Architektūros paaiškinimas • Programavimas prasideda nuo demonstravimo, pvz., stumiant robotą jo judėjimo keliu arba naudojant įvesties įtaisą • Įrašomos reikšmingų parametrų (padėtis, greitis, būsena) reikšmės • Atliekamas reikšmių normalizavimas panaikinant kiekvieno demonstravimo nereikšmingas detales • Analizatorius, remdamasis pasaulio modeliu, nuskaito gautas reikšmes ir generuoja roboto elementarių operacijų seką • Indukcijos komponentas generuoja apibendrintą demonstravimo pavyzdžių aprašą • Šis aprašas išsaugomas žinių bazėje ir gali būti panaudotas vėliau • Vartotojo pagalba reikalinga nurodant veiksmų svarbą ir kontroliuojant apibendrinimo procesą

  42. Vykdymo schema • Vartotojas nurodo pageidaujamą užduotį ir gauna programos šabloną • Tuščios vietos šablone užpildomos informacija iš pasaulio modelio ir žinių bazės • Programa interpretatoriaus transformuojama į vykdomą roboto valdymo sistemos komandų seką • Robotas valdomas Šaltinis: S. MÜNCH, J. KREUZIGER, M. KAISER, R. DILLMANN. Robot Programming by Demonstration (RPD) - Using Machine Learning and User Interaction Methods for the Development of Easy and Comfortable Robot Programming Systems. Proc. of the 24th Int. Symp. on Industrial Robots (ISIR '94)

  43. Kognityvinė sistema • Pagr. požymiai: • Žinių atvaizdavimas: kaip daviklių duomenys konvertuojami į formatą, kuriuo duomenis galima efektyviai saugoti ir analizuoti • Mašininis mokymasis: nustatyti dėsningumus ir priimti sprendimus įvairiuose abstrakcijos lygmenyse • Žmogaus-roboto sąveika: multimodalinė sąsaja Šaltinis: S. Vukanovic. Cognitive Robot Programming by Demonstration, 2007.

  44. Apmokymas imituojant • Dėl nuolat besikeičiančios aplinkos robotas turi nuolat mokytis, įgauti naujus įgūdžius ir žinias ir pritaikyti jas naujame kontekste. • Tuo jo elgsena tampa panaši į gyvūno arba žmogaus elgseną. • Atsižvelgiant į idėjas perimtas iš neuroinformatikos ir socialinių mokslų, buvo pasiūlyta apmokymo imituojant idėja

  45. Demonstravimas ir imitavimas • Demonstravimas • Nuotolinis valdymas • Mokytojas tiesiogiai valdo robotą, o jo davikliai tik įrašinėja informaciją • Šešėliavimas (shadowing): • Sistema bando atkartoti mokytojo judesius stebėdama savo davikliais • Imitavimas • Davikliai ant mokytojo kūno įrašinėja mokytojo judesius • Išoriniai davikliai įrašinėja mokytojo judesius

  46. Pagr. Progr. dem. problema • Roboto valdymas esant kitam nei buvo apmokymo metu kontekstui • Pvz.: pasikeitė perkeliamos dėžės matmenys

  47. Paprasčiausio roboto valdymas jutiklis Trigeris jutiklis Valdymo sistema Valdymo signalas

  48. Robotų architektūros • Sense-Act (SA) • Sense-Decide-Act (SDA) • Sense-Plan-Act (SPA) • Sense-Model-Plan-Act (SMPA) • Lygiagreti Sense-Plan-Act (SPA) • Veiksmų pasirinkimo • Plano modifikavimo • Valdymo (Guidance) • Trijų lygmenų architektūra • Hibridinė trijų lygmenų architektūra • Daugiasluoksnė architektūra

  49. Sense-Act (SA) • Jutiklių duomenys tiesiogiai perduodami vykdytuvams • „Sense“ veiksmas nuskaito jutiklių parodymus, • „Act“ veiksmas valdo roboto įtaisus. • Pirmą kartą panaudota Braitenberg (1986) robotuose

More Related