Sist Pneum e Hid atuando nos Robôs

96
Tecnologia em Eletrotécnica – Cefet/Pr Introdução a Robótica Prof. Winderson E. dos Santos e-mail: [email protected]

Transcript of Sist Pneum e Hid atuando nos Robôs

Page 1: Sist Pneum e Hid atuando nos Robôs

Tecnologia em Eletrotécnica – Cefet/Pr

Introdução a Robótica

Prof. Winderson E. dos Santos e-mail: [email protected]

Page 2: Sist Pneum e Hid atuando nos Robôs

2

Índice Analítico Introdução ...............................................................................................................................4 1. Robôs Industriais ................................................................................................................5

1.1 O Estado da Arte...........................................................................................................6 1.2 Aplicações e Benefícios................................................................................................6

2. Fundamentos da Tecnologia em Robótica..........................................................................8 2.1 Braço Mecânico ............................................................................................................8

Tipos de Juntas................................................................................................................8 Graus de Liberdade .........................................................................................................9 Classificação Pelos Tipos de Articulação .......................................................................9 Classificação Pelo Tipo de Controle.............................................................................11 Classificação Pelo Tipo de Acionamento .....................................................................13 Classificação Pelo Tipo de Transmissão (Direta ou Indireta) ......................................15

2.2 Punhos e Efetuadores..................................................................................................16 Garras de dois membros ...............................................................................................17 Garras de três membros ................................................................................................17 Garras para objetos cilíndricos......................................................................................18 Garras para objetos frágeis ...........................................................................................18 Garras de Juntas ............................................................................................................18 Garra Eletromagnética ou a Vácuo ...............................................................................18 Trocador Automático de Ferramentas ..........................................................................18

3. Atuadores e Sensores ........................................................................................................20 3.1 Tecnologias Empregadas nos Atuadores ....................................................................20

Atuadores Pneumáticos e Hidráulicos ..........................................................................20 Atuadores Elétricos.......................................................................................................22 Transmissão Mecânica..................................................................................................26

3.2 Tecnologias Empregadas nos Sensores ......................................................................28 Sensores de Posição ......................................................................................................28 Sensores de Velocidade ................................................................................................31

4. Cinemática ........................................................................................................................33 4.1 Matriz de Transformação Homogênea........................................................................33

Vetor posição de um corpo ...........................................................................................33 Matriz de rotação (ou orientação) de um corpo ............................................................34 Matriz de Transformação Homogênea..........................................................................35

4.2 Cinemática Direta .......................................................................................................36 Convenção de Denavit-Hartenberg...............................................................................37 Procedimento Operacional............................................................................................39 Cinemática da Estrutura de Manipuladores Típicos .....................................................42

4.3 Espaços das juntas e cartesianos .................................................................................49 4.4 Sistemas de Referência Padrões .................................................................................49

Sistema da Base {B}.....................................................................................................49 Sistema da Estação {S}.................................................................................................49 Sistema do Punho {W}.................................................................................................50 Sistema da Ferramenta {T}...........................................................................................50 Sistema do Objetivo {G} ..............................................................................................50

4.5 Localização da Ferramenta .........................................................................................50 4.6 Cinemática Inversa .....................................................................................................50

Solubilidade ..................................................................................................................50

Page 3: Sist Pneum e Hid atuando nos Robôs

3

Existência de Soluções..................................................................................................51 Multiplicidade de soluções ...........................................................................................52 Método de solução ........................................................................................................53 Sub-Espaço do Manipulador.........................................................................................53 Solução Algébrica x Solução Geométrica ....................................................................54

4.7 Cinemática Diferencial ...............................................................................................59 5. Introdução à Dinâmica......................................................................................................61 6. Controle de Robôs ............................................................................................................64

6.1 A Questão do Controle ...............................................................................................64 6.2 Controle no Espaço de Junta.......................................................................................65 6.3 Controle Independente por Junta ................................................................................66 6.4 Controle em malha fechada ........................................................................................68

Realimentação de Posição ............................................................................................69 Realimentação de Posição e Velocidade ......................................................................71 Realimentação de Posição, Velocidade e Aceleração...................................................74

7. Programação de Robôs .....................................................................................................78 7.1 Gerações de linguagens de programação de robôs .....................................................79 7.2 Linguagens de segunda geração..................................................................................80 7.3 Estrutura da linguagem de programação de robôs......................................................80

Constantes e variáveis...................................................................................................82 Comandos de movimento .............................................................................................82 Comandos de órgão terminal e dos sensores ................................................................84 Cálculos e operações.....................................................................................................85 Controle do programa ...................................................................................................86 Comunicações e processamentos de dados...................................................................87 Comandos do modo monitor.........................................................................................87

8. Considerações Finais ........................................................................................................88 8.1 Desempenho do sistema..............................................................................................88 8.2 Capacidade de movimento..........................................................................................88 8.3 Espaço de Trabalho.....................................................................................................89 8.4 Precisão de robô..........................................................................................................90

Resolução......................................................................................................................91 Repetibilidade ...............................................................................................................91 Precisão .........................................................................................................................92

Apêndice – Principais Fabricantes de Robôs Industriais......................................................93 Bibliografia ...........................................................................................................................96

Page 4: Sist Pneum e Hid atuando nos Robôs

4

Introdução

Desde a época em que a imaginação criativa de Korel Capec introduziu o termo robô pela primeira vez (referindo-se à sua peça teatral Rossum’s Universal Robots), observa-se que cada vez mais a sociedade busca pela materialização do conceito do que a palavra robota (do idioma tcheco) significou naquela peça teatral em 1921, ou seja, “trabalhador forçado”, realizado por criaturas mecânicas semelhantes à forma humana. Não é surpresa que na atualidade haja a constante busca pelo desenvolvimento de máquinas robóticas cada vez mais sofisticadas capazes de substituir o trabalho humano em situações de insalubridade, riscos de vida, ou entediantes. Neste sentido, e apesar das manifestações contrárias por parte de sindicatos trabalhistas, cada vez mais se utilizam robôs principalmente na área industrial.

Deixando a ficção científica à parte, um primeiro mecanismo com aparência

humana, foi apresentado na Exposição Mundial de Nova Yorque em 1927 por J. Wersley em sua máquina chamada Robô Televox. Pouco tempo depois, em 1928, no Japão, foi apresentado um boneco, réplica de um ser humano, com capacidade de movimentação de algumas poucas articulações no seu corpo. Apesar de tais máquinas terem apenas o objetivo de entretenimento, elas carregam consigo o embrião histórico da robótica como ferramenta para realização de trabalho útil, que de fato surgiu pela primeira vez em meados do século XX por ocasião da necessidade de manipulação de materiais radioativos através de tele-operação.

Ainda que para os atuais robôs industriais possam prevalecer as mesmas três leis

da robótica ditadas pelo escritor soviético Isac Assimov, 1a Lei : Um robô não pode ferir um ser humano ou, por inação, permitir que um

humano seja ferido; 2a Lei : Um robô deve obedecer às ordens dadas por humanos, exceto quando

isto conflitar com a primeira lei; 3a Lei : Um robô deve proteger sua própria existência, a menos que isto conflite

com a primeira ou segunda lei. tais máquinas em quase nada se assemelham a aparência humana. Ao contrário, são formados por articulações mecânicas capazes de realizar os movimentos da tarefa a que se destinam, não importando, para isto, a aparência que venham a ter.

Page 5: Sist Pneum e Hid atuando nos Robôs

5

1. Robôs Industriais De uma forma geral o conceito atual de robótica industrial passa pela particularização de um ramo do conhecimento tecnológico denominado mecatrônica, o qual trata simultaneamente de aspectos relativos a mecânica, eletrônica, controle e processamento de informações em máquinas e instrumentos genéricos. A definição oficial de um robô industrial, dada pelo RIA (Robot Institute of America) em 1981 ainda reflete a atual condição da tecnologia robótica:

Um robô industrial é um manipulador re-programável, multifuncional, projetado para mover materiais, peças, ferramentas ou dispositivos especiais em movimentos varáveis programados para a realização de uma variedade de tarefas.

Partindo desta definição, é possível associar um robô industrial ao tipo de máquina aplicada na automação flexível [SCI-96], sendo constituída basicamente por elementos (ou elos) mecânicos acionados por atuadores a partir de um controlador que opera baseado em informações de movimentos programados e de sinais gerados por elementos sensores de realimentação. Tais elos permitem um correto posicionamento e orientação da peça ou ferramenta destinada para a tarefa. As últimas três décadas foram preponderantes no desenvolvimento de tecnologias que se refletem nos atuais robôs manipuladores industriais. Uma revisão dos últimos 25 anos mostra que os seguintes avanços tecnológicos que foram agregados à robótica:

•’74: Acionamentos elétricos eficazes •’74: Controle microprocessado •’82: Interpolações cartesianas •’82: Comunicação via computador •’82: Uso de Joy-Stick •’82: Programação por menus •’84: Sistema de visão •’86: Controle digital •’86: Acionamentos em CA •’90: Interconexão em redes •’91: Controle digital de torque •’94: Modelo Dinâmico Completo •’94: Interface Windows •’94: Simulação em robôs virtuais •’94: Uso de fieldbus •’96: Cooperação entre robôs •’98: Sistemas de detecção de colisões •’98: Identificação de objetos •’98: Movimentação em alta velocidade

Page 6: Sist Pneum e Hid atuando nos Robôs

6

1.1 O Estado da Arte

Atualmente o entendimento da complexidade dos robôs bem como suas aplicações requerem o conhecimento de:

• Engenharia (elétrica, mecânica, industrial); • Ciências da Computação; • Economia; • Matemática;

O atual estado da arte de robôs industriais implica preponderantemente em tarefas de controle de posicionamento e movimentação, que é ainda o principal objetivo destes mecanismos. Diversas capacidades de controle lógico de entrada e saída têm sido acrescentadas nos recentes robôs, assim como capacidades de comunicação como em redes ethernet, fieldbus, conexões seriais (RS-232, RS-485, etc). Quanto a forma de programação observa-se o uso de scripts para acesso aos recursos de software disponível no robô. A fronteira tecnológica dos atuais manipuladores pode ser melhor visualizada através da tabela dada a seguir:

Repetibilidade Até 0.003 mm (0.1mm usualmente) Velocidade Até 5 m/s Aceleração Até 25 m/s2

Carga admissível A partir de 2 a 3 kg até limites ~ 350kg Relação Peso/Carga Em torno de 30 a 40

Número de eixos 6 Comunicação Profibus, Ethernet, canais seriais (RS 232, 485)

Capacidades de E/S Similares a um PLC para sinais analógicos e digitais * Fonte: Welding 2001, International Workshop on Robotic Welding Systems and Process Monitoring, Portugal

1.2 Aplicações e Benefícios Uma classificação mais detalhada das tarefas realizadas por um robô pode ser descrita como de três tipos de natureza, quais sejam: Movimentação:

em operações de embalagem classificação de peças

colocação e retirada de peças em centros de usinagem ou máquinas ferramenta

carga e descarga de depósitos paletização

Page 7: Sist Pneum e Hid atuando nos Robôs

7

Medição:

na inspeção de objetos localização de contornos

detecção de falhas na manufatura Manipulação:

para soldagem a arco ou ponto pintura com spray

furação ou fresagem colagem e selamentos

cortes a laser ou jato de água montagens elétricas ou mecânicas

montagem de placas de circuitos impresso parafusamento

O maior fator que impede a adoção em massa de robôs nas indústrias é seu alto

custo. O tempo que leva para se recuperar o investimento em um robô depende dos custos de compra, instalação e manutenção. Este tempo não é fixo, depende da fábrica onde o robô será instalado e de sua aplicação. Deve-se considerar as seguintes condições:

• número de empregados substituídos pelo robô; • número de turnos por dia; • produtividade comparada a seu custo; • custo de projeto e manutenção; • custo dos equipamentos periféricos.

O preço de um robô é determinado pelos seguintes fatores:

• tamanho; • sofisticação ou grau de complexidade; • exatidão; • confiabilidade.

Nos últimos tempos, através da automação, observou-se o decréscimo do nível de emprego nas atividades industriais. A curto prazo, a automação levanta problemas como o desemprego, necessária reconversão e treinamento pessoal, conseqüências da redução de horas de trabalho, questões de aumento de salários em atividades de maior produtividade. Alguns aspectos do confronto operacional de homens e robôs são que um robô tem claramente algumas vantagens sobre os humanos (não se cansa; não necessita de salário; pode manter uma qualidade uniforme na produção; não necessita de condições ambientais especiais tais como ar condicionado, luz, silêncio, etc). Em compensação, o robô tem aprendizado, memória e movimentos limitados se comparado a um homem.

Page 8: Sist Pneum e Hid atuando nos Robôs

8

2. Fundamentos da Tecnologia em Robótica

As partes de um robô correspondem a algumas das partes de uma pessoa (e outros animais), pois os problemas de percepção, movimento e controle que os robôs devem resolver são análogos aos muitos problemas que os humanos e outras criaturas vivas também enfrentam. De fato, a fim de descobrir como solucionar esses problemas para os robôs os engenheiros freqüentemente preferem estudar como a natureza tentou solucioná-los.

Robôs industriais tem quatro partes fundamentais: uma base fixa (a qual pode girar e deslizar por uma curta distância), um braço articulado (freqüentemente chamado de manipulador do robô), uma unidade de controle (o computador do robô) e um dispositivo de programação (possivelmente um teach box, joystick ou teclado).

2.1 Braço Mecânico

O braço articulado é formado por várias partes: elos, juntas, atuadores de juntas, sensores de posição de juntas, punho e efetuador final (a mão do robô). Elos são as partes rígidas de um robô, comparáveis aos ossos do braço de uma pessoa. Juntas são as partes do braço de um robô que lhe permitem uma conexão móvel entre dois ligamentos (são a versão do robô de ombros, cotovelos e punhos).

Tipos de Juntas

• Juntas prismáticas: (também chamadas juntas lineares ou deslizantes) movem-se em linha reta sem girar. São compostas de duas hastes que deslizam entre si de forma telescópica. Elas se estendem, retraem ou movem-se para dentro e para fora como um elevador hidráulico num posto de gasolina, ou ainda ao longo de um trilho como um carro de máquina de escrever.

• Juntas de revolução: (também chamadas juntas rotacionais) giram em torno de uma linha imaginária estacionária chamado eixo de rotação. Elas giram como uma cadeira giratória e abrem e fecham como uma dobradiça.

• Juntas esféricas: Esta conexão funciona como a combinação de 3 juntas de revolução, realizando a rotação em torno de três eixos. No corpo humano existem algumas juntas esféricas como a junta entre o ombro e o braço, o braço e o punho, o tronco e as pernas.

Page 9: Sist Pneum e Hid atuando nos Robôs

9

Graus de Liberdade

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

Classificação Pelos Tipos de Articulação

Os robôs são normalmente classificados conforme o tipo de juntas, ou mais exatamente pelo conjunto de juntas que formam o sistema de articulação do robô. A divisão em classes possibilita obter-se informações sobre características tais como:

• Espaço de trabalho; • Grau de rigidez mecânica; • Extensão do controle sobre a movimentação e • Tipos de aplicação para cada robô.

Cartesianos

Neste tipo de estrutura os três elos deslocam-se de forma translacional, aqui denominada TTT, conforme ilustrado na figura 1. Devido à ortogonalidade entre os elos mecânicos obtém-se boa rigidez mecânica, ainda que apresentem baixa habilidade de posicionamento.

Figura 2.1 – Robô Cartesiano

Esta estrutura é aplicável principalmente em sistemas para manipulação e

movimentação e, tipicamente apresenta-se com acionadores de natureza elétrica, podendo, em alguns casos, também serem encontrados com acionamentos pneumáticos.

Cilíndricos

A estrutura cilíndrica difere da estrutura cartesiana pelo fato de que o primeiro elo mecânico apresenta movimento de rotação ao invés de translação, por isto denominada RTT, ilustrado na figura 2. Esta estrutura ainda guarda boas características

Page 10: Sist Pneum e Hid atuando nos Robôs

10

de rigidez mecânica, apesar de apresentar menor resolução de posicionamento na direção horizontal.

Figura 2.2 – Robô Cilíndrico

Esta estrutura é particularmente aplicável em situações onde se deseja obter acesso em cavidades horizontais. Em geral os elementos mecânicos são acionados com tecnologia hidráulica pois normalmente necessita-se dispor de elevados torques para movimentação da carga. Esféricos

A estrutura esférica é composta por dois elos mecânicos com movimento rotacional seguido por um terceiro com movimento translacional, por isto denominada RRT. Sua aparência é ilustrada na figura 3. Em função desta configuração os movimentos apresentam menor resolução de posicionamento ao longo do eixo radial do robô, além de comportarem-se com menor grau de rigidez mecânica.

Figura 2.3 – Robô Esférico (ou Polar)

Este tipo de estrutura é amplamente usado em operações junto a centros de usinagem. Normalmente empregam-se acionamentos elétricos na estrutura esférica. SCARA

Esta estrutura ilustrada na figura 4, assim como na esférica, apresenta dois elos mecânicos com movimento rotacional seguido por um terceiro com movimento translacional, sendo também denominada RRT. O nome SCARA é um acrônimo do termo inglês Selective Compliance Assembly Robot Arm pelo fato da estrutura

Page 11: Sist Pneum e Hid atuando nos Robôs

11

apresentar uma alta rigidez para cargas verticais enquanto para cargas horizontais a rigidez é baixa.

Figura 2.4 – Robô SCARA

Normalmente utiliza-se a estrutura SCARA para a manipulação de pequenos objetos. Seus acionamentos são tipicamente de natureza elétrica. Articulado

Neste tipo de estrutura os três elos mecânicos de posicionamento deslocam-se de forma rotativa, conforme ilustra a figura 5, e por isto é denominada RRR. Tal estrutura, apesar de ter menor rigidez mecânica do que as anteriores e, resolução de posicionamento variável no espaço de trabalho, é a que apresenta maior grau de habilidade.

