AULA 03
Tipos de Programação de Robôs Industriais e Conceitos
Básicos sobre Robix
Introdução
Robôs Industriais
Programação de Robôs Industriais
Linguagem de Programação de Robôs Introdução à Programação do ROBIX Exercícios
Utilização de robôs no processo produtivo exige:
Flexibilidade de uso
Procedimentos sistemáticos para alterar a programação sem interromper o ciclo
produtivo
Principais vantagens da utilização de robôs:
Flexibilidade de programação Capacidade de realizar tarefas Habilidade de adaptação
Larga faixa de movimentos
1961 – Primeiro robô industrial foi instalado (Empresa Unimation)
2000 – 700 mil robôs instalados.
Definição: manipuladores reprogramáveis e multifuncionais,
projetados para manupular elementos e realizar tarefas diversas
(Robot Industries Association of USA, RIA).
A mobilidade de um manipulador robótico é resultado de uma séria
de movimentos elementares, independentes entre si, denominados
GRAUS DE LIBERDADE DO ROBÔ.
Um braço robótico realiza movimentos no espaço, movimentando
objetos e ferramentas, instruído pelo controlador e informado sobre
o ambiente pelos sensores.
Na extremidade do braço existe um atuador.
Braço do robô é composto por juntas (ou articulações) e vínculos (ou
elos), permitido movimento relativo entre eles.
Todo robô possui uma base fixa, onde o primeiro vínculo está preso.
A mobilidade de um robô depende do nº de vínculos (ou elos) e
Juntas Robóticas:
Também denominadas eixos ou articulações; Permite executar diversas tarefas;
Pode ser linear ou rotacional;
Nº de juntas determina os Graus de Liberdade do robô;
A maioria possui de 3 a 6 eixos, que podem ser divididos em:
Eixo do Corpo
Os métodos mais usados na programação de robôs industriais são:
Aprendizagem ponto a ponto Programação Off-line
Programação On-line
Cada método está associado ao tipo de aplicação requerida:
Execução de tarefas complexas e precisas
Posição determinada analiticamente x sensores externos Manipuladores em situações adversas ao homem
Aprendizagem ponto a ponto:
Robô é manipulado por meio de um processo de aprendizagem de tarefas até as
posições desejadas.
Podem ser realizadas mediante: Movimentação angular das juntas Movimento na direção cartesiana
Aprendizagem ponto a ponto:
Movimentação angular das juntas:
Gravados pontos de referência fornecidos pelos transdutores de posição de cada junta Interpolação gera a trajetória angular do robô
Aprendizagem ponto a ponto:
Movimentação na direção cartesiana: Método quase idêntico ao anterior
Obtenção dos pontos de referência ocorre pelo uso do modelo cinemático do manipulador Possibilita a operação do robô usando as coordenadas x, y e z
Aprendizagem ponto a ponto:
Movimentação de reorientação da ferramenta: Idêntico ao procedimento anterior
Obtenção dos pontos de referência pelo uso da orientação da ferramenta em torno da rotação dos
Programação Off-line:
Software com visualização gráfica do modelo geométrico do robô
Obtenção de pontos de passagem correspondentes à trajetória do robô Movimento angular de cada junta ou modelo geométrico do robô
Conjunto de pontos obtidos torna possível implementar algoritmos off-line para
interpolação e filtragem, levando em consideração aspectos dinâmicos e testes de colisão
Programação On-line:
A partir do modelo geométrico e das características da trajetória desejada (posição final,
velocidade e forma da trajetória).
Algoritmos para modelagem de cinemática inversa. Controle de posição.
Programação usando linguagens:
Mais próxima da realidade industrial Sem necessidade do robô (fisico)
Atuais avanços da tecnologia de software e hardware:
Maior sofisticação dos controladores Melhor precisão de posicionamento
Incremento do número e tipo de sensores
Linguagens de programação são:
Interativas com o usuário
Níveis de programação:
Nível de Junta: programação individual de cada junta do robô para atingir uma
posição
Nível de Manipulador: necessário apenas a posição final do manipulador. O
sistema se encarrega, através do modelo geométrico, de obter as posições angulares de cada junta
Nível de objeto: necessário apenas especificar a posição dos objetos no espaço
de trabalho do robô. Modelo matemático do espaço de trabalho.
Nível de objetivo: apenas especificar o que o robô deve fazer, por exemplo
“montar as peças A, B e C”. Além do conhecimento do ambiente, necessário dados relativos á tarefa a ser realizada.
Vantagens da utilização de programação por linguagens:
Redução do tempo fora de trabalho
Ausência interação do programador com o ambiente de trabalho
Integração com sistema CAD-CAM e consequente redução do tempo de
processo de produção
Simplificação da programação de tarefas complexas: estruturas de controle,
sensores externos e geração de trajetórias
Procedimentos básicos para implementação e execução de
programas:
Segurança (Aprendizagem direto):
Respeitar a área de trabalho
Travas de segurança: cortina de luz, tapete com sensor e sensor de presença Durante a aprendizagem, trabalhar com velocidade reduzida (<250 mm/s) Chave de três posições para energizar motores (on-off-on)
Procedimentos básicos para implementação e execução de programas:
Planejamento do Programa: reduzir tempo de implementação e validação Conhecer o processo a ser automatizado
Conhecer as variáveis de controle Saber a sequência lógica do processo Ter como meta garantir a segurança Definir nomes, rotinas, I/O’s
Comandos Básicos:
Move e Jump: movimenta o servo selecionado Wait: espera (1 significa 0.1 segundos)
Exemplo 1:
move 1,2,3 to 0; jump 4 to initpos move 3,4 to -300, 1 to maxpos, 5 by -250
Exemplo 2:
move all to -1000; wait 5; digout 1 on, 2 off; wait 5 move all to 1000; wait 5; digout 1 off, 2 on; wait 5
Observe:
Separação com “,” não precisa do comando de novo. Separação com “;” indica final de comando.
Comandos Básicos:
Macro: repete um conjunto de comandos o número de vezes que for determinado. Exemplo 3:
Macro osc
move 1,2,3 to 0; jump 4 to initpos
move 3,4 to -300, 1 to maxpos, 5 by -250 End Osc 4 Exemplo 4: Osc 0 Macro osc
move all to -1000; wait 5; digout 1 on, 2 off; wait 5 move all to 1000; wait 5; digout 1 off, 2 on; wait 5 End
Comandos Básicos:
Torque e corrente: absi indica a corrente aproximada em miliamperes puxada pelo servo Não manter o valor de abs superior a 500 por intervalos grandes de tempo
Desenvolva um programa em linguagem robix para as seguintes tarefas:
Mover todos os 6 (seis) motores para a posição 0. Mover rapidamente o motor 1 para a
posição 500. Mover o motor 3 de 200. Mover os motores 2,4 e 6 simultaneamente para a posição 100. Mover o motor 5 rapidamente de -300. Esperar 5 segundos e reiniciar o ciclo. Devem ser realizados 12 ciclos.
Mover todos os 6 (seis) motores para a posição 100. Mover os motores 1, 2 e 4
simultaneamente para a posição 500. Mover o motor 5 rapidamente de -100. Mover o motor 3 de 50. Esperar 12 segundos. Mover o motor 6 rapidamente para a posição -300. Esperar 10 segundos e reiniciar o ciclo. O robô só deve parar de realizar as tarefas no caso do botão parar ser ativado.
Desenhe as montagens do robix que levam à obtenção dos ângulos de roll, pitch e