186
Projeto de Robˆos B´ ıpedes com Dinˆamica Simplificada Modelagem, Controle e S´ ıntesede Trajet´orias Cauˆ e Peres Orientador : Paulo S´ ergio Pereira da Silva 30 de Maio de 2008

Projeto de Rob^os B¶‡pedes com Din^amica Simpliflcada ...€¦ · Ao Amigo Paulo S¶ergio, Professor Dr, e neste trabalho enfatizo a palavra \amigo"pois s¶o um verdadeiro amigo

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Projeto de Robos Bıpedes com DinamicaSimplificada

Modelagem, Controle e Sıntese de Trajetorias

Caue PeresOrientador : Paulo Sergio Pereira da Silva

30 de Maio de 2008

Agradecimentos

Agradeco ao Criador por todas as oportunidades que me foram propor-cionadas. Pelo apoio incondicional e pela dedicacao que so os pais podemoferecer, agradeco imensamente a minha mae Debora e ao meu pai Luiz, e aseus respectivos companheiros Tao e De que tambem sempre me apoiaram.Ao meu irmao Diogo que tanto me elogiou por continuar estudando e foi umgrande companheiro de infancia. Aos meus avos, tios e demais parentes, que,como em toda grande famılia dividiram as alegrias das etapas vencidas. Aosmeus amigos da Graduacao, da Alemanha e do meu atual emprego que alemde me apoiarem, me proporcionaram importantes momentos de descontracaodurante a elaboracao deste trabalho.

Em especial, agradeco a minha esposa Regina, que sempre esteve ao meulado, me incentivando e por vezes, aturando, pacientemente, as horas maisintensivas de trabalho. Inumeras vezes revisou meus trabalhos, me aconse-lhando e compartilhando toda a alegria de finalizar um projeto tao impor-tante em minha vida. Pelo amor e carinho, muito obrigado.

Ao Amigo Paulo Sergio, Professor Dr, e neste trabalho enfatizo a palavra“amigo”pois so um verdadeiro amigo concede o credito que voce me deu.Acreditou em minha capacidade de finalizar esta tese, empenhando todos osseus esforcos para me auxiliar a chegar ate aqui. Alem disso e co-autor detodas as ideias aqui contidas, pois discutimos, intensamente, e juntos, cadadetalhe de implementacao.

A minha querida vovo Celeste, onde quer que esteja, saiba que estamossempre pensando em voce e gostaria muito que voce dividisse esta alegriacomigo. Fique com Deus.

i

Resumo

Neste trabalho apresentamos uma nova classe de robos bıpedes com pernasarticuladas e um corpo central. O projeto de robo proposto faz uso de con-trapesos em cada um de seus links, e apresenta propriedades que simplificamexcepcionalmente as equacoes dinamicas que regem seu movimento. Prova-mos que o sistema encontrado, sob certas hipoteses, e linearizavel por meiode uma realimentacao nao-linear de seus estados. Resolvemos o problemade otimizacao do tempo de percurso de uma trajetoria predefinida para esterobo, admitindo-se limitacoes em seus atuadores. Projetamos um sistemade controle inspirado no conceito de “flatness”a fim de rastrear esta polıticaotima de percurso da trajetoria. Testamos a robustez deste sistema em si-mulacoes de alguns exemplos numericos.

ii

Abstract

In this thesis we present a new class of biped robots with articulate legs anda torso. The proposed design is constructed by means of applying counter-balances to each link of the leg, and therefore it has some properties thatsimplifies dramatically the dynamics of the robot. We prove that the result-ing system, under certain assumptions, is exact linearizable by a nonlinearfeedback. We describe the solution to the time-optimal tracking problem of apredefined trajectory for this robot, assuming that its actuators have torquelimits. We designed a control system inspired on the concept of “flatness”inorder to track this reference optimal trajectory. We evaluated the robustnessof such system during the simulations of some numerical examples.

iii

Sumario

Introducao 1

1 Modelagem e Operacao 41.1 O Modelo Mecanico do Robo Bıpede . . . . . . . . . . . . . . 41.2 O Cone de Atrito . . . . . . . . . . . . . . . . . . . . . . . . . 131.3 Colisoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.4 A Repetibilidade dos Passos . . . . . . . . . . . . . . . . . . . 20

2 O Problema de Otimizacao 242.1 O Algoritmo de Bobrow Modificado . . . . . . . . . . . . . . . 242.2 Geracao de Trajetorias Otimas para o Robo Bıpede . . . . . . 282.3 Um Exemplo Numerico . . . . . . . . . . . . . . . . . . . . . . 322.4 A Periodicidade de γ . . . . . . . . . . . . . . . . . . . . . . . 382.5 Um Novo Exemplo Numerico . . . . . . . . . . . . . . . . . . 42

3 Linearizacao Exata do Modelo 473.1 O conceito de flatness . . . . . . . . . . . . . . . . . . . . . . . 47

3.1.1 Flatness e Controlabilidade . . . . . . . . . . . . . . . 483.2 A Primeira Fase do Passo . . . . . . . . . . . . . . . . . . . . 483.3 A Segunda Fase do Passo . . . . . . . . . . . . . . . . . . . . . 57

4 O Sistema de Controle 654.1 O Projeto do Controlador . . . . . . . . . . . . . . . . . . . . 654.2 Uma discussao sobre os limites de atuacao . . . . . . . . . . . 694.3 Implementacao do Controlador . . . . . . . . . . . . . . . . . 70

5 Exemplos Numericos 745.1 Geracao de Trajetorias . . . . . . . . . . . . . . . . . . . . . . 74

iv

5.1.1 1o Teste - Diminuicao do Comprimento da Perna (L =1.0 e d = 1.3) . . . . . . . . . . . . . . . . . . . . . . . 75

5.1.2 2o Teste - Aumento do Comprimento da Perna (L = 2.0e d = 1.3) . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.1.3 3o Teste - Aumento ainda maior do Comprimento daPerna (L = 2.4 e d = 1.3) . . . . . . . . . . . . . . . . 79

5.1.4 4o Teste - Aumento do Tamanho do Passo (L = 1.5 ed = 1.5) . . . . . . . . . . . . . . . . . . . . . . . . . . 81

5.1.5 5o Teste - Diminuicao do Tamanho do Passo (L = 1.5e d = 1.0) . . . . . . . . . . . . . . . . . . . . . . . . . 83

5.2 A Malha de Controle . . . . . . . . . . . . . . . . . . . . . . . 855.2.1 Rastreamento da Trajetoria de Referencia . . . . . . . 855.2.2 Partindo do Repouso . . . . . . . . . . . . . . . . . . . 985.2.3 Incertezas Parametricas . . . . . . . . . . . . . . . . . 1055.2.4 Degrau de altura 1cm . . . . . . . . . . . . . . . . . . 1165.2.5 Degrau de altura 20cm . . . . . . . . . . . . . . . . . . 123

Conclusoes 132

Apendice A - A Continuidade de A(θf ) 134

Apendice B - Graficos Complementares 136

v

Lista de Figuras

1.1 O robo bıpede e as coordenadas que o descrevem . . . . . . . 51.2 O contrabalanceamento dos links . . . . . . . . . . . . . . . . 61.3 O cone de atrito para o caso de movimento restrito ao plano . 151.4 Representacao esquematica da colisao com o solo . . . . . . . 161.5 As velocidades imediatamente antes e apos o impacto . . . . . 171.6 Deteminacao da direcao de ~FP . . . . . . . . . . . . . . . . . . 20

2.1 O Algoritmo de Integracao . . . . . . . . . . . . . . . . . . . . 262.2 A restricao da forca de contato . . . . . . . . . . . . . . . . . 312.3 A restricao de altura da extremidade da perna suspensa . . . . 352.4 A polıtica θ(θ) de otimizacao do tempo . . . . . . . . . . . . . 352.5 Os torques e a taxa Fatrito/N ao longo da trajetoria . . . . . . 362.6 A evolucao dos angulos das juntas . . . . . . . . . . . . . . . . 372.7 O comportamento de θ(θ) para diferentes valores de θf . . . . 412.8 O comportamento de γ para o primeiro exemplo numerico . . 422.9 A nova polıtica θ(θ) de otimizacao do tempo . . . . . . . . . . 442.10 O comportamento de γ para o novo exemplo numerico . . . . 442.11 Os torques e a taxa Fatrito/N para o novo exemplo . . . . . . . 452.12 A evolucao dos angulos das juntas para o novo exemplo . . . . 46

4.1 Diagrama de blocos do sistema de controle - Fase 1 . . . . . . 724.2 Diagrama de blocos do sistema de controle - Fase 2 . . . . . . 73

5.1 A polıtica θ(θ) de otimizacao do tempo (L = 1.0 e d = 1.3) . . 755.2 Os torques e a taxa Fatrito/N para L = 1.0 e d = 1.3 . . . . . . 765.3 A polıtica θ(θ) de otimizacao do tempo (L = 2.0 e d = 1.3) . . 775.4 Os torques e a taxa Fatrito/N para L = 2.0 e d = 1.3 . . . . . . 785.5 A polıtica θ(θ) de otimizacao do tempo (L = 2.4 e d = 1.3) . . 795.6 Os torques e a taxa Fatrito/N para L = 2.4 e d = 1.3 . . . . . . 80

vi

5.7 A polıtica θ(θ) de otimizacao do tempo (L = 1.5 e d = 1.5) . . 815.8 Os torques e a taxa Fatrito/N para L = 1.5 e d = 1.5 . . . . . . 825.9 A polıtica θ(θ) de otimizacao do tempo (L = 1.5 e d = 1.0) . . 835.10 Os torques e a taxa Fatrito/N para L = 1.5 e d = 1.0 . . . . . . 845.11 Os erros das juntas decorrentes de imprecisoes dos metodos

numericos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875.12 Os erros das juntas para um passo maximo igual a 2× 10−4 . 885.13 O plano de fase da variavel ϕ1 . . . . . . . . . . . . . . . . . . 905.14 O plano de fase da variavel Ψ2 . . . . . . . . . . . . . . . . . . 915.15 O plano de fase da variavel Ψ1 . . . . . . . . . . . . . . . . . . 925.16 O plano de fase da variavel γ . . . . . . . . . . . . . . . . . . 935.17 O comportamento de τ1 na primeira fase do passo . . . . . . . 945.18 O comportamento de τ2 e τ12 . . . . . . . . . . . . . . . . . . 955.19 O comportamento de τ12 nas duas fases do passo . . . . . . . . 965.20 A relacao Fatrito/N ao longo da trajetoria . . . . . . . . . . . . 975.21 Os erros dos angulos das juntas - partindo do repouso . . . . . 1005.22 O plano de fase da variavel ϕ1 - partindo do repouso . . . . . 1015.23 O plano de fase da variavel γ - partindo do repouso . . . . . . 1025.24 O plano de fase da variavel γ apos o 4o passo . . . . . . . . . . 1035.25 A relacao Fatrito/N - partindo do repouso . . . . . . . . . . . . 1045.26 Os erros dos angulos das juntas - incertezas parametricas . . . 1085.27 O plano de fase da variavel ϕ1 - incertezas parametricas . . . . 1095.28 O plano de fase da variavel ϕ1 - regime permanente . . . . . . 1105.29 O comportamento de τ1 - regime permanente . . . . . . . . . . 1115.30 O comportamento de τ2 e τ12 - regime permanente . . . . . . . 1125.31 O comportamento de τ12 - regime permanente . . . . . . . . . 1135.32 O plano de fase da variavel γ - incertezas parametricas . . . . 1145.33 A relacao Fatrito/N - regime permanente . . . . . . . . . . . . 1155.34 O degrau de 1cm na superfıcie . . . . . . . . . . . . . . . . . . 1165.35 Os erros dos angulos das juntas - degrau de 1cm . . . . . . . . 1195.36 O plano de fase da variavel ϕ1 - degrau de 1cm . . . . . . . . 1205.37 O plano de fase da variavel γ - degrau de 1cm . . . . . . . . . 1215.38 A relacao Fatrito/N - degrau de 1cm . . . . . . . . . . . . . . . 1225.39 Os erros dos angulos das juntas - degrau de 20cm . . . . . . . 1255.40 O plano de fase da variavel ϕ1 - degrau de 20cm . . . . . . . . 1265.41 O comportamento de τ1 - degrau de 20cm . . . . . . . . . . . 1275.42 O comportamento de τ2 e τ12 - degrau de 20cm . . . . . . . . 1285.43 O comportamento de τ12 - degrau de 20cm . . . . . . . . . . . 129

vii

5.44 O plano de fase da variavel γ - degrau de 20cm . . . . . . . . 1305.45 A relacao Fatrito/N - degrau de 20cm . . . . . . . . . . . . . . 131

B.1 Erros das juntas - partindo do repouso - imagem ampliada . . 137B.2 O plano de fase da variavel Ψ2 - partindo do repouso . . . . . 138B.3 O plano de fase da variavel Ψ1 - partindo do repouso . . . . . 139B.4 O comportamento de τ1 - partindo do repouso . . . . . . . . . 140B.5 O comportamento de τ1 - apos o 4o passo . . . . . . . . . . . . 141B.6 O comportamento de τ2 e τ12 - partindo do repouso . . . . . . 142B.7 O comportamento de τ2 e τ12 - apos o 4o passo . . . . . . . . . 143B.8 O comportamento de τ12 - partindo do repouso . . . . . . . . . 144B.9 O comportamento de τ12 - apos o 4o passo . . . . . . . . . . . 145B.10 O plano de fase da variavel Ψ2 - incertezas parametricas . . . 146B.11 O plano de fase da variavel Ψ1 - incertezas parametricas . . . 147B.12 O comportamento de τ1 - incertezas parametricas . . . . . . . 148B.13 O comportamento de τ2 e τ12 - incertezas parametricas . . . . 149B.14 O comportamento de τ12 - incertezas parametricas . . . . . . . 150B.15 A relacao Fatrito/N - incertezas parametricas . . . . . . . . . . 151B.16 Erros das juntas - degrau de 1cm - imagem ampliada . . . . . 152B.17 O plano de fase da variavel ϕ1 - regime permanente . . . . . . 153B.18 O plano de fase da variavel Ψ2 - degrau de 1cm . . . . . . . . 154B.19 O plano de fase da variavel Ψ1 - degrau de 1cm . . . . . . . . 155B.20 O comportamento de τ1 - degrau de 1cm . . . . . . . . . . . . 156B.21 O comportamento de τ1 - regime permanente . . . . . . . . . . 157B.22 O comportamento de τ2 e τ12 - degrau de 1cm . . . . . . . . . 158B.23 O comportamento de τ2 e τ12 - regime permanente . . . . . . . 159B.24 O comportamento de τ12 - degrau de 1cm . . . . . . . . . . . . 160B.25 O comportamento de τ12 - degrau de 1cm . . . . . . . . . . . . 161B.26 O plano de fase da variavel γ - degrau de 1cm - imagem ampliada162B.27 A relacao Fatrito/N - degrau de 1cm - regime permanente . . . 163B.28 Erros das juntas - degrau de 20cm - imagem ampliada . . . . . 164B.29 O plano de fase da variavel ϕ1 - regime permanente . . . . . . 165B.30 O plano de fase da variavel Ψ2 - degrau de 20cm . . . . . . . . 166B.31 O plano de fase da variavel Ψ1 - degrau de 20cm . . . . . . . . 167B.32 O comportamento de τ1 - regime permanente . . . . . . . . . . 168B.33 O comportamento de τ2 e τ12 - regime permanente . . . . . . . 169B.34 O comportamento de τ12 - regime permanente . . . . . . . . . 170B.35 A relacao Fatrito/N - degrau de 20cm - regime permanente . . 171

viii

Notacoes

C.M Centro de Massaϕ1 e ϕ2 Posicoes angulares dos links da perna suporte

medidas em relacao a verticalΨ1 e Ψ2 Posicoes angulares dos links da perna suspensa

medidas em relacao a verticalγ Posicao angular do corpo central

medida em relacao a verticalθ Posicao Angular do C.M do robo

medida em relacao a verticalli Comprimento do i-esimo linkmi Massa do i-esimo linkmB Massa do corpo centralM Massa total do robo

M = 2m1 + 2m2 + mB

Ji Momento de inercia do i-esimo linkem relacao ao seu C.M

JB Momento de inercia do corpo centralem relacao ao seu C.M

δ2 Deslocamento do C.M do link 2em relacao a seu eixo de rotacao

Angulo constante formado entre os links 1 e 2k com o joelho travado

k = ϕ2 − ϕ1

L raio de curvatura da trajetoria do C.M do roboL2 = l21 + l22 + 2l1l2 cos k

g Aceleracao gravitacional

ix

Notacoes - ContinuacaoMomento de inercia da perna suspensa

JL em relacao ao seu C.M com o joelho livreJL = m1l

22 + J2 + m2δ

22

Momento de inercia da perna suspensaJL em relacao ao seu C.M com o joelho travado

JL = J1 + m1l22 + J2 + m2δ

22

Momento de inercia do robo em relacaoJT ao ponto de contato com o solo

JT = JL + ML2

τ1 Torque aplicado pelos motores docorpo central no link 1 da perna suporte

τ2 Torque aplicado pelos motores docorpo central no link 2 da perna suporteTorque total aplicado pelos motores do

τ12 corpo central na perna suporteτ12 = τ1 + τ2

τ1 Torque aplicado pelos motores docorpo central no link 1 da perna suspensa

τ2 Torque aplicado pelos motores docorpo central no link 2 da perna suspensaTorque total aplicado pelos motores do corpo

τ12 central na perna suspensa com o joelho travadoτ12 = τ1 + τ2

T0 Instante inicial do PassoTF Instante final do PassoTL Instante de travamento do

joelho da perna suspensav− Velocidade do C.M do robo

imediatamente antes do impactov+ Velocidade do C.M do robo

imediatamente apos o impacto~acp Aceleracao Centrıpeta do C.M do robo~at Aceleracao Tangencial do C.M do roboµe Coeficiente de Atrito Estatico~FS Forca Total aplicada pelo solo no robo

~FS = ~N + ~FAtrito

x

Introducao

Pesquisas no campo da robotica tem origem na decada de 50 e vem evoluindomuito rapidamente. Nas decadas de 60 e 70 comecou a se desenhar o pano defundo teorico para a construcao de uma maquina de locomocao bıpede [12].

O estudo do movimento bıpede sempre foi interessante para diversas areasdo conhecimento. Trata-se de um problema bastante complexo e desafiadore e inevitavel a comparacao com o padrao de caminhar antropomorfico. Osseres humanos utilizam aproximadamente 350 pares de musculos em suaatividade esqueletica o que implica em uma complexidade dinamica gigan-tesca.

O desenvolvimento de robos com padroes de locomocao bıpedes com ca-racterısticas antropomorficas possui aplicacoes importantes, sendo uma delasa producao de proteses ativas para vıtimas de acidentes que tenham perdidoo movimento de suas pernas. Alem disso, o robo bıpede adapta-se muito me-lhor ao ambiente humano, ja que todo o nosso meio circundante foi construıdobaseado em nossos proprios padroes de locomocao. Por estes e outros mo-tivos, o desenvolvimento de robos humaniodes atingiu um nıvel tecnologicoimpressionante, estando em posicao de destaque o robo ASIMO da empresaHonda [16, 4], a famılia de robos WABIAN criados na Universidade Waseda[23] e o robo HRP-2 da empresa Kawada [19], entre outros [13].

A introducao de conceitos como o ZMP (zero-moment point) [40] e o FRI(Foot-Rotation Indicator Point) [14] tornou possıvel a analise de estabili-dade e o estudo do controle de robos tridimensionais [15, 8], mas os modelosde robos bıpedes bidimensionais ou “planares”(que possuem movimento res-trito ao seu plano sagital1) sao ainda amplamente utilizados para estudos detecnicas modernas de controle [39, 35]. A interessante plataforma de estu-dos de movimento bıpede conhecida como RABBIT [5] foi concebida para

1Grosseiramente, o plano sagital e o plano que divide o corpo nas metades direita eesquerda (vide [5, 26, 33] )

1

a implementacao de tecnicas avancadas de teoria de controle, permitindo,inclusive, a simulacao de passos de corrida [7] e a sıntese dinamica de tra-jetorias otimas [25]. A plataforma e baseada na simplicidade do mecanismorobotico, sendo planar, contando com um torso e possuindo apenas doislinks por perna. O contato pontual com o solo (o robo RABBIT nao possuipes) foi adotado apos os autores concluırem que tornozelos atuados nao saoessencialmente necessarios para a estabilizacao da trajetoria. Outros autoresdefendem a adocao de modelos roboticos simplificados para estudos maiscomplexos de teoria de controle [36, 26, 1], com destaque para o interessantetrabalho de Pratt [32] onde e introduzido o conceito de controle intuitivo.Neste trabalho, os autores defendem a manutencao do comprimento da pernasuporte constante ao longo do passo, por guardar semelhanca com o caminharbiologico. Segundo os autores esta ideia foi comprovada experimentalmenteno robo Spring Flamingo.

Os impactos entre a perna e o solo tambem tem sido objeto de estudo [2],com destaque para o trabalho de Hurmuzlu [17], que defende a ideia de semodelar o impacto e incluir seus efeitos no sistema de controle, por entenderque este e um fenomeno intrınseco ao caminhar bıpede.

A geracao de trajetorias otimas e outro assunto recorrente no estudo domovimento de robos bıpedes. Os criterios mais utilizados para gerar estastrajetorias sao a minimizacao da energia mecanica e/ou esforcos de controleaplicados e sao utilizadas diversas tecnicas de otimizacao (como o Princıpiodo Maximo de Pontryagin [33, 6], algoritmos geneticos [15], programacaoquadratica sequencial - SQP [41], entre outras).

Em 1993, Kieffer e Bale, em seu trabalho [20], propuseram um modelo derobo bastante engenhoso. O robo possui apenas dois links rıgidos conectadosa um torso cilındrico. Os links sao contrabalanceados para que seus respec-tivos centros-de-massa permanecam no eixo de rotacao do torso. Apesarde se mover de forma nao-antropomorfica, a simplificacao de suas equacoesdinamicas e tao grande que outros autores se interessaram por este modelode robo, propondo tecnicas de controle, linearizacao e sıntese de trajetorias[37, 24, 34]. Esta ideia nos inspirou e nos motivou a enveredar por esta linhade pesquisa.

