You are on page 1of 23

Testiranje AGVs-a u dinamičnom skladišnom okruženju

Alexander Helleboogh, Tom Holvet i Yolande Berbers

Uvod

Automatski vođena vozila (automated guided vehicle-AGV) su vozila kojima se upravlja na


automatski način, primenom različitih sistema vođenja (na primer lasersko). Ova vozila eliminišu
potrebu za vozačem, pa zapravo predstavljaju mobilne robote. Najčešće se upotrebljavaju u industriji,
ali ekspanzijom njihovog razvoja, sada imaju primenu u gotovo svim oblastima.
Prva rešenja su se javila još početkom pedesetih godina dvadesetog veka. Prva rešenja su
primenjivana kod vučnih vozila sa prikolicama, kao alternativa za realizaciju transportne funkcije
vozilima sa vozačima, pre svega u procesnom transportu.
Prednosti koje pruža primena ovih vozila su brojna, a neke od njih su:
-Značajna fleksibilnost u promeni transportne putanje, kao i u pogledu prilagođavanja zahtevima
-Relativno jednostavna ugradnja
-Jednostavno povećanje transportnog kapaciteta, uvođenjem novih vozila
-Smanjivanje oštećenja robe
-Humaniji uslovi rada
-Neosetljivost sistema na dužinu radnog vremenaa i broj smena, i druge.

1
Klasifikacija AGVS vozilamože se realizovati na veliki broj načina, a tipično se obavlja prema
funkcionalnim karakteristikama, odnosno obliku zadatka koje AGVS realizuju. Sa ovog aspekta,
automatski vođena vozila se mogu klasifikovati u sledeće grupe:
-Traktori
-Paletna kolica
-Transportna vozila
-Specijalna vozila.
Primena AGVS-a zahteva posebno obučeni personal, kako za sam nadzor procesa (upravljanje
saobraćajem na mreži, prilagođavanje tekućim promenama zahteva u sistemu i slično), tako i za
opslugu i održavanje samih vozila i prateće opreme. Najčešći problem koji se javlja kod primene
AGVS-a je upravljanje saobraćajem na mreži, to jest donošenje odluka na kritičkim tačkama-
razdvajanja, spajanja i ukrštanja tokova AGV-a. Ovaj rad se upravo bavi ovim problemom.

2
1. Upoznavanje sa zadatkom

Od marta 2004-te godine AgentWise istraživačka grupa je uključena u projekat nazvan Egemin
Modular Controls Concept (EMC2) u kooperaciji sa kompanijom Egemin, industrijskim ekspertom za
automatske skladišne transportne sisteme. AGV transportni sistem je industrijski transportni sistem,
koji koordiniše rad automatski vođenih vozila. Tipična namena je pakovanje i distribucija robe do
skladišnih lokacija. AGV je kompjuterski vođeno transportno vozilo, koje ne zahteva vozača, i kao
energijski izvor koristi baterije. Transport obuhvata zahvatanje tereta sa predviđenog mesta zahvatanja
i prenos do zahtevane destinacije. Transport je organizovan sistemom korisnika, na primer, biznis
menadžment programima.
Tradicionalno, AGV u skladištu je direktno povezan sa centralnim serverom. AGV ima ograničenu
autonomiju: server planira raspored aktivnosti kao sveobuhvatne dispečerske komande vozilima i
kontinualno kontroliše njihov status. Struktura sistema je podeljena na brojne praktične instalacije,
shodno zahtevima. Struktura centralizovanog servera ima dve osnovne prednosti. Softver može biti
jednostavno modifikovan, shodno potrebama projekta. Ova mogućnost obezbeđuje optimizaciju datog,
pojedinačnog zadatka. Druga prednost je ta, da je sistem determinisan i predvidljiv.
U EMC2 projektu, istraživana je izvodljivost-primena, decentralizovanog sistema, sa ciljem povećanja
fleksibilnosti. U ovom pristupu svaki AGV je kontrolisan od strane jednog agenta. Agenti imaju
zadatak da osiguraju funkcionalnost sistema. Za razliku od centralizovanog sistema, u ovom slučaju,
svaki kontrolor donosi odluku isključivo na bazi informicija dobijenih snimanja radnog mesta.
Skladišno okruženje, u kojem se nalaze agenti, je veoma dinamično. Postoje različita AGV vozila,
koja su konstantno u pokretu, šalju poruke i manipulišu teretom. Shodno tome, mogući su konflikti
između vozila, koja pri tom rade automatski. Konflikti nastaju kao kombinacija samih AGV-a i
gubitka komunikacije zbog nagomilavanja informacija u kominikacionom kanalu.
Neophodno je detaljno testiranje agenata, pre nego što se oni rasporede na rad sa ovim vozilima. U
decentralizovanom sistemu, testiranje je neophodno kako bi se ocenilo da li agenti mogu da adekvatno
reaguju u slučaju pojave konflikta. Formalni pristupi nisu praktično u mogućnosti da prikažu
ponašanje decentralizovanih sistema, pa se zato pristupa simulaciji.
U ovom projektu, pristupa se simulaciji skladišnog okruženja, kako bi se testirali agenti. Simulacija
predstavlja model realnog okruženja, i obuhvata simulaciju AGV-a. Agenti se testiraju, tako što se
angžuju u simuliranom okruženju. Simulacija skladišnog okruženja potpomaže testiranje nudeći
mogućnost prikazivanja dinamičnosti skladišnog sistema na eksplicitan način i detektovanja
problemskih tačaka automatskim pristupom.
Nastavak ovog dokumenta je podeljen na sledeći način. U drugoj tački se opisuje stvarno skladišno
okruženje. U trećoj tački se opisuje model simuliranog okruženja koji je razvijan sa ciljem vernog
prikaza realnog sistema. U četvrtoj tački se daje objašnjenje kakav je doprinos simulacije u testiranju
3
izbegavanja pojave problema. U petoj tački se procenjuje vrednost ovog pristupa, a u šestoj se zapisuju
doneti zaključci.

