guião do trabalho laboratorial nº 3 criação do programa no...

19
ROBIN Robótica Industrial Guião do Trabalho Laboratorial Nº 3 Criação do Programa no ABB RobotStudio 5.15.01 Homepage: http://www.dee.isep.ipp.pt/~mss Email: [email protected] Ano Letivo: 2013/2014 © 2013 ISEP – Instituto Superior de Engenharia do Porto

Upload: dinhmien

Post on 12-Dec-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

ROBIN

Robótica Industrial

Guião do Trabalho Laboratorial Nº 3

Criação do Programa

no ABB RobotStudio 5.15.01

Homepage: http://www.dee.isep.ipp.pt/~mss

Email: [email protected]

Ano Letivo: 2013/2014

© 2013 ISEP – Instituto Superior de Engenharia do Porto

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 3 de 19

Robótica Industrial – 2013/2014 Manuel Silva

Criação do Programa

Sumário: Com este guião, pretende-se passar ao aluno a informação básica acerca do

funcionamento automático do robô. É neste guião que se apresenta a forma de

sequenciar os movimentos do robô, assim como a definição das velocidades de

movimentação, etc.

A criação dos paths é um passo fundamental para a criação de um programa para um robô no

ABB RobotStudio. Os paths (caminhos ou trajetos) são sequências de instruções de movimento,

sendo usados para fazer o robô mover-se ao longo de uma série de targets. Os paths são

convertidos em procedimentos quando sincronizados com o controlador virtual.

O primeiro passo no desenvolvimento de um programa passa por testar se o robô consegue

alcançar as posições críticas sobre a peça de trabalho. Se o programador estiver satisfeito com a

forma como o robô atinge a posição, a estação está pronta para a programação. Caso contrário,

deve-se continuar a ajustar o posicionamento dos targets ou tentar utilizar outros equipamentos.

Os targets são definidos e armazenados como um conjunto de coordenadas relativas a um

sistema de coordenadas denominado WorkObject. Quando o controlador calcula a posição dos

eixos de um robô para chegar ao destino, ele vai encontrar muitas vezes mais do que uma

solução (configuração) possível para a configuração dos eixos do robô, como se pode ver na

Figura 1.

Figura 1 Diferentes configurações alternativas para um robô alcançar um target

Antes de se iniciar o estudo da criação dos paths propriamente dito, convém dedicar alguma

atenção a um aspeto muito importante para o desenvolvimento de programas que se possam

executar no robô sem problemas – a questão da configuração associada aos targets. As

configurações de um target correspondem às possíveis soluções da cinemática inversa que o

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 4 de 19

Robótica Industrial – 2013/2014 Manuel Silva

robô pode adotar para se posicionar sobre um target. Para distinguir entre as diferentes

configurações, todos os targets têm associado um valor de configuração que especifica o

quadrante em que cada eixo está localizado.

Para targets que são ensinados depois de se deslocar o robô para a posição (efetuando o jog do

robô), a configuração utilizada durante o deslocamento é a armazenada no target. Por outro lado,

os Targets criados através da especificação ou cálculo das suas posições e orientações ficam com

um valor de configuração padrão (0,0,0,0), que pode não ser válido para atingirem o alvo.

É muito provável que os targets criados de outras formas, que não depois de se deslocar o robô

para a posição (efetuando o jog do robô), não possam ser alcançados na sua configuração padrão.

Mesmo que todos os targets num trajeto (path) apresentem configurações validadas

(configurações que tornam possível ao robô deslocar-se para o target), é possível (e muito

provável!) encontrar problemas ao executar o path, caso o robô não se consiga mover de uma

configuração para a outra. É bastante provável que isto ocorra quando um eixo efetua rotações

superiores a 90 graus, durante os movimentos lineares.

Os targets que são reposicionados mantêm a sua configuração, mas as configurações já não se

encontram validadas. Como resultado, os problemas descritos acima podem ocorrer quando se

movem ou reposicionam targets.

Para resolver os problemas descritos acima, pode-se atribuir uma configuração válida a cada

target e verificar que o robô se pode mover ao longo de cada path. É também possível desativar

