introducción a la robótica basada en comportamientos (parte 2) departamento de computación...

34
Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires

Upload: purificacion-alvarez-gil

Post on 24-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Introducción a la robótica basada en comportamientos

(parte 2)

Departamento de Computación

Facultad de Ciencias Exactas y Naturales

Universidad de Buenos Aires

Page 2: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Percepción y actuación

Tipos de ambientes

Dispositivos de sensado

Esquemas de percepción

Page 3: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Es aquello con lo que un agente (robot) interactua.

Ambiente

Accesible/InaccesibleSi los sensores proporcionan todo lo que hay que saber sobre el estado completo del ambiente - necesario para elegir una acción - entonces el ambiente es accesible al agente. Si el ambiente no es accesible, se puede recurrir a un modelo del mundo para que el robot pueda interactuar con él.

Parcialmente observablesSi la descripción del entorno es incompleta respecto a la información necesaria para tomar un acción adecuada.

Perceptual aliasingEl robot percibe dos estados diferentes del sistema como el mismo estado. Esto es, su descripción es parcial.

Page 4: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Determinístico/No-determinístico (estocástico)Si el estado siguiente del ambiente está determinado plenamente por el estado presente del mismo, y por la acción del agente - se trata de un ambiente determinístico..

Ejemplo de ambiente parcialmente accesible pero determinístico que es percibido como estocástico.

Page 5: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Estático/DinámicoSerá estático todo ambiente que no cambie mientras el agente está interactuando con él. No necesita tener modelos de comportamiento del sistema.

Ejemplo de fútbol de robots (video)

Sin adversario/con adversarios En un ambiente con adversarios, hay otros agentes que pueden impedir que el robot cumpla un objetivo.

La presencia de adversarios puede requerir modelos de predicción del comportamiento de otros agentes.

Page 6: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Discreto/ContinuoUn ambiente es conitnuo si la descripción completa del mismo puede adoptar infinitos estados.

Si bien un ambiente puede ser continuo, en general, su representación producto del procesamiento de la señal de los sensores, usualmente es discreta.

Aún una representación discreta el estado del sistema puede constituir un conjunto lo suficientemente grande como para ser tratado exahustivamente.

Ejemplo del Khepera.

Cluster aliasing.

Page 7: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Markovianos/ no markoviano

Si la decisión de realizar una acción depende exclusivamente del estado actual del sistema (i.e. la representación actual del entorno)

Page 8: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Dispositivos de sensado

Posicionamiento relativo

Odometría (encoders, sensores Doppler)

Sensado inercial (giróscopos, acelerómetros y compases)

Sensores de proximidad

Telémetro por ultra-sonido o IR

Posicionamiento absoluto

(Por faros o marcas, GPS)

Page 9: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Sensores de proximidad infrarrojos

Emisor IR

Sensor IR

Rápidos

Económicos

Pueden sensar en ausencia de luz ambiente

Livianos y pequeños

Sujetos a ruido

Page 10: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Detalle

Microprocesador o microcontrolador

Entrada/salida general (1 o 0)

Driver

Emisor

SensorConversor analógico/digital

...

Sensa radiación IR ambiente

Sensa radiación IR reflejada

BUS

Algoritmo

Hacer desde i=1 hasta n a Sensar radiación ambiente activar emisor rSensar radiación reflejada s(i) r-a desactivar emisorRetornar suma( s(i) ) / n

Page 11: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Telémetro por ultra-sonido

Se emite una señal de ultrasonido (no audible) y se espera la señal que rebota.El tipo de superficie y forma del objeto influyen en la señal recibida de vuelta.Gracias al tiempo transcurrido se puede estimar la distancia.La propagación del sonido es 0,3 m/mseg.Por lo tanto un obstáculo a 3 metros producirá una demora de 20 mseg y uno a 30 cm una demora de 2 mseg.

Page 12: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Ejemplo: Devantech SRF04

Page 13: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Posicionamiento relativo

Este método usa encoders para sensar la rotación de la rueda y/o rotación de la dirección. La odometría tiene la ventaja que no requiere de exteroceptores y es capaz de proveer al robot una estimación de su posición.La desventaja es que el error de la posición crece en forma divergente al menos que una referencia externa pueda ser usada periodicamente [Cox, 1991].

