Luiz marcos
Sponsored Links
This presentation is the property of its rightful owner.
1 / 55

Introdução ao controle de robôs PowerPoint PPT Presentation


  • 99 Views
  • Uploaded on
  • Presentation posted in: General

Luiz Marcos. Introdução ao controle de robôs. Cinemática x Dinâmica. Dinâmica x Atraso. Contínuo x Discreto. Tipos de Sistemas de Controle. Malha aberta Malha fechada. Malha aberta.

Download Presentation

Introdução ao controle de robôs

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Luiz Marcos

Introdução ao controle de robôs


Cinemática x Dinâmica

Dinâmica x Atraso

Contínuo x Discreto


Tipos de Sistemas de Controle

  • Malha aberta

  • Malha fechada


Malha aberta

  • A entrada define o comportamento do controlador, cérebro do sistema, e este responde agindo no ambiente, sem verificar depois se o nível da grandeza física corresponde de fato à entrada;

  • Não há sensor para observar algum eventual desvio, nem realimentação, para corrigi-lo.


Exemplo

  • Uma fonte de alimentação regulada com transistor é, na realidade, um sistema de controle de malha aberta;

  • Se a corrente da carga variar, a tensão na saída pode variar até algumas dezenas de mV, devido à variação na tensão Vbe.


Transistor


Diagrama de blocos (Malha Aberta)

  • A entrada é o nível desejado da grandeza controlada (comando ou programação). O controlador avalia este sinal e envia um sinal (que pode ser elétrico ou mecânico, conforme o sistema) ao atuador, que é o elemento que age no ambiente de modo a alterar a grandeza.

  • Sistema de Malha Aberta

  • Grandeza não Automático


Diagrama de blocos (M. Aberta)

Sistema de Malha Aberta

Grandeza não Automático


Aplicações

  • Os SC em malha aberta são usados onde a freqüência ou a conseqüência dos desvios não justificam a complexidade e o custo maior dos em malha fechada.

  • Não são aplicados em robótica (a não ser em casos onde não é necessário checar o erro).


Malha fechada

  • É verificada a ocorrência de desvios

  • Sensor monitora saída, fornecendo um sinal que retorna à entrada, formando uma malha de realimentação.

  • A entrada e esta realimentação se juntam num comparador, que combina ambos e fornece um sinal de erro, diferença entre os sinais, que orienta o controlador.


Exemplo simples

  • O operador de um reservatório verifica se o nível máximo foi atingido através de uma régua de nível, que é o sensor.

  • Sinal de erro, a diferença entre o nível máximo (saída desejada) e o nível atual (saída real), é analisado para abrir ou fechar o registro.

  • Operador é ao mesmo tempo o comparador, o controlador e o atuador neste sistema elementar.


Diagrama blocos (Malha Fechada)

  • Adicionar sensor ao SC de m. aberta;

  • Enviar sinal de erro ao bloco somador que fornece um sinal efetivo ao controlador.

  • Este sinal é a entrada do controlador, que o avalia e tenta corrigir o desvio captado pelo sensor, através de um novo comando ao atuador.


Diagrama de blocos (M. Fechada)

Sistema de Malha Fechada

Grandeza Automática


Aplicações

  • SC em malha fechada são mais precisos, pois detectam e corrigem os desvios.

  • A maioria dos sistemas atuais, analógicos ou digitais, é deste tipo.

  • Sistemas controle para robótica são necessariamente desta categoria.


Controle

  • Sistema robótico: mede o seu próprio estado e age (decisões autônomas)

  • Feedback Control: originou-se na Grécia antiga.

  • Relógios de água: um grande tanque, um orifício pequeno para medir a vazão, uma válvula para regular a quantidade de água no tanque (mantendo o nível, a pressão é constante).


Redescobrindo os controladores

  • 1600: Controle da temperatura num fogão

    • Variação do volume de mercúrio fecha e abre a entrada de ar

  • 1700: mesmo sistema utilizado para chocar ovos

    • Final do século 16: mecanismo melhorado com melhor sensibilidade. Primeiro controlador comercial...