a monitorização das configurações dentro do programa, o que significa que o programa ignora as

configurações armazenadas e “deixa” o robô encontrar configurações de trabalho durante a

execução. Se isto não for feito da maneira correta, poder-se-ão obter resultados inesperados.

Em alguns casos pode mesmo não haver quaisquer configurações válidas. As possíveis soluções

para estes casos podem passar por reposicionar a peça de trabalho, reorientar os targets (se for

aceitável para o processo) ou adicionar um eixo externo que movimente quer a peça de trabalho

quer o robô, para aumentar a acessibilidade.

As configurações dos eixos do robô são indicados por uma série de quatro números inteiros,

especificando em que quadrante de uma revolução completa se encontram localizados os eixos

significativos. Os quadrantes são numerados a partir de zero para rotação positiva (sentido anti-

horário) e de 1 para rotação negativa (sentido horário).

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 5 de 19

Robótica Industrial – 2013/2014 Manuel Silva

Para um eixo linear, o inteiro especifica a distância (em metros) a partir da posição neutra em

que o eixo está localizado.

A configuração de um robô industrial de seis eixos (como o IRB 140) pode ser parecida com:

[0 1 2 1]

O primeiro número inteiro (0) especifica a posição do eixo 1: encontra-se no primeiro

quadrante positivo (entre 0 e 90 graus de rotação).

O segundo inteiro (1) especifica a posição do eixo 4: encontra-se no primeiro quadrante

negativo (entre 0 e 90 graus de rotação).

O terceiro inteiro (2) especifica a posição do eixo 6: encontra-se no terceiro quadrante

positivo (entre 180 e 270 graus de rotação).

O quarto inteiro (1) especifica a posição do eixo x, um eixo virtual usado para especificar

o centro do punho em relação aos outros eixos.

Ao executar um programa do robô, é possível escolher se se pretende monitorizar os valores das

configurações. Se a monitorização das configurações estiver desativada, os valores de

configuração armazenados com os targets são ignorados, e o robô irá utilizar a configuração

mais próxima da sua configuração atual para alcançar o target. Se estiver ativada, ele só irá usar

a configuração especificada para atingir os targets.

A monitorização de configurações pode ser ativada e desativada de forma independente para as

instruções de movimento a que correspondem interpolações no espaço das juntas e no espaço

operacional e é controlada pelas instruções de ação ConfJ e ConfL.

Executar um programa sem monitorização das configurações pode resultar em configurações

diferentes de cada vez que um ciclo é executado: significa que quando o robô retorna à posição

inicial, depois de completar um ciclo, ele pode adotar uma configuração diferente da original.

Para programas com instruções de movimento linear isso pode levar a uma situação em que o

robô se aproxima cada vez mais dos seus limites das juntas até que, eventualmente, não será

capaz de atingir o target.

Para os programas com instruções de movimento ao nível das juntas isso pode causar

movimentos imprevisíveis, curvilíneos e com oscilações.

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 6 de 19

Robótica Industrial – 2013/2014 Manuel Silva

Executando um programa com a monitorização de configurações ativa força o robô a usar as

configurações armazenadas com os targets. Isto resulta em ciclos previsíveis e movimentos

previsíveis. Em algumas situações, no entanto, como quando o robô se move para um target a

partir de um ponto desconhecido, a utilização da monitorização de configurações ativa pode

limitar a acessibilidade do robô.

Quando se desenvolve um programa em modo offline, deve-se atribuir uma configuração

validada a cada target, caso o programa deva ser executado com monitorização de

configurações.

Após esta introdução à problemática da definição correta dos targets para efetuar a programação

de robôs, passa-se, de seguida, à criação de um programa.

Antes de criar um path para o robô, é necessário criar o modelo do mundo, ou seja configurar a

estação, incluindo robôs, peças e utensílios de trabalho, em que o robô vai funcionar e definir um

conjunto de targets para onde se pretende que o robô se desloque. Uma vez que estes

procedimentos já foram treinados nas duas aulas anteriores, o aluno deverá começar por “abrir” a

célula sobre a qual trabalhou na semana anterior.

