Title: Introdu
1Introdução ao controle de robôs
2Cinemática x Dinâmica
Dinâmica x Atraso
Contínuo x Discreto
3Tipos de Sistemas de Controle
- Malha aberta
- Malha fechada
4Malha 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.
5Exemplo
- 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.
6Transistor
7Diagrama 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
8Diagrama de blocos (M. Aberta)
Sistema de Malha Aberta Grandeza não Automático
9Aplicaçõ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).
10Malha 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.
11Exemplo 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.
12Diagrama 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.
13Diagrama de blocos (M. Fechada)
Sistema de Malha Fechada Grandeza Automática
14Aplicaçõ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.
15Controle
- 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).
16Redescobrindo 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...
17Sistema de Controle
Sinal de erro
Energia de entrada
Estado desejado
Sinal de feedback
Amplificador
Soma
E(t)
e(t)
s(t)
y(t)
Robô ou dispositivo
y(t)
Estado medido ou real
18Exemplo 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(wallltgoal) left(100) right(0)
- else right(100) left(0)
-
19Gráficos (distância x tempo)
D40
20Distância x tempo
D30
21Virando mais suave
- void main()
- calibrate(goal) left(100) right(100)
- while (1)
- int wall analog(LEFT_WALL)
- if(wallltgoal) left(100) right(50)
- else right(100) left(50)
-
-
22Distância x tempo
D40
23Sistema de Controle
?(t)
u(t)
e(t)
s(t)
y(t)
y(t)
24Motores
25Controladores
- Liga-Desliga (on-off)
- Proporcional (P)
- Proporcional Integral (PI)
- Proporcional Derivativo (PD)
- Proporcional Integral Derivativo (PID)
26Controle liga-desliga
27Mecanismo (roda)
0
Roda (massa grande)
Engrenagens
Sensor (encoder)
Motor
28Proporcional
- Ganho é proporcional ao erro medido
- Exemplo controlar a posição de um motor
- void main()
- int posit_goal0
- encoder_posit100 /Var. compartilhada/
- while (1)
- power posit_goal - encoder_posit
- motor(power)
-
29Posição e potência x tempo
100
0
-100
30Melhorando o Proporcional
- Introdução de um fator multiplicativo faz ir mais
rápido ao ponto desejado - void main()
- int posit_goal100
- encoder_posit0
- while (1)
- powerp_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.
31Posição e potência x tempo
100
0
-100
32Posição e potência x tempo
100
0
-100
33Posição e potência x tempo
100
0
-100
34Proporcional derivativo
- Problema momento faz ir além do ponto, mesmo
desligando o motor - Momento massa x velocidade (diretamente
proporcional a velocidade) - Dobra velocidade gt dobra momento).
- Termo derivativo resolve overshooting e
oscilações
35Proporcional derivativo
- Introdução do term d_gain (velocidade)
- void main()
- int posit_goal0
- encoder_posit100
- while (1)
- powerp_gain(posit_goal- encoder_posit)
- d_gainencoder_velocity
- motor(power)
-
36Posição e potência x tempo
100
0
-100
37Integral
- 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.
38Integral (cont.)
- Ex. Se grandeza G (const), integral entre
t1 0 e t2j 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.
39Integral (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.
40Posição e potência x tempo
100
0
-100
41Hierarquia de controle (robô móvel)
Sensor interno
Sensor interno
42Níveis de controle
- 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.
43Controlador dos motores
44Controlador de ângulo e velocidade linear
45Desvio de obstáculos
teta180/piatan((S1sin(pi/4)-S3sin(pi/4))/(S2S
1cos(pi/4)S3cos(pi/4)))
46Busca do alvo
47Posição (integração dos enconders)
48Controle 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
49Tipos de controle
- 1) Reactive control
- 2) Deliberative control
- 3) Hybrid control
- 4) Behavior based control (sub-sumption)
50Controle 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.
51Controle 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)
52Exemplo 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
53Controle 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
54Controle 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.
55Arquitetura 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).