4
INFOTEH-JAHORINA Vol. 11, March 2012. - 1 - SmartTank robotska platforma Ognjen Bjelica, Marko Lalović, Slobodan Lubura Laboratorija za embedded sisteme i laboratorija za robotiku Elektrotehnički fakultet Istočno Sarajevo, BiH [email protected], [email protected], [email protected] Sadržaj—U ovom radu predstavljen je dosadašnji napredak razvoja autonomne robotske platforme SmartTank. Osnovna namjena ove platforme jeste da omogući ispitivanje raznih upravljačkih algoritama iz područja robotike, a posebno algoritma vezanih za problem lokalizacije autonomnih robota u prostoru. Ključne riječi-SmartTank; robot; lokalizacija; I. UVOD Robotika je jedna od nauka koja se dosta razvijala u zadnjih 20-tak godina. Danas je skoro pa nemoguće pronaći jednu automatizovanu proizvodnu traku na kojoj se ne nalazi bar jedan robot za opsluživanje trake. Postoji ogroman broj različitih tipova robota (humanoidni, mobilni, ... ). Veliki broj istraživača širom svijeta rade na raznoraznim problemima vezanim za njihovo upravljanje, autonomiju, funkcionalnost i sl. Naravno, dosta ovih problema je specifično za konkretnu vrstu robota ili za konkretan model (u zavisnosti od konstrukcije robota, kao i broj drugih parametara, tako da neki problemi mogu biti izraženiji od drugih, takođe mogu se javiti neki potpuno novi problemi i sl.). Jedan od problema koji još uvijek u potpunosti nije riješen vezan je za lokalizaciju robota u prostoru. Za rješavanje ovog problema, predložena su brojna rješenja. Većina ovih rješenja podrazumijeva da se sredina u kojoj će se nalaziti robot pripremi (da se označe putanje, prepreke i sl.). U nekim slučajevima ove metode su zadovoljavajuće, zato što se sredina jako rijetko mijenja. Npr. u automatizovanom magacinu, prije donošenja robota po podu se postave markeri, koji robotu omogućavaju da se pozicionira na pravo mjesto. Sama struktura/uređenje magacina se više ne mijenja i ovo rješenje je zadovoljavajuće. Međutim, postoje i situacije kada je nemoguće prethodno obilježiti teren (npr. minska polja, urušene zgrade, istraživanja nepoznatih prostora i sl.). Za rješavanje problema lokalizacije u nestruktuiranim sredinama, još uvijek se traže „bolja“ rješenja. Više informacija o ovoj problematici možete pronaći u literaturi [1], [2]. II. HARDVERSKA STRUKTURA AUTONOMNE ROBOTSKE PLATFORME SMARTTANK SmartTank (pametni tenk) je autonomna robotska platforma koja treba da omogući praktično testiranje raznih algoritama i tehnika lokalizacije u ne struktuiranom prostoru. Ime nosi zbog toga što konstrukciju robota predstavlja tenk (preuzeta iz igračke na daljinsko upravljanje) i nade da će jednog dana biti dovoljno „pametan“ da se zna sam, bez intervencije čovjeka, snaći u nepripremljenim sredinama. Blok dijagram prikazan je na Sl. 1. Centralni računar Dravjer DC motora Motor 1 Motor 2 Enc. 1 Enc. 2 WiFi Napajanje Baterije Radar PTZ Kamera WiFi Slika 1. Blok šema SmartTank-a. Prilikom razvoja ove platforme, vodilo se računa o modularnosti svih njenih dijelova. Tako da je moguće zamijeniti bilo koji od ovih blokova, novim i sa bilo kog stanovišta efikasnijim, bez da se naruši ostatak sistema. Naravno, novi blokovi „spolja“ moraju biti identični starima (isti način komunikacije, isti protokol i sl.). Do sada su završeni (završeni u smislu da su hardverski osposobljeni) svi blokovi osim bloka radar. U nastavku ovog rada, biti će izloženo više informacija o svakom od završenih blokova. Blok radar je još uvijek u fazi realizacije i biće opisan u nekom od narednih radova. A. Blok baterije i napajanje Ovaj blok sastoji se od seta baterija i pločice za napajanje. Pomenuti set baterija sastoji se od četiri punjive litijum-jonske baterije. Dvije baterije od po 7.4 V sa 2300 mAh i dvije baterije od po 11.1 V sa 2300 mAh. Iz prvog seta baterija, jedna služi za napajanje centralnog računara, drajvera za

ELS-1

Embed Size (px)

DESCRIPTION

Realizacija adaptivnog filtra primenom metode protočne obrade signala

