<?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>0123-921X</journal-id>
<journal-title><![CDATA[Tecnura]]></journal-title>
<abbrev-journal-title><![CDATA[Tecnura]]></abbrev-journal-title>
<issn>0123-921X</issn>
<publisher>
<publisher-name><![CDATA[Universidad Distrital Francisco José de Caldas]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0123-921X2017000100007</article-id>
<article-id pub-id-type="doi">10.14483/udistrital.jour.tecnura.2017.1.a07</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[OpenRRArch: una arquitectura abierta, robusta y confiable para el control de robots autónomos]]></article-title>
<article-title xml:lang="en"><![CDATA[OpenRRArch: An open, robust and reliable architecture for controlling autonomous robots]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Martínez Sarmiento]]></surname>
<given-names><![CDATA[Fredy Hernán]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Giral Ramírez]]></surname>
<given-names><![CDATA[Diego Armando]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Distrital Francisco José de Caldas  ]]></institution>
<addr-line><![CDATA[Bogotá ]]></addr-line>
<country>Colombia</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad Distrital Francisco José de Caldas  ]]></institution>
<addr-line><![CDATA[Bogotá ]]></addr-line>
<country>Colombia</country>
</aff>
<pub-date pub-type="pub">
<day>30</day>
<month>01</month>
<year>2017</year>
</pub-date>
<pub-date pub-type="epub">
<day>30</day>
<month>01</month>
<year>2017</year>
</pub-date>
<volume>21</volume>
<numero>51</numero>
<fpage>96</fpage>
<lpage>104</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0123-921X2017000100007&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0123-921X2017000100007&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0123-921X2017000100007&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[Resumen Contexto: Los sistemas de control y navegación de robots autónomos constituyen un dinámico campo de investigación en robótica. Los esquemas y estrategias propuestos como posible solución a problemas se evalúan siempre sobre prototipos de laboratorio a fin de determinar su desempeño real. Se propone en este artículo una arquitectura para el diseño y desarrollo de sistemas robóticos, particularmente sistemas autónomos multirrobot, que facilite el trabajo en laboratorio gracias a una arquitectura abierta con características de robustez y confiabilidad. Método: La arquitectura se soporta en herramientas hardware y softwareopen source. La estrategia de operación y comunicación se caracteriza por un bajo consumo de recursos, tanto en procesamiento como en comunicación, y operación en tiempo real. Se utiliza Linux como plataforma de desarrollo y sistema operativo, en particular para el esquema de comunicación, y los sistemas embebidos sobre un procesador de 32 bits con set de instrucciones de 16 bit (no es ARM, pero con arquitectura Harvard) corriendo a 80 MHz (el LX106 de Tensilica Xtensa) para la implementación de los agentes. Dadas las herramientas utilizadas, la solución también demuestra ser eficiente y económica. Resultados: La arquitectura ha sido aplicada exitosamente en la implementación de una estrategia de navegación para un conjunto de pequeños robots autónomos. A un conjunto de robots se les proporciona capacidad de comunicación WiFi, capacidad mínima de localización del ambiente (detección de obstáculos) y un algoritmo de navegación basado en tamaños poblacionales (imitando el Quorum Sensing Bacterial). El sistema se implementa con gran facilidad, demostrando no sólo la viabilidad de la estrategia de navegación, sino también la versatilidad, robustez y escalabilidad de la arquitectura OpenRRArch. Conclusiones: La arquitectura propuesta constituye una solución para la construcción de sistemas de control distribuidos, en particular sistemas robóticos multiagente. Ésta permite una rápida implementación (a bajo costo y con alto desempeño) de sistemas con capacidad de cooperación y comunicación en tiempo real. La arquitectura permite la integración de agentes con diferentes capacidades de procesamiento, lo cual permite adaptación a las necesidades de la tarea. Las funciones de cada uno de los agentes pueden reducirse o aumentarse a partir de su código, o seleccionando otro hardware embebido.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[Abstract Context: The control and navigation systems of autonomous robots constitute a dynamic field of research in robotics. The possible solutions to problems are often evaluated with laboratory prototypes in order to determine their real performance. We propose in this paper an architecture for the design and development of robotic systems (particularly autonomous multi-robot Systems) that facilitate the work in laboratory due to an open robust and reliable architecture. Method: The architecture is supported in open source hardware and software. The operation and communication strategy is characterized by a low consumption of resources, both in processing and communication, and real-time operation. As developement platform and Operating System, we used Linux: the communication scheme and the embedded systems run on a 32-bit processor, with a 16-bit instruction set (not ARM, but with Harvard architecture), at 80 MHz (Tensilica Xtensa LX106) for the implementation of the agents. The tools used allow the solution to be bothe efficient and inexpensive. Results: The architecture has been successfully applied in the implementation of a strategy of navigation for a set of small autonomous robots. A set of robots were provided with wireless communication capability, minimum capacity of environmental sensing (obstacle detection) and a navigation algorithm based on population sizes (mimicking the bacterial Quorum Sensing). The system is implemented with great ease, demonstrating both the viability of the navigation strategy and the versatility, robustness and scalability of the OpenRRArch architecture. Conclusions: The proposed architecture constitutes a solution for the construction of distributed control systems, in particular multi-agent robotic systems. It enables the rapid, low-cost and high-performance implementation of systems with real-time cooperation and communication capabilities. The architecture allows the integration of agents with different processing capabilities, which allows adaptation to the needs of the task. The functions of each agent can be reduced or increased from their code, and/or by selecting other embedded hardware.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[control]]></kwd>
<kwd lng="es"><![CDATA[Linux]]></kwd>
<kwd lng="es"><![CDATA[Open-source]]></kwd>
<kwd lng="es"><![CDATA[robots]]></kwd>
<kwd lng="es"><![CDATA[sistemas embebidos]]></kwd>
<kwd lng="en"><![CDATA[Control]]></kwd>
<kwd lng="en"><![CDATA[Embedded Systems]]></kwd>
<kwd lng="en"><![CDATA[Linux]]></kwd>
<kwd lng="en"><![CDATA[Open-source]]></kwd>
<kwd lng="en"><![CDATA[Robots]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[   <font face="Verdana" size="2">     <P>DOI: <a href="http://dx.doi.org/10.14483/udistrital.jour.tecnura.2017.1.a07" target="_blank">http://dx.doi.org/10.14483/udistrital.jour.tecnura.2017.1.a07</a></p>      <p align="center"><font size="4"><b>OpenRRArch: una arquitectura abierta, robusta y confiable  para el control de robots aut&oacute;nomos</b></font></p>      <P align="center"><font size="3"><b>OpenRRArch: An open, robust and reliable architecture for controlling autonomous robots</b></font></p>      <P align="center">Fredy Hern&aacute;n Mart&iacute;nez Sarmiento<Sup>1</Sup>, Diego Armando Giral Ram&iacute;rez<Sup>2</Sup></p>      <p><sup>1</sup>	Ingeniero electricista, especialista en Gesti&oacute;n de Proyectos de Ingenier&iacute;a, candidato a doctor en Ingenier&iacute;a - Sistemas y Computaci&oacute;n. Docente de la Universidad Distrital Francisco Jos&eacute; de Caldas. Bogot&aacute;, Colombia. Contacto: <a href="mailto:fhmartinezs@udistrital.edu.co">fhmartinezs@udistrital.edu.co</a></p>      <p><sup>2</sup>	Ingeniero el&eacute;ctrico, mag&iacute;ster en Ingenier&iacute;a El&eacute;ctrica. Docente de la Universidad Distrital Francisco Jos&eacute; de Caldas. Bogot&aacute;, Colombia. Contacto: <a href="mailto:dagiralr@correo.udistrital.edu.co">dagiralr@correo.udistrital.edu.co</a></p>      <p><B>Fecha de recepci&oacute;n: </B>16 de febrero de 2016 <B>Fecha de aceptaci&oacute;n: </B>23 de noviembre de 2016</p>      <p><B>C&oacute;mo citar: </B>Mart&iacute;nez S., F.H. y Giral R. D.A. (2017). OpenRRArch: una arquitectura abierta, robusta y confiable para el control de robots aut&oacute;nomos. <I>Revista Tecnura, 21</I>(51), 96-104.</p> <hr>      <p><B>Resumen</b></p>      ]]></body>
<body><![CDATA[<p><B>Contexto:</b> Los sistemas de control y navegaci&oacute;n de robots aut&oacute;nomos constituyen un din&aacute;mico campo de investigaci&oacute;n en rob&oacute;tica. Los esquemas y estrategias propuestos como posible soluci&oacute;n a problemas se eval&uacute;an siempre sobre prototipos de laboratorio a fin de determinar su desempe&ntilde;o real. Se propone en este art&iacute;culo una arquitectura para el dise&ntilde;o y desarrollo de sistemas rob&oacute;ticos, particularmente sistemas aut&oacute;nomos multirrobot, que facilite el trabajo en laboratorio gracias a una arquitectura abierta con caracter&iacute;sticas de robustez y confiabilidad.</p>      <p><B>M&eacute;todo:</B> La arquitectura se soporta en herramientas <I>hardware</I> y <I>softwareopen source</I>. La estrategia de operaci&oacute;n y comunicaci&oacute;n se caracteriza por un bajo consumo de recursos, tanto en procesamiento como en comunicaci&oacute;n, y operaci&oacute;n en tiempo real. Se utiliza Linux como plataforma de desarrollo y sistema operativo, en particular para el esquema de comunicaci&oacute;n, y los sistemas embebidos sobre un procesador de 32 bits con set de instrucciones de 16 bit (no es ARM, pero con arquitectura Harvard) corriendo a 80 MHz (el LX106 de Tensilica Xtensa) para la implementaci&oacute;n de los agentes. Dadas las herramientas utilizadas, la soluci&oacute;n tambi&eacute;n demuestra ser eficiente y econ&oacute;mica.</p>      <p><B>Resultados:</B> La arquitectura ha sido aplicada exitosamente en la implementaci&oacute;n de una estrategia de navegaci&oacute;n para un conjunto de peque&ntilde;os robots aut&oacute;nomos. A un conjunto de robots se les proporciona capacidad de comunicaci&oacute;n WiFi, capacidad m&iacute;nima de localizaci&oacute;n del ambiente (detecci&oacute;n de obst&aacute;culos) y un algoritmo de navegaci&oacute;n basado en tama&ntilde;os poblacionales (imitando el Quorum Sensing Bacterial). El sistema se implementa con gran facilidad, demostrando no s&oacute;lo la viabilidad de la estrategia de navegaci&oacute;n, sino tambi&eacute;n la versatilidad, robustez y escalabilidad de la arquitectura OpenRRArch.</p>      <p><B>Conclusiones:</B> La arquitectura propuesta constituye una soluci&oacute;n para la construcci&oacute;n de sistemas de control distribuidos, en particular sistemas rob&oacute;ticos multiagente. &Eacute;sta permite una r&aacute;pida implementaci&oacute;n (a bajo costo y con alto desempe&ntilde;o) de sistemas con capacidad de cooperaci&oacute;n y comunicaci&oacute;n en tiempo real. La arquitectura permite la integraci&oacute;n de agentes con diferentes capacidades de procesamiento, lo cual permite adaptaci&oacute;n a las necesidades de la tarea. Las funciones de cada uno de los agentes pueden reducirse o aumentarse a partir de su c&oacute;digo, o seleccionando otro <I>hardware</I> embebido.</p>      <p><B>Palabras clave: </B>control, Linux, Open-source, robots, sistemas embebidos.</p> <hr>      <p><B>Abstract</b></p>      <p><B>Context:</b> The control and navigation systems of autonomous robots constitute a dynamic field of research in robotics. The possible solutions to problems are often evaluated with laboratory prototypes in order to determine their real performance. We propose in this paper an architecture for the design and development of robotic systems (particularly autonomous multi-robot Systems) that facilitate the work in laboratory due to an open robust and reliable architecture.</p>      <p><B>Method:</B> The architecture is supported in open source hardware and software. The operation and communication strategy is characterized by a low consumption of resources, both in processing and communication, and real-time operation. As developement platform and Operating System, we used Linux: the communication scheme and the embedded systems run on a 32-bit processor, with a 16-bit instruction set (not ARM, but with Harvard architecture), at 80 MHz (Tensilica Xtensa LX106) for the implementation of the agents. The tools used allow the solution to be bothe efficient and inexpensive.</p>      <p><B>Results:</B> The architecture has been successfully applied in the implementation of a strategy of navigation for a set of small autonomous robots. A set of robots were provided with wireless communication capability, minimum capacity of environmental sensing (obstacle detection) and a navigation algorithm based on population sizes (mimicking the bacterial Quorum Sensing). The system is implemented with great ease, demonstrating both the viability of the navigation strategy and the versatility, robustness and scalability of the OpenRRArch architecture.</p>      <p><B>Conclusions:</B> The proposed architecture constitutes a solution for the construction of distributed control systems, in particular multi-agent robotic systems. It enables the rapid, low-cost and high-performance implementation of systems with real-time cooperation and communication capabilities. The architecture allows the integration of agents with different processing capabilities, which allows adaptation to the needs of the task. The functions of each agent can be reduced or increased from their code, and/or by selecting other embedded hardware.</p>      ]]></body>
<body><![CDATA[<p><B><I>Keywords: </I></B><I>Control, Embedded Systems, Linux, Open-source, Robots.</I></p> <hr>      <p><B>INTRODUCCI&Oacute;N</b></p>      <p>El problema de encontrar una ruta de navegaci&oacute;n para un robot m&oacute;vil aut&oacute;nomo (o varios robots m&oacute;viles aut&oacute;nomos en el caso de enjambres de robots) consiste en hacer que el agente (un objeto real con dimensiones f&iacute;sicas) encuentre y siga un camino que le permita moverse desde un punto de origen hasta un punto de destino (configuraci&oacute;n deseada) respetando las restricciones impuestas por la tarea o por el ambiente (obst&aacute;culos, espacio libre para movimientos, puntos intermedios a visitar, y costos m&aacute;ximos a incurrir en la tarea) (Teatro, Eklund, y Milman, 2014). Este sigue siendo un problema abierto de investigaci&oacute;n en rob&oacute;tica (Jacinto, Giral y Mart&iacute;nez, 2016; Oral y Polat, 2016).</p>      <p>En este art&iacute;culo se presenta la propuesta de dise&ntilde;o de sistemas colectivos basados en OpenRRArch (arquitectura abierta, robusta y confiable para el control de agentes aut&oacute;nomos), esquema que encarna los principios de los sistemas multiagentes distribuidos (robustez mediante alta redundancia), abierta (<I>hardware</I> y <I>softwareopen-source</I>), minimalista y de f&aacute;cil integraci&oacute;n (agentes simples e id&eacute;nticos). El prop&oacute;sito de dicha arquitectura es el de permitir, entre otras funciones, el control de movimiento a bordo de peque&ntilde;os robots aut&oacute;nomos, y la planificaci&oacute;n de trayectorias a partir de lecturas locales con capacidad de comunicaci&oacute;n <I>peer-to-peer</I> (P2P). Esta arquitectura, sin embargo, puede ser utilizada en otro tipo de sistemas con configuraciones similares, como es el caso de las redes inal&aacute;mbricas de sensores (<I>Wireless Sensor Networks</I>) (Kiwoong<I> et al.</I>, 2012; Lee, Cho y Lee, 2013).</p>      <p>Para la correcta navegaci&oacute;n, en un esquema aut&oacute;nomo reactivo como el que se busca en esta investigaci&oacute;n, cada agente (robot) debe localizar la informaci&oacute;n pertinente del medio (lo cual incluye, adem&aacute;s de obst&aacute;culos y otras restricciones del ambiente, procesos de comunicaci&oacute;n con agentes cercanos), realizar c&aacute;lculos de su posici&oacute;n estimada respecto al destino, trazar una respuesta de movimiento, ejecutarla y verificar los resultados. Esta estrategia de navegaci&oacute;n es fuertemente dependiente de la cantidad y calidad de informaci&oacute;n procesada y comunicada, raz&oacute;n por la cual se complementa con esquemas de filtrado de informaci&oacute;n inspirados en los procesos de atenci&oacute;n de los seres vivos (Luna, Silva y Costa, 2016). El sistema (conformado por el agente, o los agentes en el caso general de sistemas colectivos) debe tener una estrategia de atenci&oacute;n que le permita ejecutar diferentes algoritmos de acuerdo con el objetivo de la tarea. Este principio de dise&ntilde;o se utiliza mucho en los esquemas h&iacute;bridos, y permite el desarrollo de sistemas adaptables y con alta velocidad de respuesta.</p>      <p>Otras caracter&iacute;sticas importantes incorporadas a la arquitectura propuesta incluyen alto desempe&ntilde;o tanto en <I>hardware</I> y <I>software</I>. En <I>hardware</I>, se pone especial cuidado en cuanto al consumo de energ&iacute;a (Elwahab, Nouali, Moussaoui y Derder, 2015), al esquema de comunicaci&oacute;n IP-WSN (protocolo para la interconexi&oacute;n entre redes IP (<I>Internet Protocol</I>) y redes inal&aacute;mbricas de sensores (<I>Wireless Sensor Networks</I>)) (Kiwoong <I>et al.</I>, 2012), y los recursos disponibles en los agentes (Kouicem<I> et al.</I>, 2014). En cuanto a <I>software</I>, se busca facilitar la construcci&oacute;n de colecciones de datos (Elwahab <I>et al.</I>, 2015), el uso de agentes espec&iacute;ficos para la recolecci&oacute;n de informaci&oacute;n (Carlson y Schrader, 2012), la f&aacute;cil interacci&oacute;n entre agentes (Wenfeng, Junrong y Weiming, 2011), y simplificar al m&aacute;ximo la arquitectura misma de comunicaci&oacute;n (Sirin, Parsia, y Hendler, 2005; Tari<I> et al.</I>, 2010; Yachir, Amirat, Chibani y Badache, 2012).</p>      <p>El grupo de investigaci&oacute;n ARMOS ha trabajado por varios a&ntilde;os en estos problemas. En cuanto a estrategias de planeaci&oacute;n para robots m&oacute;viles, ha evaluado el desempe&ntilde;o de diferentes estrategias geom&eacute;tricas (Contreras, Mart&iacute;nez y Mart&iacute;nez, 2015; Mart&iacute;nez, Jacinto y Mart&iacute;nez, 2014), ha planteado algoritmos de movimiento para sistemas reactivos (Espinosa, Casta&ntilde;eda y Mart&iacute;nez, 2015; Mart&iacute;nez y Delgado, 2010), ha desarrollado un amplio n&uacute;mero de prototipos embebidos con diferentes capacidades de localizaci&oacute;n, comunicaci&oacute;n y capacidad de procesamiento (Espinosa, Casta&ntilde;eda y Mart&iacute;nez, 2015; Montiel, Valderrama y Mart&iacute;nez, 2016), y ha formulado arquitecturas para la coordinaci&oacute;n colectiva de robots aut&oacute;nomos. Este trabajo presenta la evoluci&oacute;n actual de todos estos sistemas, estructurados alrededor de una &uacute;nica arquitectura que permite el desarrollo y la evaluaci&oacute;n sistematizada de estrategias de control de movimiento para robots. La arquitectura como tal presenta una estructura modular dise&ntilde;ada por capas, lo que permite aislar problemas espec&iacute;ficos durante la etapa de dise&ntilde;o.</p>      <p>El art&iacute;culo se encuentra organizado de la siguiente forma. Primero, se formula el problema estudiado y se presentan algunos conceptos preliminares, el perfil funcional y algunas otras consideraciones de dise&ntilde;o. En &ldquo;Metodolog&iacute;a&rdquo; se detalla completamente el dise&ntilde;o del sistema, incluyendo los criterios de selecci&oacute;n y las especificaciones finales adoptadas. En &ldquo;Resultados&rdquo; se presenta la evaluaci&oacute;n del desempe&ntilde;o observado en laboratorio del prototipo. Por &uacute;ltimo, se plantean las conclusiones.</p>      <p><B>FORMULACI&Oacute;N DEL PROBLEMA</b></p>      <p>La evaluaci&oacute;n de estrategias de control distribuidas requiere de una plataforma soportada en agentes embebidos, con estructura modular y por capas, que permita una implementaci&oacute;n transparente. La estructura por capas debe permitir separar e implementar diferentes funciones a diferentes niveles de acuerdo con el nivel de desempe&ntilde;o requerido. Adem&aacute;s, el sistema de comunicaci&oacute;n debe ser eficiente, respaldado por un protocolo f&aacute;cil de implementar, pero confiable. Los elementos a integrar en dicha arquitectura son:</p>  <ul>    ]]></body>
<body><![CDATA[<li>Un enlace de comunicaci&oacute;n P2P entre todos los agentes bajo alg&uacute;n protocolo est&aacute;ndar. Dicho protocolo debe ser f&aacute;cil de implementar a nivel de <I>hardware</I> sobre cualquier dispositivo embebido (microcontroladores, CPLDs, FPGAs, DSPs, procesadores ARM y x86) mediante enlaces inal&aacute;mbricos. Estas caracter&iacute;sticas son las esperadas en aplicaciones en donde se transmiten mensajes cortos durante cortos periodos de tiempo.</li>      <li>F&aacute;cil conexi&oacute;n a este esquema de comunicaci&oacute;n por parte de todos los m&oacute;dulos embebidos del sistema multiagente. Cada m&oacute;dulo del sistema es, adem&aacute;s de un elemento de comunicaci&oacute;n, un nodo de control con capacidad de localizaci&oacute;n, procesamiento y actuaci&oacute;n. Estos conforman la capa m&aacute;s baja a nivel de control, y de hecho ejecutan algoritmos directos de control. Dado que la capacidad de procesamiento es limitada, se espera que el esquema de comunicaci&oacute;n no consuma sus recursos.</li>      <li>Una capa de control superior soportada en la convergencia del algoritmo de control, y que se ve reflejada en el comportamiento del sistema (de todos los m&oacute;dulos como un todo). Si bien en t&eacute;rminos generales no se espera que exista una unidad de control central dada la naturaleza del sistema multiagente, la arquitectura s&iacute; debe permitir la inclusi&oacute;n de m&oacute;dulos embebidos de mayor capacidad de procesamiento para coordinar la comunicaci&oacute;n. Estos m&oacute;dulos tambi&eacute;n deben desempe&ntilde;ar el papel de constructores de colecciones de datos (y, por tanto, integrarse f&aacute;cilmente en un entorno IoT, <I>Internet of Things</I>), y localizaci&oacute;n/procesamiento de informaci&oacute;n del alto nivel (sensores inteligentes a partir de procesamiento de im&aacute;genes o sonido, por ejemplo). Tambi&eacute;n pueden tener un algoritmo de operaci&oacute;n m&aacute;s complejo que afecte el comportamiento global del sistema.</li>    </ul>      <p><B>METODOLOG&Iacute;A</b></p>      <p>La arquitectura distribuida propuesta para el control de sistemas multiagentes aut&oacute;nomos (OpenRRArch) se muestra en la <a href="#f1">figura 1</a>. El sistema permite una gran cantidad de m&oacute;dulos tanto en el nivel de bajo control como en el de alto control (por simplicidad solo se ilustra uno en cada caso). Sin embargo, lo normal es tener un solo m&oacute;dulo br&oacute;ker en este &uacute;ltimo nivel (y, de hecho, debe existir por lo menos uno). Si se incluyen m&aacute;s m&oacute;dulos de nivel alto de control, estos se conectan al sistema como clientes MQTT (<I>MQ Telemetry Transport</I>). Los &uacute;nicos elementos que son opcionales en la arquitectura son los terminales, los cuales se utilizan para visualizar por parte del usuario las variables del sistema.</p>     <p align="center"><a name="f1"></a><img src="img/revistas/tecn/v21n51/v21n51a07f1.jpg"></p>      <p>En cuanto a funcionalidad, la arquitectura distingue dos capas: la de comunicaci&oacute;n y la de aplicaci&oacute;n. La primera se soporta en el est&aacute;ndar MQTT. Este es un est&aacute;ndar ISO (ISO/IEC PRF 20922) soportado en un protocolo de mensajer&iacute;a muy ligero que opera con m&eacute;todos de suscripci&oacute;n-publicaci&oacute;n. Est&aacute; dise&ntilde;ado para aplicaciones de control en redes TCP/IP (<I>Transmission Control Protocol/Internet Protocol</I>) que requieren un c&oacute;digo de implementaci&oacute;n peque&ntilde;o, como es el caso del <I>hardware</I> embebido. El protocolo requiere un br&oacute;ker, el cual distribuye los mensajes en la red, y que en el caso de la figura 1 se implementa en un OS Linux Debian sobre una plataforma H3 Quad-core Cortex-A7 con GPU Mali400MP2. A este br&oacute;ker suscriben y publican todos los dem&aacute;s m&oacute;dulos del sistema como clientes. El esquema de comunicaci&oacute;n utilizado es <I>peer-to-peer</I>, con lo que cada m&oacute;dulo se puede comunicar directamente con cualquier otro m&oacute;dulo del sistema (siempre y cuando est&eacute;n dentro del alcance del <I>router</I>).</p>      <p>La capa de aplicaci&oacute;n incluye al conjunto de sensores y actuadores conectados a los diferentes m&oacute;dulos del sistema. En la prueba de navegaci&oacute;n documentada en este art&iacute;culo, el br&oacute;ker cuenta con un sensor &oacute;ptico (c&aacute;mara digital) que se utiliza para identificar <I>landmarks</I> geom&eacute;tricos de colores en el ambiente. El c&oacute;digo de procesamiento de las im&aacute;genes se escribi&oacute; en Python con apoyo de OpenCV. Tambi&eacute;n se implementaron otros dos m&oacute;dulos sobre plataformas microcontroladas (con el microcontrolador LX106), estos m&oacute;dulos se dotaron solamente con sensores de impacto. Los tres m&oacute;dulos poseen, cada uno, dos actuadores, dos servomotores que realizan el desplazamiento de los m&oacute;dulos en el ambiente. Todos los m&oacute;dulos poseen antenas y capacidad de conexi&oacute;n a la red WiFi.</p>      <p>La implementaci&oacute;n de los algoritmos en ambos tipos de m&oacute;dulos es bastante sencilla. El microcontrolador LX106 ejecuta los c&oacute;digos mucho m&aacute;s r&aacute;pido que la plataforma Cortex-A7 (menos de 2 us frente a unos 70 ms). Python es interpretado, y la captura y procesamiento de im&aacute;genes es mucho m&aacute;s lenta que la lectura del pulsador digital. Sin embargo, esto no resulta de importancia en la aplicaci&oacute;n debido al retardo en la acci&oacute;n de los actuadores (servomotores), que para desplazar al robot toman tiempos cercanos al segundo. No hay control de velocidad en los motores, el desplazamiento se logra haci&eacute;ndolos rotar en un sentido u otro (A o B) o pararlos completamente, con lo cual se tienen siete estados de movimiento en el robot:</p>  <ul>    ]]></body>
<body><![CDATA[<li>Avanza (motor izquierdo en sentido A, y motor derecho en sentido B).</li>     <li>Retrocede (motor izquierdo en sentido B, y motor derecho en sentido A).</li>     <li>Gira a la derecha avanzando (motor izquierdo en sentido A, y motor derecho sin movimiento).</li>     <li>Gira a la izquierda avanzando (motor izquierdo sin movimiento, y motor derecho en sentido A).</li>     <li>Gira a la derecha retrocediendo (motor izquierdo sin movimiento, y motor derecho en sentido B).</li>     <li>Gira a la izquierda retrocediendo (motor izquierdo en sentido B, y motor derecho sin movimiento).</li>     <li>No se mueve (motor izquierdo sin movimiento, y motor derecho sin movimiento).</li>    </ul>      <p>Esto es bastante &uacute;til para simular a nivel de estados discretos el comportamiento de los algoritmos de navegaci&oacute;n (modelo h&iacute;brido del sistema).</p>      <p><B>RESULTADOS</b></p>      ]]></body>
<body><![CDATA[<p>En esta secci&oacute;n se presenta el an&aacute;lisis de desempe&ntilde;o de la arquitectura con una tarea de navegaci&oacute;n real. La evaluaci&oacute;n general pretende probar tres hip&oacute;tesis: (1) que la efectividad de la estrategia de navegaci&oacute;n puede analizarse independiente de la estrategia de implementaci&oacute;n; (2) que la arquitectura OpenRRArch no altera el dise&ntilde;o del sistema; y finalmente (3) que el rendimiento del algoritmo de navegaci&oacute;n se ve modificado por el <I>hardware</I> de la capa f&iacute;sica, pero que estas variaciones no alteran su convergencia. Si estas tres hip&oacute;tesis son correctas, entonces OpenRRArch es de hecho una excelente herramienta para estudiar el desempe&ntilde;o de estrategias de navegaci&oacute;n.</p>      <p>La tarea de navegaci&oacute;n utilizada para la evaluaci&oacute;n de la arquitectura es bastante simple. Los m&oacute;dulos microcontrolados con solo sensores de impacto deben navegar el ambiente evitando obst&aacute;culos. Es decir, cuando uno de estos dos robots se estrella con un obst&aacute;culo (o un l&iacute;mite del ambiente), la orden de control indica que el robot debe girar a la derecha o izquierda (sentido elegido aleatoriamente) un &aacute;ngulo aleatorio. La &uacute;nica excepci&oacute;n a este comportamiento es si otro robot reporta que encontr&oacute; un obst&aacute;culo al mismo tiempo. En este caso los robots se deben poner de acuerdo para verificar si se han encontrado entre s&iacute;, caso en el que deben permanecer quietos. Si no se han encontrado, deben regresar a la navegaci&oacute;n aleatoria.</p>      <p>El m&oacute;dulo con procesador Cortex-A7, br&oacute;ker y con c&aacute;mara digital (<a href="#f2">figura 2</a>), debe buscar los c&iacute;rculos rojos colocados en el cuerpo de los otros dos robots. Si no los ve luego de un proceso de exploraci&oacute;n girando sobre su eje, se debe desplazar en el espacio libre de forma aleatoria un par de segundos, y explorar de nuevo. Si localiza el <I>landmark</I>, debe navegar hacia &eacute;l.</p>     <p align="center"><a name="f2"></a><img src="img/revistas/tecn/v21n51/v21n51a07f2.jpg"></p>      <p>Estos algoritmos de comportamiento definen la funcionalidad del sistema, y est&aacute;n dise&ntilde;ados para que los robots se agrupen en alguna parte del ambiente. El punto de agrupaci&oacute;n en esta tarea puede condicionarse a caracter&iacute;sticas espec&iacute;ficas del ambiente. Por ejemplo, que los robots solo se detengan si el nivel de luz es alto (en un &aacute;rea de carga por paneles solares, por ejemplo), pero si est&aacute; por debajo de alg&uacute;n umbral, que contin&uacute;en la navegaci&oacute;n aleatoria. Este comportamiento de agrupaci&oacute;n puede hacer que los robots se agrupen en ciertas &aacute;reas luego de desarrollar alguna tarea (limpieza, b&uacute;squeda, ...).</p>      <p>Se realizaron cerca de 50 experimentos para diferentes tama&ntilde;os y configuraciones del ambiente de navegaci&oacute;n. El ambiente de navegaci&oacute;n se mantuvo siempre con forma cuadrada, pero su tama&ntilde;o se vari&oacute; entre 30 cm &times; 30 cm y 2,4 m &times; 2,4 m. A fin de analizar la independencia de comportamiento con respecto a la arquitectura OpenRRArch, se desarroll&oacute; un modelo ideal de comportamiento considerando los tiempos del prototipo real (retardo de motores, sensores y tiempos de espera asignados en los algoritmos), para su simulaci&oacute;n por computador. La simulaci&oacute;n se realiz&oacute; en Python mediante Pygame. Los resultados se resumen en la <a href="#f3">figura 3</a>.</p>     <p align="center"><a name="f3"></a><img src="img/revistas/tecn/v21n51/v21n51a07f3.jpg"></p>      <p>Estos resultados muestran coherencia en los tiempos promedios de convergencia sin importar si se trata de plataforma real o simulaci&oacute;n (estad&iacute;sticamente se puede demostrar que son iguales). Tambi&eacute;n se observa que las variaciones en el tiempo dependen del tama&ntilde;o del ambiente, y que de hecho hay una relaci&oacute;n de proporcionalidad. Estos resultados validan las hip&oacute;tesis de desempe&ntilde;o de la arquitectura.</p>      <p><B>CONCLUSIONES</b></p>      <p>El art&iacute;culo propone una arquitectura distribuida para la implementaci&oacute;n de sistemas multiagente denominada OpenRRArch. Dicha arquitectura se pretende utilizar para analizar el desempe&ntilde;o de esquemas de navegaci&oacute;n de peque&ntilde;os robots aut&oacute;nomos con control reactivo. Como criterios de dise&ntilde;o se considera el uso de herramientas <I>hardware</I> y <I>softwareopen source</I>, as&iacute; como caracter&iacute;sticas de robustez, escalabilidad y confiabilidad. OpenRRAch permite la r&aacute;pida implementaci&oacute;n, a bajo costo, y con alto desempe&ntilde;o, de sistemas con capacidad de cooperaci&oacute;n y comunicaci&oacute;n en tiempo real. La arquitectura permite la integraci&oacute;n de agentes con diferentes capacidades de procesamiento, lo que permite adaptaci&oacute;n a las necesidades de la tarea. Las funciones de cada uno de los agentes pueden reducirse o aumentarse a partir de su c&oacute;digo, o seleccionando otro <I>hardware</I> embebido. Mediante pruebas de laboratorio se pudo determinar que para una b&aacute;sica tarea de agrupamiento la arquitectura no altera el funcionamiento del algoritmo.</p> <hr>      ]]></body>
<body><![CDATA[<p><B>REFERENCIAS BIBLIOGR&Aacute;FICAS</b></p>      <!-- ref --><p>Carlson, D. y Schrader, A. (2012). Dynamix: An open plug-and-play context framework for android. En <I>3rd International Conference on the Internet of Things (IOT 2012)</I> (pp. 1-8).    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315693&pid=S0123-921X201700010000700001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Contreras, J.; Mart&iacute;nez, F. y Mart&iacute;nez, F. (2015). Path planning for mobile robots based on visibility graphs and A* algorithm. <I>Proceedings of Spie</I>, 9631, 1-5.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315695&pid=S0123-921X201700010000700002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Elwahab, A.; Nouali, O.; Moussaoui, S. y Derder, A. (2015). A BLE-based data collection system for iot. En <I>First International Conference on New Technologies of Information and Communication</I> (NTIC 2015) (pp. 1-5).    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315697&pid=S0123-921X201700010000700003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Espinosa, O.; Casta&ntilde;eda, L. y Mart&iacute;nez, F. (2015). Minimalist artificial eye for autonomous robots and path planning. Lecture Notes In Computer Science. <I>Intelligent Data Engineering and Automated Learning</I>, 9375, 232-238.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315699&pid=S0123-921X201700010000700004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Jacinto, E.; Giral, M. y Mart&iacute;nez, F. (2016). Modelo de navegaci&oacute;n colectiva multiagente basado en el quorum sensing bacterial. <I>Revista Tecnura, 20</I>(47), 29-38.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315701&pid=S0123-921X201700010000700005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Kiwoong, K.; Minkeun, H.; Taehong, K.; Seong, H. y Daeyoung, K. (2012). The stateless point to point routing protocol based on shortcut tree routing algorithm for IP-WSN. En 3rd <I>International Conference on the Internet of Things</I> (IOT 2012) (pp. 1-8).    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315703&pid=S0123-921X201700010000700006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Kouicem, A.; Chibani, A.; Tari, A.; Amirat, Y. y Tari, Z. (2014). Dynamic services selection approach for the composition of complex services in the web of objects. En <I>IEEE World Forum on Internet of Things (WF-IOT 2014)</I> (pp. 298-303).    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315705&pid=S0123-921X201700010000700007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Lee, H.; Cho, Y. y Lee, B. (2013). Robot-controlled fusion. <I>Electronics Letters, 49</I>(15), 912-912.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315707&pid=S0123-921X201700010000700008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Luna, E.; Silva, A. y Costa, C. (2016). An attentional model for autonomous mobile robots. <I>IEEE Systems Journal</I>, 99, 1-12.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315709&pid=S0123-921X201700010000700009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Mart&iacute;nez, F., y Delgado, A. (2010). Hardware emulation of bacterial quorum sensing. <I>Advanced Intelligent Computing Theories and Applications, Lecture Notes in Computer Science</I>, 6215, 329-336.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315711&pid=S0123-921X201700010000700010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Mart&iacute;nez, F.; Jacinto, E. y Mart&iacute;nez, F. (2014). Using the delaunay triangulation and voronoi diagrams for navigation in observable environments. <I>Revista Tecnura</I>, 18, 81-87.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315713&pid=S0123-921X201700010000700011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Montiel, H.; Valderrama, H. y Mart&iacute;nez, F. (2016). Using embedded robotic platform and problem-based learning for engineering education. <I>Smart Innovation, Systems and Technologies</I>, 59, 435-445.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315715&pid=S0123-921X201700010000700012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Oral, T. y Polat, F. (2016). MOD* Lite: an incremental path planning algorithm taking care of multiple objectives. <I>IEEE Transactions on Cybernetics, 46</I>(1), 245-257.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315717&pid=S0123-921X201700010000700013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Sirin, E.; Parsia, B. y Hendler, J. (2005). Template-based composition of semantic web services. En <I>AAAI Fall Symposium on Agents and the Semantic Web</I> (pp. 85-92).    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315719&pid=S0123-921X201700010000700014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Tari, K.; Amirat, Y.; Chibani, A.; Yachir, A. y Mellouk, A. (2010). Context-aware dynamic service composition in ubiquitous environment. En <I>IEEE International Conference on Communications (ICC 2010)</I> (p. 1-6).    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315721&pid=S0123-921X201700010000700015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Teatro, T.; Eklund, M. y Milman, R. (2014). Nonlinear model predictive control for omnidirectional robot motion planning and tracking with avoidance of moving obstacles. <I>Canadian Journal of Electrical and Computer Engineering, 37</I>(3), 151-156.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315723&pid=S0123-921X201700010000700016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Wenfeng, L.; Junrong, B. y Weiming, S. (2011). Collaborative wireless sensor networks: A survey. En <I>IEEE International Conference on Systems, Man, and Cybernetics (SMC 2011) </I>(pp. 2614-2619).    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315725&pid=S0123-921X201700010000700017&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>      <!-- ref --><p>Yachir, A.; Amirat, Y.; Chibani, A. y Badache, N. (2012). Towards an event-aware approach for ubiquitous computing based on automatic service composition and selection. <I>Annales des T&eacute;l&eacute;communications, 67</I>(7), 341-353.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4315727&pid=S0123-921X201700010000700018&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>  </font>      ]]></body><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Carlson]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Schrader]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Dynamix: An open plug-and-play context framework for android]]></source>
<year>2012</year>
<conf-name><![CDATA[ 3rd International Conference on the Internet of Things (IOT 2012)]]></conf-name>
<conf-loc> </conf-loc>
<page-range>1-8</page-range></nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Contreras]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Martínez]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Martínez]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<source><![CDATA[Path planning for mobile robots based on visibility graphs and A* algorithm]]></source>
<year>2015</year>
<volume>9631</volume>
<page-range>1-5</page-range><publisher-name><![CDATA[Proceedings of Spie]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Elwahab]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Nouali]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
<name>
<surname><![CDATA[Moussaoui]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Derder]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[A BLE-based data collection system for iot]]></source>
<year>2015</year>
<conf-name><![CDATA[ First International Conference on New Technologies of Information and Communication (NTIC 2015)]]></conf-name>
<conf-loc> </conf-loc>
<page-range>1-5</page-range></nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Espinosa]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
<name>
<surname><![CDATA[Castañeda]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Martínez]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<source><![CDATA[Minimalist artificial eye for autonomous robots and path planning. Lecture Notes In Computer Science]]></source>
<year>2015</year>
<volume>9375</volume>
<page-range>232-238</page-range><publisher-name><![CDATA[Intelligent Data Engineering and Automated Learning]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Jacinto]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
<name>
<surname><![CDATA[Giral]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Martínez]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Modelo de navegación colectiva multiagente basado en el quorum sensing bacterial]]></article-title>
<source><![CDATA[Revista Tecnura]]></source>
<year>2016</year>
<volume>20</volume>
<numero>47</numero>
<issue>47</issue>
<page-range>29-38</page-range></nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kiwoong]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[Minkeun]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
<name>
<surname><![CDATA[Taehong]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[Seong]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
<name>
<surname><![CDATA[Daeyoung]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
</person-group>
<source><![CDATA[The stateless point to point routing protocol based on shortcut tree routing algorithm for IP-WSN]]></source>
<year>2012</year>
<conf-name><![CDATA[ 3rd International Conference on the Internet of Things (IOT 2012)]]></conf-name>
<conf-loc> </conf-loc>
<page-range>1-8</page-range></nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kouicem]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Chibani]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Tari]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Amirat]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
<name>
<surname><![CDATA[Tari]]></surname>
<given-names><![CDATA[Z]]></given-names>
</name>
</person-group>
<source><![CDATA[Dynamic services selection approach for the composition of complex services in the web of objects]]></source>
<year>2014</year>
<conf-name><![CDATA[ IEEE World Forum on Internet of Things (WF-IOT 2014)]]></conf-name>
<conf-loc> </conf-loc>
<page-range>298-303</page-range></nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lee]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
<name>
<surname><![CDATA[Cho]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
<name>
<surname><![CDATA[Lee]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Robot-controlled fusion]]></article-title>
<source><![CDATA[Electronics Letters]]></source>
<year>2013</year>
<volume>49</volume>
<numero>15</numero>
<issue>15</issue>
<page-range>912-912</page-range></nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Luna]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
<name>
<surname><![CDATA[Silva]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Costa]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An attentional model for autonomous mobile robots]]></article-title>
<source><![CDATA[IEEE Systems Journal]]></source>
<year>2016</year>
<volume>99</volume>
<page-range>1-12</page-range></nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Martínez]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Delgado]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Hardware emulation of bacterial quorum sensing]]></source>
<year>2010</year>
<volume>6215</volume>
<page-range>329-336</page-range><publisher-name><![CDATA[Advanced Intelligent Computing Theories and Applications, Lecture Notes in Computer Science]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Martínez]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Jacinto]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
<name>
<surname><![CDATA[Martínez]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Using the delaunay triangulation and voronoi diagrams for navigation in observable environments]]></article-title>
<source><![CDATA[Revista Tecnura]]></source>
<year>2014</year>
<volume>18</volume>
<page-range>81-87</page-range></nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Montiel]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
<name>
<surname><![CDATA[Valderrama]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
<name>
<surname><![CDATA[Martínez]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Using embedded robotic platform and problem-based learning for engineering education]]></article-title>
<source><![CDATA[Smart Innovation, Systems and Technologies]]></source>
<year>2016</year>
<numero>59</numero>
<issue>59</issue>
<page-range>435-445</page-range></nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Oral]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Polat]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[MOD* Lite: an incremental path planning algorithm taking care of multiple objectives]]></article-title>
<source><![CDATA[IEEE Transactions on Cybernetics]]></source>
<year>2016</year>
<volume>46</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>245-257</page-range></nlm-citation>
</ref>
<ref id="B14">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Sirin]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
<name>
<surname><![CDATA[Parsia]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Hendler]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[Template-based composition of semantic web services]]></source>
<year>2005</year>
<conf-name><![CDATA[ AAAI Fall Symposium on Agents and the Semantic Web]]></conf-name>
<conf-loc> </conf-loc>
<page-range>85-92</page-range></nlm-citation>
</ref>
<ref id="B15">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Tari]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[Amirat]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
<name>
<surname><![CDATA[Chibani]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Yachir]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Mellouk]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Context-aware dynamic service composition in ubiquitous environment]]></source>
<year>2010</year>
<conf-name><![CDATA[ IEEE International Conference on Communications (ICC 2010)]]></conf-name>
<conf-loc> </conf-loc>
<page-range>1-6</page-range></nlm-citation>
</ref>
<ref id="B16">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Teatro]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Eklund]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Milman]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Nonlinear model predictive control for omnidirectional robot motion planning and tracking with avoidance of moving obstacles]]></article-title>
<source><![CDATA[Canadian Journal of Electrical and Computer Engineering]]></source>
<year>2014</year>
<volume>37</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>151-156</page-range></nlm-citation>
</ref>
<ref id="B17">
<nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wenfeng]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Junrong]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Weiming]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[Collaborative wireless sensor networks: A survey]]></source>
<year>2011</year>
<conf-name><![CDATA[ IEEE International Conference on Systems, Man, and Cybernetics (SMC 2011)]]></conf-name>
<conf-loc> </conf-loc>
<page-range>2614-2619</page-range></nlm-citation>
</ref>
<ref id="B18">
<nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Yachir]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Amirat]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
<name>
<surname><![CDATA[Chibani]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Badache]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Towards an event-aware approach for ubiquitous computing based on automatic service composition and selection]]></article-title>
<source><![CDATA[Annales des Télécommunications]]></source>
<year>2012</year>
<volume>67</volume>
<numero>7</numero>
<issue>7</issue>
<page-range>341-353</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