Sensor

Sistema de Controle

Sinal de erro

Energia de entrada

Estado desejado

Sinal de feedback

Amplificador

Soma

s(t)

e(t)

E(t)

y(t)

Robô ou dispositivo

y´(t)

Estado medido ou real


Exemplo: seguidor de paredes

  • Material: um robo móvel equipado com sensor infra-vermelho

  • Void calibrate(int goal); /*Calibra o sensor definindo uma distância da parede*/

  • void main() {

  • calibrate(goal); left(100); right(100);

  • while (1) {

  • int wall = analog(LEFT_WALL);

  • if(wall<goal) {left(100); right(0);}

  • else {right(100); left(0); }

  • }

  • }


Gráficos (distância x tempo)

D=40


Distância x tempo

D=30


Virando mais suave

  • void main() {

  • calibrate(goal); left(100); right(100);

  • while (1) {

  • int wall = analog(LEFT_WALL);

  • if(wall<goal) {left(100); right(50);}

  • else {right(100); left(50); }

  • }

  • }


Distância x tempo

D=40


Robô

Sensor

Perturbação

Sistema de Controle

(t)

s(t)

e(t)

u(t)

y(t)

y´(t)


Motores


Controladores

  • Liga-Desliga (on-off)

  • Proporcional (P)

  • Proporcional + Integral (PI)

  • Proporcional + Derivativo (PD)

  • Proporcional + Integral + Derivativo (PID)


Controle liga-desliga :


Mecanismo (roda)

0

Roda (massa grande)

Engrenagens

Sensor

(encoder)

Motor


Proporcional

  • Ganho é proporcional ao erro medido

  • Exemplo: controlar a posição de um motor

  • void main() {

  • int posit_goal=0;

  • encoder_posit=100; /*Var. compartilhada*/

  • while (1) {

  • power = posit_goal - encoder_posit;

  • motor(power);

  • }

  • }


Posição e potência x tempo

100

0

-100


Melhorando o Proporcional

  • Introdução de um fator multiplicativo faz ir mais rápido ao ponto desejado

  • void main() {

  • int posit_goal=100;

  • encoder_posit=0;

  • while (1) {

  • power=p_gain*(posit_goal- encoder_posit);

  • motor(power);

  • }

  • }

  • Problema com ganhos altos: over-shoot, oscilações. Potência total é desejada se longe do objetivo. Ganho alto pode causar potência alta mesmo estando próximo.


Posição e potência x tempo

  • Ganho = 10

100

0

-100


Posição e potência x tempo

  • Ganho = 20

100

0

-100


Posição e potência x tempo

  • Ganho = 50

100

0

-100


Proporcional derivativo

  • Problema: momento faz ir além do ponto, mesmo desligando o motor

  • Momento = massa x velocidade (diretamente proporcional a velocidade)

  • Dobra velocidade => dobra momento).

  • Termo derivativo resolve overshooting e oscilações


Proporcional derivativo

  • Introdução do term d_gain (velocidade)

  • void main() {

  • int posit_goal=0;

  • encoder_posit=100;

  • while (1) {

  • power=p_gain*(posit_goal- encoder_posit) +

  • d_gain*encoder_velocity;

  • motor(power);

  • }

  • }


Posição e potência x tempo

100

0

-100


Integral

  • Usa um integrador como controlador (um circuito que executa a operação matemática da integração).

  • Soma produtos dos valores instantâneos de entrada por intervalos de tempo t.

  • Desde o instante inicial até o final (período de integração).

  • Isto corresponde à área entre a curva da grandeza e o eixo do tempo, num gráfico.


Integral (cont.)

  • Ex.: Se grandeza = G (const), integral entre t1 = 0 e t2=j será igual a G t2 (ou Gj) = área, no gráfico da grandeza, de um retângulo naquele intervalo de tempo.

  • Um gráfico da integral de t1 a t2 é uma reta desde 0 até Gj, pois a área (ou o somatório) aumenta à medida que o tempo passa.