Figura 2.5 – Robô Articulado

Devido à grande habilidade para o posicionamento, esta estrutura é empregada numa ampla faixa de situações tanto de movimentação e de manipulação como também para medição. Na grande maioria dos casos são empregados acionamentos de natureza elétrica para sua movimentação.

Classificação Pelo Tipo de Controle

Para operar um robô, deve-se ter meios de controlar seu sistema de acionamento a fim de regular adequadamente seus movimentos. Nesta seção descreve-se brevemente os diversos tipos de sistemas de controle. Um tratamento mais detalhado desses tópicos é apresentado em seção posterior.

Page 12: Sist Pneum e Hid atuando nos Robôs

12

Os robôs industriais disponíveis comercialmente podem ser classificados em

quatro categorias, de acordo com seus sistemas de controle:

1. Robôs de seqüência fixa 2. Robôs de repetição com controle ponto a ponto 3. Robôs de repetição com controle de trajetória contínua 4. Robôs inteligentes.

Das quatro categorias, os robôs de seqüência fixa representam o mais baixo nível

de controle, e os robôs inteligentes são os mais sofisticados.

Robôs de seqüência fixa não empregam servo-controle para indicar posições relativas das juntas. Ao contrário, são controlados mediante instalação de chaves-limite e/ou batentes mecânicos para estabelecer os pontos extremos de deslocamento para cada uma de suas juntas. O estabelecimento de posições e da seqüência desses batentes envolve um ajuste mecânico do manipulador, ou, preferivelmente a programação do robô no sentida usual do termo. Com esse método de controle, as juntas individuais somente podem ser movidas para seus limites extremos de deslocamento, o que restringe seriamente o número de pontos distintos que podem ser especificados num programa para esses robôs. A seqüência em que o ciclo de movimento é executado é definida por uma chave escalonada ou outro dispositivo de seqüenciamento. Esse dispositivo, que constitui o controlador do robô, sinaliza a cada um dos acionadores particulares que opere numa sucessão adequada. Em geral não há realimentação associada a um robô de seqüência fixa para indicar que a posição desejada foi alcançada. Qualquer um dos três sistemas de acionamento pode ser usado com esse tipo de sistema de controle, porém o acionamento pneumático parece ser o tipo mais comumente empregado. Aplicações para esse tipo de robô geralmente envolvem movimentos simples, tais como operações "pega-e-põe".

Os robôs de repetição usam uma unidade de controle mais sofisticada, em que, uma série de posições ou movimentos são "instruídas" ao robô, gravadas na memória e em seguida, repetidas pelo robô sob seu próprio controle. O termo "repetição" é descritivo desse modo geral de operação. Ao procedimento de instruir e gravar na memória é denominado programação do robô. Os robôs de repetição geralmente têm alguma forma de servo-controle (isto é, sistema de realimentação em malha fechada) para garantir que as posições alcançadas pelo robô sejam as que foram instruídas.

Os robôs de repetição podem ser classificados em duas categorias: robôs ponto a ponto (PTP) e robôs por trajetória contínua (CP)*. Os robôs ponto a ponto podem executar ciclos de movimento que consistem em uma série de localizações de ponto desejadas e ações correlatas. O robô é instruído sobre cada ponto, e esses pontos são registrados na unidade de controle do robô. Durante a repetição, o robô é controlado para mover-se de um ponto para outro na seqüência adequada. Robôs ponto a ponto não controlam a trajetória tomada pelo robô para ir de um ponto até o próximo. Se o programador quiser exercer uma quantidade de controle limitada sobre a trajetória seguida, isto terá de ser feito mediante programação de uma série de pontos ao longo da trajetória desejada. O controle da seqüência de posições é bastante adequado para

Page 13: Sist Pneum e Hid atuando nos Robôs

13

muitos tipos de aplicações, incluindo máquinas de carregar e descarregar e soldagem a ponto.

Os robôs de trajetória contínua podem realizar ciclos de movimento em que a trajetória seguida pelo robô é controlada. Isto é geralmente realizado fazendo-se com que o robô se desloque através de uma série de pontos intimamente espaçados que descrevem a trajetória desejada. Os pontos individuais são definidos pela unidade de controle e não pelo programador. O movimento linear é uma forma comum de controle por trajetórias contínuas para robôs industriais. O programador especifica o ponto de partida e o ponto final da trajetória, e a unidade de controle calcula a seqüência de pontos individuais que permitem ao robô seguir uma trajetória retilínea. Alguns robôs têm a capacidade de seguir um caminho suave, curvo, que foi definido por um programador que movimenta manualmente o braço através do ciclo de movimento desejado. Atingir um controle por trajetórias contínuas, em medida mais do que limitada requer que a unidade controladora seja capaz de armazenar um grande número de localizações de ponto individuais que deixem a trajetória curva composta. Isto geralmente envolve o uso de um computador digital (um microprocessador é usado tipicamente como a unidade central de processamento para o computador) como controlador de robô. O controle por trajetórias contínuas é requerido para certos tipos de aplicações industriais, tais como pintura e soldagem a arco.

Robôs inteligentes constituem uma classe crescente de robôs industriais que possuem capacidade não apenas de repetir um ciclo de movimento programado, mas também interagir com seu ambiente de modo a parecer inteligente. Invariavelmente, a unidade controladora consiste em um computador digital ou dispositivo similar (por exemplo, controlador programável). Os robôs inteligentes podem alterar seu ciclo programado em resposta a condições que ocorrem no local de trabalho. Podem tomar decisões lógicas com base nos dados sensoriais recebidos do local de trabalho. Os robôs nessa classe têm a capacidade de comunicar-se durante o ciclo de trabalho com humanos ou sistemas com base em computadores. Robôs inteligentes são geralmente programados usando-se uma linguagem simbólica parecida com o inglês, não muito diferente de uma linguagem de programação de computador. Na verdade, os tipos de aplicações que são realizados por robôs inteligentes baseiam-se no uso de uma linguagem de alto nível para realizar as atividades complexas e sofisticadas que podem ser realizadas por esses robôs. Aplicações típicas para robôs inteligentes são tarefas de montagem e operações de soldagem a arco.

Classificação Pelo Tipo de Acionamento Acionamento Elétrico

Este tipo de acionamento utiliza motores elétricos que podem ser: motor de corrente contínua, motor de passo e motor de corrente alternada. Muitos robôs novos têm acionamento com motor de corrente contínua devido ao alto grau de precisão e simplicidade de controle deste tipo de motor elétrico. As vantagens do acionamento elétrico são:

Page 14: Sist Pneum e Hid atuando nos Robôs

14

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

Mas, suas desvantagens são:

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.

Acionamento 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. 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 acionamento hidráulico são:

1. Momento de torque 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.

Entretanto suas desvantagens são:

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

Acionamento Pneumático

Esta unidade é similar à hidráulica e é composto de: motores pneumáticos de movimento rotativo e cilindros pneumáticos de movimento deslizante. 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 agarramento, tanto para abrir como para fechar as garras. As vantagens do acionamento pneumático são:

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

parado.

Page 15: Sist Pneum e Hid atuando nos Robôs

15

Já as suas desvantagens são:

1. Não possui alta precisão. 2. Está sujeito a vibrações quando o motor ou cilindro pneumático é parado.

Seleção

Resumindo, o acionamento elétrico é melhor em aplicações envolvendo:

• Alta precisão de posicionamento; • Transferência de carga de tamanho pequeno a médio; • Pequenas ambientes para sistemas de compressores de óleo e ar;

O acionamento 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 acionamento 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 Pelo Tipo de Transmissão (Direta ou Indireta)

No caso de transmissão direta, o motor é montado diretamente na junta que ele irá mover. Se o motor é montado longe da junta, próximo da base, a transmissão é indireta; neste caso há elementos de transmissão de torque mecânico como correntes, correias, diferenciais e engrenagens. As vantagens da transmissão indireta sobre a direta são:

1. Redução do peso do braço mecânico; 2. Permite fácil mudança na velocidade de rotação das juntas.

Mas, as desvantagens da transmissão indireta sobre a direta são:

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.

Page 16: Sist Pneum e Hid atuando nos Robôs

16

2.2 Punhos e Efetuadores

Punho é o nome usualmente dado às três últimas juntas do braço do robô. Estas, em geral, são juntas rotacionais, e seus eixos de rotação são mutuamente perpendiculares, configurando o que se conhece por punhos esféricos, isto é, punhos cujos eixos das juntas se intersectam num único ponto. Uma das vantagens do punho esférico é que seu uso simplifica consideravelmente a cinemática do manipulador, permitindo o desacoplamento entre a posição e a orientação do efetuador. Tipicamente, os manipuladores possuem três graus de liberdade para posicionamento. O número de graus de liberdade para orientação depende então do punho. São comuns os casos em que este tem um, dois ou três graus de liberdade. O braço e o punho são utilizados basicamente para o posicionamento e orientação do efetuador e de qualquer ferramenta que ele possa carregar. É o efetuador ou a ferramenta que em realidade executa o trabalho.

Figura 2.6 - Eixos de rotação de um punho

No sentido de saída do braço, essas juntas são conhecidas como junta de yaw, junta

de pitch e junta de roll (nesta ordem). Os movimentos giratórios resultantes são chamados yaw, pitch e roll. Se você mantiver sua mão estendida a frente, de palma para baixo, com os dedos apontando para longe de você, os movimentos de yaw, pitch e roll poderão ser assim definidos:

• Yaw é uma rotação ao redor de um eixo vertical que vai da parte superior à parte inferior através do punho. Isto produz um movimento da direita para a esquerda, assim como aquele usado para dizer não.

• Pitch é uma rotação ao redor de um eixo horizontal que vai da esquerda para à direita através do punho. Isto produz um movimento de sobe e desce da mão, assim como aquele usado para dizer até logo.

• Roll é uma rotação ao redor de um eixo horizontal que vai de trás para a frente através do punho. Isto produz um balanço lateral da mão, assim como aquele usado para dizer mais ou menos.

Depois da junta de roll do punho vem o órgão terminal do robô. Alguns punhos chamados punhos de mudança rápida, vem com órgãos terminais desconectáveis, os quais podem ser rapidamente mudados, até durante uma mesma operação fabril. Os órgãos terminais podem ser classificados em dois grandes grupos garras e ferramentas

Page 17: Sist Pneum e Hid atuando nos Robôs

17

especializadas. Robôs usam garras para mover objetos e usam ferramentas especializadas para executarem tarefas especiais. As garras podem ser de vários tipos: pinças mecânicas para pegar a maioria dos objetos rígidos, atrativos eletromagnéticos para pegar objetos de ferro e ventosas de sucção a vácuo para pegar objetos delicados com superfícies lisas, como espelhos, pratos largos, vidros e até ovos. Mãos destras são garras avançadas que se assemelham à mão humana em versatilidade, podem ser usadas tanto para pegar e mover objetos industriais (matéria prima, bens acabados, ou material de embalagem) como para manipular e usar ferramentas projetadas para trabalhadores humanos.

As ferramentas especializadas que os robôs podem usar em vez de garras incluem pistolas de pintura e de solda a ponto, tochas de solda a arco, cortadores a jato d’água e a laser e rebitadeiras automáticas.

O termo efetuador final é uma palavra genérica para todos os sistemas montados no final do braço do robô, ou seja, no fim do vínculo mais afastado da base do robô; cuja tarefa é agarrar objetos ou ferramentas e/ou transferi-los de um lugar para o outro. Exemplos de efetuador são as garras, soldadores e pistolas de pintura. A operação do efetuador é a meta final do desempenho do robô. Todos os sistemas do conjunto (controlador, unidade motriz, etc.) são dimensionados para capacitar a ação correta do efetuador. Uma falha na operação de agarrar um objeto causa erros que comprometem o sucesso da realização do trabalho. Por isso, é essencial que a garra seja apropriada para cada ambiente de trabalho.

Existem vários tipos de efetuador em uso nas indústrias, concentraremos nosso foco no estudo das garras. A garra é comparável à mão humana. A estrutura da mão é realmente espantosa e interessante: ela possui 22 graus de liberdade, várias unidades motrizes na forma de músculos e muitos elementos sensoriais. É tão complexa e bem desenvolvida que não há garra feita pelo homem capaz de imitá-la. Dado esse fato, é óbvio que as garras são limitadas a uma faixa de operações. Devido ao desenvolvimento das indústrias e a constante renovação de processos de manufatura, houve a necessidade de se desenvolver garras capazes de realizar tipos diferentes de operações.

Garras de dois membros

Esse é o tipo de garra mais comum. Diversas variedades foram criadas, variando em tamanho e/ou movimento dos dedos, onde este pode ser configurado de maneira paralela ou rotatória. A desvantagem básica da garra de dois membros é a sua limitação de abertura, impossibilitando o manuseio de objetos maiores que sua abertura total.

Garras de três membros

Ela é basicamente similar à garra de dois membros, mas permite maior segurança no agarrar objetos, podendo segurar formas esféricas, triangulares, etc. Seus dedos são retráveis e constituídos de várias conexões.

Page 18: Sist Pneum e Hid atuando nos Robôs

18

Garras para objetos cilíndricos

Essa garra consiste de dois dedos, cada um deles possuindo três ou mais depressões circulares, possibilitando a pega de objetos cilíndricos de diversos tamanhos. A garra para objetos cilíndricos tem duas desvantagens: 1) É pesada (por ser geralmente maciça) e tem que ser suportada pelo robô durante toda a operação 2) Tem movimento limitado devido a sua extensão

Garras para objetos frágeis

Para pegar um objeto frágil sem quebrá-lo, os dedos da garra devem exercer um certo grau de força. Esta força se for concentrada num simples ponto do objeto, é capaz de danificar partes delicadas. Sendo assim muitas garras para esse propósito tem sido desenvolvidas.

Garras de Juntas

Estas garras são designadas para pegar objetos de vários tamanhos e de superfícies irregulares. As conexões são movidas por pares de cabos. Um cabo de cada par flexiona a junta, e o outro a estende. Para pegar um objeto, as juntas dos dedos envolvem-no e seguram-no firmemente. Quanto menor o tamanho das juntas dos dedos, maior é a firmeza e a capacidade de pegar objetos irregulares.

Garra Eletromagnética ou a Vácuo

Garras a vácuo ou ventosas são utilizadas para pegar objetos lisos e chatos através de um vácuo criado nas suas ventosas. Já as Garras Eletromagnéticas são empregadas para pegar objetos metálicos através de campo magnético. Ambos os tipos de garras são eficientes, já que elas podem pegar objetos de diversos tamanhos, e não requerem grande precisão na localização do objeto. As garras a vácuo são usadas para pegar objetos de superfície plana, como chapas de metal e caixas de papelão. Geralmente cada garra à vácuo possui um determinado número de ventosas conforme sua aplicação, isto para reduzir o risco de escorregamento, bem como para aumentar a capacidade de transporte.

Trocador Automático de Ferramentas

Muitos tipos de trabalho envolvem o manuseio de peças e objetos de tamanho e formatos variados, num só ambiente de trabalho. Nesses casos, o uso de uma chave de fenda pode ser feito alternadamente com uma garra ou uma ventosa, e assim por diante. Como não há garra capaz de tal feito, visto que cada uma tem sua função própria,

Page 19: Sist Pneum e Hid atuando nos Robôs

19

desenvolveu-se uma ferramenta chamada trocador automático de ferramentas. É um adaptador que permite a troca rápida de garras. Uma restrição óbvia é que todas as conexões pneumáticas, hidráulicas, etc., devem ser feitas da mesma forma.

Existem algumas desvantagens no uso de trocador automático de ferramentas:

• O peso é somado ao braço do robô • O custo de instalação é alto

Por essas observações, fica evidente que o desenvolvimento e produção de garras é um dos importantes estágios no desenho de robôs para tarefas dedicadas.

Page 20: Sist Pneum e Hid atuando nos Robôs

20

3. Atuadores e Sensores

3.1 Tecnologias Empregadas nos Atuadores

Atuadores Pneumáticos e Hidráulicos

Tanto os atuadores pneumáticos quanto os hidráulicos são acionados por fluidos em movimento. No primeiro caso, o fluido é o ar comprimido e, no segundo caso, o fluido é geralmente óleo pressurizado. A operação desses acionamentos é geralmente semelhante, exceto em sua capacidade para conter a pressão do fluido. Os sistemas pneumáticos tipicamente operam a aproximadamente 100 lb/in2 (68,96N/cm2) e sistemas pneumáticos a 68,96N/cm2 até 3.000 lb/in2 (2068,8N/cm2). As vantagens e desvantagens relativas desses tipos de sistemas de acionamento já foram apresentadas na seção onde os manipuladores foram classificados pelo seu tipo de acionamento.

O dispositivo de acionamento por fluido mais simples é o cilindro, como ilustrado na figura a seguir, que pode ser usado para acionar uma junta linear por meio de um pistão móvel. Esse exemplo é chamado um cilindro de extremidade simples, porque a haste do cilindro somente sai do cilindro numa extremidade. Outros tipos de cilindros incluem cilindros de duas extremidades.

Figura 3.1 - Cilindro e pistão

Existem duas relações de interesse particular ao discutir os atuadores: a velocidade do atuador em relação à potência de entrada. Para atuadores tipo cilíndrico, essas relações são dadas por

