Professional Documents
Culture Documents
NUOS Vezbe ABB RobotStudio v1 PDF
NUOS Vezbe ABB RobotStudio v1 PDF
Увод у RobotStudio
RobotStudio омогућава рад са offline контролером – виртуелним IRC5 контролером2 који ради локално на
рачунару корисника. Овај offline контролер се такође назива и виртуелним контролером (ВК). RobotStudio такође
омогућава рад са стварним физичким IRC5 контролером, који се назива и стварним контролером.
Када се RobotStudio користи са стварним контролерима, онда се говори о раду у online моду. Када се ради без
успостављене везе са стварним контролером, или када се ради са виртуелним контролером, онда се говори о
раду у offline моду.
Хардвер Објашњење
Робот манипулатор
ABB индустријски робот.
(robot manipulator)
Садржи главни компјутер који контролише кретање манипулатора. Ово
Управљачки модул
укључује извршавање RAPID3 програма и обраду сигнала. Један управљачки
(control module)
модул може бити повезан са једним до четири погонска модула.
Модул који садржи електронику која покреће моторе манипулатора.
Погонски модул може садржати до девет погонских јединица, од којих
Погонски модул
свака контролише по један зглоб манипулатора. Пошто стандардни роботи
(drive module)
манупулатори имају шест зглобова, обично се користи један погонски
модул по роботу манипулатору.
1
Поптпун систем који укључује робота, контролер и друге периферне уређаје који обезбеђују позиционирање дела и
безбедност радног окружења.
2
ABB-ов контролер индустријских робота пете генерације.
3
Програмски језик за контролу ABB индустријских робота.
Хардвер Објашњење
Покретно постоље које држи робота манипулатора и на тај
начин му обезбеђује већи радни простор. Када управљачки
Тrack manipulator
модул управља кретањем track manipulator-а, онда се за то
користи „Track External Axis“.
Покретно постоље које обично држи радни предмет или
Манипулатор за позиционирање стезни прибор. Када управљачки модул управља кретањем
(positioner manipulator) манипулатора за позиционирање, онда се за то користи
„External Axis“.
Други робот манупулатор који се понаша као манипулатор за
FlexPositioner позиционирање. Њиме управља исти управљачки модул који
управља и манупулатором за позиционирање.
Направа (уређај) која стоји на фиксној локацији. Робот
Стационарни алат манипулатор узима радни предмет и доноси га до направе да
(stationary tool) би се обавили одређени задаци, попут лепљења, брушења
или заваривања.
Радни предмет
Производ на коме се ради.
(work piece)
Стезни прибор Конструкција која држи радни предмет на одређеној позицији
(fixture) како би се могла одржавати поновљивост производње.
Концепт Објашњење
Декларација података Користи се за креирање инстанци променљивих или типова података,
(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 фајлу. Учитавање програма нема никакав утицај на системске
модуле.
Када се синхронизује RobotStudio станица са виртуелним контролером, RAPID програми бивају креирани на
основу путања.
Информација Опис
Позиција
Позиција циља дефинисана у координатном систему радног објекта.
(position)
Оријентација циња, релативно у односу на оријентацију радног објекта. Када
Оријентација
робот дође у циљ, он ће ускладити оријентацију централне тачке алата са
(orientation)
оријентацијом циља.
Конфигурација Вредности конфигурације које специфицирају како робот треба да дође до
(configuration) циља.
Циљеви се конвертују у инстанце типа података robtarget приликом синхронизације са виртуелним контролером.
Путање (низови инструкција кретања) се користе за кретање робота између низа циљева.
референце на циљ,
Инструкција радње је RAPID стринг (низ карактера) који се може користити да подешавање и измену параметара.
Оне се могу уметнути испред, иза или између инстрикција за циљеве код путања.
Координатни системи су корелисани хијерархијски. Почетак сваког координатног система је дефинисан као
позиција у једном од координатних система који се налазе више у хијерархији. Следе описи координатних
система који се обично користе.
Координатни систем централне тачке алата (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-у мапира у координатни систем контролера робота
у реалности.
Приликом коришћења роботског система са RobotWare опцијом MultiMove Coordinated, важно је да роботи раде
у истом координатном систему. У том случају RobotStudio не дозвољава да оквири задатака контролера буду
одвојени (раздвојени).
Коришћење радних објеката омогућава лако подешавање програма робота уз помоћ offset-а у ситуацијама када
се је локација радног предмета променила. Према томе, радни објекти се могу користити за калибрацију offline
програма. Ако се релативна позиција стезног прибора или радног предмета у односу на робота у правој станици
не поклапа у потпуности са позицијом у offline станици, једноставно се може подесити позиција радног објекта.
Радни објекти се такође користе за координисано кретање. Ако је радни објекат причвршћен за механичку
јединицу (а систем користи опцију координисаног кретања), робот ће наћи циљеве на радном објекту чак и кад
механичка јединица помера радни објекат.
Сви циљеви имају конфигурациону вредност (подешавање) која специфицира квадрант у коме свака оса треба да
буде лоцирана, како би се правила разлика између различитих конфигурација.
Циљеви који се креирају специфицирањем или рачунањем позиција и оријентација добијају подразумевану
конфигурациону вредност (0,0,0,0) која можда неће бити валидна за достизање циља.
Чак и кад сви циљеви на путањи имају проверене (потврђене) конфигурације, може се наићи на проблеме
приликом кретања по путањи ако робот кретањем не може прећи из једне конфигурације у другу. Ово се може
десити када се оса помера за више од 90° приликом линеарних кретања.
Репозиционирани циљеви задржавају своје конфигурације, али те конфигурације више нису проверене
(потврђене). Горе описани проблеми се могу појавити као резултат приликом померања циљева.
У неким случајевима се може десити да не постоје одговарајуће конфигурације (које раде). Могућа решења у
овом случају су репозиционирање радног предмета, промена оријентације циљева (ако је прихватљиво) или
додавање спољашње осе која или помера радни предмет или робота како би се повећала доступност.
За линеарну осу цео број специфицира опсег (у метрима) од неутралне позиције у којој се оса налази.
[0-121]
Први цео број (0) специфицира позицију осе 1: негде у првом позитивном квадранту (између 0 и 90° ротације).
Други цео број (-1) специфицира позицију осе 4: негде у првом негативном квадранту (између 0 и -90° ротације).
Трећи цео број (2) специфицира позицију осе 6: негде у трећем позитивном квадранту (између 180° и 270°
ротације).
Четврти цео број (1) специфицира позицију осе x, виртуелне осе која се користи за специфицирање центра зглоба
у односу на друге осе.
Надгледање конфигурација се може искључити или укључити независно за кретања у зглобу и линеарна кретања
и контролише се ConfJ и ConfL инструкцијама радњи.
За програме са линеарним инструкцијама кретања ово може довести до ситуације у којој робот прилази све
ближе границама зглоба и на крају није више у стању да досегне циљ.
Приликом offline програмирања сваком циљу се мора придружити конфигурација уколико ће се програм
извршавати са надгледањем конфигурација.
Геометрије су у основи CAD фајлови који се, приликом увоза, копирају у RobotStudio станицу.
Библиотеке су објекти који су били снимљени у RobotStudio-у као екстерни фајлови. Приликом увоза библиотеке
креира се линк између станице и библиотеке. Сходно томе фајл станице не расте истом брзином као приликом
увожења геометрија. Штавише, поред геометријских података, фајлови библиотеке могу садржати и податке
специфичне за RobotStudio. На пример, ако се алат сними у библиотеку, подаци о алату бивају снимљени заједно
са CAD подацима.
Главни (највиши у хијерархији) чвор геометрије се називадео (Part). Део садржи тела (bodies) која могу бити
запреминска (солид) (solid), површинска (surface) или криволинијска (curve).
Запреминска тела су 3D објекти који се састоје од страна (faces). Правo запреминско тело се препознаје по
једном телу које садржи више страна.
Површинска тела су 2D објекти или само једна страна. Део који садржи више тела са по једном страном која
заједно конституишу 3D објекат је креиран од 2D површина, па стога није прави 3D солид. Ако овакви делови
нису креирани исправно, исти могу проузроковати проблеме приликом приказивања и графичког програмирања.
Криволинијска тела, представљена само body чвором у Modeling browser-у, не садрже децу чворове.
За ову врсту геометрије се може подесити ниво детаља за графичку репрезентацију, чиме се редукују величина
фајла и време потребно за рендеровање за велике моделе или се побољшава визуелни приказ за мале моделе
чији приказ корисник жели да увећа. Ниво детаља утиче само на визуелни приказ; путање и криве линије
креирани на основу модела ће бити прецизни и са грубим и са финим подешавањима.
Део се такође може увести из фајла који једноставно дефинише његову графичку репрезентацију; у овом случају
у основи не постоји његова математичка репрезентација. Неке од функција у RobotStudio-у, попут snap мода и
креирања кривих линија на основу геометрије, неће радити са овом врстом делова.
Користити комбинацију
Да би се Опис
тастатура / миш
Бирали објекти Кликнути на објекат да би исти био изабран. Да
би се изабрало више објеката држати притиснут
тастер CTRL приликом кликтања на исте.
Притиснути и држати притиснутим CTRL и SHIFT
Ротирала станица CTRL + SHIFT + тастере и леви тастер миша и померати миша да
би се ротирала станица.
Исто је могуће постићи и комбинацијом средњег
и десног тастера миша.
Померала станица Притиснути и држати притиснутим CTRL тастер и
CTRL +
у равни екрана леви тастер миша и померати миша да би се
станица померала у равни екрана.
Притиснути и држати притиснутим CTRL тастер и
Увећао/умањио десни тастер миша и померати миша улево да би
CTRL + се умањио приказ. Померати миша удесно да би
приказ станице
се увећао приказ.
Исто је могуће постићи и средњим тастером
миша.
Увећао приказ Притиснути и држати притиснутим SHIFT тастер и
SHIFT +
уз помоћ прозора десни тастер миша и превући миша преко
области чији се приказ жели увећати.
Бирало Притиснути и држати притиснутим SHIFT тастер и
SHIFT +
уз помоћ прозора леви тастер миша и превући миша преко области
у којој се налазе објекти који се желе изабрати.
Празна станица садржи само радну раван са референтним координатним системом (у питању је RobotStudio
world координатни систем). Радно окружење изгледа као на следећој слици.
Сада је могуће померати (транслација и ротација) робота у радном простору. Да би се извршило померање у
смислу транслације потребно је кликнути на модел робота у стаблу, а затим кликнути на дугме Move ( ) које се
налази у групи команди Freehand на картици Home. Уз помоћ показивача миша се може померати основа робота
(транслација).
2.3 Контролер
Време је да се укључи контролер у систем. Потребно је кликнути на картицу Home, затим кликнути на дугме
Robot Sytem ( ) која се налази у групи команди Build Station и изабрати команду From Layout... ( ).
Три дугмета означена на слици испод су сада активна. То значи да је од овог тренутка виртуелни контролер у
могућности да покреће роботску руку.
2.4 Алати
Следећи корак је постављање алата на роботску руку. Исти може бити увезен из библиотеке. Потребно је
кликнути на картицу Home, затим кликнути на дугме Import Library ( ) која се налази у групи команди Build
Након избора алата неопходно је поставити исти на роботску руку. То је могуће урадити у стаблу једноставним
превлачењем модела алата на модел робота.
Сада је могуће променити оријентацију алата, уз задржавање позиције централне тачке алата (кликнути на
модел робота у стаблу, а затим кликнути на дугме Jog Reorient ( ) које се налази у групи команди Freehand на
картици Home).
Подразумевано се креирани радни објекат (са називом Workobject_1) подудара са wobj0 (основа робота). Ако се
жели да се радни објекат дефинише на нивоу пода, а робот се налази 400mm изнад пода, онда је радни објекат
неопходно дефинисати на позицији -400 дуж Z осе.
У овом тренутку не зна се да ли робот може ефективно дохватити дефинисане циљеве. Код већине апликација за
програмирање рада робота почетна позиција робота се дефинише у односу на основу робота (која је у овом
случају wobj0). Робот се може померити у жељену почетну позицију ...
Ништа се није десило пошто робот није у стању да досегне позицију. RobotStudio приказује упозорење.
2.7 Путање
Радна путања робота се сада може креирати повезивањем тачака циљева. Потребно је кликнути на дугме Path (
), које се налази у групи команди Path Programming на картици Home, и изабрати команду Empty Path ( ).
Након креирања путање Path_10 треба у стаблу превући све циљеве жељеним редоследом на исту.
Софтвер је у стању да изврши аутоматско конфигурисање. Потребно је кликнути десним тастером миша на
путању (Path_10) у стаблу и изабрати команду Auto Configuration ( ) која се налази у подменију Configurations
контекстуалног менија.
Могуће је дефинисати конфигурацију и за сваки циљ понаособ. Треба кликнути десним тастером миша на
жељени циљ у стаблу, и изабрати команду Configurations... ( ) која се налази у подменију Modify Instruction
контекстуалног менија.
Сада је потребно изабрати путање за симулацију (у нашем случају то је само путања Path_10). Треба кликнути на
дугме Simulation Setup ( ) које се налази у групи команди Configure на картици Simulation, затим на ставку
T_ROB1 и у падајућој листи Entry point изабрати Path_10.
Након симулације се могу изменити подешавања (на пример за циљеве), ако се на основу порука утврди да је то
неопходно. Након измена је потребно поново извршити синхронизацију.
2.9 RAPID
Генерисани програм је могуће видети ако се кликне на картицу RAPID, а затим се кликне на катицу Controller у
паноу са леве стране.
Може се видети програмски код модула (треба кликнути десним тастером миша на назив модула и изабрати
команду RAPID Editor ( ) из контекстуалног менија).
Програм се може снимити. Треба кликнути на дугме Program ( ) које се налази у групи команди Controller на
картици RAPID и изабрати команду Save Program As... ( ).
Такође је могуће посматрати симулацију рада робота и програмски код у исто време. Треба кликнути на картицу
програмског кода модула (T_ROB1/Module1) и из контекстуалног менија изабрати команду New Vertical Tab
Group. Затим треба кликнути на дугме Start ( ) које се налази у групи команди Test and Debug на картици
RAPID.
Програм се може и симулирати корак по корак (треба кликнути на дугме Step in ( ) у групи команди Test and
Debug на картици RAPID).
Креирати празну станицу. Кликнути на дугме Import Geometry ( ), које се налази у групи команди Build Station
на картици Home, и изабрати команду Browse for Geometry... ( ). Појављује се оквир за дијалог Browse for
Geometry.... Потребно је позиционирати се на фолдер у коме се налази жељени фајл (геометријски модел стола
је креиран у PTC Creo-у и снимљен је са екстензијом .sat (ACIS фајл) (фајлови са овом екстензијом се могу увести у
RobotStudio; ово је најбоља опција за увоз)), затим изабрати исти показивачем и кликнути на дугме Open.
Потребно је прво укључити опцију Snap End ( ) која омогућава бирање крајњих тачака ивица на објектима, а
затим изабрати жељене тачке и кликнути на дугме Apply.
Следи увожење алата (AW Gun PSF 25) и постављање истог на роботску руку.
Уколико се појаве проблеми једно од решења је промена позиције радног предмета (wp1; погледати слику
испод) уз накнадну обавезну промену позиције радног објекта (Workobject_1).
Након тога треба извршити аутоматско конфугурисање путање (изабрати конфигурацију Cfg1 (0,0,0,0)).
Коначно треба извршити синхронизацију са виртуелним контролерим, додати путању Path_10 у оквиру
подешавања за симулацију и покренути симулацију.
Види се да централна тачка алата (TCP) не долази до тачака циљева. То је због тога што се у оквиру инструкција за
циљеве за подешавање Zone користи вредност z100. Ова опција дефинише колико близу програмираној
позицији оса мора бити пре окретања према следећој програмираној позицији. Треба за циљеве изабрати
вредност fine (коамнда Edit Instruction...), извршити поново сихнронизацију са виртуелним контролером и
покренути симулацију. Сада ће централна тачка алата доћи до свих циљева.