Você está na página 1de 17

UNIVERSIDADE FEDERAL DO PIAUÍ

DEPARTAMENTO DE ENGENHARIA MECÂNICA - CT


DISCIPLINA: CONTROLE DE SISTEMAS DINÂMICOS
FABRÍCIO SOARES DE SOUSA

CONTROLE DE SISTEMAS DINÂMICOS

Teresina - PI
2021
FABRÍCIO SOARES DE SOUSA

TAREFA 05 – PÊNDULO INVERTIDO E


ESTABILIDADE

Relatório apresentado a disciplina


de controle de sistemas dinâmicos,
referente à composição da 2°
avaliação.

Professor:
Antônio Airton Carneiro de Freitas

Teresina - PI
2021
1. PÊNDULO INVERTIDO

O sistema consiste em um carrinho com uma haste que pode se deslocar


angularmente. A haste tende a cair sob efeito da gravidade, portanto é um
sistema naturalmente instável. O sistema pode ser estabilizado aplicando uma
força horizontal ao carrinho, fazendo a haste ficar na vertical. Esse sistema tem
uma aplicação muito interessante, sendo utilizado como análise a um sistema
braço robótico, como será visto posteriormente.

A Figura 1 exemplifica o esquema do pêndulo invertido em análise,


onde:

M = Massa do carro
m = massa do pêndulo
b = Coeficiente de atrito do carro
𝑙 = Distância do eixo ao centro de massa
I = Momento de inércia do pêndulo
F = Força aplicada ao pêndulo
𝜃 = Posição angular do pêndulo
X = Posição do carro

Figura 1: Componentes de um sistema pêndulo invertido.

Fonte: GOOGLE IMAGENS.

Como já foi visto previamente, a função de transferência do ângulo de


inclinação da barra em função da força de entrada F é facilmente encontrada
através de operações algébricas de somatório de forças e momentos. De modo
que a função G(s) em (rad/N) tem a forma:
𝑚𝑙
Θ(𝑠) 𝑞 𝑠
𝐺(𝑠) = = [𝑟𝑎𝑑/𝑁]
𝐹(𝑠) 4 𝑏(𝐼 + 𝑚𝑙 2) 3 (𝑀 + 𝑚)𝑚𝑔𝑙 2 𝑏𝑚𝑔𝑙
𝑠 + 𝑠 − 𝑠 − 𝑞 𝑠
𝑞 𝑞

Sendo que 𝑞 = (𝑀 + 𝑚)(𝐼 + 𝑚𝑙 2 ) − (𝑚𝑙)2

Com os dados:
𝑔 = 9,81 𝑚/𝑠 2
𝑀 = 2,5 𝑘𝑔
𝑚 = 0,5 𝑘𝑔
𝑔 = 9,81 𝑚/𝑠 2
𝐼 = 0,0121466 𝑘𝑔. 𝑚2
𝑏 = 0,1 𝑁. 𝑠/𝑚
𝑙 = 0,15 𝑚
𝑞 = (𝑀 + 𝑚)(𝐼 + 𝑚𝑙 2 ) − (𝑚𝑙)2 = 0,0645648

➢ ANÁLISE EM MALHA ABERTA E MALHA FECHADA

▪ MALHA ABERTA

A função de transferência em malha aberta G(s) [rad/N] para o


pêndulo pôde ser encontrada com a adição dos parâmetros geométricos,
terminando da seguinte maneira:

Θ(𝑠) 1,16162𝑠 2
𝐺(𝑠) = =
𝐹(𝑠) 𝑠 4 + 0,3624𝑠 3 − 34,1517𝑠 2 − 1,13839𝑠

▪ MALHA FECHADA

A expressão para o sistema realimentado é

𝐺(𝑠)
𝐹(𝑠) =
1 + 𝐺(𝑠)𝐻(𝑠)

Onde G(s) é a nossa função de transferência e H(s) é o ganho de


realimentação, o caso específico em que H(s) é equivalente a 1 se
chama realimentação unitária. Depois de aplicada a retroalimentação, a
função a ser modela fica da forma:

Θ(𝑠) 1,16162𝑠 2
𝐺(𝑠) = = 4
𝐹(𝑠) 𝑠 + 0,3624𝑠 3 − 32,99𝑠 2 − 1,13839𝑠
➢ CONTROLE PID

