<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>1815-5944</journal-id>
<journal-title><![CDATA[Ingeniería Mecánica]]></journal-title>
<abbrev-journal-title><![CDATA[Ingeniería Mecánica]]></abbrev-journal-title>
<issn>1815-5944</issn>
<publisher>
<publisher-name><![CDATA[Facultad de Ingeniería Mecánica. Instituto Superior Politécnico "José Antonio Echeverría"]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S1815-59442012000300007</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Plataforma de desarrollo para el control en tiempo real de estructuras cinemáticas con realimentación visual]]></article-title>
<article-title xml:lang="en"><![CDATA[Platform to develop real time visual servoing control in kinematics systems]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[González-Rodríguez]]></surname>
<given-names><![CDATA[René]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Hernández-Santana]]></surname>
<given-names><![CDATA[Luís]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Empresa de Automatización Integral CEDAI  ]]></institution>
<addr-line><![CDATA[Santa Clara ]]></addr-line>
<country>Cuba</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad Central Marta Abreu de Las Villas Facultad de Ingeniería Eléctrica ]]></institution>
<addr-line><![CDATA[Santa Clara ]]></addr-line>
<country>Cuba</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>12</month>
<year>2012</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>12</month>
<year>2012</year>
</pub-date>
<volume>15</volume>
<numero>3</numero>
<fpage>233</fpage>
<lpage>242</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_arttext&amp;pid=S1815-59442012000300007&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_abstract&amp;pid=S1815-59442012000300007&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_pdf&amp;pid=S1815-59442012000300007&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[En este trabajo se presenta una plataforma de desarrollo para el control en tiempo real de estructuras cinemáticas con realimentación visual. Se ha diseñado una configuración genérica que permite la implementación de cualquier variante de control visual. Para el procesamiento de la imagen se ha propuesto una estrategia que permite el uso de diferentes herramientas comerciales o algoritmos propios para la captura y extracción de características de la imagen. El uso de Real Time Work Shop y Real Time Windows Target en el lazo de control interno brinda la posibilidad de implementar algoritmos de control servovisual en tiempo real. Al final del trabajo se presentan los resultados de un esquema de control servovisual aplicado en un manipulador industrial. La plataforma propuesta constituye una herramienta de desarrollo para aplicaciones industriales de control servovisual y sirve de apoyo a la enseñanza de la mecatrónica en pregrado y postgrado.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[In this work we propose a platform to develop visual servoing control systems. The platform has a generic design with the possibility to implement direct or look and move visual servoing systems. For the image processing we present a generic design allowing the use of any image processing library like Matrox MIL, Intel IPP, OpenCV or any algorithms for image capture and target characteristics extraction. The uses of Real Time Work Shop and Real Time Windows Target in the internal loop permits modify the control structure in SIMULINK very easy.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[control servovisual]]></kwd>
<kwd lng="es"><![CDATA[control en tiempo real]]></kwd>
<kwd lng="es"><![CDATA[estructuras cinemáticas]]></kwd>
<kwd lng="en"><![CDATA[visual servoing]]></kwd>
<kwd lng="en"><![CDATA[real time control]]></kwd>
<kwd lng="en"><![CDATA[kinematics systems]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <div align="right">    <P><font face="Verdana" size="2"> <b>ART&Iacute;CULO ORIGINAL</b></font>  </P>    <P>&nbsp; </P></div>    <P><font face="Verdana" size="2"><b><font size="4">Plataforma  de desarrollo para el control en tiempo real de estructuras cinem&aacute;ticas  con realimentaci&oacute;n visual</font></b></font>     <P>&nbsp;     <P><font face="Verdana" size="2"><b><font size="3">Platform  to develop real time visual servoing control in kinematics systems</font></b>  </font>     <P>&nbsp;     <P>&nbsp;     <P><font face="Verdana" size="2"><b>Ren&eacute; Gonz&aacute;lez-Rodr&iacute;guez<SUP>I</sup>,  Luis Hern&aacute;ndez-Santana<SUP>II</sup></b> </font>     <P><font face="Verdana" size="2">I  Empresa de Automatizaci&oacute;n Integral CEDAI. Santa Clara, Cuba.    ]]></body>
<body><![CDATA[<br> II Universidad  Central Marta Abreu de Las Villas. Facultad de Ingenier&iacute;a El&eacute;ctrica.  Santa Clara, Cuba. </font>     <P>&nbsp;     <P>&nbsp; <hr>     <P><font face="Verdana" size="2"><b>RESUMEN</b></font>      <P><font face="Verdana" size="2">En este trabajo se presenta una plataforma de  desarrollo para el control en tiempo real de estructuras cinem&aacute;ticas con  realimentaci&oacute;n visual. Se ha dise&ntilde;ado una configuraci&oacute;n gen&eacute;rica  que permite la implementaci&oacute;n de cualquier variante de control visual.  Para el procesamiento de la imagen se ha propuesto una estrategia que permite  el uso de diferentes herramientas comerciales o algoritmos propios para la captura  y extracci&oacute;n de caracter&iacute;sticas de la imagen. El uso de <i>Real  Time Work Shop</i> y <i>Real Time Windows Target</i> en el lazo de control interno  brinda la posibilidad de implementar algoritmos de control servovisual en tiempo  real. Al final del trabajo se presentan los resultados de un esquema de control  servovisual aplicado en un manipulador industrial. La plataforma propuesta constituye  una herramienta de desarrollo para aplicaciones industriales de control servovisual  y sirve de apoyo a la ense&ntilde;anza de la mecatr&oacute;nica en pregrado y  postgrado.</font>     <P><font face="Verdana" size="2"><b>Palabras claves</b>: control  servovisual, control en tiempo real, estructuras cinem&aacute;ticas. </font> <hr>      <P><font face="Verdana" size="2"><b>ABSTRACT</b></font>     <P><font face="Verdana" size="2">In  this work we propose a platform to develop visual servoing control systems. The  platform has a generic design with the possibility to implement direct or look  and move visual servoing systems. For the image processing we present a generic  design allowing the use of any image processing library like Matrox MIL, Intel  IPP, OpenCV or any algorithms for image capture and target characteristics extraction.  The uses of Real Time Work Shop and Real Time Windows Target in the internal loop  permits modify the control structure in SIMULINK very easy. </font>     <P><font face="Verdana" size="2"><b>Key  words:</b> visual servoing, real time control, kinematics systems.</font> <hr>      <P>&nbsp;     ]]></body>
<body><![CDATA[<P>&nbsp;     <P><font face="Verdana" size="2"><b><font size="3">INTRODUCCI&Oacute;N</font></b></font>      <P>&nbsp;     <P><font face="Verdana" size="2">El control de estructuras cinem&aacute;ticas  con realimentaci&oacute;n visual es un tema de mucho inter&eacute;s en la comunidad  cient&iacute;fica actual. La necesidad de brindarle a las m&aacute;quinas cada  vez mayor independencia, ha provocado que reconocidos investigadores y centros  de investigaci&oacute;n a nivel mundial dediquen tiempo y recursos en crear sistemas  aut&oacute;nomos. La c&aacute;mara de video se ha convertido en el sensor que  m&aacute;s informaci&oacute;n brinda del ambiente sin interactuar con &eacute;ste.  Esto provoca que los sistemas con realimentaci&oacute;n visual, <i>visualservoing</i>  como se conocen en ingl&eacute;s, est&eacute;n en constante desarrollo. La literatura  reporta gran cantidad de trabajos de aplicaciones y estrategias de control servovisual.  La mayor&iacute;a de los art&iacute;culos est&aacute;n enfocados en aplicaciones  con configuraciones espec&iacute;ficas de robots manipuladores [1, 3] o robots  m&oacute;viles [4, 5]. </font>     <P><font face="Verdana" size="2">Para una instituci&oacute;n  que se dedique al desarrollo de sistemas de control con realimentaci&oacute;n  visual es fundamental tener el banco de trabajo o plataforma experimental que  permita la implementaci&oacute;n y puesta a punto de los sistemas en estudio.  Una problem&aacute;tica existente en la actualidad es la falta de plataformas  o bancos de trabajo gen&eacute;ricos reutilizables que permitan el desarrollo  de sistemas de control servovisual ya sea con fines industriales o docentes. </font>      <P><font face="Verdana" size="2">La literatura reporta ejemplos de plataformas  de desarrollo. Marchand y colaboradores presentan ViSP: <i>Visual ServoingPlatform</i>  consistente en una plataforma gen&eacute;rica con una amplia gama de controladores  para robots manipuladores. El trabajo consiste en un ambiente de desarrollo hecho  en C++ sobre Linux con las posibilidades de portabilidad, independencia de hardware  y simplicidad. Esta plataforma brinda una extensa biblioteca de tareas elementales  con varias caracter&iacute;sticas visuales que se pueden combinar entre ellas  para obtener el sistema deseado. Posibilita el uso de una biblioteca de procesamiento  de imagen que permite el seguimiento de se&ntilde;ales visuales a la raz&oacute;n  de muestreo del video, un simulador, una interfaz con varias tarjetas de adquisici&oacute;n  de im&aacute;genes [6]. </font>     <P><font face="Verdana" size="2">Otro reporte  de plataforma de trabajo es presentado por Soria y colaboradores, quienes defienden  una arquitectura para el desarrollo r&aacute;pido de prototipos para control servovisual  basado en productos est&aacute;ndares de hardware y software. El esquema presentado  permite controlar una amplia variedad de sistemas servovisuales incluyendo robots  manipuladores. El ambiente est&aacute; basado en <i>MATLAB</i>/<i>SIMULINK</i>.  Se presentan experimentos que validan el funcionamiento de la plataforma [7].  </font>     <P><font face="Verdana" size="2">Por su parte, Corke presenta un Toolbox  para <i>MATLAB</i> sobre visi&oacute;n y controles basados en visi&oacute;n nombrado  <i>Machine VisionToolbox MVT</i>. Si bien no permite la implementaci&oacute;n  en sistemas reales, s&iacute; contribuye a la prueba de algoritmos en simulaci&oacute;n  [8]. </font>     <P><font face="Verdana" size="2">Despu&eacute;s de un profundo estudio  de los sistemas reportados en la literatura se decidi&oacute; dise&ntilde;ar e  implementar toda la infraestructura de hardware y software que permita la realizaci&oacute;n  de los experimentos y el desarrollo de futuros trabajos en el tema de control  servovisual de estructuras cinem&aacute;ticas. En el presente trabajo se propone  una plataforma para el desarrollo de sistemas de control con realimentaci&oacute;n  visual. La plataforma tiene un dise&ntilde;o gen&eacute;rico que permite la implementaci&oacute;n  de cualquier estructura de control visual directo [9] o con control articular  [10]. Para el procesamiento de la imagen se realiza un dise&ntilde;o que permite  el uso de diferentes herramientas de procesamiento como las bibliotecas de la  <i>Matrox</i> MIL, Intel IPP, de c&oacute;digo abierto <i>OpenCV</i> o algoritmos  propios para la captura y extracci&oacute;n de caracter&iacute;sticas de la imagen.  El uso de <i>Real Time Work Shop</i> y <i>Real Time Windows Target</i> de <i>MATLAB</i>  en el lazo de control interno brinda la posibilidad de implementar algoritmos  de control servovisual directos o del tipo Vea y Mueva din&aacute;micos en tiempo  real. Adem&aacute;s, las estructuras de control se pueden variar con relativa  facilidad desde el ambiente gr&aacute;fico del <i>SIMULINK</i>. Para validar el  funcionamiento del sistema se presentan los resultados de una estructura de control  del tipo Vea y Mueva con compensaci&oacute;n cinem&aacute;tica en un robot manipulador  industrial. </font>     <P>&nbsp;     ]]></body>
<body><![CDATA[<P><font face="Verdana" size="2"><b><font size="3">M&Eacute;TODO</font></b></font>      <P>&nbsp;     <P><font face="Verdana" size="2">Existen varios modelos de controladores para  robots industriales seg&uacute;n el tipo de accionamiento, sensores y fabricantes.  Por ejemplo, la firma <i>Kuka</i> fabrica controladores KRC y KMC, con tecnolog&iacute;a  <i>Devicenet</i>, que pueden ser simulados y programados desde ambiente <i>Microsoft  Windows</i>. ABB presenta controladores muy eficientes como el S4CPlus en el que  se combinan una alta aceleraci&oacute;n y el control de movimiento de ABB <i>Quickmove</i>  con una precisi&oacute;n de &#177;0,03 mm. </font>     <P><font face="Verdana" size="2">La  mayor&iacute;a de los robots industriales no permiten modificar el algoritmo de  control articular, pero dan la posibilidad de comunicaci&oacute;n v&iacute;a RS232  para programar los valores deseados de los controladores, tanto articulares como  cartesianos. Esta limitante es tomada como premisa para el dise&ntilde;o de la  plataforma de desarrollo, donde se propone una unidad l&oacute;gica de procesamiento  para el control articular (an&aacute;loga al control cerrado del manipulador)  que recibe los valores deseados desde otra unidad de procesamiento como se muestra  en la <a href="#f1">figura 1</a>. </font>     <P align="center"><a name="f1"></a><img src="/img/revistas/im/v15n3/f0107312.gif" width="500" height="231" alt="Fig. 1. Esquema de control de la plataforma de desarrollo propuesta">      
<P>     <P>     <P><font face="Verdana" size="2">Esta configuraci&oacute;n permite realizar  experimentos bajo las mismas condiciones de los robots manipuladores industriales  comerciales. Para el control articular se decidi&oacute; usar una PC, en lugar  de un controlador industrial comercial, con el objetivo de permitir la implementaci&oacute;n  de diferentes algoritmos de control de robots. De esta forma, se obtiene, como  valor agregado, una herramienta experimental para la docencia y la investigaci&oacute;n  en teor&iacute;a de control, accionamiento el&eacute;ctrico y rob&oacute;tica.  </font>     <P><font face="Verdana" size="2">Para el lazo de visi&oacute;n se propone  una PC con el software de captura y procesamiento de imagen. La <a href="#f2">figura  2</a> muestra el dise&ntilde;o por capas del software de visi&oacute;n. Como se  puede ver, el dise&ntilde;o tiene un enfoque gen&eacute;rico que posibilita el  uso de diferentes bibliotecas para la captura y procesamiento de la imagen. Las  capas est&aacute;n encapsuladas en clases relacionadas entre s&iacute; que abstraen  el dise&ntilde;o de la implementaci&oacute;n.</font>     <P align="center"><a name="f2"></a><img src="/img/revistas/im/v15n3/f0207312.gif" width="573" height="276" alt="Fig. 2. Diagrama por capas del dise&ntilde;o propuesto">      
]]></body>
<body><![CDATA[<P>     <P><font face="Verdana" size="2">El lazo de visi&oacute;n consta de varias  clases con relaciones de uso entre ellas. Por ejemplo, en la <a href="#f2">figura  2</a> se muestra la capa para la captura de imagen que es modelada en una clase,  <i>imageCapture</i>, que encapsula las funcionalidades de captura. La adquisici&oacute;n  puede realizarse usando la biblioteca <i>Video for Windows</i>, <i>MIL</i> o cualquier  otra escogida por el usuario. La interfaz de la clase <i>imageCapture</i> es la  misma, por lo que no se requiere recompilar el c&oacute;digo completo, solamente  el m&oacute;dulo que se desee variar seg&uacute;n el hardware que se est&eacute;  usando. Bajo esta filosof&iacute;a se pueden implementar todas las capas del lazo  de visi&oacute;n sin tener que modificar el c&oacute;digo completo de la aplicaci&oacute;n.  Con esta herramienta, el usuario consta de un SDK (<i>software developer kit</i>)  orientado al desarrollo de aplicaciones de procesamiento de imagen con las prestaciones  com&uacute;nmente utilizadas en los sistemas de control con realimentaci&oacute;n  visual y la posibilidad de ampliarlas seg&uacute;n las necesidades de la aplicaci&oacute;n.  El caso de la &uacute;ltima capa tiene un tratamiento especial. </font>     <P><font face="Verdana" size="2">Est&aacute;  dividida en dos clases: <i>visualizationLayer</i> y <i>communicationLayer</i>.  La primera es abstracta por lo que siempre debe ser implementada por el usuario  en dependencia de la forma de visualizar la informaci&oacute;n. Es una tarea que  lleva recursos y se le ha dado baja prioridad de ejecuci&oacute;n para garantizar  el tiempo real en las otras tareas de captura y procesamiento. Se pueden usar  las APIs cl&aacute;sicas de Windows, QT, o cualquier interfaz gr&aacute;fica seg&uacute;n  las necesidades de la aplicaci&oacute;n. </font>     <P><font face="Verdana" size="2"><b>Tiempo  de muestro lazo de visi&oacute;n</b> </font>     <P><font face="Verdana" size="2">El  tiempo de muestreo es una variable fundamental en cualquier sistema de control.  La <a href="#f1">figura 1</a> muestra dos lazos de control en cascada. El tiempo  de muestreo del lazo externo, donde se ejecutan las tareas de captura y procesamiento  de la imagen, depende de la potencialidad del sistema de adquisici&oacute;n de  im&aacute;genes que se use. Por ejemplo, si se tiene una tarjeta de adquisici&oacute;n  est&aacute;ndar con sistema NTSC a 30 fps (cuadros por segundo) se puede lograr  un tiempo de muestreo de 33.3 ms o 40 ms en sistema est&aacute;ndar PAL. En este  tiempo se debe procesar y filtrar la imagen, extraer las caracter&iacute;sticas  y enviar los puntos v&iacute;a RS232 al control articular. Si los algoritmos de  procesamiento y extracci&oacute;n de caracter&iacute;sticas consumen m&aacute;s  tiempo que la frecuencia de captura del sistema de visi&oacute;n, entonces se  perder&aacute;n algunos cuadros y el tiempo de muestreo estar&aacute; dado por  la suma de todos los tiempos de procesamiento de la imagen m&aacute;s el tiempo  de transmisi&oacute;n de los datos. </font>     <P><font face="Verdana" size="2"><b>Bibliotecas  para la captura y procesamiento de imagen</b> </font>     <P><font face="Verdana" size="2">En  la actualidad, existen varias bibliotecas para el procesamiento de imagen. Por  las prestaciones que brindan se destacan: </font>     <P><font face="Verdana" size="2"><i>Open  SourceComputerVisionOpenCV</i>: es una biblioteca de visi&oacute;n artificial  basada en c&oacute;digo abierto. Originalmente fue desarrollada por Intel. Desde  que apareci&oacute; su primera versi&oacute;n, alfa, en el mes de enero de 1999,  se ha utilizado en infinidad de aplicaciones como sistemas de seguridad con detecci&oacute;n  de movimiento o aplicaciones de control de procesos donde se requiere reconocimiento  de objetos. <i>OpenCV</i> es multiplataforma, existiendo versiones para Linux,  Mac OS X y Windows. Contiene m&aacute;s de 500 funciones que abarcan una gran  gama de &aacute;reas en el proceso de visi&oacute;n, como reconocimiento de objetos,  reconocimiento facial, calibraci&oacute;n de c&aacute;maras, est&eacute;reo visi&oacute;n  y visi&oacute;n rob&oacute;tica. El proyecto <i>OpenCV</i> pretende proveer un  <i>Tool-Kit</i> o marco de desarrollo f&aacute;cil de utilizar y altamente eficiente.  Esto se ha logrado realizando su programaci&oacute;n en c&oacute;digo C y C++  optimizados, aprovechando las capacidades que proveen los procesadores multi n&uacute;cleo.  <i>OpenCV</i> puede, adem&aacute;s, integrarse con la Intel IPP para aumentar  su rendimiento en procesadores Intel. </font>     <P><font face="Verdana" size="2">Intel  IPP: IPP es el acr&oacute;nimo en ingl&eacute;s de <i>Integrated Performance Primitives</i>.  Intel IPP est&aacute; formado por una biblioteca de funciones para el procesamiento  de im&aacute;genes, se&ntilde;ales, y operaciones matem&aacute;ticas, que han  sido optimizadas para m&uacute;ltiples sistemas operativos y procesadores. Se  sirve de una biblioteca de bajo nivel que extrae la funcionalidad del procesador,  de ah&iacute; que haya una versi&oacute;n de la biblioteca espec&iacute;fica para  cada procesador. Tiene un API com&uacute;n, es decir, que el aspecto del c&oacute;digo  es el mismo para todas las versiones, mientras que la puesta en pr&aacute;ctica  de la funci&oacute;n subyacente tiene en cuenta las variaciones de las arquitecturas  del procesador. Intel IPP est&aacute; actualmente disponible para Windows y Linux  y s&oacute;lo es v&aacute;lida en procesadores Intel. </font>     <P><font face="Verdana" size="2"><i>MatroxImaging  Library</i> (MIL): es una colecci&oacute;n de herramientas de software para desarrollar  aplicaciones en procesamiento de im&aacute;genes, visi&oacute;n por computador,  im&aacute;genes m&eacute;dicas, y an&aacute;lisis de videos. La MIL est&aacute;  compuesta por programas interactivos y funciones para la captura de imagen, procesamiento,  an&aacute;lisis, anotaciones, visualizaci&oacute;n y almacenamiento. Se integra  con la mayor&iacute;a de las tarjetas de captura, <i>framegrabbers</i>, aunque  obtienen el mayor rendimiento con las tarjetas propias de la <i>Matrox</i>. </font>      ]]></body>
<body><![CDATA[<P><font face="Verdana" size="2"><b>Software para el control articular</b> </font>      <P><font face="Verdana" size="2">Para el lazo de control articular se decidi&oacute;  usar el <i>MATLAB</i> como sistema base. De esta forma se obtendr&iacute;an las  ventajas de c&aacute;lculo, simulaci&oacute;n y herramientas para el control autom&aacute;tico  que brinda el <i>MATLAB</i>. </font>     <P><font face="Verdana" size="2">El tiempo  de muestreo del control articular est&aacute; limitado por el tiempo de los algoritmos  de lectura de los sensores, por la complejidad del algoritmo de control y por  el tiempo de ejecuci&oacute;n de las operaciones de salida hacia los actuadores.  Normalmente los sistemas de adquisici&oacute;n de datos trabajan de forma paralela  al procesamiento (<i>pipeline</i>) por lo que las entradas y salidas se pueden  realizar con un retardo de muestreo, quedando como tiempo determinante en la subrutina  de tiempo real el tiempo que demora en ejecutarse el algoritmo de control. Para  garantizar un tiempo de muestreo estable en un sistema operativo que no es de  tiempo real como Windows, se realiza el dise&ntilde;o para el control articular  basado en los <i>Toolboxs: Extended Real-Time Workshop</i> y <i>Real-Time Windows  Target </i>de<i> MATLAB</i>, los cuales permiten realizar la ejecuci&oacute;n  en tiempo real de un esquema <i>SIMULINK</i> sobre un determinado sistema de adquisici&oacute;n  de datos, logrando la interacci&oacute;n sobre el sistema f&iacute;sico conectado  a &eacute;l. Por una parte, <i>Real-Time Workshop</i> proporciona la conexi&oacute;n  en tiempo real con el sistema de adquisici&oacute;n de datos, mientras que <i>Real  Time Windows Target</i> permite la ejecuci&oacute;n de esquemas <i>SIMULINK</i>  sobre <i>Real Time Workshop</i>. Con esta configuraci&oacute;n se pueden bajar  los tiempos de muestreo en el lazo de control interno hasta 1 ms. </font>     <P><font face="Verdana" size="2">El  hecho de ejecutar directamente un esquema <i>SIMULINK</i> supone una ventaja a&ntilde;adida  ya que el tiempo y la complejidad de trabajar directamente en su ambiente gr&aacute;fico  se reducen en gran medida, permitiendo una f&aacute;cil creaci&oacute;n y modificaci&oacute;n  de esquemas. </font>     <P><font face="Verdana" size="2">Para el uso de hardware  no convencional, que no est&eacute; en las bibliotecas que por defecto tiene <i>MATLAB,</i>  o para la implementaci&oacute;n de algoritmos espec&iacute;ficos de control articular,  se proponen plantillas para la programaci&oacute;n y ejecuci&oacute;n en tiempo  real. Las plantillas son S-Functions que permiten cargarse en tiempo de corrida  y su ejecuci&oacute;n en tiempo realpara adicionar funcionalidad a nivel de bloque  al <i>SIMULINK</i>. Debido a las exigencias y limitantes de las S-Function que  se ejecutan en tiempo real, se crea una interfaz para facilitar el dise&ntilde;o  con el uso de Scripts que automatizan el proceso de implementaci&oacute;n. Como  se puede ver en la <a href="#f3">figura 3</a>, la interfaz para la creaci&oacute;n  de las <i>S-Functions</i> est&aacute; dividida en:</font>     <P align="center"><a name="f3"></a><img src="/img/revistas/im/v15n3/f0307312.jpg" width="579" height="421" alt="Fig. 3. Interfaz para generaci&oacute;n de S-Functions a partir de Scripts">  <ul>     
<li><font face="Verdana" size="2">Datos de la S-Function. Nombre de la funci&oacute;n,  n&uacute;mero de variables de entradas, n&uacute;mero de variables de salidas.  </font> </li>    <li><font face="Verdana" size="2">C&oacute;digo de la funci&oacute;n  principal. En este Script se implementa en C el algoritmo principal de la S-Function.  Se especifican las entradas como u[0], u[1]...u[n] y las salidas como y[0], y[1]...y[n].  </font> </li>    <li><font face="Verdana" size="2">Variables globales y funciones  auxiliares. Las variables globales declaradas en este Scriptson visibles y pueden  ser usadas desde cualquier lugar de la S-Function, las funciones auxiliares son  fragmentos de c&oacute;digo que se necesiten ejecutaren cualquiera de las partes  de la S-Function, por ejemplo el acceso a puertos y zonas de memoria, c&aacute;lculos  auxiliares, etc. </font> </li>    <li><font face="Verdana" size="2">Funci&oacute;n  de inicializaci&oacute;n. Se ejecuta una sola vez cuando se inicia el proceso  de corrida. Se usa para configurar e inicializar puertos, timers, hardware, habilitar  buffers. </font> </li>    ]]></body>
<body><![CDATA[<li><font face="Verdana" size="2">Funci&oacute;n de terminaci&oacute;n.  Se ejecuta una sola vez al terminar la ejecuci&oacute;n. Se usa para restablecer  las configuraciones de los puertos y hardware en general, limpiar buffers, almacenar  resultados offline o cualquier tarea de terminaci&oacute;n. </font> </li>    <li><font face="Verdana" size="2">La  interfaz para la generaci&oacute;n de S-Functiona partir de Scriptsfue utilizada  para crear el m&oacute;dulo de comunicaci&oacute;n v&iacute;a RS232/485 con la  PC que ejecuta la captura, procesamiento y extracci&oacute;n de caracter&iacute;sticas  de la imagen. </font> </li>    </ul>    <P><font face="Verdana" size="2"><b>Implementaci&oacute;n</b>  </font>     <P><font face="Verdana" size="2">Para demostrar el funcionamiento de la  plataforma se realizaron varios experimentos en un robot ASEA IRB6 con arquitectura  de control abierta. El lazo interno es implementado en una PC Intel Pentium III  a 500 MHz conectada al robot a trav&eacute;s de una tarjeta de adquisici&oacute;n  <i>Humusoft</i> MF624 que se encarga de leer de los <i>encoders</i> la posici&oacute;n  articular de cada articulaci&oacute;n y dar la se&ntilde;al de mando, a los drivers  de corriente directa del motor, generados por el algoritmo de control con un tiempo  de muestreo de 1ms. La se&ntilde;al de video es tomada a trav&eacute;s de una  tarjeta de captura (<i>framegrabber</i>) EZ-<i>Capture</i> con <i>chipset</i>  BT878 montada en una segunda computadora Intel Celeron a 2.0G Hz la cual procesa  la imagen, extrae las caracter&iacute;sticas del objeto, resuelve el problema  cinem&aacute;tico inverso y env&iacute;a los datos v&iacute;a RS232 a la primera  PC cada 50 ms como lo muestra la <a href="#f1">figura 1. </a></font>     <P><font face="Verdana" size="2"><b>Software  para la captura y procesamiento de imagen</b> </font>     <P><font face="Verdana" size="2">Para  el sistema de visi&oacute;n se us&oacute; una c&aacute;mara monocrom&aacute;tica  JAI CV-252. Se desarroll&oacute; un software de captura, procesamiento, control  del lazo externo, c&aacute;lculo de la cinem&aacute;tica inversa y m&oacute;dulo  de comunicaci&oacute;n. La <a href="/img/revistas/im/v15n3/f0407312.jpg">figura  4</a> muestra una de las ventanas de parametrizaci&oacute;n del software desarrollado.  Para optimizar el procesamiento de la imagen en tiempo real se decidi&oacute;  usar las bibliotecas <i>MatroxImaging Library</i>. </font>     
<P align="left"><font face="Verdana" size="2">Una  importante operaci&oacute;n en el control de robots mediante retroalimentaci&oacute;n  visual es la determinaci&oacute;n de las coordenadas de un punto caracter&iacute;stico  de la imagen. Generalmente, esta operaci&oacute;n es realizada a trav&eacute;s  del c&aacute;lculo del centroide. </font>     <P><font face="Verdana" size="2">Para  la extracci&oacute;n de caracter&iacute;sticas del objeto se usaron varias t&eacute;cnicas  de procesamiento de im&aacute;genes para el filtrado y mejoramiento de la misma.  Se implement&oacute; un algoritmo capaz de filtrar y detectar el centroide de  un objeto, el &aacute;rea y la distancia entre dos puntos en un rango determinado.  Usando la biblioteca MIL, el algoritmo en forma secuencial queda de la siguiente  forma: </font>     <P><font face="Verdana" size="2">1. Binarizar la imagen. </font>      ]]></body>
<body><![CDATA[<P><font face="Verdana" size="2">2. Quitar las part&iacute;culas peque&ntilde;as  y luego los orificios (Close Open). </font>     <P><font face="Verdana" size="2">3.  Asignar espacio para la lista de caracter&iacute;sticas </font>     <P><font face="Verdana" size="2">4.  Asignar un buffer para el resultado. </font>     <P><font face="Verdana" size="2">5.  Especificar el &aacute;rea deseada. </font>     <P><font face="Verdana" size="2">6.  Calcular las caracter&iacute;sticas seleccionadas para cada objeto. </font>     <P><font face="Verdana" size="2">7.  Excluir objetos cuya &aacute;rea sea muy peque&ntilde;a. </font>     <P><font face="Verdana" size="2">8.  Marcar el centro de gravedad. </font>     <P><font face="Verdana" size="2">9. Seleccionar  el centro de gravedad como la caracter&iacute;stica de inter&eacute;s. </font>      <P><font face="Verdana" size="2">10. Calcular el &aacute;rea y la distancia entre  dos puntos del objeto para el experimento 3D. </font>     <P><font face="Verdana" size="2">El  sistema de visi&oacute;n usando el modelo <i>Pinhole</i> de la c&aacute;mara ha  sido descrito por varios autores [11, 12]. El modelo implementado en el experimento  es el presentado por Hern&aacute;ndez en [10]: </font>     ]]></body>
<body><![CDATA[<P><img src="/img/revistas/im/v15n3/e0107312.gif" width="269" height="74" align="absmiddle" alt="Ecuaci&oacute;n 1"><font face="Verdana" size="2">  (1) </font>     
<P>     <P><font face="Verdana" size="2">Donde &#948; significa variaciones  alrededor del punto de operaci&oacute;n, [<i>u v d</i> ]<sup>T</sup> es el vector  de caracter&iacute;sticas de la imagen (posici&oacute;n del centroide y distancia  entre dos puntos en el plano imagen), &#945 es el factor de escala del lente,  &#955; la distancia focal, <img src="/img/revistas/im/v15n3/ep07312.gif" width="78" height="20" align="absmiddle">  el vector de posici&oacute;n del objeto con respecto a la c&aacute;mara y C&#968;  y S&#968; son los cosenos y senos del &aacute;ngulo de rotaci&oacute;n &#968;  entre el eje coordenado de la c&aacute;mara y el robot. </font>     
<P>&nbsp;     <P><font face="Verdana" size="2"><b><font size="3">RESULTADOS</font></b></font>      <P>&nbsp;     <P><font face="Verdana" size="2">Con el objetivo de validar el sistema propuesto  se realiz&oacute; el experimento de posicionar el robot ABB IRB6 con respecto  a un objeto que se mueve en el espacio. Dentro de las estructuras de control servovisual,  reportadas en la literatura [13, 15] se decidi&oacute; implementar una aproximaci&oacute;n  de la variante de Control Servovisual Basado en Imagen con compensaci&oacute;n  cinem&aacute;tica que se muestra en la <a href="/img/revistas/im/v15n3/f0507312.gif">figura  5</a> y que fue presentada por Gonz&aacute;lez-Rodr&iacute;guez y colaboradores  [16]. En este caso con varios puntos caracter&iacute;sticos. </font>     
<P>     <P><font face="Verdana" size="2">La  funci&oacute;n f(&#958;) se encarga de convertir los puntos caracter&iacute;sticos  del vector de la imagen &#958; en movimientos por cada grado de libertad. Esta  estructura brinda la posibilidad de ser un sistema de muy f&aacute;cil implementaci&oacute;n  en robots manipuladores industriales con control articular cerrado sin la necesidad  de usar el modelo del Jacobiano de la imagen. El vector de estado del objeto solo  puede ser medido por la c&aacute;mara, por lo que, el conocimiento directo de  los valores deseados de los &aacute;ngulos de las articulaciones, q<sub>d</sub>,  no es conocido. Sin embargo, el vector de posiciones articulares puede ser obtenido  como resultado de la estimaci&oacute;n de la se&ntilde;al de control &#916; y  la soluci&oacute;n del problema cinem&aacute;tico.El control interno est&aacute;  desarrollado con una arquitectura abierta donde puede ser implementado cualquier  tipo de controlador. Una posibilidad es usar un control no lineal en el estado  de las variables conocido como torque-calculado con la siguiente ecuaci&oacute;n:  </font>     <P><font face="Verdana" size="2"><img src="/img/revistas/im/v15n3/e0207312.gif" width="283" height="22" align="absmiddle" alt="Ecuaci&oacute;n 2">  (2) </font>     
]]></body>
<body><![CDATA[<P>     <P><font face="Verdana" size="2">Donde <i><b>M</b></i>(<i><b>q</b></i>)  es la matriz de inercia, <b>q</b> el vector de movimientos articulares, <img src="/img/revistas/im/v15n3/ec07312.gif" width="45" height="19" align="absmiddle">  vector de fuerza centr&iacute;peta y coriolis, <i><b>g</b></i>(<i><b>q</b></i>)vector  de torque gravitacional, <b><i>&#964;</i></b>,vector de torque aplicado al robot  <img src="/img/revistas/im/v15n3/ekp07312.gif" width="136" height="20" align="absmiddle">,  matrices sim&eacute;tricas definidas positivas y <img src="/img/revistas/im/v15n3/eq07312.gif" width="70" height="18" align="absmiddle">.  En [17] se demuestra que con esta configuraci&oacute;n el sistema enlazo cerrado  se comporta como un sistema lineal multivariable desacoplado en cada una de las  articulaciones del robot, sugiriendo que las matrices pueden ser expresadas como:  <img src="/img/revistas/im/v15n3/ek07312.gif" width="270" height="20" align="absmiddle">.  De esta forma cada articulaci&oacute;n se comporta como un sistema lineal cr&iacute;ticamente  amortiguado, de segundo orden, con ancho de banda &#969;<sub>i</sub> que determina  la velocidad de respuesta de cada articulaci&oacute;n. En tal sentido, el efecto  din&aacute;mico del lazo interno es independiente con respecto al lazo externo,  siempre que se cumpla la condici&oacute;n <img src="/img/revistas/im/v15n3/eq207312.gif" width="87" height="21" align="absmiddle">.  En este art&iacute;culo se considera una simple aproximaci&oacute;n que consiste  en usar el vector de caracter&iacute;sticas de la imagen &#958;, como la diferencia  entre el centro del plano imagen &#958;<sub>d</sub> y el centro de gravedad del  objeto en el espacio de la imagen &#958;; y la diferencia entre una distancia  deseada en el plano imagen d<sub>d</sub> y la correspondiente distancia entre  dos puntos del objeto en el plano imagen d. </font>     
<P>     <P><font face="Verdana" size="2">La  descripci&oacute;n geom&eacute;trica y el c&aacute;lculo de la cinem&aacute;tica  que se utiliz&oacute; para los experimentos es presentada en [18]. La <a href="#f6">figura  6</a> muestra la plataforma de desarrollo implementada en un robot ASEA IRB6.  </font>     <P align="center"><a name="f6"></a><img src="/img/revistas/im/v15n3/f0607312.jpg" width="362" height="290" alt="Fig. 6. Estaci&oacute;n experimental">      
<P>     <P><font face="Verdana" size="2">Para corroborar los resultados te&oacute;ricos  se realizan tres experimentos:entradas tipo escal&oacute;n en las coordenadas  de la imagen, mover el extremo operativo del robot alrededor del objeto en forma  de c&iacute;rculo y crear perturbaciones en coordenadas cartesianas para analizar  su influencia en las otras coordenadas y graficar la robustez del sistema. La  <a href="#f7">figura 7</a> muestra los efectos que se tienen sobre el control  de profundidad cuando se aplican perturbaciones en el manipulador. Se puede apreciar  el buen comportamiento del sistema demostr&aacute;ndose la estabilidad y robustez  del mismo.</font>     <P align="center"><a name="f7"></a><img src="/img/revistas/im/v15n3/f0707312.gif" width="458" height="392" alt="Fig. 7. Respuesta del control de profundidad (distancia) frente a perturbaciones">      
<P>&nbsp;     <P><font face="Verdana" size="2"><b><font size="3">DISCUSI&Oacute;N</font></b></font>      ]]></body>
<body><![CDATA[<P>&nbsp;     <P><font face="Verdana" size="2">Como se pudo apreciar en la secci&oacute;n  anterior, la plataforma propuesta permite la implementaci&oacute;n de sistemas  servovisuales con relativa facilidad. Los tiempos de muestreo requeridos para  estos sistemas son garantizados. El lazo externo depende del sistema de adquisici&oacute;n  de im&aacute;genes y los algoritmos de procesamiento. La estructura propuesta  permite la utilizaci&oacute;n de hardware est&aacute;ndar (30 ms para NTSC a 40  ms PAL) o sistemas de adquisici&oacute;n especiales con mayor velocidad en la  captura de la imagen (fps). Para el caso del lazo de control interno, control  articular, se pueden lograr tiempos de muestreo de hasta 1 ms. </font>     <P><font face="Verdana" size="2">El  uso de las interfaces para la creaci&oacute;n de las S-Functionbrinda al usuario  uma herramienta que humaniza y agiliza el trabajo con el hardware, la interacci&oacute;n  con las interfaces de entrada salida y la creaci&oacute;n de algoritmos de control  que deben correr en tiempo real.</font>     <P>&nbsp;     <P><font face="Verdana" size="2"><b><font size="3">CONCLUSIONES</font></b></font>      <P>&nbsp;     <P><font face="Verdana" size="2">La plataforma presentada facilita el dise&ntilde;o  de los experimentos para estructuras cinem&aacute;ticas con realimentaci&oacute;n  visual a trav&eacute;s de herramientas de visi&oacute;n artificial y un ambiente  gr&aacute;fico (<i>SIMULINK</i>) que permite el cambio de estructura y su posterior  implementaci&oacute;n en tiempo real. El dise&ntilde;o de una interfaz gen&eacute;rica  para el lazo de visi&oacute;n brinda al usuario una herramienta de desarrollo  (SDK) para aplicaciones que requieran captura, procesamiento y extracci&oacute;n  de caracter&iacute;sticas de im&aacute;genes con la posibilidad de usar cualquier  biblioteca sin tener que modificar todo el c&oacute;digo. Se muestran los resultados  de algunos experimentos realizados en un robot ASEAIRB6 donde se corrobora la  estabilidad y el buen funcionamiento en tiempo real de la plataforma propuesta.  Esta plataforma constituye una herramienta de desarrollo para aplicaciones industriales  de control servovisual y sirve de apoyo a la ense&ntilde;anza de la mecatr&oacute;nica  en pregrado y postgrado.</font>     <P>&nbsp;     <P><font face="Verdana" size="2"><b><font size="3">REFERENCIAS</font></b></font>      <P>&nbsp;     ]]></body>
<body><![CDATA[<!-- ref --><P><font face="Verdana" size="2">1. Kosmopoulos, D. I., &quot;Robust Jacobian  matrix estimation for image-based visual servoing&quot;. <i>Robotics and Computer-Integrated  Manufacturing</i>, 2010. vol. 27, n&#186;. 1, p. 82-87. ISSN 0736-5845.     </font>      <!-- ref --><P><font face="Verdana" size="2">2. Hern&aacute;ndez, L., Sahli, H. y Gonz&aacute;lez,  R. &quot;Vision-based 2D and 3D Control of Robot Manipulators&quot;. En: <i>Robot  Manipulators Trends and Development. InTech. </i>2010. p. 441-462. ISBN 978-953-307-073-5.      </font>     <!-- ref --><P><font face="Verdana" size="2">3. Cid, J. and Reyes, F. &quot;Visual  Servoing Controller for Robot Manipulators&quot;. En: <i>International Conference  on Electrical, Communications and Computers CONIELECOMP</i>. 2009. ISBN 978-0-7695-3587-6.      </font>     <!-- ref --><P><font face="Verdana" size="2">4. de la Fuente, M. I., Echanobe, J.,  del Campo, I. <i>et al</i>. <i>Hardware Implementation of a Neural-Network Recognition  Module for Visual Servoing in a Mobile Robot</i>. USA: DEXA Workshops. 2010. ISBN  978-0-7695-4174-7.     </font>     <!-- ref --><P><font face="Verdana" size="2">5. Hadj-Abdelkader,  H., Mezouar, Y., Martinet, P. <i>et al</i>. &quot;Catadioptric Visual Servoing  From 3-D Straight Lines&quot;. <i>IEEE Transactions on Robotics</i>. 2008. vol.  24, n&#186;. 3, p. 652-665. ISSN 1552-3098.     </font>     ]]></body>
<body><![CDATA[<!-- ref --><P><font face="Verdana" size="2">6.  Marchand, E., Spindler, F. and Chaumette, F. &quot;ViSP for visual servoing: a  generic software platform with a wide class of robot control skills&quot;. <i>IEEE  Robotics and Automation Magazine</i>, 2005. vol. 12, n&#186;. 4, p 40-52. ISSN  1070-9932.     </font>     <!-- ref --><P><font face="Verdana" size="2">7. Soria, A., Garrido, R.,  V&aacute;zquez, I. <i>et al</i>. &quot;Architecture for rapid prototyping of visual  controllers&quot;. <i>Robotics and Autonomous Systems</i>, 2005. vol. 54, n&#186;.  6, p. 486-495. ISSN 0921-8890.     </font>     <!-- ref --><P><font face="Verdana" size="2">8. Corke,  P.I. &quot;The Machine Vision Toolbox: A MATLAB Toolbox for Vision and Vision-Based  Control&quot;. <i>IEEE Robotics and Automation Magazine</i>. 2005. vol. 12, n&#186;.  4, p. 16-25. ISSN 1070-9932.     </font>     <!-- ref --><P><font face="Verdana" size="2">9. Kelly,  R., Bugarin, E., Cervantes, I. <i>et al</i>. &quot;Monocular direct visual servoing  for regulation of manipulators moving in the 3D Cartesian space&quot;. En: <i>45th  IEEE Conference on Decision and Control</i>. San Diego, CA, USA. 2006.     </font>      <!-- ref --><P><font face="Verdana" size="2">10. Hern&aacute;ndez, L., Gonz&aacute;lez, R.,  Sahli, H. <i>et al</i>. &quot;Simple Solution for Visual Servoing of Camera-in-hand  Robots in the 3D Cartesian Space&quot;. En: <i>10th International Conference on  Control, Automation, Robotics and Vision</i>. Hanoi, Vietnam. 2008. ISBN 978-1-4244-2286-9.      </font>     ]]></body>
<body><![CDATA[<!-- ref --><P><font face="Verdana" size="2">11. Hutchinson, S., Hager, G. D. y Corke,  P. I. &quot;A tutorial on visual servo control&quot;. <i>IEEE Transactions on  Robotics and Automation.</i> 1996. vol. 12, n&#186;. 5, p. 651-670. ISSN 1042-296X.      </font>     <!-- ref --><P><font face="Verdana" size="2">12. Corke, P. I. y Hutchinson, S. &quot;Real-Time  Vision, Tracking and Control&quot;. En: <i>International Conference on Robotics  and Automation</i>. 2000. ISBN 0-7803-5889-9.     </font>     <!-- ref --><P><font face="Verdana" size="2">13.  Kelly, R., &quot;Robust Asymptotically Stable Visual Servoing of Planar Robots&quot;.  <i>IEEE Transactions on Robotics and Automation</i>. 1996, vol. 12, n&#186;. 5.  p. 48-56. ISSN 1042-296X.     </font>     <!-- ref --><P><font face="Verdana" size="2">14. Kelly,  R., Carelli, R. y Nasisi, O. B. &quot;Stable Visual Servoing of Camera-in-Hand  Robotic Systems&quot;. <i>IEEE/ASME Transactions on Mechatronics</i>. 2000. vol.  5, n&#186;. 1, p. 39-48. ISSN 1083-4435.     </font>     <!-- ref --><P><font face="Verdana" size="2">15.  Chaumette, F. y Hutchinson, S. &quot;Visual Servo Control. Part I Basic Approaches&quot;.  <i>IEEE Robotics and Automation Magazine</i>. 2006. vol. 13, n&#186;. 4, p. 82-90.  ISSN 1070-9932.     </font>     ]]></body>
<body><![CDATA[<!-- ref --><P><font face="Verdana" size="2">16. Gonz&aacute;lez-Rodr&iacute;guez,  R. y Santana, L. H. &quot;Control monocular 3D din&aacute;mico basado en imagen&quot;.  <i>Ingenier&iacute;a Electr&oacute;nica, Autom&aacute;tica y Comunicaciones</i>.  2011. vol. 32, n&#186;. 2, p. 15-30. [Consultado el: 12 de diciembre de 2011].  Disponible en: <a href="http://rielac.cujae.edu.cu/index.php/rieac/article/download/79/pdf_73" target="_blank">http://rielac.cujae.edu.cu/index.php/rieac/article/download/79/pdf_73</a>.  ISSN 1815-5928.     </font>     <!-- ref --><P><font face="Verdana" size="2">17. Kelly, R. y Santib&aacute;&ntilde;ez,  V. <i>Control de Movimiento de Robots Manipuladores</i>. Madrid: Pearson Education.  2003. ISBN 84-205-3831-0.     </font>     <!-- ref --><P><font face="Verdana" size="2">18. Gonz&aacute;lez-Rodr&iacute;guez,  R., Santana, L. H., Izaguirre, E. <i>et al</i>. &quot;Estrategia de control para  robots manipuladores con realimentaci&oacute;n visual y plataforma electro-neum&aacute;tica  de 3gdl&quot;. <i>Ingenier&iacute;a Mec&aacute;nica</i>. 2011. vol. 14, n&#186;.  3, p. 245-257. [Consultado el: 12 de diciembre de 2011]. Disponible en: <a href="http://www.ingenieriamecanica.cujae.edu.cu/index.php/revistaim/article/download/26/760" target="_blank">http://www.ingenieriamecanica.cujae.edu.cu/index.php/revistaim/article/download/26/760</a>.  ISSN 1815-5944.     </font>     <P>&nbsp;     <P>&nbsp;     <P><font face="Verdana" size="2">Recibido: 14  de febrero de 2012.    <br> Aceptado: 13 de junio de 2012.</font>     ]]></body>
<body><![CDATA[<P>&nbsp;     <P>&nbsp;     <P><font face="Verdana" size="2"><i>Ren&eacute;  Gonz&aacute;lez-Rodr&iacute;guez</i>. Empresa de Automatizaci&oacute;n Integral  CEDAI. Santa Clara, Cuba.     <br> Correo electr&oacute;nico: <a href="mailto:voltus@cedai.com.cu">voltus@cedai.com.cu</a></font>      <br>       ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kosmopoulos]]></surname>
<given-names><![CDATA[D. I.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Robust Jacobian matrix estimation for image-based visual servoing]]></article-title>
<source><![CDATA[Robotics and Computer-Integrated Manufacturing]]></source>
<year>2010</year>
<volume>27</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>82-87</page-range></nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hernández]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
<name>
<surname><![CDATA[Sahli]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[González]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Vision-based 2D and 3D Control of Robot Manipulators]]></article-title>
<source><![CDATA[Robot Manipulators Trends and Development. InTech.]]></source>
<year></year>
<page-range>441-462</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cid]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Reyes]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Visual Servoing Controller for Robot Manipulators]]></article-title>
<source><![CDATA[International Conference on Electrical, Communications and Computers CONIELECOMP]]></source>
<year>2009</year>
</nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[de la Fuente]]></surname>
<given-names><![CDATA[M. I.]]></given-names>
</name>
<name>
<surname><![CDATA[Echanobe]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[del Campo]]></surname>
<given-names><![CDATA[I.]]></given-names>
</name>
</person-group>
<source><![CDATA[Hardware Implementation of a Neural-Network Recognition Module for Visual Servoing in a Mobile Robot]]></source>
<year>2010</year>
<publisher-name><![CDATA[DEXA Workshops]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hadj-Abdelkader]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Mezouar]]></surname>
<given-names><![CDATA[Y.]]></given-names>
</name>
<name>
<surname><![CDATA[Martinet]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Catadioptric Visual Servoing From 3-D Straight Lines]]></article-title>
<source><![CDATA[IEEE Transactions on Robotics]]></source>
<year>2008</year>
<volume>24</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>652-665</page-range></nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Marchand]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
<name>
<surname><![CDATA[Spindler]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[Chaumette]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[ViSP for visual servoing: a generic software platform with a wide class of robot control skills]]></article-title>
<source><![CDATA[IEEE Robotics and Automation Magazine]]></source>
<year>2005</year>
<volume>12</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>40-52</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Soria]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Garrido]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Vázquez]]></surname>
<given-names><![CDATA[I.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Architecture for rapid prototyping of visual controllers]]></article-title>
<source><![CDATA[Robotics and Autonomous Systems]]></source>
<year>2005</year>
<volume>54</volume>
<numero>6</numero>
<issue>6</issue>
<page-range>486-495</page-range></nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Corke]]></surname>
<given-names><![CDATA[P. I.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The Machine Vision Toolbox: A MATLAB Toolbox for Vision and Vision-Based Control]]></article-title>
<source><![CDATA[IEEE Robotics and Automation Magazine]]></source>
<year>2005</year>
<volume>12</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>16-25</page-range></nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kelly]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Bugarin]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
<name>
<surname><![CDATA[Cervantes]]></surname>
<given-names><![CDATA[I.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Monocular direct visual servoing for regulation of manipulators moving in the 3D Cartesian space]]></article-title>
<source><![CDATA[45th IEEE Conference on Decision and Control]]></source>
<year>2006</year>
<publisher-loc><![CDATA[San Diego^eCA. CA.]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hernández]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
<name>
<surname><![CDATA[González]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Sahli]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Simple Solution for Visual Servoing of Camera-in-hand Robots in the 3D Cartesian Space]]></article-title>
<source><![CDATA[10th International Conference on Control, Automation, Robotics and Vision]]></source>
<year>2008</year>
<publisher-loc><![CDATA[Hanoi ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hutchinson]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Hager]]></surname>
<given-names><![CDATA[G. D.]]></given-names>
</name>
<name>
<surname><![CDATA[Corke]]></surname>
<given-names><![CDATA[P. I.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A tutorial on visual servo control]]></article-title>
<source><![CDATA[IEEE Transactions on Robotics and Automation]]></source>
<year>1996</year>
<volume>12</volume>
<numero>5</numero>
<issue>5</issue>
<page-range>651-670</page-range></nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Corke]]></surname>
<given-names><![CDATA[P. I.]]></given-names>
</name>
<name>
<surname><![CDATA[Hutchinson]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Real-Time Vision, Tracking and Control]]></article-title>
<source><![CDATA[International Conference on Robotics and Automation]]></source>
<year>2000</year>
</nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kelly]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Robust Asymptotically Stable Visual Servoing of Planar Robots]]></article-title>
<source><![CDATA[IEEE Transactions on Robotics and Automation]]></source>
<year>1996</year>
<volume>12</volume>
<numero>5</numero>
<issue>5</issue>
<page-range>48-56</page-range></nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kelly]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Carelli]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Nasisi]]></surname>
<given-names><![CDATA[O. B.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Stable Visual Servoing of Camera-in-Hand Robotic Systems]]></article-title>
<source><![CDATA[IEEE/ASME Transactions on Mechatronics]]></source>
<year>2000</year>
<volume>5</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>39-48</page-range></nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Chaumette]]></surname>
<given-names><![CDATA[F.]]></given-names>
</name>
<name>
<surname><![CDATA[Hutchinson]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Visual Servo Control: Part I Basic Approaches]]></article-title>
<source><![CDATA[IEEE Robotics and Automation Magazine]]></source>
<year>2006</year>
<volume>13</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>82-90</page-range></nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[González-Rodríguez]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Santana]]></surname>
<given-names><![CDATA[L. H.]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Control monocular 3D dinámico basado en imagen]]></article-title>
<source><![CDATA[Ingeniería Electrónica, Automática y Comunicaciones]]></source>
<year>2011</year>
<volume>32</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>15-30</page-range></nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kelly]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Santibáñez]]></surname>
<given-names><![CDATA[V.]]></given-names>
</name>
</person-group>
<source><![CDATA[Control de Movimiento de Robots Manipuladores]]></source>
<year>2003</year>
<publisher-loc><![CDATA[Madrid ]]></publisher-loc>
<publisher-name><![CDATA[Pearson Education]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[González-Rodríguez]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Santana]]></surname>
<given-names><![CDATA[L. H.]]></given-names>
</name>
<name>
<surname><![CDATA[Izaguirre]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Estrategia de control para robots manipuladores con realimentación visual y plataforma electro-neumática de 3gdl]]></article-title>
<source><![CDATA[Ingeniería Mecánica]]></source>
<year>2011</year>
<volume>14</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>245-257</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
