Você está na página 1de 67

Robtica

Prof. Reinaldo Bianchi


Centro Universitrio da FEI
2007

11 Aula
a

Parte A

Objetivo

Introduo a controle:
Tipos de sistemas de controle.
Tipos de controladores.

Laboratrio de Controle usando Lego.


Baseado nas aulas de controle do Prof.
Dr. Luiz Marcos Garcia Gonalves
(http://www.dca.ufrn.br/~lmarcos/)

Sistema de controle bsico de um


rob

Tipos de Sistemas de Controle

Quanto estrutura, um sistema de


controle pode ser:
Malha aberta
Malha fechada

Malha aberta

A entrada define o comportamento do


controlador, crebro do sistema, e este
responde agindo no ambiente, sem
verificar depois se o nvel da grandeza
fsica corresponde de fato entrada.
No h sensor para observar algum
eventual desvio, nem realimentao,
para corrigi-lo.

Exemplo

Uma fonte de alimentao regulada


com transistor , na realidade, um
sistema de controle de malha aberta:
se a corrente da carga variar, a tenso na
sada pode variar at algumas dezenas de
mV, devido variao na tenso Vbe.

Transistor

Diagrama de blocos
(Malha Aberta)

A entrada o nvel desejado da grandeza


controlada (comando ou programao).
O controlador avalia este sinal e envia um
sinal (que pode ser eltrico ou mecnico,
conforme o sistema) ao atuador, que o
elemento que age no ambiente de modo a
alterar a grandeza.
Sistema de Malha Aberta:
Grandeza no Automtico

Diagrama de blocos (M. Aberta)

CONTROLADOR

ATUADOR

Sistema de Malha Aberta


Grandeza no Automtico

Aplicaes

Os SC em malha aberta so usados


onde a freqncia ou a conseqncia
dos desvios no justificam a
complexidade e o custo maior dos em
malha fechada.
No so aplicados em robtica (a no
ser em casos onde no necessrio
checar o erro).

Malha fechada

Verificam a ocorrncia de desvios, pois


contm um sensor, que monitora a sada,
fornecendo um sinal que retorna entrada,
formando uma malha de realimentao.
A entrada e a realimentao se juntam num
comparador, que combina ambos e fornece
um sinal de erro:
diferena entre os sinais, que orienta o
controlador.

Exemplo

O operador de um reservatrio verifica se o nvel


mximo foi atingido atravs de uma rgua de
nvel, que o sensor.
O sinal de erro (diferena entre o nvel mximo,
que a entrada desejada, e a sada, o nvel atual,
abrindo ou fechando o registro conforme o erro
seja para mais (excesso do fludo) ou menos.
O operador ao mesmo tempo o comparador, o
controlador e o atuador neste sistema elementar.

Diagrama blocos (Malha


Fechada)

Agora alm dos blocos que compunham o SC de


m. aberta, temos um sensor, que reage
grandeza fsica 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, atravs de um novo comando ao
atuador.

Diagrama de blocos (M.


Fechada)

ENTRADA

SOMADOR

CONTROLADOR

SENSOR

Sistema de Malha Fechada


Grandeza Automtica au

ATUADOR

REALIMENTAO

SADA

Sistema de Controle
Sinal de erro

Energia de entrada

Estado desejado

Sinal de feedback
Amplificador

Soma
s(t)

e(t)

y(t)
Estado medido ou real

E(t)

Sensor

Rob ou
dispositivo

y(t)

Aplicaes

Como vemos, os SC em malha fechada


so mais precisos, pois detectam e
corrigem os desvios. A maioria dos
sistemas atuais, analgicos ou digitais,
deste tipo.
Sistemas controle para robtica so na
grande maioria das vezes desta
categoria.

Rob

Exemplo: seguidor de paredes

Material: um robo mvel equipado com


sensor infra-vermelho:

Void calibrate(int goal); /*Calibra o sensor definindo uma


distncia da parede*/
void main() {
calibrate(goal); left(100); right(100);
while (1) {
int wall = analog(LEFT_WALL);
if(wall<goal) {left(100); right(0);}
else {right(100); left(0); }
}
}

Grficos (distncia x tempo)

D=30

Distncia x tempo

D=40

Virando mais suavemente


voidmain(){
calibrate(goal);left(100);right(100);
while(1){
intwall=analog(LEFT_WALL);
if(wall<goal){left(100);right(50);}
else{right(100);left(50);}
}
}

Distncia x tempo

D=40

Sistema de Controle
(t)

s(t)

e(t)

Perturbao
u(t)

Sensor
y(t)

Rob

y(t)

Parntesis matemtico...

(...

A Diverge to Math
System representations

Three ways of system modeling

Time domain: convolution; differential equations.


t

u(t)

g(t)

y(t)

y (t ) g (t ) * u (t ) g (t )u ( )d
0

s (frequency) domain: multiplication


U(s)

G(s)

Y(s)

Y ( s ) G ( s )U ( s )

Block diagram: pictorial

s-domain is a simple & powerful language for control analysis

A Diverge to Math
Laplace transform

Laplace transform of a signal f(t)

F ( s ) L[ f (t )]

f (t )e

st

dt

where s=+i is a complex variable.


Laplace transform is a translation from timedomain to
s-domain

equation Polynomial

Differential
function
a2 y (t ) a1 y (t ) a0 y (t ) b1 u (t ) b0u (t )

Y (s)

b1s b0
U ( s)
2
a2 s a1s a0

A Diverge to Math
Laplace transform

Basic translations

Impulse function
Step signal
Ramp signal
Exp signal
Sinusoid signal

f(t)=(t) F(s)=1
f(t)=a1(t) F(s)=1/s
f(t)=at F(s)=a/s2
f(t)=eat F(s)=1/(s-a)
f(t)=sin(at) F(s)=a/(s2+a2)

Composition rules
Linearity
Differentiation
Integration

L[af(t)+bg(t)] = aL[f(t)]+bL[g(t)]
L[df(t)/dt] = sF(s) f(0-)
L[tf()d] = F(s)/s

A Diverge to Math
Transfer function

Modeling a linear time-invariant (LTI)


system
G(s) = Y(s)/U(s) Y(s) = G(s)U(s)
U(s)

G(s)

Y(s)

E.g., a second order system with poles p1 and


p2

b1s b0
c1
c2
G(s)

a2 s 2 a1s a0 s p1 s p2

A Diverge to Math
Poles and Zeros

The response of a linear time-invariant (LTI) system


bm s m bm1s m1 ... b0
F (s)
an s n an1s n1 ... a0

im1 ( s zi )
Cn
C1
C2
K n

...
i 1 ( s pi ) s p1 s p2
s pn
n

f (t ) Ci e pit
i 1

{pi} are poles of the function and decide the system


behavior

A Diverge to Math
Time response vs. pole location
Stable

Unstable

f(t) = ept, p = a+bj

A Diverge to Math
Block diagram

A pictorial tool to represent a system based on


transfer functions and signal flows
Represent a feedback control system
R(s)

R(s)

C(s)

Gc(s)

Go(s)

Y(s)

Y(s)

C ( s )Go ( s )
Gc
1 C ( s )Go ( s )
Y ( s ) Gc ( s ) R ( s )

Parntesis matemtico...

... )

Tipos de Controladores

Liga-Desliga (on-off, bang-bang)


Proporcional (P)
Proporcional + Integral (PI)
Proporcional + Derivativo (PD)
Proporcional + Integral + Derivativo
(PID)
MPC

Controle liga-desliga (bang-bang)

Compara sinal de entrada com realimentao


Se sada supera entrada, desliga o atuador;
se a realimentao for menor, liga o atuador.

Ex.: fornos eltricos e geladeiras:


Calefator ou compressor controlado por um termostato.

Vantagens: simples, baixo custo


Desvantagens: contnua oscilao da sada,
histerese, no garante preciso e pode desgastar
controlador e atuador.

Proporcional

Ganho proporcional ao erro medido.


Exemplo: controlar a velocidade de um motor
void main() {
int posit_goal=100;
encoder_posit=0; /*Varivel compartilhada*/
while (1) {
power = posit_goal - encoder_posit;
motor(power);
}
}

Posio e potncia x tempo


100

-100

Melhorando o Proporcional

Fator multiplicativo faz ir mais rpido ao


ponto desejado:
void main() {
int posit_goal=100;
encoder_posit=0;
while (1) {
power=p_gain*(posit_goal- encoder_posit);
motor(power);
}
}

Melhorando o Proporcional

Problema com ganhos altos:


over-shoot,
oscilaes.

Potncia total desejada se longe do


objetivo.
Ganho alto pode causar potncia alta
mesmo estando prximo.

Posio e potncia x tempo

100

-100

Ganho = 10

Posio e potncia x tempo

100

-100

Ganho = 20

Posio e potncia x tempo

100

-100

Ganho = 50

Proporcional derivativo

Momento faz ir alm do ponto, mesmo


desligando o motor.
Momento = massa x velocidade (diretamente
proporcional a velocidade, dobre velocidade,
dobra momento).
Termo derivativo resolve overshooting e
oscilaes

Proporcional derivativo

Introduo do term d_gain (velocidade):


void main() {
int posit_goal=100;
encoder_posit=0;
while (1) {
power=p_gain*(posit_goal- encoder_posit) +
d_gain*encoder_velocity;
motor(power);
}
}

Posio e potncia x tempo


100

-100

Integral

Usa um integrador como controlador (um


circuito que executa a operao matemtica
da integrao).
Soma produtos dos valores instantneos de
entrada por intervalos de tempo t.
Desde o instante inicial at o final (perodo de
integrao).
Isto corresponde rea entre a curva da
grandeza e o eixo do tempo, num grfico.

Integral (cont.)

Ex.: Se grandeza = G (const), integral


entre t1 = 0 e t2=j ser igual a G t2 (ou
Gj) = rea, no grfico da grandeza, de
um retngulo naquele intervalo de tempo.
Um grfico da integral de t1 a t2 uma
reta desde 0 at Gj, pois a rea (ou o
somatrio) aumenta medida que o
tempo passa.

Integral (cont)

Integrador torna o sistema lento.


Resposta depende da acumulao do erro na
entrada.
Leva a um erro de regime nulo (no necessrio
um sinal de entrada para haver sada do
controlador).
Acionamento do atuador aps o perodo transitrio.
Assim o controle muito preciso, embora mais
lento.

Posio e potncia x tempo


100

-100

Controle PID

O sistema de controle mais utilizado em sistemas


de processos contnuos:
Papel = 86%
Ao = 93%
Refinarias = 93%

Essencialmente, o PID possui um loop de


retroalimentao que :
proporcional,
derivativo e
integral.

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 histria):
uk = (e0 + e1 + + ek) I

Controle derivativo: um controlador que


considera a diferencial do erro no tempo
(previso futura):
uk = (ek ek1) D

Intuitivamente

Propocional:
Trata o erro ATUAL.

Integral:
Aplica um controle constante mesmo
quando o erro zero.

Derivativo:
Antecipa e reage a taxas de mudanas
rapidas antes que o erro cresca muito
rapidamente.

Controle PID

Processo em um controle PID

Concluso - Controle
Sensores
Externos
Planejamento
da Trajetria
Velocidade

Sensor
interno

Controlador

Motores

Posio

Sensor
interno

Intervalo

Você também pode gostar