25
Универзитет у Крагујевцу Технички факултет – Чачак СЕМИНАРСКИ РАД Тема: Mоделирање и симулација робота SIR-1 Смер: Мастер професор технике и информатике Предмет: Механичка моделирања и симулација рачунаром Студент: Ментори: Ристић Драган 137/2010 Проф. др Драган Голубовић мр Иван Милићевић Чачак, 2011.

Modeliranje i Simulacija Robota SIR-1

Embed Size (px)

Citation preview

Page 1: Modeliranje i Simulacija Robota SIR-1

Универзитет у Крагујевцу

Технички факултет – Чачак

СЕМИНАРСКИ РАД

Тема: Mоделирање и симулација

робота SIR-1

Смер: Мастер професор технике и информатике

Предмет: Механичка моделирања и симулација рачунаром

Студент: Ментори:

Ристић Драган 137/2010 Проф. др Драган Голубовић

мр Иван Милићевић

Чачак, 2011.

Page 2: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

Драган Ристић1

Резиме: Током последње две деценије нагли развој рачунарске технологије и

софтвера довео је до могућности моделирања и симулације на кућним

рачунарима сложених механизама, као што су роботи. Ова чињеница

креирала је нов приступ роботици, нарочито развојем пакета MATLAB и

пратећег софтвера. У раду је на интуитиван начин приказан процес

моделирања и симулације рада робота SIR-1. Ово јединствено упутство

може се користити за обуку ученика и приближавање принципа рада

робота уз минимум теоријских предзнања.

Кључне речи: моделирање, симулација, робот, SIR-1, MATLAB.

The SIR-1 Robot Modelling and Simulation

Summary: Over the past two decades advanced development of computer technology and

software made modelling and simulation of complex mechanisms, such as robots,

possible even on personal computers. This software tools made possible a new

approach to the robotics, especially by developing MATLAB and it's applications.

This paper intuitively shows modelling and simulation process of the SIR-1 robot,

and can be used for student education in robotics principles with minimal

knowledge of theory behind it.

Key words: modelling, simulation, robot, SIR-1, MATLAB.

1 Драган Ристић, дипломирани индустријски менаџер, мастер професор технике и информатике - студент

е-mail: [email protected]

Page 3: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

САДРЖАЈ

Увод................................................................................................................................. 4

1. Робот SIR-1 ................................................................................................................... 5

1.1. Tехничке шеме робота SIR-1......................................................................................... 5

1.2. Denavit-Hartenberg конвенција и нотација ................................................................. 7

1.3. Радни параметри и моделовање конструкције робота у МАTLAB-у ........................ 8

1.3.1. Инсталација и припрема радног окружења програма MATLAB ........................ 9

1.3.2. Креирање модела конструкције робота SIR-1 у програму МATLAB................. 10

2. Модел у Simulink-у за израчунавање и симулацију кинематике робота SIR-1......... 14

2.1. Директна и инверзна кинематика у Robotics Toolbox-у ........................................... 14

2.2. Moдел у Simulink-у за израчунавање кинематике кретања робота између две

задате тачке ........................................................................................................................ 16

2.3. Резултати симулације.................................................................................................. 20

Закључак ....................................................................................................................... 24

Литература .................................................................................................................... 25

Page 4: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 4 -

Увод

Робот чини систем серијски повезаних сегмената међусобно повезаних

зглобовима. Зглобови могу бити транслациони и ротациони:

• Транслациони зглобови дозвољавају само праволинијско кретање дуж осе;

• Ротациони зглобови дозвољавају само ротацију око осе.

Сегменти роботске руке дефинишу се као крута тела која се налазе између два

суседна зглоба. Систем сегмената чини кинематски ланац. Почетак ланца у дирекној је

вези са основом, док је крај слободан и на њему се налази манипулатор, којим се

извршавају технолошке операције. Сваки зглоб има један степен слободе кретања,

било да је транслациони или ротациони.

Савремени процеси моделирања, симулација и пројектовања робота обављају

