You are on page 1of 7

M.Milievi, J.Vidakovi, Z.Dimi, S.

Trgovevi1)

SAVREMENI UPRAVLJAKI SISTEMI OTVORENE ARHITEKTURE ZA


UPRAVLJANJE MAINAMA ALATKAMA I ROBOTIMA
Rezime: Sistemi za rad u realnom vremenu imaju veoma vane karakteristike koje su oduvek bile povezane
sa razvojem visoko kvalitetnih aplikacija raziitih svetskih i domaih proizvoaa upravljakih sistema. Real
time Linux i slobodan softver ostvaruju sve vei uspeh na ovom polju kroz niske cene i pouzdana reenja sa
visokim nivoom fleksibilnosti. U ovom radu su opisani open-source softverski alati za sisteme u realnom
vremenu na ijoj osnovi se razvijaju aplikacije za upravljanje mainama alatkama i robotima i ija upotreba
treba da doprinese razvoju domaih sistema za upravljanje.
1. UVOD
Istraivanja u oblasti upravljanja otvorene arhitekture su postala dominantna u istraivakim institucijama
koja se bave razvojem upravljakih sistema. Na slian nain na koji je otvorena arhitektura uticala na
revolucionaran rast PC industrije, otvorenost arhitekture upravljakih jedinica maina alatki i robota treba da
doprinese brem rastu industrije ovih maina kao i modernizaciji upravljakih sistema uz poveanje
produktivnosti i brzine obrade.
Iako otvorena arhitektura nije novi koncept u oblasti softverskog inenjerstva, jo uvek nije ustanovljena
jasna definicija sistema upravljanja otvorene arhitekture. Mnoge istraivake grupe, kao to su OMAC
(Open Modular Architecture Controllers) u SAD-u, OSACA (Open System Architecture for Controls within
Automation System) u EU i JOP (Japanese Open Promotion Group) imaju svoj stav prema pomenutim
sistemima.
Softverski sistemi otvorene arhitekture postaju znaajan deo proizvodnih sistema u kojima korisnici,
integratori sistema i softverski inenjeri koji uestvuju u razvoju istih direktno mogu uticati na konfiguraciju
sistema u trenutku kada tu fleksibilnost zahteva sam proizvodni proces.
Kada je otvorenost arhitekture u pitanju, upravljaki sistemi se mogu svrstati u sledee tri kategorije:
1. Sistemi sa otvorenim korisnikim interfejsom,
2. Sistemi sa ogranienom otvorenou upravljakog jezgra,
3. Sistemi sa potpuno otvorenom arhitekturom.
Softverske metode za implementaciju upravljakih sistema otvorene arhitekture su razliite koliko i
definicije ovih sistema. Trenutno dostupni OAC sistemi na tritu, kao i razvoj OAC sistema, uglavnom su
bazirani na Microsoft Windows tehnologijama ili Microsoft Windows real-time tehnologijama:
1.
2.
3.
4.

MDSI Open CNC;


Fanuc 210i/210is;
Allen Bradley 9/PC;
Siemens E&A 840D/840Di;
itd.

2. STRUKTURE I PRISTUPI RAZVOJU HARDVERA I SOFTVERA UPRAVLJAKIH SISTEMA

1) Marija Milievi, dipl. in. el, LOLA Institut, (mmilicevic@li.rs ), Jelena Vidakovi, dipl. ma. in, LOLA Institut,
(jvidakovic@li.rs ), Zoran Dimi, dipl. in. el, LOLA Institut, (dimic@li.rs ) Sanja Trgovevi, dipl. ma. in, LOLA Institut,
(sanja@li.rs).

U tabeli 1. su prikazane razliite strukture i pristupi razvoju hardvera i softvera upravljakih sistema
maina alatki i robota. U varijanti a) uz analogni interfejs na strani aktuatora, svaki izvrni modul poseduje
svoj procesor, to vodi ka korienju specifinog hardvera za razliite procese. Kombinovanje softverskih
modula vodi ka korienju specifinog hardvera za razliite procese. Kombinovanje softverskih modula vodi
ka znaajnom smanjenju broja procesora. U varijanti b) prikazana je struktura upravljanja koja integrie
inteligentne digitalne pogone visokih performansi, to doprinosi manjoj kompleksnosti sistema. U varijanti
v) prikazan je upravljaki sistem zasnovan na PC monoprocesorskoj upravljakoj arhitekturi i operativnom
sistemu sa real-time ekstenzijom. U ovoj varijanti sve kontrolne funkcije se izvravaju kao softverski procesi
na PC real-time platformi. To, pored ve opisanih prednosti OAC-a, povlai za sobom nisku cenu hardvera
upravljake jedinice i namee pravac u razvoju naeg upravljakog sistema otvorene arhitekture.
) Standardan interfejs
ka analognim
aktuatorima

