Partilhar: WhatsApp
aulify · Sebenta
UC · Unidade de Competência · UC01187

Sebenta · Programar manipuladores industriais robóticos (UC01187)

Da classificação dos robots à integração em sistemas de produção automatizados, com trajetórias, controlo e feedback
50h · 4.5 pontos crédito Curso: T. Eletrónica, T. Instalações Elétricas, T. Eletrónica e Comunicaçõ ↗ Referencial oficial SNQ
Índice

Introdução

Esta sebenta ensina a programar manipuladores industriais robóticos, do primeiro ponto ensinado na consola até à célula integrada numa linha de produção. Um manipulador robótico é uma máquina reprogramável, com vários eixos, capaz de repetir trajetórias com precisão que nenhum operador humano sustenta durante um turno inteiro. Programá-lo bem é o que transforma essa máquina em valor real para a fábrica.

O percurso segue a lógica de um técnico de automação: primeiro conhecer o robot e as suas variantes, depois programar trajetórias e dados numa linguagem própria (RAPID, KRL), controlar o movimento com PID e realimentação (feedback), aplicar tudo a operações industriais concretas (soldadura, montagem, pintura, embalagem, visão artificial) e, por fim, integrar o robot com autómatos e protocolos de comunicação, respeitando as normas de segurança.

Objetivos de aprendizagem (referencial): desenvolver algoritmos para planeamento de trajetórias de um manipulador robótico; implementar sistemas de controlo com feedback num manipulador robótico; integrar o manipulador robótico com sistemas de produção automatizados.

1. Robótica industrial: evolução e relevância

A robótica industrial nasceu em 1961, quando o Unimate entrou na linha da General Motors para soldar carroçarias, uma tarefa até então feita por operadores em condições perigosas. Desde aí, a robótica evoluiu de máquinas rígidas, programadas ponto a ponto e sem qualquer perceção do ambiente, até aos robots colaborativos (cobots) atuais, que trabalham lado a lado com pessoas e reagem a sensores de força e visão em tempo real.

Porque a indústria investe em robótica

Em Portugal, setores como a indústria automóvel (por exemplo, componentes para a Autoeuropa em Palmela) e a eletrónica (linhas da Bosch em Braga) empregam centenas de robots industriais em soldadura, montagem e paletização. A robótica industrial não substitui apenas mãos: substitui variabilidade por repetibilidade, e é exatamente essa repetibilidade que um programa bem escrito garante.

2. Classificação e características dos robots industriais

Os manipuladores industriais classificam-se pela sua arquitetura cinemática, ou seja, pela forma como os eixos e as juntas estão dispostos.

Tipo Estrutura Eixos típicos Aplicação típica
Articulado (6 eixos) braço tipo humano, todas as juntas rotativas 6 soldadura, pintura, manuseamento geral
SCARA dois eixos rotativos horizontais + um vertical 4 montagem eletrónica, inserção de componentes
Delta (paralelo) três a quatro braços paralelos suspensos sobre uma base 3-4 embalagem alimentar e farmacêutica, triagem a alta velocidade
Cartesiano três eixos lineares (X, Y, Z), perpendiculares entre si 3 maquinação, dispensação de cola, paletização
Cilíndrico um eixo rotativo mais dois lineares 3 carga e descarga de máquinas

O robot articulado de 6 eixos é o mais versátil: consegue orientar a ferramenta em praticamente qualquer ângulo, mas é mais lento e mais caro do que arquiteturas especializadas. O SCARA é rígido na vertical e muito rápido no plano horizontal, ideal para inserir componentes eletrónicos em placas. O delta, com os seus braços paralelos leves, atinge acelerações extremas, sendo a escolha natural para embalar produtos a alta cadência. Já o cartesiano move-se em linhas retas simples, o que o torna fácil de programar e muito preciso, mas limitado a um volume de trabalho em forma de caixa.

Escolher a arquitetura correta é a primeira decisão de qualquer projeto de automação: um SCARA rápido não serve para soldar uma carroçaria, tal como um articulado de 6 eixos é um exagero caro para embalar chocolates.