се уз помоћ рачунарског софтвера. Овим начином реализације је омогућено тестирање

примене решења без физичке зависности од машине, чиме се долази до велике

уштеде у цени коштања развоја и утрошеном времену. Захваљујући алатима као што је

MATLAB умногоме је поједностављен рад са релативно компликованим математичким

моделом динамике робота.

Симулацијом која се помоћу њега

може обавити врши се анализа

понашања динамичког модела,

при којој се мора узети у обзир

одређено (мало) одступање од

реалне машине услед одређених

апроксимација. Иако је MATLAB првенствено био намењен нумеричком рачунању,

увођењем toolbox-ова и нарочито Simulink-a, омогућенa је графичка симулација и

моделирање динамичких система. Тиме се и лаицима пружила шанса да на елегантан

начин искористе одређене потенцијале овог пакета уз инжењерску тачност.

У реализацији овог рада коришћен је MATLAB 2010b и његов скуп алата (toolbox)

Simulink, уз додатак Robotics Toolbox-а. Овај toolbox обезбеђује симулацију кинематике

и динамике, као и генерисање путање робота. У њему је укључен блок библиотека за

Simulink. Помоћу њега ће се управљати моделом робота.

У првом поглављу рада биће представљен робот SIR-1. Биће изведен

кинематички модел робота по Denavit-Hartenberg (D-H) конвенцији и нотацији за

представљање конструкције робота у MATLAB-у, односно врсте и положаја сегмената и

зглобова.

У другом поглављу биће креиран модел у Simulink-у за израчунавање и

симулацију кинематике робота за прелаз из једне у другу задату позицију. Затим ће

бити приказани резултати (кретања робота).

Page 5: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 5 -

1. Робот SIR-1 SIR-1 [1] је интелигентни, више-

наменски робот за едукативне сврхе

са 5 степени слободе, производ

тајванске компаније Scien-Tech Intraco

Automation Ltd. Приказан је на слици

1. Основну конфигурацију система

чине роботска рука, управљачка

јединица на бази микропроцесора и

наставни ручни панел. Поред 5

мотора у зглобовима, роботска рука

има и шести мотор - за стезаљку, која

представља манипулатор робота (end

effectors) који обавља технолошке

операције. На роботу постоје 5

механичких и 1 оптички сензор

граничник. Управљачка јединица са

панелом (слика 2) се везује и на

рачунар преко серијског интерфејса

(COM, тј. RS-232).

Роботски систем SIR-1 може

радити у два режима: наставни (teach)

и host режим. У наставном режиму,

помоћу ручног управљачког панела

корисник може без програмерског

Слика 1: Робот SIR-1

знања управљати и снимати кретање робота.

У host режиму, корисник може програмирати роботску руку (у асемблеру) и

применити то у неком развојном окружењу за креирање апликација (Integrated

Devolopment Environment - IDE) на host рачунару.

Слика 2: Управљачка јединица робота SIR-1

1.1. Tехничке шеме робота SIR-1

За одређивање радних параметара и моделовање конструкције робота користе

ка роботу ка COM порту PC-a

Page 6: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 6 -

се техничке шеме робота [2]. Изометријска шема приказана је на слици 3, а радни

захват и бочна пројекција робота приказани су на слици 4.

М1 – мотор основе; М2 – мотор рамена; М3 – мотор лакта (скривен); М4 – мотор угла

ваљања; М5 – мотор угла нагињања; М6 – мотор за отварање и затварање стезаљке

Слика 3: Изометријска шема робота SIR-1 (према [1] и [2])

Слика 4: Радни захват и бочна пројекција са димензијама робота SIR-1 [2]

Page 7: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 7 -

1.2. Denavit-Hartenberg конвенција и нотација

Denavit-Hartenberg нотација и конвенција представљају општи поступак

означавања конструкције робота, без обзира на врсту зглобова (ротациони или

транслаторни). Ово означавање обавља се у матрици која за колоне има кинематичке и

динамичке радне параметре конструкције робота у тачно дефинисаном редоследу, при

