pdf file - Programa de Engenharia Elétrica

Transcrição

pdf file - Programa de Engenharia Elétrica
ESTABILIZAÇÃO DE SISTEMAS DE CONTROLE NÃO
LINEARES AFINS POR UM MÉTODO DO TIPO
NEWTON
Fernando César Lizarralde
TESE SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS
PROGRAMAS DE PÓS-GRADUAÇÃO DE ENGENHARIA DA UNIVERSIDADE
FEDERAL
DO
RIO
DE
JANEIRO
COMO
PARTE
DOS
REQUISITOS
NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE DOUTOR EM CIÊNCIA EM
ENGENHARIA ELÉTRICA
Aprovada por:
Prof. Liu Hsu, Docteur d’Etat
Prof. John T. Wen, Ph.D
Prof. Ramon Romankevicius Costa, D.Sc.
Prof. Amit Bhaya, Ph.D.
Prof. José Claudio Geromel, Docteur d’Etat
Prof. Sadek C. Absi Alfaro, Ph.D.
RIO DE JANEIRO, RJ - BRASIL
SETEMBRO DE 1998
LIZARRALDE, FERNANDO CESAR
Estabilização de Sistemas de Controle
Não Lineares Afins por um Método do tipo
Newton [Rio de Janeiro] Setembro de 1998
XVI, 158 p. 29,7 cm (COPPE/UFRJ,
D.Sc., Engenharia Elétrica, 1998)
Tese - Universidade Federal do Rio de
Janeiro, COPPE
1. Sistemas de Controle Não Lineares
I. COPPE/UFRJ II. Tı́tulo (série)
ii
... aos meus mentores,
minha admiração, gratidão e lealdade.
iii
Agradecimentos
Durante todo este tempo, eu tive o privilégio de ter extraordinários mestres: os
Profs. Alfredo Desagues, Liu Hsu e John Wen. Agradeço a eles todo o apoio, confiança
e incentivo depositados. Em particular, agradeço (in memoriam) ao Prof. Desages pela
boa influência que exerceu durante minha época de graduação. Para o Prof. Liu Hsu
não existem palavras que possam expressar toda minha gratidão; agradeço principalmente a confiança depositada a todo instante, e pelo incondicional apoio desde minha
chegada ao Brasil. Ao Prof. John Wen agradeço toda a hospitalidade e apoio prestados
durante minha estada no Rensselaer Polytechnic Institute. O entusiasmo com que eles
se dedicam ao seu trabalho sempre servirão de fonte de inspiração na minha vida.
Gostaria também agradecer os membros da banca: Prof. Amit Bhaya, Prof. Ramon R.
Costa, Prof. J.C. Geromel e Prof. Sadek Alfaro pelas sugestões e crı́ticas que ajudaram
a melhorar este trabalho.
Como aluno da COPPE/UFRJ tive a sorte de ter amigos tecnicamente competentes
e vivos intelectualmente. Especialmente gostaria de agradecer: Ramon R. Costa, José
Paulo V.S.C., José Augusto Real, Telma Pará, Raul Guenther. Durante minha estada no Rensselaer Polytechnic Institute (Troy, USA) tive o privilegio de compartilhar
momentos com Randy Beard, Pedro Lima, Murat Y., Xin Chen, Dan Popa, a eles
agradeço sua amizade e hospitalidade.
Um agradecimento especial para Glauco Taranto, Edison de Jesus e Randy Beard e
familias, pela amizade e apoio dispensados durante minha passagem por Troy.
Este trabalho não teria sido finalizado sem o amor, apoio e paciência da minha esposa
Sonia, para ela meu eterno agradecimento. Um agradecimento muito especial para
duas pequenas pessoas, corolários desta tese, meus filhos Mariel e Nicolas.
Não estaria escrevendo estas linhas sem o apoio e incentivo que sempre tive dos meus
pais Máximo e Luisa.
Por último desejaria agradecer à fonte de recursos: o apoio financieiro para esta pesquisa veio do CNPq, COPPETEC e da UFRJ.
iv
Resumo da Tese apresentada à COPPE/UFRJ como parte dos requisitos necessários
para a obtenção do grau de Doutor em Ciência (D.Sc.)
ESTABILIZAÇÃO DE SISTEMAS DE CONTROLE NÃO LINEARES AFINS POR
UM MÉTODO DO TIPO NEWTON
Fernando César Lizarralde
Setembro de 1998
Orientadores: Prof. Liu Hsu, Docteur d’Etat
Prof. John T. Wen, Ph.D
Programa: Engenharia Elétrica
Neste trabalho considera-se o problema de planejamento de trajetórias e estabilização
de uma classe de sistema de controle não lineares. Uma classe de algoritmos iterativos baseado no método de Newton, originalmente proposto para planejamento de
trajetória, é estendido para resolver o problema de estabilização.
Primeiramente são considerados sistemas mecânicos não-holonômicos modelados por
equações diferenciais afins no controle sem drift. O método iterativo proposto é combinado com a estratégia de horizonte móvel do controle preditivo para possibilitar um
esquema realimentado. As propriedades de convergência e a eficiência do esquema proposto são analisadas e ilustradas mediante a simulação de varios sistemas. Resultados
experimentais são obtidos na estabilização de um manipulador robótico tipo PUMA.
O esquema proposto é estendido para o controle de sistemas não lineares afins no
controle com drift. As propriedade de convergência do método são garantidas para
uma ampla classe de sistemas.
Restrições de desigualdade, resultantes de obstáculos no espaço de trabalho ou limites
nos estados e/ou sinal de controle, são incorporadas utilizando-se funções de penalidade.
v
Abstract of Thesis presented to COPPE/UFRJ as a partial fulfillment of the
requirements for the degree of Doctor of Science (D.Sc.)
STABILIZATION OF AFFINE NONLINEAR CONTROL SYSTEMS BY A
NEWTON TYPE METHOD
Fernando César Lizarralde
September 1998
Advisors: Prof. Liu Hsu, Docteur d’Etat
Prof. John T. Wen, Ph.D
Department: Electrical Engineering
In this work, path planning and stabilization of a class of nonlinear systems are considered. A class of iterative methods based on Newton method, recently proposed for
the path planning, is extended to solve the stabilization problem.
Nonholonomic systems, modeled by an affine differential equation without drift, are
first considered. The proposed iterative method is combined with a receding horizon
strategy from predictive control, in order to obtain a feedback scheme. The convergence
properties and the efficiency of the proposed scheme are analyzed and illustrated by
simulation of several systems. Experimental results are obtained for the stabilization
of a PUMA-type manipulator.
The proposed method is extended to the control of affine nonlinear system with drift.
The convergence properties are guaranteed for a large class of systems.
By using penalty functions, inequality constraints, product of considering obstacles in
the workspace or physical bounds on the state and/or the control signal, can also be
handled by the algorithm.
vi
Sumário
Lista de Figuras
ix
1 Introdução
1.1 Proposta do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Organização do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Sistemas Não Holonômicos: Planejamento de Trajetória
2.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Planejamento de Trajetórias . . . . . . . . . . . . .
2.1.2 Organização do Capı́tulo . . . . . . . . . . . . . . .
2.2 Propriedades de Sistemas Não-holonômicos . . . . . . . . .
2.2.1 Modelagem de Sistemas Não Holonômicos . . . . .
2.2.2 Caracterização de Holonomia . . . . . . . . . . . .
2.2.3 Controlabilidade . . . . . . . . . . . . . . . . . . .
2.3 Planejamento de Trajetórias: um Método tipo Newton . .
2.3.1 Implementação Discreta . . . . . . . . . . . . . . .
2.3.2 Esquemas Relacionados . . . . . . . . . . . . . . .
2.4 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
4
5
6
6
7
9
10
13
17
21
25
33
44
45
3 Estabilização de Sistemas Não-holonômicos
3.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Organização do Capı́tulo . . . . . . . . . . . . . . . . . . . . . .
3.2 Estabilização de sistemas não-holonômicos baseada no método de Newton: Implementação Discreta . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Restrições adicionais de desigualdade: limitações fı́sicas e desvio de
obstáculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Restrições no espaço de trabalho . . . . . . . . . . . . . . . . .
3.3.2 Restrições no sinal de controle . . . . . . . . . . . . . . . . . . .
3.4 Sistemas Não-holonômicos Dinâmicos . . . . . . . . . . . . . . . . . . .
3.5 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
47
50
4 Controle de Sistemas Não Lineares com Drift
4.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Propriedades de sistemas não-lineares afins no controle
4.3 Método iterativo no espaço das trajetórias . . . . . . .
4.3.1 Controle em Malha Aberta . . . . . . . . . . . .
91
91
93
95
96
vii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
51
71
74
81
83
90
4.3.2
4.4
Controle em Malha Fechada . . . . . .
4.3.2.1 Controle de Sistemas Lineares
4.3.2.2 Análise de Estabilidade . . .
4.3.2.3 Restrições de desigualdade . .
4.3.3 Esquemas Relacionados . . . . . . . .
Conclusões . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Resultados Experimentais
5.1 Controle de posição de um manipulador . . . . . .
5.2 Controle de atitude de um manipulador . . . . . . .
5.3 Controle de atitude de um corpo rı́gido sub-atuado
5.4 Conclusões . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
100
101
108
121
124
127
.
.
.
.
128
132
135
137
141
6 Trabalhos Futuros
142
7 Conclusões Gerais
144
Referências Bibliográficas
146
viii
Lista de Figuras
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
Modelo de um Uniciclo . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uniciclo: definição de coordenadas . . . . . . . . . . . . . . . . . . . . .
Uniciclo - Planejamento de Trajetória: Plano x–y. xT0 = [2 2 0], xTd =
[2 4 0], r = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uniciclo - Planejamento de Trajetória: Orientação θ. xT0 = [2 2 0],
xTd = [2 4 0], r = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uniciclo - Planejamento de Trajetória: Controle u1T (τ ). xT0 = [2 2 0],
xTd = [2 4 0], r = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uniciclo - Planejamento de Trajetória: Controle u2T (τ ). xT0 = [2 2 0],
xTd = [2 4 0], r = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uniciclo - Planejamento de Trajetória: Plano x–y. xT0 = [2 2 0], xTd =
[2 4 0], r = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uniciclo - Planejamento de Trajetória: Orientação θ. xT0 = [2 2 0],
xTd = [2 4 0], r = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uniciclo - Planejamento de Trajetória: sinal de controle u1M (τ ) (–),
u2M (τ ) (- -). xT0 = [2 2 0], xTd = [2 4 0], r = 1. . . . . . . . . . . . . . . .
Uniciclo - Planejamento de Trajetória: Norma de e(τ + 1, α). xT0 =
[2 2 0], xTd = [2 4 0], r = 1. . . . . . . . . . . . . . . . . . . . . . . . . .
Uniciclo - Planejamento de Trajetória: Norma de e(τ ). xT0 = [2 2 0],
xTd = [2 4 0], r = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
19
Estratégia de controle realimentada . . . . . . . . . . . . . . . . . . . .
Uniciclo - Estabilização: Plano x–y. xT0 = [2 2 0], xTd = [2 4 0], r = 1. .
Uniciclo - Estabilização: Orientação θ. xT0 = [2 2 0], xTd = [2 4 0], r = 1.
Uniciclo - Estabilização: sinal de controle. xT0 = [2 2 0], xTd = [2 4 0],
r = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uniciclo - Estabilização: Norma de e(k, α). xT0 = [2 2 0], xTd = [2 4 0],
r = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uniciclo - Estabilização: Norma de eM (k). xT0 = [2 2 0], xTd = [2 4 0],
r = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uniciclo - Estabilização: Plano x–y - Diferente escolha inicial de uM (0).
xT0 = [2 2 0], xTd = [2 4 0], r = 1. . . . . . . . . . . . . . . . . . . . . . .
Automóvel com direção dianteira. . . . . . . . . . . . . . . . . . . . . .
Automóvel com direção dianteira - Estabilização: Plano x − y. xT0 =
[0 0 0 0], xTd = [0 3 0 0]. . . . . . . . . . . . . . . . . . . . . . . . . . .
52
61
61
ix
30
30
31
31
41
42
42
43
43
61
62
62
63
64
64
3.10 Carro com direção dianteira – Estabilização: (–) Orientação do veı́culo
θ; (-.) ângulo de direção ψ. xT0 = [0 0 0 0], xTd = [0 3 0 0]. . . . . . . . .
3.11 Carro com direção dianteira – Estabilização: Norma de eM (k). xT0 =
[0 0 0 0], xTd = [0 3 0 0]. . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12 Carro com direção dianteira – Estabilização: Norma de eM (k, α). xT0 =
[0 0 0 0], xTd = [0 3 0 0] . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13 Veı́culo com reboque. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14 Veı́culo com reboque: Plano x − y. xT0 = [0 0 0 0 0], xTd = [2 4 0 π/2 π/2].
3.15 Veı́culo com reboque: (–) Orientação do veı́culo θ1 ; (-.) ângulo de direção
ψ; (- -) Orientação do reboque θ2 . xT0 = [0 0 0 0 0], xTd = [2 4 0 π/2 π/2].
3.16 Veı́culo com reboque: Norma de eM (k). xT0 = [0 0 0 0 0], xTd =
[2 4 0 π/2 π/2]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17 Veı́culo com reboque: Norma de eM (k, α). xT0 = [0 0 0 0 0], xTd =
[2 4 0 π/2 π/2]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.18 Uniciclo – Incerteza no raio: Plano x–y. xT0 = [2 2 0], xTd = [2 4 0], r = 2.
3.19 Uniciclo – Incerteza no raio: Orientação θ. xT0 = [2 2 0], xTd = [2 4 0],
r = 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.20 Uniciclo – Incerteza no raio: Norma de eM (k). xT0 = [2 2 0], xTd = [2 4 0],
r = 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.21 Uniciclo - Modelo Perturbado (γ = 0.5): Plano x − y, x(0) = [2 2 0],
xd = [2 4 0]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22 Automóvel - Restrição no ângulo de direção de ±15 graus. Plano x − y.
xT0 = [2 − 4 0 0], xTd = [2 − 2 0 0]. . . . . . . . . . . . . . . . . . . . .
3.23 Automóvel – Restrição no ângulo de direção de ±15 graus. (-) ângulo
de direção ψ; (–) orientação θ. xT0 = [2 − 4 0 0], xTd = [2 − 2 0 0]. . . .
3.24 Automóvel – Restrição no ângulo de direção de ±15 graus. Norma de
eM (k). xT0 = [2 − 4 0 0], xTd = [2 − 2 0 0]. . . . . . . . . . . . . . . . .
3.25 Automóvel - Restrição no ângulo de direção de ±15 graus e obstáculos.
Plano x − y. xT0 = [1.4 0.7 0 0], xTd = [−2 − 2 0 0]. . . . . . . . . . . .
3.26 Automóvel - Restrição no ângulo de direção de ±15 graus e obstáculo. (-)
ângulo de direção ψ; (–) orientação θ. xT0 = [1.4 0.7 0 0], xTd = [−2 −2 0 0].
3.27 Automóvel - Restrição no ângulo de direção de ±15 graus e obstáculo.
Norma de eM (k). xT0 = [1.4 0.7 0 0], xTd = [−2 − 2 0 0]. . . . . . . . . .
3.28 Automóvel – Restrições no ângulo de direção ±35 grau e 5 obstáculos
presentes no espaço de trabalho. Plano x–y. xT0 = [−3, 0, 0, 0] e
xTd = [2.75, 1.5, 0, 0]. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.29 Automóvel – Restrição no ângulo de direção de ±35 graus e 5 obstáculos
presentes no espaço de trabalho. (-) ângulo de direção ψ; (–) orientação
θ. xT0 = [−3, 0, 0, 0] e xTd = [2.75, 1.5, 0, 0]. . . . . . . . . . . . . . .
3.30 Satélite Sub-atuado – Estabilização: (a) Velocidade Angular em r/s, (-)
ω1 , (- -) ω2 . (b) Orientação em graus, (-) φ, (- -) θ, (-.) ψ. . . . . . . .
3.31 Satélite Sub-atuado – Estabilização: Sinal de Controle u, (-) u1 , (- -) u2 .
3.32 Satélite Sub-atuado – Estabilização: Norma de eM (k). . . . . . . . . . .
4.1
4.2
Manipulador de um elo. . . . . . . . . . . . . . . . . . . . . . . . . . .
Manipulador de um elo: (a) Posição angular em graus, b) Velocidade
angular em r/s. xT0 = [π 0], xTd = [0 0]. . . . . . . . . . . . . . . . . . .
x
65
65
66
66
67
67
68
68
69
69
70
71
77
77
78
78
79
79
80
80
87
88
88
98
98
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
5.1
5.2
5.3
5.4
5.5
5.6
5.7
Manipulador de um elo: Norma de e(τ, α). xT0 = [π 0], xTd = [0 0]. . . . 99
Manipulador de um elo: Norma de e(τ ). xT0 = [π 0], xTd = [0 0]. . . . . 99
Caso Linear: Diagrama de Bloco do sistema em malha fechada para
α0 = α1 = 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Sistema eletro-mecânico: motor e duas massas. . . . . . . . . . . . . . . 106
Sistema Motor-Massa: Estados e sinal de controle para α1 = 1 . . . . . 107
Sistema Motor-Massa: Estados e sinal de controle para α1 = 0.27 . . . 107
Pêndulo Invertido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Pêndulo invertido: Caso 1 - Trajetória dos estados e sinal de controle . 117
Pêndulo invertido: Caso 2 - Trajetória dos estados e sinal de controle . 118
Pêndulo invertido: Caso 3 - Trajetória dos estados e sinal de controle . 119
Pêndulo invertido: Caso 4 - Trajetória dos estados e sinal de controle . 120
Manipulador de um elo com restrições: (a) ângulo do pêndulo em graus,
(c) Sinal de controle u. . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Pêndulo invertido com restrições: Trajetória dos estados e sinal de controle123
Manipulador Zebra-Zero na configuração Ready . . . . . . . . . . . . .
Manipulador Zebra-Zero: Configuração Cinemática. . . . . . . . . . . .
Controle de posição de um manipulador. (–) Coordenada x em mm;
(-.-) Coordenada y em mm; (- -) Coordenada z em mm. . . . . . . . . .
Controle de posição de um manipulador. Distância do efetuador até o
centro da bola de 185mm de raio. . . . . . . . . . . . . . . . . . . . . .
Controle de atitude de um manipulador. Parte vetorial do quaternion:
qv . (–) qv1 ; (-.-) qv2 ; (- -) qv3 . . . . . . . . . . . . . . . . . . . . . . . . .
Controle de atitude de um corpo rı́gido: (a) Velocidades angulares (r/s),
(–): ω2 , (- -): ω3 . (b) Orientação q = [q0 qv ]T , (–): q0 , (-.-): qv1 , (- -):
qv2 , (..): qv3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Controle de atitude de um corpo rı́gido: (a) posição das juntas do manipulador θ. (–): θ4 , (-.-) θ5 , (- -): θ6 . (b) Norma do erro de predição
eM (k). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xi
129
130
134
134
137
140
140
Capı́tulo 1
Introdução
Os sistemas dinâmicos não-lineares, de longa data, tem chamado a atenção da comunidade cientı́fica, em particular, a de controle e a de matemática pura e aplicada. Um
sistema não-linear pode ser arbitrariamente complexo, sendo portanto natural que não
existam na atualidade métodos gerais de controle de tais sistemas, por exemplo, para
resolver o problema de estabilização. Formalismos adequados e resultados satisfatórios
têm sido obtidos somente para certas classes de sistemas não-lineares.
Nas últimas décadas, o desenvolvimento da teoria de controle de sistemas nãolineares tem-se concentrado numa classe importante caracterizada pela dependência
afim, com respeito ao controle. Tais sistemas se exprimem por uma equação diferencial
do tipo ẋ = f0 (x) + f (x)u. O caso especial em que f0 (x) ≡ 0, i.e., ẋ = f (x)u é comumente dito, sem drift e tem merecido uma intensa atividade de pesquisa por modelarem
sistemas de interesse prático, tais como veı́culos terrestres de variada complexidade.
Nestes veı́culos, o termo de controle representa geralmente as velocidades das rodas do
veı́culo. Uma vez zeradas estas velocidades, o veı́culo permanece parado. Já no caso
de veı́culos aquáticos, movidos a propulsores, isto claramente não ocorre pois, mesmo
parando os propulsores, o veı́culo pode continuar a se mover. Neste caso temos um
sistema com drift dado pelo termo f0 (x).
De uma forma bastante abrangente, sistemas com restrições não-holonômicas são
modelados como equações diferenciais não lineares sem drift. O controle e a estabilização de sistemas não-holonômicos têm ocupado lugar de destaque em periódicos e
congressos especializados, devido principalmente a que o comportamento não-holonômico
1
aparece em sistemas robóticos de interesse prático como são: automóveis, róbos móveis,
róbos operados no espaço, manipuladores paralelos, mão robótica com vários dedos,
etc. Restrições não-holonômicas ocorrem quando as coordenadas generalizadas de velocidade de um sistema mecânico satisfazem uma condição de igualdade não integrável.
Progressivamente, ao longo dos anos, foram sendo obtidos resultados sobre as propriedades e caracterı́sticas destes sistemas; métodos de planejamento de trajetória (relacionado com o controle em malha aberta); e condições e métodos de estabilização
do sistema. Estes assuntos foram desenvolvidos, em primeira instância, para o caso
cinemático, em que se supõe a atuação instantânea sobre a variável de controle, e, em
seguida, para o caso dinâmico.
Entre as propriedades fundamentais estudadas e caracterizadas estão incluı́das as
condições de integrabilidade de restrições de igualdade, a possibilidade da determinação
de um modelo adequado para tratar o problema de controle, a controlabilidade e a estabilizabilidade do sistema. A relação entre a controlabilidade e a estabilizabilidade de
um sistema não-linear ainda é um tema aberto de pesquisa, ao contrário do que acontece com sistemas lineares invariantes no tempo, onde esta relação já foi completamente
estabelecida.
O problema de planejamento de trajetória é de interesse em problemas de robótica,
particularmente no caso de sistemas redundantes, i.e. com mais graus de liberdade
que a dimensão do espaço de trabalho. Por exemplo, no caso de robôs manipuladores,
o espaço de trabalho é aquele das poses do efetuador, i.e., a sua dimensão é 6. A
redundância ocorre se o manipulador tiver mais do que seis juntas (graus de liberdade).
Por planejamento de trajetória entende-se o problema de encontrar uma trajetória que
leve o sistema de uma configuração inicial a uma outra configuração final desejada.
A existência desta trajetória está relacionada à propriedade de controlabilidade do
sistema. A caracterização da propriedade de controlabilidade de sistemas não-lineares é
bastante complexa se compara com o caso de sistemas lineares. Em geral, são utilizadas
ferramentas da geometria diferencial (Isidori 1995, Nijmeijer & van der Schaft 1990),
as quais possibilitam o tratamento de sistemas dinâmicos num contexto unificado.
Existem vários algoritmos propostos para gerar uma trajetória, para citar alguns:
os métodos baseados em algoritmos de busca (Barraquand & Latombe 1989, Laumond
1991a), os métodos baseados em redes neuronais e lógica fuzzy (Fierro & Lewis 1998,
2
Widrow & Lehr 1990), os métodos que utilizam entradas cı́clicas (Murray & Sastry
1993), etc.
Um outro método, recentemente proposto em (Divelbiss & Wen 1997b, Sontag &
Lin 1992, Sontag 1993, Sussmann & Chitour 1993), consiste em considerar a solução
do sistema de controle não-linear num intervalo finito de tempo como um mapeamento
entre o sinal de entrada neste intervalo e o estado final do sistema, decorrido o intervalo.
Desta forma, o problema de planejamento de trajetória é transformado num problema
de determinação de cruzamento por zero de uma função algébrica. Tal problema pode
ser abordado utilizando-se o conhecido método de Newton. Estes métodos também são
referenciados na literatura como métodos de homotopia ou de continuação, os quais
são amplamente utilizados em análise numérica (Richter & DeCarlo 1983, Allgower &
Georg 1990). A vantagem deste método tipo Newton advém da sua generalidade e da
possibilidade de resolver também problemas com restrições adicionais (por exemplo,
para desvio de obstáculos), além das restrições não-holonômicas, intrı́nsecas ao sistema
a ser controlado.
Por outro lado, a estabilização de um sistema não-holonômico trata do projeto de
uma malha de realimentação que estabiliza assintoticamente o sistema ao redor de
um ponto de equilı́brio desejado. A esse respeito, existe um resultado bem conhecido
estabelecendo que não existe uma lei de controle por realimentação de estado, suave e invariante no tempo do tipo u = h(x) que estabilize um sistema não-holonômico
(Brockett 1983). Apesar deste resultado excluir uma dada classe de leis possı́veis, algumas caracterı́sticas dos sistemas não-holonômicos garantem a existência de estratégias
de realimentação estabilizantes. As estratégias propostas mais conhecidas podem ser
classificadas como: variantes no tempo, descontı́nuas e invariantes no tempo, e estratégias hı́bridas (vide (Kolmanovsky & McClamroch 1995, Wen 1995) para uma boa
revisão bibliográfica).
Uma classe mais geral de sistemas de controle afins é aquela em que o termo de
drift não é nulo. Este tipo de sistema tem sido intensamente investigado. No entanto,
a existência de condições necessárias e suficientes que estabeleçam a controlabilidade
do sistema é ainda um problema aberto. Este fato torna o problema de planejamento
ainda mais difı́cil, sendo necessárias hipóteses adicionais sobre a estrutura do sistema
para garantir a solução do problema de planejamento. A determinação de leis gerais
3
de controle por realimentação aplicáveis ao sistema de maneira global é também um
tópico aberto de pesquisa.
1.1
Proposta do trabalho
Neste trabalho, primeiramente é apresentada uma solução para o problema de planejamento da trajetória de sistemas não-holonômicos. A solução proposta é baseada
no método de Newton aplicado ao espaço das trajetórias. Esta técnica, denominada
“método iterativo no espaço das trajetórias”, foi proposta originalmente em (Divelbiss
& Wen 1992c, Divelbiss & Wen 1992b, Divelbiss & Wen 1992a) e também desenvolvida de forma independente por Sussmann em (Sussmann & Chitour 1993) e Sontag
em (Sontag & Lin 1992, Sontag 1995). Como foi apresentado anteriormente, a idéia
chave consiste em transformar o problema original numa busca de raı́zes que possa ser
resolvida pelo método de Newton. O interesse deste método é a sua generalidade e a
capacidade de incorporar restrições gerais, por exemplo restrições de alguns estados,
como, por exemplo, acontece com o ângulo da direção de um carro.
O objetivo principal do presente trabalho é mostrar que a natureza iterativa do
algoritmo citado acima pode ser combinada com a execução em tempo real do controle,
resultando em uma estratégia realimentada que leva o sistema, de uma configuração
inicial dada, até uma configuração final desejada.
Neste trabalho é incluı́da a análise de convergência das versões contı́nua e discreta
do algoritmo de planejamento de trajetórias e a análise de estabilidade completa para
o problema de estabilização de sistemas não lineares nos dois casos, com e sem drift.
Restrições de desigualdade são também consideradas no contexto de estabilização,
mediante a utilização de funções de penalidade internas e externas (Luenberger 1984),
permitindo desta forma a inclusão de uma grande variedade de sistemas de controle
não lineares de interesse prático, dado que restrições estam sempre presente como
consequência das limitações fı́sicas do processo.
Um manipulador robótico tipo PUMA é utilizado para verificar experimentalmente
os resultados teóricos obtidos.
Este tipo de controle realimentado proposto pode ser visto como pertencente a uma
classe especial de controle preditivo, também dito controle por modelo de predição
4
(Garcia, Prett & Morari 1989, Soeterboek 1992), onde o controle presente é determinado baseado no seu impacto no futuro calculado pelo modelo de predição. O
método foi proposto originalmente em (Lizarralde & Wen 1995). Em (Lizarralde &
Wen 1996b), o algoritmo realimentado foi estendido para incluir restrições de desigualdade que representavam restrições nos estados do sistema. Em (Lizarralde, Wen &
Popa 1996b, Lizarralde, Wen & Hsu 1996a) foi apresentada uma análise de convergência
da versão discreta do algoritmo realimentado. Mais recentemente, em (Lizarralde, Wen
& Hsu 1997), o método foi estendido para sistemas não-lineares com drift.
1.2
Organização do trabalho
Este trabalho é organizado da seguinte forma. O capı́tulo 2 apresenta as principais propriedades e caracterı́sticas dos sistemas não-holonômicos e descreve o método iterativo
baseado no espaço das trajetória, para planejamento de trajetórias. São analisadas as
versões contı́nua e discreta do método proposto. Um sistema não-holonômico clássico,
o uniciclo, é considerado para ilustrar as propriedades deste tipo de sistema e para mostrar o desempenho do algoritmo de planejamento de trajetórias. No capı́tulo 3 é apresentado o problema de estabilização de sistemas não-holonômicos. O método iterativo
no espaço das trajetórias é modificado de forma a obter-se uma estratégia realimentada.
O controle incorporando restrições de desigualdade adicionais também é considerado
usando o conceito de funções de penalidade. O capı́tulo 4 estende o algoritmo de estabilização para o controle de sistemas não lineares afins no controle com drift. Neste
caso as propriedades de convergência do método são garantidas introduzindo-se uma
modificação no algoritmo original. O controle de sistemas lineares também é considerado com o objetivo de obter uma intuição mais clara do algorimto proposto. O
capı́tulo 5 apresenta resultados experimentais obtidos com um manipulador robótico do
tipo PUMA. Finalmente, o trabalho é encerrado com conclusões gerais e uma proposta
para trabalhos futuros.
5
Capı́tulo 2
Sistemas Não Holonômicos:
Planejamento de Trajetória
Neste capı́tulo é apresentado o problema de planejamento de trajetória de sistemas
não-holonômicos. São apresentadas as principais propriedades e caracterı́sticas destes
sistemas. Um algoritmo de planejamento de trajetória baseado método iterativo no
espaço de trajetórias é apresentado. A análise de convergência é apresentada para as
versões contı́nua e discreta do método proposto. Para ilustrar os resultados obtidos,
são executadas simulações em vários sistemas não-holonômicos.
2.1
Introdução
Quando as coordenadas generalizadas de velocidade de um sistema mecânico satisfazem uma condição de igualdade não integrável, i.e., que não pode ser escrita como uma
condição de igualdade em termos das coordenadas generalizadas de posição; o sistema
é chamado não-holonômico. Condições não-holonômicas ocorrem, por exemplo, no movimento de veı́culo com rodas que não escorreguem, no movimento de corpos rı́gidos em
contato de rolamento (“rolling contact”), e também de corpos rı́gidos em queda livre
ou livres no espaço, onde a lei de conservação do momento angular é válida. Exemplos especı́ficos de sistemas não-holonômicos incluem automóveis, veı́culos com reboques, dedos de uma mão robótica manipulando objetos por contato, satélites orbitando
no espaço e robôs manipuladores em plataformas espaciais. Outro exemplo pitoresco
6
refere-se ao complexo movimento de gatos em queda livre (Kane & Scher 1969, Fernandes, Gurvits & Li 1994).
Sistemas não-holonômicos representam um desafio particularmente difı́cil do ponto
de vista de controle, como pode atestar qualquer indivı́duo que tenha sido obrigado a
estacionar um automóvel em uma vaga pequena. O problema básico é encontrar um
caminho que leve o sistema de uma posição inicial a uma posição final desejada, satisfazendo todas as restrições, holonômicas e/ou não-holonômicas. No entanto, sistemas
não-holonômicos possuem algumas caracterı́sticas particulares que tornam o problema
de planejamento de trajetória e estabilização difı́ceis de serem resolvidos. Por exemplo,
pode ser observado que quando um sistema não-holonômico é linearizado ao redor de
um ponto de equilı́brio, o sistema linearizado é sempre não controlável. Além disso,
sabe-se que este tipo de sistemas não pode ser estabilizado com uma realimentação de
estado suave e invariante no tempo (Brockett 1983, Zabczyk 1989). Devido a estas
dificuldades, técnicas comumente utilizadas em sistemas holonômicos não são diretamente aplicáveis à estabilização de sistemas não-holonômicos para os quais torna-se
intrı́nseco o problema de planejamento de trajetórias.
Nos últimos anos vem-se verificando uma intensa atividade de pesquisa na área de
controle de sistemas não-holonômicos, desde o controle em malha aberta ponto a ponto
-chamado problema de planejamento da trajetória-, até o controle em malha fechada. O
problema de planejamento de trajetórias é brevemente descrito no que segue, enquanto
que o problema de estabilização de um sistema não-holonômico será apresentado em
detalhe no próximo capı́tulo.
2.1.1
Planejamento de Trajetórias
O planejamento de trajetórias trata da geração de uma trajetória entre configurações
iniciais e finais dadas, que satisfaça as restrições não-holonômicas, assim como qualquer
outro tipo de restrição, e.g., limites fı́sicos de algumas variáveis de estado ou do sinal
de controle, obstáculos a serem evitados por veı́culos moveis, etc.
Considerando unicamente restrições não-holonômicas, a existência de um caminho
satisfazendo as restrições e unindo as configurações iniciais e finais é equivalente ao
conceito de controlabilidade do sistema (uma definição formal de controlabilidade será
7
dada na próxima seção).
Um ponto em comum para as diferentes técnicas de controle de sistemas nãoholonômicos é a colocação do problema como um sistema de controle não linear geral.
No caso de modelos cinemáticos de sistemas não-holonômicos é possı́vel transformá-los
em um sistema de controle não linear sem drift afim no controle, i.e. ẋ = f (x)u (os sistemas com drift contém termos que não se anulam com u = 0, e.g., ẋ = f0 (x) + f (x)u).
Nestes casos existe uma condição necessária e suficiente para determinar a controlabilidade do sistema (i.e, a existência de uma trajetória satisfazendo as restrições)
baseada numa condição de posto da álgebra associada ao espaço vetorial gerado por
f (x) (Chow 1939).
Entre os vários algoritmos propostos para gerar uma trajetória factı́vel podem ser
citados: os baseados em algoritmos de busca (Barraquand & Latombe 1989, Laumond
1991a) que geralmente consistem em algum tipo de decomposição do espaço de configurações em celas. Um grafo é então construido onde os nós são configurações e seus
arcos são algum tipo de caminho (mais curto, ótimo, etc) unindo duas configurações. O
grafo pode ser explorado utilizando diversos tipo de algoritmos. Tal técnica tem como
vantagem principal permitir o planejamento de trajetórias em ambientes altamente
densos e restritos. Existem também métodos baseados em redes neuronais e lógica
fuzzy, como por exemplo os métodos apresentados em (Kong & Kosko 1992, Widrow
& Lehr 1990), mas eles em geral precisam de uma longa fase de treinamento e sintonia
A teoria moderna de controle de sistemas não-lineares utiliza em geral ferramentas
da geometria diferencial. Assim são obtidas soluções com estruturas elegantes, do ponto
de vista matemático. Geralmente, estes métodos convertem o modelo matemático
original do sistema em alguma forma canônica, para facilitar a solução do problema de
controle. No problema de planejamento de trajetória para sistemas não-holonômicos,
por exemplo, para certas formas canônicas podem ser determinados sinais de entrada
canônicos (geralmente cı́clicos) que definam um movimento resultante nas variáveis
de configuração (Li & Canny 1990, Murray & Sastry 1993). Particularmente, em
(Murray & Sastry 1993) são utilizadas entradas senoidais para resolver o problema de
planejamento.
O controle ótimo, por outro lado, é uns dos métodos mais bem formulados para
obter a solução do problema de controle. Particularmente no caso de sistemas não8
holonômicos, o problema de controle consiste em determinar uma trajetória ótima.
Considerando-se uma função de custo associada a cada trajetória, a busca de trajetória
é limitada àquelas que minimizam a função de custo. Funções de custo tı́picas são o
comprimento da trajetória, o custo do controle, ou o tempo necessário para executar
a trajetória que leva da pose (por exemplo, posição e atitude) inicial à pose final. Em
geral, é difı́cil encontrar uma solução analı́tica para o problema de controle ótimo. Uma
alternativa é a utilização de métodos numéricos, que geralmente recaem num problema
de valor de contorno em dois pontos.
Outra alternativa é utilizar uma aproximação de dimensão finita para representar o
sinal de controle, por exemplo pelo método de Ritz. No entanto, o problema resultante
de otimização é geralmente não-convexo, consequentemente, somente convergência local pode ser garantida. Uma idéia proposta na referência (Fernandes et al. 1994), é
considerar o método de Newton para resolver o problema de minimização da função de
custo.
Um outro método proposto em (Sontag & Lin 1992, Sontag 1993, Sussmann &
Chitour 1993, Divelbiss & Wen 1997b) consiste em considerar a solução do sistema de
controle não linear num intervalo finito, como o mapeamento entre o sinal de entrada
neste intervalo e o estado final do sistema. Desta forma o problema é transformado num
de cruzamento por zero de uma função algébrica α(u). Tal problema pode ser resolvido
utilizando-se o método de Newton padrão ou métodos do tipo steepest descent (Ortega
& Rheinboldt 1970). A vantagem destes métodos advém da sua generalidade e da
possibilidade de resolver também problemas com restrições além das não-holonômicas,
como por exemplo quando se considera a saturação dos atuadores, o que sempre ocorre
na prática.
2.1.2
Organização do Capı́tulo
Neste capı́tulo é apresentada uma solução para o problema de planejamento da trajetória de sistemas não-holonômicos. A solução proposta é baseada no método de
Newton aplicado ao espaço das trajetórias. A idéia chave consiste em transformar o
problema original numa busca de raı́zes que possa ser resolvida pelo método de Newton.
O método converge a uma trajetória factı́vel desde que não seja encontrada nenhuma
9
trajetória singular (trajetória ao redor da qual o sistema linearizado não é controlável)
durante a iteração. Como já foi mencionado, o interesse deste método é a sua generalidade e a capacidade de incorporar restrições gerais. A desvantagem é que, embora as
singularidades possam ser completamente caracterizadas para certas classes de sistemas
(e.g., sistemas que possam ser transformados na forma cadeia, como é o caso de um
veı́culo com N reboques), estas são difı́ceis de calcular, além de não serem ainda muito
bem compreendidas (Popa & Wen 1996, Sontag 1995, Sussmann & Chitour 1993).
O presente capı́tulo é organizado da seguinte forma: primeiramente são apresentadas as principais caracterı́sticas de sistemas com restrições não-holonômicas. Em seguida é apresentado o algoritmo iterativo no espaço das trajetórias baseado no método
de Newton o qual é a base de estudo deste trabalho. O algoritmo é apresentado nas suas
versões contı́nua e discreta. Ao longo da exposição são apresentados diversos exemplos
com o objetivo de ilustrar os resultados teóricos.
2.2
Propriedades de Sistemas Não-holonômicos
Considerando um sistema mecânico R, a configuração do sistema R é o vetor de
dimensão mı́nima x que descreve completamente a posição e orientação de cada corpo
rı́gido que forma parte de R. Todas as configurações possı́veis de R e a métrica definida
pela distância entre duas configurações, definem o espaço de configurações CR . O espaço
CR pode ser pensado como um subconjunto de1 IRm × SOp (3) uma variedade suave de
dimensão m + 3p ≤ n, sendo n a dimensão de x e, m e p inteiros. Por outro lado, uma
trajetória no espaço de configurações é definida por x = {x(t) ∈ CR : t ∈ [t0 , tf ]}, ou
seja, como uma função vetorial x(t) definida no intervalo de tempo t ∈ [t0 , tf ] tal que
a configuração do sistema no tempo ti seja x(ti ).
Suponha-se que as possı́veis configurações de R são restritas pelo seguinte sistema
de equações:






 f1 (x, t) 




 f2 (x, t) 

