65981282 braco mecanico

Page 1

Rodrigo Bernardo Moreira

O BRAÇO MECÂNICO INTRODUÇÃO. Neste capítulo estudaremos o braço mecânico do robô, seus tipos de juntas e graus de liberdade, seus tipos de articulações, sua área de trabalho (work envelope), e suas formas de acionamento. O braço do robô executa movimentos no espaço, transferindo objetos e ferramentas de um ponto para outro, instruído pelo controlador e informado sobre o ambiente por sensores. Na extremidade do braço existe um atuador usado pelo robô na execução de suas tarefas. Todo braço de robô é composto de uma série de vínculos e juntas, onde a junta conecta dois vínculos permitindo o movimento relativo entre eles, como mostrado na figura 1. Todo robô possui uma base fixa e o primeiro vínculo está preso a esta base. A mobilidade dos robôs depende do número de vínculos e articulações que o mesmo possui.

FIGURA 1 - Junta e vínculos em um braço de robô

TIPOS DE JUNTAS. Os braços de robôs podem ser formados por três tipos de juntas: juntas deslizantes; juntas de rotação; juntas de bola e encaixe. A maioria dos braços dos robôs são formadas pelas juntas deslizantes e de revolução, embora alguns incluam o de bola e encaixe. A seguir será descrito cada um destes tipos de juntas.

Juntas Deslizantes.


Rodrigo Bernardo Moreira

Este tipo de junta permite o movimento linear entre dois vínculos. É composto de dois vínculos alinhados um dentro do outro, onde um vínculo interno escorrega pelo externo, dando origem ao movimento linear. Este tipo de junta é mostrada na figura 2, como segue.

FIGURA 2 - Junta deslizante

Juntas de Rotação. Esta conexão permite movimentos de rotação entre dois vínculos. Os dois vínculos são unidos por uma dobradiça comum, com uma parte podendo se mover num movimento cadenciado em relação à outra parte, como mostrado na figura 3. As juntas de rotação são utilizadas em muitas ferramentas e dispositivos, tal como tesouras, limpadores de pára-brisa e quebra-nozes.

FIGURA 3 - Junta de rotação

Juntas de Bola e Encaixe.


Rodrigo Bernardo Moreira

Esta conexão se comporta como uma combinação de três juntas de rotação, permitindo movimentos de rotação em torno dos três eixos, como mostrado na figura 4.

FIGURA 4 - Junta de bola e encaixe Estas juntas são usadas em um pequeno número de robôs, devido à dificuldade de ativação. De qualquer maneira, para se ter a performance de uma junta bola e encaixe, muitos robôs incluem três juntas rotacionais separadas, cujos eixos de movimentação se cruzam em um ponto, como na figura 5.


Rodrigo Bernardo Moreira

FIGURA 5 - Três juntas rotacionais substituindo a junta de bola e encaixe

GRAUS DE LIBERDADE. O número de articulações em um braço do robô é também referenciada como grau de liberdade. Quando o movimento relativo ocorre em um único eixo, a articulação têm um grau de liberdade. Quando o movimento é por mais de um eixo, a articulação têm dois graus de liberdade. A maioria dos robôs têm entre 4 a 6 graus de liberdade. Já o homem, do ombro té o pulso, têm 7 graus de liberdade.

CLASSIFICAÇÃO DOS ROBÔS PELO TIPO DE ARTICULAÇÃO. É usual classificar os robôs de acordo com o tipo de junta, ou mais exatamente, pelas 3 juntas mais próximas da base do robô. Esta divisão em classes fornece informações sobre características dos robôs em várias categorias importantes: 1. 2. 3. 4.

Espaço de trabalho. Grau de rigidez. Extensão de controle sobre o curso do movimento. Aplicações adequadas ou inadequadas para cada tipo de robô.

Robôs podem ser classificados pelo tipo de juntas em cinco grupos:


Rodrigo Bernardo Moreira

- Cartesiano. - Cilíndrico. - Esférico. - Articulação horizontal. - Articulação vertical. O código usado para estas classificações consiste em três letras, referindo-se ao tipo de junta ( R = revolução, P = deslizante - do inglês prismatic ) na ordem em que ocorrem, começando de junta mais próxima à base.

Robôs Cartesianos. O braço destes robôs têm três articulações deslizantes sendo codificado como PPP, como na figura 6.

FIGURA 6 - Robô Cartesiano Os robôs cartesianos caracterizam pela pequena área de trabalho, mas com um elevado grau de rigidez mecânica e são capazes de grande exatidão na localização do atuador. Seu controle é simples devido ao movimento linear dos vínculos e devido ao momento de inércia da carga ser fixo por toda a área de atuação.

Robôs Cilíndricos. Os braços destes robôs consistem de uma junta de revolução e duas juntas deslizantes, sendo codificada como RPP, como segue na figura 7.


Rodrigo Bernardo Moreira

FIGURA 7 - Robô Cilíndrico A área de trabalho destes robôs são maiores que os robôs cartesianos, mas a rigidez mecânica é ligeiramente inferior. O controle é um pouco mais complicado que o modelo cartesiano, devido a vários momentos de inércia para diferentes pontos na área de trabalho e pela rotação da junta da base.

Robôs Esféricos. Estes robôs possui duas juntas de revolução e uma deslizante, sendo codificado como RRP, como na figura 8.


Rodrigo Bernardo Moreira

FIGURA 8 - Robô Esférico Estes robôs tem uma área de trabalho maior que os modelos cilíndricos, mas perde na rigidez mecânica. Seu controle é ainda mais complicado devido os movimentos de rotação.

Robôs com Articulação Horizontal. Caracterizam-se por possuir duas juntas de revolução e uma deslizante, sendo codificados RRP, como na figura 9.


Rodrigo Bernardo Moreira

FIGURA 9 - Robô com Articulação Horizontal A área de atuação deste tipo de robô é menor que no modelo esférico, sendo apropriados para operações de montagem, devido ao movimento linear vertical do terceiro eixo.

Robôs com Articulação Vertical. Estes robôs caracterizam-se por possuir três juntas de revolução, sendo codificados por RRR, como na figura 10.


Rodrigo Bernardo Moreira

FIGURA 10 - Robô com Articulação Vertical Sua área de atuação é maior que qualquer tipo de robô, tendo uma baixa rigidez mecânica. Seu controle é complicado e difícil, devido as três juntas de revolução e devido à variações no momento de carga e momento de inércia.

COMPARAÇÃO DA ÁREA DE TRABALHO DOS ROBÔS. Nesta seção será feita uma análise matemática elementar para o calculo da capacidade dos robôs. As comparações são ilustradas na figura 11 e o calculo da área de trabalho segue-se após a mesma. Robôs Cartesianos - Alcançam qualquer ponto de um cubo de lado L.

V = L *L *L Robôs Cilíndricos - alcançam qualquer ponto em um cilindro de altura L e raio 2L, exceto os pontos do cilindro interno de raio L e altura L.


Rodrigo Bernardo Moreira

V = 9,42 * L * L * L Robôs Esféricos - alcançam qualquer ponto de uma esfera de raio 2L, exceto a esfera interna de raio L.

V = 29,32 * L * L * L Robôs de Articulação Horizontal - alcançam qualquer ponto de um cilindro de raio 2L e altura L.

V = 12,56 * L * L * L Robôs de Articulação Vertical - Alcançam qualquer ponto de uma esfera de raio 2L.

V = 33,51 * L * L * L Dessa forma, os robôs possuem um progressivo aumento na sua área de atuação, indo do cartesiano até o de articulação vertical. Então, a razão entre a área relativa aos casos extremos é:

Vav/Vc = 33,51 Isto significa que a área de trabalho de um robô com articulação vertical com 2 vínculos de tamanho L é 33,51 vezes maior que a área de trabalho do robô cartesiano com 3 vínculos de tamanho L.


Rodrigo Bernardo Moreira

FIGURA 11 - Comparação da Área de Trabalho dos tipos de robôs

CONVENIÊNCIA PARA TAREFAS PARTICULARES. A avaliação dos tipos de articulações e seu arranjo, permite ao projetista estimar a área de atuação do robô, rigidez mecânica e facilidade de controle do braço, possibilitando qual tarefa será mais apropriada para cada tipo de robô. O movimento das articulações


Rodrigo Bernardo Moreira

capacitam o robô a mover seu atuador para qualquer ponto na sua área de atuação, mas não habilitando o controle da orientação do atuador no espaço; cuja importância não se restringe somente ao alcance da peça, mas também em conduzir o atuador a uma certa altitude em relação a 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 para a direita.

CONSTRUÇÃO DOS VÍNCULOS. Um importante fator na construção dos vínculos é a carga que o mesmo suporta, o peso do próprio braço e o grau de rigidez do mesmo. Um braço pesado necessita de um motor maior, tornando o custo do robô mais elevado. Um braço de baixa rigidez reduz a precisão do robô devido às vibrações e resposta à tensão. Para aumentar a rigidez mecânica do braço sem aumentar seu peso, freqüentemente usa-se uma estrutura oca. A utilização deste tipo de estrutura tem uma melhor dureza quando comparada com uma construção maciça utilizando a mesma massa de material. Essa comparação é mostrada na figura 12.

FIGURA 12 - Estruturas para a construção de vínculos

DRIVER'S DE ACIONAMENTO DO BRAÇO DO ROBÔ. Existem vários tipos de Driver's que são classificados genericamente como: pela forma de movimento - Drivers de Rotação e de Deslizamento. pela forma de acionamento - Drivers Elétrico, Hidráulico, Pneumático pela forma de conexão - Drivers Direto e Indireto Classificação pela forma movimento: Drivers de rotação e de deslizamento Driver de rotação - consiste em um motor, que quando conectado à sua fonte de energia, o eixo do motor responde em um movimento de rotação.


Rodrigo Bernardo Moreira

Driver deslizante - consiste em um cilindro hidráulico ou pneumático. O movimento linear também pode ser produzido por um movimento rotativo usando correias ou hastes empurradas pelo motor, fazendo uma conversão de movimento rotativo em linear.

Classificação pela forma acionamento: Drivers elétrico, hidráulico e pneumático Driver Elétrico Este tipo de driver utiliza motores elétricos que podem ser: motor de corrente contínua, motor de passo e motor de corrente alternada. Muitos robôs novos tem drivers de motor corrente contínua devido ao alto grau de precisão e simplicidade de controle do motor elétrico. As vantagens do driver elétrico: 1. 2. 3. 4.

Eficiência calculada, controle preciso. Envolve uma estrutura simples e fácil manutenção. Não requer uma fonte de energia cara. Custo relativamente pequeno.

As desvantagens: 1. Não pode manter um momento constante nas mudanças de velocidade de rotação. 2. Sujeitos a danos para cargas pesadas suficientes para parar o motor. 3. Baixa razão de potência de saída do motor e seu peso, necessitando um motor grande no braço. Driver hidráulico Esta unidade é composta de: motor de movimento rotativo e cilindro para movimento deslizante. A unidade de acionamento hidráulico provoca movimento em pistões que comprimem o óleo, como mostra a figura 13.


Rodrigo Bernardo Moreira

FIGURA 13 - Unidade de acionamento hidráulico O controle é feito através de válvulas que regulam a pressão do óleo nas duas partes do cilindro e que impulsionam o pistão. As vantagens do driver hidráulico: 1. Momento alto e constante sob uma grande faixa de variação de velocidade. 2. Precisão de operação (menor que o elétrico e maior que o pneumático). O óleo não é compressível e não há variação de seu volume quando se varia a pressão. 3. Pode manter um alto momento para um longo período de tempo, quando parado. As desvantagens são: 1. 2. 3. 4.

Requer uma fonte de energia cara. Requer uma manutenção cara e intensa. Requer válvulas de precisão caras. Está sujeito a vazamento de óleo.

Driver pneumático Esta unidade é similar à hidráulica e é composto de: motores pneumáticos de movimento rotativo e cilindros pneumáticos de movimento deslizante. Na figura 13 pode-se considerar a mesma para acionamento pneumático, utilizando ar ao invés de óleo. Possui um alto grau de precisão nas paradas. São utilizados em sistemas automáticos simples, mas pouco utilizado em robôs devido à alta compressibilidade, o que reduz a habilidade de realizar controle preciso. É muito utilizado em movimentos de


Rodrigo Bernardo Moreira

agarramento, tanto para abrir como para fechar as garras. As vantagens do driver pneumático: 1. 2. 3. 4. 5.

Podem operar em velocidades extremamente altas. Custo relativamente pequeno. Fácil manutenção. Podem manter um momento constante em uma grande faixa de velocidade. Pode manter alto o momento por longos períodos de tempo sem danos, quando parado.

As desvantagens são: 1. Não possui alta precisão. 2. Esta sujeito a vibrações quando o motor ou cilindro pneumático é parado. Resumindo, o driver elétrico é melhor em aplicações envolvendo: Alta precisão de posição; Transferência de carga de tamanho pequeno e médio; Pequenas ambientes para sistemas de compressores de óleo e ar; O driver hidráulico trabalha melhor em situações envolvendo: Transferência de cargas pesadas ( de 2.000 pounds ou mais); De média para alta precisão na localização e velocidade; O driver pneumático é preferível em aplicações envolvendo: Baixa precisão; Necessidade de baixo custo; Altas velocidades; Transferências de pequenas e médias cargas. Classificação pela forma de conexão: Drivers Direto e Indireto. No caso do driver direto, o motor é montado diretamente na junta que ele irá mover. Se o motor é montado longe da junta, próximo da base, o driver é indireto; neste caso há elementos de transmissão como correntes, correias, diferenciais e engrenagens. As vantagens do driver indireto sobre o direto: 1. Redução do peso do braço mecânico; 2. Permite mudanças na velocidade de rotação das juntas. As desvantagens do driver indireto sobre o direto: 1. Falta de precisão da operação da junta devido a liberdade mecânica dos pontos de conexão entre os dispositivos de transferência; 2. Perdas consideráveis de potência.


Rodrigo Bernardo Moreira

O CONTROLADOR DO ROBÔ. INTRODUÇÃO O Controlador é a parte do robô que opera o braço mecânico e mantém contato com seu ambiente. O dispositivo em si é composto por hardware e software, combinados para possibilitar ao robô executar suas tarefas.

Neste capítulo vamos estudar: os níveis de controle do robô, a classificação temporal da programação do controlador e tipos de software para o controlador.

NÍVEIS DE CONTROLE DO ROBÔ. O controle do robô pode ser dividido em três níveis que constituem a hierarquia de controle.

Os níveis são: Controle do acionador : ou controle de cada eixo do robô separadamente. Nível mais baixo. Controle da trajetória : ou controle do braço do robô com coordenação entre os eixos para percorrer a trajetória especificada. Nível intermediário. Controle de coordenação com o ambiente : é o controle do braço em coordenação com o ambiente. Nível mais alto.


Rodrigo Bernardo Moreira

Fig 1 - Relação entre os vários níveis de controle na realização de uma tarefa.

CONTROLE DO ACIONADOR Acionadores: unidades que provocam o movimento dos eixos do robô. Cada eixo de movimento inclui, pelo menos, uma articulação, um vínculo e um acionador. Em alguns robôs, os eixos incluem dispositivos de transferência de movimento assim como unidades para identificar a posição relativa dos vínculos. Um eixo que contém tais unidades possui controle de malha fechada.

Os sinais de controle provém de um computador (quando se fala em computador, devese ter em mente que pode ser também um micro-controlador, ou um microprocessador) é digital, então deve passar por um conversor digital/analógico (uma vez que os Acionadores de robô geralmente trabalham com sinais analógicos). Mas isso ainda não é suficiente, pois a potência necessária para operar a unidade acionadores é relativamente alta, então usa-se um amplificador.


Rodrigo Bernardo Moreira

FIG. 2 - Sequência de acionamento de um motor elétrico com controle de malha fechada Para se entender o conceito de malha fechada é necessário recordar o de realimentação. Realimentação consiste em se tomar uma medida do estado atual do dispositivo a ser controlado e comparar essa medida com um valor pré-definido. Essa comparação vai resultar em um erro. O controlador vai tomar as providências necessária para que esse erro seja reduzido a zero. Um diagrama em blocos desse tipo de controle é mostrado na figura 3.

FIG. 3 - Seqüência de acionamento de um motor elétrico.


Rodrigo Bernardo Moreira

Em um controle de malha fechada, não se pode medir nem corrigir eventuais erros, então não se tem certeza se o objetivo foi atingido. Controle em malha fechada é utilizado em praticamente todos os robôs industriais existentes. Em um controle de malha fechada de um braço de robô, as unidades que informam sobre a posição atual dos vínculos é o encoder. Há um encoder presente em cada eixo a ser controlado. Existe um grande número de encoders, mas o mais comum é o encoder rotacional ótico, que é composto por: uma fonte de luz (como um LED). um detector de luz. um disco perfurado que gira entre a fonte e o detector de luz. Esse disco é conectado à articulação do robô. Isso faz com que o detector receba pulsos de luz e transforme em pulsos elétricos. O número de pulsos gerados é proporcional à extensão de movimento e/ou ao ângulo de rotação do eixo do robô. A velocidade dos vários eixos do robô também deve ser conhecida, para se prevenir flutuações no movimento do robô. Um componente utilizado para medir a velocidade é o tacômetro.

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 operado como programado nesses pontos.

O controle de trajetória pode ser dividido em dois métodos: controle ponto-a-ponto e 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 DE 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çará 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.


Rodrigo Bernardo Moreira CONTROLE DE 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 máximo 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 encoders. 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 um controle ponto-a-ponto. Robôs com controle de trajetória contínua são usados em séries onde o atuador deve realizar algum trabalho enquanto o braço se move. Uma aplicação típica é pintura com spray.

CONTROLE DE COORDENAÇÃO 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. 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 o 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.

CLASSIFICAÇÃO TEMPORAL DE PROGRAMAÇÃO Uma das principais diferenças entre controladores relaciona-se com o momento em que a trajetória de movimento é calculada, e com a habilidade de realizar mudanças na trajetória enquanto o braço está em movimento. Existem dois tipos de controle: programação off-line e programação e controle em tempo real.

PROGRAMAÇÃO OFF-LINE Neste modo, o controlador do robô guarda a trajetória de movimento em sua memória como uma série de pontos e os correspondentes movimentos das várias articulações. Enquanto o


Rodrigo Bernardo Moreira programa está sendo executado, o controlador não realiza cálculos de trajetória. Ao invés disso, o controlador simplesmente lê os comandos de movimento da memória que já foram previamente processados. Portanto, neste método não podem ser usadas séries em que ocorrem mudanças durante a execução do programa, tais como as que envolvem o uso de sensores. Programação off-line não necessita de computadores rápidos e complexos, por isso é menos dispendiosa do que controle em tempo real.