AtftV )()( =

AtPtF ).()( =

Page 21: Sist Pneum e Hid atuando nos Robôs

21

em que V(t) é a velocidade do pistão, f(t) é a vazão do fluido (volumétrica), F(t) é a força, P(t) é a pressão do fluido, e A é a área do pistão. Visto que os requisitos de um robô são de portar uma carga útil a uma dada velocidade, podemos usar as relações descritas para escolher o atuador apropriado.

Um outro tipo de atuador de fluido é o atuador de aletas rotativo, mostrado na figura a seguir.

Figura 3.2 - Atuador de aletas

Num atuador rotativo, estamos interessados na velocidade angular, ω, e no torque, T. As relações descrevendo a saída de um atuador rotativo são:

hrRtft

)()(2)( 22 −

2)).(().()( rRrRhtPtT +−=

onde R é o raio externo da aleta, r é o raio interno da aleta, h é o comprimento da aleta, ω é a velocidade angular em rad/seg, e T é o torque.

Page 22: Sist Pneum e Hid atuando nos Robôs

22

Atuadores Elétricos

Motores de passo e servo-motores (com ou sem escovas) têm cada um suas respectivas vantagens e desvantagens. Em geral não existe uma solução única para cada tipo de acionamento.

Figura 3.3 - Tecnologias disponíveis para implementação do acionamento Os argumentos a seguir mostram um rápido panorama quanto ao uso de cada uma

destas tecnologias.

MOTOR DE PASSO VANTAGENS DESVANTAGENS Menor custo Se uma aplicação pode ser realizada com motor de passo, então esta deve ser a escolha natural.

Perda de suavidade em baixas velocidadesMaior problema dos motores de passo. Pode, porem ser solucionado com drives de micro-passo.

Isento de Manutenção Não há escovas ou outras partes sujeitas a desgastes, não necessitando portanto de manutenções ou trocas periódicas.

Perda de posicionamento em malha aberta Pode ocorrer em situações de sobrecarga. Um encoder para confirmação de passo poderia resolver o problema, porém neste caso seria preferível o uso de um servo motor.

Estabilidade em paradas Sem comutação na corrente de fase o rotor permanece completamente parado. Não há tendências do rotor em se agitar em torno de uma posição do encoder ou do resolver.

Corrente nominal mesmo quando parado Como o torque de retenção exige circulação de corrente, isto causará aquecimento do motor mesmo quando parado.

MOTOR DE PASSO (...continuação) Industrialmente padronizado Ressonâncias em altas velocidades

Page 23: Sist Pneum e Hid atuando nos Robôs

23

São fabricados com eixo ou face padronizados (Norma NEMA ou Métrico) sendo portanto facilmente substituíveis.

Os motores de passo não são recomendáveis para velocidades de operação em torno de 2000 rpm.

Baixa limitação pelo ambiente Podem ser usados em quase todos os ambientes (inclusive no vácuo).

Isentos de falhas Não há como uma falha no drive ocasionar perda de controle do movimento. Pelo contrário em tais situações há a tendência do rotor em parar (ao contrário do que pode acontecer nos sistemas servo controlados)

Dificilmente desmagnetizável Elevados níveis de corrente não causam desmagnetização de seus materiais (ao contrário do que pode ocorrer com os motores com escova).

Seguro e confiável Os motores de passo são bastante simples sob o ponto de vista construtivo, praticamente isentos de falhas.

Resistente a sobrecargas Não há elevação da corrente no motor quando em situações de sobre carga como ocorrem nos servo motores.

Relação torque/tamanho Comparado com motores DC (com escovas) de mesmo tamanho, o motor de passo pode fornecer altos torques de saída em baixas velocidades.

Conexão simples Apenas 4 vias de alimentação são necessárias, o que pode ser uma vantagem em situações onde as conexões tenham elevados custos.

Page 24: Sist Pneum e Hid atuando nos Robôs

24

SERVO MOTORES DC VANTAGENS DESVANTAGENS Baixo custo Os motores DC são produzidos atualmente com baixos custos de fabricação

Manutenção das escovas Não chega a ser um problema se o motor estiver em local de fácil alcance, caso contrário inviabiliza a aplicação. Há que se considerar também a emissão de pó por parte do carvão das escovas, o que inviabiliza seu uso em locais extremamente limpos.

Suavidade em baixas rotações Esta característica é obtida através de modelos com grande número de ranhuras (lamelas) no rotor, o que o torna a melhor opção de suavidade das três opções.

Riscos de explosão Devido ao faiscamento gerado nas escovas tal característica inviabiliza seu uso em ambientes sujeitos a explosão (ou no vácuo).

Drives de baixo custo Um drive de corrente contínua pode ser tão simples quanto apenas uma ponte de transistores.

Comutações limitadas A repetibilidade de movimentos curtos (menor do que uma rotação) fica limitada devido a comutação mecânica.

Sem consumo em paradas Sem carga estática no motor não haverá consumo de corrente para manter uma posição.

Baixa dissipação térmica Todo calor é gerado internamente no rotor, o que dificulta sua dissipação para o meio.

Altos torques de pico Em aplicações com ciclo de trabalho intermitente (particularmente no posicionamento de cargas tipicamente inerciais), o motor pode operar com sobre-correntes.

Pode ser desmagnetizado Elevadas correntes podem resultar em desmagnetizações parciais do motor.

Planicidade da curva torque-velocidade Permite obter ótimas performances através da simples geração de rampas de aceleração tipo linear.

Custo de instalação Os servo-motores DC apresentam maiores custos de instalação quando comparados aos motores de passo.

Grande variedade de modelos disponíveis Os motores DC são encontrados em uma grande variedade de opções, incluindo motores com baixa inércia para aplicações de alta dinâmica.

Operação em altas velocidades Motores DC podem operar sem problemas em velocidades de até 5000 RPM

Page 25: Sist Pneum e Hid atuando nos Robôs

25

SERVO MOTORES SEM ESCOVAS (BRUSHLESS) VANTAGENS DESVANTAGENS Isentos de manutenção Pelo fato de não apresentarem escovas para comutação.

Elevado custo Principalmente devido ao uso de materiais magnéticos compostos por terras raras.

Boa dissipação térmica Todo calor é gerado no estator o que facilita sua dissipação para o meio.

Drives mais caros e complexos Drives do tipo seis estados, trapezoidais não são tão mais caros do que os drives para motores DC com escovas, porém drives com geração de ondas senoidais podem custar várias vezes mais.

Altíssimas velocidades Não há comutadores mecânicos para limitarem a velocidade, pequenos motores brushless podem facilmente atingir velocidades de até 12000 RPM

Insensíveis ao ambiente Não emitem ruídos, pós, faíscas, ou outros tipos de resíduo ao ambiente. Além disto podem suportar elevadas temperaturas bem como ambientes em vácuo.

Page 26: Sist Pneum e Hid atuando nos Robôs

26

Transmissão Mecânica

A fim de transmitir os torques motores às juntas do manipulador dispõem-se de duas alternativas principais. Uma delas através do acionamento direto, ou seja, sem a presença de elementos redutores mecânicos e, outra alternativa através da utilização de mecanismo redutor. Cada uma das alternativas apresenta suas respectivas vantagens e desvantagens técnicas. O quadro a seguir apresenta um breve resumo de tais características.

ACIONAMENTO COM TRANSMISSÕES VANTAGENS DESVANTAGENS Redução no torque do motor Devido ao fator de redução da transmissão, o torque exigido do motor fica reduzido.

Presença de folgas Os elementos redutores mecânicos apresentam folgas que ocasionam backlash, podendo comprometer a precisão do sistema.

Minimização de não-linearidades Todas as não linearidades do sistema manipulador devido aos acoplamentos entre juntas bem como devido a torques gravitacionais ficam reduzidas.

Inserção de inércia e atritos Um elemento redutor ocasionará a introdução de uma inércia própria bem como elevará as perdas por forças de atrito.

Rendimento reduzido Todo elemento redutor irá ocasionar um fator de rendimento de transmissão de torque < 1 (~0,95).

ACIONAMENTO DIRETO VANTAGENS DESVANTAGENS Isentos de folgas Como não há redutor o sistema fica isento de folga mecânica.

Elevado torque do motor O torque necessário para o motor não é reduzido pelo fator de transmissão. Motores de alto torque são exigidos.

Alto rendimento O uso de elemento redutor apresentaria um rendimento < 1.

Presença de não-linearidades Todas as não linearidades oriundas dos acoplamentos entre juntas têm que ser tratadas pelo controlador.

Pelas características acima expostas é possível concluir que ambas as formas de

transmissão apresentam semelhantes razões de vantagens/desvantagens, fato que a princípio não permite extrair uma escolha definitiva. Entretanto, cabe ressaltar que a grande maioria dos casos reais de robôs manipuladores utilizam-se de elementos para transmissão tais como reduções do tipo harmonic-drives ou cicloidais. Por este motivo apresenta-se a seguir uma discussão prévia a respeito de tais elementos.

Para a transmissão do movimento às juntas de um robô é conveniente que se

utilizem elevados fatores de redução. Tal critério se baseia no fato de que as não linearidades, devido ao acoplamento entre juntas típicas de um sistema robótico, têm um

Page 27: Sist Pneum e Hid atuando nos Robôs

27

efeito de perturbação sobre o sistema de controle inversamente proporcional ao quadrado da relação de redução (exceto para os torques gravitacionais). Além disto é conveniente que tais reduções apresentem:

- baixo valor de inércia, - massa tão reduzida quanto possível, - isentas de folgas, - elevada rigidez e - grande fator de redução Com tais características é possível reduzir a inércia dos componentes mecânicos

referida ao eixo do motor, compatibilizar as velocidades de operação entre o motor e o acionamento das juntas, além de aumentar o torque do motor.

As opções comercialmente disponíveis para propiciar tais características são as

transmissões mecânicas transformadoras especiais do tipo “Planetária Cicloidal” e do tipo “Harmonic Drive”.

Figura 3.4 – Opções tecnológicas para implementação da transmissão

TRANSMISSÃO HARMONIC DRIVES VANTAGENS DESVANTAGENS Alta capacidade de torque Necessita lubrificação Boa precisão de posicionamento Eficiência depende da rotação Repetibilidade Alta rigidez à torção Zero backlash (segundo o fabricante)

Page 28: Sist Pneum e Hid atuando nos Robôs

28

TRANSMISSÃO CICLOIDAL VANTAGENS DESVANTAGENS Alta grau de rigidez Geração de calor Baixa inércia de entrada Erro de velocidade minimizado Correção de backlash < 1 min. Não necessita lubrificação Alta eficiência

3.2 Tecnologias Empregadas nos Sensores

Sensores de Posição

Na maioria dos casos em robótica, um interesse fundamental é controlar a posição do braço. Existe uma grande variedade de dispositivos disponíveis para detectar posição. Serão apresentados os seguintes dispositivos: potenciômetros, resolvers e codificadores (ou encoders). POTENCIÔMETROS

Os potenciômetros são dispositivos analógicos cuja tensão de saída é proporcional à posição do seu cursor. A figura a seguir ilustra um potenciômetro típico. Uma tensão é aplicada através do elemento resistivo.

Figura 3.5 - Potenciômetros

A tensão entre a haste e a terra é proporcional à relação da resistência num lado

do cursor para com a resistência total do elemento resistivo. Essencialmente, o potenciômetro atua como uma rede divisora de tensão. Isto é, a tensão através do elemento resistivo é dividida em duas partes pelo cursor. A medição dessa tensão fornece a posição do cursor. A equação do potenciômetro pode ser representada pela seguinte função:

)()( tktV TPo θ= em que Vo(t) é a tensão de saída, kTP é a constante do potenciômetro em volts por radiano (ou volts por metro, no caso de um potenciômetro linear) e θ(t) é a posição do

Page 29: Sist Pneum e Hid atuando nos Robôs

29

potenciômetro em radianos (ou metros). Visto que um potenciômetro requer uma tensão de excitação, a fim de calcular Vo, podemos usar

tot

posexVV

θθ

=0

em que Vex é a tensão de excitação, θtot é o deslocamento total disponível da haste, e θpos é a posição efetiva do cursor. RESOLVERS

Um resolver é um outro tipo de dispositivo analógico cuja saída é proporcional ao ângulo de um elemento de rotação em relação a um elemento fixo. Em sua forma mais simples um resolver tem um único enrolamento em seu rotor e um par de enrolamentos em seu estator, conforme ilustra a figura a seguir.

Figura 3.6 - Resolver

Figura 3.7 - Formas de onda

Os enrolamentos do estator estão defasados em 90 graus. Assim, se o rotor for

excitado com um sinal senoidal do tipo A.sen(ωt), a tensão nos dois pares de terminais estatóricos será

)sen().sen(.)(1 θωtAtVS = )cos().sen(.)(1 θωtAtVS =

sendo θ o ângulo do rotor em relação ao estator. Esse sinal pode ser usado diretamente, ou pode ser convertido numa representação digital, usando-se um dispositivo conhecido como um conversor resolver-digital. Já que um resolver é essencialmente um transformador rotativo, é importante lembrar que um sinal de corrente alternada deve ser usado para excitação. Se fosse usado um sinal de corrente contínua, não haveria sinal de saída.

Page 30: Sist Pneum e Hid atuando nos Robôs

30

CODIFICADORES (ou ENCODERS)

À medida que mais sistemas são controlados por computadores e dispositivos correlatos, aumenta o uso de codificadores digitais de posição. Codificadores estão disponíveis em dois tipos básicos: incrementais e absolutos. Isto se refere ao tipo de dados disponíveis do codificador. Existem várias categorias de codificadores, mas limitaremos nossa discussão àqueles que são os mais comumente usados nos robôs. São eles os codificadores ópticos.

Um codificador incremental simples está ilustrado na figura a seguir. Consiste em um disco de vidro, marcado com listas, alternadas transparentes e opacas, alinhadas radialmente. Um foto-transmissor (uma fonte de luz) está localizado num lado do disco e um fotorreceptor no outro. Quando o disco gira, o feixe de luz é alternadamente transmitido e interrompido. A saída do fotorreceptor é um trem de pulso cuja freqüência é proporcional à velocidade de rotação do disco. Num codificador típico, existem dois conjuntos de foto-transmissores e receptores alinhados em defasagem de 90 graus. Esse ajuste de fases fornece informação de direção; isto é se o sinal A estiver adiantado do sinal B em 90 graus, o disco codificador está girando numa direção, se B estiver adiantado de A, então estará girando na outra direção. Contando os pulsos (adicionando ou subtraindo) com base no sinal de sentido de giro, é possível usar o codificador para fornecer informações sobre posição em relação a um local de partida conhecido.

Figura 3.8 - Codificador de posição incremental

Em alguns casos é desejável conhecer a posição de um objeto em termos absolutos, isto é, não em relação a uma posição de partida. Para isto pode ser usado um codificador absoluto. Os codificadores absolutos empregam a mesma construção básica que os codificadores incrementais, exceto que existem mais trilhas de listas e um número correspondente de receptores e transmissores. Usualmente, as tiras são dispostas de modo a fornecer um número binário proporcional ao ângulo do eixo. A primeira trilha pode ter 2 listas, a segunda 4, a terceira 8 e assim por diante. Desta forma o ângulo pode ser lido diretamente do codificador, sem que seja necessária qualquer contagem.

Page 31: Sist Pneum e Hid atuando nos Robôs

31

Figura 3.9 - Codificador de posição absoluto

A figura anterior ilustra um codificador absoluto. A resolução de um codificador

absoluto é dependente do número de trilhas e é dada por 2n, sendo que n é o número de trilhas no disco.

Sensores de Velocidade Um dos dispositivos mais comumente usados para a realimentação de informações de velocidade é o tacômetro de corrente contínua. Um tacômetro é essencialmente um gerador CC, fornecendo uma tensão de saída proporcional à velocidade angular do induzido. Um tacômetro pode ser descrito pela relação

)()()(0 ttktV TV ω= em que Vo(t) é a tensão de saída do tacômetro em volts, kTV(t) é a constante do tacômetro, usualmente em V/rad/s e ω(t) a é a velocidade angular em radianos por segundos.

Os tacômetros são geralmente usados para fornecer informação sobre velocidade ao controlador. Isto pode ser usado para realizar controle de velocidade de um dispositivo ou, em muitos casos, para aumentar o valor de KV num sistema, melhorando assim a estabilidade do sistema e sua resposta a perturbações, como será apresentado na seção sobre controle de movimento.

Page 32: Sist Pneum e Hid atuando nos Robôs

32

Page 33: Sist Pneum e Hid atuando nos Robôs

33

4. Cinemática

4.1 Matriz de Transformação Homogênea

Um dos problemas encontrados num mecanismo robótico é a descrição da correta localização espacial do efetuador final em relação a um sistema de referência de coordenadas normalmente localizada na base do mesmo. Além disto, é necessário descrever também com qual orientação este efetuador final se encontra.

Assim, uma matriz de transformação homogênea é uma matriz que fornece a

posição e a orientação de um ponto no espaço a partir de uma referência conhecida. Esta matriz é composta por uma sub-matriz de rotação e por um vetor de

deslocamento que serão mais bem compreendidos a seguir.

Vetor posição de um corpo Uma vez determinado um sistema cartesiano de referência, é possível definir a localização de um corpo no espaço a partir das coordenadas cartesianas que um ponto qualquer deste corpo apresente.

Figura 4.1 – Posição e orientação de um corpo rígido no espaço

Para o exemplo da figura anterior, vemos que o ponto O’ do corpo está posicionado nas coordenadas:

zoyoxoo zyx��� ′+′+′=′

O qual pode ser representado por uma forma vetorial como:

′′′

=′

z

y

x

ooo

o

Page 34: Sist Pneum e Hid atuando nos Robôs

34

Matriz de rotação (ou orientação) de um corpo Apesar do vetor posição, apresentado anteriormente, definir a posição do corpo no espaço, sabemos que o mesmo pode ter um sem número de diferentes orientações, ou seja, ele pode estar rotacionado por um ângulo qualquer em torno dos três eixos do sistema de referência de coordenadas. Assim, para descrever a orientação deste corpo, faz-se necessário a alocação de um segundo sistema de referencia atrelado a este corpo de forma a permitir a correta descrição do quanto este corpo está rotacionado em relação ao sistema de coordenadas de referência da base. Então, com relação a mesma ilustração anterior, tomamos o sistema de referência x’y’z’ localizada no ponto O’, podendo-se agora definir as possíveis rotações (ângulos α, β, γ) no sentido anti-horário em torno de cada um dos eixos (x, y, z) do sistema de referencia da base que o novo sistema apresenta:

−=

1000cossen0sencos

)( αααα

αzR

−=

αα

ααβ

cos0sen010

sen0cos)(yR

−=ααααγ

cossen0sencos0001

)(xR

Por exemplo, uma rotação em Rz(α) é apresentada na ilustração a seguir.

Figura 4.2 – Rotação do sistema de coordenadas O-xyz de um ângulo α em torno de z

Para rotações sucessivas ao longo de vários eixos basta pós multiplicar o novo sistema de referência por cada uma das rotações necessárias, observando que a ordem em que as sucessivas rotações forem executadas deve ser respeitada na ordem com que as matrizes são pós-multiplicadas.

Page 35: Sist Pneum e Hid atuando nos Robôs

35

Figura 4.3 – Rotações sucessivas de objetos em torno de eixos fixos

Para a ilustração anterior, por exemplo, temos as seguintes distintas rotações:

−==

βββααβαβααβα

βαcos0sen

sensencoscossensencossencoscos

)()( yzzy RRR

−==

ββαβααα

ββαβααβ

cossensensencos0cossen

sencossencoscos)()( zyyz RRR

Matriz de Transformação Homogênea A partir da definição da posição e orientação de um corpo, pode-se definir a matriz de transformação homogênea como a matriz que descreve simultaneamente a nova posição e orientação do corpo no espaço.

Figura 4.4 – Representação de um ponto P em sistemas de coordenadas diferentes

Page 36: Sist Pneum e Hid atuando nos Robôs

36

Por exemplo, na figura anterior considerando um ponto P arbitrário no espaço, a matriz de transformação homogênea que leva este ponto a ser descrito no sistema de referência de coordenadas O1 a partir de sua descrição inicial no sistema de referência de coordenadas O0 é dada por:

=

10

01

010

1 T

oRA

4.2 Cinemática Direta

Um robô manipulador consiste de uma série de corpos rígidos (elos) conectados por meio de pares cinemáticos ou juntas. Assume-se que cada junta provê uma estrutura mecânica com um simples grau de mobilidade, correspondente à articulação, ou variável de junta.As juntas podem essencialmente ser de dois tipos: de revolução ou prismática, conforme ilustra a figura a seguir.

Figura 4.5 – Representações utilizadas para as juntas

Tais estruturas formam uma cadeia de cinemática aberta. Um das pontas da cadeia consiste da base. E, na outra ponta da cadeia está o efetuador final (garra, ferramenta, etc) permitindo a manipulação do objeto no espaço. Considerando um manipulador constituído por n+1 elos conectados por n juntas, o objetivo da cinemática direta é determinar a posição e orientação do efetuador final como uma função das variáveis de junta. Então, com respeito ao sistema de referência de coordenadas O0 – x0y0z0, a função de cinemática direta é expressa pela matriz de transformação homogênea

=

1000)()()()(

)(0000 qpqaqsqn

qT o ,

onde q é o vetor de (n x 1) variáveis de junta, n,s e a são os vetores unitários do sistema de coordenadas de referência ligadas ao efetuador final, e p é o vetor de posição da origem de tal sistema com respeito ao sistema de coordenadas de referência da base O0 – x0y0z0, conforme ilustrado a seguir.

Page 37: Sist Pneum e Hid atuando nos Robôs

37

Figura 4.6 – Descrição da posição e orientação do sistema de coordenadas do efetuador

final O sistema de coordenadas de referência O0 – x0y0z0 é chamado sistema da base. O sistema de coordenadas atrelado ao efetuador final é chamado sistema do efetuador final, e é convenientemente escolhido de acordo com a geometria particular da tarefa a ser executada. Exemplo: Considerando uma estrutura planar com dois elos, conforme ilustrado a seguir.

Figura 4.7 – Braço plano com dois elos

Com base na análise trigonométrica, na escolha das variáveis de junta, do

sistema de base e do sistema do efetuador final, obtém-se:

−++−

=

=

10000001

00

1000)( 121111212

1221112120000

0 sasasccacacs

pasnqT

onde, si...j, ci...j denotam respectivamente seno(qi+...+qj) e cosseno(qi+...+qj).

Convenção de Denavit-Hartenberg A construção de um procedimento operacional para o cômputo da cinemática direta é naturalmente derivada da cadeia aberta típica na estrutura do manipulador em questão. De fato, como cada junta conecta dois e apenas dois elos subseqüentes, é

Page 38: Sist Pneum e Hid atuando nos Robôs

38

razoável considerar primeiro a descrição da relação cinemática entre dois elos consecutivos e então obter a descrição completa da cinemática do manipulador de um modo recursivo. Para este fim, a descrição de posição e orientação de um corpo rígido é útil para obter a composição de transformações coordenadas entre sistemas de referência consecutivos.

Figura 4.8 – Parâmetros cinemáticos de Denavit-Hartenberg

Com primeiro passo, um método geral e sistemático pode ser derivado da posição e orientação relativa de dois elos consecutivos; ou seja, o problema é determinar dois sistemas de referência ligados aos dois elos e obter a transformação de coordenadas entre eles. Em geral, os sistemas de referência podem ser arbitrariamente escolhidos contanto que estejam ligados ao elo a que se referenciam. Contudo, é conveniente adotar algumas regras para a definição destes sistemas de referência. Com referência à ilustração dada anteriormente, façamos o eixo i representar o eixo da conexão de junta entre do elo i-1 para o elo i; assim, a chamada convenção de Denavit-Hartenberg é adotada para definir o sistema de coordenadas do elo i:

• Escolha o eixo zi ao longo do eixo da junta i + 1. • Aloque a origem Oi na interseção do eixo zi com a normal comum (reta que

contém o segmento de menor distância entre duas retas quaisquer) aos eixos zi-1 e zi. Aloque também Oi’na interseção desta normal comum com o eixo zi-1.

• Escolha o eixo xi ao longo da normal comum aos eixos zi-1 e zi com direção partindo da junta i para a junta i+1.

• Escolha o eixo yi de forma a completar o sistema segundo a regra da mão direita.

Page 39: Sist Pneum e Hid atuando nos Robôs

39

Procedimento Operacional

A convenção de Denavit-Hartenberg levará a soluções não únicas nos seguintes casos:

o Para o sistema de coordenadas 0, apenas a direção do eixo z0 é especificada;

então O0 e x0 podem ser arbitrariamente escolhidas. o Para o último sistema de coordenada n, apenas a escolha do eixo xn é obtida (que

deve ser normal ao eixo zn-1). De fato, não existe a junta n+1, e assim zn não é definido e pode ser arbitrariamente escolhido.

o Quando dois eixos consecutivos são paralelos, a normal comum entre eles não é definida unicamente.

o Quando dois eixos consecutivos interceptam-se, a direção de xi é arbitrária. o Quando a junta i é do tipo prismática, apenas a direção do eixo zi-1 é

determinada.

Em todos estes casos, a indeterminação pode ser explorada de forma a simplificar o procedimento; por exemplo, fazendo com que eixos de sistemas de coordenadas subseqüentes tornem-se paralelos. Uma vez que os sistemas de coordenadas dos elos estejam estabelecidos, a posição e a orientação do sistema i com respeito ao sistema i-1 são especificadas pelos seguintes parâmetros: ai distância entre Oi e Oi’,

di coordenada de Oi’ao longo de zi-1,

αi ângulo entre os eixos zi-1 e zi em torno do eixo xi a ser tomado positivo quando a

rotação é feita no sentido anti-horário,

νi ângulo entre os eixos xi-1 e xi, em torno do eixo zi-1 a ser tomado positivo quando

a rotação é feita no sentido anti-horário.

Dois dos quatro parâmetros (ai e αi) são sempre constantes e dependem apenas da geometria da conexão entre as juntas consecutivas estabelecidas pelo elo i. Para os dois parâmetros restantes, apenas um é variável dependendo do tipo de junta que conecta os elos i-1 e i. Em particular: � se a junta i é do tipo revolução a variável é νi, � se a junta i é do tipo prismática a variável di,

Neste ponto, é possível expressar a transformação coordenada entre o sistema de referência i e o sistema de referência i-1 de acordo com os seguintes passos:

Page 40: Sist Pneum e Hid atuando nos Robôs

40

� Escolha um sistema de referência alinhado com o sistema de referência i-1. � Translade o sistema de referência escolhido por di ao longo do eixo zi-1 e

rotacione-o de νi em torno do eixo zi-1; esta seqüência alinha o sistema de referência corrente com o sistema de referência i’ e é descrito pela seguinte matriz de transformação homogênea:

1000100

0000

1'

i

ii

ii

ii d

cssc

Aυυυυ −

=−

� Translade o sistema de referência alinhado com o sistema de referência alinhado

com o sistema de referência i’ pela distância ai ao longo do eixo xi’ e rotacione-o pelo ângulo αi em torno do eixo xi’; esta seqüência alinha o sistema de referência corrente com o sistema de referência i e é descrito pela matriz de transformação homogênea:

10000000

001

'

ii

i

i

ii cs

scA i

αααα

α−

=

� A transformação de coordenadas resultante é obtida pela pós-multiplicação das

transformações simples como:

10000

)( '1'

1

iii

iiiiiii

iiiiiii

ii

iii

ii dcs

sascccscasscsc

AAqAαα

υαυαυυυαυαυυ

−−

== −−

Observe que a matriz de transformação do sistema de referência i para o sistema de referência i-1 é uma função apenas da variável de junta i, isto é, νi para junta de revolução ou di para junta prismática. A convenção de Denavit-Hartenberg permite construir a função de cinemática direta pela composição das transformações de coordenadas diretas expressa pela equação anterior dentro de um matriz de transformação homogênea. Uma vez definido o sistema de referência para cada elo, a transformação de coordenada que descreve a posição e orientação do sistema de referência n em relação ao sistema de referência da base é dada por:

)()...()()( 12

121

01

0n

nnn qAqAqAqT −=

Como esperado, o cômputo da função de cinemática direta é recursiva e é obtida de uma maneira sistemática pelo simples produto de contribuições de cada grau de

Page 41: Sist Pneum e Hid atuando nos Robôs

41

mobilidade. Este procedimento pode ser aplicado em qualquer cadeia cinemática aberta e pode ser facilmente reescrito em uma operação formal como:

1. Encontre e numere consecutivamente os eixos de junta; estabelecendo a direção dos eixos z0, z1, ...,zn-1.

2. Escolha o sistema de referência de base pela alocação da origem no eixo z0; os eixos x0 e y0 são escolhidos de forma a obter um sistema de referência baseado na regra da mão direita.

Execute os passos 3 a 5 para i=1,...,n-1: 3. Localize a origem Oi na interseção de zi com a normal comum aos eixos zi-1 e zi.

Se os eixos zi-1 e zi são paralelos e a junta i é do tipo revolução, então localize Oi tal que di=0; mas, se a junta i é do tipo prismática, localize Oi na posição de referência para a faixa da junta, isto é, no limite mecânico.

4. Escolha o eixo xi ao longo da normal comum aos eixos zi-1 e zi, com direção da junta i para a junta i+1.

5. Escolha o eixo yi de forma a obter um sistema de referência baseado na regra da mão direita.

Para completar: 6. Escolha o último sistema de referência n com eixo xn normal ao eixo zn-1; se a

junta n é do tipo revolução, então alinhe zn com a direção zn-1. 7. Para i=1,..,n monte a tabela de parâmetros ai, di, αi e νi. 8. Com base nos parâmetros de 7, obtenha as matrizes de transformação

homogênea Aii-1(qi) para i=1,...,n.

9. Obtenha a função de cinemática direta Tn0 = A1

0...Ann-1 que leva a posição e

orientação do sistema de referência n com respeito ao sistema de referência de base.

Page 42: Sist Pneum e Hid atuando nos Robôs

42

Cinemática da Estrutura de Manipuladores Típicos c.1) Braço Plano com Três Elos

Figura 4.9 – Braço plano com três elos

Parâmetros de Denavit-Hartenberg

Link ai αi di υI 1 a1 0 0 υ1 2 a2 0 0 υ2 3 a3 0 0 υ3

Cinemática Direta:

++++−

=

10000100

00

)( 123312211123123

123312211123123

03

sasasacscacacasc

qT

Page 43: Sist Pneum e Hid atuando nos Robôs

43

c.2) Braço Esférico