Nosso trabalho pode ser divido em etapas que correspondem aos capıtulosdesta tese. No capıtulo 1 descrevemos a concepcao de uma classe de robosbıpedes que fazem uso de contrapesos em cada um de seus links, e apresentampropriedades que resultam em equacoes dinamicas excepcionalmente simples,mesmo para robos complexos com mais de 2 links por perna.

2

No capıtulo 2 resolvemos o problema de otimizacao do tempo de percursode uma trajetoria predefinida no espaco para o robo em questao, na presencade limitacoes de torques de atuacao. Para tanto adaptamos este problemaa metodologia utilizada pelo Algoritmo de Bobrow Modificado o com issoencontramos uma solucao numerica. Esta solucao e constituıda por umatrajetoria de referencia que devera ser rastreada pelo robo. O algoritmo foiainda modificado na secao 2.4 para que a solucao encontrada nao causasseum acumulo de velocidade angular no corpo central do robo estudado.

Provamos, no capıtulo 3, que o robo idealizado possui a propriedade de“flatness”para as duas fases de seu passo. Esta propriedade esta relacionadaa capacidade de linearizacao por uma realimentacao dinamica e, portanto,podemos projetar um sistema de controle de forma a anular assintoticamenteo erro de rastreamento de uma trajetoria de referencia. O projeto destesistema de controle encontra-se no capıtulo 4.

Finalmente, de posse de um projeto do controlador, submetemos a malhade controle ao problema de rastreamento da trajetoria de referencia encon-trada pelo algoritmo de otimizacao. No capıtulo 5 foram geradas, na secao5.1, diversas trajetorias de referencia para diferentes parametros geometricose podemos observar a dependencia do tempo total de percurso destas tra-jetorias em relacao a variacao destes parametros. Na secao 5.2 submetemoso sistema de controle a alguns testes de robustez, tais como:

• fazer com que o robo, partindo do repouso, atingisse o rastreamentoem regime permanente;

• incertezas parametricas de massa e momentos de inercia no modelo dorobo adotado;

• e imperfeicoes na superfıcie de contato, com degraus de diferentes al-turas.

3

Capıtulo 1

Modelagem e Operacao

Desenvolveremos neste capıtulo os modelos matematicos que descrevem ocomportamento do robo bıpede estudado durante a execucao dos passos,bem como as interacoes deste robo com o meio (atrito e colisoes com o solo).

1.1 O Modelo Mecanico do Robo Bıpede

Considere o robo apresentado na figura 1.1. Este robo consiste de duaspernas simetricas e um corpo central (torso). Cada perna possui dois linksconectados por uma junta rotacional (joelho). O corpo central e uma rodacontendo os motores que aplicam torques independentes diretamente em cadaum dos quatro links e apresenta seu centro de massa (C.M) posicionadosobre seu eixo de rotacao (que coincide com seu eixo de simetria cilındrica).Esta roda, portanto, alem de ser responsavel pela geracao dos torques, semantem girando ao longo do passo, funcionando assim como um acumuladorde momento angular. A coordenada γ define a posicao angular do torso emrelacao a referencia vertical. As coordenadas ϕ1 e ϕ2 representam a posicaoangular dos links que constituem a perna suporte (ou seja, a perna que seencontra em contato com o solo), e as coordenadas Ψ1 and Ψ2 representam aposicao angular dos links que constituem a perna suspensa. Todas as posicoesangulares sao medidas em relacao a mesma referencia vertical.

Em cada perna, ambos os links sao contrabalanceados de tal forma que oC.M da perna inteira sempre se encontra posicionado sobre o eixo de rotacaodo corpo central (correspondente a articulacao do quadril1 do robo). Esta

1Do substantivo ingles “hip”

4

Figura 1.1: O robo bıpede e as coordenadas que o descrevem

propriedade pode ser alcancada atraves do esquema de contrabalanceamentoproposto na figura 1.2.

Nesta figura, o sımbolo • indica a posicao do C.M do Link 2 isolado,enquanto que os sımbolos ⊕ indicam a posicao do C.M do Link 1 isolado ea posicao do C.M da perna inteira (considerando-se os dois links conectadospelo joelho). Denotaremos por m1 a massa do Link 1. Este link e projetadopara possuir seu C.M exatamente posicionado sobre a articulacao do joelho.Suponhamos que o Link 2 (com massa m2) e projetado de tal maneira queseu C.M esta convenientemente deslocado a uma distancia δ2 da junta doquadril, e esta distancia obedece a relacao:

m2δ2 = m1l2 (1.1.1)

Desta forma, garantimos que o C.M da perna inteira sempre se encontraposicionado sobre o eixo do quadril, nao importando os valores dos angulos

5

Figura 1.2: O contrabalanceamento dos links

ϕk and Ψk for k = 1, 2. Uma vez que esta propriedade ocorre para as duaspernas, e o C.M do torso, por hipotese, tambem se encontra sobre o eixo doquadril, entao o C.M do robo como um todo sempre se encontra posicionadosobre a mesma junta do quadril.

Com relacao ao movimento do robo ao longo do passo, supoe-se que aperna suporte permanece sempre em contato com o solo e que nao ocorredeslizamento/escorregamento do ponto de contato desta perna sobre o solo.Alem disso, outra hipotese admitida e que o joelho da perna suporte encontra-se travado ao longo de todo o passo. Com isso, o C.M do robo descreve umatrajetoria representada por um arco de circunferencia cujo centro encontra-seno ponto de contato com o solo. Esta hipotese de travamento do joelho foiadotada no trabalho de [27]. Os autores propoem dois dispositivos diferentesde travamento do joelho e discutem as vantagens e desvantagens de cadaum. Neste trabalho nao estamos estudando os aspectos de implementacaotecnica (o maquinario envolvido). O que nos interessa sao os efeitos fısicos dotravamento e suas implicacoes no modelo matematico do sistema estudado.

6

Na secao 1.3 apresentaremos o modelo adotado para descrever o travamentoda articulacao do joelho.

O passo do robo e divido em duas fases:

• Fase I: Durante esta fase apenas o joelho da perna suporte se encontratravado. O joelho da perna suspensa nao se encontra travado, podendoocorrer movimento relativo entre os Links 1 e 2 da perna suspensa.Este movimento e regido pelos torques aplicados pelos motores que seencontram no corpo central. Este movimento pode ser utilizado paradesviar de obstaculos e para prevenir que a perna suspensa toque o soloantes do final do passo (o que seria um “tropeco”do robo);

• Fase II: Esta fase se inicia com o travamento do joelho da perna sus-pensa, sendo que o angulo formado pelos Links 1 e 2 da perna suspensaapos o travamento deve ser exatamente o mesmo formado na pernasuporte, a fim de que ocorra a repetibilidade geometrica dos passossucessivos (pois quando a perna suspensa toca o solo um novo passo seinicia e esta passa a ser a nova perna suporte). Ao longo desta fase,portanto, a perna suspensa se move como um todo, analogamente auma perna com apenas 1 Link, ate que esta perna colide com o solo, oque representa o fim da Fase II e o inıcio de um novo passo.

Como veremos na secao 1.3 supoe-se que a colisao e instantanea, e apos aaplicacao das equacoes que relacionam as velocidades imediatamente antes edepois do impacto, o suporte do robo e transferido para a, ate entao, pernasuspensa (que passa a ser a nova perna suporte e vice-versa) e um novo passosimetrico se inicia. Portanto o robo apresenta ao longo do passo apenas umaperna em contato com o solo, o que define o chamado “caminhar dinamico”2.

Sob as hipoteses acima podemos calcular a energia cinetica do robo,separando-a em dois termos:

K = KROT + KTRANS =∑

i

KROTi +

i

KTRANSi (1.1.2)

o primeiro termo pode ser calculado adicionando-se a energia cinetica rota-cional de cada link em torno de seu proprio C.M, e o segundo termo podeser expresso em termos da massa de cada link e a respectiva velocidade deseu C.M em relacao a uma mesma referencia inercial (vide [38]).

2Do ingles “dynamic walking”

7

Alem disso, a energia potencial gravitacional pode ser facilmente calcu-lada, considerando o C.M do robo como um todo:

V = Mg∑

i=1,2

li cos ϕi (1.1.3)

onde M e a massa total do robo e g e a aceleracao gravitacional. Podemosobservar que V nao depende dos valores dos angulos Ψi.

Ao longo de todo o passo o joelho da perna suporte encontra-se travado,portanto podemos assumir:

ϕ2 = ϕ1 + k (1.1.4)

sendo k um angulo constante. Isso implica em ϕ2 = ϕ1 e ϕ2 = ϕ1.Assim podemos escrever:

V = Mg(l1 cos ϕ1 + l2 cos(ϕ1 + k)) (1.1.5)

Em seguida calcularemos as parcelas da energia cinetica. Para isso con-sidere:

• mi a massa do i-esimo link;

• mB a massa do corpo central;

• Ji o momento de inercia do i-esimo link em relacao ao seu C.M;

• JB o momento de inercia do corpo central em relacao ao seu C.M;

• L o raio de curvatura do arco de circunferencia que representa a tra-jetoria do C.M do robo (ou seja, a distancia do eixo de rotacao docorpo central ao ponto de contato da perna suporte com o solo). Logo:L2 = l21 + l22 + 2l1l2 cos k.

Como o joelho da perna suporte encontra-se travado, podemos considerarque toda a perna suporte se comporta como um unico corpo, com massam12 = m1 + m2, C.M localizado no mesmo eixo de rotacao do corpo central,e momento de inercia em relacao a este eixo dado pelo Teorema dos EixosParalelos (vide [9]):

JL = J1 + m1l22 + J2 + m2δ

22 (1.1.6)

8

Assim, podemos escrever para a perna suporte:

KROT1 =

1

2JLϕ2

1

KTRANS1 =

1

2m12L

2ϕ21

onde a notacao ϕ1 representa a derivada temporal dϕ1/dt.Para o corpo central:

KROT2 =

1

2JBγ2

KTRANS2 =

1

2mBL2ϕ2

1

Na perna suspensa, como o Link 1 encontra-se livre para girar indepen-dentemente do Link 2, a energia cinetica rotacional da perna e a soma dasenergias cineticas rotacionais de cada link:

KROT3 =

1

2JLΨ2

2 +1

2J1Ψ

21

onde o momento de inercia JL em relacao ao eixo de rotacao do corpo centraltambem e calculado pelo Teorema dos Eixos Paralelos:

JL = m1l22 + J2 + m2δ

22 (1.1.7)

Logo JL = JL + J1. Como o C.M da perna suspensa se encontra sobre oeixo do quadril do robo, e sua massa total tambem e igual a m12, a energiacinetica de translacao da perna suspensa pode ser escrita por:

KTRANS3 =

1

2m12L

2ϕ21

Agrupando todos os termos acima temos:

K =1

2[(m12 + m12 + mB)L2 + JL]ϕ2

1 +1

2JLΨ2

2 +1

2J1Ψ

21 +

1

2JBγ2

Mas (m12 + m12 + mB) = M e a massa total do robo. Se definirmos:

JT = JL + ML2

9

entao:

K =1

2JT ϕ2

1 +1

2JLΨ2

2 +1

2J1Ψ

21 +

1

2JBγ2 (1.1.8)

Considere as equacoes de Euler-Lagrange:

d

dt

(∂£

∂qi

)− ∂£

∂qi

= ξi (1.1.9)

onde£ = K−V

e a funcao Lagrangeana e ξi e a forca generalizada aplicada a i-esima junta,calculada para cada uma das componentes de q = (ϕ1, γ, Ψ1, Ψ2).

Conforme exposto acima, os motores do corpo central aplicam torquesindependentes em cada um dos links do robo. Como na perna suporte, ojoelho encontra-se travado, e portanto esta perna comporta-se como se fosseum corpo unico, podemos associar a forca generalizada −τ12 a coordenadaϕ1, onde:

−τ12 = −τ1 − τ2

e a combinacao dos torques aplicados a perna suporte. Por convencao adotare-mos o sinal negativo para indicar que estes torques estao orientados no sentidodecrescente de ϕ1. Associaremos os torques τ1 e τ2 as coordenadas Ψ1 e Ψ2

respectivamente.Assim, no corpo central, temos o balanco total dos torques aplicados

τ12 − τ1 − τ2

associado a coordenada γ.Adotando as notacoes acima, ao calcular as equacoes de Euler-Lagrange

(1.1.9), obtemos as equacoes dinamicas que regem a primeira fase do passo:

J1Ψ1 = τ1

JLΨ2 = τ2

JBγ = τ12 − τ1 − τ2

JT ϕ1 = Mg(l1 sin ϕ1 + l2 sin(ϕ1 + k))− τ12

(1.1.10)

onde Ψi = d2Ψi/dt2. Observe que ao medirmos as coordenadas angulares emrelacao a uma referencia vertical inercial estamos simplificando o resultadoobtido, de maneira analoga ao procedimento descrito em [20].

10

Repitamos o raciocınio acima para a segunda fase do passo. Nesta fase,tanto o joelho da perna suporte como o da perna suspensa estao travados.A expressao usada para calcular a energia potencial gravitacional do robo eexatamente a mesma da primeira fase (vide (1.1.5)). Os calculos das parcelasda energia cinetica da perna suporte e do corpo central KROT

1 , KTRANS1 ,

KROT2 e KTRANS

2 tambem sao identicos aos realizados acima para a primeirafase.

Ao longo da segunda fase do passo, o joelho da perna suspensa encontra-setravado, portanto podemos assumir:

Ψ2 = Ψ1 + k (1.1.11)

o que implica em Ψ2 = Ψ1 e Ψ2 = Ψ1. Alem disso para que o proximo passoseja geometricamente simetrico ao anterior, o angulo formado na junta dojoelho da perna suspensa deve ser exatamente igual ao formado no joelhoda perna suporte. Assim, os angulos constantes k observados nas equacoes(1.1.4) e (1.1.11) sao de fato identicos.

Podemos entao considerar que toda a perna suspensa se comporta comoum unico corpo, com massa m12 = m1 + m2, C.M localizado no mesmo eixode rotacao do corpo central, e momento de inercia JL em relacao a este eixodado pelo Teorema dos Eixos Paralelos (1.1.6). Assim:

KROT3 =

1

2JLΨ2

2

KTRANS3 =

1

2m12L

2ϕ21

Agrupando todos os termos acima, substituindo M = (m12 + m12 + mB)e JT = JL + ML2, temos:

K =1

2JT ϕ2

1 +1

2JLΨ2

2 +1

2JBγ2 (1.1.12)

Considere as equacoes de Euler-Lagrange (1.1.9) aplicadas agora as com-ponentes de q = (ϕ1, γ, Ψ2). Nesta fase, como a perna suspensa comporta-secomo se fosse um corpo unico, podemos associar a forca generalizada τ12 acoordenada Ψ2, onde:

τ12 = τ1 + τ2

e a combinacao dos torques aplicados a perna suspensa. E assim, no corpocentral, temos o balanco total dos torques aplicados

τ12 − τ12

11

associado a coordenada γ.Adotando as notacoes acima, ao calcular as equacoes de Euler-Lagrange

(1.1.9), obtemos as equacoes dinamicas que regem a segunda fase do passo:

JLΨ2 = τ12

JBγ = τ12 − τ12

JT ϕ1 = Mg(l1 sin ϕ1 + l2 sin(ϕ1 + k))− τ12

(1.1.13)

Durante a segunda fase do passo, o robo estudado acima reproduz ocomportamento do robo apresentado por [20]. Neste intervalo, os dois robossao, em suma, compostos por uma roda de inercia (corpo central) acopladaa dois corpos (pernas) com C.M’s posicionados no eixo do quadril do robo.Era de se esperar, portanto, que suas equacoes dinamicas fossem identicas.De fato as equacoes (1.1.13) sao analogas aquelas obtidas em [20] (exceto pordiferencas de notacao).

Ao analisarmos (1.1.10) e (1.1.13) podemos observar a simplicidade destasequacoes dinamicas se comparadas aquelas que governam robos bıpedes equi-valentes, por exemplo, com mesmo numero de graus de liberdade. (Paraalguns exemplos de tais sistemas e suas respectivas equacoes vide [40].)Primeiramente, os sistemas de equacoes (1.1.10) e (1.1.13) sao desacopla-dos. As equacoes que envolvem as variaveis Ψi e γ sao lineares. As equacoescorrespondentes a variavel ϕ1 apresentam o termo nao-linear

Mg(l1 sin ϕ1 + l2 sin(ϕ1 + k))

e sao portanto semelhantes a equacao que governa o movimento de umpendulo invertido. Esta simplicidade se deve em parte a adocao da hipotesede travamento do joelho da perna suspensa. Ao se remover esta hipotese,outros termos nao-lineares aparecerao, decorrentes do movimento relativoentre os links dessa perna.

As propriedades das equacoes derivadas acima podem ser expandidas pararobos bıpedes com mais de dois links por perna. Tais robos devem ser pro-jetados de forma que o C.M do i-esimo link compense o C.M do conjuntode links {1, . . . , (i− 1)} posicionando, com isso, o C.M do conjunto de links{1, . . . , i} exatamente sobre o eixo de rotacao da i-esima junta. Se este pro-cedimento for executado recursivamente para todos os links que constituemas pernas do robo entao o C.M das duas pernas estara posicionado sobre oeixo da junta do quadril, independentemente dos valores dos angulos ϕi e Ψi.Assim, a expressao da energia potencial gravitacional seria dada por:

12

V = Mgn∑

i=1

li cos ϕi (1.1.14)

nao havendo dependencia dos valores dos angulos Ψi.Se adotarmos a mesma hipotese de que a perna suporte permanece travada

ao longo de todo o passo, entao:

ϕi+1 = ϕi + ki 1 ≤ i < n

onde n e o numero de links de cada perna.E assim, a energia potencial gravitacional poderia ser reescrita apenas em

funcao do angulo ϕ1 e das constantes ki. Alem disso como o C.M de cada umadas pernas estaria posicionado sobre o eixo da junta do quadril, entao o C.Mdo robo como um todo continuaria a descrever uma trajetoria representadapor um arco de circunferencia com velocidade igual a Lϕ1. Assim, a energiacinetica do robo seria calculada de forma semelhante a apresentada acima.Ela seria composta de parcelas correspondentes as energias de rotacao doslinks da perna suspensa (por exemplo 1

2J1Ψ

21), de uma parcela correspondente

a energia de rotacao do corpo central (12JBγ2) e de uma parcela que representa

a energia de rotacao da perna suporte somada a energia de translacao do robocomo um todo (1

2JT ϕ2

1). Desta forma a aplicacao das equacoes de Euler-Lagrange (1.1.9) resultaria em equacoes dinamicas equivalentes as obtidasacima.

Acreditamos que a primeira contribuicao deste trabalho seja, portanto,a descricao de um projeto de concepcao de robos bıpedes, observando ascaracterısticas descritas acima, e que consequentemente resulta em equacoesdinamicas excepcionalmente simples, com propriedades que facilitam o pro-jeto de um sistema de controle eficaz.

1.2 O Cone de Atrito

Durante todo o passo admitimos que a extremidade da perna suporte encontra-se sempre em contato com o solo e que nao ha escorregamento. Assim, a forcade atrito responsavel por manter este contato deve ser de natureza estatica.Isso significa que:

FAtrito < µeN (1.2.15)

13

onde µe e o coeficiente de atrito estatico que estabelece o limite alem do quala forca de atrito passa a ser dinamica e a perna suporte comeca a escorregar.N e a forca normal de apoio e esta sempre orientada “para cima”do solo, umavez que nao ha vınculos prendendo a perna suporte ao solo (o contato se dasimplesmente na forma de apoio). Analisando a equacao (1.2.15) podemosassumir que a forca total de contato com o solo:

~FS = ~FAtrito + ~N

deve estar confinada em uma regiao que no espaco tridimensional seria rep-resentada por um cone, chamado Cone de Atrito. Visto que os movimentosdo robo estudado encontram-se limitados ao plano sagital, essa regiao serarepresentada pela intersecao deste cone com o plano de movimento, comopodemos observar na figura 1.3.

1.3 Colisoes

Para descrever o processo de travamento do joelho da perna suspensa, assimcomo o impacto final entre a perna suspensa e o solo, neste trabalho, seraoadotados modelos de colisao instantanea e perfeitamente inelastica (tambemconhecida como colisao plastica).

Analisemos primeiramente o travamento do joelho da perna suspensa.Por hipotese esse processo ocorre no intervalo de tempo

t ∈ [TL, TL + ε] ε → 0

Admitimos que os motores presentes no corpo central apresentam limita-coes de torques e nao sao capazes de aplicar torques impulsivos. Alem disso,uma vez que a junta do quadril (que conecta o corpo central a perna sus-pena) nao se encontra travada por nenhum tipo de dispositivo, entao naoha forcas externas impulsivas aplicadas ao sistema de corpos que constitui aperna suspensa. Assim, durante o intervalo infinitesimal de tempo em queocorre o travamento, podemos escrever o princıpio de conservacao do mo-mento angular H para a perna suspensa como um todo, considerando-a umsistema fechado:

H+ = H− ⇒ JLΨ+ = JLΨ−2 + J1Ψ

−1 (1.3.16)

14

Figura 1.3: O cone de atrito para o caso de movimento restrito ao plano

onde Ψ+ e a velocidade apos o travamento (comum aos links 1 e 2, ou sejaΨ+ = Ψ+

1 = Ψ+2 ) e JL = JL+J1. Os ındices + e − representam as velocidades

imediatamente depois e antes da colisao, respectivamente.Assim, obtemos a equacao que relaciona as velocidades antes e depois do

travamento do joelho da perna suspensa:

Ψ+ =JLΨ−

2 + J1Ψ−1

JL + J1

(1.3.17)

Uma vez que podemos considerar a perna suspensa como um sistema

15