O controle PID se baseia no ganho proporcional 𝐾𝑝 , tempo integral 𝑇𝑖 e


tempo derivativo 𝑇𝑑 , como pode ser visto na Figura 2, e sua função de
transferência tem a forma como segue:

Figura 2: Exemplo de um controlador PID.

.
Fonte: OGATA.

1
𝐺𝑐 (𝑠) = 𝐾𝑝 (1 + + 𝑇𝑑 𝑠)
𝑇𝑖 𝑠

Ou

𝐺𝑐 (𝑠) = 𝐾𝑑 𝑠 2 + 𝐾𝑝 𝑠 + 𝐾𝑖

A função de transferência do controlador será colocada em série com a


função de transferência do sistema modelado (pêndulo invertido), e
realimentadas para que o controlador possa receber o valor do erro da saída e
corrigi-lo caso necessário. A função de transferência do modelo seguirá o
cálculo a seguir, com isso nos restará termos os valores para os ganhos, de
modo a definirmos a função de transferência do controlador.

Função de transferência do modelo:

Θ(𝑠) 𝐺(𝑠)𝐺𝑐 (𝑠)


=
Θ𝑟 (𝑠) 1 + 𝐺(𝑠)𝐺𝑐 (𝑠)

Utilizando agora um controlador PID com os seguintes parâmetros

𝐾𝑝 = 500
𝐾𝑖 = 10
𝐾𝑑 = 10

A função de transferência do controlador, e do modelo respectivamente


obtêm as formas:
𝐺𝑐 (𝑠) = 𝐾𝑑 𝑠 2 + 𝐾𝑝 𝑠 + 𝐾𝑖
10𝑠 2 + 500𝑠 + 10
𝐺𝑐 (𝑠) =
𝑠

Θ(𝑠) 11,6162𝑠 4 + 580,81𝑠 3 + 11,6162𝑠 2


= 5
𝐹(𝑠) 𝑠 + 11,9786𝑠 4 + 546,6583𝑠 3 + 10,4778𝑠 2

E simplificando

Θ(𝑠) 11,6162𝑠 2 + 580,81𝑠 + 11,6162


=
𝐹(𝑠) 𝑠 3 + 11,9786𝑠 2 + 546,6583𝑠 + 10,4778

E realizando a modelagem chegamos na Figura 3.

Figura 3: Simulação do modelo pêndulo invertido utilizando um controlar PID, entrada degrau
unitário.

Fonte: AUTOR.

De onde vem as instabilidades do pêndulo invertido? Esse


questionamento vem desde a análise das respostas transitórias do pêndulo, e
de como um simples controlador PID nos permite deixar o sistema estável e
com uma resposta muito rápida, como pôde ser visto na Figura 3, aqui foi
possível permitir respostas rápidas e precisas, e um tempo de menor que 1
segundo já foi possível estabilizar bem o sistema para os ganhos do
controlador, ganhos estes utilizados arbitrariamente.

2. ESTABILIDADE

• CRITÉRIO DO LUGAR DAS RAÍZES

A característica básica da resposta transitória de um sistema de malha


fechada está intimamente relacionada à localização dos polos de malha
fechada. Se o ganho de malha do sistema for variável, então a localização dos
polos de malha fechada dependerá do valor do ganho de malha escolhido. É
importante, então, que o projetista saiba como os polos de malha fechada se
movem no plano s, à medida que o ganho de malha varia.

Os polos de malha fechada são as raízes da equação característica, mas,


apenas a determinação das raízes da equação característica pode ser uma
solução limitada porque, à medida que o ganho da função de transferência de
malha aberta varia, a equação característica se altera e os cálculos devem ser
refeitos. Um método simples para a determinação das raízes da equação
característica foi desenvolvido por W. R. Evans e tem sido amplamente
utilizado na engenharia de controle.

Esse método, chamado método do lugar das raízes, permite que as raízes
da equação característica sejam representadas graficamente para todos os
valores de um parâmetro do sistema. O parâmetro é normalmente o ganho,
mas é possível utilizar qualquer outra variável da função de transferência de
malha aberta.

O lugar geométrico das raízes (L.G.R) é um gráfico construído do