Figura 4.10 – Braço esférico

Parâmetros de Denavit-Hartenberg

Link ai αi di υI 1 0 - π/2 0 υ1 2 0 π/2 d2 υ2 3 0 0 d3 0

Cinemática Direta:

−+−−

=

10000

)(3222

2132121121

2132121121

03 dccs

dcdssssccsdsdscscscc

qT

Page 44: Sist Pneum e Hid atuando nos Robôs

44

c.3) Braço Articulado

Figura 4.11 – Braço articulado

Parâmetros de Denavit-Hartenberg

Link ai αi di υI 1 0 π/2 0 υ1 2 a2 0 0 υ2 3 a3 0 0 υ3

Cinemática Direta:

++−−+−

=

10000

)()(

)(233222323

2332211231231

2332211231231

03 sasacs

cacascsscscacacssccc

qT

Page 45: Sist Pneum e Hid atuando nos Robôs

45

c.4) Punho Esférico

Figura 4.12 – Punho esférico

Parâmetros de Denavit-Hartenberg

Link ai αi di υI 1 0 - π/2 0 υ4 2 0 π/2 0 υ5 3 0 0 d6 υ6

Cinemática Direta:

−+−+−−−

=

1000

)(6556565

654546465464654

654546465464654

36 dccsscs

dssssccscsscccsdscscsssccssccc

qT

Page 46: Sist Pneum e Hid atuando nos Robôs

46

c.5) Manipulador de Stanford

Page 47: Sist Pneum e Hid atuando nos Robôs

47

Figura 4.13 – Manipulador de Stanford

Parâmetros de Denavit-Hartenberg

Link ai αi di υI 1 0 - π/2 0 υ1 2 0 π/2 d2 υ2 3 0 0 d3 0 4 0 - π/2 0 υ4 5 0 π/2 0 υ5 6 0 0 d6 υ6

Cinemática Direta:

=

1000)(0

6

oooo pasnqT

onde:

−−−++−−+−−−

=

652646542

6465416526465421

64654165264654210

)()())(()())((

cscsscccsscccsccssssccccsscccsscssssccccc

n

+++−+++−+−−++−

=

652646542

6465416526465421

64654165264654210

)()())(()())((

ssccssccsccscscssscsscccsccscssssscsscccc

s

+−++−+

=

52542

541525421

5415254210 )(

)(

ccscsssccssccsssscssccc

a

+−+++++−++−

=

65254232

654152542121321

6541525421213210

)())(())((

dccscsdcdssccssccsdcdssdssscsscccdsdsc

p

Page 48: Sist Pneum e Hid atuando nos Robôs

48

c.6) Braço Articulado com Punho Esférico

Figura 4.14– Braço articulado com punho

esférico

Parâmetros de Denavit-Hartenberg

Link ai αi di υI 1 0 π/2 0 υ1 2 a2 0 0 υ2 3 0 π/2 0 υ3 4 0 - π/2 d4 υ4 5 0 π/2 0 υ5 6 0 0 d6 υ6

Cinemática Direta:

=

1000)(0

6

oooo pasnqT

onde:

+−+−−−++−−

=

65236465423

646541652364654231

6465416523646542310

)()())(()())((

cscsscccsscccsccssssccccsscccsscssssccccc

n

−+−+−−++−+−+++−

=

65236465423

646541652364654231

6465416523646542310

)()())(()())((

ssccssccsscscscssscsscccsscscssssscsscccc

s

−−+++

=

5235423

54152354231

541523542310 )(

)(

ccscsssccssccsssscssccc

a

−+−−+++++++

=)(

))(())((

5235423623422

5415235423162314212

54152354231623142120

ccscsdcdsassccssccsdssdcsassscsscccdscdcca

p

Page 49: Sist Pneum e Hid atuando nos Robôs

49

4.3 Espaços das juntas e cartesianos

As variáveis das juntas podem ser colocadas como elementos de um vetor ao qual se atribui o nome de vetor das juntas(q). O conjunto de todos os vetores das juntas é denominado espaço das juntas. O termo espaço cartesiano é utilizado para designar o espaço onde a posição é descrita através de um sistema de eixos ortogonais e a orientação, através de uma das formas estudadas. Até este ponto, estivemos envolvidos com o problema de calcular uma descrição no espaço cartesiano a partir de uma descrição no espaço das juntas. Nós também admitimos até agora que cada junta está sob a ação direta de um atuador. Contudo, isto nem sempre é verdadeiro para os robôs industriais. Por exemplo, dois atuadores podem operar de forma conjunta, como um par diferencial, para movimentar uma única junta; ou um atuador linear pode ser utilizado para girar uma junta rotacional.

4.4 Sistemas de Referência Padrões

A figura abaixo contém os cinco sistemas de coordenadas mais usuais em programação de robôs e controle.

Fig 4.15 – Sistemas de referência de coordenadas

Sistema da Base {B} Este é o sistema convencionado até aqui como {0}.

Sistema da Estação {S} O sistema {S} é escolhido numa localização conveniente para a tarefa, sendo todas as ações do robô especificadas com relação a ele. Também é chamado sistema da tarefa, sistema global ou sistema universal. Este sistema é sempre descrito com referência ao sistema da base, isto é, B

ST .

Page 50: Sist Pneum e Hid atuando nos Robôs

50

Sistema do Punho {W} O sistema {W} é fixado ao último ligamento do manipulador. Este é o sistema convencionado até aqui como sendo {n}. Também este sistema deve ser descrito com relação ao sistema da base, isto é, O

nB

W TT = .

Sistema da Ferramenta {T} Este sistema é fixado ao extremo da ferramenta carregada pelo robô. Quando a mão do robô está vazia, sua origem se localiza em geral entre as extremidades da garra.

Sistema do Objetivo {G} O sistema {G} é tal que o sistema da ferramenta deve coincidir com ele no final do movimento. {G} é sempre especificado com relação ao sistema {S}: S

GT .

4.5 Localização da Ferramenta Uma das questões fundamentais para a utilização do robô é descrever a posição e a orientação da ferramenta com precisão em relação ao sistema da estação, isto é, S

TT :

Em alguns robôs, esta equação é implementada através de uma função disponível para o usuário. Essa equação pode ser vista como uma generalização da cinemática, já que, além da cinemática direta ( B

WT ), ela inclui a ferramenta e o sistema da estação.

4.6 Cinemática Inversa

Neste caso, dadas a posição e orientação do efetuador, deseja-se determinar todos os possíveis conjuntos de coordenadas que produzem tal posição e orientação. Este problema é mais complicado que o da cinemática direta, pois as equações cinemáticas envolvidas são não-lineares e além disto surgem as questões da existência e da multiplicidade de soluções. A solução deste problema é subdividida em duas etapas:

i) determinação de BWT e 0

nT ; ii) utilização da cinemática inversa para obter os ângulos das juntas.

