Programação off-line – robodk blog artrite remédios ayurvédicos

Devido à complexidade de usar um robô industrial, os integradores de robôs e a maioria dos fabricantes tentam se limitar a uma única marca de robô. Infelizmente, os fabricantes de robôs industriais não oferecem faixas de produtos completamente equivalentes e suas ofertas evoluem constantemente. A Stäubli, por exemplo, é uma das poucas fabricantes que oferecem robôs adequados para ambientes úmidos, enquanto a FANUC é a única a oferecer um robô colaborativo de carga média. Além disso, várias empresas trabalham com concursos públicos. Como resultado, às vezes os fabricantes acabam com robôs de marcas diferentes.

A razão pela qual as linguagens de programação de robôs evoluem lentamente é provavelmente devido ao fato de que os robôs industriais são extremamente confiáveis ​​e duráveis.

Assim, os fabricantes de robôs têm que oferecer compatibilidade com versões anteriores. Vender peças de reposição e opções adicionais é provavelmente tão lucrativo quanto vender novos robôs. Por esse motivo, os fabricantes de robôs provavelmente não alterarão os fundamentos de suas linguagens de programação. Por exemplo, a ABB fica com o uso de quaternions no nível do usuário para representar a orientação, embora um quaternion seja tão intuitivo quanto o uso de código binário em vez de ASCII. Em vez de mudar os quatérnions para ângulos euler, como qualquer outro fabricante de robôs, a ABB simplesmente adicionou funções que convertem de uma representação de orientação para outra. A maioria das linguagens de programação de robôs provavelmente parecia ótima há uma década ou duas, mas hoje em dia os engenheiros estão acostumados com linguagens de programação modernas como java, c # e python.

A FANUC, um dos quatro principais fabricantes de robôs, fornece não apenas uma, mas duas linguagens de programação diferentes: teach pendant (ou TP) e KAREL. Os programas TP são arquivos binários que podem ser editados através dos botões pendentes de ensino do robô (ou tela sensível ao toque para robôs mais novos). Arquivos TP também podem ser compilados / descompilados a partir de um arquivo LS (arquivo ASCII legível por humanos). Os programas TP oferecem uma funcionalidade semelhante a assembler limitada. Alternativamente, com o FANUC, você pode programar seus próprios algoritmos usando um PC e KAREL (linguagem de programação baseada no pascal), mas o KAREL não permite que você faça movimentos de robôs nem edite o programa a partir do comando de comando do controlador.

Você pode adquirir o software de programação e simulação off-line ROBOGUIDE para robôs off-line do programa FANUC. No entanto, se você não tiver o winolpc do ROBOGUIDE, não poderá usar os programas LS, a menos que também tenha a opção “Upload ASCII” no seu controlador de robô FANUC, uma atualização de software paga necessária para cada robô. Você também precisa do ROBOGUIDE para editar e criar programas KAREL.

Os robôs Motoman são programados usando a linguagem de programação INFORM (arquivos JBI). O INFORM é semelhante ao TP da FANUC. As variáveis ​​do programa são registros compartilhados entre todos os programas. No entanto, o motoman também oferece motocom para todos os seus robôs: uma biblioteca bem documentada que permite programar o robô usando C ++, C # ou visual basic (no Windows).

A programação de robôs da ABB é mais simples e baseada na linguagem de programação RAPID, que é um pouco semelhante ao visual basic. Além disso, a ABB fornece o robotstudio, oferecendo programação on-line e um excelente editor de programas RAPID gratuitamente, bem como uma fácil transferência de arquivos através de uma conexão de rede entre um PC e o robô. Opcionalmente, você pode adquirir o simulador 3D e ferramentas de programação off-line.

