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