diseño de una estrategia de control de bajo costo para una cabeza

Anuncio
DISEÑO DE UNA ESTRATEGIA DE CONTROL DE BAJO COSTO
PARA UNA CABEZA BINOCULAR
G. N. Marichal, J. T. Carrillo, L. Acosta, L. Moreno, M. Sigut, E. J. González
Departamento de Física Fund. y Exp., Electrónica y Sistemas, Universidad de La Laguna
La Laguna 38271. Tenerife.
nico@cyc.dfis.ull.es
Resumen
En este articulo se presenta un nuevo método para
controlar una cabeza binocular. Dicho algoritmo se
basa en extraer el conocimiento de un experto,
mejorando el comportamiento de las estrategias de
control clásico aplicadas. Concretamente, el método
presentado mejora el comportamiento de estrategias
de control sencillas que llevan asociado un costo
bajo, sin introducir nuevos elementos en el sistema
de control. Las técnicas utilizadas constituyen una
mezcla de estrategias borrosas y neuronales. El
resultado es la obtención de un sistema de mejores
prestaciones sin un aumento en el coste del sistema
con un comportamiento más parecido al
comportamiento humano.
Palabras Clave: Control, Redes Neuronales, Lógica
Borrosa, Robótica.
1
INTRODUCCIÓN .
El mundo real en si mismo es un medio dinámico.
Por lo tanto un robot que realice tareas en el mundo
real debería tener la posibilidad de fijar su atención
en las características relevantes de su entorno,
descartando otras de naturaleza irrelevante. Por tanto,
resulta necesario que el robot disponga de un sistema
de visión que le permita fijar el foco de atención en
cualquier punto [1] [2] [9]. Esta habilidad se pone
sobretodo de manifiesto en aplicaciones de
seguimiento de personas u objetos, en aplicaciones
relacionadas con robots de servicio, en aplicaciones
de calibrado, en aplicaciones de ayuda a personas con
alguna clase de discapacidad física o en muchas otras
[1]. Al mismo tiempo que el robot debería tener esta
capacidad en el problema de control surge una nueva
restricción a tener en cuenta. Concretamente, cuando
el robot interactúa con personas y se pretende que se
integre de una forma natural con ellas, se ha
demostrado que la naturaleza direccional de nuestro
sistema de visión adquiere un papel relevante desde
el punto de vista de interactuar socialmente. En este
artículo presentaremos un sistema de visión binocular
junto con sus algoritmos de control en la pretensión
de que el sistema resultante además de responder a
los requerimientos de precisión y rapidez de un
sistema de estas características presente un
comportamiento más próximo al humano.
Comenzaremos en la sección 2 por describir el
sistema objeto de estudio, para en la sección 3
concentrarnos en aspectos relativos a los algoritmos
empleados, mientras que en la sección 4
presentaremos algunos de los resultados obtenidos.
2
PROTOTIPO
En la Figura 1 se muestra la cabeza binocular
empleada. Como se puede observar esta cabeza se
constituye de dos cámaras sobre las que tenemos
cinco grados de libertad. Los grados de libertad se
consiguen a través de una serie de servomotores de
corriente continua posicionados en diferentes
articulaciones de la cabeza binocular. Concretamente
se ha hecho uso de servomotores de la marca Futaba
modelo S3003, cuyo precio por unidad se sitúa en
torno a los 15 Euros.
En la Figura 2 presentamos un esquema donde se
indican los diferentes grados de libertad del sistema
de visión.
Figura 1 : Fotografía de la cabeza binocular
La comunicación se realiza a través del puerto serie
del ordenador con la tarjeta electrónica serial de
control de servos mediante el protocolo RS232 a
9600 baudios. La tarjeta electrónica serial permite
por su parte enviar las consignas recibidas mediante
instrucciones de forma serial enviadas por el
ordenador hasta un máximo de ocho servomotores.
En nuestro caso, solamente será necesario controlar
cinco servomotores. El sistema global de control se
muestra en la Figura 3.
El esquema presentado tiene las limitaciones propias
de la estrategia de control empleada, a la vez que el
movimiento de la cabeza difiere bastante del
movimiento propio de una cabeza humana. Con el
objetivo de mejorar este comportamiento,
manteniendo un coste bajo para todo el sistema lo
que implica utilizar los servomotores presentados, se
ha introducido una estrategia híbrida basada en redes
neuronales y lógica borrosa. La estrategia expuesta
en este artículo se basa en proporcionar diferentes
consignas entre la consigna inicial y la consigna final
deseada. El sistema híbrido será el encargado de
marcar la temporización adecuada de cara a
proporcionar estas consignas intermedias.
Figura 2 : Esquema de Sistema de Visión
A estos servomotores se les envía la consigna a
través de una señal de control expresada en forma de
PWM (modulación de ancho de pulsos), mientras que
los propios servomotores tienen implementado
internamente un control de tipo proporcional. Dado
que existen varios servomotores a controlar y
habremos de proporcionar una consigna a cada uno
de ellos hemos utilizado una tarjeta electrónica serial
de control de servos entre la cabeza binocular y el
ordenador encargado de enviar las consignas.
Consigna
R (s)
SISTEMA HÍBRIDO
Seguidamente mostramos el esquema híbrido
empleado, comenzando por destacar su estructura
para posteriormente incidir en los aspectos relativos
al entrenamiento.
Motor
+
K
-
Gm (s)
Posición del Servo
r (s)
θ1
Controlador
Motor
Consigna
R (s)
+
PC
3
K
-
Gm (s)
r (s)
θ2
Controlador
RS 232
Tarjeta electrónica
Serial
Consigna
R (s)
+
-
Consigna
R (s)
+
-
Motor
K
Gm (s)
r (s)
θ3
r (s)
θ4
Controlador
Motor
K
Gm (s)
Controlador
Grados de Libertad
Figura 3 : Sistema de Control
Con este sistema híbrido se pretende de forma
automática generar un conjunto de reglas borrosas
que nos solucionen el problema, siendo fiel reflejo de
la solución que aportaría un experto humano al
problema de control.
3.1
Las neuronas de la segunda capa buscan el valor
mínimo del conjunto de entradas a dicha neurona
(Salidas de las neuronas de la primera capa) y lo
transfieren hacia la capa de salida. Por último la capa
de salida realiza la operación que se señala mediante
la ecuación (2), actuando como neuronas de carácter
lineal.
ESTRUCTURA DEL SISTEMA HÍBRIDO
El sistema híbrido resultante se podría ver como una
red neuronal de 3 capas [7] [5] [6]. En la Figura 4
mostramos un esquema de este sistema neuronal de 3
capas. La primera consistiría en una serie de
neuronas de base radial, cuya salida responde a la
ecuación (1).
(

U i − m ij
pij = exp −
2

σ ij

)2 