чему се ови параметри дефинишу за сваки зглоб (или сегмент - линк) робота у

посебном реду матрице. У Denavit-Hartenberg матрици дефинишу се параметри робота

у редоследу приказаном у табели 1.

Табела 1: Кинематички и динамички параметри конструкције робота

колона симбол опис

1 α (alpha) угао закретања линка (зглоба) у односу на претходни

2 A дужина линка

3 θ (theta) угао ротације линка

4 D растојање помака линка

5 σ (sigma) тип зглоба; 0 за ротациони, не-нула за транслаторни

6 m маса линка

7 rx x-коорд. тежишта линка у односу на координатни систем сегм.

8 ry y-коорд. тежишта линка у односу на координатни систем сегм.

9 rz z-коорд. тежишта линка у односу на координатни систем сегм.

10 Ixx елементи тензора инерције сегмента око сопственог тежишта

11 Iyy елементи тензора инерције сегмента око сопственог тежишта

12 Izz елементи тензора инерције сегмента око сопственог тежишта

13 Ixy елементи тензора инерције сегмента око сопственог тежишта

14 Iyz елементи тензора инерције сегмента око сопственог тежишта

15 Ixz елементи тензора инерције сегмента око сопственог тежишта

16 Jm инерција арматуре (мотора)

17 G преносни однос редуктора; однос брзина зглоба и сегмента

18 B вискозно трење, референца мотора

19 τc+ (Tc+) Кулоново трење (позитивна ротација), референца мотора

20 τc- (Tc-) Кулоново трење (негативна ротација), референца мотора

1) Поступак Denavit-Hartenberg-а за одређивање модела конструкције робота

почиње систематским додељивањем координатних система сваком зглобу робота.

2) Онда је могуће помоћу параметара из табеле 1 успоставити везу положаја

датог зглоба са следећим зглобом, све до описа на овакав начин робота у целини.

Поред објашњења параметара у табели 1, значење појединих кинематичких

параметара илустровано је и на слици 5. Координатни почеци зглобова n+1 и n+2

oзначени су пунијом црном тачком на слици 5.

3) По дефиницији, координатна оса Zn пролази кроз зглоб n+1. Следеће четири

Page 8: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 8 -

трансформације у одређеном редоследу довешће до поклапања координатних

система ових зглобова:

а) Ротација за θn+1 око осе Zn да би се добило да је оса Xn паралелна са

осом Xn+1;

б) Транслација dn+1 дуж осе Zn да би се x-oсе учиниле колинеарним;

в) Транслација an+1 дуж x-осe док се не поклопе z-осe;

г) Ротација αn+1 око осе Xn док се не добије да је оса Zn паралелна са Zn+1.

Слика 5: Илустрација параметара θ, d,a и α у креирању модела конструкције робота

по Denavit-Hartenberg нотацији

У скупу алата за роботику (Robotics Toolbox) програма MATLAB користи се

модификована Denavit-Hartenberg нотација. Суштина модификације огледа се у томе

да су из матрице издвојени динамички параметри робота (колоне 6–20) и придружене

својствима програмског објекта robot (у програмском језику MATLAB-a). Тако у

матрици остају само кинематички параметри конструкције робота.

1.3. Радни параметри и моделовање конструкције робота у МАTLAB-у

MATLAB представља веома моћно софтверско окружење за употребу сложених

математичких алата (расположиво за коришћење у више оперативних система). При

томе је посебан нагласак на коришћењу матрица. Отуда и назив програма (MATrix

LABoratory - лабораторија за матрице). Олакшана и прилагођена примена ових алата

за поједине научне и техничке области припремљена је у посебним скуповима

програмских математичких алата – toolbox-овима. Притом је већина ових алата

припремљена са подршком за графичко окружење за симулацију реалних система у

Simulink Toolbox-у, односно визуелизацију нумеричког решавања математичких

једначина и резултата. Тако и скуп алата за роботику Robotics Toolbox има библиотеку

