ROBOTS DE SERVICIO
(ViRbot)
Laboratorio de Bio-Robótica
biorobotics.fi-p.unam.mx
Facultad de Ingeniería, UNAM (2009)
CONTENIDO
• Introducción
• Sistema para Operar Robots Móviles (ViRbot)
• Participación en Competencias de Robots
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
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.
• 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
• 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.
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.
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.
Sistema ViRBot
Definiciones
EL AMBIENTE VIRTUAL
El ambiente virtual se visualiza por un
motor de 3D llamado ROC2.
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.
• 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)
Antecedentes
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.
INTERFAZ HUMANO/ROBOT
Procesamiento Digital de Señales
Reconocimiento de Palabras
Percepción
Dependencia Conceptual
Voz
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))
INTERFAZ HUMANO/ROBOT
Expresiones faciales simples.
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.
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”
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.
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
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.
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.
}
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.
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.
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.
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
CLIPS contiene una máquina
de inferencias que realiza
búsquedas de en una
representación espacio estado.
PLANEADOR DE ACCIONES
Planeador de Movimientos
Camino Global Camino Local
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
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
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
Este subsistema evita
obstáculos desconocidos no
contemplados por el
planeador de movimientos.
Comportamientos de Reacción
Los comportamientos pueden ser máquinas de estados, máquinas vectoriales, redes neuronales, etc.
Comportamientos de Reacción
Comportamientos de Reacción
Máquinas de estados.
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.
Comportamientos de Reacción
Redes Neuronales
Comportamientos de
Reacción
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)+
-
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
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:
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)
Football Small Size
Robots
Sistema de
Visión
Detector de
ObjetosImagen
Director
Técnico
Comandos
Coordenadas
VIDEOS
VIDEOS
VIDEOS
ROBOTS DE SERVICIO
(ViRbot)
Laboratorio de Bio-robótica
biorobotics.fi-p.unam.mx
Facultad de Ingeniería UNAM (2009)
Top Related