=0
F (x, t) = 

..


.
1
fk (x, t)
O grupo ortogonal especial SO(3) é definido como: SO(3) = {R ∈ IR3×3 : RRT = I, detR = 1}.
10
onde as fi são funções suaves, x ∈ CR e t é a variável independente de tempo. Por
hipótese, o gradiente de F satisfaz ∇[x,t] F (x, t) 6= 0 para quase todo x ∈ CR e para
todo t.
Este tipo de restrição, dita holonômica, restringe a trajetória do sistema a uma
hipersuperfı́cie suave de dimensão (n − k). Na literatura de Mecânica Clássica, quando
a restrição depende explicitamente do tempo, ela é chamada de restrição reonômica.
Por outro lado, se a restrição for independente de t, ela é chamada de restrição escleronômica (Gantmacher 1970, Tenenbaum 1997). Dado que este tipo de restrição
define uma hipersuperfı́cie suave no espaço de configurações CR , é possı́vel eliminar
as restrições escolhendo-se um sistema de coordenadas adequado para esta superfı́cie.
As novas coordenadas então definidas, chamadas geralmente de coordenadas generalizadas, parametrizam todas as trajetórias factı́veis do sistema, sem estarem sujeitas a
nenhuma outra restrição. De fato, esta é a técnica implı́cita utilizada quando se escreve
as equações de movimento de um corpo rı́gido em termos da posição e orientação de
um sistema de coordenadas simples, em vez do movimento de cada ponto individual
do corpo rı́gido. Para robôs manipuladores com elos rı́gidos, as coordenadas generalizadas são quase sempre escolhidas como sendo os ângulos das juntas, de forma que a
especificação destes ângulos determina univocamente a posição de todas as partı́culas
que formam o manipulador.
Um outro tipo de restrição aparece quando a trajetória e a velocidade do sistema
R estão restritas por:

 g1 (x, ẋ, t)


 g2 (x, ẋ, t)
G(x, ẋ, t) = 

..

.


gk (x, ẋ, t)





=0




onde as gi são funções suaves, x ∈ CR e ẋ ∈ Tx (CR ), sendo Tx (CR ) o espaço tangente
de CR em x de dimensão n que representa o espaço das velocidades de R.
Uma restrição deste tipo é na realidade holonômica se ela puder ser integrada de
forma a eliminar ẋ da restrição, podendo então ser re-escrita numa forma equivalente
F (x, t) = 0. No entanto, se a restrição não for integrável (i.e., não existe F (x, t) = 0
tal que G seja o jacobiano de F ), ela é chamada de restrição não-holonômica. Neste
último caso não é a dimensão de CR que é reduzida, mas sim a dimensão do espaço
11
tangente, que passa de n para (n − k).
Dentro de um contexto mais particular considera-se restrições da forma:


 g1 (x) 




 g2 (x) 

ẋ = 0
G(x)ẋ =  . 
.. 




gk (x)
(2.1)


Restrições deste tipo são comumente denominadas restrições Pfaffianas. Sistemas com
restrições cinemáticas, como por exemplo aquelas das rodas de um automóvel não
sujeitas a escorregamento, são geralmente lineares em ẋ. Restrições dinâmicas oriundas
das leis da conservação do momento angular também recaem no caso de restrições
invariante no tempo e lineares em ẋ (Nakamura & Mukherjee 1990).
Do mesmo modo que, geralmente, os trabalhos encontrados na literatura de controle de sistemas não-holonômicos, são restritos a sistemas com restrições Pfaffianas, o
restante deste trabalho considerará somente sistemas com este tipo de restrições.
Segundo o exposto anteriormente, uma restrição Pfaffiana será holonômica se ela
for integrável, isto é, se existem funções hi : CR 7→ IR tais que
gi (x)ẋ = 0
⇐⇒
hi (x) = 0
i = 1, · · · , k
caso contrario a restrição é não-holonômica.
Uma vez que restrições holonômicas reduzem a dimensão de CR , qualquer trajetória
no espaço reduzido é de fato uma trajetória factı́vel. No entanto, isto não é verdade
para sistemas não-holonômicos. Neste último caso, as velocidades instantâneas do
sistema são restritas ao espaço tangente de dimensão reduzida (n − k), não existindo
nenhuma restrição direta em CR . Desta forma, trajetórias arbitrárias em CR podem
de fato violar as restrições não-holonômicas produzindo velocidades que estejam fora
da região factı́vel do espaço tangente. Vale aqui questionar o seguinte: qual é uma
trajetória factı́vel para um sistema não holonômico?. Esta pergunta dá origem ao
seguinte problema:
Planejamento não-holonômico de trajetórias: Dado o sistema não-holonômico
R, a configuração inicial e final x0 e xf :
12
1) Existe trajetória factı́vel levando o sistema de x0 para xf ?,
2) Se a resposta anterior for afirmativa, o problema então é calcular uma trajetória
factı́vel.
O conjunto de todos os pontos que podem ser atingidos a partir de x0 define o
conjunto alcançável de x0 . É interessante entender sob que condições o conjunto
alcançável é dado por CR , sendo estas condições relacionadas com a não-holonomia
do sistema (Murray, Li & Sastry 1994). Observe-se que, se a restrição fosse holonômica, as trajetórias do sistema estariam restritas a um conjunto definido por
hi (x) = hi (x0 ) (i = 1, · · · , k). Desta forma o conjunto alcançável de um sistema
com restrições holonômicas é um subconjunto do espaço de configurações que satisfaz
hi (x) = hi (x0 ).
O problema da existência de uma trajetória factı́vel para sistemas não-holonômicos,
levanta algumas outras questões básicas: quando se pode afirmar que uma restrição
Pfaffiana é não-holonômica? caso afirmativo, como determinar se a restrição reduz o
espaço de configurações acessı́veis?
Para responder estas questões é interessante compreender primeiro como os sistemas
não-holonômicos são modelados, questão tratada a seguir.
2.2.1
Modelagem de Sistemas Não Holonômicos
Até agora foram discutidos sistemas mecânicos que operam sob restrições holonômicas
ou não-holonômicas. Entretanto, a presença de restrições explı́citas dificulta o tratamento do problema. Assim seria conveniente interpretar o problema de outra forma.
De fato, veremos que é possı́vel formular o sistema não do ponto de vista das restrições
(direções nas quais o sistema não pode se movimentar), mas sim do ponto de vista das
direções nas que o sistema é livre de se movimentar. Em (Laumond 1991b) mostrou-se
que, para um sistema com restrições não-holonômicas, existe um conjunto de campos
vetoriais que geram um subespaço de dimensão (n − k) associado ao espaço de configurações CR , podendo o sistema ser modelado por este conjunto de campos vetoriais.
Entende-se por campo vetorial um mapeamento suave do espaço de configurações para
o espaço tangente.
13
Desta forma, considera-se novamente k restrições não-holonômicas:


 g1 (x) 




 g2 (x) 
 ẋ = 0
G(x)ẋ = 

.. 


.




(2.2)
gk (x)
sendo G(x) não singular no sentido de que G(x) é diferente de zero ∀x ∈ CR . As funções
gi que satisfazem gi (x)ẋ = 0 são conhecidas como forma-1 (Isidori 1995), sendo que
mapeiam cada ponto x ∈ CR no covetor gi (x) pertencente ao espaço co-tangente de
CR , Tx∗ (CR ). Por definição o espaço co-tangente é ortogonal ao espaço tangente.
Então para todo x ∈ CR , os vetores ẋ ∈ Tx (CR ) satisfazendo a restrição (2.2) geram
um subespaço de dimensão (n − k) chamado distribuição ∆(x) associada a G(x). A
distribuição ∆(x) mapeia cada x ∈ CR no subespaço Tx (CR ) onde ẋ satisfaz (2.2). Uma
outra definição diz que uma distribuição é o espaço gerado por um conjunto de campos
vetoriais.
Por outro lado, tem-se que para cada x, as linhas de G(x), gi (x), geram o espaço
Tx∗ (CR ), i.e.,
Ω = span(g1 , g2 , · · · , gk )
onde Ω é chamada de co-distribuição. Desta forma, tem-se que ∆ = Ω⊥ anula as
linha de G(x), existindo, desta forma, um conjunto de n − k campos vetoriais suaves e
linearmente independentes tais que,
∆(x) = span(f1 (x), f2 (x), · · · , fn−k (x)).
Portanto, qualquer campo vetorial suave τ ∈ ∆ pode ser expresso como (Isidori
1995, Lema 1.3.1)
τ (x) =
n−k
X
fi (x)ui
i=1
onde os ui (i = 1, · · · , n − k) são funções escalares de t.
14
Da mesma forma, o sistema de controle associado à distribuição ∆ é da forma
ẋ =
n−k
X
fi (x)ui = f (x)u
i=1
onde u representa os n − k controles livremente especificados. Em (Barraquand &
Latombe 1989) mostra-se que, sob certas condições, é sempre possı́vel encontrar um
grupo de (n − k) funções C ∞ vetoriais linearmente independentes (f1 , f2 , · · · , fn−k )
que gerem a distribuição ∆(x).
Como foi notado anteriormente, o campo vetorial f (x) pode ser obtido da matriz
que anula G(x), i.e., G(x)f (x) = 0. Para ilustrar a obtenção de f (x) apresenta-se a
seguir o seguinte exemplo:
Exemplo 2.1 (Uniciclo - Obtenção do modelo) O primeiro exemplo considerado
é um disco rolando num plano (vide figura 2.1) sob a condição de não escorregamento
na superfı́cie de apoio. Este sistema é comummente denominado de uniciclo, sendo
um exemplo tı́pico de sistema não-holonômico.
ψ
θ
(x1 , x2 )
Figura 2.1: Modelo de um Uniciclo
As variáveis de configuração deste sistema são: o par (x1 , x2 ) que determina as
coordenadas cartesianas do ponto de contato da roda com respeito às coordenadas inerciais, ψ o ângulo da roda ao redor de seu próprio eixo de rotação, e θ o ângulo da roda
com respeito ao eixo x1 .
O fato de a roda não poder escorregar define as seguintes restrições no sistema:
ẋ1 − r cos θψ̇ = 0
15
ẋ2 − r sin θψ̇ = 0
(2.3)
onde r é o raio da roda. Estas restrições determinam que o disco rola na direção para a
qual está apontado e que a velocidade do disco é igual à velocidade que rola em relação
ao plano. Estas restrições podem ser re-escritas em forma matricial como


1 0 0 −r cos θ 
G(x)ẋ = 
 ẋ = 0

0 1 0 −r sin θ
onde xT = [x1 , x2 , θ, ψ]. Desta forma, escolhendo θ̇ = u1 e ψ̇ = u2 , tem-se o seguinte
sistema de controle




 r cos θ
 ẋ1 






 r sin θ
 ẋ2 



ẋ = 
=

 θ̇ 
0






0 


0 
  u1 

 = f (x)u

1 
 u2
1
ψ̇
0
(2.4)

onde f (x) é escolhido de forma que as colunas de f anulem as linhas de G. Tais
colunas formam uma base de campos vetoriais que geram uma distribuição de dimensão
(n − k) = 4 − 2 = 2 associada com a restrição não-holonômica (2.3).
Devido a que o ângulo de rotação da roda φ, é irrelevante, esta variável pode ser
omitida, podendo-se rescrever a equação do sistema como:



 r cos θ
 ẋ1 






 =  r sin θ
ẋ = 
ẋ
2






0
θ̇

0 


  u1 


0 

 u2
1
(2.5)
Em algumas aplicações, os sistemas não-holonômicos têm formas especiais, ou podem
ser transformados nestas formas que são mais apropriadas para a solução do problema
de controle. Uma destas formas é dada por
ż =
m
X
gi (z, y)ẏi
i=1
ẏi = ui ,
i = 1, · · · , m
16
(2.6)
onde m ≥ 2 e y = [y1 , · · · , ym ] é o vetor base e z = [z1 , · · · , zn−m ] é o vetor de fibra,
u ∈ IRm é o vetor de controle, e gi (z, y) são campos vetoriais dados. Se g depende
somente de y, a equação (2.6) é conhecida como forma de Chaplygin.
Para m = 2 e dependendo da estrutura de g podem ser obtidas as denominadas
forma cadeia e forma potência. Estas duas representações são equivalentes via uma
transformação de estado. Condições suficientes para ẋ = f (x)u poder ser transformado
nas formas cadeia ou potência, via transformações de estado e realimentação, podem
ser encontradas em (Murray & Sastry 1993) para m = 2 e em (Bushnell, Tilbury &
Sastry 1993) para m > 2..
Pode-se mostrar que estas formas se aplicam a uma grande variedade de sistemas
mecânicos com restrições não-holonômicas cinemáticas (dependem apenas da posição e
da velocidade): uniciclos, automóveis com esterçamento dianteiro, veı́culos com vários
reboques, satélites sub-atuados, etc. No entanto, as transformações requeridas para a
obtenção das formas cadeia e potência não são triviais.
2.2.2
Caracterização de Holonomia
Verificar se as restrições (2.3) apresentadas no exemplo anterior são holonômica ou
não, não é uma tarefa trivial ou fácil. Esta questão mereceu intensa consideração na
literatura. Os resultados básicos existentes são apresentados no que segue.
Para responder à questão da integrabilidade de uma restrição G(x)ẋ = 0, podese invocar o conhecido Teorema de Frobenius (Isidori 1995). No entanto antes de
apresentá-lo, é conveniente introduzir algumas definições, a saber:
• O colchete de Lie entre dois campos vetoriais, f (x) e g(x), é definido como
[f, g] :=
∂f
∂g
f−
g;
∂x
∂x
Um exemplo cinemático similar ao do uniciclo pode ser utilizado para ilustrar
a importância do colchete de Lie. Suponha-se dois campos vetoriais suaves,
f1 , f2 associados a um sistema não-holonômico ẋ = f (x)u (u ∈ IRm , m = 2).
O movimento do sistema ao longo do campo vetorial f1 pode ser gerado com
u1 = 1, u2 = 0, e ao longo de f2 com u1 = 0, u2 = 1. Considere-se uma trajetória,
17
iniciada na origem, primeiramente ao longo de f1 durante ∆t segundos e, em
seguida ao longo de f2 , durante ∆t, após o que a trajetória volta a ser dirigida
ao longo de (−f1 ) por mais um intervalo de tempo ∆t e finalmente ao longo de
(−f2 ), ainda por ∆t. Para um intervalo ∆t pequeno, o estado final resultante é
aproximado por [f1 , f2 ](0)(∆t)2 . Desta forma, um movimento resultante em uma
nova direção [f1 , f2 ](0) pode ser gerado ao se comutar a direção do movimento
apenas entre f1 e f2 , sem portanto violar as as restrições não-holonômicas.
• Uma distribuição involutiva é aquela distribuição que é fechada com respeito ao
colchete de Lie, i.e., dados f, g ∈ ∆ então [f, g] ∈ ∆;
¯ de uma distribuição ∆ é a menor distribuição involutiva
• O fecho involutivo ∆
que contém ∆.
• Um espaço vetorial V (sob IR) é uma Álgebra de Lie se existir uma operação
bilinear V × V 7→ V , denotada [ , ], satisfazendo assimetria e a identidade de
Jacobi.
Um conjunto de campos vetoriais em IRn , juntamente com o colchete de Lie é
¯ de uma distribuição ∆ gerada por um
uma álgebra de Lie. O fecho involutivo ∆
conjunto de campos vetoriais suaves fi , é uma álgebra de Lie, e é chamada de
álgebra de Lie gerada por fi , comumente simbolizada por L(f1 , · · · , fn ). O posto
¯ em x.
de L(f1 , · · · , fn ) em x ∈ CR é definido como a dimensão de ∆
Considere-se um conjunto de campos vetoriais suaves f (x) = [f1 , f2 , · · · , fn−k ], a
¯ de ∆. A distribuição
distribuição ∆(x) definida por f (x), e o fecho involutivo ∆
∆ de dimensão k é integrável se para todo x ∈ CR existir um conjunto de funções
suaves hi : CR 7→ IR (i = 1, · · · , n − k) tal que os vetores linhas
∂hi
∂x
são linearmente
independentes em x, e para todo f ∈ ∆ tem-se que
∂hi
f (x) = 0
∂x
i = 1, · · · , n − k
A hipersuperficie definida por
{x : hi = ci
para i = 1, · · · , n − k}
18
(2.7)
é chamada de variedade integrável da distribuição ∆. Se uma variedade integrável é
uma superfı́cie suave em IRn , então a equação (2.7) requer que a distribuição ∆ seja
igual ao espaço tangente da superfı́cie no ponto x (Isidori 1995).
As variedades integráveis estão relacionadas com as distribuições involutivas pelo
teorema de Frobenius (Isidori 1995):
Teorema 2.1 (Teorema de Frobenius) Uma distribuição é integrável se e somente
se for involutiva.
Proposição 1 (Integrabilidade de restrições Pfaffianas) Um conjunto de restrições
Pfaffianas suaves é integrável se e somente se a distribuição que anula as restrições
for involutiva.
¯
Portanto, supondo que ∆(x)
tem dimensão n − k + l > n − k, pelo Teorema de
¯
Frobenius ∆(x)
é integrável, i.e., existem funções hi (i = 1, · · · , k − l) tal que
∂hi
f
∂x
= 0,
¯
para todo f ∈ ∆(x)
⊂ ∆. Isto implica que as trajetórias do sistema estão num
hiperplano de dimensão n − k + l dado por hi = cte (i = 1, · · · , k − l). Desta forma,
entre as k restrições tem-se que k − l são holonômicas, e l é não-holonômica.
¯
Caso a dimensão de ∆(x)
seja n, existem somente k restrições não-holonômicas, e
o sistema é denominado de completamente não holonômico.
Exemplo 2.2 (Uniciclo - Caracterização da holonomia de restrições) Considerese novamente o sistema do exemplo anterior (Fig. 2.2). A rigor, este sistema satisfaz
4 restrições dadas por:
z
y
x
y
zb
φ
yb
yb
xb
θ
x
xb
Figura 2.2: Uniciclo: definição de coordenadas
19
~xb · ω
~ = 0
~v − ω
~ × l~z = 0
que pode ser escrita na forma matricial:


~ 
0  ω
=0

~v
l~z× I
xB ·
 ~

e portanto tem-se




 

yB   ~z 
~ 
 ~
 ω

,
 ∈ span 

~v
l~xB
0
Representando a parte superior de cada campo vetorial nas coordenadas do corpo e as
parte inferior na coordenadas inerciais, tem-se

0

 
0 



 0 







1 



 


 





0   1 



,

∆ = span 

 

 lcosθ   0 

 


 

 lsinθ   0 

 


 

0
0
O fecho involutivo de ∆ pode ser obtido considerando-se os colchetes de Lie sucessivos [f1 , f2 ], [f1 , [f1 , f2 ]], etc.:

0
 
 
0  
 
 
 
  0  
 
 
0
0
0
 
0


 


 





0 
0
1

 


 
 
 


 
 
 


 
 1  

0 
0
0 









¯ = span 

,
,
,
∆

 
 
 

 lcosθ   0   −lsinθ   lcosθ 

 
 
 


 
 
 

 lsinθ   0   lcosθ   lsinθ 

 
 
 


 
 
 

0
0
¯ é dada por:
que possui dimensão constante 4. A distribuição anuladora de ∆
¯ ⊥ = span{[1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1]}
∆
20
¯ ⊥ é integrável. De fato existem 2
Do teorema de Frobenius tem-se, portanto, que ∆
restrições holonômicas e 4 não-holonômicas. As restrições holonômicas são aquelas
que poderiam ter sido obtidas por inspeção (considera-se também que ωxB = 0):
z = cte
,
ψ = ângulo de jogo = 0
A eliminação das restrições holonômicas resulta na conhecida equação dinâmica do
uniciclo:






 ẋ 
 lcosθ 
 0 












 ẏ 
 lsinθ 
 0 
 ωz

=
 ωyB + 






 θ̇ 

 1 

0












