Fabricação de robôs

Você pode usar os robôs industriais como uma máquina-ferramenta (CNC de 3 ou 5 eixos). Para alcançar os mesmos resultados das máquinas CNC, os robôs industriais requerem um software avançado de programação off-line, como o RoboDK, para converter programas de máquinas em programas de robôs. O RoboDK suporta a conversão de programas de máquinas como APT, código G, ACL, TAP ou NCI em simulações de robôs e programas de robôs.

A usinagem com robôs inclui diferentes aplicações de remoção de material, como fresagem, perfuração, chanfro e rebarbação, normalmente realizadas por máquinas-ferramentas automatizadas (CNC).

As dimensões da peça são definidas por meio de um software de projeto assistido por computador (CAD) e, em seguida, traduzidas em programas de fabricação (como o código G) por um software de manufatura assistida por computador (CAM). Os programas de fabricação podem então ser convertidos em programas de robôs usando as ferramentas de programação off-line do RoboDK.

Eixos adicionais, como uma plataforma giratória e/ou um trilho linear, podem ser criados e sincronizados com o robô para ampliar o espaço de trabalho.

Exemplos de Usinagem com robôs

Esta seção mostra alguns exemplos que envolvem a Usinagem com robôs. Alguns desses exemplos incluem o uso de um plug-in para mostrar como gerar A trajetória da ferramenta CAM. No entanto, você pode carregar qualquer caminho de ferramenta genérico de 5 eixos no RoboDK, como arquivos APT, NC ou código G.

Saiba mais sobre projetos de exemplo na seção de exemplos.

Visite a seção CAM Add-Ins da nossa documentação para obter mais exemplos de projetos de Usinagem com robôs, como Mastercam, MecSoft/RhinoCAM, Inventor, FeatureCAM ou Fusion 360.

Introdução à usinagem com robôs

Este exemplo o ajudará a entender os fundamentos da Usinagem com robôs no RoboDK e como converter um trabalho de Usinagem com robôs de 3 eixos em uma simulação de Usinagem com robôs e em um programa de robôs.

Saiba mais sobre esse exemplo de Usinagem com robôs.

Introdução à usinagem com robô (5x)

Este exemplo o ajudará a entender como você pode configurar as definições de usinagem com robô no RoboDK e como converter um trabalho de usinagem com robô de 5 eixos em uma simulação de usinagem com robô e em um programa de robô.

Esse exemplo também o ajudará a criar movimentos seguros de aproximação/retração entre diferentes operações de trabalho de usinagem.

Saiba mais sobre esse exemplo.

Usinagem com robôs com eixos externos

Este exemplo mostra como usar um robô KUKA com 3 eixos externos adicionais para Usinagem com robôs. A célula inclui um braço de robô de 6 eixos, um trilho de um eixo e uma mesa giratória de 2 eixos.

Mais informações estão disponíveis na seção de exemplos do RhinoCAM. A integração entre o RhinoCAM e o RoboDK carrega automaticamente os arquivos APT do RhinoCAM para o RoboDK.

Corte a laser

Este exemplo mostra como usar um robô Yaskawa/Motoman em uma aplicação de corte a laser. A trajetória da ferramenta de corte do robô é definida usando o RoboDK Add-in para o Autodesk Fusion.

Saiba mais sobre esse exemplo de corte a laser.

Usinagem de moldes com robôs

Este exemplo mostra como usar um robô Yaskawa/Motoman para Usinagem com robôs e o Add-in RoboDK para Mastercam. O RoboDK suporta o carregamento automático de arquivos NCI ou NC gerados pelo Mastercam.

Visite o :FCAMExample3x para obter mais informações.

Saiba mais sobre esse exemplo de usinagem de moldes.

Rebarbação com robô

Este exemplo mostra como usar um robô ABB para rebarbação. Esse exemplo inclui uma operação de pick and place.

Saiba mais sobre esse exemplo de rebarbação de plástico.

Polimento

Este exemplo mostra como usar um robô KUKA para polimento.

Saiba mais sobre esse exemplo de rebarbação de plástico.


Configuração para usinagem