Solubilidade

O problema da cinemática inversa pode ser posto da seguinte forma: dada 0nT ,

determinar as coordenadas das juntas (q1, q2,...,qn). No caso geral, a submatriz 3x4 contida em 0

nT contém senos e cossenos dos iθ 's e portanto, o problema se reduz a resolver um conjunto de equações não lineares transcendentes e, muitas vezes, de difícil solução. Note-se que, por exemplo, no caso de um manipulador com seis graus de liberdade, teríamos 12 equações e 6 incógnitas (lembre-se que há redundância entre os elementos da matriz de

Page 51: Sist Pneum e Hid atuando nos Robôs

51

rotação). O sistema de equações não lineares a ser resolvido pode ter nenhuma (quando, por exemplo o efetuador está fora do espaço de trabalho), apenas uma ou diversas soluções.

Existência de Soluções

A questão da existência ou não de soluções está diretamente ligada ao conceito de espaço de trabalho, que é o conjunto de todos os pontos possíveis de ser alcançado pelo efetuador. Às vezes é útil falar em espaço de trabalho destro e espaço de trabalho alcançável. Defini-se espaço de trabaho destro como o conjunto de pontos do espaço que pode ser atingido pelo efetuador com orientação arbitrária. Entende-se por espaço de trabalho alcançável o conjunto de pontos do espaço que pode ser atingido com pelo menos uma orientação. Obviamente o espaço de trabalho destro é um subconjunto do espaço de trabalho alcançável. Consideremos o espaço de trabalho do manipulador de dois graus de liberdade abaixo:

Figura 4.16 – Manipulador com 2 graus de liberdade

se L1=L2, então: o espaço de trabalho alcançável é um círculo de raio L1+L2=2.L1; o espaço de trabalho destro se reduz a um ponto(origem do primeiro ligamento).

se L1≠L2, então: o espaço de trabalho destro é vazio; o espaço de trabalho alcançável é um disco com raio externo L1+L2 e raio interno |L1 – L2|.

No interior do espaço de trabalho alcançável há duas orientações possíveis do efetuador (veja figura abaixo), enquanto que na fronteira do espaço de trabalho há apenas uma.

Figura 4.17 – Possíveis orientações do efetuador

Page 52: Sist Pneum e Hid atuando nos Robôs

52

Deve-se notar que, nas condições acima, estamos admitindo que cada junta tem uma excursão de 360o em torno de seu eixo, o que não é verdadeiro, em geral. Manipuladores com menos de 6 graus de liberdade não podem atingir posições e orientações arbitrárias no espaço tridimensional. Assim, o manipulador acima, por exemplo, não pode alcançar pontos localizados fora do plano de movimento. O espaço de trabalho depende também do sistema de referência da ferramenta {T}, já que, em geral, é a extremidade da ferramenta que se considera quando se fala de pontos alcançáveis.

Normalmente a transformação do sistema da ferramenta é calculada independentemente da cinemática e da cinemática inversa do manipulador. Assim, freqüentemente se considera o espaço de trabalho do punho {W}. Para um dado efetuador define-se o sistema {T}; dado o sistema do objetivo {G}, calcula-se o {W} correspondente e então, coloca-se a questão se a posição e a orientação de {W} pertencem ao espaço de trabalho.

Multiplicidade de soluções

Um manipulador planar com três juntas rotacionais tem um "grande" espaço de trabalho destro (desde que tenha "bons"comprimentos de ligamentos e excursão ampla das juntas). A figura a seguir mostra duas das possíveis soluções correspondentes a uma dada posição e orientação do efetuador.

Figura 4.18 – Manipulador planar com três juntas rotacionais

O fato de que haja múltiplas soluções pode trazer problemas, pois o sistema deve ser

capaz de selecionar uma delas. O critério pode variar, sendo que uma escolha bastante comum é aquela correspondente à solução mais próxima da atual. Observa-se, contudo que essa noção de proximidade pode ser expressa de formas diversas. Assim, por exemplo, são comuns os robôs com três ligamentos seguidos por três menores próximos ao efetuador. Neste caso, podemos atribuir pesos maiores aos deslocamentos dos ligamentos grandes, de maneira que a solução tenda a favorecer o movimento dos pequenos ligamentos. Por outro lado a existência de obstáculos pode fazer com que a solução do problema seja uma "mais distante", mas que evita a ocorrência de colisão. Obviamente, o número de soluções depende não só do número de juntas do manipulador, como também dos seus parâmetros. Em geral, quanto maior o número de parâmetros não nulos, maior o número de soluções para o problema da cinemática inversa.

Page 53: Sist Pneum e Hid atuando nos Robôs

53

Método de solução

As estratégias de solução do problema da cinemática inversa podem ser agrupadas em duas classes amplas: soluções na forma fechada (analíticas) e soluções numéricas. De maneira geral, a resolução numérica é muito mais lenta do que aquela em forma fechada. Além disso, considera-se resolvido o problema cinemático inverso quando todas as soluções forem encontradas, o que exclui diversos métodos iterativos que não as produzem todas. Nesta disciplina nós vamos tratar apenas das soluções em forma fechada, para as quais vamos estudar dois métodos de obtê-las: algébrico e geométrico. Todos os manipuladores com 6 graus de liberdade numa cadeia seriada podem ser resolvidos. Entretanto, apenas parte deles apresenta solução em forma fechada. Como as soluções analíticas são preferíveis as numéricas, pois o cálculo daquelas é mais rápido, atualmente praticamente todos os manipuladores industriais são projetados de maneira a apresentarem solução na forma fechada. Uma condição suficiente para isto em manipuladores de 6 juntas rotacionais é que 3 eixos consecutivos se intersectem num mesmo ponto. Podemos citar como exemplo o manipulador PUMA 50 que tem seus eixos 4,5 e 6 satisfazendo a esta condição.

Sub-Espaço do Manipulador

Da mesma forma que o espaço de trabalho de um manipulador de 6 graus de liberdade (gdl) é um subconjunto do espaço, o espaço de trabalho de manipuladores com n<6 gdl pode ser encarado como um subconjunto de um subespaço con n gdl. Assim por exemplo, o subespaço do manipulador de 2 gdl da fig. 4.16 é um plano, ao passo que o espaço de trabalho é um disco de raio externo L1 + L2 e raio interno |L1 – L2|. Uma forma de especificar o subespaço de um manipulador de n gdl é escrever uma expressão geral para um sistema do punho (ou da ferramenta) em função das n coordenadas das juntas e então considerar todos os valores possíveis para elas (sem quaisquer restrições sobre faixas de valores).

Figura 4.19 – Exemplo de orientação e posicionamento para o manipulador planar com três juntas rotacionais

Page 54: Sist Pneum e Hid atuando nos Robôs

54

O subespaço deste manipulador é gerado considerando que x,y e φφφφ assumem valores arbitrários. Qualquer 'B

WT que não tenha a estrutura de BWT não pertence ao subespaço (e, é

claro, ao espaço de trabalho) deste manipulador. Os comprimentos dos elos e os limites sobre os ângulos das juntas restringem o espaço de trabalho como um subconjunto deste subespaço. A definição do objetivo para um manipulador de n gdl requer normalmente o uso de n parâmetros. Por outro lado, dada uma especificação mínima com 6 gdl, será impossível satisfazê-la com um manipulador de n<6 gdl. Neste caso, estaremos interessados em atingir um objetivo que pertença ao subespaço do manipulador e esteja tão próximo quanto possível do objetivo original. Assim a estratégia de solução quando se especificam objetivos genéricos para um manipulador com menos de 6 gdl é:

1. Dado SGT , obtenha S

GT ' no subespaço do manipulador que seja o mais próximo possível de S

GT . 2. Resolva o problema da cinemática inversa e obtenha os valores das coordenadas das

juntas (note que este problema não terá solução se o ponto não estiver no espaço de trabalho do manipulador).

Solução Algébrica x Solução Geométrica Vamos considerar o manipulador planar da figura a seguir:

Figura 4.20 – Exemplo a ser resolvido Solução Algébrica

Suponhamos que o usuário tenha especificado a posição e a orientação da ferramenta em relação ao sistema da estação S

TT e que, após levarmos em conta WTT e B

ST , possamos considerar o problema em termos de B

WT :

Page 55: Sist Pneum e Hid atuando nos Robôs

55

O objetivo, como estamos tratando com um manipulador de 3 dgl, pode ser expresso através de 3 parâmetros que definem a posição e a orientação do punho (x, y, φφφφ):

Igualando esta matriz a BWT obtemos:

(1)

(2)

(3)

(4)

e o problema da cinemática inversa consiste em determinar θθθθ1, θθθθ2 e θθθθ3 a partir destas equações. Note que a 2a equação permite que se elimine uma indeterminação de quadrante do ângulo θθθθ1+θθθθ2+θθθθ3. De (3) e (4):

de onde resulta:

e portanto,

Destas duas últimas equações obtemos θθθθ2:

Tendo θθθθ2, as equações (3) e (4) fornecem θθθθ1. Para isto, definimos

Page 56: Sist Pneum e Hid atuando nos Robôs

56

e as equações (3) e (4) podem ser reescritas como:

(5)

(6)

Definindo agora r e γγγγ:

temos:

o que permite reescrever (5) e (6):

Ou seja:

de onde vem:

Tendo θθθθ1 e θθθθ2, as equações 5.1 e 5.2 fornecem θθθθ3:

, ou seja,

Resumindo o método algébrico consiste basicamente em manipular as equações dadas de forma conveniente (utilizando identidades trigonométricas). Solução geométrica

Neste caso, o procedimento de solução baseia-se na decomposição da geometria espacial do braço em diversos problemas de geometria plana. Para muitos manipuladores (em particular aqueles que αi = 0 ou αi = ±90o) este procedimento pode ser utilizado com

Page 57: Sist Pneum e Hid atuando nos Robôs

57

relativa facilidade. Passemos, então ao manipulador planar. Aplicando a lei dos cossenos ao triângulo abaixo.

Figura 4.21 – Aplicação da lei dos cossenos temos:

de onde resulta que:

Também aqui, para que esta equação tenha solução é necessário que a figura seja de fato um triângulo, isto é,

o que significa que o punho deve pertencer ao espaço de trabalho. Projetando no eixo 0X̂ :

ou seja,

e portanto:

(7)

Quanto à projeção no eixo 0̂Y temos:

ou seja

e portanto:

(8)

Page 58: Sist Pneum e Hid atuando nos Robôs

58

Definindo

podemos reescrever então (7) e (8):

que é exatamente o mesmo sistema do problema anterior (eqs. 5 e 6). Portanto

onde

e por fim teremos

Solução Algébrica via Redução Polinomial

A cinemática inversa é um problema um pouco trabalhoso de resolver porque as equações envolvem, em geral, senos e cossenos dos ângulos das juntas (incógnitas).

As expressões a seguir:

permitem transformar as equações transcendentes em equações polinomiais. Considerando que polinômios de até grau 4 possuem solução analítica, manipuladores suficientemente simples podem ser resolvidos desta forma.

Page 59: Sist Pneum e Hid atuando nos Robôs

59

4.7 Cinemática Diferencial Nas seções anteriores as equações de cinemática direta e inversa estabeleceram as relações entre as coordenadas de juntas e a posição e orientação do efetuador final. Na cinemática diferencial são estudadas as relações entre a velocidade descrita pelo efetuador final em relação às velocidades angulares e lineares das coordenadas de junta. Tal relação é descrita por uma matriz denominada Jacobiano Geométrico, a qual é dependente da configuração do manipulador. Alternativamente se a localização do efetuador final for descrita em termos mínimos de espaço operacional, é possível realizar o cômputo da matriz Jacobiana através da operação de diferenciação da função de cinemática direta com respeito às variáveis de junta. O Jacobiano resultante, chamado Jacobiano Analítico em geral difere do Jacobiano Geométrico. O Jacobiano se constitui numa das mais importantes ferramentas para caracterização de manipuladores; de fato, ele é utilizado para encontrar configurações singulares, análise de redundâncias, determinação de algoritmos de cinemática inversa, descrição do mapeamento de forças (estáticas) aplicadas nas juntas a partir da carga no efetuador final, além de servir como base para obtenção da equação da dinâmica e esquema de projeto de controladores no espaço operacioal. Jacobiano Geométrico Considerando um manipulador com n graus de liberdade. A equação de cinemática direta pode ser escrita na forma:

=

