SciELO - Scientific Electronic Library Online

 
vol.20 número2Fuentes energéticas para la mecanización de las casas de cultivos protegidosFactores que influyen en la calidad de la reparación del sistema hidrostático de la cosechadora de caña de azúcar KTP 2M índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

  • Não possue artigos citadosCitado por SciELO

Links relacionados

  • Não possue artigos similaresSimilares em SciELO

Compartilhar


Revista Ciencias Técnicas Agropecuarias

versão On-line ISSN 2071-0054

Rev Cie Téc Agr vol.20 no.2 San José de las Lajas abr.-jun. 2011

 

Sistema para el control inteligente de un robot manipulador

 

System for the intelligent control of a robotic manipulator

 


Sergio O. Boudy González1 , Javier A. León Martínez2 , Yordan E. Estrada Rodríguez3

 

1 Ing. en Ciencias Informáticas. Instituto de Cibernética Matemática y Física, La Habana, Cuba. E-mail: sergio@icmf.inf.cu
2
Ing. en Automática, Universidad Agraria de La Habana, Facultad de Ciencias Técnicas, San José de las Lajas, Mayabeque, Cuba. E-mal: jleon@isch.edu.cu
3
Ing. en Ciencias Informáticas. Universidad de las Ciencias Informáticas, La Habana, Cuba.


Resumen

El presente trabajo muestra el desarrollo de una aplicación para el control inteligente de un robot manipulador de seis grados de libertad, a partir de técnicas de visión artificial, para la identificación inteligente de objetos mediante reconocimiento de patrones utilizando redes neuronales artificiales. Se implementó el método de segmentación de imágenes basado en el crecimiento de regiones por agrupación de pixeles, para la detección de los objetos. Para resolver el problema cinemático inverso del robot, fue desarrollado un modelo matemático apropiado basado en un método trigonométrico alternativo. El sistema fue probado de forma satisfactoria, identificando diferentes tipos de objetos con un alto porcentaje de certeza y determinando su ubicación en el área de trabajo del robot.

Palabras clave: robot manipulador, control inteligente, visión artificial , reconocimiento de patrones, redes neuronales, modelo cinemático.


ABSTRACT

This paper shows the development of software for the intelligent control of a six degree of freedom robot manipulator, with artificial vision techniques for the intelligent identification of objects by means of pattern recognition using an artificial neural network. A method of images segmentation, based on regions growth by pixels grouping, was implemented for the objects detection. a mathematical model, based on an alternative trigonometric method, was developed to solve the inverse kinematic problem of this robot. The system was tested on a satisfactory way; identifying different kinds of objects with a high percent of certainty and determining their location in the workspace of robot.

Keywords: robotic manipulator, intelligent control, artificial vision, pattern recognition, neural networks, kinematic model.


 

 

INTRODUCCIÓN

Desde hace varias décadas el hombre se ha empeñado en automatizar las tareas que requieran un comportamiento inteligente, para lo cual ha desarrollado máquinas que imitan rasgos de la inteligencia humana. Con este fin ha creado técnicas basadas en el análisis formal y estadístico del comportamiento humano ante diferentes problemas, aliviando así áreas tales como el control de sistemas, la planificación automática, la habilidad de responder a diagnósticos y a consultas de los consumidores, el reconocimiento de la escritura, el habla y los patrones. En los últimos años ha adquirido particular relevancia el empleo de algoritmos de visión artificial basados en técnicas de reconocimiento de patrones, para incrementar las prestaciones de manipuladores robóticos en muchos escenarios, destacándose la clasificación automática de productos agrícolas, basada en criterios de forma, textura, tamaño y color, en líneas de embalaje de los mismos.

El objetivo del presente trabajo es desarrollar una aplicación que permita dotar de cierto grado de inteligencia a un robot manipulador (Figura 1), a partir del reconocimiento de patrones con redes neuronales, en imágenes digitales. La aplicación debe ser capaz de identificar objetos previamente definidos, y determinar su posición.

El procesamiento digital de imágenes es una de las ramas de la ciencia que más desarrollo ha experimentado en la última década, debido fundamentalmente a dos factores: el avance vertiginoso que ha experimentado el hardware, y la importancia que han adquirido las aplicaciones de esta técnica en la vida moderna.

 