Citation preview

Page 1: ELS-1

INFOTEH-JAHORINA Vol. 11, March 2012.

- 1 -

SmartTank – robotska platforma

Ognjen Bjelica, Marko Lalović, Slobodan Lubura

Laboratorija za embedded sisteme i laboratorija za robotiku

Elektrotehnički fakultet

Istočno Sarajevo, BiH

[email protected], [email protected], [email protected]

Sadržaj—U ovom radu predstavljen je dosadašnji napredak

razvoja autonomne robotske platforme SmartTank. Osnovna

namjena ove platforme jeste da omogući ispitivanje raznih

upravljačkih algoritama iz područja robotike, a posebno

algoritma vezanih za problem lokalizacije autonomnih robota u

prostoru.

Ključne riječi-SmartTank; robot; lokalizacija;

I. UVOD

Robotika je jedna od nauka koja se dosta razvijala u zadnjih 20-tak godina. Danas je skoro pa nemoguće pronaći jednu automatizovanu proizvodnu traku na kojoj se ne nalazi bar jedan robot za opsluživanje trake. Postoji ogroman broj različitih tipova robota (humanoidni, mobilni, ... ). Veliki broj istraživača širom svijeta rade na raznoraznim problemima vezanim za njihovo upravljanje, autonomiju, funkcionalnost i sl. Naravno, dosta ovih problema je specifično za konkretnu vrstu robota ili za konkretan model (u zavisnosti od konstrukcije robota, kao i broj drugih parametara, tako da neki problemi mogu biti izraženiji od drugih, takođe mogu se javiti neki potpuno novi problemi i sl.). Jedan od problema koji još uvijek u potpunosti nije riješen vezan je za lokalizaciju robota u prostoru. Za rješavanje ovog problema, predložena su brojna rješenja. Većina ovih rješenja podrazumijeva da se sredina u kojoj će se nalaziti robot pripremi (da se označe putanje, prepreke i sl.). U nekim slučajevima ove metode su zadovoljavajuće, zato što se sredina jako rijetko mijenja. Npr. u automatizovanom magacinu, prije donošenja robota po podu se postave markeri, koji robotu omogućavaju da se pozicionira na pravo mjesto. Sama struktura/uređenje magacina se više ne mijenja i ovo rješenje je zadovoljavajuće. Međutim, postoje i situacije kada je nemoguće prethodno obilježiti teren (npr. minska polja, urušene zgrade, istraživanja nepoznatih prostora i sl.). Za rješavanje problema lokalizacije u nestruktuiranim sredinama, još uvijek se traže „bolja“ rješenja. Više informacija o ovoj problematici možete pronaći u literaturi [1], [2].

II. HARDVERSKA STRUKTURA AUTONOMNE ROBOTSKE

PLATFORME SMARTTANK

SmartTank (pametni tenk) je autonomna robotska platforma koja treba da omogući praktično testiranje raznih algoritama i tehnika lokalizacije u ne struktuiranom prostoru. Ime nosi zbog toga što konstrukciju robota predstavlja tenk (preuzeta iz igračke na daljinsko upravljanje) i nade da će jednog dana biti dovoljno „pametan“ da se zna sam, bez

intervencije čovjeka, snaći u nepripremljenim sredinama. Blok dijagram prikazan je na Sl. 1.

Centralni računar

Dravjer DC motora

Motor 1 Motor 2 Enc. 1 Enc. 2

WiFi Napajanje

Baterije

RadarPTZ Kamera

WiFi

Slika 1. Blok šema SmartTank-a.

Prilikom razvoja ove platforme, vodilo se računa o modularnosti svih njenih dijelova. Tako da je moguće zamijeniti bilo koji od ovih blokova, novim i sa bilo kog stanovišta efikasnijim, bez da se naruši ostatak sistema. Naravno, novi blokovi „spolja“ moraju biti identični starima (isti način komunikacije, isti protokol i sl.).

Do sada su završeni (završeni u smislu da su hardverski osposobljeni) svi blokovi osim bloka radar. U nastavku ovog rada, biti će izloženo više informacija o svakom od završenih blokova. Blok radar je još uvijek u fazi realizacije i biće opisan u nekom od narednih radova.

A. Blok baterije i napajanje

Ovaj blok sastoji se od seta baterija i pločice za napajanje. Pomenuti set baterija sastoji se od četiri punjive litijum-jonske baterije. Dvije baterije od po 7.4 V sa 2300 mAh i dvije baterije od po 11.1 V sa 2300 mAh. Iz prvog seta baterija, jedna služi za napajanje centralnog računara, drajvera za

