Cinematica Vehiculos

Preview:

Citation preview

Cinemática, modelos y conductas de

Robots Móviles

Junior: Ackerman(automóviles)

Auriga: Ruedas caterpillar-Robustos al derrape-Difícil de modelar

Silla de ruedas: Diferencial-Susceptibles al derrape

Guiado síncrono

Configuraciones de robots móviles

Formas de locomoción

• Diferencial: Khepera

• Triciclo básico: ROMEO- 3R

• Ackerman: Automóviles

• Síncrona: Ruedas giran simultáneamente

Restricciones no holónomas

Se puede ir hacia delante ohacia atrás, pero no hacia los

laterales, sin que exista derrape Aparcamiento:

Serie de maniobras

Matriz de transformación

{M}: Sistema adjunto al vehículo{B}: Sistema de referencia origen

1000

0100

0

0

ycs

xsc

TBM

PTP MBM

B

PTP BBM

M 1

Planificacióny generaciónde caminos

Seguimientode caminos Sensores

Control de

motoresActuadores

Estimaciónde posición

velocidad yorientación

Tarea a realizar

Ordenes de

Caminoexplícito

TIEMPOREAL

Arquitectura convencional de navegación

Razonamiento:Planificar el próximo

punto destino

Hipótesis para modelos de robots móviles

El robot se mueve en superficie plana

Ejes de guiado perpendiculares al suelo

Movimiento con rodadura pura

No existen partes flexibles en el vehículo

El movimiento se realiza alrededor de un arco de circunferencia

El robot se comporta como un sólido rígido

Velocidad en el punto de contacto

Camino

El arco de circunferencia

Centro de rotación

Centro de referencia

y

x

s

RR

Sv Velocidad lineal

w Velocidad angular

Centro de rotación

Centro de rotación

x

y

c

