Sunteți pe pagina 1din 35

Universidade Federal do Rio Grande do Sul

Escola de Engenharia
Departamento de Sistemas Eltricos de Automao e Energia
ENG04479 Robtica A
Modelagem Cinemtica e Dinmica de Robs Mveis
Prof. Walter Fetter Lages
18 de maro de 2015

Introduo

Existem basicamente trs mtodos para acionamento de robs mveis: a) atravs


de rodas, b) atravs de lagartas e c) atravs de pernas. O acionamento atravs de
rodas o mais utilizado, por ser de fcil construo e adaptar-se relativamente
bem s condies de operao em ambientes in-door e ambientes out-door pavimentados, onde as irregularidades do solo no so muito severas. A utilizao do
acionamento atravs de lagartas ou atravs de pernas restringe-se operao em
ambientes out-door hostis, devido sua maior facilidade em transpor obstculos.
A utilizao limitada do acionamento atravs de pernas deve-se sua construo mecnica mais complexa em relao aos outros mtodos de acionamento.
Alm disso, geralmente necessita um maior nmero de atuadores e o projeto do
sistema de controle torna-se mais complicado, pois necessrio se considerar o
equilbrio do rob. Um exemplo de rob acionado por pernas o Ambler [9]
desenvolvido pela NASA.
O acionamento atravs de lagartas possui uma construo relativamente simples. No entanto, a operao normal deste tipo de acionamento baseia-se intencionalmente no deslizamento das lagartas. Isto faz com que mtodos de determinao
de pose, como o dead-reckoning tenham um desempenho muito ruim. Em [2]
apresentado um mtodo para melhorar o desempenho do dead-reckoning deste
tipo de rob. Porm, este mtodo apresenta limitaes para aplicao em ambientes inspitos, onde um acionamento atravs de lagartas seria desejvel.
Aqui, seguindo a formulao de [3] sero considerados apenas robs com acionamento atravs de rodas. Os modelos para robs acionados por rodas podem
ser divididos em quatro tipos: a) modelo cinemtico de pose, b) modelo cinemtico de configurao, c) modelo dinmico de configurao e d) modelo dinmico
de pose.

Os modelos cinemticos descrevem o rob em funo da velocidade e orientao das rodas, enquanto os modelos dinmicos descrevem o rob em funo das
foras generalizadas aplicadas pelos atuadores, por exemplo, torques nas rodas.
Os modelos de pose consideram como estado apenas a posio e orientao
do rob, enquanto os modelos de configurao consideram alm da pose outras
variveis internas, como por exemplo deslocamento angular das rodas. Do ponto
de vista de controle da posio e orientao espacial do rob, apenas os modelos
de pose so necessrios.
A maioria dos trabalhos apresentados na literatura [1, 6, 8] descreve o rob em
coordenadas cartesianas e utiliza apenas um modelo cinemtico de pose. Um nmero reduzido de autores consideram tambm um modelo dinmico [10]. Em [8]
utilizado um modelo cinemtico de pose em coordenadas polares. A modelagem
em coordenadas polares permite escrever um modelo com propriedades interessantes do ponto de vista de controle.
A seguir sero apresentados os modelos utilizados neste trabalho, seguindo a
formulao semelhante a [3]. Embora apenas os modelos de pose sejam necessrios para controle do rob, so apresentados tambm os modelos de configurao,
pois o modelo dinmico de pose obtido a partir do modelo dinmico de configurao.

Modelo Cinemtico de Pose

Neste trabalho assume-se um rob mvel constitudo de um corpo rgido cujas


rodas no sofrem deformao e que movimenta-se no plano horizontal. A posio
e 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, conforme
detalhado na Figura 1.
Com isto, a pose do sistema {Xc , Yc , c } com relao ao sistema {X0 , Y0 , c }
ser

xc
0
c = y c
(1)
c
e a rotao do sistema de coordenadas {Xc , Yc , c } com relao ao sistema de
coordenadas {X0 , Y0 , 0 } ser descrita por

cos c sen c 0
0
Rc = sen c cos c 0
(2)
0
0
1
2

Figura 1: Definio dos sistemas de coordenadas.


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

x c
0
(3)
c = yc
c
que descrita no sistema de coordenadas {Xc , Yc , c } ser
c

c = c R0 0 c

(4)

(5)

onde
c

R0 = 0 Rc1

cos c sen c 0
= 0 RcT = sen c cos c 0
0
0
1

2.1 Descrio das Rodas


O modelo desenvolvido aqui para as rodas assume que o plano de cada roda permanea 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 convencionais e rodas universais. Em ambos os casos, assume-se que o ponto de contato
com 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 as
componentes de velocidade paralela e ortogonal ao plano a roda so nulas.
Para uma roda universal (figura 2) apenas um dos componentes de velocidade
do ponto de contato zero. A direo desta componente arbitrria, mas fixa em
relao orientao da roda.

Figura 2: Roda Universal.