PROGRAMAÇÃO E CONTROLE EM TEMPO REAL Nesta modo, o controlador recebe instruções gerais sobre a trajetória de movimento. Enquanto o braço está se movendo, o controlador deve calcular a extensão do movimento das vária articulações a fim de se mover pela trajetória desejada. As informações recebidas dos sensores sobre mudanças no ambiente do robô enquanto o braço se move são processadas pelo controlador em tempo real.

Controle em tempo real é preferível a programação off-line, por ser mais flexível na sua habilidade de mudar o curso de ação enquanto uma tarefa está sendo executada. Esta flexibilidade exige um controlador mais complexo, incluindo um computador rápido o suficiente para processar a informação sem diminuir a velocidade de operação do robô.

TIPOS DE SOFTWARE PARA O CONTROLADOR Como já foi dito, o controlador do robô é composto de hardware e software. Este software pode ser dividido basicamente em dois componentes: software de usuário e software de controlador.

SOFTWARE DE USUÁRIO É escrito pelo operador do robô para cada série executada pelo robô. Consiste numa coleção de pontos ao longo da trajetória e das operações executadas nesses pontos pelo atuador. São escritos em linguagens de alto nível.

Escrever um programa de usuário é tarefa simples, qualquer um pode fazê-lo com algum treino. SOFTWARE DE CONTROLADOR É o software do robô que é escrito pelo fabricante. É o responsável pelo processamento dos comandos do programa do usuário e pela sua conversão em comandos para o robô.

O grau de sofisticação do robô é fortemente determinado pelo software do controlador. Esse software em robôs avançados é complexo. Inclui centenas de cálculos que devem ser realizados rapidamente enquanto o robô está em movimento. Se torna mais complexo a medida que os graus de liberdade aumentam.


Rodrigo Bernardo Moreira

CAPÍTULO 5 MÉTODOS PARA ENSINAR O ROBÔ.

INTRODUÇÃO. Para realizar uma tarefa o robô e o ser humano devem passar por um processo de aprendizagem, sendo que o homem pode receber definições genéricas; enquanto que para o robô é necessário subdividir a tarefa em partes simples de movimento. Para realizar as tarefas, homens e robôs utilizam-se de sensores que enviam dados ao ponto central de controle (cérebro para o homem e controlador para o robô), o qual toma decisões enviando comandos de movimentação às partes que o realizam. O processo de realização de uma tarefa para o homem é composto de instruções simples e genéricas, pois o homem é capaz de tomar decisões próprias durante a realização do processo e recorrer a sua memória acumulativa de experiências já ocorridas. Para o robô é necessário que as instruções sejam bem detalhadas, pois o mesmo não é capaz de tomar decisões próprias (exceto quando o programação trata disto, como em programação para inteligência artificial) o que acarretaria numa programação muito complexa. Fazer um robô movimentar uma peça de um local para outro, requer algumas pequenas rotinas como pegar a peça, levantá la, mover até a outra posição, descê-la e soltá-la. Além disso é necessário informá-lo da velocidade em que estes passos de procedimento devem ocorrer. Isto faz com que procedimentos mais complexos tenham dezenas e até centenas de pequenos movimentos, o que requer um tempo muito grande de programação do processo para treinar o robô.

Neste capítulo vamos estudar diferentes formas de treinar o robô a realizar suas tarefas. Vamos ver os métodos para treinar o robô a realizar suas tarefas e realizar uma comparação entre os métodos para treinar o robô. O capítulo se encerra com uma conclusão a respeito destes métodos.

MÉTODOS PARA TREINAR O ROBÔ Existem vários métodos para treinar o robô e, a cada dia, pesquisadores e fabricantes estão desenvolvendo novos métodos com a finalidade de tornar o robô mais flexível a aprendizagem de novas tarefas, simplificando o processo de treinamento. Os atuais métodos para treinar o robô podem ser divididos em dois grupos: métodos de ensino e métodos de programação.

Nos métodos de ensino há um movimento físico do braço do robô numa série de pontos de uma a outra posição. Dentro dos métodos de ensino pode-se ter variações como o método de ensino por meio de chaves (teach in), ensino manual (teach-through), e ensino por sensores. Nos métodos de programação determina-se uma série de pontos que o braço deverá percorrer, sem que o mesmo se mova fisicamente durante a programação. Nestes


Rodrigo Bernardo Moreira

métodos de programação, caso em que não se utiliza o acionamento de sensores físicos ou atuadores, pode-se trabalhar com: definições de coordenadas, deslocamento do sistema de coordenadas, uso de sensores de visão e apontadores e modelagem de mundo (world modeling).

MÉTODOS DE ENSINO Nos métodos de ensino há um movimento físico do braço do robô numa série de pontos de uma a outra posição. Dentro dos métodos de ensino pode-se ter variações como o método de ensino por meio de chaves (teach in), ensino manual (teach-through), e ensino por sensores.

ENSINO POR MEIO DE CHAVES - TEACH-IN Este é um dos métodos mais comuns, pois o método consiste de um ser humano fazendo com que o robô mova-se através do acionamento de botões ou chaves localizados num controle remoto (teach pendant) ou caixa de controle (teach box) em uma certa ordem; a fim de que o atuador seja movido ao ponto desejado. Ao atingir o ponto desejado é gravado esta posição através de um botão chamado de tecla de registro. Esta posição gravada nada mais é que a posição das articulações (ângulos de rotação, trecho de extensão de juntas de deslocamento) e o estado do atuador (garra aberta ou fechada). O processo de marcar a posição é realizado ao longo da trajetória, em diferentes pontos. Para isto o operador utiliza-se de um pequeno e leve controle remoto conectado ao controlador do robô por um cabo, geralmente, proporcionando ao operador uma visão total do desempenho e área de atuação do robô. Neste processo o operador passa a operar como um sensor de controle do robô e cuja responsabilidade de garantir a perfeita realização da tarefa; necessitando que o mesmo seja altamente treinado e especializado para realizar a operação.

A tarefa realizar-se-á quando o controlador chama os pontos da memória e envia os comandos as juntas e atuador; assim como foi gravado durante o aprendizado. Existe uma grande variedade de controles remotos, sendo que cada robô possui um adaptado às necessidades para seu uso. Pode-se encontrar controles remoto desde os mais simples, onde as teclas controlam diretamente o motor, até aqueles mais sofisticados, onde as teclas programam o controlador de forma que mova o robô em linha reta ou vários sistemas de coordenadas. Na figura 1 pode-se notar dois tipos de controles remotos, tipos padrão nos controles.


Rodrigo Bernardo Moreira

Fig. 1 - Tipos padrão de controle remoto Uma desvantagem apresentada na utilização de controle é que o operador precisa desviar atenção dos movimentos do robô a fim de localizar e acionar a tecla adequada, para tanto elimina-se este problema com a utilização de um joystick parecido com os utilizados por pilotos de avião ou de vídeo game padrão atari. As teclas de movimento são montadas no joystick de tal forma que se possa acionar uma ou mais teclas, promovendo a movimentação em várias direções sem que seja necessário que o operador se distraia. Na figura 2 pode-se ver um joystick que controla um robô em apenas duas direções, sendo que joysticks mais sofisticados podem controlar, juntamente, vários outros movimentos.


Rodrigo Bernardo Moreira

Fig. 2 - Representação de um joystick para controle do robô Um outro método envolve um robô adicional, chamado de mestre, caracterizado por ser uma máquina leve e não incluir motores ou dispositivos de transferência de movimento. Seus vínculos são iguais em comprimento ao robô escravo e o robô mestre possui encoders em suas articulações; ambos são controlados por um computador comum. O processo de ensino torna-se mais fácil, uma vez que o operador move o robô mestre sem dificuldades pela trajetória. Como a estrutura geométrica dos robôs mestre e escravo são idênticas, a trajetória realizada pelo robô mestre será feita pelo escravo. Este método é usado quando não é exigido um alto grau de precisão e quando é difícil dividir a tarefa em uma série de pontos individuais para criar o movimento ponto-a-ponto. A figura 3 mostra um exemplo de robô mestre-escravo sendo ensinado para realizar a tarefa de pintura automobilística com spray.


Rodrigo Bernardo Moreira

Fig. 3 - Representação de conjunto Robôs Mestre-Escravo ENSINO MANUAL - TEACH-THROUGH. O ensino manual de robô pode ser feito de duas maneiras: o ensino manual direto e o ensino manual por sensor de força. ENSINO MANUAL (TEACH-THROUGH) DIRETO. Neste método, o robô é movido manualmente ao longo da trajetória desejada, e o controlador grava a posição das juntas por amostras (sampling) ou toma a leitura em um intervalo de tempo fixo; sendo que seus motores devem estar inoperantes. Este método tem duas limitações: O operador tem de vencer o peso do robô e o atrito nas juntas e engrenagens, tornando inaplicável para robôs de grande e médio porte; onde é requerida precisão. O controlador necessita de uma memória muito grande para armazenar a informação amostrada a uma taxa de 10 vezes por segundo, comprometendo a precisão do processo. Para amenizar o problema de peso do robô pode-se utilizar uma unidade de balanço, a qual suporta o peso estático do braço. ENSINO MANUAL (TEACH-THROUGH) USANDO UM SENSOR DE FORÇA. Este método é semelhante ao anterior, porém utiliza o auxílio de um sensor de força ligado ao atuador. Quando o operador move o braço (robô) é exercida uma força no atuador, o sensor converte a força em sinais elétricos, que ativam os motores do robô na direção fixada. A


Rodrigo Bernardo Moreira vantagem deste método sobre o anterior é que o operador não necessita de um grande esforço para mover o robô, podendo obter um alto grau de precisão; entretanto ainda é restrito a modelos experimentais.

ENSINO POR MEIO DE SENSORES. Neste método os sensores auxiliam o operador no direcionamento do robô ao longo da trajetória através de transmissão de informações ao controlador. Com isso torna-se mais caro que os outros métodos uma vez que utiliza equipamentos mais sofisticados. Contudo os sensores são utilizados somente durante o processo de aprendizagem, uma vez que na execução da tarefa não serão afetados pela interferência do robô. Com a utilização dos sensores há uma diminuição do tempo e da força necessária para ensinar o robô a realizar as tarefas.

MÉTODOS DE PROGRAMAÇÃO. Consiste no movimento do robô através da trajetória fixada para o controlador sem mover o atuador, não necessitando para tanto o movimento ponto a ponto. Os métodos de programação podem ser divididos em quatro grupos, como: Definição de coordenadas pelo computador; Deslocamento do sistema de coordenadas; Uso de sensores de visão e apontadores; Modelagem de mundo.

DEFINIÇÃO DE COORDENADAS PELO COMPUTADOR. O controlador pode receber informações sobre uma série de pontos que o atuador passará e que é armazenado na memória, sem que o atuador mova-se; determinando a trajetória desejada durante o processo de aprendizagem. Este método é usado na maioria dos robôs e provê a base da programação OFF-LINE. Por exemplo, uma tarefa pode ser definida como uma série de números, como 2,3, 4 e 5, 6, 7, e ao executar a tarefa o robô move o atuador para a coordenada x=2; y=3 e z=4; movendo-se em seguida para a coordenada x=5; y=6; z=7. Procedimento este a ser explicado posteriormente. A habilidade para definir o movimento especificado pelas coordenadas para o controlador do robô é a base para os métodos de aprendizagem.

DESLOCAMENTO DO SISTEMA DE COORDENADAS. Este método de programação é aplicável em robô que executam tarefas idênticas em duas ou mais células de trabalho ou estações nas quais o robô realiza alguma tarefa. O robô é instruído a executar a tarefa em uma das células, através da definição de uma série de pontos ao controlador do braço. O sistema de coordenadas é transladado a uma segunda célula de forma que a tarefa seja copiada. Como mover o sistema de coordenadas? Na figura 4 é exemplificado uma situação em que o robô realiza furos em chapas metálicas em duas estações. Enquanto fura-se na estação A, na B é retirada a placa furada. Quando termina na A vai para a B e a chapa A é trocada por outra nova. Como a tarefa realizada é a mesma em ambas as estações basta ensinar as furações em uma placa e adicionar os deslocamentos no sistema de coordenadas existente.


Rodrigo Bernardo Moreira

Fig. 4 - Representação de robô utilizando-se de Sistema de Coordenadas Para este exemplo a mudança é de 11 unidades no eixo x e 6 unidades no eixo y, que podemos definir como: XB = XA + 11 YB = YA + 6 Com este novo sistema de referências é possível que o robô execute o mesmo procedimento na estação B como havia realizado na A, uma vez que houve correção na referência inicial. É necessário ensinar ao robô um grande número de pontos para que realize as furações, além dos pontos de referências inicias. Este método é extremamente eficiente quando deseja se aumentar produção com garantias de repetitividade e qualidade, bastando utilizar localizações diferentes. USO DO SENSOR DE VISÃO E DO APONTADOR. Para definir a programação das coordenadas da trajetória do robô é necessário conhecer todos os valores numéricos das coordenadas dos pontos, sendo que nem sempre isto é possível, pois ou são desconhecidos ao usuário ou sua medição envolve um grande esforço. A fim de melhorar o desempenho é utilizado um sensor de visão com um auxílio de um apontador. Neste método utiliza-se um estreito feixe de luz ou um apontador para indicar os pontos da trajetória. Um sensor de visão semelhante a uma câmara acha a localização das marcas de luz,


Rodrigo Bernardo Moreira guardando estas posições na memória. Uma outra aplicação deste método envolve uma tela de monitor para mostrar o campo de operação do robô que ao ser tocado por uma caneta óptica no ponto desejado grava esta posição na memória; o que torna sua utilização mais simples e podendo ocorrer erros dependendo da precisão da tela. Por isso não são sistemas muito utilizados.

MODELAGEM DE MUNDO. Este é um método avançado e experimental que possibilita que uma tarefa seja aprendida sem estar dividida em movimentos individuais, operando com definições de tarefas genéricas; como "traga o copo" ou "monte a peça". Para isto o formato dos objetos localizados dentro do campo de trabalho são armazenados na memória e o controlador onde cada item está localizado, assim como sua orientação dentro do espaço e como mantê-lo na seqüência para manipulá-lo com segurança. É armazenado também séries de movimentos individuais, as quais são componentes de uma tarefa. Com a facilidade de treinamento do robô através de definições genéricas o custo necessário para sua utilização engloba computadores de alta velocidade de processamento e grande quantidade de memória, além de sofreares avançados; fazendo com que o método esteja em estágio atual de desenvolvimento.

COMPARAÇÃO DOS MÉTODOS DE ENSINO E MÉTODOS DE PROGRAMAÇÃO. As vantagens do método de ensino são: 1. Pode-se ter certeza de que o braço atinge um ponto desejado, mesmo que o peso da carga flexione o braço do robô; o que não pode ser previsto no método de programação, pois não se sabe qual o desvio do atuador. 2. Não está sujeito a imprecisões na definição de coordenadas dos pontos, ocorrendo o inverso no método de programação. As vantagens do método de programação são: 1. Poupam tempo e esforço e, não é necessário a retirada do robô da linha de produção para ensinar uma nova tarefa. 2. Pode-se transferir a outros robôs as coordenadas de uma tarefa aprendida, mesmo com estruturas diferentes. Os robôs ainda tem um longo caminho até atingir a precisão que gostaríamos, como desenvolvimento para manter a posição do braço independente da carga, modos de prevenir colisões do braço com objetos na trajetória. Ocorrendo tais desenvolvimentos pode-se antecipar que os métodos de programação irão prevalecer como principais técnicas de ensino dos robôs.

CONCLUSÃO. Através do texto tratado neste capítulo, podemos notar que existem muitos métodos para ensinar os robôs a aprender novas tarefas e, que em cada caso, devem ser adequadas as


Rodrigo Bernardo Moreira possibilidades de execução por parte do robô; além da qualificação profissional para manuseio deste mesmo robô. É válido lembrar que a todo momento são desenvolvidos novos métodos, os quais tornam essa tarefa de aprendizado mais fácil. O custo-benefício da aplicação de determinado tipo método deve levar em consideração custo, tipo de robô, quantidade de produção, quantidade de robôs, especialização profissional, etc. Com isso pode-se obter o ponto ótimo de utilização do robô e conseqüentemente, do método de aprendizagem.

Os métodos de programação tem algumas vantagens que em nosso momento atual fazem com que os mesmos se sobressaiam aos métodos de ensino e, cuja visão futura é de ensinar os robôs exclusivamente por programação; havendo raras excessões. Os métodos de se ensinar robô podem ser aplicados a todos os robôs e podemos notar que pode ser empregado em linhas de montagem, pintura de automóveis, tornos, fresadoras, centros de usinagem, linha de empacotamento, auxílio a pessoas deficientes, dentre outras.


Rodrigo Bernardo Moreira

CAPÍTULO 6 ATUADORES

INTRODUÇÃO O atuador (end effector) é todo um sistema montado na extremidade do vínculo mais distante da base do robô, cuja tarefa é agarrar objetos, ferramentas e\ou transferí-las de um lugar para outro. São exemplos de atuadores a pistola de solda, garras e pulverizadores de tintas. A operação do atuador é o objetivo final na operação de um robô, assim todos os demais sistemas (unidades drives, controles, etc.) são projetados para habilitar sua operação. O atuador é de extrema importância na execução de uma tarefa, portanto é necessário que o mesmo seje adequadamente projetado e adaptado as condições do seu meio e área de trabalho. Existem dois tipos de atuadores: Garras e Ferramentas. Neste capítulo vamos apenas estudar as garras, sendo que os diferentes tipos de ferramentas vão ser vistos mais à frente, no capítulo de aplicações, já que as ferramentas são específicas para cada tipo de aplicação.

ATUADORES TIPO GARRA A garra é comparável a mão humana. No entanto, ela não é capaz de simular seus movimentos, resultando na limitação dos movimentos a uma faixa de operações. A grande demanda tem levado ao desenvolvimento de garras que podem manusear objetos de diferentes tamanhos, formas e materiais. Estas garras são divididas em vários tipos de classe: Garra de dois dedos; Garra de três dedos; Garra para objetos cilíndricos; Garra para objetos frágeis; Garra articulada; Garra a vácuo e eletromagnética, Adaptador automático de garras.

Garra de dois dedos: É o tipo mais comum e com grande variedade. São diferenciados um do outro pelo tamanho e/ou movimento dos dedos, como o movimento paralelo mostrado na figura 1 ou o movimento de rotação mostrado na figura 2. A principal desvantagem desta garra é


Rodrigo Bernardo Moreira

a limitação da abertura dos seus dedos, restringindo, assim a sua operação em objetos cujo tamanho não exceda esta abertura máxima.

Fig. 1 - Garra de movimento paralelo


Rodrigo Bernardo Moreira

fig. 2 - Garra com movimento de rotação

Garra de três dedos: São similares aos de dois dedos, porém permitem uma segurar objetos de forma circular, triangular e irregular com maior firmeza. Os dedos são articulados e formado por diversos vínculos, como mostra a figura 3, abaixo.


Rodrigo Bernardo Moreira

fig. 3 - Garra de três dedos

