Download as pdf or txt
Download as pdf or txt
You are on page 1of 60

1.

Увод у RobotStudio

1.1 Шта је RobotStudio?


RobotStudio је рачунарска апликација за моделирање, offline програмирање и симулацију рада роботских ћелија1
(robot cell).

RobotStudio омогућава рад са offline контролером – виртуелним IRC5 контролером2 који ради локално на
рачунару корисника. Овај offline контролер се такође назива и виртуелним контролером (ВК). RobotStudio такође
омогућава рад са стварним физичким IRC5 контролером, који се назива и стварним контролером.

Када се RobotStudio користи са стварним контролерима, онда се говори о раду у online моду. Када се ради без
успостављене везе са стварним контролером, или када се ради са виртуелним контролером, онда се говори о
раду у offline моду.

1.2 Појмови и концепти


1.2.1 Хардверски концепти
У овом одељку је представњен хардвер типичне IRC5 роботске ћелије.

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

У табели испод је дат опис стандардног хардвера IRC5 роботске ћелије.

Хардвер Објашњење
Робот манипулатор
ABB индустријски робот.
(robot manipulator)
Садржи главни компјутер који контролише кретање манипулатора. Ово
Управљачки модул
укључује извршавање RAPID3 програма и обраду сигнала. Један управљачки
(control module)
модул може бити повезан са једним до четири погонска модула.
Модул који садржи електронику која покреће моторе манипулатора.
Погонски модул може садржати до девет погонских јединица, од којих
Погонски модул
свака контролише по један зглоб манипулатора. Пошто стандардни роботи
(drive module)
манупулатори имају шест зглобова, обично се користи један погонски
модул по роботу манипулатору.

1
Поптпун систем који укључује робота, контролер и друге периферне уређаје који обезбеђују позиционирање дела и
безбедност радног окружења.
2
ABB-ов контролер индустријских робота пете генерације.
3
Програмски језик за контролу ABB индустријских робота.

Припремио: асист. Милан Трифуновић 1


Кабинет контролера IRC5 робота манипулатора. Састоји се од једног
FlexController управљачког модула и једног погонског модула за сваког робота
манипулатора у систему.
Pendant (врста даљинског управљача) за програмирање, повезан са
FlexPendant управљачким модулом. Програмирање на FlexPendant-у се назива и online
програмирањем.
Направа (уређај) монтирана на робота манупулатора како би му омогућила
Алат (tool) извршавање одређених задатака, попут хватања (gripping), сечења или
заваривања. Алат такође може бити стационаран.
На следећој слици су приказани главни хардверски делови IRC5 роботске ћелије.

У табели испод је дат опис опционог хардвера IRC5 роботске ћелије.

Хардвер Објашњење
Покретно постоље које држи робота манипулатора и на тај
начин му обезбеђује већи радни простор. Када управљачки
Тrack manipulator
модул управља кретањем track manipulator-а, онда се за то
користи „Track External Axis“.
Покретно постоље које обично држи радни предмет или
Манипулатор за позиционирање стезни прибор. Када управљачки модул управља кретањем
(positioner manipulator) манипулатора за позиционирање, онда се за то користи
„External Axis“.
Други робот манупулатор који се понаша као манипулатор за
FlexPositioner позиционирање. Њиме управља исти управљачки модул који
управља и манупулатором за позиционирање.
Направа (уређај) која стоји на фиксној локацији. Робот
Стационарни алат манипулатор узима радни предмет и доноси га до направе да
(stationary tool) би се обавили одређени задаци, попут лепљења, брушења
или заваривања.
Радни предмет
Производ на коме се ради.
(work piece)
Стезни прибор Конструкција која држи радни предмет на одређеној позицији
(fixture) како би се могла одржавати поновљивост производње.

1.2.2 RobotWare концепти


У табели испод су дати описи RobotWare терминологије и концепата који могу бити корисни приликом рада са
RobotStudio-ом.

Припремио: асист. Милан Трифуновић 2


Концепт Објашњење
Као концепт се односи на софтвер који се користи за креирање RobotWare
RobotWare
система и на саме RobotWare системе.
Скуп софтверских фајлова који, када се учитају у контролер, омогућавају све
функције, конфигурације, податке и програме који контролишу роботски
систем.
RobotWare систем
RobotWare системи се креирају у RobotWare софтверу. Ови системи могу
бити смештени и снимљени на рачунару, као и у управљачком модулу.
RobotWare системи се могу мењати у RobotStudio-у или FlexPendant-у.

1.2.3 RAPID концепти


Табела испод описује терминологију RAPID програмског језика са којом се корисник може сусрести приликом
рада у RobotStudio-у. Концепти су наведени према величини.

