ROBÓTICA Adelardo Adelino Dantas de Medeiros Pablo Javier Alsina DCA/CT/UFRN adelardo@dca.ufrn.br...

Preview:

Citation preview

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 – 1o computador eletrônico (Inglaterra).

- 1951: teleoperador mestre-escravo / Whirlwind - 1o computador tempo real.

- 1952: máquina ferramenta de comando numérico (MIT).

Robô Manipulador = teleoperadores + comando numérico

HISTÓRICO

1a 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 - 1a linguagem de programação de robôs.

- 1974: linguagem AL.

- 1979: linguagem VALII.

- 1981: Direct-Drive (Carnegie-Mellon).

HISTÓRICO

2a 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.

3a Geração – (a partir da 2o 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 (AS/RS - Automatic Storage/Retrieval System)

– Esteiras.

– Pontes rolantes.

– Outros robôs.

– etc.

• 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).

JuntasGarra

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

-10o 1 90o

0o 2 180o

12

• 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.

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 Manipulador

Apêndice de Ensino

COMPONENTES DO HARDWARE

Operador

Estação deTrabalho

Apêndicede Ensino

Controladordo

Robô

Acionamento

Aquisição de Dados

Atuadores

Sensores

ROBÔ

Outras máquinas...

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 sua superfície.

Sensores de Posição

Encoder Incremental

Encoder Absoluto

Potenciômetros

Tacogerador Sensor de torque

Sensores de Velocidade e Torque

Atuadores

Hidráulicos:

•(Fluido pressurizado)

•Potência elevada

•Baixa precisão

•Robôs grandes

Elétricos:

•(Servomotores)

•Potência média

•Boa precisão

•Robôs médios

Pneumáticos:

•(Ar pressurizado)

•Potência baixa

•Baixa precisão

•Robôs pequenos

Realizam a conversão da energia disponível em energia mecânica para movimentar o braço.

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 mestre-escravo 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, ROBOT-BASIC, (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}:

BzA

ByA

BxA

BA

p

p

p

P

yA

xA

zA

{A}

yB

xB

zB

{B}

APB

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 3x3, ortogonal, cujos vetores colunas são os eixos unitários de {B} expressos em coordenadas de {A}:

BA

BA

BA

BA zyxR

yA

xA

zA

{A}

yB

xB

zB

{B}

AyB

AxB

AzB

 Exemplo: sejam {A} e {B} coincidentes. Suponha que {B} gira um ângulo em torno AzB. Encontre ARB = R(z,):

         

AxB = [cos() sen() 0]T

AyB = [-sen() cos() 0]T

AzB = [0 0 1]T

 

xA

yA

xB

yB

zA, zB

  cos() -sen() 0  

ARB = R(z,) =   sen() cos() 0  

0 0 1

0 sen() cos()

    1 0 0  

ARB = R(x,) =   0 cos() -sen()  

 

    cos() 0 sen()

ARB = R(y,) =   0 1 0  

-sen() 0 cos()

Rotações em torno dos eixos x, y, z

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 4x4 para a qual exista matriz inversa.

1000

PRT B

AB

A

BA

Equações de Transformação:

• Exemplo: conhecendo BTG , BTE , ETO , determinar GTO.

• Solução: GTO = GTB. BTO = GTB.(BTE.ETO) = BTG-1.(BTE.ETO)

{G}

{B}

{E}

{O}

GTO = ?

BTG

BTE

ETO

Modelagem de Robôs Manipuladores: Cinemática:

• Cinemática Direta: posição de juntas localização da garra.  

Cinemática direta

N1N

1N2N

32

21

10

N0 T.T.......T.T.TT

Modelagem de Robôs Manipuladores: Cinemática:

• Cinemática Inversa: localização da garra posição de juntas.  

Cinemática Inversa

0TN* = 0TN()

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().d2 /dt2 + 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

Ângulos de junta medidos

ROBÔControladortorques

Controle de Robôs Manipuladores: Servocontrole:

• Trajetória gerada - Trajetória medida esforços nos atuadores.

      

Objetivo 

(coordenadas cartesianas)

CinemáticaInversa

Geração de Trajetória

Servo Controle

EsforçosTrajetória 

desejada

Objetivo 

(ângulos de junta)

 

Controle de Robôs Manipuladores: Controle de Força:

• Esforço desejado - Esforço medido esforços nos atuadores de junta.

      

  Esforço desejado

Esforço medido

ROBÔControladortorques

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