Garra para objetos cilíndricos: Consiste de dois dedos com vários semicírculos chanfrados (ver figura 4), que permitem a garra segurar objetos cilíndricos de vários diâmetros diferentes. As principais desvantagens são: O seu peso que deve ser sustentado pelo robô durante a operação; A limitação de movimentos causada pelo comprimento da garra.


Rodrigo Bernardo Moreira

fig. 4 - Garra para objetos cilíndricos

Garra para objetos frágeis: São garras próprias para exercer um certo grau de força durante a operação de segurar algum corpo, sem causar algum tipo de dano ao mesmo. Ele é formado por dois dedos flexíveis, que se curvam para dentro, de forma a agarrar um objeto frágil; seu controle é feito por um compressor de ar. Veja a figura 5.


Rodrigo Bernardo Moreira

fig. 5 - Garra para objetos frágeis

Garra articulada: São projetados para agarrar objetos de diferentes tamanhos e formas. Os vínculos são movimentados por pares de cabos, onde um cabo flexiona a articulação e o outro a estende. Sua destreza em segurar objetos de formas irregulares e tamanhos diferentes se deve ao grande número de vínculo, conforme mostra a figura 6, abaixo.


Rodrigo Bernardo Moreira

fig. 6 - Garra articulada

Garras a vácuo e eletromagnéticas: Garras a vácuo são projetados para prender uma superfície lisa durante a ação do vácuo. Estas garras possuem ventosas de sucção conectadas a bomba de ar comprimido, que predem superfícies como chapas metálicas e caixas de papelão. Para reduzir o risco de mal funcionamento devido a perda de vácuo, é comum usar mais do que uma ventosa de sucção. A figura 7 ilustra este tipo de garra.


Rodrigo Bernardo Moreira

fig. 7 - Garras a vácuo Garras eletromagnéticas são utilizados para segurar objetos que podem ser magnetizados (aço e níquel) através de um campo magnético. Estes objetos devem possuir um lugar específico na qual a garra passa atuar. Ambos os tipos de garras descritos acima são muito eficientes, uma vez que eles podem segurar objetos de vários tamanhos e não necessitam de grande precisão no posicionamento da garra.

Adaptador automático de garra: Surgiu da necessidade de se ter uma garra capaz de segurar todos os tipos de objetos. Então foi criado uma unidade chamada de automatic gripper changer, que é um adaptador que permite que uma garra seja rapidamente ligada ou removida do braço do robô. Restrições: Os adaptadores devem ser ligados ao braço do robô de um mesmo modo e deve conectar de maneira idêntica suas unidades de drive, se elétrica, mecânica ou pneumática. Desvantagens: 1. O peso adicional na extremidade do braço do robô;


Rodrigo Bernardo Moreira

2. Complicações tecnológicas são uma fonte potencial de mal funcionamento; 3. Acréscimo no custo do robô; 4. Tempo gasto na troca das garras. Diante destes fatos verifica-se que o desenvolvimento e produção de garras é um estágio importante no projeto de robôs para tarefas particulares. Normalmente, os fabricantes vendem robôs sem o atuador, as garras e as ferramentas são escolhidas e adaptadas pela equipe de engenharia que instala o robô no local de trabalho. Este é um estágio crítico da instalação, requerendo um alto nível de conhecimento e prática.


Rodrigo Bernardo Moreira

CAPÍTULO 7 Subsistemas em Ação - Executando uma tarefa INTRODUÇÃO Neste capítulo descreveremos como as operações dos vários subsistemas que compõem um robô são integrados durante sua operação. Para ilustrar isto, especifica-se uma tarefa para o robô e acompanha-se a operação destes vários subsistemas durante a execução da tarefa. O trabalho se realiza em duas fases: aprendizado da tarefa e execução da série de comandos da tarefa.

APRENDIZADO DA TAREFA A tarefa em questão é a construção de uma torre com 3 blocos de diferentes tamanhos (figura 1). A posição dos blocos antes da montagem da torre é especificada, juntamente com a instrução de que a torre é para ser construída sobre o bloco 1 em sua posição atual.


Rodrigo Bernardo Moreira

Fig. 1 - Tarefa: construir uma torre com três blocos de tamanhos diferentes Os comandos necessários para a colocação de um bloco sobre o outro são ilustrados pela figura 2.: 1. 2. 3. 4. 5. 6. 7. 8.

Vá para o ponto 1; Vá para o ponto 2; Feche a garra (para levantar o bloco); Vá para o ponto 3; Vá para o ponto 4; Vá para o ponto 5; Abra a garra (para colocar o bloco); Vá para o ponto 6;


Rodrigo Bernardo Moreira

Fig. 2 - Colocação do bloco 2 sobre o bloco 1: posições asssumidas Os pontos 2 e 5 são aqueles nos quais o robô efetua uma operação sobre o bloco, portanto, é muito importante que a garra esteja precisamente localizada nestes pontos em questão. Os pontos 1, 3, 4 e 6 não exigem tal precisão, porque nenhuma operação é executada neles, deste modo a precisão da posição da garra nestes pontos não é importante. Eles estão incluídos na trajetória apenas para criar o movimento vertical requerido para abaixar e levantar a garra. Os movimentos verticais são importantes para evitar que a garra danifique os blocos durante o movimento. Estes pontos são chamados de "dummy points" ou "via points". Colocando o Bloco 2 sobre o Bloco 1: ensina-se o robô a ir nos pontos mostrados na figura 2, pressionando chaves de um "manual teach pendant". Quando o robô alcança o ponto desejado, a chave de gravação é pressionada; o controlador então gravará em sua memória a posição de cada articulação (ângulo, alcance do vínculo) do braço do robô, assim como o estado da garra (aberto ou fechado). A velocidade é também definida para cada ponto. No fim do estágio de aprendizado, o controlador terá armazenado em sua memória 8 linhas de dados, uma para cada comando de movimentos. Ele memorizará a posição de cada articulação, o estado da garra e a velocidade. Na figura 2, o robô movimenta somente 3 juntas - base joint, shoulder joint e elbow joint. A série de


Rodrigo Bernardo Moreira

comandos armazenados na memória do controlador provavelmente apresenta o aspecto representado pela tabela 1. Tabela 1 - Valores das variáveis de robô para colocar o bloco 2 sobre o bloco 1

Ângulo

Ângulo

Ângulo

Estado da

Base joint 10 10 10 10 0 0 0 0

Shoulder joint 70 60 60 70 40 35 35 40

Elbow joint 110 95 95 110 150 145 145 150

Garra 0 0 1 1 1 1 0 0

Comando 1 2 3 4 5 6 7 8

Velocidade 15 5 5 15 5 5

Obs: 1. Os números acima servem somente para ilustração. 2. Estado da garra ( 0 = aberto e 1 = fechado). 3. A alta velocidade reduz a precisão da trajetória, portanto é usado somente entre dois dummy points onde a precisão da trajetória não é relevante. E a baixa velocidade é usado para pontos próximos a um objeto ou quando efetuar um movimento de operação sobre um objeto. Colocando Bloco 3 sobre Bloco 2: A trajetória necessária para colocar o bloco 3 sobre o bloco 2 será ensinado pela definição das coordenadas cartesianas dos pontos ao longo da trajetória para o controlador do braço do robô, como mostra a figura 3. A definição dos pontos será feita pela programação Off-Line, portanto, deve-se definir as coordenadas dos pontos ao longo da trajetória com grande precisão - particularmente o ponto no qual o robô agarra o bloco 3 e o ponto onde o bloco 3 é colocado sobre o bloco 2. A série de comandos armazenados na memória é semelhante ao apresentado na tabela 2.


Rodrigo Bernardo Moreira

Fig. 3 - Colocação do bloco 3 sobre o bloco 2: posições asssumidas Tabela 2 - Valores das variáveis de robô para colocar o bloco 3 sobre o bloco 2

Estado da Comando 9 10 11 12 13 14 15 16

X 9 9 9 9 11 11 11 11

Y 0 0 0 0 5 5 5 5

Z 16 1 1 16 16 17 17 16

Velocidade Garra 0 0 1 1 1 1 0 0

15 5 5 15 5

Este estágio completa o processo de aprendizado da tarefa. A série foi armazenada na memória do controlador, e será chamada sempre que se quiser executá-la.

5


Rodrigo Bernardo Moreira

