33
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: 1

Testiranje AGVs

Embed Size (px)

Citation preview

Page 1: Testiranje AGVs

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

Page 2: Testiranje AGVs

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

Page 3: Testiranje AGVs

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

Page 4: Testiranje AGVs

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

Page 5: Testiranje AGVs

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.

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.

5

Page 6: Testiranje AGVs

-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

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

6

Page 7: Testiranje AGVs

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.

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.

7

Page 8: Testiranje AGVs

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

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.

8

Page 9: Testiranje AGVs

-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.

-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

9

Page 10: Testiranje AGVs

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.

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

10

Page 11: Testiranje AGVs

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.

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.

11

Page 12: Testiranje AGVs

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

12

Page 13: Testiranje AGVs

4.2. Zakon detektovanja sudara

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 activity3 * @param act the drive activity4 * @param entities the entities to check collisions with5 * @return a vector containing the collisions6 */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 entity12 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 activity18 result.add(checkOverlap(perimeter,19 ent.getBoundingBox(interval.getBegin())));20 }21 else //in case the entitiy is non-stationary22 {

13

Page 14: Testiranje AGVs

23 //get all activities of the entity that happen during the interval24 Vector activities = ent.getDriveActivities(interval);25 //a loop for each activity of the entity26 for(int j=0; j < activities.size(); j++)27 {28 DriveActivity otherAct = (DriveActivity)activities.get(i);29 //test whether the activity perimeters of both activities overlap30 if(checkOverlap(perimeter,otheract.getActivityPerimeter())!=null)31 { //in case the activity perimeters overlap32 //take snapshots in the common interval of both activities33 TimeInterval common = otherAct.getTimeInterval().getIntersection(interval);34 for(Time t=common.getBegin(); t.before(common.getEnd()); t.increment())35 //do the check for one snapshot36 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.

14

Page 15: Testiranje AGVs

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

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.

15

Page 16: Testiranje AGVs

Slika 6. Aktivnost vožnje AGV-a B

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.

16

Page 17: Testiranje AGVs

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.

Slika 8. Obim aktivnosti AGV-a D

17

Page 18: Testiranje AGVs

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

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.

18

Page 19: Testiranje AGVs

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.

-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

19

Page 20: Testiranje AGVs

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

Page 21: Testiranje AGVs

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

Page 22: Testiranje AGVs

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,

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

22

Page 23: Testiranje AGVs

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