симулационих блокова који се односе на поједине процедуре за решавање кинематике

и динамике робота.

Page 9: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 9 -

1.3.1. Инсталација и припрема радног окружења програма MATLAB

После успешне инсталације програма MATLAB, треба накнадно додати Robotics

Toolbox, који је бесплатно доступан на следећој веб адреси:

http://petercorke.com/Robotics_Toolbox.html .

Преузети пакет са ове веб адресе прво треба распаковати, чиме се добија фолдер

robot. У фолдеру robot налазе се .m датотеке са изворним кодом пакета на

програмском језику МATLAB-a, као и .mdl датотеке за памћење модела из Simulink-a.

У фолдер toolbox у оквиру инсталације MATLAB-a, у коме се налазе расположиви

скупови алата МАТLAB-a онда треба копирати фолдер robot. Фолдер toolbox најчешће

се налази на путањи C:\Program Files\MATLAB\R2010b\toolbox .

Да би био укључен скуп алата за роботику у рад програма MATLAB, путања

фолдера robot у коме је Robotic Toolbox мора бити укључена у списак путања до

активних (употребљивих) скупова алата. Због тога се, после покретања програма

MATLAB, активира команда File - Set Path... и додају директоријуми robot и robot/demos

помоћу дугмета Add Folder... (слика 6).

Слика 6: Активирање Robotics Toolbox-a у програмском окружењу MATLAB-a

Слика 7: Подешавање активног фолдера у програму МАТLAB

По додавању путања директоријума треба поново покренути програм MATLAB.

Затим у оквиру Current Folder линије (слика 7) треба унети следећу путању:

C:\Program Files\MATLAB\R2010b\toolbox\robot\demos

у којој ће уз демонстрационе примере бити постављени и сви садржаји модела и

симулација за робот SIR-1.

Page 10: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 10 -

1.3.2. Креирање модела конструкције робота SIR-1 у програму МATLAB

Креирање модела конструкције робота SIR-1 подразумева уношење његових

параметара према модификованој Denavit-Hartenberg нотацији у .m датотеку

програмског скрипта MATLAB-a. Путања датотеке је следећа:

C:\Program Files\MATLAB\R2010b\toolbox\robot\SIR1.m

Будући да датотека није постојала, започиње се креирањем ове датотеке у

фолдеру са активираном путањом, у оквиру радног окружења (workspace) програма

MATLAB (слика 8). За креирање .m датотеке се користи команда менија File - New>

Script

Слика 8: Креирање .m датотеке програмског скрипта у радном окружењу програма

MATLAB за памћење модела робота SIR-1

После покретања команде File - New> Script отвара се програмски едитор и

приступа се уносу команди програмског језика MATLAB-a, што ће представљати модел

конструкције робота SIR-1.

Датотека SIM1.m чува се у прозору едитора програмског скрипта командом File -

Save As... У оквиру ове команде обавља се и избор следећег фолдера:

C:\Program Files\MATLAB\R2010b\toolbox\robot,

који је у претходном кораку додат у активне путање МАТLAB-a и у који су већ

постављени остали модели (датотеке) конкретних робота (Puma 560, најкоришћенији у

симулацијама, а такође и роботи Fanuc ARC Mate 120iB10L, Motoman HP6, ABB S4 2.8 и

др.).

Програмски едитор у коме је запамћена датотека SIR1.m приказан је на слици 9.

Креирање кинематичких параметара модела робота по модификованој Denavit-

Hartenberg нотацији обавља се на основу техничког цртежа бочне пројекције робота са

Page 11: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 11 -

искотираним мерама у милиметрима (слика 4) и описане процедуре из одељка 1.2.

Креирање динамичких параметара изведено је на основу података у [3]. Решење

кинематичког модела види се и у датотеци SIR1.m, приказаноj на слици 9 у

програмском едитору МАTLAB-a. Кинематички параметри који димензионо

представљају дужине се у матрици модела конструкције робота изражавају у метрима.

Сви зглобови робота SIR-1 су ротациони, па су према Denavit-Hartenberg