Esta seção mostra como preparar um projeto simples do RoboDK, off-line, para a usinagem com robô. A célula de usinagem com robô deve ter pelo menos um robô, uma ferramenta (EOAT) e um frame de referência (também conhecido como sistema de coordenadas, referência de peça ou datum). Para obter mais informações sobre a construção de uma nova estação no RoboDK, consulte a seção de introdução.

Robot Machining - Imagem 1

As etapas a seguir mostram como preparar uma configuração de usinagem com robô com um robô KUKA KR210 e um fuso de fresagem Teknomotor (esse exemplo está disponível na biblioteca como Sample-New-Project.rdk).

1-Selecione um robô:

a.Selecione Arquivo ➔Robot Machining - Imagem 2 Abrir biblioteca on-line.

b.Use os filtros para encontrar seu robô por marca, carga útil, ...      
Por exemplo, selecione o KUKA KR210 R2700 (210 kg de carga útil, 2,7 m de alcance).

c.Selecione Download e o robô deverá aparecer automaticamente na tela principal.

2-Selecione uma ferramenta:

a.Na mesma biblioteca on-line, selecione Reset para remover os filtros e filtrar por Tipo ➔ Ferramenta.

b.Selecione Download para carregar uma ferramenta Spindle, como o spindle ATC71-C-LN da Teknomotor.

c.O fuso será automaticamente acoplado ao robô.

d.Feche a janela Biblioteca on-line.

3-Add-in um frame de referência:

a.Selecione a estrutura da base do robô (denominada KUKA KR210 R2700 Base).

b.Selecione Programa ➔Robot Machining - Imagem 3 Adicionar Frame de referência. Um novo frame de referência será adicionado à base do robô.

c.Clique duas vezes na referência e insira as coordenadas:  
XYZABC = [1500,1000,500,0,0,0] (mm-deg)

d.Renomeie o novo frame de referência para Milling Reference, digitando um novo nome ou selecionando F2.

4-Add-in o objeto que você usará para a usinagem com robô (opcional):

a.Selecione Arquivo ➔Robot Machining - Imagem 4 Abrir

b.Selecione um objeto chamado Object Chess Rook.sld na biblioteca do RoboDK:   
C:/RoboDK/Library

c.Arraste e solte o objeto na Referência de Fresagem se ele não tiver sido colocado lá automaticamente (dentro da árvore de estações)

5-Clique duas vezes no robô para ver o painel do robô (opcional). O painel do robô exibe a ferramenta ativa e o frame de referência ativo. Ao selecionar e atualizar a ferramenta e o frame de referência, devemos ver as mesmas coordenadas visíveis no controlador do robô. Por padrão, o fuso do Teknomotor tem o TCP na raiz do suporte da ferramenta. A ferramenta (TCP) terá um determinado comprimento. Neste exemplo, atualizaremos o TCP para representar o comprimento do cortador da ferramenta:

a.Atualize a coordenada X da ferramenta (TCP) para 375 mm. Você verá o TCP se mover ao longo do eixo.

b.(opcional) Você também pode criar uma segunda ferramenta e definir um TCP relativo em relação à primeira, adicionando uma translação ao longo do eixo Z.

c.Feche a janela do painel do robô.

Robot Machining - Imagem 5

Projeto de Usinagem com robôs

Siga estas etapas para configurar um novo projeto de usinagem com robô no RoboDK com um arquivo NC gerado por um software CAM (como o código G ou APT):

1.Selecione Utilitários➔Robot Machining - Imagem 6 Projeto de Usinagem com Robôs (Ctrl+M).  
Uma nova janela será exibida, como mostra a imagem.

2.Selecione Selecionar arquivo NC na seção Seleção de trajetória

3.Forneça um arquivo NC, como o arquivo de usinagem APT a seguir:        
C:/RoboDK/Library/Example-02.e-Robot Machining Chess Rook.apt

4.Renomeie o projeto de usinagem com robô para Machining Settings clicando com o botão direito do mouse no novo item da árvore e selecionando Renomear (F2).

Robot Machining - Imagem 7

Selecione o robô, o frame de referência e a ferramenta na seção superior esquerda do menu, conforme mostrado na imagem a seguir. A trajetória da ferramenta deve ser exibida em verde com relação ao sistema de coordenadas correto.