fechado durante o processo de travamento, os efeitos impulsivos da colisaonao geram torques no torso, nem tampouco na perna suporte. Logo γ e ϕ1

nao sofrem alteracoes.Estudemos agora a colisao final entre a perna suspensa e o solo. Para

isso, considere a figura 1.4.

Figura 1.4: Representacao esquematica da colisao com o solo

Note que a velocidade do C.M do robo e perpendicular ao raio de cur-vatura de sua trajetoria. Logo, imediatamente antes do impacto, a veloci-dade v− se encontra perpendicular a reta que liga o ponto S e o C.M dorobo, enquanto que imediatamente apos o impacto, a velocidade v+ se en-contra perpendicular a reta que liga o ponto P e esse mesmo C.M. Este fatopode ser melhor observado na figura 1.5.

16

Figura 1.5: As velocidades imediatamente antes e apos o impacto

Se adotarmos uma referencia presa ao C.M do robo podemos reescreveras equacoes dinamicas (1.1.13) em relacao a esta nova referencia:

JLΨ2 = τ12 − FP L sin βP

JBγ = τ12 − τ12

JLϕ1 = FSL sin βS − τ12

(1.3.18)

para o intervalo de tempo

t ∈ [TF − ε, TF ] ε → 0

A forca FP = FP (t), de natureza impulsiva, decorrente da colisao daperna suspensa com o solo e definida no mesmo intervalo de tempo acima.

17

Sabemos, da fısica basica, que o impulso da forca resultante sobre um sistemae igual a variacao da quantidade de movimento, ou seja:

~I =∫ tf

ti

~F (t)dt = ∆~p = m∆~v (1.3.19)

onde ~v e a velocidade do C.M do sistema3, ti < tf sao arbitrarios, e ∆~v =~v(tf )− ~v(ti).

Como veremos no capıtulo 2 o algoritmo adotado para gerar a trajetoriaotima de referencia utiliza a hipotese que ϕ1 > 0 ao longo de toda a trajetoria.Desta forma, o vetor v+ figura 1.4, que representa a velocidade do C.M dorobo logo apos o impacto, encontra-se obrigatoriamente no semi-plano A.Uma vez que v− encontra-se sobre a reta que divide os semiplanos A e B entaoa forca impulsiva responsavel pela variacao da quantidade de movimento(quando representada sobre o C.M do robo) tambem se encontra sobre osemi-plano A, e nao ha, portanto uma componente desta forca impulsiva nosentido do ponto S. Logo nao ha razao para existir uma forca impulsiva dereacao em S.

Seja T0 o instante inicial do passo. Assim, partindo da premissa queϕ1(T0) > 0, concluımos que ~FP e a unica forca externa impulsiva aplicada aorobo durante a colisao.

Podemos entao tomar as componentes da velocidade v− e da forca ~FP nadirecao de v+ e escrever a equacao que relaciona o impulso e a variacao daquantidade de movimento nesta direcao:

∫ TF

TF−εFP sin βP dt = M(v+ − v− cos α) = MLΨ+

2 −MLϕ−1 cos α (1.3.20)

Como as duas pernas assumem configuracoes simetricas a fim de garantirque os passos sejam cıclicos, podemos deduzir da figura 1.4 que:

α = ϕ2(TF )+π−Ψ2(TF ) ⇒ cos α = − cos(ϕ2(TF )−Ψ2(TF )) = − cos(Ψ2(TF )−ϕ2(TF ))(1.3.21)

e uma vez que ϕ2 = ϕ1 + k a equacao (1.3.20) pode ser escrita como:

∫ TF

TF−εFP sin βP dt = M(v+−v− cos α) = MLΨ+

2 +MLϕ−1 cos(Ψ2(TF )−ϕ1(TF )−k)

(1.3.22)

3Para casos nao-relativısticos onde v << c

18

Se integrarmos as equacoes (1.3.18) em relacao ao tempo a partir doinstante TF − ε ate TF , assumindo FP como sendo a unica forca impulsivaatuando no sistema, obtemos:

JL(Ψ+2 − Ψ−

2 ) =∫ TFTF−ε FP L sin βP dt

JB(γ+ − γ−) = 0JL(ϕ+

1 − ϕ−1 = 0(1.3.23)

Estas relacoes aliadas a equacao (1.3.22) nos fornecem:

JLΨ+2 − JLΨ−

2 = −ML2Ψ+2 + ML2ϕ−1 cos(Ψ2(TF )− ϕ1(TF )− k)

γ+ = γ−

ϕ+1 = ϕ−1

(1.3.24)

reagrupando os termos da primeira equacao, e substituindo JT = JL + ML2

podemos escrever:

Ψ+2 =

JL

JT

Ψ−2 −

ML2 cos(Ψ2(TF )− ϕ1(TF )− k)

JT

ϕ−1

γ+ = γ−

ϕ+1 = ϕ−1 (1.3.25)

As equacoes acima relacionam as velocidades das juntas imediatamenteantes e depois do impacto final da perna suspensa com o solo.

A equacao vetorial (1.3.19) nos indica que a direcao da forca ~FP e a mesmade ~v+ − ~v− (uma vez que esta e a unica forca externa impulsiva aplicada aorobo). Como vimos na secao 1.2 esta forca tambem deve se encontrar dentroda regiao permitida (“cone de atrito”) para que nao haja escorregamento.

Para determinar a direcao de ~FP observe a figura 1.6.Podemos entao escrever que:

tan δ =x

y + 2v− sin(α/2)=

|v+ − v−| cos(α/2)

|2v− + v+ − v−| sin(α/2)(1.3.26)

onde sin(α/2) = d/(2L) sendo d a largura horizontal do passo (vide figura1.4).

Mas v+ = Lϕ1(T0) e v− = Lϕ1(TF ), e ainda, como o valor de tan δ deveser menor ou igual a µe para evitar o escorregamento, entao:

19

Figura 1.6: Deteminacao da direcao de ~FP

1

tan(α/2)| ϕ1(T0)− ϕ1(TF )

ϕ1(T0) + ϕ1(TF )| ≤ µe (1.3.27)

Esta condicao deve ser respeitada para que a forca impulsiva ~FP se encontrena regiao permitida.

Devemos atentar tambem para o fato de que a perna suspensa nao podetocar o solo antes do final do passo, o que acarretaria uma colisao precoce (ouum “tropeco”do robo). Para isso, a altura em que se encontra a extremidadeinferior da perna suspensa deve ser estritamente positiva ao longo do passo.Esta condicao pode ser expressa como:

l1 cos ϕ1 + l2 cos(ϕ1 + k) + l2 cos Ψ2 + l1 cos Ψ1 > 0 (1.3.28)

para todo t ∈ (T0, TF ).

1.4 A Repetibilidade dos Passos

Ao se controlar um robo bıpede, temos como um dos objetivos a estabilizacaodo caminhar em torno de um padrao constante, ou seja, desejamos que o roboreproduza passos cıclicos, geometricamente simetricos.

Na secao 1.3 desenvolvemos as equacoes que modelam o impacto da pernasuporte com o solo, determinando as novas velocidades apos a colisao. Ad-

20

mitimos que este processo ocorre em um intervalo de tempo infinitesimal,e portanto um novo passo se inicia imediatamente apos o impacto. Coma colisao final, as pernas suporte e suspensa trocam de papel e portanto avelocidade da perna suporte apos a colisao passa a ser a velocidade inicialda perna suspensa e vice-versa. Portanto, para darmos inıcio a um novopasso, utilizando as mesmas equacoes dinamicas e suas respectivas notacoes,devemos aplicar as substituicoes:

• Para as posicoes angulares:

Ψ1 ← ϕ1 − π (1.4.29)

Ψ2 ← ϕ2 − π

ϕ1 ← Ψ1 + π

ϕ2 ← Ψ2 + π

• Para as velocidades angulares:

Ψ1(T0) ← ϕ+1 (1.4.30)

Ψ2(T0) ← ϕ+1

ϕ1(T0) ← Ψ+2

ϕ2 = ϕ1

onde T0 representa o instante inicial do passo.As equacoes acima em conjunto com as equacoes da colisao (1.3.25) nos

fornecem as seguintes condicoes necessarias para garantir a repetibilidade dospassos:

ϕ−1 = Ψ1(T0) = Ψ2(T0) (1.4.31)

Ψ−2 =

JT

JL

ϕ1(T0) +ML2 cos(Ψ2(TF )− ϕ1(TF )− k)

JL

Ψ2(T0)

Nas equacoes (1.4.31) as velocidades finais, imediatamente antes da co-lisao com o solo estao expressas em funcao das velocidades iniciais da tra-jetoria. O sistema de controle deve portanto garantir que as velocidades dasjuntas sejam levadas a estes valores finais para que, apos o impacto, um novopasso se inicie com as mesmas velocidades iniciais do passo anterior.

21

A rigor, para que os passos fossem estritamente periodicos, as funcoesϕi(t), Ψi(t) e γ(t) deveriam se repetir a cada passo. Contudo, gracas apropriedade de desacoplamento observada nas equacoes dinamicas (1.1.10)e (1.1.13), notamos que o comportamento das demais variaveis nao sofrequalquer influencia da posicao do corpo central γ(t) e de sua velocidade γ(t).Podemos portanto ignorar a repetibilidade da funcao γ(t), e com isso naoafetaremos, do ponto de vista mecanico, a repetibilidade do passo. O mesmonao pode ser feito para a funcao γ(t). Devemos garantir sua repetibilidadepara que o corpo central nao acumule velocidade a cada passo e possa assimviolar os limites fısicos de velocidade angular dos motores e das juntas.

Para tanto, primeiramente integremos as equacoes dinamicas (1.1.10) aolongo da primeira fase do passo, ou seja no intervalo de tempo [T0, TL), eassim obtemos:

JT ∆ϕ1 = Mg∫ TL

T0

(l1 sin ϕ1 + l2 sin(ϕ1 + k))dt−∫ TL

T0

τ12dt (1.4.32)

JB∆γ =∫ TL

T0

τ12dt−∫ TL

T0

τ1dt−∫ TL

T0

τ2dt (1.4.33)

J1∆Ψ1 =∫ TL

T0

τ1dt (1.4.34)

JL∆Ψ2 =∫ TL

T0

τ2dt (1.4.35)

Substituindo as equacoes (1.4.33), (1.4.34) e (1.4.35) na equacao (1.4.32)temos:

Mg∫ TL

T0

(l1 sin ϕ1 + l2 sin(ϕ1 + k))dt = JT ∆ϕ1 + JB∆γ + J1∆Ψ1 + JL∆Ψ2

(1.4.36)onde ∆f(t) = f(TL)− f(T0).

Repetindo o procedimento para a segunda fase do passo integrando asequacoes dinamicas (1.1.13) ao longo do intervalo de tempo [TL, TF ], obtemos:

Mg∫ TF

TL

(l1 sin ϕ1 + l2 sin(ϕ1 + k))dt = JT ∆ϕ1 + JB∆γ + JL∆Ψ2 (1.4.37)

22

onde ∆f(t) = f(TF )− f(TL).Podemos agrupar as equacoes (1.4.36) e (1.4.37) com o auxılio de (1.3.17),

obtendo assim:

Mg∫ TF

T0

(l1 sin ϕ1 + l2 sin(ϕ1 + k))dt = (1.4.38)

JT (ϕ1(TF )− ϕ1(T0))+JB(γ(TF )− γ(T0))+JLΨ2(TF )−J1Ψ1(T0)−JLΨ2(T0)

Por hipotese, queremos que γ(TF ) = γ(T0). Assim, substituindo (1.4.31)em (1.4.38) e utilizando JL = JL + J1:

∫ TF

T0

(l1 sin ϕ1 + l2 sin(ϕ1 + k))dt =L2

g(1 + cos(Ψ2(TF )− ϕ1(TF )− k))ϕ1(TF )

(1.4.39)Devemos portanto satisfazer a condicao isoperimetrica4 acima para que

a velocidade do corpo central γ(t) se repita ao fim de cada passo, evitandoo acumulo de momento angular e a consequente saturacao dos limites develocidades das juntas e/ou dos motores.

4Uma condicao isoperimetrica, diferentemente de uma condicao de contorno pontual,depende da evolucao de uma ou mais variaveis para que seja satisfeita. Esta evolucao enormalmente expressa em termos de integrais. Para maiores detalhes vide [22].

23

Capıtulo 2

O Problema de Otimizacao

Neste capıtulo apresentamos a metodologia utilizada para solucionar o prob-lema de geracao de trajetorias em tempo mınimo. O algoritmo utilizadopara determinar a polıtica otima de percurso da trajetoria foi originalmentedesenvolvido em [3] e posteriormente modificado em [28]. O objetivo destetrabalho e apresentar suscintamente as ideias basicas que norteiam os passosde execucao deste algoritmo e aplica-lo ao robo bıpede estudado. Para umaabordagem mais completa, incluindo demonstracoes e outros pormenores,indicamos a leitura dos dois trabalhos supracitados.

2.1 O Algoritmo de Bobrow Modificado

O algoritmo e baseado no fato de que o controle deve aplicar a maxima acel-eracao possıvel (mınima desaceleracao possıvel) para que possamos mantera maxima velocidade possıvel ao longo da trajetoria, minimizando assim otempo de percurso (a demonstracao desta proposicao encontra-se em [3]).

Suponhamos que a trajetoria espacial descrita pelo robo e conhecida apriori e desejamos determinar a velocidade de percurso desta trajetoria a fimde minimizar o tempo gasto sem violar as restricoes de torque e do contatocom o solo. A trajetoria pode ser parametrizada por um escalar x e podemosentao escrever:

q = q(x) , x ∈ [xi, xf ] (2.1.1)

onde o vetor q = (q1, . . . , qn)T representa os deslocamentos generalizadosdas juntas. A variavel x e conhecida como tempo virtual, pois seu papel naparametrizacao de q e analogo ao do tempo real, com a diferenca que podemos

24

comandar o tempo virtual, ou em outras palavras, podemos variar x, ondea notacao x representa dx/dt. A funcao (2.1.1) representa a trajetoria emtempo virtual do robo. Assim sendo, para descrevermos o comportamentoreal do robo ao longo do percurso e preciso escolher uma lei horaria x(t) demaneira que q(x(t)) passe a ser a trajetoria em tempo real.

A derivada de qi em relacao ao tempo pode ser determinada por:

qi =∂qi

∂xx (2.1.2)

e

qi =∂qi

∂xx +

∂2qi

∂x2(x)2 (2.1.3)

para i = 1, . . . , n. Adotamos a notacao x = d2x/dt2 e supomos ainda que xe monotonicamente crescente e x 6= 0.

Seja T = (T1, . . . , Tn)T os vetor de forcas generalizadas aplicadas pelosatuadores em cada junta. Suponha que os atuadores apresentem limitacoes,ou seja, existe um intervalo de valores de torque/forca admissıveis para cadajunta. Estas limitacoes podem ser escritas na forma:

Timin(q, q) ≤ Ti ≤ Timax(q, q) (2.1.4)

Suponha que as equacoes dinamicas que regem o movimento do sistemapossam ser representadas por:

q = q(q, q, T ) = P (q, q) + M−1(q)T (2.1.5)

Seja q(xP ) um ponto qualquer da trajetoria e q(xP , xP ) a velocidade nesteponto. Entao, por linearidade da equacao 2.1.5 em relacao a T podemos subs-tituir, nesta equacao, os limites dos atuadores (2.1.4) e utilizar as equacoes(2.1.2) e (2.1.3) para determinar o intervalo de valores que x pode assumirpara que as restricoes de atuacao nao sejam violadas. Assim, para cada qi

havera um intervalo possıvel:

x ∈ [f i(xP , xP ), gi(xP , xP )] (2.1.6)

e portanto devemos assegurar que:

f(xP , xP ) ≤ x ≤ g(xP , xP ) (2.1.7)

f(xP , xP ) = maxi

f i(xP , xP )

g(xP , xP ) = mini

gi(xP , xP )

25

Podemos notar que se f(xP , xP ) > g(xP , xP ), entao x nao pode assumirnenhum valor possıvel. Para uma explicacao detalhada desta formulacao,remetemos o leitor aos trabalhos [28] e [29].

Primeiramente o algoritmo amostra a trajetoria q(x) em um numerodesejado de pontos igualmente espacados (em termos de x). Para cadaponto xP amostrado, testa-se o maior valor possıvel xmax que ainda satis-faz f(xP , xP ) ≤ g(xP , xP ). A curva obtida xmax(x) e chamada de curva demaxima velocidade (C.M.V).

Suponha que as velocidades inicial e final (qi e qf ) sejam previamenteconhecidas e observe o plano de fase (x, x) mostrado na figura 2.1.

Figura 2.1: O Algoritmo de Integracao

O algoritmo executa os seguintes passos (veja [28]):

26

• Passo 1. Integrar para tras a equacao diferencial1:

dy

dx=

f(x, y)

yonde y = x

com condicoes finais (xf , xf ) ate que intercepte a C.M.V ou ate quex = xi (o inıcio da trajetoria);

• Passo 2. Integrar para frente a equacao diferencial:

dy

dx=

g(x, y)

yonde y = x

com condicoes iniciais (xi, xi). Ha duas possibilidades:

– i) caso a curva intercepte o trecho gerado no Passo 1 antes detocar a C.M.V, o problema consiste em um unico chaveamento ea curva solucao e a uniao dos dois trechos acima integrados.

– ii) Se i) nao ocorrer, entao a trajetoria interceptara a C.M.V no-vamente em um ponto P1 antes de tocar o trecho integrado noPasso 1. Neste caso havera multiplos chaveamentos.

• Passo 3. Percorrer a C.M.V a partir do ponto P1 procurando o primeiroponto B onde a trajetoria tangencie a C.M.V. A partir deste ponto, in-tegrar

dy

dx=

f(x, y)

yonde y = x

para tras, ate interceptar o trecho da curva solucao gerado pelo Passo2 em um ponto A.

• Passo 4. Finalmente integrar

dy

dx=

g(x, y)

yonde y = x

para frente a partir de B ate interceptar o trecho da curva solucaogerado pelo Passo 1 em um ponto C.

1Note que esta equacao diferencial e equivalente a x = f(x, x), porem esta ultima ecalculada para o tempo real t

27

• Passo 5. Se o Passo 4 falhar, ou seja, se a curva gerada neste passotocar novamente a C.M.V em um ponto P2 antes de interceptar o trechoda curva solucao gerado pelo Passo 1, entao pode haver mais do quetres chaveamentos. Neste caso, o algoritmo retorna ao Passo 3, a partirdo ponto P2. Prossegue-se desta maneira ate que o Passo 4 seja bemsucedido.

A curva que parte de (xi, xi) passando por A, B, C ate (xf , xf ) e apolıtica otima de velocidade que minimiza o tempo de percurso da trajetoria.De posse desta polıtica podemos expressar todas as variaveis em funcao dotempo real t, uma vez que:

t(x∗) =∫ x∗

xi

dx

x(x)(2.1.8)

2.2 Geracao de Trajetorias Otimas para o Robo

Bıpede

Nesta secao adequaremos o caso do robo bıpede a metodologia exposta nasecao 2.1. Para isso observe novamente a figura 1.1. Durante um passo, avariavel auxiliar θ varre o intervalo [θi, θf ] = [arcsin(−d/2L), arcsin(d/2L)]onde d representa a largura de um passo. Podemos representar a evolucaodas variaveis Ψ1 e Ψ2 em termos do parametro θ:

Ψk =∂Ψk

∂θθ (2.2.9)

e

Ψk =∂Ψk

∂θθ +

∂2Ψk

∂θ2(θ)2 (2.2.10)

para k = 1, 2. Admite-se que θ e monotonicamente crescente e que θ 6=0. Portanto, neste problema a variavel θ assume o papel do tempo virtualdescrito na secao anterior.

Na secao 1.3 vimos que a restricao (1.3.28) deve ser satisfeita para que aperna suspensa nao colida com o solo antes do fim do passo. Esse restricaoparametrizada em funcao de θ pode ser expressa por:

L cos(θ) + l2 cos(Ψ2(θ)) + l1(cos Ψ1(θ)) > 0 (2.2.11)

28

para todo θ ∈ (θi, θf ).Admitimos que o ponto da trajetoria onde ocorre o travamento do joelho

da perna suspensa e conhecido e e representado por θL. E neste ponto que opasso comuta da Fase I para a Fase II. Usando (2.2.9), a equacao que modelaeste processo de travamento (1.3.17) pode ser reescrita (para o ponto θ = θL):

∂Ψ+2

∂θ=

JL∂Ψ−2∂θ

+ J1∂Ψ−1∂θ

JL + J1

(2.2.12)

onde os ındices + e − representam, respectivamente, as derivadas a direita ea esquerda de θL. Visto que ao longo de toda a fase II temos Ψ1 = Ψ2, entao:

∂Ψ+1

∂θ=

∂Ψ+2

∂θ

A equacao (2.2.12) fornece as condicoes de contorno que as funcoes Ψk(θ)devem respeitar em θL para que o momento angular na perna suspensa sejaconservado durante o processo de travamento do joelho.

Similarmente, a equacao que modela o choque final da perna suspensacom o solo (1.3.25) aliada as substituicoes (1.4.30) pode ser escrita como:

JT ϕ1(T0) = JLΨ2(TF )−ML2 cos(Ψ2(TF )− ϕ1(TF )− k)ϕ1(TF ) (2.2.13)

e uma vez que ϕ1 = θ, podemos utlizar (2.2.9) para reformular essa equacao:

∂Ψ2

∂θ(θf ) =

JT θi

JLθf

+ML2

JL

cos(Ψ2(TF )− ϕ1(TF )− k) (2.2.14)

A equacao (2.2.14) fornece as condicoes de contorno que as funcoes Ψk(θ)devem respeitar em θf para que o momento angular do robo seja conservadoao final do processo de colisao da perna suspensa com o solo.

Como descrito na secao 2.1, as funcoes Ψk(θ) sao entradas para o Al-goritmo de Bobrow Modificado, pois admitimos que a trajetoria espacial econhecida a priori. Portanto, na fase de especificacao destas trajetorias deve-se certificar que sejam testadas as condicoes de contorno (2.2.12) e (2.2.14),alem da restricao (2.2.11), para que as funcoes Ψk(θ) informadas ao algoritmosejam consideradas validas.