Page 2: ELS-1

- 2 -

motore i radara, a druga za napajanje kamere. Drugi set baterija služi isključivo za napajanje motora.

Pločica za napajanje je projektovana tako da ravnomjerno raspoređuje potrošnju sa postojećih baterije na cijeli sistem i obezbeđuje pouzdano napajanje od dva sata. Na Sl. 2 je prikazana pločica za napajanje.

Slika 2. Pločica za napajanje.

Osnovna namjena ove pločice jeste prilagođenje naponskih nivoa između baterija i ostalih blokova sistema, kao i da obezbjedi ravnomjernu raspodjelu opterećenja na baterijama. Za potrebna naponska prilagođenja iskorišteni su regulatori napona L7805CV koji na ulazu dobijaju 7.4 V, a na izlazu daju 5 V [3]. Oni su na Sl. 2 prikazani desno (na hladnjaku). Sa ove pločice se takođe napaja rasvjeta platforme (prednja i zadnja svjetla).

B. Blok drajver DC motora

Blok drajver DC motora služi za pokretanje i kontrolu rada motora. Realizovana pločica je prikazana na Sl. 3.

Slika 3. Drajver za motore.

U realizaciji ovog bloka iskorišćeni su Microchip-ovi kontroleri PIC18F2431 koji su namjenski napravljeni za upravljanje raznim vrstama motora [4], [6]. Najvažnija osobina ovog mikrokontrolera, koja je u najvećoj mjeri doprinijela izboru ovih mikrokontrolera, je posjedovanje interfejsa za kvadraturni enkoder (QEI - Quadrature Encoder Interface). Sa ovim modulom (QEI) je moguće detektovati poziciju, smjer okretanja motora kao i mjerenje brzine. Treba napomenuti da QEI, kao još jednu u nizu dobrih osobina ovog modula, ima

ugrađene filtere za potiskivanje šumova na sva tri ulaza sa enkodera (QEA, QEB, INDX).

Pošto jedan mikrokontroler sadrži jedan QEI, za rješavanje problema upravljanja sa dva motora (dvije gusjenice tenka) iskorišćena su dva mikrokontrolera (master/slave). Master je zadužen za komunikaciju sa centralnim računarom, kao i prosleđivaje naredbi drugom mikrokontroleru (slave). Dakle, jedan mikrokontroler (master) obrađuje informacije sa lijevog enkodera i upravlja lijevim motorom, dok drugi mikrokontroler (slave) obrađuje informacije sa desnog enkodera i upravlja desnim motorom. Za komunikaciju master-centralni računar koristi se serijska (UART) komunikacija. Pošto izabrani mikrokontroleri imaju samo jedan hardverski UART modul, za komunikaciju između mikrokontrolera se koristi hardverski UART na strani slave-a, a softverski UART na strani mastera (zato što je hardverski na masteru već iskorišćen za komunikaciju sa centralnim računarom).

Energetski dio pločice koristi dupli H most L298N koji se nalazi između mikrokontrolera i motora [5]. Oba H mosta se napajaju preko jednog konektora sa dvije litijum-jonske baterije pomenute u prethodnom bloku, koje su paralelno spojene. Svaki mikrokontroler upravlja PWM signalom jednim mostom, a na otpornicima od 0,27 Ω 9W se mjeri struja koja prolazi kroz motore i time se vrši zaštita od uništenja istih.

C. Blok centralni računar

Uloga centralnog računara povjerena je razvojnom sistemu FriendlyARM mini2440 [7]. Radi se o veoma kompaktnom 100 x 100 mm, razvojnom sistemu koji je baziran na ARM9 Samsungovom procesoru S3C2440. Kompletan sistem realizovan je kao SBC (eng. Single-Board Computer). Na Sl. 4 prikazan je ovaj razvojni sistem.

Slika 4. FriendlyARM mini2440 razvojni sistem [7].

Kao što se to sa Sl. 4 može primijetiti, ovaj razvojni sistem obiluje raznim komunikacijskim interfejsima. Neke od najznačajnijih osobina ovog razvojnog sistema su:

CPU: 400 MHz Samsung S3C2440A ARM920T (max frek. 533 MHz)

Page 3: ELS-1

- 3 -

RAM: 64 MB SDRAM, 32 bit magistrala

Flash: 64 MB / 128 MB / 256 MB / 1GB NAND Flash i 2 MB NOR Flash za BIOS

Serijski port: 1x DB9 konektor (prilagođen RS232 interfejsu), a ukupno 3 izvedena USART izlaza

USB: 1x USB-A Host 1.1, 1x USB-B Device 1.1

