Prévia do material em texto
APOSTILA CURSO CÉLULA ROBÓTICA PARA MECATRÔNICA
Prof. Me. Ederson Carlos Silva.
Visualização
Objetivo: Obter diferentes views do braço
robótico e célula de manufatura.
Através dos itens ao lado esquerdo do robô,
podemos obter várias visualizações diferentes do
robô.
Também se segurarmos o botão direito e depois
movimentar o mouse, obtemos posições
diferentes do robô.
É bom para definir posições distintas, evitar
conflitos de peças, braços etc.
Orientação
Objetivo: Identificar posicionamento correto
através de coordenadas e giros.
Coordenadas X Y Z. World. Orientação A B C. World.
Realize a alteração nas coordenadas com o robô selecionado para ver as diferentes posições
quando modificados estes valores.
Ferramentas
Objetivo: Inserir ferramentas existentes no software e dimensioná-las. Definir endereço
de saída, acionar e calibrar TCP.
Vamos ver algumas ferramentas no eCatalog do software. Abaixo algumas disponíveis:
Vamos selecionar a Gripper Ready 2 – Educated Basic. Dando 2 cliques sobre ela, é inserida no
área de trabalho do robô.
Clique na ferramenta e
segure próximo ao
punho do robô. Ao
chegar mais perto, ela
irá acoplar a ferramenta
no robô.
Esse exemplo de ferramenta (garra), não é permitido
redimensionar (alterar seu tamanho). Isso só pode ser
feito modelendo a ferramenta.
Na aba do lado direito do braço robótico, Component
Properties, vamos alterar seu nome para GARRASOFT e
alterar seu material para Aluminium, este último apenas
para visualização.
Em J1, podemos editar a abertura da garra e J1_Closed,
altera-se com quanto ela fecharia. Deixe J1 com 10,
apenas para visualização.
Ainda na aba HOME, selecione o braço robótico KR3 e na aba Component Properties, irá aparecer
no final dela, uma sub aba com nome de Actions Configuration, conforme imagem abaixo.
Nesse parte iremos identificar o endereço de ação da
ferramenta garra em Output, alterando para um valor
qualquer. Vamos colocar 2.
Logo em seguida, em On True, abrirá opções para
realizarmos com essa ferramenta. Exemplo:
Grasp – significa apertar
Mount Tool – ferramenta de montagem
Trace On – rastreador
Swept Volume On - varreador
Ao selecionar por exemplo Grasp, em On False,
automaticamente o software completa com a ação
contrária, nesse caso, RELEASE (soltar).
Um item importante é não esquecer de informar para o
robô onde está salvo sua ferramenta. Nesse caso, em Using
Tool, colocar TOOL_DATA[1].
Agora precisamos informar na programação que essa ferramenta terá o endereço de
informações de processo em TOOL_DATA[1]. Conforme imagem, basta ir em PROGRAM,
selecionar a aba JOG e em Tool, selecionar TOOL_DATA[1].
Devemos criar um link (nó) para toda vez que acionar o a
saída do robô cadastrada, aconteça a ação de abrir e fechar
a garra do manipulador.
Vamos voltar na aba PROGRAM, no canto esquerda temos a
janela com abas na parte inferior chamada de Job Map e
Controller Map. Vamos selecionar a aba Controller Map.
Selecionar a opção TOOL_DATA[1], conforme figura ao lado
direito.
Logo após essa seleção será
permitido na janela do lado direito do
braço robótico, trabalhar com as
propriedade do TOOL_DATA[1].
Nessas propriedades iremos realizar
o nó e identificar essa ferramenta
como garra. Temos a aba Tool
Properties, depois de selecionar,
alterar o Description e o Node para
GARRASOFT.
Também devemos dimensionar o
TCP da ferramenta. Na figura ao lado,
foi dimensionado a ferramenta para termos uma distância de 30 em X e 98 em Z. Repare as
coordenadas X, Y e Z estão em posições diferentes. Feito isso, o TCP está com a posição da
pegada da garra.
Movimentação do Robô
Objetivo: Aprender os principais comandos de movimentação do robô.
Nesse momento temos o conceito da movimentação robô, para definir posições de parada,
velocidade, etc. Os 3 principais movimentações, vem através da rotina de programação
(comandos) e são:
MOVIMENTO PTP
O robô conduz o TCP ao longo do trajeto
mais rápido até o ponto de destino.
Normalmente o trajeto mais rápido não é
o trajeto mais curto e portanto não é
reto.
Como os eixos do robô se movimentam
em rotações, os trajetos em forma de
arcos podem ser executados com maio
rapidez do que trajetos retos.
O decurso exato do movimento não é
previsível.
PTP HOME, sempre irá
movimentar o robô para
posição zero dele. Essas
posição é gravada e não
pode ser modificada.
Exemplo: PTP HOME VEL=100%
Robô se move para a posição HOME com velocidade máxima.
Esse outro movimento,
permite movimenta o robô
para qualquer outra posição
que não seja o HOME.
Exemplo: PTP P1 CONT Vel=100% PDATP1 TOOL(1) BASE(0)
Para esse exemplo, temos o robô movimentando do ponto atual até o P1 de maneira contínua
(explicação abaixo) com velocidade 100%. P1 é o ponto gravado pelo usuário.
PDATP1 não pode ser editado e é a informação da posição de P1 referenciando o robô para
identificar e deixar gravado seu local. Também fixa em sua gravação a informação da linha de
comando toda.
TOOL(1) é a ferramenta GARRASOFT que cadastramos nos procedimentos anteriores. Quando
selecionamos ela, estamos dizendo para o robô que irá utilizar a garra e a mesma tem um novo
TCP. Verifique que a posição do TCP se altera.
BASE(0) utiliza a orientação de posicionamento do robô. Nesse caso, as coordenadas X Y Z são
baseadas na posição 0 do manipulador. Essa posição pode ser editada.
MOVIMENTO LINEAR
O robô conduz o TCP, com a velocidade
definida, ao longo do trajeto mais curto, até
o ponto de destino. O trajeto mais curto é
sempre uma reta.
Deve se atentar para indicar o ponto entre
início e fim do trajeto, com intuito de evitar
colisão entre robô e objetos no caminho.
Colisão entre braço e robô, o próprio robô
físico já avisa. No software você pode evitar
colisão através do item Colision Detectors
que fica na aba PROGRAM.
EXEMPLO: LIN P2 CONT VEL=2m/s CPDATP2 TOOL(1) Base(0)
Robô irá se movimentar de maneira linear entre o ponto atual até o ponto P2 (gravado pelo
usário), de maneira contínua, com velocidade de 2m/s.
O dados dessa linha ficam gravados em CPDATP2. Usa-se a ferramenta GARRA conforme
cadastro em TOOL(1) e o ponto ficam refenciado na própria base do robô BASE(0).
MOVIMENTO CIRC
O robô conduz o TCP, com a velocidade
definida, ao longo de um trajeto circular, até
o ponto de destino. O trajeto circular é
definido pelo ponto de partida, pelo ponto
auxiliar e pelo ponto de destino.
O conceito é que CIRC faz uma
circunferência, onde o ponto auxiliar diz a
curva dessa circunferência.
Não deve ser confundido com a realização de círculo completo. Para a realização de um círculo
completo, deve ser realizado duas linhas do comando código CIRC.
EXEMPLO: CIRC C1 C2 Vel=2m/s Tool[1] Base(0)
O robô realiza o movimento de uma circunferência, onde o local atual é o ponto inicial, C2 é o
ponto de destino e C1 é o ponto médio (auxiliar) da circunferência.
Primeiro Projeto
Manipulação/movimentação de objetos
Nesse tópico iremos realizar a movimentação de uma peça através da garra cadastrada
anteriormente.
Iremos realizar os comandos de movimentação PTP e LIN.
Mas primeiramente, vamos inserir uma peça no projeto, nesse caso, um bloco. Na aba HOME,
em eCatalog, procure por Block em Search. Insira o mesmo no ambiente de trabalho do
manipulador. Vamos alterar seu tamanho, visto que o bloco inserido possui dimensões
incompatíveiscom o robô.
Os detalhe dos números na imagem abaixo chama a atenção para:
1 – Alterado apenas o
valor de X, colocando a
peça na posição 400mm
de distância da base do
robô.
2 – Alterado o material
para Iron (ferro) apenas
para simular um
material diferente.
3 – Alterado o
comprimento, altura e
largura da peça. Esses
valores inseridos,
permitem que a garra
pegue a peça.
Como a peça já está inserida em um ponto bom, vamos realizar o trabalho de movimentação
da mesma pelo robô.
Vamos abrir a aba PROGRAM e vamos programar.
Sempre é bom, como primeiro passo, movimentar o
robô para a posição zero (HOME). Isso evita os
primeiros movimentos indesejáveis.
Para inserir tal comando, devemos estar na aba Job Map
e clicar em PTP HOME.
Pronto, como HOME é ponto já gravado, vamos para o
próximo.
Vamos inserir agora uma movimentação PTP Command. Detalhe para essa linha de comando,
que precisamos alterar alguns dados.
Como visto na figura ao lado, deverá ser
alterado o Tool[0] para Tool[1], que
configura a garra que cadastramos
anteriormente.
Ao inserir esse comando, o P1 fica gravado como ponto onde está o robô no momento. Você
pode alterar esse local antes ou depois de inserir o ponto. Se você alterar os dados do ponto
depois, deve gravá-lo após fixar o robô no ponto selecionado.
Para movimentar o robô no ponto, vamos primeiro selecionar a ferramenta. Vamos abrir a aba
Job, que fica na janela direita do robô. Você pode alterar posições de X Y Z, e giros A B C. Também
pode realizar através dos movimentos de eixos (joints) A1, A2, A3, A4, A5 e A6.
Vamos movimentar apenas o eixo
A2, inserindo os valores de -50.
Repare na imagem a posição do
robô.
Não devemos esquecer de alterar
a ferramenta: Tool.
Vamos também alterar A3 para
121. Repare que a ferramenta irá
ficar bem próximo do objeto.
Podemos então gravar esse ponto,
como um ponto antes de descer
linearmente a garra.
Basta apenas clicar com o botão
direito do mouse na linha de
programação e clicar em Touch Up, conforme figura abaixo. O ponto nomeado como P1 passa a
ter uma nova coordenada gravada em PDATP1.
Vamos criar um terceiro movimento.
Linear do TCP da garra até a parte superior do objeto.
É simples: você deve clicar no ponto rosa da ferramenta (onde cadastramos o TCP), segurar e
arrastar lentamente até a base do objeto.
Talvez seja convencional dar um zoom para realizar esse movimento, pode ver que o TCP da
garra irá disponibilizar vários pontos para você selecionar, conforme vai movimentando
manualmente o robô.
Caso ocorra movimento de eixos indesejados, clique em desfazer (ou Ctrl+Z) e refaça o
movimento.
Veja na imagem abaixo como ficou:
Agora vou inserir o comando LIN.
Quando é inserido o comando após a movimentação do robô, ele já grava aquele ponto como
P2. Não é preciso nesse caso fazer o Touch UP.
Agora vamos realizar a ação da ferramenta através do comando OUT.
Na janela do lado oposto, Statement
Properties, devemos alterar para saída 2 em
Nr. Saída 2 foi onde cadastramos a ação da
garra anteriomente.
E State deve ser TRUE. Ou seja, ela é acionada,
conforme cadastro.
Agora como próximo
movimento, alterar o
Eixo Z para 200. Inserir
o comando linear. A
ferramenta tomará
uma nova ação de
subir com a peça
linearmente, uma vez
que a garra foi
acionada.
Verifique a
programação ao lado:
Vamos observar algumas coisas interessantes:
1. Os movimentos lineares não possuem a função CONT logo após o ponto. Movimentos
lineares e circulares geralmente não possuem, pois devem ir definitivamente até o
ponto destino.
2. Todos os comandos de movimento estão usando a mesma Base[0].
3. Todos os comandos de movimento estão usando a mesma ferramenta Tool[1].
4. Todos os comandos de ação OUT, devem ter tempo para sua ação física.
Antes de explicar o item 1 e 4, execute o seu programa, clicando em play na área de trabalho
de robô. Ao finalizar, sempre recomendamos retornar para continuar sua programação.
Se quiser que o robô pare em um ponto já cadastrado, apenas clique naquela linha de comando
que está o programa.
ITEM 1. Repare na linha tracejada em vermelho da figura
ao lado. To robô está em P1 e temos 2 linhas de comandos
com LIN, para P2 e depois P3.
Quando colocamos a ação CONT nas linhas de comando, o
robô não segue o movimento até o ponto definido como
P2. Ele apenas contorna, como uma zona de segurança.
CONT é acompanhado de movimentos PTP seguidos.
ITEM 4. A linha de leitura realizada pelo robô, segue velocidades de microcontroladores. Ou seja,
comandos que apenas acionam saídas, devem possuir tempos de atrasos para fisicamente suas
ações ocorrerem.
Entendendo melhor: Imagine P5 e P6 dois pontos
distantes na programação ao lado. Ao atingir o
ponto P5, a ferramenta iria soltar a peça e logo em
seguida, continuar até o ponto P6. Se a ferramenta
for pneumática, seu acionamento físico iria demorar alguns segundinhos. Mas com ação seguida
de movimento, poderia ocorrer a abertura completa e liberação da peça, no caminho do P6.
Isso deve ser corrigido com o comando Wait . Que tem o objetivo de parar a leitura da linha
de programação por um tempo
determinado. Esse tempo é em segundos.
Então vamos definir uma pausa de 0.5s
antes e depois de todo momento de
acionamento de saídas e deixar o programa
conforme abaixo.
Para finalizar, vamos deixar essa peça posicionada do lado direito do robô.
Deixar selcionado a última linha de comando (LIN P3). Na janela da direita, na aba JOG, vamos
alterar o movimento do eixo A1 em -45. Observe seu novo local. Insira a linha de comando PTP
command.
Faça mais uma alteração em A1, dessa vez -90. Insira mais uma linha de comando PTP command.
Agora altere no eixo Z o valor, colocando 100. Insira uma linha de comando LIN, mas sem CONT.
Deve ficar assim, com os pontos cadastrados automaticamente ao inserir a linha.
Se precisar visualizar a movimentação do robô conforme as linhas de código, basta clicar em
Connecting Lines.
Por exercícios de conhecimento, selecione todas as outras linha de movimentação do robô. Você
verá que a ferramenta não solta a peça. Interessante não?
Agora devemos soltar a peça e levantar o braço do robô. Selecione o PTP P5 para deixar o braço
naquela posição. Vamos aproveitar o ponto, mas modificar o comando inserindo LIN P7
conforme abaixo.
Se a linha de comando LIN P7 aparecer logo após
PTP P5, basta selecioná-la, clicar, segurar e arrastar
até onde deseja inserir. No caso, na última linha.
Pode ser feito com qualquer linha da programação,
o arrastamento, a cópia, cola, duplicação, etc.
Algumas ações podem ser vistas clicando com
botão direito do mouse.
Vamos então selecionar copiar a sequência WAIT,
OUT e WAIT. Clique em uma linha, segure Ctrl e
clique nas outras duas.
Clique com direito e clique em copy.
Cole a linha abaixo do comando LIN P6.
Devemos alterar agora o acionamento da garra para soltar a peça, ou seja, State da linha de
comando Out 2 deve ser igual a FALSE.
Para finalizar, vamos inserir o comando PTP HOME.
Toda a programação deve ficar conforme imagem
lateral.
Execute a programação e veja o resultado.
Procedimentos padrões
O robô quando tem uma ferramenta pode sempre executar a mesma programação. E para
diminuir a quantidade de vezes que podemos executar essa programação, podemos chamar as
rotinas/subrotinas.
Exemplo: Imagina que seja realizado a abertura e fechamento da garra, várias vezes naprogramação. Iríamos incansavelmente criar a linha de comando Wait ..., out... e wait.... Para
evitar isso, podemos criar uma rotina.
Basta clicar em Add Subrotine.
Repare que foi criado um rotina nova de
programação em programa atual, chamada de Sub MyRoutine.
Arraste as linhas de comando WAIT... OUT... e WAIT... na ação de fechar garra, para a pasta de
Sub Rotina.
Renomeie a pasta selecionando a linha de código Sub
Rotina e na janela da direta, modifique Name para
FECHAR_Garra.
Faça uma nova rotina com a ação de abrir garra,
renomeando para ABRIR_Garra.
A programação deve ficar conforme imagem ao lado.
Agora devemos chamar essas rotinas, quando
necessárias, inserindo o comando:
Selecione a linha de comando LIN P2, clique em Add Call-Subroutine command. Clique na lina de
comando inserida CALL SUB, na janela do lado direito, altere para FECHAR_Garra em Routine.
Faça o mesmo com a sub rotina abrir garra, na linha de comando correta.
Por fim, deve ficar da seguinte maneira:
Execute o programa e veja os resultados, de ângulos diferentes!
Exercício:
Realize a pegada de duas peças que estão em posições diferentes na planta. Coloque as mesmas
uma do lado da outra. Pode usar a garra do exemplo anterior, já cadastrada. Não esqueça de
salvar como!
Todos movimentos lineares, sem o CONT. Subrotina para Abrir e Fechar Garra.
Coordenadas das peças:
PEÇA1.INICIO- X 0, Y 250, Z 100
PEÇA1.FIM- X 300, Y 0, Z 100
PEÇA2.INICIO- X 0, Y -250, Z 100
PEÇA2.FIM- X 315, Y 0, Z 100
Exercício 2
COMANDO KRL
O software KUKASIM permite a introdução de comandos que instruem o robô na
movimentação, porém não realiza essa movimentação no software, essa movimentação
somente acontece fisicamente no robô.
Todo comando de movimento, pode ser seguido das coordenadas que você gostaria que o
robô se movimenta-se, indicando valores de X, Y e Z entre colchetes {}.
Exemplo: PTP {X 100,Y 200,Z 0}
Nesse caso o robô realizaria o movimento point to point para a coordenada indicada tendo
como vetores de posição 0, a própria base do robô.
Podemos solicitar o desenho dentro de espaço predestinado ao robô desenhar. No caso da ETEC
Pedro ferreira Alves, foi realizado a montagem de uma lousa para executarmos esse tipo de
exercício.
Com a caneta fixada no robô, temos uma coordenada específica para Z quando a ponta da
caneta encosta na lousa.
Vamos primeiramente realizar um desenho manualmente, com coordenadas na base do robô.
Para escrever essas linhas de
progrmação, foi usado apenas os
comandos novos KRL e Comment.
Eles permitem abrir na
janela da direita, respectivamente
KRL in SCR e Comment onde
podem ser editados os textos pelo
teclado.
Lembro que comandos KRL não
são executados no software.
Vamos salvar e extrair esse
projeto para podermos abrir no
manipulador físico e lá sim, ver o
resultado físico.
Quando estiver selecionado a aba
PROGRAM, ele irá habilitar mais
três abas. VRC, IMPORT e EXPORT.
Selecione EXPORT.
Antes de gerar o arquivo .dat e .scr, lembre-se de selecionar o local que você quer gerar o
arquivo, através da janela da direita, Routine Properties. Geralmente o pen drive, onde iremos
transferir o arquivo logo em seguida para o robô e executar.
Clique então em Generate config.dat e Generate Code. Lembre-
se que, os arquivos gerados serão .dat e .src.
No robô em modo usuário, você visualizará apenas um arquivo,
o M, que contém .src e .dat
Em modo perito, você pode visualizar e abrir separadamente os
dois arquivos.
Exercício.
Escolha um logo abaixo e desenhe sobre a planta acima. Levante os dados de coordenação e
realize o programa no software KUKA Sim. Gere os arquivos para executar no robô.
APOSTILA CURSO CÉLULA ROBÓTICA PARA MECATRÔNICA
Visualização
Objetivo: Obter diferentes views do braço robótico e célula de manufatura.
Orientação
Objetivo: Identificar posicionamento correto através de coordenadas e giros.
Ferramentas
Objetivo: Inserir ferramentas existentes no software e dimensioná-las. Definir endereço de saída, acionar e calibrar TCP.
Movimentação do Robô
Objetivo: Aprender os principais comandos de movimentação do robô.
Primeiro Projeto
Manipulação/movimentação de objetos
Procedimentos padrões