2.Realno skladišno okruženje

Fokus je na dve tačke skladišnog okruženja: layout skladišta i AGV. U odeljku 2.1 se diskutuje o
layout-u skladišta, a u odeljku 2.2, fokus je na strukturi AGV-a. U odeljku 2.3 se analizira kako dolazi
do pojave problema. Potrebna oprema za izbegavanje problema je specifirana u odeljku 2.4.

2.1. Layout skladišta

Layout skladišta se sastoji od različitih roba pozicioniranih na različitim lokacijama u skladištu.


Roba se najčešće skladišti u regalima. Regali su pozicionirani prema geometrijskim predispozicajama,
na taj način da se kombinuje laki prilaz robi i efikasno iskorišćenje skladišnog prostora. Uobičajeno se
punjači baterija AGV-a pozicioniraju na posebnim lokacijama u skladištu.
Layout skladišta se obično prilagođava na taj način da podrži funkcionisanje AGV-a. ovakav
princip tipično uključuje određivanje konfiguracije regala. U nastavku, layout magnetnih saobraćajnica
je instaliran u skladišni pod, kako bio one vodile AGV od jedne do druge tačke. Ova magnetna
saobraćajnica omogućava AGV-u da manevriše na precizan način duž definisane putanje. Magnetne
saobraćajnice su jeftine i lako se instaliraju, tako da magnetno vođena navigacija ima dobar odnos cene
i efikasnosti.

2.2. Struktura AGV-a

Na slici 1, prikazana je struktura AGV-a. Svaki AGV se sastoji od hardvera i softvera. Hardver se
sastoji od brojnih hardverskih modula. AGV senzor moduli predstavljaju senzore koji detektuju stanje
baterije. AGV motorni moduli predstavljaju različite pokretače, kao što su uređaji za podizanje tereta.
AGV WiFi modul predstavlja bežičnu komunikacionu infrastrukturu koja šalje i prima poruke. Softver
se sastoji od dva glavna modula: AGV upravljačke jedinice i AGV agent.

4
Slika 1. Arhitektura AGV-a

AGV agent izučava logiku vođenja AGV-a. Agent koristi AGV upravljačku jedinicu za
vođenje AGV-a. AGV upravljačka jedinica kontroliše sve veze sa hardverom, i određuje stepen
detaljnosti kontrole, koja se može koristiti za vođenje AGV-a.
AGV upravljačka jedinica omogućava agentu vođenje AGV-a po segmentima: vozilo se može
zaustavitit na svakoj stanici, gde može dobiti instrukcije za promenu pravca. AGV upravljačka jedinica
ima mogućnost pružanja sledećih komandi za vođenje vozila:
-Kretanje: mogućnost kretanja vozila duž datih segmenata, dok ne stigne do sledeće stanice.
-Zahvatanje: mogućnost kretanja vozila duž datih segmenata i zahvatanje tereta na stanici.
-Odlaganje: identično kao i zahvatanje, s tim što odlaže teret koji vozilo nosi.
-Parkiranje: mogućnost kretanja vozila duž datih segmenata i parkiranj na stanici, na kraju segmenta.
-Punjenje: mogućnost kretanja vozila duž datih segmenata i početak punjenja baterija na stanici, na
kraju segmenta.
-Slanje-emitovanje poruka: emitovanje poruke korišćenjem bežične komunikacione infrastrukture.
-Slanje unicast poruka: slanje date poruke datom prijemniku.

5
Takođe, AGV upravljačka jedinica se koristi i za proveru statusa AGV-a:
-trenutna pozicija: određivanje tačne pozicije vozila.
-stanje baterije: očitavanje preostalog energetskog nivoa baterije vozila.
-poruke: čuvanje sledeće poruke u inbox AGV-a, gde se čuvaju sve primljene poruke.
-prisustvo tereta na vozilu: provera da li je vozilo ternutno natovareno.
-vrsta akcije: provera vrste akcije koju AGV ternutno izvršava, na primer vožnja, zahvatanje,
odlaganje.

2.3. Sudari u skladišnom okruženju

Skladišno okruženje, u kojem se agenti nalaze, je veoma dinamično. Dinamično okruženje je


