Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouBrenda Fortuna Alterado mais de 10 anos atrás
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.
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.