Baixe o app para aproveitar ainda mais
Prévia do material em texto
3 Curso: Mecatrônica Módulo: II Carga Horária: Docente: Turno: Turma: Material Instrucional especialmente elaborado pelo Prof. Paulo para uso exclusivo do CETEB- CA. 4 SUMÁRIO CONCEITOS BÁSICOS 6 INTRODUÇÃO 6 O QUE É ROBÓTICA ? 7 OPERAÇÃO 8 ARQUITETURA DE UM MANIPULADOR ROBÓTICO 9 O MANIPULADOR 10 RESOLUÇÃO, REPETIBILIDADE, PRECISÃO 16 DESCRIÇÃO DE POSIÇÃO E ORIENTAÇÃO 16 CINEMÁTICA 17 VELOCIDADES, FORÇAS ESTÁTICAS, SINGULARIDADES 18 ESTÁTICA 19 DINÂMICA 19 GERAÇÃO DE TRAJETÓRIA 19 SEGURANÇA 22 APLICAÇÕES INDUSTRIAIS DE ROBÔS 23 SOLDAGEM 23 APLICAÇÃO DE FLUIDOS 24 MONTAGEM 25 PROGRAMAÇÃO E SIMULAÇÃO DE ROBÔS 25 PROGRAMAÇÃO POR APRENDIZAGEM 27 PROGRAMAÇÃO OFF-LINE 29 ROBÔ 30 MODELO E SISTEMA DE PROGRAMAÇÃO 30 LINGUAGENS DE PROGRAMAÇÃO DE ROBÔS INDUSTRIAIS 30 SIMULAÇÃO DE ROBÔS 32 SIMULADORES COMERCIAIS 33 SOFTWARES EDUCACIONAIS 33 EXEMPLOS 34 REFERÊNCIAS BIBLIOGRÁFICAS 34 ANEXO I 35 O ROBÔ DIDÁTICO - SCORBOT - ER III 35 SEGURANÇA COM O ROBÔ DIDÁTICO 36 COMPONENTES DO ROBÔ DIDÁTICO SCORBOT - ER III 37 O BRAÇO MECÂNICO 37 CÁLCULO DA TAXA DE TRANSMISSÃO 38 TRANSMISSÕES DO SCORBOT-ER III 40 O CONTROLADOR 43 INTRODUÇÃO AOS TIPOS DE CONTROLE 44 ENCODERS ÓTICOS 46 ENTRADAS E SAÍDAS 49 A COMUNICAÇÃO ENTRE O ROBÔ E SEU AMBIENTE. 49 PONTO DE INICIALIZAÇÃO DO ROBÔ (ROBOT HOME) 52 UTILIZANDO SCORBASE PARA OPERAR O ROBÔ 53 PRINCÍPIOS DE OPERAÇÃO 53 MOVENDO AS ARTICULAÇÕES DO ROBÔ 55 RUN PROGRAM MENU 59 USO DA LINGUAGEM SCORBASE NÍVEL 1 59 MENU DE MANIPULAÇÃO DE PROGRAMAS (SALVAR, CARREGAR E DELETAR) 62 EXECUTANDO PROGRAMAS VIA RUN PROGRAM MENU 62 USOS DO SCORBASE NÍVEL 2 62 5 ESCRITA DE PROGRAMAS VIA MENU EDITOR DE PROGRAMA (OFF-LINE) 63 USOS DO SCORBASE NÍVEL 3 64 "HARD HOME" 65 ESCREVENDO UM PROGRAMA PARA LOCALIZAÇÃO 65 ANEXO II 70 ELEMENTOS DE HARDWARE 70 MOTOR DE PASSO 70 SENSORES 75 O QUE É SENSOR CA? 82 O QUE É SENSOR CA / CC? 82 SENSORES CA MODELOS WA E WF: 82 SENSORES CA MODELOS W3A E W3F: 82 SENSORES CA / CC MODELOS UA E UF: 82 SENSORES CA / CC MODELOS UZA E UZF: 83 EXERCÍCIOS 87 6 Conceitos Básicos Introdução Robôs são uma idéia antiga. Por volta de 3500 A.C. entidades da mitologia grega como Efestus e Pigmalion, incorporam a idéia de robos inteligentes. Em 270 A.C. Ctesibius da Grécia construiu relógios d’água com figuras móveis. Entre 1452-1419 Leonardo Da Vinci imaginou robôs humanóides para proteger castelos (figura 1), mas que por falta de tecnologia apropriada não chegaram a ser construídos. A palavra robô vem da palavra tcheca "Robota", que significa trabalho escravo. Ela foi utilizada pela primeira vez em uma peça teatral de Karel Capek (vide figura 2). A peça de 1921 era chamada "Robôs Universais de Russum"e tratava sobre a hoje clássica estória de robôs que rebelam-se contra a humanidade. Nos anos 40 Isaac Asimov cunhou a palavra robótica, para designar o campo científico que aborda os robôs. Desde então, muitos filmes e programas de televisão (figura 3) tem feito as pessoas imaginarem robôs como sendo máquinas humanóides dotadas de elevada inteligência sempre prontas para rebelar-se contra a humanidade. Fig 1 – Robo Humanóide e desenhos de DaVinci Figura 2- Cartaz e o robo da peça de Karel Capek. Existem várias definições históricas sobre os robôs. Por robôs entendemos ser uma máquina flexível programável com a qual um objeto pode ser movido para um local definido no espaço, ou com o qual pode ser realizados uma trajetória com este objeto para realizar uma determinada tarefa. Definição 7 Porém, robôs reais são bem diferentes dos robôs da ficção científica. O que é Robótica ? Robótica é um campo vasto que necessita de conhecimentos de Eletrônica, Mecânica, Computação, Controle, Psicologia, etc. Usualmente os robôs são tidos como causadores de desemprego. No entanto, o que ocorre na maioria dos casos é que os robôs modificam a posição dos postos de trabalho na linha de produção. Com os robôs, toda a linha de produção torna-se mais rápida, demandando mais pessoas para embalagem dos produtos, venda da produção maior, compra de mais matéria prima, programação e alimentação dos robôs e outras tarefas que não podem ser automatizadas. Classificação Os robôs podem ser classificados quanto à sua estrutura mecânica, quanto á sua geração tecnológica e quanto à participação do operador humano em seu funcionamento. Quanto à estrutura mecânica Segundo a Federação Internacional de Robótica (IFR), as principais configurações são as seguintes: 1. Robôs de coordenadas cartesianas (pórticos) 2. Robôs de coordenadas cilíndricas 3. Robôs de coordenadas esféricas 4. Robô SCARA 5. Robôs de articulados ou antropomórficos 6. Robôs paralelos Os robôs relacionados nos itens 1 a 6 serão melhor descritos mais a adiante. Os robôs paralelos apresentam uma configuração tipo plataforma e mecanismos em forma de cadeia cinemática fechada. O volume de trabalho resultante é aproximadamente esférico. Quanto à geração tecnológica Segundo RIVIN (1988) e ROSEN (1985), podemos classificar os robôs segundo a sua geração tecnológica. 1ª GERAÇÃO – robôs denominados de “seqüência fixa”, os quais, uma vez programados, repetem sempre a seqüência de operações. Para realizar uma operação diferente tem que ser reprogramados. São incapazes de obter qualquer informação sobre o ambiente de interação do robô na fabrica. Este ambiente deverá estar completamente estruturado (parametrizado), pois as operações exigem um posicionamento preciso dos objetos a serem trabalhados. A maioria dos robôs industriais pertence a esta geração. 2ª GERAÇÃO – possuem recursos computacionais e sensores que permitem ao robô agir em um ambiente parcialmente estruturado, calculando em tempo real os parâmetros de controle para a realização dos movimentos. Atividades como pegar uma peça deslocada de sua posição ideal ou reconhecer uma peça a ser manipulada, dentre um conjunto de peças variadas. 3ª GERAÇÃO – Apresentam inteligência suficiente para se conectar com outros robôs e maquinas armazenar programas e se comunicar com outros sistemas computacionais. É capaz, por exemplo, de tomar decisões em operações de montagem, tais como montar uma adequada combinação de peças, rejeitar peças defeituosas e selecionar uma combinação correta de tolerâncias. No entanto, o emprego desse tipo de robô ainda em processos industriais ainda é incipiente. (a) Os Jetson’s (69) (b) Star Wars (c) Robots (d) Lost in Space (e) Short Circuit (f) Android Jonnhy Walker 2005 (g) I Robot Fig 3 8 Quanto à participação de operador humano O grau de envolvimento com o operador humano no processo de controle de um sistema robótico é determinado pela complexidade que o meio de interação apresenta e pelos recursos disponiveis para o processamento dos dados necessários à execução das tarefas. Caso o ambiente seja estruturado, onde os parametros necessários à operacionalidade do sistema possam ser identificados e quantificados, é possivel estabelecer um sistema de controle capaz de gerenciar e monitorar tarefas com a mínima paarticipação do operador, é o chamado Sistema Robótico. A maioria das atividades industriais automatizadas, como soldagens por ponto ou contínua, fixação de circuitos integrados em placas, pintura de superfícies, movimentação de objetso e montagens de peças, operam em ambientes estruturados. Com o ambiente não-estruturado, surge a dificuldade de quantificar determinados parametros do processo ou por possuirem elevado custo para obtê-los, dentro de certas especificações, a utilização do poder decisório do operador no gerenciamento do sistema de controle torna-se fundamental para a realização das tarefas determinadas. Neste caso o sistema é classificado como Tele operado Sistema tele operados, são normalmente utilizados em mineradoras,recuperação de satélites, manipulação de material radioativo ou tóxico, exploração de petróleo e gás em plataformas maritimas. Podemos ter ainda: Robôs industriais: são os utilizados em linha de produção para movimentação de peças, pintura, soldagem, etc. Normalmente são constituídos por um braço articulado, uma unidade de controle, um "teaching-pad" (teach-pendant), uma unidade de potência e muitas interfaces para conexão do robô com periféricos segundo a tarefa. Robôs móveis: são os que podem se movimentar autonomamente no chão ou no espaço. Obviamente, um robô estacionário pode ser tornado móvel se montado em uma plataforma móvel, mas freqüentemente o termo robô móvel é utilizado para referir-se apenas a plataforma móvel. Robôs de serviço: são os desenvolvidos para realizar tarefas específicas, como aspiração de pó, auxílio a pessoas idosas ou deficientes, limpeza de navios e aviões, corte de grama, tosquia de ovelhas, etc. Operação A operação de robô industrial engloba uma série de tarefas de menor ou maior grau de complexidade. O termo operação pode se referir a operação simples de carregar um programa para que o robô realize uma tarefa específica; ajustar parâmetros do programa para o robô execute um trabalho um certo número de vezes ou com um tipo especifico de ferramenta, mas também pode se referir à tarefas complexas como calibração ou estabelecimento do posto de trabalho do robô. Uma das principais preocupações da industria é com as tarefas mais simples que, via de regra, podem ser desempenhadas por pessoal com pouca qualificação profissional e que são executadas com muita freqüência. Para maximizar o lucro o industrial geralmente procura-se empregar na operação de robôs operadores de máquina sem capacitação profissional. Isso traz a necessidade de uma melhoria (simplificação) da interface homem-máquina com o objetivo de facilitar o uso desta interface sobre tudo nas operações cotidianas: colocar o robô em execução de uma rotina repetitiva; contornar situações de erro (por exemplo: parada ocasionada por colisão); ligar o desligar o robô. Tarefas mais sofisticadas como: instalação, manutenção e calibração; requerem o emprego de mão-de-obra especializada e, por isso, implicam em um gasto maior. Há um segmento de mercado significativo para prestação deste serviço já que, no geral, não vale a pena para o industrial que aplica robôs em sua planta manter uma equipe de especialistas. 9 Arquitetura de um Manipulador Robótico Figura 4 - Arquitetura típica de um manipulador robótico. Estação de Trabalho: Computador que implementa a interface amigável com o operador. Permite a programação das tarefas a serem executadas pelo braço. Através dela o programa é carregado no Controlador de Robô. Pode ser compartilhada por outras máquinas que componham a célula de trabalho. Teach Pendant (Apêndice de Ensino): interface homem-máquina (conhecido simplesmente como IHM) ligada por um cabo ao controlador do robô e equipada com teclas de funções que permitem que as juntas do robô sejam acionadas independentemente. A seqüência de movimentos pode ser gravada e utilizada pelo controlador para repetir a tarefa “ensinada”. Controlador do Robô: Computador dedicado que interpreta o programa, executando as tarefas programadas através de algoritmos de controle das juntas do robô. Estes algoritmos comparam a posição real das juntas fornecida pelos sensores com a posição que estas deveriam ter para realizar as tarefas programadas, determinando o esforço que deve ser aplicado pelos atuadores de modo a corrigir eventuais desvios na execução das tarefas. Acionamento: circuitos de potência comandados pelo Controlador de modo a aplicar nos atuadores a energia necessária para realizar os movimentos programados. Aquisição de dados: Circuitos de condicionamento e conversão analógico/digital dos sinais fornecidos pelos sensores. Transformam a informação provinda nos sensores num código numérico manipulávél pelo Controlador do Robô. Sensores: Detectam posição e velocidade do robô ou a força exercida pela ferramenta. Sensores de posição: detectam a posição das juntas do manipulador. • Potenciômetros: tensão é proporcional ao ângulo da junta. • Resolvers: tensão é proporcional ao ângulo da junta. • Encoders: ângulo da junta codificado digitalmente. o Incrementais: contam pulsos correspondentes a incrementos angulares. o Absolutos: fornecem diretamente o código binário correspondente ao ângulo. Sensores de velocidade: detectam a velocidade das juntas do manipulador. • Tacômetros: tensão é proporcional à velocidade da junta. Sensores de torque e força: detectam o torque e a força aplicados pela garra. • Células de carga: tensão proporcional ao esforço na sua superfície. 10 Atuadores: Realizam a conversão da energia disponível em energia mecânica para movimentar o braço. Podem ser elétricos, pneumáticos ou hidráulicos. • Elétricos: motores elétricos (de passo, servos CC ou CA) o Usados em robôs de médio porte. o Maior precisão. o Permite controle preciso e eficiente o Envolve estruturas simples e de fácil manutenção o Não requer fonte de energia cara o Custo relativamente baixo o É sujeito a danos devido a cargas pesados o bastante para parar o motor o É incapaz de manter um momento constante em velocidades variáveis de revolução o Tem uma baixa razão de potência de saída em relação ao peso do motor • Pneumáticos: utilizam um gás a pressão para movimentar o braço ou músculos artificiais (ligas de Nitinol). o Usados em robôs de pequeno porte. o Baixa precisão. Limitados a operações do tipo pega-e-coloca. o Permite operação em altas velocidades. o Precisão pouco apurada. o Pode manter um momento constante (menor do que o acionamento hidráulico). o Está sujeito a vibrações momentâneas no braço. o Fácil manutenção o Custo relativamente baixo • Hidráulicos: utilizam um fluido a pressão para movimentar o braço. o Usados em robôs grandes. o Grande potência e velocidade, mas baixa precisão. o Mantém um momento alto e constante sob uma larga faixa de velocidades o Requer uma fonte de energia cara o Permite precisão de operação, algo menos que acionamento elétrico, mas mais que o pneumático. o Requer cara e extensiva manutenção. o Pode manter alto momento sobre longo período de tempo. o As válvulas devem ser precisas e são caras. o Está sujeito a vazamentos de óleo do sistema. O Manipulador Figura 5 – O Braço manipulador e o equivalente esquemático 11 Manipulador é o conjunto de corpos rígidos, (chamados elos), interligados em uma cadeia cinemática aberta através de juntas, as quais são acionadas por atuadores de modo a posicionar a extremidade livre da cadeia (órgão terminal, efetuador, garra ou ferramenta) em relação à outra extremidade, que é fixa (base do manipulador). Juntas Junta é a interligação entre dois elos que permitem o movimento relativo entre os mesmos numa única dimensão ou Grau de Liberdade. • Juntas rotacionais : Permite a mudança da orientação relativa entre dois elos. • Juntas prismáticas: Permite a mudança da orientação relativa entre dois elos. • Juntas esféricas: Tentam agregar as funcionalidades dos tipos acima, mas são dificeis de implementar. Características das juntas Prismáticas: As juntas prismáticas construtivamente são mais complexas que as rotacionais, mas devido a sua tecnologia ser a mesma aplicada na construção de máquinas-ferramenta apresentam maior rigidez e precisão. O movimento relativo entre dois elementos de uma junta aplicada em robótica é obtido através da interposição de dois elementos deslizantes de modo a minimizar a resistência ao movimento devido ao atrito. Esta escolha é imposta por dois motivos fundamentais: Os movimentos do robô se caracterizam por uma seqüência de partidas e paradas onde somente a presença de rolamentos pode gerar um baixo atrito; Operacionalmente se requer no robô uma capacidadede realizar movimentos rápidos com pequenas forças motrizes. Rotacionais: A construção de juntas rotacionais é realizada com componentes padronizados dos fabricantes de rolamentos. Construtivamente as juntas prismáticas são realizadas com guias de roletes ou de bússolas esféricas. As juntas rotacionais são sempre mais compactas. Juntas principais e secundárias Essa divisão em dois grupos com funções distintas, principais e secundárias, remete a uma especialização na estrutura das juntas. Braço – a estrutura do braço pode utilizar juntas “P” e “R”. Os elementos componentes possuem determinado comprimento. (a) Rotacional. (b) Prismática. (c) Esférica 3GL. (d) Esférica. Figura 4: Tipos de juntas. Graus de liberdade é número de movimentos distintos que o braço pode realizar. Normalmente o número de graus de liberdade iguala-se ao número de juntas. Definição 12 Pulso - no pulso somente juntas “R”; elementos sem dimensão; os eixos de rotação das três juntas se encontram em um ponto. Considerando um robô com seis graus de liberdade temos como: • Graus de liberdade principais (braço do robô): Conjunto dos três primeiros elos do manipulador e suas juntas correspondentes. Determina predominantemente a posição da ferramenta. Requer atuadores mais potentes. • Graus de liberdade secundários (pulso do robô): Conjunto dos três últimos elos do manipulador e suas juntas correspondentes. Determina predominantemente a orientação da ferramenta. Ferramentas Parte do manipulador usada para interagir com objetos presentes no espaço de trabalho. Garras : Ferramentas específicas para pegar objetos. Podem ser: • Garras Mecânicas: pegam pressionando o objeto entre dedos (que podem ser intercambiáveis). o Por movimento pivotante. o Por movimento linear. o Mãos antropomórficas. • Garras de Sucção: pegam através da criação de um vácuo entre a garra e a peça. o Requerem superfícies limpas e sem furos. • Garras Magnéticas: pegam através da atração magnética entre a garra e a peça. o São rápidas, independem da forma e dos orifícios da peça. o Funcionam apenas com materiais ferromagnéticos, podem pegar peças indesejadas e podem deixar magnetismo residual nas mesmas. o Aquelas a imã permanente requerem dispositivo para soltar a peça. • Garras Adesivas: pegam pelo contato com substância adesiva (que deve ser renovada de tempos em tempos). • Garras Balões: pegam objetos côncavos através da pressão ao serem inflados. (a) com dois dedos. (b) com três dedos. (c) para objetos delicados. (d) para objetos circulares. (e) articulada. (f) com ventosas. Figura 6: Modelos de Garras. 13 Ferramentas Especiais: possuem finalidades diversas. • Pinças para soldagem a ponto. • Tocha Arco, Maçaricos e Pistolas de pintura. • Mandris e Perfuração. • Polimento e Retífica. • Aplicadores de cola ou resina. • Ferramentas de corte por jato de água. • Carregamento e Movimentação A avaliação dos tipos de articulações e seu arranjo permitem ao projetista estimar a área de atuação do robô, rigidez mecânica a facilidade de controle do braço, possibilitando qual tarefa serão mais apropriadas para cada tipo de robô. O movimento das articulações capacita o robô a mover seu atuador para qualquer ponto na sua área de atuação, mas não habilita o controle da orientação do atuador no espaço; cuja importância não se restringe somente ao alcance à peça. Essa tarefa pode ser realizada adicionando-se articulações para o pulso do braço, dando um maior grau de liberdade. A partir disso, o robô fica habilitado a realizar os seguintes movimentos: • Pitch – movimento para cima e para baixo; • Roll – movimento de rotação no sentido horário e anti-horário; • Yaw – movimento para a esquerda e direita. Configurações Cinemáticas Configuração Articulada (RRR) - Articulada vertical Figura 8 Figura 7: Três juntas rotacionais substituindo a junta de esfera e encaixe Espaço de Trabalho: Ou volume de trabalho, é a fronteira exterior de todos os pontos que um robô pode alcançar com seu efetuador. Envelope de Trabalho: é a superfície desse espaço de trabalho, ou seja, os pontos de alcance máximo do robô. Definição 14 Configuração Esférica (RRP) Figura 9 Configuração SCARA (RRP) - Articulada horizontal SCARA significa Selective Compliance Assemlby Robotic Arm (Braço Robótico de Montagem de conformidade seletiva). Tem este nome porque o robô apresenta uma flexibilidade estrutural maior no plano horizontal do que no plano vertical, facilitando operações de montagem com inserções verticais de pinos. Figura 10 Configuração Cilíndrica (RPP) Figura 11 15 Configuração Cartesiana (PPP) Figura 12 Aplicações Práticas dos Graus de Liberdade Os seis graus de liberdade não são necessários em muitas aplicações práticas. O número de graus de liberdade, portanto deve ser apenas o suficiente para atender as especificações de trabalho. Robôs a quatro graus de liberdade São utilizados em operações de montagem onde a união das partes pode ser obtida com uma seqüência de inserções verticais. Neste caso três graus de liberdade, translação ao longo dos eixos x e y e rotação em torno do eixo vertical permitem posicionar e orientar um objeto no plano, enquanto uma translação em torno do eixo vertical permite uma operação de encaixe (inserção). Robôs a três graus de liberdade Um robô a três graus de liberdade pode sempre substituir um de quatro graus quando as peças a serem montadas forem cilíndricas (eixos). Neste caso a possibilidade de rotação em torno do eixo vertical torna-se dispensável. Robôs a cinco graus de liberdade Um robô a cinco graus de liberdade poderá sempre substituir um de seis graus quando as peças tiverem simetria axial, como objetos cilíndricos. Casos em que se torna supérfluo o movimento de rotação em torno de seus eixos de simetria. Figura 13 Figura 14 16 Resolução, Repetibilidade, Precisão Resolução: É o menor movimento incremental de uma junta, normalmente detectável pelo dispositivo de medição. Exemplo, se o codificador tiver 180 incrementos então sua resolução será de 180 incrementos por volta ou seja 360º/180 = 2º. Esta é a resolução angular, que pode ser convertida em resolução espacial, em função do comprimento da junta: Res_Espacial = L*sen(Res_Angular) Repetibilidade: Traduz a diferença de posição (linear em geral) com que o robô volta a recolocar-se num ponto especifico. Precisão: Traduz a diferença entre uma posição realmente atingida e a posição desejada pela programação. Está relacionada com a resolução e por certo não poderá ser melhor que o valor daquela (ou +/- metade) – afetado pela carga transportada e variável conforme a zona de espaço de trabalho. Um outro fator que influencia grandemente a precisão e a repetibilidade é a resolução do controlador. Entende-se por resolução do controlador o menor incremento de movimento que o controlador pode "sentir". Matematicamente, é dada pela expressão: Distância total percorrida pela junta Res_controle = 2n Onde n é o número de bits do encoder (sensor de posição existente na junta). Obviamente, se a junta for prismática, o numerador da equação é um deslocamento linear, enquanto que se a junta for rotativa, será um deslocamento angular. Nesse contexto, juntas prismáticas proporcionam maior resolução que juntas rotativas, pois a distância linear entre dois pontos é menor do que o arco de circunferência que passa pelos mesmos dois pontos. Descrição de posição e orientação No estudo de robótica nós estamos constantemente preocupados com a localização de objetos no espaço tridimensional. Estes objetos são os segmentos do manipulador, as peças e ferramentas com que ele trabalha, e outros objetos no ambiente do manipulador. De uma forma bem simples, mas não menos importante, estes objetos são descritos através deapenas dois atributos: sua posição e orientação, em termos de pontos. Para que se possa localizar este ponto no espaço é necessário considerar a existência de um sistema de coordenadas, daí, de que maneira nós podemos representar estas quantidades. É importante observar que neste curso não iremos manipulá-las matematicamente. Boa Precisão Boa repetibilidade Má Precisão Boa repetibilidade Boa Precisão Má repetibilidade Má Precisão Má repetibilidade Figura 15 17 Para descrever a posição e orientação de um corpo no espaço nós atrelaremos sempre um sistema de coordenada, ou frame, rigidamente ao objeto. Então, nós descrevemos a posição e orientação deste frame com relação a algum sistema de coordenada de referência (Figura 16). Desde que qualquer frame pode servir como um sistema de referência em relação as qual nós expressamos a posição e orientação de um corpo, nós freqüentemente teremos que transformar ou mudar a descrição destes atributos de um corpo de um frame para outro. Cinemática Cinemática é a ciência do movimento que trata o movimento sem levar em conta as forças que o causam. Dentro da ciência da cinemática estudamos a posição, velocidade, aceleração. Conseqüentemente, o estudo da cinemática de manipuladores se refere a todas as propriedades geométricas e baseadas no tempo do movimento. Manipuladores são constituídos de segmentos quase rígidos que são conectados por articulações ou juntas que permitem movimento relativo de segmentos vizinhos. Estas juntas normalmente são instrumentadas com sensores de posição que permitem medir a posição relativa de segmentos vizinhos. O valor medido é chamado de variável de junta e mede o deslocamento de um segmento em relação ao outro. No caso de juntas rotativas ou de revolução, estes deslocamentos são chamados ângulos de junta. Alguns manipuladores contêm juntas prismáticas ou deslizantes nas quais o deslocamento relativo entre segmentos é uma translação, às vezes chamado de offset de junta. O número de graus de liberdade (DOF – degrees of freedom) que um manipulador possui é o número de variáveis de posição independentes que teriam que ser especificadas para localizar todas as partes do mecanismo. Este é um termo geral usado para qualquer mecanismo. Por exemplo, um encadeamento de quatro-barras tem só um grau de liberdade (embora haja três membros que se movem). No caso de robôs industriais típicos, porque um manipulador normalmente é que um cadeia cinemática aberta e porque cada posição é definida normalmente com uma única variável, o número de juntas é igual ao número de graus de liberdade. No extremo livre da cadeia de segmentos que compõem o manipulador está o efetuador (end-effector). Dependendo da aplicação planejada para o robô, o efetuador pode ser uma garra (gripper), uma tocha de soldagem (weld torch), um eletroímã ou outro dispositivo. Nós geralmente descrevemos a posição do manipulador dando uma descrição do frame da ferramenta (tool frame) que é atrelado ao efetuador, relativo ao frame da base (base frame) que é atrelado à base de imóvel do manipulador (Figura 17). Cinemática Direta Um problema básico no estudo de manipulação mecânica é o da cinemática direta, que pode ser dividida em dois problemas: 1. O problema estático e geométrico de calculo da posição e orientação do efetuador em relação ao sistema de coordenadas fixas, dadas as posições de todas as articulações ou seja, trata-se de computar a posição e orientação do frame da ferramenta relativo ao frame da base. 2. O problema do robô manipulador em movimento, onde se deseja calcular a velocidade linear e angular do efetuador, dadas as posições e velocidades de todas as articulações. Figura 16 – Sistemas de Coordenadas ou frames são atrelados ao manipulador e outros objetos no ambiente Figura 17 – Equações cinemáticas descrevem o frame da ferramenta em relação ao frame da base como uma função das variáveis de junta 18 Cinemática Inversa O problema cinemática inversa é proposto como segue: dado a posição e orientação do efetuador do manipulador, calcule todos os possíveis vetores de ângulos de junta que poderiam ser usados para atingir esta determinada posição e orientação. Este é um problema fundamental para o uso prático de manipuladores. O problema da cinemática inversa não é tão simples quanto o da cinemática direta. Porque as equações cinemática não são lineares, a solução delas sempre é mais difícil ou até mesmo impossível em uma forma fechada. Também surgem questões quanto à existência de uma solução e de soluções múltiplas. A existência ou não existência de uma solução para a cinemática definem o espaço de trabalho (workspace) de um determinado manipulador. A falta de ao menos uma solução, ou seja a inexistência de qualquer solução, significa que o manipulador não pode atingir a posição e orientação desejadas porque caem fora do workspace do manipulador. Velocidades, Forças estáticas, Singularidades Além de lidar com problemas de posicionamento estáticos, nós podemos desejar analisar os manipuladores em movimento. Freqüentemente, executando a análise de velocidade de um mecanismo é conveniente definir uma quantidade matricial chamada de Jacobiano, ou matriz Jacobiana do manipulador. O Jacobiano especifica um mapeamento de velocidades no espaço de junta para velocidades no espaço Cartesiano (Figura 18). a natureza deste mapeamento muda com variação na configuração do manipulador. Em certos pontos, chamados de singularidades, este mapeamento não é inversível. Uma compreensão detalhada do fenômeno é importante para os projetistas e usuários de manipuladores. Manipuladores nem sempre se movem pelo espaço livre; às vezes eles também devem fazer contato com uma peça ou superfície de trabalho e aplicar uma força estática. Neste caso surge um problema: “Dada uma força de contato e momento desejados, o que determina quais torques de junta são exigidos para gerá-los?” Mais uma vez, a matriz de Jacobiana do manipulador surge muito naturalmente na solução deste problema. Na prática sempre fazemos uso de pontos de aproximação para garantir que os parametros não sejam ultrapassados. Figura 18 – Relação geométrica entre a taxa de variação da variável de junta e a velocidade de efetuador pode ser descrita por uma matriz chamada de Jacobiano Por espaço Cartesiano nós queremos dizer o espaço no qual a posição de um ponto é determinada com três números, e na qual a orientação de um corpo é determinada com três números. Às vezes é chamado espaço de tarefa ou espaço operacional. Definição 19 Estática Os robôs manipuladores nem sempre estão em movimento, algumas vezes eles são utilizados para pegar objetos ou trabalhar em contato com uma superfície e assim aplicar um esforço estático; nesta situação surge um problema: dada uma força e um momento que o robô deve aplicar no ambiente, quais devem ser as forças e torques nos atuadores das articulações para gerar as forças e momentos de interação com o ambiente; a matriz Jacobiano do robô é utilizada também na solução deste problema (Figura 19). Dinâmica Dinâmica é um campo de estudo enorme dedicado a estudar as forças exigidas para causar movimento. Para acelerar um manipulador do repouso, mover o efetuador com uma velocidade constante, e finalmente desacelerar e parar, um conjunto complexo de funções de torque deve ser aplicado pelos atuadores das juntas (note o box abaixo). A forma exata das funções de torque de atuador exigidas depende dos atributos de espaço e temporais da trajetória percorrida pelo efetuador como também das propriedades de massa dos segmentos e carga, atrito nas juntas, etc. Um método para controlar um manipulador afim de seguir uma trajetória desejada envolve calcular estas funções de torque de atuador usando as equações dinâmicas de movimento do manipulador. Um segundo uso para as equações dinâmicas de movimento estána simulação (Figura 31). Reformulando as equações dinâmicas de forma a calcular a aceleração como uma função de torque de atuador, é possível simular como um manipulador se moveria sob a aplicação de um conjunto de torque de atuador (Figura 20). Geração de trajetória Um modo comum de causar um movimento em um manipulador de um lugar para outro de forma suave e controlada é fazer com que cada junta se mova como especificado por uma função suave de tempo. Normalmente, cada junta começa e termina seu movimento ao mesmo tempo, de forma que o movimento de manipulador parece ser coordenado. Exatamente como computar estas funções de movimento é o problema de geração de trajetória (Figura 21). Freqüentemente um caminho é descrito não apenas pelo destino desejado mas também por algumas localizações intermédias, ou por pontos pelos quais o manipulador tem que passar no seu cominho para o destino. Neste caso, o termo spline é usado para se referir a uma função suave, ou um algoritmo que gera uma função suave, que passa por um conjunto de pontos. Figura 19 – A relação entre os esforços aplicados nas articulações e os esforços aplicados pelo efetuador no ambiente é determinada pelo Jacobiano Figura 20 – Relação entre o torque aplicado pelos atuadores nas juntas e o movimento resultante do manipulador pode ser descrita com as equações dinâmicas Figura 21 – Para mover o efetuador de um ponto PA para um ponto PB no espaço deve-se calcular uma trajetória para cada uma das juntas, e elas devem ser seguidas pelas juntas. Nós empregamos a expressão “atuador de junta” para descrever um dispositivo genérico destinado a mover a junta fornecendo energia mecânica à ela, por exemplo: motor elétrico, cilindro hidráulico e pneumático, etc. Definição 20 Para forçar o efetuador a seguir uma linha reta (ou outra forma geométrica) através do espaço, o movimento desejado deve ser convertido a um conjunto equivalente de movimentos de junta. Controle de trajetória Cada tarefa executada por um robô pode ser considerada como uma série de operações, através das quais o atuador é movido pelo braço do robô entre dados pontos e operando como programado nesses pontos. O controle de trajetória pode ser dividido em dois métodos: • Ponto-a- ponto; • Controle contínuo. Antes de descrever cada método, devemos definir alguns termos: • Ponto: localização no espaço em direção ou através do qual o atuador é movido por uma operação do braço do robô. • Passo: uma parte do programa operacional do robô. A cada passo, o robô executa uma atividade. • Série: uma coleção de passos que combinados formam o programa operacional do robô. Controle da trajetória ponto-a-ponto Neste tipo de controle, primeiramente definimos uma coleção de pontos para o robô, então construímos a série e guardamos na memória do controlador. Quando rodamos a série, o braço do robô vai se mover pelos vários pontos, de acordo com a ordem dos passos na série, em cada passo o robô sabe para onde ir, mas não conhece a trajetória que traçara para chegar a um certo ponto. Robôs com controle ponto-a-ponto são geralmente usados em séries onde o atuador não precisa realizar alguma função no decorrer do movimento, uma aplicação típica é solda em ponto, a maioria dos robôs do mundo opera em controle ponto-a-ponto. Controle da trajetória contínua Esse método é mais complexo e caro do que o ponto-a-ponto, pois o braço deve se mover por uma trajetória exatamente definida. Os movimentos dos acionadores são coordenados pelo controlador do braço a cada instante, de tal forma que a trajetória irá se assemelhar o Maximo possível com a programada. A trajetória do robô pode ser definida por dois métodos, como veremos: • Método A: nesta técnica, o braço do robô é movido manualmente pela trajetória desejada, enquanto o controlador grava em sua memória as posições das articulações a cada instante, através das informações fornecidas pelos encoder’s, quando a série é rodada mais tarde, o controlador comanda os acionadores de acordo com a informação em sua memória, o braço então repete a trajetória precisamente. • Método B: nesta técnica, a trajetória é definida por um determinado trajeto de movimento, tal como uma linha reta ou um arco passando por dados pontos, o controlador calcula e coordena o movimento a cada instante, o computador controlador deve ser mais rápido e ter mais memória do que o computador de controle ponto – a – ponto, robôs com controle de trajetória continua são usados em serie onde o atuador deve realizar algum trabalho enquanto o braço se move, uma aplicação típica é pintura com spray. Controle de coordenada com o ambiente O movimento de um braço de robô é baseado em movimento coordenado de todos seus acionadores, as condições em que esses acionadores trabalham são diferentes, diferem na carga, no momento de inércia e na velocidade, por exemplo; portanto, essas condições variáveis podem exigir um diferente planejamento de controle para cada malha de controle. 21 • Em robôs modernos, cada malha de controle do acionador é controlada por um microcomputador; se quisermos que o atuador se mova até determinado ponto, podemos ditar as coordenadas daquele ponto para o computador controlador que irá coordenar os movimentos das várias articulações; o operador não precisa se preocupar com o controle de cada eixo separadamente nem coordenar o movimento dos vários eixos, isso é função do computador controlador. Projeto de manipuladores e sensor Embora os manipuladores sejam teoricamente dispositivos universais aplicáveis em muitas situações, geralmente a economia manda que a tarefa a ser executada pelo manipulador tenha influência dominante no projeto mecânico do manipulador. Junto com assuntos como tamanho, aceleração e capacidade de carga, o projetista também tem que considerar o número de juntas e o arranjo geométrico delas. Estas considerações têm um impacto no tamanho e qualidade do espaço de trabalho do manipulador, rigidez da estrutura de manipulador, e outros atributos. Faz parte do projeto do manipulador assuntos que envolvem a escolha e localização de atuadores, sistemas de transmissão e sensores de posição (e às vezes de força) (Figura 22). Controle linear de posição Alguns manipuladores são equipados com motores de passo ou outros atuadores que podem executar uma trajetória desejada diretamente. Porém, a grande maioria dos manipuladores é movida por atuadores que fornecem uma força ou um torque para causar movimento dos segmentos. Neste caso, um algoritmo é necessário para computar o torque que causará o movimento desejado. O problema de dinâmica é central ao projeto de tais algoritmos, mas não são por si só uma solução. Uma preocupação primária de um sistema de controle de posição é compensar automaticamente os erros quanto ao conhecimento dos parâmetros de um sistema e suprimir distúrbios que tendem a perturbar o sistema afastando-o da trajetória desejada. Para realizar isto, os sensores de posição e velocidade são monitorados pelo algoritmo de controle que computa comandos de torque para os atuadores (Figura 21). Controle não linear de posição Embora sistemas de controle baseados em modelos lineares aproximados sejam populares em robôs industriais atuais, é importante considerar a dinâmica completa e não linear dos manipuladores quando sintetizamos algoritmos de controle. Atualmente, alguns robôs industriais que fazem uso de algoritmos de controle não linear nos seus controladores estão sendo introduzidos. Estas técnicas de controle não linear prometem um desempenho melhor do manipulador em relação os esquemas lineares mais simples. Controle de força A habilidade de um manipulador para controlar forças de contato quando toca peças, ferramentas, ou trabalha uma superfície é de grande importância em aplicações de manipuladores para muitas tarefas do mundo real. Controle de força é complementar ao controleposicional no sentido de que nós normalmente pensamos que um ou outro como aplicável em uma certa situação. Quando um manipulador está se movendo para espaço livre, controle de posição sozinho faz sentido, desde que não haja nenhuma superfície para reagir contra. Porém, quando um manipulador está tocando uma superfície rígida, esquemas de controle de posição podem causar forças excessivas de contato ou podem causar perda de contato com a superfície quando o a manutenção do contato é desejada para alguma aplicação. Figura 22 – O projeto mecânico do manipulador deve se preocupar com assuntos como a escolha dos atuadores, a localização deles, o sistema de transmissão, a resistência/flexibilidade da estrutura, a localização dos sensores e muito mais Figura 23 – Para que um manipulador deslize sobre uma superfície ao mesmo tempo que aplica uma força é necessário um controle híbrido de força e posição 22 Considerando que os manipuladores raramente são restringidos pela superfícies de reação em todas as direções simultaneamente é necessário usar um controle misto ou híbrido no qual algumas direções são controladas por uma lei de controle de posição e as direções restantes são controladas por uma lei de controle de força (Figura 23). Segurança Um ponto que deve ser analisado com cuidado se refere à segurança dos operários que podem trabalhar próximos aos robôs. Pode parecer antagônico, mas os robôs que em certos casos são utilizados para diminuir os riscos às vidas humanas, podendo se tornar fonte de perigo. Devemos encarar aqui o robô como uma outra máquina qualquer e, portanto deve este ser tratado como um agente perigoso se operado impropriamente. Um fato agravante na utilização de robôs é que seu volume de trabalho não se limita ao volume realmente ocupado por ele, criando assim uma zona de perigo que às vezes pode não ser percebida pelo operador. Há uma série de normas que regem a instalação de robôs no chão e fábrica. Os pontos mais importantes destas normas são: •O volume de trabalho do robô deve estar constantemente isolado da fábrica, impedindo que qualquer pessoa tenha acesso a ele durante a operação do robô. •A abertura da proteção do volume de trabalho do robô deve interromper o seu funcionamento. •Deve haver uma indicação luminosa para mostrar que o robô está em operação. •Botões de emergência devem estar dispostos em locais de fácil acesso. •Deve-se tomar especial cuidado durante a manutenção onde o contato com o robô é inevitável. Essas são apenas algumas das instruções para instalação do robô no chão de fábrica. Elas devem ser seguidas rigorosamente para que a integração do robô na fábrica traga aumento da segurança aos operários e não o contrário. Os cuidados de segurança são imprescindíveis durante o manuseio de robôs, principalmente os de porte industrial. As velocidades de operação envolvidas aliado à falta de "inteligência" do equipamento, que meramente reproduz os movimentos pré-programados, os tornam verdadeiras armas mortíferas quando as devidas precauções não são tomadas. Colisões com robôs em movimento podem trazer graves danos tanto ao pessoal envolvido quanto aos equipamentos no entorno. Algumas precauções devem então ser tomadas: 1. Área de trabalho - Não entrar na área de trabalho do robô durante a operação no modo automático. 2. Travas de segurança - Uma vez ocorrida uma parada no sistema provocada por uma trava, o programa reinicia de onde parou. Se a trava faz parte do circuito de emergência, precisa reiniciar. Algumas das travas possíveis são: • Cerca com porta, munida de sensor. • Cortina de luz 3. Fim de curso - Limitação da área de trabalho • Via software (todos os eixos. O próprio controlador impede movimentos além dos valores determinados). • Via hardware (stops mecânicos nos eixos 1,2 e 3). É aconselhável o uso de limitação por 'software em valores inferiores aos bloqueios por hardware pelo esforço e conseqüente desgaste mecânico provocado por estes últimos. 4. Modo de operação – Usualmente costuma-se operar o robô de três formas distintas: • Automático – Usado quando se roda programas prontos, em produção. Não é possível movimentar o robô através do teach-pendant neste modo. • Modo Aprendizado - É utilizado quando se trabalha dentro da área de trabalho do robô e durante a fase de programação e debug. Normalmente deve-se usar velocidades reduzidas. • Manual Pleno - É utilizado para testar o robô à velocidade de programação plena. Nos modos manuais, (modos de aprendizagem e manual pleno) a energização dos motores se dá através de um dispositivo de habilitação (botão) localizado no teach pendant. 23 5. Emergency Stop -botão de parada brusca • Terminal de programação • Painel de controle Obs.: Deve ser usado apenas em caso de real emergência pelo esforço aplicado nas engrenagens, causando desgaste mecânicos. 6. Bom Senso - A execução de qualquer programa deve ser primeiramente realizada com velocidade reduzida. Só após todos os testes, efetuar em velocidade normal. Aplicações Industriais de Robôs A principal vantagem da utilização de robôs na industria se refere a sua capacidade de executa tarefas repetitivas e com grande precisão (e repetibilidade) Com isso pode-se conseguir um aumento na produtividade e na qualidade dos produtos. Além disso, há casos onde há risco para os operários e a utilização dos robôs se faz por questão de segurança. Apresentamos a seguir algumas aplicações de robôs na industria. Soldagem Soldagem a Ponto Este tipo de soldagem se caracteriza pela união das peças apenas em determinados pontos' sem que haja inclusão de material novo. O calor necessário à soldagem provém da corrente elétrica que passa por dois eletrodos permanentes. Os principais parâmetros que influenciam a qualidade da solda são: corrente elétrica, pressão entre os eletrodos, tempo de duração da corrente e espessura do material. As operações do processo de solda a ponto, integrando o robô, são: •Movimento rápido do braço do robô, com a pistola de solda fixa, para se aproximar do ponto a ser soldado; •Aproximação dos eletrodos da pistola de solda a ambos os lados da parte a ser soldada e posicionamento destes exatamente em frente a ponto de solda; •Fixação dos eletrodos no ponto a ser soldado; •Envio de corrente elétrica através dos eletrodos e do material a ser soldado; •Espera; •Abertura dos eletrodos; •Movimentação do braço do robô para se aproximar do novo ponto de solda. Podemos concluir que este tipo de trabalho é ideal para a utilização de robôs, afinal estes podem repetir com grande precisão os valores dos três primeiros parâmetros, durante todo o trabalho. Nestas aplicações o robô usa como ferramenta a pistola de solda que geralmente é pesada (10 a 80 Kg), por isso, são geralmente usados robôs com fonte de potência hidráulica. A precisão de posição não é um ponto crítico. Sem dúvida a utilização de robôs na área de soldagem se mostra muito maior na linha de montagem de automóveis. Os primeiros robôs do setor foram instalados pela General Motors em 1969. Neste tipo de aplicação ocorrem muitos pontos de solda (300) em cada estrutura e, além disso, os pontos são próximos uns dos outros o que cria uma grande vantagem na utilização de robôs. Podemos citar ainda outras aplicações deste tipo de robôs na indústria como: estruturas metálicas e produção de eletrodomésticos. Figura 24 Figura 25 Figura 26 24 Soldagem a Arco Este método de soldagem é utilizado para unir metais ao longo de uma trajetória contínua. O princípio de operação é igual à soldagem de ponto, porém neste caso há introdução de material de solda, geralmente de mesma composição das peças a serem soldadas. Outra diferença está no fato de que neste caso um eletrodo não entra em contato com a peça e a corrente é transmitida por um arco. Nos sistemas robotizados geralmente se utiliza o processo de escudo por gás inerte (IGS) ondea oxidação da solda que é muito intensa àquela temperatura, é inibida pela introdução de gás inerte na região entre o eletrodo e a peça. A· ferramenta neste caso não é tão pesada e robôs com servo motores podem ser utilizados. A velocidade de soldagem varia de 0,25 a 3 m/min. O ciclo de soldagem é controlado pelo equipamento de solda que na verdade controla o fluxo do gás inerte, a tarefa do robô é de conduzira ferramenta na trajetória correta, com a velocidade desejada e com distância constante em relação à base: As operações realizadas pelo robô são: •Rápido movimento para a área de contato a ser soldada; •Transmissão de sinais para causar a dispersão do gás e aplicação de tensão ao eletrodo; •Movimento preciso ao longo do caminho de solda enquanto, · mantém um constante vão de ar; •Preservar constante a orientação do eletrodo em relação à superfície a ser soldada; •Manter a pistola de solda se movendo a uma velocidade constante; •Habilidade para realizar movimentos de "tecelagem", para se atingir uma boa junção entre os dois corpos de metal e garantir a qualidade da solda. Este tipo de aplicação geralmente requer robôs com quatro ou cinco eixos de movimentação e se constitui numa das mais difíceis tarefas a ser realizadas por robôs na indústria. Porém a maior vantagem da utilização de robôs é a otimização do tempo de trabalho. Quando analisamos o trabalho realizado por um homem verificamos que o tempo gasto efetivamente com a soldagem é aproximadamente 30% do tempo total, sendo que os 70% restantes são despendidos com ajuste do equipamento de proteção ou das peças. Este tempo pode ser eliminado se o operador for um robô. A principal aplicação da soldagem de arco na indústria se encontra na fabricação de cascos de navios e barcos. Além da melhoria no tempo de produção a soldagem de partes internas se toma muito perigosa para um ser humano devido aos gases tóxicos liberados. Aplicação de Fluidos Os setores de aplicação de fluidos tais como tinta, cola e resina de uma indústria, são ambientes não adequados para o ser humano em função da toxidez dos produtos utilizados e do ruído provocado pelo fluxo de ar. Assim, esses processos se tomam candidatos potenciais ao uso de robôs em substituição a mão-de- obra humana. Neste tipo de aplicação as características desejadas dos robôs são bastante específicas: •Grande "habilidade" para aplicação do fluido em.áreas pouco acessíveis; •Elevado volume de trabalho; •Devem ocupar pequeno espaço no solo, pois as áreas são geralmente pequenas; •Ferramenta leve e com baixa precisão. Figura 27 25 Neste tipo de aplicação ocorre também um grande predomínio de robôs no setor de produção de automóveis onde os robôs devem dispor das características citadas acima para alcançar partes internas do veículo. Apresentamos a seguir um exemplo que ilustra a aplicação de robôs no setor de pintura. Os principais problemas da integração de robôs aos processos de aplicação de fluidos são: •Proteção dos robôs de fumaça e sujeira do ambiente externo; •Isolação de fontes de faíscas elétricas durante a operação, durante a manipulação de fluidos inflamáveis; •Necessidade de coordenação entre os movimentos do robô e a localização das partes a serem pintadas; •Necessidade de alcance de áreas difíceis. Montagem Esta operação é uma das áreas mais desafiadoras e com maior potencial de crescimento na aplicação de robôs. Ela requer precisão, repetibilidade, grande variedade de movimentos e alto grau de sofisticação das garras. Geralmente o fator mais importante na decisão de substituir uma tinha. de montagem com mão-de-obra humana por uma automatizada seja a produtividade e os custos. Neste setor o ambiente normalmente não apresenta grandes riscos aos humanos, portanto para ser viável a aplicação de robôs, estes devem ser mais rápidos ou mais precisos que os humanos. A aplicação mais comum de robôs na montagem industrial é encontrada em produtos com dimensões reduzidas, onde a precisão é fator importante, como elementos eletrônicos ou pequenos motores elétricos. Este sistema permite uma solução extremamente econômica para este tipo de montagem. Há uma peculiaridade neste tipo de aplicação. Devido às dimensões serem bastante reduzidas, as trajetórias das ferramentas são, geralmente, muito curtas. Para atingir velocidades consideráveis e diminuir o tempo de montagem, o robô precisa ter acelerações muito altas. A principal desvantagem da utilização de robôs neste tipo de operação está no fato de que as peças a serem montadas precisam estar dispostas de forma correta para o robô funcionar. Isto faz com que em certas aplicações o sistema de alimentação do robô custe mais caro que ele próprio. Carregamento / Movimentação Este processo é historicamente um dos mais perigosos da indústria, devido às grandes cargas e pressões que normalmente envolvem. A aplicação de robôs neste tipo de operação, normalmente pouco ergonômica, trás vantagens principalmente para a segurança e saúde dos operários. PROGRAMAÇÃO E SIMULAÇÃO DE ROBÔS Com o crescente desenvolvimento dos processos de manufatura, surgiu a necessidade de linhas de produção que permitissem maior flexibilidade na quantidade e na variedade de produtos a serem fabricados, A indústria, com a globalização dos processos, sentiu a necessidade de romper com paradigmas, como, por exemplo, de que toda a empresa deveria obter alta taxa de produtividade com uma pequena variedade de produtos, característica da visão taylorista, e adequar-se às necessidades do mercado, mais especificamente do cliente. Nesse processo de mudança, surgiu o conceito de automação flexível, em que, basicamente, se otimiza o arranjo físico existente no chão-de-fábrica para torná-lo o mais flexível possivel, frente à variação de produtos a que a linha de produção está sujeita. Em outras palavras, com um arranjo fisico mais racional, pode-se obter uma alta taxa de produtividade com uma-alta variedade de produtos. Desde o início da automatização dos processos ficou clara a necessidade de uma sistemática que possibilitasse a otimização das linhas de produção. Figura 28 Figura 29 26 Ao analisar a estrutura de uma linha de produção, verificamos que algumas tarefas são repetitivas e que perdemos um tempo considerável para programá-las (ou reprogramá-las); a busca da automatização (ou semi-automatização) de determinadas tarefas passa pela definição de como replicar uma determinada tarefa em outra máquina. A questão que surge aqui é: como replicar as tarefas executadas num robô, num parque industrial com uma centena deles? A resposta a essa pergunta nos leva a sir Charles Devol que desenvolveu uma forma de registrar uma seqüência de movimentos, dando início à primeira geração de robôs. A partir de Devol começou-se a ter a consciência do conceito de reprogramabilidade, que é atualmente a base do desenvolvimento dos robôs comerciais existentes no mercado. Quando se deseja programar um robô para executar determinada tarefa, um dos pontos importantes é o fato de ser ou não possível executar uma seqüência específica de comandos. Programar um robô significa descrever os procedimentos a serem tomados pelo manipulador sob a ação do controlador. Devido ao grande número de controladores de robôs existentes e à crescente evolução dos sistemas de programação de alto nível orientados ao usuário, faz-se necessária uma interface entre eles. Conforme a norma ISO TR 10562 (Manipulating lndustrial Robots - lntermediate Code for Robots (ICR)), um código intermediário deve ser usado como uma interface entre programas de robô orientados ao usuário e controladores de robôs industriais. O problema básico da programação Para um dado problema de programação há diversas formas de se implementar um algoritmo para solucioná- lo; escolheremos uma em função do índice de desempenho adotado, de forma a minimizá-lo, ou que seja a mais próxima do ideal. Eis ai a motivaçãoda programação e, consequentemente, da programação de robôs. Da busca constante para otimização das soluções, surgiram ao longo dos anos ferramentas computacionais mais avançadas, que propiciam ao projetista uma maior flexibilidade no que tange à tarefa a ser executada. Inicialmente as linguagens existentes se baseavam em comandos intuitivos do tipo move to, open tool, etc., que descreviam literalmente o tipo de ação a ser executada. Concomitantemente com tais desenvolvimentos, os computadores, unidade básica no processamento dessas informações, experimentaram uma constante evolução em termos de quantidade de informação, velocidade de processamento e disponibilidade de periféricos. A conjunção de fatores como evolução tecnológica dos microcomputadores, desenvolvimento de linguagens e ferramentas de análise e programação possibilitounos atingir o estágio atual da automatização robotizada. Nosso problema, no entanto, se reduz a apresentar de forma clara e objetiva o estado atual da programação de robôs, propiciando ao leitor uma visão dos procedimentos adotados ao resolver um problema de programação. Métodos de programação A pesquisa na indústria durante os últimos 20 anos tem sido direcionada para a criação de técnicas de automação que aplicadas em lotes de produção de pequeno e médio porte, produzam resultados adequados do ponto de vista custo-benefício. Isso culminou com o desenvolvimento das máquinas CNC, sistemas flexíveis de manufatura, robôs móveis e braços manipuladores. O desenvolvimento desse último grupo tem particular importância, pela complexidade intrínseca envolvida na habilidade de emular o comportamento da cadeia de ligamentos do braço manipulador, de forma a replicar os movimentos do braço humano. Os robôs industriais de hoje são mecanismos automatizados, projetados para movimentar peças ou ferramentas sobre uma trajetória previamente estabelecida. Como mencionado anteriormente, um robô deverá ser capaz de executar um conjunto de operações ou movimentos diferenciados se sua célula de trabalho for alterada. O programa de controle do robô deverá ser capaz de adaptar-se às variações das tarefas e ser flexível o suficiente para permitir uma seqüência dinâmica de operações. Pode-se avaliar a flexibilidade de um robô pela extensão dos tipos de operação e de movimento que podem ser programados no seu controlado r e pela facilidade de entrada ou alteração de um programa. A programação pode ser feita de duas maneiras: on-line e qff-line. Na programação off-line utilizam-se linguagens de programação criadas especialmente para robôs, tais como VAL, Wave, AML, MCL, e Sigla. 27 Esses programas são em geral depurados com o uso de simuladores. A Programação on-line, por outro, lado faz uso geralmente de métodos de programação por ensino ou condução. Os métodos atuais de programação de robôs industriais têm sido satisfatórios onde a proporção entre o tempo de programação e de produção é pequeno e também quando a complexidade da aplicação não é tão exigida. A programação off-line pode ser definida nesse contexto como o processo pelo qual a programação dos robôs é desenvolvida, parcial ou completamente, sem a necessidade do uso do robô. Programação on-line Podemos definir programação on-line como a utilização de métodos de programação "por ensino" para aplicar um programa de controle no controlador do robô. O programador conduz o robô por uma seqüência de posições desejadas (via teachpendant ou dispositivo mestre-escravo). Nesse processo de "ensino", envolvemos as tarefas de identificação dos pontos, edição e repetição do trajeto ensinado. Programas de edição adicionam informações relevantes ao programa de controle, bem como aos equipamentos de produção associados. O uso de programas de edição nos permite um meio de avaliar e corrigir programas de controle existente ou ajustar pontos quando uma tarefa é codificada. Durante esse processo, o programador necessita de funcionalidades que podem incluir repetição do programa para frente e para trás, operações passo a passo, seleção de velocidade de execução entre outras, que facilitam a depuração do programa. Necessariamente, essa abordagem utiliza o robô para a programação e, de alguma forma, é dependente do algo ritmo de controle usado para movimentação entre os pontos da trajetória. Três algoritmos básicos de controle são usualmente utilizados: movimento ponto a ponto, contínuo e o controle de trajetória. • Ponto a ponto: Robôs com esse tipo de controle movem-se de uma posição inicial a outra final, sem que posições intermediárias sejam inseridas na programação da trajetória. Geralmente cada eixo se move até atingir a posição desejada. • Movimento contfnuo: Esses robôs se movimentam através de pontos com pequenos incrementos entre si, armazenados ao longo de uma trajetória previamente percorrida. As posições de cada eixo são gravadas pela unidade de controle a intervalos de tempo constantes recolhendo dados dos sensores de posição durante a movimentação do robô. • Controle de trajetória: Envolve o controle coordenado de todas as juntas, para percorrer uma trajetória desejada ao longo de dois pontos. Nesse método. os eixos se movem suave e proporcionalmente para gerar o trajeto de controle especificado. Em programação on-line, duas abordagens básicas são tomadas para passar ao robô uma trajetória desejada: métodos de programação por aprendizagem e por linguagens textuais. Programação por aprendizagem Métodos de programação por aprendizagem exigem que o programador conduza o manipulador, movendo-o fisicamente de modo a realizar as manobras que ele deve apreender. Esse método é mais utilizado em tarefas que necessitam dé uma trajetória contínua, como pintura por pulverização, corte a jato de água, aplicação de selante ou solda a arco. A programação por aprendizagem envolve o uso de um joystick, um teclado comum ou um teclado portátil chamado de teach-box para guiar o robô ao longo de uma trajetória planejada. Se o programa (ou teach-box) especificar uma trajetória, contínua ou ponto a ponto, da extremidade de robô usando as coordenadas de posição e orientação referenciadas a um sistema cartesiano de coordenadas inercial, essas informações são enviadas ao controlador, que as converte em coordenadas de junta, produzindo desta forma os movimentos desejados. 28 Programação por condução O aprendizado por condução também é utilizado no modo ponto a ponto, em que o robô grava apenas certos pontos da trajetória, deslocando-se posteriormente através deles em linha reta (ou por trajetos circulares, se assim for solicitado). Nesse tipo de programação, o operador move fisicamente o efetuador final pelo trajeto desejado. Para trajetórias contínuas, os sensores do braço enviam continuamente informação sobre a posição de cada junta para o controlado r do robô à medida que o braço vai se movimentando. Para trajetórias ponto a ponto, a informação de posição da junta é enviada apenas nos pontos da trajetória onde o operador especificamente a posiciona. Nesses casos, uma vez gravados na memória do computador, os pontos podem ser chamados a qualquer tempo para reprodução. • Ambos os métodos de programação descritos envolvem a tarefa de integração entre três fatores básicos: • as coordenadas dos pontos devem ser identificadas e armazenadas na unidade de controle; os pontos podem ser armazenados como coordenadas individuais das juntas ou pelas coordenadas geométricas da extremidade do robô; • as funções a serem executadas nos pontos especificas devem ser identificadas e gravadas; por exemplo, para cada trajetória, podemos identificar a velocidade de avanço, fluxo de selante a ser aplicado, etc; • os pontos e dados funcionais são organizados em seqüências lógicas; isto inclui quando uma dada trajetória deve ser estabelecida ou quando várias condições devem ser checadas. Esse três fatores são integrados no processo de aprendizagem e não existemem separado, como passos de programação. Programação via teach-pendant A programação on-line necessariamente faz uso de um teclado portátil chamado teach-pendant, para guiar o robô ao longo de uma trajetória. Podemos tomar como exemplo a Fig. 6.1. Neste exemplo, o robô deverá executar a tarefa de pegar a peça na esteira de entrada e colocá-la no centro de usinagem; depois do processamento, deve retirar a peça e colocá-Ia na esteira de saída. Nessa tarefa, faz-se necessária a integração do robô com as esteiras, e o operador deverá executar uma seqüência pré-determinada de operações, enumerados a seguir. 1. Mover o braço do robô até que a garra esteja exatamente acima da peça, na esteira de chegada; abrir então a garra. 2. Alinhar o eixo da garra com o da peça a ser transportada. 3. Armazenar o programa apertando a tecla correspondente a "gravar" no teach-pendant. 4. Baixar a garra até que ela esteja centrada com o objeto a ser pinçado. Armazenar esse ponto. 5. Fechar a garra para que a peça seja levantada. Armazenar esse ponto. 6. Levantar o braço, de forma a liberar o espaço de trabalho, e alinhá-Io ao nível do centro de usinagem. Armazenar esse ponto. 7. Aproximar a garra do centro de usínagem e posicioná-la alinhada com o dispositivo de fixação do centro de usínagem. Armazenar esse ponto. 8. Abrir a garra e liberar a peça. 9. Elevar o braço até liberar o espaço de trabalho, de forma a retirar o braço do robô. 10. Retraír o braço do robô até uma posíção intermedíária. Armazenar esse ponto. 11. Aguardar o sinal do centro de usinagem e retirar a peça. 12. Rotacionar o braço até a esteira de saída e posicioná-Io sobre a superfície da esteira. Armazenar esse ponto. 13. Baixar o braço até a superfície da esteira. Armazenar esse ponto. Figura 6.1 – Célula genérica a ser programada. 29 14. Abrir a garra e liberar a peça. Armazenar esse ponto. 15. Levantar o braço até liberar o espaço de trabalho do robô. Armazenar esse ponto. 16. Voltar à posição de equilíbrio e reiniciar o ciclo. Os passos listados podem variar de acordo com o arranjo fisico da célula e servem para prover o controlado r com as coordenadas dos pontos utilizados no programa. Cabe ao operador entrar, via teach-pendant, com os parâmetros necessários para a correta sinalização entre o robô e os periféricos (nesse caso esteiras e centro de usinagem). Fig 6.4 Fig 6.3 Fig 6.2 O teclado e o display da unidade de controle são freqüentemente usados em conjunto com um teach-pendant padrão. Em geral existem três tipos: genérico (Fig. 6.2), com botões pictográficos (Fig. 6.3) e com display (Fig. 6.4) Programação off-line Os desenvolvimentos na tecnologia de robôs, tanto em sqftware quanto em hardware, estão viabilizando cada vez mais a programação W-tine. Esses desenvolvimentos incluem o uso de controladores mais sofisticados, maior precisão no posicionamento e a sensores mais avançados. A programação on-tine de um robô, de um modo geral, pode consumir muito tempo, evoluindo de modo desproporcional ao aumento da complexidade das tarefas; conseqüentemente, quando o robô fica fora da linha de produção, o tempo gasto na programação pode prejudicar substancialmente a sua utilidade. Em muitas aplicações que envolvem processos de produção em massa, como soldagem a ponto em linhas de produção automobilísticas, os requisitos temporaís de reprogramação devem ser minimizados ao máximo. Podemos concluir que, para posibilitar a aplicação de robôs em lotes de produção pequenos e médios. onde os tempos envolvidos podem ser cruciais. a programação q[ftine é altamente recomendada. O incremento na complexidade das aplicações em robótica torna as vantagens da programação w-tine mais atrativas. Essas vantagens podem ser classificadas como segue. • Redução do tempo ocioso: O robô pode ser mantido na linha de produção enquanto a próxima tarefa está sendo programada. Isto acrescenta maior flexibilidade aos robôs. • Ambientes potencialmente perigosos: Redução no tempo de permanência do operador próximo ao robô. o que diminui o risco de acidentes por comportamento anormal do equipamento. • Sistema simplificado de programação: Pode-se usar a forma off-line para programar uma grande variedade de robôs, sem a necessidade de se conhecerem as peculiaridades de cada controlador. Reduz-se assim o índice de reciclagem dos programadores. • Integração com sistemas CAD/CAM: Habilita a interface com o banco de dados de peças, centralizando a programação de robôs com esses sistemas; possibilita o acesso a outras funcionalidades. como, por exemplo. planejamento e controle. • Depuração de programas: Sistemas de programação off-line com CAD/CAM integrados podem produzir um modelo da planta (robô + célula de trabalho) que pode ser usado para detectar colisões dentro do espaço de trabalho. possibilitando determinados movimentos e evitando assim danos ao equipamento. Limitações da programação off-line A programação off-line, como já foi dito aqui. necessita obrigatoriamente da existência de um modelo teórico do robô e do ambiente; o objetivo é usar esse modelo para simular o comportamento real do robô. A implementação da programação off-line encontra principalmente três problemas: 30 • dificuldade em desenvolver um sistema de programação generalizado que seja independente do robô e de suas aplicações; • para reduzir a incompatibilidade entre robôs e sistemas de programação. Faz-se necessário definir padrões para as interfaces; • programas gerados off-line devem levar em conta os erros e imprecisões entre o modelo idealizado e o mundo real. Devido às imprecisões do modelo teórico idealizado e a variáveis inerentes ao processo no mundo real, seqüências simuladas geralmente não atingem o objetivo de controlar o robô sem erros. Na prática, o robô não atinge o local calculado pelo modelo ou a ferramenta não é posicionada precisamente como definido no modelo. Essas discrepância podem ser atribuídas aos seguintes fatores destacados a seguir ROBÔ • Falta de precisão na tolerância da montagem dos seus componentes, provocando o aumento na variação do off-set das juntas. Pequenos erros na estrutura são amplificados e produzem grandes erros de posicionamento no efetuador. • Falta de rigidez na estrutura do robô. Pode causar grandes erros, quando este está sujeito a condições severas de carga. • Incompatibilidade entre robôs do mesmo modelo. Devido a diferenças no inicialização do sistema de controle de cada robô, a mesma programação off-line pode apresentar pequenos erros. CONTROLADOR • Resolução insuficiente do controlador. A resolução especifica o menor incremento de movimento atingível pelo controlador. • Precisão numérica do controlador: É afetado pelo número de parâmetros envolvidos e tamanho das palavras de comando usadas no controlador; além da eficiência do algoritmo usado para os propósitos de controle. AMBIENTE • Dificuldade na determinação precisa dos objetos (robôs, máquinas, peças) com relação ao sistema de coordenadas generalizadas. • Alteraçôes no ambiente, como a temperatura, podem causar efeitos adversos no desempenho do robô MODELO E SISTEMA DE PROGRAMAÇÃO • A precisão numérica do processador do computador. • A qualidade dos dados do modelo real. Isso determina a precisão final do programa gerado em off- line. A composição desses erros através de todo o sistema de programação off-line pode levar a discrepâncias de magnitude significante. Para que a programação off-line se torne uma ferramenta prática, essa magnitude deve ser reduzida a nível em que ajustes do posicionamento final possam ser executados automaticamente. Na programação off-line, um programa pode estar contido em um disque te ou ser transmitido eletronicamente (via rede); pode ser parte de uma biblioteca completa de programas desenvolvidos para aquele modelo de robô, embora não tenha sido desenvolvido especificamente naquele robô. Linguagens de programação derobôs industriais Atualmente, após a padronização pela ISO, as linguagens de programação para comunicação homem- máquina já são bem conhecidas; além disso, temos também a padronização da interface máquina-máquina. Uma condição importante para as linguagens de programação da inteface-homem-máquina é que elas devem, necessariamente, ser interativas. Hoje existem duas correntes de pensamento na estruturação da interface homem-máquina. Uma defende que a linguagem seja simples, para ser usada pelos próprios operadores sem um treinamento computacional específico. 31 A outra defende que a linguagem deve prover requisitos corr.putacionais poderosos e que somente técnicos especialmente treinados devem desenvolver a programação. Um exemplo dássico da primeira filosofia é a linguagem Arla, da ABB; outro exemplo, da segunda corrente, é a linguagem Karel da Fanuc. Existem hoje centenas de linguagens de robôs disponíveis comercialmente. Muitas delas baseadas em linguagens clássicas como pascal, C, Modula-2, Basic, e Assembler. As linguagens de programacão podem ser classificadas de acordo com o sistema de referência do modelo, a estrutura de controle utilizada, o tipo de especificação de movimento, a interface com os dispositivos externos e os periféricos a serem utilizados. Segundo GONG (1998), as linguagens de programação podem ser classificados em: • linguagens de movimento ponto-a-ponto; • linguagens de movimentação básica, linguagem de baixo nível (Assembly); linguagem de programação não-estruturada de alto nível; • linguagem de programação estruturada de alto nível; • linguagens do tipo NC (Numeric Command). Conforme a norma ISO TR 10562, a linguagem ICR é um pseudocódigo de baixo nível com elementos básicos suficientes para permitir que qualquer linguagem de alto nível seja traduzida para ela. Para que isso seja possivel, devem ser desenvolvidos compiladores adequados. Cada tradutor irá fazer uso das capacidades da ICR do modo que lhe for mais conveniente, a fim de satisfazer ao usuário final. Apenas a título de exemplo, são descritas algumas técnicas para implememação de linguagens comuns. Linguagens tipo Basic Caracterizam-se por um algoritmo linear e simples, sem compilação em módulos separados, sem abstração de dados ou algo ritmos; existem apenas tipos de dados prédefinidos, e as chamadas às sub-rotinas não utilizam passagem de argumentos. Esse tipo de linguagem geralmente é interpretado, traduzido para ICR e somente depois executado, linha por linha. Como as linhas de código são sintaticamente independentes, esse método simples de interpretação não causa problemas. Linguagens tipo Pascal Esse tipo de linguagem caracteriza-se pelo encorajamento à programação estruturada. As funções e procedimentos podem ter argumentos e as variáveis podem ser globais ou locais (a uma função ou procedimento). Recursão é permitida e facilmente implementada e, em alguns casos (Modula 2 e ADA) , a programação pode ser modular. Nesse último caso, um ligado r deve providenciar a resolução das referências externas e converter os módulos em um único executável ICR. A linguagem ICR não oferece suporte nativo para ligação dinâmica. Se for necessário utilizar essa técnica, o ligador dinâmico deve ser implementado de forma independente. A passagem de parâmetros deve ser feita por meio da pilha da esquerda para a direita, ou seja, o primeiro elemento a ser empurrado para a pilha será aquele mais à esquerda (na linguagem original) e no topo da pilha estará aquele mais à direita. Deve-se prestar especial atenção à estruturação dos blocos da linguagem, uma vez que o espaço de pilha reservado para as variáveis depende disso. Como a ICR não faz distinção entre funções e procedimentos, a pilha deve ser esvaziada ao final das chamadas de procedimentos. Linguagens tipo C Caracterizam-se principalmente pela possibilidade de declaração de variáveis na abertura de qualquer bloco (delimitado por [ ], em C) e pela capacidade de se usarem matrizes ou ponteiros de forma indistinta. A primeira característica pode ser implementada diretamente com os comandos BLKBEG e DECLVAR, mas a segunda apresenta problemas, pois a ICR prefere que os dados tenham tipos explícitos. Recomenda-se fazer a atribuição de tipo, sempre que não for realmente impossível. 32 Linguagens do tipo Lisp Têm como característica básica a habilidade de trabalhar com listas encadeadas e a intercambiabilidade de dados e programas. Esse tipo de linguagem requer um acurado gerenciamento de memória. Apesar de ser possivel escrever compiladores para essas linguagens, recomenda-se consulta a literatura especifica. Linguagens tipo Forth Pelo fato de utilizar basicamente operações baseadas na pilha e pela semelhança estrutural, esse tipo de linguagem não apresenta maiores problemas de implementação. A única ressalva fica por conta da implementação de múltiplas pilhas. Linguagens orientadas a objeto Linguagens desse tipo estão fora dos objetivos do nosso texto e não têm grande utilidade na área aplicada de robótica. Como a ICR possui suporte a todos os tipos de dados comuns em robótica e suporte às operações a eles associadas, pode-se geralmente cair em alguns dos casos anteriores. Muitos robôs industriais são amplamente utilizados em processos de manufatura, como tarefas de montagem, manipulação de materiais, soldagem a arco/ponto, pintura, carga e descarga de Centros de Usinagem e em algumas aplicações especiais, como exploração submarina e pesquisa de próteses para deficientes. Estima- se que haja no mundo cerca de cem fabricantes de robôs. A Tab. 6.1 lista alguns desses fabricantes e suas respectivas linguagens de programação. Tabela 6.1 – Fabricantes de robos e suas linguagens de programação Fabricante Linguagens de Programação ABB Arla, Rapid Fanuc KAREL Reiss IRL Staubli V+ Adept V+ Comau PDL2 Eshed ACL IBM AML/2 Kawasaki AS Motoman Inform 1, Inform 2 Nachi SLIM Panasonic Parl 1 , Parl 2 PSI PSI Sansung FARL-II Seiko DARL 4 Toyota TL-1 TQ TQ Simulação de robôs Hoje em dia os robôs têm uma larga aplicação na indústria e na manufatura. Exemplo disso são os vários programas de desenvolvimento lançados nacional e internacionalmente, como, por exemplo: Recope (Grupo de Automação e Manufatura), Espirit, Brite e Eureka, grandes programas de pesquisa que, entre suas linhas, focalizam a robótica como um de seus. temas. Os principais esforços no desenvolvimento e aplicações da robótica sem dúvida recaem na indústria automobilistica. Os benefícios da auto mação flexível foram incorporados pesadamente nos processos de manufatura automotiva auto matizada. As indústrias automotivas têm encorajado a utilização de robôs em outras áreas, estimulando seus fornecedores a utilizar a mesma tecnologia. Muitos robôs comerciais têm largo uso em tarefas de montagem e manufatura, como manipulação de material, soldagem a arco/ponto, montagem de partes, pintura, carga e descarga, etc. As técnicas de CAD encontraram extensivo uso nos projeto de engenharia, auxiliando o usuário em processos que envolvam desenvolvimento de diagramas e desenhos de alta complexidade. 33 Entretanto, no que diz respeito a processos que envolvam movimentação de peças, há necessidade de um estudo mais aprofundado através de simulação. A extensão das técnicas de CAD/CAM também é desejável no domínio da robótica. Entretanto a cinemática envolvida nos movimentos do robô é consideravelmente mais complexa do que a relacionada com os movimentos xyz dos centros de usinagem e com os movimentos do efetuador e das juntas do robô. Some-se a isso a necessidade de utilizar de um ambiente capaz de simular úma grande variedade de robôs e tipos de configurações disponíveis no mercado. Apesar dessas dificuldades, a simulação veio para prover um ambiente gráfico capaz de gerar uma interação suave com as diversas linguagens de programação de robôs existentes no mercado. Benefícios
Compartilhar