Robot Machining - Imagem 8

A trajetória da ferramenta de usinagem é exibida em verde e as normais do caminho são mostradas em vetores brancos. Desmarque Trajetória visível para ocultar a trajetória da ferramenta.

você pode selecionar Atualizar para ver se consegue criar um programa de Usinagem com robôs com as configurações padrão. Se o programa tiver sido gerado com sucesso, você verá uma marca de seleção verde. Você pode então selecionar Simular ou clicar duas vezes no programa gerado para ver o início da simulação.

Robot Machining - Imagem 9

Se você vir uma cruz vermelha com uma mensagem de aviso, isso significa que o programa de usinagem com robô não é viável. Talvez você tenha que alterar algumas configurações, como a orientação da ferramenta, os parâmetros de otimização, o ponto inicial ou a localização da peça.

As seções a seguir fornecem mais informações sobre como personalizar as configurações de usinagem com robô.

Seleção de trajetória

A Seleção de trajetória permite que você selecione diferentes maneiras de fornecer um caminho de ferramenta.

Selecione o arquivo NC: Como um arquivo NC (obtido do software CAM), conforme descrito nesta seção.

Selecione a curva: Como uma ou mais curvas, conforme descrito na seção Projeto de Seguimento de Curva.     
É possível importar curvas como uma lista de coordenadas no RoboDK.

Selecionar pontos: Um ou mais pontos, conforme descrito na seção Projeto de Seguimento de Pontos.    
É possível importar pontos como uma lista de coordenadas no RoboDK.

Objeto de impressão 3D: Como um objeto para impressão 3D. Um fatiador é usado para converter a geometria em um caminho de ferramenta

            Robot Machining - Imagem 10

Eventos do programa

Selecione Eventos de Programa para exibir eventos especiais que precisam ser levados em conta ao gerar programas de robôs. Isso inclui acionar uma troca de ferramenta, definir a velocidade do fuso em RPM ou acionar programas específicos no início ou no fim do programa.

Você pode especificar um valor de arredondamento nos eventos do programa. Isso criará automaticamente uma instrução de arredondamento no início do programa e ajudará a tornar os programas de usinagem com robô mais suaves, evitando que o robô trema. Por exemplo, em um robô ABB, isso definirá o valor ZoneData em mm, em um robô Fanuc, isso definirá o valor CNT como uma porcentagem e, nos controladores Universal Robots, definirá o valor de curva em mm.

Se você estiver usando arquivos G-code ou NCI, os códigos M customizados serão acionados por padrão como chamadas de função para M_RunCode (o código M é passado como parâmetro). Você pode remover as chamadas M personalizadas excluindo a chamada para M_RunCode.

Robot Machining - Imagem 11

Mova o cursor do mouse sobre o campo correspondente para obter mais informações sobre como personalizar cada seção.

Por exemplo, ao alterar a ferramenta, você pode usar o valor %1 para representar a ID da ferramenta fornecida pelo software CAM. Se você preferir acionar funções estáticas em vez de passar argumentos, pode substituir SetTool(%1) por SetTool%1. Ao usar a ferramenta 2, isso geraria SetTool2 em vez de SetTool(2).

Approach/Retract

Você pode personalizar os movimentos de aproximação e retração no canto superior direito do menu de usinagem com robô. Por padrão, o RoboDK adiciona movimentos de aproximação e retração de 100 mm ao longo da normal.

Selecione Adicionar para adicionar um movimento de retração adicional. O caminho verde será atualizado de acordo. É possível selecionar entre mover-se ao longo de um eixo específico, fornecer coordenadas, ter uma aproximação em arco, etc. Você também pode combinar vários movimentos de aproximação/retração selecionando o botão Adicionar.

Robot Machining - Imagem 12

Selecione Remover para remover um movimento específico de aproximação ou retração.

Caminho para o deslocamento da ferramenta

O desvio do caminho para a ferramenta permite alterar a orientação preferencial da ferramenta ao longo da trajetória da ferramenta. Essa opção é usada principalmente para girar a ferramenta em torno do eixo Z do TCP. Isso permite lidar com o 6º sexto grau de liberdade em torno do eixo da ferramenta. São oferecidas várias opções, dependendo do aplicativo e de seus requisitos. Por exemplo, você pode optar por minimizar a orientação da ferramenta ou seguir a orientação da ferramenta ao longo do caminho.

