MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY
Prˇehled mobilnı´ch robotu˚ CˇA´ST PRˇI´LOHY
Brno, jaro 2013
Obsah 1 Mobilnı´ robot zajisˇt’ujı´cı´ pohyb ve venkovnı´m prostrˇedı´ 1.1 Popis syste´mu . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Metoda rˇ´ızenı´ syste´mu . . . . . . . . . . . . . . . . . . . 1.3 Popis chyb . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Vyhodnocenı´ robota . . . . . . . . . . . . . . . . . . . . . 2 Alternativnı´ verze mobilnı´ho robota . . . . . . . . . . . . 2.1 Popis robota . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Metoda rˇ´ızenı´ robota . . . . . . . . . . . . . . . . . . . . 2.3 Analy´za chyb robota . . . . . . . . . . . . . . . . . . . . . 2.4 Vyhodnocenı´ . . . . . . . . . . . . . . . . . . . . . . . . . 3 Ty´m robotu˚ MARS . . . . . . . . . . . . . . . . . . . . . . . 3.1 Vyhodnocenı´ . . . . . . . . . . . . . . . . . . . . . . . . .
. iv . iv . vii . ix . xi . xiii . xiii . xiv . xvi .xviii . xx .xxiii
ii
Seznam obra´zku˚ 1.1 1.2
Blokove´ sche´ma mobilnı´ho robota [1] . . . . . . . . . . . Pohled na cely´ robot [1] . . . . . . . . . . . . . . . . . . .
vi ix
2.1
Pohled na cely´ robot [2] . . . . . . . . . . . . . . . . . . . xvi
3.1 3.2
Sourˇadnicovy´ syste´m vyuzˇ´ıvany´ u robotu˚ MARS [3] . . xxii Pohled na roboty [3] . . . . . . . . . . . . . . . . . . . . .xxiii
iii
Kapitola 1
Mobilnı´ robot zajisˇt’ujı´cı´ pohyb ve venkovnı´m prostrˇedı´ Projekt veˇnovany´ jednomu zajı´mave´mu typu robota byl zpracova´n v podobeˇ semina´rnı´ pra´ce jednı´m studentem osmilete´ho gymna´zia ve meˇsteˇ Opava. Pra´ce byla psa´na kvu˚li jeho za´jmu o prˇihla´sˇenı´ do souteˇzˇe SOCˇ v roce 2009, kde pry´ chteˇl obha´jit titul nejlepsˇ´ı odborne´ pra´ce z 18 ru˚zny´ch veˇdnı´ch oboru˚. Z celosta´tnı´ souteˇzˇe autor si odnesl nejlepsˇ´ı mı´sto za te´ma o sve´m robotu, ktery´m je konkre´tneˇ trˇetı´ mı´sto v oboru Elektrotechnika, elektronika a telekomunikace. Tato pra´ce si kladla za cı´l prove´st du˚kladnou konstrukci a pla´nujı´cı´ realizaci robota, jehozˇ pohyb ma´ by´t urcˇen pro venkovnı´ prostrˇedı´. Mezi druhy robota existujı´ rˇ´ızenı´ typu da´lkoveˇ rˇ´ızene´ a autonomnı´ s podobnou technikou, z nichzˇ druhou metodu rˇ´ızenı´ si autor zvolil pro zpracova´nı´ te´ma, tj. sestavenı´ autonomnı´ho robota. Hlavnı´m cı´lem te´to pra´ce byla take´ autorova snaha se prˇihla´sit do souteˇzˇe Robotour v roce 2009, ktery´ byl tak zna´my´ pro robotove´ nadsˇence a zde se mohly roboty souperˇit o nejlepsˇ´ı cˇas v objetı´ cele´ho mı´sta podle zadane´ho u´kolu. Tato kapitola se zaby´va´ strucˇny´m pohledem na bezobsluzˇny´ syste´m uvedeny´ v dalsˇ´ıch odstavcı´ch, da´le technikou rˇ´ızenı´ syste´mu a nakonec analy´ze nedostatku˚, chyb v robotu, ktere´ zu˚staly zatı´m jako nevyrˇesˇitelne´ [1].
1.1 Popis syste´mu Dı´ky chyba´m v konstrukci robota minule´ verze si autor uveˇdomil, zˇe nemohl vcˇas u´speˇsˇneˇ realizovat robota, a meˇl tak prˇ´ılezˇitost upravit konstrukci robota, ktery´ by navazoval na sve´ho prˇedchu˚dce, a u ktery´ch za´rovenˇ nasˇel vhodne´ rˇesˇenı´ pro spra´vne´ rozmı´steˇnı´ elekiv
tronicky´ch soucˇa´stek a jiny´ch materia´lu˚, ktere´ jsou nutne´ pro rˇ´ızenı´ autonomnı´ho robota. Za´sluhu na tom ma´ jednoducha´ krabice, ktera´ je prˇipevneˇna na vrchnı´ stranu za´kladu robota. V te´to krabici se skry´va´ velke´ mnozˇstvı´ vesˇkere´ elektroniky vcˇetneˇ rˇ´ıdicı´ho syste´mu. Robot je zalozˇen na podvozku za´vodnı´ho auta na da´lkove´ ovla´da´nı´ s velikostı´ 1:10, ktery´ zachova´ maxima´lnı´ stabilitu ve vysˇsˇ´ıch rychlostech. Hlavnı´ soucˇa´stı´ robota je rˇ´ıdicı´ syste´m, ktery´m je pouze router nesoucı´ oznacˇenı´ Edimax BR-6104KP, cozˇ umozˇnˇuje rˇ´ızenı´ robota prˇes webove´ rozhranı´. Router pro sve´ prˇipojenı´ pouzˇ´ıva´ konektor RJ-45 (pro LAN kabel), dva konektory USB, dva se´riove´ porty a konektory pro I/O kabely. Komunikace mezi rˇ´ıdı´cı´m pocˇ´ıtacˇem a periferiemi probı´ha´ prˇes sbeˇrnici I2C, ktera´ je tvorˇena dveˇma typy kana´lu - SCL a SDA. Ke sbeˇrnici je prˇipojena velka´ cˇa´st integrovany´ch obvodu˚, mikrokontrole´ru˚ a senzoricky´ch modulu˚ urcˇeny´ch pro zı´ska´nı´ prostorovy´ch metricky´ch dat. Implementace te´to sbeˇrnice na za´kladeˇ spojenı´ s routerem probeˇhla u´speˇsˇneˇ, tak na´sledneˇ byl nainstalova´n dostupny´ ovladacˇ, ktery´ meˇl vytvorˇit datovou a hodinovou linku umozˇnˇujı´cı´ prˇenos datovy´ch bitu˚. Sbeˇrnice I2C doka´zˇe propojit azˇ 128 ru˚zny´ch perifernı´ch zarˇ´ızenı´, ale jeho nejveˇtsˇ´ı nevy´hodou je absence duplexnı´ho prˇenosu, tj. beˇhem procesu zarˇ´ızenı´ prostrˇednictvı´m sbeˇrnice I2C prˇena´sˇ´ı vlastnı´ informaci pouze v jednom smeˇru. Router vyuzˇ´ıva´ napa´jenı´ azˇ 12V / 1A, kde 3,3V slouzˇ´ı pro napa´jenı´ integrovany´ch obvodu˚ a 5V se pouzˇ´ıva´ jako napa´jenı´ pro zarˇ´ızenı´ s USB portem. Tento napa´jecı´ zdroj je zapojen do obvodu˚ typu LF33 spolecˇneˇ s chladicˇem, ktery´ zabra´nı´ prˇehrˇa´tı´ a prˇ´ıpadne´mu prˇerusˇenı´ napeˇtı´. Podobneˇ jako u routeru se veˇtsˇina soucˇa´stek napa´jı´ ze sˇesticˇla´nkove´ho akumula´toru s napeˇtı´m okolo 8V. Vy´hodou akumula´toru je znatelneˇ delsˇ´ı pracovnı´ doba a te´zˇ je vhodneˇ spojen s voltmetrem pro meˇrˇenı´ stavu napeˇtı´, a kde by zabra´nil znicˇenı´ drahy´ch bateriı´. Voltmetr je umı´steˇn na spodnı´ straneˇ krabice. Autor v pra´ci uvedl, zˇe pouzˇ´ıval jesˇteˇ sı´t’ovy´ napa´jecı´ zdroj s napeˇtı´m 8-12V v tom prˇ´ıpadeˇ, kdy dosˇlo k ladeˇnı´ algoritmu˚, ktere´ mu˚zˇe zpu˚sobit rychle vybitı´ bateriı´. Uzˇivatelske´ rozhranı´ vyuzˇ´ıva´ technologii AJAX, ktera´ je zna´ma svy´m prˇ´ıstupem k obsahu stra´nek, jenzˇ se meˇnı´ bez jeho mozˇne´ aktualizace. Prˇes webove´ rozhranı´ lze sledovat stav senzoru˚ a ostatnı´ch meˇrˇeny´ch dat. Dı´ky tomuto rozhranı´ a Wifi adapte´ru se podarˇilo robota rˇ´ıdit da´lkoveˇ. Jak ve sve´ odborne´ pra´ci autor zmı´nil, zˇe se robota da´ ovla´dat jednodusˇe pomocı´ notebooku, PDA nebo mobilnı´ho v
telefonu. K se´riove´mu portu rˇ´ıdicı´ho syste´mu je prˇipojen znakovy´ LCD displej, ktery´ ve sve´m modulu obsahuje 16x2 znaku˚ a slouzˇ´ı pro jednoduchou rychlou obsluhu. Autor musel zapojit invertor 7404 do obvodu, aby zajistil bezproble´movy´ beˇh LCD displeje, ktery´ ma´ invertovanou TTL polaritu. V blı´zkosti LCD displeje se nacha´zı´ trˇi tlacˇ´ıtka, ktera´ uzˇivatelu˚m umozˇnı´ vypı´nat rˇ´ıdı´cı´ pocˇ´ıtacˇ, spousˇteˇt nabı´dku menu, vybı´rat, spousˇteˇt, zrusˇit a ukoncˇit programy. Autor v pra´ci varoval prˇed posˇkozenı´m souborove´ho syste´mu ext2, pokud bylo na´silneˇ odpojeno napa´jenı´. Operacˇnı´m syste´mem v rˇ´ıdı´cı´m pocˇ´ıtacˇi je Linux 2.4 postaveny´ na architekturˇe Mips, jehozˇ vsˇechny vesˇkere´ syste´move´ soubory se nacha´zı´ na USB disku. Vsˇechny aplikace a operacˇnı´ syste´m jsou spustitelne´ z USB disku. O manipulaci se soubory, jako vytvorˇenı´ nove´ho adresa´rˇe, zmeˇnit typy souboru, se stara´ souborovy´ syste´m ext2, ktery´ zahrnuje i boot sektor pro spusˇteˇnı´ operacˇnı´ho syste´mu v pocˇ´ıtacˇi. Blizˇsˇ´ı pohled na jeho architekturu je na na´sledujı´cı´m obra´zku [1]:
Obra´zek 1.1: Blokove´ sche´ma mobilnı´ho robota [1]
vi
1.2 Metoda rˇı´zenı´ syste´mu V te´to kapitole jsou popisova´ny syste´my pohonu˚, podvozku a dalsˇ´ıch modulu˚, ktere´ umozˇnˇujı´ mobilnı´mu robotu vykonat pohyb. Tento model je poha´neˇn jediny´m elektromotorem s prˇevodovkou, ktery´ se nacha´zı´ v podvozku. Podvozek vyuzˇ´ıva´ syste´m pohonu 4x4, odpruzˇenı´ a je vybaven diferencia´lem. O rˇ´ızenı´ motoru se stara´ regula´tor ota´cˇek, ktery´ zajisˇt’uje obousmeˇrny´ chod (plyn, brzda, zpa´tecˇka) a vyuzˇ´ıva´ pulzneˇ sˇ´ırˇkovou modulaci. Regula´tor je napa´jen z akumula´toru. Pro ovla´da´nı´ podvozku je urcˇeno modela´rˇske´ servo s mozˇnostı´ ota´cˇenı´ robota, ktery´ je obalen v plastu. Servomotor se skla´da´ z prˇevodovky, rˇ´ıdı´cı´ elektroniky a potenciometru. Poslednı´ jmenovana´ soucˇa´stka by´va´ zarˇazena jako zpeˇtnovazebnı´ snı´macˇ, ktery´ rˇ´ıdı´cı´ jednotce vysı´la´ informaci o poloze vy´stupnı´ho hrˇ´ıdele serva za pomocı´ pulzneˇ sˇ´ırˇkove´ modulace rˇ´ıdı´cı´ho signa´lu. Servomotor pouzˇ´ıva´ napa´jecı´ napeˇtı´ kolem 5V. Modul na rˇ´ızenı´ serv je zapojen k desce s vy´konny´m jednocˇipovy´m mikrokontrole´rem, ktery´ nese na´zev jako ATmega8. Tento mikrokontrole´r je schopen pracovat s taktovacı´ frekvencı´ 8 MHz. Ke sbeˇrnici I2C je prˇipojen dalsˇ´ı modul, ktery´ je urcˇen pro prˇipojenı´ mikroserva a inkrementa´lnı´ho snı´macˇe ota´cˇek. Po dobu prˇerusˇenı´ cˇasovacˇe jsou mikrokontrole´ru doda´va´ny signa´ly pro rˇ´ızenı´ serv. Na modulu se nacha´zı´ cˇervena´ LED dioda, ktera´ indikuje stav modulu. Komunikace mezi rˇ´ıdicı´m pocˇ´ıtacˇem a ru˚zny´mi senzory mu˚zˇe za´viset na konkre´tnı´m modulu analogovy´ch senzoru˚, ktery´ je vybaven jednocˇipovy´m mikrokontrole´rem ATmega8. Tento modul je zapojen do rozhranı´ I2C a pomocı´ A/D prˇevodnı´ku prˇeva´dı´ hodnoty senzoru˚ do cˇ´ıslicove´ podoby. Da´le modul umozˇnˇuje zapojit infracˇerveny´ meˇrˇicˇ vzda´lenosti GP2D120 a bzucˇa´k. Infracˇerveny´ triangulacˇnı´ da´lkomeˇr s oznacˇenı´m GP2D120 poskytuje robotovi prˇenos informacı´ o prˇeka´zˇka´ch objevujı´cı´ch bezprostrˇedneˇ okolo neˇho. Da´lkomeˇr vyuzˇ´ıva´ rozsah vzda´lenostı´ azˇ od 3 azˇ do 30 cm. Informace o meˇrˇenı´ vzda´lenostı´ je pomocı´ A/D prˇevodnı´ku prˇevedena do senzorove´ho modulu. IR da´lkomeˇr lezˇ´ı na prˇednı´ cˇa´sti robota a slouzˇ´ı k nalezenı´ objektu˚ v nejmensˇ´ıch vzda´lenostech. Ota´cˇenı´ da´lkomeˇru zajisˇt’uje mikroservo, ktere´ nabı´zı´ u´hel natocˇenı´ azˇ 180 ◦ . Da´lkomeˇr vyzˇaduje napa´jenı´ napeˇtı´ azˇ 7V a generuje vy´stupnı´ napeˇtı´ v rozmezı´ -0.3 a 7.3 V. Dalsˇ´ım senzorem je ultrazvukovy´ da´lkomeˇr SRF02, ktery´ vii
pomocı´ ultrazvukovy´ch vln pracuje na principu odra´zˇeny´ch signa´lu˚ od prˇeka´zˇky. Sonar umozˇnˇuje robotovi rozlisˇovat nejen tmu a sveˇtlo, ale i kvalitu odra´zˇeny´ch signa´lu˚. Je schopen meˇrˇit vzda´lenost v rozsahu 15 cm azˇ 6 m. V senzoricke´m modulu je zapojena sbeˇrnice I2C a napa´jecı´ napeˇtı´ sonaru cˇinı´ 5 V. Elektronicky´ kompas CMPS03, ktery´ urcˇuje smeˇr robota, lze takte´zˇ prˇipojit na sbeˇrnici I2C a jeho u´kolem je navı´c meˇrˇit magneticky´ azimut urcˇity´ch objektu˚ tak, aby byl robot schopny´ samostatne´ho pohybu v prostrˇedı´. Pouzˇitı´ kompasu slouzˇ´ı k zı´ska´nı´ informacı´ o pozˇadovany´ch azimutech vyja´drˇeny´ch ve stupnı´ch, jejichzˇ rozlisˇenı´ by´va´ 0.1 ◦ s prˇesnostı´ 3 - 4 ◦ . Kvu˚li zmeˇneˇ magneticke´ho pole nebo sourˇadnice je nutne´ te´zˇ kalibrovat kompas. Prˇitom je potrˇeba vodorovna´ poloha, prˇi ktere´ senzor mu˚zˇe zajistit bezproble´move´ meˇrˇenı´ a prˇedejı´t citlive´mu rusˇenı´. Pro lepsˇ´ı funkcˇnost byl kompas umı´steˇn pod vrchnı´ stranou vı´ka krabice. Modul pro kompas lze napa´jet 5V. Robot mu˚zˇe pomocı´ enkode´ru1 zı´skat prˇehled o vzda´lenostech, po ktery´ch urazil. Enkode´r k modulu rˇ´ızenı´ serv vysı´la´ vy´stupnı´ signa´ly, ktere´ jsou pak prˇena´sˇeny pomocı´ sbeˇrnice I2C do rˇ´ıdicı´ho syste´mu. Tento modul pouzˇ´ıva´ navı´c maly´ senzor QRD114 zalozˇeny´ na principu odrazu infracˇervene´ho za´rˇenı´. Senzor detekuje odraz pouze ve vzda´lenosti mensˇ´ı nezˇ 6 mm a je osazen na desce plosˇny´ch spoju˚, ktera´ se nacha´zı´ v krytu prˇevodovky. Odrazovy´ senzor se skla´da´ z pouzdra, ve ktere´m se vyskytujı´ dvojice IR diod a IR tranzistor. Na robotu se nacha´zı´ dalsˇ´ı cˇa´st modulu˚, ktere´ neovlivnˇujı´ jeho celkovou funkci. Konkre´tneˇ se jedna´ naprˇ´ıklad o bzucˇa´k, ktery´ vyda´va´ zvuk pra´veˇ prˇ´ıpomı´najı´cı´ klaksonu automobilu a v souladu s pravidly veˇnovane´ souteˇzˇi Robotour2 prˇedstavuje zapojenı´ tohoto modulu jako nutne´. Smyslem bzucˇa´ku je vyda´nı´ robota jaky´koliv zvukove´ho signa´lu pro jeho odstraneˇnı´ v mı´steˇ prˇed blı´zˇ´ıcı´ prˇeka´zˇkou. Dalsˇ´ım nevy´znamny´m druhem modulu je resetovacı´ tlacˇ´ıtko, pomocı´ neˇhozˇ lze resetovat mikrokontrole´r ATmega8 bez nutnosti vypı´nat rˇ´ıdı´cı´ pocˇ´ıtacˇ. Akcelerometr je takove´ zarˇ´ızenı´, ktere´ slouzˇ´ı pro meˇrˇenı´ informacı´ o dynamicky´ch a staticky´ch zrychlenı´. Je zapojen do modulu ACC7260 s vestaveˇny´m trˇ´ıosy´m akcelerometrem MMA7260. Modul je zapojen k mikrokontrole´ru ATmega8 prˇes rozhranı´ I2C. 1. nebo te´zˇ oznacˇova´n jako inkrementa´lnı´ snı´macˇ ota´cˇek 2. Tuto souteˇzˇ navsˇtı´vil autor tohoto projektu
viii
ˇ ´ızenı´ robota se tak neobejde bez programova´nı´ algoritmu˚, ktere´ R se rˇadı´ mezi du˚lezˇite´ soucˇa´stı´ konstrukce a zapojenı´ robota. Aby byl robot univerza´lnı´ a snadno ovladatelny´, jeho algoritmy musı´ by´t proto co nejefektivneˇji a totizˇ lze je optimalizovat bez veˇtsˇ´ıch za´sahu˚ do ko´du. Programovacı´m jazykem pro zvoleny´ mikrokontrole´r ATmega8 je jazyk C zahrnujı´cı´ knihovnu AVR Libc. K tvorbeˇ a prˇekladu programu autor pouzˇil prˇekladacˇ AVR GCC., ktery´ je mimo jine´ take´ ˇ ´ıdı´cı´ program byl napsa´n v jazyce C kvu˚li prˇekladacˇem jazyka C. R jeho vysˇsˇ´ı rychlosti a ve skriptovacı´m jazyce Perl, ktery´ prˇebı´ra´ syntaxi z jazyka C a slouzˇ´ı vı´ceme´neˇ k psanı´ programu˚. Autor navı´c pouzˇ´ıval programovacı´ jazyk PHP obsahujı´cı´ knihovnu GD na vizualizaci pohybu robota, kde jejı´ data byla nameˇrˇena pomocı´ elektronicke´ho kompasu a enkode´ru. Autor v budoucnosti pla´nuje prˇidat dalsˇ´ı komponenty vhodne´ pro rˇ´ızenı´ robota ve venkovnı´m prostrˇedı´, cozˇ naprˇ´ıklad GPS modul a kamera [1].
Obra´zek 1.2: Pohled na cely´ robot [1]
1.3 Popis chyb Zde jsou shrnuty pouze mensˇ´ı chyby nebo zapojenı´ robota nasˇteˇstı´ obsahovalo minimum chyb. Cela´ koncepce podala slusˇne´ vy´sledky ix
a obsahovala me´neˇ rˇa´dne´ nevy´hody, o nichzˇ budou zmı´neˇny v te´to kapitole. Robot je postaven na Ackermanoveˇ podvozku, ktery´ vsˇak neposkytuje volnou pohyblivost. Mezi dalsˇ´ı nevy´hody jsou i male´ smeˇry ota´cˇenı´, neschopnost se ota´cˇet na relativneˇ male´m mı´steˇ a slozˇite´ technicke´ konstrukce kol. Dosˇlo k proble´mu s na´silny´m vypı´na´nı´m rˇ´ıdı´cı´ho pocˇ´ıtacˇe, beˇhem nichzˇ byl odpojen napa´jecı´ zdroj a vlivem tohoto jevu byl ponicˇen souborovy´ syste´m ext2 nacha´zejı´cı´ se na USB disku. Kvu˚li na´silne´mu odpojova´nı´ zdroje byla sestavena mala´ obsluha se trˇemi tlacˇ´ıtky, ktere´ spustı´, ukoncˇ´ı aplikace a doka´zˇe take´ vypnout rˇ´ıdı´cı´ pocˇ´ıtacˇ. Prˇi experimentu byla znicˇena cˇa´st routeru, ktera´ vytva´rˇela napa´jecı´ veˇtve pro elektroniku a USB zarˇ´ızenı´ (nasˇteˇstı´ pouze 3,3V a 5V). Du˚sledkem te´to vady bylo prˇehrˇa´tı´ napa´jecı´ho zdroje, vcˇetneˇ prˇekrocˇenı´ jeho rozsahu napeˇtı´. Cˇa´st obvodu˚ byla proto nahrazena linea´rnı´m stabiliza´torem LF33, ktery´m tekl velky´ proud a vznikly na neˇm velke´ ztra´ty. Zpu˚sob, jak tomu prˇedejı´t, byl vyrˇesˇen paralelneˇ zapojenı´m dvou obvodu˚ LF33 doplneˇne´ chladicˇem. Toto rˇesˇenı´ vsˇak nebylo optima´lnı´. V du˚sledku tohoto zapojenı´ bylo napeˇtı´ prˇerusˇeno tak, zˇe ho zpu˚sobila za´meˇrneˇ teplotnı´ ochrana obvodu˚, ktera´ propa´lila krabici. Jako prˇ´ıcˇinu autor oznacˇil za fata´lnı´ selha´nı´. Komunikace mezi moduly postavena´ na rozhranı´ I2C nebyla dostatecˇneˇ chra´neˇna´ proti elektromagneticke´mu rusˇenı´. Jako rˇesˇenı´ bylo kabely nata´hnout prycˇ od motoru˚ nebo zdroju˚, aby nezachytily rusˇenı´. Nameˇrˇena´ data ze senzoru˚ nebyla prˇ´ılisˇ filtrova´na, byla pouze charakteru plovoucı´ho pru˚meˇru. Dalsˇ´ı nevy´hodou je vysı´la´nı´ signa´lu˚ pomocı´ sonaru SRF02, u neˇhozˇ jsou odrazy vysı´la´ny pod tupy´m u´hlem smeˇrem od prˇeka´zˇky, cozˇ ma´ za na´sledek neprˇesne´ a chybne´ meˇrˇenı´. Detektor take´ nedoka´zˇe prˇesneˇ urcˇit smeˇr k prˇeka´zˇce. Enkode´r pro snı´ma´nı´ ota´cˇek byl znovu rˇ´ıdky´. Je potrˇeba elektronicky´ kompas CMPS03 prˇesunout da´le od kovovy´ch soucˇa´stek, kde jsou nachylne´ na zdroje rusˇenı´. Z pohledu je senzor nevzhledny´ a neprakticky´. Stejnosmeˇrny´ motor neumozˇnˇoval efektivneˇ rˇ´ıdit robota prˇi nı´zky´ch rychlostech. Velke´ napeˇtı´ bzucˇa´ku mohlo znicˇit obvod, proto je dobre´ bzucˇa´k vybavit tranzistorem. Autor ve vy´voji robota usiluje o du˚lezˇitou komponentu – webkamera. Nicme´neˇ neˇkolik webkamer prˇina´sˇelo autorovi neˇktere´ potı´zˇe prˇi sestavenı´. Naprˇ´ıklad USB webkamera nelze pouzˇ´ıt z du˚vodu ope-
x
racˇnı´ho syste´mu Linux s ja´drem 2.4, ktery´ nepodporuje toto zarˇ´ızenı´. Da´le je IP kamera prˇ´ılisˇ draha´ a jevı´ se take´ jako nevhodna´. Kamera v mobilnı´m telefonu je nepouzˇitelna´, protozˇe snı´ma´ jenom jeden obra´zek za jednu sekundu, cozˇ pro kameru nestacˇ´ı [1].
1.4 Vyhodnocenı´ robota Konstrukce robota podle me´ho na´zoru probı´hala hladce a bez velky´ch proble´mu˚. Pro na´vrh robota byl vybra´n zajı´mavy´ model zalozˇeny´ na podvozku za´vodnı´ho RC auta, ktery´ je urcˇen pro volnou jı´zdu po trasa´ch ve venkovnı´m prostrˇedı´. Je rˇ´ızen vy´konny´m rˇ´ıdı´cı´m pocˇ´ıtacˇem obsahujı´cı´m operacˇnı´ syste´m Linux. Robot lze ovla´dat pomocı´ chytre´ bezdra´tove´ technologie WLAN. Nejveˇtsˇ´ı vy´hodou tohoto robota je jeho typ podvozku – Ackermanu˚v podvozek. Je cˇasto pouzˇ´ıvany´ u robotu˚ a prakticky vsˇestranny´ druh, ktery´ neprˇedstavuje velky´ proble´m prˇi pouzˇitı´ tohoto modelu. Prˇedpokla´da´m, zˇe tento podvozek je vhodny´ pro vy´sˇe popisovane´ho robota. Protozˇe ten ma´ by´t urcˇen pro pohyb ve venkovnı´m prostrˇedı´, musı´ vsˇak poskytovat veˇtsˇ´ı prostorovou pru˚chodnost tratı´ a maxima´lnı´ komfort beˇhem jı´zdy. Robot je postaven na podvozku s na´honem na vsˇechna cˇtyrˇi kola, prˇina´sˇ´ı vı´ce vy´hod pro jı´zdu v tere´nu. Na podvozku se nacha´zı´ velka´ a kvalitnı´ za´kladna, ktera´ pojme veˇtsˇina elektronicky´ch soucˇa´stek. Ta je ulozˇena v pomeˇrneˇ neprˇehledne´ krabici v plastu, ktera´ se mu˚zˇe lehce rozbı´t nebo jı´ hrozı´ vznı´cenı´ kvu˚li spa´lene´mu obvodu. Jako alternativnı´ rˇesˇenı´ bych navrhl umı´stit drˇeveˇnou krabici nebo obde´lnı´kovy´ skelet z tvrde´ho materia´lu, ve ktery´ch bude ulozˇena elektronika. Umı´steˇnı´ LCD displeje spolecˇneˇ s tlacˇ´ıtky v krabici je velice nena´padne´. Prˇes pru˚hlednou krabici nelze dobrˇe vycˇ´ıst z LCD displeje a panelove´ho voltmetru, jinak jsou zobrazova´ny rozmazaneˇ a z velke´ da´lky nejde jejich nameˇrˇena cˇ´ısla pozorovat. Lze rˇesˇit naprˇ´ıklad orˇeza´va´nı´m a vytva´rˇenı´m otvoru˚ pro monta´zˇ displeju˚ v tvrde´ krabici. Naopak pouzˇitı´ zarˇ´ızenı´ zajisˇt’ujı´cı´ meˇrˇenı´ stavu napeˇtı´ bateriı´ je velmi vhodne´ pro prˇ´ıpad, kdy je potrˇeba sledovat napeˇtı´, aby neprˇekrocˇily sve´ meze. Napa´jenı´ elektroniky pomocı´ akumula´toru 8V mi prˇijde jako nedostatecˇneˇ. Proto kvu˚li vysˇsˇ´ımu napeˇtı´ prˇi rˇ´ızenı´ pocˇ´ıtacˇe je nutny´ napa´jecı´ zdroj 8-12V. Router pro rˇ´ızenı´ robota se jevı´ jako velmi vhodny´, poskytuje vysoky´ vy´kon a neˇkolik xi
vy´znamny´ch konektoru˚, naprˇ. pro LAN kabely, USB. Je rˇesˇen velmi chytrˇe a jednodusˇe, pokud autor nechteˇl ve sve´m robotu vybudovat rˇ´ıdı´cı´ procesor, ze ktere´ho bude prˇipojen kabel z PC nebo z notebooku pro ovla´da´nı´ robota. Dı´ky tomu lze spolehliveˇ vyuzˇ´ıt da´lkove´ rˇ´ızenı´ pomocı´ aplikace telnetu nebo prˇ´ıkazu SSH. Pomocı´ technologie AJAX lze pracovat s jaky´mkoliv zarˇ´ızenı´m spolecˇneˇ s robotem. Zapojenı´ sbeˇrnice I2C take´ nebylo sˇpatne´, umozˇnˇuje velmi snadne´ rozsˇirˇova´nı´ portu˚ a jednoduche´ propojenı´ mezi neˇkolika moduly. V nabı´dce menu je akce, ktera´ slouzˇ´ı k rychle´mu vypnutı´ rˇ´ıdı´cı´ho syste´mu a kterou povazˇuji za rozumnou veˇc. Neby´t takove´ funkce, by vypnutı´ odpojenı´m kabelu ze sı´teˇ cˇi napa´jenı´m zpu˚sobilo proble´my v operacˇnı´m syste´mu. Resetovacı´ tlacˇ´ıtko take´ dobrˇe tam zapada´. Pouzˇity´m jazykem prˇi programova´nı´ robota byl jazyk C, ktery´ je samozrˇejmeˇ uzˇitecˇny´, rychly´ a poskytuje snadny´ prˇ´ıstup k registru˚m. Robot obsahuje tolik senzoru˚, ktery´ by byl schopen prova´deˇt bez obsluhy. Zcela postra´da´m v robotovi neˇktere´ komponenty, naprˇ. GPS prˇ´ıstroj, kamera, sveˇtla do tmy.
xii
Kapitola 2
Alternativnı´ verze mobilnı´ho robota Tato kapitola pojedna´va´ o projektu zaby´vajı´cı´ho se male´ho mobilnı´ho robotu zpracovane´m dveˇma studenty na Vysoke´ sˇkole polytechnicke´ v Jihlaveˇ. Touto pra´ci se rozumı´ vypracovana´ bakala´rˇska´ pra´ce, jejı´mzˇ cı´lem je navrhnout elektroniku robota, da´le pak software starajı´cı´ se o spra´vu rˇ´ızenı´ elektroniky. Software umozˇnı´ take´ vytvorˇenı´ mapy, jejı´ lokalizaci a trasy, na ktere´ se bude robot pohybovat. Projekt je vhodny´ pro vy´uku zameˇrˇenou na techniku mikroprocesoru˚, regula´tory a principy bezdra´tove´ho prˇenosu dat. Vytvorˇenı´ robota je krok k prˇ´ıpraveˇ u´cˇastı´ na roboticky´ch souteˇzˇ´ıch a lze ho vyuzˇ´ıt take´ na vy´stavnı´ prˇehlı´dce. Pra´ce je rozdeˇlena na trˇi tematicke´ cˇa´sti, v prvnı´ se zaby´vala s technikou elektroniky robota, o rˇ´ıdı´cı´m programu v PC je popsa´no v druhe´ cˇa´sti a v poslednı´ cˇa´sti je sezna´meno s jı´zdou robota [2].
2.1 Popis robota Na komunikaci mezi hardwarem a pocˇ´ıtacˇem ma´ starosti sbeˇrnice RS485, ktera´ propojuje i moduly. Mezi zapojeny´mi moduly pro robota je rˇ´ıdı´cı´ modul, ovla´da´nı´ motoru˚, modul napa´jenı´ a senzoricky´ modul. Komunikace mezi rˇ´ıdı´cı´ jednotkou a modulu pro rˇ´ızenı´ motoru˚ vypada´ na´sledujı´cı´m zpu˚sobem, kdy rˇ´ıdı´cı´ modul zasˇle paket s pozˇadovanou rychlostı´ na modul pro ovla´da´nı´ motoru˚ a obdrzˇ´ı od neˇho informaci o stavu ujete´ vzda´lenosti. Sbeˇrnice RS485 vyuzˇ´ıva´ komunikacˇnı´ poloduplexnı´ syste´m, jehozˇ rˇ´ızenı´ provozu je typu master-slave. Komunikace prˇes rozhranı´ je rˇ´ızena´ master modulem s libovolny´m pocˇtem slave modulu˚, ktere´ jsou k te´to sbeˇrnici prˇipojeny a posı´lajı´ pozˇadovane´ informace. Napa´jenı´ modulu˚ probı´ha´ pomocı´ step-down meˇnicˇe v napa´jecı´m modulu, kde je provedeno snı´zˇenı´ xiii
napeˇtı´ bateriı´ z pu˚vodnı´ch 12V na 9V a putuje ke kazˇde´mu realizovane´mu modulu. Vzhledem k tomu je napeˇtı´ jiny´ch kazˇdy´ch modulu˚ upraveno na 5V. V kazˇde´m modulu je umı´steˇna dioda, ktera´ upozornˇuje na nespra´vne´ napa´jenı´ a prˇ´ıpadneˇ jejı´ prˇekrocˇenı´. Napa´jecı´ modul ma´ za cı´l pomocı´ funkce step-down meˇnicˇe udrzˇovat vhodne´ (snı´zˇene´) napeˇtı´ baterie pro ostatnı´ moduly, prove´st kontrolu napeˇtı´ baterie a meˇrˇenı´ odbeˇru proudu z baterie. Dalsˇ´ı funkcı´ modulu je meˇrˇenı´ teploty baterie a zajisˇteˇnı´ bezpecˇnostnı´ vratne´ pojistky proti prˇehrˇa´tı´ u jednotlivy´ch vy´stupu˚. K napa´jenı´ modulu se pouzˇ´ıva´ oloveˇny´ akumula´tor, ktery´ lze nabı´jet ze sı´teˇ prostrˇednictvı´m samostatne´ nabı´jecˇky. Z du˚vodu prostoru pro ulozˇenı´ bateriı´ a jeho spra´vne´ hmot´ konosti je robot vybaven dveˇma oloveˇny´mi akumula´tory 4Ah/6V. U lem rˇ´ıdı´cı´ho modulu je prˇijı´mat a zpracovat signa´ly z pocˇ´ıtacˇe, starat se o komunikaci s nizˇsˇ´ımi u´rovneˇmi moduly. Beˇhem komunikace s pocˇ´ıtacˇem rˇ´ıdı´cı´ modul samo sobeˇ vysı´la´ data a nastavuje jejı´ paraˇ ´ıdı´cı´ modul vysı´la´ signa´ly k ostatnı´m modulu˚m a zpracuje metry. R jejich nameˇrˇena´ data. Modul prova´dı´ autonomnı´, diagnosticke´ a kontrolnı´ funkce, ktere´ zı´skajı´ informaci naprˇ. o funkcˇnosti podvozku, o ujety´ch vzda´lenostech. Pro obsluhu lze pouzˇ´ıt LCD displej, tlacˇ´ıtka a joystick. Pomocı´ joysticku lze ovla´dat jı´zdu robota vprˇed a vzad. Za´kladnı´ deskou modulu je upravena deska plosˇny´ch spoju˚ s osazeny´m mikroprocesorem ATmega64, ktery´ vyuzˇ´ıva´ dva kana´ly UART. Na desce se nacha´zejı´ ru˚zne´ elektronicke´ soucˇa´stky naprˇ. alfanumericky´ LCD displej se 20x4 znaky, stabiliza´tor 78L05 SMD, rozhranı´ pro sbeˇrnice RS232 s ko´dovy´m oznacˇenı´m MAX232CWE, linkovy´ vysı´lacˇ-prˇijı´macˇ pro rozhranı´ RS485 oznacˇeny´ symbolem SN75176A a transily P6KE6V8CA. Transily poskytuje ochranu prˇed elektrostaticky´m vy´bojem neboli ESD, projevujı´cı´ch se u integrovany´ch obvodu˚, kde vlivem ru˚zne´ho elektricke´ho potencia´lu mezi dveˇma objekty docha´zı´ k znicˇenı´ obvodu [2].
2.2 Metoda rˇı´zenı´ robota Mobilnı´ robot je zalozˇen na cˇtyrˇkolove´m diferencia´lnı´m podvozku se zata´cˇenı´m podle tankove´ho stylu. Model byl postaven na ba´zi podvozku MOB-03 s pohonem vsˇech kol. Hlavnı´m modulem v rˇ´ıdı´cı´ elektronice tohoto te´matu je modul zaby´vajı´cı´ se ovla´da´nı´ xiv
motoru˚, ktery´ se za´rovenˇ nacha´zı´ na samostatne´ desce s mikrokontrole´rem ATmega8. Modul je prˇipojen ke sbeˇrnici RS485 a pro komunikaci prˇes tato rozhranı´ slouzˇ´ı obvod SN75176A. Slouzˇ´ı prˇeva´zˇneˇ k rˇ´ızenı´ dvou stejnosmeˇrny´ch motoru˚ GHM-16 urcˇeny´ch pro plynuly´ pohyb a zastavenı´ robota. Motor s prˇevodovkou GHM-16 vyzˇaduje napa´jenı´ 12V, odbeˇr proudu azˇ 100mA a jeho rychlost ota´cˇenı´ cˇinı´ ˇ ´ızenı´ ota´cˇek motoru˚ lze rˇ´ıdit pomocı´ pulzneˇ 200 ota´cˇek za minutu. R sˇ´ırˇkove´ modulace. Na podvozku MOB-03 je implementova´na dvojice tohoto modulu, protozˇe obsahuje cˇtyrˇi kola a kazˇde´mu kolu je prˇirˇazen stejnosmeˇrny´ motor s prˇevodovkou, ktery´ zajistı´ bezproble´movy´ chod syste´mu pohonu˚. Mezi vy´znamne´ funkce modulu je zası´la´nı´ informace o ujety´ch vzda´lenostech a aktua´lnı´ rychlosti, provedenı´ zastavenı´ syste´mu dı´ky vy´padku komunikace, rˇ´ızenı´ rychlosti pomocı´ PID regula´toru˚, brzdeˇnı´, meˇrˇenı´ proudu a teploty motoru˚, zı´ska´nı´ informace o detekujı´cı´ch objektech pomocı´ dvou enkode´ru˚ QME01. Maxima´lnı´ napa´jecı´ napeˇtı´ enkode´ru je 5V. Dalsˇ´ım zajı´mavy´m parametrem enkode´ru je pocˇet kroku˚ urcˇeny´ch pro ota´cˇku vy´stupnı´ho hrˇ´ıdele GHM-16, jehozˇ je 3000. Na desce modulu byly montova´ny H-mu˚stky pro rˇ´ızenı´ DC motoru˚ - budicˇe L298HN. Jeden z autoru˚ v cˇla´nku zdu˚raznil, zˇe je cˇas pouzˇ´ıt lepsˇ´ı integrovany´ mu˚stek, ktery´ v sobeˇ obsahuje integrovane´ ochranne´ diody a zabere me´neˇ mı´sta na desce nezˇ pu˚vodnı´ H-bridge. Da´le je mozˇne´ vymeˇnit mikroprocesor za jiny´ procesor s integrovany´m A/D prˇevodnı´kem, ktery´ prova´dı´ prˇesne´ meˇrˇenı´ proudu. Dalsˇ´ım z modulu˚ je senzoricky´ modul, jehozˇ u´kolem je vnı´mat, rozpoznat a snı´mat prostrˇedı´ pomocı´ zı´skany´ch nameˇrˇeny´ch dat. Na robotovi byly umı´steˇny na´sledujı´cı´ senzory pro orientaci v prostoru - 4 infracˇervene´ da´lkomeˇry Sharp, ultrazvukovy´ da´lkomeˇr, elektronicky´ kompas a 4 taktilnı´ senzory. Infracˇerveny´ da´lkomeˇr vyuzˇ´ıva´ principy odrazu infracˇervene´ho za´rˇenı´ a triangulace. Ultrazvukovy´ senzor slouzˇ´ı k meˇrˇenı´ vzda´lenosti od prˇeka´zˇky v ru˚zny´ch u´hlech a je umı´steˇn na servu. Pokud robot nemu˚zˇe rozpozna´vat objekt, spustı´ vyhleda´va´nı´ objektu˚ v okolı´ pomocı´ ultrazvukove´mu da´lkomeˇru. Elektronicky´ kompas urcˇuje smeˇr pohybu podle jednotky azimutu. Taktilnı´ senzor je schopen prˇedat informaci o objektech, ktery´ch se doty´kal a poskytuje ochranu teˇla robota prˇed neocˇeka´vany´mi prˇeka´zˇkami. Na programova´nı´ procesoru Atmel byl vybra´n programa´tor USBasp, koupeny´ v obchodeˇ na
xv
internetove´ adrese www.stavebnice.com. Ten podporuje velkou rˇadu procesoru˚ Atmel a nahra´nı´ nove´ho firmwaru do syste´mu. Du˚vodem vy´beˇru USBasp bylo tak, zˇe podporoval software avrdude, cozˇ je jeden z programa´toru˚ procesoru˚ AVR a soucˇa´stı´ balı´ku WinAVR, dı´ky nimzˇ lze pracovat s programem ve Windows. K programova´nı´m v Linuxu bylo zvoleno vy´vojove´ prostrˇedı´ Eclipse 3.3 Europe s nainstalovany´mi pluginy pro programovacı´ jazyk C/C++ a AVR. Vzhledem k tomu lze zkompilovat a nahra´t program do mikroprocesoru˚. Byl take´ pouzˇ´ıva´n AVR Fuse Calculator na nastavenı´ fuse bitu˚ pro AVR, konkre´tneˇ nastavenı´ externı´ho hodinove´ho signa´lu [2].
Obra´zek 2.1: Pohled na cely´ robot [2]
2.3 Analy´za chyb robota Prˇi na´vrhu mobilnı´ho robota se vyskytlo neˇkolik za´vazˇny´ch potı´zˇ´ı, ktere´ budou detailneˇ rozebı´ra´ny v te´to kapitole. Tyto za´vady se podarˇilo odstranit a roboticky´ syste´m by se meˇl rozbeˇhnout. V robotu jsou sta´le neˇktere´ vady, jejichzˇ vliv na funkci cele´ho syste´mu je nezˇa´doucı´ a cˇeka´ ho vy´meˇna soucˇa´stek, ktere´ umozˇnˇujı´ vylepsˇit jeho chova´nı´. U snı´macˇe ota´cˇek v motoru GHM-16 bylo na´sledneˇ zjisˇteˇno, zˇe enkode´r generuje pouze 100 impulzu˚ na jednu ota´cˇku vy´stupnı´ xvi
hrˇ´ıdele prˇevodovky, jehozˇ pocˇet je vzhledem k PID regula´toru nedostatecˇny´. Enkode´r byl vymeˇneˇn a v prˇevodove´m pomeˇru 30:1 ma´ jejı´ rozlisˇenı´ azˇ 3000 impulzu˚ na jednu ota´cˇku vy´stupnı´ hrˇ´ıdele. Proble´m s regulacı´ byl vyrˇesˇen, ale rozlisˇenı´ enkode´ru je sta´le male´ a regula´tor neda´va´ dobry´ vy´sledek. Jednou z nevy´hod rˇ´ıdı´cı´ho syste´mu je vysoke´ odebı´ra´nı´ elektronicke´ho proudu zapnute´ho LCD displeje (vı´c nezˇ 100mA). Odbeˇr proudu lze zmensˇit spolecˇneˇ s vybudovany´m silny´m stabiliza´torem. Na desce modulu rˇ´ızenı´ serv je osazen dvojity´ H-mu˚stek L298, ktery´ spolu se zapojeny´mi ochranny´mi diody zaberou mnoho mı´sta na desce plosˇny´ch spoju˚. Zapojenı´ tohoto integrovane´ho obvodu bylo neprakticke´, proto lepsˇ´ı je realizace H-mu˚stku s integrovany´mi ochranny´mi diodami. Na programa´toru USBasp nebyl nalezen zˇa´dny´ firmware, cozˇ bylo neprˇ´ıjemne´. Autor pote´ nahra´l firmware bez proble´mu, kdyzˇ k tomu pouzˇil dalsˇ´ı programa´tor PonyProg. Na´sledovala pak komunikace mezi moduly a programa´torem USBasp, ktera´ se beˇhem jejich programova´nı´ sta´le nepodarˇilo nava´zat. Po dlouhe´ dobeˇ bylo oveˇrˇeno, zˇe mikroprocesory ATtiny2313, ATmega8 a ATmega16 pouzˇ´ıvajı´ stejne´ piny jako rozhranı´ SPI. Takzˇe podle informacı´ z datasheetu mikroprocesoru ATmega64 pouzˇ´ıva´ tento mikroprocesor velmi odlisˇne´ typy pinu˚. Z tohoto du˚vodu byla na vineˇ autorova chyba prˇi programova´nı´ procesoru, prˇi ktere´ bylo sˇpatne´ nastavenı´ pinu˚ pro vstup a vy´stup. Mikroprocesor ATmega64 meˇl proble´my se zaha´jenı´m vstupneˇ/vy´stupnı´ operace, u ktery´ch nefungoval naprˇ´ıklad ani podsvı´cenı´ LCD displeje. Autor nasˇel rˇesˇenı´ prˇes vyhleda´vacˇ Google na obsahu fo´ra. Z toho vyply´va´, zˇe bylo potrˇeba nastavit fuse bit na nulu, kdy mikroprocesor ATmega64 zacˇne by´t kompatibilnı´ s mikroprocesorem ATmega103. Dı´ky tomu by mohl mikroprocesor ATmega64 zajistit svu˚j beˇh bez proble´mu˚ s vy´jimkou omezenı´ neˇkolika funkcı´. Vyskytl se dalsˇ´ı proble´m s komunikacı´ mezi dveˇma moduly, na ktere´ nemohl by´t vysı´la´n zˇa´dny´ byte. Autor dlouho hledal prˇ´ıcˇinu chyby, ktera´ byla konecˇneˇ rozlusˇteˇna. Aby se dalo prˇene´st byte mezi dveˇma moduly, je nutne´ se veˇnovat hodnoteˇ bitu URSEL, ktera´ se stara´ o za´pis adresy do jednoho z registru˚ UBRRH a UCSRC, jezˇ u sve´ho mikrokontrole´ru ATmega8 si zapisujı´ stejnou adresu. Pokud se objevı´ nula u hodnoty URSEL, aktualizuje se hodnota UBRRH. Naopak kdyzˇ je hodnotou registru URSEL 1, nastavenı´ registru UCSRC budou aktualizova´ny. U robota se projevilo sˇkubnutı´, ale podarˇilo se odhadnout jeho chybu. Chyba xvii
byla v programu, ve ktere´m meˇla funkce sprintf() velikost bufferu o jeden byte me´neˇ nezˇ pozˇaduje komunikace mezi moduly. Da´le bylo objeveno sˇpatne´ fungova´nı´ beˇhem rˇ´ızenı´ robota. Po prˇepı´na´nı´ tlacˇ´ıtkem menu odesı´la´nı´ pozˇadovane´ rychlosti na LCD displeji zabudovane´m na rˇ´ıdı´cı´m modulu se ovla´da´nı´ robota joystickem zacˇalo jevit jako sˇpatne´. Prˇi komunikaci s dveˇma moduly ovla´da´nı´ motoru˚ byl dvakra´t znicˇen mikroprocesor ATmega8. Na vineˇ byl posˇkozeny´ pin mikroprocesoru. Poprve´ byl znicˇen obvod kvu˚li neporˇa´dku na stole, podruhe´ byl znicˇen z nezna´me´ho du˚vodu. Nynı´ je osazen jizˇ trˇetı´ mikroprocesor ATmega8 pomocı´ ochranne´ho odporu 1K. Kdyzˇ byl robot prˇipraven na jı´zdnı´ testy, dosˇlo k neˇkolika neocˇeka´vany´m proble´mu˚m s jeho zata´cˇenı´m. Prvnı´m z nich byla zmeˇna rezˇimu pulzneˇ sˇ´ırˇkove´ modulace, kde vrchol cˇ´ıtacˇe byl nastaven na 1024 mı´sto potrˇebny´ch 2500 a docha´zı´ k prˇetecˇenı´. Dalsˇ´ım proble´mem bylo nı´zke´ napeˇtı´ u budicˇe L298HN, jejı´zˇ hodnotou prˇi odbeˇru proudu 2A byla pouze 4V. Kvu˚li vysoke´mu u´bytku napeˇtı´ se robot nemohl dlouho ota´cˇet na mı´steˇ. Dalsˇ´ı obvody, ktere´ byly znicˇeny prˇi pra´ci, byly jeden mu˚stkovy´ budicˇ L6203 a programa´tor [2].
2.4 Vyhodnocenı´ V prˇedchozı´ch podsekcı´ch byly popisova´ny cˇa´sti u´speˇsˇne´ho robota, jenzˇ byl velmi za´visly´ na elektronice. Jedna´ se o mobilnı´ robot s diferencia´lnı´m podvozkem urcˇeny´ pro vypracova´nı´ diplomove´ pra´ce. Na´vrhu˚ modulu˚ pro elektroniku bylo mnoho a podarˇilo se zapojit moduly na sbeˇrnici. Teˇch chyb prˇi konstrukci robota nebylo tolik a byly vyrˇesˇeny rychle dı´ky autorova moudrosti. Robot na meˇ celkem pu˚sobı´ peˇkny´m dojmem azˇ na ovla´da´nı´ jeho rˇ´ızenı´ pomocı´ neprakticke´ho joysticku. Robot je vybaven sˇpicˇkovy´m robustnı´m podvozkem MOB-03 z nerezu. K podvozku se da´ prˇipevnit dı´ly ze stavebnice Merkur, cozˇ je rozhodujı´cı´ prˇi vy´beˇru umı´steˇnı´ elektronicky´ch soucˇa´stek. Soucˇa´stı´ podvozku jsou velka´ cˇtyrˇi kola zajisˇt’ujı´cı´ vynikajı´cı´ jı´zdnı´ vlastnosti na nerovnomeˇrne´m povrchu. Podvozek s pohonem vsˇech kol je poha´neˇn cˇtyrˇmi motory GHM-16 s velmi vysokou rychlosti ota´cˇenı´ (200 ota´cˇek za minutu). Podvozek MOB-03 oznacˇuji jako velmi dobry´ za´klad pro na´vrh autonomnı´ho robota. Napa´jecı´ zdroj vyuzˇ´ıva´ dostatecˇne´ napeˇtı´ azˇ 12V, cozˇ je vhodne´ pro veˇtsˇinu elekxviii
troniky. Zcela zajı´mavou veˇc je pouzˇ´ıva´nı´ stabiliza´toru pro udrzˇenı´ napeˇtı´ pro dalsˇ´ı moduly. Bez toho by se znicˇily neˇktere´ obvody v modulech. A napa´jecı´ modul zajisˇt’uje kontrolu napeˇtı´ baterie, meˇrˇit odbeˇr proudu a teploty baterie, jezˇ tyto funkce jsou spra´vny´m krokem k dobre´mu rˇ´ızenı´ roboticke´ho syste´mu. Na komunikaci mezi moduly se vyuzˇ´ıva´ sbeˇrnice RS485, ktera´ podle me´ho na´zoru je dostatecˇna´. Navı´c se tato sbeˇrnice pouzˇ´ıva´ pro multipoint komunikaci, tj. vı´ce zarˇ´ızenı´ mu˚zˇe by´t prˇipojeno na jeden datovy´ kana´l. LCD displej, ktery´ komunikuje prˇes rˇ´ıdı´cı´ modul, vypada´ velmi dobrˇe a je moc cˇitelny´. Okolo neˇho jsou zajı´mava´ tlacˇ´ıtka slouzˇ´ıcı´ k nastavova´nı´ parametru˚ cˇi PID konstant. Mikroprocesor rˇ´ıdı´cı´ho modulu ATmega64 je zna´my´ tı´m levny´m modulem s mnoha vy´vody (azˇ 40). Je vhodny´ zejme´na pro na´rocˇne´ aplikace, stejneˇ jeho pouzˇitı´ v robotovi bylo spra´vne´ rozhodnutı´. Zapojenı´ H-mu˚stku v modulu ovla´da´nı´ serva zabralo mnoho mı´sta na desce, tak bylo mozˇne´, zˇe mı´sta obsadily i ˇ esˇenı´m je lepsˇ´ı H-mu˚stek s integrovany´mi externı´ ochranne´ diody. R ochranny´mi diodami, ktery´ by nezabral tolik prostoru pro zapojenı´.
xix
Kapitola 3
Ty´m robotu˚ MARS Velka´ skupina veˇdcu˚ z Pensylva´nske´ univerzity pod vedenı´m profesorem Vijayem Kumarem vyvı´jela neˇkolik autonomnı´ch robotu˚, jejichzˇ cı´lem je stejny´ jako u ostatnı´ch autonomnı´ch robotu˚, tj. vykonat svoji pra´ci samocˇinneˇ. Pensylva´nska´ univerzita je jedna z nejcenneˇjsˇ´ıch soukromy´ch univerzit, ktera´ postavila mnoho u´speˇsˇny´ch ro´ kolem teˇchto robotu˚ je schopbotu˚ vcˇetneˇ robotove´ho ty´mu MARS. U nost prosadit se v nezna´me´m prostrˇedı´, kde by mohli by´t vyuzˇity prˇi pru˚zkumu, sledova´nı´, zjisˇt’ova´nı´ cı´lu˚ a odstraneˇnı´ vy´busˇne´ho materia´lu. Architektura a na´stroje robotu˚ dı´ky sˇka´lovatelnosti umozˇnˇujı´ jedine´mu cˇloveˇkovi ovla´dat celou flotilu autonomnı´ch robotu˚. Prˇi konstrukci roboticke´ platformy postupneˇ vznikaly trˇi verze. Prvnı´ verze platformy zvane´ The Clodbuster obsahovala podvozek zalozˇeny´ na RC modelu firmy Tamiya na da´lkove´ ovla´da´nı´ v meˇrˇ´ıtku 1:10. Aby byl tento podvozek urcˇen pro autonomnı´ cˇinnosti, dostal rˇadu komponent zahrnujı´cı´ch vsˇesmeˇrova´ kamera, vysı´lacˇ pro odesı´la´nı´ snı´mku˚ pro zpracova´nı´, napa´jecı´ modul a lepsˇ´ı odpruzˇenı´. Meˇlo by to umozˇnit, aby platforma byla robustnı´, levneˇjsˇ´ı a vhodna´ do tere´nu. Druha´ verze nesla na´zev Clodbuster-II a stejneˇ jako v prˇedchozı´ verzi pouzˇ´ıvala stejny´ za´klad platformy. Velke´ zmeˇny se projevily prˇi komunikace s integrovany´mi obvody, kterou zajisˇt’uje palubnı´ pocˇ´ıtacˇ s Pentiem III 850 MHz, 128 MB RAM i bezdra´tovy´m prˇipojenı´m Ethernet 802.11b. Tyto zmeˇny prˇina´sˇ´ı oproti minule´ verze vy´znamne´ zlepsˇenı´ jako distribuovana´ platforma pro rˇ´ızenı´, vysˇsˇ´ı procesorovy´ vy´kon, odstraneˇnı´ elektromagneticke´ rusˇenı´ a vy´padky beˇhem bezdra´tove´ho prˇenosu. Pro sledova´nı´ prˇeka´zˇek byly pouzˇ´ıva´ny IR detektory, akcelerometry a gyroskopy by meˇly by´t prˇida´ny v blı´zke´ budoucnosti. V poslednı´ verzi Clodbuster-III bylo prˇida´no noveˇ upravene´ sˇasi, ktere´ nabı´zelo dostatecˇny´ prostor pro ulozˇenı´ xx
elektronicky´ch komponent. Da´le sˇasi bylo vyrobeno z hlinı´ku a ze drˇeva, ktere´ mu˚zˇe navı´c ne´st ru˚zne´ typy cˇidel. Mezi soucˇasneˇ pouzˇ´ıvany´mi senzory jsou 12 IR detektoru˚ (po trˇech v kazˇde´m rohu) a dveˇ webkamery (na prˇednı´ a na zadnı´ straneˇ). Pomocı´ notebooku Sony Vaio s procesorem PIII 850 MHz, 256 MB RAM, bezdra´tovy´m prˇipojenı´m a operacˇnı´m syste´mem Windows XP lze komunikovat s nyneˇjsˇ´ımi roboty. Vy´beˇr kamery pro jejich nasazenı´ do prostrˇedı´ probeˇhl podle cˇtyrˇ krite´riı´: mala´ velikost, levna´, pasivnı´ a nı´zka´ spotrˇeba. Pro snı´ma´nı´ obra´zku˚ se pouzˇ´ıvajı´ na´sledujı´cı´ metody: vizualizace vzda´leny´ch prostrˇedı´, zı´ska´nı´ informacı´ o cı´lech, pozici, u´rovneˇ aktivity a za´klady pro pohodlne´ interakcı´ mezi opera´torem a roboty. Vizualizace vzda´leny´ch prostrˇedı´ pracuje na metodeˇ snı´mku˚ zı´skany´ch pomocı´ vsˇesmeˇrove´ kamery. Sce´na mu˚zˇe by´t interaktivneˇ zkouma´na a/nebo upravova´na pomocı´ nove´ kamery trajektorie zadane´ uzˇivatelem. Dalsˇ´ı metodou pro zı´ska´nı´ snı´mku˚ je zpracova´nı´ synte´zy textur prˇi hleda´nı´ korespondencı´ v obrazech. Tak hustou korespondenci v obrazech nelze snadno zı´skat kvu˚li uzavrˇeny´m regionu˚m a homogennı´m obra´zku˚m regionu. Bylo proto nutne´ se zameˇrˇit na prˇesneˇ reprodukujı´cı´ pohyb hran ve sce´neˇ a pomocı´ interpolace odhadnout pohyb ostatnı´ch bodu˚. Ty´m robotu˚ zı´ska´ informaci o umı´steˇnı´ cı´lu˚ a objektu˚ v prostrˇedı´ pouze s pomocı´ obrazove´ho meˇrˇenı´. Roboti umozˇnˇujı´ kombinovat meˇrˇenı´ odhadu˚ z distribuovany´ch senzoru˚. V na´sledujı´cı´m obra´zku je uka´zka, jak probı´ha´ meˇrˇenı´ prova´deˇne´ neˇkolika roboty [3].
xxi
Obra´zek 3.1: Sourˇadnicovy´ syste´m vyuzˇ´ıvany´ u robotu˚ MARS [3]
•
Cr oznacˇuje robotova´ konfigurace prostoru, a ρ oznacˇuje prvek tohoto prostoru konfigurace.
•
Cw oznacˇuje funkce konfigurace prostoru, a ω oznacˇuje prvek tohoto prostoru konfigurace.
•
zˆ oznacˇuje meˇrˇenı´ zı´skane´ ty´mem robotu˚.
xxii
Obra´zek 3.2: Pohled na roboty [3]
3.1 Vyhodnocenı´ Ovla´da´nı´ vı´ce robotu˚ je vcelku uzˇitecˇne´ pro hleda´nı´ nebezpecˇny´ch objektu˚, cı´lu˚ a vy´zkumne´ u´cˇely. Ty´m robotu˚ MARS doka´zˇe spolecˇneˇ prˇemı´stit velkou krabici z jednoho do druhe´ho mı´sta, cozˇ povazˇuji za silnou stra´nku jejich pouzˇitı´. Pouzˇitı´ vsˇesmeˇrove´ kamery prˇina´sˇ´ı velkou vy´hodu, zˇe robot pomocı´ nı´ mu˚zˇe objet mezi dveˇma krabicemi a vyhy´ba´ se prˇeka´zˇka´m, kde nemusı´ ovsˇem narazit do te´to krabice. Dalsˇ´ım prˇ´ıkladem, kdy se robot nesmı´ vyhy´bat prˇeka´zˇka´m, je nalezenı´ objektu schovane´ho mezi krabice. Kdyzˇ skupina robotu˚ se rozhodne projet na stejne´ mı´sto, jeden robot drzˇ´ı ve vedenı´ a dva roboti ho prona´sledujı´ azˇ do cı´lene´ho mı´sta. Tito roboti byli navrzˇeni tak velice chytrˇe, zˇe za neˇjaky´ cˇas dohromady najdou objekt nebo svoje cı´le ve velky´ch vzda´lenostech. Dı´ky Ackermannova rˇ´ızenı´ roboti dosahujı´ mnoho u´speˇchu˚. To platı´ tote´zˇ pro jejich robustnı´ podvozky, ktere´ ale neumozˇnˇujı´ veˇtsˇ´ı mane´vrovatelnost v male´m prostoru.
xxiii
Literatura [1] Konstrukce mobilnı´ho robota schopne´ho pohybu ve venkovnı´m prostrˇedı´. The Outdoor Mobile Robot Design [online]. 2009, [cit. 2013-05-20]. Dostupne´ z URL:
. [2] Blogger. Mobilnı´ robot [online]. 2009, [cit. 2013-05-20]. Dostupne´ z URL: . [3] Penn Engineering. MARS Multiple Autonomous Robots [online]. [cit. 2013-05-20]. Dostupne´ z URL: .
xxiv