EXECUÇÃO DA SÉRIE DE COMANDOS DA TAREFA O passo seguinte ao processo de memorização da tarefa é o de execução da série de comando. O operador instrui o controlador a executar a série, pelo nome atribuído a ela. O controlador por sua vez recebendo esta instrução para executar a série, acessa sua memória para chamar a primeira linha do programa (que indica os ângulos das juntas (10, 70, 110), o estado da garra (0) e a velocidade (15). Antes de iniciar qualquer movimento, o controlador "lê" a posição das juntas do robô, através do encoder e calcula a diferença entre a posição ditada pelo comando 1 e a posição atual. Desta maneira o controlador move o braço para a posição indicada pelo comando 1. Sempre que o controlador reconhece que os valores desejados das juntas do robô não são iguais aos valores atuais, ele emite um comando de movimento, na forma digital. Este sinal digital é convertido para um sinal analógico equivalente por um conversor Digital/Analógico (D/A). O sinal analógico é amplificado por um amplificador de drive para ativar uma unidade de drive. As unidades de drives, por sua vez, movimenta as juntas diretamente ou por meio de engrenagens, eixos e correias (indirect drive). Os movimentos combinados das juntas criam o movimento do braço, para mover o atuador ("end effector") para o ponto desejado. Quando os comandos de 9 a 16 são executados (ver tabela 2), o controlador deve primeiro transformar as coordenadas cartesianas listadas em seu programa para a variável de junção apropriada. Após a tradução, seguem-se os mesmos passos descritos acima. A tradução da posição das coordenadas cartesianas para ângulos das juntas deve ser executado pelo controlador para cada movimento para um novo ponto. Em trajetórias formadas de movimentos de linha reta entre dois pontos, os cálculos de tradução são executados muitas vezes durante o movimento. Uma parte importante do processo de controle do robô é a regulação da velocidade do braço. No momento em que o atuador se aproxima do ponto em que deve parar, a velocidade será reduzida progressivamente até zero, pois, uma para repentina causaria uma trepidação, que reduziria a precisão de operação do robô. Atualmente os robôs industriais apresentam um controle de velocidade automática; quando o atuador se aproxima de uma certa distância do ponto em que deve parar, como definido pelo software, ocorre uma lenta e gradual redução da velocidade até a parada total no ponto desejado. Os robôs não são fatores isolados nas indústrias. Ao contrário, eles são componentes integrados das células de trabalho, no qual eles podem executar operações de produção ou realimentar outras máquinas.


Rodrigo Bernardo Moreira

CAPÍTULO 8 Aplicações de Robôs na Indústria. Introdução. Como já tem sido mencionado nos capítulos anteriores, os robôs vem sendo aplicados na indústria em uma crescente variedade de funções, as quais se mostram perigosas, entediantes e fisicamente difíceis demais para serem realizadas por seres humanos. Neste capítulo, serão descritas as mais comuns aplicações industriais envolvendo robôs, onde, em cada exemplo, serão discutidos o processo onde o robô é integrado e a sua adaptação à tarefa a ser executada. Os principais pontos aqui discutidos são: as principais categorias de robôs, os principais tipos de aplicações, características indispensáveis do robô, características auxiliares e estágios da seleção de robôs para aplicações industriais.

Principais Categorias. No quadro a seguor, pode-se observar as principais categorias de aplicação de robôs na industria, bem como as suas capacidades e principais benefícios gerados pelo seu uso, principalmente em células de trabalho ( ou de produção).


Rodrigo Bernardo Moreira

Em 1981 foram feitas estimativas, baseadas na situação das indústrias dos EUA na época, sobre a distribuição dos robôs dentro do conjunto de principais aplicações. O qudro a seguir ilustra essa pesquisa. Quadro 2: Uso de robôs nos EUA por aplicação

Fonte: Introduction to Robotics - Arthur J. Critchlow - pg. 29

Tipos de Aplicações.


Rodrigo Bernardo Moreira

Descreve-se a seguir algumas das principais aplicações dos robôs na indústria: Carga e Descarga de prensa, Fundição em Molde, Carga e Descarga em Máquinas de Ferramenta, Solda a Ponto, Solda em Arco, Pintura a Spray, Montagem, Acabamento.

Carga e Descarga em Prensa O processo de prensagem é uma operação usada para dar forma e remodelar peças. A peça de trabalho é posicionada em uma prensa, a qual exerce uma pressão externa sobre a mesma, ou mesmo remove porções dela a fim de obter dela uma nova forma. A transferência de pressão da prensa para a peça de trabalho é realizada por um molde especial chamado matriz, na qual a peça é colocada para assumir a sua forma. Normalmente, a peça passa por um número variado de operações de prensagem até receber sua forma final. A figura 1 mostra uma típica célula de trabalho para uma operação de prensagem, onde o robô pega a peça bruta do alimentador de peças e posiciona-a na prensa. Na figura 2 o robô transfere a peça da prensa para correias transportadoras ou pallets, onde as peças acabadas são armazenadas. A figura 3 mostra um esquema, visto de cima, de um sistema de prensa semelhante. Os robôs utilizados nesse processo possuem movimentos simples e trajetória não muito importante, realizando funções do tipo "apanhar e colocar", sendo assim do tipo "primeira geração". No entanto, para diminuir o tempo gasto no processo e facilitar a tarefa realizada, usa-se um braço com duas garras, uma para fase de carregamento e outra para fase de descarga sobre correia transportadora ou pallets.

Fig.1: Robô pegando uma peça na prensa. Fonte: Introduction to Robotics; Arthur J. Critchlow; pg. 382


Rodrigo Bernardo Moreira

Fig.2: Robô colocando uma peça no pallet. Fonte: Introduction to Robotics; Arthur J. Critchlow; pg. 383

Fig. 3: Vista plana superior de um sistema de prensa. Fonte: Robotics Training Prpgram - Test Book 1; Eshed Robotic; pg115

Os benefícios da integração do robô ao processo de prensagem são: 1. 2. 3. 4.

redução de mão-de-obra; aumento de produtividade; significativa diminuição de acidentes; melhoria nas condições de trabalho dos seres humanos, que passam a supervisionar a produção das máquinas.

Há, no entanto, inúmeros problemas nessa integração do robô ao processo, basicamente em casos onde o sistema falha, como por exemplo quando a matéria-prima termina ou quando a peça fica presa na matriz e o robô não é capaz de extraí-la. Um meio utilizado para superar isso é o uso de sensores simples no braço do robô, os quais informarão ao


Rodrigo Bernardo Moreira

controlador do robô a existência desses problemas, paralisando então o mesmo e alertando o sistema supervisor.

Fundição em Molde. Esta operação é realizada pela injeção de uma matéria em sua temperatura de fusão dentro de um molde especial, ou matriz. Dentro da matriz, o material esfria e solidifica, tomando a forma do molde. A matriz então é aberta par se extrair a peça fundida já endurecida. A peça pode passar por uma prensa na sequência do processo para obter acabamento antes de ser armazenada em pallets. O Material do molde deve ter um ponto de fusão mais alto que o da matéria-prima, a qual geralmente é plástico, chumbo ou alumínio. Alguns processos de fundição incluem a inserção de porções de outros materiais à porção fundida com a finalidade de aumentar a capacidade mecânica do produto final.

Fig. 4: Célula de Produção de uma injetora / prensa. Fonte: Robotics Training Prpgram - Test Book 1; Eshed Robotic; pg118

A figura 4 mostra uma célula de trabalho de fundição, com um robô atendendo uma máquina de fundição e uma prensa. Para evitar um mau funcionamento, o controlador do robô é conectado à matriz da máquina de fundição e à prensa. Ele supervisiona a duração das várias operações, para manter o sincronismo dentro da célula.

Carga e descarga em Máquinas de Ferramenta.


Rodrigo Bernardo Moreira

Máquinas de Ferramenta são aquelas que realizam processos de usinagem de peças, como por exemplo torneamento, desbaste, moagem, etc. Antes da integração de robôs no processo, a introdução de dispositivos CNC (Comando Numérico por Computador) reduziu a necessidade de operadores hábeis em usinagem para a realização apenas das atividades de carga e descarga das máquinas. Durante muito tempo, o uso de robôs nessa atividade ficou reduzido por acreditar-se terem custos muito elevados. Com os dispositivos CNC passando a realizar atividades de ajuste de parâmetros das máquinas, de acordo com o processo envolvido, e troca de ferramentas das máquinas, o robô veio, após provar ter uma relação ótima custo-benefício, a ocupar a posição de carga e descarga das máquinas, deixando o ser humano com a função de supervisão e reparos em peças danificadas. Assim, o robô passou a ser integrado como parte de células de trabalho, servindo várias máquinas de ferramentas, pallets e outras unidades auxiliares de transporte. A figura 5 mostra uma célula de trabalho (ou de produção) com robô atuando sobre dois tornos e um moinho.

Fig. 5: Célula de Produção com robô atuando sobre MF's. Fonte: Robotics Training Prpgram - Test Book 1; Eshed Robotic; pg120

Para empregar-se robôs no processo de carga e descarga de algumas máquinas de ferramenta, todas as operações, do robô e das máquinas, devem ser precisamente temporizadas. Para isso, a estação de trabalho é projetada para permitir o posicionamento de todas as máquinas, alimentadores e pallets dentro da área de atuação (ou de trabalho) do robô, com um planejamento de todos os movimentos para se evitar colisões com equipamentos vizinhos. Os robôs móveis são capazes de alcançar e servir um grande número de máquinas. Dessa maneira, para facilitar a operação, robôs são instalados em trilhos suspensos, ao longo dos quais eles se movem, de máquina para máquina. Um exemplo desse tipo de instalação é mostrado na figura 6.


Rodrigo Bernardo Moreira

Fig.6: Robô suspenso em trilhos atuando sobre MF's. Fonte: Robotics Training Prpgram - Test Book 1; Eshed Robotic; pg121

Solda a Ponto. O processo de solda a ponto é difícil , monótono e requer um alto grau de precisão. Assim, os robôs se mostram ideais para serem integrados a esse tipo de processo, visto que seus movimentos são altamente precisos e capazes de alcançar posições difíceis, sem danificar as partes ou peças envolvidas. A flexibilidade das estações de trabalho com robôs, permitindo a armazenagem de diversos programas de solda para diferentes empregos de produção, vem a ser um importante ponto de motivação da integração de robôs no processo de solda a ponto. O processo de solda é baseado num fluxo de corrente alta entre dois eletrodos e através de dois pedaços de metal a serem unidos. Quando a corrente flui, um grande calor é gerado no ponto de contato. A pressão dos eletrodos é mantida por um curto tempo após a corrente cessar seu fluxo, a fim de manter as partes de metal juntas enquanto o ponto onde se realizou a solda resfria e se solidifica. Os eletrodos não sofrem fusão durante o fluxo de corrente devido a um fluido que flui através deles. A figura 7 mostra dois tipos de garras (pistolas) de solda e demonstra o processo de solda a ponto de duas partes metálicas.


Rodrigo Bernardo Moreira

Fig.7: Esquema de eletrodos para solda a ponto. Fonte: Robotics Training Prpgram - Test Book 1; Eshed Robotic; pg122

A figura 8 mostra uma aplicação de ponto de solda na indústria automotiva. Ela mostra um carro entrando no trilho de uma célula de trabalho composta por vários robôs, de ambos os lados da linha, com a função de realizar centenas de diferentes pontos de solda no corpo do carro, em minutos. Hoje em dia, a indústria automotiva utiliza mais robôs que qualquer outro tipo de indústria, desempenhando várias funções, como soldagem, pintura e operações na linha de montagem, possuindo cerca de 30% dos robôs em operação no mundo. Os robôs que realizam solda a ponto executam movimentos complicados, tais como seguir contornos de peças e alcançar pontos inacessíveis sem danificar as peças que estão sendo soldadas. Desta forma, muitas aplicações de solda utilizam robôs com 6 GDL (graus de liberdade) - três para posicionamento e três para orientação ou postura em relação à peça. Embora os movimentos necessários aos robôs de solda a ponto sejam complicados, o único ponto que requer uma grande precisão é o ponto onde a solda ocorre de fato, sendo assim possível a utilização de controle ponto-a-ponto durante a trajetória do robô entre os pontos de solda. Para se evitar colisões entre o robô e as peças que estão sendo soldadas durante o movimento deste entre dois pontos de solda, o robô é instruído com um grande número de posições pelas quais ele deve passar no seu percurso até o próximo ponto de solda. O ensino de tarefas de solda a ponto é um processo complicado. O robô deve ser manualmente transportado através de cada um dos centenas de pontos de solda, devendo ser posicionado com uma precisão de +/1mm. Como, em solda a ponto, os eletrodos devem estar perpendiculares às peças, essa precisão se mostra ainda mais difícil de ser atingida.


Rodrigo Bernardo Moreira

Fig.8: Desenho de uma linha de produção automotiva realizando um conjunto de soldas a ponto. Fonte: Introduction to Robotics; Arthur J. Critchlow; pg. 397

Numa linha de montagem automotiva, vários modelos diferentes são produzidos, cada qual com diferentes séries de pontos de solda, tornando o processo de ensino dos robôs envolvidos na realização dos pontos de solda dos carros muito longo e cansativo. Esse processo pode ser simplificado utilizando-se softwares capazes de alterar a orientação de uma pistola de solda sem alterar sua localização no espaço. Assim, permite que o atuador do robô, ou seja, a pistola de solda (mostrada na figura 9), seja trazido ao local desejado e então realizar a orientação desejada sem ter de corrigir as posições de suas juntas.

Fig.9: Pistola de solda a ponto da Milco Manufacturing Company. É acoplada ao braço do robô. Fonte: Introduction to Robotics; Arthur J. Critchlow; pg. 399


Rodrigo Bernardo Moreira

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 à ambos os lados da parte a ser soldada e posicionamento destes exatamente em frente ao ponto de solda; fixação dos eletrodos ao 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.

As principais vantagens envolvidas no uso de robôs em pontos de solda são: 1. melhor qualidade da solda; 2. posicionamento preciso das soldas, assegurando resistência; 3. economia de mão-de-obra e tempo.

As principais desvantagens são as falhas que podem ocorrer no processo devido à deterioração física dos eletrodos e ao tedioso processo de ensino.

Solda em Arco. A solda em arco é um processo usado para se unir duas partes de metal ao longo de uma área de contato contínua. Nele, as duas partes de metal são aquecidas ao longo da área de contato até o metal fundir-se; ao esfriar-se, o metal fundido se solidifica, unindo as duas partes. Para criar uma corrente elétrica, dois eletrodos com diferentes potenciais, alimentados pelo equipamento de solda, são necessários. A pistola de solda em arco tem apenas um eletrodo, com o objeto a ser soldado servindo como segundo eletrodo. Esse tipo de pistola é também usada em alguns raros casos de solda a ponto. Os objetos de metal são aquecidos por uma corrente elétrica, que flui através dos eletrodos na pistola de solda e através de um vão de ar para o objeto sendo soldado. Quando se usa um robô para realizar uma solda em arco, a pistola de solda é fixada como atuador do mesmo e o eletrodo é alimentado através de um cabo condutor paralelo ao braço do robô. A pistola de solda também dispersa um gás especial para prevenir a área aquecida contra a oxidação, o que iria prejudicar a qualidade da solda. O processo de solda em arco necessita do uso de robôs de alta qualidade com softwares sofisticados, capazes de realizar as seguintes operações: 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;


Rodrigo Bernardo Moreira

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. Para se encontrar os requisitos acima, o processo desolda em arco necessita de robôs com as seguintes características: 1. cinco a seis graus de liberdade; 2. controle de trajetória contínua, para mover-se exatamente ao longo da trajetótia de solda e regulagem de velocidade. 3. alta repetibilidade. A figura 10 mostra um braço de robô realizando uma operação de solda em arco.

Fig.10: Robô da Aronson Machine Company (Modelo CMB2) realizando uma solda em arco. Fonte: Introduction to Robotics; Arthur J. Critchlow; pg. 416

Os problemas resultantes da adaptação do robô à solda em arco incluem: - o uso do método "TEACH-IN" na solda em arco é um processo complicado, especialmente no caso de trajetórias curvas; o ensino de solda em arco por meio de métodos "TEACH- THROUGH" é de difícil realização para o indivíduo que move o braço manualmente ao longo da trajetória; quando os corpos são aquecidos, ocorrem distorções causando um ligeiro deslocamento da linha de união durante o processo de solda, o que pode ser significativo em soldas longas onde o calor não é dissipado rapidamente da área de solda.


Rodrigo Bernardo Moreira

O uso de um sensor para identificar a linha de união entre as partes pode solucionar esses problemas, eliminando o estágio de aprendizado. Assim, o sensor guia o braço do robô e seu atuador (a pistola de solda) ao longo da linha de união através da luz e do calor gerados no processo. A figura 11 mostra uma estação de trabalho de solda em arco, mostrando componentes como "jigs" e "mesa giratória indexada", usados para dar precisão ao posicionamento das partes a serem soldadas.

Fig.11: Célula de Trabalho de Solda em Arco. Fonte: Robotics Training Prpgram - Test Book 1; Eshed Robotic; pg129

Em suma, as principais vantagens do uso de robôs em solda em arco são: - melhora da qualidade da solda em relação àquela realizada pelo ser humano; 1. redução de horas de trabalho, especialmente quando a solda é feita numa curta trajetória; 2. redução de custos, devido à pouca utilização de mão-de-obra altamente especializada; 3. habilidade de trabalho contínuo, uma vez que os operadores humanos devem descansar ocasionalmente, devido às condições difíceis de trabalho. 4. melhoria das condições de trabalho do ser humano, que deixam de trabalhar em altas temperaturas e de usar máscara e roupas protetoras.


Rodrigo Bernardo Moreira

Pintura a Spray. O uso de robôs na pintura a spray consiste na fixação de uma pistola de tinta spray ao atuador do robô. Tem como características principais: 1. controle de trajetória contínua; 2. movimentos rápidos; 3. baixa repetibilidade: ensinado pelo método "TEACH-THROUGH" ou pelo método "MASTER-SLAVE". Na aplicação de tinta spray, a flexibilidade dos robôs se torna evidente, os quais podem armazenar um programa específico para cada tipo de parte a ser pintada. Muitos robôs utilizados nessa aplicação não possuem sistema de sensoreamento. Isso porque a parte a ser trabalhada é posicionada a uma dada distância e direção da base do robô, podendo ser realizado em objetos parados ou em movimento. No caso de objetos estáticos, o robô começa a operação apenas depois de receber um sinal confirmando que a parte a ser pintada está corretamente posicionada. Quando trabalhando com objetos móveis, os robôs recebem sinais do trilho usado para transportar as peças, sinais estes que continuam sendo emitidos enquanto a peça estiver em movimento, atualizando o robô acerca da distância e da direção da peça em relação à base. As figuras 12 e 13 mostram robôs realizando pinturas a spray.

Fig.12: Robôs de Pintura numa linha de Produção Automotiva. Fonte: Introduction to Robotics; Arthur J. Critchlow; pg. 392


Rodrigo Bernardo Moreira

Fig.13: Robô atuando num arranjo de partes suspensas. Fonte: Robotics Training Prpgram - Test Book 1; Eshed Robotic; pg.132

As principais vantagens da integração de robôs ao processo de pintura a spray são: 1. rápido retorno de investimento; 2. melhoria das condições de trabalho do ser humano. Os principais problemas são: a necessidade de proteger os robôs de fumaça e sujeira; a necessidade de se isolar qualquer faísca elétrica produzida ao redor do robô durante sua operação, devido ao ambiente de pintura ser altamente inflamável. a necessidade de coordenação entre os movimentos do robô e a localização das partes a serem pintadas; o fato de que algumas operações com pintura a spray envolvem áreas de difícil alcance. Em algumas aplicações, os robôs devem ter mais que seis graus de liberdade para superar obstáculos e alcançar áreas distantes.

Montagem. Montagem significa pegar peças separadas, colocá-las juntas e então uní-las. Na montagem pode se exigir o uso de garras e ferramentas especiais. Por exemplo, os robôs poderiam executar tarefas de montagem - primeiro usando garras para trazer peças e colocá-las em um lugar - e, em seguida, usar ferramentas especiais para fixá-las, como rebitadeiras ou grampeadores.


Rodrigo Bernardo Moreira

Os robôs que atuam nestas operações são de grande importância pois aproximadamente 40% do custo da mão de obra vem da montagem. As operações de montagem que envolvem os robôs não são muito simples, mas são relevantes devido principalmente a redução de custos da produção. Para alguns problemas devem ser representadas soluções, tais como: alto grau de precisão e repetibilidade no posicionamento do atuador; movimentos em linhas precisas, mantendo fixa a orientação do atuador; troca automática de atuador ou uma garra versátil; movimentos rápidos do braço do robô. A precisão teve ser mantida na orientação do atuador para assegurar que a parte montada está segura com o ângulo correto, o que não é fácil de se obter. Em muitas operações de montagem elementos de diferentes tamanhos e formas e são montados num elemento central. De tal forma que o atuador do robô deve ser capaz de manusear objetos assimétricos ou mudar as garras no meio de uma operação. Para isso pode-se usar um trocador de ferramentas automático, que é muito recomendável em casos onde um elemento é trabalhado pelo robô ao invés de simplesmente manuseado, como numa chave de fenda automática. As velocidades empregadas podem ser maiores do que as requeridas na maior parte das aplicações industriais podendo ser comparadas às de montagens manuais. Robôs mais rápidos reduzem o tempo de montagem, entretanto, o movimento do braço durante a montagem não podem ser feito em velocidades máximas, pois implica em perda de precisão. Os métodos de montagem se dividem em duas categorias: 1. montagens na direção vertical; 2. montagens em diferentes direções. A primeira requer robôs cartesianos, cilíndricos ou articulados horizontalmente com quatro ou cinco graus de liberdade. No Japão utiliza-se ao invés de apenas um robô para executar muitas tarefas, várias máquinas com um a três movimentos, o que é desvantajoso apenas pela perda de flexibilidade em relação aos sistemas que empregam robôs com poucos graus de liberdade e podem facilmente ser convertidos para montar novos produtos. A figura 14 mostra uma estação de montagem onde o robô pega elementos de uma esteira e de um alimentador e coloca três diferentes elementos juntos para serem montados. A operação é mostrada na figura 15.


Rodrigo Bernardo Moreira

Fig. 14 - Estação de montagem Fonte: Robotics Training Prpgram - Test Book 1; Eshed Robotic; fig. 8.10

Fig. 15 - Exemplo de montagem Fonte: Robotics Training Program - Test Book 1; Eshed Robotic; fig. 8.11

Uma maneira de aumentar a precisão dos robôs é instalar um dispositivo remoto central de verificação (RCC) perto da articulações do punho do robô, como na figura 16. Neste exemplo o robô impreciso leva a cavilha ao orifício com orientação errônea. A orientação das forças nos pontos de contato causam movimento da garra em relação ao braço do robô. A figura 17 mostra a estrutura de um dispositivo remoto central de verificação.


Rodrigo Bernardo Moreira

Fig. 16 - Uso do dispositivo remoto central de verificação Fonte: Robotics Training Prpgram - Test Book 1; Eshed Robotic; fig. 8.12

Fig. 17 - Estrutura do dispositivo remoto central de verificação Fonte: Robotics Training Prpgram - Test Book 1; Eshed Robotic; fig. 8.13

Os robôs até agora não adquiriram a combinação de boa visão, tato, destreza e mão multi-dedos que montagens complexas requerem. Hoje, robôs de montagem trabalham melhor os produtos especialmente projetados para fácil montagem. Isto significa minimizar o número de peças, utilizar movimentos simples, facilitar a colocação de peças na posição relativa correta, fazer peças facilmente alinháveis e encaixáveis


Rodrigo Bernardo Moreira

CAPÍTULO NOVE SENSORES INTRODUÇÃO Escritores de ficção científica e futuristas descrevem os robôs como máquinas semelhantes à imagem do homem e que podem executar todas as suas tarefas. Neste capítulo, nós não discutiremos a questão de semelhança física com o corpo humano. Entretanto, se robôs jamais poderão substituir o homem, devemos levar em conta os possíveis avanços em duas áreas que podem ser comparadas às habilidades humanas: Desenvolvimento de inteligência artificial - isto é, aumentar a capacidade do robô compreender, entender e tomar decisões à partir das informações colhidas por sensores. Desenvolvimento de sensores - isto é, o aumento da habilidade do robô em obter informações sobre o ambiente em que se encontra, bem como de suas próprias características. Neste capítulo vamos considerar alguns aspectos relacionados com Inteligência Artificial aplicada a robôs, discutir a questão de sensores humanos versus sensores artificiais e detalhar os principais tipos de sensores.

INTELIGÊNCIA ARTIFICIAL A inteligência é a capacidade de entender, conhecer e aprender. Esta capacidade, no homem, tornou possível a construção e o controle do mundo, enquanto animais com menor inteligência continuam vivendo como há milhões de anos.

Robôs com flexibilidade limitada não tem inteligência, mas alguns robôs podem fazer escolhas à partir de dados colhidos de seu ambiente por sensores. Estes são chamados de inteligentes. Através de sensores e de um processador integrado dentro do sistema do robô é feita a sua adaptação ao ambiente. Os sensores podem ser simples (chaves On/Off) ou complexos (identificação em três dimensões).

SENSORES HUMANOS X SENSORES ARTIFICIAIS Alguns sensores artificiais apresentam um paralelo com os sentidos humanos, particularmente, visão, tato e ouvido. Outros, significamente importantes, não apresentam nenhum paralelo:

* Sensor de luz infravermelha : identifica fontes de calor.


Rodrigo Bernardo Moreira

* Sensor de proximidade : detectam a aproximação de algo à área do sensor. * Sensor acústico : determinam a localização e o movimento, como os morcegos e golfinhos. Dos cinco sentidos humanos - visão, tato, ouvido, olfato e gosto - aqueles cujo paralelo artificial tem sido mais extensamente desenvolvidos são a visão e o tato. A visão do homem é o principal método de entrada de dados. A quantidade de informações coletadas é enorme. Muita pesquisa e desenvolvimento industrial tem sido gasto na tentativa de duplicar esta capacidade. Grandes esforços também tem sido investido no desenvolvimento de sensores de toque. Além disso, alguns avanços tem sido feitos na área dos sensores de escuta, como por exemplo a identificação de vozes. Outras capacidades de sensoreamento presentes nos humanos não tem paralelo nos robôs como "sentir" aceleração, pressão, ângulo e velocidade angular, o que permite o homem ficar em pé e andar. O sensor artificial comparado aos olhos humanos é a câmera. Assim como o olho, câmera inclui uma lente, um obturador, e um sistema de detecção capaz de transmitir dados sobre a quantidade de luz incidente. O sensor artificial de toque consiste de uma "pele" que pode, assim como a pele humana, enviar sinais sobre pressão exercida sobre algum ponto. Os sensores podem também medir forças e momentos para os pontos de contato, Os sensores de escuta artificial são os microfones, que traduzem as vibrações criadas no ar pela fala, em sinais elétricos. Em todos esses casos o computador decodifica a informação fornecida pêlos sensores.

TIPOS DE SENSORES Os sensores atualmente podem ser classificados de acordo com os princípios físicos sobre os quais eles estão baseados (ótico, acústico, e assim por diante) ou de acordo com as quantidades medidas (distância, força, e assim por diante). Entretanto, eles são habitualmente divididos em dois tipos principais: sensores de contato e sensores sem contato.

As principais informações obtidas por sensores de contato são: Presença ou não de um objeto em um lugar; Força de "agarre"; Força de momento; Pressão; Escorregamento entre a garra e a peça; Conjunto. As principais informações obtidas por sensores sem contato são: Presença ou não de um objeto em um lugar; Distâncias; Movimentos;


Rodrigo Bernardo Moreira Posição de objetos; Orientação de objetos; Conjunto. Temos ainda dispositivos que identificam condições internas dos robôs, como corrente, posição dos links e velocidade dos links.

SENSORES DE CONTATO Os sensores de contato são aqueles que requerem um contato físico com os objetos em seu ambiente, além de produzir um sinal de medida. Existem sensores de contato para vários níveis de sofisticação. Desde sensores simples como microchaves (que são usadas para identificar a presença ou ausência de um objeto) até sensores complexos como "pele" artificial contendo centenas de elementos sensitivos que transmitem informações sobre orientação, dimensão, pressão exercida, e assim por diante.

Os sensores de contato, por natureza, iniciam a alimentação de dados somente após o contato físico ter sido feito entre o robô e o seu ambiente. O contato deve ser feito de um modo controlado; o braço do robô deve ser movido para a zona de contato devagar e cuidadosamente para evitar a danificação do sensor. A principal vantagem deste tipo de sensor é a precisão de suas medidas. Os sensores de contato podem ser divididos em duas categorias, de acordo com a sua posição em relação ao braço do robô : Sensores posicionados para os seus próprios pontos de contato. Eles permitem a medição da pressão, presença de um objeto, identificação de chapas, e assim por diante. Sensores posicionados para o pulso ou dedos do robô. Eles permitem a medição da direção de processos ocupando lugar para os pontos de contato. Os sensores de contato podem ser classificados em: sensores de contato simples, superfícies sensoras de múltiplo contato, lâminas de contato, sensores de escorregamento, sensor de pelo e sensores de força e momento.

Sensores de contato simples: Os sensores de contato mais simples são aqueles que permitem a medição em um eixo e transmitem somente duas possíveis informações: O contato existe entre o sensor e o objeto; O contato não existe. O controlador do braço usa este dado para voltar para sub-rotina apropriada, ou procedimento de suporte. A figura 1 ilustra um sensor chave com duas posições instalado em uma garra. Este sensor diz ao controlador se a garra está, ou não, segurando um objeto. O controlador pode dizer, através dos dados, se a produção está ocorrendo normalmente ou se o robô está sendo alimentado por partes curtas. Neste caso, o controlador interrompe o trabalho e sinaliza um mal funcionamento.


Rodrigo Bernardo Moreira

Fig. 1: Sensor usado na identificação de presença ou não de objetos Este tipo de sensor é comumente usado em sistemas automáticos, desde que ele seja simples, barato, seguro e possa fornecer dados vitais. Superfícies sensoras de múltiplo contato: Uma superfície sensora de múltiplo contato é uma combinação de um número de sensores de contato simples localizados em grandes concentrações sobre uma superfície simples. Cada um desses sensores envolvidos pode alimentar um sinal elétrico proporcional à quantidade de força exercida sobre ele. Quando um objeto é posicionado sobre uma superfície sensora de contato, todos os sensores em contato com a parte enviam sinais para um processador central, obtendo-se um desenho aproximado da parte. Este processo é mostrado na figura 2.

Fig. 2 : Superfície sensitiva Os sinais recebidos da superfície são processados e transmitidos para o controlador do robô, que os usa para decidir onde mover o braço além de carregar a operação relativa. Os sensores acoplados ao braço do robô, como mostrado na figura 3, podem fornecer poucas informações sobre a chapa das partes em contato com o sensor, mas as informações sobre o atuador é mais precisa.


Rodrigo Bernardo Moreira

Fig. 3 : Garra com uma superfície sensitiva instalada Este tipo de sensor apresenta as seguintes desvantagens: 1. 2. 3. 4.

Tamanho físico dos sensores atuais; Distorção causada por ligação, ou fio comum, entre as leituras de sensores adjacentes; O número incomodo de sensores requeridos; Danificação das superfícies sensoras, bem como a perda da sensibilidade nos elementos sensitivos se eles são produzidos mais rígidos.

Lâminas de contato: Este tipo de sensor pode ser usado em situações onde informações precisas para o ponto de contato entre o robô e o objeto não são desejadas, isto é, onde somente há a necessidade de confirmar a colisão entre o robô e um objeto no ambiente. O sensor consiste de uma chapa de material flexível, que muda a sua resistência quando pressionada.

Sensores de escorregamento: Os robôs que seguram objetos frágeis devem pegá-los levemente para evitar a danificação do objeto, mas apertado o bastante para impedir que ele escorregue para fora da garra.

Na recepção de um sinal de movimento do objeto pelo sensor de escorregamento, a garra automaticamente incrementa a sua força vagarosamente até o movimento parar. O sensor de escorregamento deve ser capaz de detectar não somente o movimento, mas a posição do objeto após o escorregamento. Esta informação ajuda o robô a "conhecer" a exata posição e orientação do objeto escorregado, assim como ele pode continuar a operação sem a danificação do objeto.


Rodrigo Bernardo Moreira

Em todas as aplicações que utilizam sensores de escorregamento, a aceleração e desaceleração dos robôs deve ser consideradas. O aperto serve ser firme o bastante para segurar o objeto equilibrado sobre as mais extremas mudanças na velocidade. Sensores de pelo : O nome deste sensor indica o seu modo de operação. Os sensores de pelo são varas leves e salientes do atuador. Como os pêlos de um gato, eles sinalizam o contato com algum objeto no ambiente. A figura 4 mostra um sensor deste tipo de operação.

Fig. 4 - Sensor de pêlo O contato com um objeto externo move o pelo, causando a transmissão de um sinal elétrico. O controlador então obtém instruções apropriadas para o braço do robô. Estes sensores são extremamente delicados e sensíveis à choques. Portanto, eles freqüentemente quebram. Entretanto, eles tem algumas aplicações práticas. Por exemplo, eles podem ser usados para medir os contornos e superfícies de objetos, como mostra a figura 5.


Rodrigo Bernardo Moreira

Fig. 5 - Sensor de pêlo usado no controle de soldagem Sensores de força e momento: Devido à sua grande utilização em várias áreas da engenharia, estes sensores estão bastante desenvolvidos e são um dos mais usados em robótica.

As forças e momentos em um robô são medidos em relação ao ponto onde os sensores estão conectados e não em relação ao ponto de contato do atuador em relação ao meio ambiente. Em geral estes sensores são montados ente o último link do braço do robô e a garra ou ferramenta, figura 6, mas em alguns casos estes sensores são montados dentro dos dedos das garras, figura 7.


Rodrigo Bernardo Moreira

Fig. 6 : Sensores de força e momento montados entre a garra e o link.

Fig. 7: Sensores força e momento montado sobre a garra. Normalmente a medição da força ou momento é feita através alteração da forma causada pela aplicação de uma força. Esta variação é sentida pelo sensor de tensão (strain gauge) que são pequenos pedaços de material condutivo colado ao objeto que sofre ação de uma força momento.


Rodrigo Bernardo Moreira

Objetos tendem a se deformar quando submetidos a forças. A mudança na forma é chamada STRAIN. O sensor de tensão sofre a mesma deformação que o objeto. O sensoreamento é feito através de unidades de resistência elétrica juntamente com a tensão passadas para o controlador para o processamento e envio de sinais apropriados. Figura 8.

Fig. 8: Reação de um strain gauge com carga. A relação entre a força aplicada e a mudança de resistência pode ser descrita por : R=CxFxL R = variação da resistência. F = força atuante sobre a viga. L = distância entre a linha de atuação da força atuando na viga e o sensor de tensão. C = coeficiente constante. O produto força pela distância descreve o momento na localização do sensor como resultado da força F. Esta equação só é utilizada quando L é conhecida. Quando um momento é aplicado na viga, o sensor o identifica independente do ponto aplicado, como mostra a figura 9.


Rodrigo Bernardo Moreira

Fig. 9: Reação do momento para uma força axial A equação para este caso é: R=CxM onde M = momento na localização do sensor de tensão. Para a medição da força e do momento, deve-se adicionar outro sensor de tensão. A força e o momento atuantes podem ser descritos por: RA + RB = C 1 x F RA - RB = C 2 x M Onde, RA = mudança na resistência do sensor A RB = mudança na resistência do sensor B C1, C2 = constantes Os valores RA e RB são lidos do sensor de força e F e M são tirados das equações. Existe a possibilidade de se usar muitos sensores para a medição de forças nos 3 eixos e dos momento relativos a cada eixo. Um caminho para medir forças e momento nos 3 eixos é mostrado na figura 10.


Rodrigo Bernardo Moreira

Fig. 10: Sensor de força e momento em 3 eixos. Normalmente é feito a medição dos momentos das forças e não das forças diretamente. Este método permite maior sensibilidade de medição. Os dedos da garra do robô podem ser consideradas como vigias atadas ao braço do robô no qual sensores de tensão estão colados. A força atuante nos dedos tem direção vertical e pode ser obtido por: F = R / (L x C) onde L = distância entre o strain gauge e o ponto onde o objeto é preso. Devido as diferenças entre os objetos a serem pegos, adiciona-se um par de células strain gauge como é ilustrado na figura 11. Sendo assim, podemos ter diferentes pontos ao qual as forças são aplicadas.


Rodrigo Bernardo Moreira

Fig. 11: Strain gauge usados para medir forças O momento criado pelo ponto 1 pela aplicação da força F é definida como: M1 = F x L1 E para o ponto 2 temos: M2 = F x L2 E pode ser derivado destas equações, como mostrado abaixo: F = (M2 - M1) / (L2 - L1), onde L2 - L1 é constante e igual a distância entre os pares de strain gauge. Da última equação apresentada, observa-se que o valor da força F sobre os dados da garra, pode ser determinado sem medidas precisas da localização de cada força aplicada. Aplicação dos sensores de força e momento: Usa-se como exemplo o apertar parafusos, uma operação monótona e comum. Quando é realizado por humanos, esta tarefa requer a ativação de sensores de força e momento e, para que seja realizada por robôs, estes também deverão possuir sensores de força e momento, como representado na figura 12.


Rodrigo Bernardo Moreira

Fig. 12: Uso de sensor de força e momento na operação de parafusar para juntar duas placas As operações envolvidas neste processo são: Agarre o parafuso. O sensor é utilizado para determinar se o parafuso foi bem preso; Posicionamento do parafuso; Apertar o parafuso. O sensor é utilizado para exercer força constante sobre o parafuso na direção de aperto; Interromper o aperto do parafuso. O sensor é utilizado para identificar o final do movimento de aperto. Numa primeira operação, o robô utiliza um encaixe automático para prender a cabeça do parafuso. O sensor de força identifica a adição de peso e a partir de um sinal enviado para o computador que controla o braço, o processo vai para a próxima operação.

Numa segunda operação, o robô posiciona o parafuso, apertando-o sobre a chapa. O robô não tem noção da força a ser aplicada no aperto e é através de um sensor de força em sinal é enviado para o computador indicando que uma forte força está sendo aplicado sobre o parafuso. O robô para o trabalho e o controlador para resetar o programa. A forte força exercida sobre o parafuso pode ser devido as seguintes circunstâncias: O furo superior da chapa foi colocado errado ou não existir; O furo é pequeno ou o parafuso é largo; A garra é colocada errada. Numa terceira operação, o parafuso é apertado, a partir da aplicação de uma força constante sobre a cabeça do parafuso.

Numa quarta operação, o aperto do parafuso é interrompido. Quando o parafuso chega ao final de seu curso, o sensor notifica um incremento de momento do parafuso para o controlador.


Rodrigo Bernardo Moreira Uso dos sensores de força e momento na finalização: A figura 13 mostra um robô polido uma peça. O processo de polimento é controlado por um sensor de força e momento. Esta operação envolve a aplicação de uma força constante sobre a peça. A falta destes sensores envolve 2 problemas: A necessidade de ensinar para o robô um caminho extremamente preciso; O fato que as dimensões da peça são reduzidas durante o processo.

Fig. 13: Robô controlado por sensores de força e momento. A adição de sensores nesta operação permite que o sistema retenha a trajetória das forças exercidas entre o polidor e a peça, com isso temos que o uso dos sensores produz uma precisão necessária para a tarefa. Problemas do uso de sensores de força e momento: Aqui podemos citar como problemas a medida de valores indesejáveis juntamente com valores de tensão e momento, apesar de muitas vezes esses valores serem desprezíveis.

Outro problema é que os sensores normalmente são expostos a danos físicos, os quais podem ser resolvidos com a construção de uma estrutura para absorver choques mecânicos, como mostra a figura 14.


Rodrigo Bernardo Moreira

Fig. 14: Proteção para sensores de força. O desenvolvimento destes sensores está ainda em um estágio inicial e seus problemas gradativamente solucionados, propiciando assim ao uso cada vez mais intenso dos mesmos.

SENSORES SEM CONTATO Nestes tipos de sensores não se tem o contato físico com o objeto a ser medido. As informações são colhidas à distância, logo são menos expostos a danos físicos que os sensores de contato.

Usa-se nestes tipos de sensores um princípio de transferência de ondas, que são aplicadas à distância do objeto. Os métodos de identificação utilizados nos sensores sem contato são: Identificação de um detetor simples, por meio de um sensor simples ; Identificação ao longo de uma linha, por meio de um vetor de sensores; Identificação por toda área, por meio de uma câmera ou matriz sensitiva.

Identificação de uma peça com um detetor simples : Feito por meio de um sensor ótico, cujo princípio de operação é baseado na identificação da fonte de luz por meio de um detetor simples, ilustrado na figura 15.


Rodrigo Bernardo Moreira

Fig. 15: Um detetor simples Observando a figura 15, temos que a fonte de luz e o detetor são fixados em lados opostos à esteira. Quando a caixa passa pelo ponto onde a fonte de luz é bloqueada, o detetor sinaliza ao controlador a presença da caixa e ativa o braço do robô para pegar a caixa e movê-la. O princípio do sensor de proximidade ótica é ilustrado na figura 16.


Rodrigo Bernardo Moreira

Fig. 16: Sensor de proximidade ótico A distância entre o sensor e a superfície próxima é: X = L1 x XD / ( L - L1 ) sendo: X = distância entre o detetor e a superfície do objeto; L = distância entre a fonte de luz e o detetor; L1 = distância entre a fonte de luz e a cavidade do pino; XD = distância entre o detetor e a cavidade do pino ao longo de X. Estas variáveis possibilitam uma identificação eficiente da proximidade entre o braço e o objeto. Uma recepção do sensor faz com que o controlador chaveie na distância X do objeto. Esta aplicação, identifica a proximidade do braço do robô evitando colisões com o objeto.


Rodrigo Bernardo Moreira

Identificação ao longo de uma linha, por vetor de sensoreamento: Um vetor de detecção é capaz de fornecer ao controlador um grande número de informações, muito maior do que o fornecido pelo detetor. Um vetor de sensoreamento é composto de um número de detetores, com 1000 detetores ou mais, com distância na ordem de 10 microns (0.0004").

controlador de robô procura o detetor na ordem na qual eles são instalados, e um sinal é transmitido por cada detetor, identificando a presença de um objeto. O vetor de sensoreamento fornece outras informações, como o tamanho do objeto, como mostra a figura 17.

Fig. 17: Usando um vetor sensitivo para detectar objetos Outro método, um feixe de luz é projetado de uma fonte de luz. Quando nenhum objeto está presente, todos os detetores são iluminados, como mostra a figura 18. Quando um objeto está presente, a luz não é refletida para o mesmo lugar. Em adição da identificação de presença de objeto, o vetor de sensoreamento fornece outras informações vitais, como o tamanho e a locação do objeto.


Rodrigo Bernardo Moreira

Fig. 18: Usando um vetor sensitivo para medir objetos O feixe de luz fornece outras informações importantes sobre a orientação dos objetos, variando-se a orientação em relação a fonte de luz, como mostra a figura 19.

Fig. 19: Vetor sensitivo para verificar a orientação de objetos


Rodrigo Bernardo Moreira

Cada objeto ilumina um diferente número de detetores pela contagem dos detetores não iluminados, a orientação do objeto pode ser critica quando o objeto deve ser manuseado pelo robô. Outra aplicação dos vetores d sensoreamento é a distância medida. Este método é parecido com o método de medida com o sinal de sensor. A luz transmitida pela fonte de luz é refletida para os detetores do vetor de sensoreamento. Somente um detetor será iluminado pela reflexão da luz em um dado instante. A mudança da distância do objeto do vetor de sensoreamento causa mudança na luz refletida para um detetor. A distância pode ser calculada por: X = L1 x XD / ( L - L1 ) O valor de L - distância entre a fonte de luz e o detetor - mudanças no detetor iluminado é portanto medido. Este tipo de sensoreamento é usado para controle de qualidade de produtos finalizados. O sensor é montado no braço do robô e movido sobre determinados pontos da peça, medindo a distância, comparando-a com padrões preestabelecidos. Os robôs são capazes de medir centenas d pontos por hora. Limitações do uso de vetores de sensoreamento: Imprecisão na orientação do braço. Isto causa erro na medida da distância, pois o desvio de algumas ângulos causa a iluminação de detetores diferentes, produzindo assim um cálculo errado da distância; Imprecisão na medida. Este tipo de sensor é capaz de medir somente curtas distâncias. Grandes distâncias não podem ser medidas com precisão, pois a intensidade da luz decresce proporcionalmente ao quadrado do aumento da distância. As informações fornecidas pelo vetor de sensoreamento não dão noção da superfície ou a dimensão de um objeto, isto pode ser resolvido por dois meios: Movendo o objeto, mantendo fixo o vetor; Movendo o vetor, mantendo fixo o objeto. Para obter informações sobre a estrutura do objeto usamos geralmente uma câmera.

Identificação em toda uma área, por sensoreamento com matriz sensitiva : Um grande número de pesquisas tem sido feita na cerca de desenvolvimento de cameras para identificação de objetos. Muitos procuram criar uma similaridade entre a câmera e o olho humano, fazendo que possamos perceber os objetos como o olho humano.

Entretanto existe muita diferença entre o olho humano e uma câmera, na área de processamento de informação, e certamente não podem ser imitados por nós. Matriz de câmeras sensoras são construídas de matrizes sensoras de duas dimensões com uma superfície comum. O número de sensores por matriz varia de 32x32 em baixa


Rodrigo Bernardo Moreira

resolução até 512x512 em alta resoluções. A distância entre os detetores é medida em dezenas de microns. A imagem do objeto observado é projetado na matriz sensores por meio de lentes. O detetores são eletricamente varridos, e o sinal obtido, é proporcional o quantidade de luz emitida. A quantidade de dados, é imensa; uma matriz de 512x512 contém 250000 detetores, cada ciclo de varredeira proporciona 250000 bits de dados. A figura 20 mostra o esquema de processamento de informações por uma câmera.

Fig. 20 : Processamento de informações em uma câmera. O robô não pode operar objetos maiores que os vistos pela câmera, para identificar a natureza, o locação precisa e o orientação do mesmo. O número de dados que podem ser transmitidos para o robô definir a localização e orientação é menor que 250000 bits. A informação é gerada pela câmera e transmitida para o robô. Este tipo de processamento é chamado de patterm recognition. Suponhamos que o objeto amostrado seja um cilindro, o sistema requer somente a localização do centro de gravidade, portanto o objeto é iluminado por uma fonte de luz. Ao ser observado através de uma câmera, os detetores não formam um circulo, portanto, estes dados devem ser comparados com uma tabela guardada na minoria. A figura 21 representa a situação de identificação de um objeto através de sua silhueta e a figura 22 representa a identificação de um objeto por comparação de infortmações.


Rodrigo Bernardo Moreira

Fig. 21: Silhueta de um objeto identificado pelos sensores de luz. Pela comparação da área do objeto com a tabela de áreas familiares, o computador identifica o objeto cilíndrico.

Fig. 22: Identificação do objeto por comparação. Neste ponto, o robô "sobe" a identificação do objeto. A identificação da localização do seu centro de gravidade na matriz sensora. O centro de gravidade da imagem do objeto é dado pelas seguintes equações: Xcg = 1 Z n=1 Xi Ycg= 1 Zn=1 Yi sendo: Xcg coordenada-x do centro de gravidade Ycg coordenada-y d centro de gravidade N nº de detetores que formam a imagem


Rodrigo Bernardo Moreira

Xi coordenada-x do detetor i Yi coordenada-y do detetor i Como exemplo, suponhamos que a imagem ocupe 26 detetores e: x1=3, x2=3, x3=3,...,x26=8 y1=3, y2=3, y3=4,...,y26=8 Usando as equações Xcg = 5,35 Ycg = 5,65 Uma vez tendo localizado o centro de gravidade da imagem do objeto localizado na matriz sensora, esta informação pode ser transformada em ordem para encontrar o centro de gravidade do objeto atual. Esta pode ser um meio simplificado, baseado na proporção da área da matriz sensora. A figura 23 representa o desenvolvimento de "visão" usando-se um sensor de luz.

Figura 9-23 : Visão com um sensor de luz. Com o centro de gravidade encontrado, o robô pode desenvolver as atividades que foi programado.


Rodrigo Bernardo Moreira

Neste exemplo, o objeto é perfeitamente simétrico, e a sua orientação não foi considerada. Entretanto em casos mais complexos, alguns detalhes devem ser observados: 1. 2. 3. 4. 5.

O comprimento e a largura do objeto. A orientação do objeto. A existência e localização de cavidades. Momento de inércia. Muitas outras variedades.

Para identificar estas variáveis para um dado objeto, o contorno deve ser identificado primeiramente. Um número de algoritmos tem sido desenvolvidos para uso de identificação do contorno de objetos. Estes algoritmos, são definidos como detetores de margem, são complicados e geralmente necessita de grandes softwares como computadores com um bom processamento no tempo.

Uma câmera pode também ser usada para, identificar pontos de luz projetados pelo objeto, e identificar a superfície. Na determinação do contorno, a câmera identifica cada ponto e transmite as coordenadas para o computador. O computador conecta estes pontos e determina o contorno. Indentificação de uma faixa de luz e uma câmera é usada em arco de solda. Esta reflexão de luz não é contínua entre as duas partes a serem soldadas, a câmera identifica uma fenda na projeção do feixe de luz. Assim o computador identifica as partes que requerem solda. A figura 24 representa a identificação de uma falha estrutural através do uso de um feixe de luz.


Rodrigo Bernardo Moreira

Fig. 24 : Identificação de uma rachadura. No arco de solda, o sensor é montado em frente à solda e inclue a fonte de luz e a câmera. A fonte de luz ilumina a câmera através da fenda a ser soldada. A informação da câmera habilita o controlador do robô para direcionar o seu braço e fazer operação de solda. Como as câmeras podem ser usadas para identificações de objetos em três dimensões? Um método, para objetos simples, é pela projeção de um número de faixas de luz nos objetos e medindo as lacunas refletidas pela luz. O ângulo das fraturas e as fraturas externas indicam o tamanho do objeto. Outro método, para objetos mais complexos, envolve câmeras em duas localizações diferentes. Eles olham o objeto, esteroscopicamente, como muitos olhos humanos. Esta forma de identificação é complexa, necessitando de coordenadas entres as câmeras e uma complicado processo de informação, que são gerados pelas câmeras. Na identificação do cilindro, necessitamos de sinais binários da câmera. Neste modo, o computador identifica o contorno do objeto. Entretanto este método somente fornece o contorno do objeto, não tendo informações internas do mesmo. Para resolver não identificaremos o objeto somente em branco e preto, mas por outros meios. Este método, chamado de escala cinza, é baseado no fato de que diferentes


Rodrigo Bernardo Moreira

superfícies refletem diferentes intensidades de luz, de acordo com o ângulo da fonte de luz. O detetor da câmera e o processo são destinados para diferenciar diferentes níveis de cinza. Analisados vários tons de cinza habilita o sistema para determinar as linhas de intersecção de duas superfícies. Estas informações são sobre a estrutura ao objeto e não somente de seu contorno. O número de sensores aplicados na indústria é pequeno. Muitas razões são dados para esta situação: A visão dos sensores identificam somente o contorno. A iluminação de objetos e a recepção da luz refletida causa muitos problemas. Identificação de três dimensões é complicada e requer equipamentos caros e custosos softwares. Identificação somente é possível quando as partes são separadas uma das outras. Isto dificulta a identificação de partes conectadas. Este processo é chamado bin piching. A visão de sensores e o processamento de imagens será necessária para que possa ser eficientemente usada na indústria. Resolvendo grandes problemas que envolvem a compreensão dos robôs em industrias e serviços.


Rodrigo Bernardo Moreira

CAPÍTULO 2-10 UTILIZANDO SCORBASE PARA OPERAR O ROBÔ Introdução Scorbase é uma linguagem alto nível utilizada para operar o Robô didático SCORBOTER III, que permite o controle da trajetória do robô. O objetivo deste capítulo é apresentar os Princípios de Operação da linguagem SCORBASE e detalhar sua divisão em três níveis: Nível 1: para iniciantes Nível 2 : intermediário Nível 3 : avançado

PRINCÍPIOS DE OPERAÇÃO SCORBASE foi projetada para ensinar estudantes a escrever programas para o robô em dois estágios: Estágio 1: ensinar ao robô as varias posições, às quais o usuário quer que ele alcance enquanto executa uma operação. Estágio 2: escrever um programa para operação do robô, sendo que para isto é necessário apenas um computador deixando o robô livre para outro usuário. A vantagem desta metodologia é a eficiência na utilização do robô, pois enquanto um usuário está escrevendo um programa, outro pode operar o mesmo (numa situação semelhante a encontrada nas indústrias ). Isto caracteriza o que se denomina "programação off line" Além desta, uma outra característica da linguagem SCORBASE é a de permitir o controle do robô em tempo real durante a execução do programa.

SCORBASE NÍVEL 1


Rodrigo Bernardo Moreira

Este nível de programação é destinado a ensinar ao estudante como posicionar o robô e explicar como estas posições são usadas na programação off line. Ao iniciar o trabalho com Scorbase nível 1 deve-se tomar as seguintes precauções: Ter certeza de que o braço do robô está conectado ao controlador. Certificar-se de que o computador está conectado ao controlador Ligar a alimentação do controlador Ligar a chave do motor Ligar o computador e carregar o programa SCORBASE nível 1 Quando o programa estiver carregado o MENU PRINCIPAL será exibido:

MAIN MENU 1

TEACH POSITIONS

2

EDIT PROGRAM (OFF-LINE)

3

PROGRAM HANDLING

4

RUN PROGRAM

5

HOME

O Menu Principal, como mostrado na figura acima, inclui as seguintes opções: TEACH POSITIONS: esta opção mostrará uma tela na qual o usuário pode movimentar o robô a partir do teclado do computador, e gravar as posições desejadas na memória. EDIT PROGRAM (OFF-LINE): esta opção mostra uma tela a partir da qual o usuário pode escrever novos programas para o robô, listar o programa atual, apagar e adicionar novas linhas a programas existentes e deletar programas. PROGRAM HANDLING: esta opção mostra uma tela a partir da qual o usuário pode realizar operações de disco tais como: gravar novos programas, carregar programas previamente escritos, apagar e listar programas. RUN: esta opção mostra uma tela a partir da qual o usuário pode executar passo a passo ou num ciclo contínuo os programas que foram escritos. A estrutura destes menus será discutida a seguir. TEACH POSITIONS MENU Este menu é selecionado teclando [ 1 ] a partir do MAIN MENU, aparecendo então uma tela conforme a FIGURA 2.


Rodrigo Bernardo Moreira

TEACH POSITIONS MENU 1/Q

MOVE BASE

RIGHT/LEFT

2/W

MOVE SHOULDER

UP/DOW

3/E

MOVE ELBOW

UP/DOW

4/R

MOVE WRIST-PITCH

UP/DOW

5/T

MOVE WRIST-ROLL

UP/DOW

6/Y

MOVE AXIS 6

+/-

7/U

MOVE AXIS 7

+/-

OG/OC

OPEN/CLOSE GRIPER

F/S

FAST/SPEED

GP

GO TO POSITION #

P

RECORD POSITION

L

LIST/DELETE POSITIONS

H

SET PRESENT POSITION AS HOME

<ESC>

RETURN TO MAIN MENU

MOVENDO AS ARTICULAÇÕES DO ROBÔ Para ensinar posições no espaço, o usuário move as articulações do robô até que a garra esteja localizada na posição desejada. As primeiras sete posições do menu TEACH POSITIONS são destinadas a executar esta função, sendo que nas cinco primeiras opções, o movimento ocorre nas articulações do braço mecânico, e nas opções 6 e 7, são fornecidos dois graus de liberdade adicionais. MENSAGEM DE ERRO DE COMUNICAÇÃO Se uma das teclas de funções acima citadas for pressionada quando o controlador do robô está desligado, ou quando o cabo de comunicação está desligado, será mostrada a seguinte mensagem: "COMUNICATION ERROR" Esta mensagem será mostrado até que se ligue o controlador do robô e se pressione a tecla <ESC> o que causará o retorno do MAIN MENU para a tela. MENSAGEM DE ERRO DO MOTOR Se um das teclas de funções for pressionada quando for impossível o movimento da articulação correspondente, devido a uma parada mecânica que impede o movimento, ou porque o motor desta articulação não está conectado ao controlador, aparecerá a seguinte mensagem: "MOTOR X ERROR! PRESS 'C' TO CONTINUE OR 'M'TO RETURN


Rodrigo Bernardo Moreira TO MENU"

Onde o "x" da mensagem corresponde ao motor incapaz de se movimentar. Qualquer tecla que não seja 'C' ou 'M', será rejeitada pelo computador. ABRINDO E FECHANDO A GARRA A garra do robô reage aos comandos "OPEN" e "CLOSE" movendo-se para um estado completamente aberto ou fechado quando é teclado [OG] e [CG] respectivamente. Se um objeto está posicionado entre os dedos da garra, o movimento para quando os dedos tocam-no Se a garra já está completamente aberta ou fechada ao se tentar, respectivamente, abri-la ou fechá-la, nenhum movimento será executado. MOVIMENTO DE BAIXA/ALTA RESOLUÇÃO (VELOCIDADE DE MOVIMENTO) Resolução é um conceito usado para definir o menor movimento que o robô é capaz de executar. No SCORBOT ER- III, este movimento é medido em pulsos de encoder. Selecionando o comando "FAST/SPEED MOVMENT", é possível ajustar a velocidade do movimento. Quanto maior for a velocidade, mais rápido e suave é o movimento, e quanto menor a velocidade, mais truncado será o movimento, por isto, a baixa MANDANDO O ROBÔ PARA POSIÇÕES ARMAZENADAS NA MEMÓRIA Para mover rapidamente o robô para posições previamente armazenadas na memória , o comando [GP] - Go Position - seguido do número da posição armazenada na memória, realiza esta tarefa. O usuário deve tomar as precauções para que não haja obstáculos entre o braço do robô e a posição desejada, além disto, se o usuário decidir cancelar o comando GO POSITION, pode fazê-lo pressionando <ENTER> antes de entrar o número da posição, ou pressionando [B], durante a realização do movimento (o que implica na parada do movimento). No primeiro caso um beep é soado ao se cancelar o comando, e no último será exibida a seguinte mensagem: "PRESS "C" TO CONTINUE "M" TO RETURN TO MENU"

Caso o usuário tenha entrado um número para as posições que não esteja compreendido entre 1 e 100, a seguinte mensagem será exibida: "VALUE IS OUT OF RANGE"

Caso se mande o robô para uma posição que não existe na memória, a mensagem abaixo será exibida:


Rodrigo Bernardo Moreira "POSITION IS EMPTY"

GRAVANDO POSIÇÕES NA MEMÓRIA O comando RECORD POSITION é utilizado para se gravar uma determinada posição do braço do robô. Para tanto, deve-se teclar [P] e entrar uma posição de 1 a 100 Caso uma posição ilegal seja fornecida, a gravação é cancelada, um BEEP é soado e a seguinte mensagem é exibida: "VALUE IS OUT OF RANGE"

DEFININDO POSIÇÃO ATUAL COMO "HOME" O comando HOME é utilizado no nível 1 da linguagem SCORBASE, para definir como HOME a posição atualmente ocupada pelo braço do robô. Desta forma, teclando-se [H], a seguinte mensagem será exibida: "SET PRESENT POSITION AS HOME ARE YOU SURE ? (Y/N)"

A confirmação desta mensagem (Y) define como HOME a posição corrente. LISTANDO/DELETANDO POSIÇÕES DA MEMÓRIA O comando [L] do menu TEACH POSITIONS chama outro menu: o menu LIST /DELETE POSITIONS que é mostrado a seguir.

LIST DELETE POSITIONS 1

LIST POSITION

2

LIST FROM POSITION

3

DELETE POSITION

4

DELETE FROM POSITION ... TO POSITION ...

5

DELETE ALL

6

PRINT POSITIONS

<ESC>

RETURN TO TEACH POSITIONS MENU

A opção [1] pede que seja entrado o número do ponto que se deseja listar e mostra as coordenadas do ponto escolhido uma unidade correspondente ao número de pulsos dos encoders de cada articulação. Caso pontos cujo número não foi gravado sejam solicitados, é exibida a seguinte mensagem: "POSITION IS EMPTY"


Rodrigo Bernardo Moreira

Caso os pontos solicitados tenham número menor que zero ou maior que 100, é exibida a mensagem: "VALUE IS OUT OFF RANGE"

A opção [2] deste menu (LIST FROM POSITION) lista as posições a partir da posição fornecida pelo usuário. As opções [3], [4] e [5] são destinadas a apagar as posições armazenadas na memória, sendo que DELETE POSITION apaga apenas a posição fornecida pelo usuário, DELETE FROM POSITION...TO POSITION ..., apaga uma faixa de posições fornecida pelo usuário, e DELETE ALL apaga todas as posições da memória. A opção PRINT POSITIONS é a de número [6] e se destina a imprimir as posições gravadas MENU EDIT PROGRAM (OFF LINE) Este menu corresponde à opção [2] de MAIN MENU e se destina a escrever programas simples onde o robô executa sequencialmente as operações que compreendem abertura e fechamento da garra e mover o robô de uma posição à outra

EDIT PROGRAM (OFF LINE) O/C

OPEN/CLOSE GRIPPER

1

GO POSITION

I

INSERT LINE

X

REPLACE LINE

L

LIST/DELETE

<ESC>

RETURN TO MAIN MENU

1

[]

Os comandos deste menu serão apresentados abaixo, simulando passo a passo os resultados obtidos com a sua utilização: OPEN GRIPPER (Opção [O]) 1 OPEN GRIPPER: Abre a garra 2 [ ] Avança o ponteiro de programa CLOSE GRIPPER (Opção [C]) 2 CLOSE GRIPPER Fecha a garra até sentir um objeto 3 [ ] Avança o ponteiro de programa


Rodrigo Bernardo Moreira

GOTO POSITION (Opção [1]) Move o robô para uma posição armazenada na memória 3 GOTO POSITION (Entrar número da posição) 4 [ ] Avança o ponteiro de programa P/ cancelar o comando teclar 0 ou número >100. Desta forma, será exibida a mensagem: "VALUE OUT OFF RANGE"

O exemplo programa exemplo digitado acima fica: 1 OPEN GRIPPER 2 CLOSE GRIPPER 3 GOTO POSITION 1

INSET LINE (Opção [I]) Insere uma linha no meio do programa I INSERT LINE (Entrar o número da linha a ser inserida) Esta opção é útil na correção de programas REPLACE LINE ( [x]) Substitui uma linha existente por outra nova: REPLACE LINE... Teclar núm. da linha a ser substituída No programa exemplo acima, caso se desejasse substituir a linha 1, resultaria: 1 Novo comando 2 OPEN GRIPPER 3 CLOSE GRIPPER 4 GOTO POSITION 1

Deve-se observar que o ponteiro retorna ao fim do programa. MENU LIST/ DELETE PROGRAM Este menu é similar em estrutura e função ao menu "LIST DELETE POSITIONS", e é exibido ao se teclar [L] no menu "EDIT PROGRAM (OFF LINE )


Rodrigo Bernardo Moreira

LIST DELETE PROGRAM 1

LIST LINE

2

LIST FROM LINE

3

DELETE LINE

4

DELETE FROM LINE ... TO LINE ...

5

DELETE ALL

6

PRINT PROGRAM

<ESC>

RETURN TO TEACH POSITIONS MENU

PROGRAM HANDLING MENU Este menu é exibido ao se escolher a opção [3] do "MAIN MENU" e se destina a executar operações de disco tais como descrito abaixo:

PROGRAM HANDLING MENU 1

SAVE PROGRAM

2

LOAD PROGRAM

3

DELETE PROGRAM

4

CATALOG

<ESC>

RETURN TO MAIN MENU

SAVE PROGRAM Salva um programa no disco LOAD PROGRAM Carrega um programa a partir do disco DELETE PROGRAM Apaga programas do disco CATALOG Mostra lista de programas do disco MENSAGENS DE ERRO Ao se tentar gravar, carregar, e apagar programas, alguns erros podem ser cometidos e nestes casos SCORBASE se encarrega de advertir o usuário com as seguintes mensagens:


Rodrigo Bernardo Moreira "ERROR !!!- I/O ERRORDOOR OPEN, OR DISKETTE NOT INITIALIZED"

Esta mensagem é exibida ao se realizar a operação com a porta do drive de disquetes aberta, ou com um disquete que não esteja formatado. "ERROR !!!- PROGRAM NOT FOUND PROGRAM MISPLACED OR NOT ON DISKETTE"

Esta mensagem é exibida ao se tentar carregar um programa que não esteja gravado no disco ou cujo nome tenha sido digitado errado. "ERROR!!!- DISK FULLTOO MANY PROGRAMS ON DISKETTE"

Esta mensagem é exibida ao se tentar realizar uma operação de gravação quando o disco se encontrar cheio. "ERROR!!!- WRITE PROTECTEDWRITE PROTECTED TAB ON DISKETTE"

Esta mensagem é exibida ao se tentar realizar uma operação de gravação quando o disco se encontrar protegido contra gravação. RUN PROGRAM MENU Este menu é exibido ao se escolher a opção [4] do "MAIN MENU" e se destina a execução dos programas, como descrito abaixo:

RUN PROGRAM MENU 1

RUN SINGLE LINE

2

RUN SINGLE CYCLE

3

RUN CONTINUOUSLY

4

JUMP TO LINE PRESS "G"KEY TO LET THE ROBOT RUN PRESS "B"KEY FOR IMEDIATE BRAKE ANY OTHER KEY FOR REGULAR

<ESC>

RETURN TO MAIN MENU


Rodrigo Bernardo Moreira

RUN SINGLE LINE: executa uma única linha do programa Teclar [1] + [G] : executa o programa linha por linha, a partir da linha 1 Por esta característica, é útil para executar um programa pela primeira vez. RUN SINGLE CYCLE: Executa todo o programa uma vez Teclar [2] + "G" RUN CONTINUOUSLY: Executa o programa continuamente, sem parar, ciclo após ciclo Teclar [3] + "G" Usado para localizar e corrigir erros no programa, simulando procedimentos adotados por robôs industriais. JUMP TO LINE: Permite escolher a linha na qual a execução do programa deve começar. Teclar [4] para mover o ponteiro de programa para a posição desejada. OPÇÃO [B]: Parada de emergência É destinado a interromper a operação que está sendo executada pelo robô. Quando da utilização desta opção não se perde a posição presente do robô. Ao se tecla [B], a seguinte mensagem é exibida: "PRESS "C"TO CONTINUE "PRESS "M"TO RETURN TO MENU

REGULAR STOP: O robô para após completar a linha corrente

USO DA LINGUAGEM SCORBASE NÍVEL 1 Como já foi visto SCOBASE permite: Operar os motores do robô criar movimento no espaço entre posições Operar a garra Para tanto, é necessário que sejam seguidas as seguintes etapas: 1) Ensinar posições ao robô


Rodrigo Bernardo Moreira

2) Editar o programa 1 GO POSITION 2 2 OPEN GRIPPER 3 GO POSITION 1 4 CLOSE GRIPPER 5 GO POSITION 2 6 GO POSITION 3 7 GO POSITION 4 8 OPEN GRIPPER 9 GO POSITION 3