j = 1,2, ..., N2
i = 1,2, ... , N1
Yk =
∑ sv jk γ
j
∑γ
j
j
j
j = 1,2, ..., N2
(2)
k = 1,2, ... , N3
Donde:
Y k = Salida k-ésima del Sistema Híbrido.
sv jk = Valor estimado de la salida k-ésima
proporcionado por la neurona j-ésima
de la segunda capa.
N3= Número de Salidas del Sistema
Híbrido.
(1)
Donde:
m ij = Centro de la Función de Pertenencia
3.2
correspondiente a la entrada i-ésima
y la neurona j-ésima de la segunda
capa.
En la sección anterior presentamos la estructura del
Sistema Híbrido, sin embargo dicha estructura
conlleva un conjunto de parámetros que han de ser
previamente determinados para poder extraer una
salida del sistema ante una determinada entrada.
Evidentemente, dicha elección de parámetros esta
relacionada con la función que vayamos a darle a este
Sistema Híbrido.
Pretendemos que el Sistema Híbrido nos
proporcione como salidas una serie de valores que
permitan una temporización adecuada a la hora de
enviar las consignas a los servomotores, todo ello a
partir de saber la posición inicial y la posición final
deseada para el servomotor a controlar.
U i = Entrada i-ésima del Sistema Híbrido.
σ ij
= Anchura de la Función de
Pertenencia correspondiente a la
entrada i-ésima y la neurona j-ésima de
la segunda capa.
p ij = Salida de Neurona de Base Radial.
N2 = Número de neuronas en la segunda
capa.
N1 = Número de entradas del Sistema
Híbrido.
γ1
p11
U1
U2
PROCESO DE APRENDIZAJE
Y1
p21
pN1,1
p1,N2
YN3
UN1-1
UN1
pN1-1,N2
γN2
pN1,N2
Figura 3 : Esquema Sistema Híbrido
A partir de estas dos entradas el Sistema Híbrido
deberá de ser capaz de aportar dos salidas. Nos
hemos planteado
generar una trayectoria de
consignas entre la posición inicial y la final deseada
según la resolución que nos permite la tarjeta
electrónica controladora serial que en nuestro caso
corresponde a 0.72 grados. Las salidas del Sistema
Híbrido nos indicarán cuando enviamos estas
consignas. Nosotros hemos elegido dos salidas,
donde la primera indica el tiempo que será aplicada
la primera consigna, mientras que la segunda nos
indicará el incremento de tiempo con el que se
aplicarán el resto de consignas hasta la consigna final
que siempre coincide con la consigna a aplicar para
conseguir la posición final deseada.
Teniendo en cuenta esta forma de proceder, hemos
de elegir los parámetros de tal manera que el Sistema
Híbrido nos proporcione valores convenientes de los
tiempos considerados según el caso con el que se
encuentre.
En este punto es donde interviene el experto
humano. Mediante un programa desarrollado en
Linux el experto realizará una serie de movimientos
sobre la cabeza binocular, registrando todos los
valores de entrada y salida, es decir, las posiciones
iniciales y finales tomadas y los tiempos
considerados. Evidentemente, en este proceso el
experto se quedará con aquellos ensayos que más se
adecuen a lo que el entiende como un movimiento
correcto.
Estos valores se utilizarán en el proceso de
entrenamiento que permitirá determinar los
parámetros del Sistema Híbrido. El proceso de
entrenamiento se ha dividido en tres fases. La
primera fase aplicará un algoritmo de entrenamiento
no supervisado, concretamente el algoritmo del mapa
de características auto-organizativo de Kohonen. Una
vez, este proceso haya concluido se procederá a un
proceso para disminuir el tamaño del Sistema
Híbrido, basado en la eliminación de neuronas de la
segunda capa que aportan información muy parecida.
Finalmente, se plantea un algoritmo de mínimos
cuadrados que refinará los parámetros ya obtenidos
en la primera fase y ajustará otros no considerados en
esta primera fase.
4
APLICACIÓN
Tal y como se ha explicado en las secciones previas
el Sistema Híbrido una vez entrenado es utilizado de
tal forma que se mejoren los resultados que nos
proporcionan los servomotores. Como se puede
observar esta nueva estrategia sería implementada
mediante software en el PC, sin tener que modificar
los dispositivos electrónicos utilizados. Aunque el
proceso lleva un cierto tiempo en el ajuste de los
parámetros del sistema híbrido este se realiza de
forma off- line, de tal forma que una vez superada
esta etapa los tiempos de procesamiento del sistema
no son de relevancia para el funcionamiento
adecuado del sistema.
Hemos realizado varios ensayos en donde hemos
puesto de manifiesto el buen comportamiento del
método propuesto. Inicialmente, elaboramos un
modelo simulado de la cabeza binocular y realizamos
varios ensayos que nos relevaron las buenas
propiedades del método. Una vez superada esta
etapa, realizamos varios ensayos sobre la cabeza
binocular directamente, midiendo mediante una
tarjeta capturadota el resultado obtenido.
A titulo de ejemplo en la Figura 4 presentamos el
resultado obtenido cuando se ha llevado la primera
articulación del la cabeza binocular (ángulo θ1) desde
los 0º a los 56º, desde este último ángulo hasta 0º de
nuevo y posteriormente se ha realizado un
desplazamiento hasta 33 grados.
En este caso el resultado de la fase de entrenamiento
ha llevado a un Sistema Híbrido constituido por 94
neuronas en la primera capa, 47 neuronas en la
segunda capa y 2 neuronas en la capa de salida o
tercera capa.
Como se puede observar los movimientos se han
suavizado, de hecho si observamos la evolución del
ángulo en el propio sistema de visión, éste se parece
más a la forma en que se mueva la cabeza humana.
5
CONCLUSIONES
En este artículo se ha mostrado un nuevo método
para mejorar el comportamiento del control de una
cabeza binocular. En el problema de control se han
tenido en cuenta aspectos relativos a la interacción
con los humanos de tal forma que los movimientos
sean los más parecidos posibles a los que un humano
realizaría. Debido a la técnica aplicada se ha
observado que dicho comportamiento surge de forma
automática. Adicionalmente, se aprecian mejoras
respecto al comportamiento sin tener que modificar
los servomotores utilizados. Es importante señalar
por otra parte que la técnica aplicada permite adaptar
la estrategia de control aplicada al sistema particular
que pretendemos controlar. Como se ha mostrado en
el artículo el funcionamiento de la estrategia de
control esta directamente relacionada con los datos
aportados por un experto. Al objeto de hacer esta
tarea fácil al experto se ha desarrollado una
aplicación que permite aportar los datos sin tener
ningún conocimiento sobre las técnicas empleadas
Señalemos por otra parte que se ha elaborado una
aplicación al objeto de facilitar el proceso de
entrenamiento, donde una parte importante consiste
en que un experto aporte los valores más adecuados
para una serie de situaciones sin que se le exija tener
ningún conocimiento sobre las técnicas aplicadas..
__ Con Sistema Híbrido
θ1 (seg.)
- - sin Sistema Híbrido
Tiempo (seg.)
Figura 5 – Ensayo con la primera articulación
Referencias
[1] Ballard D. H. (1991). Animate Vision. Artificial
Intelligence 48:57-86.
[2] Eklundh, J. O., K. Pahlavan and T. Uhlin. The
kth head-eye system. (1995) In : Vision as a
Process. Chap. 15, pp. 237-259.
[3] Chen C.H., (1996) “Fuzzy Logic and Neural
Networks Handbook”, Mc. Graw-Hill .
[4] Gosselin C., St-Pierre E., and Gagne M.(1996).
On the development of the agile eye. In IEEE
Robotics and Automation Magazine. pp. 29-37.
[5] Kosko B. (1992 ) “Neural Networks and Fuzzy
Systems: A Dynamical Systems Approach to
Machine Intelligence”. Prentice-Hall.
[6] Li H., Gupta M. (Editors) (1995). “Fuzzy Logic
and Intelligent Systems”. Kluwer Academic
Publishers.
[7] Marichal G. N., Acosta L., Moreno L., Méndez
J.A., Rodrigo J.J., Sigue M.. (2001) “Obstacle
avoidance for a mobile robot: A neuro-fuzzy
approach”. Fuzzy Set and Systems. Vol. 124,
Nº 2, pp. 171-179.
[8] Murray, D., P. McLauchlan, I. Reid and P.
Sharkey. Reactions to peripheral image
motion using a head/eye plataform. In : Proc.
Of
IEEE
International Conference on
Computer Vision. pp. 403-411, 1993.
[9] Michael Swain and Markus A. Stricker (eds):
Promising Directions in Active Vision.
International Journal of Computer Vision,
Special Issue on Active Vision I, Vol. 11,
2:109-126, 1993.
Descargar