okruženje, gde se promene dešavaju izvan kontrole agenta. Svaki agent sagledava dinamičnost
okruženja, prvenstveno izazvanim konstantnim kretanjem vozila, slanjem informacija i
manipulisanjem tereta. Shodno tome, postoji verovatnoća povećanja konflikta između AGV-a u
skladišnom okruženju. Konflikti koji su od najvećeg značaja za ovaj dokument su sudari.
Kretanje AGV-a u skladištu može biti posledica potrebe za transportom, zahvatanjem i odlaganjem
robe, parkiranje ili punjenje baterija. U dinamičnom skladišnom okruženju, kretanje vozila može
prouzrokovati sudare na sledeći način:
-Sa drugim vozilom. Iako je layout puta statičan, postoje mnoga vozila u pokretu, koja prouzrokuju
različite promene u sistemu. Zbog toga, saobraćajnice, po kojima se krece AGV, mogu biti obstuirana
kretanjem drugih AGV-a. Ovakve situacije mogu dovesti do sudara.
-Sa preprekama. Uskladišnom okruženju, može doći različitih prepreka na saobraćajnicama.
Tipičan primer su tereti koji padnu sa vozila, druga vozila koja su se našla na putu usled kvara, sudara
ili ispražnjenih baterija. Vozila mogu udariti u prepreku, koja je iz nekog razloga zakrčila
saobraćajnicu.
Agenti se najčešće oslanjaju na komunikaciju kako bi sprečili sudare. Međutim, oni moraju uzeti u
obzir nepouzdanost komunikacionih kanala. Transmisija poruka može biti nepouzdana iz sledećih
razloga:
-Ograničena komunikaciona razdaljina. Bežična komunikaciona infrastruktura je pouzdana samo
na ograničenoj razdaljini.
-Međusobno ometanje prilikom slanja-prijema informacija. Transmisija komunikacionih poruka
može biti ugrožena transmisijom drugog AGV-a u blizini, ili eksternim izvorima, koji rade na istom
kanalu.

2.4. Oprema za izbegavanje sudara

6
Za AGV transportni sistem, AGV kontrolni softver terba da specificira opremu, koja ima za cilj da
omogući izbegavanje sudara. Fokus je na izbegavanju sudara izazvanim nepouzdanom
komunikacijom.
Kretanje AGV-a u skladištu ne sme dovesti do sudara. Zahteva se prisustvo agenata, koji rade na
sprečavanju sudara između vozila i sudara vozila sa preprekom. Osnovni koncept prevencije sudara je
minimalna dozvoljena razdaljina. Za svaki AGV, agent definiše minimalnu dozvoljenu razdaljinu u
odnosu na drugi AGV ili određenu prepreku. Pri određivanju razdaljine, uzima se u obzir maksimalna
devijacija (odstupanje) AGV-a. Najčešće korišćena minimalna dozvoljena razdaljina je oko 10
centimetara. Ovaj podatak je dobijen od nekoliko industrijskih projekata, vezanih za AGV. Fizički,
moguće je da AGV moiže raditi na distanci manjoj od određene. Međutim, obavezno je poštovanje
minimalne dozvoljene razdaljine, kako bi se garantovao bezbedan rad u svakoj situaciji.
Bitan faktor u izbegavanju sudara je uzimanje u obzir nepouzdanosti komunikacije. Zahteva se
poštovanje minimalne dozvoljene razdaljine, čak i u prisustvu nepouzdane komunikacije. Postoje
brojne akcije, koje omogućuju funkcionalan rad i u takozvanom najgorem mogućem scenariju.
Najgorim scenarijom se podrazumeva postojanje gubitka 40% poruka i 2 sekunde zastoja prilikom
transmisije. Sigurna i pouzdana operacija se zahteva sve dok je rad na nivou iznad najgoreg scenarija.
U slučaju da kvalitet bežične komunukacije padne ispod najgoreg scenarija, dozvoljeno je da AGV-i
pređu u sigurnosni mod (safe mode), što najčešće podrazumeva prestanak rada, kako bi se izbegle
nesigurne situacije.

3. Simulirano skladišno okruženje

U ovom odeljku se opisuje simulirano skladišno okruženje koje je razvijano u ovom projektu.
Simulirano okruženje predstavlja model realnog okruženja. Prvo se opisuje na koji način se agenti
postavljaju u simulirano skladišno okruženje (3.1.). Zatim se opisuje model skladišnog okruženja. u
modelu se donosi odluka između dve pojave- statičnosti i dinamičnosti. Statičnost (3.2.) se odnosi na
posmatranje trenutnog stanja-slike, u određenom trenutku vremena, za svaki deo koji čini skladišno
okruženje. Dinamika (3.3.) predstavlja posmatranje evolucije-procesa simuliranog skladišnog
okruženja tokom vremena. U odeljku 4, ilustruje se kako je model upotrebljen u korist izbegavanja
sudara.

3.1. Postavljanje raspoređenog agenta u simulirano skladišno okruženje

Sa tačke gledišta agentovog programa, sve interakcije sa okruženjem se realizuju interfejsom,


koji obezbrđuje AGV upravljačka jedinica. Iz ovog razloga, simulacija mora da obezbedi identičan
interfejs za agente. Međutim, umesto da bude povezan sa AGV upravljačkom jedinicom stvarnog
AGV-a, simulacija akcije koje preuzima agent, preusmerava na simulirani AGV.
7
Svaki agent autonomno odlučuje u kom trenutku će aktivirati određenu akciju na AGV
upravljačkoj jedinici. Potrebno je određeno vreme da agent odluči koju će akciju preduzeti, što
rezultira zastojem svih narednih akcija. Kako bi odredili precizan trenutak u vremenu, kada se akcija
preduzima, poterbno je prvo odrediti koliko je agent razmišljao ili čekao. Razvijen je pristup skiciranja
procesa, koje je pokrenuo agent, u simulacionom vremenu.

3.2. Modeliranje statike