Procesor 1
(nivo korisnika)

Procesor 2
(nivo upravljanja)

Procesor 3
(nivo upravljanja)
Procesor 4
(nivo upravljanja)
Procesor 5
(Nivo aktuatora)

HMI , NC i PLC
programski sistem

) Upravljanje
koncentrisano na
aktuatorskom nivou,
digitalni interfejs ka
aktuatorima
HMI , NC i PLC
programski sistem

) Upravljanje
koncentrisano na
korisnikom nivou
(softverski
CNC)
HMI , NC i PLC
programski sistem,
planer putanje,
kontroler procesa
kontroler pozicije

Planer putanje,
kontroler pozicije

PLC
kontroler
procesa
Kontroler brzine,
strujni kontroler,
pojaava snage

Planer putanje, kontroler


procesa, kontroler
pozicije + kontroler
brzine, strujni kontroler,
pojaava snage

Kontroler brzine,
strujni kontreler,
pojaava
snage

Tabela 1. Strukture i hardvera i softvera upravljakih sistema maina alatki i robota

Iako rad na razvoju CNC sistema pod Linux-om nije tako zastupljen koliko istraivanja na Windows
platformi, razvoj softverski orjentisanog CNC otvorene arhitekture na Linux/RTLinux osnovi treba da
donese viestruke prednosti u odnosu na eventualne Windows sisteme. Izmeu zajednikih zahteva koji se
danas postavljaju pred softverske sisteme otvorene arhitekture, a koji treba da karakteriu softverski otvoreni
CNC na Linux-u, istiu se:
1.
2.
3.
4.

Robusna, pouzdana arhitektura;


Upravljanje otkazom, ogranienje prostiranja greke na jedan proces;
Dostupnost komunikacionih protokola, alata i drajvera;
Podrka za izabranu procesorsku arhitekturu;
2

5. Razliitost opcija i pripadajuih alata za izabranu distribuciju real-time Linux operativnih sistema;
6. Standardan API (application programming interface) koji omoguava jednostavan transfer razvijenog
softvera na embedded sisteme.
3. EMC2 ZA PROGRAMIRANJE VIEOSNIH MAINA ALATKI U PYTHON VIRTUELNOM
GRAFIKOM OKRUENJU
Deo aktivnosti Nacionalnog instituta za standarde i tehnologiju SAD-a, poznatijeg kao NIST ( National
Institute of Standards and Technology) odnosi se na razvoj mernih metoda i standarda za inteligentne
upravljake sisteme u proizvodnji. Kao rezultat dugogodinjeg istrivanja u ovoj oblasti, NIST je
promovisao RCS (Real-time Control System) softversku biblioteku, koja danas prestavlja standardnu,
referentnu osnovu za razvoj inteligentnih upravljakih sistema. RCS biblioteka je evoluirala tokom godina i
rezultirala razvojem brojnih upravljakih aplikacija ukljuujui i Enhanced Machine Controller poznatiji kao
EMC. EMC nudi real-time upravljaki softver otvorene arhitekture, koji se uz korisnike modifikacije i
nadgradnje moe iskoristiti za upravljanje najrazliitijih maina alatki i robota. Prisustvo ovakvog
softverskog sistema, na svetskoj sceni, svakom ko eli da se upusti u avanturu izgradnje sopstvenog
upravljakog sistema, jasno pokazuje pravac u kome mora delovati. Neprocenjiv rad i iskustvo koji su
godinama ulagani u RCS i EMC, daju nam vie nego dobru tehnoloku osnovu za razvoj sopstvenog sistema.
Nova verzija ovog softvera, EMC2, donela je velike novine. Postojei grafiki interfejsi koji prikazuju
putanju alata unapreeni su mogunou prikaza kretanja kompletne maine u virtuelnom 3D okruenju.
Znaajne novine EMC-u donose HAL (Hardware Abstraction Layer) komponente koje omoguavaju
jednostavnu integraciju funkcija inverzne i direktne kinematike u sistem za upravljanje, kao i uniformni
interfejs za povezivanje sa dodatnim hardverskim komponentama.
Konfigurisanje virtuelnih modela ostvareno je programiranjem u programskom jeziku Python. Postupak
modeliranja virtuelnog modela se ovde svodi na programiranje koordinata, za definisanje elementarnih
geometrijskih tela. Da bi se posao olakao dobro je izmodelirati uproeni model u nekom CAD paketu,
odakle se mogu preuzeti potrebne koordinate za definisanje primitiva. Virtuelni model maine u Python 3D
okruenju koji se integrie sa grafikim interfejsom Axis i upravljakim jezgrom EMC2. U prozoru virtuelne
maine moe se videti kretanje segmenata maine i robota prema programu upravljanja (G-kodu), kao i
putanja alata koja se pri tome ostvaruje.
Virtuelna simulacija se ovde razmatra u cilju testiranja i verifikacije programa pre odlaska na obradni
sistem. Ona omoguava off-line programiranje sa testiranjem i verifikacijom programa na udaljenom
programerskom mestu bez angaovanja samog robota. Rad u ovakvom virtuelnom okruenju je pogodan i sa
aspekta obuke i edukacije programiranja ovakvih obradnih sistema.

