Mobots Control(1)

37
Control de Robots Móviles Alberto Ortiz Dpt. de Matemàtiques i Informàtica Universitat de les Illes Balears Grupo de Sistemas, Robótica y Visión 2 Alberto 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)?

Transcript of Mobots Control(1)

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