нотацији нуле у целој 5. (sigma) колони.

Слика 9: Модел конструкције робота SIR-1 у програмском едитору МАТLAB-a

У наставку следи потпун садржај датотеке SIR1.m модела конструкције робота

SIR-1.

%kinematicki i dinamicki model robota SIR1 %Dragan Ristic, januar 2011 clear L; %kinematika robota % alpha A theta D sigma L{1} = link([pi/2 0 1.65*pi 0.205 0], 'standard' ); L{2} = link([ 0 0.204 -pi*0.75 0 0], 'standard' ); L{3} = link([ 0 0.250 -pi/2 0 0], 'standard' );

Page 12: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 12 -

L{4} = link([pi/2 0 pi 0 0], 'standard' ); L{5} = link([ 0 0 2*pi 0.036 0], 'standard' ); %dinamika robota %mase segmenata L{1}.m = 0; L{2}.m = 17.4; L{3}.m = 4.8; L{4}.m = 0.82; L{5}.m = 0.09; %tezista (centri mase) segmenata % rx ry rz L{1}.r = [ 0 0 0 ]; L{2}.r = [ -.3638 .006 .2275]; L{3}.r = [ -.0203 -.0141 .070]; L{4}.r = [ 0 .019 0]; L{5}.r = [ 0 0 .032]; %inercije segmenata % Ixx Iyy Izz Ixy Iyz I xz L{1}.I = [ 0 0.35 0 0 0 0 ]; L{2}.I = [ .13 .524 .539 0 0 0 ]; L{3}.I = [ .066 .086 .0125 0 0 0 ]; L{4}.I = [ 1.8e-3 1.3e-3 1.8e-3 0 0 0 ]; L{5}.I = [ .15e-3 .15e-3 .04e-3 0 0 0 ]; %inercije armature motora L{1}.Jm = 200e-6; L{2}.Jm = 200e-6; L{3}.Jm = 200e-6; L{4}.Jm = 33e-6; L{5}.Jm = 33e-6; %uticaj gravitacije L{1}.G = -62.6111; L{2}.G = 107.815; L{3}.G = -53.7063; L{4}.G = 76.0364; L{5}.G = 76.686; % viskozno trenje (referenca motora) L{1}.B = 1.48e-3; L{2}.B = .817e-3; L{3}.B = 1.38e-3; L{4}.B = 71.2e-6; L{5}.B = 36.7e-6; % Kulonovo trenje (referenca motora) % Tc+ Tc- L{1}.Tc = [ .395 -.435]; L{2}.Tc = [ .126 -.071]; L{3}.Tc = [ .132 -.105]; L{4}.Tc = [ 11.2e-3 -16.9e-3]; L{5}.Tc = [ 9.26e-3 -14.5e-3]; % % neki korisni polozaji robota % qz = [0 0 0 0 0]; % nulti uglovi, polozaj u obliku slova L

Page 13: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 13 -

qr = [ 0 0 pi/2 0 0]; % polozaj spreman za rad, ruka gore q1 = [-pi/2 pi/4 pi/2 -pi/4 -pi/4]; % polozaj za primer u Simulinku % konstruisanje programskog objekta robota sir1 = robot(L, 'SIR 1' , 'Scien-Trech Intraco Automation' , 'params of 01/11' ); clear L sir1.name = 'SIR 1' ; sir1.manuf = 'Scien-Trech Intraco Automation' ;

Page 14: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 14 -

2. Модел у Simulink-у за израчунавање и симулацију

кинематике робота SIR-1

Кинематика роботске руке проучава геометријске и временске промене њених

параметара приликом кретања појединих сегмената, не разматрајући притом узроке

кретања (силе, моменте, гравитацију).

2.1. Директна и инверзна кинематика у Robotics Toolbox-у

Директном кинематиком одређујемо трансформационе матрице које везују

координатне системе сегмената и апсолутни координатни систем. Њоме се решава

положај и оријентација манипулатора у апсолутнoм (Декартовом, Картезијевом)