En este trabajo, las etapas de filtrado y segmentación de las imágenes se realizan casi de manera simultánea. Se va operando la imagen de forma puntual, aplicando primero el filtrado por escala de grises sobre la misma, y luego se segmenta por un método basado en la formación de regiones conocido como crecimiento por agrupación de píxeles (Rodríguez, 2000). Para el reconocimiento fue utilizada una red neuronal del tipo perceptrón multicapa.

 

Materiales y Métodos

METODOLOGÍA

Elementos generales  

Para la solución de la aplicación, se describe el proceso que se lleva a cabo para el tratamiento de las imágenes digitales, el tipo de red neuronal empleada y su topología, el sistema de visión del robot y se le da solución al problema cinemático inverso del robot.

Procesamiento digital de imágenes

El procesamiento de las imágenes se ha dividido en 4 fases para facilitar el trabajo y mejorar la eficiencia de nuestra aplicación (Rodríguez , 2000).

Captura

Se obtiene una imagen desde una cámara digital (webcam).

Filtrado

Se ha utilizado un filtro por escala de grises, el que consiste en convertir una imagen de 24 a 8 bits (Figura 1). Para lo cual se le aplica a la imagen la ecuación (1):

                                                            (1)

donde:

If : Imagen final;
Pr: Valor del color rojo del píxel;
Pg: Valor del color verde del píxel;
Pb : Valor del color azul del píxel.
 

Se obtiene una imagen de 8 bits y 256 colores con el siguiente formato:

W x H x 8

donde:

W: Ancho de la imagen en píxeles;
H: Largo de la imagen en píxeles.

Segmentación

Para la segmentación de la imagen fue utilizado un método basado en el crecimiento de regiones por agrupación de píxeles. El mismo realiza la agrupación de regiones de modo que cada una de ellas se clasifica en objeto o fondo, en dependencia de un umbral previamente definido
(Rodríguez, 2000).

Se puede contemplar la segmentación como un proceso que divide la región R en n subregiones, R1 , R2 ,..., Rn , de tal forma que:

Donde la región R es la representación completa de una imagen, es una propiedad de los puntos del conjunto Ri, donde Ø es el conjunto vacío y Ri una región de tamaño N:

                                                                                             (2)

Entonces se dice que la región es homogénea si , donde T es un umbral y m es la media (Morales, 2000).

Reconocimiento

Al culminar el proceso de segmentación se obtiene un listado con los objetos encontrados pero, como se requiere que el sistema opere con elementos de diferentes tamaños, se hace necesario realizar un proceso de extracción de características, que consiste en extraer la información extremadamente relevante de los mismos. Para normalizar la región se calcula el factor de relación según la ecuación (3) entre la matriz contenedora del objeto y una matriz estándar de dimensiones n x m , donde n = m = 20 .

                                                                                                   (3)

                                                                                   (4)

                                                                                  (5)

Donde:

Fa: factor de relación;
Ma: matriz contenedora del objeto;
Me: matriz estándar de dimensión n x m:
Vrna: vector que representa el objeto;
P: relación de transferencia entre Ma y Me.

Por lo que se obtiene de la ecuación (6) un vector (Vrna) que caracteriza el objeto, con tamaño fijo de 20 elementos y con un formato entendible por la red neuronal.

 

 

                                                                                          (6)

Red neuronal empleada

Se ha empleado un perceptrón multicapa. Este tipo de red neuronal es muy utilizado para problemas de reconocimiento de patrones (Bello, 1993). Inicialmente fueron definidos los patrones “círculo”, “cuadrado” y “no sé” , este último definido para el caso en que un objeto no pertenezca a ninguno de los patrones anteriores (Duda y Hart, 2001).

Después de varias pruebas se llegó a la conclusión de que la topología utilizada es la adecuada, ya que se probó con mayor número de neuronas en la capa de procesamiento obteniéndose un resultado similar, pero con un mayor costo de cómputo (ver Tabla I).