Концепт Објашњење
Декларација података Користи се за креирање инстанци променљивих или типова података,
(data declaration) попут num или tooldata.
Стварне команде које чине да се нешто дешава, на пример, постављање
Инструкција
податка на одређену вредност или кретање робота. Инструкције се могу
(instruction)
креирати само унутар рутине.
Креирају кретања робота. Састоје се од референце на циљ (позицију)
Инструкције кретања специфицирану у декларацији података, заједно са параметрима који
(move instructions) дефинишу понашање у току кретања и процеса. Ако се користе редни
(inline) циљеви позиција се декларише у оквиру инструкција кретања.
Инструкције радњи Инструкције којима се врше друге радње које не подразумевају кретање
(action instruction) робота, попут постављања података или синхронизације атрибута.
Обично скуп декларација података иза којих следи скуп инструкција
Рутина
којима се имплементира задатак. Рутине се могу поделити у три
(routine)
категорије: процедуре, функције и trap рутине.
Процедура
Скуп инструкција које не враћају вредност.
(procedure)
Функција
Скуп инструкција које враћају вредност.
(function)
Trap Скуп инструкција које се окидају прекидом (поремећајем).
Скуп декларација података иза којих следи скуп рутина. Модули се могу
Модул
снимити, учитати и копирати као фајлови. Модули се деле на програмске
(module)
и системске модуле.
Програмски модул
(program module) Може се учитати и избрисати из меморије (unload) у току извршавања.
(.mod)
Системски модул Углавном се користи за заједничке (опште) податке и рутине специфичне
(system module) за систем, на пример, ArcWare системски модул који је заједнички за све
(.sys) роботе за електролучно заваривање.
Код IRC5 роботске ћелије RAPID програм се састоји од колекције фајлова
програмских модула (.mod) и програмског фајла (.pgf) који референцира
Програмски фајлови
све фајлове програмских модула. Када се учитава програмски фајл, сви
(program files)
стари програмски модули бивају замењени оним који су референцирани
(.pgf)
у .pgf фајлу. Учитавање програма нема никакав утицај на системске
модуле.

1.2.4 Концепти програмирања


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

Припремио: асист. Милан Трифуновић 3


Концепт Објашњење
Програмирање када постоји веза са правим контролером. Овај
Online програмирање
израз такође подразумева коришћење робота за креирање
(online programming)
позиција и кретања.
Offline програмирање Програмирање без постојања везе са роботом или правим
(offline programming) контролером.
Односи се на ABB Robotics концепт повезивања окружења за
симулацију и виртуелног контролера. Ово омогућава не само
Право offline програмирање
креирање програма, већ и тестирање и оптимизацију истог у offline
режиму.
Софтвер који емулира FlexController. Овим се омогућава да софтвер
Виртуелни контролер који контролише роботе (RobotWare систем) ради на рачунару. На
(virtual controller) овај начин се постиже да понашање робота у offline режиму буде
исто као у online режиму.
Покретање више робота манупулатора са истим управљачким
MultiMove
модулом.
Користе се за дефинисање позиција и оријентација. Приликом
Координатни системи програмирања робота предност коришћења различитих
(coordinate systems) координатних система сe огледа у лакшем позиционирању објеката
релативно једног у односу на други.
Оквир
Синоним за координатни систем.
(frame)
Ако се сви циљеви (позиције) односе на радне објекте исте је
Калибрација радног објекта
потребно калибрисати само приликом постављања (примене)
(workobject calibration)
offline програма.

1.2.5 Циљеви (позиције) и путање


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

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

Циљ је координата у коју робот треба да дође. Садржи следеће информације:

Информација Опис
Позиција
Позиција циља дефинисана у координатном систему радног објекта.
(position)
Оријентација циња, релативно у односу на оријентацију радног објекта. Када
Оријентација
робот дође у циљ, он ће ускладити оријентацију централне тачке алата са
(orientation)
оријентацијом циља.
Конфигурација Вредности конфигурације које специфицирају како робот треба да дође до
(configuration) циља.
Циљеви се конвертују у инстанце типа података robtarget приликом синхронизације са виртуелним контролером.

Путање (низови инструкција кретања) се користе за кретање робота између низа циљева.

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

Инструкција кретања се састоји од:

 референце на циљ,

Припремио: асист. Милан Трифуновић 4


 података за кретање, попут типа кретања, брзине и зоне,

 референце на податке за алат и

 референце радног објекта.

Инструкција радње је RAPID стринг (низ карактера) који се може користити да подешавање и измену параметара.
Оне се могу уметнути испред, иза или између инстрикција за циљеве код путања.

1.2.6 Координатни системи


Овај одељак даје увод за координатне системе који се углавном користе за offline програмирање. Код
RobotStudio-а се за корелисање елемената и објеката могу користити координатни системи (који су описани у
овом одељку) или кориснички дефинисани координатни системи.

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

Координатни систем централне тачке алата (Tool Center Point (TCP) Coordinate system), такође познат као TCP,
почиње у централној тачки алата. Могуће је дефинисати различите TCP-ове за једног робота. Сви роботи имају
један предефинисани TCP (са називом tool0) у тачки за монтажу алата. У току извршавања програма, робот
помера TCP у програмирану позицију.

RobotStudio World координатни систем (RobotStudio World Coordinate system) представља целу станицу или
роботску ћелију. Он се налази на врху у хијерархији и приликом коришћења RobotStudio-а сви остали
координатни системи су дефинисани у односу на њега.

Основни координатни систем се назива Основни оквир (Base Frame (BF)). Сваки робот у станици, у RobotStudio-у,
као и у стварности, има основни координатни систем који је увек лоциран у основи робота.