координатном систему за познате координате зглобова (у координатним системима

везаним за њих). Ротационом матрицом R3х3 се представља оријентација покретног

координатног система зглоба у односу на апсолутни. Вектор положаја у 3D простору

описује се хомогеним координатама. Хомогеним матрицама Т4х4 укључујемо ротационе

матрице и транслаторни померај почетка покретног координатног система [4].

= ×

100033 pR

T

Уз помоћ Robotics Toolbox-а хомогена трансформациона матрица Т4x4 за

транслацију 0,5m дуж x-осе може се добити следећом командом у командном прозору

МАТLAB-a [5]: >> T = transl(0.5, 0.0, 0.0) T =

1.0000 0 0 0.5000 0 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000

a за ротацију од 90° око y-осе следећом командом: >> T = roty(pi/2) T =

0.0000 0 1.0000 0 0 1.0000 0 0 -1.0000 0 0.0000 0 0 0 0 1.0000

Множењем хомогених трансформационих матрица елементарних ротација и

транслација добијају се хомогене трансформационе матрице надовезаних (заједно

примењених) трансформација, као у следећем примеру:

>> T = transl(0.5, 0.0, 0.0) * roty(pi/2) * rotz(-pi/2) T =

0.0000 0.0000 1.0000 0.5000 -1.0000 0.0000 0 0 0.0000 -1.0000 0.0000 0 0 0 0 1.0000

Примена свих потребних трансформација директне кинематике које дају

трансформациону матрицу T положаја манипулатора у апсолутном (непокретном)

координатном систему за дате координате зглобова у вектору q добијају се помоћу

Page 15: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 15 -

следеће функције Robotics Toolbox-a:

>> SIR1 >> T=fkine(sir1,qr) T = 0.0000 -0.0000 1.0000 0.2400 0.0000 -1.0000 -0.0000 0.0000 1.0000 0.0000 -0.0000 0.4550 0 0 0 1.0000

Командом SIR1, која одговара имену .m датотеке (без екстензије .m), учитава се

у радни простор MATLAB-a (workspace) објекат робота sir1 , према креираном моделу

из првог поглавља. Будући да је путања (директоријум) у коме се налази датотека у

списку активних фолдера MATLAB-a, није потребно наводити пуну путању до датотеке.

Функцијом fkine добија се тражена хомогена трансформациона матрица позиције

манипулатора за позицију зглобова, одређену вектором координата зглобова qr = [0

0 pi/2 0 0] .

Инверзном кинематиком одређујемо координате положаја зглобова које

доводе до жељене позиције и оријентације манипулатора. Решење инверзне

кинематике није једнозначно, већ постоји више решења (положаја зглобова) за

остварење позиције и оријентације манипулатора.

На слици 10 сликовито је дат однос задатака директне и инверзне кинематике.

Слика 10: Илустрација односа између задатака директне и инверзне кинематике

робота

У Robotics Toolbox-у за решавање инверзне кинематике користи се функција

ikine , која се примењује на програмски објекат конструкције робота (sir1) и хомогену

трансформациону матрицу T, на следећи начин:

>> qi=ikine(sir1,T)

For a manipulator with fewer than 6DOF a mask matrix argument should be specified

qi =

0.0000 -0.0000 1.5708 0.0000 -0.0000

>> qr

qr =

0 0 1.5708 0 0

Page 16: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 16 -

Из добијених резултата може се установити тачност примењеног поступка који

доводи до qi = qr .

2.2. Moдел у Simulink-у за израчунавање кинематике кретања робота

између две задате тачке

1) Из основног менија MATLAB-а бира се File - New > Model , чиме се креира нов

Simulink модел. Са File - Save As снима се модел под жељеним именом (нпр.

DraganR.mdl) у фолдер demos.

2) Да би модел конструкције робота SIR-1 био увек доступан у Simulink моделу,

треба у прозору Simulink модела изабрати опцију менија File - Model Properties (слика

11). У дијалошком прозору који се учитао треба изабрати страницу Callbacks и, за