10)()(

)( T

qpqRqT

onde q=[q1, q2, ..., qn]T é o vetor de variáveis de junta. Sendo que, tanto a posição como a orientação do efetuador final, variam quando se alteram as variáveis de junta. O objetivo da cinemática diferencial é então encontrar as relações entre as velocidades nas variáveis de junta e a velocidade linear e angular no efetuador final. Em outras palavras, deseja-se expressar a velocidade linear p� e a velocidade angular ω como uma função das velocidades de junta q� por meio das seguintes relações:

qqJp P �� )(= qqJ �)(0=ω

Observa-se que v e ω são vetores livres pois suas direções no espaço são descritas enquanto os seus pontos e retas de aplicação não são descritas. Na primeira das duas equações anteriores o termo JP é uma matriz (3 × n) relativa a contribuição da velocidade das variáveis de junta q� na velocidade linear do efetuador final p� , enquanto na segunda equação J0 é uma matriz (3 × n) relativa à contribuição da

Page 60: Sist Pneum e Hid atuando nos Robôs

60

velocidade das variáveis de junta q� na velocidade angular do efetuador final ω . De uma forma mais compacta, estas equações são reescritas como:

qqJp

v ��

)(=

=

ω

a qual representa a equação de cinemática diferencial de um manipulador. A matriz J (6 × n) é o Jacobiano Geométrico do manipulador, e é uma função das variáveis de junta do mesmo. Para obter esta matriz é necessário empregar as propriedades de rotação de matrizes bem como conhecimentos resultantes da análise d\cinemática de corpos rígidos. Um desenvolvimento completo de tal assunto pode ser encontrado nas referencias [PAU-81] e [SCI-96].

Page 61: Sist Pneum e Hid atuando nos Robôs

61

5. Introdução à Dinâmica

O tópico de dinâmica do robô diz respeito à análise dos torques e forças devidas à aceleração e desaceleração. Torques experimentados pelas juntas, devidos à aceleração dos elos, bem como forças experimentadas pelo elos, devidos aos torques aplicados pelas juntas, estão incluídas no âmbito da análise dinâmica. A solução para acelerações dos elos é difícil em virtude de inúmeros fatores. Por um lado, a aceleração é dependente da inércia do braço. Todavia, a inércia é dependente da configuração do braço, e isto está continuamente se alterando quando as juntas são movidas. Um fator adicional que influencia a inércia é a massa da carga e sua posição em relação às juntas. Isto também se altera quando as juntas são movidas. A figura a seguir mostra o braço de dois elos nas configurações de inércia máxima e mínima.

Figura 5.1 - Inércias do braço: (a) inércia mínima em torno de J1;

(b) inércia máxima em torno de J2.

Figura 5.2 - Forças dinâmicas e torque para um robô articulado.

Os torques requeridos para acionar o braço do robô são determinados não somente pelas forças estáticas e dinâmicas descritas acima; cada junta deve também reagir aos torques de outras juntas no manipulador, e os efeitos dessas reações têm de ser incluídos na

Page 62: Sist Pneum e Hid atuando nos Robôs

62

análise. Por outro lado, se o braço mover-se a uma velocidade relativamente alta, os efeitos centrífugos podem ser bastante significativos. Os diversos torques aplicados ao manipulador de duas juntas estão ilustrados na figura anterior. Esta análise torna-se substancialmente mais complexa quando o número de juntas é aumentado. O modelo dinâmico dos manipuladores tem um importante papel na simulação de movimentos, na análise da estrutura dos manipuladores, e no projeto de algoritmos de controle. A simulação de movimentos do robô permite testar estratégias de controle e técnicas de planejamento de trajetória sem a necessidade de usar um sistema físico. A análise do modelo dinâmico também é útil para se projetar protótipos da estrutura mecânica dos elos. Através do cálculo das forças e torques requeridos para os movimentos típicos fornece informações relevantes para o projeto das juntas, transmissões e atuadores. A equação matricial genérica que descreve o modelo dinâmico dos manipuladores tem a forma:

τ=+++ )(),()( qgqFqqqCqqB V���� onde: )(qB é a matriz que representa as inércias e seus acoplamentos. ),( qqC � representa os coeficientes de aceleração Centrípeta e de Coriolis. VF representa os coeficientes de atrito viscoso. )(qg representa a ação gravitacional em cada junta. qqq ,, ��� respectivamente: aceleração, velocidade e posição. τ é o torque exigido para realização de um movimento. O exemplo da figura abaixo mostra os resultados obtidos a partir do conhecimento do modelo dinâmico de um braço planar com dois elos,

Figura 5.3 - Parâmetros de um braço planar com dois elos

Page 63: Sist Pneum e Hid atuando nos Robôs

63

onde pode-se obter os gráficos ilustrados a seguir:

Figura 5.4 Gráficos de posição, velocidade, aceleração e torque.

Page 64: Sist Pneum e Hid atuando nos Robôs

64

6. Controle de Robôs

6.1 A Questão do Controle A tecnologia empregada na construção de um robô manipulador tem um papel preponderante sobre o esquema de controle que pode (ou deve) ser aplicado no controle de seus movimentos. Aspectos como o tipo de movimentação exigido (ponto-a-ponto ou com controle de trajetória) bem como sua estrutura mecânica (cartesiano, polar, cilíndrico, antropomórfico, etc) também devem ser considerados na definição do controle dos acionadores. Quanto ao tipo de acionamento, os robôs podem ter provedores de força pneumática, hidráulica, mas são os acionadores eletromecânicos (servomotores) os mais empregados em robôs manipuladores. Um fator relativo a forma de acionamento que afeta decisivamente o controle do robô é a presença, ou não, de transmissões mecânicas redutoras. Se, por um lado, o acionamento direto evita a presença de folgas e atritos nas juntas, por outro faz com que as não linearidades do sistema se acentuem, elevando o grau de complexidade exigido no controle, como será visto adiante. Basicamente há dois esquemas principais para o controle de um robô manipulador. Tais esquemas levam em consideração o foco do controle,conforme ilustração a seguir.

(a)

(b) Figura 6.1 - Esquema geral de controle: (a) no espaço de junta e (b) no espaço operacional

Page 65: Sist Pneum e Hid atuando nos Robôs

65

Tais esquemas, como elucida a ilustração, diferem pelo fato de que no primeiro (espaço de junta) não são levados em consideração erros de posicionamento do efetuador final relativos a tolerância construtivas, desvios de calibração e folgas nas engrenagens. Entretanto, devido a sua maior simplicidade, é o esquema mais utilizado industrialmente. Basicamente a tarefa deste esquema de controle consiste em se realizar os cálculos de cinemática inversa e correção de erros de posicionamento de cada junta individualmente. Já no esquema de controle no espaço operacional, há a vantagem de que o foco do controle é sobre o efetuador final (ainda que esta vantagem possa ser prejudicada pela medição indireta do efetuador) o qual terá força e movimentos constantemente corrigidos. Neste esquema de controle há uma maior complexidade nos algoritmos empregados, visto que, terão embutidos em si a cinemática inversa.

6.2 Controle no Espaço de Junta A partir da equação da dinâmica de um manipulador, já vista anteriormente:

τ=+++ )(),()( qgqFqqqCqqB V���� e, considerando que são utilizados transmissões rígidas e sem folgas, ou seja:

qKq rm = ττ 1−= rm K

pode-se reescrever a equação da dinâmica no formato,

dqFqKBK mmmrrm ++= −−��

11τ

bastando, para tal, considerar que os termos da constante de inércia foram desmembrados diagonal da matriz ( B ) e aqueles dependentes da posição (∆ B(q)) tal que:

)()( qBBqB ∆+= e, considerar ainda que todos os termos acoplados por interdependência das juntas foram agrupados na variável perturbação (d) como a seguir:

)(),()( 11111 qgKqKqqCKqKqBKd rmrrmrr−−−−− ++∆= ����

Com este arranjo o modelo passa a ser composto por dois subsistemas. Um linear e

desacoplado τ = f( q�� , q� ) e outro não linear e acoplado d = f( q�� , q� ,q) conforme pode-se perceber pelo diagrama a seguir:

Page 66: Sist Pneum e Hid atuando nos Robôs

66

Figura 6.2 - Diagrama de blocos para o manipulador com drives

Um tal sistema permite que seja aplicado um controle com duas possíveis

estratégias: centralizado e descentralizado. Com a estratégia de controle centralizado o acionamento de cada eixo recebe do controlador um torque adicional com finalidade de compensar o efeito causado pelo estado das outras juntas. É o caso, por exemplo, que se deve aplicar quando se tem acionamentos direto (sem reduções) nos quais efeito das não linearidades torna-se significante (Kr=1). Entretanto quando se utilizam grandes relações de redução (Kr�1) os efeitos das não linearidades dos sistemas são sensivelmente reduzidos, podendo-se tratar cada junta de forma independente e, considerando a pequena parcela não linear (d) como se fosse uma mera perturbação no sinal de controle.

6.3 Controle Independente por Junta A mais simples estratégia de controle que pode ser adotada, para manipulador de n juntas, é tratar cada junta como um sistema isolado, com apenas uma entrada e uma saída, considerando os efeitos da interação inter-juntas como se fossem perturbações, como já visto anteriormente.

Page 67: Sist Pneum e Hid atuando nos Robôs

67

O tipo mais freqüente de atuador utilizado para acionamento de manipuladores é o motor elétrico de corrente continua. O modelo genérico de um servo motor DC com amplificador, desconsiderando-se sua indutância, é:

Figura 6.3 - Diagrama de blocos do sistema de acionamento da junta onde, Vc é a tensão de controle de entrada Gv é o ganho do amplificador kt é a constante de torque do motor Ra é a resistência da armadura I é a inércia total do sistema refletida no eixo de motor D é a parcela não-linear acoplada do sistema, tratado como perturbação kv é a constante tensão/velocidade ( ou constante do motor ) ΘΘΘ ,, ��� representam respectivamente aceleração, velocidade e a posição Va é a tensão de saída do amplificador o qual é aplicada à armadura do motor Sendo a equação de transferência apenas do motor dada por:

+=Θ

skk

IRsk

sVs

vt

a

v

a

1.1...1

1

)()( (1)

Na qual o termo 1/kv representa o ganho (km) velocidade-tensão, e a relação (RaI/ktkv) representa a constante de tempo (Tm) do motor, levando ao seguinte novo diagrama de blocos:

Figura 6.4 - Diagrama de blocos do acionamento com servo-motor

Page 68: Sist Pneum e Hid atuando nos Robôs

68

6.4 Controle em malha fechada A garantia de uma alta rejeição à perturbação (d) na saída (θ) do sistema é assegurada por um alto ganho de amplificação do sinal de entrada antes do ponto de intervenção de tal distúrbio. Além disto, a presença de uma ação de controle do tipo integrativa irá garantir o cancelamento do efeito do componente gravitacional. Este último fato pode ser comprovado pelo teorema do valor final, como demonstrado a seguir: TEOREMA DO VALOR FINAL:

)()( limlim0

ssFtfst →∞→

= (2)

Aplicando-se um controle PI, conforme sugerido, têm-se:

Figura 6.5 - Diagrama de blocos com controlador PI

onde: θr = posição desejada KP = ganho “proporcional” do controlador PI TP = tempo integral do controlador kTP = constante do transdutor de posição Do qual pode-se extrair a seguinte relação:

)(.1.1

1)()(

sMssTKks

sEP

PTPr

++=

Θ (3)

, com )1.(

)(m

m

sTsksM+

=

Assim, aplicando-se um degrau unitário em (3), o qual representa uma perturbação constante, tem-se:

)().1.(1

1.1)()(

sMssTKkss

sEP

PTPr

++=

Θ (4)

que, pelo teorema do valor final dado em (2) implica:

0)()).1.((1)().1.(1

1.1. limlim00

=++

=++ →→ sMsTKks

sMssTKks

sPPTPsP

PTPs

(5)

Ou seja, o erro tende para zero quando se utiliza um controlador do tipo PI. Por outro lado, se não houvesse a componente integral no controlador ter-se-ia:

)(11.1

)()(

sMKksssE

PTPr +=

Θ e, 0

)(11.1.lim

0≠

+→ sMKkss

PTPs

cujo valor irá depender das características do elemento controlado, no caso, o motor.

Page 69: Sist Pneum e Hid atuando nos Robôs

69

A seguir serão estudadas formas de controle em malha fechada levando-se em consideração a realimentação de posição, de velocidade e de aceleração, buscando-se determinar as ações que cada uma destas alternativas impõem ao sistema controlado.

Realimentação de Posição O diagrama de blocos, para o sistema estudado, com realimentação de posição e controlador PI, como ilustrado na figura anterior, mostra que a função de transferência de ação direta P(s) é:

)1()1(

)1(.1)( 2

m

PPm

m

mPP sTs

sTKksTs

kssTKsP

++

=

+

+= (6)

e a função de transferência de realimentação H(s) é:

TPksH =)( as quais levam a uma função de transferência a malha fechada:

)1()1(

1

1

)().(11

)(1

)()(

2

PTPPm

m

TP

r

sTkKksTs

k

sHsP

sHss

++

+=

+=

ΘΘ (7)

Uma análise do lugar das raízes com respeito a relação entre o ganho TP do controlador com relação a constante de tempo do motor Tm mostra que o sistema se torna instável para valores de TP < Tm. É conveniente, então, que TP > Tm, sendo que quanto maior esta relação mais próximos das assíntote estarão as raízes, e o sistema terá uma resposta mais rápida.

Figura 6.6 - Gráfico do lugar das raízes TP � Tm :

a) TP < Tm b) TP > Tm

c) TP � Tm

Page 70: Sist Pneum e Hid atuando nos Robôs

70

A função de transferência entre o sinal de perturbação e saída tem uma função de transferência de ação direta:

)1()(

m

m

sTsksP+

=

e uma função de transferência de realimentação:

ssTKksH P

PTP+

=1

..)(

que levam a uma função de transferência de malha direta:

)1()1(

1

)1(

)(1

)(11

)(1

)()(

2

PTPPm

m

PTPPt

a

t

a

sTkKksTs

sTkKksR

sHsP

sHkR

sDs

++

+

+−=

+×−=Θ (8)

a qual mostra que com o acréscimo de KP serão minimizados erros causados por transientes de perturbação. A função (8) tem dois pólos complexos, um pólo real e um zero na origem. Este último, devido ao controlador PI, irá cancelar os efeitos da gravidade sobre a posição angular quando θr for constante. O termo KP.kTP � XR, é interpretado como fator de rejeição à perturbação, o qual representa o ganho da realimentação de erros. Tal fator, se ajustado de forma muito elevada poderá levar a saída a oscilações, indesejáveis, ainda que o tempo de restabelecimento seja reduzido. O sistema descrito por (7) pode ser comparado a um sistema de 3o. ordem, que por sua vez, pode ser representado por:

( )τζωωω s

ss

sTksW

nn

n

PTP

+

++

+=

12

)1(1

)(

22

2 (9)

onde, ϖn = freqüência natural do sistema ζ = taxa de amortecimento -1/τ = pólo do equivalente de 1o. ordem

Page 71: Sist Pneum e Hid atuando nos Robôs

71

e neste caso pode-se verificar pela análise do lugar das raízes apresentados que para um TP�Tm o valor ζϖn (parte real do par de pólos complexos) será maior do que o pólo real 1/τ, o qual será praticamente idêntico a 1/TP. Neste caso o zero que se situa em –1/TP (como visto na função ω(s)) irá cancelar o efeito do pólo real. Adicionalmente um valor estimado para o tempo de restabelecimento da saída em caso de uma perturbação na sua posição angular, pode ser obtido de:

TR = Máximo {Tp , 1/ζωn} devido ao fato de se considerar τ ≈ TP para valores de TP �Tm.

Realimentação de Posição e Velocidade Para um tal tipo de controle utiliza-se o seguinte esquema:

Figura 6.7 - Diagrama de blocos com realimentação de posição e velocidade

Neste caso observa-se que: KP → ação de controle de posição tipo proporcional

ssTk V

V+1 → ação de controle de velocidade tipo PI

kv = ganho proporcional do controlador PI Tv = constante de tempo do controlador PI kTV → constante do transdutor de velocidade Pelo diagrama da figura 4 pode-se identificar a função de transferência de ação direta como:

Page 72: Sist Pneum e Hid atuando nos Robôs

72

+

+=)1(

1)(m

mVvP sTs

kssTkKsP (10)

e a função de transferência de realimentação dada pela soma:

+=+=

TPP

TVTP

P

TVTP kK

kskK

skksH 1)( (11)

Que levam a uma função de transferência de malha fechada:

+

××+×

+×+

+=

+=

ΘΘ

TPP

TVTPm

m

VV

P

TPP

TVTP

r

kKks

kksTs

ssTKK

kKksk

sHsP

sHss

1

11)1(1

111

1

11

)(1

)(11

)(1

)()( (11)

a qual, quando simplificada leva a:

)1()1(1

1

)()(

2

VVTPPm

m

TPP

V

TP

r

sTKkKksTs

kKKs

kss

++++

=ΘΘ (12)

tendo o seguinte diagrama do lugar das raízes para o ganho dado por TVVm kKk

Figura 6.8 - Lugar das raízes para esquema de controle com realimentação de posição e

velocidade

Page 73: Sist Pneum e Hid atuando nos Robôs

73

que, se tiver a constante de tempo Tv do integrador ajustada adequadamente de forma a cancelar o pólo do motor )/1/1( mv TT = leva a seguinte nova equação de transferência em malha fechada:

VTPPmTPP

TV

TP

r

KkKks

kKks

kss

2

1

1

)()(

++=

ΘΘ (13)

A equação (13) pode ser comparada a uma típica função de transferência de 2a ordem onde o termo em s2 conduz a relação:

VTPPmn KkKk=2ω

m

nVTPP k

KkK2ω=∴ (14)

e o termo em s conduz a:

TPP

TV

n kKk=

ωζ2 (15)

o qual multiplicando por (ωn/ωn) e aplicando (14) no resultado leva:

TPP

TV

VTPPm

n

kKk

KkKk=ζω2

m

nTVV k

kK ζω2=∴ (16)

Assim, conhecendo-se as constantes dos transdutores (kTP e kTV) ajusta-se o ganho Kv através da relação (16) e, a constante KP é obtida pela relação (15).

A função da transferência perturbação / saída em malha fechada tem a ação direta dada pela função de transferência do motor:

)1()(

m

m

sTsksP+

=

e uma função de transferência de realimentação obtida a partir do diagrama da Fig 4 dada por:

Page 74: Sist Pneum e Hid atuando nos Robôs

74

+

+=

ssTKKk

KkssH V

PVTPP

TV 1)(

que levarão a uma função de transferência em malha fechada:

)()(1)(

)()(

sHsPsP

kR

sDs

t

a

+×−=Θ

+

+

++

+×−=Θ∴

ssTKKk

Ksk

sTsk

sTsk

kR

sDs

VPVTP

P

TV

m

m

m

m

t

a

1)1(

1

)1()()(

a qual quando considerando-se TV = Tm como já comentado anteriormente, simplifica-se para:

1

)1()()(

2

++

+×−=Θ

PTP

TV

VTPPm

mPVTP

t

a

Kksk

KkKks

sTKKks

kR

sDs (17)

O termo kTP KV KP em (17) é o fator de rejeição a perturbação (XR ) que é obtido pelos ajustes de KP e KV através das relações (15) e (16), como já comentado.

Concluindo, a vantagem em se utilizar controle de movimento com realimentação de velocidade é que se elimina o caráter oscilatório de saída quando comparado com a utilização apenas de realimentação de posição.

Realimentação de Posição, Velocidade e Aceleração

Para este caso o diagrama de blocos tem o seguinte aspecto:

Page 75: Sist Pneum e Hid atuando nos Robôs

75

Figura 6.9 - Controle com realimentação de posição, velocidade e aceleração

o qual, pela dificuldade tecnológica em se obter o sinal de alimentação de aceleração, é obtido a partir da derivação do sinal de velocidade.

A fim de facilitar a análise é possível redesenhar o diagrama anterior introduzindo-se um bloco G’(s) como dado a seguir:

Figura 6.10 -

onde:

( ))1(1

1

1)('

AATAm

m

m

m

sTKksT

ksT

k

sG+

++

+=

Page 76: Sist Pneum e Hid atuando nos Robôs

76

+

+

++

=∴

TAAm

m

ATAAmm

TAAm

m

kKkTT

kKksTkKk

ksG

1

111

)(' (18)

E, a função de transferência de ação direta tem o aspecto:

)('1

)( 2 sGssTKKKsP A

AVP+

=

Enquanto a função de transferência de realimentação é:

+=+=

TPP

TVTP

P

TVTP kK

ksk

Kk

sksH 1)(

Levando a uma função de transferência em malha fechada simplificada pelo ajuste prévio de TA = Tm a fim de cancelar-se o pólo real:

1)1(

1

)()(

2 +++

=ΘΘ

PTP

TV

mAVPTP

TAAm

TP

r

Kkk

skKKKk

kKks

kss (19)

a qual também pode ser aproximado a um sistema de segunda ordem como já fora feito anteriormente para o caso da realimentação de posição e velocidade.

Assim, com o conhecimento prévio de kTP, kTV e kTA ajusta-se KP afim de definir-se a relação:

ζω n

TV

TPP

kkK

=2

Então, ajusta-se o valor de KA de forma que:

12 −=n

RmTAAm

XkkKkω

Sendo XR o fator de rejeição a perturbação dado por:

AVTPPR KKkKX =

o qual é definido para um ajuste prévio de KV.

Page 77: Sist Pneum e Hid atuando nos Robôs

77

A grande vantagem em se utilizar realimentação de aceleração é a sensível melhoria que se impõem ao fator de rejeição à perturbação. Entretanto, o problema que ocorre neste tipo de realimentação é o fato de que o sinal de aceleração não é obtido diretamente, na prática, mas sim através de um filtro de 1a ordem, o qual está sujeito a ocorrência de ruídos obtidos do transdutor de velocidade. Em outros casos, ainda, utiliza-se uma filtragem de 2a ordem afim de obter o sinal de aceleração a partir do transdutor de posição, o que agrava ainda mais a situação.

Page 78: Sist Pneum e Hid atuando nos Robôs

78

7. Programação de Robôs

A programação dos robôs industriais recebe também o nome de ensino e encontra-se dentro do tema genérico conhecido como comunicação homem-máquina; ela compreende, além do dispositivo ao qual se introduz a informação, a linguagem empregada na informação. Logo, entende-se por programação a forma e os meios que um robô dispõe para ser informado sobre a tarefa que deve realizar.

A programação dos robôs industriais tem evoluído uma vez que seu controle depende dela. Por isso, referindo-se à programação, não se deve apresentar somente as linguagens existentes, mas, também, as técnicas de ensino, empregadas nos robôs industriais que não dispõem de linguagem por serem muito rudimentares. Ao nível da seqüência de movimentos, a programação liga-se ao controle já que esta última se estabelece mediante a primeira.

Fundamentalmente, há duas formas de programar um robô, a saber: a) programação gestual, quando a tarefa a realizar é ensinada, diretamente, ao robô,