Slika 1. Primer virtuelne simulacije obrade pingvina na strugarskom obradnom centru sa funkcijom
glodanja
4. OROCOS - OKRUENJE ZA UPRAVLJANJE ROBOTIMA I MAINAMA ALATKAMA
OROCOS (Open RObot COntrol Software) je evropski projekat koji je poeo sa razvojem 2001. godine
na Katolikom univerzitetu u Leuvenu, u Belgiji, a na kojem je uestvovala i Laboratorija za analizu i
arhitekturu sistema (CNRS/LAAS) iz Francuske i vedska laboratorija KTH (Kungl Tekniska Hgskolan).
Pored ovih institucija na razvoju i dizajnu ovog projekta uestvuju i mnoge druge laboratorije i instituti.
Osnovni cilj ovog projekta je razvoj softvera sa slobodnim kodom (open source) koji prua funkcionalnu
osnovu za kontrolu robota i maina alatki. Ovaj softver je zamiljen kao nezavistan od platforme i aplikacije.
Osnovne osobine ovog projekta su:
1. Izvorni kod je slobodan i dostupan za prouavanje, upotrebu i modifikovanje.
2. Izuzetno je modularan i fleksibilan, tako da i korisnici mogu da izgrade svoj sistem po elji, a i sami
programeri mogu da doprinesu izgledu komponenti, bez ulaenja u dubinu koda celokupnog sistema.
3. Ima veoma visok kvalitet, kako sa tehnike take gledita, tako i to se tie dokumentacije i
softverskog inenjeringa.
4. Nezavistan je i kompatibilan sa komercijalnim proizvoaima robota.
5. Ima mogunost konfigurisanja korisnikog interfejsa na svim jezicima.
6. Ima u sebi ugraene komponente za kinematiku, dinamiku, oitavanje senzora, upravljanje, interfejs
prema hardveru. Komponenta u ovom kontekstu oznaava meusoftver (CORBA, DCOM, RIM), ili
neki softverski objekat koji moe biti dinamiki dodat ili uklonjen iz mree a koji prua svoje usluge
kroz neki neutralni interfejs, nezavistan od programskog jezika (kao to je CORBA Interface
Description Language, IDL).
elja ovog projekta je da omogui razvoj slobodnih biblioteka, koje su nezavisne od platforme,
implementaciju samostalnih primera komponenti koje krajnji korisnik moe prilagoditi i proiriti za svoju
4

