ROBOTS DE SERVICIO -...

48
ROBOTS DE SERVICIO (ViRbot) Laboratorio de Bio-Robótica biorobotics.fi-p.unam.mx Facultad de Ingeniería, UNAM (2009)

Transcript of ROBOTS DE SERVICIO -...

Page 1: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

ROBOTS DE SERVICIO

(ViRbot)

Laboratorio de Bio-Robótica

biorobotics.fi-p.unam.mx

Facultad de Ingeniería, UNAM (2009)

Page 2: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

CONTENIDO

• Introducción

• Sistema para Operar Robots Móviles (ViRbot)

• Participación en Competencias de Robots

Page 3: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Agentes y Robots

• Los agentes y los robots son sistemas de software y hardware, autónomos o semiautónomos, que se encuentran en ambientes dinámicos y complejos.

• Su autonomía consiste en la habilidad de tomar decisiones basadas en una representación interna del mundo.

• Los agentes y los robots efectúan cambios en el medio ambiente mediante la ejecución de acciones.

• Han surgido de áreas de investigación como son la Inteligencia Artificial, el Procesamiento de Señales y la Teoría de Control

Page 4: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Capacidades de los agentes y

robots

Para cumplir con tareas difíciles, los agentes y robots

necesitan las siguientes capacidades básicas:

• Deben ser reactivos, es decir, reaccionar oportuna y

apropiadamente a eventos imprevistos.

• Deben ser capaces de resolver tareas por medio de

planes.

Page 5: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

• Deben de resolver sus tareas eficazmente, haciendo

uso de procedimientos probados en situaciones

rutinarias

• Deben de tratar con interacciones, positivas y

negativas, con otros robots y humanos

• Los robots necesitan adaptarse a cambios en las

condiciones del medio ambiente.

Capacidades de los agentes y

robots

Page 6: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

• En el desarrollo de algoritmos para controlar los

robots móviles es necesario simularlos, usando

robots virtuales, para probar su actuación antes de

llevarlos acabo en los reales.

Page 7: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Hemos desarrollado un sistema, denominado “ViRBot”,

dónde pueden probarse algoritmos operacionales para

robots móviles usando robots virtuales con las mismas

condiciones como si ellos fueran los reales.

Page 8: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

El sistema consiste en varias subsistemas que controlan

la operación de robots virtuales y reales. Una interfaz

gráfica 3D permite probar diversos robots virtuales, que

son una simulación muy próxima de los reales.

Los robots virtuales pueden ejecutar las mismas

órdenes, utilizando un lenguaje de programación del

robot, que los robots reales, así como los

comportamientos, las ecuaciones de movimiento y las

lecturas de los sensores.

Page 9: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Sistema ViRBot

Page 10: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Definiciones

EL AMBIENTE VIRTUAL

El ambiente virtual se visualiza por un

motor de 3D llamado ROC2.

Page 11: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Definiciones

SENSORES INTERNOS

Encoders en las ruedas, sensor de carga de la

batería, sensor de inclinación, sensor de

temperatura, etc.

SENSORES EXTERNOS

De contacto, reflectivos, infrarrojos, visión,

microfonos, laser, sonares, etc.

SIMULADOR

Al utilizar el robot virtual los valores que

provienen de los sensores se simulan.

Page 12: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

• Para el reconocimiento de objetos se usa un sistema

seguidor de objetos robusto a oclusiones parciales,

escala y rotación, permite movimientos normales de

los objetos y de la cámara

Sistema de visión

•El objeto es representado por puntos característicos,

descritos en múltiples escalas

•Los puntos de interés son extraídos con el detector de

Harris, y descritos usando el algoritmo SURF (Speed Up

Robust Features)

Page 13: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Antecedentes

Page 14: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Definiciones TAREAS DEL ROBOT

Un conjunto de tareas que el robot necesita

realizar en el tiempo que fueron

programadas.

INTERFAZ HUMANO/ROBOT

La comunicación entre el usuario y el robot

puede ser por medio de la voz y gestos

manuales.

El robot responde usando voz sintética y

expresiones faciales simples.

Page 15: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

INTERFAZ HUMANO/ROBOT

Procesamiento Digital de Señales

Reconocimiento de Palabras

Percepción

Dependencia Conceptual

Voz

Page 16: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

INTERFAZ HUMANO/ROBOT

Ejemplo:

* “Robot, dale el periódico al Papá”

* “Por favor, traeme el periódico”

(el Papá está dando la orden al robot)

Ambas frases son representadas usando la siguiente primitiva de Dependencia Conceptual:

(ATRANS (ACTOR Robot) (OBJECT periódico)

(TO Papá) (FROM lugar_periódico))

Page 17: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

INTERFAZ HUMANO/ROBOT

Expresiones faciales simples.

Page 18: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Definiciones

PERCEPCIÓNEl módulo de percepción obtiene una

representación simbólica de los datos

que vienen de los subsistemas: Tareas

del Robot, Interfase Hombre-Robot y los

Sensores Internos y Externos.

La representación simbólica se genera

aplicando algoritmos de procesamiento

digital de señales.

Con la representación simbólica se

genera una o una serie de creencias.

Page 19: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

PERCEPCIÓN

Ejemplo: En la figura siguiente, la representación simbólica

genera las creencias “hay un agujero delante del robot” o

“hay una sombra delante del robot”

Page 20: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Definiciones

EL MODELO DEL MUNDO

Este subsistema valida la creencia generada por la

percepción con la información que proporciona el

cartógrafo y la representación de conocimiento.

Así, se reconoce una situación nueva en el medio

ambiente.

Page 21: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

DefinicionesCARTÓGRAFO

Este modulo contiene diferente tipo de mapas que

representan el medio ambiente:

* Crudo (obtenido directamente por

los sensores, sonares y

laseres, del robot)

* Simbólico

* Topológico

* Probabilistico

Page 22: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

DefinicionesREPRESENTACIÓN DEL

CONOCIMIENTO

Usando un sistema basado en reglas,

CLIPS (NASA), se representa el

conocimiento del robot.

El conocimiento se representa por reglas

de producción, las cuales corresponden a

las acciones que el agente haría si se

reúnen ciertas condiciones.

Page 23: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

REPRESENTACIÓN DEL CONOCIMIENTO

Para el ejemplo anterior la siguiente regla sería

activada:

Regla Sombra {

Si hay árboles alrededor del camino del robot y es un

día claro entonces habrá una sombra en el camino.

}

Page 24: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

EL MODELO DEL MUNDO

En el ejemplo anterior, el cartógrafo no reporta un hoyo en el área enfrente del robot y la representación del conocimiento reporta una sombra.

Entonces con estos hechos la situación nueva es que no hay peligro y que el robot deberá continuar hacia su destino.

Page 25: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Definiciones

Banco de Procedimientos

Un conjunto de procedimientos que resuelven,

parcialmente, problemas específicos.

Hay procedimientos para movimientos, la transferencia

de objetos, etc.

ACTIVACIÓN METAS

Dado el reconocimiento de una situación

nueva un grupo de metas se activa.

Page 26: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Definiciones

PLANEADOR

El planeador intenta alcanzar cada una de

las metas seleccionando un conjunto de

funciones del banco de procedimientos.

Escoge el mejor plan de acciones que

resuelve cada una de las metas y los

reúne.

Se cuenta con dos tipos de planeadores:

Acciones y Movimientos.

Page 27: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Para encontrar la secuencia de acciones que lleven a la

solución de un problema, se utiliza un sistema basado en

reglas, CLIPS.

PLANEADOR DE ACCIONES

Page 28: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

CLIPS contiene una máquina

de inferencias que realiza

búsquedas de en una

representación espacio estado.

PLANEADOR DE ACCIONES

Page 29: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Planeador de Movimientos

Camino Global Camino Local

Page 30: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Planeador de Movimientos

El problema básico de búsqueda:

Dados:

Punto inicial (nodo)

Punto meta (nodo)

Un mapa topológico del lugar (nodos

y conexiones)

Metas:

Encontrar alguna ruta o encontrar “la

mejor” ruta (puede ser la más corta)

Atravesar la ruta

AB C

S

D

E

G

F

4

24

5

4

3

3

4

5

Page 31: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Del mapa topológico se

construye un árbol.

S

C E

A D

B D

F

G

G

E

D

B

A C

C

E

F

G

BC

A

B

E

F

G

F11

14

19 19 17

17

25

1515 13

Planeador de Movimientos

Page 32: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Algoritmos de Busqueda

Puede buscarse:

Alguna ruta

La ruta óptima

Search

Some path

Optimal Path

Games

Depth-first

Hill climbing

Breadth-first

Beam

Best-first

British museum

Branch and bound

Dijkstra

A*

Minimax

Alpha-beta pruning

Progressive deepening

Heuristics pruning

Heuristics continuation

Planeador de Movimientos

Page 33: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Este subsistema evita

obstáculos desconocidos no

contemplados por el

planeador de movimientos.

Comportamientos de Reacción

Page 34: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Los comportamientos pueden ser máquinas de estados, máquinas vectoriales, redes neuronales, etc.

Comportamientos de Reacción

Page 35: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Comportamientos de Reacción

Máquinas de estados.

Page 36: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Campos potenciales atractivos y repulsivos

Uart q =1

2e1∥q− qdestine∥2

U rep q =1

2h

1∥q− qobstacle∥2U rep q = ∑

i=1

k

U repk q ;where k= obstacle number

U q =Uart q +U rep q ;

F q =- sU q

q i+1=q i +¶i f q

f q =F q∥F q∥Comportamientos de Reacción

Máquinas Vectoriales.

Page 37: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Comportamientos de Reacción

Redes Neuronales

Page 38: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Comportamientos de

Reacción

Page 39: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Definiciones

ALGORITMOS DE CONTROL

Los algoritmos de control son usados para

controlar el funcionamiento de los actuadores

virtuales o reales

PID Control h[t]

Vi(t) y(t)+

-

Page 40: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

ACTUADORES VIRTUALES o REALES

El robot virtual o el real recibe los comandos, los ejecuta

interactuando con el ambiente virtual o el real y con el usuario.

Definiciones

Page 41: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Definiciones

Algoritmos genéticos y programación

genética

Métodos probabilísticos: cadenas de

Markov y clasificador Bayesiano

Cuantización Vectorial

Redes neuronales artificiales

APRENDIZAJE

El sistema puede aprender a resolver

problemas nuevos usando:

Page 42: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Participación en Competencias de Robots

Torneo Méxicano de Robótica

Torneo Latinoamericano de Robótica

Robothon, Seattle

RoboCup (RoboCup at Home, Humanoids, Junior)

Page 43: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Robocup@Home

Robots de Servicio

Page 44: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

Football Small Size

Robots

Sistema de

Visión

Detector de

ObjetosImagen

Director

Técnico

Comandos

Coordenadas

Page 45: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

VIDEOS

Page 46: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

VIDEOS

Page 47: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

VIDEOS

Page 48: ROBOTS DE SERVICIO - clatics.cinvestav.mxclatics.cinvestav.mx/portals/clatics/SiteDocs/2009/Savage_j.pdfInteligencia Artificial, el Procesamiento de Señales y la Teoría de Control.

ROBOTS DE SERVICIO

(ViRbot)

Laboratorio de Bio-robótica

biorobotics.fi-p.unam.mx

Facultad de Ingeniería UNAM (2009)