Robotų elgsenos valdymas ir robotų architektūros PDF

Summary

Šis dokumentas aprašo robotų elgsenos valdymą ir robotų architektūrą. Jame apžvelgiamos įvairių valdymo strategijų, pavyzdžiui, reaktyviosios, planavimo ir hibridinės sistemos. Taip pat pateikiami robotų architektūros modeliai, apmokymas demonstruojant ir mašininis mokymas.

Full Transcript

Robotų elgsenos valdymas ir robotų architektūros Paskaitos turinys ◼ Robotų elgsenos planavimas ir specifikavimas ◼ Robotų valdymo principai ❑ Reaktyvusis ❑ Planavimo ❑ Hibridinis ◼ Robotų architektūros ir diegimo modeliai ❑ SPA ❑ Subsumption (Brook...

Robotų elgsenos valdymas ir robotų architektūros Paskaitos turinys ◼ Robotų elgsenos planavimas ir specifikavimas ◼ Robotų valdymo principai ❑ Reaktyvusis ❑ Planavimo ❑ Hibridinis ◼ Robotų architektūros ir diegimo modeliai ❑ SPA ❑ Subsumption (Brooks) ❑ Objektinė, komponentinė, paslaugų robotika ◼ Robotų apmokymas ❑ Apmokymas demonstruojant (imituojant) ❑ Mašininis (DI) apmokymas Roboto elgsena ◼ Roboto elgsena yra ❑ … valdymo taisyklės, kurios tenkina tam tikrus apribojimus tikslui pasiekti ❑ … samprotavimo, veikimo ir reagavimo į aplinką procesas, pagrįstas žiniomis ir suvokta informacija ❑ … įvesties duomenų atvaizdavimas į vykdytuvų veiksmus (t.y., funkcija) ❑ … reakcija į aplinkos dirgiklius ❑ … išorinio stebėtojo matomi roboto veiksmai (veiksmų seka) ◼ Elgsena priklauso nuo aplinkos ir roboto būsenos ◼ Roboto programavimo tikslas yra pasiekti, kad robotas turėtų pageidaujamą elgseną. Primityvaus elgesio valdymas ◼ Turi dvi dalis: ❑ 1. valdymo sistema: transformuoja jutiklių informaciją į vykdytuvų komandas. ❑ 2. paleidiklis (trigger): nustato, kada tikslinga veikti valdymo komponentui. Roboto elgesio specifikacija ◼ Stimulo atsako diagramos (Stimulus-Response Diagrams) ◼ Funkcijos f (s) = r kur: f = elgesio funkcija, s = stimulas, r = atsakas ◼ Baigtinių būsenų automatai Foraging: Wander + Acquire + Deliver Stimulo atsako diagramos: Pavyzdys Wander Stimulas: nėra Atsakas : judėti aplinkoje atsitiktine kryptimi Acquire Stimulas: rastas tikslas (objektas) Atsakas: judėti link tikslo (objektas) Deliver Stimulas: objektas paimtas Atsakas : grįžti į bazę ir padėti objektą Matematinis specifikavimas funkcija ◼ Sukuria funkciją, kuri kiekvienam roboto stimului (t.y., įvesties duomenų rinkiniui) priskiria tam tikrą roboto veiksmą (elgesį) ◼ Elgesys išreiškiamas kaip trejetas (S, R, β ) ❑ S – stimulai, ❑ R – atsakas (veiksmai), ❑ β - priskyrimo funkcija β: S→R ◼ Atsakas R turi du komponentus: ❑ Stiprumas: reakcijos mastas (pvz., greitis, jėga, judėjimo amplitudę) ❑ Orientacija: judėjimo kryptis Baigtinių būsenų automatai (FSM) robotų elgsenai ◼ Baigtinės būsenos automatas (FSM): M = (Q, δ, q0, F) ◼ Q reiškia leistinas elgesio būsenas; ◼ δ(delta) yra perėjimo funkcija, atvaizduojanti įvestį ir esamą būseną į kitą būseną; δ gali būti pavaizduota grafu, kurioje lankai žymi būsenos perėjimus, arba lentele; ◼ q0 žymi pradinę elgesio konfigūracija; ir ◼ F reiškia priimančių būsenų rinkinį Robotų valdymo principai 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 Reaktyvusis valdymas Veikia principu poveikis -> atsakas Tikslas: laiku reaguoti į poveikį dinaminėje ir nestruktūrizuotoje aplinkoje Realizuojama kaip paprastas taisyklių rinkinys ◼ Apribojimai: Mažas vidinių būsenų skaičius Neturi vidinio / pasaulio modelio Neturi atminties Nereikia apmokymo / sunkiai apsimoko Negali numatyti savo būsimų veiksmų Planavimo (deliberative) valdymas Pagrįstos Sense→Plan→Act (SPA) modeliu Nuoseklios Planavimas Atsako paieška Reikalingas pasaulio modelis (vidinė būsena) Trūkumai Pasaulio modelis pasensta Planavimas ir paieška trunka ilgai Planavimo elgesys → Reaktyvusis elgesys Šaltinis: Arkin, R. 1998. Behavior Based Robotics. Hibridinis valdymas ◼ Apjungia reaktyviąsias ir patariamąsias valdymo 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ų Planavimo valdymas Reaktyvinis valdymas Hibridinis valdymas Pranašumai Labai sudėtingos navigacijos Dalinio ir supaprastinto Labai sudėtingos navigacijos užduotys gali būti atliekamos pasaulio modelio naudojimas užduotys gali būti efektyviai efektyviai, tačiau tik statinėje atliekamos net ir dinamiškoje aplinkoje Ribotas skaičiavimo galios ir aplinkoje atminties naudojimas Robotai yra aprūpinti aukštu Robotai turi aukštą įgūdžių ir įgūdžių ir intelekto lygiu Tinka nebrangiems robotams intelekto lygį Uždarojo pasaulio prielaida nėra būtina, nes robotas gali greitai reaguoti į nenuspėjamas situacijas Svarstymo valdymas ribotais ištekliais, t.y. didelė kaina Saugi navigacija garantuojama tik aplinkose, kuriose tenkinama Norint išlaikyti išsamų ir tikslų uždaro pasaulio prielaida pasaulio modelį, reikia daug Reaktyvinis valdymas Hibridinis valdymas atminties Trūkumai Norint priimti sprendimus Sprendimai priimami Sudėtingas dizainas: roboto neturint remiantis pasaulio modeliu, visuotinių žinių, valdymas pasiekiamas naudojant todėl gali reikalinga didelė skaičiavimo susidaryti sudėtingą architektūrą sudarytą iš situacijos, kai galia robotas kelių funkcinių sluoksnių – neoptimaliai pasiekia svarstymo, reaktyvaus sluoksnio ir norimą tikslą arba, dar Netinka pigiems robotams su kitų sluoksnių, kurie g atminties informacijai apie išorinį sąveikauja blogiau, robotui gali pasaulį ir sudaromus planus vienas su kitu. saugoti. nepavykti pasiekti tikslo Rei Reikalinga didelė skaičiavimo galia, kia kad planavimo ir reagavimo dau sluoksniai galėtų priimti sprendimus pagal savo pasaulio modelius. Planavimo valdymas Reaktyvinis valdymas Hibridinis valdymas Kai robotas turi dideles Kai atliktina navigacijos Kai svarbu, kad robotas informacijos apdorojimo ir užduotis yra sudėtinga efektyviai atliktų navigacijos atminties galimybes užduotį Kai robotas turi judėti Kai nesvarbu, kaip Kai atliktina navigacijos statinėje aplinkoje efektyviai robotas atlieka užduotis yra sudėtinga Kada naudoti navigacijos užduotį Kai svarbu, kad robotas Kai robotas turi mažai Kai robotas turi judėti efektyviai atliktų navigacijos apdorojimo ir atminties dinamiškoje aplinkoje užduotį galimybių Kai robotas turi dideles informacijos apdorojimo ir Kai robotas turi judėti tiek Kai atliktina navigacijos atminties galimybėmis statinėje, tiek dinamiškoje užduotis paprasta aplinkoje Elgsena ir architektūra Kaip roboto elgsena turi būti realizuota valdymo 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-level design) tuo, kad nenurodo visų realizacijos detalių Robotų architektūros raida Reaktyviosios architektūros (apie 1980 m.) Paprastos jutimo-reakcijos (Sense-Act) funkcijos Statinis pasaulio vaizdas Atsirandantis (“emergent”) elgesys Reakcija į pokyčius aplinkoje Hibridinės architektūros (apie 1990 m.) Sudėtingos aplinkos, Daugiasluoksiškumas lokalizacija Žemiausiame lygyje – reaktyvumas, elem. veiksmai Aukščiausiame lygmenyje – pasaulio ir elgsenos modeliai Tikimybiniai metodai (nuo 2000 m.) Sudėtingos realios aplinkos Neapibrėžtoji logika Skraidantys ir plaukiojantys robotai Modelių integracija DI grįstos architektūros metodai (nuo 2020 m.) Medicinos robotai Neurorobotika Pramoniniai robotai Savarankiškas mokymasis be žmogaus įsikišimo. Autonominės transporto priemonės. Reaktyvinės architektūros Elgseną sudaro keletas SenseAct tipo procesų Kiekvienas procesas nuskaito jutiklių duomenis ir atlieka tam tikrus veiksmus Procesai vykdomi nuolat (amžinu ciklu) Procesai nepriklauso vienas nuo kito Sense-Act (SA) architektūra Jutiklių duomenys tiesiogiai perduodami vykdytuvams „Sense“ veiksmas nuskaito jutiklių parodymus, „Act“ veiksmas valdo roboto įtaisus. Pirmą kartą panaudota Braitenberg‘o tipo robotuose Sense-Act (SA) architektūra Grynas reaktyvumas: sistema be atminties Ne grynai reaktyvios sistemos: turi trumpalaikę atmintį Reaktyvioji paradigma - tiesioginis ryšys tarp jutimo ir veiksmo. Reaktyvinės Privalumai: architektūros Greitas reakcijos laikas Paprasta realizacija (Sense-Act) Trūkumai: privalumai ir (1) sunku valdyti sudėtingoje aplinkoje (2) maršrutas, kuriuo reaktyviai valdomas trūkumai robotas važiuoja navigacijos metu, paprastai yra labai neoptimalus Svarstymo/planavimo (deliberative) architektūros Robotas jaučia pasaulį, planuoja kitą veiksmą, tuomet veikia Kiekviename žingsnyje robotas aiškiai planuoja kitą žingsnį. Visi jutimo duomenys paprastai kaupiami į vieną globalų pasaulio modelį. Sense-Plan-Act (SPA) architektūra SPA architektūroje remiantis iš jutiklių gauta informacija suformuojamas roboto veiksmų planas. „Plan“ veiksmas priima sprendimus priklausomai nuo jutiklių reikšmių. Planas yra sudarytas iš komandų roboto vykdytuvams sekos. „Act“ veiksmas atlieka suplanuotą veiksmų seką Lygiagreti Sense, Plan, Act (SPA) Jutimo, planavimo ir veikimo veiksmų komponentai vykdomi lygiagrečiai naudojant daugelį gijų arba procesorių Pranašumas: „Act“ veiksmas gali atlikti kelis veiksmus tol, kol „Plan“ veiksmas planuoja sekančius veiksmus. Edukacinis video https://youtu.be/cpN3X2WzgSU?t=16 5 SPA: autonominis ir pusiau autonominis valdymas Autonominis valdymas Pusiau-autonominis valdymas su operatoriaus įsikišimu Šiuolaikinės SPA architektūros pavyzdys: Autonominio automobilio valdymas Jutiklių posistemis Suvokimo posistemis Planavimo posistemis Valdymo posistemis Rodney Brooks pasiūlė 1986 m Elgesiu pagrįsto programavimo pavyzdys Architektūra, įkvėpta smegenų evoliucija. Pirmiausia užprogramuojami primityviausi roboto sugebėjimai: variklio valdymas, elgesys reaguojant į „Subsumption“ susidūrimus, elgesys reaguojant į netoliese esančias kliūtis, Prie esamo elgesio pridedamas sudėtingesnis elgesys. („Brooks“) Žemesnio lygmens elgesys visada yra pasiruošęs valdyti architektūra robotą, kai aukštesnis elgesio lygis nėra galimas Brooks architektūrą sudaro užduotį įvykdančių elgsenų hierarchija Kiekviena elgsena yra aprašoma paprasta taisykle Brooks architektūra: Kiekviena elgsena konkuruoja su kitomis elgsenomis principai dėl to, kad robotas ją vykdytų Žemesnio lygmens elgsenos yra paprastesnes ir turi prioritetą prieš aukštesnio lygmens elgsenas Elgseną galima aprašyti pirmos eilės logika Šie baigtiniai automatai yra vadinami elgsenomis. Vienu metu gali būti aktyvuotos kelios elgsenos Brooks (elgsena grįsta) architektūra: sudaro keli Brooks architektūra: sąveikaujančių baigtinių automatų (BA) lygmenys. pavyzdys Kiekvienas BA tiesiogiai jungia roboto jutiklius su roboto vykdytuvais 5 lygmuo: Aptikti objektus 4 lygmuo: Stebėti pasikeitimus aplinkoje 3 lygmuo: Kurti aplinkos žemėlapį 2 lygmuo: Tirti aplinką 1 lygmuo: Klajoti be tikslo 0 lygmuo: Vengti susidūrimo Pavyzdys: Mars Explorer roboto elgsena Kliūčių vengimas: (1) Jei aptikta kliūtis, pakeisti važiavimo kryptį Uolieną palikti baziniame laive (2) Jei veža uolieną ir yra prie bazinio laivo, palikti uolieną laive Uolieną nugabenti į laivą (3) Jei turi uolienos ir nėra prie bazės, važiuoti link bazės Rinkti uolieną (4) Jei rado uolieną, paimti Jei nėra kitų užduočių, važinėti atsitiktinai (5) Jei tai, judėti atsitiktinai Brooks architektūros klasių diagrama Arbitravimo mechanizmas leidžia aukštesnio prioriteto lygmeniui panaikinti žemesniojo lygmens signalus Pavyzdys: Robote aktyvuotos dvi programos: atsitiktinio žvalgymo programa ir kliūčių vengimo programa Elgsenų Aplinkoje be kliūčių robotą valdo atsitiktinio arbitravimas žvalgymo programa, o kliūčių vengimo programa nesiunčia jokių signalų Atsiradus kliūčiai, aukštesnio lygmens kliūčių vengimo programa panaikina atsitiktinio žvalgymo programos generuojamus signalus ir nukreipia robotą nuo kliūties Arbitravimo realizavimas Beh – elgsenos S – Slopinimo mazgas I – Inhibitoriaus mazgas Inhibitoriaus mazgas Turi du įėjimus ir vieną išėjimą. Veikia kaip uždarymo vožtuvai. Jei elgesys B yra aktyvus, elgsenos A išvestis yra užblokuota, rezultatas - nėra valdymo komandų išvestyje. JEI yra elgsena B, tada nėra išvesties, kitaip elgsena A Slopinimo mazgas Leidžia vienai elgsenai išjungti kitą elgesį siunčiant signalą. Turi dvi įvestis su skirtingais fiksuotais prioritetais. Aukštesnio prioriteto signalas slopina žemesnio prioriteto signalą Jei elgsena B, tai elgsena B, kitaip elgsena A Brooks architektūra: pranašumai ir trūkumai Pranašumai: greitis ir reaktyvumas patikimumas tinkamumas dinaminiam pasauliui robotas veikia jau žemiausiame lygmenyje sluoksniai nepriklausomi, todėl robotas gali siekti kelių tikslų vienu metu Trūkumai: sudėtinga apjungti elgsenas siekiant ilgalaikių tikslų; sunku optimizuoti roboto elgseną, sluoksniai didina sistemos sudėtingumą. Hierarchinės architektūros Valdikliai išdėstyti hierarchiškai (vienas virš kito) Kiekvienas valdiklis, Mato tik tai, kas yra žemiau jo Žino tik tai, ko jam reikia Panašus į biologines sistemas Robotų architektūrų įgyvendinimas: diegimo modeliai Objektinė robotika Elementai: Klasių biblioteka Bendrinės klasės Konkrečios klasės Ryšiai: Naudoja Paveldi Komponentinė robotika Branduolys Centralizuotas valdymo centras, koordinuojantis visus komponentus. Sudėtiniai komponentai: Kombinuoja atominius komponentus, kad atliktų sudėtingesnes funkcijas. Atominių komponentų hierarchija: „Atomic A“ ir „Atomic B“ veikia kaip pagrindiniai funkcijų moduliai. Komponentų kolekcijos: Bibliotekos skirtos komponentams išsaugoti ir pakartotinai naudoti. Agentais grįsta robotika Taisyklėmis pagrįsta - Programinės įrangos sluoksniai: Kontrolės sluoksnis (Control Layer): Atsakingas už roboto veiksmų vykdymą. Aplikacijos sluoksnis (Application Layer): Apibrėžia, kaip programos logika sąveikauja su fiziniais komponentais. remiasi taisyklių rinkiniu Simboliška - priklauso nuo atsirandančių mazgų savybių Hibridas - derina abi rūšis Robotas kaip paslauga (Robot as A Service) Kapitonov, A., Lonshakov, S., Bulatov, V., Montazam, B. K., & White, J. (2021, May 20). Robot-as-a-Service: From Cloud to Peering Technologies. Frontiers in Robotics and AI. Cloud Robotics Robotų programavimo metodai ◼ Rankinis programavimas ❑ Tekstinės programavimo kalbos (C, Python,...) ❑ Grafinės kalbos (Lego, Scratch,...) ◼ Automatinis programavimas ❑ Apmokymas demonstruojant/imituojant ❑ Save-apsimokančios sistemos (mašininis mokymas / dirbtinis intelektas) Šaltinis: G. Biggs and B. MacDonald. A Survey of Robot Programming Systems Programavimas demonstruojant ◼ 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 ◼ Rezultatas: vykdomoji programa leidžianti atlikti pademonstruotą veiksmą. Kinestetinis roboto apmokymas ◼ Mokytojas (demonstrantas) perkelia roboto galūnes ◼ Robotas suvokia savo judesį ir jį užregistruoja ◼ Simbolinis – sudaro iš anksto apibrėžtų elementarių judesių seka ❑ Robotas gali išmokti ciklus (judesių kartojimą), taisykles ir veiksmų hierarchiją ◼ Trajektorijos – judesio apibendrinimas aukštesniame (trajektorijos) lygmenyje ❑ Robotas išmoksta bendrinius judesius, kurie gali atitikti galimų judesių aibę Mokomasis vaizdo įrašas Programavimas pagal demonstraciją naudojant gestus https://www.youtube.com/watch?v=pdvLkcEUcXM Judesių išmokimas ir optimizavimas Robotui išmokus perkelti figūrą, jis gali pritaikyti išmoktą judesį figūros perkėlimui į visai kitą vietą → Judesio trajektorija gali būti optimizuojama Mokomasis vaizdo įrašas Imitacinis judesio parametrų mokymasis dinaminėms manipuliavimo užduotims atlikti https://www.youtube.com/watch?v=ydnjS__8Ooc Apmokymo demonstruojant problema ◼ Roboto valdymas, esant kitam nei buvo apmokymo metu, kontekstui ❑ Pvz.: pasikeitė perkeliamos dėžės matmenys ❑ Jei pokyčiai aplinkoje yra žymūs, nedidelio trajektorijos adaptavimo (modifikavimo gali nepakakti tikslui pasiekti Programavimas demonstruojant Rankinis valdymas ◼ Pranašumai: ❑ Mažesni kaštai ❑ Vartotojui nereikia rašyti sudėtingos valdymo programos Daviklių duomenys ❑ Programavimas keliamas į aukštesnį lygmenį Apibendrinim as ◼ Trūkumai: ❑ Rezultatas priklauso nuo vartotojo “geros valios” Autonomiškai vykdoma programa ❑ Nėra pilnai automatizuotas (apibendrinimas, t.y. kaip pritaikyti programas kitiems robotams, arba kitiems daiktams, su kuriais dirba robotai) Š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) Save apsimokančios sistemos ◼ Apsimokančios sistemos sukuria programą indukcijos pagalba iš vartotojo pateiktų pavyzdžių. ◼ Dažniausiai naudojama neuroninių tinklų technologija ◼ Etapai: ❑ 1. Robotas stebi, kaip turi būti atliekama užduotis ❑ 2. Geri atlikimo pavyzdžiai naudojami valdymo programai sukonstruoti ❑ 3. Robotas bando atlikti užduotį pats Mokomasis vaizdo įrašas ◼ Robotas mokosi taikliai mėtyti ◼ https://www.youtube.com/watch?v=-O-E1nFm6-A Demonstracinis (Imitacinis) vs. Mašininis mokymas Imitacinis mokymas: Sumažina galimų judesių variantų erdvę, palengvina apmokymą Leidžia sukurti ir perduoti robotui judesių žodyną Mašininis mokymas Leidžia prisiderinti prie naujų situacijų Leidžia priderinti demonstruotus judesius prie roboto konstrukcijos apribojimų

Use Quizgecko on...
Browser
Browser