3. Componentes de um manipulador robótico

Um manipulador robótico industrial é composto por três grandes grupos: a mecânica, os sensores e o controlador, e a interface de utilizador.

Componentes mecânicos e atuadores

Sensores, controlador e interfaces de utilizador

4. Linguagens de programação: RAPID, KRL e outras

Cada fabricante de robots tem a sua linguagem própria, orientada a movimento no espaço, algo bastante diferente de uma linguagem de programação de propósito geral.

RAPID (ABB)

MODULE Main
  PROC main()
    MoveJ p_home, v1000, z50, tool0;
    MoveL p_pick, v200, fine, tool0;
    Set do_pinca;
    MoveL p_place, v200, fine, tool0;
    Reset do_pinca;
  ENDPROC
ENDMODULE

KRL (KUKA)

DEF main()
  PTP HOME
  LIN p_pick C_DIS
  $OUT[1] = TRUE
  LIN p_place C_DIS
  $OUT[1] = FALSE
END

Ambos os exemplos fazem exatamente a mesma coisa: movem o robot até um ponto de recolha, atuam a ferramenta (ligam uma garra ou pinça de vácuo) e movem-se até um ponto de largada. A sintaxe muda (MoveJ/PTP, MoveL/LIN), mas a lógica é idêntica, e é essa lógica que se transfere de fabricante para fabricante.

Outras linguagens e modos de programação

Outros fabricantes têm as suas próprias linguagens: TP (Fanuc), PDL2 (Adept), URScript (Universal Robots). Cada vez mais surgem também camadas de programação por blocos gráficos e integrações via API com linguagens comuns como Python, mas o núcleo de comandos de movimento e dados mantém-se específico do fabricante.

Existem dois modos de programação:

5. Princípios de programação: dados, decisão e repetição

Manipulação de dados

O programador de um robot manipula tipos de dados específicos da robótica, além dos tipos comuns (números, booleanos, texto):

Tipo Exemplo (RAPID) Guarda
num n_pecas := 12; um número
bool ok := TRUE; verdadeiro ou falso
string msg := "Erro"; uma cadeia de texto
robtarget p_pick posição e orientação completas no espaço
speeddata v200 velocidade de deslocação
zonedata z50 ou fine tolerância de aproximação ao ponto

O robtarget (ou o equivalente FRAME/POS noutras linguagens) é a estrutura de dados central da robótica: não guarda só três coordenadas, guarda também a orientação da ferramenta nesse ponto.

Estruturas de decisão e repetição

IF sensor_peca = TRUE THEN
  MoveL p_pick, v200, fine, tool0;
ELSE
  TPWrite "Sem peca detetada";
ENDIF

FOR i FROM 1 TO 6 DO
  MoveJ pontos{i}, v500, z20, tool0;
ENDFOR

WHILE contador < 100 DO
  contador := contador + 1;
ENDWHILE

6. Controlo PID e sistemas com feedback

O controlador PID

O PID é o algoritmo de controlo que garante que cada junta do robot segue a trajetória e a velocidade pretendidas, corrigindo continuamente o erro entre o que foi pedido e o que está a acontecer:

u(t) = Kp·e(t) + Ki·∫e(t)dt + Kd·de(t)/dt

Aumentar Kp torna a resposta mais rápida, mas mais oscilante; aumentar Ki elimina o erro residual, mas pode instabilizar o sistema (fenómeno de windup); aumentar Kd amortece oscilações, mas amplifica o ruído dos sensores. Sintonizar (tuning) um PID é encontrar o equilíbrio entre rapidez, estabilidade e suavidade.

A malha fechada de feedback

Referência (trajetória)  [+ erro]  PID  Atuador  Junta do robot
                                                          |
        └──────────────── Sensor (encoder/força) ←─────────┘