Como um robô de 6 eixos é usado para seguir um programa de fabricação CNC de 3 ou 5 eixos, temos um grau adicional de liberdade a ser definido. Esse grau de liberdade geralmente é a rotação em torno do eixo Z do TCP. Esse grau de liberdade adicional é especialmente útil para evitar singularidades, limites de juntas, colisões ou problemas de acessibilidade.

Robot Machining - Imagem 13

Por padrão, o caminho para o deslocamento da ferramenta exibe uma transformação rotz(0). Isso significa que você pode adicionar uma rotação adicional em torno do eixo Z da ferramenta. Esse valor pode ser modificado para estabelecer a orientação preferencial da ferramenta, modificando a orientação em torno do eixo Z do TCP ou em combinação com outros eixos. A orientação preferencial é a orientação que o robô tentará manter ao seguir A trajetória da ferramenta.

Robot Machining - Imagem 14

Por padrão, o RoboDK usa o algoritmo de mudança mínima de orientação da ferramenta. Isso significa que a orientação da ferramenta é mantida o mais constante possível ao longo do percurso da ferramenta. Em geral, essa opção é adequada para operações de fresagem, pois minimiza os movimentos das juntas do robô. Como alternativa, outros algoritmos/métodos estão disponíveis, como a orientação da ferramenta seguindo a trajetória da ferramenta (útil para aplicações de corte, em que a lâmina precisa permanecer tangente ao longo do caminho), ou o robô segurando o objeto se a trajetória da ferramenta precisar ser seguido anexado à ferramenta do robô (por exemplo, para aplicações de distribuição ou polimento, também conhecidas como configurações de TCP remoto).

Parâmetros de otimização

Dada uma orientação preferencial da ferramenta, o robô pode ter certa liberdade para girar em torno do eixo Z da ferramenta. Isso permite que o robô resolva o programa evitando as singularidades do robô, os limites das juntas e garantindo que todos os pontos sejam alcançáveis. Por padrão, o RoboDK permite que a ferramenta gire até +/-180 graus em torno do eixo TCP em incrementos de 20 graus.

Recomenda-se restringir essa rotação dependendo do aplicativo. Por exemplo, é possível inserir +/-90 graus para restringir a rotação permitida pela metade. Diminuir esse parâmetro também reduzirá o tempo de processamento para obter o programa.

Se alguns pontos do caminho não puderem ser alcançados, é recomendável girar o frame de referência ou ser mais permissivo com a rotação Z da ferramenta. O frame de referência pode ser movido mantendo-se pressionada a tecla Alt e arrastando o sistema de coordenadas para melhor ajustar a peça dentro do espaço de trabalho do robô.

Robot Machining - Imagem 15

Configuração preferida

O RoboDK seleciona automaticamente a configuração inicial que está mais próxima das posições de eixo iniciais preferidas. A partir desse ponto, o robô seguirá movimentos lineares, de modo que a configuração do robô não será alterada.

Um menu suspenso exibirá todas as soluções possíveis para iniciar o programa. Se necessário, selecione a configuração preferida da junta do robô e selecione Atualizar para recalcular o programa.

Robot Machining - Imagem 16

Atualização de programa

Selecione Atualizar para gerar o programa do robô de acordo com as configurações fornecidas. Uma marca de seleção verde será exibida se o programa puder ser criado com sucesso. Em seguida, você verá um novo programa na estação chamado Usinagem.

Robot Machining - Imagem 17

Clique duas vezes no programaRobot Machining - Imagem 18 gerado ou selecione Simular para iniciar a simulação de usinagem com robô.

Clique com o botão direito do mouse no programa e selecione Gerar programa de robô (F6) para gerar o programa do robô. Para obter mais informações sobre a geração de programas, consulte a seção Programa.

Robot Machining - Imagem 19


Corte com robô

Você pode definir o algoritmo para manter a orientação da ferramenta constante ao longo do caminho. Esse comportamento pode ser útil para aplicações de corte ou soldagem, por exemplo.

