Está en la página 1de 6

1

DISEO E IMPLEMENTACIN DE UNA RED NEURONAL EN UN DSPIC PARA EL CONTROL DE TRAYECTORIA DE UN ROBOT DETECTOR DE OBSTCULOS.
Claudia L. Rueda1, Juan C. Villamizar2, Vladimir Castro Len3, Juan Pablo Neira Vesga4, Grupo de Investigacin en Bioingeniera, Seales y Microelectrnica Universidad Pontificia Bolivariana seccional Bucaramanga
network is implemented on the Optimus robot, it was constructed and developed with ultrasonic sensors, an electronic compass and a encoders system.

Resumen En este documento, se muestra la implementacin de una metodologa de navegacin autnoma para robots mviles de traccin diferencial en espacios totalmente desconocidos. El objetivo del robot desarrollado, es navegar en un rea en la cual puedan existir diferentes tipos de obstculos y ste sea capaz de ir de un punto a otro sin colisionarse. Se implement una Red Neuronal Probabilstica PNN como ncleo de decisiones para las acciones que debe realizar el robot mvil durante su trayectoria. La red neuronal se implementa sobre el robot Optimus, el cual fue construido y desarrollado con sensores ultrasnicos, un comps electrnico y un sistema de encoders. ndice de Trminos Robots mviles, traccin diferencial, odometra, Red Neuronal Probabilstica (PNN), I2C, DCS (Controlador Digital de Seal dsPIC). Abstract This document shows the implementation of a autonomous navigations methodology for movable robots of differential traction in spaces totally unknown. The objective of the developed robot, is to sail in an area in which different types of obstacles can exist and the robot is able to go from a point to another one without colliding itself. A Probabilistic Neuronal Network PNN was implemented as a decisions core for the actions that must make the movable robot during its trajectory. The neuronal
Los autores estn vinculados al Grupo de Investigacin en Bioingeniera, Seales y Microelectrnica. 1 Magster en Informtica. Profesora Asistente Facultad de Ingeniera Electrnica. Miembro Directora del Semillero de Sistemas Microprocesador. e-mail: clrueda@upbbga.edu.co 2 Magster en Potencia Elctrica. Profesor Asistente Facultad de Ingeniera Electrnica 3 Estudiante de Ingeniera Electrnica. vlado875@hotmail.com 4 Estudiante de Ingeniera Electrnica. jpnv2000@hotmail.com

Index of Terms Robots movables, traction differential, Probabilistic Neural Network PNN, I2C, dsPIC.

I. INTRODUCCIN
La navegacin autnoma de robots mviles en un campo o espacio desconocido es uno de los retos ms importantes que existe en el campo de la robtica mvil. Actualmente se han centrado estudios en el desarrollo e implementacin de tcnicas para el control y navegacin de robots. El robot Optimus construido, es un robot mvil autnomo que tiene la capacidad de desplazarse en espacios desconocidos e ir de un punto inicial a un punto final esquivando obstculos sin colisionarse. El sistema presenta dos (2) modos de funcionamiento. El funcionamiento modo PC, donde el procesamiento de informacin de la sensorica del robot, algoritmos de control y la Red Neuronal Probabilstica PNN son realizadas en el PC y luego se transmite por protocolo bluetooth la accin que debe realizar el robot en un determinado instante durante su trayectoria. El funcionamiento modo dsPIC es la aplicacin porttil del proyecto, en la cual todo el procesamiento mencionado anteriormente se realiza en un microcontrolador dsPIC.

II. PROTOTIPO
El robot mvil Optimus se construy con ciertos criterios y caractersticas que le permite ser modular y abierto ante nuevas y futuras investigaciones en el campo de la robtica mvil. Se inicio con la construccin de un modelo en madera de balso posterior a esto se realizaron anlisis y diseos variados hasta obtener un prototipo final elaborado en acrlico con una funcionalidad similar a la de un

tanque militar. A continuacin se explicar la sensorica que tiene el robot mvil, su traccin, su controlador y los tipos de comunicacin.

A. Sensores ultrasnicos, electrnico y sistema de encoders

Comps

El robot mvil tiene a bordo cinco (5) sensores ultrasnicos SRF08 distribuidos en la parte delantera del robot, Figura 1., para lograr cubrir un rango de deteccin de obstculos de aproximadamente 180 grados.

Figura 2. Sistema de Encoder por barrera

B. Sistema de comunicaciones
Existe en el robot mvil dos sistemas de comunicacin: El sistema de comunicacin basado en el protocolo I2C para interconectar la sensorica en el robot y el sistema de comunicacin que usa el estandar IEEE 802.15.1 llamado Bluetooth, que permite la comunicacin entre el robot y el PC.