O feedback (realimentação) compara continuamente o que o robot está a fazer com o que devia estar a fazer, e corrige. Sem feedback, o robot seria cego, executaria o comando sem confirmar se atingiu o resultado. As fontes de feedback mais comuns num manipulador industrial são os encoders (posição de cada junta), os sensores de força/torque (contacto físico) e as câmaras de visão artificial (posição de peças no ambiente).

Caso real: inserção de um veio numa bucha com tolerância apertada.

  1. O robot aproxima a peça em posição pura (MoveL) até perto do ponto de contacto.
  2. Ativa o controlo de força: em vez de forçar a posição exata, avança até o sensor detetar uma resistência definida, por exemplo 5 N.
  3. Se a força ultrapassar um limiar de segurança, por exemplo 20 N, o programa interrompe a operação e assinala erro, evitando danificar a peça ou a ferramenta.
  4. Este ajuste em tempo real substitui a precisão posicional pura, que falharia sempre que houvesse uma pequena variação entre peças reais.

7. Software de simulação

O software de simulação (RobotStudio da ABB, KUKA.Sim, Process Simulate) cria um gémeo digital da célula robótica, permitindo testar trajetórias e colisões sem tocar no robot real nem parar a produção.

Fluxo de trabalho em simulação

  1. Importar a célula: os modelos CAD do robot, da mesa de trabalho e das peças.
  2. Definir pontos e trajetórias (targets) sobre o modelo tridimensional.
  3. Simular o ciclo: correr o programa virtualmente e medir o tempo de ciclo estimado.
  4. Validar colisões: o software assinala qualquer interferência entre o robot, a ferramenta e o ambiente.
  5. Exportar o programa já validado para o controlador do robot real.
  6. Calibrar no robot físico, porque o mundo real nunca é perfeitamente igual ao modelo virtual (tolerâncias de montagem, folgas mecânicas, desgaste).

A programação offline, feita inteiramente em simulação, é uma das competências mais valorizadas em automação: permite preparar um programa completo enquanto a linha real continua a produzir, poupando horas (ou dias) de máquina parada.

8. Cinemática, dinâmica e planeamento de trajetórias

Cinemática direta e inversa

O controlador resolve a cinemática inversa automaticamente sempre que o programador especifica um ponto cartesiano; é um trabalho invisível, mas constante, em cada instrução de movimento.

Planeamento de trajetórias

Tipo de movimento Percurso da ferramenta Uso típico
PTP / MoveJ não é uma linha reta; cada junta move-se ao seu ritmo ótimo transições rápidas sem obstáculos
LIN / MoveL linha reta no espaço cartesiano movimentos previsíveis, perto de obstáculos
CIRC arco definido por três pontos soldadura de cordões curvos

O perfil de velocidade de cada movimento (aceleração, velocidade de cruzeiro, desaceleração, normalmente em forma trapezoidal ou em S) evita vibrações e reduz o desgaste mecânico. A zona de aproximação (blend) decide se o robot para exatamente no ponto (fine) ou faz uma curva suave que poupa tempo de ciclo (z10, z50).

Do referencial: desenvolver algoritmos para planeamento de trajetórias de um manipulador robótico significa escolher, para cada troço do percurso, o tipo de movimento (PTP, LIN, CIRC), a velocidade e a zona de aproximação que melhor equilibram precisão e otimização temporal, respeitando sempre as tolerâncias definidas para a tarefa.

Álgebra linear e geometria aplicada

Cada ponto do robot vive num sistema de referência (frame): o world frame (origem fixa da célula), o base frame (a base do robot) e o tool frame (a ponta da ferramenta). A posição e orientação de um ponto exprimem-se numa matriz de transformação homogénea 4x4, que combina uma matriz de rotação com um vetor de translação. Mudar de referencial, por exemplo do world para o tool, é multiplicar transformações em cadeia.

Exemplo resolvido. Um robot tem uma ferramenta montada com um deslocamento de +50 mm em Z relativo ao punho. O ponto de trabalho pretendido, medido na peça, é (300, 150, 200) mm no world frame.