Оквир задатка (Task Frame (TF)) у RobotStudio-у представља почетак world координатног система контролера
робота.

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

Следећа слика илуструје како се оквир задатка у RobotStudio-у мапира у координатни систем контролера робота
у реалности.

Припремио: асист. Милан Трифуновић 5


RS-WCS World координатни систем у RobotStudio-у
World координатни систем дефинисан код контролера робота.
RC-WCS
Одговара оквиру задатка код RobotStudio-а.
BF Основни оквир робота
TCP Централна тачка алата
P Циљ робота
TF Оквир задатка
Wobj Радни објекат

1.2.6.1 Станице са вишеструким роботским системима


За појединачни роботски систем оквир задатка RobotStudio-а одговара world координатном систему контролера
робота. Када је у станици присутно више контролера, оквир задатка омогућава повезаним роботима да раде у
различитим координатним системима, то јест роботи могу бити лоцирани независно један у односу на другог
дефинисањем оквира задатка за сваког робота понаособ.

Припремио: асист. Милан Трифуновић 6


RS-WCS World координатни систем у RobotStudio-у
TCP(R1) Централна тачка алата робота 1
TCP(R2) Централна тачка алата робота 2
BF(R1) Основни оквир роботског система 1
BF(R2) Основни оквир роботског система 2
P1 Циљ робота 1
P2 Циљ робота 2
TF1 Оквир задатка роботског система 1
TF2 Оквир задатка роботског система 2
Wobj Радни објекат

1.2.6.2 MultiMove координатни системи


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

Приликом коришћења роботског система са RobotWare опцијом MultiMove Coordinated, важно је да роботи раде
у истом координатном систему. У том случају RobotStudio не дозвољава да оквири задатака контролера буду
одвојени (раздвојени).

Припремио: асист. Милан Трифуновић 7


RS-WCS World координатни систем у RobotStudio-у
TCP(R1) Централна тачка алата робота 1
TCP(R2) Централна тачка алата робота 2
BF(R1) Основни оквир робота 1
BF(R2) Основни оквир робота 2
BF(R3) Основни оквир робота 3
P1 Циљ робота 1
TF Оквир задатка
Wobj Радни објекат

Припремио: асист. Милан Трифуновић 8


1.2.6.3 Независни MultiMove системи
За роботски систем са RobotWare опцијом MultiMove Independent, роботи раде симултано и независно док су
под контролом једног контролера. Иако постоји само један world координатни систем контролера робота,
роботи често раде у засебним координатним системима. Да би се омогућила оваква поставка у RobotStudio-у
оквири задатака за роботе могу бити раздвојени и позиционирани независно један од другог.

RS-WCS World координатни систем у RobotStudio-у


TCP(R1) Централна тачка алата робота 1
TCP(R2) Централна тачка алата робота 2
BF(R1) Основни оквир робота 1
BF(R2) Основни оквир робота 2
P1 Циљ робота 1
P2 Циљ робота 2
TF1 Оквир задатка 1
TF2 Оквир задатка 2
Wobj Радни објекат

1.2.6.4 Координатни систем радног објекта


Радни објекат нормално представља физички радни предмет. Састоји се од два координатна система: оквира
корисника (user frame) и оквира објекта (object frame), где је други дете првог. Приликом програмирања робота
сви циљеви (позиције) су дефинисани у односу на оквир објекта радног објекта. Ако ниједан други радни објекат
није специфициран, циљеви ће бити дефинисани у односу на подразумевани Wobj0, који се увек поклапа са
основним оквиром робота.

Коришћење радних објеката омогућава лако подешавање програма робота уз помоћ offset-а у ситуацијама када
се је локација радног предмета променила. Према томе, радни објекти се могу користити за калибрацију offline
програма. Ако се релативна позиција стезног прибора или радног предмета у односу на робота у правој станици
не поклапа у потпуности са позицијом у offline станици, једноставно се може подесити позиција радног објекта.

Радни објекти се такође користе за координисано кретање. Ако је радни објекат причвршћен за механичку
јединицу (а систем користи опцију координисаног кретања), робот ће наћи циљеве на радном објекту чак и кад
механичка јединица помера радни објекат.

Припремио: асист. Милан Трифуновић 9


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

1.2.6.5 Кориснички дефинисани координатни системи


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

1.2.7 Конфигурације оса робота

1.2.7.1 Конфигурације оса


Циљеви су дефинисани и меморисани као координате у координатном систему радног објекта. Када контролер
рачуна позицију оса робота за достизање циља исти ће често наћи више од једног могућег решења за
конфигурисање оса робота.

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

1.2.7.2 Смештање конфигурација оса у циљевима


За циљеве који се уче након довођења робота у позицију, коришћена конфигурација ће бити смештена у циљу.

Циљеви који се креирају специфицирањем или рачунањем позиција и оријентација добијају подразумевану
конфигурациону вредност (0,0,0,0) која можда неће бити валидна за достизање циља.

Припремио: асист. Милан Трифуновић 10