Figura 1. Distribucin de la sensorica Ultrasnica en el robot mvil Lleva a bordo un comps electrnico CMPS03 ubicado en la parte trasera del robot y est a una altura de aproximadamente 5 cm del nivel de los otros circuitos que tiene el robot mvil. Esto se realiza con el fin de evitar campos magnticos parsitos generados por los motores DC que puedan afectar la medicin del dispositivo . El sistema de encoders, se instala en el eje delantero de la traccin de orugas que tiene el robot mvil. El sistema de encoders se basa en una configuracin tipo barrera, compuesta por un diodo led emisor ubicado frente a un sensor receptor infrarrojo IS471F [3], y una rueda dentada como la que utilizan los mouses comerciales, que puede o no interrumpir el haz que emite el diodo emisor al receptor. En la figura 2 se aprecia el encoder usado en el robot mvil.

Figura 3. Dispositivos I2C (Ultrasnicos, comps y dsPIC) En la figura 3 se visualizan los 7 dispositivos que tienen comunicacin I2C en el robot mvil. Los cinco (5) sensores ultrasnicos y el comps electrnico trabajan en modo esclavo y el dsPIC30F4013 trabaja en modo maestro el cual se encarga del control de la comunicacin.

C. Tarjeta Controladora
El robot mvil posee una tarjeta controladora encargada de interconectar los dispositivos utilizados por el robot. Como dispositivo central se encuentra el dsPIC30F4013 encargado del procesamiento y anlisis de la informacin suministrada por los perifricos. Los perifricos que posee la tarjeta son el sistema de comunicaciones, la sensorica, el programador y la potencia, como se observan en la figura 4 del diagrama de bloques del sistema.

