Modelagem Cinematica e Dinamica Robos Moveis

Embed Size (px)

DESCRIPTION

Modelagem Cinemática e Dinâmica para Robôs Móveis

Citation preview

  • Universidade Federal do Rio Grande do SulEscola de Engenharia

    Departamento de Sistemas Eltricos de Automao e EnergiaENG04479 Robtica A

    Modelagem Cinemtica e Dinmica de Robs Mveis

    Prof. Walter Fetter Lages

    18 de maro de 2015

    1 IntroduoExistem basicamente trs mtodos para acionamento de robs mveis: a) atravsde rodas, b) atravs de lagartas e c) atravs de pernas. O acionamento atravs derodas o mais utilizado, por ser de fcil construo e adaptar-se relativamentebem s condies de operao em ambientes in-door e ambientes out-door pavi-mentados, onde as irregularidades do solo no so muito severas. A utilizao doacionamento atravs de lagartas ou atravs de pernas restringe-se operao emambientes out-door hostis, devido sua maior facilidade em transpor obstculos.

    A utilizao limitada do acionamento atravs de pernas deve-se sua cons-truo mecnica mais complexa em relao aos outros mtodos de acionamento.Alm disso, geralmente necessita um maior nmero de atuadores e o projeto dosistema de controle torna-se mais complicado, pois necessrio se considerar oequilbrio do rob. Um exemplo de rob acionado por pernas o Ambler [9]desenvolvido pela NASA.

    O acionamento atravs de lagartas possui uma construo relativamente sim-ples. No entanto, a operao normal deste tipo de acionamento baseia-se intencio-nalmente no deslizamento das lagartas. Isto faz com que mtodos de determinaode pose, como o dead-reckoning tenham um desempenho muito ruim. Em [2] apresentado um mtodo para melhorar o desempenho do dead-reckoning destetipo de rob. Porm, este mtodo apresenta limitaes para aplicao em ambien-tes inspitos, onde um acionamento atravs de lagartas seria desejvel.

    Aqui, seguindo a formulao de [3] sero considerados apenas robs com aci-onamento atravs de rodas. Os modelos para robs acionados por rodas podemser divididos em quatro tipos: a) modelo cinemtico de pose, b) modelo cinem-tico de configurao, c) modelo dinmico de configurao e d) modelo dinmicode pose.

    1

  • Os modelos cinemticos descrevem o rob em funo da velocidade e orien-tao das rodas, enquanto os modelos dinmicos descrevem o rob em funo dasforas generalizadas aplicadas pelos atuadores, por exemplo, torques nas rodas.

    Os modelos de pose consideram como estado apenas a posio e orientaodo rob, enquanto os modelos de configurao consideram alm da pose outrasvariveis internas, como por exemplo deslocamento angular das rodas. Do pontode vista de controle da posio e orientao espacial do rob, apenas os modelosde pose so necessrios.

    A maioria dos trabalhos apresentados na literatura [1, 6, 8] descreve o rob emcoordenadas cartesianas e utiliza apenas um modelo cinemtico de pose. Um n-mero reduzido de autores consideram tambm um modelo dinmico [10]. Em [8] utilizado um modelo cinemtico de pose em coordenadas polares. A modelagemem coordenadas polares permite escrever um modelo com propriedades interes-santes do ponto de vista de controle.

    A seguir sero apresentados os modelos utilizados neste trabalho, seguindo aformulao semelhante a [3]. Embora apenas os modelos de pose sejam necess-rios para controle do rob, so apresentados tambm os modelos de configurao,pois o modelo dinmico de pose obtido a partir do modelo dinmico de configu-rao.

    2 Modelo Cinemtico de PoseNeste trabalho assume-se um rob mvel constitudo de um corpo rgido cujasrodas no sofrem deformao e que movimenta-se no plano horizontal. A posioe a orientao do rob so descritas em relao a um sistema inercial {X0, Y0,0}.Um sistema de coordenadas {Xc, Yc,c} associado ao corpo do rob, conformedetalhado na Figura 1.

    Com isto, a pose do sistema {Xc, Yc,c} com relao ao sistema {X0, Y0,c}ser

    0c =

    xcycc

    (1)

    e a rotao do sistema de coordenadas {Xc, Yc,c} com relao ao sistema decoordenadas {X0, Y0,0} ser descrita por

    0Rc =

    cos c sen c 0sen c cos c 0

    0 0 1

    (2)

    2

  • Figura 1: Definio dos sistemas de coordenadas.

    Tem-se ainda que tem-se que a velocidade do rob em relao ao sistema decoordenadas inercial ser

    0c =

    xcycc

    (3)

    que descrita no sistema de coordenadas {Xc, Yc,c} sercc =

    cR00c (4)

    onde

    cR0 =0R1c =

    0RTc =

    cos c sen c 0 sen c cos c 0

    0 0 1

    (5)

    2.1 Descrio das RodasO modelo desenvolvido aqui para as rodas assume que o plano de cada roda per-manea vertical durante o movimento e que a rotao se d em torno de um eixo

    3

  • horizontal cuja orientao em relao os sistema de coordenadas {Xc, Yc,c}pode ser fixa ou varivel. Considera-se duas classes de rodas: rodas convenci-onais e rodas universais. Em ambos os casos, assume-se que o ponto de contatocom o solo reduzido a um nico ponto.

    As rodas convencionais satisfazem condio de rolamento sem deslizamento,portanto a velocidade do ponto de contato com o solo zero. Ou seja, tanto ascomponentes de velocidade paralela e ortogonal ao plano a roda so nulas.

    Para uma roda universal (figura 2) apenas um dos componentes de velocidadedo ponto de contato zero. A direo desta componente arbitrria, mas fixa emrelao orientao da roda.

    Figura 2: Roda Universal.

    Considerando-se as suposies acima, pode-se deduzir as restries s quaisest sujeito o movimento das rodas:

    2.1.1 Rodas Convencionais Fixas

    Para obter-se uma descrio das rodas associado a cada roda um sistema decoordenadas {Xw, Yw,w}, cuja origem est na projeo do ponto de contato daroda, com o eixo Xw apontando na direo de movimento da roda, conforme aFigura 3.

    A velocidade do sistema de coordenadas {Xw, Yw,w} com relao ao sis-tema de coordenadas inercial {X0, Y0,0} descrita no sistema de coordenadas{Xc, Yc,c}

    cw =cc +

    cccTc

    cc cPw (6)

    4

  • Figura 3: Definio do sistema de coordenadas da roda convencional fixa.

    onde cPw a posio da origem do sistema {Xw, Yw,w} em relao ao sis-tema {Xc, Yc,c} dada por cPw =

    [l cos l sen

    ]T,cc o versor da

    coordenada representado no sistema de coordenadas {Xc, Yc,c} dado porcc =

    [0 0 1

    ]Te denota o produto vetorial.

    A expresso (6), descrita no sistema de coordenadas {Xw, Yw,w} associandoao centro da roda assume a forma

    ww =wRc

    cc +wRc

    cccTc

    cc cPw (7)onde wRc a matriz de rotao entre os sistemas de coordenadas {Xw, Yw,w}e {Xc, Yc,c} dada por

    wRc =

    cos sen 0 sen cos 0

    0 0 1

    (8)

    ou ainda

    ww =wRc

    cc +cc

    cTccc wRccPw (9)

    Como = + pi2

    pode-se escrever wRc na forma

    5

  • wRc =

    sen(+ ) cos(+ ) 0cos( + ) sen( + ) 0

    0 0 1

    (10)

    e utilizando-se (4), (9) pode ser reescrita como

    ww =

    sen( + ) cos( + ) 0cos(+ ) sen( + ) 0

    0 0 1

    cR00c+ cccR00ccc

    l sen l cos

    (11)Por outro lado, tem-se que o segundo termo de (11)

    0 0 00 0 0

    0 0 1

    cR00c

    l sen l cos

    =

    00c

    l sen l cos

    =

    0 0 l cos0 0 l sen

    0 0 0

    cR00c

    (12)Logo tem-se

    ww =

    sen(+ ) cos(+ ) l cos cos( + ) sen( + ) l sen

    0 0 1

    cR00c (13)

    e como ww =[r 0 c

    ]T, chega-se expresso

    sen( + ) cos( + ) l coscos( + ) sen( + ) l sen

    0 0 1

    cR00c +

    r0c

    = 0 (14)

    que representa as restries a que est sujeito o movimento do rob devido rodaem questo. Esta expresso pode ainda ser desmembrada em

    [ sen(+ ) cos(+ ) l cos ] cR00c + r = 0 (15)que representa a restrio de movimento ao longo do plano da roda e

    [cos( + ) sen( + ) l sen

    ]cR0

    0c = 0 (16)que representa a restrio de movimento ortogonal ao plano da roda.

    6

  • 2.1.2 Rodas Convencionais Orientveis Centradas

    Uma roda convencional orientvel centrada uma roda cujo plano pode ser rota-cionado em torno de um eixo vertical passando pelo centro da roda. A descriodeste tipo de roda a mesma utilizada para rodas fixas (caso anterior), porm ongulo no constante, mas varivel.

    2.1.3 Rodas Convencionais Orientveis No-centradas

    Este tipo de roda tambm pode ter sua orientao alterada. No entanto, neste casoa rotao do plano da roda ocorre em torno de um eixo vertical que no passaatravs do centro da roda, conforme a Figura 4.

    Figura 4: Roda convencional orientvel no-centrada.

    Neste caso, tem-se

    cPw =

    l cos + d cosl sen + d sen

    =

    l cos + d sen(+ )l sen d cos( + )

    (17)

    A velocidade do sistema de coordenadas {Xw, Yw,w} com relao ao sis-tema de coordenadas inercial {X0, Y0,0} descrita no sistema de coordenadas

    7

  • {Xc, Yc,c} cw =

    cc +cc

    cTccc cPw + cc + cc cPdw (18)

    onde cPdw o deslocamento da origem do sistema {Xw, Yw, Thetaw} em relaoao centro de giro da roda, representado no sistema de coordenadas {Xc, Yc,c},dado por

    cPdw =

    d cosd sen

    =

    d sen( + )d cos( + )

    (19)

    A expresso (18), descrita no sistema de coordenadas {Xw, Yw,w} associ-ando ao centro da roda assume a forma

    ww =wRc

    cc +wRc

    cccTc

    cc cPw + cc + wRccc cPdw (20)ou ainda

    ww =wRc

    cc +cc

    cTccc wRccPw + cc + cc wRccPdw (21)

    e utilizando-se (4), (21) pode ser reescrita como

    ww =

    sen( + ) cos( + ) 0cos( + ) sen(+ ) 0

    0 0 1

    cR00c + cccR00ccc

    l sen + dl cos

    + cc +cc

    d0

    (22)

    Por outro lado, tem-se que os trs ltimos termos de (22) so 0 0 00 0 0

    0 0 1

    cR00c

    l sen + dl cos

    +

    00

    +

    0d

    0

    =

    00c

    l sen + dl cos

    +

    0d

    = (23)

    0 0 l cos0 0 l sen + d

    0 0 0

    cR00c +

    0d

    8

  • Logo tem-se

    ww =

    sen(+ ) cos(+ ) l coscos( + ) sen( + ) l sen + d

    0 0 1

    cR00c +

    0d

    (24)

    e como ww =[r 0 c +

    ]T, chega-se expresso

    sen( + ) cos( + ) l cos cos(+ ) sen( + ) l sen + d

    0 0 1

    cR00c+

    0d

    +

    r0c

    = 0(25)

    que representa as restries a que est sujeito o movimento do rob devido rodaem questo. Esta expresso pode ainda ser desmembrada em

    [ sen(+ ) cos(+ ) l cos ] cR00c + r = 0 (26)que representa a restrio de movimento ao longo do plano da roda e

    [cos(+ ) sen( + ) l sen + d

    ]cR0

    0c + d = 0 (27)que representa a restrio de movimento ortogonal ao plano da roda.

    2.1.4 Rodas Universais

    A posio deste tipo de roda em relao ao sistema de coordenadas {Xc, Yc,c} descrita de forma semelhante roda convencional fixa. Porm, necessrioa introduo de mais um parmetro para caracterizar a direo, com relao aoplano da roda, do componente nulo da velocidade do ponto de contato. A Figura 5mostra a definio dos sistemas de coordenadas utilizados para descrever este tipode roda. Note-se que o eixo Xw est alinhado com a direo do componente nuloda velocidade do ponto de contato e no com a direo do plano da roda como noscasos anteriores.

    Tal como no caso das rodas fixas, tem-se

    cPw =

    l cosl sen

    (28)

    e a velocidade do sistema de coordenadas {Xw, Yw,w} com relao ao sis-tema de coordenadas inercial {X0, Y0,0} descrita no sistema de coordenadas{Xc, Yc,c}

    9

  • Figura 5: Definio do sistema de coordenadas para roda universal.

    cw =cc +

    cccTc

    cc cPw (29)que, representada no sistema de coordenadas {Xw, Yw,w} tambm pode serescrita na forma

    ww =wRc

    cc +cc

    cTccc wRccPw (30)

    Porm, agora tem-se = ++ pi2

    e a matriz de rotao entre os sistemasde coordenadas {Xw, Yw,w} e {Xc, Yc,c} ser

    wRc =

    sen( + + ) cos(+ + ) 0cos( + + ) sen( + + ) 0

    0 0 1

    (31)

    consequentemente, tem-se

    10

  • ww =

    sen( + + ) cos( + + ) 0cos( + + ) sen( + + ) 0

    0 0 1

    cR00c

    + cccR0

    0ccc

    l sen( + )l cos( + )

    (32)

    O segundo termo de (32) pode ser escrito como:

    0 0 00 0 0

    0 0 1

    cR00c

    l sen( + )l cos( + )

    =

    00c

    l sen( + )l cos( + )

    =

    0 0 l cos( + )0 0 l sen( + )

    0 0 0

    cR00c (33)

    Logo tem-se

    ww =

    sen( + + ) cos( + + ) l cos( + )cos( + + ) sen(+ + ) l sen( + )

    0 0 1

    cR00c (34)

    Por outro lado, tem-se que a velocidade do rob descrita no sistema de coor-denadas {Xw, Yw,w} dada por

    ww =

    r cos wwy

    c

    (35)

    Como se trata de uma roda universal, o componente de velocidade normal desconhecido, pois a velocidade do ponto de contato nesta direo no nula.Com isto, a restrio de movimento da roda pode ser escrita como

    [ sen( + + ) cos( + + ) l cos( + ) ] cR00c + r cos = 0(36)

    Assume-se que para uma roda universal 6= pi2. Caso = pi

    2a roda estaria

    sujeita a uma restrio equivalente restrio de no escorregamento de uma rodaconvencional, perdendo o benefcio de ser uma roda universal. A figura 6 mostrauma roda universal com = 0.

    11

  • Figura 6: Roda universal com = 0.

    2.2 Restries Mobilidade do RobConsidere-se um rob que possua N rodas, sendo Nf rodas convencionais fixas,Nc rodas centradas, Nnc rodas no centradas e Nu rodas universais. Ento, asequaes que descrevem as restries (15, 16, 26, 27 e 36) podem ser escritas naforma matricial:

    J1(c, nc)cR0

    0c + J2 = 0 (37)

    C1(c, nc)cR0

    0c + C2nc = 0 (38)com as seguintes definies:

    J1(c, nc) =

    J1fJ1c(c)J1nc(nc)J1u

    (39)

    C1(c, nc) =

    C1fC1c(c)C1nc(nc)

    (40)

    C2 =

    00C2nc

    (41)

    12

  • onde J1f , J1c, J1nc e J1u so, respectivamente, matrizes de dimenses Nf 3,Nc3, Nnc3 eNu3. J2 uma matriz cuja diagonal so os raios das rodas ou,no caso de rodas universais, o raios das rodas multiplicados por cos . C1f , C1c eC1nc so matrizes de dimenses Nf 3, Nc 3, Nnc 3. C2nc uma matriz cujadiagonal so iguais as distncias d das Nnc rodas no centradas.

    Considerando-se apenas as primeiras Nf +Nc restries de (38) tem-se

    C1(c)cR0

    0c = 0 (42)sendo

    C1(c) =

    [C1f

    C1c(c)

    ](43)

    e portanto cR00c pertence ao espao nulo de C1(c).As limitaes da mobilidade do rob esto relacionadas com o rank deC1 (c).

    Definio 1 (Grau de Mobilidade) Define-se grau de mobilidade de um robmvel como

    m = dimN (C1(c)) (44)

    evidente que (C1 (c)) 3. Se (C1(c)) = 3, ento cR00c = 0 e amovimentao do rob impossvel, portanto deve-se ter (C1(c)) 2.

    Por outro lado, (C1f) = 2 implica a existncia de pelo menos 2 rodas fixascujos planos no so paralelos. Se existirem mais de duas rodas fixas, os eixos detodas elas devero concorrer para o mesmo centro de rotao instantneo. Comoeste centro de rotao fixo, devido aos planos das rodas no serem paralelos, onico movimento possvel para o rob a rotao em torno deste ponto. Logo,para eliminar esta limitao, impe-se a condio de que (C1f ) 1, ou seja, seo rob possui mais de uma roda convencional fixa, todas elas devem estar em ummesmo eixo.

    Tem-se ainda que (C1 (c)) (C1f ) + (C1c(c)), mas a situao emque (C1(c)) < (C1f ) + (C1c(c)) corresponde a ter-se os centros das ro-das orientveis centradas sobre o eixo comum das rodas fixas. Esta situao fazcom que as rodas orientveis percam a sua capacidade de atuar sobre a alocaodo centro de rotao instantneo, portanto assume-se tambm que (C1(c)) = (C1f ) + (C1c(c)).

    Definio 2 (Grau de Dirigibilidade) O grau de dirigibilidade de um rob m-vel definido como o nmero de rodas convencionais orientveis centradas quepodem ser orientadas independentemente para dirigir o rob, e dado por

    13

  • s = (C1c(c)) (45)

    Se o rob estiver equipado com mais de s rodas convencionais orientadascentradas, o movimento de Nc s rodas dever ser coordenado com as demais,de forma a garantir a existncia do centro de rotao instantneo.

    Do exposto acima, conclui-se que a configurao das rodas de um rob mveldeve ser tal que as seguintes restries sejam satisfeitas:

    1 m 3 (46)

    0 s 2 (47)

    2 m + s 3 (48)O limite inferior de (46) significa que sero considerados apenas os casos em

    que possvel o movimento. A restrio (47) indica que podem existir no mximoduas rodas orientveis centradas independentes. As configuraes em que m +s = 1 permitem apenas a rotao em torno de um centro instantneo fixo, sendoportanto desconsideradas. O limite superior de (48) devido a condio de que (C1 (c)) 2, e portanto s = 2 implica m = 1.

    Pode ser verificado que apenas cinco classes de robs com rodas, caracteriza-dos pelo par (m, s) satisfazem as restries (46), (47) e (48): as classes (3,0),(2,0), (2,1), (1,1) e (1,2).

    Classe (3,0) Nesta classe de rob tem-se (C1(c)) = 0, portanto no existemrodas fixas ou rodas orientveis centradas. Estes robs so denominadosomnidirecionais, pois podem mover-se instantaneamente em qualquer di-reo e com qualquer reorientao.

    Classe (2,0) Como (C1 (c)) = (C1f ) + (C1c(c)) = 1 e (C1c(c)) = 0,esta classe de rob tem uma roda fixa ou vrias rodas fixas em um eixocomum, pois necessrio que (C1f) = 1. Os robs desta classe normal-mente possuem rodas operando em modo diferencial.

    Classe (2,1) Esta classe de rob possui pelo menos uma roda orientvel centradae no possui rodas fixas, pois (C1f ) = 0. Existindo mais de uma rodaorientvel centrada, o movimento destas rodas dever ser coordenado deforma que (C1c(c)) = 1.

    14

  • Classe (1,1) Neste caso tem-se (C1f ) = 1 e portanto deve-se ter uma roda fixa,ou vrias rodas fixas em um eixo comum e uma ou mais rodas orientveiscentradas, cujo centro no deve estar sobre o eixo das rodas fixas. Havendovrias rodas orientveis centradas, o seu movimento deve ser coordenado deforma que (C1c(c)) = 1. Robs construdos na forma de carros conven-cionais, com direo tipo Aeckerman [7] pertencem a esta classe. Em [5] apresentado um mtodo para representar qualquer rob desta classe porum modelo de bicicleta, com apenas uma roda fixa e uma roda orientvelcentrada.

    Classe (1,2) Robs desta classe no possuem rodas fixas, pois (C1f) = 0. Poroutro lado, possuem duas rodas orientveis centradas, ou mais, desde queseu movimento seja coordenado de forma que (C1c(c)) = 2.

    2.3 Modelo Cinemtico de Pose no Espao de EstadosDe (42) tem-se que cR00c pertence ao espao nulo de C1 (c). Portanto, lem-brando que cR10 = cRT0 = 0Rc, pode-se escrever

    0c =0Rc(c) (49)

    onde as colunas de (c) formam uma base do espao nulo de C1 (c). Pode-severificar facilmente que as dimenses de (c) e sero sempre 3 m e m 1.

    Definindo-se = c, (49) pode ser aumentada para{0c =

    0Rc(c)

    c = (50)

    que o modelo no espao de estados do sistema, com as coordenadas de pose 0ce as coordenadas angulares c como variveis de estado. Como entradas linearesdo sistema tem-se e . Se por outro lado, o rob no possui rodas orientveiscentradas (Nc = 0), a matriz no depender de c e (49) no precisar seraumentada. Na Tabela 1 so mostrados os modelos cinemticos de pose particu-larizados para cada uma para as cinco classes de rob mveis, onde d e L soparmetros dependentes da geometria particular do rob considerado.

    Genericamente, o modelo cinemtico de pose pode ser escrito na forma

    x = B(x)u (51)com

    x =

    0c , Nc = 0[0cc

    ], Nc 0

    15

  • Tabela 1: Modelos cinemticos de pose.

    Classe Modelo

    (3,0)omnidirecional

    xcyc

    c

    =

    cos c sen c 0sen c cos c 0

    0 0 1

    12

    3

    (2,0)diferencial

    xcyc

    c

    =

    cos c 0sen c 0

    0 1

    [ 1

    2

    ]

    (2,1)

    xcyccc

    =

    cos(c + c) 0 0sen(c + c) 0 0

    0 1 00 0 1

    12

    (1,1)carro

    xcyccc

    =

    d cos c sen c 0d sen c cos c 0

    cos c 00 1

    [1

    ]

    (1,2)

    xcyccc1c2

    =

    L [sen c1 cos(c + c2) + sen c2 cos(c + c1)] 0 0L [sen c1 sen(c + c2) + sen c2 sen(c + c1)] 0 0

    sen(c2 c1) 0 00 1 00 0 1

    11

    2

    B(x) =

    0Rc , Nc = 0[0Rc(c) 0

    0 I

    ], Nc 0

    u =

    ,Nc = 0[

    ], Nc 0

    Definio 3 (Grau de Manobrabilidade) O grau de manobrabilidade de um robmvel definido como

    M = m + s (52)

    Pode-se observar que a dimenso do vetor de entradas igual ao grau de ma-nobrabilidade do rob. Este parmetro indica quantos graus de liberdade podemser manipulados atravs das entradas e . Em outras palavras, indica a possi-bilidade de alocar-se livremente o centro instantneo de rotao. M = 3 indica

    16

  • Tabela 2: Parmetros das rodas do rob da Figura 7.Roda 1 2 3l

    a2 + b2

    a2 + b2 c

    d 0 0 d3 arctan(b/a) arctan(b/a) pi pi

    2 1 pi2 2 3

    que o centro instantneo de rotao pode ser livremente alocado no plano, direta-mente atravs de para robs da classe(3,0) ou atravs da reorientao das rodascentradas para robs das classes (1,2) e (2,1). Por outro lado, M = 2 indica que aposio do centro instantneo de rotao est restrita pertencer a linha que passapelo centro das rodas fixas. Esta posio ser determinada diretamente por pararobs da classe (2,0) ou atravs da orientao das rodas centradas para robs daclasse (1,1).

    No entanto, deve-se ressaltar que o nmero de graus de liberdade que podemser acessados diretamente igual a m, j que apenas os graus de liberdade aces-sados por podem ser acessados diretamente. A ao de nas coordenadas depose indireta, pois obtida atravs da varivel c, calculada pela integral de . Fisicamente, isto pode ser verificado considerando-se que modifica apenasa orientao das rodas centradas do rob e portanto, apenas influenciar as co-ordenadas de pose do rob se este se mover. Portanto, para um mesmo valorde M , robs com m maior so mais manobrveis. Como seria de esperar, omximo de manobrabilidade obtido com robs omnidirecionais, quando tem-seM = m = 3.

    Pode ser provado [3] que o modelo cinemtico de pose (51) irredutvel, ouseja, no existe uma transformao de coordenadas tal que uma das coordenadas identicamente nula.

    Exemplo 1 Considere o rob mvel com acionamento diferencial mostrado naFigura 7.

    Considerando as restries (16) e (27) para cada roda e escrevendo-se naforma matricial tem-se

    cos(1 + 1) sen(1 + 1) l1 sen(1)cos(2 + 2) sen(2 + 2) l2 sen(2)cos(3 + 3) sen(3 + 3) l3 sen(3) + d3

    cR00c +

    00d3

    3 = 0 (53)

    Tem-se que os parmetros das rodas so os mostrados na Tabela 2. Note que3 varivel.

    Substituindo os parmetros da Tabela 2 em (53) tem-se:

    17

  • X0

    Y0

    Xc

    Yc

    Xw1

    Yw1

    Xw2

    Yw2

    Xw3

    Yw3

    xc

    yc

    a

    b

    c

    d3

    1

    2

    3

    1

    2

    3

    Figura 7: Rob mvel com acionamento diferencial.

    cos(1 +

    pi2 1) sen(1 + pi2 1) l1 sen(pi2 1)

    cos(2 +pi2 2) sen(2 + pi2 2) l2 sen(pi2 2)

    cos(pi + 3) sen(pi + 3) l3 sen(3) + d3

    cR00c+

    00d3

    3 = 0

    ou

    0 1 l1 cos(1)0 1 l2 cos(2) cos(3) sen(3) l3 sen(3) + d3

    cR00c +

    00d3

    3 = 0

    E como se pode verificar pela Figura 7, tem-se que l1 cos(1) = a e l2 cos(2) =a, portanto:

    0 1 a0 1 a cos(3) sen(3) l3 sen(3) + d3

    C1(c,nc)=C1(3)

    cR00c +

    00d3

    C2

    3 = 0

    Assim, considerando-se apenas as restries referentes as rodas fixas e asrodas centradas (nesse caso estas ltimas no existem) tem-se

    18

  • C1(c) =

    [0 1 a0 1 a

    ]= C1

    Tem-se que (C1) = 1 e portanto m = dimN (C1) = 3 1 = 2. Por outrolado, s = (C1c(c)) = 0. Logo, trata-se de um rob da classe (2, 0).

    De (49) tem-se0c =

    0Rc(c)

    onde as colunas de (c) formam uma base do espao nulo de C1 (c).Portanto:

    [0 1 a0 1 a

    ]123

    = 0

    De onde =[1 2 3

    ]T tal que 2 + a3 = 0. Uma escolha conveni-ente1, como se ver mais adiante :

    =

    1 00 a0 1

    E portanto, tem-se que o modelo cinemtico de pose ser dado por:

    0c =

    cos(c) sen(c) 0sen(c) cos(c) 0

    0 0 1

    1 00 a0 1

    ou

    0c =

    cos(c) a sen(c)sen(c) a cos(c)

    0 1

    (54)

    Note que o modelo cinemtico de pose mostrado na Tabela 1 diferente por-que foi obtido com outro posicionamento dos sistemas de coordenadas. Obser-vando a Figura 7 possvel perceber que se a origem do sistema de coordena-das {Xc, Yc} tivesse sido posicionada no centro do eixo das rodas fixas, ter-se-iaa = 0 e o modelo obtido aqui seria o mesmo mostrado na Tabela 1.

    1Dessa escolha vai depender o significado fsico das entradas do sistema.

    19

  • Exemplo 2 Ainda considerando-se o rob da Figura 7. De (42) tem-se:

    C1cR0

    0c = 0[0 1 a0 1 a

    ] cos(c) sen(c) 0 sen(c) cos(c) 00 0 1

    xcycc

    = 0

    [ sen(c) cos(c) a sen(c) cos(c) a

    ]xcycc

    = 0

    De onde tem-se a expresso:

    xc sen(c) + yc cos(c) + ac = 0que a restrio no-holonmica a que est o sujeito o rob e que pode ser in-terpretada conforme a Figura 8.

    X0

    Y0

    xc

    yc

    c

    xc sen(c)

    yc cos(c)

    ac

    xc

    yc

    c

    Figura 8: Interpretao da restrio no-holonmica a que est sujeito o robmvel da Figura 7.

    20

  • Exemplo 3 O significado fsico de em (54) pode ser obtido como segue:Tem-se:

    0c =

    xcycc

    =

    cos(c) a sen(c)sen(c) a cos(c)

    0 1

    Portanto:

    xc = 1 cos(c) + a2 sen(c) (55)yc = 1 sen(c) a2 cos(c) (56)c = 2 (57)

    Assim, tem-se de (57) que 2 a velocidade angular do rob. Por outro lado,de (55) e (56) tem-se que

    xc cos(c) + yc sen(c) = 1 cos2(c) + a2 sen(c) cos(c)

    + 1 sen2(c) a2 cos(c) sen(c)

    = 1

    Logo, percebendo-se que xc cos(c) e yc sen(c) so as projees de xc e ycsobre o eixo longitudinal do rob, como mostra a Figura 9, tem-se que 1 avelocidade linear do rob.

    3 Modelo Cinemtico de ConfiguraoO modelo cinemtico de pose foi obtido utilizando-se apenas um subconjuntodas expresses (37) e (38) correspondentes s restries (42) impostas pelas ro-das fixas e pelas rodas orientveis centradas. Utilizando-se as demais restries,pode-se obter expresses para as velocidades angulares, nc, e rotacionais, , noconsideradas no modelo cinemtico de pose.

    De (37) e (38) obtm-se

    nc = C12ncC1nc(nc)cR0 (58)

    = J12 J1(c, nc)cR0 (59)substituindo-se de (49) resulta

    21

  • X0

    Y0

    xc

    yc

    xc cos(c)

    yc sen(c)

    xc

    yc

    c

    1

    Figura 9: Significado fsico de 1.

    nc = D(nc)(c) (60)

    = E(c, nc)(c) (61)sendo D(nc) = C12ncC1nc(nc) e E(c, nc) = J12 J1(c, nc).

    Definindo-se o vetor de coordenadas de configurao

    q =

    cnc

    (62)

    pode-se escrever as expresses (50), (60) e (61) na forma

    q = S(q)u (63)com

    S(q) =

    0Rc(c) 00 I

    D(nc)(c) 0E(c, nc)(c) 0

    (64)

    22

  • u =

    [

    ](65)

    que se constitui o modelo cinemtico de configurao.Considerando-se a distribuio

    c(q) = span {col (S(q))} (66)tem-se que

    m +Nc = dim(1) dim (inv(1)) dim(q) = 3 +Nc +Nnc +N (67)

    onde inv(1) denota o fechamento involutivo da distribuio 1. Consequente-mente, pelo teorema de Frobenius [4] tem-se que o modelo cinemtico de confi-gurao redutvel. O nmero de restries de velocidades que no podem serintegradas, e portanto no podem ser eliminadas representado pelo grau de noholonomicidade do rob.

    Definio 4 (Grau de No Holonomicidade) O grau de no holonomicidade deum rob mvel definido como

    M = dim (inv(1)) (m +Nc)

    Como o modelo cinemtico de configurao redutvel tem-se que para todasas classes de robs mveis M > 0. Ou seja, todas as classes de robs mveispossuem restries no holonmicas. Pode-se notar ainda que M depende daestrutura particular de cada rob, e portanto no tem o mesmo valor para todos osrobs de uma mesma classe.

    Por outro lado, o nmero de restries de velocidade que podem ser integradase portanto eliminadas dado pela diferena entre dim(q) e dim (inv(1)).

    Exemplo 4 Novamente, considere o rob mvel com acionamento diferencialmostrado na Figura 7. Considerando, as restries (15) e (26) para cada rodae escrevendo-se na forma matricial tem-se

    sen(1 + 1) cos(1 + 1) l1 cos(1) sen(2 + 2) cos(2 + 2) l2 cos(2) sen(3 + 3) cos(3 + 3) l3 cos(3)

    cR00c +

    r1 0 00 r2 00 0 r3

    = 0

    (68)Substituindo os parmetros da Tabela 2 em (68) tem-se:

    23

  • sen(1 +

    pi2 1) cos(1 + pi2 1) l1 cos(pi2 1) sen(2 + pi2 2) cos(2 + pi2 2) l2 cos(pi2 2) sen(pi + 3) cos(pi + 3) l3 cos(3)

    cR00c+

    r1 0 00 r2 00 0 r3

    = 0

    ou

    1 0 l1 sen(1)1 0 l2 sen(2)sen(3) cos(3) l3 cos(3)

    cR00c +

    r1 0 00 r2 00 0 r3

    = 0

    E como se pode verificar pela Figura 7, tem-se que l1 sen(1) = b e l2 cos(2) =b, portanto:

    1 0 b1 0 bsen(3) cos(3) l3 cos(3)

    J1(c,nc)=J1(3)

    cR00c +

    r1 0 00 r2 00 0 r3

    J2

    = 0

    De (60) tem -se

    D(nc) = C12ncC1nc(3) = D(3)= 1

    d3

    [ cos(3) sen(3) l3 sen(3) + d3]D(3) =

    [cos(3)d3

    sen(3)d3

    l3 sen(3)d3

    1]

    e

    3 = D(3)

    =[

    cos(3)d3

    sen(3)d3

    l3 sen(3)d3

    1]1 00 a

    0 1

    =[

    cos(3)d3

    ad3

    sen(3) l3d3 sen(3) 1]

    3 =[

    cos(3)d3

    (a+l3d3

    sen(3) + 1)]

    J de (61) tem-se:

    24

  • E(c, nc) = J12 J1(c, nc) = E(3)

    =

    1r1

    0 0

    0 1r2

    0

    0 0 1r3

    1 0 b1 0 bsen(3) cos(3) l3 cos(3)

    =

    1

    r10 b

    r1 1r2

    0 br2

    sen(3)r3

    cos(3)r3

    l3cos(3)r3

    E(3) =

    1r1

    0 br1

    1r2

    0 br2

    sen(3)r3

    cos(3)r3

    l3 cos(3)r3

    e

    = E(3)

    =

    1r1

    0 br1

    1r2

    0 br2

    sen(3)r3

    cos(3)r3

    l3 cos(3)r3

    1 00 a0 1

    =

    1r1

    br1

    1r2

    br2

    sen(3)r3

    a cos(3)l3 cos(3)r3

    =

    1r1

    br1

    1r2

    br2

    sen(3)r3

    (a+l3r3

    )cos(3)

    Definindo-se o vetor de coordenadas de configurao:

    q =

    0c312

    =

    0c3

    (69)

    tem-se o modelo cinemtico de configurao:

    25

  • q =

    cos(c) a sen(c)sen(c) a cos(c)

    0 1cos(3)d3

    (a+l3d3

    sen(3) + 1)

    1r1

    br1

    1r2

    br2

    sen(3)r3

    (a+l3r3

    )cos(3)

    4 Modelo Dinmico de ConfiguraoOs modelos apresentados nas sees anteriores descrevem o comportamento dorob em funo das velocidades das rodas. No entanto, fisicamente, as variveisde entrada de um rob mvel so os torques aplicados pelos motores.

    Utilizando-se o formalismo de Lagrange, tem-se que a dinmica de um robmvel com rodas dada por [3]

    d

    dt

    (T

    ) T

    = 0RcJT1 (c, nc)+

    0RcCT1 (c, nc) (70)

    d

    dt

    (T

    nc

    ) Tnc

    = CT2 + nc (71)d

    dt

    (T

    ) T

    = JT2 + (72)d

    dt

    (T

    c

    ) Tc

    = c (73)

    onde , c e nc so os torques aplicados para rotao das rodas, orientao dasrodas centradas e orientao das rodas no centradas, respectivamente. T repre-senta a energia cintica, o coeficiente de Lagrange associado restrio (37)e o coeficiente de Lagrange associado restrio (38).

    Pr-multiplicando-se as expresses (70), (73) e (72) por cR0,DT (nc) eET (c, nc),respectivamente, e somando-as, obtm-se

    26

  • cR0

    (d

    dt

    (T

    ) T

    )+ DT (nc)

    (d

    dt

    (T

    nc

    ) Tnc

    )+

    + ET (c, nc)

    (d

    dt

    (T

    ) T

    )=

    = (J1(c, nc) + J2E(c, nc))T + (74)

    + (C1(c, nc) + C2D(nc))T +

    + DT (nc)nc + ET (c, oc)

    porm, das definies de DT (nc) e ET (c, nc) tem-se

    C1nc(nc) + C2nc = 0 (75)J1(c, nc) + J2E(c, nc) = 0 (76)

    e portanto, os coeficientes de Lagrange so eliminados da expresso (75), resul-tando

    cR0

    (d

    dt

    (T

    ) T

    )+ DT (nc)

    (d

    dt

    (T

    nc

    ) Tnc

    )+

    + ET (c, nc)

    (d

    dt

    (T

    ) T

    )= (77)

    = DT (nc)nc + ET (c, oc)

    A energia cintica de um rob mvel pode ser expressa por

    T = T 0Rc

    [M(nc)

    cR0 + 2V (nc)nc + 2Wc

    ]+ TncIncnc+

    T I+ cIcc

    (78)onde M(nc), V (nc), W , Inc, I e Ic so funes dos parmetros de massa einrcia dos vrios corpos rgidos que formam o rob.

    Substituindo-se (78) em (73) e (78) e eliminando-se as velocidades , nc, e c e as aceleraes , nc, e c e com a utilizao das expresses (50), (60)e (61) e suas derivadas obtm-se

    H1(c, nc) + T (c)V (nc) + f1(c, nc, , ) =

    = T (c)[DT (nc)nc + E

    T (c, nc)] (79)

    com

    27

  • H1(c, nc) = T (c)

    [M(nc) +D

    T (nc)VT (nc) + V (nc)D(nc)+

    + DT (nc)IncD(nc) + ET (c, nc)IE(c, nc)

    ](c)

    (80)

    e

    V T (nc)(c) + Ic + f2(c, nc, , ) = c (81)que juntamente com (50), (60) e (61) formam o modelo dinmico de configuraode um rob mvel com rodas genrico. Neste modelo genrico, os torques ,nc e c representam os torques que podem ser aplicados para rotao e orienta-o das rodas. No entanto, em um rob real, apenas alguns destes torques soefetivamente aplicados, pois geralmente utiliza-se o nmero mnimo de motoresnecessrios. Pode-se facilmente concluir que cada roda centrada deve necessa-riamente possuir pelo menos um motor para sua orientao, pois caso contrriocomportar-se-ia como uma roda fixa. Consequentemente, o vetor c no pode pos-suir componentes identicamente nulos. Por outro lado, os vetores e nc podempossuir componentes identicamente nulos, desde que a rotao e a orientao dasrodas s quais estes estejam associados possa ser obtida atravs do acionamentodas demais rodas. Tem-se ento, que o vetor dos torques fornecidos para rotaoe orientao das rodas no centradas m pode ser obtido de[

    nc

    ]= Pm (82)

    ondeP uma matriz (Nnc+N)Nm que seleciona os componentes de [ nc ]Tque so efetivamente utilizados como entradas de controle. A expresso (80) podeportanto, ser reescrita como

    H1(c, nc) + T (c)V (nc) + f1(c, nc, , ) = B(c, nc)Pm (83)

    sendo B(c, nc) = T (c)[DT (nc) E

    T (c, nc)].

    importante observar que a matriz B(c, nc)P deve possuir rank completopara quaisquer valores de c e nc. Se esta condio no for satisfeita, existi-ro valores de c e nc para os quais o rob tornar-se- sub-atuado, ou seja, noexistiro graus de liberdade suficientes nas entradas de controle para determinar aalocao do centro instantneo de rotao do rob. Esta condio portanto, deter-mina o nmero mnimo de motores que devem ser utilizados para um determinadaclasse de rob mvel, conforme explicitado na Tabela 3.

    28

  • Tabela 3: Nmero mnimo de motores para cada classe de rob mvel.Classe Motores(3,0) 31 ou 42(2,0) 2(2,1) 3(1,1) 2(1,2) 4

    O modelo dinmico de configurao pode ser escrito de forma mais simplescomo {

    q = S(q)uH()u+ f(, u) = F ()0

    (84)

    com as seguintes definies

    =

    [cnc

    ]

    q =

    u =

    [

    ]

    H() =

    [H1(c, nc)

    T (c)V (nc)V T (nc)(c) Ic

    ]

    f(, u) =

    [f1(c, nc, , )f2(c, nc, , )

    ]

    F () =

    [B(c, nc)P 0

    0 I

    ]

    0 =

    [mc

    ]

    5 Modelo Dinmico de PoseO modelo dinmico de configurao de um rob mvel com rodas pode ser sim-plificado para

    1Utilizando rodas universais.2Utilizando rodas convencionais.

    29

  • {q = S(q)uu = v

    (85)

    utilizando-se a seguinte realimentao de estados

    0 = F() [H()v + f(, u)] (86)

    onde F () denota uma pseudo-inversa esquerda de F ().Por outro lado, para aplicaes de controle em geral, o que interessa so ba-

    sicamente nas coordenadas de pose do rob, isto , . Os valores das variveisinternas nc e no so de interesse e consequentemente, podem ser ignorados.Com isto obtm-se o seguinte modelo dinmico de pose{

    x = B(x)uu = v

    (87)

    mantendo-se as mesmas definies anteriores para x e u.Este modelo descreve totalmente a dinmica entre as coordenadas de pose e

    as entradas de controle v. Embora as coordenadas nc e tenham aparentementedesaparecido do modelo, elas permanecem implicitamente na realimentao de-finida pela expresso (86). As propriedades estruturais deste modelo so basica-mente as mesmas do modelo cinemtico de pose. Portanto, este modelo tambm genrico, no sentido de que vlido para qualquer classe possvel de rob comrodas, e irredutvel [3].

    6 ConclusoNeste captulo foram apresentados os modelos de robs mveis com rodas. Fo-ram considerados quatro tipos de rodas: rodas fixas, rodas orientveis centradas,rodas orientadas no-centradas e rodas universais. Sob hipteses bastante realis-tas, como a de que as rodas no deslizam, mostrou-se que existem apenas cincoclasses de robs com rodas. Atravs da anlise das caractersticas do modelo di-nmico foi possvel deduzir o nmero mnimo de motores necessrios para querobs de uma determinada classe no sejam sub-atuados.

    Referncias[1] A. M. Bloch, M. Reyhanoglu, and N. H. McClamroch. Control and stabili-

    zation of nonholonomic dynamic sytems. IEEE Transactions on AutomaticControl, 37(11):17461756, Nov 1992.

    30

  • [2] J. Borenstein, H. R. Everett, and L. Feng. Where am i? - sensors and methodsfor mobile robot positioning. Technical report, University of Michigan, Apr1996.

    [3] G. Campion, G. Bastin, and B. DAndra-Novel. Structural properties andclassification of kinematic and dynamical models of wheeled mobile robots.IEEE Transactions on Robotics and Automation, 12(1):4762, Feb 1996.

    [4] A. Isidori. Nonlinear Control Systems. SpringerVerlag, Berlin, third edi-tion, 1995.

    [5] A. Kelly. Essential kinematics for autonomous vehicles. Technical ReportCMU-RI-TR-94-14, Carnegie Mellon University, May 1994.

    [6] I. Kolmanovsky and N. H. McClamroch. Developments in nonholonomiccontrol problems. IEEE Control Systems Magazine, 15(6):2036, Dec 1995.

    [7] R. T. McCloskey and R. M. Murray. Exponential stabilization of driflessnonlinear control systems using homogeneous feedback. IEEE Transactionson Automatic Control, 42(5):614628, May 1997.

    [8] S. Murata and T. Hirose. On board locating system using realtime imageprocessing for a selfnavigating vehicle. IEEE Transactions on IndustrialElectronics, 40(1):145153, Feb 1993.

    [9] R. G. Simons. Structured control for autonomous robots. IEEE Transactionson Robotics and Automation, 10(1):3443, Feb 1994.

    [10] Y. Yamamoto and X. Yun. Coordinating locomotion and manipulation of amobile manipulator. IEEE Transactions on Automatic Control, 39(6):13261332, Jun 1994.

    A Pseudo-inversa de Moore-PenrosePseudo-inversas so utilizadas quando necessrio realizar-se a operao inversa realizada por uma matriz no inversvel.

    Existem quatro condies que definem pseudo-inversas2 :

    1. TT T = T

    2. T TT = T 2A hermitiana A = A

    31

  • 3. TT =[TT

    ]4. T T =

    [T T

    ]Diversas pseudo-inversas podem ser definidas, dependendo de quais das qua-

    tro condies so satisfeitas:

    T 1 satizfaz apenas a condio 1.

    T 2 satizfaz as condies 1 e 2.

    T 3 satizfaz as condies 1, 2 e 3.

    T 3

    satizfaz as condies 1, 2 e 4.

    T satizfaz todas as quatro condies.

    T denominada pseudo-inversa de Moore-Penrose e existe para qualquermatriz.

    B Clculo da Pseudo-inversa de Moore-PenroseA pseudo-inversa de Moore-Penrose pode ser obtida por decomposio. Consi-dere uma matriz genrica T Fmn com (T ) = r. Seja

    T = FRT

    F Fmr

    RT F rnuma decomposio de T com (F ) = (RT ) = r. Notando-se que as matrizes(r r) F TF e RTR so de rank completo e portanto inversveis, pode-se obteruma expresso para a inversa de Moore-penrose;

    T =(FRT

    )= RT

    F

    T = RRRT

    F F T

    F T

    T = R(RTR

    ) (F TF

    )F T

    32

  • T = R(RTR

    )1 (F TF

    )1F T

    que obviamente computvel, j que RTR e F TF so inversveis. Pode-se aindaescrever:

    T = R(F TFRTR

    )1F T

    T = R(F TTR

    )1F T

    Existem dois casos especiais de T : Inversas direita e esquerda. Umamatriz T Fmn dita ser inversvel direita (ou esquerda) se existe umamatriz T1R (ou T1L ) tal que TT1R = Im (ou T1L T = In).

    B.1 Inversa DireitaA inversa de Moore-Penrose reduz-se inversa direita se

    m n e (T ) = m rank de linhas completoIsto significa que (T ) = (R) = (F ) = m e F Fmm. Como F

    quadrada e possui rank completo, existe uma inversa normal F1, simplificandoa expresso para a inversa de Moore-Penrose:

    T1R = R[RTR]1[F TF ]1F T

    = R[RTR]1F1[F T ]1F T

    = R[RTR]1F1

    = R[F (RTR)]1

    = [F1T ]T [F (RTR)]1

    = T T [FRTRF T ]1

    = T T [TT T ]1

    B.2 Inversa EsquerdaA inversa de Moore-Penrose reduz-se inversa esquerda se

    m n e (T ) = n rank de colunas completoIsto significa que (T ) = (R) = (F ) = n e R Rnn. Como R

    quadrada e possui rank completo, existe uma inversa normal R1, simplificandoa expresso para a inversa de Moore-Penrose:

    33

  • T1L = R[RTR]1[F TF ]1F T

    = (R1)T [F TF ]1F T

    = [F TFRT ]1F T

    = [F TT ]1R1T T

    = [RF TT ]1T T

    = [T TT ]1T T

    C Propriedades da Pseudo-inversa de Moore-PenroseA pseudo-inversa de Moore-Penrose possui diverdas propriedades, algumas dasquais sero utilizadas aqui:

    1. T nica

    2. T = T1 para T no singulares

    3.(T )

    = T e 0 = 0

    4. (kT ) = (1/k)T para k 6= 05. (T ) = (T T ) e (T ) = (T T )6. (T ) = (T )

    7. TT e T T so ambas hermitianas e idempotentes3

    8. (TA) = AT se uma ou mais das seguintes condies for vlida

    (a) T ou AT possui colunas ortonormais(b) T e A possuem inversas direita e esquerda, respectivamente(c) A = T T(d) T m n, A n k e (T ) = (A) = n(e) T TTAAT = AATT TT(f) AATT TT e T TTAA forem ambas hermitianas

    9.(UTV T

    )= V T UT para quaiquer matrizes com colunas ortonormais U e

    V 4

    3A idempotente A2 = A.4U com colunas ortonormais UTU = I

    34

  • 10. T TV T = T V 1T T onde T m n, (T ) = m n e V uma matrizno singular qualquer

    11.(UTV T

    )= V T1U para T no singular

    12. T fornece a soluo de mnimos quadrados para uma equao genrica naforma

    Tjx = xj

    O resultado obtido soluo tima com relao ao custo

    J = Tjx xje dado por

    x = T j xj

    35