Assumiremos que os motores responsaveis pela aplicacao dos torques emcada um dos links das pernas apresentam limites de atuacao que podem

29

depender da posicao e da velocidade de sua respectiva junta. Mas, uma vezque podemos parametrizar a posicao e a velocidade de todas as variaveis emfuncao de θ e θ, podemos entao assumir que os limites dos atuadores podemser expressos por:

Timin(θ, θ) ≤ Ti ≤ Timax(θ, θ) (2.2.15)

onde i = 1, 2 e Ti e o torque aplicado ao i-esimo link. Por razoes obviasconsideramos que ha igualdade dos limites dos atuadores para as duas pernas.

Seja θP uma posicao qualquer da trajetoria e θP a velocidade angularneste ponto. Calculando (2.2.15) para θP e θP encontramos os limites dosatuadores. Substituindo os limites dos atuadores nas equacoes dinamicas(1.1.10) para a primeira fase do passo (se θi ≤ θP ≤ θL) ou (1.1.13) para asegunda fase do passo (se θL < θP ≤ θf ) encontramos intervalos de valoresadmissıveis para ϕ1, Ψ1 e Ψ2. Mas ϕ1 = θ, logo podemos reescrever ointervalo de valores admissıveis encontrado para ϕ1:

θ ∈ [f 1(θP , θP ), g1(θP , θP )]

Usando as equacoes (2.2.9) e (2.2.10) podemos reescrever os intervalos devalores admissıveis encontrados para Ψ1 e Ψ2 em funcao de θ. Assim, para ointervalo referente a Ψ1 temos:

θ ∈ [f 2(θP , θP ), g2(θP , θP )]

e para Ψ2:θ ∈ [f 3(θP , θP ), g3(θP , θP )]

Alem das restricoes de atuacao, devemos considerar a restricao da in-teracao do robo com o solo. Conforme exposto na secao 1.2 devemos garan-tir que a forca de contato com o solo ~FS permaneca na regiao permitida (ocone de atrito) a fim de evitar o escorregamento da perna suporte. Para isso

considere a segunda lei de Newton ( ~FR = m~a) aplicada ao robo como umtodo:

~FS + M~g = M(~acp + ~at) (2.2.16)

onde ~g e a aceleracao da gravidade e ~acp e ~at sao, respectivamente, as acele-racoes centrıpeta e tangencial do C.M do robo. Logo:

~FS

M= (−~g + ~acp + ~at) (2.2.17)

30

Figura 2.2: A restricao da forca de contato

Note que em (2.2.17), o lado direito da equacao deve permanecer na regiaopermitida. Observe a figura 2.2.

Sabemos que ~acp esta orientada no sentido do ponto de contato com osolo (na direcao radial) e tem valor absoluto acp = L(θP )2. Uma vez que~at e perpendicular a ~acp podemos entao determinar o intervalo de valoresabsolutos at que ainda mantem a resultante −~g + ~acp + ~at dentro da regiaopermitida. Porem

at = Lθ

e portanto podemos expressar este intervalo de valores de at em funcao de θ:

θ ∈ [f 4(θP , θP ), g4(θP , θP )]

Assim devemos assegurar que:

f(θP , θP ) ≤ θ ≤ g(θP , θP ) (2.2.18)

31

f(θP , θP ) = maxj=1,...,4

f j(θP , θP )

g(θP , θP ) = minj=1,...,4

gj(θP , θP )

para que nenhuma das restricoes seja violada.Agora que o problema do robo bıpede esta devidamente adaptado aos pro-

cedimentos do Algoritmo de Bobrow modificado, os passos descritos na secao2.1 podem ser executados normalmente. Primeiramente o algoritmo amostraas funcoes Ψk em um numero desejado de pontos igualmente espacados (emrelacao a θ). Em seguida testa-se, para cada ponto, o maximo valor θmax

que ainda satisfaz f(θP , θP ) ≤ g(θP , θP ), determinando-se assim a curvade maxima velocidade θmax(θ). Uma vez que as velocidades inicial e finalϕ1(T0) = θi e ϕ1(TF ) = θf sao conhecidas, o algoritmo passa a executaros passos de integracao (de 1 a 5), encontrando a polıtica otima para avelocidade de percurso da trajetoria em funcao da posicao θ = θ(θ) e con-sequentemente a evolucao dos torques em cada junta que conduzem o roboa desempenhar esta polıtica.

Analogamente as trajetorias Ψk(θ), as velocidades inicial e final ϕ1(T0) =θi e ϕ1(TF ) = θf tambem sao entradas do algoritmo e portanto sao definidas a

priori. Conforme exposto na secao 1.3, para que a forca impulsiva ~FP (geradana colisao da perna suspensa com o solo) permaneca na regiao permitida,evitando assim o escorregamento) a restricao (1.3.27) deve ser respeitada.Assim, a escolha das velocidades inicial e final deve satisfazer:

1

tan(θf )| θi − θf

θi + θf

| ≤ µe (2.2.19)

onde θf = α/2 e sin(θf ) = d/(2L).

2.3 Um Exemplo Numerico

Nesta secao aplicaremos o algoritmo descrito acima em um exemplo academico.Seja M = 10 a massa total do robo, g = 10 a aceleracao da gravidade, l1 = 1.5e l2 = 1.0 os comprimentos dos links 1 e 2 respectivamente, J1 = 0.5, JL = 1.5e JB = 1.0 os respectivos momentos de inercia. Assumimos que o coeficientede atrito estatico vale µe = 0.5 e os parametros da trajetoria sao L = 1.5 ed = 1.3. Todas as grandezas estao expressas em unidades do S.I.

32

Escolhemos o valor do angulo θL (onde ocorre o travamento do joelho daperna suspensa) como sendo:

θL = +1

2arcsin(

d

2L)

Neste ponto desejamos que os angulos da perna suspensa assumam osvalores

ΨLk = Ψk(T0)− π

3k = 1, 2

e suas derivadas em relacao a θ sejam

∂Ψ1

∂θ

∣∣∣θL

= −3∂Ψ2

∂θ

∣∣∣θL

= 1

Escolhemos as velocidades inicial e final como sendo θi = 0.4 e θf = 0.25(note que para estes valores de velocidades inicial e final, a restricao de atrito(2.2.19) e satisfeita). Com o auxılio de (2.2.9) e (1.4.31) podemos escreverpara o ponto inicial da trajetoria:

∂Ψ1

∂θ

∣∣∣θi

=∂Ψ2

∂θ

∣∣∣θi

=Ψ2(T0)

θi

=θf

θi

(2.3.20)

e ja que

Ψ2(TF )− ϕ1(TF )− k = π − 2θf ⇒ cos(Ψ2(TF )− ϕ1(TF )− k) = − cos(2θf )

podemos escrever para o ponto final:

∂Ψ2

∂θ

∣∣∣θf

=Ψ2(TF )

θf

=JT

JL

θi

θf

− ML2 cos(2θf )

JL

(2.3.21)

Assim, na primeira fase do passo, estabelecemos as condicoes de contornonos pontos θi e θL para as variaveis Ψ1 e Ψ2 e suas derivadas em relacaoa θ. Uma vez que temos que satisfazer, para cada Ψk, quatro condicoes decontorno, podemos escolher um polinomio de grau 3 para representar estasfuncoes. Assim:

Ψk(θ) = a3kθ3 + a2kθ

2 + a1kθ + a0k

onde ajk sao dados pela solucao do sistema linear:

θ3L θ2

L θL 1θ3

i θ2i θi 1

3θ2L 2θL 1 0

3θ2i 2θi 1 0

a3k

a2k

a1k

a0k

=

Ψk(θL)Ψk(θi)∂Ψk

∂θ(θL)

∂Ψk

∂θ(θi)

(2.3.22)

33

Aplicando (2.2.12) obtemos o valor da derivada de Ψ2 a direita de θL

e estabelecemos as quatro condicoes de contorno da funcao Ψ2(θ) para asegunda fase do passo. Da mesma forma podemos adotar um polinomio degrau 3 para representar esta funcao e repetir o procedimento acima, agoracalculado para os pontos θL e θf . Note que ao longo de toda a segunda fasedo passo temos:

Ψ1(θ) = Ψ2(θ)− k

O algoritmo calcula o valor destes polinomios para cada ponto amostradoe assim, as derivadas necessarias para a sua execucao podem ser determinadasnumericamente para qualquer ponto da trajetoria.

Lembremos que as funcoes Ψk devem obedecer a restricao (2.2.11) paraevitar um choque precoce com o solo. De fato, podemos observar na figura2.3 que a altura da extremidade da perna suspensa e estritamente positivadurante todo o passo. Assumimos que a restricoes dos atuadores sao:

−20 ≤ τ1 ≤ 20

e−80 ≤ τ2 ≤ 80

Executando o Algoritmo de Bobrow Modificado, obtemos na figura 2.4 oplano de fase (θ, θ) com a C.M.V e a polıtica otima de minimizacao do tempoθ(θ).

Os torques correspondentes a esta solucao, juntamente com a taxa Fatrito/Nestao expostos na figura 2.5. Sabemos que Fatrito/N deve ser menor ou iguala µe e que os torques dos atuadores devem permanecer restritos a seus inter-valos limitados.

Na figura 2.5, e interessante notar os trechos da trajetoria em que di-ferentes restricoes sao mantidas em seus limites para que o robo imprima amaxima aceleracao possıvel (ou mınima desaceleracao possıvel). Podemosnotar, por exemplo que do ınicio da trajetoria ate aproximadamente o pontoθ = −12o, o torque τ12 e mantido em seu valor mınimo, ate que a taxaFatrito/N atinge o valor de µe. A partir de entao, e esta taxa que passa a sermantida em seu valor limite. Ela e chaveada para seu valor mınimo em umponto proximo a θ = −3o e permanece constante ate que τ12 atinge seu valormaximo em θ = 9o, e assim por diante. Apos o travamento do joelho daperna suspensa (que ocorre em θL = 12.84o) passamos a representar o valorda combinacao de torques τ12 no proprio grafico de τ2 (no segundo subplot),

34

Figura 2.3: A restricao de altura da extremidade da perna suspensa

Figura 2.4: A polıtica θ(θ) de otimizacao do tempo

35

Figura 2.5: Os torques e a taxa Fatrito/N ao longo da trajetoria

36

Figura 2.6: A evolucao dos angulos das juntas

37

enquanto que o grafico de τ1 permanece nulo (primeiro subplot). O tempototal gasto na execucao do passo e dado por:

∆t =∫ θf

θi

θ(θ)(2.3.23)

e para o exemplo acima obtemos ∆t = 1.1124s.Na figura 2.6 podemos visualisar a evolucao dos angulos das juntas ao

longo do tempo.

2.4 A Periodicidade de γ

Ate este momento, o algoritmo apresentado foi aplicado ao robo bıpede paradeterminacao da polıtica otima de percurso de uma trajetoria predefinida,com condicoes iniciais e finais conhecidas, a fim de minimizar o tempo gasto.Nao foram impostas, ate entao, condicoes que garantam que a velocidadeangular do corpo central seja a mesma no inıcio e no fim de cada passo,evitando assim o acumulo de momento angular e levando a saturacao doslimites de velocidade angular das juntas ou motores do sistema.

Na secao 1.4 vimos que a condicao isoperimetrica (1.4.39) deve ser sat-isfeita para garantir que ∆γ = 0. Observe novamente a figura 1.1. Noteque:

L sin(θ) = l1 sin ϕ1 + l2 sin(ϕ1 + k)

uma vez que ϕ2 = ϕ1 +k. Logo, podemos reescrever esta condicao em funcaodo parametro θ: ∫ θf

θi

sin(θ)

θ(θ)dθ =

L

g(1− cos(2θf ))θf (2.4.24)

para θ 6= 0.Observe o termo no lado esquerdo da igualdade de (2.4.24). Podemos

calcular esta integral para uma solucao fornecida pelo Algoritmo de BobrowModificado, ja que a polıtica otima obtida e, em suma, uma funcao θ(θ). Ocalculo do termo no lado direito da igualdade e trivial.

Descreveremos agora o processo utilizado pelo algoritmo para encontrarum par (θi, θf ) que satisfaca a condicao isoperimetrica (2.4.24). Inicialmenteutiliza-se, como uma primeira estimativa, o valor da velocidade inicial θi =θ(T0) inserido como uma entrada do algoritmo. Para este valor de velocidadeinicial podemos determinar o intervalo de valores possıveis para a velocidade

38

final que ainda mantem a forca impulsiva ~FP (gerada na colisao final da pernasuspensa com o solo) dentro da regiao permitida (“cone de atrito”). Noteque, podemos reescrever a restricao (2.2.19):

|θi − θf |θi + θf

≤ µe tan(θf ) (2.4.25)

Uma vez que θi e θf sao estritamente positivos, entao podemos afirmar queo modulo de sua diferenca e menor que sua soma, logo:

|θi − θf |θi + θf

≤ 1 (2.4.26)

Assim, se µe tan(θf ) ≥ 1 entao qualquer valor de θf satisfaz a restricao(2.2.19). Neste caso:

θminf = 0 e θmax

f = +∞

onde θminf e θmax

f sao, respectivamente, os limites mınimo e maximo do in-

tervalo de valores da velocidade final θf que ainda mantem ~FP na regiaopermitida.

Contudo, se µe tan(θf ) < 1 podemos resolver (2.4.25) para θf , obtendo:

θminf =

(1− µe tan(θf ))

(1 + µe tan(θf ))θi (2.4.27)

e

θmaxf =

(1 + µe tan(θf ))

(1− µe tan(θf ))θi (2.4.28)

O algoritmo entao testa se os limites do intervalo obtido acima sao validos,ou seja se os valores de θmin

f e θmaxf encontrados sao menores que o valor da

curva de maxima velocidade (C.M.V) para o ponto θf . Desta maneira se:

θminf < CMV (θf ) e θmax

f > CMV (θf )

onde CMV (θf ) e o valor da C.M.V no ponto final da trajtoria (θ = θf ),entao o algoritmo passa a adotar

θmaxf = CMV (θf )

39

Caso ambos sejam maiores que o valor da C.M.V, ou seja:

θminf > CMV (θf ) e θmax

f > CMV (θf )

entao o algoritmo adota um novo valor para a velocidade inicial θi, menorque o valor atual, ate que se obtenha:

θminf < CMV (θf )

Uma vez encontrado um intervalo valido

θminf ≤ θf ≤ θmax

f

o algoritmo passa a procurar, dentro deste intervalo, um valor para a veloci-dade final θf = θA

f para o qual seja verificado:

∫ θf

θi

sin(θ)

θ(θ)dθ − L

g(1− cos(2θf ))θ

Af < 0 (2.4.29)

e outro valor para a velocidade final θf = θBf onde:

∫ θf

θi

sin(θ)

θ(θ)dθ − L

g(1− cos(2θf ))θ

Bf > 0 (2.4.30)

Chamamos a atencao do leitor para o fato de que cada valor da velocidadefinal θf e responsavel por gerar uma funcao θ(θ) diferente, conforme podemosobservar na figura 2.7.

Desta forma podemos considerar que a funcao:

A =∫ θf

θi

sin(θ)

θ(θ)dθ

e uma funcao de θf . E ainda, se A(θf ) dada acima for uma funcao contınuade θf , entao

A(θf ) =∫ θf

θi

sin(θ)

θ(θ)dθ − L

g(1− cos(2θf ))θ

Bf (2.4.31)

tambem sera uma funcao contınua de θf , e pelo Teorema do Valor Inter-mediario se:

A(θAf ) < 0 e A(θB

f ) > 0

40

Figura 2.7: O comportamento de θ(θ) para diferentes valores de θf

entao existe um valor

θ∗f ∈ (θAf , θB

f ) ou θ∗f ∈ (θBf , θA

f )

tal que:A(θ∗f ) = 0

Portanto, uma vez encontrados θAf e θB

f que satisfacam, respectivamente,(2.4.29) e (2.4.30), o algoritmo passa a procurar, neste intervalo, um valorintermediario θ∗f tal que:

|A(θ∗f )| = |∫ θf

θi

sin(θ)

θ(θ)dθ − L

g(1− cos(2θf ))θ

∗f | < ε (2.4.32)

para uma condicao de parada ε tao pequena quanto se queira. Caso naosejam encontrados θA

f e θBf o algoritmo altera o valor de θi e refaz todo o pro-

cedimento. Desta forma, o algoritmo e capaz de detectar um zero da funcaoA(θ∗f ) nas proximidades das condicoes iniciais fornecidas como uma primeira

41

aproximacao, mas nao garante que zeros distantes sejam encontrados. Nestecaso o usuario deve reformular iterativamente as condicoes iniciais ate queseja encontrada uma solucao para o procedimento.

Neste trabalho nao provaremos a continuidade de A(θf ) mas fornecere-mos, no apendice A argumentos convincentes que nos conduzem intuitiva-mente a essa conclusao.

2.5 Um Novo Exemplo Numerico

Aplicaremos as ideias expostas na secao 2.4 ao mesmo exemplo numericosimulado na secao 2.3. Naquele exemplo, o problema da repetibilidade de γainda nao era tratado e, portanto, para aquela solucao obtida encontramos∆γ = 2.2527rad/s. Se adotarmos γi = 0 podemos observar, na figura 2.8 ocomportamento de γ ao longo da trajetoria.

Figura 2.8: O comportamento de γ para o primeiro exemplo numerico

Para aquele exemplo foi escolhida uma velocidade inicial θi = 0.4, e paraeste valor encontramos os seguintes limites para o intervalo de valores develocidade final:

θminf = 0.2449 e θmax

f = 0.6532

42

Aplicamos o Algoritmo de Bobrow Modificado, incrementado com os pro-cedimentos descritos na secao 2.4 para uma condicao de parada (2.4.32):

|A(θ∗f )| < 1× 10−5 (2.5.33)

e obtemos:θi = 0.4 e θ∗f = 0.3006

e|A(θ∗f )| = −1.0335× 10−6

Para este caso, o plano de fase (θ, θ) com a C.M.V e a polıtica otima deminimizacao do tempo θ(θ) encontra-se na figura 2.9.

Se adotarmos γi = 0 podemos observar, na figura 2.10 o comportamentode γ ao longo da trajetoria. Note que agora as velocidades do corpo centralno inıcio e no final do passo sao, para todos os efeitos, identicas (exceto peladiferenca dada pela condicao de parada (2.5.33)).

Os torques correspondentes a esta solucao, juntamente com a taxa Fatrito/Nestao expostos na figura 2.11. O tempo total gasto na execucao do passo edado por (2.3.23), e para o novo exemplo obtemos ∆t = 1.0626s. Na figura2.12 podemos visualisar a evolucao dos angulos das juntas ao longo do tempo.

A velocidade media de translacao do robo e dada pela equacao:

vm =d

∆t(2.5.34)

e para este exemplo obtemos vm = 1.2234m/s.As solucoes encontradas fornecem a evolucao dos angulos das juntas e dos

torques ao longo do passo e serao usadas como referencia a ser rastreada pelosistema de controle desenvolvido no capıtulo 4.

43

Figura 2.9: A nova polıtica θ(θ) de otimizacao do tempo

Figura 2.10: O comportamento de γ para o novo exemplo numerico

44

Figura 2.11: Os torques e a taxa Fatrito/N para o novo exemplo

45

Figura 2.12: A evolucao dos angulos das juntas para o novo exemplo

46

Capıtulo 3

Linearizacao Exata do Modelo

Neste capıtulo provaremos que a dinamica do robo bıdepe em estudo, emambas as fases de seu passo, possui a propriedade de ser linearizada poruma realimentacao nao-linear de estados aliada a uma transformacao localde coordenadas. Esta propriedade esta fortemente relacionada com o con-ceito de “flatness”. Baseando-se nestas propriedades estruturais, podemosprojetar um controlador com a intencao de impor uma dinamica em malhafechada que o force a rastrear assintoticamente qualquer trajetoria de re-ferencia, em especial aquela que representa a polıtica otima de velocidadeobtida nos capıtulos anteriores.

3.1 O conceito de flatness

A definicao de “flatness” de sistemas de controle nao-linear foi introduzidapor Fliess et al. [10], numa abordagem algebrica-diferencial, tendo sidotraduzida para uma linguagem geometrica-diferencial em [11].

Essencialmente, um sistema e denominado flat se existir um conjuntode funcoes {y1, . . . , ym}, chamado saıda flat, possuindo as seguintes pro-priedades:

(i) Toda variavel φ do sistema e uma funcao φ(y, y, . . . , y(α)), onde y(k) de-nota a k-esima derivada temporal de y.

(ii) As funcoes {y1, . . . , ym} sao diferencialmente independentes, i.e., naoexiste nenhuma relacao nao trivial ψ(y, y, . . . , y(β)) = 0.

Uma definicao mais precisa de flatness pode ser encontrada em [10].

47

3.1.1 Flatness e Controlabilidade

Se um sistema e flat, a propriedade (i) implica que a entrada u deste sis-tema pode ser calculada como funcao da saıda flat e suas derivadas, ou seja,u = u(y, y, . . . , y(α)). Em particular, fixada uma trajetoria yref (t) compatıvelcom as condicoes iniciais, podemos determinar a entrada u(t) que faz comque o sistema rastreie yref (t). Assim, flatness e um conceito forte de contro-labilidade de sistemas nao-lineares. Prova-se que

Flatness ⇒ ControlabilidadeControlabilidade 6⇒ Flatness

Ja para sistemas lineares o conceito de flatness e equivalente ao de con-trolabilidade. Em um sistema flat podemos construir uma lei de controlede malha fechada de forma a rastrear assintoticamente uma trajetoria dereferencia. Um exemplo de como construir este sistema de controle sera a-presentado a seguir para o robo bıpede em cada uma das fases do passo.Observemos que para robos, uma polıtica de controle baseada em flatness efundamentalmente equivalente ao ja conhecido Metodo do Torque Calculado.

3.2 A Primeira Fase do Passo