Considerando-se as suposies acima, pode-se deduzir as restries s quais
est sujeito o movimento das rodas:
2.1.1 Rodas Convencionais Fixas
Para obter-se uma descrio das rodas associado a cada roda um sistema de
coordenadas {Xw , Yw , w }, cuja origem est na projeo do ponto de contato da
roda, com o eixo Xw apontando na direo de movimento da roda, conforme a
Figura 3.
A velocidade do sistema de coordenadas {Xw , Yw , w } com relao ao sistema de coordenadas inercial {X0 , Y0, 0 } descrita no sistema de coordenadas
{Xc , Yc , c }
c

c c T c
c c Pw
w = c c + c
c
4

(6)

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


onde c Pw a posio da origem do sistema {Xw , Yw , w } em relao ao sis
T
c o versor da
tema {Xc , Yc , c } dada por c Pw = l cos l sen , c
coordenada representado no sistema de coordenadas {Xc , Yc , c } dado por

T
c
c = 0 0 1
e denota o produto vetorial.
A expresso (6), descrita no sistema de coordenadas {Xw , Yw , w } associando
ao centro da roda assume a forma
w

c c T c
c c Pw
w = w Rc c c + w Rc c
c

(7)

c c T c
c w Rc c Pw
w = w Rc c c + c
c

(9)

onde w Rc a matriz de rotao entre os sistemas de coordenadas {Xw , Yw , w }


e {Xc , Yc , c } dada por

cos sen 0
w
Rc = sen cos 0
(8)
0
0
1
ou ainda

Como = +

pode-se escrever w Rc na forma


5

sen( + ) cos( + ) 0
w
Rc = cos( + ) sen( + ) 0
0
0
1

(10)

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

sen( + ) cos( + ) 0
l sen
w
c c R0 0 c c
c l cos
w = cos( + ) sen( + ) 0 c R0 0 c + c
0
0
1

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


0 0 0
l sen
0 0 0 c R0 0 c l cos =
0 0 1

0
l sen
0 0 l cos
0 l cos = 0 0 l sen c R0 0 c

0 0
0
c
(12)

Logo tem-se

sen( + ) cos( + ) l cos


w
l sen c R0 0 c
w = cos( + ) sen( + )
0
0
1


T
e como w w = r 0 c , chega-se expresso

r
sen( + ) cos( + ) l cos
cos( + ) sen( + )
l sen c R0 0 c + 0 = 0
0
0
1
c

(13)

(14)

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


sen( + ) cos( + ) l cos

c

R0 0 c + r = 0

(15)

que representa a restrio de movimento ao longo do plano da roda e




cos( + ) sen( + ) l sen

c

R0 0 c = 0

que representa a restrio de movimento ortogonal ao plano da roda.

(16)

2.1.2 Rodas Convencionais Orientveis Centradas


Uma roda convencional orientvel centrada uma roda cujo plano pode ser rotacionado em torno de um eixo vertical passando pelo centro da roda. A descrio
deste tipo de roda a mesma utilizada para rodas fixas (caso anterior), porm o
ngulo 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 caso
a rotao do plano da roda ocorre em torno de um eixo vertical que no passa
atravs do centro da roda, conforme a Figura 4.

Figura 4: Roda convencional orientvel no-centrada.


Neste caso, tem-se

l cos + d cos
l cos + d sen( + )
c
Pw = l sen + d sen = l sen d cos( + )

(17)

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

{Xc , Yc , c }
c

c c T c
c c Pw + c
c + c
c c Pdw
w = c c + c
c

(18)

onde c Pdw o deslocamento da origem do sistema {Xw , Yw , T hetaw } em relao


ao centro de giro da roda, representado no sistema de coordenadas {Xc , Yc , c },
dado por

d cos
d sen( + )
c
Pdw = d sen = d cos( + )
(19)

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

c c T c
c c Pw + c
c + w Rc c
c c Pdw
w = w Rc c c + w Rc c
c

(20)

ou ainda
w

c c T c
c w Rc c Pw + c
c + c
c w Rc c Pdw
w = w Rc c c + c
c

(21)

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

sen( + ) cos( + ) 0
l sen + d
c c R0 0 c c
c l cos
= cos( + ) sen( + ) 0 c R0 0 c + c
0
0
1

d
c
c

+ c + c 0
(22)

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


0 0 0
l sen + d
0 0 0 c R0 0 c l cos +
0 0 1

0
0
l sen + d
0 l cos + d =

0
0 0 l cos
0 0 l sen + d c R0 0 c + d
0 0
0

0
0
0 + d =

0
(23)

Logo tem-se

0
sen( + ) cos( + ) l cos
w
w = cos( + ) sen( + ) l sen + d c R0 0 c + d
0
0
1

e como w w =

r 0 c +

T

(24)

, chega-se expresso

sen( + ) cos( + ) l cos


cos( + ) sen( + ) l sen + d c R0 0 c +
0
0
1

0
r
=0
0
d +
c

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


sen( + ) cos( + ) l cos

c

R0 0 c + r = 0

(26)

que representa a restrio de movimento ao longo do plano da roda e




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

c