LCD Interfejs: 41 pin (1.0 mm) konektor za FriendlyARM ekrane i VGA Board

Touch Panel: kontroler za 4-žični rezistivni panel

Napajanje: zahtjeva stabilizovan jednosmjerni napon 5V Potrošnja: Mini2440: 0.3 A; Mini2440 + 3.5" LCD: 0.6 A; Mini2440 + 7" LCD: 1 A

Podržani OS:

o Windows CE 5 i 6

o Linux 2.6

o Android

Na Sl. 4 označeno mnogo „osobina“ ovog razvojnog sistema koje nisu pobrojane (npr. Ethernet 10/100 interfejs, RTC sa odvojenom baterijom, slot za SD kartice itd.). Razlog zašto nisu pobrojane, iako su bitne, jeste zato što nisu iskorišćene u implementaciji SmartTank-a. Ovdje samo treba napomenuti, da tamo gdje postoji više varijanti iste opcije, podebljana je ona koja je iskorišćena u praktičnoj implementaciji.

Jedna od najznačajnijih osobina ovog razvojnog sistema je sigurno veliki broj podržanih operativnih sistema što čini ovaj sistem veoma fleksibilnim i primenjivim u raznim scenarijima. U praktičnoj realizaciji izabran je Microsoft Windows CE 6 operativni sistem. Brojni su razlozi zašto je baš izabran Win CE 6. Vjerovatno jedan od najbitnijih je što se postojeći programi pisani za .NET uz jednostavno rekompajliranje mogu pokrenuti na njemu (ovo važi za sve Win CE operativne sisteme na kojima se može instalirati .NET framework, a ne samo za verziju 6). Ova osobina se u više navrata pokazala veoma efikasnom. Takođe treba napomenuti da se ovaj razvojni sistem svojim kompaktnim dimenzijama savršeno uklapa u strukturu SmartTank-a.

Što se tiče konfiguracije razvojnog sistema, koja je korištena prilikom praktične realizacije SmartTank-a, potrebno je još samo dodati da je za interfejs sa korisnikom korišćen 3.5'' ekran osjetljiv na dodir.

Već je rečeno da je uloga centralnog računara povjerena gore opisanom razvojnom sistemu. Međutim, nigdje nije rečeno šta je uloga centralnog računara uopšte. Njegov zadatak nimalo nije jednostavan. Centralni računar treba da kupi informacije sa radara, procesira ih, na osnovu njih donese odluku o akciji i naredi drajveru DC motora da tu akciju sprovede. Pored toga on treba da komunicira preko WiFi mreže sa personalnim računarom, od koga treba da dobije informacije šta mu je zadatak i da obavještava istog o progresu (ovo je više opcija koja olakšava otklanjanje grešaka u radu, ali može imati i praktičan značaj).

Za komunikaciju između centralnog računara i drajvera DC motora, kao i radara izabrana je serijska (UART) komunikacija. Ova vrsta komunikacije izabrana je zato što u potpunosti zadovoljava zahtjeve vezane za propusnost podataka u praktičnoj implementaciji, zahtjeva svega 3 žice za full-dupleks komunikaciju, rastojanja između modula su jako mala, pojednostavlja hardver ostalih komponenti sistema itd. Zahtijevana propusnost je jako mala, zato što u sistemu postoje „spori“ elementi. Tako npr. centralni računar treba drajveru DC motora šalje pakete od svega 8 Bajtova, a naredba je tipa pomjeri lijevu gusjenicu 3 i desnu 5 obrtaja. Nakon čega treba sačekati da se naredba stvarno i izvrši. Slično je i sa komunikacijom između centralnog računara i radara. Radar centralnom računaru treba samo da pošalje ugao i dužinu linije za šta su dovoljni paketi od desetak bajtova (tačna dužina nije navedena zato što radar, još u potpunosti nije završen). Ograničavajući faktor ovdje je vreme potrebno da se izvrši jedno mjerenje, što u prosjeku za većinu ultrazvučnih i infracrvenih senzora iznosi cca. 50ms. Drugim riječima u jednoj sekundi potrebno je poslati 20 paketa dužine 10 B (zaokruženo) po jednom senzoru. Odnosno zahtijevana brzina treba da bude veća od 200 bauda. Dok većina 8-bitnih mikrokontrolera koja posjeduje UART modul omogućava prenos na brzinama 115200 bauda. Sigurno, najveća prednost ovakvog načina komuniciranja ogleda se u pojednostavljenju hardvera na strani drajvera DC motora, kao i na strani radara. Sve što je na njihovoj strani potrebno za komuniciranje sa centralnim računarom jeste UART modul što ne prestavlja neko posebno ograničenje pri izboru mikrokontrolera i što je najbitnije ne zahtjeva dodatna integrisana kola. Jedina mana kod ove komunikacije jeste što u osnovnom obliku ne podržava adresiranje, tj. povezivanje većeg broja uređaja na iste linije/magistralu. Međutim, razvojni sistem FriendlyARM mini2440 posjeduje 3 USART modula, što je i više nego dovoljno za rješavanje ovog problema.