1.2.7.3 Најчешћи проблеми који се односе на конфугурације оса робота
За циљеве који нису креирани jogging-ом постоји велика вероватноћа да неће бити достигнути са њиховом
подразумеваном конфигурацијом.

Чак и кад сви циљеви на путањи имају проверене (потврђене) конфигурације, може се наићи на проблеме
приликом кретања по путањи ако робот кретањем не може прећи из једне конфигурације у другу. Ово се може
десити када се оса помера за више од 90° приликом линеарних кретања.

Репозиционирани циљеви задржавају своје конфигурације, али те конфигурације више нису проверене
(потврђене). Горе описани проблеми се могу појавити као резултат приликом померања циљева.

1.2.7.4 Најчешћа решења за проблеме проблеме конфигурације


Да би се решили горе описани проблеми потребно је сваком циљу придружити валидну конфигурацију и
потврдити да се робот може кретати дуж сваке путање. Такође се може искључити надгледање конфигурација,
што значи да ће се снимљене конфигурације игнорисати и да ће се роботу омогућити да пронађе одговарајуће
конфигурације у току извршавања програма. Ако се ово не буде урадило на одговарајући начин, могу се добити
неочекивани резултати.

У неким случајевима се може десити да не постоје одговарајуће конфигурације (које раде). Могућа решења у
овом случају су репозиционирање радног предмета, промена оријентације циљева (ако је прихватљиво) или
додавање спољашње осе која или помера радни предмет или робота како би се повећала доступност.

1.2.7.5 Како се означавају конфигурације


Конфигурације оса робота су означене низом од четири цела броја који специфицирају у ком су квадранту пуног
окрета значајне осе лоциране. Квадранти се броје од 0 за позитивне (супротно од смера казаљке на сату)
ротације и од -1 за негативне (у смеру казаљке на сату) ротације.

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

Конфигурација шестоосног индустријског робота (попут IRB 140) може бити:

[0-121]

Први цео број (0) специфицира позицију осе 1: негде у првом позитивном квадранту (између 0 и 90° ротације).

Други цео број (-1) специфицира позицију осе 4: негде у првом негативном квадранту (између 0 и -90° ротације).

Трећи цео број (2) специфицира позицију осе 6: негде у трећем позитивном квадранту (између 180° и 270°
ротације).

Четврти цео број (1) специфицира позицију осе x, виртуелне осе која се користи за специфицирање центра зглоба
у односу на друге осе.

1.2.7.6 Надгледање конфигурација


Приликом извршавања програма за робота постоји опција надгледања вредности конфигурација. Ако је
надгледање конфигурација искључено вредности конфигурација смештене у циљевима се игноришу, а робот ће
за достизање циља користити конфигурацију најближу текућој конфигурацији. Ако је надгледање конфигурација
укључено, робот ће за достизање циљева користити само специфициране конфигурације.

Надгледање конфигурација се може искључити или укључити независно за кретања у зглобу и линеарна кретања
и контролише се ConfJ и ConfL инструкцијама радњи.

Припремио: асист. Милан Трифуновић 11


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

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

За програме са инструкцијама кретања у зглобу ово може проузроковати пребрисавањима (sweeping) и


непредвидивим кретањима.

1.2.7.6.2 Укључивање надгледања конфигурација


Извршавање програма са надгледањем конфигурација приморава робота да користи конфигурације смештене у
циљевима. Ово резултује предвидивим циклусима и кретањима. У неким ситуацијама, међутим, као у
случајевима када се робот креће ка циљу из непознате позиције, надгледање конфигурација може ограничити
доступност робота.

Приликом offline програмирања сваком циљу се мора придружити конфигурација уколико ће се програм
извршавати са надгледањем конфигурација.

1.2.8 Библиотеке, геометрије и CAD фајлови


За програмирање или симулацију у RobotStudio-у неопходни су геометријски модели радних предмета и опреме.
Модели стандардне опреме бивају инсталирани као библиотеке геометрија приликом инсталирања RobotStudio-
а. Ако корисник поседује CAD моделе радних предмета или нестандардне опреме исти могу бити увезени као
геометрије у RobotStudio. Ако корисник не располаже CAD моделима, исти се могу креирати у RobotStudio-у.

1.2.8.1 Разлика између геометрија и библиотека


Објекти који се увозе у станицу могу бити геометрије или библиотеке.

Геометрије су у основи CAD фајлови који се, приликом увоза, копирају у RobotStudio станицу.

Библиотеке су објекти који су били снимљени у RobotStudio-у као екстерни фајлови. Приликом увоза библиотеке
креира се линк између станице и библиотеке. Сходно томе фајл станице не расте истом брзином као приликом
увожења геометрија. Штавише, поред геометријских података, фајлови библиотеке могу садржати и податке
специфичне за RobotStudio. На пример, ако се алат сними у библиотеку, подаци о алату бивају снимљени заједно
са CAD подацима.

1.2.8.2 Како се конструишу геометрије


Увезена геометрија је приказана као један део у Layout browser-у. Компоненте геометрије се могу видети на
Modeling картици RobotStudio-а.