fazendo-o passar por todos os pontos e situações que deverá repetir durante seu funcionamento.

O controlador também é usado para ensinar ao robô como fazer seu trabalho. No

aprendizado por condução, o controlador na verdade conduz o manipulador, movendo-o fisicamente, de modo a realizar as manobras que ele deve aprender. O controlador grava os movimentos para reprodução posterior, talvez, a uma velocidade maior. Esse método é melhor para tarefas de trajetória contínua, como: pintura por pulverização, limpeza, aplicação de cola ou solda a arco, cuja programação seria extremamente tediosa de outra forma. Quem programa dessa maneira deve conhecer bem a tarefa. Aprendizado por condução, também, pode ser feito no modo ponto a ponto, onde o robô apenas grava certos pontos e, na repetição, move-se entre eles em linha reta (ou trajetórias circulares, se assim for solicitado). Esse método é adequado para erguer e abaixar objetos, cuja posição é conhecida com exatidão. Um método alternativo de programação, chamado de programação por aprendizagem, envolve o uso de um "joy-stick", um teclado comum ou um teclado portátil simplificado, chamado de "teach-box" para guiar o robô ao longo da trajetória planejada. Se o programa (ou "teach-box") especifica um trajeto contínuo ou ponto a ponto, usando coordenadas de mundo, os sinais do programa vão para o controlador, que os transforma em coordenadas de juntas e envia os sinais apropriados para os atuadores moverem as juntas e produzirem o movimento desejado do órgão terminal. Um "teach-box" pode ter chaves de três posições controlando os movimentos do braço, em termos de algum sistema de coordenadas.

b) programação textual, quando confecciona-se o programa de trabalho, utilizando-se

instruções apropriadas a determinada linguagem. Normalmente, a edição do programa realiza-se em um terminal com teclado e é armazenado em uma memória. Ao enviar o

Page 79: Sist Pneum e Hid atuando nos Robôs

79

programa ao controlador, o robô executa as ações selecionadas. Para a confecção do programa, não é necessária a colaboração do robô.

Esta maneira de programação chama-se programação off-line (isto é, com os

atuadores do robô desligados). Os programas desenvolvidos em simuladores ou gravados em outros robôs, são então, (não importa como foram originalmente criados) comunicados eletronicamente.

Ensino por condução e por aprendizagem são métodos fáceis de aplicar, mas consomem tempo. Se fosse necessário re-programar duzentos e cinqüenta robôs a cada meia hora, iria se gastar tempo demasiado e amarrar a linha de produção. Felizmente, o ensino só consome tempo na primeira vez em que uma tarefa é programada. Uma vez que os movimentos estejam corretos, eles podem ser, rapidamente, transferidos por meios eletrônicos para um, vários ou todos os robôs da linha de produção. Quando os movimentos gravados não são mais necessários para a tarefa imediata que está sendo executada, eles podem ser salvos para uma chamada posterior fácil e rápida.

Uma grande desvantagem dos métodos de programação tanto por condução quanto por ensino é que eles não utilizam sinais de sensores. Às vezes os robôs precisam de sensores para guiá-los em seu trabalho e programar sem sensores é complicado demais, considerando a tarefa que tem de ser feita. Por exemplo: suponha que se queira treinar um robô para desempilhar pequenas caixas de uma plataforma quadrada que tenha um lado com pouco mais de um metro. Mesmo que todas as caixas sejam do mesmo tamanho, elas podem estar orientadas de maneira diferente e empilhadas em diferentes níveis. Dever-se-ia usar programação por condução ou por aprendizagem para treinar o robô a remover caixas em pilhas de vinte e cinco, então de vinte e quatro e depois de vinte e três caixas de altura? Pareceria mais rápido que alguém fizesse o trabalho e se esquecesse do robô. Não será possível encontrar um modo de ensinar o robô a empilhar caixas de qualquer tamanho, dispostas em qualquer orientação e empilhadas a qualquer altura? Certamente seria usado para essa tarefa um método de instrução que utilizasse sensores com um programa "off-line", interligando o robô a um sistema de visão.

7.1 Gerações de linguagens de programação de robôs

As linguagens textuais de programação de robôs possuem uma variedade de estruturas e capacidades. Essas linguagens estão ainda em evolução.

As linguagens de primeira geração usam declarações de listagens de comandos e procedimentos de "teach-box" para desenvolver programas de robôs. Essas linguagens foram principalmente desenvolvidas para implementar controle de movimento com uma linguagem textual de programação e são, às vezes, chamadas de "motion level language". Características típicas incluem a capacidade de definir movimentos do manipulador (usando as declarações para definir a seqüência dos movimentos e o "teach-box" para definir a localização dos pontos), interpolação linear, ramificação e comandos elementares por sensores, envolvendo sinais binários (liga-desliga).

Page 80: Sist Pneum e Hid atuando nos Robôs

80

A linguagem VAL ("Victor Assembly Language") é um exemplo de uma linguagem

de programação de robôs de primeira geração.

As limitações comuns das linguagens de primeira geração incluem: a incapacidade de especificar cálculos aritméticos complexos para usar durante a execução do programa; a incapacidade de usar sensores complexos e dados fornecidos pelos mesmos e uma capacidade limitada de comunicação com outros computadores.

7.2 Linguagens de segunda geração Essas linguagens foram chamadas de linguagens de programação estruturadas, porque possuem grupos de comandos estruturados, usados em linguagens de programação de computadores. Linguagens de segunda geração, comercialmente disponíveis, incluem: AML, RAIL, MCL e VAL II. As características e capacidades dessas linguagens são:

1. Controle de movimento: esta característica é, basicamente, a mesma para as linguagens de primeira geração;

2. capacidade de sensoreamento avançada: os melhoramentos nas linguagens

de segunda geração normalmente incluem: a capacidade de manusear muito mais do que simples sinais binários (liga/desliga) e a capacidade de controlar dispositivos através dos dados fornecidos pelos sensores;

3. inteligência limitada: isto é, a capacidade de utilizar as informações recebidas

sobre o ambiente de trabalho para modificar o comportamento do sistema de forma programada; e

4. comunicações e processamentos de dados: linguagens de segunda geração

geralmente possuem meios para interagir com computadores e bases de dados de computadores com a finalidade de manter registros, gerar relatórios e controlar atividades nas células de trabalho.

7.3 Estrutura da linguagem de programação de robôs A linguagem deve ser projetada de modo a operar com um sistema robô, conforme ilustrado a seguir.

O uso da linguagem exige que exista alguém mecanismo que permita ao usuário determinar se é preciso escrever novo programa, editar um programa existente, executar um programa ou realizar alguma outra função. Esse mecanismo é chamado de sistema operacional, um termo usado em computadores para descrever o "software" que suporta a

Page 81: Sist Pneum e Hid atuando nos Robôs

81

operação interna do sistema de computador. A finalidade do sistema operacional, como já foi determinado anteriormente, é facilitar a operação do computador pelo usuário e maximizar o desempenho e a eficiência do sistema e dos dispositivos periféricos associados. A definição e a finalidade do sistema operacional para uma linguagem robótica são semelhantes.

Um sistema operacional de robô contém os três modos básicos de operação, indicados abaixo:

1. modo monitor, 2. modo execução, 3. modo edição.

O modo monitor é usado para realizar um controle global de supervisão do sistema.

É, às vezes, chamado de modalidade supervisora. Nesse modo de operação, o usuário pode: definir posições no espaço, usando "teach-box "; ajustar o controle de velocidade do robô; armazenar programas e transferir programas do armazenador de dados na memória de controle ou movimentar-se em vaivém entre outros modos de operação, como edição ou execução.

O modo execução é usado para executar um programa robótico. Neste modo, o robô está realizando a seqüência de instruções no programa durante a execução. Quando se testa um novo programa no modo execução, o usuário pode utilizar procedimentos de correção embutidos na linguagem, para ajudar a desenvolver um programa correto. Por exemplo: o programa pode indicar ao usuário que exceda seus limites de articulação ao movimentar o manipulador de um ponto especificado no programa para o próximo. Já que o robô não pode fazer isso, uma mensagem de erro aparece no monitor de vídeo, e o robô pára. Essa indicação pode ser corrigida voltando para o modo edição e ajustando o programa ou referindo o ponto. A maioria dos modernos sistemas operacionais de robôs permite ao usuário voltar para o modo monitor ou edição, enquanto o programa está sendo executado, de modo que um outro programa possa ser escrito. Em alguns casos, é mesmo possível editar o programa em andamento, apesar de existirem perigos inerentes ao fazer isto.

O modo edição proporciona um conjunto de instruções que permite ao usuário escrever novos programas ou editar programas existentes. Apesar da operação do modo edição ser diferente de um sistema de linguagem para outro, os tipos de operações de edição que podem ser realizadas incluem: digitação de novas linhas de instruções em seqüência, anulação ou alteração de instruções existentes e inserção de novas linhas num programa. Como nos casos de linguagem de programação para computadores, o programa em linguagem de programação de robôs é processado pelo sistema operacional, usando ou um interpretador ou um compilador. Um interpretador é um programa no sistema operacional que executa cada instrução do programa-fonte (em nosso caso, o programa-fonte é o programa em linguagem de programação de robô), uma de cada vez. A linguagem VAL é um exemplo de linguagem de programação de robôs que é processada por um interpretador. Um compilador é um programa no sistema operacional que passa através do programa-fonte inteiro e traduz todas as instruções em código de máquina, que pode ser lido e executado pelo controlador do robô. Programas compilados resultam geralmente em

Page 82: Sist Pneum e Hid atuando nos Robôs

82

tempos menores de execução. Por outro lado, um programa-fonte processado por um interpretador pode ser editado com mais facilidade, já que a re-compilação do programa inteiro não é necessária.

Elementos e funções de um sistema de programação de robôs: - Constantes, variáveis e outros tipos de dados; - Comandos de movimento; - Comandos para atuadores e sensores; - Computações e operações; - Controle do programa e sub-rotinas; - Comunicações e processamento de dados; - Comandos no modo monitor. uma linguagem de comando

Constantes e variáveis Uma constante é um valor que não muda durante a execução do programa. Uma variável em programação de computadores é um símbolo ou um nome simbólico que pode mudar de valor durante a execução do programa. Constantes e variáveis podem ser números inteiros, números reais contendo um ponto decimal ou cadeias que podem ser colocadas entre aspas: Constantes: +8

-289.34 +1.56e+4 [23.4; 45.98; -34.05] - um vetor,

Variáveis: E

R2UI FOI[3,4] - um arranjo com doze elementos.

Comandos de movimento

Uma das funções mais importantes da linguagem e a principal característica que distingue as linguagens robóticas das de programação de computadores é o controle de movimento do manipulador. Por exemplo:

MOVE Al

Isto faz com que a extremidade do braço (órgão terminal) movimente-se de sua posição atual até o ponto (previamente definido) chamado de Al. O comando MOVE, geralmente, faz o braço movimentar-se com um movimento de interpolação de junta. Existem variações do comando MOVE. Por exemplo: a linguagem VAL II proporciona um movimento de linha reta com o comando:

Page 83: Sist Pneum e Hid atuando nos Robôs

83

MOVES A1

O sufixo S significa interpolação linear. O controlador calcula uma trajetória linear, a partir da posição atual até o ponto A1 e faz o braço do robô seguir essa trajetória. Outro comando: MOVE A1 VIA A2

Esse comando diz ao robô para movimentar seu braço até o ponto Al, mas passando pelo ponto intermediário A2 ao fazer o movimento. Comando SPEED

O comando SPEED é usado para definir a velocidade com a qual o braço do robô se movimenta. Quando o comando SPEED é dado, ele indica alguma medida absoluta da velocidade disponível para o robô. Por exemplo: SPEED 60 IPS Ele indica que a velocidade do atuador durante a execução do programa será de 60 in/s (polegadas por segundo). Se o comando: SPEED 75 aparecer no programa, isto significa que os comandos subseqüentes seriam realizados a uma velocidade de 75 por cento da selecionada anteriormente. Definições de pontos no espaço de trabalho

A definição de posições de pontos é, geralmente, feita por meio de um "teach-box". O "teach-box" é usado para movimentar o braço do robô para a posição e orientação desejadas. Em seguida, com um comando digitado no teclado, como, por exemplo: HERE A1 a posição desse ponto é chamada de A1 ( o comando HERE é usado na linguagem VAL). A posiçâo e orientação de cada articulaçâo são captadas na memória de controle em forma de agregado, como < 59.43; 235.67; 46.224; 165.34; 44.678; 67.78 >, onde os primeiros três valores são as coordenadas espaciais x-y-z, e os valores restantes são ângulos de rotação de punho.

Page 84: Sist Pneum e Hid atuando nos Robôs

84

Trajetórias

Vários pontos podem ser ligados para definir uma trajetória no espaço de trabalho. Por exemplo: DEFINE PATH1 = PATH(Al, A2, A3, A4). Conseqüentemente, o caminho PATH1 consiste na série de pontos A1, A2, A3, A4. A fórmula MOVE PATH1 indica que o braço do robô se movimentaria através da seqüência de posições definida em PATH1, usando um movimento de interpolação de junta entre os pontos.

Comandos de órgão terminal e dos sensores São usados os comandos: SIGNAL m para iniciar o sinal na saída número m e WAIT n para esperar o sinal na entrada número n. Os comandos mais elementares são: OPEN e CLOSE que são usados para abrir e fechar a garra. Os comandos SIGNAL 3, ON e SIGNAL 3, OFF permitem que o sinal da porta de saída três seja ligado em um ponto e desligado em outro ponto no programa. O comando REACT

O comando REACT é um comando das linguagens VAL e VAL II, usado para monitorar, continuamente, um sinal de entrada e reagir, de alguma forma, a uma mudança' no mesmo. Uma forma típica do comando seria: REACT 17, SAFETY.

Page 85: Sist Pneum e Hid atuando nos Robôs

85

Esse comando é interpretado como se segue. A linha de entrada dezessete deve ser continuamente monitorada e, quando ocorrer alguma mudança em seu valor de sinal, deve passar para uma sub-rotina chamada de SAFETY.

Cálculos e operações

Realizar cálculos aritméticos e outros tipos de operação com constantes, variáveis e outros tipos de dados, faz-se necessário em vários programas de robôs. O conjunto-padrão de operadores matemáticos em linguagens de segunda geração é:

+ adição; - subtração; * multiplicação; / divisão;

** exponenciação; = igual a.

A seguir, está exposta uma lista de funções que poderão ser usadas: SEN(A) - seno de um ãngulo A; COS(A); TAN(A); COTAN(A); ASEN(A) - arco de seno de um ângulo A; ACOS(S); ATAN(A); ACOTAN(A); LOG(X); EXP(X); ABS(X) - valor absoluto de X; NT(X) - maior número inteiro menor ou igual a X e SQRT(X) - raiz quadrada de X.

Além dos operadores aritméticos e trigonométricos, operadores relacionais são usados para avaliar e comparar expressões. Os operadores relacionais mais comuns são indicados abaixo: EQ - igual a; NE - não igual a; GT - maior que; GE - maior ou igual a; LT - menor que; LE - menor ou igual a.

Page 86: Sist Pneum e Hid atuando nos Robôs

86

Controle do programa

Os seguintes tipos de comandos são disponíveis nas linguagens de segunda geração: GOTO 10 que indica uma ramificação ao comando 10. O comando GOTO pode ser usado com uma expressão lógica como segue: IF (expressão lógica) GOTO 10 . O comando IF fornece a oportunidade para uma estrutura lógica mais complicada no programa, na forma de comando IF...THEN...ELSE...END. Isso poderia ser escrito da seguinte maneira: IF(expressão lógica)THEN ... (grupo de instruções) ELSE ... (grupo de instruções) ... END.

O comando DELAY pode ser usado para retardar a continuação do programa durante um período de tempo especificado, conforme indicado abaixo: DELAY .5 SEC.

O comando STOP diz ao controlador para parar imediatamente a execução do programa e o movimento do manipulador. Sub-rotinas

A sub-rotina, com um único argumento, seria indicada como segue: SUBROUTINE PLACE(N) … … END 5Ul3ROUTINE.

A sub-rotina seria chamada, usando um comando que iria identificar o valor do argumento, por exemplo: CALL PLACE(5).

Page 87: Sist Pneum e Hid atuando nos Robôs

87

Comunicações e processamentos de dados