O primeiro passo a efetuar, para a sequenciação de movimentos, será a criação de um path.

Existem duas formas alternativas de criar um path, como se pode ver na Figura 2:

Criar targets nas posições pretendidas e, em seguida, criar um path vazio (“Empty

Path”) e inserir neste os targets criados;

Criar uma curva que corresponda à forma pretendida para o path. Usar então o

comando “AutoPath” para gerar uma trajetória completa, com targets, ao longo da

curva criada.

Relativamente à segunda destas opções, quando se criam paths com base na geometria de

objetos, os objetos geométricos que o RobotStudio usa são as curvas. Por exemplo, se se

pretender que o robô execute um movimento ao longo da periferia de um objeto, pode-se

primeiro criar uma curva ao longo da fronteira do objeto e, em seguida, gerar um caminho

completo ao longo dessa curva, ao invés de procurar e criar manualmente os targets necessários.

Se a geometria / modelo CAD da peça sobre a qual se está a trabalhar não contêm já as curvas,

estas podem-se criar no RobotStudio.

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 7 de 19

Robótica Industrial – 2013/2014 Manuel Silva

Figura 2 Formas alternativas de criar um path

Como se pode ver na Figura 3, algumas das possibilidades presentes no ABB RobotStudio para

criar curvas definidas por modelos gráficos de objetos, são as seguintes:

Border around Bodies – este comando permite definir uma curva como sendo a

fronteira entre dois objetos;

Border around Surface – este comando permite definir uma curva como sendo a

fronteira exterior de uma superfície;

Border from Points – este comando permite definir uma curva como sendo a fronteira

exterior de um, ou mais, objetos ou superfícies, definidos através da seleção de pontos

limitadores das fronteiras pelo utilizador.

Neste ponto sugere-se ao aluno que procure criar curvas nos objetos de que disponha no espaço

de trabalho, recorrendo às opções anteriores. Caso o aluno não disponha de objetos no espaço de

trabalho deve criar ou importar alguns das bibliotecas existentes.

No caso de as curvas não estarem já definidas (por exemplo através das formas gráficas de

objetos sobre os quais o robô vai trabalhar) é ainda possível criá-las de raiz, com a forma

pretendida pelo utilizador.

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 8 de 19

Robótica Industrial – 2013/2014 Manuel Silva

Figura 3 Alternativas disponíveis no ABB RobotStudio para criar curvas definidas por objetos

Algumas das possibilidades presentes no ABB RobotStudio para criar curvas com diferentes

formas geométricas, são as seguintes (ver Figura 4):

Line;

Circle;

Three Point Circle;

Arc;

Elliptical Arc;

Ellipse;

Rectangle;

Polygon;

Polyline;

Spline.

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 9 de 19

Robótica Industrial – 2013/2014 Manuel Silva

Figura 4 Formas alternativas de criar curvas com diferentes formas geométricas no ABB

RobotStudio

Depois de criar as curvas, o aluno deve transformá-las em paths para o robô. Para o efeito deve

selecionar o comando “Path from Curve” (ver Figura 2) para gerar uma trajetória completa, com

os targets dispostos ao longo da curva criada. De forma a selecionar corretamente as opções

necessárias a este comando, sugere-se a leitura das páginas 208 – 210 do manual do ABB

RobotStudio 5.13.02.

Quanto à primeira alternativa para criar um path, isto consegue-se de duas formas: ou premindo

o botão do lado direito do rato em cima da pasta “Paths” (ver Figura 5), que se encontra no

separador “Paths & Targets”, e selecionando a opção Create Path, ou então na barra de

ferramentas em cima, selecionando a opção “Path” e, dentro desta, a opção “Empty Path” (ver

Figura 2). Na Figura 5, estão destacadas as opções para a criação do path, e na Figura 6 o aspeto

do ABB RobotSudio com o path criado.

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 10 de 19

Robótica Industrial – 2013/2014 Manuel Silva

Figura 5 Opções para criação de um path

Figura 6 Path já criado

Como é possível observar na Figura 6, foi criado o “Path_10”, que será utilizado para a

