1
Control de Robots Móviles
Alberto Ortiz
Dpt. de Matemàtiques i Informàtica
Universitat de les Illes Balears
Grupo de Sistemas,Robótica yVisión
2Alberto Ortiz
Vamos a hablar de ...
¿Qué se entiende por control de un robot móvil?¿Qué niveles de control se definen?¿Qué se entiende por control de bajo nivel?¿Cómo se organiza el software de control (de alto nivel) de un robot móvil?¿Qué implicaciones tiene cada modelo?¿Cómo abordar el diseño de una arquitectura de control (reactiva)?
2
3Alberto Ortiz
Índice
Control de Robots MóvilesBreve Introducción al Control de Bajo NivelParadigmas de Control de Alto NivelControl Reactivo basado en Motor SchemasBibliografía
4Alberto Ortiz
Control de Robots Móviles
Matarić (Situated Robotics, 2002)
ROBOT CONTROL is the process of taking information about the environment, through the robot’s sensors, processing it as necessary in order to make decisions about how to act, and then executing those actions in the environment [by means of the available effectors to achieve, in an autonomous way, the set of goals corresponding to a given mission.]
3
5Alberto Ortiz
Control de Robots Móviles
La palabra CONTROL tiene diferentes significados en robótica:
asegurar que el movimiento del robot es estable y que se produce de acuerdo con cierto(s) criterio(s) de control
velocidad del motor/ruedas se mantiene lo más próximo posible a la consigna fijada (error en estado estable es inferior a ..., tiempo de estabilización es inferior a ..., etc)la orientación del vehículo es la deseada (idem)vehículo se mantiene horizontal a pesar de las irregularidades del terreno (idem)etc.
⇒ CONTROL DE BAJO NIVELtambién, nivel de servomecanismo en relación al control por realimentación
6Alberto Ortiz
Control de Robots Móviles
La palabra CONTROL tiene diferentes significados en robótica (cont.):
habilidad del robot para ejecutar una cierta tareaseguir una dirección, ejecutar una trayectoria, ...navegar en un entorno (tal vez evitando obstáculos)seguir un objetivo (tal vez evitando obstáculos)construir un mapa de su entornoobedecer a comandos verbalesetc.
⇒ CONTROL DE ALTO NIVEL
4
7Alberto Ortiz
Control de Robots Móviles
p.e. en el diseño de aviones autónomos (Unmanned Aerial Vehicles, UAV) se suele distinguir entre:
a) control de la trayectoria (control of the trajectory)mantener la trayectoria deseada hacia el objetivo (guidance)
GPS, visión, mapas
b) control sobre la trayectoria (control about the trajectory)mientras el vehículo vuela hacia el objetivo siguiendo la trayectoria fijada, se espera que mantenga su orientación estable, sin oscilar alrededor de ninguno de los ejes
giróscopos, acelerómetros, inclinómetros, unidad inercial (Inertial Navigation System, INS)desviaciones de la orientación adecuada (p.e. roll) resulta en un ajuste inmediato de las superficies de control del avión
ALTONIVEL
BAJONIVEL
8Alberto Ortiz
Control de Robots Móviles
El control de un robot ha de abarcar el rango completo de niveles, desde los aspectos de bajo nivel ...
mantener un movimiento estable
... a los aspectos de alto nivel:
planificación, toma de decisiones y razonamiento requerido para ejecutar una cierta tarea
5
9Alberto Ortiz
Control de Robots Móviles
ARQUITECTURA DE CONTROL de un robot: (robot architecture, robotic control architecture, ...)
arquitectura de un computador: componentes hardware y la interconexión concreta que deriva en el computadorarquitectura, ingeniería de software: proceso de diseño utilizado en el desarrollo de softwarearquitectura de un robot: organización del software de un sistema robótico ⇒ arquitectura software
10Alberto Ortiz
Control de Robots Móviles
Definiciones de autores reconocidos:
An architecture provides a principled way of organizing a control system. However, in addition to providing structure, it imposes constraints on the way the control problem can be solved (Matarić, 1992)... the abstract design of a class of agents: the set of structural components in which perception, reasoning, and action occur; the specific functionality and interface of each component, and the interconnection topology between components (IA, Hayes-Roth, 1995)discipline devoted to the design of highly specific and individual robots from a collection of common software building blocks (Arkin, 1998)
6
11Alberto Ortiz
Control de Robots Móviles
Definiciones de autores reconocidos (cont.):
The architecture of a robot defines how the job of generating actions from percepts is organized (IA, Russell and Norvig, 2002)Structure of the software, the way in which the robot processes sensory inputs, performs cognitive functions, and provides signals to control actuators, independently of how it was designed (Bekey, 2005)Way in which sensing, reasoning, and action are represented, organized, and interconnected (Bekey, 2005)
12Alberto Ortiz
Índice
Control de Robots MóvilesBreve Introducción al Control de Bajo NivelParadigmas de Control de Alto NivelControl Reactivo basado en Motor SchemasBibliografía
7
13Alberto Ortiz
Control de Bajo Nivel
Brevísima introducción al control (de bajo nivel para robots)Insinuar ideas esencialesComentarios básicos sobre controladores PID
CONTROL = habilidad de provocar que el estado de un sistema pase a ser el deseado
p.e. uso del acelerador/freno para conseguir que la velocidad de un coche sea la deseada, se corresponda con un perfil, etc.p.e. controlar la velocidad lineal de un robot, su velocidad de giro, etc.
Sistema de control = controlador + planta
14Alberto Ortiz
Control de Bajo Nivel
Configuraciones típicas de sistemas de control:BUCLE ABIERTO
p.e. cada 10 min. la temperatura de la estancia sube 0.5ºC ⇒controlador aplica u(t) durante el tiempo necesario para alcanzar r(t)conocimiento perfecto del comportamiento de la planta (= sistema de calefacción + estancia)PROBLEMA: stma. de calefacción envejece, estancia cambia ⇒ desviación sobre el comportamiento previsto (p.e. temperatura sube sólo 1.5ºC en una hora)
controlador plantar(t)(consigna) u(t)
(var. de control)
y(t)(var. controlada)
n m n
8
15Alberto Ortiz
Control de Bajo Nivel
Configuraciones típicas de sistemas de control (cont.):BUCLE ABIERTO
p.e. control de un motor DC por PWM
controlador plantar(t)(consigna) u(t)
(var. de control)
y(t)(var. controlada)
n m n
• velocidad de giro depende de la señal PWM, del motor y de la carga
• control de velocidad en bucleabierto requiere calibrado constante
Mpwm
dirµC
ωr(rpm)
enable
enable
16Alberto Ortiz
Control de Bajo Nivel
Configuraciones típicas de sistemas de control (cont.):SOLUCIÓN: determinar e(t) = r(t) - y(t)BUCLE CERRADO
controlador mantendría la calefacción activa hasta e(t) = 0bucle cerrado requiere sensores y comparadores, pero ...... conocimiento del comportamiento de la planta no necesita ser perfecto (sistema es menos sensible a variaciones en los parámetros de la planta) ...... y los componentes del sistema no necesitan ser muy precisos y caros (menos sensible al ruido)
controlador plantar(t)u(t)
y(t)e(t)
+-nn n
n
m
9
17Alberto Ortiz
Control de Bajo Nivel
Configuraciones típicas de sistemas de control (cont.):SOLUCIÓN: determinar e(t) = r(t) - y(t)BUCLE CERRADO
controlador plantar(t)u(t)
y(t)e(t)
+-nn n
n
m
Mpwm
dirµC
ωrsensor
de veloc.+ -
enable
enable
18Alberto Ortiz
Control de Bajo Nivel
Diseñar controlador adecuado para una aplicación concreta requiere poder disponer de:
la diferencia entre el estado y la consigna (error),la naturaleza de la tarea de control, yla dinámica de la planta
para aplicar métodos matemáticos en el diseño del controlador es necesario disponer de un modelo matemático de la dinámica de la plantap.e. sistema de control de temperatura podría ser descrito por:
⇒ a partir de aquí, comienza la Teoría de Control (no es el objetivo de este curso!!!)
dy(t)dt + ay(t) = Kpu(t)
10
19Alberto Ortiz
Control de Bajo Nivel
Controladores ON-OFF (bang-bang controller, piecewise constant controller)
u(t .. t+∆t) =
½K, si y(t) < r(t)0, si y(t) ≥ r(t)
t
r(t)
y(t)
u(t) = K
20Alberto Ortiz
Control de Bajo Nivel
Controladores PID (PID controller, three-mode controller)combina acciones proporcional, integral y derivativo
controlador ampliamente utilizado y conocido prácticamente se le considera el controlador estándar para aplicaciones industriales
u(t) = Kp
³e(t) + 1
Ti
R t0 e(t)dt + Td
de(t)dt
´
11
21Alberto Ortiz
Control de Bajo Nivel
Controladores PID (cont.)
acción proporcional:
Kp ↑ ↑ ⇒ R ↓ ↓Kp ↑ ↑ ⇒ osc. ↑ ↑error en estado estable
u(t) = Kpe(t)
22Alberto Ortiz
Control de Bajo Nivel
Controladores PID (cont.)
acción integral:
compensa el error en estado establela estabilización seproduce más tarde quecon un controlador Pno se suele utilizar aislado, más bien combinado en forma PI
u(t) =Kp
Ti
R t0e(t)dt
12
23Alberto Ortiz
Control de Bajo Nivel
Controladores PID (cont.)
acción derivativa:
acelera el controlador Ppresenta error enestado estableno se suele utilizar aislado, más bien combinado en forma PD
u(t) = KpTdde(t)dt
24Alberto Ortiz
Control de Bajo Nivel
Controladores PID (cont.)
aúna las ventajasdel PD y del PI:
respuesta rápidano error en estadoestable
u(t) = Kp
³e(t) + 1
Ti
R t0e(t)dt + Td
de(t)dt
´
13
25Alberto Ortiz
Control de Bajo Nivel
Controladores PID (cont.)
Para programarlo:un = Kpen +
Kp
Ti
Pni=1
ei+ei−12 ∆t+KpTd
en−en−1∆t
un − un−1 = Kp (en − en−1) + Kp
Ti
en+en−12 ∆t+KpTd
en−2en−1+en−2∆t
un = un−1 +Kp (en − en−1) +Kien+en−1
2 +Kd (en − 2en−1 + en−2)
1 en = rn – yn;2 un = un_1 + kp*(en-en_1) +
ki*(en+en_1)/2 + kd*(en-2*en_1+en_2);
3 motor = min(un,+100);4 motor = max(un,-100);5 en_2 = en_1; en_1 = en; un_1 = un;
un = un−1 +Aen +Ben−1 +Cen−2
u(t) = Kp (e(t) +1
Ti
Z t
0
e(t)dt
+ Tdde(t)
dt
26Alberto Ortiz
Control de Bajo Nivel
Controladores PID (cont.)
Ajuste parámetros PID:varios métodos; más conocido Ziegler-NicholsZN para configuración en bucle cerrado:
Ti = ∞, Td = 0 y Kp se incrementa hasta que el sistema empieza a oscilar (si no oscila, el método no sirve)Kcr = Kp y Pcr = “periodo de oscilación”
u(t) = Kp
³e(t) + 1
Ti
R t0e(t)dt + Td
de(t)dt
´
0.125Pcr0.5Pcr0.6KcrPID
00.833Pcr0.45KcrPI
0∞0.5KcrPTdTiKp
14
27Alberto Ortiz
Control de Bajo Nivel
Ejemplo: control de distancia recorrida
software hardware
xr PIx PIvmotor+carga ∫+ +
--
a
v
x
0
xr
vmax
28Alberto Ortiz
Control de Bajo Nivel
Ejemplo: control sincronizado de varios motoressincronizar dos motores de una plataforma con tracción diferencial para poder trazar trayectorias rectas y curvas
vr
vD
vIPIv MOIZD
-+
PIv MODER
-+
15
29Alberto Ortiz
Control de Bajo Nivel
Ejemplo: control sincronizado de varios motores (cont.)sincronizar dos motores de una plataforma con tracción diferencial para poder trazar trayectorias rectas y curvas
Pv MODER
vr
Pv MOIZD vI
vD
Iv
+
++
-
-
-
+
-
offset+
30Alberto Ortiz
Índice
Control de Robots MóvilesBreve Introducción al Control de Bajo NivelParadigmas de Control de Alto NivelControl Reactivo basado en Motor SchemasBibliografía
16
31Alberto Ortiz
Paradigmas de Control de Alto Nivel
No existe consenso sobre la arquitectura de control idóneaActualmente, se reconocen tres modelos
arquitecturas deliberativasarquitecturas reactivasarquitecturas híbridas deliberativo-reactivas
... las cuales se diferencian en:la relación existente entre las 3 primitivas en las que comúnmente se acepta que se descompone cualquier acción robótica (de alto nivel): SENSE, PLAN, ACTla forma como la información sensorial es procesada y distribuida a lo largo del sistema
32Alberto Ortiz
Paradigmas de Control de Alto Nivel
traduce el plan de ejecución en una secuencia apropiada de comandos para los actuadores
comandos para los actuadores
información sensorial y/o directivas
ACT
genera el plan de ejecución acorde a la misión a cumplir y el modelo del entorno
directivas
modelo del entorno + conocimiento previo
PLAN
traduce información proveniente de los sensores en un modelo del entorno
modelo del entorno
información sensorial “cruda”
SENSE
DescripciónSalidaEntradaPrimitiva
17
33Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control deliberativo (control jerárquico, IA clásico, SPA)Primeros intentos (60s → 90s), fuertemente influenciados por el optimismo de la comunidad investigadora en la potencia del razonamiento simbólico y la Inteligencia Artificial (IA)Ciclo SPA (Sense-Plan-Act):
Per
cepc
ión
Mod
eliz
ació
n
Pla
nific
ació
n
Eje
cuci
ónde
tare
as
Con
trol d
em
otor
es
Entorno
sensores actuadores
SENSE PLAN ACT
34Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control deliberativo (cont.)características principales:
información fluye en un único sentidoel planificador es una entidad que razona sobre los símbolos en que se expresa el modelo del entornomodelización y planificación son las tareas fundamentales y, a su vez, de alto coste temporal
investigación en 1985s fundamentalmente centrada en ellas
dos variantes:control jerárquico: jerarquía de niveles que emplean/proporcionan servicios de/a niveles superiores/inferiorescontrol centralizado: conjunto de módulos comunicados por un almacen central de información
18
35Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control deliberativo (cont.)Shakey (SRI, 1966-1972)
SAIL, Stanford Artificial Intelligence LabEntornos de oficina con objetos de formasy colores previamente especificadosTareas de planificación, búsqueda decaminos, redisposición de objetosControl embarcado (sec. comandos motores) + control externo (percepción, modelo, planific.)LISP/Fortran + STRIPS (STanford ResearchInstitute Problem Solver)2 m/hLife Magazine (1970): “1st electronic person”
36Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control deliberativo (cont.)Cart (SRI, 1960-1979)
SAIL, Stanford Artificial Intelligence LabPlataforma de investigación para estudiarel problema del control de un vehículo lunardesde la Tierra (Adams, Braisted)Posteriormente, fue reconfigurado como plataforma autónoma para investigar en navegación visual (Earnest-Schmidt, Moravec)4 ruedas de bicicleta con motores eléctricos alimentados por una batería de coche y una cámara de TV fija primero y móvil despuésEntornos con obstáculos (incorporación al modelo on-line): búsqueda camino más corto + evitación de obstáculos optimizando ángulos de giro y consumo energético1 m cada 10-15 min; recorrido completo entorno = 5 horas
1977
19
37Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control deliberativo (cont.)HILARE (CNRS, 1970s)
LAAS, Laboratoire d’Analyse et d’Architecture des SystèmesCámara, 14 ultrasonidos, laser range finder3 ruedas: 2 directoras y una tipo casterPeso:400 kgEntorno: suelos lisos, entornos de oficinaPlanificación a nivel geométrico multinivel
38Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control deliberativo (cont.)CMU Rover - Pluto (CMU, 1980’s)
Mobile Robot LabCámara con pan/tilt + sensores deinfrarrojos + ultrasonidosTres ruedas alimentadas/controladasindependientemente (omnidireccional)planificación sobre base de datos central
Otros:NASREM (NASA-NBS, 1989)
Standard REference Model for telerobot control system architectureSistema de control jerárquico + base de datos centralizadaInformación percibida es procesada en varias etapas hasta que una visión coherente del entorno es conseguidaSe define un plan que se refina hasta el nivel de actuador
1977
20
39Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control deliberativo (cont.)inconvenientes intrínsecos (identificados a finales de los 80):
ejecución secuencial estricta y elevado flujo de datoseventos significativos en el entorno pueden ocurrir a una frecuencia superior a la frecuencia de ejecución del ciclo SPA
modelo es difícil de mantener sincronizado con el mundo realsobrecarga de comunicaciones
modelización y planificación son tareas muy costosassensores proporcionan información imperfecta ⇒ difícil derivar símbolos ⇒ modelo difícil de crear, mantener y usar
proceso sobre computadores no embarcados radioenlazados con el robot; pérdida de autonomíainvestigación orientada al aumento de velocidad del ciclo SPA para evitar tener que reducir la velocidad de desplazamiento del robot a velocidades insignificantes (hardware específico, algoritmos optimizados, etc.)
no s
e ad
apta
fáci
lmen
te a
la
com
plej
idad
de
las
tare
as re
ales
(p.e
. ent
orno
s di
nám
icos
)
40Alberto Ortiz
El día anterior hablamos de:
definiciones: control de un robot, arquitectura de controlcontrol de bajo nivel
controladores PID
arquitecturas de control deliberativasrepresentar el entorno del robot de forma fidedigna en la memoria del robotdefinir el movimiento del robot a base de planificarlo cuidadosamente con sofisticadas técnicas de inteligencia artificial
21
41Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control reactivo (nouvelle AI, control Sense-Act (SA), basado en comportamientos)
Derivado del desencanto con las arquitecturas deliberativas en cuanto a capacidad de tratar con la complejidad del mundo real y la imposibilidad de actuar en tiempo real
Idea clave: el mejor modelo del mundo es el mundoestá siempre actualizado y contiene toda la información
Esfuerzos dedicados al subsistema sensorial, no a la planificación:
obtener información del mundo de forma apropiada y todo lo frecuente que sea necesarioponen un gran énfasis en la calidad de la información suministrada por los sensores
42Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control reactivo (cont.)Arquitectura de control se estructura como una colección de niveles que se ejecutan en paralelo
Inspiración en conducta animal: arquitectura = collección de comportamientos
comportamiento = reacción a un estímulooperan independientemente unos de otros sin supervisión (sin planificación) y sin una representación global del entorno (uso escaso de recursos de almacenamiento)
Ejemplos de comportamientos:
SENSE
sens
ores
↓es
tímul
os
Entorno
ACT
comp 1
comp 2
comp n
...
coor
dina
dor
actu
ador
es
ciclo SA
comportamientoemergente
ir al objetivo
seguir pared
permanecer en el medio (de un pasillo)
mantener altura mantener profundidad
evitar obstáculos
vagar
22
43Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control reactivo (cont.)Mecanismos de coordinación:
competitivoel coordinador decide qué comportamiento es el más apropiado en cada caso
cooperativoel comportamiento emergente es la combinación (ponderada) de los comportamientos individuales
comp 1
comp 2
comp n
...
coordinador
com
porta
mie
nto
emer
gent
e
∑
comp 1
comp 2
comp n
...
coordinador
com
porta
mie
nto
emer
gent
e
44Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control reactivo (cont.)Ejemplo: sistemas subsumidos (subsumption systems)
Rodney Brooks, 1986Comportamientos organizados jerárquicamente por niveles que se ejecutan concurrentemente y asíncronamente
cada nivel tiene asignada una prioridadlas respuestas de los niveles superiores subsumen (predominan sobre) las respuestas de los niveles inferioresniveles altos deberían estar a cargo de comportamientos orientados a garantizar la supervivencia (p.e. evitar obstáculos)
comp 1
comp 2
comp 4
coordinador
comp 3
actu
ador
es
23
45Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control reactivo (cont.)ejemplo de arquitectura subsumida
Recarga
Escapar
Evitar obst.
Seguir luz
Avanzar
alimentador
motores
fotocélulas
infrarrojos
contacto
nivel batería
S
S
S S
Avanzar: desplazamiento en línea rectaSeguir luz: giro hacia el lado del fotosensor más iluminadoEvitar obst: giro hacia el lado donde no está el obstáculoEscapar: retrocede cuando hay contacto y giraRecarga: regarga batería cuando está suficientemente
cerca de la estación de alimentación, indicadapor un emisor de luz
c
PWR
ab d
ef
a) batería suficiente + avanzarb) IR detectan paredc) IR detectan paredd) silla no detectada por IR
pero sí por sensores contactoe) batería baja + seguir luzf) cerca estación de recarga +
batería baja + misma intensidadde las dos fotocélulas
46Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control reactivo (cont.)Ejemplo: motor schemas
Ronald Arkin, 1989Motor schema = unidad básica de comportamientoCada schema opera de forma asíncrona y concurrentemente con los otros y reacciona proporcionalmente a la información sensorial percibida
La salida de cada schema es un vector 2D/3D que define la dirección de movimiento que debería seguir el robotVector proviene típicamente de un campo de potencial
gradiente de la fuerza que regula el movimiento del robotcampos uniformes, repulsores, atractores, ...
Cada motor schema tiene asignada una ganancia que determina su contribución relativa a la dirección de movimiento del robot
acción = suma vectorial ponderada y normalizada
comp 1
comp 2
comp 4
coordinador
comp 3
actu
ador
es
∑norm
24
47Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control reactivo (cont.)ejemplo de campos de potencial
obstáculo
objetivo
robot
48Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control reactivo (cont.)Aspectos destacables:
resuelve los problemas del control deliberativo (consiguen resolver con éxito tareas relativamente complejas haciendo uso de escasa información sensorial: navegar o seguir un objetivo en un entorno con obstáculos estáticos y dinámicos)modelo de entorno distribuido entre los comportamientos (robustez y flexibilidad)baja carga de comunicaciones (cada capa procesa exclusivamente la información que necesita)posibilita la implementación en hardware de parte de la arquitectura
Limitaciones:no existe un método sistemático de descomposición en comportamientos ni la ordenación (sistemas subsumidos) ni las ganancias (motor schemas) son fáciles de definir
a veces comportamientos entran en conflicto, se compensan y el robot queda bloqueadola ausencia de una visión global del entorno puede limitar su aplicación (p.e. en el mundo animal: mosca que repetidamente golpea el cristal por falta de recuerdo)no es trivial implementar tareas complejas mediante arquitecturas puramente reactivas
25
49Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control híbrido (control Plan,Sense-Act [P,SA])Aúna las mejores cualidades de los dos planteamientos anteriores para conseguir robots inteligentes, robustos y flexibles:
SPA = planificación (inf. global) – entornos controladosSA = reactividad + simplicidad (inf. local) – entornos dinámicos
⇒ sistemas híbridos que incorporan razonamiento deliberativo y ejecución basada en comportamientosProcesamiento a diferentes niveles con distinta frecuencia de ejecución:
módulos reactivos tratan con situaciones impredecibles y aportan al sistema respuesta en tiempo realmódulos deliberativos generan y mantienen un modelo del entorno que les permite planificar el movimiento
50Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control híbrido (cont.)Idea básica propuesta por diferentes grupos de investigación simultáneamente, pero ...... a nivel de detalle aparecen diferentes estructuras debido a que no es evidente cómo unir los niveles reactivos y los deliberativosLa arquitectura más extendida consta típicamente de tres niveles (integración jerárquica planificación-reacción):
Planificador: modelo + planSecuenciador: descompone plan en tareasReactivo: implementa tareas y proporciona respuesta rápida
sens
ores
↓es
tímul
os
SENSE
EntornoACT
comp 1
comp 2
comp n
...
coor
dina
dor
actu
ador
es
ciclo P,SA
Planificador
Secuenciador
PLAN
26
51Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control híbrido (cont.)Otras posibilidades (Lyons, 1992):
planificación guía la reacciónel planificador configura los parámetros de operación de los comportamientos (proyección del plan)⇒ ejecución sólo a nivel reactivo
acoplamiento de planificación y reacciónplanificación y reacción son actividades concurrentes que se asisten mútuamente
Deliberación ⇔ Proyección
comportamientos
consejosconfiguraciónparámetros
planificador
planificador comportamientos
52Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control híbrido (cont.)Ejemplo (entre muchos otros): AuRA (Autonomous Robot Architecture), Arkin, 1990s objetivos de alto nivel + restricciones
de operación; interfase humana
NAVEGADOR: construye caminos empleando un mapa
PILOTO: activa/configura/desactiva comportamientos para seguir camino
fallo en la ejecución reactiva de la misión(p.e. no progreso)
imposible reajustarcomportamientos
re-e
nrut
ado
impo
sibl
e
misión imposible
27
53Alberto Ortiz
Paradigmas de Control de Alto Nivel
Control híbrido (cont.)Aspectos destacables:
aúna las ventajas de sistemas reactivos y deliberativosplanificación + reactividad
sistemas híbridos proporcionan una vía para la incorporación de métodos de inteligencia artificial y representación simbólicaen arquitecturas reactivashay fuertes evidencias de que en el mundo animal se reproducen esquemas híbridos deliberativo-reactivos
Problemas abiertos:no hay consenso en el número de nivelesno hay consenso en la interfase entre los niveles deliberativos y los reactivos
54Alberto Ortiz
Índice
Control de Robots MóvilesBreve Introducción al Control de Bajo NivelParadigmas de Control de Alto NivelControl Reactivo basado en Motor SchemasBibliografía
28
55Alberto Ortiz
Control Reactivo basado en Motor Schemas
Resumen rápido:Desarrollado por Arkin en 1980sControl de alto nivel del robot se consigue a base de combinar la respuesta de comportamientos individuales:
Inspirado en las respuestas condicionadas de la conducta animal (schema theory, neurociencia-psicología-etología)
Motor Schema = unidad básica de comportamientoRespuestas comportamentales se representan en forma de vectores generados a partir de campos de potencial
Cada campo de potencial induce una fuerza sobre el robotMovimiento final del robot se obtiene de combinar las diferentesfuerzas (suma vectorial)
comportamientoestímulo respuesta
56Alberto Ortiz
Control Reactivo basado en Motor Schemas
Comportamiento = perceptual schema(s) + motor schema
29
57Alberto Ortiz
Control Reactivo basado en Motor Schemas
Generación de un campo de potencial 2D:entorno que rodea al robot se divide regularmente en zonas cuadradasse define una matriz (= mapa) con tantas celdas como zonassobre cada celda se sitúa un vector que define la fuerza asociada al campo en ese punto del entornode cada vector V se considera su magnitud m y su dirección d: V = (Vx,Vy) = (m,d)cada comportamiento genera un campo de potencial de los cuales se derivan las fuerzas Fi que determinan el movimiento del robot (típicamente, velocidad = ∑kiFi)
md
V = (Vx,Vy)
m =qV 2x + V
2y
d = tan−1V y
V x
58Alberto Ortiz
Control Reactivo basado en Motor Schemas
Comportamiento go-to-goal:
F (x, y) = m(gx−x,gy−y)√(gx−x)2+(gy−y)2
m = constanted = radialmente
hacia el objetivo (gx, gy)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
30
59Alberto Ortiz
Control Reactivo basado en Motor Schemas
Comportamiento avoid-obstacle:(soi = sphere of influence)
También:
m =
½0, do > RsoiRsoi−do
do, do ≤ Rsoi
F (x, y) = Rsoi−dodo
(x−ox ,y−oy)√(x−ox)2+(y−oy )2
(si do ≤ Rsoi)
(si do≤Rsoi)F (x, y) =
³1do− 1
Rsoi
´(x−ox ,y−oy )
d2o
√(x−ox)2+(y−oy )2
d = radialmente desde elobstaculo (ox, oy) hacia afuera
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
60Alberto Ortiz
Control Reactivo basado en Motor Schemas
Comportamiento stay-on-path:
(pathx,pathy) = punto más cercano desde (x,y) al centro del camino
d = lateralmente hacia elcentro del camino
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
m =dpathW/2
F (x, y) =dpathW/2
(x−pathx ,y−pathy )√(x−pathx)2+(y−pathy )2
31
61Alberto Ortiz
Control Reactivo basado en Motor Schemas
Comportamiento move-ahead:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
m = constanted = direccion
especificada (dx, dy)
F (x, y) = m(dx,dy)√d2x+d
2y
62Alberto Ortiz
Control Reactivo basado en Motor Schemas
Otros comportamientos: escape: alejarse del punto previsto de interceptación con un objetofollow-the-leader: seguir a un robot/objeto en movimientodock: aproximarse a un punto determinado de un objeto desde cierta direcciónmove-up, move-down, maintain-altitude: modificar/mantener altitud de un robot en movimiento por un terreno con desnivelesteleautonomy: aceptar comandos remotosinertia: genera un vector en el sentido de la marcha del robot (ùtil para suavizar los giros del robot)
32
63Alberto Ortiz
Control Reactivo basado en Motor Schemas
Comportamiento emergente:
(Gi = peso del comportamiento)
(K = constante de conversión fuerza-velocidad)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
F (x, y) =P
iGiFi(x, y)
V (x, y) = KF (x, y)
64Alberto Ortiz
Control Reactivo basado en Motor Schemas
Comportamiento emergente:
33
65Alberto Ortiz
Control Reactivo basado en Motor Schemas
Algunos detalles: El robot es considerado un punto bajo la influencia de un campo de potencial artificial U:
p.e.
No es necesario calcular todo el campo, sólo en la posición del robot (xr,yr); calcular todos los componentes y sumar incorporando las ganancias:
El campo se calcula utilizando información sensorial (⇒actualización instantánea del campo si obstáculos dinámicos)
F (x, y) = −∇U(x, y) = −³∂U∂x ,
∂U∂y
´
F (xr, yr) =PiGiFi(xr, yr)
Uatt(x, y) =m
2d2g(x, y) =
m
2((x− gx)2 + (y − gy)2)
Fatt(x, y) = −∇Uatt(x, y) = −m(x− gx, y − gy)
66Alberto Ortiz
Control Reactivo basado en Motor Schemas
Guía de diseño:Caracterizar el problem en términos de los comportamientos necesarios para implementar la tarea
descomponer los comportamientos al nivel más primitivo, utilizando estudios biológicos cuando sea factibledesarrollar fórmulas para expresar la reacción del robot a los eventos percibidos del entornodeterminar los requerimientos perceptuales de los comportamientosdiseñar los algoritmos de procesamiento de información sensorial
Llevar a cabo simulaciones para verificar la corrección del comportamiento del robotIntegrar el sistema de control sobre el robotVerificar y evaluarIterar y expandir según se requiera
34
67Alberto Ortiz
Control Reactivo basado en Motor Schemas
Goal
Obstacle Obstacle
Problemas potenciales: Mínimos locales en el campo de potencial:
F (xr, yr) =PiGiFi(xr, yr) ≈ ~0
68Alberto Ortiz
Control Reactivo basado en Motor Schemas
Problemas potenciales: Comportamiento cíclico:
35
69Alberto Ortiz
Control Reactivo basado en Motor Schemas
Problemas potenciales (cont.): Soluciones (para algunos mínimos locales):
campos rotacionales (tangenciales) alrededor de obstáculos:
rompe simetríacomportamiento noise o random
evita que el robot se quede paradocomportamiento avoid-the-past
mapa local donde en cada celda se anota las veces que el robot ha pasadoa medida que pasa el tiempo se decrementa el valor de los acumuladoresfuerza repulsora en función del valor de cada acumulador
70Alberto Ortiz
Control Reactivo basado en Motor Schemas
Problemas potenciales (cont.): Problemas para pasar entre obstáculos escasamente espaciados:
solución: variar tamaño SOI de forma dinámica
Oscilaciones inestables:si avoid-obstacle trabaja directamente con ultrasonidos:
oscilaciones en presencia de obstáculososcilaciones en pasillos estrechos
solución: reducir influencia de obstáculos laterales
GrFr > GtFt
36
71Alberto Ortiz
Ejemplo de Arquitectura Reactiva: Seguidor de Cables Submarinos(Grupo SRV, Antich-Ortiz-Oliver)
Control Reactivo basado en Motor Schemas
72Alberto Ortiz
Pesos de los comportamientos determinados experimentalmente:
Pesos refinados mediante algoritmos genéticos:
Control Reactivo basado en Motor Schemas
37
73Alberto Ortiz
Índice
Control de Robots MóvilesBreve Introducción al Control de Bajo NivelParadigmas de Control de Alto NivelControl Reactivo basado en Campos de PotencialBibliografía
74Alberto Ortiz
Bibliografía
George A. Bekey, Autonomous Robots: From Biological Inspiration to Implementation and Control, MIT Press, 2005Thomas Bräunl, Embedded Robotics, Springer, 2003Robin R. Murphy, Introduction to AI Robotics, MIT Press, 2000J. Jones, A. Flynn, B. Seiger, Mobile Robots – From Inspiration to Implementation, AK Peters, 1999Ronald C. Arkin, Behaviour-Based Robotics, MIT Press, 1998Y. Koren, J. Borenstein, Potential Field Methods and Their Inherent Limitations for Mobile Robot Navigation, Proc. ICRA, 1991T. Balch, R. Arkin, Avoiding the Past: A Simple but Effective Strategy for Reactive Navigation, Proc. ICRA, 1993