terça-feira, 13 de fevereiro de 2018

RCML - Robot Control Meta Language

Esbarrei no RCML (https://toolkit.rcml.tech/) hoje, e só posso dizer que achei a ideia muito interessante.

O WORA (write once, run anywhere) foi um slogan criado pelo pessoal da Sun Microsystems, para descrever o código Java, que uma vez escrito, pode ser executado em qualquer sistema operacional que tenha um interpretador Java disponível.

Naquela época, linguagens interpretadas já não eram novidade, mas esse pequeno bordão ajudou muita gente de fora do meio a entender o poder desse conceito.

O RCML é, como o nome diz, uma meta linguagem, e bebe na fonte das linguagens interpretadas, só que ao contrário!

A grande sacada do RCML toolkit é que ele converte as linguagens de alguns fabricantes de robôs industriais (até agora, ABB, KUKA, FANUC e Motoman) em RCML, e através de alguns APIs, pode controlar os braços mecânicos executando o código RCML, que pode depois ser reutilizado em robôs de outras marcas, ou mesmo fracionado/reorganizado, de acordo com a necessidade.

As possibilidades de uso são imensas.

No segundo vídeo linkado abaixo, por exemplo, o cara cria um programa em um KRC4 . Pega esse programa, carrega no RCML toolkit, que por sua vez traduz o código KRL da KUKA em RCML e depois comanda o robô executando o código RCML recém-criado.

E para sapatear na cara da sociedade da robótica industrial, após uma pequena alteração em um arquivo de configuração, o MESMO código RCML criado a partir do KRL é utilizado para controlar um robô FANUC, que inclusive está montado em uma posição diferente da do KUKA.

Vídeo explicando o conceito (narração em russo! Mas dá pra ligar as legendas).



Vídeo (curto) mostrando a implementação do RCML.



Versão estendida do vídeo anterior, mostrando todos os passos em detalhes.



Até pouco tempo atrás, era comum que as empresas optassem por utilizar uma única marca de robôs industriais, para facilitar manutenção, treinamento e aquisição de peças de reposição, por exemplo.

Mas nos tempos atuais, com essa enxurrada de robôs de baixo custo invadindo o mercado e com o chão de fábrica ficando cada vez mais diversificado, o RCML faz muito sentido.

Existem outras iniciativas do mesmo tipo, como o ROS-Industrial, que está há mais tempo na praça. Mas pelo pouco que vi, me pareceu que o RCML está um pouco mais maduro para ser utilizado em ambientes industriais.

*Para conhecimento: continuo não gostando do Java.