aplikaciju i razvoj konfigurabilnog run-time okruenja iz kog se moe simulirati i upravljati razliitim
robotskim sistemima. Rezultat treba da zadovolji potrebe svih robotiara, bilo da su oni studenti koji ele da
unaprede svoje prve, amaterske, robote, bilo da je u pitanju tim inenjera koji se veoma ozbiljno bavi
razvojem robotskih sistema.
Sama baza koda OROCOS-a je podeljena na module ili biblioteke. Postoji okvirno tri glavna tipa modula:
1. Moduli za podrku. To su softverski moduli bez funkcionalnosti robotskog sadraja ali ipak
neophodni za izgradnju sistema za upravljanje robotom. Na primer, 3D vizualizacija i simulacija,
numerike biblioteke, softverski alati za konfiguraciju komponenti, real-time operativni sistem,
meuprocesna komunikacija, alati za pisanje dokumentacije, itd.
2. Robotski moduli. To su softverski moduli koji u sebi imaju implementirane robotske algoritme,
kinematiku i dinamiku (optih i posebnih) kinematikih lanaca, servo kontrolere, estimatore za
Bajesove i Neuralne mree, planere putanje, serijske i paralelne manipulatore, itd. Robotski moduli
koriste jedan ili vie modula za podrku.
3. Komponente. To su CORBA objekti sa svojim IDL opisom. Ove komponente su konstruisane od
modula dva prethodna tipa i one su gradivni blokovi sa kojima krajnji korisnici sastavljaju svoje
okruenje za upravljanje robotom.
Ovaj softver ne namee standarde za programski jezik. Moe se koristiti C za real-time upravljanje, C++
za numerike algoritme, jezik za skriptovanje za grafiki intefejs ili robotske programe, itd. U svakom
sluaju, meusoftver CORBA omoguava rad u okruenju sa vie razliitih programskih jezika.
Otvoreni standardi (u programskim jezicima, formatima podataka, komunikacionim protokolima i pisanju
dokumentacije) su od velike vanosti za zajedniko korienje softvera i za kooperativni razvoj. Jedino
open-source projekti mogu da garantuju optimalnu upotrebu i potovanje otvorenih standarda, dok su
komercijalni proizvoai softvera esto u iskuenju da uvode sopstvene protokole zbog konkurencije na
tritu. Najvaniji standardi koje OROCOS podrava su:
1. CORBA IDL, za ugraivanje objekata. Kroz IIOP (Internet Inter-Orb Protocol), sve razliite
implementacije CORBE su interoperabilne. CORBA takoe ima real-time ekstenziju, koja je veoma
bitna za upravljanje robotima, TAO, open source implementacije.
2. Struktuirani jezik tekstualnih dokumenata, XML, za konfiguraciju i datoteke sa podacima.
3. Modelica, za modelovanje dinamikih sistema. Veina komercijalnih paketa za simulaciju dinamikih
sistema podravaju ovaj format modeliranja.
4. DocBook i LATEX za pisanje dokumentacije. Oba su open source i nezavisni su od platforme. Mogu
biti prevedeni na razliite formate i kao takvi su pogodni za obradu dokumentacije Linux projekata.
DocBook je pogodan za pisanje korisnikih uputstava, dok je LATEX pogodan za pisanje
matematikih formula koje se pojavljuju svuda u robotici.
Gotovo svi moduli za podrku OROCOS softverskog sistema su na raspolaganju i u drugim open source
projektima. Neki od projekata koji se mogu ugraditi u OROCOS su:
1. Octave, veoma bogata numerika biblioteka, koja je kompatibilna sa Matlab paketom. Takoe sadri
ODE i DAE raunarske alate.
2. Real-Time Linux i/ili RTAI, koji je real-time ekstenzija kernela za Linux, ili Linux nezavisni eCos.
3. Xenomai, real-time okruenje za razvoj i debagovanje kooperativan sa Linux jezgrom.
4. Comedi, biblioteka za real-time drajvere za IO ureaje, kao to su AD/DA kartice.
5. Razliiti paketi otvorenog formata za 3D vizualizaciju kao to su VRML, Java 3D, Open GL i
OpenInvertor, ili Coin3D, itd.
Postoje etiri bibliote OROCOS sistema:

1. OROCOS RTT (Real-Time Toolkit), koja sama po sebi ne predstavlja aplikaciju ve obezbeuje
infrastrukturu i funkcionalnosti za razvoj aplikacija za upravljanje u C++. Naglasak je na real-time,
on-line interaktivnim aplikacijama baziranim na komponentama.
2. OCL (OROCOS Component Library) obezbeuje neke gotove komponente za upravljanje, spremne
za upotrebu.
3. KDL (Kinematics and Dinamics Library) je C++ biblioteka koja omoguava raunanje kinematskih
lanaca u realnom vremenu.
4. BFL (Bayesian Filtering Library) obezbeuje aplikaciono nezavisni okvir za realizaciju dinamikih
bajesovih mrea, npr. rekurzivnu obradu i estimaciju algoritama zasnovanih na bajesovom pravilu
(kalmanovi filtri, itd.).