Os robôs KUKA exigem programas SRC escritos na linguagem de programação KRL, geralmente editados usando o editor orangeedit gratuito, a menos que você tenha o simulador KUKA sim pro. É interessante notar que o controlador KRC4 da kuka é um computador baseado em janelas e o ping de ensino é uma área de trabalho remota desse computador. Não é prático modificar programas do pingente de ensino, pois a tela sensível ao toque fica lenta. Uma exceção notável, no entanto, é o robô colaborativo da KUKA, o LBR iiwa, que usa o controlador do nascer do sol da KUKA e é programado em java.

Nós vamos parar por aqui, porque existem dezenas de outros fabricantes de robôs de todo o mundo. Algumas marcas não têm software de programação offline, como robôs universais: o usuário deve programar robôs UR através da interface de toque pendente do robô (que é altamente intuitiva, mas também muito limitada) ou usando um editor ASCII e sua linguagem de script UR python). Outros fabricantes de robôs concentram seus esforços em ter plugins para software CAD, como a mitsubishi, que oferece melfaworks para solidworks.

Várias empresas oferecem ferramentas poderosas de programação off-line de robôs (OLP) que suportam várias marcas de robôs, e cada ferramenta de software tem suas vantagens e desvantagens. No entanto, a maioria dessas ferramentas também é relativamente cara. Há também ferramentas gratuitas como o gazebo (geralmente usado com ROS), mas elas exigem habilidades de programação especializadas e são direcionadas para a robótica em geral, tornando-as menos práticas para simulação e programação off-line de robôs industriais.

É por isso que criamos o robodk: um simulador acessível para robôs industriais que fornece uma maneira intuitiva de programar robôs industriais. O simulador suporta uma ampla variedade de aplicações, como escolha e localização, pintura ou fresagem de robôs. Ferramentas de otimização são fornecidas para converter automaticamente programas CAM em programas de robô. O RoboDK é um spin-off do laboratório coro, um dos maiores laboratórios de robótica do Canadá, onde foi testado em todas as principais marcas de robôs industriais.

A biblioteca do RoboDK tem mais de 300 robôs de 30 diferentes fabricantes de robôs e esperamos continuar adicionando suporte para novas marcas de robôs. Qualquer fabricante de robôs é bem-vindo para incluir seus robôs na biblioteca do robodk, fornecendo uma interface aberta para poder fazer programação off-line e programação on-line também. A programação off-line é alcançada pela definição do pós-processador da marca do robô. A programação on-line é obtida desenvolvendo um driver de robô que funciona como uma ponte entre o simulador e o robô. Então, é possível executar facilmente programas de robô, passo a passo, recuperar a posição do robô ou mover para uma posição específica com um robô. Este vídeo mostra um exemplo de programação online com um UR10:

O que torna o robodk único é que você pode programar qualquer robô usando python e a API robodk. O Python oferece uma imensa biblioteca de ferramentas para programação (por exemplo, para converter imagens SVG em coordenadas XY que podem ser seguidas por robôs). Você pode usar a programação orientada a objetos com a API python e robodk e ter snippets de código como este: # robot é um objeto

Não há dúvidas de que, um dia, um programador de robôs terá a opção de programar qualquer marca de robô usando uma linguagem de programação universal, como python. Os programadores de robôs, assim como as empresas, preferem essa opção, pois não dependem de ferramentas específicas da marca. Parabéns ao mecademic, outro spin-off do coro, que oferece o primeiro braço robótico industrial que pode ser controlado com qualquer linguagem de programação moderna, mas esse robô também requer o uso de alguns comandos proprietários.

O RoboDK foi baixado mais de 30.000 vezes desde que o lançamos em janeiro de 2015. O RoboDK também atraiu as universidades como uma ferramenta para aprender robótica industrial (você pode exibir quadros DH, por exemplo), bem como novos fabricantes de robôs em todo o mundo. Também agradecemos os integradores para desenvolver sua tecnologia usando a API do robodk. A vantagem é que eles podem desenvolver sua tecnologia com uma marca de robô e implantá-la com qualquer outra marca de robô.