ROBTICA Adelardo Adelino Dantas de Medeiros Pablo Javier
ROBÓTICA Adelardo Adelino Dantas de Medeiros Pablo Javier Alsina DCA/CT/UFRN adelardo@dca. ufrn. br pablo@dca. ufrn. br
• Robô: Máquina programável de propósito geral que tem existência no mundo físico e atua nele através de movimentos mecânicos.
Robô Manipulador Industrial: § Robotic Industries Association (RIA): “manipulador multifuncional reprogramável, projetado para movimentar materiais, partes, ferramentas ou peças especiais, através de diversos movimentos programados, para o desempenho de uma variedade de tarefas”. § Norma ISO 10218: “máquina manipuladora, com vários graus de liberdade, controlada automaticamente, reprogramável, multifuncional, que pode ter base fixa ou móvel, para utilização em aplicações de automação industrial”.
Características Gerais: § Braço manipulador – emula a função do braço humano: através do seu movimento manipula objetos (ferramentas, peças, etc. ) no seu espaço de trabalho. § Pelo menos um ponto da sua estrutura é fixo na sua base. § Seu espaço de trabalho é limitado a uma região próxima a esse ponto fixo.
HISTÓRICO Antecedentes: Século XVIII: - bonecos mecânicos / calculadoras mecânicas. Século XIX: - tear programável de Jacquard / Máquina analítica de Babbage. - Frankenstein (Mary Shelley). Século XX: - 1920: Karel Capek - Robôs Universais de Rossum. - 1939: Asimov - “três leis da Robótica”. - 1943: Colossus – 1 o computador eletrônico (Inglaterra). - 1951: teleoperador mestre-escravo / Whirlwind - 1 o computador tempo real. - 1952: máquina ferramenta de comando numérico (MIT). Robô Manipulador = teleoperadores + comando numérico
HISTÓRICO 1 a Geração – (a partir da década de 50): - Dotados apenas de sensores proprioceptivos (percebem apenas estados internos). - Requerem um ambiente estruturado, com posicionamento preciso dos objetos. - Robôs de seqüência fixa, repetem uma mesma seqüência de movimentos. - Precisam ser reprogramados para executar uma nova seqüência. - Dotados de pequeno poder computacional. - 1954: Devol - patente de dispositivo de transferência programada de artigos. - 1962: Devol/Engelberger - Unimation. - 1971: braço elétrico de Stanford. - 1973: WAVE - 1 a linguagem de programação de robôs. - 1974: linguagem AL. - 1979: linguagem VALII. - 1981: Direct-Drive (Carnegie-Mellon).
HISTÓRICO 2 a Geração – (a partir da década de 80): - São dotados de sensores proprioceptivos e externoceptivos (percebem o estado atual do ambiente). Exemplo: visão e tato. - Podem atuar em um ambiente parcialmente estruturado. - Exemplo: reconhecer um objeto a ser manipulado fora da sua posição ideal e alterar, em tempo real, os parâmetros de controle, de modo a completar a tarefa. 3 a Geração – (a partir da 2 o metade da década de 90): - Fazem uso intensivo de sensores, algoritmos de percepção e algoritmos de controle inteligentes, bem como são capazes de comunicar-se com outras máquinas. - São capazes de tomar decisões autônomas frente a situações não previstas. - Podem atuar em um ambiente não estruturado.
Aplicações de Robôs Manipuladores • Robôs manipuladores industriais geralmente trabalham integrados em Células de Trabalho, associados a outras máquinas: – Máquinas de comando numérico. – Veículos Guiados Automaticamente (AGV's). – Sistemas de armazenagem automática Storage/Retrieval System) – Esteiras. – Pontes rolantes. – Outros robôs. – etc. (AS/RS - Automatic
• • A) Estação de posicionamento sobre o transportador para carga/descarga. B) Eixo transversal para aumentar o espaço de trabalho do robô. C) Estação de inspeção por computador integrada ao robô. D) Estação de montagem.
Tarefa Pega-E-Coloca:
Soldagem:
Aplicação de resina:
Desbaste:
Estrutura do Robô Manipulador: • Robô Manipulador: Conjunto de corpos rígidos, (chamados elos), interligados em uma cadeia cinemática aberta através de juntas, as quais são acionadas por atuadores de modo a posicionar a extremidade livre da cadeia (órgão terminal, efetuador, garra ou ferramenta) em relação à outra extremidade, que é fixa (base do manipulador).
Garra Juntas Elos Base
• Junta: Interligação entre dois elos que permitem o movimento relativo entre os mesmos numa única dimensão ou Grau de Liberdade. • Junta Rotacional: Permite a mudança da orientação relativa entre dois elos. • Junta Prismática: Permite a mudança da posição relativa entre dois elos.
PARTES DO ROBÔ MANIPULADOR • • Base: Parte do manipulador presa ao chão, onde é fixa a estrutura. Braço: – As três primeiras juntas, ligadas à base. – Determinam predominantemente a posição do órgão terminal. – Deve possuir atuadores potentes. • Punho: – As três últimas juntas, ligadas ao órgão terminal. – Determinam predominantemente a orientação do órgão terminal. – Deve possuir atuadores leves. • Órgão Terminal: – Ligado ao punho – Interage com os objetos no espaço de trabalho realizando a manipulação. – Pode ser uma garra (com dedos para segurar objetos) ou uma ferramenta específica.
O BRAÇO MANIPULADOR ANTROPOMÓRFICO
PARTES DO BRAÇO
Mecanismo de braço tipo cartesiano
Mecanismo de braço tipo cilíndrico
Mecanismo de braço tipo esférico
Mecanismo de braço tipo multi-juntas vertical (articulado ou antropomórfico)
Mecanismo de braço tipo multi-juntas horizontal (SCARA)
• Espaço de Trabalho: Região do mundo que o robô pode alcançar através dos seus movimentos, onde pode levar a cabo as tarefas programadas. -10 o 1 90 o 0 o 2 180 o Espaço de Trabalho 1 2
Espaço de Trabalho
Exemplo de especificação de Espaço de Trabalho
Mecanismo de Punho:
ÓRGÃOS TERMINAIS • Garras: órgãos terminais específicos para pegar objetos. • Ferramentas: órgãos terminais para finalidades diversas.
Garra Pivotante Garra por Movimento Linear
Garra magnética Garra Balão
FERRAMENTAS • • Ferramentas para soldagem. Maçaricos. Pistolas de pintura. Mandris – Perfuração. – Polimento. – Retífica. • • Aplicadores de cola ou resina. Ferramentas de corte por jato de água.
Soldagem
Pintura
Desbaste - Perfuração
HARDWARE DE UM MANIPULADOR Estação de Trabalho Controlador Apêndice de Ensino Manipulador
COMPONENTES DO HARDWARE Estação de Trabalho Operador Apêndice de Ensino Outras máquinas. . . Controlador do Robô Acionamento Atuadores Aquisição de Dados Sensores ROBÔ
Sensores: • Posição: detectam a posição das juntas do manipulador. – Potenciômetros: tensão proporcional ao ângulo da junta. – Encoders: ângulo da junta codificado digitalmente. • Incrementais: contam pulsos correspondentes a incrementos angulares. • Absolutos: fornecem diretamente o código binário correspondente ao ângulo. • Velocidade: detectam a velocidade das juntas do manipulador. – Tacogeradores: tensão proporcional à velocidade da junta. • Torque e força: detectam o torque e a força aplicados pela garra. – Células de carga: tensão proporcional ao esforço na superfície.
Sensores de Posição Encoder Absoluto Encoder Incremental Potenciômetros
Sensores de Velocidade e Torque Tacogerador Sensor de torque
Atuadores Realizam a conversão da energia disponível em energia mecânica para movimentar o braço. Hidráulicos: Elétricos: Pneumáticos: • (Fluido pressurizado) • (Servomotores) • (Ar pressurizado) • Potência elevada • Potência média • Potência baixa • Baixa precisão • Boa precisão • Baixa precisão • Robôs grandes • Robôs médios • Robôs pequenos
Programação de Tarefas: · O robô deve executar uma seqüência de tarefas: · Deslocamentos. · Operações. · As tarefas devem ser programadas previamente pelo operador. · Duas abordagens: · Programação On-Line. · Programação Off-Line.
Programação On-Line: • Programador conduz o braço através de apêndice de ensino (teach-pendant), de teleoperador mestreescravo ou de linguagem de programação textual. • A posição do robô medida pelos sensores, bem como as operações executadas são gravadas. • As tarefas gravadas são reproduzidas posteriormente pelo robô na linha de montagem. • Desvantagem: é necessário parar a operação do robô durante a programação.
Programação Off-Line: • Desenvolvida sem a necessidade de dispor do robô. • Modelos CAD usados para validar as tarefas programadas • Vantagens: Não é necessário parar o robô. O programador não é exposto ao ambiente do robô. . • Desvantagens: Erros de modelagem e imprecisões devem ser compensados pelo controlador on-line.
Algoritmos de controle básico: • Ponto a Ponto: grava-se apenas os pontos inicial e final de cada movimento. O movimento entre eles não interessa. • Movimento Contínuo: grava-se pontos separados por pequenos incrementos ao longo do caminho especificado. • Controle de Trajetória: Os pontos são gravados a uma taxa contínua, com as juntas conduzidas em uma trajetória suave e coordenada.
Programação com Apêndice de Ensino: • O operador comanda as juntas manualmente através do apêndice de ensino. • Grava-se a seqüência de pontos intermediários e objetivos alcançados, bem como as operações realizadas. • O apêndice de ensino pode incluir outras teclas (definir velocidade, entrar parâmetros de trajetória, programar tarefas, etc. ). • Os dados gravados devem ser organizados em uma seqüência lógica. • Desvantagem: não é fácil movimentar a ferramenta por meio de teclas. Movimento coordenado é praticamente impossível.
Programação por Linguagem Textual: • Tarefas definidas por meio de programa em linguagem de programação específica. • Programa desenvolvido em ambiente de programação disponível na Estação de Trabalho. • Programa carregado no Controlador do Robô para ser interpretado. • Linguagem inclui comandos que implementam primitivas de movimento e manipulação.
Exemplo de um programa de robô: movex to i. centerx, i. centery, 100, 0, i. angle movex 0, 0, -50, 0, 0 movex 0, 0 , -12, 0, 0 grip home movex to 200, 280, 150, 0, 0 open home
Tipos de linguagem de Programação: • Linguagem de propósito geral já existente + bibliotecas robóticas Exemplo: JARS (Pascal), AR-BASIC, ROBOTBASIC, (Basic), etc. • Linguagem de propósito geral desenvolvida como base de programação + bibliotecas robóticas. Exemplo: AML (IBM), RISE (Silma, Inc. ). • Linguagem especial para manipulação. Proprietária, para um tipo ou família específica de manipuladores.
Modelagem de Robôs Manipuladores: Descrição de Localização: • Localização de um corpo rígido = Posição + Orientação • Transformações Homogêneas
Representação de posição de {B} relativa a {A}: • A posição de {B} em relação a {A} é definida pelo vetor de posição APB ligando a origem de {A} à origem de {B}, expresso em coordenadas de {A}:
y. B {B} y. A {A} AP B x. A z. B x. B
Representação de orientação de {B} relativa a {A}: • A orientação de {B} em relação a {A} é definida pela matriz de rotação ARB de dimensão 3 x 3, ortogonal, cujos vetores colunas são os eixos unitários de {B} expressos em coordenadas de {A}:
y. B {B} Ay B y. A Ax {A} B z. B x. A z. A Az B x. B
Exemplo: sejam {A} e {B} coincidentes. Suponha que {B} gira um ângulo em torno Az. B. Encontre ARB = R(z, ): y. A y. B x. B x. A z. A, z. B Ax = [cos( ) sen( ) B Ay = [-sen( ) cos( ) B Az = [0 0 1]T B 0]T
Rotações em torno dos eixos x, y, z AR B = R(z, ) = cos( ) -sen( ) 0 sen( ) cos( ) 0 0 AR AR B B = R(x, ) = = R(y, ) = 0 1 1 0 0 0 cos( ) -sen( ) 0 sen( ) cos( ) 0 sen( ) 0 1 0 -sen( ) 0 cos( )
Transformação Homogênea: • Descreve de forma integrada a posição e orientação de {B} relativa a {A}: • A linha inferior da equação matricial foi acrescentada de modo a resultar numa matriz ATB quadrada 4 x 4 para a qual exista matriz inversa.
Equações de Transformação: • Exemplo: conhecendo BTG , BTE , ETO , determinar GTO. {G} GT BT O= ? G {O} ET {B} BT • Solução: GT O = E GT B. O {E} BT O = GTB. (BTE. ETO) = BTG-1. (BTE. ETO)
Modelagem de Robôs Manipuladores: Cinemática: • Cinemática Direta: posição de juntas localização da garra. Cinemática direta
Modelagem de Robôs Manipuladores: Cinemática: • Cinemática Inversa: localização da garra posição de juntas. Cinemática Inversa 0 T N* = 0 TN( )
Modelagem de Robôs Manipuladores: Cinemática Diferencial: Velocidades/acelerações da garra velocidades/acelerações de juntas.
Modelagem de Robôs Manipuladores: Estática: • esforços nas juntas esforços na ferramenta (robô parado).
Modelagem de Robôs Manipuladores: Dinâmica: • Dinâmica Inversa: trajetória esforços nas juntas. • = M( ). d 2 /dt 2 + C( , d /dt) + G( ) + F(d /dt)
Modelagem de Robôs Manipuladores: Dinâmica: • Dinâmica Direta: esforços nas juntas trajetória.
Modelagem de Robôs Manipuladores: Dinâmica: • Dinâmica Direta: esforços nas juntas trajetória.
Modelagem de Robôs Manipuladores: Dinâmica: • Dinâmica Direta: esforços nas juntas trajetória.
Modelagem de Robôs Manipuladores: Dinâmica: • Dinâmica Direta: esforços nas juntas trajetória.
Controle de Robôs Manipuladores: Geração de Trajetória: • Localização inicial + localização final + duração localizações intermediarias (t).
Controle de Robôs Manipuladores: Geração de Trajetória: • Localização inicial + localizaçãofinal + duração localizações intermediarias (t). t
Controle de Robôs Manipuladores: Servocontrole: • Trajetória gerada - Trajetória medida esforços nos atuadores. ngulos de junta gerados Controlador torques ROBÔ ngulos de junta medidos
Controle de Robôs Manipuladores: Servocontrole: • Trajetória gerada - Trajetória medida esforços nos atuadores. Objetivo (coordenadas cartesianas) Cinemática Inversa Objetivo (ângulos de junta) Geração de Trajetória desejada Servo Controle Esforços
Controle de Robôs Manipuladores: Controle de Força: • Esforço desejado - Esforço medido esforços nos atuadores de junta. Esforço desejado Controlador torques Esforço medido ROBÔ
ROBÓTICA Adelardo Adelino Dantas de Medeiros Pablo Javier Alsina DCA/CT/UFRN adelardo@dca. ufrn. br pablo@dca. ufrn. br www. dca. ufrn. br/~adelardo www. dca. ufrn. br/~pablo
- Slides: 83