Slika 2. Biblioteke OROCOS-a


OROCOS aplikacije se sastoje od komponenata koje ine aplikaciju specifine mree. Pri korienju
OROCOS-a mogu se izabrati unapred definisane komponente, a mogu se razviti i sopstvene, korienjem
RTT biblioteke. Spojene komponente rade zajedno. Na primer, neka aplikacija za upravljanje kretanjem
sadri komponente za planiranje putanje, kontrolu pozicije, komunikaciju sa hardverom, i izveaje o
podacima. Komponente se biraju tako da im je interfejs meusobno kompatibilan.
Jedna komponenta moe biti u stanju da upravlja celom mainom ili je samo jedan mali deo u celoj mrei
komponenti, na primer interpolator, ili komponenta za kinematiku. Komponente se izgrauju pomou realtime alata ali se opciono moe koristiti neka druga biblioteka. Komponentama se pristupa preko njihovih
XML svojstava ili komandi/metoda, kako bi se konfigurisali eljene aplikacije. Pored definisanja mehanizma
komunikacije komponenata, OROCOS omoguava kreatorima komponenti i aplikacija da piu hijerarhijske
maine stanja koje koriste ove primitive. Ovo je nain na koji se u OROCOS-u definie aplikacija specifine
logike. Maine stanja se mogu uvesti u bilo koju komponentu za vreme izvrenja aplikacije.
OROCOS razvojno okruenje je namenjeno razliitim kategorijama korisnika, odnosno razvojnih i
softverskih inenjera. Jednu grupu ine inenjeri programeri, oni koji rade na razvoju samog radnog
okruenja. Drugu grupu ine oni koji rade na razvoju komponenti koje se kasnije mogu uklopiti u jednu ili
vie aplikacija. Treu grupu ine oni koji rade na razvoju konkretne aplikacije koristei gotove komponente,
sklapajui ih u eljenu celinu. etvrtu grupu ine sami korisnici gotovog sistema, oni ne rade na samom
razvoju, ve koriste gotov proizvod za svoje potrebe. Ove etiri grupe mogu initi razliiti ljudi, a mogu ih
sainjavati i iste osobe, u zavisnosti od strunosti i programerskih znanja koja poseduju.

Slika 3. OROCOS razvojno okruenje


ZAKLJUAK
U radu je prikazan kratak pregled savremenih upravljakih sistema otvorene arhitekture, na ijem se
razvoju radi u svetu i kod nas. Opisane su osnovne karakteristike i prednosti ovakvih sistema, kao i
mogunosti koje oni pruaju pri upraljanju mainama alatkama i robotima. Otvorenost arhitekture sistema
omoguava, pored breg i jednostavnijeg razvoja, smanjenje cena i laku podrku korisnicima, to je veoma
bitno u industriji. Opisan je nain korienja softverskog paketa EMC2, koji se ve dugo godina koristi za
programiranje vieosnih maina alatki, kao i novo razvojno okruenje OROCOS, na ijoj e se osnovi u
narednom periodu razvijati aplikacije za upravljanje.
5. IZJAVA ZAHVALNOSTI
Ovaj rad je nastao u okviru istraivanja na projektu Razvoj upravljake jedinice otvorene arhitekture za
upravljanje mainama alatkama i industrijskim robotima, 14202 koji je podran od strane Ministarstva za
nauku i tehnoloki razvoj Vlade Republike Srbije.
LITERATURA
[1] EMC - Enhanced Machine controller web site http://www.linuxcnc.org
[2] Dimi, Z., ivanovi, S., Kvrgi, V., Konfigurisanje EMC2 za programiranje i simulaciju vieosnih
maina alatki u Python virtuelnom grafikom okruenju, XXXII Savetovanje proizvodnog mainstva sa
meunarodnim ueem, Zbornik radova ISBN 978-86-7892-131-5, str.353-356, Novi Sad, 2008.
[3] OROCOS- Open Robot Contol Software web site - http://www.orocos.org
Abstract: Real-time systems have very important characteristics that have always been related with the
development of high quality applications of different international and domestic control systems
manufacturers. Real Time Linux and Free Software are making success in this area through low cost and
reliable solutions with high levels of flexibility. The paper describes the open-source software tools for RealTime systems wich makes platform for developing control system applications for machine tools an robots
which should contribute to the development of Serbian control systems.

You might also like