Selecione Orientação da ferramenta segue a trajetória no menu suspenso Selecionar algoritmo para recalcular a trajetória de ferramenta preferida. As outras configurações são as mesmas de um projeto de usinagem com uma orientação de ferramenta constante.

Robot Machining - Imagem 20

O robô segura o objeto

É possível programar um robô quando ele segura o objeto/caminho de ferramenta com a ferramenta com o robô enquanto a operação de manufatura ocorre. Isso é útil para aplicações de distribuição de cola ou polimento, por exemplo. Esse tipo de programação de robôs também é conhecido como TCP remoto.

Selecione Robô segurando o objeto no menu suspenso Selecionar algoritmo para posicionar corretamente A trajetória da ferramenta na referência TCP. As outras configurações são as mesmas de um projeto de usinagem com uma orientação constante da ferramenta.

Robot Machining - Imagem 21

Mais informações estão disponíveis na seção Add-in do RoboDK para o Autodesk Fusion.

Projeto Seguimento de Curva

Você pode fazer com que um robô siga curvas no espaço 3D usando um Projeto de Seguimento de Curvas (CFP). As curvas no RoboDK podem ser selecionadas a partir das bordas do objeto ou importadas como uma lista de pontos em arquivos CSV. Um projeto de seguimento de curvas é útil para algumas operações de fabricação, como soldagem, rebarbação, polimento ou pintura por robôs, por exemplo.

Para trabalhar com um CFP, siga este procedimento:

1.Clique em Utilitários ➔ Projeto de Seguimento de Curva para abrir as configurações de seguimento de curva. Essas configurações são as mesmas de um projeto de usinagem com robô, a única diferença é que a Seleção de trajetória é predefinida como Selecionar curva.

2.Clique no botão Selecionar curva para selecionar a(s) curva(s) na tela.

Robot Machining - Imagem 22

3.Selecione as curvas com um clique esquerdo do mouse. Selecionar a mesma curva duas vezes trocará a direção do movimento. Além disso, clicar com o botão direito do mouse em uma curva previamente selecionada permite trocar o sentido do movimento ou desmarcar uma curva previamente selecionada.

Robot Machining - Imagem 23

Clique com o botão direito do mouse na janela 3D e selecione Concluído ou pressione a tecla Esc para voltar ao menu de configurações. O caminho verde exibirá o movimento do robô em relação ao objeto.

4.você pode selecionar Atualizar para ver se consegue criar um programa de robô com as configurações padrão. Se o programa tiver sido gerado com sucesso, você verá uma marca de seleção verde. Você pode então selecionar Simular ou clicar duas vezes no programa gerado para ver o início da simulação.

Opções adicionais estão disponíveis no canto superior direito das configurações, como a velocidade da ferramenta e se os movimentos de aproximação/retração devem ser aplicados a cada curva. As configurações padrão são mostradas na imagem a seguir:

Robot Machining - Imagem 24

O programa pode ser ainda mais personalizado e otimizado usando os mesmos recursos mostrados na seção de usinagem com robô.

Extrair recursos de objetos 3D

As curvas podem ser extraídas das características dos objetos 3D importados para o RoboDK, selecionando Ferramentas ➔ Criar curvas.

Robot Machining - Imagem 25

Um painel aparecerá no lado esquerdo da janela do RoboDK. Você poderá extrair curvas enquanto esse painel estiver ativo e a opção "Auto extract curves" estiver ativada.

Robot Machining - Imagem 26

Você pode passar o cursor sobre o objeto 3D do qual deseja extrair a curva. Uma linha azul fina e clara aparecerá para representar a curva. As setas brancas em diferentes pontos representam a normal da curva, ou seja, a direção da qual a ferramenta se aproximará.

Robot Machining - Imagem 27

É possível alterar a orientação das normais da curva (direção de aproximação) deslocando levemente o mouse na vertical ou na horizontal. O tamanho padrão do passo é de 15 graus e é controlado pela opção " Passo de inclinação (graus)" no painel Criar curva.

Quando tiver identificado a curva correta, clique nela sem deslocar o mouse. Repita o procedimento até selecionar todas as curvas que deseja usar em um projeto Curve Follow.