Statičnost simuliranog skladišnog okruženja sadrži sve informacije koje opisuju stanje događaja u
realnom skladišnom okruženju , u određenom ternutku vremena. Opisano stanje je uvek sagledavano u
određenom ternutku vremena. Stanje simuliranog skladišnog okruženja sagledava prisutne entitete i
relacije između njih. Slika 2. prikazuje uprošćen primer stanja u određenom trenutku vremena.

Slika 2. Stanje simuliranog skladišnog okruženja

8
Entiteti. Entiteti su definisani prema sopstvenim karakteristikama u realnosti. Entiteti koji su
korišćeni u simulaciji su sledeći:
-AGV. AGV je definisan prema postojećoj zapremini, kako bi reprezentovali svoju realnu fizičku
veličinu, nivo baterije, inbox i outbox, bežičnu komunikacionu infrastrukturu.
-Teret. Teret je definisan prema postojećoj zapremini, kako bi reprezentovao svoju realnu fizičku
veličinu.
-Prepreke. Prepreke su definisane prema postojećoj zapremini, kako bi reprezentovale svoju realnu
fizičku veličinu.
-Skladišni pod. Skladišni pod je definisan dvodimenzionalno, u realnoj veličini.
-Segmenti saobraćajnice. Saobraćajnice mogu biti jednosmerne i dvosmerne. U simulaciji, svaki
segment saobraćajnice je definisan pravcem i dužinom.
-Stanice. Stanice su lokacije koje se nalaze pored saobraćajnica, to jest, koje su u dodiru sa njima.
Svaka stanica je postavljena sa ciljem, i svrha joj može biti: lokacija za rutiranje, skladištenje tereta,
parkiranje, punjenje baterija.
Relacije. Relacije predstavljaju odnos između nekoliko entiteta, i izražavaju međuzavisnost entiteta u
određenom trenutku vremena.
-Prostorne relacije. Svi entiteti su međusobno prostorno povezani. Prostorne relacije svih entiteta su
izražene preko skladišnog poda, korišćenjem dvodimenzionalnog koordinatnog sistema.
-Relacije sadržaja. Relacije sadržaja se odnose na teret. One pokazuju na eksplicitan način, da li je
određen AGV natovaren ili nije, nekim teretom. Na primer, ova relacija može ukazati na to, da se
određeni teret nalazi na nekoj od stanica, i da još uvek nije zahvaćen od strane AGV-a. Čim je teret
zahvaćen, relacija pokazuje da je teret zahvaćen sa konkretnim vozilom.

3.3. Dinamika

Do sada, fokus je bio na opisu stanja simuliranog okruženja. Sada se istražuje evolucija okruženja
tokom vremena.
Dinamika kao aktivnost. Dinamika u ovom slučaju predstavlja evoluciju entiteta i relacija
tokom vremena. Primer dinamičnosti u skladištu je kretanje vozila duž segmenta saobraćajnica. U
simulaciji, dinamika je predstavljena kao abstrakcija, u funkciji aktivnosti. Aktivnost predstavlja
evoluciju određenog entiteta ili relacije, koja se dešava u nekom vremenskom intervalu. Opis
aktivnosti sadrži sčedeće stavke:
-Definisanje vremenskog intervala. Dinamika se odvija tokom vremena. Vremenski interval aktivnosti
definiše početak odvijanja aktivnosti i koliko vremena je potrebno da se ona izvrši. Vremenski interval
je jedinstven za svaku aktivnost i može se odrediti snimanjem realnog stanja u sistemu.
-Entiteti ili relacije. Dinamičnost je vezana za određeni entitet ili relaciju. Svaka aktivnost zahteva opis
aktivnosti ili relacije uključene u nju.
9
-Evolucija strategije. Svaka aktivnost zahteva opis njene evolucije kao funkcije vremena, za vreme
trajanja aktivnosti.
Iniciranje aktivnosti. Svaki agent započinje aktivnost preko interfejsa AGV upravljačke
jedinice. Korišćenje neke od funkcija AGV upravljačke jedinice inicira neku aktivnost u simulaciji.
Iniciranjem aktivnosti putem AGV upravljačke jedinice, od strane agenta, započinje relevantna
aktivnost u simulaciji. Trenutkom aktiviranja neke operacije od strane agenta, započinje vremenski
interval trajanja aktivnosti.
Aktivnosti u simuliranog skladišnom okruženju. U simulaciji, aktivnosti reprezentuju vožnju,
slanje poruka, zahvatanje, odlaganje, punjenje baterija. Sledi opis aktivnosti vožnje AGV-a:
*Vožnja. Aktivnost vožnje reprezentuje vožnju određenog AGV-a.
-Iniciranje. Aktivnost vožnje se se inicira u slučaju da agent zahteva pokretanje, zahvatanje, odlaganje,
parkiranje ili punjenje baterija.
-Vremenski interval. Vremenski interval trajanja vožnje se određuje preko performansi vozila i dužine
segmenta saobraćajnice.
-Entiteti i relacije. Aktivnost vožnje opisuje evoluciju 2 dela simuliranog sistema: relacije koje opisuju
poziciju AGV-a na skladišnom podu i stanje baterije simuliranog AGV-a.
-Evolucija strategije. Pozicija vozila opisuje put kroz segmente. Pozicija se menja tokom vremena,
aproksimativno, stalnom brzinom od 2 metra u sekundi. Tokom prve 4 sekunde vožnje, brzina vozila
se povećava linearno, i na taj način se prikazuje ubrzanje, dok tokom poslednje 2 sekunde, brzina se
linearno smanjuje, reprezentujući usporavanje. Evolucija nivoa baterije je aproksimirana modelom
linearnog smanjenja nivoa, shodno pređenom putu.
Na slici 3. je prikazana aktivnost vožnje AGV-a tokom vremenskog intervala (2 →7). Evolucija
je prikazana korišćenjem 2 slike stanja u vremenskom intervalu (2 →7), i to u trenutku T=3 i T=5.