Nesta secao e na subsequente aplicaremos as tecnicas desenvolvidas em [18]para demonstrar a propriedade de linearizacao exata do modelo de robobıpede em estudo. Estas demonstracoes sao construtivas, o que significaque ao final das duas secoes obteremos as expressoes para calcular os torquesde controle linearizantes para cada uma das fases do passo.

Relembremos as equacoes dinamicas desenvolvidas no capıtulo 1 para aprimeira fase do passo (1.1.10), que vai do inıcio do passo ate o instante emque ocorre o travamento do joelho da perna suspensa:

J1Ψ1 = τ1

JLΨ2 = τ2

JBγ = τ12 − τ1 − τ2

JT ϕ1 = Mg(l1 sin ϕ1 + l2 sin(ϕ1 + k))− τ12

(3.2.1)

Baseados nas equacoes acima consideremos:

x = (x1, . . . , x8) = (Ψ1, Ψ1, Ψ2, Ψ2, γ, γ, ϕ1, ϕ1)

48

eu = (τ1, τ2, τ12)

Assim podemos escrever para o robo academico estudado:

x = f(x) + g(x)u (3.2.2)

x =

x2

0x4

0x6

0x8

MgJT

(l1 sin x7 + l2 sin(x7 + k))

+

0 0 01J1

0 0

0 0 00 1

JL0

0 0 0− 1

JB− 1

JB

1JB

0 0 00 0 − 1

JT

τ1

τ2

τ12

(3.2.3)e denotaremos por gi a i-esima coluna de g(x). Seja:

G0 = span{g1, g2, g3}G1 = span{g1, g2, g3, adfg1, adfg2, adfg3}

. . .

Gi = span{adkfgj : 0 ≤ k ≤ i, 1 ≤ j ≤ 3} (3.2.4)

para i = 0, 1, . . . , 7. Onde define-se recursivamente adkfgj = [f, adk−1

f gj] e:

adfgj = [f, gj] =∂gj

∂xf(x)− ∂f

∂xgj(x) (3.2.5)

Vemos que dim G0 = 3 e constante, e uma vez que

[gi, gj] = 0, 1 ≤ i, j ≤ 3

a distribuicao G0 e involutiva. Para calcular adfgi usemos:

49

∂f

∂x=

0 1 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 1 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 10 0 0 0 0 0 Mg

JT(l1 cos x7 + l2 cos(x7 + k)) 0

(3.2.6)

Logo:

adfg1 =

− 1J1

0001

JB

000

adfg2 =

00− 1

JL

01

JB

000

adfg3 =

0000

− 1JB

01

JT

0

(3.2.7)

Vemos que dim G1 = 6 e constante, e uma vez que:

[gi, adfgj] = 0, 1 ≤ i, j ≤ 3

e[adfgi, adfgj] = 0, 1 ≤ i, j ≤ 3

a distribuicao G1 tambem e involutiva.

Calculemos agora ad2fgi:

ad2fgi = [f, adfgi] =

∂adfgi

∂xf(x)− ∂f

∂xadfgi(x) (3.2.8)

Com a ajuda de (3.2.6) temos

ad2fg1 = 0 e ad2

fg2 = 0

e

50

ad2fg3 =

0000000

−MgJ2

T(l1 cos x7 + l2 cos(x7 + k))

(3.2.9)

A dim G2 = 7 e constante em toda regiao onde

l1 cos x7 + l2 cos(x7 + k) 6= 0

Esta expressao somente se anula quando o centro de massa do robo como umtodo esta em contato com o solo. Portanto podemos concluir que a dimensaode G2 e constante na regiao de operacao do robo. Para descobrirmos se G2

e involutiva, basta calcularmos:

[gi, ad2fg3], e [adfgi, ad2

fg3], 1 ≤ i ≤ 3

Para isso calculemos:

∂ad2fg3

∂x=

0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 Mg

J2T

(l1 sin x7 + l2 sin(x7 + k)) 0

(3.2.10)

Assim vemos que:

[g1, ad2fg3] = [g2, ad2

fg3] = [g3, ad2fg3] = [adfg1, ad2

fg3] = [adfg2, ad2fg3] = 0

51

e

[adfg3, ad2fg3] =

0000000

MgJ3

T(l1 sin x7 + l2 sin(x7 + k))

(3.2.11)

Note que rank(adfg3, ad2fg3) = 2, e que rank(adfg3, ad2

fg3, [adfg3, ad2fg3])

e dado por:

rank

0 0 00 0 00 0 00 0 0

− 1JB

0 0

0 0 01

JT0 0

0 −MgJ2