R0 0 c + 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, necessrio
a introduo de mais um parmetro para caracterizar a direo, com relao ao
plano da roda, do componente nulo da velocidade do ponto de contato. A Figura 5
mostra a definio dos sistemas de coordenadas utilizados para descrever este tipo
de roda. Note-se que o eixo Xw est alinhado com a direo do componente nulo
da velocidade do ponto de contato e no com a direo do plano da roda como nos
casos anteriores.
Tal como no caso das rodas fixas, tem-se

l cos
c
Pw = l sen
(28)

e a velocidade do sistema de coordenadas {Xw , Yw , w } com relao ao sistema 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.

c c cT c
c c Pw
w = c c + c

(29)

que, representada no sistema de coordenadas {Xw , Yw , w } tambm pode ser


escrita na forma
w

c c T c
c w Rc c Pw
w = w Rc c c + c
c

(30)

Porm, agora tem-se = + + 2 e a matriz de rotao entre os sistemas


de coordenadas {Xw , Yw , w } e {Xc , Yc , c } ser

sen( + + ) cos( + + ) 0
w
Rc = cos( + + ) sen( + + ) 0
(31)
0
0
1
consequentemente, tem-se

10

sen( + + ) cos( + + ) 0
= cos( + + ) sen( + + ) 0 c R0 0 c
0
0
1

l sen( + )
c c
0 c

+ c R0 c c l cos( + )

(32)

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

0
0 0 0
l sen( + )
l sen( + )
0 0 0 c R0 0 c l cos( + ) = 0 l cos( + )
0 0 1

0 0 l cos( + )
= 0 0 l sen( + ) c R0 0 c (33)
0 0
0
Logo tem-se

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


w
l sen( + ) c R0 0 c
w = cos( + + ) sen( + + )
0
0
1

(34)

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

r cos
w
w = w wy
(35)
c
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


c

R0 0 c + r cos = 0
(36)
Assume-se que para uma roda universal 6= 2 . Caso = 2 a roda estaria
sujeita a uma restrio equivalente restrio de no escorregamento de uma roda
convencional, perdendo o benefcio de ser uma roda universal. A figura 6 mostra
uma roda universal com = 0.
sen( + + ) cos( + + ) l cos( + )

11

Figura 6: Roda universal com = 0.

2.2 Restries Mobilidade do Rob


Considere-se um rob que possua N rodas, sendo Nf rodas convencionais fixas,
Nc rodas centradas, Nnc rodas no centradas e Nu rodas universais. Ento, as
equaes que descrevem as restries (15, 16, 26, 27 e 36) podem ser escritas na
forma matricial:
J1 (c , nc )c R0 0 c + J2 = 0

(37)

C1 (c , nc )c R0 0 c + C2 nc = 0

(38)

com as seguintes definies:

J1f
J1c (c )

J1 (c , nc ) =
J1nc (nc )
J1u

C1f
C1 (c , nc ) = C1c (c )
C1nc (nc )

0
C2 = 0
C2nc

12

(39)

(40)

(41)

onde J1f , J1c , J1nc e J1u so, respectivamente, matrizes de dimenses Nf 3,


Nc 3, Nnc 3 e Nu 3. 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 e
C1nc so matrizes de dimenses Nf 3, Nc 3, Nnc 3. C2nc uma matriz cuja
diagonal so iguais as distncias d das Nnc rodas no centradas.
Considerando-se apenas as primeiras Nf + Nc restries de (38) tem-se
C1 (c )c R0 0 c = 0

(42)

sendo
C1 (c )

C1f
C1c (c )

(43)

e portanto c R0 0 c pertence ao espao nulo de C1 (c ).


As limitaes da mobilidade do rob esto relacionadas com o rank de C1 (c ).
Definio 1 (Grau de Mobilidade) Define-se grau de mobilidade de um rob
mvel como
m = dimN (C1 (c ))

(44)

evidente que (C1 (c )) 3. Se (C1 (c )) = 3, ento c R0 0 c = 0 e a


movimentao do rob impossvel, portanto deve-se ter (C1 (c )) 2.
Por outro lado, (C1f ) = 2 implica a existncia de pelo menos 2 rodas fixas
cujos planos no so paralelos. Se existirem mais de duas rodas fixas, os eixos de
todas elas devero concorrer para o mesmo centro de rotao instantneo. Como
este centro de rotao fixo, devido aos planos das rodas no serem paralelos, o
nico 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, se
o rob possui mais de uma roda convencional fixa, todas elas devem estar em um
mesmo eixo.
Tem-se ainda que (C1 (c )) (C1f ) + (C1c (c )), mas a situao em
que (C1 (c )) < (C1f ) + (C1c (c )) corresponde a ter-se os centros das rodas orientveis centradas sobre o eixo comum das rodas fixas. Esta situao faz
com que as rodas orientveis percam a sua capacidade de atuar sobre a alocao
do 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 mvel definido como o nmero de rodas convencionais orientveis centradas que
podem 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 orientadas