conhecimento dos polos e zeros do sistema em malha aberta. Tomando o
ganho como parâmetro, o L.G.R é o conjunto dos pontos no plano complexo
que correspondem aos polos do sistema em malha fechada. Conforme
podemos ver na figura 4 um sistema em malha fechada representado em forma
de diagrama de blocos, temos que a sua função de transferência tem a forma:

𝐶(𝑠) 𝐺(𝑠)
=
𝑅(𝑠) 1 + 𝐺(𝑠)𝐻(𝑠)
Figura 4: Malha fechada para aplicação do critério.

.
Fonte: OGATA.

E, portanto, os polos do sistema em malha fechada (que naturalmente


determinam as características da resposta do sistema em malha fechada) são
as raízes da equação:

1 + 𝐺(𝑠) ∗ 𝐻(𝑠) = 0
𝐺(𝑠) ∗ 𝐻(𝑠) = −1 + 𝑗. 0

A forma complexa foi usada para enfatizar que se trata de uma igualdade
de números complexos. Por esta razão, a equação desdobra-se em condição
de fase, que iguala as fases dos polos a múltiplos ímpares de 180º, e
condição de módulo (ou ganho), respectivamente segue-se:

∠𝐺(𝑠) ∗ 𝐻(𝑠) = −1

∠𝐺(𝑠) ∗ 𝐻(𝑠) = ±180(2. 𝑟 + 1), 𝑟 = 0, 1, 2 …

|G(s) ∗ H(s)| = 1

Em muitos casos, G(s)*H(s) envolve um parâmetro de ganho K e a equação


característica pode ser escrita como:

𝐾 ∗ (𝑠 + 𝑧1 ) ∗ (𝑠 + 𝑧2 ) ∗ … ∗ (𝑠 + 𝑧𝑚 )
1+ =0
(𝑠 + 𝑝1 ) ∗ (𝑠 + 𝑝2 ) ∗ … ∗ (𝑠 + 𝑝𝑛 )

Então, o lugar das raízes do sistema é o lugar dos polos de malha fechada
quando o ganho K varia de zero a infinito. E podemos definir a forma geral
onde 𝑧1 , 𝑧2 … 𝑧𝑚 são os zeros em malha aberta; 𝑝1 , 𝑝2 … 𝑝𝑛 são os polos em
malha aberta e K é o ganho, que vamos supor ser positivo 𝐾 > 0.
𝐾 ∗ (𝑠 + 𝑧1 ) ∗ (𝑠 + 𝑧2 ) ∗ … ∗ (𝑠 + 𝑧𝑚 )
𝐺(𝑠). 𝐻(𝑠) =
(𝑠 + 𝑝1 ) ∗ (𝑠 + 𝑝2 ) ∗ … ∗ (𝑠 + 𝑝𝑛 )

Note que, para começar o esboço do lugar das raízes de um sistema


pelo método do lugar das raízes, devemos conhecer a localização dos polos e
zeros de G(s)H(s). Lembre-se de que os ângulos dos vetores no plano
complexo (grandezas complexas) que se originam nos polos e zeros de malha
aberta e vão até o ponto de teste s são medidos no sentido anti-horário. Por
exemplo, se G(s)H(s) for dado por:

𝐾 ∗ (𝑠 + 𝑧1 )
𝐺 (𝑠 ) . 𝐻 (𝑠 ) =
(𝑠 + 𝑝1 ) ∗ (𝑠 + 𝑝2 ) ∗ … ∗ (𝑠 + 𝑝𝑛 )

Onde −𝑝2 e −𝑝3 são os polos complexos conjugados, então o ângulo de


G(s)H(s) será:
∠𝐺(𝑠) ∗ 𝐻(𝑠) = 𝜑1 − 𝜃1 − 𝜃2 − 𝜃3 − 𝜃4

Onde 𝜑1 , 𝜃1 , 𝜃2 , 𝜃3 𝑒 𝜃4 são medidos no sentido anti-horário, e o módulo para


esse sistema será mostrado abaixo, e temos que 𝐴1 , 𝐴2 , 𝐴3 , 𝐴4 e 𝐵1 são os
módulos das grandezas complexas. Tudo isso é exemplificado na Figura 5.
Existem várias regras de como se construir o L.G.R, juntamente com meios
computacionais com o mesmo intuito, como veremos a seguir.

𝐾 ∗ 𝐵1
|G(s) ∗ H(s)| =
𝐴1 ∗ 𝐴2 ∗ 𝐴3 ∗ 𝐴4