EncoderUn haz de luz es períodicamente interrumpido por un disco ranurado o reflejado por una superficie con contrastes brillantes y opaca. Uno o mas discos está/án asociado/s con cada actuador.

Page 14: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Hay dos tipos básicos de encoders:

incremental

absolute.

El encoder incremental mide velocidad rotacional de la cual se puede obtener el desplazamiento de la posición del robot.

El encoder absoluto mide exactamente la posición angular de la cual se puede obtener velocidad.

El tipo de codificación necesaria para un encoder absoluto hace que su uso sea restrictivo a aquellas situaciones donde definitivamente el posicionamiento relativo es insuficiente.

Page 15: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Encoder por cuadratura de fase

Los sensores están dispuestos de modo que sus señales están desfasadas un ángulo determinado (fijado por el ángulo entre marcas del encoder).

Page 16: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Sensor para un encoder absoluto

Arreglo de detectores

Expansor de haz.

Fuente de luz Lente de

colimadoLente cilíndrica

Encoder

BinarioGrey

Page 17: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Ejemplo de odometría para un móvil de dos ruedas.

Supongamos que en un intervalo de tiempo t el encoder izquierdo genera un cambio de Ni cuentas, y el derecho de Nd cuentas.

El factor de conversión f entre cuentas y desplazamiento es

f = D / R

donde R es la resolución del encoder (en cuentas por vuelta) y D el diámetro de la rueda.

La distancia recorrida por cada rueda fue

Li/Ld = f * Ni / Ndy así el centro del robot C se desplazó LC

LC = (Li + Ld) / 2.

C

Y el cambio de dirección realizado será

= (Ld - Li) / Bdonde B es la distancia entre ruedas.

Page 18: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Si x (0), y (0), (0) eran las coordenas previas del robot, los valores luego del movimiento son

(t) = (0) +

x(t) = x(0) + LC cos (t)

y(t) = y(0) + LC cos (t)

Page 19: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Sensores de dirección

En odometría, un pequeño error en el desplazamiento del ángulo produce un constante y creciente error en la posición.

Principio del giróscopoSe basa en mantener la ortogonal del sentido de giro de un cuerpo con masa no despreciable. Cualquier movimiento que se realice no perturbará la dirección de la ortogonal y por lo tanto esa dirección servirá de referencia.

CompasesSe basan en algún principio de sensado magnético para detectar los cambios producidos por un movil respecto al campo magnético de la tierra.

Page 20: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos
Page 21: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

La señal del PWM (pulse width modulated) prolonga su duración (alta) en forma proporcional al ángulo sensado.El ancho del pulso varía desde 1mseg. (0°) hasta 36.99mseg. (359.9°). Esto es, 1 mseg de grado representa 100 microseg. de extensión del pulso. La señal baja durante 65 mseg. Entre dos pulsos dando una cota sobre la frecuencia de muestreo.El valor del ángulo sensado también es accesible por un canal serie I2C.

Page 22: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Métodos de posicionamiento por triangulación

Básicamente, siempre hay disponibles, al menos 2 faros. Cada faro puede funcionar como un emisor, o como un reflector.

robot

Faro 1

Faro 2

Page 23: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Si el faro funciona como un emisor, el mismo está calibrado sincronicamente con el receptor (o sea, el robot) y lo que el robot mide es cuanto tardó en llegar emitida por cada faro.

También se puede medir la degradación de la potencia de la portadora en sistemas de RF (la degradación de la potencia de la señal es función de la distancia).

Si el faro funciona como reflector, el emisor envía una señal y mide el tiempo que tardo en volver (por cambio de fase, o por una marca en la señal o enviando un paquete con un horario de salida especifico). Las señales que se envían para ser reflejadas pueden ser de radio o haces de luz laser.

Page 24: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Sensores Doppler

El principio de funcionamiento se basa en el cambio de frecuencia observado cuando una señal (de una frecuencia conocida) se refleja sobre una superficie que se está moviendo respecto del observador (robot).

donde VA es es la velocidad del robotVD es la velocidad medida por Doppler es el ángulo de inclinaciónc es la velocidad de la luzFD es el corrimiento de la frecuencia de la señalFO es la frecuencia transmitida

