<Razvoj algoritma za izbjegavanje sudara i planiranje putanje za autonomna > Tehnička dokumentacija Verzija <1.0> Studentski tim: <Frane Rogić> Nastavnik: < izv. prof. dr. sc. Nikola Mišković> FER 2 - Projekt FER, 2019 Stranica 1 od 10
Sadržaj 1. Opis razvijenog proizvoda 3 2. Simulink model 4 2.1 Mobile robotics toolbox 4 2.1.1 Omnidrive mobile robot 4 2.1.2 Lidar sensor 4 2.1.3 Robot visualizer i Multi-Robot environment 5 2.2 Funkcija zaobilazenje 5 2.3 Funkcija vracanje_na_pravac 6 3. Upute za korištenje 7 4. Simulacije 8 5. Literatura 10 FER 2 - Projekt FER, 2019 Stranica 2 od 10
1. Opis razvijenog proizvoda U nestrukturiranom okruženju u kojem više površinskih vozila obavlja zadatke postoje dvije vrste prepreka: statičke prepreke poznatih pozicija i dinamičke prepreke poznate brzine i smjera. Razvijeni su algoritmi koji osiguravaju da tijekom izvođenja misije ne dođe do sudara vozila s preprekama niti jednih s drugima, te da se i nakon izbjegavanja sudara mobilni robot vrati najkracom linijom na zadanu putanju. Unutar simulinkovog mobile robotic toolboxa izabran je omnidrive robot te su na njemu implementirane dvije funkcije: zaobilaženje i vraćanje_na_pravac. (figure 1.) Figure 1. Simulink konačno rješenje FER 2 - Projekt FER, 2019 Stranica 3 od 10
2. Simulink model Za razvitak algoritama zaobilaženja i vraćanja na pravac izabran je matlab (Simulink). Razlog odabira jest pristupačnost te upoznatost s načinom funkcioniranja programa, korisni toolboxi te mogućnost lakog simuliranja rezultata. 2.1 Mobile robotics toolbox Mobile robotics toolbox u sebi sadrži blokove koji omogućuju simuliranje za jednog ili više mobilnih robota. To uključuje 2D kinematičke modele za omnidrive robota, lidar senzore i vizulizaciju robota na karti. Figure 2. Mobile robotiscs blokovi 2.1.1 Omnidrive mobile robot Omnidrive robot blok prima vektor bodyspd koji se sastoji od brzine po X osi v x, brzine po Yosi v y i kutne brzine w, a kao izlaz daje poziciju mobilnog robota X,Y te kut zakreta thetha. Na pravom robotu ta očitanja dobivali bi s diferencijalnog GPS-a. 2.1.2 Lidar sensor Lidar sensor blok prima trenutnu poziciju robota. U taj blok treba upisati kartu prostora, broj senzora, njihov maksimalni domet te pomak u odnostu na koordinatni sustav mobilnog robota. Blok na svoj izlaz daje očitanja senzora iz trenutne pozicije mobilnog robota. FER 2 - Projekt FER, 2019 Stranica 4 od 10
2.1.3 Robot visualizer i Multi-Robot environment Multi-Robot environment omogućuje prikaz više robota unutar jedne simulacije. U njega treba unijeti samo broj robota te kartu. Robot visualizer kao ulaz ima poziciju te senzore, u njega se upisuje redni broj robota i karta, a on u simulaciji prikazuje poziciju robota i domet senzora na karti. 2.2 Funkcija zaobilazenje Funkcija zaobilazenje kao ulaz ima brzine robota v x i v y, očitanja sa lidar senzora, a kao izlaz daje modificirane brzine za zaobilaženje prepreka. Funkcija radi na principu magnetskog polja; oko prepreke se stvara negativno magnetsko polje koje ovisno o udaljenosti mobilnog robota od prepreke daje obrnutu brzinu od zadane. Da bi se omogucila funkcionalnost robota u svim smjerovima napisana su 4 potprograma koji se pozivaju ovisno o smjeru robota. Gdje su : K 1 i K 2 konstante koje osiguravaju zaustavljanje na određenoj udaljenosti, u ovom su slučaju također vrijedi K 1 > K 2 jer na taj način se osigurava da funkcija zaobilaženje može u nekim slučajevima zaobiči i konkavne prepreke. r minimalna udaljenost sa senzora K konstanta koja osigurava da se krećemo po prepreci, a ne samo stojimo na jednakoj udaljenosti od nje U funkciju je ugrađen i failsafe, ako minimalno očitanje senzora r padne ispod određene udaljenosti zaustavljamo robota na način da iz funkcije zaobilazenje osiguramo prestanak gibanja robota (salju se suprotne brzine od zadanih omnidrive-u). FER 2 - Projekt FER, 2019 Stranica 5 od 10
2.3 Funkcija vracanje_na_pravac Funkcija vracanje_na_pravac kao ulaz ima zeljeni smjer robota, ocitanja sa senzora, a kao izlaz daje modificirani smjer koji osigurava vracanje na pravac po najkraćoj putanji. Vracanje_na_pravac je podređeno funkciji zaobilazenje, funkcija ne radi dok očitanja senzora nisu prazna, tj. ne radi dok je zaobilazenje uključeno. Funkcija sprema svaku promjenu smjera u persistant varijablu, iz te varijable računa normalu preko koje vraća robota na orginalni smjer. FER 2 - Projekt FER, 2019 Stranica 6 od 10
3. Upute za korištenje Pokrenuti matlab. Pozicionirati se u folder projekt. Učitati workspace matlabzazaobici. Pokrenuti simulink pokusajkonacni. Definirati smjer, brzinu robota i njihove promjene te zeljenu kartu. Pokrenuti simulaciju. FER 2 - Projekt FER, 2019 Stranica 7 od 10
4. Simulacije Figure 3. Robot staticke prepreke simulacija Figure 4. robot dinamicke prepreke (roboti) FER 2 - Projekt FER, 2019 Stranica 8 od 10
Iz simulacija se vidi da se ne dolazi do kolizija između prepreka i mobilnog robota te da se roboti vračaju na željenu putanju (figure 3. i figure 4.). Funkcije zaobilaženje i vracanje_na_putanju dobro obavljaju svoje zadatke, no možda bi se robotu trebalo dodati da nakon prolaska kraj prepreka pričeka prije vraćanja na putanju, čime bi se dobilo finije ponašanje i izbjeglo stepeničasto gibanje. FER 2 - Projekt FER, 2019 Stranica 9 od 10
5. Literatura Đula Nađ, Nikola Mišković, Filip Mandić - Navigation, guidance and control of an overactuated marine surface vehicle _, Faculty of Electrical Engineering and Computing, LABUST - Laboratory for Underwater Systems and Technologies, University of Zagreb, Unska 3, Zagreb, Croatia Yang LI, Gong-You TANG, Xi-Xin YANG, Pei-Dong WANG Collision-free Consensus in Second-order Multi-agent Dynamical Systems College of Information Science and Engineering, Ocean University of China, Qingdao 266100 FER 2 - Projekt FER, 2019 Stranica 10 od 10