Robot Machining - Imagem 28

O RoboDK inclui diferentes ferramentas para ajudar você a modificar as curvas mesmo depois de extraí-las. Se quiser simplesmente modificar a normal, você pode fazer isso acessando Ferramentas ➔ Modificar curvas. Esse recurso permitirá que Vocêaltere as normais de qualquer curva criada anteriormente.

Curvas de importação

O RoboDK pode criar ou obter curvas de uma variedade de fontes. A lista a seguir mostra exemplos de ferramentas que criarão uma curva que pode ser usada em um projeto Curve Follow:

a.Extrair características de um objeto 3D importado para o RoboDK.

b.Importar um CSV arquivo contendo a curva.

c.Importar uma curva usando um plug-in CAD/CAM.

d.Importar curvas de um arquivo SVG ou DXF.

e.Usando o aplicativo Gerador de padrões de superfície

f.Uso da API do RoboDK para integração com aplicativos externos.

g.Usando uma sonda manual, como o RoboDK TwinTrack

Importar um arquivo CSV

As curvas podem ser importadas no RoboDK a partir de um arquivo CSV ou de um arquivo de texto, selecionando Utilitários➔ Importar Curva. Um novo item aparecerá na estação mostrando a curva como um objeto.

Robot Machining - Imagem 29

Robot Machining - Imagem 30

O arquivo pode ser um arquivo de texto com as coordenadas 3D de cada ponto da curva. Opcionalmente, a orientação do eixo Z da ferramenta pode ser fornecida como um vetor i,j,k. Todas as coordenadas devem ser relativas ao sistema de coordenadas da peça.

Opcionalmente, as curvas existentes de um objeto podem ser exportadas como um arquivo CSV (clique com o botão direito do mouse em uma curva e, em seguida, selecione Exportar curva), modificadas e reimportadas no RoboDK.

Robot Machining - Imagem 31

Mais informações e exemplos sobre como personalizar a importação de arquivos CSV ou TXT como curvas ou pontos estão disponíveis na seção de exemplos da API do RoboDK.

Projeto Seguimento de Pontos

Você pode simular facilmente um robô para seguir pontos com o RoboDK. Os pontos no RoboDK podem ser extraídos de objetos, curvas ou importados como uma lista de pontos em arquivos CSV. Essa opção é útil para aplicações de soldagem por pontos ou perfuração, por exemplo. O vídeo a seguir mostra um exemplo de configuração de um aplicativo de solda por pontos: assista ao vídeo.

Selecione Utilitários➔ Projeto de Seguimento de Pontos para abrir as configurações de seguimento de ponto. Essas configurações são as mesmas de um projeto de usinagem com robô, a única diferença é que a Seleção de trajetória é predefinida como Selecionar pontos.

Robot Machining - Imagem 32

Selecione Selecionar pontos para selecionar o(s) ponto(s) na tela.

Robot Machining - Imagem 33

Selecione os pontos com um clique esquerdo do mouse. Selecionar o mesmo ponto duas vezes mudará a direção da aproximação. Além disso, clicar com o botão direito do mouse em um ponto permite selecionar os pontos seguintes, selecionando Selecionar próximo.

Robot Machining - Imagem 34

Clique com o botão direito do mouse na tela e selecione Concluído ou pressione a tecla Esc para voltar ao menu de configurações. O caminho verde exibirá o movimento do robô em relação ao objeto.

Algumas opções adicionais estão disponíveis no canto superior direito das configurações, como a velocidade da ferramenta e a distância de aproximação. As configurações padrão são mostradas na próxima imagem:

Robot Machining - Imagem 35

Robot Machining - Imagem 36

Importação de Pontos

Uma lista de pontos pode ser importada de um arquivo de texto ou de um arquivo CSV, selecionando Utilitários➔ Importar pontos. Um novo item aparecerá na estação mostrando os pontos como um objeto.

Robot Machining - Imagem 37

Robot Machining - Imagem 38

O arquivo pode ser um arquivo de texto com as coordenadas 3D de cada ponto da curva. Opcionalmente, a orientação do eixo Z da ferramenta pode ser fornecida como um vetor i,j,k.

