Baixe o app para aproveitar ainda mais
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
Compartilhar