centradas, 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 mvel
deve 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 mximo
duas rodas orientveis centradas independentes. As configuraes em que m +
s = 1 permitem apenas a rotao em torno de um centro instantneo fixo, sendo
portanto 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, caracterizados 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 existem
rodas fixas ou rodas orientveis centradas. Estes robs so denominados
omnidirecionais, pois podem mover-se instantaneamente em qualquer direo 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 eixo
comum, pois necessrio que (C1f ) = 1. Os robs desta classe normalmente possuem rodas operando em modo diferencial.
Classe (2,1) Esta classe de rob possui pelo menos uma roda orientvel centrada
e no possui rodas fixas, pois (C1f ) = 0. Existindo mais de uma roda
orientvel centrada, o movimento destas rodas dever ser coordenado de
forma 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 orientveis
centradas, cujo centro no deve estar sobre o eixo das rodas fixas. Havendo
vrias rodas orientveis centradas, o seu movimento deve ser coordenado de
forma que (C1c (c )) = 1. Robs construdos na forma de carros convencionais, com direo tipo Aeckerman [7] pertencem a esta classe. Em [5]
apresentado um mtodo para representar qualquer rob desta classe por
um modelo de bicicleta, com apenas uma roda fixa e uma roda orientvel
centrada.
Classe (1,2) Robs desta classe no possuem rodas fixas, pois (C1f ) = 0. Por
outro lado, possuem duas rodas orientveis centradas, ou mais, desde que
seu movimento seja coordenado de forma que (C1c (c )) = 2.

2.3 Modelo Cinemtico de Pose no Espao de Estados


De (42) tem-se que c R0 0 c pertence ao espao nulo de C1 (c ). Portanto, lembrando que c R01 = c R0T = 0 Rc , pode-se escrever
0

c = 0 Rc (c )

(49)
C1 (c ).

onde as colunas de (c ) formam uma base do espao nulo de


Pode-se
verificar facilmente que as dimenses de (c ) e sero sempre 3 m e m 1.
Definindo-se = c , (49) pode ser aumentada para
 0
c = 0 Rc (c )
(50)
c =
que o modelo no espao de estados do sistema, com as coordenadas de pose 0 c
e as coordenadas angulares c como variveis de estado. Como entradas lineares
do sistema tem-se e . Se por outro lado, o rob no possui rodas orientveis
centradas (Nc = 0), a matriz no depender de c e (49) no precisar ser
aumentada. Na Tabela 1 so mostrados os modelos cinemticos de pose particularizados para cada uma para as cinco classes de rob mveis, onde d e L so
parmetros dependentes da geometria particular do rob considerado.
Genericamente, o modelo cinemtico de pose pode ser escrito na forma
x = B(x)u
com
0
 c  , Nc = 0
0
c
x=
, Nc 0

c
15

(51)

Tabela 1: Modelos cinemticos de pose.


Classe
(3,0)
omnidirecional
(2,0)
diferencial
(2,1)

(1,1)
carro

(1,2)

x c
yc
c
c1
c2

Modelo

x c
cos c sen c 0
1
y c = sen c cos c 0 2
0
0
1
3
c


x c
cos c 0 
y c = sen c 0 1
2
0
1

x c
cos(c + c ) 0 0
y c sen(c + c ) 0 0 1


2
c =
0
1 0

0
0 1

x c
d cos c sen c 0 

y c d sen c cos c 0 1

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

0
0
0
1
0

0
0
0
0
1

0
Rc

 , Nc = 0
0
Rc (c ) 0
B(x) =
, Nc 0

0
I

  , Nc = 0

u=
, Nc 0

Definio 3 (Grau de Manobrabilidade) O grau de manobrabilidade de um rob


mvel definido como
M = m + s

(52)

Pode-se observar que a dimenso do vetor de entradas igual ao grau de manobrabilidade do rob. Este parmetro indica quantos graus de liberdade podem
ser manipulados atravs das entradas e . Em outras palavras, indica a possibilidade 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
3

2
2
2
2
l
a +b
a +b
c
d
0
0
d3

arctan(b/a) arctan(b/a)

1
2
3
2
2
que o centro instantneo de rotao pode ser livremente alocado no plano, diretamente atravs de para robs da classe(3,0) ou atravs da reorientao das rodas
centradas para robs das classes (1,2) e (2,1). Por outro lado, M = 2 indica que a
posio do centro instantneo de rotao est restrita pertencer a linha que passa
pelo centro das rodas fixas. Esta posio ser determinada diretamente por para
robs da classe (2,0) ou atravs da orientao das rodas centradas para robs da
classe (1,1).
No entanto, deve-se ressaltar que o nmero de graus de liberdade que podem
ser acessados diretamente igual a m , j que apenas os graus de liberdade acessados por podem ser acessados diretamente. A ao de nas coordenadas de
pose indireta, pois obtida atravs da varivel c , calculada pela integral de
. Fisicamente, isto pode ser verificado considerando-se que modifica apenas
a orientao das rodas centradas do rob e portanto, apenas influenciar as coordenadas de pose do rob se este se mover. Portanto, para um mesmo valor
de M , robs com m maior so mais manobrveis. Como seria de esperar, o
mximo de manobrabilidade obtido com robs omnidirecionais, quando tem-se
M = m = 3.
Pode ser provado [3] que o modelo cinemtico de pose (51) irredutvel, ou
seja, no existe uma transformao de coordenadas tal que uma das coordenadas
identicamente nula.
Exemplo 1 Considere o rob mvel com acionamento diferencial mostrado na
Figura 7.
Considerando as restries (16) e (27) para cada roda e escrevendo-se na
forma matricial tem-se


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