Se decidió implementar un perceptrón de 3 capas, siguiendo un criterio de selección práctico (Aguado, 2000). El mismo cuenta con 20 neuronas en la capa de entrada, una capa de procesamiento con 10 neuronas con función de activación logarítmica ( Demuth et al., 2007); y una capa de salida con 3 neuronas. Se utilizó un método de entrenamiento supervisado, Reduced Memory Levenberg-Marquardt (trainlm) ( Demuth et al., 2007). Para el mismo se contó con 31 muestras entre los 3 patrones, por lo que fue entrenada la red primeramente con 58 épocas y se obtuvo un error global de 0,0005, y posteriormente se realizó otro entrenamiento con 300 épocas donde se obtuvo un resultado bastante similar, el error fue de 0,0008.

Sistema de visión del robot

Para dotar de visión al robot manipulador es preciso familiarizar el sistema con el entorno de trabajo, lo que en términos prácticos no es más que calibrar la cámara (González, 2007). Para este fin, se “muestra” al sistema una hoja de papel con dos puntos situados a una distancia conocida, para establecer el sistema de referencia de la cámara. En la Figura 5 se muestra una representación del espacio de visión del robot (unión de los sistemas de referencia de la cámara y del robot), donde C es el contorno que encierra el área de visión de la cámara, R es el punto de giro de la base del robot, P1 y P2 son dos puntos conocidos alineados dentro del contorno C , y S la distancia (en cm ) entre R y los puntos P1 y P2 . Es necesario determinar la relación de pixeles por centímetro, para convertir la posición del objeto de unidades de la cámara (pixeles) a unidades reales (cm).

De la Figura 5 se toman las siguientes relaciones:

 

 

PRx y PRy-son las coordenadas de un punto dentro del área de trabajo con respecto al sistema de coordenada del robot. Es decir, un objeto en el plano de la cámara se le hace una conversión de pixeles a cm y luego se le aplica un cambio de coordenadas del plano de la cámara al plano de coordenadas del robot, dado por las ecuaciones (11) y (12).

 

 

 

 

Donde:

Npx cm: Cantidad de píxeles por cm;
D: Distancia entre dos puntos;
Dp: Distancia expresada en píxeles;
Dcm: Distancia expresada en cm;
Pp: Posición de un punto en píxeles;
Pcm: Posición de un punto en cm.

Como las coordenadas de P1 y P2 son conocidas, así como la distancia en cm entre ellos, utilizando la ecuación (14) po-demos calcular la cantidad de pixeles por cm, considerando que la cámara se encuentra perpendicular al área de trabajo. Luego, con la ecuación (15) obtenemos las coordenadas de los puntos P1 y P2 en cm.

 

Modelo cinemático del robot

Inicialmente existió la tentativa de ajustar un modelo cinemático desarrollado para otro robot con características mecánicas similares a las del empleado (Pozo y Arbide, 1989). Sin embargo, al no poseer este los sensores necesarios para determinar la posición y la orientación de la pinza, se decidió incorporarle una segunda cámara al sistema, que permitiese hacer un ajuste fino de la posición y la orientación de la pinza respecto al objeto una vez posicionadas el resto de las articulaciones del robot. Por esta razón, y a partir de las consideraciones que a continuación se detallan, fue desarrollado un modelo cinemático basado en un método trigonométrico alternativo, contando con la información que brinda el brazo manipulador acerca de su posición en el espacio.

Se considerará primeramente el ángulo de la pinza o muñeca con respecto a la horizontal como constante. Luego, a partir del punto en el espacio (x, y, z) que se desea alcanzar, y su distancia desde el punto inicial (0, 0, 0), es posible encontrar una solución para los ángulos del resto de las articulaciones del robot.

Se tiene que el ángulo a1= 30°, además se conoce que y como (x, y, z) es el punto final, el valor de es numéricamente conocido. Son conocidas además las longitudes de los elementos que conforman la estructura mecánica del robot, las cuales están representadas en la Figura 6 como B1 , B2 , B3 y B4 . Luego:

Ahora, con el objetivo de calcular el valor de se hace necesario calcular cada una de sus partes:

 

Seguidamente se calcula el valor la distancia existente entre el punto de origen del sistema hasta la última articulación del brazo manipulador:

 

Una vez determinada esta última, se calcula el valor del ángulo y respectivamente:

Con el objetivo de facilitar la búsqueda de los demás ángulos, se calcula a partir de la ley de los cosenos la distancia entre la primera y la última articulación del robot manipulador:

Dándole solución a los demás ángulos que forman a2 :

Despejando en la ley de los cosenos :

Para determinar el valor del, se suman todos los ángulos que lo conforman:

luego:

Por último se calculan los ángulos que conforman a4 y se suman.

Finalmente se calcula el cual representa el primer grado de libertad del sistema como se ve en la Figura 7.

Ahora, con el objetivo de ajustar los ángulos encontrados al grado de libertad correspondiente, es necesario hacer un análisis técnico del robot empleado y llevarlo al modelo matemático propuesto, en aras de normalizar los valores calculados a las características físicas reales del robot. De modo que:

 

 

Resultados y Discusión

El sistema funciona de manera satisfactoria, identificando los tipos de objetos predeterminados con un alto porcentaje de certeza, y es capaz de determinar la posición de los mismos dentro del área de trabajo del robot.

No obstante, el sistema posee la siguiente limitante: si varía la iluminación del área de trabajo hay que reajustar manualmente el umbral de filtrado de la imagen, pues el método de segmentación empleado no permite hacerlo de manera dinámica. En próximas versiones se pretende mejorar el sistema de visión, específicamente la etapa de segmentación de la imagen, con la implementación del método de Otsu que, al trabajar la imagen de forma local, es menos ruidoso; y que al estar basado en el análisis discriminante de la misma, permite tener un umbral autoajustable que dotaría al sistema de un mayor grado de independencia en lo relativo a la iluminación del entorno de trabajo del robot.

A continuación se muestran los resultados obtenidos a partir de pruebas efectuadas variando el número de neuronas de la capa de procesamiento. Estos resultados avalan la selección de la topología definitiva para la red neuronal empleada en el sistema.

donde:

NNCP : número de neuronas en la capa de procesamiento;

Tr : tiempo de respuesta de la red neuronal en segundos;

Te : Tiempo de entrenamiento de la red neuronal en minutos;

Pc : Porcentaje de certeza de la red neuronal.

 

Conclusiones

Se obtuvo una aplicación capaz de dotar de cierto grado de inteligencia a un robot manipulador, a partir de la implementación de un sistema de visión artificial basado en el reconocimiento de patrones, utilizando redes neuronales. Para ello se empleó un algoritmo para el procesamiento de imágenes basado en el método de crecimiento de regiones por agrupación de píxeles sobre imágenes filtradas a tonos de grises, y fueron aplicados algoritmos para la identificación inteligente de objetos en las mismas. Se desarrolló un modelo matemático que describe la cinemática inversa del robot empleado, a partir de las consideraciones prácticas dadas para su empleo.

 

Referencias bibliográficas

1. RODRÍGUEZ MORALES, R.: Monografía del curso de procesamiento de imágenes. Instituto de Cibernética, Matemática y Física (ICIMAF), LA Habana, Cuba, 2000.

2. BELLO PÉREZ, R.: Curso Introductorio de Redes Neuronales Artificiales, McGrawHill, Madrid, España, 1993.

3. DUDA, R. and P. HART: Pattern classification, John Wiley & Sons New York, USA, 2001.

4. AGUADO BEHAR, A.: Temas de Identificación y Control Adaptable, Instituto de Cibernética, Matemática y Física (ICIMAF), La Habana, Cuba, 2000.

5. DEMUTH, H.; M. BEALE and M. HAGAN: Neural Network Toolbox 5 User's Guide. The MathWorks Inc., USA, 2007.

6. GONZÁLEZ OROZCO, J.: Control Servovisual para Robot Manipulador en 3D, Tesis (en opción al grado científico de Doctor en Ciencias Técnicas), Universidad Central Marta Abreu de Las Villas, Facultad de Ingeniería Eléctrica, Departamento de Automática, Santa Clara, Cuba, 2007.

7. POZO QUINTERO, A. y S. ARBIDE: La Síntesis Cinemática y Dinámica de dos Robots Industriales. Editorial Academia, La Habana, Cuba, 1989.

Recibido 11/01/10, aprobado 31/03/11, trabajo 21/11, investigación

Creative Commons License Todo o conteúdo deste periódico, exceto onde está identificado, está licenciado sob uma Licença Creative Commons