Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013

Preview:

Citation preview

Robótica

Prof. Reinaldo Bianchi

Centro Universitário da FEI

2013

7a Aula

Parte A

Objetivos desta aula

Introdução a Controle:– Tipos de sistemas de controle.– Tipos de controladores.

Arquiteturas de Controle:– Hierárquicas.– Reativas.– Híbridas.

Referências:– Capítulo 3, 4 e 8 do Keramas.– Livro Introduction to AI Robotics, Murphy, 2000.

Introdução a Controle

Tipos de Sistemas de Controle

Quanto à estrutura, um sistema de controle pode ser:– Malha aberta, ou não-servo:

• Manipuladores Clássicos

– Malha fechada, ou servo-controlados:• Sistemas modernos• Ponto-a-ponto• Caminho Controlado

Complexidade aumenta

Controle malha aberta (não servo)

É o controle malha aberta.– Não possui sensores ou realimentação.– O manipulador para quando atinge um limite

fixo ou que pode ser variado manualmente. Robôs de seqüência limitada. Usado em:

– Pick and Place– Pontos fixos.– Bang-bang robots.

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.

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 (Malha Aberta)

Sistema de Malha AbertaGrandeza não Automático

http://zone.ni.com/devzone/cda/tut/p/id/9912

Sistema pneumático não servo

Robô de sequência limitada.

Controle malha aberta (não servo)

Vantagens:– Simplicidade e baixo custo– Facilidade de operação– Alta repetibilidade e velocidade– Simplicidade de controle

Desvantagens:– Baixa acurácia– Necessita posicionamento preciso dos

pontos de parada.

Controle malha fechada ou Servo controle A entrada controlada depende da saída

do sistema. Controle malha fechada:

– Possui sensores nas juntas e no atuador. Possui capacidades de correção:

– Consegue atingir qualquer ponto em seu envelope de trabalho, não apenas os terminais.

Controle malha fechada ou Servocontrole O sistema mede automaticamente as

posições das juntas e compara com a posição onde elas deveriam estar:

Se for diferente, usa o sistema realimentado para movê-las para a posição em que elas deveriam estar.

Servo-mecanismo: sistema de controle que detecta e corrige erros.

Malha fechada

Verificam a ocorrência de desvios, pois contém um sensor, que monitora a saída, fornecendo um sinal que retorna à entrada, formando uma malha de realimentação.

A entrada e a 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

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.

