1 / 80

Intelektikos pagrindai

Intelektikos pagrindai. P176B100 2012 m Robertas Damaševičius r obertasdamasevicius @ktult. Pagrindiniai robotų valdymo metodai ir algoritmai. Robotų valdymo algoritmai. Elgsena grįsti algoritmai Būsenomis (baigtiniais automatais) grįsti algoritmai PID - valdymo algoritmas

nikkos
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 P176B100 2012 m Robertas Damaševičius robertasdamasevicius@ktult

  2. Pagrindiniai robotų valdymo metodai ir algoritmai

  3. Robotų valdymo algoritmai • Elgsena grįsti algoritmai • Būsenomis (baigtiniais automatais) grįsti algoritmai • PID - valdymo algoritmas • Fuzzy – neraiškios logikos valdymo algoritmai • Dirbtiniai neuroniniai tinklai • Genetinio programavimo algoritmai • Evoliuciniai skaičiavimai • Tikimybiniai algoritmai

  4. Elgsenomis pagrįstas judėjimo valdymas • Robotas aprūpinamas keletu paprastųjų elgsenų, kurias gerai moka • Esant tam tikroms situacijoms, jis jas kaitalioja • Modelį sudaro 5 paprastosios elgsenos: • klaidžiojimas (važinėjimasis) aplinkoje, • kliūčių vengimas, • važiavimas pakrauti bateriją, • važiavimas palei sieną, • važiavimas sekant išsiskiriančios spalvos liniją

  5. Elgsenomis pagrįstos valdymo sistemos modelis

  6. Roboto elgsenos • Bendroji roboto elgsena susiformuoja sąveikaujant paprastosioms elgsenoms ir aplinkai, kurioje yra robotas • Paprastosios elgsenos yra realizuojamos kaip atskiros valdymo sistemos dalys • Kiek ir kokių paprastųjų elgsenų reikės priklauso nuo aplinkos, kurioje veiks robotas, ir nuo jam keliamų tikslų (uždavinių) • Numatyti ir aprašyti visas paprastąsias elgsenas – sunkus, kūrybinis projektavimo uždavinys • Jei nebus įdiegtos visos reikalingos paprastosios elgsenos, robotas gali pakliūti į situaciją, kurioje nežinos kaip elgtis ir nesugebės atlikti jam pavestų užduočių • Kad sistema gerai funkcionuotų, turi būti užtikrintas paprastųjų elgsenų parinkimo – keitimo mechanizmas

  7. Elgsenos koordinavimas • Koordinavimo mechanizmas yra atsakingas už elgsenų valdymą, ty jų įjungimą ir išjungimą konkrečiu laiku, konkrečioje situacijoje • Koordinavimas gali būti atliekamas naudojant konkurencijos arba kooperacijos metodus • Taikant konkuruojantį metodą, vienu metu įjungta būna tik viena elgsena ir tik ji gali veikti roboto variklius • Taikant kooperuojantį metodą variklius įtakoti gali kelios paprastosios elgsenos

  8. Neadaptyvaus roboto valdymo algoritmas • Įprastinėje situacijoje, robotas seka savo aplinką naudodamas jutiklius • Šios reikšmės yra lyginamos su pageidaujamų reikšmių aibę, kurią iš karto nustatė programuotojas • Priklausomai nuo jutiklių siunčiamų reikšmių nukrypimo nuo pageidaujamų reikšmių, algoritmas nustato veiksmų seką ir konvertuoją ją į vykdytuvams siunčiamų komandų seką • Veiksmai kartojami cikle tol, kol robotas pasiekia savo tikslą

  9. Adaptyvaus valdymo algoritmas • Robotas saugo geriausias parametrų reikšmes atmintyje ir gali jas modifikuoti • Saugomas jutiklių duomenų ir roboto veiksmų į juos sąrašas • Atėjus panašioms jutiklių reikšmėms į saugomas atmintyje, robotas parenka praeityje sėkmingiausią atliktą veiksmą • Geresnis prisitaikymas prie besikeičiančių aplinkos sąlygų

  10. Žmogaus elgsenos algoritmas • Skiriasi didesne atminties įtaka priimamiems sprendimams

  11. Robotų valdymo algoritmai • Būsenomis (baigtiniais automatais) grįsti algoritmai • PID - valdymo algoritmas • Fuzzy – neraiškios logikos valdymo algoritmai • Dirbtiniai neuroniniai tinklai • Genetinio programavimo algoritmai • Evoliuciniai skaičiavimai • Tikimybiniai algoritmai

  12. Robotų programavimo algoritmai • Projektuojant robotų judėjimo valdymą susiduriama su daugeliu problemų • Roboto judėjimas išvengiant kliūčių yra vienas pagrindinių judėjimo uždavinių • Valdymo sistemos pagrindinis tikslas – sugretinti planą/modelį su realia aplinka • Valdymo sistema gauna informaciją iš jutiklių, ją apdoroja ir perduoda komandas valdymo varikliams arba kitiems valdymo įrenginiams, kad jie veiktų aplinką pagal numatytą planą

  13. Būsenomis aprašoma valdymo sistema • Vienas iš būdų valdyti robotą – aprašyti būsenas, kuriose jis yra, kai juda aplinkoje, į kurią yra patalpintas • Roboto judėjimas priklauso nuo to, kokioje būsenoje konkrečiu laiko momentu yra robotas • Kiekviena būsena užprogramuojama tam tikra funkcija, valdančia variklius Iš jutiklių gaunama informacija, nustatoma, kurioje būsenoje yra robotas ir atitinkamai reaguojama • Šis būdas pasiteisina kai robotas veikia nesudėtingoje aplinkoje, kurioje yra nedaug kliūčių • Jei tik judėjimo erdvė pasidaro sudėtingesnė, paprasta ir nesunkiai nusakoma valdymo sistema greitai gali tapti sunkiai valdoma, neatlikti to, ko iš jos tikimasi

  14. Pavyzdys • Robotas turi du į priekį nukreiptus atstumo jutiklius K ir D, kad sugebėtų išvengti susidūrimų • Kuo jutiklių reikšmės K ir D mažesnės, tuo arčiau yra kliūtis • Galimi du režimai: • miego – robotas išjungtas ir • judėjimo – robotas aktyvus • Tarkime, kad roboto užduotis yra visą laiką judėti į priekį • Pirmiausia iš jutiklių gaunama informacija, nustatoma, kurioje būsenoje yra robotas ir atitinkamai reaguojama • Judėjimas priklauso nuo būsenų, kuriose yra robotas • Kiekviena būsena užprogramuojama tam tikra funkcija, valdančia variklius

  15. Būsenomis paremtos valdymo sistemos algoritmas • 1 būsena:K < Astop ir D < Astop • Robotas lėtina judėjimo greitį kol sustoja ir išjungia variklius, jei dar nėra to padaręs ir pereina į miego režimą • 2 būsena: K > Amax, D > Amax • Priekyje nėra kliūčių, robotas visu greičiu juda tiesiai pirmyn • 3 būsena:K < D • Kairėje pusėje yra kliūtis, robotas lėtėja ir suka dešinėn • 4 būsena:D < K • Dešinėje pusėje yra kliūtis, robotas lėtėja ir suka kairėn Kiekviena būsena užprogramuojama tam tikra funkcija, valdančia variklius

  16. Algoritmo trūkumai (1) • Pagr. trūkumas: sistema neturi atminties • Robotas, nesugebantis mokytis iš praeities klaidų yra priverstas jas kartoti • Pavyzdžiui: • Robotas pastebėjęs dvi kliūtis negali pravažiuoti tarp jų net jei tarpas yra pakankamas • Robotas pastebėjęs kliūtį kairėje (3 būsena) pradeda sukti dešinėn • Užfiksavęs kliūtį dešinėje (4 būsena), pradeda sukti kairėn • Po manevro jis vėl atsiduria 3 būsenoje • Robotui taip judant toliau jis gali patekti į 1 būseną arba dar blogiau – kliudyti vieną iš kliūčių

  17. Algoritmo trūkumai (2) • Atsižvelgiant į neseną praeitį galime fiksuoti kurią nors vieną būseną ir nurodyti robotui kurį laiką suktis į vieną pusę • Pavyzdžiui: • Fiksavus, kad sistema perėjo iš 3 į 4 būseną arba iš 4 į 3 būseną ir tame tarpe nebuvo 2 būsenos, galima robotą priversti suktis nuo kliūties kol bus pasiekta 2 būsena

  18. Patobulintas algoritmas • Įvestos 2 papildomos būsenos: • 5 būsena – “pabėgti dešinėn” • 6 būsena – “pabėgti kairėn”

  19. Būsenomis grįstų algoritmų trūkumai • Realus algoritmas bus labai sudėtingas ir griozdiškas • Neįmanoma numatyti visų įmanomų elgesio variantų • Labai sudėtinga ją projektuoti ir derinti • Sunku prižiūrėti, modifikuoti ir plėsti • Netinka dinamiškai kintančiose aplinkose

  20. Robotų valdymo algoritmai • PID valdymo algoritmas • Fuzzy – neraiškios logikos valdymo algoritmai • Dirbtiniai neuroniniai tinklai • Genetiniai algoritmai • Induktyvus loginis programavimas • Mokymasis pastiprinimu • Sprendimų medis

  21. PID valdymo algoritmai • PID (Proportional-Integral-Derivative) – valdymo mechanizmas su grįžtamuoju ryšiu • Plačiai naudojamas pramoninėse valdymo sistemose • Trys elementai: • Proporcinis – priklauso nuo dabartinės paklaidos • Integralo – priklauso nuo praeities paklaidų sumos • Išvestinės – prognozuojamos ateities paklaidos priklausomai nuo dabartinio pokyčio tempo

  22. Bendrinė PID schema

  23. Pavyzdys: PID linijos sekimo algoritmas Error = target_pos – current_pos //calculate error P = Error * Kp //proportional constant I = I + Error //store accumulated error I = I * Ki //calculate integral value D = Error – Previous_error //change in error to derivate Correction = P + I + D

  24. PID algoritmo realizacija epsilon = 001; dt = 001; Kp = 5; Kd = 3; Ki = 001; if(abs(error) > epsilon) integral = integral + error*dt; derivative = (error - pre_error)/dt; output = Kp*error + Ki*integral + Kd*derivative; pre_error = error;

  25. PID parametrų įtaka tikslumui

  26. PID valdiklio variantai • P valdiklis • PI valdiklis • PD valdiklis

  27. Pavyzdys: P valdiklis Kp = 10                               ! Inicializuojami kintamiejioffset = 45Tp = 50Loop forever   LightValue = read light sensor     ! Šviesos jutiklio reikšmė   error = LightValue - offset        ! Nuokrypis   Turn = Kp * error                  ! Variklio galios pokytis   powerA = Tp + Turn                 ! Galia A varikliui   powerC = Tp - Turn                 ! Galia C varikliui   MOTOR A direction=forward power=powerA    MOTOR C direction=forward power=powerC end loop forever                     

  28. P valdiklio problemos • Šviesos jutiklių jautrumo šviesai diapazonas turi būti platus • Turi būti greitas atsakas iš jutiklių ir variklių. • Jei yra didelė delsa, roboto veiksmai atsilieka nuo P valdiklio komandų, todėl tiksliai valdyti robotą yra sudėtinga

  29. PI valdiklis: pavyzdys Kp = 10                            Ki = 1offset = 45                          ! Inicializuojami kintamiejiTp = 50integral = 0Loop forever   LightValue = read light sensor    ! Šviesos jutiklio reikšmė   error = LightValue - offset       ! Nuokrypisintegral = integral + error   Turn = Kp*error + Ki*integral     ! Galios pokytis   powerA = Tp + Turn                ! Galia A varikliui   powerC = Tp - Turn                ! Galia C varikliui   MOTOR A direction=forward power=powerA    MOTOR C direction=forward power=powerC  end loop forever                    

  30. PID Lego NXT

  31. Multi-PID • Valdymo sistemoje gali būti keli PID valdymo algoritmai • Padėčiai valdyti • Greičiui valdyti Šaltinis: Zhijun Sun, Rentao Xing, Chunsheng Zhao, Weiqing Huang. Fuzzy auto-tuning PID control of multiple joint robot driven by ultrasonic motors

  32. PID įvertinimas • Pranašumai: • Didesnis tikslumas nei tiesioginio (proporcinio) valdymo • Trūkumai: • Sudėtinga parinkti PID koeficientų reikšmes • D koeficientas labai jautrus triukšmui

  33. Robotų valdymo algoritmai • Fuzzy – neraiškios logikos valdymo algoritmai • Dirbtiniai neuroniniai tinklai • Genetiniai algoritmai • Induktyvus loginis programavimas • Mokymasis pastiprinimu • Sprendimų medis

  34. Miglotąja (fuzzy) logika grįstas valdymas • Teoriją suformulavo L.A. Zadeh 1965 m. • Naudojama, kai reikia dirbti su netikslia informacija • Pvz.:

  35. Būlinė logika ir Miglotoji logika • Būlinėje logikoje teiginio reikšmė gali būti tik 100% “TRUE” arba “FALSE” • Miglotoje logikoje teiginiai gali būti iš dalies teisingi arba iš dalies klaidingi

  36. Būlinė logika ir Miglotoji logika • Būlinė logika:A(x) = 1 if x  A and A(x) = 0 if x A • Miglotoji logika: A(x) = [0,1]

  37. Pavyzdys

  38. Miglotosios logikos operatoriai (1) • ARBA: A  B = max {A,B}

  39. Miglotosios logikos operatoriai (2) • IR: A  B = min{AB}

  40. Miglotosios logikos operatoriai (3) • NE: ’A = 1 - A(x)

  41. Miglotąja logika grįsta valdymo sistema • Veikia naudodama ML taisyklių rinkinį • Struktūra • Fuzzifier:daviklių reikšmėms priskiria ML reikšmes • ML žinių bazė: IF-THEN tipo taisyklių rinkinys • ML loginis įrenginys:pritaiko taisykles iš ML žinių bazės • Defuzzifier: pagal ML išėjimo reikšmes sukuria vykdiklių valdymo komandų seką

  42. ML valdymo pavyzdys • ML taisyklė IFpriekyje-artima-kliūtisAND NOTkairėje artima-kliūtis THENstaigus posūkis-į-kairę Šaltinis: Meng Wang, James N.K. Liu. Fuzzy logic-based real-time robot navigation in unknown environment with dead ends

  43. Hibridinis PID-Fuzzy valdymo algoritmas • PI + ML valdiklis Šaltinis: S. Paramasivam, R. Arumugam. Hybrid fuzzy controller for speed control of switched reluctance motor drives.

  44. Hibridinis PID-Fuzzy valdymo algoritmas

  45. Robotų valdymo algoritmai • Dirbtiniai neuroniniai tinklai • Genetinio programavimo algoritmai • Evoliuciniai skaičiavimai • Tikimybiniai algoritmai

  46. Dirbtinis neuroninis tinklas (DNT) • Dirbtinis neuroninis tinklas – tarpusavyje sujungtų dirbtinių neuronų grupė. • Imituoja žmogaus nervų sistemos – neuronų tinklo – darbą • Iš esmės yra klasifikatorius – parenka išėjimų (sprendimų) reikšmes priklausomai nuo įėjimų reikšmių

  47. Tipinio DNT architektūra robotikoje

  48. DNT • Atlikus apmokymą, variklių greičiai apskaičiuojami pagal šią formulę: kur: wijyra svoriai, siyra jutiklių signalų reikšmės ir f yra greitį skaičiuojanti funkcija

  49. DNT architektūrų įvairovė

  50. Daugiasluoksnė DNT valdomo roboto architektūra Šaltinis: L. Acosta, G.N. Marichal, L. Moreno, J.J. Rodrigo, A. Hamilton, J.A. Mendez. A robotic system based on neural network controllers

More Related