10
Slika 3. Primer aktivnosti vožnje u simuliranom skladišnom okruženju

4. Testiranje izbegavanja sudara

Od ključnog je značaja testiranje agenata, da li mogu da izbegnu potencijalni sudar. Zahteva se


testiranje, da li AGV radi u uslovima minimalne dozvoljene razdaljine, kada je prisutna nepouzdana
komunikacija. U odeljku 4.1, opisuje se primer scenarija u kome su brojni agenti stacionirani na svoja
radna mesta. U odeljku 4.2, fokus je na tome, kako se sudar može detektovati na automatski način.

4.1. Primer scenarija

Na slici 4, prikazan je deo layout-a skladišta. Sastoji se od 10 stanica i 12 segmenata saobraćajnica.


Vreme je izraženo u sekundama. 5 AGV-a su pozicionirana, kao što je prikazano na gornjem delu slike
4:
- AGV A je pozicioniran na stanici 10.
- AGV B je pozicioniran na stanici 6.
- AGV C je pozicioniran na stanici 2.
- AGV D je pozicioniran na stanici 8.
- AGV E je pozicioniran na stanici 4.

11
Kvalitet komunikacije je podešen na najgori mogući scenarijo od 40% gubitka poruka i 2
sekunde zastoja transmisije.
Agenti su uključeni u rad na simulaciji. Tokom 12 sekundi, to jest u intervalu (0→12),
agentima je dozvoljeno da preduzimaju potrebne akcije. Akcije rezultiraju aktivnostima opisanim u
donjem delu slike 4:
-U trenutku T=2, agent startuje akciju kretanja AGV-a A, sa ciljem vožnje od stanice 10 do stanice 9.
Rezultat je aktivnost vožnje u intervalu (2→10).
- U trenutku T=4, agent startuje akciju kretanja AGV-a B, sa ciljem vožnje od stanice 6 do stanice 1.
Rezultat je aktivnost vožnje u intervalu (4→9).
- U trenutku T=7, agent startuje akciju kretanja AGV-a C, sa ciljem vožnje od stanice 2 do stanice 3.
Rezultat je aktivnost vožnje u intervalu (7→12).
- U trenutku T=6, agent startuje akciju kretanja AGV-a D, sa ciljem vožnje od stanice 8 do stanice 71.
Rezultat je aktivnost vožnje u intervalu (6→9).
- U trenutku T=2, agent startuje akciju kretanja AGV-a E, sa ciljem vožnje od stanice 4 do stanice 5.
Rezultat je aktivnost vožnje u intervalu (2→5).
Sada se ispituje da li je u ovom scenariju ugrožena minimalna dozvoljena razdaljina.

12
Slika 4. Primer scenarija vožnje AGV*a kroz skladište

4.2. Zakon detektovanja sudara

13
Zakon detektovanja sudara je pravilo koje pokazuje da li je aktivnost vožnje protekla bezbedno.
Za svaku aktivnost vožnje, zakon detektovanja sudara je u mogućnosti da detektuje 2 tipa
ometanja: ometanje minimalne dozvoljene razdaljine od strane entiteta koji su stacionarni, i
ometanje od strane entiteta koji su nestacionarni.
Entiteti su stacionarni tokom određenog vremenskog intervala u slučaju da nisu uključeni ni u
jednu aktivnost vožnje tokom vremena. Prepreke su uvek stacionarne. AGV se smatra stacionarnim
ukoliko tokom vremenskog intervala nisu uključeni u aktivnost vožnje.
Kod za zakon detektovanja sudara će biti prikazan i objašnjen u nastavku.
Detektovanje ometanja od strane stacionarnih entiteta. Na početku, fokus je na detektovanju
eventualne ugroženosti minimalne dozvoljene razdaljine, respektujući stacionarne entitete koji se
javljaju tokom datog intervala vremena. Obim aktivnosti je od najvećeg značaja za proveru
ometanja. Obim aktivnosti predstavlja sigurnosnu razdaljinu za sveaku poziciju u kojoj se AGV
nađe tokom aktivnosti vožnje. Na primer, posmatra se aktivnost vožnje AGVa E na slici 4. Obim
aktivnosti za ovu aktivnost je opisana na slici 5.
Neophodni uslovi za sigurnu vožnju su ti, da se ni jedan stacionarni entitet, tokom vremenskog
intervala trajanja aktivnosti, ne preklapa sa obimom aktivnosti. Ovaj uslov je obuhvaćen linijama
koda, od petnaeste do dvadesete linije.
Kod za detektovanje sudara je definisan na sledeći način:
1 /**
2 * Check the collisions of a given drive activity
3 * @param act the drive activity
4 * @param entities the entities to check collisions with
5 * @return a vector containing the collisions
6 */
7 public Vector checkCollisions(DriveActivity act, Vector entities){
8 Vector result = new Vector();
9 TimeInterval interval = act.getTimeInterval();
10 BoundingBox perimeter = act.getActivityPerimeter();
11 //a loop to check each entity
12 for (int i=0; i < entities.size(); i++)
13 {
14 Entity ent = (Entity)entities.get(i);
15 if (ent.isStationaryDuring(interval))
16 { //in case the entity is stationary:
17 //do one check for the perimeter of the whole activity
18 result.add(checkOverlap(perimeter,
19 ent.getBoundingBox(interval.getBegin())));
20 }
21 else //in case the entitiy is non-stationary
22 {
23 //get all activities of the entity that happen during the interval
24 Vector activities = ent.getDriveActivities(interval);
25 //a loop for each activity of the entity
26 for(int j=0; j < activities.size(); j++)
27 {
28 DriveActivity otherAct = (DriveActivity)activities.get(i);
14
29 //test whether the activity perimeters of both activities overlap
30 if(checkOverlap(perimeter,otheract.getActivityPerimeter())!=null)
31 { //in case the activity perimeters overlap
32 //take snapshots in the common interval of both activities
33 TimeInterval common = otherAct.getTimeInterval().getIntersection(interval);
34 for(Time t=common.getBegin(); t.before(common.getEnd()); t.increment())
35 //do the check for one snapshot
36 result.add(checkOverlap(act.getEntityPerimeterAt(t),
37 otherAct.getEntityBoundingBoxAt(t)));
38 }
39 }
40 }
41 }
42 return result;
43 }