Opcionalmente, as curvas existentes de um objeto podem ser convertidas em pontos clicando com o botão direito do mouse em uma curva e, em seguida, selecionando Extrair pontos de curva.

Robot Machining - Imagem 39


Projeto de impressão 3D com robôs

A manufatura aditiva (ou impressão 3D) é o processo de fabricação de objetos sólidos tridimensionais a partir de um arquivo digital. Os robôs industriais podem ser usados como uma impressora 3D de 3 ou 5 eixos com o RoboDK. O vídeo a seguir mostra uma visão geral de como configurar a impressão 3D com o RoboDK off-line: assista ao vídeo.

A impressão 3D com robôs é possível de uma das seguintes maneiras:

Converta diretamente programas de código G (arquivo NC) em programas de robô com o RoboDK, como mostrado no projeto de usinagem com robôs. A taxa de fluxo de material (diretriz E da extrusora) é calculada corretamente para cada movimento e pode ser integrada ao programa gerado como um evento de programa. O código G é um tipo de arquivo NC suportado pelo RoboDK e é um formato suportado por muitas impressoras 3D. A maioria dos softwares de fatiamento pode gerar o código G a partir de um arquivo STL.

Selecione Utilitários➔ Projeto de Impressão 3D para abrir as configurações de impressão 3D.

Robot Machining - Imagem 40

Robot Machining - Imagem 41

Robot Machining - Imagem 42

Por padrão, o RoboDK traduz a diretiva E como uma chamada de programa para um programa chamado Extruder e passa o valor E como um parâmetro. Selecione Eventos de programa para alterar esse comportamento.

Robot Machining - Imagem 43

O valor da extrusora (E) representa a quantidade de material que precisa ser extrudado antes de cada movimento. Esse valor pode ser usado para acionar a alimentação da extrusora do robô, levando em conta a velocidade do robô e a distância entre os pontos.

Como alternativa, é possível calcular a alimentação da extrusora usando um pós-processador e gerar o código apropriado de acordo. A seção a seguir apresenta um exemplo.

Pós-processador para impressão 3D com robôs

Esta seção mostra como modificar um pós-processador de robô para calcular a velocidade da extrusora antes de executar uma instrução de movimento para impressão 3D. Como alternativa, essas operações podem ser feitas no controlador do robô com a chamada do programa Extruder (comando padrão para acionar a extrusora).

Ao personalizar um pós-processador de robô, é possível facilitar a integração de uma extrusora para impressão 3D antes de enviar o programa para o robô. Para realizar essa tarefa, precisamos fazer alguns cálculos e gerar um código personalizado quando o programa for gerado no pós-processador do robô.

A primeira etapa é interceptar as chamadas da extrusora e ler os novos valores da extrusora (valores E) dentro da seção RunCode no pós-processador. A seção a seguir processa todas as chamadas de programa geradas para um programa:

    def RunCode(self, code, is_function_call= False):

        if is_function_call:

            Se code.startswith("Extruder("):

                # Interceptar o comando da extrusora.

                # se a chamada do programa for Extruder(123.56)

                # extraímos o número como uma string

                # e convertê-lo em um número

                self.PRINT_E_NEW= float(code[9:-1])

                # Pular a geração da chamada do programa

                retorno

            E mais:

                self.addline(code + "()")

        E mais:

            # Código do programa de saída

            self.addline(code)

O valor da extrusora (length/E) é salvo como a variável PRINT_E_NEW no pós-processador do robô.

Precisamos acionar uma chamada de função chamada new_move a cada nova instrução de movimento linear. Podemos adicionar essa chamada no início do comando MoveL:

    def MoveL(self, pose, joints, conf_RLF= None):

        """Add-in a linear movement"""

        # Manuseio da impressão 3D Integração da extrusora

        self.new_move(pose)    

       ...

