VILLAMOS AKTUÁTOR MODELLEZÉSE SCILAB KÖRNYEZETBEN MODELLING ELECTRICAL ACTUATORS IN SCILAB ENVIRONMENT MODELAREA ACTUATOARELOR ELECTRICE ÎN MEDIUL SCILAB 1
KOVÁCS Ernő1, FÜVESI Viktor2, SZALONTAI Levente3, SZABÓ Loránd4 Ph.D., egyetemi docens; 2Ph.D. hallgató; 3P.hD. hallgató, 4Ph.D., egyetemi tanár 1,2,3
Elektrotechnikai és Elektronikai Tanszék, Miskolci Egyetem HU-3515 Miskolc-Egyetemváros tel.: +36-(46)-565-111 mellék: 12-16, 12-18, fax : +36-(46)-563-447
[email protected],
[email protected],
[email protected] 4
Kolozsvári Műszaki Egyetem, Villamosmérnöki Kar, Villamosgépek Tanszék RO-400750 Cluj, P.O. Box 358, Románia tel.: +40-264-401-827, fax.: +40-264-593-117
[email protected]
ABSTRACT The paper introduces some preliminary results of an arm-like robot simplified inverse dynamic analysis that is part of a running project. Basic dynamic equations of a 5-axed robot and its joints are discussed. Following it an efficient, open-source software environment’s short introduction is given which can be used for solving dynamic problem modeling.
ABSTRACT În această lucrare, fiind o parte dintr-un contract de cercetare în derulare, se prezintă câteva rezultate preliminare ale analizei dinamice inverse a unui braţ de robot. Sunt prezentate ecuaţiile dinamice de bază ale unui robot cu 5 axe şi ale elementelor auxiliare din sistem. În continuare se prezintă pe scurt un mediu de software cu sursă deschisă eficient, care poate fi utilizat în modelarea sistemelor dinamice.
ÖSSZEFOGLALÓ A cikkben egy robotkarral kapcsolatos modellezési-méretezési feladattal, mint inverz dinamikai problémával kapcsolatos első eredményeinket ismertetjük. A téma egy futó kutatási program része. A vizsgált 5 - tengelyű robot modellezéséhez szükséges alapvető dinamikai egyenleteket ismertetjük. Az egyes csuklók meghajtására, hullámhajtó-műveken keresztül, törpe egyenáramú motort alkalmazunk. A rendszer dinamikai modellezését egy hatékony, nyílt forráskódú szoftver környezetben végeztük, amelynek főbb tulajdonságait ismertetjük. Kulcsszavak: robot, aktuátor, méretezés, Scilab, modellezés.
1. BEVEZETÉS A cikk egy helyhez kötött, elágazás nélküli villamos meghajtású robotkarral kapcsolatos modellezési-méretezési feladatot, mint inverz dinamikai problémát ismertet. Vizsgáljuk azt az esetet, mikor adott a robot geometriája, a megfogója által bejárt pálya, a megfelelő pályaparaméterek, illetve a terhelés. Ebben az esetben a keresett változók a robot egymáshoz csatlakozó tagjai között ébredő, a robot hajtásrendszerét terhelő nyomatékok lesznek. Az így kapott terheléseket az egyes csuklók hajtásláncainak legvégére értendők. A robotszerkezet modelljéből kapott terhelőnyomatékokat még redukálni kell a hajtáslánc elejére, vagyis az aktuátor tengelyére. A robotcsuklókban bordásszíj hajtások, különböző áttételű hullámhajtóművek és legvégül a méretezni kívánt aktuátor foglal helyet. A modellbe ezeket az elemeket is figyelembe kell venni. A modellezés során a villamos hajtás tengelyére meghatározzuk a dinamikus erő- és nyomatékhatásokat. A feladat nagy számításigénye miatt, egy nyílt forráskódú, egyre nagyobb népszerűségnek örvendő, matematikai szoftverrendszer, a Scilab volt segítségünkre.
2. A ROBOT-MODELL A vizsgálandó 5 - tengelyű robot modellezéséhez néhány kezdeti feltételt rögzíteni kell. A robot mozgásainak tisztázásához és a dinamikai leírásához használt modellben a robot tagjai -első közelítésben- merev testeknek tekinthetők. A számítások egyszerűsítése érdekében a robottagok karcsú, merev rudakkal helyettesíthetők, amelyek tömege a tömegpontba redukálható és megegyezik a tag valós súlyával. A robot modelljében a szegmensek közti 1 szabadságfokú csukló kényszerek legyenek hézagmentesnek és simák, vagyis elhanyagoljuk a súrlódást.
2.1. Felhasznált alapegyenletek A kezdeti korlátok figyelembevételével a robot minden tagjára felírhatók a dinamika alapegyenletei illetve a forgómozgás alapegyenletei. [2],[3] Ha ismertnek tekintjük a robot utolsó tagjának terhelését, ami általában egy megfogó vagy beavatkozó szerv, de lehet – mint azt egy másik projekt keretében vizsgáljuk – egy nagyfelbontású kamera is, akkor a robot szerkezetének erőjátéka tisztázható. Az utolsó tagtól visszafelé haladva a robot mechanikán a tagok közti belső erők kiszámíthatók. Az i. tag és annak paraméterei illetve a rá ható erők az 1. ábrán láthatók [1], [2].
1. ábra A robot i. tagjára ható erők és nyomatékok Felhasználva az ábra jelölésit az i. tagra felírható dinamikai alapösszefüggések, az ismeretlenekre való átrendezés után, a következő formában adódnak (1), (2):
F i,i 1 F i 1,i mi ( g ai )
(1)
M i ,i 1 M i 1,i r i 1,i F i 1,i CoG r i 1,i ( g a i ) mi J i i i J i i
(2)
ahol
Fi-1,i: az (i-1). tagról az i. tagra átadódó belső erő; mi: az i. tag tömege; Mi-1,i: az (i-1). tagról az i. tagra átadódó belső nyomaték; CoG ri-1,i: az (i-1). tag origójából az i. tag tömegközéppontjába mutató helyvektor; Ji: az i. tag tehetetlenségi nyomatékának mátrixa; ωi: az i. tag szögsebessége; εi: az i. tag szöggyorsulása.
2.2. Robotcsukló modell A dinamikai modellből számolt terhelőnyomatékok nem közvetlenül a motor tengelyére hatnak, hanem a motor és a terhelő mechanizmus között hullámhajtóműből és bordásszíj-hajtásból álló hajtóműlánc helyezkedik el. Ennek figyelembevételével a hajtáslánc mechanikai modellje felvehető (2. ábra).
Motor
Munkavégző mechanizmus
Hajtómű α,ω
αt,ωt ηh,Jh
M,JM
Mt,Jt
2. ábra A robotcsukló egy lehetséges mechanikai modellje Legyen a motor által leadott mechanikai nyomaték M és a motor tehetetlenségi nyomatéka JM. A modellben a hajtómű különböző veszteségei a hajtómű hatásfokán keresztül kerülnek számításba. A hajtómű hatásfoka adott ηh. A hajtómű bemeneti tengelyének szögelfordulása α és szögsebessége ω, a kimenő tengelyen αt és ωt. A robotkar, mint terhelés hatásaként megjelenő terhelőnyomaték Mt és tehetetlenségi nyomaték Jt. A 2. ábra energia terjedési irányát kihasználva a motort terhelő nyomaték a következő formulával számítható: Mm
M t t 1 dWk h dt
(3)
Az itt megjelenő Wk, a rendszerben tárolt kinetikus energia (4): J 2 J h 2 J t t2 Wk M 2 2 2
(4)
Ekkor Jh a hajtóművek tehetetlenségi nyomatékainak összege a motor tengelyére redukálva. A (3) és (4) összefüggések használatával számítható a motorok valós terhelése. [7], [8].
2.3. Motor modell A robotkarok meghajtására leggyakrabban külsőgerjesztésű törpe egyenáramú motort használnak. Helyettesítő áramköre az 3. ábrán látható. A motor modelljét leíró egyenletek a következők: Ri L
di ui u dt
(5)
az armatúra hurokegyenlet. A gépet az u egyenfeszültségről tápláljuk. Armatúra körében i armatúra áram folyik az Ra és az La armatúra köri ellenálláson, illetve induktivitáson keresztül.
Az armatúrában ui feszültség indukálódik, amelyet a következő összefüggésből kapjuk (állandó gerjesztési fluxust feltételezve):
ui ci cu
(6)
ahol ci és cu az armatúra tekercselés paramétereitől függő állandó, Φ az armatúrán póluspáronként áthaladó hasznos fluxus, ω pedig a szögsebesség. L
ui -
Rf
-
+
+
Lf
R
U
-
+
Uf
3. ábra A külsőgerjesztésű egyenáramú motort helyettesítő áramköre A motor villamos nyomatéka:
M c2i cmi
(7)
A (6) és (7) egyenletekből kiküszöbölve a fluxust az alábbi összefüggést írhatjuk fel:
c ui i u M cM cm
(8)
ahol uii az armatúrában mechanikai teljesítménnyé átalakuló villamos teljesítmény. A (3), (4) összefüggések szerinti paraméterek a grafikus matematikai szoftver (3.2. bekezdés) alapján meghatározhatók, amelyből a (6)÷(8) egyenletek segítségével a csuklóhajtások meghatározhatók.
3. LEHETSÉGES ESZKÖZÖK Az előző alfejezetben tárgyalt egyenletek megoldásához javasolt egy matematikai programrendszer használata. Számos olyan szoftvercsomag áll a felhasználó rendelkezésére, amely rendelkezik olyan eszközkészlettel, melyek képessé teszik őket mérnöki és tudományos problémák megoldására. Az egyik ilyen a kereskedelmi forgalomban kapható rendszer a Matlab, amely vezető szerepet tölt be a piacon. A program egyaránt képes szimbolikus és numerikus számítások elvégzésére is. Nagy felhasználói táborral rendelkezik, illetve nagyon jól dokumentált. Más kereskedelmi forgalomba kapható termékek még a Maple és a MuPad szoftvercsomagok. Ezek erőssége a szimbolikus számítások terén mutatkozik meg.
3.1. Scilab Scilab [6] egy nyílt forráskódú („open-source”) programkörnyezet, amely alkalmas eszköz matematikai számítások elvégzésére. A program általános célú felhasználás mellett képes megbirkózni a mérnöki számítási problémákkal és a kutatók is sikeresen használhatják. A Scilab csakúgy, mint a Matlab rendelkezik script nyelvezettel.
Az alkalmazott környezet kezdetben a 4.x verziószámú, azonban az időközben kibocsátott 5.x verzió jelentősen átdolgozott, egységes JAVA felületű szoftver jobb grafikai lehetőségeket biztosított a vizuális megjelenítésre a kompatibilitás fenntartása mellett. Már az alap függvénykönyvtár is több ezer függvényt tartalmaz a matematika különféle területeiről, mint például lineáris algebra, numerikus deriválás, szimbolikus számítások. Van lehetőség grafikus felület létrehozására is. Számos „toolbox” is letölthető a Scilab honlapjáról [6], a legkülönbözőbb témákban, mint neurális hálózatok, grafikai alapelemek vagy robotika. A program nagy előnye éppen abban van a kereskedelmi megoldásokkal szemben, hogy folyamatosan fejlesztik a felhasználók a saját problémáik alapján.
3.2. A modellhez készített kezelőfelület A készített program Scilab környezetben íródott. A szükséges kinematikai és transzformációs számítások a robot HD-paraméteres leírása alapján, a [2] és [3] irodalmak felhasználásával kerültek megvalósításra. A robot egyszerűsített modelljéhez szükséges grafikai alapelemeket az ENRICO [11] grafikus Scilab kiegészítő függvénykönyvtár adta. A felhasználói felület (GUI) segítségével különféle pozíciókba hozható a virtuális robot. Az egyes pozíciókhoz tartozó nyomatékokat a program kiszámolja a 2.1.-es pontban leírt módszer szerint. Így ismert lesz a munkavégző mechanizmus nyomatékigénye. Ezt a nyomatékot módosítva a hajtáslánc áttételinek, hatásfokainak, tehetetlenségi nyomatékainak figyelembe vételével, redukció után megkapjuk az adott csukló meghajtásához szükséges – a motor tengelyére redukált mechanikai nyomatékot. A modellezésnél a robotkar szabad végén egy 2 kg tömegű terhelést tételeztünk fel, amit a robot gyorsít. A grafikus felületen megjelennek a konfigurációhoz tartozó robotmechanikából adódó terhelőnyomatékok és a motor szükséges villamos nyomatékai. A felület legalján lehetőség van megjelenítési beállítások módosítására.
4. ábra A készített program egy screenshotja
ÖSSZEFOGLALÓ A felhasznált matematikai programcsomag és a használt egyenletek segítségével elkészíthető egy robot első közelítésű dinamikai és kinematikai modellje. A modell alkalmas lehet arra, hogy a megfelelő hajtásrendszert illetve aktuátorokat méretezhetőek, majd a számítások alapján kiválaszthatóak. A modell finomításával lehetőség nyílik a rendszer más tulajdonságainak megismerésére, mint például rezgésvizsgálat.
KÖSZÖNETNYILVÁNÍTÁS A szerzők köszönetet mondanak a román-magyar tudományos és technológiai együttműködés (TéT) Ro-9/2007 programjának (Ipari automatizálási rendszerekben alkalmazott forgó és lineáris elektromechanikus aktuátorok fejlett irányítási, állapot-felügyeleti és diagnosztikai módszereinek kutatása), amely részben támogatta a tudományos kutatások első fázisát.
FELHASZNÁLT IRODALOM [1] [2]
Kulcsár, B.: Robottechnika, LSI Oktatóközpont, Budapest, 1999. Király, B.: Ipari robotok kinematikai és dinamikai vizsgálata, Oktatási segédlet a „Robotok mechanikája” c. tantárgyhoz, Miskolc, 1995. [3] Stadler, W.: Analytical robotics and mechatronics, McGraw-Hill International Editions, 1995. [4] Banerjee, S.: Dynamics for engineers, John Wiley & Sons Ltd., 2005. [5] Campbell, S.L., Chancelier, J.P., Nikoukhah, R.: Modeling and Simulation in Scilab/Scicos, Springer, 2006. [6] Scilab honlap: http://www.scilab.org [7] Schmidt, I., Vincze Gy.-né, Veszprémi, K.: Villamos szervo-és robothajtások. Műegyetemi Kiadó, 2000. [8] Szabó, A.: Hajtástechnika, Tansegédlet, Budapest 2005. [9] Rajki, I., Törpe és automatikai villamos gépek, Műszaki Könyvkiadó, Budapest, 1990. [10] Pálfi,Z.: Villamos hajtások, Műszaki Könyvkiadó, Budapest, 1979. [11] Weizmann Institute of Science: http://www.weizmann.ac.il/home/fesegre/scistuff.html