robótica prof. reinaldo bianchi centro universitário da fei 2013
TRANSCRIPT
![Page 1: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/1.jpg)
Robótica
Prof. Reinaldo Bianchi
Centro Universitário da FEI
2013
![Page 2: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/2.jpg)
7a Aula
Parte A
![Page 3: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/3.jpg)
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.
![Page 4: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/4.jpg)
Introdução a Controle
![Page 5: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/5.jpg)
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
![Page 6: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/6.jpg)
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.
![Page 7: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/7.jpg)
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.
![Page 8: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/8.jpg)
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
![Page 9: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/9.jpg)
Diagrama de blocos (Malha Aberta)
Sistema de Malha AbertaGrandeza não Automático
http://zone.ni.com/devzone/cda/tut/p/id/9912
![Page 10: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/10.jpg)
Sistema pneumático não servo
![Page 11: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/11.jpg)
Robô de sequência limitada.
![Page 12: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/12.jpg)
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.
![Page 13: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/13.jpg)
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.
![Page 14: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/14.jpg)
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.
![Page 15: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/15.jpg)
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.
![Page 16: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/16.jpg)
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.
![Page 17: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/17.jpg)
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.
![Page 18: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/18.jpg)
Diagrama de blocos (Malha Fechada)
Sistema de Malha FechadaGrandeza Automática
Realimentado - Feedback
http://zone.ni.com/devzone/cda/tut/p/id/9912
![Page 19: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/19.jpg)
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)
![Page 20: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/20.jpg)
Servo controle
![Page 21: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/21.jpg)
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.
![Page 22: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/22.jpg)
Vantagens dos servo-controlados
Maior acurácia Boa velocidade Maior torque Controle flexível Capaz de realizar tarefas de
manufatura complexas. Multiplos programas.
![Page 23: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/23.jpg)
Desvantagens
Custo inicial Programação sofisticada, exigindo
pessoal especializado. Custo em treinamento do usuário. Manutenção.
![Page 24: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/24.jpg)
Tipos de Controladores
![Page 25: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/25.jpg)
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...
![Page 26: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/26.jpg)
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.
![Page 27: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/27.jpg)
Exemplo: robô que se aproxima de uma parede
Material: um robô móvel equipado com sensor infra-vermelho
![Page 28: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/28.jpg)
Exemplo alternativo: manipulador unidimensional que se aproxima de um ponto
Material: um robô manipulador equipado com sensor tipo encoder
![Page 29: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/29.jpg)
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); }}
![Page 30: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/30.jpg)
Gráficos (distância x tempo)
D=30
Tempo
Pos
ição
(di
stân
cia
da p
ared
e em
cm
)
![Page 31: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/31.jpg)
Distância x tempo
D=40
Tempo
Pos
ição
(di
stân
cia
da p
ared
e em
cm
)
![Page 32: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/32.jpg)
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.
![Page 33: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/33.jpg)
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.
![Page 34: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/34.jpg)
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).
![Page 35: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/35.jpg)
Posição e potência x tempo
0
100
-100Tempo
Pos
ição
e P
otên
cia
![Page 36: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/36.jpg)
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); }}
![Page 37: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/37.jpg)
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.
![Page 38: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/38.jpg)
Posição e potência x tempo Ganho = 10
0
100
-100Tempo
Pos
ição
e P
otên
cia
![Page 39: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/39.jpg)
Posição e potência x tempo Ganho = 20
0
100
-100Tempo
Pos
ição
e P
otên
cia
![Page 40: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/40.jpg)
Posição e potência x tempo
Ganho = 50
0
100
-100Tempo
Pos
ição
e P
otên
cia
![Page 41: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/41.jpg)
Propriedades do Proporcional
Erro é estacionário. Aumentando K, aumenta-se:
– Velocidade de resposta / convergência.– Sensibilidade a ruidos.– Overshoot.
Aumentando K, diminui-se:– Estabilidade.
![Page 42: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/42.jpg)
Propriedades Proporcional
![Page 43: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/43.jpg)
Propriedades Proporcional
https://www.embedded.com/2000/0010/0010feat3.htm
![Page 44: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/44.jpg)
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.
![Page 45: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/45.jpg)
Integral = área sob a curva f(x)
![Page 46: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/46.jpg)
Integral = soma de aproximações
![Page 47: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/47.jpg)
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.
![Page 48: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/48.jpg)
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); }}
![Page 49: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/49.jpg)
Somatória das áreas
http://www.controlguru.com/wp/p69.html
![Page 50: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/50.jpg)
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.
![Page 51: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/51.jpg)
Problemas do Integral
https://www.embedded.com/2000/0010/0010feat3.htm
![Page 52: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/52.jpg)
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;
![Page 53: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/53.jpg)
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); } }
![Page 54: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/54.jpg)
Posição e potência x tempo
0
100
-100Tempo
Pos
ição
e P
otên
cia
![Page 55: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/55.jpg)
Controlador PI
https://www.embedded.com/2000/0010/0010feat3.htm
![Page 56: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/56.jpg)
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:
![Page 57: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/57.jpg)
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.
![Page 58: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/58.jpg)
Calculando a Derivada
A derivada é a taxa de variação da função:
Chamada de velocidade de variação do erro.
![Page 59: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/59.jpg)
Calculando a Derivada
![Page 60: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/60.jpg)
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); } }
![Page 61: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/61.jpg)
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.
![Page 62: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/62.jpg)
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;
![Page 63: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/63.jpg)
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); } }
![Page 64: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/64.jpg)
Posição e potência x tempo
0
100
-100Tempo
Pos
ição
e P
otên
cia
![Page 65: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/65.jpg)
Propriedades PD
![Page 66: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/66.jpg)
Propriedades PD
https://www.embedded.com/2000/0010/0010feat3.htm
![Page 67: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/67.jpg)
Controle P x PD
![Page 68: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/68.jpg)
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.
![Page 69: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/69.jpg)
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
![Page 70: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/70.jpg)
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.
![Page 71: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/71.jpg)
Controle PID
http://en.wikipedia.org/wiki/PID_controller
![Page 72: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/72.jpg)
Controle PID
![Page 73: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/73.jpg)
Processo em um controle PID
![Page 74: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/74.jpg)
O Algoritmo PID
![Page 75: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/75.jpg)
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); } }
![Page 76: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/76.jpg)
PID para controle de temperatura
https://www.embedded.com/2000/0010/0010feat3.htm
![Page 77: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/77.jpg)
Comparação P, PI, PD, PID
P PI
PD PID
![Page 78: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/78.jpg)
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.
![Page 79: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/79.jpg)
![Page 80: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/80.jpg)
Controle PID
![Page 81: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/81.jpg)
Controle Pêndulo Invertido
![Page 82: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/82.jpg)
Controle P x PID
![Page 83: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/83.jpg)
Conclusão - Controle
SensoresExternos
Planejamentoda Trajetória
Controlador
Motores
Posição
Velocidade
Sensorinterno
Sensorinterno
![Page 84: Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2013](https://reader035.vdocuments.site/reader035/viewer/2022062312/552fc12a497959413d8cd944/html5/thumbnails/84.jpg)
Intervalo