изабрано PreLoadFcn у левом панелу, изабрати функцију која се примењује при

учитавању датог Simulink модела. Избор функције обавља се уписом имена .m датотеке

коју треба учитати са програмом у програмском језику MATLAB-a, и то без екстензије,

јер се фолдер C:\ProgramFiles\MATLAB\R2010b\toolbox\robot у коме је датотека већ

налази у списку активних фолдера MATLAB-a. Притиском на командно дугме OK у

програму се прихвата избор функције.

Слика 11: Подешавање својстава Simulink модела

(избор функције за покретање аутоматски при учитавању модела)

3) Отвори се библиотека roblocks.mdl , која се налази у директоријуму demos

(слика 12). У оквиру ове библиотеке налази се блок (визуелизованог) модела робота са

свим блоковима за његову симулацију, који су предвиђени Robotics Toolbox-ом.

Page 17: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 17 -

Слика 12: Приказ добијања библиотеке Simulink блокова функцијa Robotics Toolbox-а

4) Из добијене библиотеке Simulink блокова функцијa Robotics Toolbox-а може се

прво изабрати и превући мишем у Simulink модел блок jtraj. Блок jtraj израчунава

трајекторију зглобова (у њиховим координатним системима) између две задате

позиције: почетне q0 и коначне qf. Задаје се још у блоку jtraj и tmax, које се поставља

на време колико ће трајати симулација (у примењеном случају 10 - подразумевају се

секунде). Вредности q0 i qf могу се уместо конкретних вредности задати као

променљиве редом qz и q1, чије су вредности постављене у датотеци SIR1.m. Задавање

параметара Simulink блокова обавља се у дијалошком прозору који се добија дуплим

кликом миша на дати блок. Дијалошки прозор за подешавање блока jtraj приказан је

на слици 13.

Слика 13: Подешавања блока јtraј

5) На сличан начин, из библиотеке Simulink блокова функцијa Robotics Toolbox-а

додају се у Simulink модел и блокови fkine, plot и Т2xyz. Блок fkine решава задатак

директне кинематике. За сваки положај зглобова на трајекторији из блока jtraj добија

се положај (трансформациона матрица Т) манипулатора. Приказ у Декартовим

координатама на основу хомогене трансформационе матрице Т остварује се помоћу

Page 18: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 18 -

блока Т2xyz. За сваки положај на трајекторији може се и визуелно приказати изглед

сегмената и зглобова робота помоћу блока plot. После додавања ових блокова у

Simulink модел и њиховог повезивања, добија се модел као на слици 14.

Слика 14: Приказ Simulink модела са додатим блоковима из Robotics Toolbox-a

Блокови plot и fkine морају бити подешени за тачно дефинисани модел

конструкције робота (отуда упитници и noname - без имена редом у блоковима plot и

fkine). Као што је већ истакнуто, до дијалога за подешавања ових блокова долази се

дуплим кликом на њих. У параметре имена робота (Name оf robot и Robot object)

уписује се име програмског објекта робота sir1 из датотеке SIR1.m (која ће се

аутоматски учитати са овим Simulink моделом, како је већ подешено у Кораку 2) - као

на слици 15.

Слика 15: Подешавање имена робота за блокове plot и fkine

6) Будући да сада постоје вредности све три Декартове координате (на излазу

блока Т2xyz), могуће је приказати пројекцију кретања манипулатора робота SIR-1 у XY-

равни. За то се користи блок XY Graph из основне библиотеке Simulink блокова. Да би

се укључио овај блок у модел робота који се креира, потребно је прво приказати

Page 19: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 19 -

библиотеку Simulink блокова. За то се користи опција менија View - Library Browser из

прозора Simulink модела. Тражени блок налази се у групи Sinks (излазних блокова).

Избор блока XY Graph илустрован је на слици 16.

Слика 16: Избор блока XY Scope из библиотеке основних блокова Simulink-a

На овај начин добијен је Simulink модел који је приказан на слици 17.