Napomena. Kod je u originalu preuzet iz dokumenta Egemin Modular Controls Concept, i nije
prevođen, jer bi se u tom slučaju izgubio smisao, obzirom da su korišćeni simboli i oznake, koji su
standardizovani u ovakvim postupcima.
Zakon detektovanja sudara će detektovati problem, ukoliko stacionarni entiteti ometaju obim
aktivnosti. Ako se u obzir uzme aktivnost vožnje AGV-a E, sa slike 4, se jasno vidi da su AGV C i
AGV D, jedini stacionarni entiteti tokom intervala (2→5). Kako su i AGV C i AGV D izvan obima
aktivnosti AGV-a E, zaključuje se da stacionarni entiteti ne ugrožavaju bezbednost.

Slika 5. Obim aktivnosti vožnje AGV-a E

15
Detektovanje ometanja od strane nestacionarnih entiteta. Do sada je u obzir uzimana samo
stacionarnost tokom aktivnosti vžnje. Sada je cilj detektovanje eventualnog postojanja ugroženosti
minimalne dozvoljene razdaljine od strane nestacionarnih entiteta, tokom vremenskog intervala
trajanja aktivnosti. Sva vozila koja su u stanju kretanja toko vremenskog intervala trajanja aktivnosti se
smatraju nestacionarnim.
Detektovanje nestacionarnih entiteta je obuhvaćeno linijama koda za detektovanje sudara, od
dvadeset prve do trideset sedme linije.
Kao primer je uzeta aktivnost vožnje AGV-a B, na slici 4. Obim aktivnosti i eventualno
ometanje stacionarnim entitetima su opisani na levoj strani slike 6. Primećuje se da ne postoji ometanje
od strane stacionarnih entiteta, obzirom da ne postoji vozilo koje je u stanju mirovanja u intervalu
(4→9).
Kako bi se obezbedila bezbednost aktivnosti vožnje, potrebna je detaljna analiza o postojanju
nestacionarnih entiteta. U primeru sa slike 6, obim aktivnosti AGV-a B se preklapa sa aktivnošću
vožnje AGV-a C. U koda za detektovanje sudara, ovaj slučaj je obuhvaćen linijom 30. Za određivanje
ometanja aktivnosti vožnje jednog vozila, aktivnošću vožnje drugog, u obzir se uzima uobičajeni
interval između njih. Uobičajeni vremenski interval je određem u liniji 33, datog koda. U ovom
primeru aktivnosti vožnje AGV-a B i AGV-a C, uobičajeni vremenski interval je (7→9). Ovaj slučaj je
opisan na desnoj strani slike 6.

Slika 6. Aktivnost vožnje AGV-a B

16
Detektovanje aktivnosti između dve aktivnosti vožnje tokom uobičajenog vremenskog
intervala je urađeno korišćenjem velikog broja slika (snapshots). Za svaku sliku se proverava, da li je
drugi AGV kompletno van obima aktivnosti posmatranog AGV-a. U slučaju slike 7, to je uvek slučaj,
tako da AGV C ne ugrožava bezbednost AGV-a B. Linije od trideset četvrte do trideset sedme su
obuhvaćene slike za vreme uobičajenog vremenskog intervala.

Slika 7. Provera aktivnosti vožnje AGV-a B

Primer detekcije sudara. Na kraju, sagledava se aktivnost vožnje AGV-a D, sa slike 4. Obim
aktivnosti je opisan na slici 8.
-Ometanje od strane stacionarnih entiteta. Aktivnost vožnje AGV-a D, nije ugrožena ni od
jednog stacionarnog entiteta.
-Ometanje od strane nestacionarnih entiteta. Aktivnost vožnje AGV-a A se ukršta sa obimom
aktivnosti. Slika 9 ilustruje aktivnosti vožnje AGV-a D i A, tokom uobičajenog vremenskog intervala
(6→9). Na slici 9, takođe je ilustrovano, kako u trenutku T=8, AGV A ometa bezbednost AGV-a D.