Page 25: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Ejemplo: Trak-Star Ultrasonic Speed Sensor

Page 26: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Evidencia neurobiológica: la información es tratada simultáneamente por varias estructuras.

Hay evidencias que una parte del cerebro es dedicada a reconocimiento de una forma (object vision stream) y otra parte es dedicada al entorno, por ejemplo, útil para locomoción (spatial vision stream).

Evidencia desde la psicología del comportamiento: affordance es la actividad que un organismo de una cierta clase puede realizar cuando encuentra una entidad en el espacio sensorial de una cierta clase.

Esto es, las acciones son dirigidas por la percepción.

Y viceversa. La percepción es dirigida por la acción a realizar.

Acción y percepción

Page 27: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Propiocepción refiere a la percepción asociada a un estímulo proveniente del mismo organismo. Por ejemplo, integración de un recorrido (path integration), en donde las distancias recorridas por insectos o arañas son almacenadas de alguna manera y usadas por los mismos para volver a su cueva (Arkin).

Exterocepción refiere a la percepción de estímulos ajenos a un organismo.

Page 28: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

El mundo es percibido en base a (las necesidades de) la acción a realizar.

Por ejemplo, si el robot necesita ir de A a B y en el medio hay una silla, los requerimientos de percepción sobre la silla se limitan a identificarla como obstáculo.

Si el robot necesita encontrar una silla, en un entorno con múltiples objetos, los requerimientos sobre un obstáculo incluyen su identificación.

La tarea a ser realizada determina la estrategia perceptual y el procesamiento requerido.

Percepción orientada por la acción

Page 29: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Percepción selectiva (Simmons 1992)

Visión con un propósito (Aloimonos y Rosenfeld 1991)

Visión Localizada (Horswill y Brooks 1988)

Percepción orientada a la tarea (Rimey 1992)

Todas estas definiciones están estrechamente relacionadas con percepción orientada por la acción.

Todas contrastan con el clásico enfoque de visión donde la percepción es usada para reconstruir el mundo (geométricamente u obtener una abstracción del mismo).

Page 30: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Los sistemas basados en comportamiento pueden organizar su percepción (percepción orientada por la acción) de acuerdo a :

Sensado dividido (Sensor fission)

Sensado fusionado dirigido por la acción (action-oriented sensor fusion)

Sensado en secuencia (sensor fashion)

Page 31: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Comportamiento 1Percepción A Respuesta i

Comportamiento 2Percepción B Respuesta ii

Comportamiento 3Percepción C Respuesta iii

Cada percepción (percept) está asociada a un comportamiento específico. La percepción puede estar asociada a un sensor (o grupo de sensores) específico o a una combinación de los mismos. Por ejemplo, si el sensor de choque es activado se activará el comportamiento de huída. En cambio, si el sensor de luz es estimulado, será activado el comportamiento de ir hacia la luz.

Sensado dividido (Sensor fission)

Page 32: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Comportamiento 1

Percepción A

Respuesta i

Sensado fusionado dirigido por la acción (action-oriented sensor fusion)

Percepción B

Percepción C

fusión

Los distintos métodos de sensado en un robot son complementarios o contradictorios. Por ejemplo, un sensor de proximidad -IR o sonar - promueve o no considerar la señal de un telémetro y este, a su vez, promueve o no usar la imagen captada por una cámara en un comportamiento de alcanzar un objetivo específico.

Otro ejemplo, para seguir un camino un compás puede fusionar con detección de bordes en forma complementaria.

Page 33: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Comportamiento 1

Percepción A

Respuesta i

Sensado en secuencia (sensor fashion)

Percepción B

Percepción C

Un comportamiento se desencadena cuando una secuencia temporal de percepciones es detectada. La percepción (percept) es la secuencia.

Page 34: Introducción a la robótica basada en comportamientos (parte 2) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Los requerimientos de percepción determinan la acción del robot.

Percepción activa

Basadas en expectativas

Suelen requerir un modelo o memoria. Por ejemplo, donde esperar percibir un objeto que recién fue percibido. ¿Cómo esperar percibir un objeto determinado cuando hay pistas, en base a sensado, que puede estar frente a él?

Con foco de atención

Tienden a disminuir la carga de procesamiento de la señal o focalizan la percepción sobre algún conjunto de sensores.