(53)

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


3 varivel.
Substituindo os parmetros da Tabela 2 em (53) tem-se:
17

Y0

Yc
Yw2
2

Xw2

yc

1
Yw1

Xw3

Yw3

Xc

Xw1
1

d3
a
xc

X0

Figura 7: Rob mvel com acionamento diferencial.


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

ou


0
1
l1 cos(1 )
0
0
c

0
1
l2 cos(2 )
R0 c + 0 3 = 0
cos(3 ) sen(3 ) l3 sen(3 ) + d3
d3
E como se pode verificar pela Figura 7, tem-se que l1 cos(1 ) = a e l2 cos(2 ) =
a, portanto:

0
0
1
a
c
0

0
1
a
R0 c + 0 3 = 0
d3
cos(3 ) sen(3 ) l3 sen(3 ) + d3
{z
}
| {z }
|

C2

C1 (c ,nc )=C1 (3 )

Assim, considerando-se apenas as restries referentes as rodas fixas e as


rodas centradas (nesse caso estas ltimas no existem) tem-se
18

C1 (c )


0 1 a
= C1
=
0 1 a


Tem-se que (C1 ) = 1 e portanto m = dim N (C1 ) = 3 1 = 2. Por outro


lado, s = (C1c (c )) = 0. Logo, trata-se de um rob da classe (2, 0).
De (49) tem-se
0

c = 0 Rc (c )

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


Portanto:

 1

0 1 a
2 = 0
0 1 a
3
T

De onde = 1 2 3 tal que 2 + a3 = 0. Uma escolha conveniente1 , como se ver mais adiante :

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

cos(c ) sen(c ) 0 1 0
0
c = sen(c ) cos(c ) 0 0 a
0
0
1 0 1

ou

cos(c ) a sen(c )
0
c = sen(c ) a cos(c )
0
1

(54)

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

Dessa 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:

 cos(c )
0 1 a
sen(c )
0 1 a
0

sen(c )
sen(c )

C1 c R0 0 c = 0

0 x c
0 yc = 0
1
c

 x c
a
yc
= 0
a
c

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

De onde tem-se a expresso:


x c sen(c ) + y c cos(c ) + ac = 0
que a restrio no-holonmica a que est o sujeito o rob e que pode ser interpretada conforme a Figura 8.

yc

Y0

y c cos(c )

yc

ac

x c

x c sen(c )

c
xc

X0

Figura 8: Interpretao da restrio no-holonmica a que est sujeito o rob


mvel da Figura 7.

20

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


Tem-se:


x c
cos(c ) a sen(c )
0
c = yc = sen(c ) a cos(c )
0
1
c
Portanto:
x c = 1 cos(c ) + a2 sen(c )
yc = 1 sen(c ) a2 cos(c )
c = 2

(55)
(56)
(57)

Assim, tem-se de (57) que 2 a velocidade angular do rob. Por outro lado,
de (55) e (56) tem-se que
x c cos(c ) + y c sen(c ) = 1 cos2 (c ) + a2 sen(c ) cos(c )
+ 1 sen2 (c ) a2 cos(c ) sen(c )
= 1
Logo, percebendo-se que x c cos(c ) e y c sen(c ) so as projees de x c e y c
sobre o eixo longitudinal do rob, como mostra a Figura 9, tem-se que 1 a
velocidade linear do rob.

Modelo Cinemtico de Configurao

O modelo cinemtico de pose foi obtido utilizando-se apenas um subconjunto


das expresses (37) e (38) correspondentes s restries (42) impostas pelas rodas fixas e pelas rodas orientveis centradas. Utilizando-se as demais restries,
pode-se obter expresses para as velocidades angulares, nc , e rotacionais, ,
no
consideradas no modelo cinemtico de pose.
De (37) e (38) obtm-se
1
nc = C2nc
C1nc (nc )c R0

(58)

= J21 J1 (c , nc )c R0

(59)

substituindo-se de (49) resulta

21

yc

Y0

1
x c cos(c )
yc sen(c )
yc
x c

c
xc

X0

Figura 9: Significado fsico de 1 .

nc = D(nc )(c )

(60)

= E(c , nc )(c )

(61)

1
sendo D(nc ) = C2nc
C1nc (nc ) e E(c , nc ) = J21 J1 (c , nc ).
Definindo-se o vetor de coordenadas de configurao

q=
nc

(62)

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


q = S(q)u

(63)

com

Rc (c )

0
S(q) =
D(nc )(c )
E(c , nc )(c )
22

0
I

0
0