Integral (cont)

  • Integrador torna o sistema lento

  • Resposta depende da acumulação do erro na entrada

  • Leva a um erro de regime nulo (não é necessário um sinal de entrada para haver saída do controlador)

  • Acionamento do atuador após o período transitório.

  • Assim o controle é muito preciso, embora mais lento.


Posição e potência x tempo

100

0

-100


Sensores

Externos

Posição

Planejamento

da Trajetória

Velocidade

Controlador

Motores

Hierarquia de controle (robô móvel)

Sensor

interno

Sensor

interno


3 níveis de controle:

controlador de velocidade dos motores;

controlador de ângulo e velocidade linear do robô;

desvio de obstáculos e busca pelo alvo.

Alvo

Obstáculo

Obstáculo

Níveis de controle


SP1

-

PID

Motor 1

+

v1

SP2

v2

PID

Motor 2

+

-

u1

e1

u2

e2

Controlador dos motores


SP1

-

SP

+

X

e

v1

+

-

SP2

v2

+

-

PID

Motor 1

Cinemática do Robô

Controlador

PID

Motor 2

u1

e1

u2

e2

Controlador

de Velocidade

Linear

SP1

+

+

e

-

Controlador

de

Ângulo

SP2

+

Controlador de ângulo e velocidade linear


Obstáculo

Obstáculo

Desvio de obstáculos

teta=180/pi*atan((S1*sin(pi/4)-S3*sin(pi/4))/(S2+S1*cos(pi/4)+S3*cos(pi/4)));


dx

Alvo

dy

d

e

Busca do alvo


Sensores

de distância

Obstáculo

Alvo

Decisão

Velocidade

Angulo e

velocidade linear

Velocidade dos

motores

Motores

Posição

(integração dos enconders)


Controle de alto nível (Comportamento)

  • O relacionamento funcional dos estímulos sensoriais com as ações efetuadas sobre os atuadores do robô

  • Ações devem ser executadas a partir de um plano de ação e de um modelo interno do ambiente


Tipos de controle

  • 1) Reactive control

  • 2) Deliberative control

  • 3) Hybrid control

  • 4) Behavior based control (sub-sumption)


Controle reativo

  • Não pense, reaja!

  • Ambiente imprevisível cheio de obstáculos estáticos e dinâmicos

  • Restrição de tempo de execução da tarefa

  • Desenvolvimento de sistemas onde as ações dos robôs móveis sãodeterminadas pelas situações imediatas do ambiente, detectadas porseus sensores.


Controle reativo (cont.)

  • Facilmente implementável

  • Não requer intermédio do cérebro

  • Apenas um mapeamento de sensores a ações:

    • Construir um conjunto de regras

    • Exige pouco processamento on-line

    • Alta velocidade

    • Similar a reflexos em seres humanos

    • Muito usado em seres inferiores (siris)


Exemplo visto

  • Robô com emissores/sensores IR na frente e duas rodas laterais:

    • Nenhum sensor satura: em frente

    • Satura direito: vire à esquerda

    • Satura esquerdo: vire à direita

    • Satura os dois: vire aleatoriamente para um dos lados


Controle deliberativo

  • Planeje e pense bastante, então execute ação!

  • Certas tarefas permitem uma melhor análise do ambiente e planejamento baseado em informações adquiridas via sensores e dados conhecidos

  • Pode levar o robô a encontrar uma boa solução para sua tarefa, mesmo perdendo tempo de processamento para tomar a decisão


Controle híbrido

  • Seja eficiente! Pense se der tempo!

  • Comportamento deliberativo pode comprometer o tempo de resposta de um robô

  • Idéia: unir os comportamentos

  • Caso seja necessário (e dê tempo para) pensar, faça, caso contrário, execute uma ação de forma reativa.


Arquitetura subsumption (MIT)

  • Baseado em comportamentos básicos

  • Comportamentos de mais alto nível são definidos por vários de mais baixo nível

  • Processo markoviano (definir ação de alto nível em função do estado perceptual atual de um robô).

  • Uso de aprendizado ou de heurísticas para definir políticas (Q-Learning, NN).


  • Login