Contro-lador

)(Rsenxxc

)cos(Ryyc

Guiado diferencial

Vi

L

VVw iR

2iR VV

v

Velocidades del centro del vehículo

Posibles soluciones

L

vv

vv

s

c

y

x

ir

ir

2

10

0

0

L

vv

vvseny

vvx

ir

ir

ir

2)(

2)cos( Existencia de múltiples soluciones:

•Más rápida•Energéticamente más eficiente•Variaciones suaves de velocidad

L

VVw iR

2iR VV

v

Estimación de posición relativa

Se necesitan, para controlar el robot, estimar su posición

Posición relativa (Odometría): Se calcula el desplazamiento a partir de condiciones iniciales, midiendo el desplazamiento de las ruedas

• Establece la posición con sensores internos:– Encoders– Potenciómetros– Tacómetros (primera derivada de la posición)– Giróscopos– Acelerómetros (segunda derivada de la posición)

Ejemplo de posicionamiento por odometría

L

vvw

vvv

L

vv

vvseny

vvx

iR

iR

ir

ir

ir

2

2)(

2)cos(

Modelo diferencialri vv 2

Para condiciones iniciales:

Y una frecuencia de muestreo losuficientemente pequeña

L

v

vx

r

r

2

3

0

Y una frecuencia de muestreo losuficientemente pequeña

)0,0(),( yx

0)1(

)1()(

2

3)1()(

kyL

vkk

vkxxkx

r

r

Errores de posicionamiento acumulativos

• Errores sistémicos:– Desigual diámetro de las ruedas– El promedio del diámetro de ambas ruedas

difieren del diámetro nominal– Desalineación de las ruedas

• Errores no sistémicos:– Desplazamiento sobre suelos irregulares– Encuentros con objetos no esperados– Derrape de las ruedas: Aceleración, rápidos

giros…

Posición y encoders

Ruedas

Motores

Encoders incrementales

Sensores para medir desplazamiento

A

B A adelanta a B

LED

Fotodiodo

Circuíto decodi- ficador

Encoder incrementales

Encoder incrementales

• Características:– A adelanta a B en sentido horario– Z indicador absoluto de una revolución

– Pulsos por revolución: Número de pulsos que genera un canal para girar 360 grados

– Resolución real: 360/(4PPR), dos canales

Pulsos a desplazamiento lineal*

e

nm nC

Dc

cm : Factor de conversión que traslada los pulsos del encoder a desplazamiento lineal de la rueda

Dn : Diámetro de la rueda (mm)

Ce : Resolución del encoder (pulsos por revolución)

n : Razón de reducción entre el encoder (donde está ubicado el motor) y la rueda

*J. Borenstein , H. R. Everett, L. Feng: Where am I? Sensors and Methods for Mobile Robot Positioning. Michigan University. 1996

donde:

Distancia recorrida

imi NcU

Ni, d : Incremento de pulsos medidos en los encoders de cada rueda en el intervalo I

donde:dmd NcU ;

cm : Factor de conversión que traslada los pulsos del encoder a desplazamiento lineal de la rueda

Ui, d : Distancias recorridas por las ruedas izquierda y derecha

Cada rueda

Punto central del robot

2/dic UUU

Incremento de posición y orientación

LUU idc /

c : Variación de la orientación

donde:

L: Distancia entre las ruedas (punto de contacto con el suelo)

Variación de orientación

Nueva posición y orientación

ccc 1

cccc Uxx cos1

cccc senUyy 1

Ejemplo

Solución I

Solución II

Posición inicial

Posición final

1

2

2x1x

1y

2y

Sistemas de ecuaciones

vr = vi == Movimiento hacia adelante

vl = -vi == Rotación (R=0)L

vvw

vvv

L

vv

vvseny

vvx

iR

iR

ir

ir

ir

2

2)(

2)cos(

La velocidad es el espacio recorrido con respecto al tiempo, en un intervalo de muestreo lo suficientemente pequeño

se cumple

Vi

Posible solución

1

212

L

V

Vvv ri

VTmd )/(

1.-Rotar{0}

{1}

{2}{1}

x

y

22 xyd 2

2

L

vv

vvseny

vvx

ir

ir

ir

2)(

2)cos(

2.-Trasladar

{2}

{3}

x

y 32

2

322

L

V

Vvrvl

3.-Rotar

Posible solución (II)

Señales de control

Posición inicial

Posición final

1

2

2x1x

1y

2y

Contro-lador

2

)( 21

LVvv ri

22 xydvv di

2

)( 21

LVvv ri

1.-

2.-

3.-

vd

vi

bc

( / 2) ( / 2)

( cos / 2) ( cos / 2)

/ /

i

d

x csen csenw

y c cw

c b c b

Velocidades lineales

vi=wic

vd=wdc

Guiado diferencial con Simulink

Vi=-Vr

Vi=Vr

Modelo Inverso del Guiado Diferencial

Restricción no holónoma: Vector perpendicular al plano de las ruedas

• Control reactivo: “No piense, reaccione”• Control deliberativo: “Piense, entonces

actúe”• Control híbrido: “Piense y actúe de forma

independiente, en paralelo”• Control basado en conducta: “Analice su comportamiento”

Tipos de control basado en Inteligencia Artificial (I)

Control deliberativo• Utiliza sensores y conocimiento del entorno para

decidir la acción (modelo)• Basado en un modelo, planifica la toma de

decisiones (alcanzar objetivo, seguir trayectoria..)• Se utiliza fundamentalmente en entornos estáticos,

donde se tiene conocimiento previo del entorno• Puede seleccionar entre varias alternativas

• Su respuesta puede ser lenta y poco robusta en entornos dinámicos

Tipos de control basado en Inteligencia Artificial (II)

Control reactivo• Rápida respuesta a entornos dinámicos• Reacción a información sensorial

• No necesita construir un modelo del entorno• Permite “explorar” el entorno• Útil en entornos desconocidos e inciertos

• Debe existir un “mundo” que lo rodee, perceptible por información sensorial

• Percepción-acción muy relacionadas

Tipos de control basado en Inteligencia Artificial (III)

Control híbrido

• Combina aspectos del control reactivo y deliberativo

• Combina la rápida respuesta con la toma de decisiones basadas en modelos internos

• Posee tres componentes o capas:– Reactivo

– Intermedio (Más complejo, toma de decisión)– Deliberativo

Tipos de control basado en Inteligencia Artificial (IV)

Control basado en conducta

• Inspirado en la biología

• Trata de modelar el comportamiento de los animales ante el entorno

• Se diseña desde capa superior a inferior:– Conducta Sensores-Acción

• Presenta componentes del sistema deliberativo, puede almacenar modelos

Tipos de control basado en Inteligencia Artificial (V)

Ejemplos de conducta• Seguir una pared• Bordear una esquina• Salir por una puerta

• Evitar un obstáculo• Alcanzar un punto (planificador de trayectoria)• Navegar hacia atrás• Rotar en la posición actual• Seguir la luz

• Seguir una línea

Control basado en conducta (I)

Control basado en conducta (II)

Sensor_1 Sensor_2 Sensor_3 Sensor_N

Sensores virtuales

Conducta_1 Conducta_2 Conducta_3 Conducta_M

Árbitro

Control de actuadores

• Sensores 1..N: Sensores físicos (sónares, infrarrojos, cámara de imagen..)

• Sensores virtuales: Fusión sensorial, detección de contornos, punto en movimiento

• Conductas 1..M: Seguir pared, salir por puerta, evitar obstáculo…

• Árbitro: Seleccionar la conducta a seguir

• Control de actuadores: Velocidades de las ruedas

Control basado en conducta (III)

Conductas(I)

vi vd

d1

d2

d3

d4

d1

d2

d3

d4

vi= 5vd vd

[d1, d2, d3, d4, d5; vi, vd]

Seguir pared Doblar esquina

Conductas (II)

dninnnnnn

di

di

vvddddd

vvddddd

vvddddd

;,,,,

.

.

;,,,,

;,,,,

54321

222524232221

111514131211

ba d

dc v

Intervalos de distancia

Intervalos de velocidades

Seguir pared Doblar esquina

dninnnnnn

di

di

vvddddd

vvddddd

vvddddd

;,,,,

.

.

;,,,,

;,,,,

54321

222524232221

111514131211

anfis (Crear modelo)Controlador

v=genfis

Cierto modelo interno?: Híbrido?

Resumen de control basado en Inteligencia ArtificialSensores Percepción

Localización / Construcción de mapas

Conocimiento / Planificación

Control de motores Actuadores

Comunicación de datos

Interpretar nuevos entornos

Definir próximo destino

Evitar obstáculos

Seguir pared/izquierda,derecha

ActuadoresSensores

Método Clásico

Coordinación/Fusión

Ejemplos de obtención de datos

Nehmzow, U.: Scientic Methods in Mobile Robotics. Springer. 2006

• Requiere de información exterior, adquirida por sensores:– Compases magnéticos

– Referencias absolutas: Paredes, esquinas, puertas, objetos…

– Balizas activas– Sistema de posicionamiento global

– Mapas para la navegación (láser, sónares..)– Sistemas de visión (cámaras..)

Estimación de posición absoluta

Modelos del entorno

Basado en la posición del robot, se obtiene un modelo del entorno utilizando la percepción sensorial

No es necesario utilizar la orientación, pues se puede inferirpor métodos geométricos de la variación de posición

Inferencia de la posición del robot

Creación de una conducta

Velocidad del vehículo dependiente de las líneas 90 y 135 de un sensor láser

Conducta inferida a partir de segundo sensor

Modelo original

Inferencia de los datos del sónar basado en información del sensor láser

Triciclo(I)

Centro de rotación

Centro de rotación

•Tres ruedas: Dos delanteras y una frontal

•Dirección y tracción a seleccionar

•Comandos de control:•Comando de curvatura: α(t)•Velocidad angular de tracción: w(t)

Para una curvatura α(t)medida a partir de la línea de dirección (Xm),el triciclo gira con unavelocidad angular w(t) alrededor de una circunferenciacuyo 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 yla línea de dirección

X m

Y m

Triciclo(II)

Centro de rotación

Triciclo(III)

Modelo cinemático del triciclo

ws(t): Velocidad angular de la rueda(s) de tracciónvs(t): Velocidad lineal del vehículo en el sistema globalr: Radio de la rueda de tracción

Modelo directo e inverso utilizando Simulink

Configuración Ackerman

2

1

1

1

tan

sin

cos

ul

u

uy

ux

0cossin yx

X

Y

yx,

l

ICC

R

Centro de rotación

Restricción no holónomau1: Velocidad del vehículo (ruedas traseras, motrices)u2: Velocidad angular de las ruedas de dirección

Team Cornell: Grand Challenge

v: Velocidad del vehículoΘ: Orientación del vehículoΦ: Curvatura de la rueda delanteraa: Longitud entre ruedas delanteras y traserasbp, bv: Constante de tiempo de retrazo en el controluv, up: Comandos de control de velocidad y curvatura