(64)

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 . Consequentemente, pelo teorema de Frobenius [4] tem-se que o modelo cinemtico de configurao redutvel. O nmero de restries de velocidades que no podem ser
integradas, e portanto no podem ser eliminadas representado pelo grau de no
holonomicidade do rob.
Definio 4 (Grau de No Holonomicidade) O grau de no holonomicidade de
um rob mvel definido como
M = dim (inv(1 )) (m + Nc )
Como o modelo cinemtico de configurao redutvel tem-se que para todas
as classes de robs mveis M > 0. Ou seja, todas as classes de robs mveis
possuem restries no holonmicas. Pode-se notar ainda que M depende da
estrutura particular de cada rob, e portanto no tem o mesmo valor para todos os
robs de uma mesma classe.
Por outro lado, o nmero de restries de velocidade que podem ser integradas
e portanto eliminadas dado pela diferena entre dim(q) e dim (inv(1 )).
Exemplo 4 Novamente, considere o rob mvel com acionamento diferencial
mostrado na Figura 7. Considerando, as restries (15) e (26) para cada roda
e escrevendo-se na forma matricial tem-se

sen(1 + 1 ) cos(1 + 1 ) l1 cos(1 )


r1 0 0
sen(2 + 2 ) cos(2 + 2 ) l2 cos(2 ) c R0 0 c + 0 r2 0 = 0
sen(3 + 3 ) cos(3 + 3 ) l3 cos(3 )
0 0 r3
(68)
Substituindo os parmetros da Tabela 2 em (68) tem-se:
23

r1 0 0
sen(1 + 2 1 ) cos(1 + 2 1 ) l1 cos( 2 1 )
sen(2 + 2 ) cos(2 + 2 ) l2 cos( 2 ) c R0 0 c + 0 r2 0 = 0
2
2
2
sen( + 3 )
cos( + 3 )
l3 cos(3 )
0 0 r3

ou

1
0
l1 sen(1 )
r1 0 0
1
0
l2 sen(2 ) c R0 0 c + 0 r2 0 = 0
sen(3 ) cos(3 ) l3 cos(3 )
0 0 r3
E como se pode verificar pela Figura 7, tem-se que l1 sen(1 ) = b e l2 cos(2 ) =
b, portanto:

1
0
b
r1 0 0
1
c R0 0 c + 0 r2 0 = 0
0
b
sen(3 ) cos(3 ) l3 cos(3 )
0 0 r3
|
{z
}
{z
}
|
J2

J1 (c ,nc )=J1 (3 )

De (60) tem -se

1
C1nc (3 ) = D(3 )
D(nc ) = C2nc


1
cos(3 ) sen(3 ) l3 sen(3 ) + d3
=
d
h 3
i
cos(3 )
l3 sen(3 )
sen(3 )
D(3 ) =
d3 1
d3
d3

e
3 = D(3 )
=

cos(3 )
d3

cos(3 )
d3

3 =

cos(3 )
d3