Главни (највиши у хијерархији) чвор геометрије се називадео (Part). Део садржи тела (bodies) која могу бити
запреминска (солид) (solid), површинска (surface) или криволинијска (curve).

Запреминска тела су 3D објекти који се састоје од страна (faces). Правo запреминско тело се препознаје по
једном телу које садржи више страна.

Површинска тела су 2D објекти или само једна страна. Део који садржи више тела са по једном страном која
заједно конституишу 3D објекат је креиран од 2D површина, па стога није прави 3D солид. Ако овакви делови
нису креирани исправно, исти могу проузроковати проблеме приликом приказивања и графичког програмирања.

Криволинијска тела, представљена само body чвором у Modeling browser-у, не садрже децу чворове.

Припремио: асист. Милан Трифуновић 12


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

1.2.8.3 Математичке и графичке геометрије


Геометрија у CAD фајлу увек у својој основи има математичку репрезентацију. Њена графичка репрезентација, у
програмском прозору, бива генерисана на основу математичке репрезентације приликом увоза геометрије у
RobotStudio, након чега се геометрија назива делом.

За ову врсту геометрије се може подесити ниво детаља за графичку репрезентацију, чиме се редукују величина
фајла и време потребно за рендеровање за велике моделе или се побољшава визуелни приказ за мале моделе
чији приказ корисник жели да увећа. Ниво детаља утиче само на визуелни приказ; путање и криве линије
креирани на основу модела ће бити прецизни и са грубим и са финим подешавањима.

Део се такође може увести из фајла који једноставно дефинише његову графичку репрезентацију; у овом случају
у основи не постоји његова математичка репрезентација. Неке од функција у RobotStudio-у, попут snap мода и
креирања кривих линија на основу геометрије, неће радити са овом врстом делова.

1.3 Корисничко окружење


1.3.1 Коришћење миша
У доњој табели се налазе инструкције за навигацију уз помоћ миша у графичком прозору.

Користити комбинацију
Да би се Опис
тастатура / миш
Бирали објекти Кликнути на објекат да би исти био изабран. Да
би се изабрало више објеката држати притиснут
тастер CTRL приликом кликтања на исте.
Притиснути и држати притиснутим CTRL и SHIFT
Ротирала станица CTRL + SHIFT + тастере и леви тастер миша и померати миша да
би се ротирала станица.
Исто је могуће постићи и комбинацијом средњег
и десног тастера миша.
Померала станица Притиснути и држати притиснутим CTRL тастер и
CTRL +
у равни екрана леви тастер миша и померати миша да би се
станица померала у равни екрана.
Притиснути и држати притиснутим CTRL тастер и
Увећао/умањио десни тастер миша и померати миша улево да би
CTRL + се умањио приказ. Померати миша удесно да би
приказ станице
се увећао приказ.
Исто је могуће постићи и средњим тастером
миша.
Увећао приказ Притиснути и држати притиснутим SHIFT тастер и
SHIFT +
уз помоћ прозора десни тастер миша и превући миша преко
области чији се приказ жели увећати.
Бирало Притиснути и држати притиснутим SHIFT тастер и
SHIFT +
уз помоћ прозора леви тастер миша и превући миша преко области
у којој се налазе објекти који се желе изабрати.

Припремио: асист. Милан Трифуновић 13


2. Водич за рад у RobotStudio-у

2.1 Креирање празне станице


Да би се краирала празна станица (Empty Station) потребно је кликнути на картицу File, затим на подмени New, у
групи опција Stations изабрати опцију Empty Station и кликнути на дугме Create.

Празна станица садржи само радну раван са референтним координатним системом (у питању је RobotStudio
world координатни систем). Радно окружење изгледа као на следећој слици.

Припремио: асист. Милан Трифуновић 14


2.2 Роботске руке и позиционирање
Сада је неопходно у станицу укључити роботску руку. Потребно је кликнути на картицу Home, затим кликнути на
дугме ABB Library ( ) која се налази у групи команди Build Station и изабрати жељену роботску руку (у нашем
случају то је IRB 140 (шестоосни индустријски робот)).

Припремио: асист. Милан Трифуновић 15


Појављује се оквир за дијалог IRB 140 у коме је потребно изабрати верзију роботске руке (у нашем случају то је
IRB 140) и кликнути на дугме OK.

Сада је могуће померати (транслација и ротација) робота у радном простору. Да би се извршило померање у
смислу транслације потребно је кликнути на модел робота у стаблу, а затим кликнути на дугме Move ( ) које се
налази у групи команди Freehand на картици Home. Уз помоћ показивача миша се може померати основа робота
(транслација).

Припремио: асист. Милан Трифуновић 16


Такође је могуће померати робота у смислу ротације око оса изабраног референтног координатног система
(дугме Rotate ( ) које се налази у групи команди Freehand на картици Home).

Припремио: асист. Милан Трифуновић 17


Обично је потребно да се изврши прецизно померање робота. У том случају треба изабрати команду Set Position
( ) која се налази у подменију Position контекстуалног менија који се добија када се десним тастером миша
кликне на модел робота у стаблу.

Припремио: асист. Милан Трифуновић 18


