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 és
kinetikus 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)