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.
Top Related