3) Rodar o programa Os demais níveis de SCORBASE (que serão posteriormente apresentados) oferecem complemento aos recursos do nível 1, suprindo suas limitações e possibilitando aumento da complexidade das operações.

SCORBASE NÍVEL 2 O SCORBASE Nível 1 apresentou os princípios de ensino por posições e programação off-line visando a familiarização com o robô e sua operação. No Nível 2 a ênfase está no relacionamento entre o robô e o ambiente: transmissão e recepção de sinais, saltos condicionais e incondicionais. Como este nível inclue todo o software do Nível 1, serão mostradas apenas os incrementos e mudanças. MENU PRINCIPAL Há duas mudanças nesta tela: * Opção 5: HOME MENU, para encontrar a posição inicial do robô no espaço (hard home). * Aviso ao usuário que a posição inicial do robô deve ser encontrada antes de iniciar o trabalho (robô não sincronizado) MENU HOME Feita a seleção da tecla 5 é mostrado o Menu Home.


Rodrigo Bernardo Moreira

O Menu Home habilita mover o robô para encontrar a posição inicial, ou ainda, habilitar uma posição arbitrária como "home", como era feito no Scorbase Nível 1. Antes de se iniciar a sincronização deve-se salvar o programa que está na memória do computador, pois uma vez pressionada "G" o computador carrega o programa Home e inicia a sincronização do robô. Uma vez carregado o programa Home no computador, inicia-se sua execução, movendo-se todas as articulações do robô, uma a uma, para localizar os limites possíveis de movimento, sendo testadas as chaves fim-de-curso de cada motor.

