Nagy Krisztina Kancsár Dániel Sipos Péter
BMF-NIK, IAR2005 BMF-NIK, IAR2005 BMF-KVK
MACSKA Rendszerterv
Tartalomjegyzék
I. A feladat kiírása............................................................................................................... II. A részegységek jellemzése elvárt működésük függvényében......................................... Látás..................................................................................................................... Mozgás................................................................................................................. Agy....................................................................................................................... III. A megoldás irányvonala a számított kronológiai sorrendben..........................................
2
I. A feladat kiírása
A projekt célja egy olyan négylábú animat megtervezése és elkészítése, mely képes a hely- és helyzetváltoztatásra, az útjában lévő objektumok kikerülésére, a környezetének távolságméréssel való meghatározására és a kapott kép feldolgozására, értelmezésére, emberi parancsszavak értelmezésére, azok esetleges felülbírálására, hangjelzéssel való hibajelzésre (macska esetében nyávogás), tanulásra és saját döntések meghozatalára.
3
II. A részegységek jellemzése elvárt működésük függvényében Látás Az működési elv a mára eléggé elterjedt lézeres távolságmérőn alapszik. Ennek lényege, hogy az adó egy modulált lézersugarat bocsájt ki magából, majd a kimenő és visszaverődő lézersugár fáziskülönbségéből kiszámolja a távolságot. A lézeres helymeghatározó is ezt teszi, csak míg a távolságmérő 1 pont távolságát, addig ez n*m pontét határozza meg. Így kapunk egy mátrixot, melynek értékei a különböző koordináták távolságát tartalmazzák, amiből egy program segítségével egy vektoros képet szerkeszthetünk. Felépítés: Az alap hardvert három részre bontottam: - Adó Egy meghatározott frekvencián modulált lézerdiódából, léptető motorra szerelt x és y tengelyen eltérítő 2 tükörből, illetve az ezeket kiszolgáló alap elektronikából áll. - Vevő Elviekben talán a legegyszerűbb rész (kivitelezésben már nem igazán). Egy megfelelő frekvencára hangolt ir-vevőből, valamint egy demodulátor egységből áll. Feldolgozó, vezérlő Ide érkezik be a kimenő és a visszaérkező jel, amelyekből kiszámolja a fázisszöget, majd az ennek megfelelő feszültség értéket digitalizálja, és eltárolja a memóriájába. Ugyancsak ez a rész vezérli, hangolja össze az egész egységet. Vezérli a motorat, a lézerdiódát, végzi az időzítéseket. A lelke egy mikrokontroller lesz.
4
Adó: Az alap terv egy 60*40-es mátrix kivetítése, 90 fokos vízszintes, illetve 60 fokos függőleges látásszöggel. Így két pont között 1,5 fokos szögeltérést kapunk mind függőleges, mind vízszintes irányban. Ekkora szögnyílásnál kettő 1 méterre lévő pont között 26 mm távolság lesz. Ez a felbontás véleményünk szerint megfelel nagyobb objektumok kiterjedésének a megfigyelésére. A mátrix kirajzolását egy modulált lézersugár, illetve 2 db 45 fokos tükörrel felszerelt, egymással szemben elhelyezett léptetőmotor fogja végezni. Első lépésben választanunk kell egy moduláló frekvenciát (hullámhosszát), amit több tényező is befolyásol: - A képfrissítési idő, amit ha pl. 1 Hz-nek választunk, az azt jelenti hogy 1 képpontra 1/2400-ad s jut, ami nagyjából 0.4 ms, aminek magában kell foglalnia a motorok lépésétől kezdve a sugár kibocsátásán át a digitális érték elraktározásáig mindent. - A minimális, ill. a maximális látási távolság, ugyanis nagyon magas hullámhossz esetén a közeli dolgokra a kis fáziskülönbség miatt érzéketlen, illetve alacsony hullámhossznál nem képes kiküszöbölni, hogy a céltárgy pl. nem ¾ hullámhossznyira, hanem N egész és ¾ hullámhosznyira van. A motorok lépése egy meghatározott sorrendet követ. A sorrend megállapításánál a motorok optimális kihasználtsága a lényeg, ugyanis itt „veszik” el a legtöbb idő, ezért kerülnünk kell a felesleges futási időket. Vevő: Ez a rész nem áll másból, mint egy pár IR veőből, és az elekrtonikából, ami figyeli a visszaérkező jel fázisszögét a kimenő jel függvényében. Vezérlő: Két fő feladata van, esőként a motorok, és a lézer vezérlése, és időzítése, illetve a visszaérkező jel digitalizálása és egy Master-Slave szerkezetű memóriba való áttöltése. A motorok egy előre megadott pályát futnak végig, ami a legoptimálisabb a holt-idő szempontjából. Az elektronika a megfelelő koordinátára mozgatja őket, majd gyújtja a modulált lézersugarat, illetve állítja a modulációt perióduonként, így kiküszöbölhető a többszörös hullámhossz távolság. Majd a visszaérkező jelet digitalizálva a megfelelő memóriahelyre beírja. A master memória (a mikrokontroller memóriája) fogadja folyamatosan az adatokat, amit ezután kiír a slave memóriába. Itt mindig egy teljes kép adatállománya található. Ezt a területet éri el a központi CPU. Zoom: Ez egy opcionális lehetőség, melynek segítségével egy kiemelt terület pontosabban lekérdezhető. Ilyenkor egy kérésre (pl.: az ösztönagytól) egy megadott nagyságú képrészletet zoom-ol ki. Ilyenkor ezt a részt tekinti az egész képnek, és a normál kép/részletkép arányából kiszámmítja hogy a léptető motorok hány fokot forduljanak koordinánként. Így abba a képrészletben fogja lekérni a 60*40 képpontot, így nagyobb felbontás érhető el. A módszer akár visszafelé is alkalmazható, így pl. a látószög szélesíthető a felbontás hátrányára. 5
1. ábra: A tükrök és motorok a lézer diódához viszonyított helyzete
2. ábra: A pontokra osztott lézerkép
3. ábra: A lézerfény terezett haladási útvonala
6
A vevő lézer dióda kapcsolási rajza a következőképpen néz ki:
Mozgás Váz és mozgásrendszer
5. ábra: A macska csontváza Ezt a részt monghatjuk talán a projekt legtávolabbi, és leg ködösebb részének. Ugyanis itt kell majd a már meglévő részegységeket egy egésszé összeállítani, illetve a testet mozgásra bírni. Itt még rengeteg a kérdőjel, amelyek csak a gyakorlati próbáknál tünhetnek el, ha egyáltalán eltünhetnek. Be kell ismernünk, hogy ez a terület a mai technikához képest meglehetősen gyerekcipőben jár még. Csak hogy egy-két példát említsek: Az Egyesült Államok hadserege évente ír ki egy olyan versenyt komoly összegekért, melyben egy olyan katonai célokra alkalmas robotot keresnek megy képes önállóan átkelni a Nevadai sivatagon mindenféle beavatkozás nélkül. Mert hogy ez még igenis nagy gondot jelent. Vagy nézzük meg a NASA robotjait, amik talán mondhatjuk hogy a világ csúcstechnológiáját képviselik. Célja: Egy olyan hardware alap megalkotása, ami lehetővé tesz egy viszonylag gyors és dinamikus mozgást az animatnak, helytől és tereptől függetlenül
7
Főbb szempontok: - Mobilitás: Az animat saját energiaforrással rendelkezzen, ami legalább egy órán keresztül (?) biztosítsa neki a tápellátást - Önállóság: Az animat képes legyen külső beavatkozás nélkül a számára (vagy saját maga által) kijelölt feladatokat végrehajtrani. Vázrendszer: Itt rögtön elhatároztuk hogy saját, általunk tervezett ’testet’ fogunk készíteni. Alapanyagnak az alumíniumot választottuk, könnyű megmunkálhatósága, alacsony súlya, és a célhoz elegendő szilárdsága miatt. Az alacsony súly nagy fontosságal bír a motorokon lévő erőkarok miatt. Előzetes terveink szerint az animat paraméterei: 50 cm hosszú 20 cm magas 15 cm széles A súlyát még nem tudjuk megbecsülni, ez nagyban fog függeni a rendelkezésünkre álló motoroktól, és egyéb alkatrészektől. Felépítésében szeretnénk minél jobban leutánozni egy macska felépítését, ezáltal mozgását is, hogy így minél többet átvehessünk annak dinamikájából. Valamint az egésznek egy egzakt, tetszetős külsőt adni. A vázrendszer megtervezése AutoCAD programmal fog történni, majd CNC eszterga, illetve marógépekkel lesz legyártva. Mechanika: Szervo motorok: Kis méretű impulzus vezérelt motorok, melyek általában 180 fokos kitérést tudnak produkálni. 3 kivezetéssel rendelkeznek, egy +5 voltos táp, egy GND, és egy control vezetékkel. A motor beépített elektronikána 200ms-onként figyeli a beérkező impulzus hosszát, amit egy szög-állásra fejt vissza. Előnyük, hogy saját súlyukhoz és méretükhöz képest nagy erőt tudnak kifejteni, viszont maximum 180 fokot. Ennek a két tulajdonságának függvényében kivállóan alkalmas végtagok mozgatására. Léptetőmotorok: Szintén impulzus vezérelt motorok, ám itt egy impulzus hatásáta egy gyárilag beállítot szöget fordul. Több altípusa is létezik, ennek függvényében a működés elvükben is tapasztalható némi eltérés. Nagyon elterjedt motor fajta, ugyanis nagy erőt képes kifejteni hihetetlenül nagy precizitással. Hátránya, hogy külön meghajtóelektronikát igényel, ugyanis maga a vezérlőimpulzus hajtja. Elsősorban a látás optikájánál, a tükrök pozícionálásánál kap fontos szerepet.
8
DC motorok: Egyszerű, két kidezetéssel rendelkező motorok, melyek egy bizonyos feszültség szint hatására egy megadott fordulatszámon forognak. Mivel viszonylag nehezen vezérelhetőek (PWM), és a projekt szempontjából kiemelkedő előnyük nincs, így használatukat valószínűleg mellőzük. Hidraulika és Pneumatika: Közvetlenül nem elektromos rendszerek, így használatuk előtt az elektromos mennyiséget át kell váltanunk más fizikai mennyiséggé (jelen esetben nyomássá). Előnyük a kis mérethez tartozó óriási erőkifejtés. Mivel számunkra inkább a pontosság és a könnyen kezelhetőség a fontos, ezek használatát is mellőzük.
Agy Az agy több kisebb egységből épül fel. Legfontosabb része maga a központ, amely végzi az egész rendszer vezérlését, összehangolja a robot egységeinek működését, mint pl. a látott kép alapján kiadja az utasítást a mozgásrendszernek, hogy mennyit haladhat és milyen irányban. Ez a rész gondoskodik a kommunikáció zökkenőmentes folyásáról, valamint a hibajelzésről is. Fizikai megvalósítása leginkább egy számítógépre emlékeztet majd. A második egység valósítja meg a macska tanulási képességét mesterséges neurális hálózat segítségével. A harmadik egység teszi lehetőé a döntéshozást szakértő rendszer kiépítésével, ami a tanultak kielemzését jelenti, valamint pl. útvonaltervezést, objektumkikerülést, stb.
9
III. A megoldás irányvonala a számított kronológiai sorrendben 1. Léptetőmotorok és szervomotorok vezérlése, azaz a megfelelő elektronika megtervezése és megalkotása, a vezérlést megvalósító szoftver megírása C nyelven. 2. A 60*40-es mátrix koordinátáiból való három dimenziós kép alkotására egy modellező program megírása. 3. A léptetőmotorok és egyéb egységek kommunikációja számára a soros protokoll megalkotása (adatbusz, címzés, adat). 4. Külső vezérlő rendszer a távoli kommunikáció megvalósítása az AIBO mintájára (WI-FI). 5. Egy teljes láb mozgásának vezérlőprogramjainak megírása.
megtervezése
és
elkészítése,
szimulációjának
és
6. A macska vázának elkészítése, a négy láb összehangolt mozgásának megvalósítása. 7. A lézeres távolságmérés fizikai megvalósítása, a látáshoz írt programmal való összehangolása. 8. A hibajelzés kidolgozása. 9. Önálló döntéshozások objektumkikerülés, stb.).
megvalósítása
(Szakértő
rendszerrel
10. Tanulási képesség megvalósítása (Mesterséges neurális hálózat).
2005-05-05
10
útvonalválasztás,