i 1 0
sen(3 )
3)
l3 sen(
1 0 a
d3
d3
0 1
i
l3
a

sen(
)

sen(
)

1
3
3
d3
d3

i
3
a+l
sen(3 ) + 1
d3

J de (61) tem-se:
24

E(c , nc ) = J21 J1 (c , nc ) = E(3 )


1

0 0
1
0
b
r1
0
b
= 0 r12 0 1
1
sen(3 ) cos(3 ) l3 cos(3 )
0 0 r3

r11
0
rb1

b
0
= r12

r2
sen(3 )
cos(3 )
cos(3 )

l
3 r3
r3
r3

b
1
0
r1
r1

0
rb2
E(3 ) = r12

cos(3 )
cos(3 )
sen(3 )
l3 r3
r3
r3
e
= E(3 )

1
r1
1
r2
3)
sen(
r3

1
r1
1
r2
3)
sen(
r3
1
r1
1
r2
3)
sen(
r3

0
0
cos(3 )
r3

b
1
r1
rb2
0
3)
0
l3 cos(
r3

0
a
1

b
r1

rb2

a cos(3 )l3 cos(3 )


r3

b
r1
b

 r2
3
cos(
)
a+l
3
r3

Definindo-se o vetor de coordenadas de configurao:


0
0
c
c
3
= 3
q=
1

2
tem-se o modelo cinemtico de configurao:

25

(69)

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

a cos(c )

1



cos(3 ) a+l3 sen( ) + 1

3
d3
q =
d13

r1
r11

r2

r2

a+l3
3)
sen(
cos(
)

3
r3
r3

Modelo Dinmico de Configurao

Os modelos apresentados nas sees anteriores descrevem o comportamento do


rob em funo das velocidades das rodas. No entanto, fisicamente, as variveis
de entrada de um rob mvel so os torques aplicados pelos motores.
Utilizando-se o formalismo de Lagrange, tem-se que a dinmica de um rob
mvel com rodas dada por [3]



T
T



d
T
T

dt nc
nc
 
T
d T

dt



d T
T

dt c
c
d
dt


Rc J1T (c , nc ) + 0 Rc C1T (c , nc )

(70)

= C2T + nc

(71)

= J2T +

(72)

= c

(73)

onde , c e nc so os torques aplicados para rotao das rodas, orientao das


rodas centradas e orientao das rodas no centradas, respectivamente. T representa 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 c R0 , D T (nc ) e E T (c , nc ),
respectivamente, e somando-as, obtm-se

26

R0

d
dt




T
d
T

+ D (nc )
+
dt nc
nc

  
T
d T
T

=
+ E (c , nc )
dt

= (J1 (c , nc ) + J2 E(c , nc ))T +


+ (C1 (c , nc ) + C2 D(nc ))T +
+ D T (nc )nc + E T (c , oc )

(74)

porm, das definies de D T (nc ) e E T (c , nc ) tem-se


C1nc (nc ) + C2nc = 0
J1 (c , nc ) + J2 E(c , nc ) = 0

(75)
(76)

e portanto, os coeficientes de Lagrange so eliminados da expresso (75), resultando


c

R0

d
dt




T
d
T

+ D (nc )
+
dt nc
nc

  
T
d T
T

=
+ E (c , nc )
dt

= D T (nc )nc + E T (c , oc )
T

(77)

A energia cintica de um rob mvel pode ser expressa por


h
i
T0
c
T

Inc nc + T I + c Ic c
T = Rc M(nc ) R0 + 2V (nc )nc + 2W c + nc
(78)
onde M(nc ), V (nc ), W , Inc , I e Ic so funes dos parmetros de massa e
inrcia dos vrios corpos rgidos que formam o rob.
nc ,
Substituindo-se (78) em (73) e (78) e eliminando-se as velocidades ,
nc , e c e com a utilizao das expresses (50), (60)
e c e as aceleraes ,
e (61) e suas derivadas obtm-se

com

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


= T (c ) D T (nc )nc + E T (c , nc )
27

(79)


H1 (c , nc ) = T (c ) M(nc ) + D T (nc )V T (nc ) + V (nc )D(nc )+

+ D T (nc )Inc D(nc ) + E T (c , nc )I E(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 configurao
de um rob mvel com rodas genrico. Neste modelo genrico, os torques ,
nc e c representam os torques que podem ser aplicados para rotao e orientao das rodas. No entanto, em um rob real, apenas alguns destes torques so
efetivamente aplicados, pois geralmente utiliza-se o nmero mnimo de motores
necessrios. Pode-se facilmente concluir que cada roda centrada deve necessariamente possuir pelo menos um motor para sua orientao, pois caso contrrio
comportar-se-ia como uma roda fixa. Consequentemente, o vetor c no pode possuir componentes identicamente nulos. Por outro lado, os vetores e nc podem
possuir componentes identicamente nulos, desde que a rotao e a orientao das
rodas s quais estes estejam associados possa ser obtida atravs do acionamento
das demais rodas. Tem-se ento, que o vetor dos torques fornecidos para rotao
e orientao das rodas no centradas m pode ser obtido de


nc
= P m
(82)

onde P uma matriz (Nnc +N)Nm que seleciona os componentes de [ nc ]T


que so efetivamente utilizados como entradas de controle. A expresso (80) pode
portanto, ser reescrita como
H1 (c , nc ) + T (c )V (nc ) + f1 (c , nc , , ) = B(c , nc )P m
(83)


sendo B(c , nc ) = T (c ) D T (nc ) E T (c , nc ) .
importante observar que a matriz B(c , nc )P deve possuir rank completo
para quaisquer valores de c e nc . Se esta condio no for satisfeita, existiro valores de c e nc para os quais o rob tornar-se- sub-atuado, ou seja, no
existiro graus de liberdade suficientes nas entradas de controle para determinar a
alocao do centro instantneo de rotao do rob. Esta condio portanto, determina o nmero mnimo de motores que devem ser utilizados para um determinada
classe 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 simples
como

q = S(q)u
(84)
H()u + f (, u) = F ()0
com as seguintes definies

=
q =
u =
H() =
f (, u) =
F () =
0 =


c
nc

 



H1 (c , nc ) T (c )V (nc )
V T (nc )(c )
Ic


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


B(c , nc )P 0
0
I


m
c

Modelo Dinmico de Pose

O modelo dinmico de configurao de um rob mvel com rodas pode ser simplificado para
1
2

Utilizando rodas universais.


Utilizando rodas convencionais.

29

q = S(q)u
u = 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 basicamente nas coordenadas de pose do rob, isto , . Os valores das variveis
internas nc e no so de interesse e consequentemente, podem ser ignorados.
Com isto obtm-se o seguinte modelo dinmico de pose

x = B(x)u
(87)
u = v
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 aparentemente
desaparecido do modelo, elas permanecem implicitamente na realimentao definida pela expresso (86). As propriedades estruturais deste modelo so basicamente as mesmas do modelo cinemtico de pose. Portanto, este modelo tambm
genrico, no sentido de que vlido para qualquer classe possvel de rob com
rodas, e irredutvel [3].

Concluso

Neste captulo foram apresentados os modelos de robs mveis com rodas. Foram considerados quatro tipos de rodas: rodas fixas, rodas orientveis centradas,
rodas orientadas no-centradas e rodas universais. Sob hipteses bastante realistas, como a de que as rodas no deslizam, mostrou-se que existem apenas cinco
classes de robs com rodas. Atravs da anlise das caractersticas do modelo dinmico foi possvel deduzir o nmero mnimo de motores necessrios para que
robs de uma determinada classe no sejam sub-atuados.

Referncias
[1] A. M. Bloch, M. Reyhanoglu, and N. H. McClamroch. Control and stabilization of nonholonomic dynamic sytems. IEEE Transactions on Automatic
Control, 37(11):17461756, Nov 1992.

30

[2] J. Borenstein, H. R. Everett, and L. Feng. Where am i? - sensors and methods


for mobile robot positioning. Technical report, University of Michigan, Apr
1996.
[3] G. Campion, G. Bastin, and B. DAndra-Novel. Structural properties and
classification 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 edition, 1995.
[5] A. Kelly. Essential kinematics for autonomous vehicles. Technical Report
CMU-RI-TR-94-14, Carnegie Mellon University, May 1994.
[6] I. Kolmanovsky and N. H. McClamroch. Developments in nonholonomic
control problems. IEEE Control Systems Magazine, 15(6):2036, Dec 1995.
[7] R. T. McCloskey and R. M. Murray. Exponential stabilization of drifless
nonlinear control systems using homogeneous feedback. IEEE Transactions
on Automatic Control, 42(5):614628, May 1997.
[8] S. Murata and T. Hirose. On board locating system using realtime image
processing for a selfnavigating vehicle. IEEE Transactions on Industrial
Electronics, 40(1):145153, Feb 1993.
[9] R. G. Simons. Structured control for autonomous robots. IEEE Transactions
on Robotics and Automation, 10(1):3443, Feb 1994.
[10] Y. Yamamoto and X. Yun. Coordinating locomotion and manipulation of a
mobile manipulator. IEEE Transactions on Automatic Control, 39(6):1326
1332, Jun 1994.

A Pseudo-inversa de Moore-Penrose
Pseudo-inversas so utilizadas quando necessrio realizar-se a operao inversa
realizada por uma matriz no inversvel.
Existem quatro condies que definem pseudo-inversas2 :
1. T T T = T
2. T T T = T
2

A hermitiana A = A

31



3. T T = T T


4. T T = T T
Diversas pseudo-inversas podem ser definidas, dependendo de quais das quatro 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 qualquer
matriz.

Clculo da Pseudo-inversa de Moore-Penrose

A pseudo-inversa de Moore-Penrose pode ser obtida por decomposio. Considere uma matriz genrica T F mn com (T ) = r. Seja
T = F RT
F F mr
RT F rn

uma decomposio de T com (F ) = (RT ) = r. Notando-se que as matrizes


(r r) F T F e RT R so de rank completo e portanto inversveis, pode-se obter
uma expresso para a inversa de Moore-penrose;
T = F RT

= RT F

T = RR RT F F T F T
T = R RT R

32

FTF

FT

T = R RT R

1

FTF

1

FT

que obviamente computvel, j que RT R e F T F so inversveis. Pode-se ainda


escrever:
T = R F T F RT R
T = R FTTR

1

1

FT

FT

Existem dois casos especiais de T : Inversas direita e esquerda. Uma


matriz T F mn dita ser inversvel direita (ou esquerda) se existe uma
matriz TR1 (ou TL1 ) tal que T TR1 = Im (ou TL1 T = In ).

B.1 Inversa Direita


A inversa de Moore-Penrose reduz-se inversa direita se
m n e (T ) = m rank de linhas completo

Isto significa que (T ) = (R) = (F ) = m e F F mm . Como F


quadrada e possui rank completo, existe uma inversa normal F 1 , simplificando
a expresso para a inversa de Moore-Penrose:
TR1 =
=
=
=
=
=
=

R[RT R]1 [F T F ]1 F T
R[RT R]1 F 1 [F T ]1 F T
R[RT R]1 F 1
R[F (RT R)]1
[F 1 T ]T [F (RT R)]1
T T [F RT RF T ]1
T T [T T T ]1

B.2 Inversa Esquerda


A inversa de Moore-Penrose reduz-se inversa esquerda se
m n e (T ) = n rank de colunas completo

Isto significa que (T ) = (R) = (F ) = n e R Rnn . Como R


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

TL1 =
=
=
=
=
=

R[RT R]1 [F T F ]1 F T
(R1 )T [F T F ]1 F T
[F T F RT ]1 F T
[F T T ]1 R1 T T
[RF T T ]1 T T
[T T T ]1 T T

C Propriedades da Pseudo-inversa de Moore-Penrose


A pseudo-inversa de Moore-Penrose possui diverdas propriedades, algumas das
quais sero utilizadas aqui:
1. T nica
2. T = T 1 para T no singulares

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

5. (T ) = (T T ) e (T ) = (T T )
6. (T ) = (T )
7. T T e T T so ambas hermitianas e idempotentes3
8. (T A) = A T 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 T T AAT = AAT T T T

(f) AAT T T T e T T T AA forem ambas hermitianas



9. UT V T = V T U T para quaiquer matrizes com colunas ortonormais U e
V4
3
4

A idempotente A2 = A.
U com colunas ortonormais U T U = I

34

10. T T V T = T V 1 T T onde T m n, (T ) = m n e V uma matriz


no singular qualquer

11. UT V T = V T 1 U para T no singular

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


forma
Tj x = xj
O resultado obtido soluo tima com relao ao custo
J = kTj x xj k
e dado por
x = Tj xj

35

S-ar putea să vă placă și