Para a ponta da ferramenta chegar a (300, 150, 200), o punho do robot (sem a ferramenta) tem de estar em (300, 150, 200 − 50) = (300, 150, 150) mm. Este cálculo, uma vez o tooldata corretamente definido no software, é automático; mas se o deslocamento da ferramenta estiver mal configurado, todos os pontos ensinados ficam deslocados no mesmo erro. Por isso a ferramenta calibra-se antes de se ensinar qualquer ponto.

9. Operações industriais e visão artificial

Soldadura e montagem

Na soldadura por arco (MIG/MAG, TIG), a trajetória (normalmente CIRC/LIN) percorre o cordão a velocidade constante, essencial para um cordão uniforme, podendo incluir um padrão de tecelagem (weave) para cordões mais largos. O robot sincroniza o arranque e a paragem do arco com sinais digitais trocados com a fonte de soldadura.

Na montagem de precisão, os movimentos finais são lentos e usam controlo de força (ver capítulo 6), evitando danificar peças frágeis, e podem recorrer a uma função de pesquisa (search): o robot avança até um sensor detetar contacto, compensando pequenas variações de posição da peça real face ao modelo ensinado.

Pintura e embalagem

Na pintura por pulverização, as trajetórias são paralelas e sobrepostas, a distância e velocidade constantes da superfície, com a pistola a ligar e desligar de forma sincronizada com o início e o fim de cada passagem. É frequentemente uma tarefa exclusivamente robótica, pelo risco de explosão associado aos solventes.

Na embalagem e paletização, o ciclo (pega, move, larga) é otimizado ao máximo para velocidade, muitas vezes com robots delta ou SCARA. A paletização em grelha calcula posições sucessivas por incremento, tipicamente dentro de um ciclo FOR (capítulo 5), e pode incluir conveyor tracking, em que o robot ajusta a trajetória em tempo real para acompanhar uma peça em movimento no transportador.

Interação com linhas de montagem e sistemas de visão artificial

O robot raramente trabalha isolado: está sincronizado com transportadores e outras estações através de interlocks, sinais de segurança que impedem o avanço enquanto a estação seguinte não estiver pronta. Os sistemas de visão artificial (câmaras 2D ou 3D) identificam a posição e orientação de uma peça antes de o robot lhe tocar, sendo a calibração câmara-robot (que relaciona píxeis da imagem com coordenadas reais no world frame) um passo crítico. Uma das aplicações mais avançadas é o bin picking, em que o robot retira peças desordenadas de um cesto, guiado unicamente pela visão.

10. Protocolos de comunicação industrial e integração

O controlador do robot comunica constantemente com autómatos (PLC), sensores remotos e sistemas de supervisão, através de protocolos de comunicação industrial.

Protocolo Características Uso típico
Ethernet/IP sobre Ethernet padrão, rápido, com extensões em tempo real automação de origem americana, cada vez mais global
Modbus (TCP/RTU) simples, leve, modelo mestre/escravo ainda muito usado, mesmo em instalações antigas
PROFIBUS fieldbus difundido na indústria europeia linhas de origem alemã, réplicas em várias fábricas nacionais
PROFINET evolução do PROFIBUS sobre Ethernet industrial maior largura de banda, substituto natural do PROFIBUS

A escolha do protocolo raramente é feita de raiz; integra-se quase sempre com o que já existe instalado na fábrica. Dominar mais do que um protocolo torna o técnico versátil em qualquer ambiente industrial.

Sincronização com o autómato e integração final

O PLC (autómato) é normalmente o "maestro" da célula, decidindo quando o robot pode avançar, com base no estado da linha. A troca de sinais entre os dois chama-se handshaking: por exemplo, o PLC envia "peça pronta", o robot responde "a processar" e depois "concluído". A sincronização de ciclo, ou seja, encaixar o tempo de ciclo do robot no tempo de ciclo global da linha (takt time), é essencial, e é a causa mais comum de paragens em células robóticas reais quando falha.