Figura 5: Diagramas que mostram medidas dos ângulos a partir do ponto de testes s e dos
polos e zeros de malha aberta.
.

Fonte: OGATA.
O L.G.R é definido como sendo o conjunto de pontos no plano s que
satisfazem essas condições. Lugar das raízes sob o eixo real - polos e zeros
complexos: não contribuem para o lugar das raízes; polos e zeros reais
contribuem, de modo que:

“Um ponto de teste sobre o eixo real pertence


ao L.G.R se o número de polos (p) e zeros (z) à
direita desse ponto for ímpar.”

• CRÍTÉRIO DE ESTABILIDADE DE ROUTH & HURWITZ

Já foi visto em trabalhos passados como um sistema de controle é estável


se e somente se todos os polos de malha fechada estiverem situados no
semiplano esquerdo do plano s. A maioria dos sistemas lineares de malha
fechada tem funções de transferência de malha fechada da forma:

Θ(𝑠) 𝑏𝑜 𝑠 𝑚 + 𝑏1 𝑠 𝑚−1 + ⋯ + 𝑏𝑚−1 𝑠 + 𝑏𝑚 𝐵(𝑠)


= =
𝐹(𝑠) 𝑎𝑜 𝑠 𝑛 + 𝑎1 𝑠 𝑛−1 + ⋯ + 𝑎𝑛−1 𝑠 + 𝑎𝑛 𝐴(𝑠)

Onde a e b são constantes e m ≤ n. Um critério simples, conhecido como


critério de estabilidade de Routh, nos possibilita determinar o número de polos
de malha fechada que se situam no semiplano direito do plano s, sem ter de
fatorar o polinômio do denominador.

Critério de estabilidade de Routh nos diz se existem ou não raízes instáveis


em uma equação polinomial, sem que seja necessário resolvê-la. Este critério
de estabilidade aplica-se somente a polinômios com um número finito de
termos. Quando o critério é aplicado a um sistema de controle, as informações
sobre a estabilidade absoluta podem ser obtidas diretamente dos coeficientes
da equação característica. Eis o procedimento no critério de estabilidade de
Routh:

• 1) Escreva o polinômio em s da seguinte maneira:

𝑎𝑜 𝑠 𝑛 + 𝑎1 𝑠 𝑛−1 + ⋯ + 𝑎𝑛−1 𝑠 + 𝑎𝑛 = 0
onde os coeficientes são grandezas reais. Suponha que 𝑎𝑛 ≠ 0, isto é,
qualquer raiz nula foi removida.
• 2) Se algum dos coeficientes for zero ou negativo na presença de pelo
menos um coeficiente positivo, então existirá uma ou várias raízes
imaginárias ou que tenham partes reais positivas. Assim, nesse caso, o
sistema não será estável. Se estivermos interessados somente na
estabilidade absoluta, não haverá necessidade de continuar o
procedimento. Observe que todos os coeficientes devem ser positivos.

• 3) Se todos os coeficientes forem positivos, organize os coeficientes do


polinômio em linhas e colunas, conforme a Tabela 1:

Tabela 1: Coeficientes para o método de Routh-Hurwitz.


𝑛
𝑠 𝑎𝑜 𝑎2 𝑎4
𝑛−1
𝑠 𝑎1 𝑎3 𝑎5
𝑠 𝑛−2 𝑏1 𝑏2
𝑛−3
𝑠 𝑐1 𝑐2
... ...
1
𝑠 𝑑1
0
𝑠 𝑒1
Fonte: OGATA.

O processo de formação das linhas continua até que se esgotem todos


os elementos, seguindo cálculos matriciais da forma:

𝑎1 𝑎2 − 𝑎𝑜 𝑎3
𝑏1 =
𝑎1

𝑎1 𝑎4 − 𝑎𝑜 𝑎5
𝑏2 =
𝑎1
.
.
.
E assim por diante. A matriz completa de coeficientes é triangular, e
observe que, ao desenvolver essa matriz, uma linha inteira pode ser dividida ou
multiplicada por um número positivo, de modo a simplificar os cálculos
numéricos subsequentes, sem alterar a conclusão sobre a estabilidade. O
critério de estabilidade de Routh afirma que o número de raízes da
característica com partes reais positivas é igual ao número de mudanças no
sinal dos coeficientes da primeira coluna da matriz. Deve-se notar que os
valores exatos dos termos na primeira coluna não precisam ser conhecidos; do
contrário, apenas os sinais são necessários. A condição necessária e suficiente
para que todas as raízes da equação se situem no semiplano esquerdo do
plano s é que todos os coeficientes da equação sejam positivos e que todos os
elementos da primeira coluna da matriz tenham sinais positivos.
3. ANÁLISES