φ̇
0
1
Esta última equação define um sistema completamente não-holonômico.
No que segue deste trabalho serão considerados somente sistemas completamente
não-holonômicos.
2.2.3
Controlabilidade
Nas seções anteriores apresentou-se o problema de planejamento de trajetórias de sistemas não-holonômicos. Também foi mostrado que este problema é equivalente ao
controle de uma classe de sistemas não linear. Nesta seção, considera-se um tipo representativo desta classe, correspondente a sistemas mecânicos R descritos pela seguinte
equação diferencial não linear:
ẋ =
m
X
fi (x)ui = f (x)u
(2.8)
i=1
onde x ∈ CR , ẋ ∈ Tx (CR ), dim(CR ) = dim(Tx (CR )) = n, m < n. As entradas
(u1 · · · um ) ∈ U ⊂ U onde U é o espaço de funções de controle admissı́veis, que consiste
de funções constantes por parte sendo também contı́nua por partes. Este tipo de sistema é denominado sem drift, dado que o estado do sistema permanece inalterado se
o controle for zero.
Do ponto de vista de controle é necessário determinar sob que condições é possı́vel
levar o sistema R de uma configuração inicial x0 para um outra configuração xf ar21
bitrária dada com uma escolha adequada de u(·). Antes de analisar este problema para
sistemas não-holonômicos, é necessário apresentar algumas definições relacionadas com
o conceito de controlabilidade de um sistema não-linear, a começar por uma definição
de controlabilidade (Nijmeijer & van der Schaft 1990):
Definição 1 O sistema não linear (2.8) é controlável se dados dois estados arbitrários
x1 , x2 ∈ CR existe um tempo finito T > 0 e um controle admissı́vel u : [0, T ] 7→ U tal
que para o estado inicial x1 e o controle u, x(T ) = x2 .
Por exemplo, em sistemas lineares é bem conhecido que para o sistema (ẋ = Ax +
Bu) ser controlável, a condição a ser verificada é: posto{B, AB, . . . , An−1 B} = n.
Além disso, em sistemas lineares o conceito de controlabilidade é de suma importância
por estar diretamente relacionado com o conceito de estabilizabilidade e das realizações
canônicas.
O método mais simples para se estudar a controlabilidade de um sistema não-linear
é considerar sua “linearização” local. No entanto, a linearização muitas vezes não é
satisfatória, como no caso de um sistema do tipo (2.8), que pode ser controlável (no
sentido definido acima) embora sua linearização ao redor de um estado fixo claramente
não o seja.
Antes de apresentar mais alguns conceitos relacionados com a controlabilidade de
um sistema não linear, é necessário definir o conjunto alcançável a partir de um estado
inicial x0 em um intervalo de tempo T > 0 seguindo trajetórias que permaneçam numa
vizinhança V de x0 . Tal conjunto é denotado por RV (x0 , T ). Além disso, define-se
também
RTV (x0 ) =
[
RV (x0 , τ )
τ ≤T
Pode-se agora prosseguir definindo os seguintes conceitos:
Definição 2 (Controlabilidade Local) O sistema (2.8) é localmente controlável em
x0 se RTV (x0 ) contém um conjunto aberto não vazio de CR para toda a vizinhança V de
x0 e todo T > 0. Se esta condição é satisfeita para todo x0 ∈ CR , então os sistema é
localmente controlável (em torno de x0 ).
Definição 3 (Controlabilidade Global) O sistema (2.8) é globalmente controlável
em x0 ∈ CR se existe um controle limitado u ∈ Ω que leva o sistema de x0 a qualquer
22
outro ponto xf ∈ CR em tempo finito. Se esta condição é satisfeita para todo x0 ∈ CR ,
então os sistema é globalmente controlável.
Para sistemas sem drift do tipo (2.8) uma condição suficiente de controlabilidade
é motivada pela seguinte observação. Por simplicidade, considere-se o sistema (2.8)
formado por dois campos vetoriais e CR = IRn , i.e., ẋ = f1 (x)u1 + f2 (x)u2 (x ∈
IRn , ui ∈ IR). Claramente, a partir de uma condição inicial x0 pode-se levar o sistema
em todas as direções contidas no subespaço tangente Tx0 IRn , dado por
∆(x0 ) = span{f1 (x0 ), f2 (x0 )},
utilizando-se entrada constantes. Além disso, comutando convenientemente entradas
contı́nuas por partes u1 , u2 pode-se levar o sistema, ao menos aproximadamente, na
direção do vetor [f1 , f2 ](x0 ). Em particular, se [f1 , f2 ](x0 ) 6∈ ∆(x0 ), pode-se levar o
sistema em uma direção não contida em ∆(x0 ). De fato, elaborando estratégias de
comutação mais sofisticadas pode-se levar o sistema em direções dadas pelos colchetes
de Lie de fi de ordem superior. Desta forma, não é surpresa que seja possı́vel levar
o sistema ao longo de todas as direções correspondentes à álgebra de Lie de controle
CLA(x).
Motivado por esta discussão apresenta-se a seguinte condição suficiente de controlabilidade (Chow 1939):
Teorema 2.2 (Teorema de Chow) O sistema (2.8) é localmente controlável se o
fecho involutivo das colunas de f (x) tem dimensão n para todo x.
O fecho involutivo gerado por f (x) define uma Álgebra de Lie, comumente chamada
de Álgebra de Controle de Lie, em inglês, Control Lie Algebra, denotada por CLA(x) =
L(fi , i ≤ n). O teorema de Chow diz que o sistema é controlável se a dimensão da
Álgebra de Controle de Lie é n, esta condição é referida como Condição de Posto
da Controlabilidade, em inglês, Controllability Rank Condition, CRC (Barraquand &
Latombe 1991):
Proposição 2 (Condição de Posto da Controlabilidade) O sistema (2.8) satisfaz a CRC em x0 se a dimensão da CLA(x0 ) é igual à dimensão de CR . Se a condição
é satisfeita para todo x ∈ CR , então o sistema satisfaz a CRC.
23
Pode-se verificar que, para sistemas completamente não-holonômicos (c.f. pag. 19)
a CLA(x) é de fato de dimensão n para todo x ∈ CR . Portanto, o teorema de Chow
implica que, se o sistema for completamente não-holonômico, ele é também globalmente
controlável2 . Este resultado é de suma importância para o problema de planejamento
da trajetória de sistemas não-holonômicos, sendo que as estratégias encontradas na
literatura geralmente restringem-se a sistemas completamente não-holonômicos.
Caso o sistema seja holonômico, a distribuição associada com as restrições holonômicas é involutiva por natureza, não sendo necessário portanto a geração da CLA
neste caso.
Em principio, o problema de planejamento da trajetória tem solução simples no
caso de sistemas que satisfazem a CRC. De fato, dada uma configuração inicial x0
e a final xf , a idéia é encontrar p pontos intermediários x1 , x2 , · · · , xp e vizinhanças
B(xi ) com superposição encadeada, onde o sistema seja controlável. Assim é possı́vel
determinar um controle do sistema de modo a percorrer os segmento de reta unindo
sucessivamente x0 a x1 , x1 a x2 e assim por diante até chegar à configuração final xf .
O problema deste procedimento é que ele não é construtivo. Na realidade, a CRC
não define nenhum procedimento construtivo para gerar trajetórias. Na seção a seguir
apresentaremos uma técnica que construtivamente gera as trajetórias desejadas.
Para sistemas não lineares discretos, em (Jakubczyk & Sontag 1990, Albertini &
Sontag 1993, Albertini & Sontag 1994), são obtidas condições de posto da âlgebra
gerada por um conjunto de campos vetoriais obtido do mapa de transição do sistema
discreto. A metodologia é baseada no fato de que existe uma analogia para equações
a diferencias da informação infinitesimal obtida para sistemas contı́nuos através das
derivadas com respeito ao tempo. No caso de sistemas discretos as derivadas são com
respeito a valores do controle. Com este enfoque é possı́vel obter condições necessárias
para determinar a controlabilidade do sistema não linear discreto e também generalizar
o Teorema de Chow para sistemas contı́nuos.
2
Basicamente, ela é obtida verificando que a máxima variedade integral de CLA(x) é igual a CR
(vide (Divelbiss 1993, pag. 29) e (Isidori 1995, pag. 77)
24
2.3
Planejamento de Trajetórias: um Método tipo
Newton
Nesta seção apresenta-se um algoritmo iterativo para resolver o problema de planejamento de trajetórias, baseado no método de Newton,
Este algoritmo, denominado de método iterativo no espaço das trajetórias (Divelbiss
& Wen 1992c, Divelbiss & Wen 1997b), é a base da estratégia realimentada para estabilização de sistemas não-lineares a ser apresentada no decorrer deste trabalho.
O problema de planejamento de trajetórias pode ser colocado da seguinte forma:
Dado o sistema sistema não linear:
ẋ = f (x)u
(2.9)
com configurações iniciais e finais dadas, x0 e xd , e tempo finito T > 0; calcular
uT = {u(t) : t ∈ [0, T )} tal que a solução de (2.9) satisfaça x(T ) = xd .
A terminologia utilizada nesta seção é definida a seguir: Uma trajetória conecta
uma configuração inicial x0 a uma configuração final xf , e é denotada por: x = {x(t) ∈
IRn , t ∈ [0, T ]}; o espaço de controle é o espaço de funções geradas por todas as entradas
admissı́veis, i.e., uT ∈ L2m [0, T ) com uT = {uT (t) ∈ IRm , t ∈ [0, T )}; o espaço de
trajetórias é o espaço contendo todas as possı́veis trajetórias geradas pelos controles
admissı́veis, conectando todas as possı́veis configurações iniciais a todas as possı́veis
configurações finais.
Uma abordagem para se resolver o problema de planejamento de trajetórias é considerar o fluxo do campo vetorial que representa a solução da equação diferencial
(2.9). Especificamente φ(τ, σ, x, ω) representa o estado no instante τ resultante de
uma condição inicial x no instante σ e um sinal de entrada w. Tem-se portanto que:
x(t) = φ(t, t0 , x0 , ut,t0 )
Por estarmos considerando sistemas invariantes no tempo, uma notação mais sim25
ples é obtida considerando t0 = 0 e x(0) = x0 resultando em
x(t) = φt (x0 , ut )
(2.10)
Desta forma, dada uma configuração inicial x0 e uma configuração desejada xd ,
o objetivo é encontrar um controle uT definido no intervalo [0, T ), tal que uT leve
o sistema de x0 para xd , i.e., xd = φT (x0 , uT ). A existência do controle uT está
relacionada com a controlabilidade global do sistema, i.e. da existência de um controle
uT que leve o sistema à configuração desejada num tempo finito T . Pela definição de
controlabilidade global, conclui-se que o sistema é globalmente controlável se e somente
se o mapeamento φT (x0 , ·) for sobrejetiva (em inglês, onto) todo x0 ∈ IRn .
Escrevendo o erro final para um dado uT como
eT = φT (x0 , uT ) − xd
(2.11)
o problema de planejamento de trajetórias pode ser considerado como o de encontrar
um zero da equação eT = 0 com relação à incógnita uT .
Uma solução consiste na obtenção de uma trajetória relacionando o erro inicial eT
ao valor desejado eT = 0, no espaço uT . Considerando τ como uma variável de iteração
contı́nua e sendo uT (τ = 0) a primeira escolha do sinal de controle com erro inicial
eT (τ = 0), uma estratégia é modificar iterativamente uT (τ ) tal que eT (τ ) convirja para
zero com τ → ∞.
Para uma dada condição inicial x0 fixa, a derivada de eT , definida como eT (τ ), com
respeito à variável de iteração τ é dada por
du (τ )
deT (τ )
= ∇u φT (x0 , uT (τ )) T
dτ
dτ
(2.12)
onde o mapeamento ∇u φT (x0 , uT ) é a derivada de Fréchet3 (Sontag 1990b) de φT com
respeito a uT . Desta forma, supondo que ∇u φT seja sobrejetivo, uma escolha adequada
3
Um mapeamento contı́nuo F : O 7→ N2 de um subconjunto aberto do espaço normado N1 para
outro espaço normado N2 é (Fréchet) diferenciável no ponto x0 ∈ O se e somente se existe um
mapeamento linear ∇x F (x0 ) : N1 7→ N2 tal que ||F (x) − F (x0 ) − ∇x F (x0 )(x − x0 )|| = o(||x − x0 ||).
Se este mapeamento existe, ele é único e limitado, e é denominado de derivada de F em x0 .
26
para lei de atualização de uT (τ ) é dada por:
h
i†
duT (τ )
= −α ∇u φT (x0 , uT (τ )) eT (τ )
dτ
(2.13)
onde α > 0 e [ · ]† denota a pseudo-inversa de Moore-Penrose. Tal lei é essencialmente
a versão contı́nua do método de Newton. A equação diferencial (2.13) define um
problema de condição inicial (IVP) para um dado uT (0), desta forma a solução uT (τ )
pode ser obtida resolvendo (2.13) através de algum programa de integração numérica
(Divelbiss & Wen 1997b) (c.f. método de Davidenko (Richter & DeCarlo 1983, Allgower
& Georg 1990)). No entanto, a integração numérica de (2.13) não leva em consideração
as fortes propriedades de contração local inerentes a métodos iterativos tipo Newton.
Este tipo de método numérico também é conhecido como método de Newton Global.
Uma condição suficiente para a convergência do algoritmo é que ∇u φT (x0 , uT (τ ))
seja sobrejetivo para todo τ . Sob esta condição tem-se que, substituindo (2.13) em
(2.12):
deT
= −αeT
dτ
(2.14)
o que claramente implica na convergência exponencial de eT (τ ):
||eT (τ )|| ≤ K ||eT (0)|| exp−ατ
para algum K > 0 (por exemplo, se || || é a norma-2 então K =
√
n).
A técnica apresentada acima não é nova no contexto de controle numérico. De
fato, o método do gradiente de primeira ordem apresentado em (Bryson & Ho 1969,
pag. 221) recae no esquema apresentado acima quando é escolhida uma função de custo
J(u) = 0 sujeita a x = Ψ(x) = 0.
A expressão analı́tica de φT é difı́cil de ser obtida explicitamente. No entanto, ela
não é necessária para a implementação do algoritmo proposto. O Teorema 1 em (Sontag
1990b) mostra que a derivada de Fréchet de φT com respeito a uT , ∇u φT (x0 , uT ), pode
ser calculada diretamente a partir do sistema (2.9) linearizado ao redor da trajetória x
gerada pelo controle u, isto é
δ ẋ = A(t)δx + B(t)δu;
27
δx(0) = 0
(2.15)
∂f
∂f
onde δx ∈ IRn , δu ∈ IRm , A(t) = [ ∂x
1 u(t) · · · ∂xn u(t)] e B(t) = f (x). Dado a δx(0) = 0,
a solução da equação diferencial é dada por:
δx(T ) =
Z
T
Φ(T, s)B(s)δu(s)ds
0
(2.16)
onde Φ é a matriz de transição de estado associada ao sistema ż = A(t)z. Desta forma,
o mapeamento ∇u φT é definido como
δx(T ) = (∇u φT )δu
(2.17)
Por hipótese, ∂u ∈ L2m [0, T ], que com o produto interno hω, νi :=
Rτ
σ
ω(t)∗ ν(t)dt
(“∗” denota transposta conjugada), define um espaço de Hilbert. Por outro lado,
como δx ∈ IRn com produto interno definido como hy, xi = y T x define também um
espaço de Hilbert, tem-se que sempre existe um operador adjunto (∇u φT )∗ definido
pela propriedade:
h(∇u φT )uT , xi = huT , (∇u φT )∗ xi
Tendo-se portanto, no caso do operador (2.16) que:
Z
∗
(∇u φT ) x =
=
Φ(T, s)B(s)δu(s)ds
0
=
=
T
Z
Z
T
T
0
∗
T
x
T
!
δu (s)B (s)Φ (T, s)ds x
0
0
Z
T
!∗
δu∗ (s)B T (s)ΦT (T, s)xds
δu∗ (s)(∇u φT )∗ xds
sendo o operador adjunto dado por:
((∇u φT )∗ x)(t) = B T (t)ΦT (T, t)x,
t ∈ [0, T ]
Considerando o operador auto-adjunto, W : IRn 7→ IRn ,
∗
W = (∇u φT )(∇u φT ) =
Z
0
T
Φ(T, s)B(s)B T (s)ΦT (T, s)ds
28
tem-se que W é positiva definida, i.e., W > 0. Dado que δx(T ) ∈ IRn , é equivalente
dizer: W é sobrejetivo, W > 0, ∇u φT é sobrejetiva, (∇u φT )∗ é unı́voca. A matriz W
pode ser calculada como (Sontag 1995):
Q̇ = A(t)Q + QA(t) + B(t)B T (t);
Q(0) = 0
com W = Q(T ).
Então, se ∇u φT for sobrejetiva, tem-se que a pseudo-inversa de (2.16) é dada por:
h
( ∇u φT
i†
δx)(t) = (∇u φT )∗ (W )−1 δx
T
T
= B (t)Φ (T, t)
"Z
T
0
T
T
Φ(T, s)B(s)B (s)Φ (T, s)ds
#−1
δx
A seguir ilustraremos a aplicação do método em um sistema não-holonômico clássico,
o uniciclo. Em exemplos anteriores já foram analisadas algumas propriedades deste sistema. O interesse por este sistema é motivado pelo fato que muitos róbos móveis podem
ser modelados como uniciclos, como por exemplo, a linha de róbos móveis Nomad (Nomadic Inc.) ou o Labmate (TRC Inc.).
Exemplo 2.3 (Uniciclo - Planejamento de trajetória) Considere-se o sistema do
exemplo 2.1. O modelo deste sistema é dado por



 ẋ 
 r cos θ






 ẏ  =  r sin θ






θ̇
0

0 


0 

1

  u1 

u2

(2.18)
onde r = 1 é o raio da roda, (x, y) representa a posição cartesiana do uniciclo e θ
é o ângulo de orientação do uniciclo. A dificuldade no planejamento da trajetória é
que o sistema é globalmente controlável, mas não é localmente controlável. Para resolver o problema utilizaremos, o método iterativo no espaço das trajetórias. A idéia
é resolver o IVP (2.13) com α = 5, sendo a variável de iteração τ a variável independente. Com o objetivo de possibilitar a solução utilizando um programa computacional que implementa o algoritmo de Runge-Kutta de 4a. ordem, o sinal uT ∈
L2m [0, 1] é suposto constante por partes, como num sistema de controle a dados amos29
trados, sendo discretizado em 50 amostras regularmente espaçadas, que equivale a
um intervalo de amostragem de h = 1/50. A condição inicial é escolhida uT (0) =
{[0.6 sin(2πt/50), 0.4 cos(2πt/50)]T , ∀t ∈ [0, 1]. É suposto que o uniciclo tenha por
configuração inicial x(0) = [2 2 0]T , sendo a configuração final desejada xd = [4 2 0]T .
Este exemplo claramente se relaciona com o problema de estacionamento paralelo (“parallel parking”).
4.5
4
y
3.5
3
2.5
2
1.5
1
1.5
2
2.5
3
x
3.5
4
Figura 2.3: Uniciclo - Planejamento de Trajetória: Plano x–y. xT0 = [2 2 0], xTd =
[2 4 0], r = 1.
60
50
Orientação θ
40
30
20
10
0
−10
−20
−30
−40
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
tempo (seg)
Figura 2.4: Uniciclo - Planejamento de Trajetória: Orientação θ. xT0 = [2 2 0],
xTd = [2 4 0], r = 1.
As figuras 2.3 e 2.4 mostram a trajetória do sistema no plano x − y e a orientação
θ em função do tempo. A figure 2.3 mostra como o sistema percorre uma trajetória
considerada natural para o problema de estacionamento paralelo. Esta trajetória não é
30
única, dependendo da escolha inicial uT (0) e α. Nas figuras 2.5 e 2.6 pode ser observado
uT (τ ) = [u1T (τ ) u2T (τ )] para uma integração até τ = 5 e t ∈ [0, 1]. Nesta figura pode ser
observado como o controle uT converge para o perfil que leva o sistema de x(0) para
xd .
6
4
u1
2
0
5
−2
4
−4
3
−6
2
1
0.8
1
0.6
τ
0.4
0.2
t (seg)
0
0
Figura 2.5: Uniciclo - Planejamento de Trajetória: Controle u1T (τ ). xT0 = [2 2 0],
xTd = [2 4 0], r = 1.
6
4
u2
2
0
5
−2
4
−4
3
−6
2
1
0.8
1
0.6
0.4
0.2
t (seg)
0
0
τ
Figura 2.6: Uniciclo - Planejamento de Trajetória: Controle u2T (τ ). xT0 = [2 2 0],
xTd = [2 4 0], r = 1.
A controlabilidade do sistema linear variante no tempo (2.15) implica que para
todo incremento ∂x(T ) ∈ IRn existe um controle ∂u que leva o sistema de ∂x(0) = 0
para ∂x(T ), o que significa que o operador ∇u φT é sobrejetivo. Mais ainda, ∇u φT é
sobrejetivo se e somente se (2.15) é controlável (Sontag 1990b, Teorema 5).
Além disso, de acordo com (Sontag 1990b, Teorema 6) tem-se que o sistema (2.9) é
controlável localmente ao longo de uT se e somente se ∇u φT for um mapeamento linear
31
sobrejetivo, que é equivalente à controlabilidade do sistema linear variante no tempo
gerado pela linearização de (2.9) ao redor de uT .
Para sistemas sem drift (c.f. equação (2.9)), mostra-se em (Lin & Sontag 1991) que
m
[0, T ) a condição de posto completo de ∇u φT é genericamente satisfeita.
para uT ∈ C∞
As trajetórias nas quais o sistema linearizado variante no tempo (2.15) não é controlável
são chamadas de extremos anormais. Em (Sussmann 1993, Sussmann & Chitour 1993)
é apresentada uma condição suficiente para garantir a inexistência destes casos, exceto
para trajetórias com configuração constante, i.e., u ≡ 0. No caso do uniciclo mostrouse que, desde que a velocidade da roda não seja nula, a trajetória correspondente não é
um extremo anormal. Nos casos em que ∇u φT perde posto (que possivelmente levaria a
uma parada de um algoritmo numérico, como o usado no exemplo do uniciclo), Sontag
em (Sontag 1995) propõe um artifı́cio que consiste em acrescentar uma malha genérica
(que não incremente eT ) à trajetória singular, fazendo com que a composição seja não
singular.
Na referência (Popa & Wen 1996), as singularidades são identificadas para representações canônicas de sistemas não-holonômicos na forma cadeia (2.6) com m = 2.
Nesse trabalho é determinado que: se n = 2 não existem singularidades, se n = 3 aparecem singularidades quando u(t) ≡ 0 (∀t) e se n ≥ 4 existem singularidades quando
u1 (t) ≡ 0. Nesse trabalho é também proposto uma forma de evitar estas singularidades
impondo restrições no sinal de controle.
Uma possibilidade que surge da observação das equações (2.12) e (2.13), e que no
lado direito da lei de atualização (2.13) pode ser adicionado um elemento que esteja no
espaço nulo de ∇u φT , como por exemplo o termo ∇d
u φT ζ com ζ arbitrário, i.e. pode-se
modificar (2.13) para:
i†
h
duT
= −α ∇u φT (x0 , uT ) e(τ ) + ∇d
u φT ζ
dτ
(2.19)
onde b representa o anulador de ∇u φT . Desta forma, para qualquer ζ a dinâmica de
eT continua sendo governada por
deT
dτ
= −αeT . A escolha de ζ pode ser direcionada
com o objetivo de manter o sistema longe de singularidade e/ou satisfazer restrições
extras. A análise deste problema é um tópico de pesquisa futura.
Em (Divelbiss & Wen 1993) foi considerada uma base de Fourier para aproximar
32
uT nos primeiros M elementos,
u(t) =
M
X
ψi (t)λi
i=1
∀t ∈ [0, T ]
√
√
onde ψi (t) são os elementos de Fourier standard: ψ1 = 1/ 2π, ψ2 = 1/ πcos(2πt),
√
√
√
ψ3 = 1/ πsin(2πt), ψ4 = 1/ πcos(4πt), ψ5 = 1/ πsin(4πt), etc. Os λi ∈ IRm são
vetores constantes representando o i-ésimo coeficiente de Fourier para as componentes
de u(t). A grande vantagem de utilizar esta aproximação é a de reduzir o problema
para uma dimensão finita. Considerando um isomorfismo Q tal que u = Q−1 λ (λ =
[λ1 , λ2 , · · · , λM ]) então (2.10) pode ser reescrita em função de λ,
x(t) = φ̂t (x0 , λ)
projetando o algoritmo iterativo seguindo o procedimento apresentado acima, tem-se
que a lei de atualização é dada por:
dλ
= −α [∇λ φT (x0 , λ)]† eT (τ )
dτ
A convergência do método utilizando uma base de Fourier finita é um tópico de
pesquisa aberto. Uma possibilidade é analisar a controlabilidade deste sistemas com
as ferramentas propostas em (Jakubczyk & Sontag 1990), onde a controlabilidade é
estudada para sistemas amostrados e sistemas discretos com entradas não escalares.
2.3.1
Implementação Discreta
Dada a caracterı́stica iterativa do algoritmo a ser proposto, e dado que ele, geralmente,
será implementado num computador digital, apresenta-se a seguir a versão discreta
do método iterativo no espaço das trajetórias baseado no método de Newton. Neste
enfoque, o k-esı́mo intervalo de amostragem estende-se de t = kh até t = (k +1)h, onde
h é o intervalo de amostragem constante. A variável x(k) denota o valor do estado
em t = kh e u(k) é a entrada de controle do sistema, mantida constante ao longo de
t ∈ [kh, (k + 1)h), de acordo com a implementação ZOH (Zero-Order Hold ) (Franklin,
Powell & Workman 1990).
33
Desta forma, similarmente à versão contı́nua, o mapeamento de transição no caso
discreto pode ser representado por φ(τ, σ, x, ω) onde τ e σ são o instante final e inicial,
respectivamente, x é o estado inicial e ω é o sinal de controle. Particularmente, para o
sistema (2.9), tem-se
x(k + M ) = φ((k + M )h, kh, x(k), uM (k))
(2.20)
onde M é um número inteiro maior que zero, e o vetor de controle uM (k) é definido
como:
uM (k) = [(uM (k/k))T
(uM (k + 1/k))T · · · , (uM (M − 1/k))T ]T ;
uM ∈ IRmM
(2.21)
que corresponde a uma forma empilhada do vetor de controle em intervalos sucessivos
de amostragem, a partir do instante k, identificados pelo ı́ndice de uM (i/k).
Com o objetivo de obter uma notação mais compacta, a equação (2.20) é re-escrita
como
x(k + M ) = φM (x(k), uM (k))
(2.22)
Assim, dados uM (k) e x(k), o erro é
eM (k) = φM (x(k), uM (k)) − xd
Considerando o método iterativo de encontrar uma lei de controle uM que leve eM
para zero, define-se a variável de iteração τ , e assim passa-se a ter:
eM (k, τ ) = φM (x(k), uM (k, τ )) − xd
No caso de se considerarem sistemas invariantes no tempo, por simplicidade, a
variável k pode ser omitida na notação, e portanto pode-se redefinir x0 := x(0) e
uM (τ ) := uM (0, τ ), tendo-se então que o erro final é dado por:
eM (τ ) = φM (x0 , uM (τ )) − xd
34
Deste modo, considerando a iteração τ + 1, tem-se que,
eM (τ + 1) = φM (x0 , uM (τ + 1)) − xd
(2.23)
Considerando a expansão em série de Taylor de φM (x0 , uM (τ + 1)) ao redor uM (τ )
e da trajetória de estado associada, tem-se que,
eM (τ + 1) = eM (τ ) + ∇u φM (x0 , uM (τ ))∆uM (τ ) + o(∆uM (τ ))
(2.24)
onde ∇u φM é o gradiente de φM (x0 , ·) com respeito a uM ; ∆uM (τ ) = uM (τ + 1) −
uM (τ ), e o(∆uM (τ )) leva em conta os termos de ordem superior da aproximação. Se
∇u φM (x0 , uM ) tiver posto completo, pode-se escolher a seguinte lei de atualização para
uM (τ ):
h
i†
∆uM (τ ) = − ∇u φM (x0 , uM (τ )) eM (τ )
(2.25)
Este tipo de atualização na direção do gradiente às vezes é chamada de passo de Newton
completo. Similarmente à versão contı́nua, a escolha (2.25) não é única. Por exemplo,
pode-se utilizar [∇u φM (x0 , uM ]T em lugar de [∇u φM (x0 , uM )]† , definindo uma escolha
steepest descent (Sontag 1995).
Definindo {uM } como a sequência de iterações em uM gerada pelo algoritmo proposto, e com o objetivo de realizar a análise de convergência, as seguintes hipóteses são
realizadas:
Hipótese 1 O gradiente de φM (x0 , uM (τ )) com respeito a uM , ∇u φM , tem posto completo para todo τ .
Hipótese 2 Existem r, γ, mf > 0 tais que ∇u φM é Lipschitz contı́nua com constante
de Lipschitz γ, i.e., existe γ tal que
∇u′ φM (xo , u′M ) − ∇u′′ φM (xo , u′′M ) ≤ γ ||u′M − u′′M || ,
e [∇u φM ]† ≤ mf no conjunto
Ω({uM }, r) =
∞
[
τ =0
{u0M | u0M − uM (τ ) ≤ r}.
35
Da mesma forma que para a versão contı́nua, o gradiente ∇u φM (x0 , uM ) pode ser
diretamente calculado a partir do sistema não-linear, através de sua linearização ao redor da trajetória associada à entrada uM . Uma condição suficiente para a convergência
do algoritmo iterativo é que ∇u φM (x0 , uM (τ )) satisfaça a hipótese 1, ou, equivalentemente, o sistema variante no tempo linearizado ao redor da trajetória gerada para cada
uM (τ ) seja controlável.
Então, considerando a hipótese 1, substituindo (2.25) em (2.24), tem-se que
eM (τ + 1) = d(eM )
(2.26)
onde d(||eM ||) é um termo de ordem superior a ||eM ||.
Sendo B(ρ) a bola de raio ρ ao redor de eM = 0, i.e., B(ρ) = {eM : ||eM || < ρ}, o
seguinte teorema resume as propriedades de convergência do algoritmo apresentado:
Teorema 2.3 (Convergência Local) Considere-se a equação do erro (2.26) e as
hipóteses 1-2. Então, existe ρ > 0 tal que se eM (0) ∈ B(ρ), o erro eM (τ ) converge
quadraticamente para zero com τ tendendo para infinito.
Prova: Pela forma de Lagrange, de (2.24), tem-se que
d(eM ) =
Z
0
1
h
i
∇u φM (x0 , uM (τ ) + t∆uM (τ )) − ∇u φM (x0 , uM (τ )) ∆uM (τ )dt
Desta forma, considerando que, pela hipótese 2, ∇u φM é Lipschitz, obtem-se
||d(eM )|| ≤ γ ||∆uM (τ )||2
Z
0
1
tdt ≤
γ
||∆uM (τ )||2 ,
2
para ||∆uM (τ )|| ≤ r
então, pela hipótese 2 e da lei de atualização (2.25), tem-se que
||d(eM )|| ≤
γm2f
||eM (τ )||2 ≤ γ1 ||eM (τ )||2
2
para ||eM || ≤ ρ
consequentemente de (2.26)
||eM (τ + 1)|| ≤ γ1 ||eM (τ )||2
36
para ||eM || ≤ ρ
determinando a convergência quadrática de eM .
A hipótese que a iteração inicial esteja suficientemente próxima da solução é artificial à primeira vista. No nosso caso, a primeira iteração pode estar longe da solução e
de fato é necessário um algoritmo que convirja globalmente, i.e., que tenha a propriedade de que para qualquer iteração inicial, a iteração convergira para a solução. Uma
possibilidade para globalizar o resultado do teorema 2.3 é combinar o algoritmo desh
crito acima com uma busca em linha no passo de atualização de Newton, α ∇u φM
i†
eM
com α < 1. A busca é realizada mantendo constante uM (τ ) e otimizando o parâmetro
α para minimizar ||eM (τ + 1)||. Diversas opções incluem buscas Golden Section, interpolação parabólica, método de Brent, homotopia, etc. (Press, Flannery, Teukolsky
& Vetterling 1986). Aqui utilizaremos a conhecida Regra de Armijo, amplamente
utilizada em algoritmos tipo Newton para obter propriedades de convergência global
(Kelley 1995).
A idéia da Regra de Armijo é diminuir o passo de Newton por um fator redutor σ
(i.e., αnew = σαold ), até que o erro eM decresça suficientemente, i.e.,
||eM (τ + 1)|| < (1 − δα) ||eM (τ )||
onde δ ∈ (0, 1) é escolhido pequeno, sendo valores tı́picos da ordem de δ = 10−4 . Este
tipo de condição é preferı́vel a uma simples condição ||eM (τ + 1)|| ≤ ||eM (τ )|| pois ela
evita oscilações indesejadas no algoritmo (Dennis & Schnabel 1996).
O valor do fator de redução σ pode ser escolhido simplesmente como σ = 0.5,
ou, seguindo uma opção mais sofisticada, utilizando-se uma interpolação polinomial
baseada em tentativas prévias. Para tal, é necessário garantir a seguinte condição:
0 < σ0 αold < αnew < σ1 αold < 1
O parâmetro σ0 , denominado de safeguarding, evita que o algoritmo caia em um mı́nimo
muito próximo de zero, o que não seria de qualquer utilidade (Dennis & Schnabel 1996).
Valores tı́picos escolhidos são σ0 = 0.1 e σ1 = 0.5.
Um esboço do algoritmo modificado é dado a seguir:
Algoritmo I
37
(Método Iterativo no espaço das trajetórias + Regra de Armijo)
1. Inicializar τ = 0 e escolher uM (0) não singular,
2. Calcular eM (τ ),
3. Enquanto ||eM (τ )|| ≥ ǫ, fazer:
(a) d(τ ) = −[∇u φM ]† eM (τ ),
(b) α = 1,
i. uM (τ + 1) = uM (τ ) + αd(τ )
ii. se ||eM (τ + 1)|| ≥ (1 − δα) ||eM (τ )|| então
escolher σ ∈ [σ0 , σ1 ]
α = σα
ir para 3(b)i
(c) τ = τ + 1 e ir para (2)
Note que a condição verificada em 3(b)ii garante o decrescimento suficiente de
||eM (τ )||. Por outro lado, o algoritmo termina quando o erro eM for menor que um ǫ
dado.
O seguinte lema garante que o parâmetro α do algoritmo I é uniformemente inferiormente limitado:
Lema 2.1 Dados uM (0) e δ ∈ (0, 1), considerando que uM (τ ) é gerado pelo Algoritmo I, e que a Hipóteses 1–2 são satisfeitas, então ou eM (0) = 0 ou
2(1 − δ)
r
, 2
α ≥ ᾱ = σ0 min
mf ||eM (0)|| mf γ ||eM (0)||
!
Prova: Pela fórmula de Lagrange tem-se que, para qualquer α ∈ [0, 1], a equação
(2.24) com ∆uM (τ ) = −αd(τ ) onde d(τ ) = [∇u φM (x0 , uM (τ )]† eM (τ ), pode ser escrita
como:
eM (τ +1) = (1−α)eM (τ )+
Z
0
1
(∇u φM (uM (τ )+tαd(τ ))−∇u φM (uM (τ )))αd(τ )dt (2.27)
38
onde a direção de Newton d(τ ) é limitada por:
||d(τ )|| ≤ mf ||eM (τ )||
Também, pela Hipótese 2, tem-se que ∇u φM é Lipschitz no segmento de reta definido por [uM (τ ), uM (τ ) + αd(τ )]. Portanto, para uM (τ ) + αd(τ ) pertencer ao conjunto
Ω(uM , r) deve-se satisfazer a seguinte condição em α:
r
mf ||eM (τ )||
α < ᾱ1 ≤
O fato de ∇u φM ser Lipschitz implica que, se α < ᾱ1 , a equação (2.27) satisfaz
Z
1
||eM (τ + 1)|| ≤ (1 − α) ||eM (τ )|| + γα
tdt ||d(τ )||2
0
γ 2
≤ (1 − α) ||eM (τ )|| + α ||d(τ )||2
2
γ 2 2
≤ (1 − α) ||eM (τ )|| + α mf ||eM (τ )||2
2
2
(2.28)
(2.29)
(2.30)
A aceitação de α no Algoritmo I, implica que ||eM (τ )|| é uma sequência decrescente
e portanto
γαm2f ||eM (0)||
||eM (τ + 1)|| ≤ (1 − α) ||eM (τ )|| + α ||eM (τ )||
2
(2.31)
Desta forma, escolhendo
2(1 − δ)
α ≤ ᾱ2 = min ᾱ1 , 2
mf γ ||eM (0)||
!
tem-se que
||eM (τ + 1)|| ≤ (1 − δα) ||eM (τ )||
que de fato é a condição 3(b)ii do Algoritmo I. Isto mostra que α não pode ser menor
que σ0 ᾱ2 , o que completa a prova.
O Lema 2.1 mostra que α possui um limite inferior uniforme, implicando que a
busca em linha em α termina em um número finito de iterações.
−1
A seguir, prova-se que se uM e ∇u φM para eM = 0.
39
são limitados, então o algoritmo converge
Observação 1 Para τ suficientemente grande tem-se pelo Algoritmo I que α = 1
(passo de Newton completo) e a convergência na etapa final da iteração é dada pela
teoria local do Método de Newton (Teorema 2.3).
Teorema 2.4 (Convergência Global) Dados uM (0) e δ ∈ (0, 1) e considerando
uM (τ ) gerado pelo o Algoritmo I tem-se que, se as Hipóteses 1–2 são satisfeitas e
uM (τ ) for limitado para todo τ , então eM (τ ) converge para zero.
Prova: Se eM (τ ) = 0 para algum τ a prova esta completa. No caso que eM (τ ) 6= 0,
o Lema 2.1 implica que eM (τ ) converge para zero com uma taxa de pelo menos (1−δ ᾱ).
Desta forma, existe um τ ′ tal que se eM (τ ′ ) ∈ B(ρ) a iteração com uoM = uM (τ ′ )
permanecerá em B(ρ) e convergira para zero. O Teorema 2.3 é válido e portanto pode
ser escolhido um passo completo de Newton, i.e., α = 1.
Uma questão pendente é como calcular ∇u φM na versão discreta, tendo em conta
que, geralmente, a expressão analı́tica φM (·) não é disponı́vel, assim como na versão
contı́nua do algoritmo. Uma possibilidade é considerar o sistema (2.9) linearizado ao
redor da solução correspondente a uma sequência de controle uM , i.e.:
δ ẋ = A(t)δx + B(t)δu;
onde A(t) =
h
∂f
u(t)
∂x1
···
i
∂f
u(t)
∂xn
δx(0) = 0
e B(t) = f (x).
A versão discreta do sistema linearizado é dada por:
δx(k + 1) = Φ(k)δx(k) + Γ(k)δu(k);
onde4 Φ(k) = eA(kh)h e Γ(k) =
R (k+1)h
kh
δx(0) = 0;
(2.32)
eA(kh)s dsB(kh).
Resolvendo-se (2.32) para um horizonte M , tem-se:
δx(M ) = DM δuM
R (k+1)h
A(t)dt
Mais corretamente Φ(k) = e kh
. Neste trabalho, a hipótese é A(t) ser constante no
intervalo de amostragem.
4
40
onde
M
−1
Y
DM = [
Φ(j)Γ(0),
M
−1
Y
j=2
j=1
Φ(j)Γ(1), · · · , Φ(M − 1)Γ(M −2), Γ(M − 1)]
e δuM definida como para (2.21). Portanto, ∇u φM = DM dado que DM relaciona
mudanças infinitesimais em uM com mudanças infinitesimais em x(M ).
Para ilustrar os resultados obtidos acima apresenta-se um exemplo de aplicação.
Exemplo 2.4 (Uniciclo - Planejamento de Trajetórias) Considere-se novamente
o uniciclo planar do exemplo 2.3.
A implementação do algoritmo é realizada utilizando-se um aproximação de Euler
para obter a solução do sistema (2.18). O parâmetro α em (2.25) é escolhido utilizando
a regra do Armijo com σ = 0.5. Como condição nominal, considera-se o raio da roda:
r = 1. A escolha inicial da lei de controle é
uM (0) = {[0.6 sin(2πk/50), 0.4 cos(2πk/50)]T : ∀k ∈ [0, 50)}
A trajetória é discretizada em 50 amostras, i.e. M = 50, o que significa que temos
um perı́odo de amostragem h = 0.02.
As figuras 2.7 e 2.8 mostram a trajetória final no plano cartesiano e a orientação
do uniciclo ao longo do tempo. A figure 2.9 mostram o sinal de controle “off-line”. O
erro final, ||x(50) − xd ||, é menor que 1e−4 após 5 iterações.
4.5
4
y
3.5
3
2.5
2
1.5
1
1.5
2
2.5
x
3
3.5
4
Figura 2.7: Uniciclo - Planejamento de Trajetória: Plano x–y. xT0 = [2 2 0], xTd =
[2 4 0], r = 1.
41
80
Orientação θ
60
40
20
0
−20
−40
−60
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
tempo (seg)
Figura 2.8: Uniciclo - Planejamento de Trajetória: Orientação θ. xT0 = [2 2 0],
xTd = [2 4 0], r = 1.
8
6
Controle uM
4
2
0
−2
−4
−6
−8
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
tempo (seg)
Figura 2.9: Uniciclo - Planejamento de Trajetória: sinal de controle u1M (τ ) (–),
u2M (τ ) (- -). xT0 = [2 2 0], xTd = [2 4 0], r = 1.
42
A figura 2.10 mostra o comportamento de ||(x(50) − xd )|| para cada iteração em
função do parâmetro α. Sendo que e50 (0) = 1.98, a escolha de α que garante decrescimento suficiente é α = 0.25 para a primeira iteração, e α = 1 para as sub-seguentes.
A figura 2.11 mostra a convergência do erro e50 (τ ). Na figura 2.10 é claramente observada a convergência exponencial do erro nas primeiras duas iterações e a convergência
quadrática em tempo finito a partir da terceira iteração.
7
||e(τ + 1)||
6
5
4
3
2
1
0
0
2
4
1
0.8
6
0.6
8
0.4
10
τ
0.2
α
0
Figura 2.10: Uniciclo - Planejamento de Trajetória: Norma de e(τ + 1, α). xT0 =
[2 2 0], xTd = [2 4 0], r = 1.
2
1.8
1.6
1.4
||e(τ )||
1.2
1
0.8
0.6
0.4
0.2
0
0
1
2
3
4
τ
5
6
7
8
9
Figura 2.11: Uniciclo - Planejamento de Trajetória: Norma de e(τ ). xT0 = [2 2 0],
xTd = [2 4 0], r = 1.
A trajetória da figure 2.7 é similar à obtida aplicando o método de planejamento de
trajetória utilizando senoides (Murray & Sastry 1993), principalmente devido ao fato
de ter-se utilizado uma senoide como escolha inicial de uM (0).
43
2.3.2
Esquemas Relacionados
Nesta seção são apresentados esquema de planejamento de trajetória de sistemas nãoholonômicos desenvolvidos em forma independente e que estam intimamente relacionados com o método iterativo no espaço das trajetórias apresentado na seção anterior.
Primeiramente é apresentado o método baseado em controle ótimo proposto por
Fernandes, Gurvits e Lee em (Fernandes, Gurvits & Li 1992, Fernandes et al. 1994), e
denominado de Algoritmo Base (em inglês: Basis Algorithm).
A idéia é encontrar um controle u para o sistema sem drift, ẋ = f (x)u, de forma
de atingir um estado desejado otimizando uma função de custo que inclue esforço de
controle. O primeiro passo é representar o controle como uma soma ponderada infinita
de elementos de uma base ortogonal:
u=
∞
X
αi ei
i=1
onde ei representa uma base ortonormal para L2 [0, T ] (por exemplo a base de Fourier)
e para alguma sequência α = (α1 , α2 , · · ·). O problema portanto, é simplificado a
calcular os coeficientes αi que definam uma lei de controle u(t) que leve o sistema até
a configuração desejada. O problema de minimizar o esforço de controle é reduzido a
minimizar a soma dos quadrados dos coeficientes αi . Para uma implementação num
computador digital, o controle é aproximado pela soma truncada dos N primeiros
elementos da série.
A função de custo que minimiza o controle e que leva o sistema para a configuração
desejada é dada por:
J(α, γ) =
N
X
i=1
αi2 + γ ||x(T ) − xd ||2
(2.33)
onde são penalizados o esforço de controle e o erro final do estado no instante T .
A solução deste problema é dado pelas equações de Euler-Lagrange (Bryson & Ho
1969), que recae em um problema de valor de fronteira em dois pontos. A idéia, no
entanto, é converter o problema de valor de fronteira em dois pontos em um problema
de cruzamento por zero, examinando as raı́zes de
g(α) =
∂J =0
∂α αj
44
onde j é a variável de iteração. O problema é resolvido utilizando-se o método de
Newton, sendo a lei de atualização dos α dada por:
α
j+1
"
#−1 "
1
= α − µ I + AT A
γ
j
#
1 j
α + AT (F (αj ) − xd )
γ
onde µ ∈ (0, 1], e a matriz A e o mapeamento do ponto final F (αj ) são calculados
resolvendo
ẋ = f (x)Φαj ;
x(0) = x0
m
X ∂fi (x)
ui )Y + f (x)Φ;
Ẏ = (
∂x
i=1
Y (0) = 0
onde Φ = [e1 (t) · · · eN (t)] e F (αx j) = x(T ) e a matriz A = Y (T ). Pode ser notado
que com relação ao método iterativo no espaço das trajetórias, F (αx j) representa o
mapeamento do ponto final definido pela equação (2.10) e a matriz A é equivalente
a ∇u φM . Similarmente ao método iterativo no espaço das trajetórias, a convergência
deste algoritmo é garantida sob a hipótese da matriz A não perder posto ao longo da
iteração.
Também observa-se que fazendoγ tender para infinito em (2.33), o método é similar
ao método iterativo no espaço das trajetórias apresentados na seção anterior.
O método dá uma possibilidade para encontrar uma trajetória factı́vel com esforço
de controle mı́nimo. No entanto o algoritmo não funciona para qualquer sistema nãoholonômico.
2.4
Conclusões
Neste capı́tulo foi apresentado o problema de planejamento de trajetória de sistemas
não-holonômicos. Foram apresentadas as principais propriedades e caracterı́sticas destes sistemas, assim como as ferramentas matemáticas necessárias para estudar a integrabilidade, holonomia e controlabilidade dos sistemas não-holonômicos.
Para a solução do problema de planejamento de trajetórias foi apresentado um
método iterativo baseado no método de Newton, denominado método iterativo no
espaço das trajetórias. Em complementação à versão contı́nua do método, foi apre45
sentado a versão discreta e sua análise de convergência. Simulações foram realizadas
utilizando um sistema não-holônomico representativo. O bom desempenho mostrado
motivaram a utilização do método para a estabilização de sistemas não-holonômicos,
tópico a ser apresentado no capı́tulo a seguir.
46
Capı́tulo 3
Estabilização de Sistemas
Não-holonômicos
Neste capı́tulo é apresentado o problema de estabilização de sistemas não-holonômicos.
São comentadas as condições para a existência de uma lei de controle que estabilize
estes sistemas. O algoritmo iterativo no espaço das trajetórias é combinado com uma
estratégia de horizonte móvel de forma a obter um esquema realimentado. A análise
de convergência do método é realizadas para a versão em tempo discreto. Para ilustrar
os resultados obtidos, são realizadas simulações em diversos sistemas não-holonômicos.
Restrições de desigualdade são incorporadas no método utilizando funções de penalidade. Sistemas não-holonômicos dinâmicos são também considerados.
3.1
Introdução
O problema de estabilização de um sistema não-holonômico trata do projeto de uma
malha de realimentação que estabilize assintoticamente o sistema em redor de um ponto
do espaço de configurações. Em sistemas lineares, no caso que todos os pólos instáveis
sejam controláveis, é sempre possı́vel estabilizar assintoticamente a origem. No caso
de sistemas não-lineares a situação não é tão simples. Em particular, a maior dificuldade com sistemas não-holonômicos deve-se a que, nestes sistemas, a linearização ao
redor de um ponto não é assintoticamente estabilizável. Consequentemente, ferramentas de estabilização lineares não podem ser utilizadas, nem mesmo para determinar
47
propriedades locais.
Por outro lado, existe um resultado bem conhecido (enunciado por Brockett em
(Brockett 1983)) concluindo que uma condição necessária de existência de leis de
controle realimentadas suaves invariantes no tempo do tipo u = h(x), que estabilizem localmente um sistema não linear ẋ = F (x, u) em x0 , é que o mapeamento
(x, u) 7→ F (x, u) seja sobrejetivo um conjunto aberto que contenha o ponto x0 . Para
sistemas não-holonômicos onde F (x, u) = f (x)u, tem-se que a imagem de F (x0 , u)
numa vizinhança de (x0 , 0) é igual ao espaço gerado pelas colunas de f (x), para todo x
da vizinhança, que tem dimensão m (número de entradas) devido à hipótese de completa não-holonomicidade (Wen 1995). Por outro lado, a vizinhança ao redor de estado
zero está imersa num espaço de dimensão n. Portanto, a condição necessária citada é
satisfeita somente se m ≥ n. Um exemplo ilustrativo encontrado em (Sontag 1990b) é
dado pelo integrador não-holonômico seguinte:
ẋ1 = u1
ẋ2 = u2
ẋ3 = x2 u1 − x1 u2
com estado de equilı́brio na origem. Nenhum ponto da forma [0, 0, ǫ]T com ǫ 6= 0,
está na imagem de f (x). Desta forma, embora o sistema seja controlável, ele não pode
ser estabilizado com uma lei de controle suave.
Em (Sontag 1990b) as condições de Brockett são estendidas para a classe de leis de
realimentação invariante no tempo que são somente localmente Lipschitz, i.e., mesmo
permitindo esta classe de leis de controle, a condição permanece necessária.
Na referência (Ryan 1994) as condições de Brockett são ainda estendidas para uma
classe ainda maior que incluem uma grande variedade de leis de controle descontı́nuas
invariantes no tempo. No caso de leis de realimentação descontı́nuas uma dificuldade
é como definir a solução do sistema com lado direito descontı́nuo ẋ = f (x)u. Uma
candidata natural é escolher a solução no sentido de Filipov (Filippov 1964). No caso
de sistemas afins no controle, é possı́vel mostrar que, em certas condições, durante
um regime deslizante, a realimentação no sentido de Filipov é equivalente a uma realimentação contı́nua, sujeita portanto à condição necessária de Brockett. Desta forma,
48
não se pode esperar a que a estabilização possa ocorrer através de regimes deslizantes.
Isto não quer dizer que leis de controle descontı́nuas não possam ser estabilizantes.
De fato, em (Canudas de Wit & Sordanlen 1992), mostra-se que leis descontı́nuas podem estabilizar localmente sistemas não-holonômicos do tipo considerado aqui e que,
portanto, não obedecem à condição necessária de Brockett.
De um modo geral, algumas caracterı́sticas dos sistemas não-holonômicos podem
garantir que existam classes de estratégias de realimentação que estabilizem localmente
o sistema em redor do equilı́brio. As estratégias propostas mais recentemente para
resolver este problema incluem técnicas: variantes no tempo, invariantes no tempo
descontı́nuas, técnicas estocásticas e estratégias hı́bridas.
Um caminho lógico para se evitar uma lei de controle contı́nua e invariante no
tempo consiste em calcular uma trajetória factı́vel que resolva o problema, possivelmente obtida de algum algoritmo de planejamento de trajetórias, para então aplicar
um controle realimentado que estabilize o sistema ao longo da trajetória especificada.
Considerando possı́vel desprezar o tempo de cálculo da trajetória factı́vel, ou tendo-se
a trajetória já calculada de antemão, em ambos os casos, em função do estado corrente, terı́amos um sistema realimentado. Como já observado no capı́tulo anterior, o
sistema linearizado ao longo de uma dada trajetória é um sistema variante no tempo.
Desta forma, o controle poderia ser variante no tempo, evitando violar a condição de
Brockett.
Existem também leis de controle que podem ser projetadas sem a necessidade de ter
que pré-planejar uma trajetórias factı́veis. Uma estratégia seria utilizar realimentação
dinâmica com algum tipo de memoria. Em (Coron 1992) mostrou-se que todo sistema
não-holonômico controlável pode ser estabilizado utilizando-se uma lei realimentada
periódica no tempo. Leis realimentadas variantes no tempo tem sido utilizadas para o
controle de diversos robôs móveis com rodas (Teel, Murray & Walsh 1992, Samson &
Ait-Abderrahim 1991, M’Closkey & Murray 1993).
Conforme já mencionamos, controladores descontı́nuos foram apresentados em (Canudas
de Wit & Sordanlen 1992) para certas classes de sistemas não-holonômicos.
Uma outra técnica, utilizada comumente, é converter o sistema não-holonômico
numa forma canônica que seja mais conveniente para projetar o controlador. Uma
forma canônica muito explorada é a forma cadeia. Muitos sistemas não-holonômico
49
com restrições de velocidade podem ser transformados para esta forma (Bloch, McClamroch & Reyhanoglu 1990). Fazendo uso da teoria de sistemas diferenciais exteriores e utilizando o teorema da forma normal de Goursat, podem-se determinar condições
necessárias e suficientes para converter um sistema não-holonômico para a forma cadeia (Tilbury, Murray & Sastry 1995). Nestes tabalhos, é sintetizado um controlador
realimentado suave periódico, que garante a estabilidade assintótica global, baseado
em métodos de “averaging”e funções do tipo saturação. Infelizmente, a velocidade de
convergência é necessariamente não exponencial, não podendo, por exemplo, levar um
róbo móvel para uma configuração desejada numa quantidade de tempo razoável. Em
(M’Closkey & Murray 1993) é contornado o problema modificnado o controlador com
a finalidade de garantir uma velocidade de convergência exponencial.
3.1.1
Organização do Capı́tulo
Neste capı́tulo, apresenta-se um novo enfoque para a estabilização de sistemas nãoholonômicos. A técnica é baseada no método iterativo no espaço das trajetórias para
o planejamento da trajetória apresentado no capı́tulo anterior. A principal vantagem
deste enfoque é que, como será evidenciado neste capı́tulo, outro tipos de restrições
podem ser incorporadas no algoritmo numa forma direta, como por exemplo, restrições
de desigualdade no sinal de controle ou estados, etc., ao contrário de outras estratégias
existentes, onde restrições de desigualdade são raramente consideradas.
Na seção 2 será apresentada uma modificação para o método iterativo no espaço de
trajetórias, de forma a torna-o um esquema realimentado. A análise de estabilidade é
apresentada para a versão discreta. A modificação do método iterativo é baseada numa
estratégia de janela móvel, usualmente utilizada dentro de um contexto de controle
preditivo (Soeterboek 1992).
Na seção 3 são consideradas restrições de desigualdades. Utilizando funções de
penalidade o método iterativo no espaço das trajetórias é modificado para levar em
conta estas restrições adicionais. Na seção 4 estende-se o resultado para sistemas nãoholonômicos dinâmicos.
Mais formalmente, neste capı́tulo considera-se a classe de sistemas não lineares
50
invariantes no tempo afins no controle sem drift, descritos por:
ẋ =
m
X
fi (x)ui = f (x)u
(3.1)
i=1
onde f (x) é um campo vetorial suave, x ∈ IRn e u ∈ IRm .
As seguintes hipóteses são consideradas para derivar o novo algoritmo de controle
por realimentação: o estado completo é mensurável; o sistema é globalmente controlável
(i.e., para todo x0 e xf ∈ IRn , existe T > 0 e u : [0, T ] → U tal que x(0) = x0 e
x(T ) = xf , onde ui ∈ U ⊂ U sendo U é o espaço de funções de controle admissı́veis) e
f (x) é globalmente Lipschitz (i.e. existe ρ > 0 e δ > 0 tal que ||f (x) − f (y)|| ≤ ρ ||y − x||
para todo x, y ∈ IRn ).
3.2
Estabilização de sistemas não-holonômicos baseada no método de Newton: Implementação
Discreta
Nesta seção, será desenvolvido um algoritmo de estabilização diretamente no caso discreto, de maior interesse prático. A idéia principal, para transformar o esquema de
planejamento de trajetória apresentado no capı́tulo anterior em uma estratégia realimentada, é realizar simultaneamente a iteração de Newton, para a atualização do
controle no horizonte futuro,
h
i†
∆uM (τ ) = −α ∇u φM (x0 , uM (τ )) eM (τ )
e executar o controle da planta utilizando a primeira amostra do controle calculado a
cada iteração, como nos métodos baseados em controle preditivo. Adotaremos também
a idéia de Receding Horizon, i.e., o horizonte de predição se desloca positivamente no
tempo discreto, a cada iteração.
Como no caso do capı́tulo anterior, i.e., de planejamento de trajetórias, considera-se
que o k-esı́mo intervalo de amostragem estende-se de t = kh até t = (k + 1)h, onde
h é o intervalo de amostragem, suposto constante. A variável x(k) denota o valor
51
do estado em t = kh, e u(k) é a entrada do sistema mantida constante no intervalo
t ∈ [kh, (k + 1)h). O mapeamento de transição discreto é representado por φ(τ, σ, x, ω)
onde τ e σ representam o instante discreto final e inicial, respectivamente, x é o estado
inicial e ω é o sinal de controle.
Então, o erro de predição M passos à frente do instante k é definido por:
eM (k) = x̂(k + M/k) − xd = φM (x(k), uM (k)) − xd ,
onde uM (k) = [(uM (k/k))T
(3.2)
(uM (k+1/k))T · · · , (uM (k+M −1/k))T ]T com uM ∈ IRmM
e uM (i/k) ∈ IRm (i ≥ k) é utilizado para indicar que esta é uma predição de u baseada
em medições disponı́veis no instante k.
A cada instante discreto o estado real do sistema, x(k), é utilizado como condição
inicial em φM (·, uM ) e ∇φM (·, uM ). Desta forma, após a função de controle ser refinada
por um passo de Newton, o controle no instante k, u(k) := uM (k/k), é aplicado para
levar o sistema a um novo estado, repetindo-se o procedimento para cada instante k
(vide figura 3.1).
xd
x̂(M + 3/3) = φM (x(3), uM (3))
x(3)
x(2)
x(1)
x(0)
x̂(M + 2/2) = φM (x(2), uM (2))
x̂(M + 1/1) = φM (x(1), uM (1))
x̂(M/0) = φM (x(0), uM (0))
Figura 3.1: Estratégia de controle realimentada
A estratégia de controle proposta acima pode ser considerado como uma classe de
controle por modelo de predição (MPC), já que o sinal de controle a cada instante é
obtido de uma predição da trajetória futura. A janela móvel, no caso, de M perı́odos
de amostragem a partir do instante corrente k, é comumente denominada de Receding Horizon Control. A estratégia de Receding Horizon é utilizada pela maioria dos
algoritmos baseados em controle por modelo de predição (Soeterboek 1992).
52
No entanto, ao contrário de MPC usual, onde um problema complexo de otimização
deve ser resolvido em cada instante, no esquema proposto, somente um passo de Newton
é computado a cada instante discreto. O controle MPC geralmente é aplicado em
sistemas com grandes constantes de tempo (e.g., plantas quı́micas). Por outro lado,
é viável implementar o algoritmo aqui proposto ao controle de plantas mecânicas e
elétricas.
Dado que o passo de Newton garante que o erro de predição é estritamente decrescente, é de se esperar que seja possı́vel mostrar a convergência do estado para o
estado de equilı́brio desejado, pela estratégia descrita acima. Uma prova formal da
convergência será dada mais adiante.
A estratégia proposta é muito intuitiva, e na realidade é o que um motorista faz
quando tenta estacionar um automóvel, por exemplo. O motorista não tem exatamente
a trajetória que resolve o problema, na realidade ele faz uma primeira escolha e avança
pela mesma por um certo intervalo de tempo. Mediante uma realimentação visual,
o motorista re-avalia a trajetória para compensar o erro estimado, atualiza seu plano
de trajetória, e então avança outro intervalo de tempo pela nova trajetória. Repete
isto sucessivamente até conseguir estacionar o automóvel. No esquema proposto, a
re-avaliação da trajetória a ser seguida é realizada utilizando um lei de atualização de
uM .
A lei de atualização de uM (k) para um passo de Newton, é dada por:
h
i†
v M (k) = uM (k) − α ∇u φM (x(k), uM (k)) eM (k)
(3.3)
onde v M (k) é o vetor de controle atualizado. Seguindo a estratégia de controle preditivo,
o primeiro elemento de v M (k) é aplicado ao sistema real no instante k, i.e., u(k) =
vM (k/k), obtendo-se:
x(k + 1) = φ1 (x(k), vM (k/k))
(3.4)
Assim sendo após aplicar o controle vM (k/k), o vetor de controle é atualizado e
53
deslocado um passo à frente:

uM (k + 1)
uM (k + 1/k + 1)


..

.

= 

 u (k + M − 1/k + 1)
 M

uM (k + M/k + 1)
uM (k + 1) = Gv M (k)


vM (k + 1/k)




..


.


=


 v (k + M − 1/k)

 M



0










(3.5)
(3.6)
onde G ∈ IRmM ×mM é definido como

 0m(M−1)×m Im(M−1)
G=
0m×m
0m×m(M−1)



Novamente, como no caso de planejamento de trajetórias, considera-se as seguintes
hipóteses:
Hipótese 3 O gradiente de φM (x(k), uM (k)) com respeito a uM (k), ∇u φM , tem posto
completo para todo k.
Hipótese 4 Existem r, γ, mf > 0 tais que ∇u φM é Lipschitz contı́nua com constante
de Lipschitz γ, i.e., existe γ tal que
′
− u′′M || ,
∇u′ φM (x, u′M ) − ∇u′′ φM (x, u′′M ) ≤ γ ||uM
e [∇u φM ]† ≤ mf no conjunto
Ω({uM }, r) =
∞
[
k=0
{u0M | u0M − uM (k) ≤ r}.
O teorema a seguir mostra que é possı́vel garantir que o erro de predição eM (k)
converge exponencialmente para zero:
Teorema 3.1 Considere-se o sistema não linear (3.1), seu mapeamento discreto (3.2)
e que as hipóteses 3–4 são satisfeitas. Então, utilizando-se a lei de atualização (3.3),
54
a estratégia de horizonte móvel (3.5), existe α ∈ (0, 1] em (3.3) e ρ > 0 tal que, se
eM (0) ∈ B(ρ/α) o erro de predição eM (k) converge exponencialmente para zero.
Prova: Considere-se o erro de predição no tempo (k + 1):
eM (k + 1) = φM (x(k + 1), uM (k + 1)) − xd
(3.7)
= φM (x(k + 1), [vM (k + 1/k), · · · , vM (k + M − 1/k), 0]) − xd (3.8)
então, da propriedade φj (φi (x, ui ), uj ) = φj+i (x, uj+i ), compondo φ1 com φM −1 resulta
em
eM (k + 1) = φ1 (φM −1 (x(k + 1), [vM (k + 1/k), · · · , vM (k + M − 1/k)]), 0) − xd
Para um sistema sem drift tem-se que x = φ1 (x, 0), ∀x, portanto
eM (k + 1) = φM −1 (x(k + 1), [vM (k + 1/k), · · · , vM (k + M − 1/k)]) − xd
(3.9)
Substituindo (3.4) em (3.9), tem-se
eM (k + 1) = φM −1 (φ1 (x(k), vM (k/k)), [vM (k + 1/k), · · · , vM (k + M − 1/k)]) − xd
= φM (x(k), v M (k)) − xd
(3.10)
Considerando a expansão em série Taylor de φM (x(k), v M (k)) em torno de x(k) e
uM (k) tem-se:
eM (k + 1) = ∇u φM (x(k), uM (k))∆v M (k) + eM (k) + o(∆v M (k))
(3.11)
onde ∆v M (k) = v M (k)−uM (k), e o(·) leva em consideração os termos de ordem superior
da expansão por Série de Taylor.
Substituindo a lei de atualização (3.3) em (3.11), chega-se a
eM (k + 1) = (1 − α)eM (k) + d(αeM (k))
onde d(αeM (k)) é de ordem αeM (k)).
55
(3.12)
Com o objetivo de analisar a propriedade de convergência de (3.12), define-se a
seguinte candidata a função de Lyapunov discreta: V (k) = eTM (k)eM (k). O incremento
de V é dado por
∆V
= V (k + 1) − V (k)
= −(1 − λ2 )eTM (k)eM (k) + 2λeTM (k)d(αeM (k)) + dT (αeM (k))d(αeM (k))
onde λ = 1 − α2 .
A função d(·) satisfaz limα||eM ||→0
||d(αeM )||
α||eM ||
= 0, portanto para qualquer γ > 0, existe
ρ > 0 tal que
||d(αeM (k))|| < γα ||eM (k)|| ,
∀ ||eM (k)|| < ρ/α
Desta forma,
∆V
≤ −(1 − λ2 ) ||eM (k)||2 + 2λ ||eM (k)|| ||d(αeM (k))|| + ||d(αeM (k))||2
≤ −[1 − λ2 − 2λγα − γ 2 α2 ] ||eM (k)||2
(3.13)
ou de modo equivalente
∆V ≤ −δ ||eM (k)||2
onde δ = 1 − λ2 − 2λγα − γ 2 α2 = α(1 − γ)(2 − α(1 − γ)).
Então escolhendo γ ∈ (0, 1) existe α ∈ (0, 1] tal que ∆V é negativa definida, i.e.,
∆V ≤ −δ̄ ||eM (k)||2 < 0;
0 < δ̄ < 1
então, pelo teorema de Lyapunov conclui-se que a solução eM = 0 de (3.12) é assintoticamente estável.
Além disso, tem-se que
||eM (k + 1)|| ≤
q
1 − δ̄ ||eM (k)||
O resultado obtido no Teorema 3.1 é de carater semi-global, i.e., o domı́nio de
estabilidade, eM (k) ∈ B(ρ/α), pode ser aumentado arbitrariamente, diminuindo-se o
56
parâmetro α. Entretanto, se usarmos α constante e pequeno a taxa de convergência
pode ficar excessivamente baixa. Uma maneira de contornar esse problema é escolher
o parâmetro α variável utilizando a regra de Armijo. Desta forma, α seria pequeno
quando ||eM || fosse grande, e próximo a 1 no estágio final da convergência. Como já
foi apresentado na seção 2.3.1, a regra de Armijo garante que o erro eM tenha um
decréscimo suficiente, mediante a redução do parâmetro α < 1, além disso o lema 2.1
determina que a busca de α ocorre em um número finito de iterações.
Um esboço do algoritmo de estabilização, que incorpora a regra de Armijo, é dado
a seguir:
Algoritmo II
(Método iterativo no espaço das trajetórias + Regra de Armijo)
1. Para k = 0, dado x(0) = x0 , escolher uM (0) não singular,
2. Calcular eM (k),
3. Fazer:
(a) d(k) = −[∇u φM ]† eM (k),
(b) α = 1,
i. v M (k) = uM (k) + αd(k)
ii. se ||φM (x(k), v M (k)) − xd || ≥ (1 − δα) ||eM (k)|| então
escolher σ ∈ [σ0 , σ1 ]
α = σα
ir para 3(b)i
4. Aplicar u(k) = vM (k/k),
5. uM (k + 1) = Gv M (k) (Estratégia de Receding Horizon),
6. k = k + 1 e ir para (2).
Até agora, mostrou-se que o erro de predição converge para zero com k → ∞.
Resta demonstrar que o estado real do sistema, x(k), converge para o estado desejado
xd . Antes de prosseguir, é necessário apresentar os seguintes lemas auxiliares:
57
Lema 3.1 O sinal de controle u(k) gerado pelo algoritmo II é uniformemente limitado
para todo k.
Prova: Dado que
u(k) = vM (k/k) = eTn v M (k)
m
onde
eTn
z }| {
= [1 · · · 1 0 0 · · · 0], tem-se que u(k) é limitado por
||u(k)|| ≤ k1 ||v M (k)||
De (3.3) e (3.5), pode-se re-escrever
h
v M (k) = Gv M (k − 1) − ∇u φM
i†
eM (k)
sendo que do teorema 3.1 eM (k) converge exponencialmente para zero, então, da
hipótese 3 e dado que G define um sistema BIBO estável, v M (k) satisfaz uniformemente:
||v M (k)|| ≤ k2 + k3 mf ||eM (0)|| ≤ V,
∀k
e consequentemente
||u(k)|| ≤ k1 V,
∀k
Lema 3.2 Todos os elementos do vetor de controle uM (k), gerado pelo Algoritmo II,
tendem para zero com k → ∞
Prova: Considere a lei de atualização (3.3). Dado que eM (k) tende para zero,
então ∆uM (k) = v M (k) − uM (k) → 0, i.e,
v M (k) = uM (k) + ǫ(k)
(3.14)
onde ǫ(k) é um termo genérico exponencialmente decrescente. Assim, a equação (3.5)
torna-se
uM (k + 1) = GuM (k) + ǫ(k)
58
A matriz G define um sistema dead-beat (i.e, todos os pólos esta alocados na origem),
pode-se concluir, da estabilidade L2 , que

0
..
.










uM (k) →  

 0 




exponencialmente com k → ∞
0
Como consequência do Lema 3.1 tem-se que os sistema (3.1) tem o lado direito
uniformemente Lipschitz (em x), se f (x) o for e é contı́nuo por partes em t. Isto garante
a unicidade e existência de solução. O corolário que se segue garante a convergência.
Corolário 3.1.1 Considerando que todas as hipóteses do Teorema 3.1 são satisfeitas,
então o estado real da planta, x(k), converge para xd com k → ∞.
Prova: Considere agora o mapeamento φM (xd , uM (k)). Então considerando que
para uma dada condição inicial o sinal de controle uM é uma função do tempo contı́nua
por partes, da unicidade de solução de uma equação diferencial ordinária, tem-se que
(vide (Michel & Miller 1982, Teorema 4.4)):
||x(k) − xd || ≤ ||φM (x(k), uM (k)) − φM (xd , uM (k))|| eLM h
(3.15)
onde L é a constante de Lipschitz da função f (x)u.
Do Lema 3.2 tem-se que uM (k) → 0 com k → ∞, então:
lim φM (xd , uM (k)) = xd
k→∞
que representa uma condição de equilı́brio.
Do Teorema 3.1, eM (k) tende para zero com k → ∞, então, de (3.15),
lim ||x(k) − xd || ≤
k→∞
lim ||φM (x(k), uM ) − xd || eLM h
(3.16)
lim ||eM (x(k), uM (k)|| eLM h
(3.17)
k→∞
k→∞
59
que implica
lim ||x(k) − xd || = 0
k→∞
podendo-se concluir finalmente que o estado real x(k) converge para xd .
Do ponto de vista prático, existe um número de parâmetros que afetam o desempenho do algoritmo, a saber, α e a escolha da sequência inicial de controle uM (0). Mudanças destes parâmetros resultam em taxas de convergência diferentes. Além disso,
afetam também a trajetória resultante.
Por outro lado, é importante notar que embora M seja finito e que o erro predito
eM , bem como o erro real convirjam exponencialmente para zero, o tempo para o estado
real da planta atingir uma vizinhança pequena de xd pode ser maior que M .
No que segue, é apresentada uma série de exemplos representativos que ilustram os
resultados teóricos obtidos.
Exemplo 3.1 (Uniciclo - Estabilização) Considera-se novamente o uniciclo planar do exemplo 2.3.
A implementação do algoritmo de estabilização apresentado acima é realizada utilizando uma aproximação de Euler para obter a trajetória predita a cada instante. O
parâmetro α em (3.3) é escolhido utilizando a regra do Armijo com σ = 0.5. Como
condição nominal, considera-se o raio da roda r = 1. A escolha inicial da lei de controle é uM (0) = {[0.6 sin(2πk/50), 0.4 cos(2πk/50)]T : ∀k ∈ [0, 50)}. A trajetória é
discretizada em 50 amostras, i.e. M = 50, o que significa que temos um perı́odo de
amostragem h = 0.02.
As figuras 3.2 e 3.3 mostram a trajetória final no plano cartesiano e a orientação
do uniciclo ao longo do tempo. A figura 3.4 mostra o sinal de controle realimentado.
O erro final, ||x̂(k + 49/k) − xd ||, é menor que 1e−4 após 5 intervalos de amostragens.
A figura 3.5 mostra o comportamento de ||(x̂(k + 49/k) − xd )|| para cada iteração
em função do parâmetro α. Sendo que e50 (0) = 2.019 o escolha de α que garante
decrescimento suficiente é α = 0.031, 0.125 para as primeiras duas iteração, e α = 1
para as sub-seguentes. A figura 3.6 mostra a convergência do erro e50 (τ ).
Na figura 3.7 a escolha inicial de uM (0) foi modificada para
uM (0) = {[−0.6 sin(2πk/50), 0.4 cos(2πk/50)]T : ∀k ∈ [0, 50)}
60
4.5
4
y
3.5
3
2.5
2
1.5
1
1.5
2
2.5
3
x
3.5
4
Figura 3.2: Uniciclo - Estabilização: Plano x–y. xT0 = [2 2 0], xTd = [2 4 0], r = 1.
80
Orientação θ
60
40
20
0
−20
−40
−60
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
tempo (seg)
Figura 3.3: Uniciclo - Estabilização: Orientação θ. xT0 = [2 2 0], xTd = [2 4 0], r = 1.
8
6
Controle uM
4
2
0
−2
−4
−6
−8
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
tempo (seg)
Figura 3.4: Uniciclo - Estabilização: sinal de controle. xT0 = [2 2 0], xTd = [2 4 0],
r = 1.
61
7
6
||eM (k||
5
4
3
2
1
0
0
0.2
0.4
1
0.8
0.6
0.6
0.8
0.4
1
0.2
t = kh
α
0
Figura 3.5: Uniciclo - Estabilização: Norma de e(k, α). xT0 = [2 2 0], xTd = [2 4 0],
r = 1.
2
1.8
1.6
||eM (k)||
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
tempo (seg)
Figura 3.6: Uniciclo - Estabilização: Norma de eM (k). xT0 = [2 2 0], xTd = [2 4 0],
r = 1.
62
Observa-se que a trajetória obtida é totalmente diferente à anterior (fig. 3.2). De
fato existem infinitas soluções que satisfazem eM = 0; variando a escolha inicial de
uM (0) altera totalmente o comportamento obtido.
4.5
4
y
3.5
3
2.5
2
1.5
−0.5
0
0.5
1
x
1.5
2
2.5
3
Figura 3.7: Uniciclo - Estabilização: Plano x–y - Diferente escolha inicial de uM (0).
xT0 = [2 2 0], xTd = [2 4 0], r = 1.
Exemplo 3.2 (Automóvel com direção dianteira - Estabilização) O problema
a ser considerado é o estacionamento de um automóvel com direção dianteira (figura 3.8). O modelo idealizado para um automóvel deste tipo é dado por:



 cos ψ cos θ
 ẋ 






 cos ψ sin θ
 ẏ 
=





 ψ̇ 
0






θ̇
1
l
sin ψ

0



0   u1 

,

1
u
2


0
onde x e y representam a posição cartesiana do carro, ψ é ângulo da direção, θ é
a orientação do veı́culo e l = 1 é a distância entre eixos. A configuração inicial do
carro é dada por xT0 = [0 0 0 0], e a configuração desejada é dada por xTd = [0 3 0 0],
configurações que reproduzem uma condição de estacionamento paralelo.
As figuras 3.9 e 3.10 mostram o movimento do veı́culo como resultado de aplicar
o algoritmo realimentado proposto. O perı́odo de amostragem foi escolhido h = 0.02 s
e a janela de predição de 1 s. O algoritmo foi inicializado com uma entrada u50 (0) =
{[5sin(2πk/50), 2+8cos(2πk/50)] : ∀k ∈ [0, 50)}.A trajetória predita gerada por uM (k)
é obtida utilizando uma aproximação de Euler ao passo que, para resolver a equação
diferencial que governa o sistema, é utilizada uma aproximação de Runge-Kutta de
63
y
ψ
θ
x
(x, y)
Figura 3.8: Automóvel com direção dianteira.
4ta ordem. Deste forma, a utilização da aproximação de Euler, no algoritmo, tem
um efeito que é similar a uma incerteza no modelo da planta. Tal incerteza poderia
ser, por exemplo, devida a um provável erro de modelagem. O parâmetro α é escolhido utilizando-se a regra de Armijo, e adota os valores (1; 0.125; 0.25; 1.1, · · ·) para as
iterações k = 0, 1, 2, 3, 4, · · ·.
4
3.5
3
2.5
y
2
1.5
1
0.5
0
−0.5
−1
−3
−2.5
−2
−1.5
−1
x
−0.5
0
0.5
1
1.5
Figura 3.9: Automóvel com direção dianteira - Estabilização: Plano x − y. xT0 =
[0 0 0 0], xTd = [0 3 0 0].
Pode-se notar na figura 3.9 que o movimento do veı́culo é um tanto fora da realidade.
Isto é devido ao fato que as a direção, ψ tem uma grande excursão (de aproximadamente
±60 graus). Um movimento mais realista pode ser obtido impondo restrições no ângulo
máximo da direção, i.e, |ψ| ≤ ψmax . Veremos como este tipo de restrição pode ser
levado em contato.
O comportamento da norma de eM (k) está mostrado na Figura 3.12, onde pode-se
observar que, apesar da incerteza na modelagem induzida pelos algoritmos de integração
64
60
40
θeψ
20
0
−20
−40
−60
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
tempo (seg)
Figura 3.10: Carro com direção dianteira – Estabilização: (–) Orientação do veı́culo
θ; (-.) ângulo de direção ψ. xT0 = [0 0 0 0], xTd = [0 3 0 0].
utilizados, a norma do erro predito converge efetivamente para zero.
5
4.5
4
||eM (k)||
3.5
3
2.5
2
1.5
1
0.5
0
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
tempo (seg)
Figura 3.11: Carro com direção dianteira – Estabilização: Norma de eM (k). xT0 =
[0 0 0 0], xTd = [0 3 0 0].
Exemplo 3.3 (Veı́culo com reboque - Estabilização) O problema a ser considerado neste exemplo é o estacionamento de um veı́culo com reboque (figura 3.13). O
modelo idealizado para este sistema é dado por:
ẋ = cos ψ cos θ1 u1
ẏ = cos ψ sin θ1 u1
ψ̇ = u2
65
8
||eM (k + 1)||
7
6
5
4
3
2
1
0
0
0.2
0.4
1
0.8
0.6
0.6
0.8
0.4
1
0.2
0
t = kh
α
Figura 3.12: Carro com direção dianteira – Estabilização: Norma de eM (k, α). xT0 =
[0 0 0 0], xTd = [0 3 0 0]
.
1
sin ψu1
l
d12
d12
1
sin ψ cos θ1 ) cos θ2 − (cos ψ cos θ1 +
sin ψ sin θ1 ) sin θ2 ]u1
[(cos ψ sin θ1 −
=
lt
l
l
θ̇1 =
θ̇2
onde x e y representam a posição cartesiana do carro, ψ é ângulo da direção, θ1 e
θ2 são as orientações absolutas do veı́culo e reboque, l e lt são as distâncias entre
eixos do veı́culo e reboque, e d12 é a distância entre a traseira do veı́culo e o ponto de
fixação do reboque. A configuração inicial do carro é dada por xT0 = [0, 0, 0, 0, 0],
e a configuração desejada é dada por xTd = [2, 4, 0, π/2, π/2], configurações que
reproduzem uma condição do alinhamento do veı́culo e reboque numa vaga.
y
ψ
y
(x, y)
θ1
x
θ2
x
Figura 3.13: Veı́culo com reboque.
As figuras 3.14 e 3.15 mostram o movimento do sistema como resultado de aplicar o algoritmo realimentado proposto para l = 1, lt = 1.4 e d12 = 0.46. O perı́odo
66
de amostragem foi escolhido h = 0.02 s e a janela de predição de 1 s. O algoritmo
foi inicializado com uma entrada u50 (0) = {[5sin(2πk/50), 2 + 8cos(2πk/50)] : ∀k ∈
[0, 50)}.Novamente a trajetória predita gerada por uM (k) é obtida utilizando uma aproximação de Euler ao passo que, para resolver a equação diferencial que governa o sistema, é utilizada uma aproximação de Runge-Kutta de 4ta ordem. O parâmetro α é
escolhido utilizando-se a regra de Armijo.
6
5
4
y
3
2
1
0
−1
−2
−1
0
1
2
x
3
4
xT0 = [0 0 0 0 0], xTd =
Figura 3.14: Veı́culo com reboque: Plano x − y.
[2 4 0 π/2 π/2].
100
θi e ψ
50
0
−50
−100
−150
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
tempo (seg)
Figura 3.15: Veı́culo com reboque: (–) Orientação do veı́culo θ1 ; (-.) ângulo de
direção ψ; (- -) Orientação do reboque θ2 . xT0 = [0 0 0 0 0], xTd =
[2 4 0 π/2 π/2].
O comportamento da norma de eM (k) é apresentado nas figura 3.16–3.17, onde
67
pode-se observar que, apesar da incerteza na modelagem induzida pelos algoritmos de
integração utilizados, a norma do erro predito converge efetivamente para zero.
7
6
||eM (k)||
5
4
3
2
1
0
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
tempo (seg)
Figura 3.16: Veı́culo com reboque: Norma de eM (k). xT0 = [0 0 0 0 0], xTd =
[2 4 0 π/2 π/2].
7
||eM (k + 1)||
6
5
4
3
2
1
0
0
0.2
0.4
1
0.8
0.6
0.6
0.8
0.4
1
0.2
0
t = kh
α
Figura 3.17: Veı́culo com reboque: Norma de eM (k, α). xT0 = [0 0 0 0 0], xTd =
[2 4 0 π/2 π/2].
68
A propriedade de estabilidade exponencial referente à equação do erro de predição
implica que existe algum tipo de robustez com respeito a erros na modelagem. Isto
de fato foi observado nas simulações acima e a seguir é ilustrado sob condições mais
exigentes.
Exemplo 3.4 (Uniciclo - incertezas no modelo ) Considere-se o exemplo 3.1 com
os mesmos parâmetros do controlador. As figuras 3.18 e 3.19, mostram o desempenho
do controlador no caso que o raio real da roda seja r = 2, entanto que o controlador
assume um valor r = 1. A figura 3.20 mostra como o erro tende para zero embora
exista uma incerteza de 100% num dos parâmetros do sistema.
4.5
4
y
3.5
3
2.5
2
1.5
1
1.5
2
2.5
3
x
3.5
4
Figura 3.18: Uniciclo – Incerteza no raio: Plano x–y. xT0 = [2 2 0], xTd = [2 4 0],
r = 2.
80
Orientação θ
60
40
20
0
−20
−40
0
0.5
1
1.5
2
2.5
3
3.5
4
tempo (seg)
Figura 3.19: Uniciclo – Incerteza no raio: Orientação θ. xT0 = [2 2 0], xTd = [2 4 0],
r = 2.
Para perturbar ainda mais o modelo do sistema, considere que o campo vetorial é
69
2
1.8
1.6
||eM (k)||
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0
0.5
1
1.5
2
tempo
2.5
3
3.5
4
Figura 3.20: Uniciclo – Incerteza no raio: Norma de eM (k). xT0 = [2 2 0], xTd =
[2 4 0], r = 2.
dado agora por:

 r cos θ + γ sin θ

 r sin θ + γ cos θ
f (x) = 


0

0


.
0


1
esta situação representa o caso que a superfı́cie seja escorregadia, por exemplo, quando
ela esta impregnada de óleo, ou com gelo.
A figura 3.21 ilustra a trajetória dos estados para o controlador sintonizado como
os mesmos parâmetros do exemplo 3.1 e γ = 0.5, r = 1. Pode ser observado que de
fato o erro permanece limitado (com valor que depende continuamente na incerteza no
modelo). Na realidade, o estado converge para um ciclo limite em redor da configuração
desejada como mostra a figura 3.21.
No caso que o modelo da planta possa ser escrito numa forma linear nos parâmetros
poderia ser incorporado um mecanismo de adaptação paramétrica.
Na versão de malha aberta, restrições de desigualdade são contornadas utilizando
funções de penalidade externas (Divelbiss & Wen 1997b) ou funções de penalidade internas (Sussmann & Chitour 1993). As duas abordagens podem ser facilmente incluı́das
no esquema de malha fechada (realimentado) como será apresentado a seguir.
70
4.5
4
y
3.5
3
2.5
2
1.5
1
1.5
2
2.5
x
3
3.5
4
Figura 3.21: Uniciclo - Modelo Perturbado (γ = 0.5): Plano x−y, x(0) = [2 2 0],
xd = [2 4 0].
3.3
Restrições adicionais de desigualdade: limitações
fı́sicas e desvio de obstáculos
Na seção anterior foi descrito um método iterativo baseado no espaço das trajetórias
para a estabilização de sistemas não-holonômicos.
Este algoritmo garante a con-
vergência exponencial do erro de predição e do erro real para zero, e deste modo a
convergência do estado da planta para um estado desejado. No entanto, das simulações
realizadas observou-se que o algoritmo realimentado pode levar a soluções que requerem
movimentos ou atuações fisicamente proibitivos para um sistema real. Por exemplo,
no estacionamento de um automóvel o resultado pode exigir excursões exageradas da
direção do veı́culo. Restrições deste tipo são geralmente inevitáveis em sistemas fı́sicos
e, tipicamente, são geradas por limitações operacionais do equipamento. Por citar mais
alguns casos, restrições aparecem devido ao atuador (por exemplo, um motor) ter uma
saturação ou, no caso de manipuladores robóticos, elas aparecem como consequência
de limites mecânicos nos ângulos das juntas. Além dessas limitações intrı́nsecas do
sistema controlado, existem as limitações impostas externamente pelo meio ambiente
de trabalho, por exemplo, obstáculos que devem ser evitados pelo manipulador ou pelo
71
veı́culo. Matematicamente, tais restrições podem ser representadas por restrições de
desigualdade a serem satisfeitas pelas configurações do sistema. Para que um dado
algoritmo tenha utilidade prática, é portanto necessário que seja possı́vel incorporar
este tipo de restrições à formulação do problema de controle.
Como veremos logo adiante, uma das principais vantagens do algoritmo de estabilização proposto neste trabalho é a possibilidade de considerar sistemas com restrições
de desigualdade no estado ou no controle, com facilidade conceitual, contrariamente
a outras técnicas, por exemplo aquelas baseadas em geometria diferencial que não
permitem abordar este tipo de problema com facilidade.
Geralmente, problemas de otimização com restrições de desigualdade são abordadas
utilizando-se programação quadrática (QP), técnicas de pontos interiores (Herskovits
1996) ou utilizando funções de penalidade internas ou externas (Luenberger 1984).
Devido à sua generalidade e à sua eficiência computacional, considera-se a seguir a
utilização de funções de penalidade internas ou externas.
Funções de penalidade externas foram propostas para resolver o problema de planejamento de trajetórias de sistemas não-holonômicos em (Divelbiss & Wen 1994, Divelbiss & Wen 1997a, Divelbiss 1993), utilizando o método iterativo no espaço das
trajetórias (malha aberta) apresentado no capı́tulo 2. As restrições de desigualdade
são transformadas numa restrição de igualdade via uma função de penalidade global.
Veremos neste capı́tulo que é possı́vel incorporar adequadamente a restrição de desigualdade ao erro do estado final da trajetória predita, eT , bem como, à lei de atualização
do sinal de controle uT , o método de Newton pode continuar a ser utilizado para se
obter uma solução que satisfaça todas as restrições, inclusive as de desigualdade.
A função global de penalidade exterior é definida como uma função contı́nua diferenciável que tem valor zero se as restrições são satisfeitas e valor estritamente positivo
e monotonicamente crescente (em algum sentido), se as restrições forem violadas.
No caso de serem utilizadas somente funções de penalidades externas para a estabilização de sistemas não-holonômico, o algoritmo iterativo proposto no capı́tulo anterior
pode conduzir a trajetórias que violam as restrições em algumas etapas intermediárias.
Isto é aceitável caso se esteja considerando restrições fracas que podem ser violada
para se satisfazer algum outro critério. Caso a restrição de desigualdade seja forte, i.e.,
não é aceita nenhuma violação, em momento algum, a utilização apenas de funções de
72
penalidades externas não pode levar a uma estratégia garantidamente boa.
Em (Divelbiss & Wen 1997a, Divelbiss 1993) foi estudado detalhadamente o caso de
restrições convexas poliedrais do tipo c(x) = Ax+b ≤ 0. Este tipo de restrições incluem
não somente limites nos estados individuais, mas também limites em combinações lineares de estados. A hipótese principal é que a matriz A tenha posto completo, o
que implica que o número máximo de restrições simultaneamente ativas é menor que
o número de estados. Neste caso, é apresentada uma prova detalhada de que este tipo
de restrições de desigualdade não induz nenhuma singularidade no método iterativo no
espaço das trajetórias (Cap. 2). No mesmo trabalho apresenta-se o problema de planejamento de trajetória de veı́culos. No caso em que as restrições de desigualdade não
podiam ser formuladas analiticamente, a função de penalidade era construı́da baseada
num mapa de contornos do obstáculo no espaço de trabalho. O mapa de contornos
atribui um custo e uma direção do gradiente para cada ponto numa grade (grid ) de
duas dimensões. Esta estratégia levou a muito bons resultados tanto em simulação
como experimentalmente, utilizando um modelo em escala (1 : 4) de um automóvel
(Divelbiss & Wen 1997b).
Por outro lado, em (Sontag 1993, Sontag 1995) propõe-se a utilização de funções
de penalidade internas ainda para resolver o problema de planejamento de trajetórias
de sistemas não-holônomicos com restrições. Funções deste tipo colocam uma barreira
infinita na fronteira da restrição. Uma variação desta técnica consiste em fazer uma
mudança de escala na equação diferencial do sistema, do seguinte modo. Considerandose um mapeamento suave β : IRn → IR, o sistema original ẋ = f (x)u é transformado
para:
ẋ = f (x)β(x)ū = f¯(x)ū
(3.18)
onde u = β(x)ū. Suponha-se agora que se tenha encontrado um controle ū definido
no intervalo [0, T ] de forma de transferir o estado de uma condição inicial x0 para
uma condição desejada xd , por exemplo, utilizando o algoritmo de planejamento de
trajetórias apresentado anteriormente neste trabalho. Então, o controle u = β(x)ū
quando aplicado à planta original também levará o estado para xd em T segundos.
Desta forma, ao se resolver o problema de controle para (3.18), tem-se logo uma solução
para o problema do sistema original. O mesmo fato pode ser estabelecido para o caso
73
do controle realimentado apresentado no Capı́tulo 3.
Portanto, se a função β(x) se anula no subconjunto Q do espaço de estado, onde
as restrições de desigualdade não são satisfeitas, então o controle é projetado para o
novo sistema (3.18). Dado que β é nulo em Q nenhuma trajetória começando fora de
Q atravessa Q. Assim, desde que a trajetória permaneça na região admissı́vel, as propriedade de convergência do algoritmo iterativo no espaço das trajetórias permanecem
inalteradas (Sontag 1993).
No caso de estabilização de sistemas não-holonômicos, a dificuldade desta técnica é
escolher o controle de modo que a trajetória no espaço de estado não atinja a fronteira
da restrição. Uma possı́vel solução, é primeiro projetar uma trajetória poliedral que
não viole as restrições. Em seguida, pode-se aplicar o algoritmo baseado no método
de Newton para seguir esta trajetória. No entanto a adoção desta estratégia para o
esquema realimentado pode levar a um algoritmo exageradamente demorado, uma vez
que terı́amos que uma calcular trajetória poliedral que satisfaça as restrições para cada
instante t.
A proposta apresentada neste trabalho, para satisfazer restrições de desigualdade,
consiste em combinar funções de penalidade internas e externas, e deste modo obter
uma estratégia viável também para um controle realimentado. A função de penalidade
interna seria a responsável para se satisfazer as restrições de desigualdade, ao passo que,
a função de penalidade externa impede que o algoritmo gere trajetórias que atinjam
e/ou violem a fronteira da restrição.
3.3.1
Restrições no espaço de trabalho
Suponhamos que a região admissı́vel no espaço das trajetórias deve satisfazer um conjunto de p restrições de desigualdade
ci (x) ≤ 0
i = 1, · · · , p;
∀x ⊂ x
(3.19)
onde ci (·) é uma função suave linear ou não linear e x é a trajetória gerada pelo controle
uM . Desta forma, cada ponto da trajetória x deve satisfazer (3.19).
Estendendo a idéia representada pela equação (3.18) (Sontag 1995) para o problema
de estabilização deste sistema, deve-se construir β(x) como uma função suave que é
74
nula unicamente se x que não satisfizer as restrições, i.e. para x tal que c(x) > 0. Uma
possı́vel escolha de β pode ser dada por:


 1 − eσi ci (x)
β(x) = 

onde σi > 0.
0
se ci (x) ≤ 0
se ci (x) > 0
Em seguida, a idéia é caracterizar a função de penalidade mediante uma função
continuamente diferenciável que seja monotonamente crescente, na medida que a restrição esteja sendo violada, para x que não satisfaça (3.19), e que seja nula para pontos
que satisfaçam (3.19). Uma escolha tı́pica é dada por:
g(ci (x)) =


 γi (1 − e−κi (ci (x)+δi ) )2


se ci (x) > −δi
0
(3.20)
se ci (x) ≤ −δi
onde δi > 0 é a largura efetiva da barreira e κi é uma constante positiva. Outra escolha
pode ser por exemplo g(c) = γc3 .
No caso contı́nuo, a restrição de desigualdade (3.19) é transformada na restrição de
igualdade dada por:
zM (x(k)) =
p
k+M
X X
g(ci (x̂(j/k)))
(3.21)
j=k i=1
A idéia portanto é obter a solução z(x) = 0 utilizando o método iterativo proposto
neste trabalho. Para isto, zM (x) é incorporado ao novo vetor de erro y dado por:


eM (k) 
y(k) = 


zM (k)
Assim, a lei de atualização (3.3) modifica-se para
v M (k) = uM (k) − [G(x(k), uM (k))]† y(k)
onde

G(x(k), uM (k)) = 

75

∇u φM 
∇u zM

(3.22)
O gradiente ∇u zM é calculado como:
∇u z(x(k)) =
"
p
X
dg dci
(
i=1
···
dci dx
)(x̂(k/k))∇u φ1
i=1
(
i=1
p
X
dg dci
(
p
X
dg dci
dci dx
de forma que para a escolha (3.20)
dci dx
)(x̂(k + M/k))∇u φM
dg
dci
)(x̂(k + 1/k))∇u φ2
#
= 2γi κi e−κi (ci +δi ) [1−e−κi (ci +δi ) ] e
dci
dx
···
é o jacobiano
da restrição com respeito ao estado x.
Finalmente, o controle é aplicado ao sistema original:
u(k) = β(x(k))vM (k/k)
utilizando-se a estratégia de Receding Horizon.
No seguinte exemplo é considerado um automóvel onde diversas restrições são levadas em consideração.
Exemplo 3.5 (Automóvel - Restrições de desigualdade) Considera-se ainda exemplo do automóvel com direção dianteira do exemplo 3.2. O problema de estacionamento
é reformulado para o caso em que o ângulo da direção ψ não possa exceder os ±15 graus.
A figura 3.22 mostra a posição cartesiana do automóvel quando a restrição c1 (x) =
(15 ∗ π/180 − ψ) é considerada. Os parâmetros do controlador são escolhido como
γ1 = 1, κ1 = 10, σ1 = 1 e δ1 = 5 ∗ π/180 radianos. A figura 3.23 mostra efetivamente
que o ângulo da direção não foi maior a 15 graus. Na figura 3.24 pode ser observado
como o decrescimento do erro eM (k) é garantido pelo algoritmo.
A seguir considera-se o caso de se ter também que evitar um obstáculo representado
por uma circunferência de raio 0.7 centrada na origem do plano x − y. A fórmula
analı́tica desta restrição é dada por c2 (x) = (0.5 − x2 − y 2 ) com γ2 = 100, κ2 = 10,
σ2 = 10 e δ2 = 0.01. As figuras 3.25 e 3.26 mostram a trajetória do veı́culo no plano
x − y e os ângulos da direção e da orientação do automóvel. A figura 3.27 mostra o
decrescimento da norma de eM (k).
Um desafio ainda maior é evitar 5 obstáculos similares ao anterior. Estes obstáculos
estão distribuı́dos no espaço de trabalho, como mostra a figura 3.28. Este exemplo de simulação indica claramente a viabilidade e excelente desempenho do algoritmo proposto.
76
−1.5
−2
y
−2.5
−3
−3.5
−4
−4.5
−2
−1
0
1
x
2
3
4
5
Figura 3.22: Automóvel - Restrição no ângulo de direção de ±15 graus. Plano x−y.
xT0 = [2 − 4 0 0], xTd = [2 − 2 0 0].
15
10
5
ψeθ
0
−5
−10
−15
−20
−25
−30
−35
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
tempo(seg)
Figura 3.23: Automóvel – Restrição no ângulo de direção de ±15 graus. (-) ângulo
de direção ψ; (–) orientação θ. xT0 = [2 − 4 0 0], xTd = [2 − 2 0 0].
A figura 3.29 mostra como a restrição no ângulo da direção é respeitada.
77
2.5
||eM (k)||
2
1.5
1
0.5
0
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
tempo(seg)
Figura 3.24: Automóvel – Restrição no ângulo de direção de ±15 graus. Norma de
eM (k). xT0 = [2 − 4 0 0], xTd = [2 − 2 0 0].
5
4
3
2
y
1
0
−1
−2
−3
−4
−5
−5
−4
−3
−2
−1
0
x
1
2
3
4
5
Figura 3.25: Automóvel - Restrição no ângulo de direção de ±15 graus e obstáculos.
Plano x − y. xT0 = [1.4 0.7 0 0], xTd = [−2 − 2 0 0].
78
40
30
ψeθ
20
10
0
−10
−20
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
tempo(seg)
Figura 3.26: Automóvel - Restrição no ângulo de direção de ±15 graus e obstáculo.
(-) ângulo de direção ψ; (–) orientação θ. xT0 = [1.4 0.7 0 0], xTd =
[−2 − 2 0 0].
4.5
4
3.5
||eM (k)||
3
2.5
2
1.5
1
0.5
0
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
tempo(seg)
Figura 3.27: Automóvel - Restrição no ângulo de direção de ±15 graus e obstáculo.
Norma de eM (k). xT0 = [1.4 0.7 0 0], xTd = [−2 − 2 0 0].
79
4
3
2
y
1
0
−1
−2
−3
−4
−4
−3
−2
−1
0
x
1
2
3
4
Figura 3.28: Automóvel – Restrições no ângulo de direção ±35 grau e 5 obstáculos
presentes no espaço de trabalho. Plano x–y. xT0 = [−3, 0, 0, 0] e
xTd = [2.75, 1.5, 0, 0].
40
30
ψeθ
20
10
0
−10
−20
−30
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
tempo(seg)
Figura 3.29: Automóvel – Restrição no ângulo de direção de ±35 graus e 5 obstáculos
presentes no espaço de trabalho. (-) ângulo de direção ψ; (–) orientação
θ. xT0 = [−3, 0, 0, 0] e xTd = [2.75, 1.5, 0, 0].
80
Deve-se mencionar que a lei de atualização modificada (3.22) deve ser utilizada
somente quando a trajetória viola alguma das restrições de desigualdade, i.e. z 6= 0.
Caso contrário a lei de atualização original (3.3) deve ser utilizada. Isto é devido a que
no caso da restrição ser satisfeita, z = 0, recaindo no problema original de estabilização
sem restrições de desigualdades.
Na versão discreta do algoritmo, dado que a função de penalidade deve ser avaliada
ao longo de toda a trajetória, e que o gradiente do vetor de erro y com respeito a u
pode ser escrita como:
G(x, uM ) = K(x, uM )D(x, uM )
onde K(x, uM ) depende do gradiente de g(c(x)) avaliado ao longo dos pontos da trajetória, e que D(x, uM ) é dado por:






 ∇u φ1 (x(k), u1 ) 




 ∇u φ2 (x(k), u2 ) 


D(x(k), uM ) = 

..


.
∇u φM (x(k), uM )
tem-se como consequência que, o algoritmo modificado converge se as seguintes condições
forem satisfeitas: ∇u φM (x(k), uM ) tem posto completo; D tem posto completo e K
também tem posto completo.
As duas primeiras condições são satisfeitas genericamente, ao passo que a última
depende da escolha da função g(x). Em (Divelbiss 1993) mostrou-se que K tem sempre
posto completo se a restrição é convexa do tipo c(x) = Ax + b ≤ 0 e A tem posto
completo.
3.3.2
Restrições no sinal de controle
Além de se considerar restrições na trajetória do sistema, é também possı́vel impor
restrições de desigualdade ao sinal de controle u. As restrições no sinal de entrada
pode ser formuladas como desigualdades do seguinte tipo:
ci (ui ) ≤ 0
i = 1, · · · , m
81
onde m é o número de controle, i.e. u ∈ IRm e as funções ci (·) são definidas por

ci (ui ) = 

0
se |ui | < Ui
|ui | − Ui se |ui | ≥ Ui
Para resolver o problema com as novas restrições, incorpora-se a função de penalidade avaliada ao longo do sinal de controle uM :


PM −1
k=1 g(c1 (u1 (k))) 

PM −1

g(c
(u
(k)))

2
2
k=1


..

.




λM (u) = 



 P
M −1
k=1
g(cm (um (k)))


onde g(·) é uma função suave similar à definida por (3.20).
Desta forma o problema é ainda transformado a uma busca da solução de λM (u) =
0. Para respeitar a nova restrição no algoritmo iterativo de estabilização, λM (u) é
incorporado no vetor de erro aumentado:


 eM 
y=
λM

sendo a lei de atualização modificada para :
v M +1 (k) = uM +1 (k) − [G(x(k), uM +1 (k))]† y(k)
com

(3.23)

 ∇u φM +1 

G=
∇u λM
O gradiente ∇u λM é dado por:
∇u λM
onde
dc
du
"
dg dc
(u(0))
=
dc du
dg dc
(u(1))
dc du
···
#
dg dc
(u(M − 1))
dc du
= sign(u) para |u| < UM .
Desta forma, utilizando a lei de atualização (3.23) pode-se garantir que a norma do
82
erro de predição y converge para zero quando k → ∞. Um exemplo de simulação será
apresentado no próximo capı́tulo.
3.4
Sistemas Não-holonômicos Dinâmicos
Nos capı́tulos e seções anteriores foram apresentados o planejamento de trajetórias e
a estabilização de sistemas não-holonômicos na forma cinemática, isto é, modeladas
por um sistema não-linear sem drift ẋ = f (x)u. Neste tipo de sistemas as entradas
são geralmente velocidades com algum significado fı́sico e que podem ser manipuladas,
como é o caso da velocidade das rodas de um róbo móvel.
No entanto, em sistemas fı́sicos, os atuadores geralmente fornecem forças/torques
e não diretamente velocidades. Modelos dinâmicos de sistemas não-holonômicos podem ser obtidos como uma extensão de modelos cinemáticos (Bloch, Reyhanoglu &
McClamroch 1992):
ẋ = f (x)v
(3.24)
v̇ = u
(3.25)
onde x ∈ IRn , v ∈ IRm . Note-se que (3.24) define um sistema completamente nãoholonômico. Note-se também que (3.25) representa uma cadeia de integradores.
O sistema acima define o seguinte sistema não linear afim no controle com drift:
ż = f0 (z) + g(z)u
(3.26)
onde z T = [xT v T ], com

f0 (z) = 


f (x)v 
0


g(z) = 


0
I

Este modelo é referido geralmente como modelo dinâmico, já que em aplicações de
mecânica clássica, o controle u é tipicamente uma força generalizada, e as equações
incluem tanto restrições no movimento, como as próprias equações que governam o
sistema.
83
Por exemplo, considere-se um sistema mecânico com restrições não-holonômicas
descrito na forma de d’Alembert-Lagrange (Arnold 1989):
M (x)ẍ + C(x, ẋ) = J(x)λ + B(x)τ
(3.27)
J T (x)ẋ = 0
(3.28)
onde x ∈ IRn são as coordenadas generalizadas; M (x) > 0 ∈ IRn×n é a matriz de
inércia; C(x, ẋ) ∈ IRn representa as forças de Coriolis/centrı́petas e da gravidade,
J(x) ∈ IRn×n−r tem posto completo, λ ∈ IRn−r são os multiplicadores de Lagrange, e
B(x)τ são as forças generalizadas de entrada, com B(x) ∈ IRn×m e τ ∈ IRm .
Considerando que f (x) ∈ IRn×r é um anulador de J T (x), i.e., J T (x)f (x) = 0, tem-se
que as velocidades do sistema evoluem segundo:
ẋ = f (x)v
(3.29)
onde v ∈ IRr é um vetor de entrada apropriado. Desta forma, diferenciando a equação
anterior tem-se:
ẍ = f (x)v̇ +
∂f (x)
ẋ
∂x
Substituindo ẍ na equação (3.27) e premultiplicando por f T (x) obtem-se:
f T (x)M (x)f (x)v̇ + Ĉ(x, ẋ) = f T (x)B(x)τ
onde Ĉ(x, ẋ) é um vetor apropriadamente definido.
Supondo que [f T (x)B(x)] seja sobrejetivo, então aplicando-se uma linearização por
realimentação do tipo
h
i−1 h
τ = f T (x)B(x)
Ĉ(x, ẋ) + f T (x)M (x)f (x)u
i
tem-se que sistema em malha fechada é dado por:
v̇ = u
(3.30)
Portanto, (3.29) e (3.30) têm a forma (3.24). Este procedimento foi proposto em
84
(Campion, d’Andrea-Novel & Bastin 1991) onde, sob hipóteses razoáveis, a formulação
de d’Alembert com entradas de controle e restrições não-holonômicas pode ser transformada na forma (3.24).
Por outro lado, Sussmann, em (Sussmann 1991), mostra que a extensão dinâmica de
modelos de sistemas não-holonômicos cinemáticos satisfazem as condições suficientes
de controlabilidade local apresentadas em (Sussmann 1987). Desta forma, se o sistema
não-holonômico sem drift (3.31) é completamente controlável, então a sua extensão
dinâmica também é completamente controlável.
Assim sendo, a estabilização do tipo de sistemas, aqui enfocados, não é possı́vel mediante realimentação contı́nua, devido a que a condição apresentada por Brockett tem
sua validade claramente preservada na extensão dinâmica de sistemas não-holonômicos.
Então, pode-se tomar qualquer sistema sem drift, onde a condição de Brockett determina a não-estabilizabilidade, e dele construir, mediante uma extensão dinâmica, um
exemplo de sistema com drift, localmente controlável mas não localmente estabilizável.
No entanto, vale salientar que, para o caso geral de sistemas não lineares controláveis
com drift, não se conhece nenhuma classe geral de soluções dinâmicas ou variantes no
tempo que garanta a estabilização.
Por outro lado, o método iterativo no espaço das trajetórias apresentado na seção
anterior somente garante convergência no caso de sistemas sem drift. Esta limitação
se deve a estipular que o sinal de controle uM seja zero, a partir do último instante
do horizonte de predição corrente, pois com o controle assim zerado não se modifica o
erro do ponto final do horizonte em diante. Apesar dessa limitação, as caracterı́sticas
de robustez da estratégia proposta permitiram com que o método fosse implementado
satisfatoriamente em mesmo em certos sistemas com drift.
Veremos no capı́tulo 4 que, na realidade uma modificação simples do algoritmo
iterativo no espaço das trajetórias permitirá igualmente tratar de sistemas com drift
Intuitivamente, número necessário de passos a serem preditos aumenta na medida
que se tem um termo do drift importante (por exemplo, um pêndulo). Uma possibilidade é verificar a priori a norma do termo de drift. Caso a norma seja grande, pode
ser utilizada uma transformação de coordenadas com a finalidade de reduzir o sistema
para um sistema não linear equivalente onde o termo de drift seja menor.
Para ilustrar a utilização do método de estabilização baseado no espaço das tra85
jetórias num sistema não-holonômico dinâmico será considerado a seguir um satélite
subatuado, isto é, com menor número de atuadores do que necessário em operação
normal.
Exemplo 3.6 (Satélite subatuado) Neste exemplo considera-se o problema de controle de atitude de um satélite equipado com somente dois propulsores (Krishnan, McClamroch & Reyhanoglu 1992). A forma geral deste sistema não holonômico, na forma
cinemática, é dada pelo sistema sem drift:
q̇ = E(q)ω
onde q é uma dada representação da orientação do corpo (e.g. quaternions, ângulos
de Euler, etc.), ω é a velocidade angular, e E(q) é o jacobiano da representação da
orientação.
As equações dinâmicas deste sistema no caso que sejam utilizados propulsores a gás
como atuadores, é dada por:
J ω̇ = ω × (Jω) + Bu
onde J é a matriz de inércia, e B é uma matriz com posto de colunas completos menor
que 3. No caso de se escolher os eixos principais do satélite como referência e se dispor
da atuação somente nos 2 primeiros eixos principais, então tem-se J = diag(J1 , J2 , J3 ),
e a equação do satélite pode ser reescrita como:
J1 ω̇1 = (J2 − J3 )ω2 ω3 + u1
J2 ω̇2 = (J3 − J1 )ω1 ω3 + u2
J3 ω̇3 = (J1 − J2 )ω1 ω2
Considerando o satélite com a simetria dada por J1 = J2 = 1 e que a condição
inicial de ω3 é nula, i.e., ω3 (0) = 0, tem-se que o sistema é representado pelas seguintes
equações:
q̇ = E(q)ω
86
(3.31)
ω̇ = u
(3.32)
que é uma extensão dinâmica de um sistema não-holonômico (Bloch et al. 1992).
Particularmente, escolhendo-se uma representação de roll-pitch-yaw o sistema é
dado por




 θ̇


 ψ̇



 ω̇1


ω̇2

 ω1 +ω2 sin(φ)tan(θ) 
 φ̇ 











=












ω2 cos(φ)
ω2 sin(φ)sec(θ)
0


0 0

 
 
 0
 
 
+0
 
 
 
 1
 
 


  u1 

0

 u
2

0



0

(3.33)
0 1
0
onde ω T = [ω1 ω2 ω3 ] é a velocidade angular nas coordenadas do corpo, e φ, θ e ψ é
a representação roll-pitch-yaw para a orientação do corpo rı́gido nas coordenadas do
corpo.
A condição ω3 (0) implica que −sin(φ)dθ + cos(θ)cos(φ)dψ = 0 que define uma
restrição não integrável no movimento do satélite.
A Figura 3.30 mostra o comportamento do sistema para uma condição inicial dada
por xT = [π π/4 −π/2 0 0] e o estado final desejado dado por xT = [0 0 0 0 0]. O
algoritmo é inicializado com uma entrada constante uT = [2 2] (∀t ∈ [0, 1]). Como
pode ser observado na mesma figura as variáveis de estado de fato convergem para os
valores desejados.
Orientação em graus
200
150
(b)
100
50
0
−50
−100
0
0.2
0.6
0.8
1
1.2
1.4
1.6
1.8
2
1.8
2
Velocidade Angular em r/s
5
(a)
0.4
0
−5
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Figura 3.30: Satélite Sub-atuado – Estabilização: (a) Velocidade Angular em r/s,
(-) ω1 , (- -) ω2 . (b) Orientação em graus, (-) φ, (- -) θ, (-.) ψ.
87
A figure 3.31 mostra o sinal de controle, e a figura 3.32 mostra o comportamento
da norma do erro de predição eM (k).
Sinal de Controle u
40
30
20
10
0
−10
−20
−30
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
tempo (seg)
Figura 3.31: Satélite Sub-atuado – Estabilização: Sinal de Controle u, (-) u1 , (- -)
u2 .
6
5
||eM (k)||
4
3
2
1
0
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
tempo (seg)
Figura 3.32: Satélite Sub-atuado – Estabilização: Norma de eM (k).
No exemplo anterior foi escolhida uma representação de roll-pitch-yaw para representar a atitude do corpo rı́gido. Na realidade existem varias parametrizações possı́veis
para a variedade SO(3) onde a orientação de um corpo rı́gido evolue. Algumas re88
presentações mı́nimas são: ângulos de Euler, vetor de Gibbs, quaternion vetorial, rollpitch-yaw. Representações mı́nimas são mapeamento locais um-a-um sobrejetivos da
matriz de atitude R. O mı́nimo número de parâmetros que pode representar globalmente a atitude, sem singularidades é 4, com uma equação de restrição. O quaternion
unitário (ou parâmetros de Euler) é uma representação não-singular de 4 parâmetros,
muito popular devido a suas propriedades computacionais (Hughes 1986).
Desta forma, o controle de atitude do satélite sub-atuado apresentado no exemplo
anterior poderia ser realizado representando a orientação do corpo mediante quaternions unitários. A representação por quaternions unitários da matriz de atitude R é
dada por:
q T = [q0 q1 q2 q3 ] = [q0 qvT ]
qv = ~k sin(φ/2)
q0 = cos(φ/2) ;
onde φ é a rotação ao redor de eixo equivalente ~k, subjeito à restrição q T q = 1.
Em geral ±q ambos representam R e a ambiguidade no sinal é resolvida utilizando
a equação cinêmatica:
1
q̇ = E(q)ω
2
onde


E(q) = 
−qvT

(3.34)


 −q1 −q2 −q3 



q3 −q2 
 q0


=

 −q
q0 I − (qv ×)
3


q0
q2 −q1


q1 


(3.35)
q0
O Jacobiano da representação E(q) satisfaz as seguintes propriedades:
E T (q)E(q) = I3×3 ;
E T (q)q = 0
Na implementação computacional do algoritmo proposta nesta tese, especial cuidado deve ser tomado com relação à obtenção da trajetória predita. Na integração da
equação que governa a dinâmica do corpo, deve-se garantir que o quaternion satisfaça
a restrição q T q = 1 ao longo da predição. Tratando-se de uma relação de igualdade,
fica clara a necessidade de um cuidado especial para se escolher a estratégia de cálculo
da predição.
89
3.5
Conclusões
Neste capı́tulo foi apresentado o problema de estabilização de sistemas não-holonômicos.
Com o objetivo de garantir condições para a existência de uma lei de controle que estabilize o sistema, foi proposto o algoritmo iterativo no espaço das trajetórias combinado
com uma estratégia de horizonte móvel. A análise de convergência do método foi
realizadas para a versão em tempo discreto. Resultados de simulação ilustram o desempenho e a robustez do algoritmo. Restrições de desigualdade foram incorporadas
no algoritmo combinado (método iterativo - horizonte móvel) utilizando funções de
penalidade. Foi também apresentado o problema de estabilização de sistemas nãoholonômicos dinâmicos.
90
Capı́tulo 4
Controle de Sistemas Não Lineares
com Drift
Neste capı́tulo aborda-se o controle de sistemas não-lineares afins no controle com drift
propondo-se uma extensão do método iterativo no espaço das trajetória já desenvolvido
para o caso sem drift, no capı́tulo precedente. A extensão se faz por uma modificação
na lei de atualização do controle, com o intuito de contrapor o efeito do drift. Uma
análise de estabilidade do algoritmo é apresentada para a versão discreta. Simulações
são também apresentadas para ilustrar a efetividade da solução proposta.
4.1
Introdução
No campo da engenharia existe uma grande variedade de problemas de controle que
envolvem sistemas não-lineares. Ao contrário do caso linear, não existe uma metodologia sistemática para o resolver os problemas de controle de sistemas não-lineares.
Diante deste quadro, existe um interesse especial em estabelecer teorias gerais que
sejam aplicáveis a classes mais amplas de sistemas não-lineares, sobretudo hoje em
dia, devido à facilidade de se implementar leis de controle de relativa complexidade.
Soluções gerais geralmente tem sido restritas aos casos em que o sistema é equivalente
a um sistema linear via uma realimentação de estado e/ou transformação de variáveis,
porisso denominados linearizáveis por realimentação. No entanto, muitos sistemas nãolineares não recaem nesta classe. É portanto de interesse desenvolver métodos que não
91
sejam baseados neste tipo de linearizabilidade.
Caso se deseje optar por uma abordagem de controle ótimo, o projeto de uma lei de
controle realimentada requer a solução da equação diferencial parcial conhecida como
a equação de Hamilton-Jacobi-Bellman (HJB) (Bryson & Ho 1969). Esta equação
diferencial deve ser resolvida no estado x e no tempo t e, para sistemas não-lineares
ela é de difı́cil resolução. Geralmente as soluções existentes baseiam-se em algum tipo
de aproximação por discretização e redução a um sistema de equações diferenciais
ordinárias de dimensão finita (e.g., o método de Ritz-Galerkin (Beard, Saridis & Wen
1997)), ou algum método de aproximações sucessivas (Bryson & Ho 1969).
O fato da solução da equação HJB ser relativamente mais fácil de ser resolvida para
o controle em malha aberta, motiva à utilização de um método de Horizonte Móvel
(Kwon & Pearson 1977). Este método tem sido muito estudado para o controle de
sistemas lineares, sendo que vários tipos de leis de controle por realimentação podem
ser interpretadas como leis de controle do tipo Horizonte Móvel (Shaw 1979).
Técnicas de controle ótimo, combinadas com a estratégia de Horizonte Móvel, foram
aplicadas ao controle de sistemas não lineares em (Mayne & Michalska 1990, Michalska
& Mayne 1993) onde se mostrou que o sistema em malha fechada resultante é assintoticamente estável. Em (Garcia et al. 1989) este tipo de controle é considerado como
sendo uma versão não-linear de controle por modelo de predição (MPC), no sentido de
que o desempenho é predito e otimizado num intervalo de predição finito. A utilização
destes métodos é geralmente restrita a plantas quı́micas onde as constantes de tempo
do processo são grandes e, consequnetemente, o intervalo de amostragem é grande.
Desta maneira, a solução do problema de otimização pode ser calculada a cada intervalo de amostragem. No entanto, devido a que o problema de otimização não tenha
um tempo definido e previsı́vel de convergência, a utilização desta técnica, em tempo
real, torna-se problemática para sistemas mais rápidos.
Neste capı́tulo estende-se a utilização do método iterativo no espaço de trajetórias,
apresentado nos capı́tulos anteriores, para o controle de sistemas mais gerais do que os
puramente não-holonômicos. A possibilidade da estensão a sistemas não-lineares afins
no controle com drift é sugerida pela aparente generalidade do método original. Aqui
também a estratégia de Horizonte Móvel é considerada para o controle realimentado
do sistema.
92
A seguir será apresentada uma revisão das propriedade de sistemas não lineares
afins no controle. São introduzidos os conceitos básicos de acessibilidade e as condições
suficiente para verificá-la.
4.2
Propriedades de sistemas não-lineares afins no
controle
Considere-se o seguinte sistema não-linear:
ẋ = f0 (x) +
m
X
fi (x)ui = f0 (x) + f (x)u
(4.1)
i=1
onde f0 (x) e f (x) = [f1 (x) · · · fm (x)] são campos vetoriais suaves, x ∈ IRn e u ∈ U ⊂ U
onde U consiste de funções constantes por parte sendo também contı́nua por partes . Para estes sistemas, é difı́cil determinar condições necessárias e suficientes de
controlabilidade do sistema da mesma forma que para sistemas completamente nãoholonômicos. A única propriedade que é relativamente fácil de caracterizar completamente é a propriedade de acessibilidade. A motivação para considerar acessibilidade é
que ela é simplesmente a propriedade de que uma certa ação induzida por um grupo1
seja transitiva, e portanto pode ser caracterizada precisamente utilizando uma condição
de posto numa álgebra de Lie. A seguir é apresentada uma definição de acessibilidade
(Nijmeijer & van der Schaft 1990, pp. x81):
Definição 4 (Acessibilidade Local) O sistema (4.1) é localmente acessı́vel em x0 ,
se o conjunto de estados alcançáveis, a partir de x0 , não tem interior vazio, i.e.,
int(RVT (x0 )) 6= 0.
Definição 5 (Acessibilidade Local Forte) O sistema (4.1) é fortemente localmente
acessı́vel em x0 , se para qualquer vizinhança V em x0 , o conjunto RV (x0 , T ) não tem
interior vazio para qualquer T > 0 suficientemente pequeno.
1
Um Grupo é um conjunto G não vazio junto com a operação (chamada multiplicação) que associa
a cada par ordenado x, y de elementos de G, um terceiro elemento em G, de forma que, a operação
seja associativa, tenha elemento identidade e inversa.
93
Pode ser observado que a acessibilidade é um conceito mais fraco do que a acessibilidade forte. Também, note-se que o conceito de acessibilidade não captura a intuição
que uma trajetória originada em x0 , e com ponto final próximo de x0 , permanece
próxima de x0 . Esta propriedade é traduzida pelo conceito de controlabilidade local
apresentada no capı́tulo 2, também conhecido como controlabilidade local em tempo
curto (STLC).
Uma ferramenta fundamental da geometria diferencial para investigar a acessibilidade de um sistema é a Álgebra de Acessibilidade de Lie (ALA), definida pela Álgebra
de Lie invariante em relação a todos os campos fi , i = 0, · · · , m, e contendo todos os
fi menos f0 , i.e.
ALA = L(adkf0 (fi ), k ≥ 0, i = 1, · · · , m)
(4.2)
onde adkf (g) = [f, [f, [· · · [f, [f, g]] · · ·]]] com ad0f (g) = g.
Utilizando a definição de ALA, a Condição de Posto da Acessibilidade, do inglês
Accessibility Rank Condition, ARC, é introduzida:
Definição 6 (Condição de Posto da Acessibilidade) O sistema (4.1) satisfaz a
ARC em x se a ALA em x tem posto n.
Para o sistema (4.1), a ARC implica em acessibilidade forte, e se a distribuição
∆ = span(fi ) é analı́tica então a ARC é equivalente a acessibilidade forte (Nijmeijer
& van der Schaft 1990). Para sistemas simétricos afins, a ARC é equivalente a controlabilidade completa (Sontag 1990a), similarmente ao que acontece com sistemas
completamente não-holonômicos.
Para exemplificar a diferença entre acessibilidade e controlabilidade considere-se o
seguinte exemplo (Nijmeijer & van der Schaft 1990):
ẋ1 = x22
ẋ2 = u
de forma que f0 (x) = [x22 0]T e f (x) = [0 1]T . A ALA é gerada por f0 , f (x), [f0 , f ] =
[−2x2 0]T e [[f0 , f ], f ] = [2 0]T portanto dim(ALA) = 2 ∀x0 , que implica que o sistema é
acessı́vel. No entanto, como x22 ≥ 0, a coordenada x1 não decresce, conseqüentemente o
conjunto alcançável não inclui a região x1 < x01 . Portanto, o sistema não é controlável.
94
4.3
Método iterativo no espaço das trajetórias
Nesta seção apresenta-se o controle de sistemas não lineares, afim no controle, utilizando
o método iterativo no espaço das trajetórias proposto nos capı́tulos anteriores. Estes
sistemas são descritos pela equação diferencial:
ẋ = f0 (x) + f (x)u
(4.3)
onde f0 (x) e f (x) são campos vetoreais suaves, x ∈ IRn e u ∈ IRm . Para este sistema
o estado desejado xd e o controle u∗ definem uma configuração de equilı́brio tal que,
ẋ = f0 (xd ) + f (xd )u∗ = 0.
As seguintes hipóteses são consideradas para derivar o algoritmo: o estado completo
é mensurável; o sistema é fortemente acessı́vel; a entrada do sistema, u, é uma função
do tempo constante por partes (o que reduz o problema a um espaço de dimensão
finita).
A seguir, concentra-se na versão discreta do método iterativo no espaço de trajetória. Desta forma, o k-esı́mo intervalo de amostragem estende-se de t = kh até
t = (k + 1)h, onde h é um dado intervalo de amostragem constante. Aqui, x(k) denota
o valor do estado em t = kh, u(k) é a entrada do sistema, mantida constante ao longo
de t ∈ [kh, (k + 1)h).
O mapeamento que define o estado no instante k + i é dado por
x̂(k + i/k) = φi (x(k), ui (k))
(4.4)
onde o vetor de controle ui (k) é definido como:
ui (k) = [(ui (k/k))T
(ui (k + 1/k))T · · · , (ui (k + i − 1/k))T ]T ;
(4.5)
onde ui ∈ IRmi×1 , M é um inteiro que define a janela de tempo T = M h (h é o perı́odo
de amostragem) e uM (i/k) ∈ IRm (i ≥ k) é utilizado para indicar que é uma predição
de u(i) baseado em medidas disponı́veis no instate k.
95
O erro de predição i passos à frente é dado por:
ei (k) = φi (x(k), ui (k)) − xd = x̂(k + i/k) − xd
(4.6)
onde xd é o estado de equilı́brio desejado.
Apresenta-se no que segue a solução para o problema de controle em malha aberta,
devido a ser uma aplicação direta do método para planejamento de trajetória para
sistemas não-holonômicos apresentado no Capı́tulo 2. Posteriormente será apresentada
a solução para o problema de estabilização por realimentação.
4.3.1
Controle em Malha Aberta
Nesta seção apresenta-se o método iterativo no espaço de trajetória apenas para obter
um controle em malha aberta do sistema (4.1).
Na realidade não existe nenhuma restrição para não aplicar o esquema apresentado
no capı́tulo 2 me sistemas analı́ticos gerais ẋ = F (x, u) sob hipótese usuais de diferenciabilidade de F . Tanto em (Sontag 1995) como em (Bryson & Ho 1969, pp. 222–223)
são considerados sistemas do tipo ẋ = F (x, u). Nestes casos mais gerais, o problema
de singularidade do algoritmo (quando ∇u φ perde posto) é um conceito relacionado
com o conceito de controlabilidade destes sistemas.
Então, se a hipótese 1 (pag. 35) é satisfeita, a lei de atualização de ∆u(τ ) é dada
por:
h
i†
∆uM (τ ) = −α ∇u φM (x0 , uM (τ )) e(τ ),
α>0
(4.7)
Esta lei, combinada com a regra de Armijo, garante que o erro de predição eM converge
para zero com τ → ∞.
O gradiente ∇u φM (x0 , uM ) pode ser calculado a partir do sistema (4.3) linearizado
em torno da trajetória associada à entrada uM :
δ ẋ = A(t)δx + B(t)δu;
96
δx(0) = 0
onde B(t) = f (x), e
A(t) =
"
!
!#
∂f
∂f
∂f0
∂f0
+
u(t)
·
·
·
+
u(t)
∂x1 ∂x1
∂xn ∂xn
O parâmetro α resultante da busca em linha do parâmetro garante que o erro convirja para zero de forma global. Esta propriedade é estabelecida no seguinte teorema:
Teorema 4.1 (Convergência global em malha aberta) Considere que as hipótese 1–
2 (pag. 35) são satisfeitas. Dados uM (0) e α ∈ (0, 1], uM (τ ) é gerado pelo o Algoritmo I
e que uM (τ ) é limitado, então eM (τ ) converge para zero com τ → ∞.
Prova: A prova é inteiramente similar à do teorema 2.4.
Embora este seja um esquema em malha aberta, ele pode ser de utilidade em
aplicações de robótica espacial, controle de estruturas espaciais utilizando movimentos
internos (eg. Telescopio Hubble, Estação Espacial MIR, etc.), manipulação nonprehensile subatuada (Lynch e Mason, Int. Conf. on Intelligent Robots, 1996), onde ainda a
obtenção de uma trajetória factı́vel é de difı́cil resolução.
Para ilustrar os resultados obtidos apresenta-se o seguinte exemplo simples:
Exemplo 4.1 (Manipulador de um elo) Neste exemplo é considerado um manipulador de um elo no plano vertical (vide Figure 4.1). A dinâmica do sistema é descrita
por:

ẋ = 

x2
1
(mlgsin(x1 )
ml2
− bx2 )



  0 
+
u
1
ml2
onde xT = [x1 x2 ] = [θ θ̇], m é a massa e l é o comprimento do elo, b é o coeficiente
de atrito, g é a aceleração da gravidade, θ é o ângulo do elo com respeito à posição
vertical, e u é o torque de entrada.
A figura 4.2 mostra o desempenho do sistema para: m = 0.1, g = 9.8, l = 0.5, b =
0.01. O perı́odo de amostragem é escolhido h = 0.05 é o horizonte de predição é de
1s, i.e. M = 1/0.05 = 20. Para calcular a solução do sistema foi utilizada uma
aproximação de Euler. O parâmetro α em (4.7) foi escolhido utilizando a regra de
Armijo. A posição desejada é xTd = [0 0] (equilibrio instável), sendo que a condição
inicial é xT0 = [π 0] (equilibrio estável).
97
θ
u
Figura 4.1: Manipulador de um elo.
Posicao Angular do Pendulo (deg)
200
(a)
150
100
50
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.8
0.9
1
Velocidade Angular do Pendulo (r/s)
2
0
(b)
−2
−4
−6
−8
0
0.1
0.2
0.3
0.4
0.5
0.6
time (seg)
0.7
Figura 4.2: Manipulador de um elo: (a) Posição angular em graus, b) Velocidade
angular em r/s. xT0 = [π 0], xTd = [0 0].
98
A figura 4.3 mostra o comportamento de ||x̂(k + 19/k) − xd || para cada iteração
τ , em função do parâmetro α. A escolha do parâmetro α nas diferentes iterações é
α = [0.5, 0.25, 0.25, 0.25, 0.25, 0.5, 1, 1, · · ·]. A figura 4.4 mostra a convergência do erro
e20 (τ ) onde pode ser observado que apartir da 10ma iteração o erro é menor que 1e−5 .
12
||e(τ + 1)||
10
8
6
4
2
0
0
2
4
6
1
0.8
8
0.6
10
0.4
12
14
τ
0.2
α
0
Figura 4.3: Manipulador de um elo: Norma de e(τ, α). xT0 = [π 0], xTd = [0 0].
4
3.5
3
||e(τ )||
2.5
2
1.5
1
0.5
0
0
2
4
6
τ
8
10
12
14
Figura 4.4: Manipulador de um elo: Norma de e(τ ). xT0 = [π 0], xTd = [0 0].
Uma vez calculado o controle em malha aberta uM , que leva o sistema do estado
inicial x0 para o estado desejado xd , uma possibilidade é linearizar o sistema ao redor
desta trajetória, o que resulta em um sistema linear variante no tempo, e em seguida
projetar um controlador realimentado, por exemplo, do tipo LQR. Como já foi observado no capı́tulo 3, a propriedade de estabilidade deste sistema é restrita a uma
vizinhança da trajetória linearizada. No entanto, neste trabalho estamos interessados
em sintetizar uma lei de controle realimentada que resolva o problema globalmente.
99
4.3.2
Controle em Malha Fechada
Nesta seção apresentaremos uma modificação do método iterativo no espaço das trajetórias combinado com a estratégia de Horizonte Móvel apresentado para a estabilização de sistemas completamente não-holonômicos no capı́tulo 3.
Uma modificação no algoritmo original é necessária devido à utilização da estratégia
de Horizonte Móvel num sistema com drift. No método original, ao se aplicar a estratégia de Horizonte Móvel o vetor de controle era completado com zeros nos m
(u ∈ IRm ) últimos elementos i.e., o controle predito para o instante M − 1 é 0. A idéia
naquele caso era de obter um controle que não incrementasse o erro do ponto eM no
final do horizonte de predição. No caso de sistemas sem drift a escolha obvia é u = 0,
dado que com este controle o estado permanece fixo. No caso de sistemas com drift,
geralmente não é possı́vel garantir que exista um controle que não faça o erro crescer
numa iteração, a não ser que f0 (x) pertença à imagem de f (x). Em (Popa 1998) foi
mostrado que se o perı́odo de amostragem e o parâmetro α forem escolhidos suficientemente pequenos o método original estabiliza o sistema numa bola de raio r, B(r) ao
redor xd .
Neste trabalho, a lei de atualização de uM é modificada com o objetivo de garantir
que o erro de predição e o estado atual convirjam para zero. A idéia é considerar
um sinal de controle aumentado uM +1 , e atualizar este sinal forçando a que o erro
gerado por uM +1 decaia com uma taxa (1 − α1 ) com respeito ao erro gerado por uM ,
i.e. eM +1 (k) = (1 − α1 )eM (k), garantindo isto ainda na presença do termo de drift.
Consequentemente, garante-se que tanto eM +1 (k) como eM (k) tendem para zero com
k → ∞.
Seguindo a estratégia descrita acima, a lei de atualização de uM +1 (k) é dada por:
i†
h
v M +1 (k) = uM +1 (k) − α0 ∇u φM +1 (x(k), uM +1 (k)) ǫ(k)
(4.8)
onde ǫ(k) := eM +1 (k) − (1 − α1 )eM (k), e, de (4.6),
eM (k) = φM (x(k), uM (k)) − xd
eM +1 (k) = φM +1 (x(k), uM +1 (k)) − xd
100
(4.9)
(4.10)
O primeiro elemento do vetor de controle atualizado v M +1 , vM +1 (k/k), é aplicado
ao sistema real, i.e., u(k) = vM +1 (k/k), obtendo-se:
x(k + 1) = φ1 (x(k), vM +1 (k/k))
(4.11)
Então o vetor de controle é atualizado e deslocado para frente em um passo:

uM +1 (k + 1)




= 





uM +1 (k + 1/k + 1)
..
.
uM +1 (k + M/k + 1)
uM +1 (k + M + 1/k + 1)
uM +1 (k + 1) = Gv M +1 (k) + F u∗

vM +1 (k + 1/k)
..
.








=



 v

 M +1 (k + M/k)


u∗










(4.12)
(4.13)
onde G ∈ IRm(M +1)×m(M +1) e F ∈ IRm(M +1)×m são definidos como

 0mM ×m
G=
0m×m
ImM
0m×mM


,


 0mM ×m 

F =
Im
(4.14)
o controle u∗ , que prenche o ultimo elemento de uM (k + 1), caracteriza a condição de
equilı́brio do sistema: f0 (xd ) + f (xd )u∗ = 0. Esta escolha garantira que o estado x(k)
converge para o estado desejado xd (c.f. Corolario 4.2.1). No caso que f0 (xd ) = 0 or
f0 (x) ≡ 0 (sistema sem drift), u∗ é nulo.
4.3.2.1
Controle de Sistemas Lineares
Antes de realizar a análise de estabilidade do algoritmo proposto, e com o objetivo de
ganhar alguma intuição sobre o método, é interessante considerar o caso linear. Embora exista uma enorme quantidade de técnicas que resolvem o problema de estabilizar
um sistema linear num estado desejado, é interessante observar as caracterı́sticas do
método proposto neste trabalho. As técnicas usuais se estendem desde métodos desenvolvidos utilizando especificações no domı́nio do tempo (Dahleh & Pearson 1987, Boyd
& Barratt 1991), derivados geralmente de otimização convexa, até técnicas que consideram simultaneamente propriedades no domı́nio do tempo e frequencial (Sznaier 1992).
Projetos baseados em ı́ndices de desempeno quadrático têm sido também intensamente
101
explorados (vide (Kwakernaak & Sivan 1972)).
Considere portanto o sistema linear invariante no tempo:
ẋ(t) = Ax(t) + Bu(t)
onde x ∈ IRn e u ∈ IRm . Considere também que o sistema é amostrado com um perı́odo
h regular e que o controle u(t) é constante no intervalo de amostragem (e.g. u(t) é a
saı́da de um ZOH). O modelo discreto é dado por:
x(k + 1) = Φx(k) + Γu(k)
onde Φ = eAh e Γ =
Rh
0
(4.15)
eAs Bds.
Por simplicidade, e sem perda de generalidade, será considerado o caso SISO e a
estabilização do sistema na origem, i.e. xd = 0, u∗ = 0. A mesma análise pode ser
realizada para o caso geral seguindo a linha apresentada a seguir.
A expressão analı́tica do mapeamento do estado final para o sistema linear (4.15)
é dada por:
x̂(k + M/k) = ΦM x(k) + C̄o uM (k)
(4.16)
x̂(k + M + 1/k) = ΦM +1 x(k) + Co uM +1 (k)
(4.17)
onde Co e C̄o são equivalentes às matrizes de controlabilidade do sistema linear, i.e.
Co = [ΦM Γ · · · ΦΓ Γ] e C̄o = [ΦM −1 Γ · · · ΦΓ Γ]. Além disso, para o caso linear, tem-se
que o gradiente de φM é dado por:
∇u φM +1 (x(k), uM +1 (k)) = Co
que define uma matriz constante. A hipótese de ∇u φM +1 ter posto completo significa
que o sistema linear (4.15) é controlável. Assumindo que o sistema contı́nuo é controlável, Kalman, Ho e Narendra em (Kalman, Ho & Narendra 1963) estabelecem que
a controlabilidade do sistema amostrado é preservada quando para um intervalo de
amostragem h, h(λl − λj ) (l = 1, · · · , n; j = 1, · · · , n) não é da forma 2kπi, onde os
λl,j são os autovalores da matriz A, k é um número inteiro e i é a variável complexa.
102
A lei de atualização é definida por:
v M +1 (k) = uM +1 (k) − α0 Co† ǫ(k)
ǫ(k) = [x̂(k + M + 1/k) − (1 − α1 )x̂(k + M/k)]
(4.18)
(4.19)
entanto que a estratégia de horizonte móvel é dada por:
uM +1 (k + 1) = Gv M +1 (k)
(4.20)
onde G é definido como em (4.14) com m = 1.
Finalmente o controle do sistema é definido por:
u(k) = vM +1 (k/k) = eTn v M +1 (k)
(4.21)
onde eTn = [1 0 0 · · · 0].
Primeiramente, considere-se α0 = α1 = 1 em (4.19). Neste caso, substituindo (4.19)
em (4.21) obtém-se a seguinte lei de realimentação:
u(k) = −eTn Co† ΦM +1 x(k) + eTn (I − Co† Co )uM +1 (k)
(4.22)
Pode ser observado que, para M +1 = n, a matriz de controlabilidade Co é quadrada
(n × n), portanto I − Co† Co = 0 e (4.22) define uma realimentação linear de estado
u(k) = −Kx(k) onde
K = −eTn Co−1 Φn
é a fórmula de Ackermann (Brogan 1991) alocando todos os pólos na origem, i.e. z n = 0
(controle dead-beat).
Para M +1 > n, a lei de controle (4.22) é obtida de projetar o controle de forma que
o estado x̂(M + 2/1) seja zero (isto após a primeira iteração). Desta forma, observando
que:
x̂(M + 2/1) = ΦM +1 x(1) + Co uM +1 (1)
e explicitando o estado inicial x(0) e v M +1 (0), após algumas manipulações algébricas,
levando em consideração que o último elemento de uM +1 (0) é zero, i.e., uM +1 (M/0) = 0,
103
obtém-se:
x̂(M + 2/1) = ΦM +2 x(0) + ΦCo v M +1 (0)
(4.23)
Portanto, impondo x̂(M + 2/1) = 0, a escolha de v M +1 (0) que satisfaz isto é simplesmente
v M +1 (0) = −Co† ΦM +1 x(0)
(4.24)
que não é nada mais que (4.19) com α0 = α1 = 1 e escolha inicial uM +1 (0) ≡ 0. O
sinal de controle v M +1 (0) é ótimo no sentido que minimiza a energia do controle. Além
disso, pode ser notado que, devido a (I − Co† Co ) expandir o espaço nulo de Co , a adicão
do termo (I − Co† Co )uM +1 (0) em (4.24) (para uM +1 (0) arbitrário) não mudará o erro
final em (4.23). Quer dizer, diferentes escolhas de uM +1 (0) mudam a forma como o
estado atinge a origem.
Uma vez que α1 = 1 e o erro x̂(M + 2/1) = 0, após a primeira iteração, dado
que não existe erro de modelagem, v M +1 (k) em (4.19) é dada por v M +1 (k) = uM +1 (k).
Desta forma, a estratégia de Horizonte Móvel (4.20) zera o vetor de controle uM +1 .
No caso de modelagem ideal, a lei de controle garante, também, que o estado real da
planta atinge a origem em M + 1 passos.
Este controle pseudo dead-beat, embora menos exigente que o controle dead-beat
standard (Åström & Wittenmark 1990), pode apresentar ações de controle grandes.
Para evitar isto, a ideia é relaxar a condição em (4.23) de x̂(k + M + 1/k) = 0 para
uma contração do tipo x̂(k + M + 1/k) = (1 − α1 )x̂(k + M/k), de forma que v M +1 (0)
é dado agora por:
v M +1 (0) = −Co† [ΦM +1 x(0) + (1 − α1 )x̂(M + 1/0)]
(4.25)
que é equivalente à lei de atualização (4.19) com α0 = 1, escolha inicial uM +1 (0) ≡ 0 e
α1 ∈ (0, 1].
Da mesma forma que no caso anterior pode ser adicionado um termo em v M +1 (0)
que esteja no espaço nulo de Co , i.e., (I − Co† Co )uM +1 (0) com uM +1 (0) arbitrário.
Novamente, diferentes escolhas de uM +1 (0) mudam a forma como a restrição x̂(k +
M + 1/k) = (1 − α1 )x̂(k + M/k) é satisfeita, influenciando no transitório da resposta.
Para ilustrar o método iterativo no espaço das trajetórias aplicada em sistemas
104
lineares, a figure 4.5 apresenta o diagrama de blocos do sistema em malha fechada:
GCo†
x̂(k + M + 1)
ΦM x(k) + Co uM +1 (k)
uM +1 (k)
+
z −1 I
eTn (I −Co† Co )
-
u(k)
Γ
-
+
x(k)
z −1 I
-
Φ
G
K = eTn Co† ΦM
Figura 4.5: Caso Linear: Diagrama de Bloco do sistema em malha fechada para
α0 = α1 = 0.
O sistema em malha fechada pode ser representado pelo seguintes sistemas de
equações:





ΓeTn (I −Co† Co )   x(k) 

 Φ − ΓK

=





uM +1 (k + 1)
uM +1 (k)
−GCo† ΦM G(I − Co† Co )
x(k + 1)
(4.26)
A principal caracterı́stica deste sistema é que a malha fechada possue M + n pólos
em zero, i.e., z n+M = 0. Ainda tem um cancelamento com n zeros em 0. O transitório
é determinado exclusivamente pelos zeros deste sistema.
Para ilustrar os resultados obtidos, apresenta-se a seguir o seguinte exemplo:
Exemplo 4.2 (Motor com duas massas) Este exemplo considera um motor DC
acionando duas massas, ambas ligada por uma mola (Åström & Wittenmark 1990).
Este sistema representa um modelo simplificado de uma junta flexı́vel de um manipulador robótico. A figura 4.6 apresenta o diagrama do sistema, onde é assumido que o
atrito é desprezı́vel, o motor é controlado pela corrente I com constante de corrente
105
kI , a velocidade angular e os ângulos das massas são, w1 , w2 , θ1 , θ2 , respectivamente,
os momentos de inércias são J1 , J2 , e a mola tem constante k e um coeficiente de
amortecimento d.
I
θ1
θ2
J1
J2
Motor
ω1
ω2
Figura 4.6: Sistema eletro-mecânico: motor e duas massas.
Escolhendo como variáveis de estado x1 = θ1 − θ2 , x2 = ω1 /ω0 , x3 = ω2 /ω0 , onde
ω0 =
q
k(J1 + J2 )/(J1 J2 ), o processo é descrito por:

0


ẋ = ω0 
 α−1


α
1
−β1
β2

−1 

β1
−β2


 0 





x +  γ u






0
onde α = J1 /(J1 + J2 ), β1 = d/J1 ω0 , β2 = d/J2 ω0 , γ = kI /J1 ω0 . Utiliza-se os seguintes
parâmetros: J1 = 10/9, J2 = 10, k = 1, d = 0.1, kI = 1 (define ω0 = 1). O sistema
é discretizado com perı́odo de amostragem h = 0.5s. Os pólos do sistema discreto em
malha aberta estão alocados em z = 1 e z = 0.8562 ± i0.4671.
Considera-se o caso em que a escolha inicial uM (0) seja zero. Nas simulações, o
estado inicial da planta é xT0 = [0.854 − 0.34 − 0.394]T , escolhido arbitrariamente,
e o horizonte de predição de 6s, i.e. M = 6/h = 12. A figura 4.7 apresenta o
comportamento do sistema para α1 = 1. Pode ser observado que o estado atinge a
origem em exatamente 6 segundos. Vale ressaltar que o comportamento da norma do
erro de predição eM +1 (k), com valor 0.74 para a primeira iteração, e nulo para as
sub-seguintes.
Um objetivo menos rigoroso é estabelecido escolhendo α1 = 0.27. A figura 4.8
apresenta o desempenho do sistema para α1 = 0.27. Pode ser observado que o controle
efetivamente é mais suave, e o estado atinge a origem assintoticamente.
Recentemente, em (Malmgren & Nordstrom 1994a, Malmgren & Nordstrom 1994b),
foi proposto um esquema de controle baseado numa propriedade de contração que re106
Estados do sistema, x
1
(a)
0.5
0
−0.5
0
2
4
6
8
10
12
14
10
12
14
Sinal de controle u
1
0.8
(b)
0.6
0.4
0.2
0
0
2
4
6
8
Tempo (seg)
Figura 4.7: Sistema Motor-Massa: Estados e sinal de controle para α1 = 1
Estados do sistema, x
1
(a)
0.5
0
−0.5
−1
0
2
4
6
8
10
12
14
10
12
14
Sinal de controle u
0.8
(b)
0.6
0.4
0.2
0
0
2
4
6
8
Tempo (seg)
Figura 4.8: Sistema Motor-Massa: Estados e sinal de controle para α1 = 0.27
107
sulta num esquema de controle de sistemas lineares relacionado com o método proposto
neste trabalho.
No esquema proposto em (Malmgren & Nordstrom 1994b) a idéia é projetar o
controle de forma que o estado no instante k + M decresça de um fator α com respeito
ao estado x(k), i.e., x̂(k+M/k) = αx(k). Desta forma, resolvendo (4.17) para satisfazer
esta condição em k = 0, tem-se:
Co uM +1 (0) = (αI − ΦM +1 )x(0)
Adotando uma estrutura de realimentação linear de estado tem-se que, para u(k) =
−L(k)x(k), o vetor de controle uM +1 (0) é dado por uTM +1 (0) = [−L(0)x(0) · · · −
L(M )x(M )]. Aplicando recursivamente a dinâmica do modelo x(k + 1) = Φx(k) +
Γu(k), chega-se a:
uM +1 (0) = Ωx(0)
onde Ω é uma matriz função de todos os ganhos de realimentação L(k) (k = 0, · · · , M ).
Portanto a contração no estado é satisfeita se e somente se
Co Ω = (αI − ΦM +1 )
Desta forma, os ganhos L(k) podem ser obtidos de resolver a igualdade acima. Os
autores também mostram que os ganhos L(k) obtidos por este método são periódicos,
com perı́odo M . Caso um critério quadrático seja estabelecido, os ganhos da realimentação podem ser obtidos recursivamente. Os resultados de simulação apresentados
em (Malmgren & Nordstrom 1994b) com o sistema do exemplo 4.2 são similares aos
apresentados neste exemplo.
Uma aplicação a ser explorada é a utilização do método iterativo no espaço das
trajetórias incorporando restrições de estados e sinal de controle e a possı́bilidade de
escolher uM +1 (0) de forma a satisfazer algum critério de otimização.
4.3.2.2
Análise de Estabilidade
Nesta subseção apresentaremos as propriedades de convergência do método proposto.
Com este objetivo, primeiro estabeleceremos as seguintes hipóteses para o sistema (4.3)
108
e o mapeamento (4.9):
Hipótese 5 Existem ρ0 > 0 e ρ1 > 0 tal que ||f0 (x) − f0 (y)|| ≤ ρ0 ||x − y|| e ||f (x) − f (y)|| ≤
ρ1 ||x − y|| para todo x, y ∈ IRn .
Hipótese 6 Existem ρ > 0 e δ > 0 tal que ||f0 (x) + f (x)u∗ || ≤ ρ ||x|| + δ, para todo
x ∈ IRn .
Hipótese 7 O gradiente de φM +1 , ∇u φM +1 (x(k), uM +1 (k)), tem posto completo para
todo k, e existe mf > 0 tal que [∇u φM ]† < mf .
A hipótese 7 é equivalente ao controle uM +1 não ser singular para todo k. Na
prática, a possibilidade de encontrar um controle singular é genericamente rara, é no
caso de ser encontrada, sempre pode ser adicionado uma malha genérica para tirar
∇u φM (x(k), uM (k)) da singularidade (Sontag 1995).
O seguinte Teorema mostra que, similarmente que em sistemas não-holonômicos
(Cap. 3), é possı́vel garantir que o erro de predição eM (k) converge exponencialmente
para zero:
Teorema 4.2 Considere o sistema não linear (4.3) com mapeamento discreto (4.9) e
que as hipóteses 6–7 são satisfaz. Utilizando a lei de atualização (4.8) com α0 = 1, e a
estratégia de horizonte móvel (4.12), existe α1 ∈ (0, 1],ρ̄ > 0 e M tal que, se eM (0) ∈
B(ρ̄/α1 ), então os erros de predição eM (k) e eM +1 (k) convergem exponencialmente para
zero.
Prova: Considere-se o erro de predição no tempo (k + 1):
eM (k + 1) = φM (x(k + 1), uM (k + 1)) − xd
de (4.12) tem-se
eM (k + 1) = φM (x(k+1), [vM +1 (k/k), · · · , vM +1 (k + M/k)]) − xd
(4.27)
Substituindo (4.11) em (4.27), tem-se
eM (k+1) = φM (φ1 (x(k), vM +1 (k/k)), [vM +1 (k + 1/k), · · · , vM +1 (k + M/k)])−xd
= φM +1 (x(k), v M +1 (k))−xd
109
(4.28)
Considerando a expansão em série Taylor de φM +1 (x(k), v M +1 (k)) ao redor de x(k)
e uM +1 (k) tem-se:
eM (k + 1) = ∇u φM +1 (x(k), uM +1 (k))∆v M +1 (k) + eM +1 (k) + o(∆v M +1 (k))
(4.29)
onde ∆v M +1 (k) = v M +1 (k) − uM +1 (k), e o(·) leva em consideração os termos de ordem
maior da expansão por Série de Taylor.
Então, substituindo a lei de adaptação (4.8) em (4.29), e considerando a hipótese 7,
tem-se que
eM (k + 1) = −α0 (eM +1 (k) − (1 − α1 )eM (k)) + eM +1 (k) + d(ǫ(k))
= (1 − α0 )eM +1 (k) + α0 (1 − α1 )eM (k) + d(ǫ(k))
(4.30)
onde d(ǫ(k)) é um termo de ordem ǫ(k).
Com α0 = 1, o erro de predição é governado pela equação a diferenças:
eM (k + 1) = (1 − α1 )eM (k) + d(ǫ(k))
(4.31)
Sem perda de generalidade, considera-se uma aproximação de Euler para resolver
o mapeamento do ponto final (4.3)2 , desta forma tem-se que
ǫ(k) = eM +1 (k) − (1 − α1 )eM (k)
= h[f0 (eM (k) + xd ) + f (eM (k) + xd )u∗ ] + α1 eM (k)
(4.32)
(4.33)
Pela hipótese 6, segue portanto que
||ǫ(k)|| ≤ (hρ + α1 ) ||eM (k)|| + hδ1
(4.34)
Com o objetivo de analisar a propriedade de convergência de (4.31), escolhe-se a
seguinte candidata a função de Lyapunov discreta V (k) = eTM (k)eM (k). O incremento
2
Esta aproximação é utilizada somente no cálculo da solução predita x̂.
110
de V é dado por
∆V
= V (k + 1) − V (k)
= −(1 − λ2 )eTM (k)eM (k) + 2λeTM (k)d(ǫ(k)) + dT (ǫ(k))d(ǫ(k))
onde λ = 1 − α12 .
A função d(·) satisfaz lim||ǫ||→0
||d(ǫ)||
||ǫ||
= 0. Portanto, para qualquer γ > 0, existe
r > 0 tal que ||d(ǫ(k))|| < γ ||ǫ(k)||, para todo ||ǫ(k)|| < r; ou equivalentemente utilizando
(4.34),
||d(ǫ)|| < γ[hρ + α1 ] ||eM (k)|| + γhδ1 ;
||eM (k)|| <
r − hδ1
hρ + α1
(4.35)
Desta forma,
∆V
≤ −(1 − λ2 ) ||eM (k)||2 + 2λ ||eM (k)|| ||d(ǫ(k))|| + ||d(ǫ(k))||2
≤ −[1 − λ2 − 2λγ(hρ − α1 ) − γ 2 (hρ − α1 )2 ] ||eM (k)||2
+2λγhδ1 ||eM (k)|| + (γhδ1 )2
(4.36)
Portanto, para h suficientemente pequeno com o horizonte de predição T e escolhendo
γ ∈ (0, 1), existe M = T /h e α1 ∈ [0, 1] tal que,
∆V ≤ −δ̄ ||eM (k)||2 ;
0 < δ̄ < 1
equivalentemente
||eM (k + 1)|| ≤ (1 − δ̄) ||eM (k)||
Então, utilizando o teorema de Lyapunov, conclui-se que o erro de predição eM (k)
converge exponencialmente para zero.
Reescrevendo eM +1 (k) como:
eM +1 (k) = φM +1 (x(k), uM +1 (k)) − xd = φ1 (φM (x(k), uM (k)), u∗ ) − xd
111
e dado que eM (k) → 0 com k → ∞ ou, equivalentemente, x̂(k + M/k) → xd com
k → ∞, então
lim eM +1 (k) = φ1 (xd , u∗ ) − xd = 0
k→∞
e já que xd e u∗ são o estado e controle de equilı́brio, a solução um passo na frente, φ1 ,
permanece em xd . conclue-se portanto que eM +1 (k) → 0 com k → ∞.
O resultado obtido no Teorema 4.2 é de caracter semi-global, i.e., o domı́nio de
estabilidade, (4.35), pode ser incrementado arbitrariamente. No entanto, o parâmetro
α1 pode ser escolhido utilizando a regra de Armijo (próximo a 1 quando ||eM || é grande
e decrementar este quando ||eM || torna-se pequena).
Um esboço do algoritmo de estabilização que inclue a regra de Armijo é dado a
seguir:
Algoritmo III
(Método Iterativo no espaço das trajetórias modificado + Regra de Armijo)
1. Para k = 0, dado x(0) = x0 , escolher uM (0) não singular,
2. Calcular eM (k) e eM +1 (k),
3. Fazer:
(a) d1 (k) = −[∇u φM +1 ]† eM +1 (k) e d2 (k) = −[∇u φM +1 ]† eM (k)
(b) α1 = 1,
i. v M +1 (k) = uM +1 (k) + d1 (k) + (1 − α1 )d2 (k)
ii. se ||φM (x(k), v M (k)) − xd )|| ≥ (1 − δα) ||eM (k)|| então
escolher σ ∈ [σ0 , σ1 ]
α1new = σα1old
ir para 3(b)i
4. Aplicar u(k) = vM +1 (k/k),
5. uM +1 (k + 1) = Gv M +1 (k) + F u∗ (Estratégia de Horizonte Móvel ),
6. k = k + 1 e ir para (2).
Falta portanto provar que o estado atual x(k) também converge para xd , para isto
primeiro apresentaremos os seguinte lemas:
112
Lema 4.1 O sinal de controle u(k) gerado pelo algoritmo III é uniformemente limitado
para todo k.
Prova: A prova segue a prova do Lema 3.1.
Lema 4.2 Todos os elementos do vetor de controle uM (k), gerado pelo Algoritmo III,
tendem para u∗ com k → ∞
Prova: Considere a lei de adaptação (4.8). Pelo Teorema 4.2, eM (k) e eM +1 (k) tendem para zero e se ∇u φ tem posto completo, então ∆v M +1 (k) = v M +1 (k) − uM +1 (k) →
0, i.e,
v M +1 (k) = uM +1 (k) + ε(k)
onde ε(k) é um termo exponencialmente decrescente. Assim a equação (4.12) torna-se
uM +1 (k) = GuM +1 (k) + F u∗ + ε(k)
Dado que a matriz G em (4.12) define um sistema dead-beat (i.e, todos os pólos
esta alocados na origem), pode-se verificar que

u∗
..
.











uM (k) → 

 u∗ 




as k → ∞
u∗
O seguinte corolário confirma o fato que o estado real do sistema, x(k), converge
para xd .
Corolário 4.2.1 Considerando que todas as hipóteses do Teorema 4.2 são satisfeitas.
Se ∇u φM tem posto completo, então o estado real, x(k), converge exponencialmente
para xd com k → ∞.
Prova: Considere o mapeamento φM (xd , uM (k)). Então considerando que para
uma dada condição inicial o sinal de controle uM é uma função do tempo contı́nua por
113
partes, da unicidade de solução de uma equação diferencial ordinária, tem-se que (vide
(Michel & Miller 1982, Teorema 4.4)):
||x(k) − xd || ≤ ||φM (x(k), uM (k)) − φM (xd , uM (k))|| eLM h
(4.37)
onde L é a constante de Lipschitz da função F (·, ·).
Do Lema 4.2 temos que
lim φM (xd , uM (k)) = φM (xd , u∗ ) = xd
k→∞
e do Teorema 4.2 eM (x(k), uM (k)) tende para zero com k → ∞, então conclue-se que
lim ||φM (x(k), uM ) − xd || eLM h
lim ||x(k) − xd || ≤
k→∞
≤
k→∞
k→∞
lim ||eM (x(k), uM (k)|| eLM h
(4.38)
que implica
lim ||x(k) − xd || = 0
k→∞
podendo-se concluir finalmente que o estado real x(k) converge para xd .
Existem parâmetros que afetam o desempenho do algoritmo: α1 e a escolha inicial no controle uM (0). Mudanças em estes parâmetros resultaram em taxas de convergência diferentes, como também trajetória do estado diferentes.
Em seguida, são apresentados exemplos representativos que ilustram os resultados
teóricos obtidos. O sistema a ser considerado é um pêndulo invertido montado num
carrinho. Este exemplo, embora académico, tem suscitado grande interesse (Ohsumi
& Izumikawa 1995, Wei, Dayawansa & Levine 1995) devido principalmente que, se
linearizado, o sistema é de fase não-mı́nima, e além disso, até o presente não existe
nenhum método geral que resolva o problema globalmente. Geralmente, técnicas de
controle não linear consideram dois estagios, um que leva o pêndulo à posição desejada,
e um outro que estabiliza, mediante uma técnica linear, o sistema ao redor do estado
desejado (Ohsumi & Izumikawa 1995, Wei et al. 1995). A seguir, mostraremos como o
método proposto neste trabalho, resolve o problema numa forma global.
Exemplo 4.3 (Pêndulo montado num carrinho) Neste exemplo considera-se o sis114
tema composto por um pêndulo invertido no topo de um carrinho (Fig. 4.9), sendo que
a ação de controle é uma força horizontal u, aplicada ao carrinho, cuja massa é mc .
O pêndulo tem uma massa uniformemente distribuı́da mp e um comprimento l. O
pêndulo pivoteia livremente. As equações dinâmicas deste sistema mecânico são as
seguintes (vide por exemplo (Brogan 1991, Prblm. 15.2)):
(mc + mp )ÿ − mp lcos(θ)θ̈ + mp lsin(θ)θ̇2 = u
(4.39)
J θ̈ − mp lcos(θ)ÿ − mp lgsin(θ) = 0
(4.40)
onde J = 4/3mp l2 é a inércia do pêndulo, g é a aceleração da gravidade, θ é o ângulo
do pêndulo com respeito a sua posição vertical superior, e y é o deslocamento horizontal
do carrinho.
θ
u
y
Figura 4.9: Pêndulo Invertido
Resolvendo (4.39)–(4.40) com respeito a ÿ e θ̈ permite reescrever as equações dinâmicas
da seguinte forma:
h
i
m̄J −m2p l2 cos(θ)2 θ̈ + m2p l2 θ̇2 sin(θ)cos(θ) − mp m̄glsin(θ) = mp lcos(θ)u
h
i
m̄J −m2p l2 cos(θ)2 ÿ + mp lJ θ̇2 sin(θ) − m2p l2 gsin(θ)cos(θ) = Ju
(4.41)
onde m̄ = mp + mc . Considerando as variáveis de estado como sendo x1 = θ, x2 =
θ̇, x3 = y, x4 = ẏ e o vetor de estado xT = [x1 , x2 , x3 , x4 ] , a equação (4.41) pode ser
115
escrita na forma de espaço de estados como:



x2

 ẋ1 






 f (x , x )
 ẋ2 
 =  02 1 2





 ẋ 
x4

 3 



ẋ4
f04 (x1 , x2 )


0
 
 
 
  f2 (x1 )
+
 
 
0
 
 
f4 (x1 )





u




ou numa forma vetorial:
ẋ = f0 (x) + f (x)u
Com o objetivo de realizar simulações, foram considerados os parâmetros do benchmark (Geva & Sitte 1993): mp = 0.1, mc = 1, l = 0.5 e g = 9.8. O mapeamento
φM (x(k), uM (k)) é obtido utilizando-se uma aproximação de Euler, entanto que o controle aplicado na planta “real” é simulado utilizando uma aproximação de Runge-Kutta
de 4ta ordem.
O parâmetro α1 da lei de atualização (4.8) é escolhido utilizando a regra de Armijo
para cada instante k.
Para comparação, foram simulados os seguintes 4 casos:
Caso
perı́odo (h)
horizonte (M )
escolha inicial
1
0.02s
50
0
2
0.02s
50
π
5 sin(2 M
k)
3
0.02s
25
π
5 sin(2 M
k)
4
0.04s
25
π
5 sin(2 M
k)
As trajetórias dos estados e do sinal de controle são apresentados nas figuras 4.104.13, para condições iniciais e desejada dada por: xT (0) = [π 0 0 0] e xTd = [0 0 0 0],
respectivamente. No caso 1, o carrinho segue um movimento intuitivo: esquerda e
então direita para levantar o pêndulo. No entanto, o esforço de controle é bastante
grande. No caso 2, uma escolha inicial de uM (0) diferente é utilizada. O estado
converge para a configuração desejada, mas com uma trajetória diferente. O esforço
de controle é ainda maior que no caso 1. No caso 3, o horizonte móvel é a metade
que no caso 2 (portanto, somente metade dos passos de controle podem ser utilizados
para reduzir o erro de predição). Existe, neste caso, uma oscilação maior na posição
do carrinho, correspondente a um esforço de controle grande. Quando o intervalo
116
de amostragem é incrementado (resultando em erros de aproximação maiores), o algoritmo ainda converge, caso 4. Quando o intervalo de amostragem é incrementado
ainda mais, o algoritmo não mais converge.
h=0.02 N=50 uo=0
6
*=pole angle (rad), o=pole angular velocity (rad/s) +=cart position (m), ∆=cart velocity (m/s)
4
Estados
2
0
−2
−4
−6
−8
0
0.5
1
1.5
2
2.5
3
h=0.02 N=50 uo=0
80
Sinal de controle (N)
60
40
20
0
−20
−40
−60
0
0.5
1
1.5
2
2.5
3
Tempo (s)
Figura 4.10: Pêndulo invertido: Caso 1 - Trajetória dos estados e sinal de controle
117
h=0.02 N=50 uo= 5 sin( 2 π/N * k)
6
*=pole angle (rad), o=pole angular velocity (rad/s) +=cart position (m), ∆=cart velocity (m/s)
4
Estados
2
0
−2
−4
−6
−8
0
0.5
1
1.5
2
2.5
3
h=0.02 N=50 uo= 5 sin( 2 π/N * k)
100
Sinal de controle (N)
80
60
40
20
0
−20
−40
−60
0
0.5
1
1.5
2
2.5
3
Tempo (s)
Figura 4.11: Pêndulo invertido: Caso 2 - Trajetória dos estados e sinal de controle
118
h=0.02 N=25 uo= 5 sin( 2 π/N * k)
15
*=pole angle (rad), o=pole angular velocity (rad/s) +=cart position (m), ∆=cart velocity (m/s)
10
Estados
5
0
−5
−10
−15
−20
0
0.5
1
1.5
2
2.5
3
h=0.02 N=25 uo= 5 sin( 2 π/N * k)
400
Sinal de controle (N)
300
200
100
0
−100
−200
−300
−400
−500
0
0.5
1
1.5
2
2.5
3
Tempo (s)
Figura 4.12: Pêndulo invertido: Caso 3 - Trajetória dos estados e sinal de controle
119
h=0.04 N=25 uo= 5 sin( 2 π/N * k)
10
*=pole angle (rad), o=pole angular velocity (rad/s) +=cart position (m), ∆=cart velocity (m/s)
8
6
Estados
4
2
0
−2
−4
−6
−8
−10
0
0.5
1
1.5
2
2.5
3
3.5
4
h=0.04 N=25 uo= 5 sin( 2 π/N * k)
100
80
Sinal de controle (N)
60
40
20
0
−20
−40
−60
−80
−100
0
0.5
1
1.5
2
2.5
3
3.5
4
Tempo (s)
Figura 4.13: Pêndulo invertido: Caso 4 - Trajetória dos estados e sinal de controle
120
4.3.2.3
Restrições de desigualdade
No controle de sistemas não-holonômicos, restrições de desigualdade foram contornadas
utilizando-se funções de penalidade externa (Divelbiss & Wen 1997b) e funções de
penalidade interna (Sussmann & Chitour 1993). Esta abordagem pode ser utilizada
no esquema de controle acima, na forma como foi descrita no seção 3.3. O seguinte
exemplo ilustra como incorporar restrições no sinal de controle.
Exemplo 4.4 (Manipulado de um elo - Restrições no Controle) Considere o manipulador de um elo do exemplo 4.1, porém agora a entrada de torque é restrita por
|u| < UM . Os parâmetros deste sistema são: m = 0.1, l = 0.5, g = 9.8, b = 0.01.
Neste exemplo será considerado o caso mais difı́cil, em que u não tem amplitude
suficiente para erguer o elo até a sua posição vertical superior (em balanço), diretamente num único balanço sem mudar o sentido de giro, a partir da posiçao vertical
inferior (de repouso).
A restrição no controle é formulada como uma restrição de desigualdade:
c(u) ≤ 0 ∀u
onde c(u) é definida como

c(u) = 

0
se |u| < UM
|u| − UM se |u| ≥ UM
A figura 4.14 apresenta o desempenho do sistema para UM = 0.2 com g(u) =
γu (1 − e−κu c(u) )2 com κu = 50, γu = 1, perı́odo de amostragem h = 0.02, e horizonte de
predição de 1s, i.e. M = 1/h = 50. O algorimto foi implementado utilizando a regra
de Armijo com σ = 0.5.
Pode-se observar que o sinal de entrada (|u| < 0.2) não é suficiente para erguer o
pêndulo num único balanço. O controlador tem a “inteligência” suficiente para “bombear” energia ao sistema de forma a satisfazer o objetivo desejado de levantar o pêndulo
(vide figura 4.14b).
121
Posição do pêndulo em graus
400
(a)
300
200
100
0
0
2
4
6
8
10
12
8
10
12
Sinal de controle u
0.2
(b)
0.1
0
−0.1
−0.2
0
2
4
6
tempo (s)
Figura 4.14: Manipulador de um elo com restrições: (a) ângulo do pêndulo em graus,
(c) Sinal de controle u.
122
Exemplo 4.5 (Pêndulo invertido - Restrições no Controle) Considere o sistema
do exemplo 4.3. Neste exemplo o sinal de controle é limitado a ±20N . A figura 4.15
mostra o desempenho do sistema para o caso 1 do exemplo 4.3 com γu = 10 e κu = 100.
De novo pode ser observado que o controlador faz o pêndulo balançar com o objetivo
de ganhar energia suficiente para erguer o pêndulo.
Pode ser verificado que quando o limite é abaixado para ±10N , o algoritmo não
converge mais.
h=0.02 N=50 uo= 0 max|u| = 20
5
Estados
0
−5
*=pole angle (rad), o=pole angular velocity (rad/s) +=cart position (m), ∆=cart velocity (m/s)
−10
0
0.5
1
1.5
2
2.5
3
3.5
4
3
3.5
4
h=0.02 N=50 uo= 0 max|u| = 20
20
Sinal de controle (N)
15
10
5
0
−5
−10
−15
−20
−25
0
0.5
1
1.5
2
2.5
Tempo (s)
Figura 4.15: Pêndulo invertido com restrições: Trajetória dos estados e sinal de
controle
123
4.3.3
Esquemas Relacionados
Nos últimos anos tem surgido na literatura uma série de trabalhos abordando o controle
de sistemas não-lineares baseados em métodos do tipo Newton (Economou & Morari
1985, Li & Biegler 1989, Li, Biegler, Economou & Morari 1990), métodos de continuação
(Ohtsuka & Fujii 1997) e métodos que utilizam homotopia (Reif, Winzierl, Zell &
Unbehauen 1996). Todos estes esquemas são relacionados com o método proposto neste
trabalho. Assim, cabe apresentar um breve resumo dos principais conceitos comuns a
todos estes esquemas.
Primeiramente discutiremos o esquema de controle tipo Newton proposto em (Economou
& Morari 1985, Economou, Morari & Palsson 1986) onde se considera o controle do
sistema não linear:
ẋ = f (x, u(t))
y = g(x)
com x ∈ IRn , u ∈ IRm e f, g suaves. Considera-se também que o estado completo é
mensurável. O algoritmo é apresentado em tempo discreto, de forma que a solução
para cada intervalo de amostragem é dada pelo mapeamento:
X s = xs+1 = X (T, xs , us )
onde T é o perı́odo de amonstragem, xs , us são o estado e o controle no instante
s (considera-se que us é a saı́da de um ZOH. O objetivo é definido de forma que
y s+2 = y ∗ , i.e. que a saı́da no instante s + 2 atinja a saı́da desejada y ∗ . Mediante uma
aproxmação de 1ra ordem ao redor xs , us , uma atualização do tipo Newton é definida
por:
us+1 = us − (C s Γs )−1 [C s Φs (X s − xs ) + (y s+1 − y ∗ )]
onde Φs =
∂X s
,
∂xs
Γs =
∂X s
,
∂us
Cs =
∂y s+1
,
∂xs
sendo que eles são calculados do sistema
linearizado ao redo de xs , us .
O algoritmo também utiliza o método de Armijo para determinar o parâmetro α a
124
fim de satisfazer:
s+2
y
− y ∗ − y s+1 − y ∗ ≤ ǫα
A análise é realizada considerando o sistema em malha fechada dado por:
xs+1 = X s (T, xs , us )
us+1 = Π(xs , us , y ∗ )
Deste forma, sob a hipótese de que o sistema em malha aberta é globalmente assintoticamente estável, o sistema em malha fechada é estável se:
∂X (T,x,u)
∂x
∂X (T,x,u)
∂u
∂Π(x,u)
∂x
∂Π(x,u)
∂u
≤ θ < 1
para todo (x, u) dentro de uma bola de raio r em torno da condição inicial (x0 , u0 ).
A relação entre o tempo de amostragem T e a estabilidade do sistema foi estudada
no caso de sistemas lineares em (Li et al. 1990). Restrições de desigualdade foram
consideradas utilizando funções de penalidade externas em (Li & Biegler 1988). Em (Li
& Biegler 1990) o esquema de controle é combinado com um algoritmo de estimação de
parâmetros. Em (Li & Biegler 1990) é estendido o algoritmo para um horizonte maior
que 1, onde ∆us = us+1 − us é determinado resolvendo um problema de programação
quadrática (QP) considerando uma aproximação linear de primeira ordem do sistema.
Por outro lado, em (Ohtsuka & Fujii 1997) é considerada uma estratégia de Horizonte Móvel em combinação com um método de continuação proposto para resolver um
problema de otimização. Introduzindo a variável de iteração τ , o método de Horizonte
Móvel é convertido numa familia de problema de controle ótimo parametrizada em t
dada por:
min J = ψ(x̂(T, t)) +
Z
T
0
L(x̂(τ, t), û(τ, t))dτ
onde x̂(·, t) é a trajetória gerada pelo controle û(·, t), e T é o horizonte de predição. O
controle do sistema é definido por
u(t) = û(0, t)
125
A solução deste problema é obtida da teoria do cálculo das variações (Bryson & Ho
1969):
∂ x̂(τ, t)
= HλT ;
∂τ
∂ λ̂(τ, t)
= −HxT ;
∂τ
Hu = 0
x̂(0, t) = x(t)
λ̂(T, t) = ψxT (x̂(T, t))
onde λ̂ ∈ IRn é o co-estado e H = L + λ̂T f . As equações de Euler-Lagrange definidas
acima recaem num problema de valores de fronteira em dois pontos que é transformado
num problema de cruzamento por zero:
F (λ(t), x(t), T ) = λ̂(T, t) − ψxT (x̂(T, t)) = 0
que é resolvido utilizando o método de continuação:
∂F
dλ(t)
=−
dt
∂λ
!−1 "
∂F dx(t) ∂F dT
+
αF +
∂x dt
∂T dt
de forma que a dinâmica de F seja dada por
F (0)e−αt → 0 com t → ∞.
dF
dt
#
= −αF que implica que F (t) =
Sendo que u(t) é determinado de:
u(t) = arg{Hu (x(t), λ(t), u(t)) = 0}
este problema é resolvido utilizando uma técnica de “varredura para trás” (backwardsweep) (Bryson & Ho 1969) onde a solução das equações de Euler-Lagrange deve ser
calculada para [0, T ]. Resultados experimentais são apresentados considerando um
uniciclo, onde também são consideradas restrições de desigualdade utilizando funções
de penalidade externas.
Finalmente, em (Reif et al. 1996) é apresentado um método de homotopia com o
objetivo de refinar o controle calculado para o sistema linearizado:
ż(t) = A(t)z(t) + B(t)w(t)
126
onde A(t) =
∂f
(x(t), u(t))
∂x
e B(t) =
∂f
(x(t), u(t)).
∂u
Desta forma, parametrizando a solução e o controle em σ ∈ [0, 1], x(·, σ), u(·, σ) é
mostrado que
∂x
= z(t, σ)
∂σ
onde z(t, σ) é a solução do sistema linearizado com condição inicial z(t0 , σ) =
e controle w(·, σ) =
∂x(t0 ,σ)
(σ)
∂σ
∂u
(·, σ).
∂σ
Projetando a lei de controle w(t) de forma a estabilizar o sistema linearizado (por
exemplo, utilizando LQR), i.e., ||z(t, σ)|| ≤ βe−αt , e uma lei de controle satisfazendo
∗
u(t, σ) = u +
Z
0
σ
w(t, σ ′ )dσ ′
tem-se que o estado x tende para o estado desejado xd , com ẋ = f (xd , u∗ ) = 0.
No entanto, este procedimento é uma controle em malha aberta. A sı́ntese de controladores realimentados baseados nesta técnica necessitam de considerações adicionais
recaindo sempre num problema de valores de fronteira em dois pontos (TPBVP) (Reif,
Winzierl, Zell & Unbehauen 1997).
4.4
Conclusões
Neste capı́tulo é apresentado o controle de sistemas não-lineares afins no controle com
drift. O método iterativo no espaço das trajetória é considerado para o controle destes
sistemas. Uma modificação na lei de atualização do controle é proposta para contornar
o efeito do drift. A análise de estabilidade do algoritmo é apresentada para a versão
discreta. O controle de um sistema linear invariante no tempo é também apresentado.
Simulações com e sem restrições no sinal de controle são conduzidas para mostrar a
viabilidade do método proposto.
127
Capı́tulo 5
Resultados Experimentais
Ao longo deste trabalho, o desempenho dos métodos propostos tem sido verificado
através de simulações dos sistemas não-holonômicos e sistemas não lineares mais representativos. Nestas simulações, os resultados obtidos com o método iterativo no
espaço das trajetórias foram por demais satisfatórios. Neste capı́tulo será apresentada
a aplicação deste método para o controle de um manipulador robótico de seis graus de
liberdade: o ZEBRA-ZERO (IMI Inc.).
O sistema Zebra Zero (vide figura 5.1) é composto pelo próprio manipulador, uma
placa controladora PC-ISA HCTL1 (mapeada na memória) encarregada do controle
em malha fechada de cada junta, e uma placa (situada na base do manipulador) com
os drivers de potência dos motores. Faz parte, também, deste pacote, uma biblioteca
em linguagem C com as funções básicas necessárias ao controle do manipulador.
O manipulador possui seis juntas de revolução, uma garra (efetuador) em seu punho
e um sensor de força localizado entre o punho e a garra. As duas primeiras juntas são
acionadas através de engrenagens acopladas diretamente nos eixos dos motores. Nas
quatro juntas restantes, são acionadas a distância através de longos eixos de acoplamento entre as engrenagens dos motores, os quais são posicionados atrás da junta 2
(para balancear o peso do manipulador). Este tipo de concepção mecânica determina
que o manipulador tenha folgas consideráveis.
Para a medição da posição são utilizados encoders incrementais HEDS5500 (HP
Inc.) com resolução de 500 CPR (CPR:Contagens por revolução). Os encoders fornecem na saı́da duas ondas em quadratura o que permite uma resolução de 2000 CPR.
128
Figura 5.1: Manipulador Zebra-Zero na configuração Ready
A leitura de posição realizada pelo encoder é enviada para a placa HCTL1. Existe
ainda uma alta relação de transmissão r = 96 entre os motores e as juntas, sendo que
a resolução obtida para a medição da posição é de 0.001875◦ (Altoé 1997).
A placa HCTL1 é composta por 8 circuitos integrados HCTL1100 (HP Inc.) encarregados de executar o controle de cada um dos motores. O HCTL1100 é um controlador
digital que possibilita quatro tipos de controle: controle de posição, de velocidade, integral e trapezoidal. Na realização das experiências executadas neste capı́tulo será
utilizado o controle de posição. O algoritmo implementado para controle de posição
pelo HCTL1100 é um controlador lead digital:
D(z) = Kc
z−a
z+b
onde os coeficiente Kc , a, b podem ser alterados por software, sendo seus valores default
Kc = 32, a =
229
256
e b =
64
.
256
O perı́odo de amostragem do controlador também é
programável. Seu valor default é h = 0.52 ms (2KHz). O sinal de controle gerado
pelo HCTL1100 é escrito em um registrador que gera uma saı́da PWM para os drivers de potência. Ao longo das experiências, os parâmetros foram mantidos nos seus
valores default. De fato, pelo tipo de motor utilizado, que aparentemente possue uma
129
elevada realimentação de força contra-eletromotriz, o controlador lead descrito acima
resulta em um desempenho mais que satisfatório. Em (Altoé, Lizarralde & Hsu 1998) é
mostrado que, para este sistema, um controlador clássico PI assegura um desempenho
comparável ao obtido com esquemas robustos (e.g. controle por modos deslizantes). A
conclusão de (Altoé et al. 1998) é que, devido às caracterı́sticas dos motores combinadas
com a elevada redução utilizada, torna-se difı́cil justificar a utilização de controladores
avançados.
Desta forma, a seguir trataremos do controle cinemático deste manipulador e desprezaremos a sua dinâmica. A configuração cinemática do manipulador ZEBRA-ZERO
é apresentada na figura 5.2.
Figura 5.2: Manipulador Zebra-Zero: Configuração Cinemática.
Os parâmetros de Denavit-Hartenberg (Spong & Vidyasagar 1989) do manipulador
ZEBRA-ZERO são apresentados na tabela 5.1.
Junta α (rad) A (mm) θ (rad) D (mm)
1
π/2
0
0
0
2
0
279.4
0
0
3
−π/2
0
0
0
4
π/2
0
0
228.6
5
−π/2
0
0
0
6
0
0
0
0
Tabela 5.1: Parâmetros de Denavit-Hartenberg do Manipulador Zebra-Zero
130
Representando a cinemática direta do manipulador como:
x(t) = f (θ(t))
onde x ∈ IRm são as coordenadas no espaço de trabalho e θ ∈ IRn são os ângulos das
juntas, a sua derivada no tempo é dada por
ẋ(t) = J(θ(t))θ̇(t)
(5.1)
onde a matriz J : IRm 7→ IRn , chamada de Matriz Jacobiana, é uma função não linear
dos ângulos θ. Neste contexto, um controle cinemático considera o sistema dado pela
equação (5.1) com entrada u = θ̇.
No caso n > m, tem-se que o sistema é redundante cinematicamente, i.e., a equação
(5.1) possue infinitas soluções. O planejamento de trajetórias de manipuladores redundantes é ainda um tópico aberto para pesquisa (vide (Spong, Lewis & Abdallah 1993)).
Em geral, a solução de (5.1) é dada por:
u(t) = θ̇(t) = J † ẋ(t) + [I − J † J]η(t)
onde (I − J † J) expande o espaço nulo de J, com η ∈ IRn arbitrário. A maioria dos
métodos utiliza o espaço nulo de J (i.e. η) para modificar a solução, de forma de
permanecer longe de singularidades, ângulos limites das juntas, obstáculos, etc.
Particularmente, em (Seereeram & Wen 1995) é proposto a utilização do método iterativo no espaço das trajetória para resolver o problema de planejamento de trajetórias
de um manipulador redundante. Os resultados obtidos em (Seereeram & Wen 1995),
bastante satisfatórios, motivaram o desenvolvimento desta técnica para o controle de
sistemas não-holonômicos.
Neste capı́tulo, considera-se o controle do manipulador ZEBRA-ZERO utilizando
o método de estabilização de sistemas sem drift proposto no capı́tulo 3.
Dado que o manipulador ZEBRA-ZERO é um manipulador tipo PUMA, a posição
e a orientação do efetuador são desacopladas. Assim a posição é determinada pelas
três primeiras juntas do manipulador (espinha-ombro-cotovelo), enquanto que a atitude
é determinada principalmente pelas três últimas juntas, que emulam o pulso. Deste
131
forma, o problema de controle será desenvolvido independentemente para a posição e
para a atitude do manipulador. Todos os algoritmos de controle foram codificados em
linguagem C++. A codificação foi simplificada pela utilização do compilador Matlab
para C++: Matcom (Mathtools Inc.), aproveitando o fato de todas as simulações terem
sido realizadas utilizando o pacote Matlab (Mathworks Inc.).
5.1
Controle de posição de um manipulador
Considera-se, portanto, o sistema dado por:
ṗ = J(θ)u
onde p ∈ IR3 é a posição cartesiana do manipulador, θ ∈ IR3 são os ângulos das três
primeiras juntas, u = θ̇.
Particularmente, no caso do ZEBRA-ZERO, a matriz Jacobiana é obtida a partir
da cinemática direta dada por:
x = cos(θ1 )(l1 cos(θ2 − l2 sin(θ2 + θ3 ))
y = sin(θ1 )(l1 cos(θ2 − l2 sin(θ2 + θ3 ))
z = l1 sin(θ2 ) + l2 cos(θ2 + θ3 )
onde l1 = 279.4 mm e l2 = 228.6 mm são os comprimentos dos elos 2 e 3. A matriz
Jacobiana pode ser calculada utilizando-se um pacote de computação simbólica (e.g.,
Maple) que geralmente possuem interfaces de saı́das para a linguagem C.
Considera-se, portanto, o problema de levar o efetuador do manipulador de uma
posição p0 para uma configuração desejada pd , onde entre estas duas configurações
existe um obstáculo caracterizado por uma bola de raio determinado.
Para solucionar este problema, será utilizado o método iterativo no espaço das
trajetória com estratégia de Horizonte Móvel. Neste algoritmo, o cálculo de ∇u φM é
simplificado devido ao fato de:
θ(k) = θ(k − 1) + hu(k − 1)
132
considerando que a entrada é constante ao longo do intervalo de amostragem.
A derivada ∇u φM é obtida do sistema linearizado ao redor de uma trajetória (p, u):
∂ ṗ = Pt ∂θ + Jt ∂u
onde Jt = J(θ(t)) e Pt =
h
i
∂J
∂J
(θ(t))u(t) · · · ∂θ
(θ(t))u(t)
∂θ1
n
.
No caso discreto, ∇u φM é calculada como (Seereeram & Wen 1995):
∇u φM = [h(J0 + hP1 + · · · + hPM −1 ) h(J1 + hP2 + · · · + hPM −1 ) · · · hJM −1 ]
Será considerada a seguinte experiência: a posição Ready, pr , do manipulador (vide
figura 5.1) é determinada pelos ângulos θ = [0, π/2, −π]T que representam a posição
pr = [228.6, 0, 279.4] em relação ao sistema de coordenadas inerciais fixo na segunda
junta. Considera-se que nessa posição é colocada uma bola de 185 mm de raio, e que
a posição do efetuador é deslocada para esquerda a 210 mm, determinando a condição
inicial p(0) = [228.6, 210.0, 279.4]. O objetivo é levar o efetuador para a posição
diametralmente oposta pd = [228.6, −210.0, 279.4]. A bola centrada na posição Ready
representa uma restrição de desigualdade a ser satisfeita pelo manipulador:
c(p) = r −
q
(x − xr )2 + (y − yr )2 + (z − zr )2 ≤ 0
onde r é o raio da bola e pr = [xr , yr , zr ]T representa a posição Ready. Esta restrição
é incorporada no algoritmo utilizando uma função de penalidade similar à apresentada
no capı́tulo 3.
A figura 5.3 mostra a trajetória da posição do manipulador para um perı́odo de
amostragem h = 1/20, horizonte de predição de 1s, γ = 100, κ = 100 e σ = 10 para a
função de penalidade.
Na figura 5.4 é mostrada a distância do efetuador até o centro da bola. Pode ser
observado que esta distância é estritamente maior do que raio da bola, r = 185, de
forma que o efetuador de fato não viola a restrição, i.e. não esbarra na bola.
Deve-se esclarecer que, devido ao computador do sistema ter um processador Intel
80486/30M hz, o algoritmo não é executado em tempo real. Por exemplo, o tempo de
execução real da experiência anterior foi de 15s. Resulta óbvio que com a utilização
133
500
Coordenadas x, y, z (mm)
400
300
200
100
0
−100
−200
−300
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Tempo (seg)
Figura 5.3: Controle de posição de um manipulador. (–) Coordenada x em mm; (-.-)
Coordenada y em mm; (- -) Coordenada z em mm.
270
260
250
||p − pr ||
240
230
220
210
200
190
180
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Tempo (seg)
Figura 5.4: Controle de posição de um manipulador. Distância do efetuador até o
centro da bola de 185mm de raio.
134
de um computador mais veloz possa ser obtido tempo real na execução do controle.
Dos resultados obtidos com um analisador de perfileis de execução de programas (foi
utilizado o programa gprof (GNU Foundation)) conclue-se que a função que mais
consome tempo é a decomposição em valores singulares (necessária para calcular a
pseudo-inversa de ∇u φM ). Uma possibilidade a ser explorada no futuro é a utilização
de rotinas de decomposição em valores singulares mais eficientes.
5.2
Controle de atitude de um manipulador
Em manipuladores robóticos, a atitude do efetuador em relação a um sistema de coordenadas inerciais fixo na base do manipulador, pode ser expressa como uma combinação
de transformações de coordenadas entre elos subsequentes. A relação entre o sistema
de coordenada (i − 1) e o sistema de coordenadas (i) pode ser expressa em função dos
parâmetros de Denavit-Hartenberg por:

 cosθi −cosαi sinθi

Ri = 
 sinθi


0
cosαi cosθi
sinαi

sinαi sinθi 


−sinαi cosθi 

cosαi

onde Ri ∈ SO(3). Desta forma, a orientação do efetuador do manipulador em relação
a um sistema de coordenada fixo é obtida como:
Re = R1 R2 R3 R4 R5 R6
Como já foi observado no exemplo 3.6 no capı́tulo 3 (satélite subatuado), a matriz
Re não parece ser a melhor forma de se representar a atitude dentro de um contexto
de controle. Devido a Re ∈ SO(3), são necessários 9 parâmetros e 6 restrições para sua
representação. Por outro lado, uma das representações mı́nimas não singulares mais
populares é “o quaternion”. A representação por quaternions unitários da matriz de
atitude R é dada por:
q T = [q0 q1 q2 q3 ] = [q0 qvT ]
q0 = cos(φ/2) ;
135
qv = ~k sin(φ/2)
onde φ é a rotação ao redor do eixo equivalente ~k definidos pelo Teorema de Euler
(Murray et al. 1994), sujeito à restrição q T q = 1. No caso de manipuladores com juntas
de revolução, a representação por quaternion torna-se muito conveniente, dado que o
eixo equivalente ~k é dado pelo eixo da junta, e φ é o ângulo de rotação θi da i-ésima
junta. Além disso, o quaternion possue propriedades computacionais interessantes
(Hughes 1986, Chou 1992, Funda & Paul 1988), principalmente por não utilizar funções
pesadas computacionalemente, tais como senos e cosenos.
Portanto, a cinemática direta de um manipulador tipo PUMA é dada por:
q = q1 ∗ q2 ∗ q3 ∗ q4 ∗ q5 ∗ q6 = f (θ)
onde qi é o quaternion que representa a rotação da i-ésima junta, e a multiplicação de
quaternions é dada por:

qi ∗ qi−1 = 

T
q0i q0,i−1 − qvi
qv,i−1
q0i qv,i−1 + q0,i−1 qvi + qvi × qv,i−1



Da figura 5.2 pode ser determinado que ~k1 = ~k4 = ~k6 = [0, 0, 1]T e ~k2 = ~k3 = ~k5 =
[0, −1, 0]T , e mediante a utilização de um pacote computacional simbólico, a matriz
jacobiana J =
∂f (θ)
,
∂θ
pode ser obtida sem maior dificuldade.
Para a realização das experiências, considera-se que o manipulador esta numa configuração inicial determinada por θ(0) = [0, π/2, −π, π, π/4, 0]T que representa um
quaternion
q(0) = [0, 0.9239, 0, 0.3827]T
A experiência consiste em aplicar o algoritmo iterativo no espaço das trajetória para
levar o sistema a uma orientação desejada definida pelo quaternion
qd = [0.6533, 0.6533, 0.2706, 0.2706]T
para esta atitude θd = [0, π/2, −π, π/2, π/4, 0]T .
O perı́odo de amostragem é escolhido h = 1/20 e o horizonte de predição T = 1 s,
i.e. M = 20.
136
A figura 5.5 mostra o comportamento da parte vetorial do quaternion, qv (t). O
desempenho apresentado é satisfatório, podendo-se observar que existe um erro de
estacionário na resposta do sistema. Este erro de regime aparece principalmente como
consequência das folgas na transmissão mecânica das últimas três juntas.
1
0.9
0.8
0.7
qv
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Tempo (seg)
Figura 5.5: Controle de atitude de um manipulador. Parte vetorial do quaternion:
qv . (–) qv1 ; (-.-) qv2 ; (- -) qv3 .
5.3
Controle de atitude de um corpo rı́gido subatuado
Nesta seção, apresenta-se o controle de atitude de um corpo rı́gido sub-atuado. Este
problema emula o caso do controle de atitude de um satélite. Considera-se para tanto
que um corpo rı́gido é fixado no efetuador do manipulador ZEBRA-ZERO. A idéia é
controlar a atitude deste corpo rı́gido através do manipulador, sendo que este não pode
exercer torques em determinadas direções.
Desta forma, o controle cinemático utilizando quaternions é dado por:
1
q̇ = E(q)ω,
2
com
ω = Bu
(5.2)
onde E(q) ∈ IR4×3 é o jacobiano da representação (vide (3.34) e (3.35)), u ∈ IR2 é o
sinal de controle, e B ∈ IR3×2 . Por exemplo, no caso que não exista atuação no eixo x
137
nas coordenadas do corpo, a matriz B é dada por


 0 0 



 1 0 
B=




0 1
O sinal de entrada é definido pelas velocidades angular em torno aos eixos y e z, i.e.
(ω2 , ω3 ). No entanto, no controle cinemático de um manipulador robótico as entradas
são as velocidades das juntas θ̇. Este sinal pode ser obtido através da cinemática
diferencial baseada no jacobiano do manipulador:
ω = Jm (θ)θ̇
onde Jm é o jacobiano do manipulador. No caso que a atitude seja definida pelas
três últimas juntas do manipulador, Jm é uma matriz quadrada de dimensão 2 × 3,
facilitando deste modo a obtenção do sinal θ̇:
†
θ̇ = Jm
ω
É considerada, portanto a seguinte experiência: o corpo rı́gido tem uma orientação
dada por q(0) = [0.2706, −0.6533, 0.2706, −0.6533]T que é definida pela posição
θ(0) = [π, 0, π/4]T . O objetivo desta experiência é girar o corpo 90 graus ao redor do
seu eixo x. No entanto, o corpo não possui atuação ao redor deste eixo. Desta forma,
a tarefa tem que ser realizada combinando rotações ao longo dos outros dois eixos, y e
z. A orientação desejada é portanto dada por qd = [0.5, −0.5, −0.5, −0.5]T .
O algoritmo é implementado utilizando um perı́odo de amostragem h = 1/20, um
horizonte de predição M = 20 e mediante a utilização da regra de Armijo com σ = 0.5.
A trajetória predita é calculada observando que:

−qvT


T

1
1  0 −ω 
1

q̇ = E(q)ω = 
ω = 

 q = Ω(ω)q
2
2 q0 I − (qv ×)
2 ω (ω×)
138
obtendo desta forma a solução q(t) como1 :
q(t) = eΩ(ω)(t−t0 ) q(t0 )
com




 0 −ω1 −ω2 −ω3 





ω1
0
ω3 −ω2 

1  0 −ω T  1 

Ω(ω) = 
= 


2 ω (ω×)
2  ω2 −ω3
0
ω1 


ω3
ω2 −ω1
0
onde a matriz eΩ(ω)h é definida pela expansão em serie de Taylor:
eΩ(ω)h = I + Ωh + Ω2
h2
h3
+ Ω3 + · · ·
2!
3!
Devido à estrutura particular de Ω(ω) (ela é anti-simétrica, i.e., Ω = −ΩT ), tem-se que
4Ω2 = − ||ω||2 I e 4Ω3 = − ||ω||2 Ω, simplificando o cálculo para (Murray et al. 1994):
eΩ(ω)h =
2Ω
sin(||ω|| h/2) + cos(||ω|| h/2))I
||ω||
dando um método eficiente para calcular eΩ(ω)h , como a Formula de Rodrigues é para
o calculo da orientação de corpos rı́gidos (c.f. x(Murray et al. 1994, pag. 28)).
A figura 5.6 mostra a velocidade angular (ω2 , ω3 ) do corpo rı́gido e a orientação
representado pelo quaternion q. Pode ser observado que após 1.5s o corpo atinge a
orientação desejada.
A figura 5.7a mostra os ângulo das três últimas juntas do manipulador, onde a
posição final do manipulador tende para θf = [3/2π, π/2, −π/2]. A figura 5.7b apresenta o comportamento da norma do erro de predição eM (k), onde pode ser observada
a convergência do erro para zero.
Nas figuras, pode ser observado como o método iterativo no espaço das trajetórias
executa a tarefa satisfatoriamente, primeiro girando o corpo ao redor do eixo y, para de
sucessivamente girar em torno os eixos z e y de novo, atingindo desta forma o objetivo.
Rt
Ω(ω(τ ))dτ
q(t0 ). Neste trabalho, a hipótese é Ω(ω) ser constante no
Mais corretamente q(t) = e t0
intervalo de integração.
1
139
Velocidade angular (r/s)
6
4
(a)
2
0
−2
−4
−6
−8
0
0.5
1
1.5
2
2.5
3
3.5
4
2.5
3
3.5
4
Quaternion
1
(b)
0.5
0
−0.5
−1
0
0.5
1
1.5
2
Figura 5.6: Controle de atitude de um corpo rı́gido: (a) Velocidades angulares (r/s),
(–): ω2 , (- -): ω3 . (b) Orientação q = [q0 qv ]T , (–): q0 , (-.-): qv1 , (- -):
qv2 , (..): qv3 .
Posição das juntas θ (graus)
300
200
100
0
−100
−200
0
0.5
1
1.5
2
2.5
3
3.5
4
3
3.5
4
Norma de eM (k)
0.8
0.6
0.4
0.2
0
0
0.5
1
1.5
2
2.5
Figura 5.7: Controle de atitude de um corpo rı́gido: (a) posição das juntas do manipulador θ. (–): θ4 , (-.-) θ5 , (- -): θ6 . (b) Norma do erro de predição
eM (k).
140
5.4
Conclusões
Neste capı́tulo foram apresentados resultados experimentais do método iterativo no
espaço das trajetórias aplicado num sistema robótico. No controle de posição do manipulador foram consideradas restrições de desigualdade adicionais, produto de um
obstáculo no espaço de trabalho. Os resultados obtidos mostraram a viabilidade e
aplicabilidade do método proposto.
O controle de atitude de um manipulador robótico também foi considerado utilizando quaternions para representar a atitude do efetuador.
Desta forma, os bons resultados obtidos por simulação foram verificados experimentalmente, mostrando que o método proposto neste trabalho é um candidato importante
na corrida por obter métodos gerais de controle de sistemas não-lineares afins no controle com/sem drift.
141
Capı́tulo 6
Trabalhos Futuros
Nos capı́tulos anteriores foi apresentado um novo método para resolver o problema de
estabilização de uma classe de sistemas não lineares. O método proposto foi utilizado
para o controle de sistemas não-holonômicos e não lineares com drift, onde sua convergência global é garantida sob certas hipóteses de não singularidades e de Lipschitz.
Resultados de simulação mostraram como o algoritmo pode ser satisfatoriamente aplicado no controle de sistemas não lineares gerais. Resultados experimentais mostraram
que a metodologia proposta pode ser utilizada no controle de uma grande classe de
sistemas mecânicos. Apesar do sucesso obtido, existem ainda alguns temas que necessitam um melhor desenvolvimento.
Portanto, para dar continuidade ao trabalho já realizado, sugerem-se os seguintes
pontos para pesquisas futuras:
• Análise da robustez do método com respeito a incertezas na modelagem e perturbações externas. As incertezas no modelo afetam o mapeamento do ponto
final φM e o gradiente do mesmo ∇φ. Numa análise por Lyapunov estas incertezas aparecem como termos com sinal indefinidos, devendo ser dominados por
termos que dependam dos parâmetros do controlador. As simulações mostraram
que de fato o esquema é robusto, no entanto uma análise rigorosa é naturalmente
desejável.
• Um estudo mais detalhado sobre o efeito das singularidades do método produzidas pela perda de posto da matriz ∇φ, poderia ser realizado. Esquemas de
identificação de tais singularidades foram propostos num trabalho relacionado
142
(Popa 1998). A inclusão destes esquemas no problema de estabilização de sistemas não-lineares sem ou com drift parece promissora.
• A aplicação do método para sistemas incertos num contexto de controle adaptativo, é uma possibilidade a ser estudada, especialmente no caso em que o modelo
da planta possa ser parametrizado linearmente. Seria necessário incorporar uma
lei de adaptação para corrigir o gradiente do mapeamento para o ponto final ∇φ,
na lei de atualização método iterativo no espaço das trajetórias.
• Resultados experimentais com veı́culos terrestres poderiam mostrar a viabilidade
e a relevância do método para auxiliar um motorista de automóvel ou de caminhão na tarefa de estacionar o veı́culo. O auxı́lio poderia ser realizado em
modo totalmente automático ou semi-automático, e poderia ser de grande utilidade prática sobretudo em veı́culos de grande porte com reboques, e.g., docagem
de caminhões carregando cereais em um porto.
• Abordagem do problema de realimentação de saı́da utilizando conceitos de passividade similares aos propostos em (Lizarralde & Wen 1996b, Lizarralde &
Wen 1996a, Lizarralde, Wen & Hsu 1995) para o controle de atitude de um
corpo rı́gido ou de um sistema veı́culo móvel/manipulador robótico.
• Utilização de redes neuronais para representar o modelo de predição. Neste caso,
poderia ser almejado um controle adaptativo usando algum esquema de aprendizado da rede.
143
Capı́tulo 7
Conclusões Gerais
Neste trabalho focalizamos o problema de controle de sistemas não-lineares afins na
variável de controle, em especial os sistemas mecânicos com restrições não-holonômicas.
Tanto o caso com drift como sem drift são considerados. A abordagem utilizada baseiase num método iterativo de planejamento de trajetória, com a iteração sendo do tipo
Newton. O citado método iterativo, concebido para aplicações de controle em malha
aberta, é transformado em um algoritmo de realimentação. A idéia principal para
considerar o problema de controle em malha fechada foi a de acoplar a variável de
iteração, do método tipo Newton, à variável tempo real. Assim pode-se executar o
controle a cada passo de iteração, sem esperar pela convergência definitiva do método
de Newton. Uma caracterı́stica do algoritmo é a utilização de um horizonte móvel
de predição (Horizonte Móvel ). Assim, a algoritmo pode ser interpretado como um
algoritmo de controle preditivo.
Da análise de estabilidade do sistema em malha fechada, e sob hipótese de não
singularidade, conclui-se que a convergência do estado para um valor desejado é garantida globalmente mediante uma condição de conservação de posto de uma matriz, que
significa a preservação da controlabilidade local em torno da trajetória predita, a cada
instante.
A generalidade do método permite abordar o controle de diversos sistemas mecânicos
relevantes: sistemas não-holonômicos cinemáticos ou dinâmicos, sistemas mecânicos
subatuados, etc.
Simulações com vários sistemas não-lineares mostram a viabilidade e a robustez
144
do esquema de controle proposto. Os resultados obtidos são comparáveis aos obtidos
utilizando outras metodologias (e.g. (M’Closkey & Murray 1993, Canudas de Wit &
Sordanlen 1992)), sendo que o grande atrativo da metodologia proposta é a naturalidade com que restrições de desigualdade podem ser incorporadas utilizando funções
de penalidades. Tais restrições quase sempre ocorrem em situações práticas. Esta
caracterı́stica é difı́cil ou impossı́vel de ser obtida com outros métodos, garantindo a
originalidade deste trabalho.
Finalmente, resultados experimentais utilizando um manipulador robótico tipo PUMA
mostram a viabilidade da implementação em tempo real do algoritmo proposto. Desta
forma, sistemas mecânicos mais gerais, nos quais o problema de controle ainda não
foi resolvido, podem também ser considerados dentro de um contexto de controle em
tempo real, ao contrário do que ocorre com controle por modelo de predição que geralmente é associado ao controle de processos lentos. Os problemas de controle de posição
e atitude com restrições foram satisfatoriamente resolvidos. O difı́cil problema do controle de atitude de um corpo rı́gido sub-atuado foi também considerado, utilizando
quaternions para representar a orientação do corpo.
Em conclusão, o algoritmo apresentado tem-se mostrado adequado para resolver o
problema de estabilização de uma grande classe de sistemas não lineares.
145
Referências Bibliográficas
Albertini, F. & Sontag, E. (1993), ‘Discrete-time transitivity and accessibility: Analytic
systems’, SIAM J. Control and Opt. 31, 1599–1622.
Albertini, F. & Sontag, E. (1994), ‘Further results on controllability properties of
discrete-time nonlinear systems’, Dynamic and Control 4, 235–253.
Allgower, E. & Georg, K. (1990), Numerical Continuation Methods, Springer-Verlag.
Altoé, L. (1997), Controle avançado de um manipulador robótico, Technical report,
DEL/EE, Univ. Federal do Rio de Janeiro.
Altoé, L., Lizarralde, F. & Hsu, L. (1998), Controle avançado de um manipulador
robótico, in ‘Anais do 12 Congresso Brasileiro de Automática’, Uberlandia, MG,
pp. 1089–1094.
Arnold, V. (1989), Mathematical Methods of Classical Mechanics, Springer-Verlag, New
York.
Åström, K. J. & Wittenmark, B. (1990), Computed-controlled systems: theory and
design, Prentice-Hall.
Barraquand, J. & Latombe, J. (1989), On nonholonomic mobile robots and optimal
maneuvering, in ‘Proc. Intelligent Control Workshop’, Albany, NY, pp. 340–347.
Barraquand, J. & Latombe, J. (1991), Nonholonomic multibody mobile robots: Controllability and motion planning in the presence of obstacles, in ‘Proc. 1991 IEEE
Robotics and Automation Conference’, Sacramento, CA, pp. 2328–2335.
Beard, R., Saridis, G. & Wen, J. (1997), ‘Galerkin approximations of the generalized
Hamilton-Jacobi-Bellman equation’, Automatica 33(12), 2159–2177.
Bloch, A., McClamroch, N. & Reyhanoglu, M. (1990), Controllability and stabilizability properties of a nonholonomic control system, in ‘Proc. 29th IEEE Conf. on
Decision and Control’, Honolulu, HI, pp. 1312–1314.
Bloch, A., Reyhanoglu, M. & McClamroch, N. (1992), ‘Control and stabilization
of nonholonomic dynamic systems’, IEEE Transactions on Automatic Control
37, 1746–1757.
Boyd, S. & Barratt, C. (1991), Linear Controller Desgin: Limits of Performance,
Prentice–Hall, Englewood Cliff, NJ.
146
Brockett, R. (1983), Asymptotic stability and feedback stabilization, in R. M. R. Brockett & H. Sussmann, eds, ‘Differential Geometric Control Theory’, Vol. 27,
Birkhauser, pp. 181–208.
Brogan, W. (1991), Modern Control Theory, 3rd edn, Prentice Hall.
Bryson, A. & Ho, Y. (1969), Applied Optimal Control, Braisdell Pub. Company.
Bushnell, L., Tilbury, D. & Sastry, S. (1993), Steering three-input chained form nonholonomic systems using sinusoids: the fire truck example, in ‘Proc. of the European
Control Conf.’, pp. 1432–1437.
Campion, G., d’Andrea-Novel, D. & Bastin, G. (1991), Controllability and state feedback stabilizability of nonholonomic mechanical systems, in C. Canudas de Wit,
ed., ‘Advanced Robot Control’, Springer Verlag.
Canudas de Wit, C. & Sordanlen, O. (1992), ‘Exponential stabilization of mobile robots
with nonholonomic constraints’, IEEE Trans. Aut. Contr. 37(11), 1791–1797.
Chou, J. (1992), ‘Quaternion kinematic and dynamical differential equations’, IEEE
Trans. Robotics and Automation 8(1), 53–64.
Chow, W. (1939), ‘Uber systeme von linearen partiellen differentialgleichungen ester
ordnung’, Math. Ann. (117), 98–105.
Coron, J.-M. (1992), ‘Global asymptotic stabilization for controllable systems without
drift’, Mathematics of Control, Signals, and Systems.
Dahleh, M. & Pearson, J. (1987), ‘l1 -Optimal feedback controllers for mimo discretetime systems’, IEEE Trans. Aut. Contr. 32, 314–322.
Dennis, J. & Schnabel, R. (1996), Numerical Methods for Unconstrained Optimization
and Nonlinear equations, SIAM.
Divelbiss, A. (1993), Nonholonomic Motion Planning in the Presence of Obstacles,
PhD thesis, Rensselaer Polytechnic Institute, Troy (NY).
Divelbiss, A. & Wen, J. (1992a), A global approach to nonholonomic motion planning,
in ‘Proc. 31th IEEE Conf. on Decision and Control’, Tucson, AZ.
Divelbiss, A. & Wen, J. (1992b), Nonholonomic motion planning with constraint handling: Application to multiple–trailer vehicles, in ‘Proc. 31th IEEE Conference on
Decision and Control’, Tucson, AZ.
Divelbiss, A. & Wen, J. (1992c), A perturbation refinement method for nonholonomic
motion planning, in ‘Proc. 1992 American Control Conference’, Chicago, IL.
Divelbiss, A. & Wen, J. (1993), Nonholonomic path planning with inequality constraints, in ‘Proc. 32nd IEEE Conf. on Decision and Control’, San Antonio, TX,
pp. 2712–2717.
147
Divelbiss, A. & Wen, J. (1994), Nonholonomic motion planning with inequality constraints, in ‘Proc. 1994 IEEE Int. Conf. on Robotics and Automation’, San Diego,
CA.
Divelbiss, A. & Wen, J. (1997a), ‘A path space approach to nonholonomic motion
planning in the presence of obstacles’, IEEE Trans. on Robotics and Automation
13(3), 443–451.
Divelbiss, A. & Wen, J. (1997b), ‘Trajectory tracking control of a car–trailer system’,
IEEE Trans. on Control System Technology 5(3), 269–278.
Economou, C. & Morari, M. (1985), Newton control laws for nonlinear controller design, in ‘Proc. 25th IEEE Conf. on Decision and Control’, Fort Lauderdale, FL,
pp. 1361–1366.
Economou, C., Morari, M. & Palsson, B. (1986), ‘Internal Model Control. 5. extension
to nonlinear systems’, Ind. Eng. Chem. Process Des. Dev. 25(2), 403–411.
Fernandes, C., Gurvits, L. & Li, Z. (1992), Attitude control of space platform/manipulator system using internal motion, in ‘Proc. 1992 IEEE Robotics
and Automation Conference’, Nice, France, pp. 893–898.
Fernandes, C., Gurvits, L. & Li, Z. (1994), ‘Near-optimal nonholonomic motion planning for a system of coupled rigid bodies’, IEEE Transactions on Automatic Control 39(3), 450–463.
Fierro, R. & Lewis, F. (1998), ‘Control of a nonholonomic mobile robot using neural
networks’, IEEE Trans. Neural Networks 9(4), 589–600.
Filippov, A. F. (1964), ‘Differential equations with discontinuous right-hand side’, American Math. Soc. Translations 42(2), 199–231.
Franklin, G., Powell, J. D. & Workman, M. L. (1990), Digital Control of Dynamic
Systems, 2 edn, Addison Wesley.
Funda, J. & Paul, R. (1988), A comparison of transform and quaternions in robotics,
in ‘Proc. IEEE Conf. Robotics&Automation’, pp. 886–891.
Gantmacher, F. (1970), Lectures in Analytical Mechanics, MIR.
Garcia, C., Prett, D. & Morari, M. (1989), ‘Model Predictive Control: Theory and
practice - a survey’, Automatica 25(3), 335–348.
Geva, S. & Sitte, J. (1993), ‘A cartpole experiment benchmark for trainable controllers’,
IEEE Contr. Systems 13(5), 40–51.
Herskovits, J. (1996), ‘A feasible directions interior point technique for nonlinear optimization’, ???
Hughes, P. (1986), Spacecraft Attitude Dynamics, John Wiley.
Isidori, A. (1995), Nonlinear Control Systems, 3rd edn, Springer-Verlag.
148
Jakubczyk, B. & Sontag, E. (1990), ‘Controllability of nonlinear discrete time systems:
a Lie-algebraic approach’, SIAM J. Control and Opt. 28, 1–33.
Kalman, R., Ho, Y. & Narendra, K. (1963), ‘Controllability of linear dynamical systems’, Contributions to Different Equations 1, 189–213.
Kane, T. & Scher, M. (1969), ‘A dynamical explanation of the falling cat phenomenon’,
International Journal on Solid Structures 5, 663–670.
Kelley, C. (1995), Iterative Methods for Linear and Nonlinear Equations, SIAM.
Kolmanovsky, I. & McClamroch, N. (1995), ‘Developments in nonholonomic control
problems’, IEEE Control System Magazine pp. 20–36.
Kong, S. & Kosko, B. (1992), ‘Adaptive fuzzy systems for backing up a truck-andtrailer’, IEEE Transactions on Neural Networks 3, 211–223.
Krishnan, H., McClamroch, H. & Reyhanoglu, M. (1992), On the attitude stabilization
of a rigid spacecraft using two control torques, in ‘Proc. American Contr. Conf.’,
Chicago, pp. 1990–1995.
Kwakernaak, H. & Sivan, R. (1972), Linear Optimal Control Systems, John Wiley, New
York.
Kwon, W. & Pearson, A. (1977), ‘A modified quadratic cost problem and feedback
stabilization of a linear system’, IEEE Trans, on Automatic Control 22, 838–842.
Laumond, J. (1991a), Controllability of a multibody mobile robot, in ‘Proc. IEEE 5th
Int. Conf. on Advanced Robotics’, Pisa, Italy, pp. 1033–1038.
Laumond, J.-P. (1991b), Singularities and topological aspects in nonholonomic motion
planning, in ‘1991 IEEE R&A Workshop on Nonholonomic Motion Planning’,
Sacramento, CA.
Li, W. & Biegler, L. (1988), ‘Process control strategies for contrained nonlinear systems’, Ind. Eng. Chem. Res. 27(8), 1421–1433.
Li, W. & Biegler, L. (1989), ‘Multistep, Newton-type control strategies for contrained
nonlinear process’, Chem. Eng. Res. Des. 67, 562–577.
Li, W. & Biegler, L. (1990), ‘Newton-type controllers for contrained nonlinear process
with uncertainty’, Ind. Eng. Chem. Res. 29(8), 1647–1657.
Li, W., Biegler, L., Economou, C. & Morari, M. (1990), ‘A constrained pseudo-Newton
control strategies for nonlinear systems’, Computes Chem, Eng. 14(4/5), 451–468.
Li, Z. & Canny, J. (1990), ‘Motion of two rigid bodies with rolling constraint’, IEEE
Trans. on Robotics and Automation 6(1), 62–72.
Lin, Y. & Sontag, E. (1991), ‘Universal formula for stabilization with bounded controls’,
Systems & Control Letters 16(6), 393–397.
149
Lizarralde, F. & Wen, J. (1995), Feedback stabilization of nonholonomic systems based
on path space iteration, in ‘Proc. 2nd Int. Symp. on Methods and Models in
Automation and Robotics (MMAR’95)’, Warzaw, Poland.
Lizarralde, F. & Wen, J. (1996a), ‘Attitude control without angular velocity measurement: a passivity approach’, IEEE Trans. Aut. Contr. 41(3), 468–472.
Lizarralde, F. & Wen, J. (1996b), Feedback stabilization of nonholonomic systems
in presence of obstacles, in ‘Proc. IEEE Int. Conf. on Robotics&Automation’,
Minniapolis, pp. 2682–2687.
Lizarralde, F., Wen, J. & Hsu, L. (1995), Quaternion-based coordinated control of
a subsea mobile manipulator with only position measurements, in ‘Proc. IEEE
Conf. on Dec. and Contr.’, New Orleans, pp. 2000–2005.
Lizarralde, F., Wen, J. & Hsu, L. (1996a), Feedback stabilization of nonholonomic
systems: A path space iteration approach, in ‘11◦ Congresso Brasilerio de Automática’, São Paulo, pp. 1525–1530.
Lizarralde, F., Wen, J. & Hsu, L. (1997), Feedback stabilization of nonlinear systems:
a path space iteration approach, in ‘Proc. IEEE Conf. on Dec. and Contr.’, San
Diego (CA).
Lizarralde, F., Wen, J. & Popa, D. (1996b), Feedback stabilization of nonholonomic
systems, in ‘1996 Proc. Conf. on Information Sciences and Systems (CISS’96)’,
Princeton, NJ.
Luenberger, D. (1984), Linear and Nonlinear Programming, Addison-Wesley.
Malmgren, A. & Nordstrom, K. (1994a), ‘A contraction property for state feedback
design of linear discrete-time systems’, Automatica 30(9), 1485–1489.
Malmgren, A. & Nordstrom, K. (1994b), ‘Optimal state feedback control with a prescribed contraction property’, Automatica 30(11), 1751–1756.
Mayne, D. & Michalska, H. (1990), ‘Receding horizon control of nonlinear systems’,
IEEE Trans, on Automatic Control 35(7), 814–824.
M’Closkey, R. & Murray, R. (1993), Convergence rates for nonholonomic systems in
power form, in ‘Proc. American Contr. Conf.’, San Fransisco.
Michalska, H. & Mayne, D. (1993), ‘Robust receding horizon control of constrained
nonlinear systems’, IEEE Trans, on Automatic Control 38(11), 1623–1633.
Michel, R. & Miller, A. (1982), Ordinary Differential Equation, Academic Press.
Murray, R. & Sastry, S. (1993), ‘Nonholonomic motion planning – steering using sinusoids’, IEEE Trans. on Automatic Control 38, 700–716.
Murray, R., Li, Z. & Sastry, S. (1994), A Mathematical Introduction to Robotic Manipulation, CRC.
150
Nakamura, Y. & Mukherjee, R. (1990), Nonholonomic motion planning of space robots via bi-directional approach, in ‘Proc. 1990 IEEE Robotics and Automation
Conference’, Cincinnati, OH, pp. 1764–1769.
Nijmeijer, H. & van der Schaft, A. (1990), Nonlinear Dynamical Control Systems,
Springer-Verlag, New York, NY.
Ohsumi, A. & Izumikawa, T. (1995), Nonlinear control of swing-up and stabilization
of an inverted pendulum, in ‘Proc. IEEE Conf. Dec. and Contr.’, New Orleans,
LA, pp. 3873–3878.
Ohtsuka, T. & Fujii, H. (1997), ‘Real-time optimization algorithm for nonlinear
receding-horizon control’, Automatica 33(6), 1147–1154.
Ortega, J. & Rheinboldt, W. (1970), Iterative Solution of Nonlinear Equation in several
variables, Academic Press.
Popa, D. (1998), Path Planning and Feedback Stabilization of Nonholonomic Control
Systems, PhD thesis, Rensselaer Polytechnic Institute, Troy (NY, USA).
Popa, D. & Wen, J. (1996), Characterization of singular controls for nonholonomic
path planning, in ‘Proc. 13th IFAC World Congress’, San Francisco, pp. 61–66.
Press, W., Flannery, B., Teukolsky, S. & Vetterling, W. (1986), Numerical Recipes:
The Art of Scientific Computing, Cambridge University Press, Cambridge, U.K.
Reif, K., Winzierl, K., Zell, A. & Unbehauen, R. (1996), Application of homotopy
methods to nonlinear control problems, in ‘Proc. IEEE Conf. Dec. and Contr.’,
Kobe (Japan).
Reif, K., Winzierl, K., Zell, A. & Unbehauen, R. (1997), ‘Nonlinear feedback stabilization by tangential linearization’, International Journal of Control 68(3), 673–687.
Richter, S. & DeCarlo, R. (1983), ‘Continuation methods: Theory and applications’,
IEEE Trans. on Circuits and Syst. 30(6), 347–352.
Ryan, E. (1994), ‘On Brockett’s condition for smooth stability and its necessity in a context of nonsmooth feedback’, SIAM J. on Cotnrol and Optimization 32(6), 1597–
1604.
Samson, C. & Ait-Abderrahim, K. (1991), Feedback stabilization of a nonholonomic
wheeled mobile robot, in ‘IEEE/RSJ Int. Workshop on Intelligent Robots and
Systems’, Osaka, Japan, pp. 1242–1247.
Seereeram, S. & Wen, J. (1995), ‘A global approach to path planning for redundant
manipulators’, IEEE Trans. on Robotics and Automation 11(1), 152–160.
Shaw, L. (1979), ‘Nonlinear control of linear multivariable systems via state dependent
feedback gains’, IEEE Trans, on Automatic Control 24(1), 108–112.
Soeterboek, R. (1992), Predictive Control: a unified approach, Prentice Hall.
151
Sontag, E. (1990a), Integrability of certain distributions associated to actions on manifolds and an itroduction to lLie algebric control, in H. Sussmann, ed., ‘Nonlinear
Controllability and Optimal Control’, Marcel Dekker.
Sontag, E. (1990b), Mathematical Control Theory, Springer-Verlag.
Sontag, E. (1993), ‘Non–singular trajectories, path planning, and time–varying feedback for analytic systems without drift’, IMA Workshop on Robotics.
Sontag, E. (1995), ‘Control of systems without drift via generic loops’, IEEE Trans.
on Automatic Control 40(7), 1210–1219.
Sontag, E. & Lin, Y. (1992), Gradient techniques for systems with no drift, in ‘Proc.
of Conf. in Signals and Systems’.
Spong, M., Lewis, F. & Abdallah, C. (1993), Robot Control: Dynamic, Motion Planning
and Analysis, IEEE Press.
Spong, M. W. & Vidyasagar, M. (1989), Robot Dynamics and Control, John Wiley&Sons.
Sussmann, H. (1987), ‘A general theorem on local controllabilty’, SIAM J. Control and
Optimization 25(1), 158–194.
Sussmann, H. (1991), Local controllability and motion planning for some classes of
systems with drift, in ‘Proc. 30th IEEE Conf. on Decision and Control’, Brighton,
England.
Sussmann, H. (1993), A continuation method for nonholonomic path-finding problem,
in ‘Proc. 32nd IEEE Conference on Decision and Control’, San Antonio, TX,
pp. 2718–2723.
Sussmann, H. & Chitour, Y. (1993), ‘A continuation method for nonholonomic path
finding problem’, IMA Workshop on Robotics.
Sznaier, M. (1992), A mixed l2 /h∞ approach to robust controller design, in ‘Proc.
American Contr. Conf.’, Chicago (IL), pp. 727–732.
Teel, A., Murray, R. & Walsh, G. (1992), Nonholonomic control systems: from steering
to stabilization with sinusoids, in ‘Proc. IEEE Conf. Dec. and Contr.’, Tucson.
Tenenbaum, R. (1997), Dinâmica, Ed. UFRJ.
Tilbury, D., Murray, R. & Sastry, S. (1995), ‘Trajectory generation for the N-trailer problem using Goursat normal form’, IEEE Trans. on Automatic Control 40(5), 802–
819.
Wei, Q., Dayawansa, W. & Levine, W. (1995), ‘Nonlinear controller for an inverted
pendulum having restricted travel’, Automatica 31(6), 841–850.
Wen, J. (1995), Control of nonholonomic systems, in W. Levine, ed., ‘The Control
Handbook’, CRC Press.
152
Widrow, B. & Lehr, . (1990), ‘30 years of adaptive neural networks’, Proc. of IEEE
78(9), 1415–1441.
Zabczyk, J. (1989), ‘Some comments on stabilizability’, Applied Mathematics and Optimization 19, 1–9.
153

Documentos relacionados