HOME MENU 1/Q MOVE BASE RIGHT/LEFT 2/W MOVE SHOUDER UP/DOWN 3/E MOVE ELBOW UP/DOWN 4/R MOVE WRIST-PITCH UP/DOW 5/T MOVE WRIST-ROLL RIGHT/LEFT 6/Y MOVE AXIS 6 + / 7/U MOVE AXIS 7 + / O/C OPEN /CLOSE GRIPPER F/S FAST/SLOW MOVEMENT J/F TURN ON/OFF OUTPUT #. H SET PRESENT POSITION AS HOME -----------------------------------------------------------------------------------------

ANY OTHER KEY WILL STOP THE ROBOT [ESC] - RETURN TO MAIN MENU ------------------------------------------------------ ---------------------------Stop PRESS "G"TO SYNCHRONIZE THE ROBOT


Rodrigo Bernardo Moreira

Enquanto é executado o programa, são apresentadas mensagens da situação atual do robô, como: "Base is (not) at home"

Se a mensagem for afirmativa indica que os limites foram encontrados e o ponto de home também. Se negativa indica que houve uma falha para encontrar a chave fim de curso correspondente, podendo ser por mal funcionamento ou devido a posição atual do vínculo estar muito distante da posição inicial, durante a execução do programa home. Caso um ou mais limites não foram encontrados, deve-se, via teclado, alcançar a posição inicial, usando todos os comandos necessários para mover o robô. Para setar uma posição arbitrária como home, basta teclar "H" e confirmar este comando.

