Az ipar folyamatosan fejlődik. A gyártósorok egyre újabb, jobb, és gyorsabb gépekkel rendelkeznek. A korábbi eszközöket általában leselejtezik, vagy eladják. Az elavult, vagy elromlott gépek nagyrészt csak elektronikailag nem megfelelőek. Javításukat nem végzik el, mert elavultak, vagy nem kapni hozzájuk alkatrészt. A robotok a mechanikai konstrukció terén a technika fejlődéséből adódóan nem sokat változtak. Az elektronika fejlődése, viszont nagy léptekkel haladt az elmúlt évtizedekben. A leselejtezett robotok mechanikailag általában jó állapotban vannak. Egy robotnál a költségeket nagyrészt a mechanika adja. A motorok, pontosan legyártott fém alkatrészek, csapágyazások, csatlakozók, hajtóművek stb. Az elavult, tönkrement vezérlők cseréjével a robotok mechanikája újra felhasználható. Egy-egy vezérlő kifejlesztése mérnökcsoportok hónapokon keresztül tartó költséges munkájába kerül, ennél fogva nem éri meg a régi gépek új vezérlővel való felszerelése, amennyiben típusonként új rendszer kell kifejleszteni.
Egy univerzális robotvezérlő (9-19. ábra) létrehozása nagyobb munkát és energia befektetést igényel, mint egy-egy gép specifikus rendszer, viszont hosszútávon egy működő koncepció, sokkal jobb megoldást jelent az egyre több újra cserélt robot problémájára. A robotok többsége csak néhány alapvető dologban tér el egymástól. Ezek a geometria, a változók mérése, a motorok mérete, fajtája. Lehetnek zárt láncúak, nyílt láncúak, vagy akár a kettő kombinációja is. Nyílt láncú robotoknál az egyes szabadságfokok egymást követik, pozíciójuk és orientációjuk egymás függvényei. A zárt láncú robotok esetében az egyes csuklók egymástól függetlenek lehetnek, de mind hatással vannak a TCP pozíciójára, orientációjára. A vezérlőt modulárisan kell felépíteni, hogy az minden robothoz könnyen és gyorsan illeszthető legyen. Az interpolátor PC-n fut, így a robot geometriája, paraméterei megadhatók szoftveresen. A rendszer folytonos pályairányításra képes. Kisebb robotokban régebben kefés DC motorokat használtak. Mára mindenhol a PMSM és a BLDC motorok terjedtek el. A sebesség, pozíció és nyomaték referenciákat fogadó többféle teljesítményű végfokokkal a legtöbb robot minden szabadságfoka meghajtható. A végállás kapcsolók, enkóderek, homing szenzorok és egyéb specifikus perifériákhoz kell egyedi elektronikát tervezni. A rendszer AD, DA, és digit IO modulokkal kiegészítve szinte bármilyen géphez illeszthető. Az EMC2 köré terveztük a rendszert, ami egy univerzális robotvezérlő platform, létradiagram szerkesztővel és PLC funkcióval, így a vezérlő a robot mellett egyszerűbb perifériákat, szerszámtárat, futószalagot is kezelhet. A realtime Linux alatt futó EMC2-höz szükség van a PC mellett egyéb hardver kiegészítésre a jelek fizikai megjelenítése miatt. Erre a feladatra a legmegfelelőbb a PCI express bus és ebből következően egy PCI kártya. (2-2. ábra)
A Scara (Selective Compliant Assembly Robot Arm) robot nyílt láncú 4 szabadságfokú RRTR rendszerű. (9-21. ábra) Kefés DC motorokkal és harmonic drive áttétellel szerelt. A motorok visszacsatolása inkrementális szögjeladóval (enkóder) történik. A végállás kapcsolók sorba kötöttek. A homing szenzorok optokapukból állnak. Az enkóderek index jellel is rendelkeznek. Végberendezésként megfogó, eltolt szerszámközéppontú ceruza illetve maró is felszerelhető.
x, y, zTCP Descartes koordinátái
TCP Descartes koordináta rendszer szerinti elfordulása
,az első és második kar hossza
,az első és második kar tömege
a szerszám tömege
az első kar tömegközéppontja és az első szabadságfok közti távolsága
a második kar tömegközéppontja és a második szabadságfok közti távolság
,,,az egyes szabadságfokok pozíciója
a robot Jacobi mátrixa
az első két kar nyomaték mátrixa
Taz első két kar éskinetikus energiája
,az egyes és kettes kar tehetetlensége
A robot első két szabadságfoka a tömegek és tehetetlenségek miatt hatással van egymásra a robot mozgatása során. A rendszer robosztus mozgásszabályozásában az inverz kinematikai egyenletekre támaszkodunk, és nem vesszük figyelembe a tömegek egymásra hatását. Ezt az irányítási módszert decentrálisnak nevezzük. Egyes gépeknél (pl. TTT elrendezésű CNC maró) a szabadságfokok nincsenek hatással egymásra. Ezekben az esetekben a rendszer tökéletesen hangolható és irányítható dinamikai egyenletek nélkül. A Norvégiában használt Scara esetében a kis tömegek és tehetetlenségek miatt a robot szépen mozgott decentrálisan is, de egy nagyobb gépnél elengedhetetlen a centrális szabályozás. A rendszer képes volt centrális szabályozásra, de annak élesztésére és behangolására nem maradt idő. A decentrális szabályozás során sebesség vagy pozíció referenciát adunk. Az EMC2 inverz kinematikai modulját módosítottuk a mi paramétereink és csuklóelrendezésünk szerint. A robotvezérlő folytonos pályairányításra volt képes. (Pont-pont irányítás esetén a robothajtások számára csak a következő pont (pozíció, szöghelyzet) adott, és nincs előírva a robot végberendezésének pályája a start és célpozíció között. Folytonos pályairányítás esetén a pályát tervező irányítórendszer már folytonos interpolációt végez a közbenső pályapontok meghatározása érdekében.) (3-3. ábra)
A TCP Descartes koordinátái a következő egyenletekkel fejezhetők ki (10.1),(10.2),(10.3):
|
(10.1) |
|
(10.2) |
|
(10.3) |
A hatékony számításhoz bevezetjük az ang() függvényt (10.5).
jelenti az a és b közötti szöget az a,b,c háromszögben.
A cosinus szabályt (10.4) alkalmazva, kifejezhető (10.5) szerint.
|
(10.4) |
|
(10.5) |
|
(10.6) |
és kifejezhető háromszögből, mint (10.7),(10.9)
|
(10.7) |
|
(10.8) |
|
(10.9) |
|
(10.10) |
|
(10.11) |
|
(10.12) |
A direkt kinematika kifejezhető a (10.1),(10.2) egyenletekből deriválással.
|
(10.13) |
|
(10.14) |
A kapcsolatot a Descartes sebességek és a csukló sebességek közt a egyenlet adja.
|
(10.15) |
ahol
|
(10.16) |
|
(10.17) |
ahol a Jacobi mátrix
|
(10.18) |
A centrális szabályozás során figyelembe vesszük a robot dinamikai egyenleteit, a tömegeket és tehetetlenségeket. Fontos a szabályozás során az egyes csuklók és tömegek egymásra hatása. Ebben az esetben nyomatékkal kell beavatkozni, ehhez pedig áram szabályozásra van szükség. A nyomaték referenciákat a számított nyomatékok módszere adja.
A robot dinamikájának leírása fontos a szabályozó tervezéséhez. Az egyenletek segítségével kapjuk meg a nyomaték referenciákat, melyekhez hangolni kell a rendszert.
Q3 lineáris , mozgást végez és a független a többi szabadságfoktól, Q4 pedig elhanyagolható a szabályozó tervezésének szempontjából. A dinamika egy síkbeli manipulátorra egyszerűsíthető két csuklóval és a (10.19) egyenlettel írható le.
|
(10.19) |
ahol a nyomaték mátrix, amely a rendszer konfigurációtól függő változó, és nemlieáris Coriolis és centrifugális erőt leíró kifejezés.
Tehetetlenségi mátrix:
|
(10.20) |
|
(10.21) |
ahol T a kinetikus energia.
T az első szabadságfok, a második szabadságfok, és a szállított tömeg kinetikus energiájának összege. T a (10.22) egyenlettel írható le.
|
(10.22) |
ahol:
|
(10.23) |
|
(10.24) |
|
(10.25) |
(10.23),(10.24), és (10.25) egyenleteket behelyettesítve a (10.21) egyenletbe, a következőt kapjuk.
|
(10.26) |
(10.26) egyenletet egyenlet szerint deriválva az M matrix elemei kifejezhetők a következő egyenletekkel.
|
(10.27) |
|
(10.28) |
|
(10.29) |
Nemlineáris összefüggések:
|
(10.30) |
A rendszer hardveresen képes volt a centrális irányításra. A projekt ezen részét sajnos idő hiányában nem tudtuk befejezni.
A vezérlőt egy Lian Li gépházba szereltük. Itt kapott helyet a rendszer összes eleme kivéve a PLC funkció egységeit.
A legfelső szint az Enchanched Maschine Controller 2 ( továbbiakban EMC2), amely egy opensource robotvezérlő program Linuxra fejlesztve. A program nyílt forráskódjából adódóan folyamatosan fejlesztés alatt áll. Az EMC2 (3-5. ábra), (3-6. ábra), (3-7. ábra), (3-8. ábra) rendelkezik gép konfigurációkkal, de mi magunk is megírhatjuk bármely gép kinematikáját és belefordíthatjuk. A konfigurálás során egyszerűen megadhatjuk grafikus felületen, vagy .ini és .hal fájlokban a kimeneteket, bemeneteket, változókat, a gép paramétereit, maximális gyorsulás, sebesség értékeket, a TCP-re és a tengelyekre egyaránt, valamint a tengelyek homingolásának sorrendjét, limitjeit, 0 helyzetét.
A PC-be egy micro ATX alaplapot, egy 2 GHz-es processzort, 4 Gb memóriát tettünk. Az operációs rendszer és a robotvezérlő egy pendriveon fut. Az EMC2-nek nincs nagy gépigénye, viszont a számítások valósidejű futása nagyon fontos, hogy a PC megfelelő pillanatban tudjon referenciát adni, ezért a konfiguráció összeállítása során arra törekedtünk, hogy a gép realtime latency tesztje minél jobb legyen.
A vezérlő moduláris felépítése mellett RT-middleware (Robotics Technology Middleware) kompatibilis. Az RT-middleware egy „közös” robotirányítási platform, aminek segítségével különböző robotok könnyen hálózatba köthetők a közös munka érdekében. Az MTA Sztaki-ban megírták az EMC2 RT-Middleware kiegészítő komponensét.
Az EMC2-höz fejlesztett PCI kártyát mutatja a 9-29. ábra és 9-30. ábra. A kártya a PCI buszon keresztül megkapja az összes referenciát és továbbadja a megfelelő moduloknak. A PCI busz és a kártyán lévő FPGA között a kommunikációt egy PLX (PCI express kompatibilis IC) végzi el. Ez egy 32 bites párhuzamos kommunikáció. Az FPGA (field-programmable gate array, a felhasználás helyén programozható logikai kapumátrix) olyan félvezető eszköz, amelyik "logikai blokk"-oknak nevezett programozható logikai (programmable logic) komponenseket és programozható összeköttetéseket tartalmaz. Az első kártya adhatott analóg referenciát, STEP/DIR rendszerű referenciát (jobbra, balra lépés és lépés irányjelet egyaránt), és SPI kommunikációt. Az analóg és az SPI kommunikációs referenciák lehetnek sebesség, pozíció és nyomaték jelek egyaránt. A kártya egyszerre 6 tengelyt tud kezelni. Az EMC2 két PIC kártyát támogat és 9 tengelyt, így akár egy 9 szabadságfokú gépet is megmozgathatunk interpoláltan. Centrális mozgás szabályozás esetén a pozíció referencia jeleket át kell számolni nyomaték értékekre. Az FPGA forráskódjába (a kapu nagy száma miatt) felépíthetünk akár egy Texas DSP-t is, hogy az elvégezze a számított nyomatékok módszerének egyenleteit. Ennek tesztelésére és hangolására már nem maradt idő. A kártyán van továbbá 8x4=32 szabadon konfigurálható láb IO modulok számára, valamint 24 gép specifikus jeleknek. A 32 IO lábra 4 modul köthető modulonként 8 jellel. Ide kötöttem a bemeneti modult, a kimeneti modult, és a tanítópult jeleit. A 24 gép számára fenntartott pinre kerültek a végállás, homing szenzorok jelei és az E-stop. Minden jelet optoleválasztottunk. A PCI kártyán ötféle táp és kétféle föld található, a 208 lábú FPGA, a 176 lábú PLX IC és az egyéb periféria áramkörök mellett.
A DC szervo teljesítmény elektronikát mutatja a 9-32. ábra és 9-33. ábra. DIN sínre szerelhető dobozba tervezte. A modul 80 voltos busz feszültségig, 300 watt teljesítményig használható kefés DC motorokhoz. A végfokban teljes H hídba (9-31. ábra) kötött FET-ek vannak áraméréssel kiegészítve. Az áramot a sönt ellenálláson eső feszültségből határozzuk meg, így a végfok áramszabályozásra is képet. Az alsó oldalon találhatók a digitális jelek csatlakozói. Ezek az enkóder csatlakozó, a referencia és az USB port. A végfokhoz tartozik egy PC oldali hangoló program, amelyen a beállásokat, referenciát, követési hibát, áramjelet és egyéb információkat láthatunk a PID szabályozó tagjainak súlya mellett. A modul felső oldalán találhatóak a teljesítmény elektronika csatlakozói. Ezek a DC busz, a digitális táp, és a motor kivezetése. A végfokon minden digitális referencia és egyéb jel optoleválasztott.
A rendszerhez terveztünk optoleválasztott bementi és relés kimeneti modult. Ezeket is DIN sínre szerelhető rendszerben raktuk össze. A relé modulon keresztül vezettem az E-stop jelet, így szoftveres probléma esetén az EMC2 is leállíthatja a rendszer teljesítmény elektronikáját. A vezérlő PLC funkciói, az EMC2 létradiagram szerkesztője és a ki-be menetek is kihasználtak. A munkám során kötöttem a modulokhoz egy 3 fázisú futószalagot. Ehhez szereltem három fénysorompót és egy kiegészítő elektronikát, amivel a futószalag enable és irány jeleket kap az EMC2-től, illetve digitális jeleket ad a tárgyak elhaladásáról. A vezérlő moduláris felépítésének köszönhetően így két gép dolgozhat közös irányítás alatt.
A robot tanítópultját egy 800x600 pixel felbontású VGA érintő képernyő köré terveztem. Az LCD kijelző mellett el kellett, hogy férjen a PC üzemi kapcsolója, egy E-stop kapcsoló, egy kétirányú kapcsoló a Z koordináta tengely szerinti joggoláshoz, valamint egy joystick a többi irány számára. A joystick tengelye mozog X-Y irányba, elfordul a saját tengelye körül (negyedik szabadságfok), valamint rendelkezik egy nyomógombbal a végberendezés ki-be kapcsolására. A tanítópultból digitális jelek jönnek. Z irányba, és az elforduláshoz 2-2, a végberendezéshez 1, X-Y irányokhoz, pedig 4-4 a robot lassú és gyors mozgatásához a vízszintes síkon. A komparátorok referencia feszültségét trimmerekkel állítottam be, hogy a tanítópult könnyen hangolható és ergonomikus legyen. Az elő és hátlapok kivágása után egy keretet hajlítottam a tanpult köré, ami végül egy állványon kapott helyet a gép mellett. (ld. 9-34. ábra és 9-35. ábra)
A rendszerben (9-37. ábra) alapvetően két külön táp van. A PC tápja és a teljesítmény táp. A teljesítmény táp nincs feszültség alatt, ha a PC-t nem kapcsoltuk be. A megfelelő feszültségértékeket toroid transzformátorokkal és teljes Graetz hidakkal állítottam elő. A transzformátorok előtt és után volt primer illetve szekunder oldali biztosíték. A teljesítmény tápok közül van 2x80 volt DC a két nagyobb motor, 2x60 volt DC a két kisebb motor számára, és 16 volt az enkóderek, homing szenzorok tápellátása, jelek szétosztása és a DC végfokok digitális tápellátása miatt. Az összes DC táp pufferelt. A nagy pufferek különösen fontosak voltak a motorok tápellátása esetében, hogy az 50 Hz-es frekvencia sehol ne jelenjen meg a szabályozás során zavarként. Az E-stop kapcsolók megszakítják a végfokok teljesítmény tápját, de a digitálist nem. A robotvezérlő (9-36. ábra) és a teljesítmény elektronika összeállításánál fontos volt az egyes blokkok megfelelő távolsága, szigeteltsége az elektromágneses zavarok miatt.
A robot összes jele és perifériája egy 51 eres kábelen érkezett be a vezérlőbe. Ezeket a jeleket ki kellet mérni, biztosítani a megfelelő tápellátásokat, leválasztásokat, szűréseket és szétosztani a megfelelő modulok között. Ide tartozott a négy enkóder A, B csatornája illetve Index jele, a négy homing szenzor és a sorba kötött végállás kapcsolók. (9-38. ábra)
A megfeszített munka végeztével hazautazásunk előtt ismét munkába álhatott a Scara. A centrális mozgás hangolására sajnos nem maradt időnk, de a robot a kis tömegei miatt decentrálisan nagyon szépen mozgott. Martunk, rajzoltunk G-kód alapján, interpoláltunk egyenes mentén, pont körül, beállítottuk a joggolást, mértünk beállásokat. (9-39. ábra), (9-40. ábra)