Escolar Documentos
Profissional Documentos
Cultura Documentos
~ Conversão de
𝐗 𝑑 𝐗 ,𝜓 coordenadas 𝜌,𝜃,𝛼
Controlador de 𝑣,𝜔 Modelo 𝐗,𝜓
+
- (cartesianas para posição cartesiano
polares)
𝐗,𝜓
𝑌 𝑟 𝑋 𝑟
𝜓
Umcontroladores
detalhe importante é que
𝑣
𝑣 Os para seguir 𝜓
𝜔
𝜓 não é necessário
trajetórias controlar na
serão baseados a
orientação
técnica do robô no por
de linearização
seguimento de também
realimentação, trajetória. Como
referida
( 𝑥 , 𝑦 )
𝑤
𝑌 ele deve
como manter
técnica a mesma
de cinemática
velocidade
inversa da trajetória,
(veremos após
mais adiante
alcançá-la,
que se podeele automaticamente
utilizar também a
se orientará conforme
dinâmica inversa). a
𝑋 𝑤 tangente à trajetória.
Seguimento de Trajetória com Robôs Uniciclo
Da diapositiva anterior:
Para
controlar somente a posição do ponto :
Equação
cinemática (direta)
,,
A=
[ cos(psi), -a*sin(psi)]
[ sin(psi), a*cos(psi)]
𝜓 InvA =
𝑣 [ cos(psi),
Se o controlador não ésin(psi)]
válido, pois se
𝜓 baseia na [cinemática
-sin(psi)/a, inversa.
cos(psi)/a]
𝜓
𝑣 Observações:
𝜓
•
• é a saída do controlador de cinemática inversa
• e são os erros de posição em e em
• e são os ganhos
• e são constantes de saturação
• é a posição atual
• é a posição desejada, com derivada
Seguimento de Trajetória com Robôs Uniciclo
𝑘𝑥 ~
Daí:
𝑥 ˙ =~
˙ 𝑑−𝑥 𝑥
˙ =− 𝑙 𝑥 𝑡𝑎𝑛 h
𝑙𝑥
𝑥
( )
Assim sendo, vê-se que o controlador 𝑘
proposto é capaz de
𝑦 fazer
˙ 𝑑 − com
𝑦
˙ = ~
que
𝑦os
˙ =− erros𝑙de
𝑦 posição
𝑡𝑎𝑛 h em
𝑙𝑦
𝑦 ~
relação
𝑦 à trajetória
desejada sejam reduzidos a zero assintoticamente.
( )
Seja a função candidata de Lyapunov , cuja derivada é , ou
Note-se, em particular, que quando1.5o robô estiver sobre a
1.5
então
trajetória, ou seja, e , ele desenvolverá a velocidade da
𝜓
𝑣 trajetória,
1 ou seja, e , ou seja, 1
𝜓 𝑘 𝑥 ~0.5 ~ 𝑘𝑦 ~
0.5 𝑉˙ (~
𝑥 ,~
𝑦 )=− ~
𝑥 𝑙 𝑥 𝑡𝑎𝑛 h
( )
𝑙𝑥
𝑥 − 𝑦 𝑙 𝑦 𝑡𝑎𝑛 h
𝑙𝑦
𝑦 <0
( )
tanh(x)
tanh(x)
0 0
-1 -1
-1.5 -1.5
-1.5 -1 -0.5 0 0.5 1 1.5 -10 -5 0 5 10
x x
Seguimento de Trajetória com Robôs Uniciclo
Resultado de simulação
𝜓
𝑣
𝜓
Seguimento de Trajetória com Robôs Uniciclo
Seguimento de trajetória em forma de oito vertical:
• e
• e
Resultado experimental
𝜓
𝑣
𝜓
Seguimento de Trajetória com Robôs Uniciclo
O seguimento de velocidade não é perfeito, porque o controlador cinemático
não considera a massa do robô (é como se o robô fosse somente um ponto,
sem massa, logo sem inércia, e sua aceleração fosse infinita). Como a massa
é significativa, tem que ser considerada a dinâmica (aceleração finita).
Resultado experimental
𝜓
𝑣
𝜓
Seguimento
( )
de Trajetória
𝑥𝑑 , 𝑦𝑑
com Robôs Uniciclo
𝜓 ( 0 𝑚 / 𝑠 , 0𝑚 / 𝑠 )
𝑣 Uma observação importante é que o controlador
𝜓 proposto para seguimento de trajetória pode ser
facilmente adaptado para também cumprir tarefas
de posicionamento. No seguimento de trajetória
temos que a posição que se deseja atingir varia com
o tempo, ou seja, é dada por , e se move com as
velocidades , que corresponde à derivada no tempo
da posição desejada.
No posicionamento a posição que se deseja alcançar é um valor fixo de forma que .
Assim, para cumprir uma tarefa de posicionamento com o mesmo controlador basta
alterar a lei de controle para
, o que também preserva a estabilidade assintótica do sistema de controle em malha
fechada.
Seguimento de Trajetória com Robôs Uniciclo
𝜓
𝑣 O controlador
No seguimentoproposto parao seguimento
de caminho de étrajetória
que se deseja também
permanecer
𝜓 pode ser
sobre um adaptado para cumprirque
caminho predefinido, tarefas
é umadecurva
seguimento deXY,
no plano
caminho.
ou No seguimento
seja, uma sucessão dede trajetória
pontos temos
tal que que a que
de forma posição
a que
se deseja atingir
velocidade varia
ao longo do com o tempo,
caminho ou seja,
é arbitrária (),é mas
dadatangente
por , e se
move
ao com asComo
caminho. velocidades , que
exemplo, sejacorresponde
o caminho em à derivada no
linha reta
tempo
dado da, posição
por que serádesejada.
percorrido com velocidade constante tal
que , para , sendo o vetor de velocidade dado por . Assim,
para cumprir tal tarefa usaríamos a lei de controle dada por
=. A estabilidade assintótica do sistema de controle em malha
fechada se mostra da mesma forma.
Seguimento de Trajetória com Robôs Uniciclo
𝜓 Problema: caso
𝑣
𝜓
Equações de movimento:
𝑌 𝑟 𝑋 𝑟
𝜔 𝑣 𝜓
𝑤
( 𝑥 , 𝑦 )
𝑌
𝑋 𝑤
Robôs Móveis Uniciclo: Cinemática Estendida
Cinemática básica
(com ponto de interesse para controle no
centro do eixo virtual que une as rodas)
𝑌 𝑟 𝑌 𝑤 𝑋 𝑟
𝜓
Modelo cinemático:
𝜔
𝑣 𝜓
( 𝑥 , 𝑦 )
𝑋 𝑤
𝑌 𝑤
Estados:
Entradas:
𝑋 𝑤
Restrição não holonômica:
Ponto de interesse para o
controle situado no centro do
(não há velocidade na direção transversal do robô – eixo ). eixo virtual que une as rodas
Robôs Móveis Uniciclo: Cinemática Estendida
Cinemática básica
(com ponto de interesse para controle fora do
centro do eixo virtual que une as rodas - )
𝜓
Modelo cinemático: 𝑣
𝜓
[][
𝑦˙ = 𝑠𝑒𝑛 𝜓 𝑎𝑐𝑜𝑠 𝜓
𝜓˙ 0 1
𝑣
𝜔 ][ ] Entradas:
Ponto de interesse para o
controle situado fora do
centro do eixo virtual que
𝐱˙ = 𝐀 𝑐 𝐯
une as rodas, inclusive fora
da plataforma robótica
Seguimento de Trajetória (já visto)
𝜓
Ponto de interesse fora do eixo 𝑣
virtual que une as rodas 𝜓
𝑥˙
[][ = 𝑐 𝑜𝑠 𝜓 −𝑎𝑠𝑒𝑛 𝜓 𝑣
][ ] Matriz de
𝑦˙ 𝑠𝑒𝑛 𝜓 +𝑎𝑐𝑜𝑠 𝜓 𝜔 cinemática
inversa
𝐱˙ = 𝐀 𝐯
~ −1 ~
Controle de cinemática inversa
𝐟 ( 𝐱 )= 𝐋𝑡𝑎𝑛h ( 𝐊 𝐋 𝐱 )
Observação:
Para o ponto de interesse sobre o eixo das rodas, não existe inversa de A! Daí
o controlador já visto não se aplica. Há que se buscar uma outra solução.
Seguimento de Trajetória Usando Cinemática
Estendida
>> syms psi a alfaCinemática estendida para o robô com tração diferencial:
>> ma=[cos(psi) -sin(psi) -a*sin(alfa+psi); sin(psi) cos(psi) a*cos(alfa+psi);0 0 1]
x cos sin a sin( ) u
>> simplify(inv(ma)) Velocidade fictícia
y sin
[ cos(psi), sin(psi), a*sin(alfa)]
cos
a cos( ) v x A eμ e no eixo y do robô.
[ -sin(psi), cos(psi), -a*cos(alfa)]
0 0 1
[ 0, 0, 1]
Trajetória desejada: ,
Velocidade da trajetória: ,
quando
Impondo a restrição x y
não holonômica
sin cos
a cos a cos
Sinais de controle: uc x cos y sin a sin
c
Seguimento de Trajetória Usando Cinemática
Estendida
Para pontos de interesse sobre o eixo das rodas ():
Matriz de cinemática
uc cos sin a x
inversa com
vc sin cos 0 y
Impondo a restrição
não holonômica 0 0 1
c
y
d arctan d k k 0
x
x x d k x x y y d k y y
Controlando o ponto
Controlando o ponto fora do eixo que une
sobre o eixo que une as rodas
as rodas
Experimentos
Experimento de controle de postura
Controlando o ponto
sobre o eixo que une
as rodas
Modelo Dinâmico para Robôs Uniciclo
Parâmetros e variáveis:
u Velocidade linear
Velocidade angular
ψ Orientação
h Ponto de interesse
para controle
G Centro de massa
E Ferramenta
a Distância entre o
ponto de interesse
e o centro do eixo
que une as rodas
Modelo Dinâmico para Robôs Uniciclo
Cinemática
Incerteza
u cos a sin 0 0
x u sin a cos 0 0 x
y
0 0 uref y
Referência:
Celso de La Cruz e Ricardo Carelli (2008). Dynamic model based formation control
and obstacle avoidance of multi-robot systems. Robotica, 26(3), 345-356.
doi:10.1017/S0263574707004092
Modelo Dinâmico para Robôs Uniciclo
Modelo Dinâmico para Robôs Uniciclo
3 2 4 1
u 0
u 1 1 1 uref
5 u 6 0 1 ref
2 2
2
uref 1 0 u 4 3 u
ref
0 2 5 6
uref 1 0 u 4 3 u rad 2
, I 1 2
ref 0 2 I 3 6 5 I 3 u m
uref 1 0 u 0 3 Iu 4 0 u
ref 0
2
3 0
0 6 5 I 3 u
v r Hv C(v)v F(v)v
Propriedades do Modelo Dinâmico Utilizado
uref 1 0 u 0 3 Iu 4 0 u
ref
0 2 3 0 0 6 5 I 3 u
vd vr v
Robô
c
x d u ref
s
x
h d uref x
c c
uref uref u 1/s
y d
Controlador u~ Controlador
Cinemático Dinâmica Cinemática y y
~ ref
c Dinâmico 1/s
xd x s [θˆ ] θ
hd x
~y
c
ref c
ref
ref
yd 1/s
~
y
h
u
Controlador Cinemático (Cinemática Inversa)
x cos a sin
y sin u
h x y
T
a cos
0 1
Cinemática Inversa
Cinemática Direta
u cos sin x
h x cos a sin u u
y sin A 1 sin 1
cos y
a cos a a
Cinemática Inversa
kx ~
x
sin d x
l tanh x ~
x xd x ~
x x d x
u cos
c
lx
1 sin
ref
1 , ~
y yd y ~y y d y
a
c
cos ky ~
ref
a y d l y tanh y k x , k y 0 ; a 0.
l
y
Análise de Estabilidade
•• Considera-se
que e que
• Isto quer dizer que não se consideram os efeitos dinâmicos (é o que se chama
seguimento perfeito de velocidade, ou seja, a aceleração é instantânea)
Estabilidade Assintótica
V 1h ~T~
h0
kx 2
~
l x tanh
x
~ lx
h
ky kx ky
l y tanh ~
y
V h h xlx tanh
t
x yl
y tanh y 0
l
ly lx y
Modelo Dinâmico para Robôs Uniciclo
Por que utilizá-lo?
Resultado simulado
Resultado Experimental
Controlador cinemático
Controlador Dinâmico
• • O controlador dinâmico é projetado com base no
modelo , considerando suas propriedades;
• Ele recebe referências de velocidade e compensa a
dinâmica, gerando comandos de velocidade para o
robô;
• Flexibilidade: pode ser usado para compensar a
dinâmica do veículo em conjunto com outros
controladores cinemáticos, como de seguimento de
caminhos ou posicionamento, considerando suas
propriedades.
Controlador Dinâmico
Lei de Controle: v r T ~
v Hv d Cvd Fv d
ku ~ ~
v vd v
tanh u
lu 0 lu
T v
~ lu , l
0 l k ~
tanh
l k u , k
v T T ~
V ~ v ~
v TC~
v~
v T F~
v
Porque é assimétrica.
v T T ~
V ~ v ~
v T F~
v
V 0 ~
v 0, t .
Análise de Estabilidade
~ A~
v cos
A
a sin
h sin a cos
min( k x , k y )
k x 0, k y 0
• Como quando se usa o controlador dinâmico, a
condição acima será verificada para qualquer
valor de . Então, , e
~
h (t ) 0.
Resultados de Simulação