Углови зглобова робота се могу променити уз помоћ команде Mechanism Joint Jog ( ) из контекстуалног менија
који се добија када се десним тастером миша кликне на модел робота у стаблу.

2.3 Контролер
Време је да се укључи контролер у систем. Потребно је кликнути на картицу Home, затим кликнути на дугме
Robot Sytem ( ) која се налази у групи команди Build Station и изабрати команду From Layout... ( ).

Припремио: асист. Милан Трифуновић 19


Може се изабрати више опција за контролер, али је подразумевана конфигурација у реду за сада. Биће потребно
мало времена док се у доњем десном углу програмског прозора не појави зелено светло за статус контролера.

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

Припремио: асист. Милан Трифуновић 20


Линеарно померање централне тачке алата се може вршити након избора команде Mechanism Linear Jog ( ) из
контекстуалног менија који се добија када се десним тастером миша кликне на модел робота у стаблу.

Померање се може вршити у различитим координатним системима и са различитим корацима.

Припремио: асист. Милан Трифуновић 21


Пошто је сада контролер повезан са роботском руком, ако се жели померити основа робота, корисник ће бити
упитан да ли жели да помери и оквир задатка који је повезан са основом робота. Овде треба изабрати одговор
Yes.

2.4 Алати
Следећи корак је постављање алата на роботску руку. Исти може бити увезен из библиотеке. Потребно је
кликнути на картицу Home, затим кликнути на дугме Import Library ( ) која се налази у групи команди Build

Припремио: асист. Милан Трифуновић 22


Station и из подменија Equipment изабрати неки од расположивих алата (рецимо предефинисан алат са називом
myTool у групи Training Objects).

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

Сада је могуће променити оријентацију алата, уз задржавање позиције централне тачке алата (кликнути на
модел робота у стаблу, а затим кликнути на дугме Jog Reorient ( ) које се налази у групи команди Freehand на
картици Home).

Припремио: асист. Милан Трифуновић 23


2.5 Радни објекти
Дефинисање редног објекта је од великог значаја код програмирања робота. Радни објекат се може посматрати
као референтни систем у односу на који се дефинишу циљеви робота. У пракси, ово је веома важно за процес
калибрисања између виртуелног окружења и стварног окружења са реалним роботом. Обично је координатни
почетак радног објекта тачка која се лако може дефинисати, попут угла стола. Да би се креирао радни објекат
потребно је кликнути на дугме Other ( ), које се налази у групи команди Path Programming на картици Home, и
изабрати команду Create Workobject ( ).

Подразумевано се креирани радни објекат (са називом Workobject_1) подудара са wobj0 (основа робота). Ако се
жели да се радни објекат дефинише на нивоу пода, а робот се налази 400mm изнад пода, онда је радни објекат
неопходно дефинисати на позицији -400 дуж Z осе.

Припремио: асист. Милан Трифуновић 24


2.6 Циљеви
Сада је време да се дефинишу тачке циљева које ће бити основа за путање робота. Потребно је кликнути на
дугме Target ( ), које се налази у групи команди Path Programming на картици Home, и изабрати команду
Create Target ( ).

Припремио: асист. Милан Трифуновић 25


За креирање тачака циља је могуће користити и показивач миша. У овом конкретном случају тачке бивају
креиране у односу на радни објекат (Workobject_1).

Припремио: асист. Милан Трифуновић 26


Сада је могуће померати радни објекат (Workobject_1) заједно са повезаним тачкама циљева.

У овом тренутку не зна се да ли робот може ефективно дохватити дефинисане циљеве. Код већине апликација за
програмирање рада робота почетна позиција робота се дефинише у односу на основу робота (која је у овом
случају wobj0). Робот се може померити у жељену почетну позицију ...

Припремио: асист. Милан Трифуновић 27


... и креирати посебан тип циља, под називом Teach Target (дугме Teach Target ( ) у групи команди Path
Programming на картици Home), у односу на wobj0. На овај начин се креира циљ у односу на тренутну позицију
робота.

Тачка циља бива креирана.

Припремио: асист. Милан Трифуновић 28


Сада ће бити проверено да ли робот може да досегне претходно креиране тачке циљева. Провера ће прво бити
урађена за алат (треба кликнути десним тастером миша на први циљ и у подменију View Tool at Target ( )
контекстуалног менија изабрати myTool).

Припремио: асист. Милан Трифуновић 29


Може се видети да алат има погрешну оријентацију. Може се приказати и робот на првом циљу (треба кликнути
десним тастером миша на први циљ и изабрати команду View Robot at Target ( ) у контекстуалном менију).

Ништа се није десило пошто робот није у стању да досегне позицију. RobotStudio приказује упозорење.

Припремио: асист. Милан Трифуновић 30


Да би се решио проблем неопходно је променити оријентацију алата (треба кликнути десним тастером миша на
први циљ и у подменију Modify Target контекстуалног менија изабрати команду Rotate ( )).

Припремио: асист. Милан Трифуновић 31


Исти проблем постоји и за остале циљеве. Могуће је ископирати оријентацију првог циља (треба кликнути
десним тастером миша на први циљ и изабрати команду Copy Orientation ( ) у контекстуалном менију) и
применити је на остале циљеве (треба изабрати остале циљеве, кликнути десним тастером миша и изабрати
команду Apply Orientation ( ) у контекстуалном менију).

