Este guia de introdução o ajudará a criar um projeto simples no RoboDK para simulação de robôs e programação off-line. Este exemplo mostra como o senhor pode simular e programar um braço de robô para uma aplicação de pintura de robô.
Esse exemplo também oferece uma visão geral dos conceitos básicos do robô, como o uso de quadros de referência, ferramentas e alvos.
A seção de exemplos fornece mais exemplos para muitas aplicações diferentes. Por exemplo: usinagempor robôs, polimento ou soldagem .
Todos os robôs, objetos e ferramentas usados em um projeto do RoboDK são salvos como uma estação do RoboDK (arquivo RDK). Uma estação do RoboDK contém todas as configurações relacionadas a robôs, ferramentas, quadros de referência, alvos, objetos e outros parâmetros. A estação do RoboDK é armazenada em um arquivo (extensão RDK).
Não é necessário manter uma cópia separada dos arquivos, ferramentas e objetos do robô, pois eles são salvos como um único arquivo RDK.
Siga estas etapas para criar um novo projeto do RoboDK (estação RDK):
1.Faça o download e instale o RoboDK no site: https://robodk.com/download.
2.Clique duas vezes no atalho na
3.Se outras estações estiverem abertas:
selecione File ➔New Station (Ctrl+N) para iniciar um novo projeto
Vários projetos do RoboDK podem ser abertos ao mesmo tempo. Ao clicar duas vezes no ícone da estação na árvore, o projeto será ativado e exibido.
Novos robôs podem ser adicionados ao seu projeto a partir do seu PC ou da biblioteca on-line do RoboDK.
Siga estas etapas para escolher um robô na biblioteca on-line:
1.Selecione File➔ Open Robot Library (Ctrl+Shift+O). Um novo site deve ser aberto mostrando a biblioteca on-line. O senhor também pode abrir a biblioteca selecionando o botão correspondente na barra de ferramentas.
1.Use os filtros para encontrar seu robô por marca, carga útil, etc. Neste exemplo, usaremos um robô Universal Robots UR10 (robô com carga útil de 10 kg e alcance de 1,3 m).
2.Selecione Open e o robô deverá aparecer automaticamente na estação em alguns segundos. Como alternativa, o senhor pode fazer o download do arquivo do robô e abri-lo no RoboDK arrastando e soltando o arquivo na janela.
3.A biblioteca on-line pode ser fechada depois que o senhor carregar o robô.
O local padrão desse projeto de exemplo é: C:/RoboDK/Library/Tutorial-UR-Painting.rdk.
Um quadro de referência (ou também chamado de sistema de coordenadas) permite posicionar objetos em relação a um robô ou em relação a outros objetos no espaço 3D (incluindo posição e orientação).
Siga estas etapas para adicionar um novo quadro de referência:
1.Selecione Program➔ Add Reference Frame
Como alternativa, selecione o botão equivalente na barra de ferramentas
2.Clique duas vezes no quadro de referência (na árvore ou na geometria 3D na tela principal) para inserir as coordenadas mostradas na imagem (posição X,Y,Z e ângulos de Euler para a orientação). A roda do mouse pode ser usada na parte superior de cada caso para atualizar rapidamente a posição do quadro de referência na tela principal.
As seguintes cores são usadas por padrão:
● Coordenada X➔ Red.
● Coordenada Y➔ Verde.
● Coordenada Z➔ Blue.
● 1ª rotação de Euler➔ Cyan.
● 2ª rotação de Euler➔ Magenta.
● 3ª rotação de Euler➔ Amarelo.
3.Selecione View➔ Make reference frames bigger (+) para aumentar o tamanho dos quadros de referência.
4.Selecione View➔ Make reference frames smaller (-) para diminuir o tamanho dos quadros de referência.
5.Selecione View➔ Show/Hide text on screen (/) para mostrar ou ocultar o texto na tela.
6.Opcionalmente, renomeie qualquer quadro de referência ou objeto na árvore selecionando F2.
Se mais de um quadro de referência for usado, é possível arrastá-los e soltá-los dentro da Árvore de estações para corresponder à dependência existente na configuração real. Por exemplo, o Quadro de referência 2 pode ser colocado em relação à referência da base do robô. Nesse caso, se a referência da base UR10 for movida, a estrutura 2 também será movida com ela. É importante levar isso em conta se outros robôs ou quadros de referência forem usados. A próxima imagem mostra a diferença na dependência.
Mesmo que a dependência seja diferente, ainda é possível inserir ou recuperar as coordenadas de qualquer quadro de referência em relação a qualquer outro quadro de referência, conforme mostrado na próxima imagem. A maioria dos controladores de robôs exige as coordenadas do quadro de referência em relação ao quadro de base do robô.
Os quadros de referência também podem ser movidos na tela principal, mantendo pressionada a tecla Alt ou selecionando o botão correspondente na barra de ferramentas . Em seguida, arraste a referência com o mouse na tela. À medida que a referência for sendo movida, os valores de coordenadas correspondentes serão atualizados.
O RoboDK é compatível com a maioria dos formatos 3D padrão, como os formatos STL, STEP (ou STP) e IGES (ou IGS). Outros formatos, como VRML, 3DS ou OBJ, também são suportados (STEP e IGES não são suportados nas versões para Mac e Linux).
Siga estas etapas para carregar um novo arquivo 3D:
1.Selecione File➔ Open
2.Selecione o objeto Object Inspection disponível na biblioteca padrão do RoboDK:
C:/RoboDK/Library/Object Inspection.
3.Como alternativa, arraste e solte os arquivos na janela principal do RoboDK para importá-los automaticamente
4.Arraste e solte o objeto no quadro de referência Quadro 2 (dentro da árvore de estações)
Novas ferramentas do robô (TCPs) podem ser carregadas ou criadas no RoboDK a partir da geometria 3D carregada anteriormente.
Siga estas etapas para carregar um objeto e configurá-lo como uma ferramenta do robô:
1.Selecione File➔ Open (conforme descrito na seção anterior)
2.Selecione o arquivo Paint gun.stl para adicioná-lo como um objeto (ele será adicionado no quadro da base do robô)
3.Arraste e solte o objeto para o item do robô dentro da árvore de estações, conforme mostrado na próxima imagem
Novas ferramentas podem ser carregadas ou salvas no formato .tool.
Por padrão, o RoboDK definirá o TCP na posição [X,Y,Z]=[0,0,200] mm. Isso pode ser alterado inserindo as coordenadas manualmente e/ou movendo o TCP segurando a tecla ALT+Shift, conforme mostrado na próxima imagem:
1.Mantenha pressionado ALT+Shift ou selecione o botão destacado na barra de ferramentas
2.Selecione o plano azul claro (plano XZ do TCP) e arraste o TCP aproximadamente em direção à superfície da pistola de pulverização, conforme mostrado na próxima imagem
3.Selecione a seta arredondada verde (rotação em torno do eixo Y) para fazer com que o eixo Z aponte para fora
4.Depois de obter uma estimativa das coordenadas, é possível retocar esses valores manualmente clicando duas vezes no objeto da pistola de pintura. A roda do mouse pode ser usada em cima de cada caso para atualizar rapidamente a posição na tela principal.
Nesse ponto, a estação pode ser salva:
1.Selecione File➔ Save Station (Ctrl+S).
2.Salve o arquivo como Paint Test.rdk. O título da janela e o nome da estação serão atualizados
O senhor pode fazer referência a uma ferramenta (TCP) em relação a outra, por exemplo, para definir um determinado afastamento ou para posicionar uma fresa em relação a uma referência ou a um suporte de ferramenta.
Essas etapas pressupõem que um segundo TCP deve ser adicionado em relação ao primeiro a 150 mm ao longo do eixo Z:
1.Clique com o botão direito do mouse no robô
2.Selecione Add Tool (TCP). Aparecerá um novo item chamado Tool 2.
3.Clique duas vezes nesse novo TCP
4.Selecione o ponto central da ferramenta em relação à pistola de pintura➔
5.Insira a coordenada Z como 150 mm e defina as outras translações e rotações como 0.
Esse novo TCP em relação ao TCP definido anteriormente será removido nas próximas seções desta demonstração.
A geometria da ferramenta pode não estar alinhada corretamente com relação ao flange do robô (quadro de referência do adaptador) quando ela é carregada no RoboDK.
As etapas a seguir pressupõem que foi cometido um erro e que a ferramenta foi montada 180 graus em torno do eixo Z, de modo que a correção a seguir deve ser aplicada:
1.Selecione More options (Mais opções) na janela Tool details (Detalhes da ferramenta)
2.Digite 180 na caixa amarela (rotação Z) da geometria da pistola de pintura, conforme mostrado na imagem a seguir. A roda do mouse pode ser usada na parte superior de cada caixa para atualizar rapidamente a posição na tela principal.
As posições do robô são registradas como alvos. Um alvo cartesiano define a posição da ferramenta em relação a um sistema de coordenadas. Um alvo de articulação define a posição do robô com base nos valores de articulação do robô.
Siga estas etapas para criar dois alvos como um novo alvo inicial e um alvo de aproximação, respectivamente:
1.Clique duas vezes no robô para exibir o painel do robô.
2.Selecione Paint gun como Tool Frame. Quando uma ferramenta ou um quadro de referência estiver ativo, ele mostrará um ponto verde no ícone de árvore.
3.Selecione Frame 2 como Reference Frame (Quadro de referência).
4.Mantenha a tecla Alt pressionada e mova o robô arrastando-o pelo TCP ou pelo flange do robô para uma posição segura, livre de colisões com qualquer objeto. Como alternativa, mova as coordenadas do Tool Frame (TCP) em relação ao quadro de referência.
5.Use a seção Outras configurações para alternar entre diferentes configurações do robô e certifique-se de que nenhum dos eixos do robô esteja próximo dos limites do eixo.
6.Selecione Program➔ Teach Target (Ctrl+T) ou o botão correspondente na barra de ferramentas (como mostrado na imagem). O alvo será colocado como uma dependência do quadro de referência ativo e lembrará automaticamente a posição atual do robô (eixos cartesianos e de articulações).
Neste exemplo, as coordenadas da articulação do robô usadas para o primeiro alvo são: [-150, -75, -90, -60, 70, 110] deg. O senhor pode copiar esses valores de articulação do texto e colá-los no jog de eixo de articulação do painel do robô usando o botão correspondente.
7.Renomeie o primeiro alvo como Home pressionando F2. Como alternativa, selecione Tools (Ferramentas)➔ item Rename (Renomear).
8.Mova o robô para mais perto de uma borda da peça (arrastando a ferramenta usando a tecla Alt, inserindo coordenadas ou deslocando o eixo manualmente). Neste exemplo, usamos as seguintes coordenadas de articulação do robô [0,0,200,180,0,180] graus.
9.Selecione Program➔ Teach Target (Ctrl+T) ou o botão apropriado na barra de ferramentas para criar um novo alvo.
10. Renomeie o destino para Approach, conforme mostrado na etapa 7.
11. Selecione o alvo Home e o alvo Approach alternativamente para ver o robô se movendo entre os dois alvos.
12. Clique com o botão direito do mouse no alvo e selecione Ensinar posição atual (Alt+ clique duas vezes) se for necessário registrar uma posição diferente para um dos alvos.
13. Clique com o botão direito do mouse no alvo e selecione Target Options... (F3) para abrir a janela de opções de alvo mostrada na próxima imagem.
Se necessário, forneça valores diferentes para definir os alvos.
O senhor pode criar facilmente um novo programa que aproxime o robô da peça com segurança.
Siga estas etapas para criar um programa que se mova do alvo Home para o alvo Approach:
1.Selecione Program➔ Add Program no menu ou o botão correspondente na barra de ferramentas (como mostrado na próxima imagem).
2.Renomeie o programa para ApproachMove.
3.Selecione o destino Home.
4.Selecione Program➔ Move Joint Instruction (ou o botão correspondente na barra de ferramentas)
Duas instruções serão adicionadas automaticamente para informar ao robô qual quadro de ferramentas e quadros de referência estamos usando.
5.Selecione o alvo da abordagem
6.Selecione Program➔ Move Joint Instruction novamente.
Clique duas vezes no programa ApproachMove e ele executará a simulação do programa. A barra de simulação e o tempo de ciclo estimado serão exibidos.
O recurso Create Targets on Surface (Criar alvos na superfície) é útil para aplicações como pintura ou inspeção.
Siga estas etapas para ensinar alvos usando a opção Teach Target(s) on Surface:
1.Selecione o programa➔ Ensine o(s) alvo(s) na superfície (Ctrl+Shift+T)
2.Mova o cursor do mouse sobre a peça para ver uma prévia da aparência do robô quando ele alcançar a peça.
3.Selecione alguns pontos no objeto (clique com o botão esquerdo do mouse). Cada clique com o botão esquerdo do mouse definirá um novo alvo, mantendo o eixo Z do TCP normal à superfície (perpendicular à superfície).
4.Se necessário, ajuste a orientação em torno do eixo Z movendo a roda no painel esquerdo ou pressionando as teclas esquerda/direita.
5.Mantenha a tecla Alt pressionada para mover um alvo existente.
6.Mantenha Alt+Shift pressionado para mover um alvo existente, mantendo-o na superfície.
7.Selecione a tecla Esc ou clique com o botão direito do mouse na tela e selecione Done (Concluído) para sair do modo Create Targets on Surface (Criar alvos na superfície).
Depois que os alvos forem criados, gere um programa seguindo estas etapas:
1.Selecione todos os alvos criados na superfície e clique com o botão direito do mouse.
2.Selecione Renomear grupo no menu pop-up.
3.Entre em Top Paint. Todos os alvos selecionados serão renomeados e numerados.
4.Clique novamente com o botão direito do mouse nos alvos e selecione Create Program. Um novo programa será gerado. O primeiro movimento será um movimento de articulação e os movimentos seguintes serão lineares.
5.Selecione F2 para renomear o programa para PaintTop.
6.Clique duas vezes no programa PaintTop para ver a simulação se movendo ao longo dos alvos.
7.Se necessário, reordene os movimentos arrastando as instruções de movimento dentro do programa.
O senhor pode criar facilmente um novo programa que retraia com segurança o robô da peça para uma posição segura.
Semelhante às operações anteriores:
1.Com o robô posicionado no último alvo, mova o robô para cima aumentando a coordenada Z do TCP em relação ao quadro de referência no painel do robô (caso destacado na próxima imagem).
2.Selecione Program➔ Add Program ou o botão apropriado na barra de ferramentas.
3.Selecione Program➔ Move Linear Instruction ou o botão apropriado na barra de ferramentas
. Renomeie-a para Retract pressionando a tecla F2.
4.Selecione o alvo Home
5.Selecione Program➔ Move Joint Instruction. Uma nova instrução de movimentação será adicionada, vinculada ao alvo Home.
Simule cada programa individualmente clicando duas vezes nele. A simulação pode ser acelerada mantendo pressionada a barra de espaço ou selecionando o botão Fast Simulation (Simulação rápida) / .
O senhor pode criar facilmente um programa principal do robô que executa sequencialmente os programas de aproximação, pintura e retração.
Siga estas etapas para criar o programa principal:
1.Selecione Program➔ Add Program.
2.Selecione Program➔ Program Call Instruction (Instrução de chamada de programa).
3.Digite o nome ApproachMove ou selecione Select program para selecioná-lo automaticamente.
4.Selecione OK.
5.Repita as etapas anteriores para PaintTop e Retract, conforme mostrado na próxima imagem
Clicar duas vezes no Main Program executará a simulação completa. Clique com o botão direito do mouse no Main Program e selecione Loop para fazer a simulação em um loop.
Se o quadro de referência Quadro 2 for movido (por exemplo, mantendo pressionada a tecla Alt e arrastando o eixo X/vermelho do quadro de referência), o objeto e os alvos o seguirão. Se os alvos não puderem ser alcançados, um pequeno sinal de aviso será exibido no ícone de alvo , conforme mostrado na próxima imagem.
Depois de ter a simulação pronta no RoboDK, o senhor pode facilmente gerar o programa do robô. O programa do robô permite que o senhor execute o programa no controlador do robô sem precisar escrever uma única linha de código.
Siga estas etapas para gerar um programa de robô:
1.Clique com o botão direito do mouse no programa (MainProg, por exemplo). O senhor também pode manter pressionada a tecla Ctrl para selecionar vários programas de uma vez e gerá-los.
2.Selecione Gerar programa do robô (F6). Como alternativa, o senhor pode selecionar Generate robot program as... (Gerar programa do robô como...) para especificar o local para salvar o arquivo.
Em seguida, o senhor verá o programa do robô exibido em um editor de texto.
Para obter mais informações sobre como gerar programas de robôs, consulte a seção Programs.
Neste exemplo, o senhor obterá o arquivo do programa SCRIPT para o seu robô UR. Especificamente para Universal Robots, o senhor pode exportar qualquer programa individualmente ou o programa principal, incluindo os subprogramas.
O arquivo que o senhor obteve é o resultado da geração do programa off-line. O arquivo pode ser enviado para o controlador do robô para executar os mesmos movimentos que foram simulados no RoboDK.
É possível alterar o pós-processador para robôs UR e personalizar a forma como um programa é gerado:
1.Clique com o botão direito do mouse em um programa ou robô.
2.Selecione Selecione Post Processor.
3.Selecione Universal Robots URP.
Gere o programa novamente. Neste exemplo, o pós-processador padrão usa valores de junta para definir cada movimento linear e o segundo pós-processador usa coordenadas cartesianas para definir cada movimento linear.
O senhor pode personalizar a simulação usando scripts. A API do RoboDK permite que o senhor personalize a simulação tanto quanto desejar. O RoboDK integra-se ao Python e, usando um script de amostra ou usando a API do RoboDK, o senhor pode melhorar o resultado da sua simulação.
Por padrão, o RoboDK instala o Python e um conjunto de scripts de amostra que permitem que o senhor melhore as simulações. Isso inclui a simulação de uma pistola de pintura, a simulação de câmeras 2D, a conversão de arquivos SVG em programas de robôs, a configuração automática de um TCP com base em um afastamento, a programação de robôs usando Python, a simulação de eventos discretos etc. Outras linguagens de programação também podem ser usadas, como C#, C++ ou Matlab. Mais informações estão disponíveis na seção API do RoboDK.
Neste exemplo, adicionaremos um script de amostra existente que simulará o comportamento da pistola de pintura. O senhor também pode alterar a cor do spray com uma cor transparente (selecionando Tools➔ Change color tool - Shift+T) ou carregar o modelo existente com as cores apropriadas (disponível na biblioteca local como paint_gun.tool ou na biblioteca on-line; observe que a instrução Set Tool talvez precise ser atualizada para vincular-se à nova ferramenta).
1.Selecione File➔ Open para abrir um novo script Python (arquivo py).
2.Navegue até C:/RoboDK/Library/Macros/ para ver alguns exemplos de macros.
3.Selecione SprayOn.
4.Selecione Open (Abrir). Um novo objeto Python será adicionado. Essa macro permite simular a deposição de partículas modelando o volume do spray.
5.Clique duas vezes na macro SprayOn para testá-la.
6.Selecione On para ativá-la.
7.Mantenha a tecla Alt pressionada, arraste o flange do robô e mova o robô ao longo da superfície com a pistola de pintura.
O senhor deve ver o rastro da pistola de pintura. A cor e a transparência devem mudar dependendo de quão perto ou longe o TCP está da superfície.
Selecione Esc uma vez para limpar a tinta simulada.
8.Clique duas vezes no mesmo programa SprayOn e selecione Off para desativar a simulação de partículas.
Para entender melhor o que acontece nos bastidores, é possível visualizar ou editar o código Python da seguinte forma:
1.Clique com o botão direito do mouse em SprayOn.
2.Selecione Edit Python Script.
Uma nova janela (editor de texto) aparecerá mostrando o código que modela o comportamento do spray e como o Python está integrado ao RoboDK.
Para levar em conta a simulação de pulverização no programa principal, podemos seguir estas etapas:
1.Clique com o botão direito do mouse na instrução Call ApproachMove.
2.Selecione Add Instruction➔ Program call Instruction, uma nova instrução será adicionada após a primeira chamada de programa e uma nova janela será exibida.
3.Digite SprayOn(1).
4.Selecione OK.
5.Repita a mesma operação após a configuração SprayOn(0) do programa PaintTop, conforme mostrado na imagem a seguir.
Se necessário, reordene as instruções arrastando-as e soltando-as dentro do programa.
6.Execute o programa MainProg. Após duas iterações, o resultado deve ser semelhante ao mostrado na imagem (simulando em velocidade normal).
Também é possível criar novas macros:
1.Selecione Program (Programa➔Add Python Program (Adicionar programa Python).
2.Clique com o botão direito do mouse no novo programa e selecione Edit Python Script.
O RoboDK suporta a configuração da velocidade do robô dentro do programa, a configuração de saídas digitais, a espera por entradas digitais, a exibição de mensagens, etc. Essas instruções estão disponíveis no menu Program (Programa).