O sinal de erro (diferença entre o nível máximo, que é a entrada desejada, e a saída, o nível atual, abrindo ou fechando o registro conforme o erro seja para mais (excesso do fluído) ou menos.

O operador é ao mesmo tempo o comparador, o controlador e o atuador neste sistema elementar.

Diagrama blocos (Malha Fechada) Agora além dos blocos que compunham o

SC de m. aberta, temos um sensor, que reage à grandeza física enviando um sinal ao bloco somador, que subtrai este sinal ao de entrada (observe os sinais + e - nas entradas), fornecendo um sinal de erro 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 (Malha Fechada)

Sistema de Malha FechadaGrandeza Automática

Realimentado - Feedback

http://zone.ni.com/devzone/cda/tut/p/id/9912

Mais um diagrama malha fechada

Robô ou dispositivo

Sensor

E(t)e(t)s(t) y(t)

Estado desejado

Soma

Sinal de feedback

Sinal de erroEnergia de entrada

Amplificador

Estado medido ou realy´(t)

Servo controle

Servo controle com controle de caminho Um tipo de malha fechada. São robôs guiados por um controlador

servo que memoriza seqüências de posições de juntas e atuador.

Geralmente armazena milhares de pontos de trajetória, com:– posição, – velocidade e – aceleração.

Vantagens dos servo-controlados

Maior acurácia Boa velocidade Maior torque Controle flexível Capaz de realizar tarefas de

manufatura complexas. Multiplos programas.

Desvantagens

Custo inicial Programação sofisticada, exigindo

pessoal especializado. Custo em treinamento do usuário. Manutenção.

Tipos de Controladores

Tipos de Controladores

Liga-Desliga (on-off, bang-bang) Proporcional (P) Integral (I) Derivativo (D) Proporcional + Integral (PI) Proporcional + Derivativo (PD) Proporcional + Integral + Derivativo (PID) outros...

Controle liga-desliga (bang-bang) Compara sinal de entrada com realimentação

– Se saída supera entrada, desliga o atuador;– se a realimentação for menor, liga o atuador.

Ex.: fornos elétricos e geladeiras:– Calefator ou compressor controlado por um

termostato. Vantagens: simples, baixo custo Desvantagens: contínua oscilação da saída,

histerese, não garante precisão e pode desgastar controlador e atuador.

Exemplo: robô que se aproxima de uma parede

Material: um robô móvel equipado com sensor infra-vermelho

Exemplo alternativo: manipulador unidimensional que se aproxima de um ponto

Material: um robô manipulador equipado com sensor tipo encoder

Algoritmo: aproxima de paredes

void main() { int posit_goal = 100; int encoder_posit; float power = MAX_POWER; while (1) { encoder_posit = distance(WALL); if (posit_goal < encoder_posit) motor(power); else motor(-power); }}

Gráficos (distância x tempo)

D=30

Tempo

Pos

ição

(di

stân

cia

da p

ared

e em

cm

)

Distância x tempo

D=40

Tempo

Pos

ição

(di

stân

cia

da p

ared

e em

cm

)

Controlador Proporcional

A variável de controle é proporcional ao erro medido.

É mais complexo que o liga-desliga e mais simples que o PID e outros mais modernos.

Controlador Proporcional

Exemplo - dirigir um carro:– Você acelera o máximo no início.– Conforme o carro se aproxima da

velocidade desejada, a pressão sobre o acelerador diminui, a aceleração diminui.

– Quando a velocidade desejada é atingida, você mantém a velocidade mantendo a pressão sobre o pedal constante.

Proporcional simplificado

void main() { int posit_goal = 100; int encoder_posit; float power; while (1) { encoder_posit = distance(WALL); power = (posit_goal-encoder_posit); motor(power); }}

Nota: nunca é atingida uma posição estável (onde power = 0).

Posição e potência x tempo

0

100

-100Tempo

Pos

ição

e P

otên

cia

Melhorando o Proporcional

Fator multiplicativo p_gain faz ir mais rápido ao ponto desejado:void main() {int posit_goal=100, error, encoder_posit; float power, p_gain = 0.01; while (1) { encoder_posit = distance(WALL); error = (posit_goal - encoder_posit); power = p_gain * error; motor(power); }}

Propriedades do Proporcional

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

0

100

-100Tempo

Pos

ição

e P

otên

cia

Posição e potência x tempo Ganho = 20

0

100

-100Tempo

Pos

ição

e P

otên

cia

Posição e potência x tempo

Ganho = 50

0

100

-100Tempo

Pos

ição

e P

otên

cia

Propriedades do Proporcional

Erro é estacionário. Aumentando K, aumenta-se:

– Velocidade de resposta / convergência.– Sensibilidade a ruidos.– Overshoot.

Aumentando K, diminui-se:– Estabilidade.

Propriedades Proporcional

Propriedades Proporcional

https://www.embedded.com/2000/0010/0010feat3.htm

Controlador 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 = área sob a curva f(x)

Integral = soma de aproximações

Propriedades Integral

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.

Controlador Integral

Introdução do term i_gain:void main() { int posit_goal = 100, error = 0, encoder_posit = 0, integral = 0; float power, i_gain = 0,01; while (1) { encoder_posit = distance(WALL); error = (position_goal – encoder_position): integral = integral + error; power = i_gain * integral; motor(power); }}

Somatória das áreas

http://www.controlguru.com/wp/p69.html

Propriedades do Integral

Remove erros estacionários. Prova:

– Caso o erro estacionário exista, o valor da integral do erro cresce.

– Se a integral cresce, o valor da variavel de controle (power) cresce;

– Se power cresce, distância cresce,– Se distância cresce, o erro já não é mais

estacionário.

Problemas do Integral

https://www.embedded.com/2000/0010/0010feat3.htm

Controlador Proporcional Integral (PI) O controlador Integral por sí só pode

não convergir a um valor apropriado de controle (figura anterior).

Assim, ele é quase sempre usado associado ao controlador Proporcional: power = p_gain * error + i_gain * integral;

Controlador PI

void main() { int posit_goal = 100, error = 0, encoder_posit = 0, integral = 0; float power, p_gain = 0.01, i_gain = 0.001; while (1) { encoder_posit = distance(WALL); error = (position_goal – encoder_position): integral = integral + error; power = p_gain * error

+ i_gain * integral;

motor(power); } }

Posição e potência x tempo

0

100

-100Tempo

Pos

ição

e P

otên

cia

Controlador PI

https://www.embedded.com/2000/0010/0010feat3.htm

Controlador Derivativo

Um controlador Proporcional ou Integral (ou mesmo o PI) não possui nenhuma predição sobre o futuro do sistema.

O mesmo sinal de controle é obtido nos dois casos abaixo:

Controlador Derivativo

Adiciona um elemento que realiza uma previsão do comportamento do robô no futuro próximo, tendo como base os valores atuais e do passado próximo.

Calculando a Derivada

A derivada é a taxa de variação da função:

Chamada de velocidade de variação do erro.

Calculando a Derivada

Algoritmo derivativo

Introdução do term d_gain (velocidade):void main() { int posit_goal = 100, error = 0, encoder_posit = 0, velocity = 0; float power, d_gain = 0.1; while (1) { encoder_posit = distance(WALL); error = (position_goal – encoder_position): velocity = error - old_error; power = d_gain * velocity; old_error = error; motor(power); } }

Propriedades Derivativo

Controle diferencial é muito poderoso, mas é também o mais problemático dos tipos de controle apresentados.

Os três problemas mais comuns são:– Irregularidades na amostragem, – ruído e– oscilações de alta freqüência.

Na prática industrial, o controlador derivativo é pouco utilizado, pois os sistemas são bastante estáveis.

Controlador Proporcional Derivativo (PD) O controlador derivativo por sí só pode

não convergir a um valor apropriado de controle.

Assim, ele é quase sempre usado associado ao controlador Proporcional: power = p_gain * error + d_gain * velocity;

Proporcional derivativovoid main() { int posit_goal = 100, error = 0, encoder_posit = 0, velocity = 0; float power, p_gain = 0.01, d_gain = 0.1; while (1) { encoder_posit = distance(WALL); error = (position_goal – encoder_position): velocity = error - old_error; power = p_gain * error

+ d_gain * velocity;

old_error = error; motor(power); } }

Posição e potência x tempo

0

100

-100Tempo

Pos

ição

e P

otên

cia

Propriedades PD

Propriedades PD

https://www.embedded.com/2000/0010/0010feat3.htm

Controle P x PD

Controle PID

O sistema de controle mais utilizado em sistemas de processos contínuos:– Papel = 86%– Aço = 93%– Refinarias = 93%

Essencialmente, o PID possui um loop de retroalimentação que é:– Proporcional, – Integral e – Derivativo.

Controles P, I e D

Controle proporcional: um controlador que multiplica o erro por uma constante:– uk = ek P

Controle integral: um controlador que considera a integral do erro no tempo (usa a história):– uk = (e0 + e1 + … + ek) I

Controle derivativo: um controlador que considera a diferencial do erro no tempo (previsão futura):– uk = (ek – ek–1) D

Intuitivamente

Propocional:– Trata o erro ATUAL.

Integral:– Aplica um controle constante mesmo

quando o erro é zero. Derivativo:

– Antecipa e reage a taxas de mudanças rápidas antes que o erro cresca muito.

Controle PID

http://en.wikipedia.org/wiki/PID_controller

Controle PID

Processo em um controle PID

O Algoritmo PID

O Algoritmo PID simples.void main() { int posit_goal = 100, error = 0, encoder_posit = 0, integral = 0,velocity = 0; float p_gain=0.01, i_gain=0.001, d_gain=0.1; while (1) { encoder_posit = distance(WALL); error = (position_goal – encoder_position); integral = integral + error; velocity = error - old_error; power = p_gain * error

+ i_gain * integral + d_gain * velocity;

old_error = error; motor(power); } }

PID para controle de temperatura

https://www.embedded.com/2000/0010/0010feat3.htm

Comparação P, PI, PD, PID

P PI

PD PID

Limitações PID

Saturação Problemas com integração:

– Quando o controlador satura, a parte integral continua a crescer.

– Isto causa grandes erros de overshoot. Solução:

– Janela de reset.

Controle PID

Controle Pêndulo Invertido

Controle P x PID

Conclusão - Controle

SensoresExternos

Planejamentoda Trajetória

Controlador

Motores

Posição

Velocidade

Sensorinterno

Sensorinterno

Intervalo