Припремио: асист. Милан Трифуновић 32


Сада се кликтањем на циљеве може видети да ли их робот дохвата. Ако робот не дохвата неки циљ потребно је
изменити позицију или оријентацију тачке циља уз помоћ команди Set Position ( ) и Rotate ( ) које се налазе у
подменију Modify Target контекстуалног менија који се добија када се кликне десним тастером миша на жељени
циљ.

2.7 Путање
Радна путања робота се сада може креирати повезивањем тачака циљева. Потребно је кликнути на дугме Path (
), које се налази у групи команди Path Programming на картици Home, и изабрати команду Empty Path ( ).

Припремио: асист. Милан Трифуновић 33


Сада треба изабрати опцију MoveJ (кретање робота преко кретања зглобова; брзо померање из тачке у тачку;
померање не мора да буде по правој линији).

Након креирања путање Path_10 треба у стаблу превући све циљеве жељеним редоследом на исту.

Припремио: асист. Милан Трифуновић 34


Сада су циљеви повезани. Да би се елиминисала евентуална упозорења неопходно је дефинисати конфигурацију
робота за сваки циљ. То је због тога што постоје различити начини за постизање исте позиције и оријентације
алата робота (погледати слику испод).

Софтвер је у стању да изврши аутоматско конфигурисање. Потребно је кликнути десним тастером миша на
путању (Path_10) у стаблу и изабрати команду Auto Configuration ( ) која се налази у подменију Configurations
контекстуалног менија.

Припремио: асист. Милан Трифуновић 35


У оквиру за дојалог Select Robot Configuration треба изабрати једну од понуђених конфигурација и кликнути на
дугме Apply.

Могуће је дефинисати конфигурацију и за сваки циљ понаособ. Треба кликнути десним тастером миша на
жељени циљ у стаблу, и изабрати команду Configurations... ( ) која се налази у подменију Modify Instruction
контекстуалног менија.

Припремио: асист. Милан Трифуновић 36


2.8 Симулација
Пре симулације је неопходно извршити синхронизацију са контролером робота (то је попут слања свих података
контролеру робота). Потребно је кликнути на дугме Synchronize ( ) у групи команди Controller на картици
Home, и изабрати команду Synchronize to RAPID... ( ).

Припремио: асист. Милан Трифуновић 37


У оквиру за дијалог Synchronize to RAPID треба кликнути на дугме OK.

Сада је потребно изабрати путање за симулацију (у нашем случају то је само путања Path_10). Треба кликнути на
дугме Simulation Setup ( ) које се налази у групи команди Configure на картици Simulation, затим на ставку
T_ROB1 и у падајућој листи Entry point изабрати Path_10.

Припремио: асист. Милан Трифуновић 38


Симулација се покреће кликом на дугме Play ( ) које се налази у групи команди Simulation Control на картици
Simulation.

Припремио: асист. Милан Трифуновић 39


Треба обратити пажњу на поруке у оквиру Output у доњем делу програмског прозора.

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

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

Припремио: асист. Милан Трифуновић 40


Станицу је могуће снимити на нормалан начин или коришћењем опције Pack and Go (група опција Share на
картици File). Уз помоћ ове опције се креира пакет који поред активне станице садржи и виртуелне контролере,
библиотеке, ако и додатне опције, а који је погодан за отварање на другом рачунару.

2.9 RAPID
Генерисани програм је могуће видети ако се кликне на картицу RAPID, а затим се кликне на катицу Controller у
паноу са леве стране.

Припремио: асист. Милан Трифуновић 41


У делу стабла са називом RAPID се могу наћи генерисани програми.

Може се видети програмски код модула (треба кликнути десним тастером миша на назив модула и изабрати
команду RAPID Editor ( ) из контекстуалног менија).

Припремио: асист. Милан Трифуновић 42


Важан је програмски код модула са називом Module1.

Програм се може снимити. Треба кликнути на дугме Program ( ) које се налази у групи команди Controller на
картици RAPID и изабрати команду Save Program As... ( ).

Такође је могуће посматрати симулацију рада робота и програмски код у исто време. Треба кликнути на картицу
програмског кода модула (T_ROB1/Module1) и из контекстуалног менија изабрати команду New Vertical Tab
Group. Затим треба кликнути на дугме Start ( ) које се налази у групи команди Test and Debug на картици
RAPID.

Припремио: асист. Милан Трифуновић 43


Програм се може мењати (може се на пример променити брзина).

Програм се може и симулирати корак по корак (треба кликнути на дугме Step in ( ) у групи команди Test and
Debug на картици RAPID).

Припремио: асист. Милан Трифуновић 44


2.10 Време
Да би се видело колико је времена потребно роботу да изврши постављене задатке потребно је кликнути на
дугме Stopwatch ( ) које се налази у групи комади Monitor на картици Simulation, затим кликнути на дугме Add
у панелу Stopwatch и коначно кликнути на дугме Play.

2.11 Увоз геометрија


