Documente Academic
Documente Profesional
Documente Cultură
Sisteme de Programare Pentru Roboti
Sisteme de Programare Pentru Roboti
Master II - SR
Sumar
Roboii au devenit semnificativ mai puternici i mai inteligeni n ultima decad, i sunt folosii tot
mai mult pentru servicii.Ca i rezultat roboii for fi mai des folosii de oameni cu abiliti tehnice minime
i deci exist nevoia de sisteme flexibile i uor de utilizat. Aceast lucrare trece n revist starea actual
n programarea sistemelor robotizate. Exist o distincie ntre sistemele programate automat i cele
programate manual. Sistemul manual cere c userul/programatorul s creeze programul robotului direct,
de mn, n timp ce sistemele automate genereaz un program pentru robot ca i rezultat al interaciunii
dintre robot i om; exist o varietate de metode ce includ nvarea, programarea prin demonstraie i
sisteme instructive.
1. Introducere
Roboii sunt maini complexe i pentru controlul lor sunt necesare abiliti i importante
cunotine tehnice. Exist roboi simpli, de exemplu robotul aspirator Roomba de la iRobot (2003); n
aceste cazuri roboii sunt proiectai pentru o singur aplicaie, i metoda de control reflecta aceast
simplicitate. Panoul de control al robotului Roomba permite userului s selecteze diferite mrimi ale
camerei i s nceap procesul de aspirare cu o simpl apsare de buton.
Majoritatea roboilor totui nu au interfee simple i nu sunt proiectai pentru o funcie simpl,
singular cum ar fi curatul podelelor. Majoritatea roboilor au interfee complexe, de obicei ce implic
utilizarea unui limbaj de programare tip text cu cteva abstraciuni de nivel nalt. Pentru c userul normal
nu va dori s i programeze robotul la un nivel sczut, va fi necesar un sistem pentru a furniza nivelul
necesar userului pentru a controla robotul.
Roboii devin mai puternici, cu mai muli senzori, mai inteligeni, i cu componente mai ieftine.
Ca i rezultat roboii ies din mediul industrial controlat i ptrund n medii de servicii necontrolate cum ar
fi case, spitale i spaii de munc unde execut sarcini de la servicii de livrare pn la asigurarea
divertismentului. Aceast cretere a folosirii roboilor de ctre oameni fr abiliti tehnice la dus la
nevoia ca roboii s devin mai uor de programat.
1
Cirlan (Macovei) Simina/Racu Cristina
Master II - SR
Lozano-Perez a separat sistemele de programare n trei categorii: sisteme de ghidare, sisteme de
programare pe nivel robot i sisteme de programare pe nivel de sarcin. Pentru sistemele de ghidare
robotul era mutat manual la fiecare poziie dorit i se nregistra poziia cuplei. Pentru sistemele de
programare pe nivel de robot limbajul era furnizat odat cu robotul. i, n sfrit, sistemul de programare
pe nivel de sarcin spefica scopul care trebuia atins (de exemplu, poziia obiectelor).
Prin contrast, aceast lucrare separ cmpul programrii roboilor n programare automat,
programare manual i arhitecturi de software, aa cum este artat n Fig.1. Primele dou fac distincie n
programare, n funcie de metoda actual folosit, care fac diferena crucial pentru utilizator i
programator. n programarea automat userul/programatorul au puin control sau chiar deloc asupra
codului robotului. Aceasta include sisteme de nvare, programare prin demonstraie i sisteme
instructive.
Figura 1. Un sistem de programare poate folosi programare manual sau automatic. Arhitectura
software de asemenea are un rol important.
Figura 2. Categorii de sisteme cu programare manual. Un sistem manual poate utiliza o interfa
textual sau una grafic pentru a intra n program.
3
Cirlan (Macovei) Simina/Racu Cristina
Master II - SR
6
Cirlan (Macovei) Simina/Racu Cristina
Master II - SR
Dei sunt metode de programare manual, sunt cu un mic pas mai aproape de programarea automat,
deoarece ofer un mediu grafic pentru programare. Necesit introducerea datelor de intrare manual pentru
a specifica achiziiile i derularea programului. Sistemele grafice utilizeaz de obicei vizualizarea grafic,
flux-chart, sau diagrama. Un avantaj al sistemelor grafice este uurina n utilizare , care este obinut cu
costul flexibilitii programrii bazate pe text. Sunt de obicei folosite pentru aplicaiile robotului, nu
pentru programarea sistemului.
Poate c cel mai de succes sistem grafic, utiliznd abordarea flow-chart, este angajat de kitul robotic
Lego Mindstorms [Lego,2003], ilustrat n Fig. 5. Este destinat copiilor, i deci este simplu n design.
Blocurile, reprezentnd aciuni low-level, sunt stacate (stivuite) ca piese de puzzle pentru a produce
secvene de aciuni. Aceste secvene pot fi combinate mpreun pentru a forma un nou bloc, care poate fi
plasat apoi ntr-o nou stiv, prin urmare formnd o ierarhie simpl. O secven este: ori ataat la
7
Cirlan (Macovei) Simina/Racu Cristina
Master II - SR
procesul principal al robotului, n caz care definete un comportament standard, ori ataat la un senzor
unde definete aciunea ntreprins cnd acel senzor este activat. Dei este simplu, acest sistem permite
crearea de comportamente complexe.n mediile industriale, sistemele grafice permit configurarea rapid a
robotului pentru executarea unei sarcini. Bischoff i colaboratorii[2002] au produs un ghid prototip pentru
definirea pictogramelor ntr-un sistem flow-chart, bazat pe dezvoltarea n curs a standardului ISO
(15187). Teste utilizabile art c att experii ct i nceptorii au gsit sistemul grafic mai uor de
folosit pentru manevrarea roboilor, pentru schimbarea programelor i pentru supravegherea programului.
Touch-screen-urile devin populare pentru programarea roboilor, i sistemele grafice utiliznd pictograme
sunt ideale pentru aceast interfa.
Un sistem grafic pentru programarea off-line pentru roboi sudori a fost dezvoltat de Dai i Kampker
[2000]. Scopul principal este de a oferi o interfa prietenoas cu utilizatorul pentru integrarea
informaiilor de la senzori n programul robotului, i deci creterea utilizrii senzorilor n programele de
sudur pentru roboi. Aceasta este necesar pentru a depi probleme precum incertitudinea efectelor
termice. O interfa bazat pe pictograme ofer metoda principal de programare, cu macrocomenzi
definite pentru operaiile senzorului ntr-un editor de senzori. Macrocomenzile faciliteaz ncorporarea
noilor senzori. Metod ar putea fi utilizat cu orice program pentru roboi unde informaia de la senzori
este utilizat pentru a atenua inexactitile.
Bredenfeld i Indiveri [2001] au o abordare grafic pentru sistemul lor Dual Dynamics, care are o
abordare bazat pe comportamente pentru a controla grupuri de roboi mobili. Interfaa de programare
grafic folosete un procesor de date hiper-grafic, care este alctuit din elemente de prelucrare a datelor,
conectate mpreun. Aceast abordare permite interaciunea dintre elementele sistemului robotic.
8
Cirlan (Macovei) Simina/Racu Cristina
Master II - SR
poate fi folosit de asemenea pe roboi simulai sau virtuali, de exemplu n sistemele industriale robotice
CAD.
n acest caz robotul real este offline, dar robotul virtual este online. De exemplu, sistemul IGRIP
[2003] ofer capaciti complete de simulare pentru creearea i verificarea programelor robotului.
Fig. 6 arat c exist trei categorii n care se mpart sistemele automate: sisteme de nvare, programarea
prin demonstraie [PbD] i sisteme instructive. Acestea sunt discutate n paragrafele urmtoare.
10
Cirlan (Macovei) Simina/Racu Cristina
Master II - SR
pri ale demonstraiei s fie modificate, micate, i chiar utilizate separat, producnd cod reutilizabil
pentru un sistem PbD.
Sistemele de programare tradiional CAD de asemenea ofer un mediu virtual, de simulare, n
care un user poate manipula robotul pentru a efectua o sarcin, i aceasta este o vorba de PbD. Chiar dac
robotul este offline, simularea este online.
Curentul principal n PbD este creterea inteligenei sistemelor de programare.n loc doar s ruleze
o singur demonstraie, cum se fcea la nceput, sistemele PbD sunt acum capabile s interpreteze o
demonstraie i apoi s foloseasc datele interpretate pentru a produce programe robuste, flexibile
capabile s se descurce n medii complexe i n schimbare. Metodele PbD pot include nvarea, cteva
din descrierile sarcinii pot fi achiziionate prin nvare din demonstraii.
11
Cirlan (Macovei) Simina/Racu Cristina
Master II - SR
Sistemele instructive au potenial mare pentru oferirea unei metode de control de nalt nivel pentru
roboi. Totui, ei nc se bazeaz pe abilitile nvate sau programate. Acestea pot fi implementate doar
folosind alte sisteme de programare cum ar fi programarea manual sau programarea intensiv cu sisteme
PbD.
4.Concluzii
Sistemele de programare a roboilor au devenit mult mai puternice i mai inteligente, depind
limbajele clasice, bazate pe text i programarea nregistrare-i-redare prin demonstraie,devenind
sisteme mai inteligente ce ofer suport considerabil userului/programatorului. Limbajele bazate pe text
devin de nivel mai nalt, reducnd munca necesar pentru a implementa un sistem. Sistemele grafice i
automatice devin mai puternice, permind oamenilor cu puine abiliti tehnice s programeze roboi.
Cel mai puternic curent este adugarea inteligenei n sistemele de programare, pentru a reduce
greutatea de pe umerii programatorului, att pentru programarea manual ct i pentru programarea
automat. Sistemele bazate pe text ofer majoritatea din suportul low-level necesar, i sistemele bazate pe
programare prin demonstraie devin capabile s i construiasc planuri flexibile de sarcini pentru
demonstraii, n loc doar s redea datele nregistrate. Sistemele instructive sunt folositoare pentru oferirea
unui nalt nivel de control.
Dezvoltarea acestor sisteme este necesar de a continua, ncepnd cu soluii pentru dezvoltatorii de
roboi care pot fi reduse pn la soluii de consum. Scopul acestor sisteme ar trebui s fie un mediu care
ofer o interfa simpl,consistent pentru programarea roboilor. Un astfel de sistem va permite
populaiei s programeze roboii cu uurin.
Bibliografie
[ABB, 2003] The ABB group. http://www.abb.com/,Octombrie 2003.
[Billard and Schaal, 2001] A. Billard and S. Schaal.Robust learning of arm trajectories through
human demonstration. In Intelligent Robots and Sys-tems, 2001. Proceedings. 2001 Conferinta
internationala IEEE/RSJ volumul 2, pagini 734-739, Noiembrie 2001.
[Bischo_ si colab., 2002] R. Bischo_, A. Kazi, si M. Seyfarth.The MORPHA style guide for icon-
based programming.In Robot and Human Interactive Commu-nication, 2002. Proceedings. 11th
IEEE International Workshop on, paginilie 482- 487, 2002.
[Bredenfeld si Indiveri, 2001] A. Bredenfeld si G. Indiveri. Robot behavior engineering using
DD-Designer. In Robotics and Automation, 2001. Proceedings 2001 ICRA. IEEE International
Conference on, volumul 1, paginile 205-210, 2001.
[Chen si McCarragher, 1998] J. Chen si B. Mc-Carragher. Robot programming by demonstration
selecting optimal event paths. In Robotics and Au-tomation, 1998. Proceedings. 1998 IEEE
International Conference on, volumul 1, paginile 518-523, Mai1998.
[Chen si McCarragher, 2000] J.R. Chen si B.J. Mc-Carragher. Programming by demonstration
constructing task level plans in hybrid dynamic framework. In Proceedings of the IEEE Intl. Conf.
on Robotics and Automation (ICRA '00), volumul 2, pagini 1402-1407, aprilie 2000.
[Chen si Zelinsky, 2001] J.R. Chen si A. Zelinsky.Programming by demonstration: removing
suboptimal actions in a partially known con_gurationspace. In Proceedings of the IEEE Intl.
Conf. on Robotics and Automation (ICRA '01), volumul 4,paginile 4096-4103, Mai 2001.
[COSIMIR, 2003] COSIMIR. http://www.cosimir.com/, 2003.
12
Cirlan (Macovei) Simina/Racu Cristina
Master II - SR
[Dai si Kampker, 2000] Wenrui Dai si M. Kampker.User oriented integration of sensor
operations in a ofline programming system for welding robots. In Proceedings of the IEEE Intl.
Conf. on Robotics and Automation (ICRA '00), volumul 2, paginile 1563-1567, aprilie 2000.
[Dai si colab., 2002] Xiangtian Dai, G. Hager, si J. Peterson.Specifying behavior in C++. In
Proceedings of the IEEE Intl. Conf. on Robotics and Automation(ICRA '02), volumul 1, paginile
153-160, Mai 2002.
[Ehrenmann si colab., 2002] M. Ehrenmann, R. Zollner,O. Rogalla, si R. Dillmann. Programming
servicetasks in household environments by human demonstration.In Robot si Human Interactive
Communication, 2002. Proceedings. 11th IEEE International Workshop on, paginile 460-467,
2002.
[Freund si Luedemann-Ravit, 2002] E. Freund si B. Luedemann-Ravit. A system to automate the
generation of program variants for industrial robot applications. In Intelligent Robots si System,
2002.IEEE/RSJ International Conference on, volumul 2,paginile 1856-1861, 2002.
[Freund si colab., 2001] E. Freund, B. Ludemann-Ravit,O. Stern, si T. Koch. Creating the
architecture of a translator framework for robot programming languages. In Proceedings of the
IEEE Intl. Conf. on Robotics si Automation (ICRA '01), volumul 1, paginile 187-192, Mai 2001.
[Friedrich si colab., 1998] H. Friedrich, J. Holle, si R. Dillmann. Interactive generation of exible
robot programs. In Robotics si Automation, 1998. Proceedings. 1998 IEEE International
Conference on, volumul 1, paginile 538-543, Mai 1998.
[Grunwald si colab., 2001] G. Grunwald, G. Schreiber, A. Albu-Scha_er, si G. Hirzinger. Touch:
The direct type of human interaction with a redundant service robot. In Robot si Human
Interactive Communication, 2001. Proceedings. 10th IEEE International Workshop on, paginile
347-352, 2001.
[Hardin si colab., 2002] D. Hardin, M. Frerking, P. Wiley, si G. Bolella. Getting down si dirty:
device-level programming using the real-time speci_cation for java. In Object-Oriented Real-
Time Distributed Computing, 2002. (ISORC 2002). Proceedings. Fifth IEEE Inter- national
Symposium on, paginile 457-464, 2002.
[Hopler si Otter, 2001] R. Hopler si M. Otter. A versatile C++ toolbox for model based, real time
control systems of robotic manipulators. In Intelligent Robots si Systems, 2001. Proceedings. 2001
IEEE/RSJ International Conference on, volumul 4, paginile 2208-2214, Nov 2001.
[Hudak si colab., 2003] Paul Hudak, Antony Courtney, Henrik Nilsson, si John Peterson. Arrows,
robots, si functional reactive programming. In Summer School on Advanced Functional
Programming 2002, Oxford University, Lecture Notes in Computer Science. Springer-Verlag,
2003. To Appear.
[IGRIP, 2003] Igrip si ultra products page. http://www.deneb.com/products/igrip.html, Oct 2003.
[iRobot, 2003] Roomba robotic vacuum cleaner. http://www.roombavac.com/, 2003.
[Kanayama si Wu, 2000] Y.J. Kanayama si C.T.Wu. It's time to make mobile robots
programmable. In Proceedings of the IEEE Intl. Conf. on Robotics si Automation (ICRA '00),
volumul 1, paginile 329- 334, apr 2000.
[Kitagishi si colab., 2002] I. Kitagishi, T. Machino,A. Nakayama, S. Iwaki, si M. Okudaira.
Development of motion data description language for robots based on extensible markup
language realization of better understsiing si communication via networks. In Intelligent Robots
si System, 2002. IEEE/RSJ International Conference on, volumul 2, paginile 1145-1151, 2002.
[KUKA, 2003] KUKA automatisering + robots N.V.http://www.kuka.be/, Aug 2003.
[Lauria si colab., 2002] S. Lauria, G. Bugmann, T. Kyriacou, si E. Klein. Mobile robot
programming using natural language. Robotics & Autonomous Systems, 38(3-4):171-181, March
2002.
[Lego, 2003] Lego Mindstorms. http://mindstorms. lego.com/eng/products/ris/rissoft.asp, 2003.
13
Cirlan (Macovei) Simina/Racu Cristina
Master II - SR
[Lo_er si colab., 2001] M.S. Lo_er, D.M. Dawson, E. Zergeroglu, si N.P. Costescu. Object-
oriented techniques in robot manipulator control software development. In American Control
Conference, 2001. Proceedings of the 2001, volumul 6, paginile 4520-4525, June 2001.
[Lozano-P_erez, 1982] Tom_as Lozano-P_erez. Robot programming. Technical Report Memo
698, MIT AI, December 1982, revised April 1983 1982. Also published in Proceedings of the
IEEE, Vol 71, July 1983, pp.821- 841 (Invited), si IEEE Tutorial on Robotics, IEEE Computer
Society, 1986, pp.455-475.
[McGuire si colab., 2002] P. McGuire, J. Fritsch, J.J. Steil, F. Rothling, G.A. Fink, S. Wachsmuth,
G. Sagerer, si H. Ritter. Multi-modal human-machine communication for instructing robot
grasping tasks. In Intelligent Robots si System, 2002. IEEE/RSJ International Conference on,
volumul 2, paginile 1082-1088,2002.
[McKee si colab., 2001] G.T. McKee, J.A. Fryer, si P.S. Schenker. Object-oriented concepts for
modular robotics systems. In Technology of Object-Oriented Languages si Systems, 2001.
TOOLS 39. 39th International Conference si Exhibition on, paginile 229-238, 2001.
[Myers si colab., 2001] D.R. Myers, M.J. Pritchard, si M.D.J. Brown. Automated programming of
an industrial robot through teach-by showing. In Proceedings of the IEEE Intl. Conf. on Robotics
si Automation (ICRA '01), volumul 4, paginile 4078-4083, May 2001.
[Ogawara si colab., 2002] K. Ogawara, J. Takamatsu, H. Kimura, si K. Ikeuchi. Generation of a
task model by integrating multiple observations of human demonstrations. In Proceedings of the
IEEE Intl. Conf. on Robotics si Automation (ICRA '02), volumul 2, paginile 1545-1550, May
2002.
[Onda si colab., 2002] H. Onda, T. Suehiro, si K. Kitagaki. Teaching by demonstration of
assembly motion in vr - non-deterministic search-type motion in the teaching stage. In Intelligent
Robots si System, 2002. IEEE/RSJ International Conference on,volumul 3, paginile 3066-3072,
2002.
[Peterson si colab., 1999] J. Peterson, G.D. Hager, si P. Hudak. A language for declarative robotic
programming. In Proceedings of the IEEE Intl. Conf. on Robotics si Automation (ICRA '99),
volumul 2,paginile 1144-1151, May 1999.
[Peterson si colab., 2001] J. Peterson, G. Hager, si A. Serjentov. Composable robot controllers. In
Com-putational Intelligence in Robotics si Automation, 2001. Proceedings 2001 IEEE
International Symposium on, paginile 149-154, 2001.
[Pyro, 2003] Pyro, Python Robotics. http://emergent.brynmawr.edu/pyro/?page=Pyro,2003.
[Smart si Kaelbling, 2002] W.D. Smart si L. Pack Kaelbling. Effective reinforcement learning for
mobile robots. In Proceedings of the IEEE Intl. Conf. on Robotics si Automation (ICRA '02),
volumul 4, paginile 3404-3410, May 2002.
[Steil si colab., 2001] J.J. Steil, G. Heidemann, J. Jockusch, R. Rae, N. Jungclaus, si H. Ritter.
Guiding attention for grasping tasks by gestural instruction: the gravis-robot architecture. In
Intelligent Robots si Systems, 2001. Proceedings. 2001 IEEE/RSJ Interna- tional Conference on,
volumul 3, paginile 1570-1577, Nov 2001.
[Strobel si colab., 2002] M. Strobel, J. Illmann, B. Kluge, si F. Marrone. Using spatial context
knowledge in gesture recognition for commsiing a domestic service robot. In Robot si Human
Interactive Commu- nication, 2002. Proceedings. 11th IEEE International Workshop on, paginile
468-473, 2002.
[Takamatsu si colab., 2002] J. Takamatsu, K. Ogawara, H. Kimura, si K. Ikeuchi. Correcting
observation errors for assembly task recognition. In Intelligent Robots si System, 2002. IEEE/RSJ
International Conference on, volumul 1, paginile 232-237, 2002.
[Thrun, 2000] S. Thrun. Towards programming tools for robots that integrate probabilistic
computation si learning. In Proceedings of the IEEE Intl. Conf. on Robotics si Automation (ICRA
'00), volumul 1, paginile 306-312, apr 2000.
14
Cirlan (Macovei) Simina/Racu Cristina
Master II - SR
[Vaughan si colab., 2003] Richard T. Vaughan, Brian P. Gerkey, si Sirew Howard. On device
abstractions for portable, reusable robot code. In Proceedings of the 2003 IEEE/RSJ Intl.
Conference on Intelligent Robots si Systems (IROS03), paginile 2421-2427, Las Vegas, Nevada,
October 2003.
[Voyles si Khosla, 1999] R.M. Voyles si P.K.Khosla. Gesture-based programming: a preliminary
demonstration. In Proceedings of the IEEE Intl. Conf. on Robotics si Automation (ICRA '99),
volumul 1.paginile 708-713, May 1999.
[Weng si Zhang, 2002] Juyang Weng si Yilu Zhang.Action chaining by a developmental robot
with a value system. In Development si Learning, 2002. Proceedings. The 2nd International
Conference on, paginile 53-60, 2002.
[Yokokohji si colab., 2002] Y. Yokokohji, Y. Kitaoka, si T. Yoshikawa. Motion capture from
demonstrator's viewpoint si its application to robot teaching. In Proceedings of the IEEE Intl.
Conf. on Robotics si Automation (ICRA '02), volumul 2, paginile 1551-1558, May 2002.
[Zollner si colab., 2002] R. Zollner, O. Rogalla, R. Dillmann, si M. Zollner. Understanding users
intention: programming _ne manipulation tasks by demonstration. In Intelligent Robots si System,
2002. IEEE/RSJ International Conference on, volumul 2,paginile 1114-1119, 2002.
15