D. Blok WiFi

Da bi se omogućila komunikacija između centralnog i personalnog računara dodan je WiFi blok. Osnovna namjena ove komunikacije jeste da omogući zadavanje naredbi, kao i da omogući primanje nekih povratnih informacija. Za ovu namjenu iskorišćen je Mini USB Wireless G Access Point AP WIFI adapter 54Mbps, prikazan na Sl. 5. Pronalaženje adekvatnih drajvera za embedded platforme je mukotrpan posao i često zahtjeva pisanje vlastitih drajvera (ukoliko ne postoji adekvatan drajver, treba izvršiti prilagođenje najsličnijeg). Ovaj uređaj izabran je zbog toga što može da služi kao AP, tj. da LAN (eng. Local Area Network) konekciju pretvori u WLAN (eng. Wireless LAN). Pošto većina razvojnih sistema ima drajvere za LAN, koji obično dođe integrisan u sklopu istog ili se može kupiti kao dodatna pločica, korišćenje ovog uređaja svodi se na obični LAN komunikaciju.

Uz ovaj uređaj, iako u specifikacijama nije pisalo, došao je i drajver za Windows CE operativni sistem, tako da je u praktičnoj realizaciji korišten kao USB uređaj. Time je LAN interfejs ostavljen slobodnim za neku buduću namjenu, a samo jednim USB kablom riješena je komunikacija i napajanja adaptera.

Page 4: ELS-1

- 4 -

Slika 5. Mini USB Wireless G Access Point AP WIFI adapter

54Mbps.

E. Blok PTZ kamera WiFi

Kamera je dodata kako bi korisnik za personalnom računarom mogao da vidi sve što vidi i SmartTank. Za ovu svrhu mogla se iskoristiti i obična web kamera koja bi se spojila na centralni računar, ali bi u tom slučaju centralni računar „izgubio“ previše procesorskog vremena na „sporednu aktivnost“. Upravo zbog toga u ovu namjenu iskorišćena je samostalna (nepovezana sa ostatkom sistema) PTZ (eng Pan/ Tilt/Zoom) bežična kamera, prikazana na Sl. 6. Kao što se to sa slike može primijetiti, pored PTZ opcija ova kamera ima i IR diode za noćni mod NV (eng. Night Vision).

Slika 6. Bežična WiF - IP Internet PTZ Audio kamera.

III. ZAKLJUČAK

Izrada platforme SmartTank je još uvijek u toku. Kao što se iz ovog rada dalo vidjeti, dosta stvari je već završeno i spremno za upotrebu. Ostalo je još da se realizuje blok radar čiji je zadatak da detektuje prepreke, odredi orijentaciju u prostoru (el. kompas) i odredi okvirnu poziciju u prostoru pomoću GPS uređaja. Kada se završi sa realizacijom ovog bloka, ostaje da se testiraju različiti algoritmi za lokalizaciju u prostoru, što je i krajnji cilj ovog projekta.

Slika 7. Sastavljen SmartTank (bez radara).

LITERATURA

[1] R. Siegwart, D. Scaramuzza ETH Zurich – ASL, “Autonomous Mobile Robots Localization”, http://www.asl.ethz.ch/, 2012.

[2] Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, Giuseppe Oriolo, “Robotics Modeling, Planing and Control”, ISBN 978-1-84628-641-4, 2009.

[3] L7805CV, 3-Terminal 1A Positive Voltage Regulator, www.fairchildsemi.com, 2001.

[4] PIC18F2431, DS 39616B, www.microchip.com, 2003.

[5] L298N, DUAL FULL-BRIDGE DRIVER, www.st.com, 2000.

[6] RHS21, Encoder, www.renco.com, 1993.

[7] FriendlyARM mini2440, friendlyarm.net, 2012.

ABSTRACT

In this paper is presented development progress of SmartTank platform. Basic purpose of this platform is to provide base for testing various robotics control algorithm, especially for positioning algorithm.

SMARTTANK – ROBOT PLATFORM

Ognjen Bjelica, Marko Lalović, Slobodan Lubura