17
Slika 8. Obim aktivnosti AGV-a D

Slika 9. Aktivnosti vožnje AGV-a D i AGV-a B tokom uobičajenog vremenskog intervala (6→9)

18
5. Diskusija i evolucija

Ispituju se dve bitne karakteristike simuliranog skladišnog okruženja: modularnost i performanse.

5.1 Modularnost

Modularnost se razvija kroz model simulacije. Ona omogućava razdvajanje na segmente, sto
predstavlja temelj kvalitetnog softverskog inženjerstva. Na najvišem nivou abstrakcije, simulirani
sistem se raščlanjuje na tri osnovna dela: opis statičnosti simuliranog skladišnog okruženja, opis
dinamičnosti simuliranog skladišnog okruženja i opis pravila za detektovanje problema u sistemu.
Na nižem nivou abstrakcije, svaki od tri dela, se posebno i detaljno dizajnira i modelira.

5.2. Performanse detektovanja sudara

Istražuju se performanse detektovanja sudara, bazirane na pristupu ovog dokumenta.


Upoređuju se performanse detektovanja sudara koristeći zakon detektovanja sudara sa performansama
detektovanja sudara definisanim pomoću koraka globalnog vremena (a global time step).
Kao mera performansi, angažuju se brojne provere obima aktivnosti, da bi se utvrdilo eventualno
postojanje ugrožavanja bezbednosti.
Upoređuju se oba pristupa, korišćenjem scenarija datog na slici 4. Predpostavlja se da je
zahtevana preciznost za detektovanja narušavanja bezbednosti 1 cm, i da je maksimalna brzina vozila
2 metra po sekundi.
Detektovanje sudara korišćenjem koraka globalnog vremena. Prvo se definiše veličina koraka
za proveru bezbednosti, sa zahtevanom preciznošću. Vožnjom maksimalnom brzinom od 2 metra po
sekundi, AGV-u 5 je potrebno 5 milisekundi da pređe 1 centimetar. Ako se dva vozila kreću
maksimalnom brzinom, njihova relativna pozicija se menja za maksimalno 4 metra po sekundi. Stoga,
kako bi se izvršilo detektovanje sa preciznošću od 1 cm, provera sigurnosti se mora izvršavati
najmanje na svakih 2.5 milisekundi. Dakle, potrebno je 400 provera sigurnosti vožnje AGV-a tokom
jedne sekunde.
Sada se određuje potreban broj provera za scenario sa slike 4:
-AGV A: Za proveru aktivnosti vožnje u intervalu (2→10), potrebno je 400x8=3200 provera za svaki
od preostalih 4 AGV-a. Dakle 3200x4=12800 provera.
-AGV B: Za proveru aktivnosti vožnje u intervalu (4→9), potrebno je 400x5=2000 provera za svaki od
preostalih 4 AGV-a. Dakle 2000x4=8000 provera.
-AGV C: Za proveru aktivnosti vožnje u intervalu (7→12), potrebno je 400x5=2000 provera za svaki
od preostalih 4 AGV-a. Dakle 2000x4=8000 provera.
19
-AGV D: Za proveru aktivnosti vožnje u intervalu (6→9), potrebno je 400x3=1200 provera za svaki
od preostalih 4 AGV-a. Dakle 1200x4=4800 provera.
-AGV E: Za proveru aktivnosti vožnje u intervalu (2→5), potrebno je 400x3=1200 provera za svaki od
preostalih 4 AGV-a. Dakle 1200x4=4800 provera.
Potrebno je 4800 provera za ovaj scenario.

Detektovanje sudara korišćenjem zakona detektovanja sudara. Analogno predhodnom pristupu,


potrebno je 400 provera bezbednosti za svaki AGV, tokom jedne sekunde. Sada se određuje potreban
broj provera za scenario sa slike 4:
-AGV A: Proverava se aktivnost vožnje u intervalu (2→10). Ne postoje stacionarni entiteti tokom
ovog vremenskog intervala: ostala 4 vozila su nestacionarna. Prema liniji 30 koda za detektovanje
sudara, provera se radi 4 puta. Jedino se aktivnost vožnje AGV-a D preklapa sa AGV A. Uobičajeni
vremenski interval obe aktivnosti je (6→9), provera prema linijama 36 i 37 koda, se izvodi
400x3=1200 puta. Ukupan broj provera je 4+1200=1204.
-AGV B: Proverava se aktivnost vožnje u intervalu (4→9). Ne postoje stacionarni entiteti tokom ovog
vremenskog intervala: ostala 4 vozila su nestacionarna. Prema liniji 30 koda za detektovanje sudara,
provera se radi 4 puta. Jedino se aktivnost vožnje AGV-a C preklapa sa AGV B. Uobičajeni vremenski
interval obe aktivnosti je (7→9), provera prema linijama 36 i 37 koda, se izvodi 400x2=800 puta.
Ukupan broj provera je 4+800=804.
-AGV C: Proverava se aktivnost vožnje u intervalu (7→12). Jedino je AGV E stacionaran entitet
tokom ovog vremenskog intervala: ostala 3 vozila su nestacionarna. Prema liniji 30 koda za
detektovanje sudara, provera se radi 3 puta. Jedino se aktivnost vožnje AGV-a B preklapa sa AGV C.
Uobičajeni vremenski interval obe aktivnosti je (7→9), provera prema linijama 36 i 37 koda, se izvodi
400x2=800 puta. Ukupan broj provera je 1+3+800=804.
-AGV E: Proverava se aktivnost vožnje u intervalu (2→5). AGV C i AGV D su stacionarni entiteti
tokom ovog vremenskog intervala: ostala 2 vozila su nestacionarna, što zahteva 2 provere prema
linijama 18 i 19. Prema liniji 30 koda za detektovanje sudara, provera se radi 2 puta. Ni jedna aktivnost
AGV-a A i B se ne preklapaju sa aktivnošću AGV E. Provere prema linijama 36 i 37 koda, se ne
izvode. Ukupan broj provera je 2+2=4.
Ukupan broj provera za ovaj scenario je 4200, što je samo oko 10% broja potrebnih provera iz
prethodnog pristupa.