T(l1 cos x7 + l2 cos(x7 + k) Mg

J3T

(l1 sin x7 + l2 sin(x7 + k))

= 2, ∀x

portanto a distribuicao G2 tambem e involutiva.Calculemos agora ad3

fgi:

ad3fgi = [f, ad2

fgi] =∂ad2

fgi

∂xf(x)− ∂f

∂xad2

fgi(x) (3.2.12)

Comoad2

fg1 = 0 e ad2fg2 = 0

basta calcularmos ad3fg3.

52

Com a ajuda de (3.2.10) e (3.2.6):

ad3fg3 =

000000

MgJ2

T((l1 sin x7 + l2 sin(x7 + k))x8 + (l1 cos x7 + l2 cos(x7 + k)))

0

(3.2.13)Assim, ad3

fg3 completa a base de G3, e portanto dim G3 = 8 e constantena regiao de operacao do robo, e como n = 8 e a ordem do sistema (3.2.2)temos que:

dim G4 = dim G5 = dim G6 = dim G7 = 8

e todas as distribuicoes Gi, 3 ≤ i ≤ 7 sao involutivas.Observe que:

dim G3︸ ︷︷ ︸n=8

− dim G2 = 1 =: µ1

Uma vez que G2 e involutiva, pelo Teorema de Frobenius, existe uma (µ1 = 1)funcao que denotaremos por λ1(x), tal que:

span{dλ1} = G⊥2

Por construcao:

〈dλ1(x), adkfgj(x)〉 = 0 ∀x, e 0 ≤ k ≤ 2

assim sendo:

∂λ1

∂x1∂λ1

∂x2∂λ1

∂x3∂λ1

∂x4∂λ1

∂x5∂λ1

∂x6∂λ1

∂x7∂λ1

∂x8

T

0 0 0 − 1J1

0 0 01J1

0 0 0 0 0 0

0 0 0 0 − 1JL

0 0

0 1JL

0 0 0 0 0

0 0 0 1JB

1JB

− 1JB

0

− 1JB

− 1JB

1JB

0 0 0 0

0 0 0 0 0 1JT

0

0 0 − 1JT

0 0 0 −MgJ2

T(l1 cos x7 + l2 cos(x7 + k))

= 0

53

E portanto ∂λ1

∂x8= 0. Logo

∂λ1

∂x2

=∂λ1

∂x4

=∂λ1

∂x6

=∂λ1

∂x8

= 0

e1

J1

∂λ1

∂x1

=1

JL

∂λ1

∂x3

=1

JB

∂λ1

∂x5

=1

JT

∂λ1

∂x7

Desta forma, a funcao:

λ1 = J1Ψ1 + JLΨ2 + JBγ + JT ϕ1 (3.2.14)

e uma candidata a compor a transformacao local de coordenadas.Sabemos que dim G1 = 6 ⇔ dim G⊥

1 = 2, e por construcao sabemos queo covetor dλ1 aniquila os vetores de G1 (pois aniquila tambem os vetores deG2). Seja:

Lfλ1 =∂λ1

∂xf = 〈(J1 0 JL 0 JB 0 JT 0), f〉 = J1x2 + JLx4 + JBx6 + JT x8

(3.2.15)Logo: dLfλ1 = (0 J1 0 JL 0 JB 0 JT ).

Pode-se comprovar que dLfλ1 tambem aniquila os vetores de G1, e umavez que dλ1 e dLfλ1 sao linearmente independentes (L.I) podemos escrever:

span{dλ1 dLfλ1} = G⊥1

Por fim, dim G0 = 3 ⇔ dim G⊥0 = 5, e por construcao sabemos que os

covetores dλ1 e dLfλ1 aniquilam os vetores de G0 (pois aniquilam tambemos vetores de G1). Alem disso:

L2fλ1 =

∂Lfλ1

∂xf = Mg(l1 sin x7 + l2 sin(x7 + k)) (3.2.16)

e portanto:

dL2fλ1 = (0 0 0 0 0 0 Mg(l1 cos x7 + l2 cos(x7 + k)) 0)

Pode-se comprovar que dL2fλ1 tambem aniquila os vetores de G0.

Como a distribuicao G0 e involutiva, pelo Teorema de Frobenius, existemainda mais duas funcoes que denotaremos por λ2(x) e λ3(x), tais que:

span{dλ1 dLfλ1, dL2fλ1, dλ2, dλ3} = G⊥

0

54

Se escolhermos:λ2(x) = Ψ1 e λ3(x) = Ψ2

entao dλ2 e dλ3 aniquilam os vetores de G0.Uma vez que dλ2, dλ3, dλ1, dLfλ1, dL2

fλ1 sao L.I, elas de fato formam umabase para G⊥

0 , e portanto o sistema:

x = f(x) + g(x)u

com as saıdas:

λ1 = J1Ψ1 + JLΨ2 + JBγ + JT ϕ1

λ2 = Ψ1

λ3 = Ψ2

(3.2.17)

apresenta grau relativo {4, 2, 2} (sendo r1 + r2 + r3 = 8 = n), estando assimapto a ser linearizado por uma realimentacao de estado.

Considere a matriz:

A(x) =

Lg1Lr1−1f λ1 Lg2L

r1−1f λ1 Lg3L

r1−1f λ1

Lg1Lr2−1f λ2 Lg2L

r2−1f λ2 Lg3L

r2−1f λ2

Lg1Lr3−1f λ3 Lg2L

r3−1f λ3 Lg3L

r3−1f λ3

(3.2.18)

e o vetor

b(x) =

Lr1f λ1

Lr2f λ2

Lr3f λ3

(3.2.19)

com {r1, r2, r3} = {4, 2, 2}. Entao:

A(x) =

0 0 −MgJT

Lc1J1

0 0

0 1JL

0

(3.2.20)

e

b(x) =

−Mgx2

8Ls + M2g2

JTLcLs

00

(3.2.21)

onde:

Ls = l1 sin x7 + l2 sin(x7 + k)

55

eLc = l1 cos x7 + l2 cos(x7 + k)

Portanto, a realimentacao:

u = −A−1(x)b(x) + A−1(x)v

aliada a transformacao de coordenadas:

z = Φ(x) = Lj−1f λi(x) para 1 ≤ j ≤ ri, 1 ≤ i ≤ 3

resulta em um sistema linear e controlavel na forma canonica de Brunowsky:

z11 = z1

2

z12 = z1

3

z13 = z1

4

z14 = v1

z21 = z2

2

z22 = v2

z31 = z3

2

z32 = v3

(3.2.22)

com saıdas:

λ1 = z11

λ2 = z21

λ3 = z31

(3.2.23)

Calculando u obtemos a realimentacao:

τ1 = J1v2

τ2 = JLv3

τ12 = − JT

MgLc(v1 + Mgϕ1

2Ls − M2g2

JTLsLc)

(3.2.24)

onde:Ls = l1 sin ϕ1 + l2 sin(ϕ1 + k)

eLc = l1 cos ϕ1 + l2 cos(ϕ1 + k)

56

3.3 A Segunda Fase do Passo

Uma vez que na segunda fase do passo o joelho da perna suspensa encontra-se travado, o robo bıpede apresentado neste trabalho (possuindo dois linkspor perna), reproduz durante esta fase a mesma dinamica observada no roboestudado em [20] (possuindo apenas um link por perna). No artigo [37]encontra-se uma demonstracao resumida de que o robo apresentado por [20]e linearizavel atraves de uma realimentacao nao-linear dos estados. Assim,de certa forma, os resultados desenvolvidos nesta secao ja eram esperados esao condizentes com os apresentados em [37], a despeito das diferencas dosmodelos e das notacoes utilizadas.

Relembremos as equacoes dinamicas desenvolvidas no capıtulo 1 para asegunda fase do passo (1.1.13), que vai do instante em que ocorre o trava-mento do joelho da perna suspensa ate o termino do passo:

JLΨ2 = τ12

JBγ = τ12 − τ12

JT ϕ1 = Mg(l1 sin ϕ1 + l2 sin(ϕ1 + k))− τ12

(3.3.25)

Baseados nas equacoes acima consideremos:

x = (x1, . . . , x6) = (Ψ2, Ψ2, γ, γ, ϕ1, ϕ1)

eu = (τ12, τ12)

Assim podemos escrever para o robo academico estudado:

x = f(x) + g(x)u (3.3.26)

x =

x2

0x4

0x6

MgJT

(l1 sin x5 + l2 sin(x5 + k))

+

0 01

JL0

0 0− 1

JB

1JB

0 00 − 1

JT

(τ12

τ12

)(3.3.27)

57

e denotaremos por g1 e g2 as primeira e segunda colunas de g(x) respectiva-mente. Seja:

G0 = span{g1, g2}G1 = span{g1, g2, adfg1, adfg2}

. . .

Gi = span{adkfgj : 0 ≤ k ≤ i, 1 ≤ j ≤ 2} (3.3.28)

para i = 0, 1, . . . , 5.Vemos que dim G0 = 2 e constante, e uma vez que

[g1, g2] = 0

a distribuicao G0 e involutiva. Para calcular adfgi usemos:

∂f

∂x=

0 1 0 0 0 00 0 0 0 0 00 0 0 1 0 00 0 0 0 0 00 0 0 0 0 10 0 0 0 Mg

JT(l1 cos x5 + l2 cos(x5 + k)) 0

(3.3.29)

Logo:

adfg1 =

− 1JL

01

JB

000

adfg2 =

00

− 1JB

01

JT

0

(3.3.30)

Vemos que dim G1 = 4 e constante, e uma vez que:

[gi, adfgj] = 0, 1 ≤ i, j ≤ 2

e[adfg1, adfg2] = 0

a distribuicao G1 tambem e involutiva.

58

Calculemos agora ad2fgi: Com a ajuda de (3.3.29) temos

ad2fg1 = 0

e

ad2fg2 =

0000000

−MgJ2

T(l1 cos x5 + l2 cos(x5 + k))

(3.3.31)

A dim G2 = 5 e constante em toda regiao onde

l1 cos x5 + l2 cos(x5 + k) 6= 0

Esta expressao somente se anula quando o centro de massa do robo como umtodo esta em contato com o solo. Portanto podemos concluir que a dimensaode G2 e constante na regiao de operacao do robo. Para descobrirmos se G2

e involutiva, basta calcularmos:

[gi, ad2fg2] e [adfgi, ad2

fg2], 1 ≤ i ≤ 2

Para isso calculemos:

∂ad2fg2

∂x=

0 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 Mg

J2T

(l1 sin x5 + l2 sin(x5 + k)) 0

(3.3.32)

Assim vemos que:

[g1, ad2fg2] = [g2, ad2

fg2] = [adfg1, ad2fg2] = 0

59

e

[adfg2, ad2fg2] =

00000

MgJ3

T(l1 sin x5 + l2 sin(x5 + k))

(3.3.33)

Note que rank(adfg2, ad2fg2) = 2, e que rank(adfg2, ad2

fg2, [adfg2, ad2fg2])

e dado por:

rank

0 0 00 0 0

− 1JB

0 0

0 0 01

JT0 0

0 −MgJ2

T(l1 cos x5 + l2 cos(x5 + k) Mg

J3T

(l1 sin x5 + l2 sin(x5 + k))

= 2, ∀x

portanto a distribuicao G2 tambem e involutiva.Calculemos agora ad3

fgi:

ad3fgi = [f, ad2

fgi] =∂ad2

fgi

∂xf(x)− ∂f

∂xad2

fgi(x) (3.3.34)

Comoad2

fg1 = 0

basta calcularmos ad3fg2.

Com a ajuda de (3.3.32) e (3.3.29):

ad3fg2 =

0000

MgJ2

T((l1 sin x5 + l2 sin(x5 + k))x6 + (l1 cos x5 + l2 cos(x5 + k)))

0

(3.3.35)Assim, ad3

fg2 completa a base de G3, e portanto dim G3 = 6 e constantena regiao de operacao do robo, e como n = 6 e a ordem do sistema (3.3.26)temos que:

dim G4 = dim G5 = 6

60

e todas as distribuicoes Gi, 3 ≤ i ≤ 5 sao involutivas.Observe que:

dim G3︸ ︷︷ ︸n=6

− dim G2 = 1 =: µ1

Uma vez que G2 e involutiva, pelo Teorema de Frobenius, existe uma (µ1 = 1)funcao que denotaremos por λ1(x), tal que:

span{dλ1} = G⊥2

Por construcao:

〈dλ1(x), adkfgj(x)〉 = 0 ∀x, e 0 ≤ k ≤ 2

assim sendo:

∂λ1

∂x1∂λ1

∂x2∂λ1

∂x3∂λ1

∂x4∂λ1

∂x5∂λ1

∂x6

T

0 0 − 1JL

0 01

JL0 0 0 0

0 0 1JB

− 1JB

0

− 1JB

1JB

0 0 0

0 0 0 1JT

0

0 − 1JT

0 0 −MgJ2

T(l1 cos x5 + l2 cos(x5 + k))

= 0

E portanto ∂λ1

∂x6= 0. Logo

∂λ1

∂x2

=∂λ1

∂x4

=∂λ1

∂x6

= 0

e1

JL

∂λ1

∂x1

=1

JB

∂λ1

∂x3

=1

JT

∂λ1

∂x5

Desta forma, a funcao:

λ1 = JLΨ2 + JBγ + JT ϕ1 (3.3.36)

e uma candidata a compor a transformacao local de coordenadas.Sabemos que dim G1 = 4 ⇔ dim G⊥

1 = 2, e por construcao sabemos queo covetor dλ1 aniquila os vetores de G1 (pois aniquila tambem os vetores deG2). Seja:

Lfλ1 =∂λ1

∂xf = 〈(JL 0 JB 0 JT 0), f〉 = JLx2 + JBx4 + JT x6 (3.3.37)

61

Logo: dLfλ1 = (0 JL 0 JB 0 JT ).Pode-se comprovar que dLfλ1 tambem aniquila os vetores de G1, e uma

vez que dλ1 e dLfλ1 sao linearmente independentes (L.I) podemos escrever:

span{dλ1 dLfλ1} = G⊥1

Por fim, dim G0 = 2 ⇔ dim G⊥0 = 4, e por construcao sabemos que os

covetores dλ1 e dLfλ1 aniquilam os vetores de G0 (pois aniquilam tambemos vetores de G1). Alem disso:

L2fλ1 =

∂Lfλ1

∂xf = Mg(l1 sin x5 + l2 sin(x5 + k)) (3.3.38)

e portanto:

dL2fλ1 = (0 0 0 0 Mg(l1 cos x5 + l2 cos(x5 + k)) 0)

Pode-se comprovar que dL2fλ1 tambem aniquila os vetores de G0.

Como a distribuicao G0 e involutiva, pelo Teorema de Frobenius, existeainda mais uma funcao que denotaremos por λ2(x), tal que:

span{dλ1 dLfλ1, dL2fλ1, dλ2} = G⊥

0

Se escolhermos:λ2(x) = Ψ2

entao dλ2 aniquila os vetores de G0.Uma vez que dλ2, dλ1, dLfλ1, dL2

fλ1 sao L.I, elas de fato formam umabase para G⊥

0 , e portanto o sistema:

x = f(x) + g(x)u

com as saıdas:

{λ1 = JLΨ2 + JBγ + JT ϕ1

λ2 = Ψ2(3.3.39)

apresenta grau relativo {4, 2} (sendo r1 + r2 = 6 = n), estando assim apto aser linearizado por uma realimentacao de estado.

Considere a matriz:

A(x) =

(Lg1L

r1−1f λ1 Lg2L

r1−1f λ1

Lg1Lr2−1f λ2 Lg2L

r2−1f λ2

)(3.3.40)

62

e o vetor

b(x) =

(Lr1

f λ1

Lr2f λ2

)(3.3.41)

com {r1, r2} = {4, 2}. Entao:

A(x) =

(0 −Mg

JTLc

1JL

0

)(3.3.42)

e

b(x) =

(−Mgx2

6Ls + M2g2

JTLcLs

0

)(3.3.43)

onde:Ls = l1 sin x5 + l2 sin(x5 + k)

eLc = l1 cos x5 + l2 cos(x5 + k)

Portanto, a realimentacao:

u = −A−1(x)b(x) + A−1(x)v

aliada a transformacao de coordenadas:

z = Φ(x) = Lj−1f λi(x) para 1 ≤ j ≤ ri, 1 ≤ i ≤ 2

resulta em um sistema linear e controlavel na forma canonica de Brunowsky:

z11 = z1

2

z12 = z1

3

z13 = z1

4

z14 = v1

z21 = z2

2

z22 = v2

(3.3.44)

com saıdas: {λ1 = z1

1

λ2 = z21

(3.3.45)

Calculando u obtemos a realimentacao:

{τ12 = JLv2

τ12 = − JT

MgLc(v1 + Mgϕ1

2Ls − M2g2

JTLsLc)

(3.3.46)

63

onde:Ls = l1 sin ϕ1 + l2 sin(ϕ1 + k)

eLc = l1 cos ϕ1 + l2 cos(ϕ1 + k)

64

Capıtulo 4

O Sistema de Controle

Neste capıtulo desenvolveremos um sistema de controle baseado nas pro-priedades de “flatness”encontradas no capıtulo 3. Naquele capıtulo, vimosque a dinamica do robo bıpede pode ser linearizada por uma realimentacaode seus estados, calculada para cada uma das fases. O objetivo deste sis-tema de controle e rastrear as trajetorias otimas geradas pelo Algoritmo deBobrow Modificado, cujo desenvolvimento encontra-se no capıtulo 2.

4.1 O Projeto do Controlador

Para a primeira fase do passo, observe as equacoes (3.2.22) e (3.2.24). Noteque se impusermos os seguintes torques de controle:

τ1 = J1(λref2 − k12(λ2 − λref

2 )− k02(λ2 − λref2 ))

τ2 = JL(λref3 − k13(λ3 − λref

3 )− k03(λ3 − λref3 ))

τ12 = − JT

MgLc(

d4λref1

dt4− k31(

d3λ1

dt3− d3λref

1

dt3)− k21(λ1 − λref

1 )

−k11(λ1 − λref1 )− k01(λ1 − λref

1 )−Mgϕ12Ls + M2g2

JTLsLc)

(4.1.1)

com:Ls = l1 sin ϕ1 + l2 sin(ϕ1 + k)

eLc = l1 cos ϕ1 + l2 cos(ϕ1 + k)

65

e os aplicarmos nas entradas das equacoes dinamicas da primeira fase (1.1.10),obtemos:

(λ2 − λref2 ) + k12(λ2 − λref

2 ) + k02(λ2 − λref2 ) = 0

(λ3 − λref3 ) + k13(λ3 − λref

3 ) + k03(λ3 − λref3 ) = 0

(d4λ1

dt4− d4λref

1

dt4)− k31(

d3λ1

dt3− d3λref

1

dt3)− k21(λ1 − λref

1 )

−k11(λ1 − λref1 )− k01(λ1 − λref

1 ) = 0

(4.1.2)

Se definirmos os erros ej = λj−λrefj , entao as equacoes acima representam

os polinomios caracterısticos que descrevem a dinamica do erro, e portanto,se adotarmos os klj acima de forma a posicionar os polos destes polinomiosno semiplano esquerdo do plano complexo, entao as dinamicas destes errosserao estaveis, ou seja:

limt→∞ ej = 0

Veja que ao calcularmos os torques de controle conforme (4.1.1) esta-mos projetando um controlador baseado na propriedade de flatness do robobıpede, ja que estes torques podem ser determinados a partir das saıdas flat(3.2.17) e suas derivadas.

Podemos repetir o mesmo raciocınio para a segunda fase do passo. Paraisso observe as equacoes (3.3.44) e (3.3.46). Note que se impusermos osseguintes torques de controle:

τ12 = JL(λref2 − k12(λ2 − λref

2 )− k02(λ2 − λref2 ))

τ12 = − JT

MgLc(

d4λref1

dt4− k31(

d3λ1

dt3− d3λref

1

dt3)− k21(λ1 − λref

1 )

−k11(λ1 − λref1 )− k01(λ1 − λref

1 )−Mgϕ12Ls + M2g2

JTLsLc)

(4.1.3)

com:Ls = l1 sin ϕ1 + l2 sin(ϕ1 + k)

eLc = l1 cos ϕ1 + l2 cos(ϕ1 + k)

e os aplicarmos nas entradas das equacoes dinamicas da segunda fase (1.1.13),obtemos:

(λ2 − λref2 ) + k12(λ2 − λref

2 ) + k02(λ2 − λref2 ) = 0

(d4λ1

dt4− d4λref

1

dt4)− k31(

d3λ1

dt3− d3λref

1

dt3)− k21(λ1 − λref

1 )

−k11(λ1 − λref1 )− k01(λ1 − λref

1 ) = 0

(4.1.4)

66

Da mesma forma, se definirmos os erros ej = λj − λrefj e adotarmos os

klj acima, de forma a posicionar os polos destes polinomios no semiplanoesquerdo do plano complexo, entao as dinamicas destes erros serao estaveis,ou seja:

limt→∞ ej = 0

e estes torques de controle tambem foram determinados a partir das saıdasflat (3.3.39) e suas derivadas.

Note que as duas fases do passo possuem duracao de tempo finita, en-quanto que o metodo descrito acima garante a convergencia assintotica doerro em tempo infinito. Logo, devemos ajustar os valores de klj para que asdinamicas (4.1.2) e (4.1.4) sejam suficientemente rapidas, e assim os erros ej

sejam adequadamente pequenos no final de cada fase, garantindo a repetibi-lidade dos passos e a correta operacao do robo.

Apos diversas escolhas de diferentes valores para os ganhos klj, atraves deum processo de tentativa e erro, descobrimos empiricamente que ao tentarmosrastrear a referencia gerada para a variavel γ, a convergencia de seu respec-tivo erro se da de forma muito lenta, implicando em erros nao-desprezıveisao final de cada passo, que por sua vez sao mapeados (atraves das equacoesde impacto final com o solo) em erros de posicao e velocidade no inıcio doproximo passo, desestabilizando o sistema de controle. Isso ocorre devido aofato de que a posicao e a velocidade do corpo central sao funcoes da evolucaohistorica dos torques aplicados pelos motores. Eventuais erros de rastrea-mento destas grandezas so podem ser corrigidos mediante efeito de torquesde reacao decorrentes da aplicacao dos torques nos links das pernas suspensae suporte. Desta forma, ao tentarmos corrigir erros de rastreamento de γ e γestamos incorrendo instantaneamente em erros de rastreamento das demaisvariaveis. Verificamos nestes testes que o equilıbrio entre estes fenomenos ea consequente anulacao assintotica dos erros de todas as variaveis demandaum tempo muito maior que o tempo gasto em um passo.

Esta situacao nos levou a analisarmos mais profundamente o problemae chegamos a conclusao de que essa abordagem nao e eficiente, pois umavez que γ(t) nao influencia as demais variaveis, gracas a propriedade de de-sacoplamento das equacoes dinamicas do robo, porque afinal rastrear γref (t)?Repensamos a filosofia de controle e decidimos ignorar o controle contınuoda posicao do corpo central. Para isso utilizamos o seguinte artifıcio. Note

67

que para a primeira fase do passo:

λ1 = J1Ψ1 + JLΨ2 + JBγ + JT ϕ1 (4.1.5)

mas da equacao (1.1.10) temos:

J1Ψ1 + JLΨ2 + JBγ + JT ϕ1 = Mg(l1 sin ϕ1 + l2 sin(ϕ1 + k)) (4.1.6)

Entao podemos escrever:

λ1 = Mg(l1 sin ϕ1 + l2 sin(ϕ1 + k)) (4.1.7)

Assim, na equacao referente a λ1 em (4.1.2), se escolhermos os ganhosk31 e k21 de forma a posicionar os polos da dinamica de rastreamento deλref

1 no semiplano esquerdo do plano complexo, e se adotarmos k11 = 0 ek01 = 0, entao estaremos garantindo a convergencia assintotica do erro derastreamento λ1 − λref

1 que por sua vez implica na convergencia assintoticado erro de rastreamento da variavel ϕ1, conforme observamos na equacao(4.1.7). Com a adocao de k11 = 0 e k01 = 0, ignoramos os erros das demaisvariaveis que entram na composicao de λ1. Contudo, se nas demais equacoesde (4.1.2), escolhermos os ganhos k12 e k02 de forma a posicionar os polos dadinamica de rastreamento de λref

2 no semiplano esquerdo do plano complexo,e fizermos o mesmo com k13 e k03, entao estaremos garantindo a convergenciaassintotica de rastreamento de λref

2 e λref3 , respectivamente. Assim garan-

timos a convergencia assintotica dos erros de rastreamento das variaveis Ψ1

e Ψ2. Desta forma, estaremos promovendo o rastreamento das referenciasdas variaveis ϕ1, Ψ1 e Ψ2, ao mesmo tempo que ignoramos a referencia davariavel γ.

Para a segunda fase do passo podemos utilizar o mesmo artifıcio, poisnesta fase temos:

λ1 = JLΨ2 + JBγ + JT ϕ1 (4.1.8)

mas da equacao (1.1.13):

JLΨ2 + JBγ + JT ϕ1 = Mg(l1 sin ϕ1 + l2 sin(ϕ1 + k)) (4.1.9)

Entao podemos novamente escrever:

λ1 = Mg(l1 sin ϕ1 + l2 sin(ϕ1 + k)) (4.1.10)

68

Da mesma forma, na equacao referente a λ1 em (4.1.4), se escolhermos osganhos k31 e k21 de forma a posicionar os polos da dinamica de rastreamentode λref

1 no semiplano esquerdo do plano complexo, e se adotarmos k11 = 0e k01 = 0, entao estaremos garantindo a convergencia assintotica do erro derastreamento λ1 − λref

1 e consequentemente da variavel ϕ1. Com a adocaode k11 = 0 e k01 = 0, ignoramos os erros das demais variaveis que entramna composicao de λ1. Contudo, se na equacao referente a λ2 em (4.1.4),escolhermos os ganhos k12 e k02 de forma a posicionar os polos da dinamicade rastreamento de λref

2 no semiplano esquerdo do plano complexo, entaoestaremos garantindo sua convergencia assintotica de rastreamento. Assimgarantimos a convergencia assintotica do erro de rastreamento da variavel Ψ2.Logo, estaremos promovendo o rastreamento das referencias das variaveis ϕ1

e Ψ2, ao mesmo tempo que ignoramos a referencia da variavel γ.

4.2 Uma discussao sobre os limites de atuacao

Ate agora, admitimos que o robo estava sempre trabalhando no limite detorque de uma de suas juntas, ou no limite do escorregamento entre a pernasuporte e o solo. Mas se isso realmente estivesse acontecendo, e quisessemosque nosso sistema rastreasse a trajetoria otima gerada pelo Algoritmo deBobrow Modificado, a menor perturbacao ou incerteza poderia impossibili-tar este rastreamento. De fato, uma vez que, por ventura, a trajetoria realnao mais coincidisse com a referencia de rastreamento, nao haveria nenhumamargem de torque aplicavel de forma a forcar o robo a voltar a rastrea-la.Assim, o erro de rastreamento poderia nao tender a zero assintoticamente.

Para podermos projetar um sistema de controle que de fato anule as-sintoticamente o erro de rastreamento, devemos, portanto, admitir que osverdadeiros limites de torque de cada junta estejam alem daqueles fornecidospor (2.2.15). Isso significa que a parametrizacao da trajetoria gerada para serrastreada passa a ser nao mais uma solucao otima do problema de otimizacaodo tempo de percurso, e sim uma solucao subotima. Logo, para que o sistemade controle de fato funcione e seja robusto, devemos observar:

Timin− εi < Ti < Timax + εi, εi > 0, i = 1, . . . , n (4.2.11)

onde εi e suficientemente grande para garantir as correcoes do controle devido

69

as perturbacoes e incertezas do sistema. Note que na equacao acima (4.2.11),Timin

e Timax sao os valores limites informados ao algoritmo, enquanto queTimin

− εi e Timax + εi sao os limites mınimo e maximo reais dos atuadores,respectivamente.

Seja ε = (ε1, . . . , εn) a dita margem de torque que o esforco de controleteria disponıvel para corrigir uma possıvel falha de rastreamento resultantede uma ocasional incerteza e/ou perturbacao. E intuitivo dizer que quantomaior for ‖ε‖, tanto maior sera a robustez do sistema de controle. Em contra-partida, quanto maior for ‖ε‖, mais distantes estaremos da polıtica otima develocidade, ou seja, tanto maior sera o tempo gasto no percurso da trajetoria.

Do ponto de vista de implementacao, a discussao acima nao altera emnada o procedimento adotado ate aqui. De agora em diante, ao gerarmosa polıtica de velocidade de percurso da trajetoria, devemos simplesmentemodificar os limites fornecidos por Timin

e Timax de forma a deixarmos umamargem de torque necessaria ao esforco de controle para corrigir um possıvelerro devido as perturbacoes e incertezas do sistema. Desta maneira, podemosutilizar o mesmo algoritmo exposto no capıtulo 2.

A mesma discussao deve ser aplicada a restricao de atrito no contatoda perna suporte com o solo. Ao corrigir eventuais desvios da trajetoriade referencia, o controlador devera fazer uso de uma margem de torque queeventualmente implicara na adocao de uma forca de atrito maior no contatocom o solo. Por vezes o coeficiente de atrito demandado pode ser maiorque o valor de µe adotado no algoritmo de geracao da trajetoria. Portanto,da mesma forma que expusemos as razoes para adotarmos uma margem detorque de controle, e crucial que, ao informarmos ao algoritmo o valor de µe,tambem deixemos uma margem de seguranca, para que eventuais correcoesde trajetoria sejam factıveis, sem que ocorra o escorregamento.

4.3 Implementacao do Controlador

Os sistemas de controle descritos pelas equacoes dinamicas do robo bıpede emconjunto com os torques de controle derivados na secao 4.1 foram implemen-tados na plataforma SIMULINK/MATLAB para as duas fases do passo. Nasfiguras 4.1 e 4.2 podemos visualisar os diagramas correspondentes a primeirae a segunda fase, respectivamente. Basicamente, os blocos ROBO - FASE 1

70

e 2 calculam as aceleracoes resultantes dos torques de entrada e dos estadosdas juntas, conforme as equacoes dinamicas (1.1.10) e (1.1.13). Os blocosCONTROLE - FASE 1 e 2 calculam os torques de controle obtidos na secao4.1. As variaveis LAMB1REF, D1LAMB1REF, . . . (para a primeira fase) eLAMB1REF2, D1LAMB1REF2, . . . (para a segunda fase) correspondem asreferencias das saıdas flat e suas derivadas, tendo sido determinadas comoresultado da aplicacao do algoritmo de otimizacao.

Admitimos que o robo possui sensores que permitem detectar o contatodas extremidades das pernas com o solo e tambem o fim do curso de rotacaodo link 1 de cada perna (posicao onde ocorre o travamento do joelho). Estessensores seriam responsaveis pela comutacao entre os dois sistemas de con-trole. Em nossa plataforma de simulacao, o bloco TRAVA JOELHO dodiagrama correspondente a primeira fase e responsavel pela deteccao do fimda primeira fase, interrompendo a simulacao e dando inıcio a simulacao dasegunda fase apos a aplicacao das equacoes (1.3.17). Este bloco monitora adiferenca Ψ2 −Ψ1 ate que ela atinja o valor do angulo constante k, identicoao encontrado na perna suporte, sendo esta a condicao de parada.

O bloco ROBO FASE-1 do diagrama correspondente a segunda fase eresponsavel pela deteccao do impacto da perna suspensa com o solo, inter-rompendo a simulacao da segunda fase e dando inıcio a simulacao da primeirafase apos a aplicacao das equacoes (1.3.25). Este bloco monitora a altura daextremidade inferior da perna suspensa, comparando-a a um valor predefinidode altura do solo, ate que elas se igualem (condicao de parada).

Sem estes sensores, se o robo comutasse fisicamente de uma fase paraoutra, em um instante diferente do esperado pela referencia, o sistema decontrole continuaria a rastrear uma trajetoria sem sentido, que seria cor-respondente a outra fase, produzindo um comportamento completamenteanomalo.

71

Figura 4.1: Diagrama de blocos do sistema de controle - Fase 1

72

Figura 4.2: Diagrama de blocos do sistema de controle - Fase 2

73

Capıtulo 5

Exemplos Numericos

Este capıtulo e dividido em duas secoes. Na secao 5.1 aplicamos o Algoritmode Bobrow Modificado para geracao de trajetorias correspondentes a diversosvalores dos parametros L e d. Na secao 5.2 submetemos o sistema de con-trole a alguns testes de robustez, tais como: incertezas parametricas, errosna superfıcie do solo (degraus) que implicam em colisoes precoces da pernasuspensa e uma tentativa de rastreamento da trajetoria nominal partindodo repouso. Estas simulacoes sao confrontadas com a resposta do sistema aaplicacao da referencia gerada na secao 2.5.

5.1 Geracao de Trajetorias

Em todos os exemplos numericos desta secao usaremos os seguintes parametroscomuns: M = 10; g = 10; l1 = 1.5 e l2 = 1.0; J1 = 0.5, JL = 1.5 e JB = 1.0.Assumiremos que o coeficiente de atrito estatico vale µe = 0.5. Todas asgrandezas estao expressas em unidades do S.I e possuem valores identicosao exemplo da secao 2.5. Naquela secao os parametros da trajetoria eramL = 1.5 e d = 1.3. Aqui aplicaremos o Algoritmo de Bobrow Modificado adiversos valores destes dois parametros e poderemos observar os resultadosda polıtica otima de velocidade, dos torques e do tempo total gasto para cadacaso. Nosso objetivo e demonstrar, com estas simulacoes, que a velocidademedia de translacao do robo varia em funcao da escolha dos parametros L ed, o que nos leva a sugerir, para um trabalho futuro, a pesquisa de possıveisvalores otimos para estes dois parametros, a fim de maximizar a velocidademedia de translacao.

74

5.1.1 1o Teste - Diminuicao do Comprimento da Perna(L = 1.0 e d = 1.3)

Aplicando a metodologia descrita na secao 2.4 para uma condicao de parada:

|A(θ∗f )| < 1× 10−5 (5.1.1)

obtemos:θi = 0.4 e θ∗f = 0.3470

e|A(θ∗f )| = −9.4596× 10−6

Para este caso, o plano de fase (θ, θ) com a C.M.V e a polıtica otima deminimizacao do tempo θ(θ) encontra-se na figura 5.1. Os torques correspon-dentes a esta solucao, juntamente com a taxa Fatrito/N estao expostos nafigura 5.2. O tempo total gasto na execucao do passo e dado por (2.3.23),e para este exemplo obtemos ∆t = 1.1611s. Assim, podemos calcular a ve-locidade media de translacao do robo pela equacao (2.5.34) e assim obtemosvm = 1.1196m/s.

Figura 5.1: A polıtica θ(θ) de otimizacao do tempo (L = 1.0 e d = 1.3)

75

Figura 5.2: Os torques e a taxa Fatrito/N para L = 1.0 e d = 1.3

76

5.1.2 2o Teste - Aumento do Comprimento da Perna(L = 2.0 e d = 1.3)

Aplicando a metodologia descrita na secao 2.4 para uma condicao de parada:

|A(θ∗f )| < 1× 10−5 (5.1.2)

obtemos:θi = 0.4 e θ∗f = 0.3056

e|A(θ∗f )| = −5.6117× 10−7

Para este caso, o plano de fase (θ, θ) com a C.M.V e a polıtica otima deminimizacao do tempo θ(θ) encontra-se na figura 5.3. Os torques correspon-dentes a esta solucao, juntamente com a taxa Fatrito/N estao expostos nafigura 5.4. O tempo total gasto na execucao do passo e dado por (2.3.23),e para este exemplo obtemos ∆t = 1.0106s. Assim, podemos calcular a ve-locidade media de translacao do robo pela equacao (2.5.34) e assim obtemosvm = 1.2864m/s.

Figura 5.3: A polıtica θ(θ) de otimizacao do tempo (L = 2.0 e d = 1.3)

77

Figura 5.4: Os torques e a taxa Fatrito/N para L = 2.0 e d = 1.3

78

5.1.3 3o Teste - Aumento ainda maior do Comprimentoda Perna (L = 2.4 e d = 1.3)

Aplicando a metodologia descrita na secao 2.4 para uma condicao de parada:

|A(θ∗f )| < 1× 10−5 (5.1.3)

obtemos:θi = 0.4 e θ∗f = 0.3118

e|A(θ∗f )| = −8.1643× 10−7

Para este caso, o plano de fase (θ, θ) com a C.M.V e a polıtica otima deminimizacao do tempo θ(θ) encontra-se na figura 5.5. Os torques correspon-dentes a esta solucao, juntamente com a taxa Fatrito/N estao expostos nafigura 5.6. O tempo total gasto na execucao do passo e dado por (2.3.23),e para este exemplo obtemos ∆t = 0.9709s. Assim, podemos calcular a ve-locidade media de translacao do robo pela equacao (2.5.34) e assim obtemosvm = 1.3390m/s.

Figura 5.5: A polıtica θ(θ) de otimizacao do tempo (L = 2.4 e d = 1.3)

79

Figura 5.6: Os torques e a taxa Fatrito/N para L = 2.4 e d = 1.3

80

5.1.4 4o Teste - Aumento do Tamanho do Passo (L =1.5 e d = 1.5)

Aplicando a metodologia descrita na secao 2.4 para uma condicao de parada:

|A(θ∗f )| < 1× 10−5 (5.1.4)

obtemos:θi = 0.4 e θ∗f = 0.3137

e|A(θ∗f )| = −4.7203× 10−6

Para este caso, o plano de fase (θ, θ) com a C.M.V e a polıtica otima deminimizacao do tempo θ(θ) encontra-se na figura 5.7. Os torques correspon-dentes a esta solucao, juntamente com a taxa Fatrito/N estao expostos nafigura 5.8. O tempo total gasto na execucao do passo e dado por (2.3.23),e para este exemplo obtemos ∆t = 1.2602s. Assim, podemos calcular a ve-locidade media de translacao do robo pela equacao (2.5.34) e assim obtemosvm = 1.1903m/s.

Figura 5.7: A polıtica θ(θ) de otimizacao do tempo (L = 1.5 e d = 1.5)

81

Figura 5.8: Os torques e a taxa Fatrito/N para L = 1.5 e d = 1.5

82

5.1.5 5o Teste - Diminuicao do Tamanho do Passo (L =1.5 e d = 1.0)

Aplicando a metodologia descrita na secao 2.4 para uma condicao de parada:

|A(θ∗f )| < 1× 10−5 (5.1.5)

obtemos:θi = 0.4 e θ∗f = 0.2873

e|A(θ∗f )| = −5.2715× 10−7

Para este caso, o plano de fase (θ, θ) com a C.M.V e a polıtica otima deminimizacao do tempo θ(θ) encontra-se na figura 5.9. Os torques correspon-dentes a esta solucao, juntamente com a taxa Fatrito/N estao expostos nafigura 5.10. O tempo total gasto na execucao do passo e dado por (2.3.23),e para este exemplo obtemos ∆t = 0.8137s. Assim, podemos calcular a ve-locidade media de translacao do robo pela equacao (2.5.34) e assim obtemosvm = 1.2289m/s.

Figura 5.9: A polıtica θ(θ) de otimizacao do tempo (L = 1.5 e d = 1.0)

83

Figura 5.10: Os torques e a taxa Fatrito/N para L = 1.5 e d = 1.0

84

5.2 A Malha de Controle

Nesta secao submeteremos a malha de controle desenvolvida na secao 4.1e implementada em MATLAB/SIMULINK conforme exposto na secao 4.3a alguns testes de robustez. Para todas as simulacoes abaixo, adotamos osseguintes ganhos dos controladores:

• Fase 1: k01 = 0, k11 = 0, k21 = 500, k31 = 15, k02 = 500, k12 = 15,k03 = 500 e k13 = 15 (Polos em {0;−7.5± 21.0654 i});

• Fase 2: k01 = 0, k11 = 0, k21 = 250, k31 = 50, k02 = 250 e k12 = 50(Polos em {0;−5.6351;−44.3649})1.

Alguns dos graficos obtidos nos proximos ensaios, apesar de apresentareminformacoes interessantes, nao sao essenciais ao entendimento dos argumen-tos expostos, e foram remetidos, por motivos didaticos, ao apendice B. Oobjetivo deste arranjo e a facilitacao da leitura desta secao.

5.2.1 Rastreamento da Trajetoria de Referencia

Neste ensaio admitimos que os parametros do modelo adotado pelo contro-lador (massa, momentos de inercia, comprimentos, aceleracao da gravidade,coeficiente de atrito estatico) sao identicos aos do robo real (dos blocos ROBOFASE 1 e FASE 2 ) e sao aqueles adotados no exemplo numerico da secao2.5. A trajetoria de referencia a ser rastreada e a solucao fornecida pelo algo-ritmo de otimizacao na mesma secao 2.5. Os valores de referencia calculadospelo algoritmo de otimizacao naquela secao sao usados pelo controlador paradeterminar os torques de controle a fim de corrigir quaisquer perturbacoes.Admitimos que as posicoes e velocidades iniciais das juntas do robo sao com-patıveis com esta referencia, e alem disso a superfıcie do solo e horizontal eplana em todo o trecho da simulacao (href ≡ 0). A simulacao esta progra-mada para 10 passos consecutivos do robo.

Note que, uma vez que estamos simulando o modelo ideal do robo coma trajetoria de referencia na entrada, qualquer desvio desta referencia sopoderia ser causado por erros numericos na integracao do modelo. De fato,observe na figura 5.11 os erros dos angulos das juntas decorrentes da execucaodesta simulacao. Os erros tomam um padrao cıclico para cada passo e sao

1Os detalhes sobre a razao de haver polos nulos encontram-se na secao 4.1

85

da ordem de decimos de milesimos de radiano. Neste exemplo utilizamos ometodo de integracao de passo variavel ODE23T do pacote SIMULINK compasso maximo igual a 1 × 10−4 e no processo de geracao da trajetoria dereferencia o algoritmo de otimizacao amostrou a trajetoria em 2500 pontosigualmente espacados. Observe que o erro correspondente a variavel Ψ1 eplotado somente para a primeira fase de cada passo, ja que durante a segundafase temos Ψ2 = Ψ1 + k e Ψref

2 = Ψref1 + k, e consequentemente o erro das

duas variaveis e identico. Como forma de comparacao o mesmo exemplo foisimulado novamente com o mesmo metodo de integracao ODE23T, agora compasso maximo igual a 2× 10−4 e os erros dos angulos das juntas decorrentesdesta segunda simulacao encontram-se na figura 5.12. Observe que neste casoos erros sao ligeiramente maiores que no exemplo anterior, principalmenteno que tange a variavel ϕ1. Assim, acreditamos que um passo de integracaopequeno, aliado a uma amostragem mais refinada da trajetoria implicam nareducao destas imperfeicoes numericas.

Voltando a simulacao inicial, podemos observar na figura 5.13 que a tra-jetoria da variavel ϕ1 no seu respectivo plano de fase coincide com a re-ferencia para as duas fases do passo. A trajetoria da variavel Ψ2 em seurespectivo plano de fase encontra-se na figura 5.14. Note a descontinuidadede velocidade entre o final da primeira e o inıcio da segunda fase. Esta des-continuidade e decorrente da colisao causada no processo de travamento dojoelho da perna suspensa. A trajetoria da variavel Ψ1 em seu respectivoplano de fase encontra-se na figura 5.15. Novamente chamamos a atencaopara o fato de que esta figura e plotada apenas para a primeira fase do passo,ja que na segunda fase Ψ2 = Ψ1 + k e portanto, o comportamento das duasvariaveis e identico. A trajetoria da variavel γ em seu respectivo plano de faseencontra-se na figura 5.16, para as duas fases do passo. Note que ao cursode cada passo o padrao de velocidade desta variavel se repete e portanto areferencia gerada de fato inibe o efeito indesejavel de acumulo de velocidadeda roda central. No exemplo acima, a roda gira no sentido anti-horario, eesta e a razao de observarmos a evolucao deste grafico no sentido negativodo eixo γ (γ < 0). Lembramos o leitor que se trata de um exemplo mer-amente academico, onde estamos interessados nos efeitos fısicos observadosno processo e portanto os valores obtidos nestas figuras nao tem qualquercompromisso com uma montagem especıfica de um robo real.

Os torques aplicados em cada uma das juntas, e suas referencias, podemser observados nas figuras 5.17, 5.18 e 5.19 para τ1, τ2 e τ12, respectivamente.Na figura 5.18 plotamos tambem τ12 para a segunda fase do passo. Observe

86

Figura 5.11: Os erros das juntas decorrentes de imprecisoes dos metodosnumericos

87

Figura 5.12: Os erros das juntas para um passo maximo igual a 2× 10−4

88

que os torques estao em conformidade com os previstos pelo algoritmo deotimizacao. O mesmo ocorre com a relacao Fatrito/N observada na figura5.20 juntamente com sua referencia prevista pelo algoritmo.

Esta simulacao foi incluıda por motivos meramente ilustrativos e paraa validacao do modelo utilizado. Nas proximas subsecoes encontraremos ostestes de robustez propriamente ditos.

89

Figura 5.13: O plano de fase da variavel ϕ1

90

Figura 5.14: O plano de fase da variavel Ψ2

91

Figura 5.15: O plano de fase da variavel Ψ1

92

Figura 5.16: O plano de fase da variavel γ

93

Figura 5.17: O comportamento de τ1 na primeira fase do passo

94

Figura 5.18: O comportamento de τ2 e τ12

95

Figura 5.19: O comportamento de τ12 nas duas fases do passo

96

Figura 5.20: A relacao Fatrito/N ao longo da trajetoria

97

5.2.2 Partindo do Repouso

Neste segundo ensaio admitimos os parametros adotados na subsecao 5.2.1e as mesmas condicoes da superfıcie. Alem disso, a posicao inicial do roboe compatıvel com a trajetoria de referencia (que e a mesma trajetoria doexemplo anterior, gerada na solucao do problema da secao 2.5), contudo,assumiremos que o robo parte do repouso absoluto (ϕi

1 = Ψi1 = Ψi

2 = γi = 0).Nossa intencao e verificar se, apos alguns primeiros passos transitorios, o roboconsegue alcancar e rastrear o padrao de referencia.

Ao simularmos a configuracao descrita acima obtemos na figura 5.21 ocomportamento dos erros dos angulos das juntas ao longo do percurso. Nafigura B.1 (apendice B) apresentamos a ampliacao da mesma imagem. Pode-mos notar que apos o terceiro passo o sistema de controle passa a rastrear atrajetoria de referencia com eficiencia, voltando a apresentar o padrao de errodevido a imperfeicoes numericas observado no primeiro ensaio (vide figura5.11).

As trajetorias das variaveis ϕ1, Ψ2 e Ψ1 em seus respectivos planos defase sao apresentadas nas figuras 5.22, B.2 e B.3, respectivamente (as duasultimas no apendice B). Nas tres figuras, os primeiros tres passos sao plotadosindependentemente, e podemos observar que do quarto passo em diante, asvariaveis voltam a apresentar os respectivos padroes de referencia observadosna subsecao 5.2.1. O mesmo se observa em relacao aos torques aplicadosem cada uma das juntas, plotados nas figuras B.4, B.6 e B.8 (apendice B).Note que os valores de saturacao dos torques nao sao os mesmos observadosna geracao da trajetoria de referencia (−20 ≤ τ1 ≤ 20 e −80 ≤ τ2 ≤ 80). Deacordo com o exposto da secao 4.2 adotamos uma margem de folga de 20%para os limites dos atuadores. Esta margem de controle e utilizada nos tresprimeiros passos para que o robo volte a rastrear a trajetoria de referenciae apos o quarto passo os torques voltam a apresentar os respectivos padroesde referencia observados na subsecao 5.2.1, conforme podemos observar nasfiguras B.5, B.7 e B.9 (apendice B). Estas figuras mostram com detalhes ocomportamento dos torques apos o quarto passo em comparacao a referenciagerada pelo algoritmo de otimizacao.

Na figura 5.23 podemos observar a trajetoria da variavel γ em seu respec-tivo plano de fase. Note que nos tres primeiros passos, as velocidades iniciaise finais de cada passo nao sao as mesmas. A razao para que, nestes passos,∆γ 6= 0 pode ser observada na equacao (1.4.33). Nesta equacao podemosnotar que o valor de ∆γ esta relacionado com historico dos torques ao longo

98

do passo. Como nestes primeiros passos o controlador foi obrigado a corrigiro erro de rastreamento aplicando torques com comportamento muito difer-entes dos padroes de referencia, o resultado foi um acumulo de velocidade derotacao do corpo central. Contudo, apos o quarto passo, ao se estabeleceremos padroes de torque de referencia observados na subsecao 5.2.1, podemos no-tar que a velocidade de rotacao do corpo central se estabiliza em um padraocıclico apos cada passo, cessando assim o acumulo de momento angular (videfigura 5.24).

O comportamento da relacao Fatrito/N pode ser observado na figura 5.25.Para que os torques aplicados pelo controlador realmente acelerem o roboe o forcem a entrar em regime, o atrito necessario para que nao ocorra oescorregamento e muito maior do que o previsto pelo algoritmo. Podemosnotar que o pico desta relacao atinge aproximadamente 3.5 o que correspondea 7 vezes o valor de µe adotado pelo algoritmo de geracao de trajetorias. Asolucao que visualisamos para contornar este problema passaria pela geracaode uma trajetoria transitoria adequada, de forma a levar o robo do repouso aoregime permanente de uma forma mais suave, evitando os picos observadosnesta figura.

99

Figura 5.21: Os erros dos angulos das juntas - partindo do repouso

100

Figura 5.22: O plano de fase da variavel ϕ1 - partindo do repouso

101

Figura 5.23: O plano de fase da variavel γ - partindo do repouso

102

Figura 5.24: O plano de fase da variavel γ apos o 4o passo

103

Figura 5.25: A relacao Fatrito/N - partindo do repouso

104

5.2.3 Incertezas Parametricas

Neste ensaio admitimos que o Algoritmo de Bobrow Modificado, bem como osblocos dos controladores utilizam os parametros adotados na subsecao 5.2.1como modelo do robo. Este modelo, porem, difere do robo real dos blocosROBO - FASE 1 e 2 dos diagramas de simulacao. As diferencas entre omodelo adotado e o robo real estao na sua massa e nos momentos de inercia.Assim, o robo real apresenta massa total M = 11 e os momentos de inerciasao dados por J1 = 0.3, JL = 1.7 e JB = 1.0 (unidades do S.I).

Uma vez que o controlador foi projetado para anular o erro nos angulosdas juntas do robo, incertezas na geometria dos links nao seriam compen-sadas. Isso significa dizer que se nosso modelo do robo apresenta a cinematicadireta σ : q 7→ x, e o robo real por sua vez possui uma outra cinematica di-reta: σ : q 7→ x, entao

q − qref = 0 6⇒ x− xref = 0

Contudo, se a dinamica do robo real difere da dinamica do modelo ideal,sendo que as duas cinematicas diretas sao iguais, entao podemos tentar ras-trear a trajetoria de referencia, mesmo na presenca de tais incertezas. A tra-jetoria de referencia e a mesma dos exemplos anteriores, gerada na solucaodo problema da secao 2.5. Admitimos as mesmas condicoes da superfıcieusadas nos ensaios passados. Alem disso, a posicao e a velocidade iniciais dorobo sao compatıveis com a trajetoria de referencia.

Ao simularmos a configuracao descrita acima obtemos na figura 5.26 ocomportamento dos erros dos angulos das juntas ao longo do percurso. Pode-mos notar que apos o fim do primeiro passo os erros tomam um padrao cıclicopara cada passo e sao da ordem de milesimos de radiano.

As trajetorias das variaveis ϕ1, Ψ2 e Ψ1 em seus respectivos planos defase sao apresentadas nas figuras 5.27, B.10 e B.11, respectivamente (as duasultimas no apendice B). Nas tres figuras, os primeiros tres passos sao plota-dos independentemente. Podemos observar que exceto pelo primeiro passo,nos demais passos estas trajetorias apresentam um padrao cıclico semelhante.Na figura 5.28 podemos notar que o padrao cıclico adotado em regime per-manente difere ligeiramente do padrao de referencia observado na subsecao5.2.1. Este comportamento pode ser explicado baseando-se nas equacoes dascolisoes (1.3.17) e (1.3.25). Observe que mesmo que o controlador seja capazde forcar as trajetorias das variaveis ϕ1, Ψ2 e Ψ1 a seguir a referencia, ao pas-sarmos de uma fase do passo para a outra (e aplicarmos portanto as equacoes

105

(1.3.17) e (1.3.25)), uma vez que a massa total e os momentos de inercia dorobo real sao diferentes do modelo, as velocidades obtidas imediatamenteapos as colisoes serao diferentes das esperadas pela referencia, causando umdesvio recorrente da trajetoria gerada pelo algoritmo de otimizacao nestespontos. Mesmo assim, o sistema e capaz de manter este desequilıbrio sobcontrole, permanecendo em um regime permanente estavel.

Os torques aplicados em cada uma das juntas estao plotados nas figurasB.12, B.13 e B.14 (apendice B). Da mesma forma que no ensaio anterior,adotamos uma margem de folga de 20% para os limites dos atuadores. Nesteensaio porem, esta margem de controle e permanentemente utilizada pelocontrolador para estabilizar o robo em torno de um padrao cıclico de regimepermanente. Podemos notar nas figuras 5.29, 5.30 e 5.31 que o compor-tamento dos torques de controle diferem substancialmente dos respectivospadroes de referencia observados na subsecao 5.2.1. Estas figuras mostramcom detalhes o comportamento dos torques de regime permanente em com-paracao a referencia gerada pelo algoritmo de otimizacao.

Como vimos no ensaio anterior, o valor de ∆γ esta relacionado comhistorico dos torques ao longo do passo. Desta forma, uma vez que ostorques sao permanentemente diferentes daqueles gerados pelo algoritmo deotimizacao, e de se esperar que ∆γ 6= 0 para todos os passos. Este comporta-mento pode ser observado na figura 5.32, que fornece a trajetoria da variavelγ em seu respectivo plano de fase. Com o passar do tempo, o corpo centralvai acumulando a diferenca de momento angular fornecida pelos torques de-vida a seus desvios dos padroes de referencia, fazendo com que a roda centralgire cada vez mais rapido.

Para solucionar este problema, pensamos em adotar um segundo sis-tema de controle supervisorio que monitora a variavel γ. Quando estavariavel atingisse um valor crıtico o sistema aplicaria uma polıtica subotimade torques a fim de compensar o acumulo de momento angular no corpocentral. Esta polıtica subotima pode ser gerada pelo algoritmo como sendouma funcao θ(θ) pertencente a uma famılia de curvas. Cada curva membrodesta famılia seria gerada para um valor diferente da funcao A(θf ) dada por(2.4.31). Estas polıticas seriam responsaveis por um balanco de momentoangular com a consequente reducao da velocidade de rotacao do corpo cen-tral.

O comportamento da relacao Fatrito/N pode ser observado na figura B.15(apendice B). Conforme exposto nas secoes anteriores, as margens de atuacaodos motores exigem uma margem de atrito para que se possa efetivamente

106

acelerar o robo e rastrear a trajetoria de referencia. Neste caso a margemde atrito demandada e equivalente a margem de atuacao adotada, ou seja,aproximadamente 20%, conforme podemos observar em detalhe na figura 5.33que plota a relacao Fatrito/N em regime permanente em comparacao com areferencia gerada pelo algoritmo de otimizacao.

107

Figura 5.26: Os erros dos angulos das juntas - incertezas parametricas

108

Figura 5.27: O plano de fase da variavel ϕ1 - incertezas parametricas

109

Figura 5.28: O plano de fase da variavel ϕ1 - regime permanente

110

Figura 5.29: O comportamento de τ1 - regime permanente

111

Figura 5.30: O comportamento de τ2 e τ12 - regime permanente

112

Figura 5.31: O comportamento de τ12 - regime permanente

113

Figura 5.32: O plano de fase da variavel γ - incertezas parametricas

114

Figura 5.33: A relacao Fatrito/N - regime permanente

115

5.2.4 Degrau de altura 1cm

Neste ensaio admitimos que os parametros do modelo adotado pelo contro-lador (massa, momentos de inercia, comprimentos, aceleracao da gravidade,coeficiente de atrito estatico) sao identicos aos do robo real (dos blocos ROBOFASE 1 e FASE 2 ) e sao aqueles adotados no exemplo numerico da secao2.5. A trajetoria de referencia e a mesma dos exemplos anteriores, gerada nasolucao do problema da secao 2.5. Admitimos que as posicoes e velocidadesiniciais das juntas do robo sao compatıveis com esta referencia. Contudo,neste exemplo, existe uma imperfeicao na superfıcie que representaremos porum degrau de altura igual a 1cm no final do primeiro passo. Deste pontoem diante admitimos que a superfıcie do solo e horizontal e plana em todo otrecho restante da simulacao. Esta situacao e retratada ilustrativamente nafigura 5.34.

Figura 5.34: O degrau de 1cm na superfıcie

Ao simularmos a configuracao descrita acima obtemos na figura 5.35 ocomportamento dos erros dos angulos das juntas ao longo do percurso. Nafigura B.16 (apendice B) apresentamos a ampliacao da mesma imagem. Pode-mos notar que apos o fim do primeiro passo, devido a colisao precoce com osolo, ha um pico nos graficos destes erros, principalmente no que se refere avariavel ϕ1. Contudo, o sistema de controle e capaz de se recuperar rapida-mente, e antes mesmo do final do segundo passo podemos notar que os erros

116

voltam a assumir o padrao cıclico devido a imperfeicoes numericas observadono primeiro ensaio (vide figura 5.11).

As trajetorias das variaveis ϕ1, Ψ2 e Ψ1 em seus respectivos planos defase sao apresentadas nas figuras 5.36, B.18 e B.19, respectivamente (as duasultimas no apendice B). Nas tres figuras, os primeiros tres passos sao plotadosindependentemente. Podemos observar que, exceto pelo primeiro e segundopassos, nos demais passos estas trajetorias apresentam um padrao cıclico.Na figura B.17 (apendice B) podemos notar que o padrao cıclico adotado emregime permanente de fato tende a rastrear o padrao de referencia observadona subsecao 5.2.1.

Os torques aplicados em cada uma das juntas estao plotados nas figurasB.20, B.22 e B.24 (apendice B). Da mesma forma que nos ensaios anteriores,adotamos uma margem de folga de 20% para os limites dos atuadores. Logoapos a colisao precoce, durante o inıcio do segundo passo, esta margem decontrole e utilizada para que o robo volte a rastrear a trajetoria de referencia eapos o final deste passo os torques voltam a apresentar os respectivos padroesde referencia observados na subsecao 5.2.1, conforme podemos notar nas fig-uras B.21, B.23 e B.25 (apendice B). Estas figuras mostram com detalheso comportamento dos torques em regime permanente em comparacao a re-ferencia gerada pelo algoritmo de otimizacao.

Como vimos nos ensaios anteriores, o valor de ∆γ esta relacionado comhistorico dos torques ao longo do passo. Desta forma, uma vez que, duranteo primeiro e o segundo passos os torques sao diferentes daqueles gerados peloalgoritmo de otimizacao, e de se esperar que ∆γ 6= 0 para estes passos. Estecomportamento pode ser observado na figura 5.37, que fornece a trajetoriada variavel γ em seu respectivo plano de fase. Na figura B.26 (apendiceB) apresentamos a mesma imagem detalhada para os 4 primeiros passos.Podemos observar que apos o final do segundo passo, a velocidade γ derotacao do corpo central nao mais retorna a zero no final de cada passo.Contudo, apos a recuperacao do rastreamento da referencia, este patamar develocidade se mantem estavel, nao se observando mais o efeito de acumulode momento angular, ja que, daı em diante, os torques voltam a apresentaro padrao de referencia em regime permanente.

O comportamento da relacao Fatrito/N e semelhante aos dos torques apli-cados nas juntas, e pode ser observado na figura 5.38. Durante o inıcio dosegundo passo, as margens de atuacao dos motores demandam uma margemde atrito para que se possa efetivamente acelerar o robo e rastrear a trajetoriade referencia. Porem, logo apos o final deste passo esta relacao volta a apre-

117

sentar o padrao de referencia da subsecao 5.2.1, conforme podemos observarem detalhe na figura B.27 (apendice B) que plota a relacao Fatrito/N emregime permanente em comparacao com a referencia gerada pelo algoritmode otimizacao.

118

Figura 5.35: Os erros dos angulos das juntas - degrau de 1cm

119

Figura 5.36: O plano de fase da variavel ϕ1 - degrau de 1cm

120

Figura 5.37: O plano de fase da variavel γ - degrau de 1cm

121

Figura 5.38: A relacao Fatrito/N - degrau de 1cm

122

5.2.5 Degrau de altura 20cm

Neste ensaio admitimos as mesmas condicoes do ensaio anterior, exceto pelofato de que, neste exemplo, o degrau na superfıcie possui altura igual a 20cmno final do primeiro passo. Deste ponto em diante admitimos que a superfıciedo solo e horizontal e plana em todo o trecho restante da simulacao.

Ao simularmos a configuracao descrita acima obtemos na figura 5.39 ocomportamento dos erros dos angulos das juntas ao longo do percurso. Nafigura B.28 (apendice B) apresentamos a ampliacao da mesma imagem. Pode-mos notar que apos o fim do primeiro passo, devido a colisao precoce como solo, ha um pico nos graficos destes erros, principalmente no que se referea variavel ϕ1. Neste ensaio, o sistema de controle tambem e capaz de se re-cuperar, mas agora e necessario que mais um passo transitorio se transcorrapara que os erros voltem a assumir o padrao cıclico observado no primeiroensaio (vide figura 5.11).

As trajetorias das variaveis ϕ1, Ψ2 e Ψ1 em seus respectivos planos defase sao apresentadas nas figuras 5.40, B.30 e B.31, respectivamente (as duasultimas no apendice B). Nas tres figuras, os primeiros tres passos sao plota-dos independentemente. Podemos observar o comportamento anomalo decor-rente da colisao no segundo e no terceiro passos. A partir do quarto passoestas trajetorias apresentam um padrao cıclico. Na figura B.29 (apendiceB) podemos notar que, assim como no ensaio anterior, o padrao cıclico ado-tado em regime permanente de fato tende a rastrear o padrao de referenciaobservado na subsecao 5.2.1.

Os torques aplicados em cada uma das juntas estao plotados nas figuras5.41, 5.42 e 5.43. Da mesma forma que nos ensaios anteriores, adotamos umamargem de folga de 20% para os limites dos atuadores. Mais uma vez obser-vamos que, apos a colisao precoce, esta margem de controle e utilizada paraque o robo volte a rastrear a trajetoria de referencia e apos o final do terceiropasso os torques voltam a apresentar os respectivos padroes de referencia ob-servados na subsecao 5.2.1, conforme podemos notar nas figuras B.32, B.33e B.34 (apendice B). Estas figuras mostram com detalhes o comportamentodos torques em regime permanente em comparacao a referencia gerada peloalgoritmo de otimizacao.

Neste ensaio, assim como nos anteriores, a dependencia do valor de ∆γem relacao ao historico dos torques ao longo do passo, faz com que, para osprimeiros tres passos ∆γ 6= 0, ja que os torques sao diferentes daqueles ger-ados pelo algoritmo de otimizacao. Este comportamento pode ser observado

123

na figura 5.44, que fornece a trajetoria da variavel γ em seu respectivo planode fase. Podemos observar o acumulo de velocidade de rotacao do corpo cen-tral nos tres primeiros passos. Contudo, apos a recuperacao do rastreamentoda referencia (4o Passo), este patamar de velocidade se mantem estavel, naose observando mais o efeito de acumulo de momento angular, ja que, daıem diante, os torques voltam a apresentar o padrao de referencia em regimepermanente.

O comportamento da relacao Fatrito/N e semelhante aos dos torques apli-cados nas juntas, e pode ser observado na figura 5.45. Durante a execucaodo segundo e do terceiro passos, as margens de atuacao dos motores de-mandam uma margem de atrito para que se possa efetivamente acelerar orobo e faze-lo voltar a rastrear a trajetoria de referencia. No segundo passopodemos notar que a relacao demandada e aproximadamente 4 vezes maiorque a assumida pelo algoritmo de otimizacao (µe = 0.5). Do quarto passoem diante esta relacao volta a apresentar o padrao de referencia da subsecao5.2.1, conforme podemos observar em detalhe na figura B.35 (apendice B),que plota a relacao Fatrito/N em regime permanente em comparacao coma referencia gerada pelo algoritmo de otimizacao. Para evitar os picos ob-servados na figura 5.45, o controle teria que dispor de um sensor (do tipovisao, por exemplo) que detectasse aberracoes na superfıcie do solo (comoburacos ou degraus altos). Assim, uma trajetoria de excecao poderia sercalculada para tais casos e os torques aplicados conduziriam o robo a passarpor este obstaculo de uma forma mais suave. Vimos, no ensaio anterior, quenao ha necessidade de se tomar este cuidado para pequenas imperfeicoes dasuperfıcie, pois a robustez apresentada pelo sistema de controle torna o robocapaz de se recuperar rapidamente em face destes pequenos desvios.

124

Figura 5.39: Os erros dos angulos das juntas - degrau de 20cm

125

Figura 5.40: O plano de fase da variavel ϕ1 - degrau de 20cm

126

Figura 5.41: O comportamento de τ1 - degrau de 20cm

127

Figura 5.42: O comportamento de τ2 e τ12 - degrau de 20cm

128

Figura 5.43: O comportamento de τ12 - degrau de 20cm

129

Figura 5.44: O plano de fase da variavel γ - degrau de 20cm

130

Figura 5.45: A relacao Fatrito/N - degrau de 20cm

131

Conclusoes

Acreditamos que a primeira contribuicao deste trabalho seja a descricao deum projeto de concepcao de robos bıpedes, observando as caracterısticasdescritas no capıtulo 1, que resulta em equacoes dinamicas excepcionalmentesimples, mesmo quando estendido a robos complexos com mais de 2 links porperna.

Uma segunda contribuicao e a demonstracao das propriedades de “flat-ness”para esta classe de robos concebida, conforme metodologia apresentadano capıtulo 3. Estas propriedades permitem o projeto de um sistema de con-trole relativamente simples e eficaz que promove a anulacao assintotica doserros das juntas, fazendo com que o robo possa rastrear uma trajetoria dereferencia, conforme exposto no capıtulo 4.

A geracao desta trajetoria de referencia e a terceira contribuicao destetrabalho. Fazemos uso do Algoritmo de Bobrow Modificado, que se mostrouuma poderosa ferramenta de otimizacao e de facil adaptacao ao problemaem pauta. Devemos observar que a solucao encontrada otimiza uma con-figuracao de trajetoria espacialmente predefinida. Como pudemos observarnas simulacoes apresentadas na secao 5.1 variacoes nesta configuracao geramtrajetorias com velocidade media diferentes. Alem disso admitimos que asfuncoes Ψi(θ) sao descritas por polinomios de grau 3. Ao escolhermos umaoutra classe de funcoes tambem estaremos alterando a geometria da trajetoriae consequentemente o tempo de percurso tambem sera diferente. Uma sug-estao de trabalho futuro poderia conter a pesquisa de uma geometria otimaque minizasse algum criterio (alguma funcao custo). De posse desta geome-tria poderıamos aplicar o Algoritmo de Bobrow Modificado e encontrar apolıtica otima de percurso desta trajetoria escolhida.

Alem disso, o algoritmo foi modificado para garantir que a solucao encon-trada evite o efeito do acumulo de velocidade angular no corpo central. Comopudemos observar nos exemplos descritos na secao 5.2 quaisquer divergencias

132

do modelo ideal, que ensejem esforcos de controle corretivos visando a an-ulacao dos erros de rastreamento dos angulos das juntas, promovem esteefeito indesejavel. Contudo, como a posicao e a velocidade do corpo cen-tral nao afetam as demais variaveis (uma vez que as equacoes dinamicas saodesacopladas) acreditamos que a estrategia de manutencao de um patamarde velocidade angular limite nao promova o controle contınuo desta variavel,fazendo-a rastrear uma referencia como as demais juntas. Apontamos umaabordagem diferente desta, com a criacao de uma malha de controle super-visorio que monitora a variavel γ. Quando esta variavel atingisse um valorcrıtico o sistema aplicaria uma polıtica subotima de torques a fim de compen-sar o acumulo de momento angular no corpo central. Esta polıtica subotimapode ser gerada pelo algoritmo como sendo uma funcao θ(θ) pertencente auma famılia de curvas. Cada curva membro desta famılia seria gerada paraum valor diferente da funcao A(θf ) dada por (2.4.31). Estas polıticas se-riam responsaveis por um balanco de momento angular com a consequentereducao da velocidade de rotacao do corpo central ao final de sua aplicacao.

Pudemos observar na subsecao 5.2.4 que o sistema de controle projetadose comporta eficazmente em face de pequenas imperfeicoes na superfıcie, efaz com que o robo seja capaz de recuperar rapidamente o rastreamento datrajetoria de referencia. Ja grandes anomalias na superfıcie (como um degraumais alto ou um buraco) geram esforcos de controle e atrito muito altos epara evitar estes picos acreditamos que o robo deva possuir algum sensor(do tipo visao, por exemplo) que detectasse estas configuracoes anomalas nasuperfıcie do solo. Assim, uma trajetoria de excecao poderia ser calculadapara tais casos e os torques aplicados conduziriam o robo a passar por esteobstaculo de uma forma mais suave.

Os ganhos dos controladores adotados na secao 5.2 foram encontradospor um processo de tentativa e erro. Eles podem ser, contudo, escolhidospara um posicionamento especıfico dos polos dos polinomios caracterısticos(4.1.2) e (4.1.4).

Finalmente gostarıamos de observar que esta tese nao constitui um es-tudo fechado sobre um assunto especıfico, mas um trabalho inaugural quepode vir a servir de ponto de partida para novas abordagens e aplicacoes emlocomocao bıpede. A propria construcao fısica deste robo seria um nova e de-safiadora tarefa e certamente, ao longo deste processo, varios outros aspectosde implementacao seriam descobertos.

133

Apendice A

A Continuidade de A(θf )

Inicialmente discutiremos a continuidade de

B(θf ) =∫ θf

θi

θ(θ)dθ

Para isso observe a figura 2.7 novamente. Sejam duas solucoes do Al-goritmo de Bobrow Modificado, yA = θA(θ) e yB = θB(θ), provenientes dedois valores diferentes de velocidades finais, θA

f e θBf , respectivamente. (Logo

yA(θf ) = θAf e yB(θf ) = θB

f ).

Note que se θAf < θB

f entao

yA(θ) ≤ yB(θ) (A.0.1)

para todo θ ∈ [θi, θf ]. Isso ocorre pelo fato de que a inclinacao das curvassolucoes do algoritmo e sempre calculada ora por

dy

dθ=

f(θ, y)

y

ora pordy

dθ=

g(θ, y)

y

onde y = θ. Desta maneira nao ha como duas curvas solucoes se cruzarem.Assim, se (A.0.1) e satisfeita, entao:

B(θAf ) < B(θB

f )

134

Seja o ponto (θP , θP ) um ponto qualquer do plano de fase, tal que

yA(θP ) < θP < yB(θP )

Visto que este ponto se encontra entre duas curvas solucoes, entao existeuma curva solucao yC = θB(θ) que passa por (θP , θP ). Pela propriedadedescrita acima, yC nao pode se cruzar com yA ou yB, logo:

θAf < θC

f < θBf (A.0.2)

onde yC(θf ) = θCf . Alem disso:

yA(θ) ≤ yC(θ) ≤ yB(θ) ∀θ ∈ [θi, θf ] ⇒ B(θAf ) < B(θC

f ) < B(θBf )

Como o desenvolvimento acima e valido para quaisquer curvas yA e yB quesatisfacam (A.0.1) e para qualquer ponto (θP , θP ) que se encontre entre elas,entao concluımos que a funcao B(θf ) satisfaz a definicao de continuidade.E uma vez que 0 < θ(θ) ≤ CMV (θ) para todo θ ∈ [θi, θf ], entao a funcaoA(θf ) dada por (2.4.31) tambem e contınua em relacao a θf .

Acreditamos que uma possıvel demonstracao completa possa se basearnos argumentos acima, contudo, nao nos preocuparemos, neste trabalho, emdescreve-la minuciosamente.

135

Apendice B

Graficos Complementares

Com o intuito de tornar a leitura do capıtulo 5 mais confortavel, alguns dosgraficos produzidos nos ensaios de robustez sao apresentados neste apendice.Os graficos estao dispostos por ordem por ensaio, podendo ser encontradosnas seguintes paginas:

• Graficos referentes ao ensaio 5.2.2 - Partindo do Repouso: paginas 137a 145;

• Graficos referentes ao ensaio 5.2.3 - Incertezas Parametricas: paginas146 a 151;

• Graficos referentes ao ensaio 5.2.4 - Degrau de altura 1cm: paginas 152a 163;

• Graficos referentes ao ensaio 5.2.5 - Degrau de altura 20cm: paginas164 a 171.

136

Figura B.1: Erros das juntas - partindo do repouso - imagem ampliada

137

Figura B.2: O plano de fase da variavel Ψ2 - partindo do repouso

138

Figura B.3: O plano de fase da variavel Ψ1 - partindo do repouso

139

Figura B.4: O comportamento de τ1 - partindo do repouso

140

Figura B.5: O comportamento de τ1 - apos o 4o passo

141

Figura B.6: O comportamento de τ2 e τ12 - partindo do repouso

142

Figura B.7: O comportamento de τ2 e τ12 - apos o 4o passo

143

Figura B.8: O comportamento de τ12 - partindo do repouso

144

Figura B.9: O comportamento de τ12 - apos o 4o passo

145

Figura B.10: O plano de fase da variavel Ψ2 - incertezas parametricas

146

Figura B.11: O plano de fase da variavel Ψ1 - incertezas parametricas

147

Figura B.12: O comportamento de τ1 - incertezas parametricas

148

Figura B.13: O comportamento de τ2 e τ12 - incertezas parametricas

149

Figura B.14: O comportamento de τ12 - incertezas parametricas

150

Figura B.15: A relacao Fatrito/N - incertezas parametricas

151

Figura B.16: Erros das juntas - degrau de 1cm - imagem ampliada

152

Figura B.17: O plano de fase da variavel ϕ1 - regime permanente

153

Figura B.18: O plano de fase da variavel Ψ2 - degrau de 1cm

154

Figura B.19: O plano de fase da variavel Ψ1 - degrau de 1cm

155

Figura B.20: O comportamento de τ1 - degrau de 1cm

156

Figura B.21: O comportamento de τ1 - regime permanente

157

Figura B.22: O comportamento de τ2 e τ12 - degrau de 1cm

158

Figura B.23: O comportamento de τ2 e τ12 - regime permanente

159

Figura B.24: O comportamento de τ12 - degrau de 1cm

160

Figura B.25: O comportamento de τ12 - degrau de 1cm

161

Figura B.26: O plano de fase da variavel γ - degrau de 1cm - imagem ampli-ada

162

Figura B.27: A relacao Fatrito/N - degrau de 1cm - regime permanente

163

Figura B.28: Erros das juntas - degrau de 20cm - imagem ampliada

164

Figura B.29: O plano de fase da variavel ϕ1 - regime permanente

165

Figura B.30: O plano de fase da variavel Ψ2 - degrau de 20cm

166

Figura B.31: O plano de fase da variavel Ψ1 - degrau de 20cm

167

Figura B.32: O comportamento de τ1 - regime permanente

168

Figura B.33: O comportamento de τ2 e τ12 - regime permanente

169

Figura B.34: O comportamento de τ12 - regime permanente

170

Figura B.35: A relacao Fatrito/N - degrau de 20cm - regime permanente

171

Referencias Bibliograficas

[1] Y. Aoustin and A. Formal’sky. On the stabilization of a biped vertical posturein single support using internal torques. Robotica, 23:65–74, 2005.

[2] P. Berges and A. Bowling. Impact forces in legged robot locomotion. Proc.IEEE Int. Conf. on Robotics and Automation, pages 3745–3751, 2005.

[3] J. Bobrow, S. Dubowsky, and J. Gibson. Time-optimal control of roboticmanipulators along specified paths. Int. Journal Robotics Research, 4:3–17,1985.

[4] J. Chestnutt, M. Lau, G. Cheung, J. Kuffner, J. Hodgins, and T. Kanade.Footstep planning for the honda asimo humanoid. Proc. IEEE Int. Conf. onRobotics and Automation, pages 629–634, 2005.

[5] C. Chevallereau, G. Abba, Y. Aoustin, F. Plestan, E.R. Westervelt,C. Canudas de Wit, and J.W. Grizzle. Rabbit: A testbed for advanced controltheory. IEEE Control Systems Magazine, 23(5):57–79, 2003.

[6] C. Chevallereau and Y. Aoustin. Optimal reference trajectories for walkingand running of a biped robot. Robotica, 19:557–569, 2001.

[7] C. Chevallereau, E.R. Westervelt, and J.W. Grizzle. Asymptotic stabilizationof a five-link, four-actuator, planar bipedal runner. Proc. IEEE Conf. onDecision and Control, pages 303–310, 2004.

[8] S.H. Collins, M. Wisse, and A. Ruina. A three-dimensional passive-dynamicwalking robot with two legs and knees. Int. Journal of Robotics Research,20:607–614, 2001.

[9] R. P. Feynman, R.B. Leighton, and M. Sands. The Feynman Lectures onPhysics, volume I. Addison-Wesley, 6th edition, 1977.

172

[10] M. Fliess, J. Levine, P. Martin, and P. Rouchon. Linearisation par bouclagedynamique et transformations de lie-backlund. Comp. Rend. Acad. SciencesParis, 317:981–986, 1993.

[11] M. Fliess, J. Levine, P. Martin, and P. Rouchon. A lie-backlund approach toequivalence and flatness of nonlinear systems. IEEE Trans. Automat. Contr.,44:922–937, 1999.

[12] T. Fukuda, R. Michelini, V. Potkonjak, S. Tzafestas, K. Valavanis, andM. Vukobratovic. How far away is artificial man? IEEE Robotics and Au-tomation Magazine, 8(1):66–73, 2001.

[13] M. Gienger, K. Loffer, and F. Pfeiffer. A biped robot that jogs. Proc. IEEEInt. Conf. on Robotics and Automation, pages 3334–3339, 2000.

[14] A. Goswami. Postural stability of biped robots and the foot-rotation indicator(fri) point. Int. Journal of Robotics Research, 18:523–533, 1999.

[15] Y. Hasegawa, T. Arakawa, and T. Fukuda. Trajectory generation for bipedlocomotion robot. Mechatronics, 10:67–89, 2000.

[16] M. Hirose and K. Ogawa. Honda humanoid robots development. PhilosophicalTrans. Royal Society A, 365:11–19, 2007.

[17] Y. Hurmuzlu, F. Genot, and B. Brogliato. Modeling, stability and control ofbiped robots - a general framework. Automatica, 40:1647–1664, 2004.

[18] A. Isidori. Nonlinear Control Systems. Springer-Verlag, 3rd edition, 1995.

[19] K. Kaneco, F. Kanehiro, S. Kajita, H. Hirukawa, T. Kawasaki, M. Hirata,K. Akachi, and T. Isozumi. Humanoid robot hrp-2. Proc. IEEE Int. Conf.on Robotics and Automation, pages 1083–1090, 2004.

[20] J. Kieffer and R. Bale. Walking viability and gait synthesis for a novel classof dynamically-simple bipeds. Informatica, 17:145–155, 1993.

[21] D. E. Kirk. An Optimal Control Theory. Prentice-Hall, 1970.

[22] C. Lanczos. The Variational Principles of Mechanics. Dover, 1893.

[23] H. Lim and A. Takanishi. Biped walking robots created at waseda university:Wl and wabian family. Philosophical Trans. Royal Society A, 365:49–64, 2007.

[24] T.G. McGee and M.W. Spong. Trajectory planning and control of a novelwalking biped. Proc. IEEE Joint International Conference on ControlApplications/IEEE-CCA, 2001.

173

[25] S. Miossec and Y. Aoustin. Dynamical synthesis of a walking cyclic gait for abiped with point feet. Proc. Int. Conf. on Fast motions in biomechanics androbotics, pages 235–252, 2005.

[26] X. Mu and Q. Wu. Synthesis of a complete sagittal gait cycle for a five-linkbiped robot. Robotica, 21:581–587, 2003.

[27] K. Ono, T. Furuchi, and R. Takahashi. Self-excited walking of a biped mech-anism with feet. Int. Journal of Robotics Research, 23:55–68, 2004.

[28] C. Peres. Robos com restricoes: Geracao e rastreamento de trajetoriasOtimas. Master’s thesis, Escola Politecnica da Universidade de Sao Paulo,2003.

[29] C. Peres and P.S.P. Silva. Polıtica de otimizacao do tempo de percurso detrajetorias predefinidas para manipuladores roboticos. Congresso Brasileirode Automatica, 1:1–6, 2002.

[30] C. Peres and P.S.P. Silva. Time-suboptimal trajectory planning for simplebiped robots: Part i. Controlo’2008 - 8th Portuguese Conference on Auto-matic Control, 2008.

[31] C. Peres and P.S.P. Silva. Time-suboptimal trajectory planning for simplebiped robots: Part ii. Controlo’2008 - 8th Portuguese Conference on Auto-matic Control, 2008.

[32] J. Pratt and G. Pratt. Intuitive control of a planar bipedal walking robot.Proc. IEEE Int. Conf. on Robotics and Automation, pages 2014–2021, 1998.

[33] M. Rostami and G. Bessonnet. Sagittal gait of a biped robot during the singlesupport phase. part 2: optimal motion. Robotica, 19:241–253, 2001.

[34] P. Rouchon and H. Sira-Ramırez. Control of the walking toy: A flatnessapproach. Proc. American Control Conference, pages 2018–2023, 2003.

[35] A.A.G. Siqueira and M.H. Terra. Nonlinear h-inf control applied to bipedrobots. Proc. IEEE Joint International Conference on Control Applications,2006.

[36] M. W. Spong. Partial feedback linearization of underactuated mechanicalsystems. Proc. IEEE Int. Conf. on Intelligent Robots and Systems, 1:314–321, 1994.

[37] M.W. Spong, R. Lozano, and R. Mahony. An almost linear biped. Proc.IEEE Conf. on Decision and Control, pages 4803–4808, 2000.

174

[38] M.W. Spong and M. Vidyasagar. Robot Dynamics and Control. Wiley, 1989.

[39] S. Tzafestas, M. Raibert, and C. Tzafestas. Robust sliding-mode controlapplied to a 5-link biped robot. Journal of Intelligent and Robotic Systems,15:67–133, 1996.

[40] M. Vukobratovic, B. Borovac, D. Surla, and D. Stokic. Biped Locomotion:Dynamics, Stability, Control and Application. Springer-Verlag, 1990.

[41] E.R. Westervelt and J.W. Grizzle. Design of asymptotically stable walkingfor a 5-link planar biped walker via optimization. Proc. IEEE Int. Conf. onRobotics and Automation, 3:3117–3122, 2002.

175