Professional Documents
Culture Documents
Robótica
Configuraciones de robots móviles
Junior: Ackerman
(automóviles) Silla de ruedas:
Diferencial Guiado síncrono
Auriga: Ruedas caterpillar
-Robustos al derrape -Susceptibles al
-Difícil de modelar derrape
Formas de locomoción
• Diferencial: Khepera
• Ackerman: Automóviles
B
P= M T P
B M
⎡ cθ sθ 0 x⎤
⎢− sθ cθ 0 y ⎥⎥
⎢
M
P = MB T −1 B P
MT =
B
⎢ 0 0 1 0⎥
⎢ ⎥
⎣ 0 0 0 1⎦
Arquitectura convencional
de navegación
Tarea a realizar
Razonamiento:
Planificar el próximo
Planificación
punto destino y generación
de caminos
Camino
explícito
TIEMPO Estimación
REAL de posición
Seguimiento
Sensores
de caminos
Ordenes de
velocidad y
orientación
Control de
Actuadores
motores
Hipótesis para modelos de
robots móviles
¾El robot se mueve en superficie plana Camino
R
R ∆s ∆y
Centro de
rotación
∆φ
w = ∆φ Velocidad angular
Guiado diferencial
Contro-
lador Centro de
rotación
θ
Vi
y c = y + R cos(θ )
c
Velocidades del centro y
del vehículo
V R + Vi V R − Vi
v= w=
2 L
x c = x − Rsen(θ ) x
Posibles soluciones
V R + Vi V R − Vi
v= w=
2 L
⎡ x& ⎤ ⎡cθ 0 ⎤ ⎡ v r + vi ⎤
⎢ ⎥ ⎢ ⎥ ⎢ 2 ⎥
⎢ y& ⎥ = ⎢ sθ 0⎥ ⎢ ⎥
v r − vi ⎥
⎢θ& ⎥ ⎢ 0 ⎢
⎣ ⎦ ⎣ 1 ⎥⎦ ⎢
⎣ L ⎥⎦
⎛ v + vi ⎞
&x = cos(θ )⎜ r ⎟ Existencia de múltiples soluciones:
⎝ 2 ⎠
⎛ v r + vi ⎞ •Más rápida
y& = sen(θ )⎜ ⎟ •Energéticamente más eficiente
⎝ 2 ⎠ •Variaciones suaves de velocidad
& v r − vi
θ=
L
Ejemplo
Solución I
Posición
inicial
θ1 Posición
final
y1 θ2
y2
Solución II
x1 x2
Sistemas de ecuaciones
⎛ v + vi ⎞ La velocidad es el espacio recorrido con
&x = cos(θ )⎜ r ⎟
⎝ 2 ⎠ respecto al tiempo, en un intervalo de
⎛ v r + vi ⎞ muestreo lo suficientemente pequeño
y& = sen(θ )⎜ ⎟ se cumple
⎝ 2 ⎠
& v r − vi
θ=
L Vi
v R + vi
v=
2
v R − vi
w=
L
vr = vi == Movimiento vl = -vi == Rotación (R=0)
hacia adelante
Posible solución
{0} ⎛ v + vi ⎞
1.-Rotar &x = cos(θ )⎜ r ⎟
⎝ 2 ⎠
θ1 vi = −vr = V ⎛ v + vi ⎞
y& = sen(θ )⎜ r ⎟
& 2V ⎝ 2 ⎠
θ2 θ = = θ1 + θ 2
L & v r − vi
θ=
L
{1}
θ2 d = ∆y 2 + ∆x 2
∆y 2.-Trasladar
∆x d ( m / ∆T ) = V
{1}
{2}
Posible solución (II)
θ2
∆y θ3 {3}
θ2
∆x
{2}
3.-Rotar
vl = −vr = V
& 2V
θ= = θ 2 + θ3
L
Señales de control
Contro-
Posición
lador
inicial
θ1 Posición
final
y1 θ2
y2
L(θ1 + θ 2 )
1.- vi = −v r = V =
2
2.- vi = vd = d = ∆y 2 + ∆x 2
L(θ1 + θ 2 )
3.- vi = −vr = V =
2
x1 x2
Guiado diferencial con Simulink
φ ⎡ x& ⎤ ⎡ −(csenφ / 2) − (csenφ / 2) ⎤
vi
⎢ ⎥ ⎢ ⎥ ⎡ wi ⎤
⎢ y& ⎥ = ⎢ (c cos φ / 2) (c cos φ / 2) ⎥ ⎢ ⎥
vd
⎢φ& ⎥ ⎢⎣ − c/b − c / b ⎥⎦ ⎣ wd ⎦
⎣ ⎦
c
b
Velocidades lineales
vi=wic
vd=wdc
¿Alterar modelo Simulink
para velocidades lineales
como señal de control?
Modelo discreto / Odometría
Sensores virtuales
Árbitro
Control de actuadores
Control basado en conducta (III)
• Sensores 1..N: Sensores físicos (sónares,
infrarrojos, cámara de imagen..)
vi vd
d1 d1
d2 d2
d3
d3
d4
d4 vi= 5vd vd
FIS_vel_i=genfis1(vel_i, 7, 'gbellmf');
FIS_vel_d=genfis1(vel_d, 7, 'gbellmf');
% Verificar gráficamente
plot(vel_i(:,3),'g');
hold on;
plot(evalfis(vel_i(:,1:2),modelo_vel_i),'r');
Resumen de control basado en
Inteligencia Artificial
Sensores Percepción
Método Clásico
Conocimiento / Planificación
Comunicación de datos
Evitar obstáculos
Seguir pared/izquierda,derecha
Coordinación/
Fusión
Triciclo(I)
•Comandos de control:
Centro de Centro de
rotación rotación •Comando de curvatura: α(t)
•Velocidad angular de tracción:
w(t)
Triciclo(II)
Para una curvatura α(t)
medida a partir de la
Ym
línea de dirección (Xm),
el triciclo gira con una
Xm velocidad angular w(t)
alrededor de una
circunferencia
cuyo centro de giro es
la intersección de las
líneas perpendiculares
a las ruedas y el radio R
es la distancia entre el
centro de giro y
la línea de dirección
Triciclo(III)
Centro de
rotación
Modelo cinemático del triciclo
& u1
θ = tan ϕ θ
l l
ϕ& = u2
X
Restricción no holónoma
u1: Velocidad del vehículo
x& sin θ − y& cos θ = 0 (ruedas traseras, motrices)
u2: Velocidad angular de las ruedas
de dirección
Team Cornell: Grand Challenge