You are on page 1of 33

Duan Stamenkovi 12757 Milan Birtaevi 13185 Stefan Krsti 12616

Koricenje eme za projektovanje i programa ponaanja koristeci objektno- orijentisane principe programiranja. Dizajniranje kompletnog sistema ponaanja, ukljuujuci koordinaciju i kontrolu vie istovremenih ponaanja. Za dati sistem ponaanja, napraviti tabelu ponaanja navodeci perceptivne eme i eme motora za svako ponaanje. Opisivanje dve metode za montau i koordinaciju primitivnim ponaanjem u okviru apstraktnog ponaanja.

Uvod:

Jednostavnost reaktivnih ponaanja ima za cilj da podstakne ljude da projektuju i primenjuju svoje robote. Potoje dva problema pri programiranju robota: - Prvi, projektovanje ponaanja tei da bude umetnost, pa poetnici u projetkovanju uglavnom ne znaju kako da ponu projektovanje, a jo manje znaju kada imaju racionalan sistem; - Drugi, kada dizajner ima dobro dizajnirana i testirana ponaanja, kako ih integrisati u sistem.

Jedna od prvih popularnih aplikacija koju su mnogi dizajneri robota razmatrali je skupljanje i odlaganje praznih limenki pia. Ovaj proces ukljuuje pronalaenje limenke, kretanje robota ka njoj, njeno prikupljanje i kasnije odlaganje u kantu za otpatke.

Teorija eme je pogodna za prenos teoretskih koncepata u OOP, ema kao objekat programiranja e biti klasa. Tri klase su dobijene iz klase ema: ponaanje, ema pokreta, ema percepcije Koristei predstavljanje ujedinjenim jezikom za modeliranje (UML, unified modelling language) klase eme i ponaanja izgledaju kao na slici 1

Slika 1: klase a) eme, b)ponaanje

Treba napomenuti da potoji primitivno ponaanje sastavljeno od samo jedne eme percepcije i eme pokretanja. Ponaanja koju su sastavljena iz vise ponaanja, ema percepcije ili ema pokretanja nazivaju se apstraktna ponaanja .

1994. godine, godinje takmienje mobilnih robota je imalo dogadaj skupljanje smea, Pobednik bi bio robot koji bi najvise smea ubacio u prave kante. Na poetku je razvijano sakupljanje limenki KokaKole, jer je najlakse bilo napisati algoritam kojim bi robot razlikovao crvenu i plavu boju. ema pokretanja preuzima zapaanje (percepciju) koje je formirano od prethodnih informacija, i koristi ih za okretanje robota ka centru obojenog podruja i za njegovo pokretanje ka cilju.

Ovaj primer pokazuje kako metodologija potencijalnih podrucja moze biti prmenjena pomou ema. follow_corridor. follow_corridor podruje moze biti primenjeno u emama, na minimum dva razliita naina kao to je prikazano na slici 2.

Slika 2. Dijagrami klasa za dve razlicite primene follow_corridor: a) korisenje primitivnih podrucja; b)korisenje polja grupisanih u follow_wall ponaanje.

U ovom odeljku cemo proi kroz korake u projektovanju sistema koji 1994. godine pobedio na takmienju terenskih bespilotnih vozila. Prva tri koraka koriste projektantu za utvrivanje ekoloke nie etvrti korak slui za prepoznavanje i obradu skupa ponaanja potrebnih za izvrenje zadataka. Kada je skup ponaanja izabran, onda dizajner testira i dizajnira svako ponaanje posebno(npr. pisanje algoritma za pronalaenje crvene mrlje na slici) .

Ovo prouavanje se zasniva na pristupu koji je razvio tim Rudarske skole Kolorado(CSM) na takmienju terenskih vozila bez vozaca (Unmanned Ground Vehicles-UGV) 1994. godine. Cilj takmienja je bio da se mala bespilotna vozila (ne veca od vozila za golf) krece unutar otvorenog terena ogranicenog belim linijama.

Korak 1. Svrha ovog koraka je da odredi sta robot treba da radi da bi bio uspesan Zadatak je bio da robot prati putanju sa fiksiranim preprekama i jamom sa peskom. Korak 2. Korak 2. Opisivanje robota: Svrha ovog koraka je odredjivanje osnovnih fizickih mogucnosti robota i njegova ogranicenja. CSM tim je dobio donaciju materijala za platformu od Omnitech Robotics za svoj projekat Omnibot (slika 4).

Slika 4. Omnibot CSM tima

Korak 3. Opisivanje okoline: Putanja je postavljena na travnatom terenu sa blagom padinom. Putanja je bila siroka 10 stopa i oznacena je belom bojom, otprilike u obliku bubrega (slika 5). Tacna duina staze i poloaj prepreka nisu poznati sve do dana takmienja i timovima nije dozvoljeno merenje toko probnih vonji na stazi. Prepreke su bile bale sena umotane u belu u crvenu plastiku.

Slika 5: Staza na takmienju