sequenciação dos movimentos que o robô efetuará. A forma de conseguir efetuar essa operação é

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 11 de 19

Robótica Industrial – 2013/2014 Manuel Silva

passando os targets para dentro da path, sendo que isso pode ser feito por arrastamento dos

targets, ou então premindo o botão do lado direito do rato em cima de um target. Recorrendo a

esta segunda opção, é mostrada a lista de opções disponíveis, conforme se pode observar (Figura

7). De salientar que a partir de um target, e usando esta funcionalidade do software, também se

pode criar um novo path.

Figura 7 Adição de um target a um path, com a possibilidade de indicação da posição relativa em que

o target deve ser adicionado ao path

Observa-se ainda na Figura 7 que é possível definir a posição que o target irá ocupar dentro do

path. Este passo é da maior importância, dado que é a forma de introduzir a sequenciação de

movimentos.

É, no entanto, possível alterar a ordem dos movimentos do robô, sendo essa alteração feita no

path por arrastamento dos targets, para a posição desejada. Fica a cargo do aluno a otimização

de movimentos para economia de tempo ou aproveitamento de velocidade, se assim o desejar.

Salienta-se que em aplicações reais, a otimização é um fator crucial para o aumento da produção

e poupança nos custos de fabrico.

Na Figura 8 é possível observar o aspeto de um robô e o respetivo path (linha representada a

amarelo na figura), já com os targets na sequência pretendida para que o robô execute a tarefa

pretendida de forma correta.

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 12 de 19

Robótica Industrial – 2013/2014 Manuel Silva

Figura 8 Robô com o path já sequenciado

De uma forma geral, ao arrastar os targets para dentro do path, a sequência criada, não será a que

se pretende. Caberá ao aluno organizar a sequência dos targets. Após a sequenciação, premindo

o botão do lado direito do rato em cima do “Path_10”, aparece uma lista de opções. Nesta fase

do trabalho, salientam-se as opções “Configurations”, e dentro desta a subopção “Auto

Configuration” (ver Figura 9), para atribuir uma configuração única a todos os targets de um

path, e a opção “Move Along Path” (ver Figura 10), para testar/verificar o movimento do robô ao

longo do trajeto criado. Estas funcionalidades estão também disponíveis a partir da aba “Modify”

(ver Figura 11).

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 13 de 19

Robótica Industrial – 2013/2014 Manuel Silva

Figura 9 Funcionalidade “Auto Configuration”

Figura 10 Funcionalidade “Move Along Path”

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 14 de 19

Robótica Industrial – 2013/2014 Manuel Silva

Figura 11 Funcionalidades “Move Along Path” e “Auto Configuration”

Os paths podem ser interpolados ou lineares e/ou interpolados por secções, isto é, entre targets.

Premindo o botão direito do rato em qualquer uma das instruções dentro do path, surge uma lista

de opções e funcionalidades bastante extensa (ver Figura 12). Ao selecionar a opção “Modify

Instruction” (opção sombreada na Figura 12), fica disponível do lado esquerdo uma janela com

vários parâmetros passíveis de serem alterados (Figura 13).

Estão destacados dois parâmetros, nomeadamente “Speed”, que é auto explicativo, e o parâmetro

“Zone”. Este último prende-se com o conceito de aproximação ao alvo. O robô poderá ter

algumas diferenças nas trajetórias efetuadas mesmo entre dois (mesmos) alvos, quando está a

repetir o ciclo do programa.

Consegue-se minimizar essas diferenças com o parâmetro Zone. Quanto menor for o número

identificador, mais “apertada” é a trajetória possível para atingir o alvo.

É usual reduzir a velocidade no parâmetro Speed e “apertar” a trajetória com o parâmetro Zone,

conforme a ferramenta se vai aproximando do alvo.

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 15 de 19

Robótica Industrial – 2013/2014 Manuel Silva

Figura 12 Opções disponíveis para configurar as instruções dentro do path

Figura 13 Parâmetros da funcionalidade “Modify Instruction”

O primeiro parâmetro deste menu, que aparece na caixa de seleção “Motion Type”, pode assumir