• CRITÉRIO DO LUGAR DAS RAÍZES

Nosso intuito basicamente é aplicar o método e verificar as condições de


estabilidade ditas pelo mesmo, sendo assim utilizaremos uma ferramenta
computacional por meio do software livre Scilab para termos em mão uma
análise gráfica do lugar geométrico das raízes e assim verificarmos se o
sistema é estável ou instável.

Para o pêndulo invertido em malha aberta, já temos sua função de


transferência calculada, só nos resta aplicar o método computacional e realizar
a análise que segue a seguir.

Θ(𝑠) 1,16162𝑠 2
𝐺(𝑠) = =
𝐹(𝑠) 𝑠 4 + 0,3624𝑠 3 − 34,1517𝑠 2 − 1,13839𝑠

Figura 6: Diagrama do lugar geométrico das raízes para o pêndulo invertido em malha aberta.

Fonte: AUTOR.
Vemos que existem três polos em malha aberta que são os polos do
polinômio característico presente no denominador da função de transferência,
nosso ponto de análise é que um desse polos é positivo, ou seja tem parte real
positiva, encontrando-se no semiplano direito do plano s, vide gráfico, isso por
si só já caracteriza o sistema como instável, o que já era de se esperar, vale
ressaltar como ter um polo com parte real positiva trará ao nosso sistema
respostas com exponenciais positivas, que é a causa de instabilidade.

Assim podemos basicamente usar esse critério com um auxílio


computacional para localizar tais raízes no plano e confirmar ou não alguma
estabilidade, e a partir disso podemos variar parâmetros como por exemplo o
ganho K de modo a encontrar a localização dos polos que correspondam ao
desempenho dinâmico desejado.

Analisando agora o pêndulo invertido com o controlador PID, de modo


análogo, iremos aplicar a função de transferência já encontrada e
procuraremos o critério de estabilidade.

Θ(𝑠) 11,6162𝑠 2 + 580,81𝑠 + 11,6162


=
𝐹(𝑠) 𝑠 3 + 11,9786𝑠 2 + 546,6583𝑠 + 10,4778

Agora podemos ver que os polos do sistema em malha fechada se


encontram todos no semiplano esquerdo do plano s, sendo um polo muito
próximo de zero com o valor de 𝛿 = −0,01917 … e dois polos complexos
conjugados, assim não temos a presença de nenhum polo no semiplano
esquerdo do plano s, caracterizando assim um sistema estável, como já foi
visto antes.
Figura 7: Diagrama do lugar geométrico das raízes para o pêndulo invertido com controlador
PID.

Fonte: AUTOR.

Após analisarmos os gráficos podemos deduzir de modo claro aquilo


que o método nos propõe mostrar, onde de acordo com as figuras podemos
facilmente identificar a presença de polos nos semiplanos esquerdo e direito
afim de sabermos a estabilidade do sistema, se tratando de estabilidade essa
análise se propôs ser bem simples, necessitando apenas de um aparato
computacional para ser exercida, e claro esse método não propõe apenas isso,
podendo ser utilizado, como já foi visto, como um meio para se determinar
certo parâmetros que venham a modificar o comportamento dinâmico do
sistema afim de ser obter os melhores resultados a que seprocura.

• CRÍTÉRIO DE ESTABILIDADE DE ROUTH & HURWITZ

Como o critério de estabilidade de Routh afirma que o número de raízes


da característica com partes reais positivas é igual ao número de mudanças
no sinal dos coeficientes da primeira coluna da matriz, só precisamos, com a
equação característica, fazer essa análise, caso haja alguma mudança de sinal
podemos concluir como sistema instável.
Para o pêndulo invertido em malha aberta, a função de transferência já
foi encontrada, e dela pegamos a equação característica simplificada dividida
por s/s em relação ao que já havia sido mostrado, assim:

Θ(𝑠) 1,16162𝑠
𝐺(𝑠) = = 3 2
𝐹(𝑠) 𝑠 + 0,3624𝑠 − 34,1517𝑠 − 1,13839

𝑎𝑜 𝑠 𝑛 + 𝑎1 𝑠 𝑛−1 + ⋯ + 𝑎𝑛−1 𝑠 + 𝑎𝑛 = 𝑠 3 + 0,3624𝑠 2 − 34,1517𝑠 − 1,13839

𝑎𝑜 = 1
𝑎1 = 0,3624
𝑎2 = −34,1517
𝑎3 = −1,13839

Seguindo com o cálculo dos coeficientes do Routh chegamos na


seguinte tabela

𝑠3 1 -34,1517
𝑠2 0,3624 -1,13839
𝑠1 -31,0104 0
𝑠0 -1,13839

Após os cálculos podemos ver facilmente como existe uma mudança de


sinal entre os coeficientes da primeira coluna dando assim uma raiz com parte
real positiva, garantindo assim e a instabilidade do sistema já que essa raiz
com parte real positiva estará no plano direito do plano s, como já foi visto
antes.

Agora para o pêndulo invertido em série com o controlador PID, a função


de transferência está logo abaixo, e dela pegamos a equação característica
simplificada, assim:

Θ(𝑠) 11,6162𝑠 2 + 580,81𝑠 + 11,6162


=
𝐹(𝑠) 𝑠 3 + 11,9786𝑠 2 + 546,6583𝑠 + 10,4778

𝑎𝑜 𝑠 𝑛 + 𝑎1 𝑠 𝑛−1 + ⋯ + 𝑎𝑛−1 𝑠 + 𝑎𝑛 = 𝑠 3 + 11,9786𝑠 2 + 546,6583𝑠 + 10,4778

𝑎𝑜 = 1
𝑎1 = 11,9786
𝑎2 = 546,6583
𝑎3 = 10,4778
Seguindo com o cálculo dos coeficientes do Routh chegamos na
seguinte tabela

𝑠3 1 546,6583
𝑠2 11,9786 10,4778
𝑠1 545,7835 0
𝑠0 10,4778

Chegamos aqui na conclusão que já nos foi mostrada no gráfico da


figura 3, onde o sistema é estável, onde todas as raízes da equação
característica estão presentes no semiplano esquerdo do plano s e não haverá
nenhuma raiz real positiva desta equação, dado que não há nenhuma
mudança de sinais entre os coeficientes da primeira coluna do critério.

4. CONCLUSÕES

O critério de estabilidade de Routh & Hurwitz, apresentado nos fornece


condições para que todas as raízes tenham partes reais negativas em termos
dos coeficientes dos polinômios (presentes no semiplano esquerdo do plano s).
Conforme as discussões sobre o critério de estabilidade de Routh, para que
todas as raízes tenham partes reais negativas, todos os coeficientes a devem
ser positivos. Isso nos serviu como uma ótima ferramenta para facilmente
identificar a estabilidade de um sistema, embora com prévias análises gráficas
já fosse possível prever tal ação do sistema. Uma aplicação muito útil seria
utilizar o critério de Routh para determinar os intervalos de valores de possíveis
de um ganho K que tornaria o sistema estável, o que se torna muito útil.

Quando vamos analisar as particularidades entre os dois critérios


podemos notar que ambos são ferramentas que nos auxiliam a ver se um
sistema é instável ou estável apenas visualizando um gráfico ou realizando
simpes cálculo algébricos, todos giram em torno da mesma ideia: localizar ou
não a presença de raízes reais positivas (presentes no semiplano direito do
plano s) que caracterizam assim instabilidade por propores exponenciais
positivas nas resposta do sistema, cabendo a nós utilizarmos das mesmas
para obtermos esse critério e melhora-lo afim de obter parâmetros mais
refinados com o intuito de sempre adequarmos melhor o nosso sistema.
REFERÊNCIAS

OGATA, K.: Engenharia de Controle Moderno – 4ª Edição, 2003, Prentice-


Hall.

Disponível em <https://www.maxwell.vrac.puc-rio.br/25032/25032.PHP> acesso


em 12 de abril 2021.

RAO, Singiresu S.: Vibrações Mecânicas. Pearson-Prentice Hall, 2008.

Você também pode gostar