Korak 4. Opisivanje ponaanja robota u odnosu na okolinu: Cilj ovog poglavlja je da identifikuje skup jednog ili vise primitivnih ponaanja: koja bi kasnije bila prihvacena ili eliminisana. to se tie izraavanja ponaanja za zadatak, povoljno je izraditi tabelu ponaanja.

Tabela 1. Tabela ponaanja

Korak 5. Obrada svakog ponaanja: Ovaj korak koncentrie se na dizajn svakog pojedinanog ponaanja. Korak 6.Testiranje svakog ponaanja nezavisno Testiranja se vre u simulaciji, pre nego to se vre na samom robotu u njegovoj okolini. Treba zapamtiti da su simulatori vezani uglavnom za mehaniki deo, tj. za pokretaku emu. Dok je emu percepcije moguce testirati samo u realnim uslovima.

Korak 7. Testiranje sa drugim ponaanjima: Poslednji korak u dizajniranju i primeni reaktivnih sistema je zajedniko testiranje, gde se testiraju ukombinovana ponaanja. Iako je ponaanje follow_line radilo dobro sa belim linijama, nije radilo sa belim linijama i preprekama. Problem je bilo kako znati kada robot da iskljui viziju i da nastavi kretanje pravo. Resenje je bilo u korienju sonara kao kreatora move_ahead ponaanja. Kao rezultat dobijeno je da korienje sonara koi follow_line ponaanje, a nedostatak sonara koi move_ahead ponaanje. Oba ponaanja rade istovremeno, ali samo jedno u trenutku ima uticaj na rad robota. Slika 6. pokazuje koenje, dok su nova ponaanja prikazana u tabeli:

Tabela 2: Tabela novih ponaanja

Slika 6. : Izgled ponaanja CSM projekta

UGV takmienje ilustruje osnovne principe dizajna reaktivnog ponaanja Najbolji nacin za predstavljanje niza ponaanja su konacni automati (finite state automataFSA). Georgia Tech tim je pobedio 1994. godine na takmienju sakupljanja smea, uspeno koristei FSA

Slika 7. Pobedniki robot Georgia Tech tima

Konani automati ( FSA ) su skup popularnih mehanizama za odreivanje ta program treba da radi u datom trenutku ili okolnosti. FSA moe biti napisan kao tabela ili nacrtan kao dijagram stanja, dajuci dizajneru vizuelni prikaz. Za poetak,dizajner mora da bude u stanju da odredi konaan broj diskretnih stanja u koje robot treba da bude .Skup stanja je predstavljeno kao K, i svako stanje ,q K je lista ponaanja koje treba da budu aktivni u isto vreme. U sluaju UGV takmienja, postojala su samo dva stanja: prati liniju i idi napred.Stanja su predstavljena slici 8.

Slika 8. Prikaz FSA kontrole i koordinacije ponaanja na UGV takmienju a) dijagram, b) tabela

Uvek postoji startno stanje(s ili q0) . U sluaju sa slike 8 robot pocinje iz stanja u kome prati liniju, dok je na slici 9 prikazano da moe krenuti i na praznoj i na stazi sa preprekama. Treci deo FSM je funkcija tranzicije , koja precizira koje je stanje robota nakon pobude ulaza . Skup pobuda koje se mogu prepoznati od strane robota je predstavljen kao . etvrti deo informacija koje dizajner mora da zna je kada je robot je zavrio zadatak. Svako stanje koje robot moe da dostignuti a koji prekida zadatak pripada setu zavrnog stanja , F

U mnogim sluajevima FSA tabela je produetak tabele ponaanja. Tabela je poznata kao konano stanje maine i skraceno M za maine.

FSA tabela

Slika 9. Alterntativni prikaz FSA: a) dijagram, b)tabela

Kao jo jedan primer kako da izgradi i primeniti FSA , uzecemo u razmatranje A Pick Up the Trash (Pokupi djubre) zadatak . Koristi se malo vozilo kao to je vozilo tima Georgia Tech ili Pioneer (slika 10) sa kamerom, bumper prekidaem, hvatalicom koja ima IR senzor. Vizuelno okruenje je vrlo jednostavno, detektuje samo crvene i plave mrlje: limenke su crvene, a kante plave boje.

Slika 10 .

Pioneer P2-AT

Tabela ponaanja

Slika 11: FSA koji je ekvivalentan tabeli ponaanja

Reaktivna implementacija se sastoji od jednog ili vie ponaanja i mehanizma za kombinovanje izlaznih itovremenih ponaanja. Teorija eme je kompatibilna sa OOP. Ponaanja se dobijaju iz klasa ema. FSA je prikaz koordinatne logike koja je potrebna za kontrolu redosleda ponaanja. Koraci projektovanja inteligencije robota: -Opis zadatka -Opis robota -Opis okruenja -Opis ponaanja robota u okruenju -Obrada svakog ponaanja -Ispitivanje svakog ponaanja pojedinano -Ispitivanje ponaanja zajedno sa ostalim ponaanjima

You might also like