Do lado dos recursos, uma célula robótica integrada precisa de autómatos, módulos compatíveis (entradas/saídas digitais e analógicas, módulos de comunicação), consolas gráficas para monitorização (HMI) e cablagem de suporte bem identificada e organizada, sem a qual qualquer diagnóstico futuro se torna impossível.

11. Normas e práticas de operação de sistemas robóticos

Cumprir as normas em vigor é um critério de desempenho explícito desta UC, não uma opção.

Entrar na área de trabalho de um robot em modo automático, mesmo "só um segundo", é uma das causas mais frequentes de acidentes graves em automação industrial. As normas existem precisamente para evitar isto, e cumpri-las é obrigação profissional, não sugestão.

Erros comuns

Glossário

Síntese

Programar um manipulador industrial robótico junta cinco competências que se sustentam mutuamente: conhecer a arquitetura e os componentes do robot; escrever trajetórias e lógica numa linguagem própria (RAPID, KRL); aplicar controlo PID e feedback para corrigir o comportamento em tempo real; adaptar tudo a operações industriais concretas (soldadura, montagem, pintura, embalagem, visão); e integrar o resultado num sistema de produção automatizado, através de protocolos de comunicação e sincronização com o autómato, sempre dentro das normas de segurança em vigor. Nenhuma destas cinco frentes funciona isolada: um robot bem programado mas mal integrado é tão inútil como um mal programado mas perfeitamente ligado à linha.

Exercícios resolvidos

1. Uma fábrica precisa de embalar caixas de bombons a alta velocidade, com peças leves. Que arquitetura de robot escolherias e porquê?

Resolução: um robot delta (paralelo). É a arquitetura mais rápida para cargas leves, graças à leveza dos seus braços paralelos suspensos sobre a base, exatamente o perfil de uma tarefa de embalagem a alta cadência.

2. Explica a diferença entre MoveJ e MoveL em RAPID, e indica quando usarias cada um.

Resolução: MoveJ (PTP) move cada junta ao seu ritmo ótimo, sem percorrer uma linha reta com a ferramenta, sendo mais rápido; usa-se em transições sem risco de colisão. MoveL (linear) obriga a ferramenta a seguir uma linha reta no espaço cartesiano, sendo mais previsível; usa-se perto de obstáculos ou onde o percurso exato importa, como ao aproximar uma peça.

3. Um robot está a oscilar visivelmente ao aproximar-se do ponto final de uma trajetória. Que parâmetro do PID suspeitarias primeiro, e que ajuste farias?

Resolução: suspeitar-se-ia de um ganho Kp demasiado alto ou de um Kd demasiado baixo. Reduzir ligeiramente o Kp ou aumentar o Kd amortece a oscilação, ao custo de uma resposta ligeiramente mais lenta.

4. Numa tarefa de inserção de precisão, porque não basta programar a posição exata do ponto de destino?

Resolução: porque as peças reais têm folgas e tolerâncias de fabrico; uma posição pura falharia sempre que a peça estivesse ligeiramente deslocada face ao modelo ensinado. É preciso ativar controlo de força, avançando até um sensor detetar a resistência esperada, com um limiar de segurança que interrompe a operação se a força ultrapassar um valor definido.

5. Um robot está corretamente programado, mas a célula pára repetidamente numa fábrica com um PLC a controlar a linha. Qual a causa mais provável e como se diagnostica?

Resolução: a causa mais provável é uma falha de sincronização (handshaking) entre o robot e o autómato, por exemplo o robot avançar sem confirmar que a peça está mesmo presente, ou o tempo de ciclo do robot não encaixar no takt time da linha. Diagnostica-se verificando a sequência de sinais digitais trocados entre o robot e o PLC, comparando-a com a lógica esperada.

6. Que normas regulam especificamente a segurança de robots colaborativos (cobots), e o que definem?

Resolução: a ISO/TS 15066, que complementa a ISO 10218 e define limites de força e velocidade permitidos no contacto direto entre o robot e uma pessoa, essenciais para que um cobot possa operar sem vedações físicas completas.