Слика 17: Simulink модел за симулацију кретања робота SIR-1 између две задате

позиције

Page 20: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 20 -

2.3. Резултати симулације

Покретањем датотеке DraganR.mdl из левог панела MATLAB-a учитава се модел

робота SIR-1 (јер је задата callback функција SIR1 за PreLoadFcn) и његов визуелни

приказ сегмената и зглобова на почетној позицији qz, приказан на слици 18 (што је

задато у блоку plot).

Слика 18: Приказ почетног положаја робота SIR-1, генерисан из блока plot

Пре покретања симулације може се подесити време у току којег се симулира

рад робота, у дијалошком прозору приказаном на слици 19, који се добија кликом на

команду менија Simulation - Configuration Parameters... из прозора Simulink модела.

Ово време мора се поклапати са временом унетим за параметар tmax блока јtraj.

У прозору Simulink модела симулација се покреће кликом на алатку . На

слици 20 приказане су неке позиције у току кретања робота по путањи прорачунатој у

блоку jtraj, од позиције дефинисане координатама зглобова qz, до позиције коју

дефинише вектор q1 (q1 = [-pi/2 pi/4 pi/2 -pi/4 -pi/4] из датотеке SIR1.m).

Поред тога, на слици су приказане пројекције на XY-раван дотадашњег кретања.

Поједине позиције добијене су паузирањем симулације. Паузирање се обавља помоћу

алатке , доступне из прозора Simulink модела чија је симулација у току (уместо )

Page 21: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 21 -

Слика 19: Подешавање извршавања симулације у Simulink моделу

(истакнуто: подешавање времена трајања симулације)

Page 22: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 22 -

t =

3,6

se

c

t =

4,8

se

c

t =

6,2

se

c

Page 23: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 23 -

t =

10

se

c

Слика 20: Приказ положаја робота у простору и путање манипулатора у XY равни

Page 24: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 24 -

Закључак

У овом раду практично су показане могућности програма MATLAB и његових

додатака Simulink и Robotics Toolbox за моделирање конструкције, израчунавање

трајекторије и визуелно представљање модела робота и симулације његовог кретања.

У првом поглављу описан је поступак креирања модела конструкције робота према

модификованој Denavit-Hartenberg конвенцији и нотацији. Овај модел искоришћен је у

другом поглављу за креирање симулационог модела у Simulink-у за израчунавање

трајекторије и приказ кретања робота између две позиције које су задате положајима

зглобова робота.

Софтверска решења чије функционисање је илустровано у овом раду омогућила

су једноставан приступ моделирању и симулацији робота, како у аматерске тако и у

професионалне сврхе. Захваљујући њима, све више младих људи интуитивно се

упознаје са принципима рада и управљањем роботизованим системима, што чини

здраву основу за школовање будућих инжењера и развој нових решења. Стара

претпоставка да је бављење роботиком изузетно компликовано и скупо коначно је

пала, те нас у скорој будућности очекују нове велике промене начина живота и рада.

Page 25: Modeliranje i Simulacija Robota SIR-1

Моделирање и симулација робота SIR-1

- 25 -

Литература

[1] SIR-1_User_Manual,

http://www1bpt.bridgeport.edu/sed/fcourses/cpe460/Lectures_Handouts/15/SIR-

1_User_Manual.pdf

[2] SIR-1 Robot Software Interface,

http://www1bpt.bridgeport.edu/sed/projects/robotics/andrew/sir_library.ppt

[3] А Robotics Toolbox for MATLAB,

http://www1bpt.bridgeport.edu/sed/risc/html/various/robot/robotics/sir1-

matlab.html

[4] В. Алексић, Симулација робота Puma 560, семинарски рад из предмета

Механичка моделирања и симулација рачунаром, Технички факултет, Чачак,

2010.

[5] Д. Голубовић, И. Милићевић, „Примена матрица трансформације при

решавању кинематике и динамике манипулационих робота“, Технички

факултет, Чачак, 2009.