As comunicações referem-se à comunicação entre o robô e o operador, ou entre o robô e outros sistemas computadorizados e seus periféricos (por exemplo: dispositivos de armazenamento de dados, impressoras). O comando WRITE seria usado para escrever mensagens (os arquivos) para o operador no monitor de vídeo, e o comando READ seria usado para ler os dados fornecidos pelo operador ao sistema. As linhas seguintes são representativas de uma troca típica que poderia ocorrer durante a operação do sistema: WRITE ENTER nome da peça colocada no palet READ (PARTNAME).

O diálogo mostra que o sistema pediu ao operador para indicar qual peça foi carregada no palet seguinte, que deve ser transferida para a célula de trabalho. O comando READ é usado para estabelecer que os dados fornecidos pelo operador no console, devem ser armazenados na variável PARTNAME.

Comandos do modo monitor

Geralmente, o modo monitor é usado para funções tais como: entrada de dados de posição por meio do "teach-box" (comando HERE) e ajuste da velocidade inicial para execução de um programa de robô (comando SPEED). Várias funções relacionadas com a supervisão do sistema, processamento de dados e comunicações são também realizadas com os comandos do monitor, ou seja, as instruções da linguagem de comando.

Tipicamente, são usados os seguintes comandos: EDIT - para abrir um arquivo; EXIT - para armazenar um programa na memória do controlador; STORE - para armazenar um programa no disco flexível; READ - para ler o arquivo do disco para a memória; DIRECTORY - para obter uma listagem dos nomes de programas que são armazenados na memória; EXECUTE - para executar um programa; STOP - para interromper a execução e parar o movimento do robô; DELETE - para apagar um programa.

Page 88: Sist Pneum e Hid atuando nos Robôs

88

8. Considerações Finais

Antes de selecionar ou projetar um sistema robótico, deve-se decidir parâmetros como a dimensão física, precisão, rapidez e força necessária para o mesmo. Estas características formam as especificações de desempenho do sistema. Como já foi visto, um sistema robótico consiste em um braço mecânico, transmissão, atuadores, dispositivos de medição, e um sistema de controle. Todos estes componentes afetam o desempenho do sistema. Ao projetar um robô, deve-se selecionar cada componente emparelhando-os de forma que quando forem combinados em um sistema integrado, possa-se obter a especificação de desempenho original. Assim, nesta seção, serão tratadas as especificações de desempenho e resumidamente como os componentes de sistemas diferentes os afetam.

8.1 Desempenho do sistema

As seguintes características de desempenho deveriam ser previamente especificadas quando da escolha ou projeto de um robô para tarefas específicas:

• Capacidade de movimento: quantos graus de liberdade são requeridos pela tarefa? • Envelope de Trabalha: qual a forma e tamanho mínimo do volume de trabalho do

robô serão necessários para executar as tarefas? • Carga útil: qual a carga mais pesada que o robô deverá suportar? • Velocidade: quão rápido o robô deve se mover em posicionamento? • Precisão: com que nível de precisão o robô assegurará confiança para a execução

da tarefa? • Capacidades de Controle: a tarefa requer movimentos PTP, contínuo, em linhas

retas ou controle de caminho baseado em sensores?

8.2 Capacidade de movimento

Dependendo do tipo de tarefa a ser executada, mais ou menos graus de liberdade podem ser exigidos para o robô. Entretanto se um robô de 6 graus de liberdade é capaz de executar a todos os tipo de tarefas, por que não escolhe-lo sempre?

Esta poderia ser uma boa idéia, afinal o robô seria mais versátil. Porém, o acréscimo de graus de liberdade desnecessários reduz significativamente o desempenho de um robô. Em geral, quanto mais graus de liberdade existir num braço de robô; menor será a capacidade de carga útil; menores velocidades poderão ser atingidas; maiores serão os erros de posicionamento; e mais alto será o seu custo. A dimensão física de um robô também irá

Page 89: Sist Pneum e Hid atuando nos Robôs

89

causar um efeito semelhante em seu desempenho; quanto maior o robô, menor será a sua velocidade, maior os erros de posicionamento e o seu custo será mais alto.

Para selecionar o melhor robô para uma tarefa em particular, deve-se decidir primeiro o número mínimo de graus de liberdade e o menor espaço de trabalho. Há muitos modos nos quais uma tarefa pode ser melhorada para reduzir o número de graus de liberdade bem como o volume do espaço de trabalho. A figura a seguir mostra uma tarefa de montagem que requer 6 graus de liberdade uma vez que o robô tem que apanhar a peça e reorienta-la durante o processo de montagem. Nota-se que a peça não é redonda, assim o robô tem que controlar todos o três graus de liberdade de orientação da peça.

Figura 8.1 - Tarefa de montagem com 6 graus de liberdade

Já na ilustração seguinte mostra-se uma versão melhorada da tarefa que só irá

requerer 4 graus de liberdade. A peça é agora redonda e seu posicionamento realizado de forma superior, e não pelo lado.

Figura 8.2 - Tarefa de montagem com 4 graus de liberdade

8.3 Espaço de Trabalho

O espaço de trabalho requerido para uma tarefa é determinado pelo máximo ponto de avanço que o robô tem que alcançar em cada direção. A figura abaixo mostra um típico trabalho de robô em uma estação. Nela o robô pega um objeto da correia de transporte A, leva este objeto para uma máquina de inspeção B e então leva o objeto para a caixa de embalagens no pallet C. Se a máquina de inspeção encontrar um objeto defeituoso, o robô descarta isto dentro da caixa de rejeitos D. A distância entre o robô e A, B, C e D determina o tamanho do espaço de trabalho.

Page 90: Sist Pneum e Hid atuando nos Robôs

90

Figura 8.3 - Layout original para uma estação robótica de carga e descarga

A forma do espaço de trabalho também é determinada pelo plano (ou posição) dos

pontos que devem ser alcançados. Na figura anterior, os pontos A, B, C e D são os únicos pontos que precisam ser alcançado e eles são dispostos em uma linha reta. Isto sugestiona um espaço de trabalho retangular que insinua o uso um robô Cartesiano.

O tamanho do espaço de trabalho normalmente pode ser reduzido trazendo objetos mais para perto do robô. O espaço de trabalho mostrado na figura a seguir é muito menor que o caso anterior. Nele os pontos B, C e D foram re-arranjados para próximo ao robô. Agora a forma do espaço de trabalho ficou cilíndrica, desde A, são posicionados B, C e D agora ao redor do robô. Esta também é uma vantagem, pois um robô cilíndrico moveria mais rapidamente entre A, B, C e D do que um robô Cartesiano.

Figura 8.4 - Layout melhorado para uma estação robótica de carga e descarga

8.4 Precisão de robô

A Precisão de robô pode ser um tópico confundindo uma vez que há mais de um modo de se medi-la. Na realidade, três definições importantes estão relacionadas à capacidade de posicionamento de um robô: resolução, repetibilidade e precisão.

Page 91: Sist Pneum e Hid atuando nos Robôs

91

Resolução

A resolução define o movimento com menor incremento na junta do robô que o dispositivo de medição pode detectar. Se um encoder ótico tiver, por exemplo, 180 ranhuras em seu disco, então este não poderá distinguir entre duas posições consecutivas quando elas forem separadas por menos de dois graus (360 ° / 180 = 2 °). Assim, se a junta do robô for conectada a um elo de 100 cm, então os 2 ° de resolução angular devido ao encoder se torna uma resolução linear de 3.5 cm ao término da ligação (100 seno 2°). Veja figura a seguir.

Figura 8.5 - Resolução angular e linear

De acordo com esta definição, a resolução só dependente do dispositivo de medição

e seu hardware associado. Se a junta tiver um dispositivo de medição analógico, então a resolução é determinada pelos números de bits no ADC (conversor analógico digital). Por exemplo, um ADC de 8 bits pode converter um sinal em um número entre -127 e +128. Assim, se o ADC é ajustado de forma que um ângulo de –0o equivaler a –127 e 360o equivaler a +128, então a resolução será de 1.4 ° (360 ° / 255).

Repetibilidade

A repetibilidade é a precisão com que um robô retorna a um ponto no espaço em que esteve previamente. A repetibilidade de um robô sempre é pior (ou seja, maior) do que sua resolução, uma vez que é dependente dos dispositivos de medição e vários outros fatores:

• Embora o sistema de controle busque reduzir a zero o erro entre a posição desejada e a posição atual, normalmente permanece um pequeno erro que não pode ser corrigido. Este é o erro de controle.

• Fricções na junta e o efeito da gravidade podem aumentar o erro de controle, uma

vez que eles impedem o motor de alcançar a posição desejada.

• Qualquer componente de transmissão, particularmente correias e engrenagens, introduzem folgas entre o motor e o ponto de aplicação de força mecânica que são dirigidas

Page 92: Sist Pneum e Hid atuando nos Robôs

92

pelo motor. Isto faz com que posicionamento final esteja um pouco fora de sua posição programada, embora os motores possam ser posicionados com precisão.

Repetibilidade é uma especificação de precisão importante para tarefas que são programadas pelo método de “ensino”.

Precisão

A precisão é uma medida relativa a quantidade de acertos com que o robô repete posicionamentos em um local qualquer. A precisão sempre deve ser medida relativa a alguns pontos de coordenadas globais fixas; por exemplo, se um robô fosse ensinado para ir para um ponto com coordenadas globais (30, 50,70), mas sua posição final for (31, 48,72), então sua precisão seria ±2. A precisão de um robô é maior que sua repetibilidade ou sua resolução, pois depende de vários outros fatores, além daqueles que determinam a repetibilidade a e resolução, quais sejam:

• As juntas do robô e suas ligações são elementos elásticos e flexíveis de forma que

podem dobrar ou torcer sob efeito de carga. Os dispositivos de medição junto aos motores desconhecem estes movimentos, assim eles acarretam numa medida inexata da posição.

• Quando o robô planeja um movimento para uma posição desconhecida, ele tem que calcular primeiro a posição em cada junta. Estes cálculos dependem da precisão de parâmetros geométricos como o comprimento de cada elo. Muitos controladores não executam estes cálculos com precisão ou usam parâmetros geométricos imprecisos. A diferença entre repetibilidade e precisão é ilustrada na figura a seguir. Fazendo-se uma analogia com um estande de tiro, obtém-se boa precisão e boa repetibilidade quando todos os tiros estão dentro de um pequeno raio próximo à posição alvo. Assim, a precisão é a máxima distância absoluta com que se desvia do alvo pretendido.

Figura 8.6 - Repetibilidade e precisão

Page 93: Sist Pneum e Hid atuando nos Robôs

93

Apêndice – Principais Fabricantes de Robôs Industriais Unimation, inc. - (USA) A mais antiga fabricante de robôs, a Unimation, já instalou mais de 8000 robôs nos últimos 25 anos. A Unimation, que desde 1962 foi uma subsidiária da Condec, foi adquirida em 1983 pela Westinghouse Os produtos da Unimation são: o UNIMATE e a PUMA. Cincinnati milacron - (USA) A Cincinnati Milacron já instalou mais de 2500 robôs, e é também a principal fabricante de máquinas-ferramenta dos Estados Unidos da América. Cimcorp - (USA) A Cimcorp iniciou como uma divisão da GCA Corporation. Hoje é uma subsidiária da Wartsila, uma empresa grande e diversificada, com sede em Helsinki, Finlândia. A Cimcorp fabrica tanto robôs de base fixa como robôs tipo pórtico. Gmf Robotics Corporation - (USA) Na área da robótica pode acontecer de um cliente tornar-se um fornecedor. As principais indústrias de manufatura freqüentemente se perguntam: por que não fazemos e vendemos nossos próprios robôs? Nesse espírito, a GMF é uma joint venturi da General Motors, um dos maiores usuários de robôs nos Estados Unidos, e da Fanuc Ltd., do Japão, um grande fabricante de robôs. Felizmente a GM ainda adquire robôs de fornecedores externos, mesmo sendo atualmente um fornecedor. De Vilbiss Conpany-(USA) A DeVilbiss Conpany, importante fabricante de equipamentos de acabamento e sistemas de robôs, é uma divisão da Champion Spark Plug Company, Toledo, Ohio. A DeVilblss possui robôs para acabamento por pulverização, solda a arco e manuseio de material. Asea Robotics - (USA, Suécia) No Brasil, ASEA BB - São Paulo. Atualmente é o maior fornecedor de robôs para a indústria brasileira. Possui um Centro de Treinamento em Osasco-SP inaugurado em novembro de 1996, para atender os usuários, universidades e outros Centros de P&D. Spine Robotics -(USA, Suécia) Spine Robotics, uma companhia sueca, fez o único robô que pode lembrar uma tromba de elefante. O sistema de pulverização Spine (tipo espinha) é indicado para aplicações avançadas de vedantes, onde há dificuldade de alcance, por exemplo, no interior de automóveis. Hítachi America, Itd. - (USA, Japão) A Hitachi (no Brasil, Villares Informática São Paulo) é uma companhia gigante em eletrônica com sede no Japão. Robôs são somente uma pequena parte das atividades da Hitachi.

Page 94: Sist Pneum e Hid atuando nos Robôs

94

Yaskawa Eletric América inc (USA, Japão) A Yaskawa Eletric é a maior produtora de motores industriais, sistema de acionamento e controles. Os motores Motoman da Yaskawa trabalham em muitas indústrias, incluindo automotiva, aeroespacial, de ferramentas e de equipamentos elétricos. Todos os componentes do Motoman, incluindo os controladores e os servosistema, são produzidos por ela. Aoíp Kremlin Robotique , Livonia , França Fabrica o robô AXR 3000, com acionamento hidráulico nas versões com seis e sete eixos. Volkswagen AG - (Alemanha) A Volkswagen faz seis modelos de robôs, cobrindo quatro diferentes tipos. Os robôs podem ser montados em qualquer posição, não somente no chão. Todos os robôs possuem acionamento elétrico por motores com velocidade controlada, as posições são medidas por codificadores angulares absolutos de alta resolução, possuem garras pneumáticas, e seu tempo em operação é melhor que 99%. Advanced Robotics Corporation, (USA) Faz robôs de soldagem a arco. São fornecidos três modelos: os Robôs Cyro 750, Cyro 8Z0 e o Cyro Z000. Reis Machines, inc. (USA, Alemanha) No Brasil, Ipso Automatização – SP. Sterling Detroit Company (USA) A Sterling Robotic provê robôs eficientes e com custos razoáveis e sistemas automáticos para indústrias que trabalham com plásticos, borrachas e metais. A Sterling segue a filosofia de "robôs simplificados". Seus robôs são máquinas com servocontroladores, com movimentos ponto a ponto para tarefas facilmente previsíveis e similares. Dainichi kiko Robotics co. , Itd (Japão) Está impresso na folha de especificação dos robôs da Dainich Kiko o slogan "Sim, nós podemos". Taiyo, Itd . - Osaka, Japâo A Taiyo foi fundada em 1934. Seu slogan é Primeiro os clientes. A empresa cooperou no treinamento de trezentas pessoas de 25 Países através de um programa do governo Japonës. A Taiyo está agora aplicando sua longa e extensiva experiência na fabricação de atuadores hidráulicos e pneumáticos rotativos e lineares para fabricar robôs industriais, ou TAIBOTs. Rhino Robots, inc. (USA) A Rhino fabrica pequenos robôs conhecidos como robôs de mesa. Eles são relativamente baratos, mas, não obstante, são comparáveis a robôs maiores em seus aspectos de programação de controle.

Page 95: Sist Pneum e Hid atuando nos Robôs

95

Rb Robot Corporation (USA) O robô inteligente RBSX foi o primeiro robô móvel programável no mundo para uso doméstico, em escolas e em empresas. Ele é adequado para uso em educação, entretenimento e pesquisa experimental. Odetics, inc (USA) Antes de começar a operar em robótica, a Odetics fazia gravadores magnéticos digitais para naves espaciais. Ors Automation (USA) A ORS Automation fabrica sistemas de visão por máquina, não robôs. Sem visão (ou sem um toque preciso) as peças devem ser posicionadas com precisão, talvez até serem fixadas em uma posição predeterminada para que o robô seja capaz de encontrá-las e pegá-las. Com visão, robôs podem ver uma peça aleatoriamente posicionada (ou mesmo uma pequena parte familiar de uma peça), alcançá-la e, ajustando sua garra para a orientação da peça, pegá-la.

Page 96: Sist Pneum e Hid atuando nos Robôs

96

Bibliografia

[BOL-89] BOLLINGER, J. G. et DUFFIE, N. A. – ComputerControl of Machines and Processes – EditoraAddison-Wesley – USA – 1989.

[DES-98] DESCHAMPS, M. et KUNZ, C. – Introdução a Robótica –Apostila SENAI/CTAI – Florianópolis – Brasil –1998.

[ESH-95] ESHED ROBOTEC – Textbook 4 – ROBOTIC STRUCTURE –Manual de treinamento – Tel Aviv – Israel – 1995.

[FRA-99] FRANCHIN, M. N. – Elementos de Robótica – Curso deEng. Elétrica – Faculdade de Engenharia de Bauru –São Paulo – Brasil – 1999.

[GRO-89] GROOVER, Mikell P. et alli – Robótica – Tecnologiae Aplicação – McGraw-Hill – Brasil – 1989.

[PAU-81] PAUL, Richard P. – Robot Manipulators – The MITPress – USA - 1981.

[PER-01] PEREIRA, Carlos E. – Apostila de Robótica – Grupode Controle, Automação e Robótica – Disponível em:http://automation.delet.ufrgs.br/education/eng04479- UFRGS - Brasil - 2001.

[PIR-00] PIRES, J. Norberto – Robótica Industrial –Departamento de Eng. Mecânica – Universidade deCoimbra – Portugal – 2000.

[POL-96] POLONSKII, Mikhail M. – Introdução á Robótica eMecatrônica – Ed. Universidade de Caxias do Sul –Brasil – 1996.

[SCI-96] SCIAVICCO, Lorenzo et SICILIANO, Bruno – Modelingand Control of Robot Manipulators – The McGraw-HillCompanies, Inc – USA – 1996.