Também devemos adicionar as seguintes variáveis no cabeçalho do pós-processador para calcular os incrementos da extrusora:

 

    # Parâmetros de configuração da extrusora de impressão 3D:

    PRINT_E_AO= 5 # ID da saída analógica para comandar o fluxo da extrusora

    PRINT_SPEED_2_SIGNAL= 0.10 # Proporção para converter velocidade/fluxo em um sinal de saída analógico

    PRINT_FLOW_MAX_SIGNAL= 24 # Sinal máximo a ser fornecido à extrusora

    PRINT_ACCEL_MMSS= -1 # Aceleração, -1 pressupõe velocidade constante se usarmos arredondamento/mistura

  

    # Parâmetros internos de impressão 3D

    PRINT_POSE_LAST= None # Última pose impressa

    PRINT_E_LAST= 0 # Comprimento da última extrusora

    PRINT_E_NEW= None # Novo comprimento da extrusora

    PRINT_LAST_SIGNAL= None # Último sinal da extrusora

Por fim, precisamos definir um novo procedimento que gerará comandos apropriados de alimentação da extrusora de acordo com a distância entre os movimentos, a velocidade e a aceleração do robô. Isso pressupõe que o avanço da extrusora seja acionado por uma saída analógica específica ou por uma chamada de programa personalizada.

Precisamos adicionar o seguinte código antes da definição do programa def MoveL.

 

    def calculate_time(self, distance, Vmax, Amax=-1):

        """Calcule o tempo para percorrer uma distância com a aceleração máxima e a velocidade máxima V"""

        se Amax< 0:

            # Assumir velocidade constante (o parâmetro de suavização/arredondamento apropriado deve ser definido)

            Ttot= distância/Vmax

        E mais:

            # Suponha que aceleramos e desaceleramos

            tacc= Vmax/Amax;

            Xacc= 0,5*Amax*tacc*tacc;

            Se a distância<= 2*Xacc:

                # Vmax não é atingido

                tacc= sqrt(distance/Amax)

                Ttot= tacc*2

            E mais:

                # Vmax é atingido

                Xvmax= distância - 2*Xacc

                Tvmax= Xvmax/Vmax

                Ttot= 2*tacc+ Tvmax

        retornar Ttot

           

    def new_move(self, new_pose):                       

        """Implementar a ação na extrusora para impressão 3D, se aplicável"""

        se self.PRINT_E_NEW for None ou new_pose for None:

            retorno

           

        # Pule o primeiro movimento e lembre-se da pose

        se self.PRINT_POSE_LAST for None:

            self.PRINT_POSE_LAST= new_pose

            retorno         

 

        # Calcular o aumento de material para o próximo movimento

        add_material= self.PRINT_E_NEW - self.PRINT_E_LAST

        self.PRINT_E_LAST= self.PRINT_E_NEW

       

        # Calcular a velocidade do robô e o sinal da extrusora

        extruder_signal= 0

        se add_material> 0:

            distance_mm= norm(subs3(self.PRINT_POSE_LAST.Pos(), new_pose.Pos()))

            # Calcular o tempo de movimento em segundos

            time_s= self.calculate_time(distance_mm, self.SPEED_MMS, self.PRINT_ACCEL_MMSS)

           

            # Evite a divisão por 0

            se time_s> 0:

                # Isso pode parecer redundante, mas permite que Vocêleve em conta as acelerações e podemos aplicar pequenos ajustes de velocidade

                speed_mms= distance_mm / time_s

               

                # Calcular a velocidade da extrusora em RPM*Ratio (PRINT_SPEED_2_SIGNAL)

                extruder_signal= speed_mms * self.PRINT_SPEED_2_SIGNAL

       

        # Verifique se o sinal está dentro dos valores aceitos

        extruder_signal= max(0,min(self.PRINT_FLOW_MAX_SIGNAL, extruder_signal))

       

        # Atualizar a velocidade da extrusora quando necessário

        se self.PRINT_LAST_SIGNAL for None ou abs(extruder_signal - self.PRINT_LAST_SIGNAL)> 1e-6:

            self.PRINT_LAST_SIGNAL= extruder_signal

            # Use a função setDO integrada para definir uma saída analógica

            self.setDO(self.PRINT_E_AO, "%.3f" % extruder_signal)

            # Como alternativa, provoque uma chamada de programa e cuide da integração com o controlador do robô

            #self.addline('ExtruderSpeed(%.3f)' % extruder_signal)

       

        # Lembre-se da última pose

        self.PRINT_POSE_LAST= new_pose