Existen muchos estudios acerca de las Redes Neuronales Artificiales RNA`s donde las aplicaciones como clasificacin de patrones, reconocimiento de imgenes y habla, filtrado de seales, sntesis de voz y control de movimiento de un brazo robot entre otras son aplicaciones desarrolladas por un tipo de red neuronal especfica. El control de los movimientos del robot mvil que debe realizar para generar una trayectoria que le permita navegar de un punto inicial a un punto final evitando obstculos sin colisionarlos se identific como un problema de Clasificacin de Patrones. Para este tipo de problemas podemos encontrar redes como: perceptrn simple, perceptrn multicapa, las redes Backpropagation, las Redes de Base Radial y las Redes Neuronales Probabilsticas PNN entre otras, como las ms populares y utilizadas en este tipo de aplicacin. Se selecciona la Red Neuronal Probabilstica PNN debido a su arquitectura y su funcionamiento.

Figura 4. Diagrama de bloques del Sistema En la siguiente figura se muestra una fotografa real de la tarjeta controladora. Los crculos rojos sealan las partes principales del sistema nombradas anteriormente.

Figura No. 6 Arquitectura de la Red Neuronal Probabilstica PNN Figura. 5. Tarjeta Controladora Las PNN presentan dos (2) capas de neuronas, una capa de entrada que calcula la distancia euclidiana entre el vector de entrada y los vectores de entrenamiento y aplica una funcin de transferencia radbas y una capa oculta donde las neuronas compiten y se selecciona una neurona como la ganadora. Esta arquitectura no depende de un proceso de entrenamiento iterativo como muchas otras redes, solo se necesita construir un vector patrn de entrenamiento y un vector de clases K que sern las salidas deseadas de la red neuronal PNN. Este tipo de red neuronal es muy semejante a un clasificador Bayesiano. [2] El robot mvil Optimus tiene una GUI diseada en Labview para controlar sus variables, tales como: posicin actual del robot, trayectoria realizada, estados de sensores, comunicacin bluetooth, entre otras y se utiliza la funcin Matlab Script para simular cdigo desde Matlab. Esto se realiza ya que se usa funciones de la toolbox de Redes Neuronales de Matlab, para construir la red neuronal y simularla.

III. IMPLEMENTACION DE UNA RED NEURONAL PROBABILISTICA PNN


Se tienen algunas definiciones Neuronales Artificiales RNAs : de las Redes

Una nueva forma de computacin, inspirada en modelos biolgicos Un modelo matemtico compuesto por un gran nmero de elementos procesales organizados en niveles. un sistema de computacin hecho por un gran nmero de elementos simples, elementos de proceso muy interconectados, los cuales procesan informacin por medio de su estado dinmico como respuesta a entradas externas. [1]

Figura 7. Interfaz grfica del robot en Labview GUI. Primero se implementa una PNN para navegacin en espacios desconocidos sin presencia de obstculos teniendo dos (2) entradas que son el ngulo magntico y el ngulo de tendencia C y m respectivamente y una salida que puede ser (1-Adelante, 2-Derecha, 3Izquierda) que son las acciones bsicas que realiza el robot ante un patrn de entrada. El tiempo de accin de salida es configurable, entre un rango de 10 - 700 milisegundos [ms]. Los valores de los ngulos que varan de 0 - 360 del C y m son ajustados a datos numricos que estn entre [0 8] .

Figura 9. Espacio de datos del vector de entrada a la red neuronal, para la navegacin del robot en un espacio desconocido sin obstculos. Este espacio de 12.960.000 posibles datos de entrada, se soluciona construyendo un vector de 81 centroides. Posteriormente se construye una red PNN para darle solucin al problema de navegacin con obstculos. Se tiene una entrada ms a la red PNN que rene los estados de activacin de presencia de un obstculo de los cinco (5) sensores ultrasnicos. Este dato es una palabra binaria de 5 bits generando 32 posibles combinaciones entre 0 31. Se tienen entonces tres (3) entradas, enfrentndonos a un problema de clasificacin de tres (3) dimensiones y un espacio total de entrada de 414.720.000 datos. Se realizan unos algoritmos para reducir esta entrada encontrando un patrn comn en los ngulos C y

m
(a) (b) Figura 8. Zonas o rangos de clasificacin para los ngulos . (a) ngulos del c (b) ngulos del

logrndose obtener toda la informacin necesaria

para que el robot mvil tome una decisin acertada en todo instante. Se tiene entonces nuevamente dos entradas C y dist donde el ngulo de tendencia C es influenciado de manera implcita por

y la

entrada dist que es la informacin entregada por los sensores ultrasnicos.

Esto se logra tomando cada ngulo y se divide entre 45, para as sacar las zonas de clasificacin que se observan en la figura 8. Con esta informacin se construye el plano de la figura 9 que muestra todas las posibles entradas y su respectiva salida (clase) que se distinguen con un color especfico.

Figura 10. Espacio de datos del vector de entrada a la red neuronal, para la navegacin del robot en un espacio desconocido con obstculos. En la figura 10 se muestra el patrn de entrada que debe clasificar en las tres clases (1-Adelante,2-

Derecha, 3-Izquierda) la red PNN. Para este problema se construye un vector de entrenamiento de 288 neuronas o centroides clasificando correctamente el espacio total de entrada de 115.200 datos. Se simulan las PNN construidas y stas clasifican de manera correcta el patrn de entrada, permitiendo que el robot se desplace de un punto inicial a un punto final sin colisionarse con obstculos. Los algoritmos implementados en el PC y la red neuronal PNN se desarrollan tambin en el microcontrolador DSC (Controlador de Seal Digital) dsPIC30F4013 que se caracteriza por ser de 16 bits y tener algunas funciones de DSPs (Procesadores Digitales de Seal). Esta es la aplicacin porttil del proyecto, que permite darle al robot la independencia del PC.

Figura 12. Trayectoria y funcin de error de distancia generado por el robot mvil para coordenadas (0,0) a (-82,124) Como se observa en la figura 12 se tiene la trayectoria real que realiz el robot mvil y una grfica de error de distancia, que es la diferencia entre la posicin actual y la posicin final del robot. En la grafica de la trayectoria del robot, se visualizan dos curvas. Una lnea recta que representa la trayectoria mas corta para llegar el punto final y la curva de grosor superior representa el movimiento real del robot. En la grafica de error de distancia se aprecia que a medida que transcurre el tiempo, el robot esta mas cerca del objetivo.

IV. RESULTADOS EXPERIMENTALES


Una de las primeras pruebas a la cual se someti el robot Optimus fue la navegacin en un espacio libre. Estas pruebas permiten verificar el correcto funcionamiento de la sensorica del robot, como el comps electrnico, el sistema de encoders, la comunicacin bluetooth y los algoritmos desarrollados en el microcontrolador y en el PC. As mismo se verifica que el sistema sea estable, ubicndose y tendiendo hacia el punto final de llegada.

Figura 13. Espacio de navegacin desconocido con obstculos En la figura 13 se observa el plano y el tipo de obstculo que debe esquivar el robot mvil. El obstculo consiste en dos cubos de 10 cm por arista los cuales se ubican como se observa en la figura anterior. El robot logra su objetivo de ir de la coordenada inicial (0,0) a la coordenada final (60,60) obtenindose la siguiente trayectoria como se observa en la figura No. 14

Figura 11. Espacio de navegacin desconocido sin obstculos Como se observa en la figura 11, se ubica el robot en un punto definido como la coordenada xy (0,0) y una coordenada final donde el robot debe llegar de (-82,124). Estas coordenadas son en unidades de centmetros [cm] lineales. En el PC se ajustan estas coordenadas, y al robot se le da la orden de iniciar su recorrido de manera autnoma. Se obtienen los siguientes resultados de la posicin actual del robot y la trayectoria realizada.

Figura 14. Trayectoria y funcin de error de distancia generado por el robot mvil para coordenadas (0,0) a (60,60) En la figura 14 se observa la trayectoria realizada por el robot mvil ante la presencia de un par de obstculos. En un principio el robot tiende a realizar una trayectoria similar a la figura No. 21, pero en la coordenada (12, 20) el robot cambia de rumbo debido a la presencia de un obstculo, luego de que el obstculo es superado, el robot tiende nuevamente a buscar el punto final de llegada. Se observa un cambio de la pendiente en la grafica de error de distancia en el momento de la presencia del obstculo frente al robot, ya que el robot tiene por prioridad esquivar el obstculo sin importar alejarse del punto final.

la sensorica, logrando ubicar al robot en el objetivo final con un margen de error relativamente bajo. Se estudi e investig los tipos de redes neuronales artificiales para darle solucin al problema de clasificacin de patrones especfico del robot mvil, y su factibilidad de implementarse en un dsPIC. La Red Neuronal Probabilstica PNN cumpli con estos criterios dando resultados eficientes. Se disea una Red Neuronal Probabilstica PNN con la ayuda de la toolbox de Matlab como ncleo de decisin del robot mvil, la cual permiti clasificar correctamente los patrones de entrada logrando un desempeo optimo en la navegacin en espacios desconocidos. Se simularon un considerable nmero de trayectorias para poder construir el patrn de entradas a clasificar y el respectivo vector de entrenamiento caracterstico de las redes PNN. Este proceso fue largo y tedioso pero el procesamiento es inferior a los ciclos repetitivos de entrenamiento utilizados en las redes neuronales clsicas como perceptrones multicapas y backpropagation entre otras. El robot mvil Optimus tiene un funcionamiento estable ante varios tipos de escenarios y obstculos desconocidos, siempre y cuando se garantice las condiciones mnimas de funcionamiento como terrenos de superficies planas, ambientes sin influencias de campos magnticos y parmetros de distancias mnimas entre obstculos.

V. CONCLUSIONES
Se construy un robot mvil autnomo, dotado de cinco (5) sensores ultrasnicos, un comps electrnico, un sistema de encoders y un sistema de comunicacin bluetooth, capaz de navegar en espacios totalmente desconocidos evitando colisionar con obstculos durante su trayectoria. Se utiliz y configur cinco (5) sensores ultrasnicos SRF08 basados en el protocolo I2C para tener un rango de visin de aproximadamente 180 y lograr detectar la presencia de obstculos. Los sensores de ultrasonido permitieron obtener informacin de las distancias de los obstculos sin importar las variaciones de luz en el ambiente con una alta precisin garantizando as que el robot tomar una decisin correcta ante una situacin especfica. Las limitaciones encontradas en los sensores ultrasnicos utilizados, fue el tiempo empleado para lograr tener una medicin de un obstculo, aproximadamente 10ms por cada sensor, tiempo considerable en la aplicacin y la perdida del eco cuando el sensor se enfrenta a bordes de obstculos cuadrados, generando deficiencias en la visin y posibles colisiones. Se diseo un sistema de navegacin utilizando un comps electrnico CMPS03 y un par de encoders que permiten conocer la posicin actual del robot mvil en coordenadas cartesianas xy. Se implementa un algoritmo matemtico basado en funciones trigonomtricas para hallar la posicin del robot en todo instante a partir de la informacin entregada por

VI. REFERENCIAS
[1] Hilera, Jos R. Redes Neuronales Artificiales, Editorial Alfaomega, Pg 9. [2] WASSERMAN, Philip D. Advanced Methods in Neural Computing. New York: Van Nostrand Reinhold, 1993. p. 35 - 55. [3] SANDOVAL, Wilmer, Salcedo Ivan. Estudio de la deteccin de obstculos mediante sensores ultrasnicos e infrarrojos para la realizacin de mapa bidimensional con representacin grafica en computador. Tesis de Grado, Universidad Pontificia Bolivariana, Bucaramanga, 2005. p. 35 - 55.

También podría gustarte