У овом случају ће се поред робота користити сто и радни предмет. RobotStudio омогућава увоз фајлова из већине
CAD пакета (под условом да постоји лиценца за одговарајући CAD Converter).

Креирати празну станицу. Кликнути на дугме Import Geometry ( ), које се налази у групи команди Build Station
на картици Home, и изабрати команду Browse for Geometry... ( ). Појављује се оквир за дијалог Browse for
Geometry.... Потребно је позиционирати се на фолдер у коме се налази жељени фајл (геометријски модел стола
је креиран у PTC Creo-у и снимљен је са екстензијом .sat (ACIS фајл) (фајлови са овом екстензијом се могу увести у
RobotStudio; ово је најбоља опција за увоз)), затим изабрати исти показивачем и кликнути на дугме Open.

Припремио: асист. Милан Трифуновић 45


Сто бива увезен (тренутно је координатни систем стола поклопљен са RobotStudio world координатним
системом). Уз помоћ Set Position... и Rotate... команди сто треба поставити у жељену позицију (довољно је
померити сто по Z оси у негативном смеру за 20mm). Идеја је да се почетак RobotStudio world координатног
система нађе у центру горње стране упуштеног дела стола.

Припремио: асист. Милан Трифуновић 46


Сада је потребно у станицу укључити роботску руку (IRB 140) и радни предмет. Након додавања робота треба
прво укључити контролер у систем, а затим додати радни предмет. Геометријски модел радног предмета је
креиран у PTC Creo-у и снимљен је са екстензијом .sat.

Припремио: асист. Милан Трифуновић 47


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

Потребно је прво укључити опцију Snap End ( ) која омогућава бирање крајњих тачака ивица на објектима, а
затим изабрати жељене тачке и кликнути на дугме Apply.

Припремио: асист. Милан Трифуновић 48


На крају је још потребно померити радни предмет по X и Y оси у крајњу позицију.

Следи увожење алата (AW Gun PSF 25) и постављање истог на роботску руку.

Припремио: асист. Милан Трифуновић 49


2.12 Радни објекти и циљеви
Сада ће бити креиран радни објекат бирањем његовог координатног почетка уз помоћ показивача миша.

Припремио: асист. Милан Трифуновић 50


Креирати почетну позицију за робота.

Креирати тачке циљева у односу на радни објекат (Workobject_1).

Припремио: асист. Милан Трифуновић 51


Може се видети позиција алата у тачкама циљева.

Припремио: асист. Милан Трифуновић 52


Неопходно је ротирати координатни систем за први циљ.

Припремио: асист. Милан Трифуновић 53


Потребно је ископирати оријентацију првог циља на остале циљеве.

Коначно се може проверити доступност циљева.

Припремио: асист. Милан Трифуновић 54


Следи креирање путање.

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

Припремио: асист. Милан Трифуновић 55


Сада треба извршити аутоматско конфигурисање путање.

Припремио: асист. Милан Трифуновић 56


За проблематичне циљеве је потребно променити конфигурацију.

Уколико се појаве проблеми једно од решења је промена позиције радног предмета (wp1; погледати слику
испод) уз накнадну обавезну промену позиције радног објекта (Workobject_1).

Након тога треба извршити аутоматско конфугурисање путање (изабрати конфигурацију Cfg1 (0,0,0,0)).

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

Припремио: асист. Милан Трифуновић 57


Да би се видела линија путање приликом симулације треба кликнути на дугме TCP Trace ( ) које се налази у
групи команди Monitor на картици Simulation и у паноу који се појављује са леве стране програмског прозора
чекирати опцију Enable TCP Trace и дефинисати жељену боју за путању (опција Primary color). Сада треба поново
покренути симулацију.

Види се да централна тачка алата (TCP) не долази до тачака циљева. То је због тога што се у оквиру инструкција за
циљеве за подешавање Zone користи вредност z100. Ова опција дефинише колико близу програмираној
позицији оса мора бити пре окретања према следећој програмираној позицији. Треба за циљеве изабрати
вредност fine (коамнда Edit Instruction...), извршити поново сихнронизацију са виртуелним контролером и
покренути симулацију. Сада ће централна тачка алата доћи до свих циљева.

Припремио: асист. Милан Трифуновић 58


2.13 Криве линије
Ако радни предмет садржи ивице које су криве линије (по којима је потребно да се креће (путања) централна
тачка алата) треба приликом креирања путање користити команду AutoPath ( ) (није потребно претходно
дефинисати циљеве; након избора команде треба изабрати ивицу и дефинисати минимално растојање између
циљева; циљеви и путања ће бити аутоматски креирани). Приликом бирања ивица треба користити опције Curve
Selection ( ) и Snap Edge ( ).

Припремио: асист. Милан Трифуновић 59


2.14 Детектовање колизије
Да би се детектовала колизија (судар) између алата и радних предмета потребно је на картици Simulation
кликнути на дугме Create Collision Set ( ), а затим превући алат на ObjectsA и радне предмете на ObjectsB у
оквиру новокреираног објекта CollisionSet_1 у стаблу. Софтвер детектује колизију између објеката типа А и B.

Припремио: асист. Милан Трифуновић 60

You might also like