dois valores, Linear e Joint. No caso do movimento Linear, a trajetória resultante é uma

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 16 de 19

Robótica Industrial – 2013/2014 Manuel Silva

interpolação linear no espaço operacional, correspondendo a uma trajetória retilínea efetuada

pelo braço do robô. No caso de estar selecionada a opção Joint, a trajetória resultante é uma

interpolação linear no espaço das juntas, sendo o movimento resultante da extremidade do robô

(punho ou atuador final) “ondulante”. No entanto, após o robô executar a trajetória o resultado

final será o mesmo, isto é, a ferramenta irá posicionar-se no alvo escolhido.

Salienta-se, no entanto, que nalgumas aplicações será necessário definir o movimento como

Linear, enquanto para outras o movimento do tipo Joint será adequado.

Premindo novamente o botão direito do rato em qualquer uma das instruções dentro do path, e

selecionando a segunda opção no menu que surge, “Insert Action Instruction” (ver Figura 12),

aparece uma janela do lado esquerdo da aplicação que permite definir algumas instruções para

que o robô execute ações no decurso da instrução de movimentação para o target. As ações que

se podem programar podem ser do tipo de esperar algum tempo predeterminado, esperar a

ativação de um sinal de entrada analógico ou digital, ou ainda ativar algum desses sinais.

Conforme se pode ver na Figura 14, foi inserida uma ação após a instrução de movimentação

para o Target_10. Esta instrução de ação corresponde à ativação (colocação ao nível lógico 1) da

saída digital “Close_Gripper”.

Depois dos paths estarem criados existem várias opções e comandos que facilitam a sua

alteração (ver Figura 15). De entre estes, salientam-se as seguintes opções (ver páginas 96 – 98

do manual do ABB RobotStudio 5.13.02):

Setting robot axis configuration for paths;

Reversing paths;

Rotating paths;

Translating a path;

Compensating paths for tool radius;

Compensating paths for tool radius;

Mirroring a path.

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 17 de 19

Robótica Industrial – 2013/2014 Manuel Silva

Figura 14 Programação de instruções de ação dentro do path

Figura 15 Algumas opções e comandos que facilitam a alteração dos paths

Como se mostra na Figura 16, Estão também disponíveis comandos que facilitam a tarefa de

modificação da orientação dos targets (estes comandos permitem automatizar estas tarefas). De

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 18 de 19

Robótica Industrial – 2013/2014 Manuel Silva

entre estes, salientam-se as seguintes opções (ver páginas 99 – 101 do manual do ABB

RobotStudio 5.13.02):

Set normal to surface;

Align target orientation;

Copy / apply orientation.

Figura 16 Algumas opções e comandos que facilitam a alteração dos targets

Sugere-se que os alunos testem estas diferentes possibilidades nos paths que criaram, para verem

o seu efeito.

No final deste guião considera-se que o aluno deverá ter entendido e será capaz de diferenciar os

seguintes aspectos:

Os targets são os pontos essenciais a partir dos quais se constrói o programa do robô;

O path, como o próprio nome indica, é o caminho, ou trajetória, que o robô irá executar:

o Existem várias formas de inserir os targets dentro do path;

o É possível reorganizar o path;

Guião N.º 3: Criação do Programa no ABB RobotStudio 5.15.01 Página 19 de 19

Robótica Industrial – 2013/2014 Manuel Silva

o É possível executar testes simples de movimentação do robô.

As instruções dentro do path podem ser alteradas:

o Os parâmetros Speed e Zone devem estar bem assentes;

o O tipo de movimentação Joint ou Linear deve ser considerado.

Podem ser inseridas instruções para ações que não são de movimento (pelo menos do

robô):

o Existem várias ações disponíveis.

Bibliografia

[1] ABB, RobotStudio, Version 5.13,

http://www.abb.com/product/seitp327/78fb236cae7e605dc1256f1e002a892c.aspx

[2] ABB—Operating manual RobotStudio 5.13, Revision B, ABB, 2010.

[3] ABB—Technical reference manual, RAPID Instructions, Functions and Data types,

RobotWare 5.0, Revision E, ABB, 2007.