20
Zaključak

U ovom dokumentu je opisana simulacija skladišnog okruženja, koja se koristi za testiranje


AGV kontrolnog softvera. Kao podrška testiranju, simulacija je raščlanjena na 3 dela, svaka sa svojom
odgovornostima:
-Statika je imala zadatak da prikaže slike stanja skladišnog okruženja u određenom vremenskom
trenutku.
-Model dinamike na eksplicitan način prikazuje evoluciju simuliranog skladišnog okruženja tokom
vremena.
-Zakoni detektovanja služe za otkrivanje potencijalnog konflikta.
Opisana je upotreba simulacije, koja je za cilj imala izbegavanje sudara. Pristup zakona
detektovanja sudara se odnosi na proveru aktivnosti vožnje, to jest, da li je minimalna bezbednosna
razdaljina prisutna tokom čitavog vremena.

21
Literatura

1. Skladišta, profesor Momčilo Miljuš


2. Industrijski transport, profesor Momčilo Miljuš
3. Egemin International NV: (http://www.egemin.com/) Home page of Egemin International
NV. Date of publication: 2002. Date retrieved: December 1, 2005. Date last modified: 2005.
4. Weyns, D., Schelfthout, K., Holvoet, T., Lefever, T., Wielemans, J.: Architecture-centric
development of an AGV transportation system. In: Multi-Agent Systems and Applications
IV. Volume 3690 of Lecture Notes in Computer Science., Springer Verlag Berlin Heidelberg
New York (2005) 640–645
5. Weyns, D., Schelfthout, K., Holvoet, T., Lefever, T.: Decentralized control of E’GV transportation
systems. In: Autonomous Agents and Multiagent Systems, Industry Track, University
of Utrecht, ACM (2005) 67–74
6. Weyns, D., Holvoet, T.: A formal model for situated multi-agent systems. Fundamenta
Informaticae 63 (2004) 125–158
7. Wegner, P.: Why Interaction is More Powerful than Algorithms. Communications of the
ACM 40 (1997) 80–91
8. De Wolf, T., Samaey, G., Holvoet, T.: Engineering self-organising emergent systems with
simulation-based scientific analysis. In: Proceedings of the Fourth International Workshop
on Engineering Self-Organising Applications, Universiteit Utrecht (2005) 146–160
9. Uhrmacher, A.: Simulation for agent-oriented software engineering. In Lunceford,W., Page,
E., eds.: First International Conference on Grand Challenges for Modeling and Simulation,
SCS, San Diego (2002)
10. Uhrmacher, A.M., Kullick, B.G.: ”Plug and test”: software agents in virtual environments.
In: WSC ’00: Proceedings of the 32nd conference on Winter simulation, San Diego, CA,
22
USA, Society for Computer Simulation International (2000) 1722–1729
11. Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach. Prentice-Hall, Englewood
Cliffs, NJ (1995)
12. Kl¨ugl, F., Fehler, M., Herrler, R.: About the role of the environment in multi-agent simulations.
In: Environments for multi-agent systems. Volume 3374 of Lecture Notes in Computer
Science., Springer-Verlag (2005) 127–149
13. Helleboogh, A., Holvoet, T.,Weyns, D., Berbers, Y.: Extending time management support for
multi-agent systems. In: Multi-Agent and Multi-Agent-Based Simulation: Joint Workshop
MABS 2004, New York, NY, USA, July 19, 2004, Revised Selected Papers. Volume 3415 /
2005 of Lecture Notes in Computer Science., Springer-Verlag, GmbH (2005) 37–48
14. Carson, J.S.: Introduction to simulation: introduction to modeling and simulation. In:Winter
Simulation Conference. (2003) 7–13
15. Bandini, S., Manzoni, S., Simone, C.: Dealing with space in multi–agent systems: a model
for situated mas. In: AAMAS ’02: Proceedings of the first international joint conference
on Autonomous agents and multiagent systems, New York, NY, USA, ACM Press (2002)
1183–1190
16. Helleboogh, A., Holvoet, T., Berbers, Y.: Simulating actions in dynamic environments. In
Barros, F., Bruzzone, A., Frydman, C., Giambiasi, N., eds.: Conceptual Modeling and Simulation
Conference, LSIS, Universit´e Paul C´ezanne Aix Marseille III (2005) 123–129
17. AgentWise Taskforce, KULeuven: (http://www.cs.kuleuven.ac.be/_distrinet/taskforces/
agentwise/agvsimulator/) Home page of the AGV Simulator. Date of publication: 2005. Date
retrieved: December 1, 2005. Date last modified: 2005.
18. Wikipedia

23

You might also like