Ensinando Posições via "Teach Positions Menu" Há apenas duas diferenças neste menu, em relação ao do Nível 1: 1. O comando TURN ON/OFF OUTPUT #, que liga ou desliga a saída, selecionada foi substituído por J/K TURN ON/OFF OUTPUT #, onde "J" liga e "K" desliga a saída. Este comando é usado para testar saídas do controlador ou os equipamentos a elas ligados. 2. O comando H GO HOME, que após confirmado, move o robô para a posição home. A razão da confirmação é fazer o operador assegurar que o robô não colidirá com algum objeto ou partes de máquinas durante a execução deste comando.

Escrita de Programa via Menu Editor de Programas (Off-Line)

EDIT PROGRAM (OFF-LINE) O/C OPEN/CLOSE GRIPPER 1 GO POSITION ... FAST/SLOW 2 WAIT ... SECONDS 3 IF INPUT #. ON JUMP TO ... 4/R TURN ON/OFF OUTPUT #. 5 JUMP TO LINE #... -------------------------------------------------------------------------------------------I INSERT LINE ... X REPLACE LINE ...


Rodrigo Bernardo Moreira

L LIST/DELETE <ESC> - RETURN TO MAIN MENU -------------------------------------------------------------------------------------------[R]

A diferença básica entre os Níveis 1 e 2 (com exceção da capacidade de executar o "hard home") aparece neste menu, onde são implementados novos comandos e outros modificados. A seguir apresenta-se estes comandos: Envio do robô p/ uma posição armazenada em memória - Rápido ou Lento Para enviar o robô para uma posição armazenada em memória, pressiona-se a tecla "1", é apresentado na tela [ 1 GO POSITION ... ], o usuário digita o número da posição (< 100) para a qual o robô deve ir, 23 por exemplo, e tecla <RETURN>, a tela apresentará [ 1 GO POSITION 23 FAST/SLOW [ ], o usuário pode cancelar o comando pressionando <RETURN> ou então pressionar "F" ou "S", selecionando assim movimento rápido ou lento. Para opção "S", teremos: 1 GO POSITION 23 *SLOW 2 [ R ]

Comando de Espera (em segundos) Para fazer o robô esperar em sua posição presente, o usuário tecla "2", o computador apresenta na tela [ 2 WAIT [ ] ... ], o usuário digita o número de segundos (< 999) que deseja para o robô esperar, por exemplo 3, e pressiona <RETURN>, ao final será apresentado na tela: 2 WAIT 3 SECONDS 3 [ R ]

Comando Jump Condicional (Verifica status de entrada) Este comando permite que o programa possa ser executado numa sequência determinada por uma condição de entrada, e não por uma única sequência. Utilizando-se a tecla "3", é apresentado [ 3 IF INPUT # ], o usuário deve digitar um número de 1 a 8 correspondente a entrada a ser verificada seguido por <RETURN>, após resposta na tela, digita-se o número da linha do programa para onde sua sequência será desviada e <RETURN>. Exemplo: 3 IF INPUT 5 ON JUMP TO 16 4 [ R ]


Rodrigo Bernardo Moreira

* Se a entrada 5 for ON , o programa será executado a partir da linha 16. * Se a entrada 5 for OFF, o programa seguirá sua seqüência normal de execução (linha 4). Comando de Operação de Saída (Turn On) O comando faz o controlador ligar uma saída. O usuário pressiona a tecla "4", o computador mostra [ 4 TURN ON OUTPUT # ] e espera que um número entre 1 e 8, seguido por <RETURN> sejam pressionados. Comando de Desconexão de Saída (Turn OFF) Este comando complementa o anterior fazendo o controlador desligar uma saída. O usuário pressiona a tecla "R", o computador mostra [ 5 TURN OFF OUTPUT # ] e espera que um número entre 1 e 8, seguido por <RETURN> sejam pressionados. Comando de Jump Incondicional Executa um salto incondicional, e é selecionado pela tecla "5". Após esta opção o comando será mostrado e aguardará ser introduzido o número da linha de programa para a qual o programa terá prosseguimento seguida por <RETURN>. Exemplo: 6 JUMP TO LINE 21 7 [ R ]

MENU DE MANIPULAÇÃO DE PROGRAMAS (SALVAR, CARREGAR E DELETAR) Completamente idêntico ao SCORBASE Nível 1. EXECUTANDO PROGRAMAS VIA RUN PROGRAM MENU Quase idêntico ao usado no nível 2, acrescido de uma linha: 5/T DISPLAY ON Este comando permite visualizar na tela os comandos executados pelo programa.

USOS DO SCORBASE NÍVEL 2 O nível 2 habilita a escrita de programas a qual visa um coordenado grupo de esforços constituído por um robô e uma máquina, ou por diversos robôs. Sendo acompanhado basicamente por meio de sinais. A fim de coordenar as atividades dentro da célula de trabalho, as saídas devem ser conectadas do robô para o equipamento externo, e as entradas deste para o robô. A figura 1 abaixo mostra um robô dentro de uma célula de trabalho.


Rodrigo Bernardo Moreira

Fig. 1 - Robô na célula de trabalho As operações conduzidas na célula de trabalho incluem: Transportador de peças Quando uma peça alcança um certo ponto no transportador, ela aciona uma micro-chave conectada à entrada do robô. O robô desliga uma saída comutadora da tensão do transportador, parando seu movimento. O robô move-se para baixo, pega a peça, coloca-a na caixa e move-se para a posição de espera. Durante o deslocamento para a posição de espera, o robô liga a saída comutadora de tensão; transportador recupera o movimento. O programa qu e comanda estas ações é dado a seguir: 1 GO POSITION 1

(Robô na posição de espera, acima do transportador)

2 TURN ON OUTPUT # 1

(Robô ativa transportador)

3 IF INPUT # 1 ON JUMP TO LINE 5 4 JUMP TO LINE 3

(Robô verifica presença de objeto)

(Robô continua verificação)

5 TURN OFF OUTPUT # 1

(Robô pára transportador, objeto presente)

6 OPEN GRIPPER 7 GO POSITION 2 8 CLOSE GRIPPER

(Robô abaixa-se até o transportador)


Rodrigo Bernardo Moreira 9 GO POSITION 1 10 GO POSITION 3

(Robô ergue objeto) (Robô move objeto sobre a caixa)

11 OPEN GRIPPER 13 GO POSITION 3

(Robô move-se para cima da caixa)

Após completar a linha 13, o programa reinicia o ciclo na linha 1.

SCORBASE NÍVEL 3 O Nível 3 expande a capacidade de sentir a existência e tamanho de objetos, habilita a definição de posições no espaço por meio de coordenadas XYZ, e apresentar um numeroso grupo de funções. O que torna a programação muito mais eficiente, enquanto economiza consideráveis quantidades de memória e tempo. Os comandos são idênticos ao do nível 2, sendo acrescido ao Teach Positions Menu o comando: X TEACH POSITIONS BY XYZ Assim, pode-se ensinar posições em coordenadas cartesianas para o robô sem ter que mover seu braço. Quando acionada a tecla X será solicitado a entrada dos valores das coordenadas x,y,z, e pitch e roll - sendo as 3 primeiras em mm e as duas últimas posições do punho em graus - podendo ser atribuído a posição local do braço do robô para cada uma. Após todas variáveis terem sido definidas deve-se atribuir o número da posição (de 1 a 100) e pressionar <Return>. O comando X pode ser usado para mostrar as coordenadas x, y, z e os ângulos de punho em qualquer posição. ESCRITA DE PROGRAMAS VIA MENU EDITOR DE PROGRAMA (OFFLINE) O nível 3 é incluído diversos comandos ao Menu Editor de Programas, e por serem tantos a serem apresentados na tela de menu, houve a necessidade de alterar o formato na tela dos comandos INSERT, REPLACE e LIST/DELETE. As novas funções são: Comandos de Contador (Looping) 6 SET COUNTER #.. TO .. 7 DECREMENT COUNTER # .. 8 IF COUNTER # .. > 0 JUMP TO ..


Rodrigo Bernardo Moreira

Estes comandos podem ser usados para produzir laços (loops) em programas. O primeiro comando define uma contagem e ajuste do contador para um valor menor que 999. O segundo decrementa de 1 o valor especificado no contador. O terceiro é um jump condicional, usado para verificar um contador específico, para determinar se seu valor é maior que zero, enquanto a condição não for falsa poderá ser repetido o laço com um ou mais subprogramas inseridos entre o primeiro e o segundo comando. Comandos de Subrotina 9 SET SUBROUTINE #.. 0 RETURN FROM SUBROUTINE P CALL SUBROUTINE #.. Estes três comandos permitem a economia de seções de programas executadas repetidamente na forma de subrotinas, as quais são chamadas a qualquer tempo. Um programa pode incluir até 16 subrotinas. Quando uma subrotina é chamada (comando CALL SUBROUTINE #), ela é executada (inicializa com SET SUBROUTINE #) e ao final da subrotina (RETURN FROM SUBROUTINE) o ponteiro do programa retorna a linha imediatamente posterior ao comando CALL SUBROUTINE. Comandos de Sensoriamento M SET MEMORY # .. TO .. MM N SET MEMORY #.. TO SENSOR V IF MEMORY # .. > MEMORY # .. JUMP ... O primeiro comando possibilita armazenar valores arbitrários em milímetros no registrador designado. O segundo mede a extensão dos dedos da garra em tempo real, transferindo a medida em milímetros e armazenando-a no registrador designado. O último realiza um jump condicional com a comparação entre duas memórias. O software inclue 16 registradores de memórias. Os demais menus: Menu Manipulador de Programas e Menu de Execução de Programas são idênticos ao do nível 2. No Home Menu é adicionado um novo comando para resetar a abertura da garra para poder realizar medições com o sensor da garra, dada, a, seguir: Z SET GRIPPER TO ZERO USOS DO SCORBASE Nível 3 A principal característica do SCORBASE Nível 3 é o uso das funções adicionais, habilitando incrementar operações sofisticadas ao robô. Adiciona-se agora a habilidade de trabalhar com equipamento em seu ambiente, podendo ser agora ensinado posições


Rodrigo Bernardo Moreira

em off-line, pode sentir e comparar os tamanhos de vários objetos, executar loops e ler subrotinas. A figura 2 abaixo mostra dois blocos sobre a mesa. Estes blocos são usados para construir uma torre. Os dois blocos podem ser trocados sem confundir o robô.

Fig. 2 - Construção da torre O programa abaixo é usado para construir a torre como a da figura. 1 GO POSITION 3 *FAST 2 OPEN GRIPPER 3 GO POSITION 1 *FAST 4 CLOSE GRIPPER 5 SET MEMORY #1 TO SENSOR (Medida do bloco na posição 1) 6 OPEN GRIPPER 7 GO POSITION 3 *FAST 8 GO POSITION 4 *FAST 9 GO POSITION 6 *FAST 10 CLOSE GRIPPER 11 SET MEMORY #2 TO SENSOR (Medida do bloco na posição 6) 12 IF MEMORY #2 (Compara os tamanhos dos dois blocos. > MEMORY #1 JUMP 18 Se bloco na posição 6 é mais largo, torre será construída na posição 6.) 13 GO POSITION 4 *FAST 14 GO POSITION 3 *FAST


Rodrigo Bernardo Moreira 15 GO POSITION 2 *FAST 16 OPEN GRIPPER 17 JUMP TO LINE 28 (Separa dois ramos do programa de construção da torre) 18 OPEN GRIPPER 19 GO POSITION 4 *FAST 20 GO POSITION 3 *FAST 21 GO POSITION 1 *FAST 22 CLOSE GRIPPER 23 GO POSITION 3 *FAST 24 GO POSITION 4 *FAST 25 GO POSITION 5 *FAST 26 OPEN GRIPPER 27 GO POSITION 4 *FAST 28 GO POSITION 3 *FAST


Rodrigo Bernardo Moreira

Capítulo 2-6 - Entradas e Saídas: Comunicação entre o robô e seu ambiente.

INTRODUÇÃO Até o momento, foi vista uma descrição do robô e seus vários componentes. Mas devese ter em mente que o robô não realiza seu trabalho em um ambiente isolado e, sim, serve máquinas ou outros robôs. Logo, é muito importante coordenar a temporização e as operações de todos os componentes do sistema. Para garantir esta coordenação, ou sincronização, entre o robô e seu ambiente, utilizase de entradas e saídas. Entradas são sinais do ambiente para o robô. Saídas são sinais do robô para o ambiente . As seções seguintes discutirão entradas e saídas e como elas trabalham.

ENTRADAS Suponha, por exemplo, um transportador onde as peças não são distribuídas regularmente. Compondo o sistema há, também, um robô que tem por função descarregar as peças do transportador. Prevê-se, de imediato, que a chegada da peça no ponto de descarga não pode ser prevista com exatidão. Como o robô pode saber quando a peça que deve ser descarregada, chegou no ponto de descarga? Isto pode ser resolvido com a instalação de uma chave no transportador, no ponto no qual o robô descarrega as peças que estão chegando. A chave, que pode ser mecânica, óptica ou outra, é um dispositivo que conecta ou desconecta dois condutores elétricos. A figura 1 mostra uma chave mecânica.


Rodrigo Bernardo Moreira

Fig. 1 - Chave mecânica A seqüência para fazer uma conexão elétrica começa com uma pressão que deve ser exercida na alavanca, que empurra o pino. O pino, então, fecha a chave e uma conexão elétrica (curto-circuito) é criada entre os condutores. Ambos condutores são conectados ao controlador, que pode, assim, identificar o status da chave (aberta ou fechada). Quando uma peça no transportador alcança o ponto de descarga, ela pressiona a microchave, que fecha a chave. O controlador identifica o curto resultante entre os dois terminais dos condutores, e atua no braço mecânico do robô que agarra a peça que pressionou a alavanca, e descarrega a peça do transportador, de acordo com o programa armazenado na memória do computador. A figura 2 ilustra este método.

Fig. 2 - Operação da chave mecânica A figura 3 mostra um outro método de solucionar o problema de descarga. Este sistema é composto de uma fonte de luz e um detector de luz montado no lado oposto do transportador. Até a peça chegar no ponto de descarregamento, o detector "vê" a fonte de luz e emite um certo sinal elétrico para o controlador. Quando a peça chega no ponto, ela bloqueia o campo de visão entre a fonte de luz e o detector. O detector então, muda o nível do sinal elétrico que é transmitido ao controlador.


Rodrigo Bernardo Moreira

Fig. 3 - Posicionamento com detector A entrada óptica é geralmente mais prática em aplicações deste tipo. Contudo, a máxima distância entre a fonte de luz e os detectores é muito limitada, e paralelo a isso, eles podem sofrer mal funcionamento devido a interferências de luz de seus arredores.

APLICAÇÕES DE ENTRADA NO ESCORBOT-ER III O sistema do robô possui 8 entradas. O usuário instala as microchaves como ele julgar conveniente, com um par de fios ligando cada microchave a um ponto de conexão no painel do controlador, como mostra a figura 4.

Fig. 4 - Ligação das entradas Até agora, nós vimos as conexões de entrada. Para verificar o status da entrada - por exemplo, da entrada 3 - o usuário escreve um comando no programa, como a seguir: IF INPUT 3 IS ON, THEN ROBOT SHOULD DO A PREDEFINED TASK. IF INPUT IS OFF, THEN IT SHOULD DO ANOTHER TASK.

"Input on" significa que a alavanca está pressionada. "Input off" significa que a alavanca não está pressionada. Em adição as oito entradas que podem ser conectadas ao sistema, o SCORBOT-ER III possui uma simulação de entrada do painel do controlador, obtida através de dois botões, conectados em paralelo às entradas 1 e 2 do robô. Estes botões possibilitam aos estudantes praticar operações de entrada sem microchaves instaladas na célula de trabalho. Estas entradas são chamadas de entradas didáticas.

SAÍDAS O princípio das saídas é similar ao das entradas. Saídas são também projetadas para prover sinalização entre o robô e seu ambiente e/ou operar equipamentos externos e máquinas.


Rodrigo Bernardo Moreira

Imagine um robô cuja tarefa é agarrar uma broca, trazê-la para a posição acima da peça de trabalho, perfurar um buraco dentro de um certo período de tempo, parar a broca, e levá-la para a próxima posição de perfuração. O problema nesta aplicação é controlar a broca. Não é conveniente que a broca gire através de toda a operação, já que desperdiçaria eletricidade e provocaria sobreaquecimento da mesma. Logo, sua operação deve ser controlada, a fim de que a broca seja ligada no exato momento acima de cada posição de perfuração, e seja desligada depois de cada operação completa de perfuração. Este controle pode ser feito através de sinais de saída presentes no sistema do robô. O controlador sabe quando a broca está posicionada exatamente acima do ponto de perfuração. No ponto exato, o controlador comanda uma saída para girar a broca. A broca é desligada após completar a perfuração de cada buraco, por meio da mesma saída. Como fazer este tipo de saída trabalhar? Isto pode ser feito através do uso de um relê, como mostra a figura 5.

Fig. 5 - Chave magnética Um relê é composto de dois componentes básicos: uma bobina e uma chave. Quando relê é ativado, uma corrente "I" flui através da bobina. Como resultado, um campo magnético é criado perto da bobina. Este campo atrai a chave, fechando-a. A chave fica nesta posição enquanto a corrente fluir na bobina. Quando a corrente para de fluir, o campo magnético torna-se inativo, e a chave abre. Agora, como os relês podem ser integrados ao sistema do robô, e como eles podem ser usados para solucionar o problema de perfuração descrito acima? A figura 6 mostra como isto pode ser feito.


Rodrigo Bernardo Moreira

Fig. 6 - Esquema de ligação do relê Os terminais C e D do relê são conectados em série ao circuito que inclui um motor elétrico, que opera a broca, e uma fonte de tensão para o motor. Enquanto a chave permanece aberta, não flui corrente através do motor, que não gira. O motor começará a girar quando a chave fechar. Os terminais A e B do relê são conectados ao controlador. O controlador pode enviar corrente através da bobina do relê em um determinado instante, fechando o relê e ativando o motor. Em contraste com as entradas, que são componentes passivos, habilitando o controlador a verificar as chaves, saídas são componentes ativos que realmente operam dispositivos externos. As entradas de um robô são freqüentemente usadas para controlar a duração da ativação de uma saída do robô. A saída é ativada quando uma certa entrada é fechada, e desativada quando a entrada abre.

APLICAÇÕES DE SAÍDA NO SCORBOT-ER III O sistema do robô possui, também, 8 saídas. Estas saídas são divididas em dois grupos: 4 relês de saída e 4 saídas didáticas. Os relês de saída permitem ativar equipamentos externos, tais como motores, na seqüência, para implementar operações na célula de trabalho. As saídas didáticas consistem de LED's que se iluminam, quando o programa dá um comando para uma certa unidade do equipamento de saída. Estas saídas possibilitam simulações para testar o aprendizado dos estudantes com relação aos princípios das saídas, além do uso de saídas na pratica. A figura 7 ilustra a conexão de um sinal de saída para um equipamento externo.

Fig. 7 - Esquema de ligação das saídas A conexão pode ser realizada em um dos dois seguintes modos: Conectando o equipamento externo aos conectores N.O. (normalmente aberto) e COM (comum).


Rodrigo Bernardo Moreira

Conectando o equipamento aos conectores N.C. (normalmente fechado) e COM. Estes dois modos são mostrados nas figuras 8 e 9 respectivamente.

Fig. 8 - Relê normalmente aberto

Fig. 9 - Relê normalmente fechado A operação de saída pode ser feita por meio de um relê como mostra a figura 10.

Fig. 10 - Conjunto de relês Para ativar uma saída - por exemplo, saída 2 - o usuário escreve um comando no programa, como segue: TURN ON OUTPUT 2

Para desconectar a saída, o usuário escreve: TURN OFF OUTPUT 2


Rodrigo Bernardo Moreira

Para integrar entradas e saídas, o usuário escreverá uma série de comandos como a seguir: LINE 1 TURN ON OUTPUT 2 LINE 2 IF INPUT 3 ON, JUMP TO LINE 4 LINE 3 JUMP TO LINE 2 LINE 4 TURN OFF OUTPUT 2

A explicação destes comandos é a seguinte: LINE 1 : a saída 2 agora está ligada; LINE 2 : a entrada 3 serve para verificar o estado do evento que controla a saída 2. O controlador verifica a entrada 3. Se a entrada está ligada, o programa irá para a linha 4, onde ele desconectará a saída 2. Se a entrada 3 estiver desligada, o programa irá para a próxima linha (neste caso, linha 3). LINE 3 : o programa retorna para a linha 2 para ver se a entrada 3 se tornou ativa. Enquanto a entrada 3 não vir a ficar ativa, a saída 2 permanece ativa.


Rodrigo Bernardo Moreira

CAPÍTULO 2-4 INTRODUÇÃO AOS TIPOS DE CONTROLE Tipos de Controle Os métodos de controle utilizados em robôs industriais podem ser divididos em duas classificações principais: controle ponto-a-ponto controle por trajetória contínua.

Controle Ponto-a-Ponto Neste método, o caminho pelo qual o robô precisará passar, até um dado ponto final, é definido como um conjunto de pontos intermediários. Estes pontos são enviados à memória do sistema de controle pelo usuário como parte do processo de aprendizado do robô. O curso de um ponto intermediário a outro não é pré-determinado e não afeta a implementação da operação principal. Muitos sistemas de controle de robôs industriais presentes no mercado são deste tipo. O controle ponto-a-ponto é recomendado para robôs planejados para executar tarefas em pontos pré-determinados (por exemplo, verter misturas em moldes, carregar e descarregar partes, ou pontos de soldagem). Onde é necessário ultrapassar obstáculos em movimento, o operador deve planejar antecipadamente a introdução de pontos intermediários. Uma modificação mais sofisticada do controle ponto-a-ponto possibilita a introdução de pontos proibidos no controle de programação. O programa irá então ser capaz de assegurar que o robô evitará estes pontos. O robô pode ser ensinado sobre os pontos de seu trajeto de duas maneiras: Movendo o robô manualmente para um ponto desejado, gravando este ponto na memória do robô, e passando para o próximo ponto a ser ensinado - método por aprendizagem (teach in). Definindo as coordenadas de cada ponto desejado e gravando-as na memória do robô, sem que este tenha que ser movido fisicamente para que os pontos sejam aprendidos - método de programação off-line.


Rodrigo Bernardo Moreira

Uma vez aprendidos os pontos do trajeto, programas podem ser escritos direcionando o braço do robô para estes pontos, na ordem desejada, indiferentemente da ordem em que foram ensinados. O controle ponto-a-ponto é muito mais barato que o controle por procedimento contínuo. No entanto, só é apropriado em operações em que o trajeto entre os pontos definidos não é importante. Para executar caminhos mais complicados, onde é necessário existir precisão do começo ao fim, o controle por trajetória contínua deve ser usado.

Controle por Trajetória Contínua Este método de controle é usado em robôs projetados para executar operações durante o curso de movimento (por exemplo, pintura spray ou soldagem em arco). O caminho durante o qual a operação deve ser executada é gravado pelo sistema de controle na forma de um conjunto de vários pontos densamente arranjados em sua extensão. Portanto, este tipo de controle necessita de uma grande quantidade de memória e de um computador rápido o bastante para apanhar os pontos da memória, ou para realizar cálculos de trajeto. As coordenadas dos pontos durante o caminho são introduzidas na memória de duas formas: O operador move manualmente o atuador final através do caminho desejado. Durante o movimento, o sistema de controle memoriza o maior número possível de pontos do percurso. O número de pontos gravados e a distância entre os pontos dependem da velocidade em que o robô é movido e da taxa em que os pontos são coletados na memória, chamada taxa de amostragem. A taxa de amostragem reflete a quantidade de dados coletados em um período determinado, e é um conceito comum no campo da computação. Após a etapa de aprendizagem, o robô é retornado ao ponto de partida. Quando for chamado para executar a operação envolvendo o caminho ensinado, os pontos serão obtidos da memória do controlador e implementados na mesma ordem e na mesma taxa em que foram aprendidos, significando que o robô irá duplicar o caminho que lhe foi ensinado, durante o processo. O operador introduz na memória do robô as coordenadas dos pontos importantes durante o percurso, assim como a descrição matemática a ser seguida entre dois pontos - linha reta, percurso circular, e outros. O sistema então planeja o caminho a partir de cálculos complexos de trajeto e move o robô através deste caminho. Como visto acima, este método de controle é muito mais dispendioso que o método ponto-a-ponto. Seu uso é recomendado apenas em tarefas em que o robô deva seguir com extrema precisão todo o percurso desejado.


Rodrigo Bernardo Moreira

CAPÍTULO 2-5 - ENCODERS ÓTICOS INTRODUÇÃO O encoder é um dispositivo que fornece ao controlador do robô informações sobre o status físico das várias juntas do robô (inclusive taxas de movimento). Em outras palavras, o encoder é uma unidade de realimentação (feedback unit), que informa sobre as posições atuais das juntas do robô, de forma que possam ser comparadas com posições desejadas e seus movimentos sejam planejados. Esta unidade de realimentação possibilita o controle em malha fechada, em arranjo simples de componentes opto-eletrônicos, como na figura 1. Neste caso têm-se uma fonte de luz, um receptor e um disco perfurado, que irá modular a recepção da luz.

Fig. 1 - Encoder ótico simples

Este disco está preso a um eixo ou motor, de forma a criar um movimento rotacional, enquanto que a fonte de luz e o receptor estão fixos. A rotação do disco cria uma série de pulsos pela interrupção ou não da luz emitida ao detector. Estes pulsos de luz são transformados pelo detector em uma série de pulsos elétricos. A frequência do pulso é diretamente proporcional ao número de rotações no intervalo de tempo, e ao número de furos ao longo do disco. Os encoders são geralmente montados nas juntas do robô, ou nos eixos dos motores que atuam em cada uma das juntas. O encoder deve ser montado preferencialmente nas juntas, pois desta forma suas informações são diretamente coletadas, evitando possíveis incertezas de medição. Esta montagem requer um encoder de alta precisão e desta forma


Rodrigo Bernardo Moreira

mais caro. A montagem do encoder na eixo do motor pode causar um grau de incerteza, exceto quando a taxa de transmissão é superior a 1. A função do encoder é de fornecer informações em duas áreas: Quantidade de movimento executado pelo motor (ou pela junta); Direção do movimento (horário ou anti-horário). Informações adicionais, tais como taxa de movimento, podem ser obtidas pelo cálculo da divisão da quantidade de movimento pelo intervalo de tempo decorrido para tal movimento. Encoders óticos podem ser divididos em dois grupos: Encoders Incrementais; Encoders Absolutos. ENCODERS ÓTICOS INCREMENTAIS Este tipo de encoder fornece informações sobre o movimento executado e a direção da rotação do motor (figura 2).

Fig. 2 - Encoder ótico incremental Para determinar a quantidade de movimento realmente executada pelo motor, um disco com uma única fileira de furos é suficiente. Porem, para determinar a direção da rotação, precisa-se de duas fileiras de furos no disco (como visto na figura 2). Para demonstrar o método utilizado para determinar o sentido de rotação, considere os sinais recebidos de dois detectores de luz, em quatro passos:

PASSO

Passo 1 Passo 2 Passo 3

DETECTOR EXTERNO luz luz escuro

DETECTOR INTERNO escuro luz luz


Rodrigo Bernardo Moreira

Passo 4

escuro

escuro

Os detectores de luz transformam os estados de luz e escuro em sinais elétricos digitais. Luz é transformado em 0 lógico e escuro em 1 lógico. Como resultado, quando o disco é movimentado no sentido anti-horário, o microprocessador recebe dos detectores uma série de sinais elétricos, como indicado na tabela a seguir:

PASSO Passo 1 Passo 2 Passo 3 Passo 4

DETECTOR EXTERNO 0 1 1 0

DETECTOR INTERNO 1 1 0 0

Quando o movimento for no sentido horário, a série de sinais elétricos será como descrito na tabela a seguir:

PASSO Passo 1 Passo 2 Passo 3 Passo 4

DETECTOR EXTERNO 0 0 1 1

DETECTOR INTERNO 1 0 0 1

CÁLCULO DA RESOLUÇÃO DE UM MOTOR CONECTADO A UM ENCODER ÓTICO INCREMENTAL Na figura 2 é possível observar que o disco possui dois anéis concêntricos de furos. Cada par de furos (anel interno e anel externo) compõe uma unidade de contagem. O disco mostrado na figura 2 possui 6 pares de furos e desta forma 6 unidades são contadas a cada rotação completa do disco. Assim pode-se deduzir que a resolução (S) é: circunferência do disco (em graus) S = num. de pares de furos no disco Em termos matemáticos: 360 Sn = n, n é o número de pares de furos. Portanto a resolução do encoder da figura 2 é: 360


Rodrigo Bernardo Moreira

S6 = 60 Os encoders óticos incrementais não fornecem informação sobre a localização absoluta do eixo de movimento no espaço. Mais precisamente, eles fornecem a quantidade de movimento executada pelo eixo, começando do momento em que o computador é ativado e o movimento começa. Se o sistema é desligado ou ocorre uma queda de energia, a informação da localização do eixo de movimento é perdida. Quando o sistema for religado, a posição dos eixos de movimento devem ser re-fixadas. Somente após isto ser feito, o controlador poderá identificar a posição do robô novamente. Apesar de fornecer informações incompletas, os encoders incrementais podem ser utilizados como dispositivos de realimentação para muitos sistemas industriais, através do uso de softwares especiais que analisam o número de pulsos enviados e calculam a posição relativa e a velocidade da junta em movimento.

ENCODERS ÓTICOS ABSOLUTOS Os encoders óticos absolutos fornecem informações mais rigorosas que os encoders óticos incrementais. Possuem a capacidade de informar a posição física do robô assim que ele é ativado, sem a necessidade de fixação da posição inicial. Isto é possível porque o encoder transmite, para o controlador, um sinal diferente para cada posição da junta. A figura 3 mostra um disco contendo 4 anéis de perfurações e está dividido em 16 seções da arcos iguais, contendo cada uma um arranjo diferente de furos. Desta forma, cada seção possui uma combinação diferente de furos, possibilitando uma combinação diferente de sinais recebidos pelos 4 receptores. Quando o sistema é ativado, o controlador identifica a combinação dos sinais recebidos pelos receptores e transforma na exata localização da junta do robô no espaço.

Fig. 3 - Encoder ótico absoluto O número de anéis utilizados em um disco depende do grau de resolução de que se necessita. Quanto maior o número de anéis, maior será o número de combinações de sinais e maior será a resolução do dispositivo (figura 4).


Rodrigo Bernardo Moreira

Fig. 4 - Incremento da resolução do encoder

O cálculo da resolução (S) do encoder absoluto é dado por: circunferência do disco (em graus) S = num. de segmentos no disco Em termos matemáticos: 360 Sn = 2n, n é o número de anéis.

ENCODERS APLICADOS NO SCORBOT-ER III Os encoders utilizados no SCORBOT-ER III são do tipo incremental, de construção simples e designados para dar demonstrações dos princípios de operação aos estudantes. A estrutura de um encoder do SCORBOT-ER III é mostrada na figura 5.


Rodrigo Bernardo Moreira

Fig. 5 - Estrutura doencoder do robô didático O disco do encoder está conectado ao eixo do motor e gira na mesma velocidade deste, entre duas coberturas de alumínio. Em uma delas estão montados dois LED's, que são as fontes de luz. Na outra cobertura estão dois fototransistores, que são os detectores de luz. Cada LED é montado diretamente oposto a um fototransistor, formando dois pares LED-fototransistor. Um deles está localizado próximo a borda do disco, e o outro próximo ao centro. Quando o disco gira, uma linha de luz aparece e desaparece alternadamente entre cada LED e seu fototransistor, causando condução e corte, respectivamente, da corrente entre o coletor e o emissor do fototransistor. Assim, o sinal de tensão entre o emissor e o coletor do fototransistor fica como visto na figura 6, sendo os níveis baixo (0V) e alto (4V),correspondentes à existência ou não de luz emitida.


Rodrigo Bernardo Moreira

Fig. 6 - Esquema de sinais no emissor e coletor Percebe-se também um deslocamento de tempo entre as ondas dos dois fototransistores (chamado de deslocamento de fase). Isto é causado pelo deslocamento físico entre as perfurações mais externas e mais internas do disco. O sinal de tensão é transmitido para o microprocessador, que traduz a variação de tensão em uma medida da quantidade de movimento realmente executada pelo robô. A direção do deslocamento entre as duas ondas fornece ao controlador o sentido de rotação do motor. Como o disco encoder possui 6 pares de perfurações a cada volta do motor, 6 unidades de contagem são feitas, possibilitando uma resolução de 60. Para calcular a resolução de uma das juntas do robô, por exemplo a junta do cotovelo, deve-se lembrar que o alojamento do motor possui uma coleção de engrenagens que movem-se uma a outra. A razão de transmissão entre estas engrenagens é de 127,7:1 , dando uma resolução de saída do motor de:

S = 60/127,7 = 0,47 A resolução da junta de cotovelo é:

que é uma resolução muito boa para um robô didático, sem ter um alto custo.


Rodrigo Bernardo Moreira

Os encoders do SCORBOT-ER III são montados no motor e não nas juntas como seria preferível, pois o movimento do motor nem sempre é diretamente proporcional ao movimento da junta. As transmissões conectando o motor às juntas introduzem um grau de incerteza, levando a valores imprecisos de posição. Neste caso, a montagem do encoder na junta de forma a ter a mesma resolução de 0,12 aumentaria em muito o custo do equipamento, pois, para alcançar tal resolução seria necessário utilizar um disco com 3000 pares de furos, para cada um de seus 6 encoders. O uso de encoders simples, com 6 furos, permite um baixo custo e uma boa resolução, a nível de uso educacional.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.