A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof. Reinaldo Bianchi Centro Universitário da FEI 2013

Apresentações semelhantes


Apresentação em tema: "Prof. Reinaldo Bianchi Centro Universitário da FEI 2013"— Transcrição da apresentação:

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

2 7a Aula Parte A

3 Objetivos desta aula Introdução a Controle: Arquiteturas de 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.

4 Introdução a Controle

5 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

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

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

8 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

9 Diagrama de blocos (Malha Aberta)
Sistema de Malha Aberta Grandeza não Automático

10 Sistema pneumático não servo

11 Robô de sequência limitada.

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

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

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

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

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

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

18 Diagrama de blocos (Malha Fechada)
Sistema de Malha Fechada Grandeza Automática Realimentado - Feedback

19 Mais um diagrama malha fechada
Sinal de erro Energia de entrada Estado desejado Sinal de feedback Amplificador Soma s(t) e(t) E(t) Robô ou dispositivo y(t) Sensor y´(t) Estado medido ou real

20 Servo controle

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

22 Vantagens dos servo-controlados
Maior acurácia Boa velocidade Maior torque Controle flexível Capaz de realizar tarefas de manufatura complexas. Multiplos programas.

23 Desvantagens Custo inicial
Programação sofisticada, exigindo pessoal especializado. Custo em treinamento do usuário. Manutenção.

24 Tipos de Controladores

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

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

27 Exemplo: robô que se aproxima de uma parede
Material: um robô móvel equipado com sensor infra-vermelho

28 Exemplo alternativo: manipulador unidimensional que se aproxima de um ponto
Material: um robô manipulador equipado com sensor tipo encoder

29 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); }

30 Gráficos (distância x tempo)
Posição (distância da parede em cm) D=30 Tempo

31 Posição (distância da parede em cm)
Distância x tempo Posição (distância da parede em cm) D=40 Tempo

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

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

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

35 Posição e potência x tempo
100 -100 Tempo

36 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); }

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

38 Posição e potência x tempo
Ganho = 10 Posição e Potência 100 -100 Tempo

39 Posição e potência x tempo
Ganho = 20 Posição e Potência 100 -100 Tempo

40 Posição e potência x tempo
Ganho = 50 Posição e Potência 100 -100 Tempo

41 Propriedades do Proporcional
Erro é estacionário. Aumentando K, aumenta-se: Velocidade de resposta / convergência. Sensibilidade a ruidos. Overshoot. Aumentando K, diminui-se: Estabilidade.

42 Propriedades Proporcional

43 Propriedades Proporcional

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

45 Integral = área sob a curva f(x)

46 Integral = soma de aproximações

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

48 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); }

49 Somatória das áreas

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

51 Problemas do Integral

52 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;

53 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); } }

54 Posição e potência x tempo
100 -100 Tempo

55 Controlador PI

56 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:

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

58 Calculando a Derivada A derivada é a taxa de variação da função:
Chamada de velocidade de variação do erro.

59 Calculando a Derivada

60 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); } }

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

62 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;

63 Proporcional derivativo
void 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); } }

64 Posição e potência x tempo
100 -100 Tempo

65 Propriedades PD

66 Propriedades PD

67 Controle P x PD

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

69 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

70 Intuitivamente Propocional: Integral: Derivativo: Trata o erro ATUAL.
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.

71 Controle PID

72 Controle PID

73 Processo em um controle PID

74 O Algoritmo PID

75 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); } }

76 PID para controle de temperatura

77 Comparação P, PI, PD, PID P PI PD PID

78 Limitações PID Saturação Problemas com integração: Solução:
Quando o controlador satura, a parte integral continua a crescer. Isto causa grandes erros de overshoot. Solução: Janela de reset.

79

80 Controle PID

81 Controle Pêndulo Invertido

82 Controle P x PID

83 Conclusão - Controle Sensores Externos Planejamento da Trajetória
Controlador Motores Posição Velocidade Sensor interno Sensor interno

84 Intervalo


Carregar ppt "Prof. Reinaldo Bianchi Centro Universitário da FEI 2013"

Apresentações semelhantes


Anúncios Google