Hacia un framework basado en ROS para la implementación de Sistemas ... · Hacia un framework...

8
Hacia un framework basado en ROS para la implementación de Sistemas Ciberfísicos Pablo González-Nalda 1 Isidro Calvo 2 Ismael Etxeberria-Agiriano 1 Ekaitz Zulueta 2 José Manuel López-Guede 2 {pablo.gonzalez,isidro.calvo,ismael.etxeberria,ekaitz.zulueta,jm.lopez}@ehu.eus 1 Lenguajes y Sistemas Informáticos 2 Ingeniería de Sistemas y Automática Escuela Universitaria de Ingeniería de Vitoria-Gasteiz, Universidad del País Vasco, UPV/EHU Resumen Este artículo describe un framework para su uso en Sistemas Ciberfísicos (CPS), con el objetivo de facilitar la implementación de un sistema distribuido de adquisición de datos de sensores y otras mediciones, su computación y envío de órdenes a actuadores. Esta arquitectura se puede implementar en diferentes dominios de aplicación. Cada uno de los elementos de esta arquitectura distribuida es un nodo del middleware libre ROS (Robotic Operating System). De esta forma se obtiene modularidad y evolución incremental, redundancia y flexibilidad. Se utilizan nodos de bajo coste, que cuentan con una gran comunidad de desarrolladores y abundante información por ser hardware y software libres. Finalmente se detalla un caso de aplicación consistente en un robot móvil que resalta algunas de las posibilidades de la arquitectura. Palabras clave: Arquitectura, Sistemas Ciberfísicos (CPS), ROS middleware, Teleoperación; Robótica móvil; Hw y Sw libre; Raspberry Pi; Arduino. 1. INTRODUCCIÓN Este artículo plantea un framework para su uso en Sistemas Ciberfísicos (CPS), con el objetivo de facilitar la implementación de un sistema distribuido de adquisición de datos de sensores y otras mediciones, su computación y envío de instrucciones a actuadores. Esta arquitectura se puede implementar en diferentes entornos, por ejemplo para el control de un edificio industrial, de una vivienda o de un objeto móvil (vehículo, maquinaria, robótica autónoma). Cada uno de los elementos de esta arquitectura distribuida (o clúster) es un nodo del middleware ROS (Robotic Operating System). Las comunicaciones son por TCP/IP y se pueden hacer seguras implementando un servidor VPN. Las ventajas de esta red de nodos ROS son varias: la modularidad de la arquitectura permite adaptarla a sistemas ya implantados para mejorar su evolución de forma incremental, la redundancia es posible por el esquema publicador/suscriptor de ROS, es libre (tiene licencia BSD) y multiplataforma. Tras la definición de dicha arquitectura se explica la elección de componentes para cada tipo de nodo, en función de las tareas asignadas y buscando el coste mínimo y la máxima flexibilidad y modularidad. Los dispositivos hardware elegidos, de bajo coste, se encuentran entre los más utilizados en sus respectivas categorías, y por tanto una gran comunidad de desarrolladores que los utilizan. Se pueden tener muchos dispositivos replicados para desarrollar en paralelo cada subsistema. En los dispositivos elegidos el hardware y el software son libres. Por ello es muy sencillo acceder a foros en los que encontrar abundante información relativa a los mismos, de forma que se puedan enriquecer los aspectos técnicos de la arquitectura. También se pueden establecer puentes para controlar hardware externo o no libre (a través de EtherCAT) u otro tipo de redes (OpenHab). El resto del artículo se organiza de la siguiente manera: en la Sección 2 se hace una breve revisión de algunos trabajos relacionados con este trabajo; en la Sección 3 se proponen las ideas generales de la arquitectura presentada; en la Sección 4 se eligen los componentes que cumplen los requisitos; en la Sección 5 se demuestra la aplicabilidad del modelo mediante una implementación con un coche de radiocontrol y en la Sección 6 se presentan las conclusiones. 2. DOMINIOS DE APLICACIÓN En esta sección se presentan los sistemas ciberfísicos y trabajos que tienen relación con el presentado. 2.1. SISTEMAS CIBERFÍSICOS Los sistemas ciber-físicos, o CPS (Cyber-Physical Systems), se corresponden con una disciplina considerada fundamental en investigación en los últimos diez años [1, 2]. Son sistemas computacionales que controlan entidades físicas cuyo diseño requiere la aplicación transversal de conocimientos avanzados en diversas disciplinas tal y como se puede ver en [3]. Estas disciplinas se pueden Actas de las XXXVI Jornadas de Automática, 2 - 4 de septiembre de 2015. Bilbao ISBN 978-84-15914-12-9 © 2015 Comité Español de Automática de la IFAC (CEA-IFAC) 1050

Transcript of Hacia un framework basado en ROS para la implementación de Sistemas ... · Hacia un framework...

Hacia un framework basado en ROS para la implementacioacuten de SistemasCiberfiacutesicos

Pablo Gonzaacutelez-Nalda1 Isidro Calvo2 Ismael Etxeberria-Agiriano1 Ekaitz Zulueta2 Joseacute Manuel Loacutepez-Guede2

pablogonzalezisidrocalvoismaeletxeberriaekaitzzuluetajmlopezehueus1 Lenguajes y Sistemas Informaacuteticos

2 Ingenieriacutea de Sistemas y AutomaacuteticaEscuela Universitaria de Ingenieriacutea de Vitoria-Gasteiz Universidad del Paiacutes Vasco UPVEHU

Resumen

Este artiacuteculo describe un framework para su usoen Sistemas Ciberfiacutesicos (CPS) con el objetivo defacilitar la implementacioacuten de un sistema distribuidode adquisicioacuten de datos de sensores y otrasmediciones su computacioacuten y enviacuteo de oacuterdenes aactuadores

Esta arquitectura se puede implementar en diferentesdominios de aplicacioacuten Cada uno de los elementosde esta arquitectura distribuida es un nododel middleware libre ROS (Robotic OperatingSystem) De esta forma se obtiene modularidad yevolucioacuten incremental redundancia y flexibilidadSe utilizan nodos de bajo coste que cuentancon una gran comunidad de desarrolladores yabundante informacioacuten por ser hardware y softwarelibres Finalmente se detalla un caso de aplicacioacutenconsistente en un robot moacutevil que resalta algunas delas posibilidades de la arquitectura

Palabras clave Arquitectura Sistemas Ciberfiacutesicos(CPS) ROS middleware Teleoperacioacuten Roboacuteticamoacutevil Hw y Sw libre Raspberry Pi Arduino

1 INTRODUCCIOacuteN

Este artiacuteculo plantea un framework para su usoen Sistemas Ciberfiacutesicos (CPS) con el objetivo defacilitar la implementacioacuten de un sistema distribuidode adquisicioacuten de datos de sensores y otrasmediciones su computacioacuten y enviacuteo de instruccionesa actuadores

Esta arquitectura se puede implementar en diferentesentornos por ejemplo para el control de un edificioindustrial de una vivienda o de un objeto moacutevil(vehiacuteculo maquinaria roboacutetica autoacutenoma) Cada unode los elementos de esta arquitectura distribuida (ocluacutester) es un nodo del middleware ROS (RoboticOperating System) Las comunicaciones son porTCPIP y se pueden hacer seguras implementando unservidor VPN

Las ventajas de esta red de nodos ROS son variasla modularidad de la arquitectura permite adaptarla asistemas ya implantados para mejorar su evolucioacuten de

forma incremental la redundancia es posible por elesquema publicadorsuscriptor de ROS es libre (tienelicencia BSD) y multiplataforma

Tras la definicioacuten de dicha arquitectura se explicala eleccioacuten de componentes para cada tipo de nodoen funcioacuten de las tareas asignadas y buscando elcoste miacutenimo y la maacutexima flexibilidad y modularidadLos dispositivos hardware elegidos de bajo coste seencuentran entre los maacutes utilizados en sus respectivascategoriacuteas y por tanto una gran comunidad dedesarrolladores que los utilizan Se pueden tenermuchos dispositivos replicados para desarrollar enparalelo cada subsistema

En los dispositivos elegidos el hardware y el softwareson libres Por ello es muy sencillo acceder a forosen los que encontrar abundante informacioacuten relativaa los mismos de forma que se puedan enriquecerlos aspectos teacutecnicos de la arquitectura Tambieacuten sepueden establecer puentes para controlar hardwareexterno o no libre (a traveacutes de EtherCAT) u otro tipode redes (OpenHab)

El resto del artiacuteculo se organiza de la siguiente maneraen la Seccioacuten 2 se hace una breve revisioacuten de algunostrabajos relacionados con este trabajo en la Seccioacuten 3se proponen las ideas generales de la arquitecturapresentada en la Seccioacuten 4 se eligen los componentesque cumplen los requisitos en la Seccioacuten 5 sedemuestra la aplicabilidad del modelo mediante unaimplementacioacuten con un coche de radiocontrol y en laSeccioacuten 6 se presentan las conclusiones

2 DOMINIOS DE APLICACIOacuteN

En esta seccioacuten se presentan los sistemas ciberfiacutesicosy trabajos que tienen relacioacuten con el presentado

21 SISTEMAS CIBERFIacuteSICOS

Los sistemas ciber-fiacutesicos o CPS (Cyber-PhysicalSystems) se corresponden con una disciplinaconsiderada fundamental en investigacioacuten enlos uacuteltimos diez antildeos [1 2] Son sistemascomputacionales que controlan entidades fiacutesicascuyo disentildeo requiere la aplicacioacuten transversal deconocimientos avanzados en diversas disciplinas tal ycomo se puede ver en [3] Estas disciplinas se pueden

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1050

agrupar en las siguientes aacutereas de conocimiento (1)redes de comunicacioacuten (2) computacioacuten embebida ysistemas de tiempo real y (3) sistemas de control (verFig 1) [4 5] El teacutermino CPS estaacute frecuentementerelacionado con entornos de redes ubicuas de sensorespara conectar elementos fiacutesicos a computadoresy roboacutetica autoacutenoma [3 6 7] Los elementos quecomponen este tipo de sistemas son cada vez maacutescomunes en la vida cotidiana por lo que hacetiempo que han dejado de sorprendernos Ademaacutesla popularizacioacuten de los teleacutefonos inteligentes(o smartphones) ha facilitado el desarrollo ygeneralizacioacuten de este tipo de aplicaciones yaque este tipo de dispositivos proporciona una interfazde usuario para las aplicaciones CPS

Figura 1 Aacutereas de trabajo principales de los CPS

Con respecto a los dominios de aplicacioacuten los CPSabarcan extensas aacutereas como la domoacutetica agriculturainfraestructuras civiles asistencia sanitariaautomocioacuten transporte energiacutea automatizacioacutenindustrial ingenieriacutea aeroespacial entretenimientoy electroacutenica de consumo Crear una arquitecturaestaacutendar libre de bajo coste de faacutecil manejo ycon gran cantidad de documentacioacuten simplifica laimplantacioacuten de estos sistemas

Por otro lado hay que tener en cuenta que hoyen diacutea se dispone de potentes plataformas baratasy de bajo consumo para un uso cotidiano comoson las populares placas Raspberry Pi o las Arduinoque permiten el prototipado e incluso construccioacutende sistemas finales de manera modular [10 11]La disponibilidad de gran cantidad de informacioacutenteacutecnica en Internet ha facilitado la popularidad de estosdispositivos

22 AacuteMBITO DE APLICACIOacuteN

Los CPS son unos sistemas muy adecuados parautilizarlos en el desarrollo de sistemas versaacutetiles en laautomatizacioacuten industrial infraestructuras la roboacuteticala mecatroacutenica y los sistemas embebidos Para estatarea es ventajoso disponer de esquemas de bajo costeestaacutendar y libres

El software ROS (Sistema Operativo Roboacutetico) [16]es en realidad un middleware creado para simplificarlas comunicaciones y facilitar la escritura de moacutedulosen el control de robots En 2012 se constituyoacute unainiciativa de empresas denominada ROS-Industrial[20] que tiene como objetivo impulsar el desarrollo demoacutedulos de ROS para la automatizacioacuten industrial

Algunos autores como Valera Soriano y Valleacutes [12]realizan un anaacutelisis de las diferentes soluciones enel aacutembito educativo de la automatizacioacuten controlpor computador roboacutetica y sistemas mecatroacutenicosA pesar de no ser soluciones pensadas para laautomatizacioacuten industrial en la que la robustez yfiabilidad son imprescindibles la redundancia deuna red que incorpora gran nuacutemero de dispositivosasequibles puede compensar dicho deacuteficit

Entre otras plataformas en [12] se analizan laplataforma LEGO Mindstorms y sus entornos deprogramacioacuten Posteriormente los autores describenen detalle tres de las tarjetas de control embebido(tambieacuten denominadas ordenadores de placa uacutenicaSingle-Board Computers o SBC) maacutes habitualesArduino Uno Raspberry Pi y BeagleBone BlackEstos SBC son hardware libre ejecutan softwarelibre [19] tienen mucha documentacioacuten y una ampliacomunidad de usuarios

Estos SBC tambieacuten resultan muy interesantes en elaacutembito de la investigacioacuten en roboacutetica moacutevil ya quefacilita construir vehiacuteculos moacuteviles de bajo costeOros y Krichmar [13 14] plantean la utilizacioacutende teleacutefonos moacuteviles para educacioacuten investigacioacuten yentretenimiento Estos autores proponen la ldquoroboacuteticabasada en moacutevilesrdquo como un sistema barato y flexibleBasan el sistema en un moacutevil Android como unidadde coacutemputo junto a sensores (caacutemara GPS y otros)y conectividad (WiFi y 3G) y una placa IOIO comointerfaz ante los servos (comunicacioacuten por modulacioacutende anchura de pulsos o PWM) y varios tipos desensores Sus conclusiones en cuanto a la mecaacutenicason que un vehiacuteculo de radiocontrol es muy adecuadopor ser muy raacutepido tiene una buena amortiguacioacutenpara terrenos irregulares y son resistentes

En el aacuterea de los sistemas de control valoranmuy positivamente que los moacuteviles Androidtienen generalmente gran potencia y bateriacuteasgran conectividad caacutemara incorporada multitudde sensores y un buen sistema de desarrollo desoftware Tambieacuten comparan el coste de su sistemaroboacutetico frente a otros Plantean que su estructuraes modular y que se pueden antildeadir maacutes sensoresy diferentes medios de locomocioacuten de forma maacutesflexible En su comparacioacuten afirman que su sistemaes de menor coste que otros para la misma potenciacomputacional Por ello lo ven beneficioso para eldesarrollo de enjambres de robots (swarm robotics) yanalizan la implementacioacuten de libreriacuteas que requieren

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1051

grandes necesidades de recursos como OpenCV [15]o ROS [16] ademaacutes de teacutecnicas de control como lasRedes Neuronales

3 ARQUITECTURA PROPUESTA

En este trabajo se presenta un software marco oframework altamente modular y distribuido conel objetivo de usarse en todo tipo de sistemasciberfiacutesicos que requieran adquirir gran variedadde mediciones la ejecucioacuten de algoritmos deprocesamiento seguimiento y decisioacuten y el enviacuteode instrucciones a diferentes maquinarias robots ycualquier tipo de actuadores Esta arquitectura sepuede implementar para llevar a cabo el controlde un edificio inteligente (como iluminacioacuten aireacondicionado control de presencia y vigilancia)de un edificio industrial de una planta industrial oun almaceacuten de una vivienda o de un objeto moacutevil(vehiacuteculo maquinaria roboacutetica autoacutenoma)

Para mostrar sus posibilidades vamos a definir unaarquitectura para un problema concreto de roboacuteticamoacutevil Es de especial intereacutes que el hardware utilizadosea de bajo consumo energeacutetico y ligero en peso

La Fig 2 muestra la visioacuten general de la arquitecturapara este problema Se pueden observar los moacutedulosde computacioacuten y decisioacuten (se describe en lasubseccioacuten 41) de interaccioacuten con componentesmecatroacutenicos (subseccioacuten 42) de sistemas de audioy viacutedeo (subseccioacuten 43) y moacutedulo de visualizacioacuten ycontrol (subseccioacuten 44)

Figura 2 Esquema de la arquitectura propuesta

31 ROS

ROS [16] es un middleware orientado a laconstruccioacuten del control de robots Se instalasobre un sistema operativo GNULinux y permiteincorporar todo tipo de dispositivos a una redmodular y distribuida que en su conjunto lleva elcontrol del sistema Un nodo es el nodo maestro quepermite al resto de los nodos que se encuentren paracomunicarse por TCPIP En la Fig 3 se muestranlos diferentes medios para comunicar los nodos

esquema de comunicacioacuten por mensajes o toacutepicos(publicador-suscriptor) y servicio-cliente

ROS presenta muchas ventajas

No hace falta reinventar la rueda es unsoftware optimizado para las comunicacionesentre elementos de una red

ROS es Software Libre (tiene licencia BSD [19])y multiplataforma

ROS es un estaacutendar en Roboacutetica 18 de los 23robots de las finales en la competicioacuten DARPARobotics Challenge usan ROS [18]

Hay un entorno de desarrollo para crearaplicaciones Android que se integren en sistemasROS [23]

Se integran multitud de sistemas y sensores [24]

Se puede usar cualquier tipo de hardware decomunicaciones por TCPIP entre los nodos delmiddleware ROS por ejemplo por Ethernet oWiFi

Se pueden simular robots en Gazebo [26]

Se pueden usar protocolos como EtherCAT [30]

Puede integrarse con plataformas utilizadas enautomatizacioacuten y roboacutetica como OROCOS [2122]

Se pueden integrar componentes de diferentesmarcas siempre que se pueda crear un puenteo sotfware que traduzca el protocolo utilizado aROS

Hay software-puente con el servidor de doacutemoticaOpenHab [28] mediante el puente [29] y todo tipode drivers [25]

Todo el coacutedigo tiene licencias libres y estaacutedisponible en GitHub [27]

Figura 3 Esquema de ROS [16]

En resumen ROS es la eleccioacuten correcta por susposibilidades es el mejor documentado es muy usadoy tiene una gran comunidad de desarrollo y decomunidad [17]

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1052

Una estructura modular proporciona evidentesventajas

El crecimiento de la red es flexible dado que laestructura publicadorsuscriptor permite separarproblemas de una manera P2P No obstanteexiste la posibilidad de crear tambieacuten estructurasclienteservidor con el sistema ServicesLa migracioacuten de un sistema implantado a otro sepuede producir de forma gradual incrementalSe obtiene redundancia faacutecilmente ya que sepueden integrar maacutes elementos que dupliquen laestructura

Las comunicaciones con el nodo maestro de ROSse pueden hacer seguras implementando un servidorVPN en uno de los nodos de computacioacuten al que sepueden conectar el resto de forma encriptada

En definitiva disponemos de una red de nodos quese conectan directamente para ofrecerse mensajes yservicios en la que el maestro actuacutea para resolvernombres Los nodos comparten el estaacutendar decomunicaciones pero su hardware es heterogeacuteneocomo lo son las funciones que deben cumplir

4 ELECCIOacuteN DE COMPONENTES

Una vez definida esta arquitectura geneacuterica basada enROS y detalladas las ventajas que proporciona paracualquier red de adquisicioacuten de datos y control deactuadores pasamos a discutir la eleccioacuten de unoscomponentes que mantengan las ventajas y facilitenla implementacioacuten de una red de este tipo buscando elcoste miacutenimo y la maacutexima flexibilidad y modularidad

41 MOacuteDULO DE COMPUTACIOacuteN

De entre los posibles la opcioacuten maacutes interesante esla basada en el SBC Raspberry Pi (abreviaremoscon RPi) Concretamente la recientemente lanzadaRaspberry Pi 2 proporciona una gran potencia decaacutelculo y grandes posibilidades de conectividad por unprecio muy asequible (en torno a los 50e)

La RPi opera con muchos sistemas operativos ylenguajes Una opcioacuten muy habitual es usar unSO GNULinux como Debian o Ubuntu con lasmuacuteltiples ventajas que conlleva usar un sistemaoperativo tan extendido en superordenadores yservidores en Internet y en empresas Es tiacutepica lautilizacioacuten para la programacioacuten de C o PythonDesarrollar en estos sistemas con estos lenguajes(especialmente C) permite acercarse al hardwarey facilitar un mejor tiempo de respuesta frenteal entorno Java del duacuteo AndroidIOIO planteadoen [14] Ademaacutes se puede optimizar faacutecilmente laplataforma configurando adecuadamente para mejorar

la eficiencia y rendimiento del sistema operativo locual permite ahorrar en caacutelculo y por lo tanto enbateriacuteas Este enfoque permite resolver uno de losproblemas del ecosistema Android ya que es unsistema muy pesado computacionalmente por ofreceruna gran variedad de servicios es difiacutecil de configurary por ello es muy complejo

Tenemos la posibilidad de instalar software de formaautomaacutetica mediante las utilidades de gestioacuten desoftware de DebianUbuntu en la RPi Podemostambieacuten compilar todo tipo de software compatiblecon estas distribuciones ademaacutes de desarrollar enla propia tarjeta nuestro software La flexibilidad dela RPi por su conectividad (varios USBs EthernetGPIO I2C SPI UART) nos permite que ademaacutes demodular sea faacutecilmente ampliable y permita antildeadirnuevos modos de comunicacioacuten Si se necesitaramenos potencia de caacutelculo para menos consumoexisten alternativas dentro de la familia Raspberry Pi

42 MOacuteDULO DE INTERACCIOacuteN CONMECATROacuteNICA

Con respecto al moacutedulo de interaccioacuten con loscomponentes mecatroacutenicos se optoacute por introduciren la arquitectura la placa Arduino Uno por ser unestaacutendar y ser hardware libre sus especificaciones sonabiertas y se pueden crear nuevos dispositivos a partirde ellas o modificarlas Nuestra eleccioacuten es de muybajo coste en torno a los 20e frente a IOIO que cuestacasi el doble porque Arduino Uno es maacutes populary porque podemos prescindir de costosas funcionesantildeadidas que tiene IOIO (programacioacuten con Java)

La tarjeta Arduino Uno proporciona praacutecticamente lamisma funcionalidad (salvo la interfaz con sistemasJava) por lo que se conecta a sensores y motores dela misma forma Otra ventaja es que se ha convertidoen un estaacutendar de facto con maacutes documentacioacutenvigencia y un gran nuacutemero de sensores y actuadorescomerciales disponibles La comunicacioacuten entre la RPiy la Arduino Uno se realiza a traveacutes de sus respectivaslibreriacuteas de comunicacioacuten Serie sobre USB y porsupuesto y preferentemente con ROS

Se podriacutea simplificar el sistema reducieacutendolo a unasola placa usando el miniordenador BeagleBoneBlack (BBB) que dispone de maacutes flexibilidad enES hardware aunque tenga menos capacidad consentildeales analoacutegicas que una Arduino Con un BBBno renunciamos a la potencia del GNULinux puestoque tambieacuten usa estas distribuciones Sin embargoestimamos muy potente mantener la dualidad de usarun SBC RPi para procesamiento y una o varias tarjetasArduino por cada RPi para la interaccioacuten con loscomponentes mecatroacutenicos puesto que estaacuten disentildeadaspara controlar todo tipo de sentildeales analoacutegicas ydigitales

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1053

43 MOacuteDULO DE SISTEMAS DE AUDIO YVIacuteDEO

Si se necesitan una o maacutes caacutemaras se puede ampliar elsistema de una forma sencilla ya que el GNULinuxinstala automaacuteticamente las caacutemaras web compatiblespor USB con el estaacutendar V4L2 (viacutedeo para Linux V2)Es el meacutetodo habitual para que el software captureimagen por ejemplo OpenCV Existen puentes paracomunicar OpenCV con ROS Lo mismo ocurre conel sonido que es faacutecil de capturar en ROS e incluso sepuede sintetizar el habla

Todas estas placas permiten antildeadir moacutedulos hardware(llamados shield en Arduino o cape en BeagleBone)que pueden controlar otros tipos de sentildeales Porejemplo se puede incluir otro hardware como ZigBeeen las Arduino a traveacutes de un shield

44 MOacuteDULO DE SISTEMAS DEVISUALIZACIOacuteN Y CONTROL REMOTO

Este disentildeo de arquitectura no excluye el uso de undispositivo Android en el sistema pero un disentildeocentrado en un ordenador mono-placa basado enGNULinux evita la dificultad del desarrollo deaplicaciones en Android y su sistema de gestioacuten deejecucioacuten orientado a la interactividad Se puedenaprovechar las capacidades graacuteficas de los dispositivosAndroid para utilizarlos como interfaz de usuariodel sistema bien para monitorizar el sistema opara proporcionar informacioacuten a las RPi El moacutedulorosjava permite desarrollar aplicaciones Java dentrode ROS De esta forma ya existen aplicacionesAndroid que visualizan datos de ROS

Hay muchas aplicaciones de software libre de ejemplopara Android que permiten enviar con ROS los datosque recolectan (sensores caacutemara) para que puedan serintegrados y procesados en el dispositivo principalDe hecho no es necesario usar un moacutevil de altagama incluso puede utilizarse un moacutevil con taras (pela pantalla parcialmente rota) por lo que se podriacuteaadaptar para pesar menos

Otro posible uso de un dispositivo Android o cualquierotro sistema fijo o moacutevil es el control remoto o lasupervisioacuten con los mecanismos estaacutendares de ROS

RVIZ visualizacioacuten 3DBAGS registro y visualizacioacuten de datosPLOT dibujo de datosGRAPH grafo de los procesos y conexiones

El cliente puede ser de cualquier tipo incluyendouna interfaz web Como se ha indicado anteriormentehay un compromiso entre funcionalidad y gasto debateriacutea en este caso de transmisioacuten Bluetooth o WiFial cliente

La estructura distribuida permite integrar cualquierotro dispositivo conectado por una gran variedad dehardware por lo que la evolucioacuten de un sistema ya enuso estaacute asegurada

En resumen los dispositivos hardware elegidos debajo coste se encuentran entre los maacutes utilizados ensus respectivas categoriacuteas y disfrutan por tanto de unagran comunidad de desarrolladores que los utilizanSe pueden tener muchos dispositivos replicados paradesarrollar en paralelo cada subsistema Ademaacutes enlos dispositivos elegidos el hardware y el softwareson libres y por ello es muy sencillo acceder a forosen los que encontrar abundante informacioacuten relativaa los mismos de forma que se puedan enriquecer losaspectos teacutecnicos de la arquitectura

5 UN CASO DE APLICACIOacuteN

Como un ejemplo de la arquitectura descrita seimplementa un caso de aplicacioacuten consistente en unainstanciacioacuten de la arquitectura y una implementacioacutende la misma Para validar la arquitectura propuestase ha implementado sobre un coche de radiocontrolLRP S10 Twister 2WD Short Course Este vehiacuteculopuede alcanzar gran velocidad por lo que se necesitanbuenos tiempos de reaccioacuten para evitar obstaacuteculos Laautonomiacutea de la bateriacutea NiMH de 72V y 1600mAhronda la media hora (ver Fig 4)

Figura 4 Vehiacuteculo radiocontrolado (LRPcc)

El esquema de la Fig 2 se particulariza con losdiferentes componentes en la Fig 5

Figura 5 Aplicacioacuten praacutectica del modelo

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1054

La alimentacioacuten de la RPi se realiza a traveacutes demicroUSB En el prototipo propuesto se conecta a unabateriacutea USB estaacutendar de carga de moacuteviles La RPi2consume 900mA seguacuten carga de proceso y perifeacutericosUSB mientras que la bateriacutea usada puede suministrarhasta 2A y tiene una capacidad de 6800mAh conlo que se estima una autonomiacutea de siete horasLa configuracioacuten de los diferentes subsistemas sedescribe a continuacioacuten

A Conexioacuten RPi-Arduino

Esta conexioacuten une la RPi con una Arduino UnoMediante ROS sobre USB se enviacutean a la Arduinolas oacuterdenes de activacioacuten de los motores y se puedenrecoger las lecturas de los sensores conectados

La Arduino modula el servo de direccioacuten y el motorde traccioacuten mediante PWM mediante un circuito ESC(Electronic Speed Control) que controla el motorde corriente continua El ESC estaacute preparado paraadaptarse al receptor de control remoto con un meacutetododenominado AI (inteligente) que asociaraacute valoresentre 0 y 180 como activacioacuten nula del motor A partirde ese valor acelera o frena y si se vuelve al cero y sele enviacutea un valor de frenado se mueve hacia atraacutes

B Webcam

Se le ha conectado una caacutemara web LogitechQuickCam Pro 9000 al moacutedulo central mediante USBLa imagen se recoge mediante el controlador V4L2del nuacutecleo Linux El retardo experimentado podraacutereducirse con la RPi2 permitiendo maacutes trabajo en elprocesamiento de la sentildeal con libreriacuteas como OpenCV

C Control Remoto

Para el control remoto del vehiacuteculo se conecta unmoacutedulo WiFi USB a la RPi Para ello se precisa deun hub USB alimentado Se ha definido una red locala la que se conectan la RPi y el cliente como en [8 9]controlando desde un Android Ademaacutes se puede verla imagen de la caacutemara web

D Lectura de sensores de Android

Otra liacutenea de evaluacioacuten de la arquitectura propuestaconecta al sistema un antiguo moacutevil Android parasuministrar las lecturas de sensores utilizando unaaplicacioacuten libre llamada Sensor Readout giroacutescopoaceleroacutemetro lineal y angular campos magneacuteticos yotros valores de intereacutes seguacuten pueda integrarlos elprograma principal La comunicacioacuten se lleva a cabo atraveacutes de rosjava

E Divisioacuten modular

Como ejemplo de modularidad se propone dividir elproyecto en dos grupos de trabajo

Grupo principal une una RPiB+ con una ArduinoUnoGrupo auxiliar combina una RPiA caacutemaraWiFi-USB y un moacutevil Android Galaxy i7500 conuna ROM GAOSP Froyo

Otras posibilidades planteadas son utilizar dispositivosmoacuteviles o portaacutetiles con Ubuntu Esta divisioacuten muestraotra ventaja de este modelo la facilidad de creardesarrollos en paralelo el bajo coste del hardwarepermite disponer de varias unidades ademaacutes dediferentes versiones Como consecuencia el sistemapermite comprobar la robustez intercambiando lasdiferentes unidades para ajustar capacidades valorardebilidades y minimizar el consumo

F Prototipo disponible

El montaje completo del prototipo del sistema descritoen esta seccioacuten se muestra en la Fig 6 Un elementoa mejorar es la voracidad en el consumo de bateriacuteaprobablemente debido a la caacutemara Web y el dispositivoWiFi

Figura 6 Robot moacutevil resultante con sus dispositivos

6 CONCLUSIONES

Se ha presentado en este artiacuteculo un sistemamarco o framework para estructurar y mejorarla implementacioacuten de un sistema distribuido deadquisicioacuten de datos de sensores su computacioacutentoma de decisiones y enviacuteo de instrucciones aactuadores

Esta arquitectura se puede implementar en diferentesentornos y es especialmente adecuada para su uso enSistemas Ciberfiacutesicos (CPS)

Cada uno de los elementos de esta arquitecturadistribuida es un nodo de ROS (Robotic OperatingSystem) Las ventajas de esta red de nodos ROSson varias es un software muy extendido y biendocumentado potente y extendido a gran variedad dehardware la modularidad de la arquitectura permiteadaptarla a sistemas ya implantados para mejorarsu evolucioacuten de forma incremental la redundancia

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1055

es posible es software libre y multiplataforma Lascomunicaciones son por TCPIP y se pueden hacerseguras implementando un servidor VPN

Se han elegido componentes para los diferentes nodosLos dispositivos hardware elegidos de bajo coste sonlos maacutes utilizados por ser hardware y software librey con una gran comunidad de desarrolladores Porello se encuentra abundante informacioacuten relativa a losmismos Tambieacuten se pueden establecer puentes paracontrolar hardware externo

Agradecimientos

Este trabajo ha sido subvencionado por el Ministeriode Economiacutea y Competitividad (MINECO) bajo elproyecto DPI2012-37806-C02-01 por el GobiernoVascoEusko Jaurlaritza bajo el proyecto CPS4PSSETORTEK1410 y por la Universidad del PaiacutesVascoEuskal Herriko Unibertsitatea (UPVEHU) bajoel proyecto EHU1342 y la UFI1128

Referencias

[1] W G Gilroy ldquoNSF funds Cyber-PhysicalSystems Projectrdquo httpnewsinfondedunews17248-nsf-funds-cyber-phys

[2] National Science Foundation ProgramSolicitation httpwwwnsfgovpubs2008nsf08611nsf08611pdf

[3] Cyber-Physical Systems httpcyberphysicalsystemsorg

[4] I Etxeberria-Agiriano I Calvo A Nogueroand E Zulueta ldquoTowards middleware-basedcooperation topologies for the next generationof CPSrdquo International Journal of OnlineEngineering 8 (Special Issue 2) pp 20-272012

[5] I Calvo I Etxeberria-Agiriano and A NogueroldquoDistribution Middleware Technologies forCyber Physical Systemsrdquo Proc of the RemoteEngineering amp Virtual Instrumentation (REV-2012) pp 298-301 July 2012

[6] W Wolf ldquoCyber-physical Systemsrdquo Computervol 42 no 3 pp 88-89 March 2009 httpdxdoiorg101109MC200981

[7] R Rajkumar I Lee L Sha J StankovicldquoCyber-physical systems The next computingrevolutionrdquo Design Automation Conference(DAC) 2010 47th ACMIEEE vol no pp731-736 13-18 June 2010

[8] P Gonzaacutelez-Nalda I Calvo I Etxeberria-Agiriano A Garciacutea-Ruiacutez S Martiacutenez-LestaD Caballero-Martiacuten ldquoBuilding a CPS as anEducational Challengerdquo International Journal ofOnline Engineering 10 (4) pp 52-58 2014

[9] P Gonzaacutelez-Nalda I Calvo I Etxeberria-Agiriano A Garciacutea-Ruiz S Martiacutenez-Lesta DCaballero-Martiacuten ldquoThe Challenge of Buildinga Cyber Physical System as an EducationalExperiencerdquo 9a Conferencia Ibeacuterica de Sistemasy Tecnologiacuteas de la Informacioacuten (CISTI) pp327-332 18-21 Junio 2014

[10] E A Lee and S A Seshia Introductionto Embedded Systems A Cyber-PhysicalSystems Approach httpLeeSeshiaorgISBN978-0-557-70857-42011

[11] P Marwedel ldquoEmbedded and cyber-physicalsystems in a nutshellrdquo DACCOM KnowledgeCenter Article 2010

[12] A Valera A Soriano M Valleacutes ldquoPlataformasde Bajo Coste para la Realizacioacuten de TrabajosPraacutecticos de Mecatroacutenica y Roboacuteticardquo RevistaIberoamericana de Automaacutetica e Informaacuteticaindustrial 11 (2014) 363-376

[13] Oros N Krichmar JL 2013 ldquoSmartphoneBased Robotics Powerful Flexible andInexpensive Robots for Hobbyists EducatorsStudents and Researchersrdquo CECS TechnicalReport 13-16 November 26 2013 Center forEmbedded Computer Systems University ofCalifornia Irvine

[14] Oros N Krichmar JL 2013 ldquoAndroidBased Robotics Powerful Flexible andInexpensive Robots for Hobbyists EducatorsStudents and Researchersrdquo CognitiveAnteater Robotics Laboratory University ofCalifornia Irvine 2013 Web November 2013httpwwwsocsciuciedu~jkrichmaABRindexhtml

[15] OpenCV Bliblioteca libre de Visioacuten Artificalhttpopencvorg

[16] ROS Robot Operating System httpwwwrosorg

[17] ROS comunidad httpanswersrosorgquestions

[18] OSRF Blog ROS amp Gazebo at the DRCFinals httpwwwosrfoundationorgros-gazebo-at-the-drc-finals

[19] Free Software Foundation httpswwwfsforg

[20] ROS-Industrial httprosindustrialorg

[21] OROCOS httpwwworocosorg

[22] Orocos RTT and ROS integrated httpwwwwillowgaragecomblog20090610orocos-rtt-and-ros-integrated

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1056

[23] ROS en Android httpwikirosorgandroiddistro=indigo y httpsgithubcomros-android

[24] Sensores para ROS httpwikirosorgSensors

[25] Drivers para ROS httpsgithubcomros-drivers

[26] Gazebo en ROS httpwikirosorggazebo_ros_pkgs

[27] GitHub de ROS httpwikirosorgRecommendedRepositoryUsageCommonGitHubOrganizations

[28] OpenHab httpwwwopenhaborg

[29] Puente entre OpenHab y ROS iot_bridgehttpwikirosorgiot_bridge

[30] Simple Open EtherCAT Master or SOEMhttpdocsrosorghydroapiethercat_soemhtmlindexhtml

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1057

agrupar en las siguientes aacutereas de conocimiento (1)redes de comunicacioacuten (2) computacioacuten embebida ysistemas de tiempo real y (3) sistemas de control (verFig 1) [4 5] El teacutermino CPS estaacute frecuentementerelacionado con entornos de redes ubicuas de sensorespara conectar elementos fiacutesicos a computadoresy roboacutetica autoacutenoma [3 6 7] Los elementos quecomponen este tipo de sistemas son cada vez maacutescomunes en la vida cotidiana por lo que hacetiempo que han dejado de sorprendernos Ademaacutesla popularizacioacuten de los teleacutefonos inteligentes(o smartphones) ha facilitado el desarrollo ygeneralizacioacuten de este tipo de aplicaciones yaque este tipo de dispositivos proporciona una interfazde usuario para las aplicaciones CPS

Figura 1 Aacutereas de trabajo principales de los CPS

Con respecto a los dominios de aplicacioacuten los CPSabarcan extensas aacutereas como la domoacutetica agriculturainfraestructuras civiles asistencia sanitariaautomocioacuten transporte energiacutea automatizacioacutenindustrial ingenieriacutea aeroespacial entretenimientoy electroacutenica de consumo Crear una arquitecturaestaacutendar libre de bajo coste de faacutecil manejo ycon gran cantidad de documentacioacuten simplifica laimplantacioacuten de estos sistemas

Por otro lado hay que tener en cuenta que hoyen diacutea se dispone de potentes plataformas baratasy de bajo consumo para un uso cotidiano comoson las populares placas Raspberry Pi o las Arduinoque permiten el prototipado e incluso construccioacutende sistemas finales de manera modular [10 11]La disponibilidad de gran cantidad de informacioacutenteacutecnica en Internet ha facilitado la popularidad de estosdispositivos

22 AacuteMBITO DE APLICACIOacuteN

Los CPS son unos sistemas muy adecuados parautilizarlos en el desarrollo de sistemas versaacutetiles en laautomatizacioacuten industrial infraestructuras la roboacuteticala mecatroacutenica y los sistemas embebidos Para estatarea es ventajoso disponer de esquemas de bajo costeestaacutendar y libres

El software ROS (Sistema Operativo Roboacutetico) [16]es en realidad un middleware creado para simplificarlas comunicaciones y facilitar la escritura de moacutedulosen el control de robots En 2012 se constituyoacute unainiciativa de empresas denominada ROS-Industrial[20] que tiene como objetivo impulsar el desarrollo demoacutedulos de ROS para la automatizacioacuten industrial

Algunos autores como Valera Soriano y Valleacutes [12]realizan un anaacutelisis de las diferentes soluciones enel aacutembito educativo de la automatizacioacuten controlpor computador roboacutetica y sistemas mecatroacutenicosA pesar de no ser soluciones pensadas para laautomatizacioacuten industrial en la que la robustez yfiabilidad son imprescindibles la redundancia deuna red que incorpora gran nuacutemero de dispositivosasequibles puede compensar dicho deacuteficit

Entre otras plataformas en [12] se analizan laplataforma LEGO Mindstorms y sus entornos deprogramacioacuten Posteriormente los autores describenen detalle tres de las tarjetas de control embebido(tambieacuten denominadas ordenadores de placa uacutenicaSingle-Board Computers o SBC) maacutes habitualesArduino Uno Raspberry Pi y BeagleBone BlackEstos SBC son hardware libre ejecutan softwarelibre [19] tienen mucha documentacioacuten y una ampliacomunidad de usuarios

Estos SBC tambieacuten resultan muy interesantes en elaacutembito de la investigacioacuten en roboacutetica moacutevil ya quefacilita construir vehiacuteculos moacuteviles de bajo costeOros y Krichmar [13 14] plantean la utilizacioacutende teleacutefonos moacuteviles para educacioacuten investigacioacuten yentretenimiento Estos autores proponen la ldquoroboacuteticabasada en moacutevilesrdquo como un sistema barato y flexibleBasan el sistema en un moacutevil Android como unidadde coacutemputo junto a sensores (caacutemara GPS y otros)y conectividad (WiFi y 3G) y una placa IOIO comointerfaz ante los servos (comunicacioacuten por modulacioacutende anchura de pulsos o PWM) y varios tipos desensores Sus conclusiones en cuanto a la mecaacutenicason que un vehiacuteculo de radiocontrol es muy adecuadopor ser muy raacutepido tiene una buena amortiguacioacutenpara terrenos irregulares y son resistentes

En el aacuterea de los sistemas de control valoranmuy positivamente que los moacuteviles Androidtienen generalmente gran potencia y bateriacuteasgran conectividad caacutemara incorporada multitudde sensores y un buen sistema de desarrollo desoftware Tambieacuten comparan el coste de su sistemaroboacutetico frente a otros Plantean que su estructuraes modular y que se pueden antildeadir maacutes sensoresy diferentes medios de locomocioacuten de forma maacutesflexible En su comparacioacuten afirman que su sistemaes de menor coste que otros para la misma potenciacomputacional Por ello lo ven beneficioso para eldesarrollo de enjambres de robots (swarm robotics) yanalizan la implementacioacuten de libreriacuteas que requieren

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1051

grandes necesidades de recursos como OpenCV [15]o ROS [16] ademaacutes de teacutecnicas de control como lasRedes Neuronales

3 ARQUITECTURA PROPUESTA

En este trabajo se presenta un software marco oframework altamente modular y distribuido conel objetivo de usarse en todo tipo de sistemasciberfiacutesicos que requieran adquirir gran variedadde mediciones la ejecucioacuten de algoritmos deprocesamiento seguimiento y decisioacuten y el enviacuteode instrucciones a diferentes maquinarias robots ycualquier tipo de actuadores Esta arquitectura sepuede implementar para llevar a cabo el controlde un edificio inteligente (como iluminacioacuten aireacondicionado control de presencia y vigilancia)de un edificio industrial de una planta industrial oun almaceacuten de una vivienda o de un objeto moacutevil(vehiacuteculo maquinaria roboacutetica autoacutenoma)

Para mostrar sus posibilidades vamos a definir unaarquitectura para un problema concreto de roboacuteticamoacutevil Es de especial intereacutes que el hardware utilizadosea de bajo consumo energeacutetico y ligero en peso

La Fig 2 muestra la visioacuten general de la arquitecturapara este problema Se pueden observar los moacutedulosde computacioacuten y decisioacuten (se describe en lasubseccioacuten 41) de interaccioacuten con componentesmecatroacutenicos (subseccioacuten 42) de sistemas de audioy viacutedeo (subseccioacuten 43) y moacutedulo de visualizacioacuten ycontrol (subseccioacuten 44)

Figura 2 Esquema de la arquitectura propuesta

31 ROS

ROS [16] es un middleware orientado a laconstruccioacuten del control de robots Se instalasobre un sistema operativo GNULinux y permiteincorporar todo tipo de dispositivos a una redmodular y distribuida que en su conjunto lleva elcontrol del sistema Un nodo es el nodo maestro quepermite al resto de los nodos que se encuentren paracomunicarse por TCPIP En la Fig 3 se muestranlos diferentes medios para comunicar los nodos

esquema de comunicacioacuten por mensajes o toacutepicos(publicador-suscriptor) y servicio-cliente

ROS presenta muchas ventajas

No hace falta reinventar la rueda es unsoftware optimizado para las comunicacionesentre elementos de una red

ROS es Software Libre (tiene licencia BSD [19])y multiplataforma

ROS es un estaacutendar en Roboacutetica 18 de los 23robots de las finales en la competicioacuten DARPARobotics Challenge usan ROS [18]

Hay un entorno de desarrollo para crearaplicaciones Android que se integren en sistemasROS [23]

Se integran multitud de sistemas y sensores [24]

Se puede usar cualquier tipo de hardware decomunicaciones por TCPIP entre los nodos delmiddleware ROS por ejemplo por Ethernet oWiFi

Se pueden simular robots en Gazebo [26]

Se pueden usar protocolos como EtherCAT [30]

Puede integrarse con plataformas utilizadas enautomatizacioacuten y roboacutetica como OROCOS [2122]

Se pueden integrar componentes de diferentesmarcas siempre que se pueda crear un puenteo sotfware que traduzca el protocolo utilizado aROS

Hay software-puente con el servidor de doacutemoticaOpenHab [28] mediante el puente [29] y todo tipode drivers [25]

Todo el coacutedigo tiene licencias libres y estaacutedisponible en GitHub [27]

Figura 3 Esquema de ROS [16]

En resumen ROS es la eleccioacuten correcta por susposibilidades es el mejor documentado es muy usadoy tiene una gran comunidad de desarrollo y decomunidad [17]

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1052

Una estructura modular proporciona evidentesventajas

El crecimiento de la red es flexible dado que laestructura publicadorsuscriptor permite separarproblemas de una manera P2P No obstanteexiste la posibilidad de crear tambieacuten estructurasclienteservidor con el sistema ServicesLa migracioacuten de un sistema implantado a otro sepuede producir de forma gradual incrementalSe obtiene redundancia faacutecilmente ya que sepueden integrar maacutes elementos que dupliquen laestructura

Las comunicaciones con el nodo maestro de ROSse pueden hacer seguras implementando un servidorVPN en uno de los nodos de computacioacuten al que sepueden conectar el resto de forma encriptada

En definitiva disponemos de una red de nodos quese conectan directamente para ofrecerse mensajes yservicios en la que el maestro actuacutea para resolvernombres Los nodos comparten el estaacutendar decomunicaciones pero su hardware es heterogeacuteneocomo lo son las funciones que deben cumplir

4 ELECCIOacuteN DE COMPONENTES

Una vez definida esta arquitectura geneacuterica basada enROS y detalladas las ventajas que proporciona paracualquier red de adquisicioacuten de datos y control deactuadores pasamos a discutir la eleccioacuten de unoscomponentes que mantengan las ventajas y facilitenla implementacioacuten de una red de este tipo buscando elcoste miacutenimo y la maacutexima flexibilidad y modularidad

41 MOacuteDULO DE COMPUTACIOacuteN

De entre los posibles la opcioacuten maacutes interesante esla basada en el SBC Raspberry Pi (abreviaremoscon RPi) Concretamente la recientemente lanzadaRaspberry Pi 2 proporciona una gran potencia decaacutelculo y grandes posibilidades de conectividad por unprecio muy asequible (en torno a los 50e)

La RPi opera con muchos sistemas operativos ylenguajes Una opcioacuten muy habitual es usar unSO GNULinux como Debian o Ubuntu con lasmuacuteltiples ventajas que conlleva usar un sistemaoperativo tan extendido en superordenadores yservidores en Internet y en empresas Es tiacutepica lautilizacioacuten para la programacioacuten de C o PythonDesarrollar en estos sistemas con estos lenguajes(especialmente C) permite acercarse al hardwarey facilitar un mejor tiempo de respuesta frenteal entorno Java del duacuteo AndroidIOIO planteadoen [14] Ademaacutes se puede optimizar faacutecilmente laplataforma configurando adecuadamente para mejorar

la eficiencia y rendimiento del sistema operativo locual permite ahorrar en caacutelculo y por lo tanto enbateriacuteas Este enfoque permite resolver uno de losproblemas del ecosistema Android ya que es unsistema muy pesado computacionalmente por ofreceruna gran variedad de servicios es difiacutecil de configurary por ello es muy complejo

Tenemos la posibilidad de instalar software de formaautomaacutetica mediante las utilidades de gestioacuten desoftware de DebianUbuntu en la RPi Podemostambieacuten compilar todo tipo de software compatiblecon estas distribuciones ademaacutes de desarrollar enla propia tarjeta nuestro software La flexibilidad dela RPi por su conectividad (varios USBs EthernetGPIO I2C SPI UART) nos permite que ademaacutes demodular sea faacutecilmente ampliable y permita antildeadirnuevos modos de comunicacioacuten Si se necesitaramenos potencia de caacutelculo para menos consumoexisten alternativas dentro de la familia Raspberry Pi

42 MOacuteDULO DE INTERACCIOacuteN CONMECATROacuteNICA

Con respecto al moacutedulo de interaccioacuten con loscomponentes mecatroacutenicos se optoacute por introduciren la arquitectura la placa Arduino Uno por ser unestaacutendar y ser hardware libre sus especificaciones sonabiertas y se pueden crear nuevos dispositivos a partirde ellas o modificarlas Nuestra eleccioacuten es de muybajo coste en torno a los 20e frente a IOIO que cuestacasi el doble porque Arduino Uno es maacutes populary porque podemos prescindir de costosas funcionesantildeadidas que tiene IOIO (programacioacuten con Java)

La tarjeta Arduino Uno proporciona praacutecticamente lamisma funcionalidad (salvo la interfaz con sistemasJava) por lo que se conecta a sensores y motores dela misma forma Otra ventaja es que se ha convertidoen un estaacutendar de facto con maacutes documentacioacutenvigencia y un gran nuacutemero de sensores y actuadorescomerciales disponibles La comunicacioacuten entre la RPiy la Arduino Uno se realiza a traveacutes de sus respectivaslibreriacuteas de comunicacioacuten Serie sobre USB y porsupuesto y preferentemente con ROS

Se podriacutea simplificar el sistema reducieacutendolo a unasola placa usando el miniordenador BeagleBoneBlack (BBB) que dispone de maacutes flexibilidad enES hardware aunque tenga menos capacidad consentildeales analoacutegicas que una Arduino Con un BBBno renunciamos a la potencia del GNULinux puestoque tambieacuten usa estas distribuciones Sin embargoestimamos muy potente mantener la dualidad de usarun SBC RPi para procesamiento y una o varias tarjetasArduino por cada RPi para la interaccioacuten con loscomponentes mecatroacutenicos puesto que estaacuten disentildeadaspara controlar todo tipo de sentildeales analoacutegicas ydigitales

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1053

43 MOacuteDULO DE SISTEMAS DE AUDIO YVIacuteDEO

Si se necesitan una o maacutes caacutemaras se puede ampliar elsistema de una forma sencilla ya que el GNULinuxinstala automaacuteticamente las caacutemaras web compatiblespor USB con el estaacutendar V4L2 (viacutedeo para Linux V2)Es el meacutetodo habitual para que el software captureimagen por ejemplo OpenCV Existen puentes paracomunicar OpenCV con ROS Lo mismo ocurre conel sonido que es faacutecil de capturar en ROS e incluso sepuede sintetizar el habla

Todas estas placas permiten antildeadir moacutedulos hardware(llamados shield en Arduino o cape en BeagleBone)que pueden controlar otros tipos de sentildeales Porejemplo se puede incluir otro hardware como ZigBeeen las Arduino a traveacutes de un shield

44 MOacuteDULO DE SISTEMAS DEVISUALIZACIOacuteN Y CONTROL REMOTO

Este disentildeo de arquitectura no excluye el uso de undispositivo Android en el sistema pero un disentildeocentrado en un ordenador mono-placa basado enGNULinux evita la dificultad del desarrollo deaplicaciones en Android y su sistema de gestioacuten deejecucioacuten orientado a la interactividad Se puedenaprovechar las capacidades graacuteficas de los dispositivosAndroid para utilizarlos como interfaz de usuariodel sistema bien para monitorizar el sistema opara proporcionar informacioacuten a las RPi El moacutedulorosjava permite desarrollar aplicaciones Java dentrode ROS De esta forma ya existen aplicacionesAndroid que visualizan datos de ROS

Hay muchas aplicaciones de software libre de ejemplopara Android que permiten enviar con ROS los datosque recolectan (sensores caacutemara) para que puedan serintegrados y procesados en el dispositivo principalDe hecho no es necesario usar un moacutevil de altagama incluso puede utilizarse un moacutevil con taras (pela pantalla parcialmente rota) por lo que se podriacuteaadaptar para pesar menos

Otro posible uso de un dispositivo Android o cualquierotro sistema fijo o moacutevil es el control remoto o lasupervisioacuten con los mecanismos estaacutendares de ROS

RVIZ visualizacioacuten 3DBAGS registro y visualizacioacuten de datosPLOT dibujo de datosGRAPH grafo de los procesos y conexiones

El cliente puede ser de cualquier tipo incluyendouna interfaz web Como se ha indicado anteriormentehay un compromiso entre funcionalidad y gasto debateriacutea en este caso de transmisioacuten Bluetooth o WiFial cliente

La estructura distribuida permite integrar cualquierotro dispositivo conectado por una gran variedad dehardware por lo que la evolucioacuten de un sistema ya enuso estaacute asegurada

En resumen los dispositivos hardware elegidos debajo coste se encuentran entre los maacutes utilizados ensus respectivas categoriacuteas y disfrutan por tanto de unagran comunidad de desarrolladores que los utilizanSe pueden tener muchos dispositivos replicados paradesarrollar en paralelo cada subsistema Ademaacutes enlos dispositivos elegidos el hardware y el softwareson libres y por ello es muy sencillo acceder a forosen los que encontrar abundante informacioacuten relativaa los mismos de forma que se puedan enriquecer losaspectos teacutecnicos de la arquitectura

5 UN CASO DE APLICACIOacuteN

Como un ejemplo de la arquitectura descrita seimplementa un caso de aplicacioacuten consistente en unainstanciacioacuten de la arquitectura y una implementacioacutende la misma Para validar la arquitectura propuestase ha implementado sobre un coche de radiocontrolLRP S10 Twister 2WD Short Course Este vehiacuteculopuede alcanzar gran velocidad por lo que se necesitanbuenos tiempos de reaccioacuten para evitar obstaacuteculos Laautonomiacutea de la bateriacutea NiMH de 72V y 1600mAhronda la media hora (ver Fig 4)

Figura 4 Vehiacuteculo radiocontrolado (LRPcc)

El esquema de la Fig 2 se particulariza con losdiferentes componentes en la Fig 5

Figura 5 Aplicacioacuten praacutectica del modelo

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1054

La alimentacioacuten de la RPi se realiza a traveacutes demicroUSB En el prototipo propuesto se conecta a unabateriacutea USB estaacutendar de carga de moacuteviles La RPi2consume 900mA seguacuten carga de proceso y perifeacutericosUSB mientras que la bateriacutea usada puede suministrarhasta 2A y tiene una capacidad de 6800mAh conlo que se estima una autonomiacutea de siete horasLa configuracioacuten de los diferentes subsistemas sedescribe a continuacioacuten

A Conexioacuten RPi-Arduino

Esta conexioacuten une la RPi con una Arduino UnoMediante ROS sobre USB se enviacutean a la Arduinolas oacuterdenes de activacioacuten de los motores y se puedenrecoger las lecturas de los sensores conectados

La Arduino modula el servo de direccioacuten y el motorde traccioacuten mediante PWM mediante un circuito ESC(Electronic Speed Control) que controla el motorde corriente continua El ESC estaacute preparado paraadaptarse al receptor de control remoto con un meacutetododenominado AI (inteligente) que asociaraacute valoresentre 0 y 180 como activacioacuten nula del motor A partirde ese valor acelera o frena y si se vuelve al cero y sele enviacutea un valor de frenado se mueve hacia atraacutes

B Webcam

Se le ha conectado una caacutemara web LogitechQuickCam Pro 9000 al moacutedulo central mediante USBLa imagen se recoge mediante el controlador V4L2del nuacutecleo Linux El retardo experimentado podraacutereducirse con la RPi2 permitiendo maacutes trabajo en elprocesamiento de la sentildeal con libreriacuteas como OpenCV

C Control Remoto

Para el control remoto del vehiacuteculo se conecta unmoacutedulo WiFi USB a la RPi Para ello se precisa deun hub USB alimentado Se ha definido una red locala la que se conectan la RPi y el cliente como en [8 9]controlando desde un Android Ademaacutes se puede verla imagen de la caacutemara web

D Lectura de sensores de Android

Otra liacutenea de evaluacioacuten de la arquitectura propuestaconecta al sistema un antiguo moacutevil Android parasuministrar las lecturas de sensores utilizando unaaplicacioacuten libre llamada Sensor Readout giroacutescopoaceleroacutemetro lineal y angular campos magneacuteticos yotros valores de intereacutes seguacuten pueda integrarlos elprograma principal La comunicacioacuten se lleva a cabo atraveacutes de rosjava

E Divisioacuten modular

Como ejemplo de modularidad se propone dividir elproyecto en dos grupos de trabajo

Grupo principal une una RPiB+ con una ArduinoUnoGrupo auxiliar combina una RPiA caacutemaraWiFi-USB y un moacutevil Android Galaxy i7500 conuna ROM GAOSP Froyo

Otras posibilidades planteadas son utilizar dispositivosmoacuteviles o portaacutetiles con Ubuntu Esta divisioacuten muestraotra ventaja de este modelo la facilidad de creardesarrollos en paralelo el bajo coste del hardwarepermite disponer de varias unidades ademaacutes dediferentes versiones Como consecuencia el sistemapermite comprobar la robustez intercambiando lasdiferentes unidades para ajustar capacidades valorardebilidades y minimizar el consumo

F Prototipo disponible

El montaje completo del prototipo del sistema descritoen esta seccioacuten se muestra en la Fig 6 Un elementoa mejorar es la voracidad en el consumo de bateriacuteaprobablemente debido a la caacutemara Web y el dispositivoWiFi

Figura 6 Robot moacutevil resultante con sus dispositivos

6 CONCLUSIONES

Se ha presentado en este artiacuteculo un sistemamarco o framework para estructurar y mejorarla implementacioacuten de un sistema distribuido deadquisicioacuten de datos de sensores su computacioacutentoma de decisiones y enviacuteo de instrucciones aactuadores

Esta arquitectura se puede implementar en diferentesentornos y es especialmente adecuada para su uso enSistemas Ciberfiacutesicos (CPS)

Cada uno de los elementos de esta arquitecturadistribuida es un nodo de ROS (Robotic OperatingSystem) Las ventajas de esta red de nodos ROSson varias es un software muy extendido y biendocumentado potente y extendido a gran variedad dehardware la modularidad de la arquitectura permiteadaptarla a sistemas ya implantados para mejorarsu evolucioacuten de forma incremental la redundancia

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1055

es posible es software libre y multiplataforma Lascomunicaciones son por TCPIP y se pueden hacerseguras implementando un servidor VPN

Se han elegido componentes para los diferentes nodosLos dispositivos hardware elegidos de bajo coste sonlos maacutes utilizados por ser hardware y software librey con una gran comunidad de desarrolladores Porello se encuentra abundante informacioacuten relativa a losmismos Tambieacuten se pueden establecer puentes paracontrolar hardware externo

Agradecimientos

Este trabajo ha sido subvencionado por el Ministeriode Economiacutea y Competitividad (MINECO) bajo elproyecto DPI2012-37806-C02-01 por el GobiernoVascoEusko Jaurlaritza bajo el proyecto CPS4PSSETORTEK1410 y por la Universidad del PaiacutesVascoEuskal Herriko Unibertsitatea (UPVEHU) bajoel proyecto EHU1342 y la UFI1128

Referencias

[1] W G Gilroy ldquoNSF funds Cyber-PhysicalSystems Projectrdquo httpnewsinfondedunews17248-nsf-funds-cyber-phys

[2] National Science Foundation ProgramSolicitation httpwwwnsfgovpubs2008nsf08611nsf08611pdf

[3] Cyber-Physical Systems httpcyberphysicalsystemsorg

[4] I Etxeberria-Agiriano I Calvo A Nogueroand E Zulueta ldquoTowards middleware-basedcooperation topologies for the next generationof CPSrdquo International Journal of OnlineEngineering 8 (Special Issue 2) pp 20-272012

[5] I Calvo I Etxeberria-Agiriano and A NogueroldquoDistribution Middleware Technologies forCyber Physical Systemsrdquo Proc of the RemoteEngineering amp Virtual Instrumentation (REV-2012) pp 298-301 July 2012

[6] W Wolf ldquoCyber-physical Systemsrdquo Computervol 42 no 3 pp 88-89 March 2009 httpdxdoiorg101109MC200981

[7] R Rajkumar I Lee L Sha J StankovicldquoCyber-physical systems The next computingrevolutionrdquo Design Automation Conference(DAC) 2010 47th ACMIEEE vol no pp731-736 13-18 June 2010

[8] P Gonzaacutelez-Nalda I Calvo I Etxeberria-Agiriano A Garciacutea-Ruiacutez S Martiacutenez-LestaD Caballero-Martiacuten ldquoBuilding a CPS as anEducational Challengerdquo International Journal ofOnline Engineering 10 (4) pp 52-58 2014

[9] P Gonzaacutelez-Nalda I Calvo I Etxeberria-Agiriano A Garciacutea-Ruiz S Martiacutenez-Lesta DCaballero-Martiacuten ldquoThe Challenge of Buildinga Cyber Physical System as an EducationalExperiencerdquo 9a Conferencia Ibeacuterica de Sistemasy Tecnologiacuteas de la Informacioacuten (CISTI) pp327-332 18-21 Junio 2014

[10] E A Lee and S A Seshia Introductionto Embedded Systems A Cyber-PhysicalSystems Approach httpLeeSeshiaorgISBN978-0-557-70857-42011

[11] P Marwedel ldquoEmbedded and cyber-physicalsystems in a nutshellrdquo DACCOM KnowledgeCenter Article 2010

[12] A Valera A Soriano M Valleacutes ldquoPlataformasde Bajo Coste para la Realizacioacuten de TrabajosPraacutecticos de Mecatroacutenica y Roboacuteticardquo RevistaIberoamericana de Automaacutetica e Informaacuteticaindustrial 11 (2014) 363-376

[13] Oros N Krichmar JL 2013 ldquoSmartphoneBased Robotics Powerful Flexible andInexpensive Robots for Hobbyists EducatorsStudents and Researchersrdquo CECS TechnicalReport 13-16 November 26 2013 Center forEmbedded Computer Systems University ofCalifornia Irvine

[14] Oros N Krichmar JL 2013 ldquoAndroidBased Robotics Powerful Flexible andInexpensive Robots for Hobbyists EducatorsStudents and Researchersrdquo CognitiveAnteater Robotics Laboratory University ofCalifornia Irvine 2013 Web November 2013httpwwwsocsciuciedu~jkrichmaABRindexhtml

[15] OpenCV Bliblioteca libre de Visioacuten Artificalhttpopencvorg

[16] ROS Robot Operating System httpwwwrosorg

[17] ROS comunidad httpanswersrosorgquestions

[18] OSRF Blog ROS amp Gazebo at the DRCFinals httpwwwosrfoundationorgros-gazebo-at-the-drc-finals

[19] Free Software Foundation httpswwwfsforg

[20] ROS-Industrial httprosindustrialorg

[21] OROCOS httpwwworocosorg

[22] Orocos RTT and ROS integrated httpwwwwillowgaragecomblog20090610orocos-rtt-and-ros-integrated

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1056

[23] ROS en Android httpwikirosorgandroiddistro=indigo y httpsgithubcomros-android

[24] Sensores para ROS httpwikirosorgSensors

[25] Drivers para ROS httpsgithubcomros-drivers

[26] Gazebo en ROS httpwikirosorggazebo_ros_pkgs

[27] GitHub de ROS httpwikirosorgRecommendedRepositoryUsageCommonGitHubOrganizations

[28] OpenHab httpwwwopenhaborg

[29] Puente entre OpenHab y ROS iot_bridgehttpwikirosorgiot_bridge

[30] Simple Open EtherCAT Master or SOEMhttpdocsrosorghydroapiethercat_soemhtmlindexhtml

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1057

grandes necesidades de recursos como OpenCV [15]o ROS [16] ademaacutes de teacutecnicas de control como lasRedes Neuronales

3 ARQUITECTURA PROPUESTA

En este trabajo se presenta un software marco oframework altamente modular y distribuido conel objetivo de usarse en todo tipo de sistemasciberfiacutesicos que requieran adquirir gran variedadde mediciones la ejecucioacuten de algoritmos deprocesamiento seguimiento y decisioacuten y el enviacuteode instrucciones a diferentes maquinarias robots ycualquier tipo de actuadores Esta arquitectura sepuede implementar para llevar a cabo el controlde un edificio inteligente (como iluminacioacuten aireacondicionado control de presencia y vigilancia)de un edificio industrial de una planta industrial oun almaceacuten de una vivienda o de un objeto moacutevil(vehiacuteculo maquinaria roboacutetica autoacutenoma)

Para mostrar sus posibilidades vamos a definir unaarquitectura para un problema concreto de roboacuteticamoacutevil Es de especial intereacutes que el hardware utilizadosea de bajo consumo energeacutetico y ligero en peso

La Fig 2 muestra la visioacuten general de la arquitecturapara este problema Se pueden observar los moacutedulosde computacioacuten y decisioacuten (se describe en lasubseccioacuten 41) de interaccioacuten con componentesmecatroacutenicos (subseccioacuten 42) de sistemas de audioy viacutedeo (subseccioacuten 43) y moacutedulo de visualizacioacuten ycontrol (subseccioacuten 44)

Figura 2 Esquema de la arquitectura propuesta

31 ROS

ROS [16] es un middleware orientado a laconstruccioacuten del control de robots Se instalasobre un sistema operativo GNULinux y permiteincorporar todo tipo de dispositivos a una redmodular y distribuida que en su conjunto lleva elcontrol del sistema Un nodo es el nodo maestro quepermite al resto de los nodos que se encuentren paracomunicarse por TCPIP En la Fig 3 se muestranlos diferentes medios para comunicar los nodos

esquema de comunicacioacuten por mensajes o toacutepicos(publicador-suscriptor) y servicio-cliente

ROS presenta muchas ventajas

No hace falta reinventar la rueda es unsoftware optimizado para las comunicacionesentre elementos de una red

ROS es Software Libre (tiene licencia BSD [19])y multiplataforma

ROS es un estaacutendar en Roboacutetica 18 de los 23robots de las finales en la competicioacuten DARPARobotics Challenge usan ROS [18]

Hay un entorno de desarrollo para crearaplicaciones Android que se integren en sistemasROS [23]

Se integran multitud de sistemas y sensores [24]

Se puede usar cualquier tipo de hardware decomunicaciones por TCPIP entre los nodos delmiddleware ROS por ejemplo por Ethernet oWiFi

Se pueden simular robots en Gazebo [26]

Se pueden usar protocolos como EtherCAT [30]

Puede integrarse con plataformas utilizadas enautomatizacioacuten y roboacutetica como OROCOS [2122]

Se pueden integrar componentes de diferentesmarcas siempre que se pueda crear un puenteo sotfware que traduzca el protocolo utilizado aROS

Hay software-puente con el servidor de doacutemoticaOpenHab [28] mediante el puente [29] y todo tipode drivers [25]

Todo el coacutedigo tiene licencias libres y estaacutedisponible en GitHub [27]

Figura 3 Esquema de ROS [16]

En resumen ROS es la eleccioacuten correcta por susposibilidades es el mejor documentado es muy usadoy tiene una gran comunidad de desarrollo y decomunidad [17]

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1052

Una estructura modular proporciona evidentesventajas

El crecimiento de la red es flexible dado que laestructura publicadorsuscriptor permite separarproblemas de una manera P2P No obstanteexiste la posibilidad de crear tambieacuten estructurasclienteservidor con el sistema ServicesLa migracioacuten de un sistema implantado a otro sepuede producir de forma gradual incrementalSe obtiene redundancia faacutecilmente ya que sepueden integrar maacutes elementos que dupliquen laestructura

Las comunicaciones con el nodo maestro de ROSse pueden hacer seguras implementando un servidorVPN en uno de los nodos de computacioacuten al que sepueden conectar el resto de forma encriptada

En definitiva disponemos de una red de nodos quese conectan directamente para ofrecerse mensajes yservicios en la que el maestro actuacutea para resolvernombres Los nodos comparten el estaacutendar decomunicaciones pero su hardware es heterogeacuteneocomo lo son las funciones que deben cumplir

4 ELECCIOacuteN DE COMPONENTES

Una vez definida esta arquitectura geneacuterica basada enROS y detalladas las ventajas que proporciona paracualquier red de adquisicioacuten de datos y control deactuadores pasamos a discutir la eleccioacuten de unoscomponentes que mantengan las ventajas y facilitenla implementacioacuten de una red de este tipo buscando elcoste miacutenimo y la maacutexima flexibilidad y modularidad

41 MOacuteDULO DE COMPUTACIOacuteN

De entre los posibles la opcioacuten maacutes interesante esla basada en el SBC Raspberry Pi (abreviaremoscon RPi) Concretamente la recientemente lanzadaRaspberry Pi 2 proporciona una gran potencia decaacutelculo y grandes posibilidades de conectividad por unprecio muy asequible (en torno a los 50e)

La RPi opera con muchos sistemas operativos ylenguajes Una opcioacuten muy habitual es usar unSO GNULinux como Debian o Ubuntu con lasmuacuteltiples ventajas que conlleva usar un sistemaoperativo tan extendido en superordenadores yservidores en Internet y en empresas Es tiacutepica lautilizacioacuten para la programacioacuten de C o PythonDesarrollar en estos sistemas con estos lenguajes(especialmente C) permite acercarse al hardwarey facilitar un mejor tiempo de respuesta frenteal entorno Java del duacuteo AndroidIOIO planteadoen [14] Ademaacutes se puede optimizar faacutecilmente laplataforma configurando adecuadamente para mejorar

la eficiencia y rendimiento del sistema operativo locual permite ahorrar en caacutelculo y por lo tanto enbateriacuteas Este enfoque permite resolver uno de losproblemas del ecosistema Android ya que es unsistema muy pesado computacionalmente por ofreceruna gran variedad de servicios es difiacutecil de configurary por ello es muy complejo

Tenemos la posibilidad de instalar software de formaautomaacutetica mediante las utilidades de gestioacuten desoftware de DebianUbuntu en la RPi Podemostambieacuten compilar todo tipo de software compatiblecon estas distribuciones ademaacutes de desarrollar enla propia tarjeta nuestro software La flexibilidad dela RPi por su conectividad (varios USBs EthernetGPIO I2C SPI UART) nos permite que ademaacutes demodular sea faacutecilmente ampliable y permita antildeadirnuevos modos de comunicacioacuten Si se necesitaramenos potencia de caacutelculo para menos consumoexisten alternativas dentro de la familia Raspberry Pi

42 MOacuteDULO DE INTERACCIOacuteN CONMECATROacuteNICA

Con respecto al moacutedulo de interaccioacuten con loscomponentes mecatroacutenicos se optoacute por introduciren la arquitectura la placa Arduino Uno por ser unestaacutendar y ser hardware libre sus especificaciones sonabiertas y se pueden crear nuevos dispositivos a partirde ellas o modificarlas Nuestra eleccioacuten es de muybajo coste en torno a los 20e frente a IOIO que cuestacasi el doble porque Arduino Uno es maacutes populary porque podemos prescindir de costosas funcionesantildeadidas que tiene IOIO (programacioacuten con Java)

La tarjeta Arduino Uno proporciona praacutecticamente lamisma funcionalidad (salvo la interfaz con sistemasJava) por lo que se conecta a sensores y motores dela misma forma Otra ventaja es que se ha convertidoen un estaacutendar de facto con maacutes documentacioacutenvigencia y un gran nuacutemero de sensores y actuadorescomerciales disponibles La comunicacioacuten entre la RPiy la Arduino Uno se realiza a traveacutes de sus respectivaslibreriacuteas de comunicacioacuten Serie sobre USB y porsupuesto y preferentemente con ROS

Se podriacutea simplificar el sistema reducieacutendolo a unasola placa usando el miniordenador BeagleBoneBlack (BBB) que dispone de maacutes flexibilidad enES hardware aunque tenga menos capacidad consentildeales analoacutegicas que una Arduino Con un BBBno renunciamos a la potencia del GNULinux puestoque tambieacuten usa estas distribuciones Sin embargoestimamos muy potente mantener la dualidad de usarun SBC RPi para procesamiento y una o varias tarjetasArduino por cada RPi para la interaccioacuten con loscomponentes mecatroacutenicos puesto que estaacuten disentildeadaspara controlar todo tipo de sentildeales analoacutegicas ydigitales

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1053

43 MOacuteDULO DE SISTEMAS DE AUDIO YVIacuteDEO

Si se necesitan una o maacutes caacutemaras se puede ampliar elsistema de una forma sencilla ya que el GNULinuxinstala automaacuteticamente las caacutemaras web compatiblespor USB con el estaacutendar V4L2 (viacutedeo para Linux V2)Es el meacutetodo habitual para que el software captureimagen por ejemplo OpenCV Existen puentes paracomunicar OpenCV con ROS Lo mismo ocurre conel sonido que es faacutecil de capturar en ROS e incluso sepuede sintetizar el habla

Todas estas placas permiten antildeadir moacutedulos hardware(llamados shield en Arduino o cape en BeagleBone)que pueden controlar otros tipos de sentildeales Porejemplo se puede incluir otro hardware como ZigBeeen las Arduino a traveacutes de un shield

44 MOacuteDULO DE SISTEMAS DEVISUALIZACIOacuteN Y CONTROL REMOTO

Este disentildeo de arquitectura no excluye el uso de undispositivo Android en el sistema pero un disentildeocentrado en un ordenador mono-placa basado enGNULinux evita la dificultad del desarrollo deaplicaciones en Android y su sistema de gestioacuten deejecucioacuten orientado a la interactividad Se puedenaprovechar las capacidades graacuteficas de los dispositivosAndroid para utilizarlos como interfaz de usuariodel sistema bien para monitorizar el sistema opara proporcionar informacioacuten a las RPi El moacutedulorosjava permite desarrollar aplicaciones Java dentrode ROS De esta forma ya existen aplicacionesAndroid que visualizan datos de ROS

Hay muchas aplicaciones de software libre de ejemplopara Android que permiten enviar con ROS los datosque recolectan (sensores caacutemara) para que puedan serintegrados y procesados en el dispositivo principalDe hecho no es necesario usar un moacutevil de altagama incluso puede utilizarse un moacutevil con taras (pela pantalla parcialmente rota) por lo que se podriacuteaadaptar para pesar menos

Otro posible uso de un dispositivo Android o cualquierotro sistema fijo o moacutevil es el control remoto o lasupervisioacuten con los mecanismos estaacutendares de ROS

RVIZ visualizacioacuten 3DBAGS registro y visualizacioacuten de datosPLOT dibujo de datosGRAPH grafo de los procesos y conexiones

El cliente puede ser de cualquier tipo incluyendouna interfaz web Como se ha indicado anteriormentehay un compromiso entre funcionalidad y gasto debateriacutea en este caso de transmisioacuten Bluetooth o WiFial cliente

La estructura distribuida permite integrar cualquierotro dispositivo conectado por una gran variedad dehardware por lo que la evolucioacuten de un sistema ya enuso estaacute asegurada

En resumen los dispositivos hardware elegidos debajo coste se encuentran entre los maacutes utilizados ensus respectivas categoriacuteas y disfrutan por tanto de unagran comunidad de desarrolladores que los utilizanSe pueden tener muchos dispositivos replicados paradesarrollar en paralelo cada subsistema Ademaacutes enlos dispositivos elegidos el hardware y el softwareson libres y por ello es muy sencillo acceder a forosen los que encontrar abundante informacioacuten relativaa los mismos de forma que se puedan enriquecer losaspectos teacutecnicos de la arquitectura

5 UN CASO DE APLICACIOacuteN

Como un ejemplo de la arquitectura descrita seimplementa un caso de aplicacioacuten consistente en unainstanciacioacuten de la arquitectura y una implementacioacutende la misma Para validar la arquitectura propuestase ha implementado sobre un coche de radiocontrolLRP S10 Twister 2WD Short Course Este vehiacuteculopuede alcanzar gran velocidad por lo que se necesitanbuenos tiempos de reaccioacuten para evitar obstaacuteculos Laautonomiacutea de la bateriacutea NiMH de 72V y 1600mAhronda la media hora (ver Fig 4)

Figura 4 Vehiacuteculo radiocontrolado (LRPcc)

El esquema de la Fig 2 se particulariza con losdiferentes componentes en la Fig 5

Figura 5 Aplicacioacuten praacutectica del modelo

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1054

La alimentacioacuten de la RPi se realiza a traveacutes demicroUSB En el prototipo propuesto se conecta a unabateriacutea USB estaacutendar de carga de moacuteviles La RPi2consume 900mA seguacuten carga de proceso y perifeacutericosUSB mientras que la bateriacutea usada puede suministrarhasta 2A y tiene una capacidad de 6800mAh conlo que se estima una autonomiacutea de siete horasLa configuracioacuten de los diferentes subsistemas sedescribe a continuacioacuten

A Conexioacuten RPi-Arduino

Esta conexioacuten une la RPi con una Arduino UnoMediante ROS sobre USB se enviacutean a la Arduinolas oacuterdenes de activacioacuten de los motores y se puedenrecoger las lecturas de los sensores conectados

La Arduino modula el servo de direccioacuten y el motorde traccioacuten mediante PWM mediante un circuito ESC(Electronic Speed Control) que controla el motorde corriente continua El ESC estaacute preparado paraadaptarse al receptor de control remoto con un meacutetododenominado AI (inteligente) que asociaraacute valoresentre 0 y 180 como activacioacuten nula del motor A partirde ese valor acelera o frena y si se vuelve al cero y sele enviacutea un valor de frenado se mueve hacia atraacutes

B Webcam

Se le ha conectado una caacutemara web LogitechQuickCam Pro 9000 al moacutedulo central mediante USBLa imagen se recoge mediante el controlador V4L2del nuacutecleo Linux El retardo experimentado podraacutereducirse con la RPi2 permitiendo maacutes trabajo en elprocesamiento de la sentildeal con libreriacuteas como OpenCV

C Control Remoto

Para el control remoto del vehiacuteculo se conecta unmoacutedulo WiFi USB a la RPi Para ello se precisa deun hub USB alimentado Se ha definido una red locala la que se conectan la RPi y el cliente como en [8 9]controlando desde un Android Ademaacutes se puede verla imagen de la caacutemara web

D Lectura de sensores de Android

Otra liacutenea de evaluacioacuten de la arquitectura propuestaconecta al sistema un antiguo moacutevil Android parasuministrar las lecturas de sensores utilizando unaaplicacioacuten libre llamada Sensor Readout giroacutescopoaceleroacutemetro lineal y angular campos magneacuteticos yotros valores de intereacutes seguacuten pueda integrarlos elprograma principal La comunicacioacuten se lleva a cabo atraveacutes de rosjava

E Divisioacuten modular

Como ejemplo de modularidad se propone dividir elproyecto en dos grupos de trabajo

Grupo principal une una RPiB+ con una ArduinoUnoGrupo auxiliar combina una RPiA caacutemaraWiFi-USB y un moacutevil Android Galaxy i7500 conuna ROM GAOSP Froyo

Otras posibilidades planteadas son utilizar dispositivosmoacuteviles o portaacutetiles con Ubuntu Esta divisioacuten muestraotra ventaja de este modelo la facilidad de creardesarrollos en paralelo el bajo coste del hardwarepermite disponer de varias unidades ademaacutes dediferentes versiones Como consecuencia el sistemapermite comprobar la robustez intercambiando lasdiferentes unidades para ajustar capacidades valorardebilidades y minimizar el consumo

F Prototipo disponible

El montaje completo del prototipo del sistema descritoen esta seccioacuten se muestra en la Fig 6 Un elementoa mejorar es la voracidad en el consumo de bateriacuteaprobablemente debido a la caacutemara Web y el dispositivoWiFi

Figura 6 Robot moacutevil resultante con sus dispositivos

6 CONCLUSIONES

Se ha presentado en este artiacuteculo un sistemamarco o framework para estructurar y mejorarla implementacioacuten de un sistema distribuido deadquisicioacuten de datos de sensores su computacioacutentoma de decisiones y enviacuteo de instrucciones aactuadores

Esta arquitectura se puede implementar en diferentesentornos y es especialmente adecuada para su uso enSistemas Ciberfiacutesicos (CPS)

Cada uno de los elementos de esta arquitecturadistribuida es un nodo de ROS (Robotic OperatingSystem) Las ventajas de esta red de nodos ROSson varias es un software muy extendido y biendocumentado potente y extendido a gran variedad dehardware la modularidad de la arquitectura permiteadaptarla a sistemas ya implantados para mejorarsu evolucioacuten de forma incremental la redundancia

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1055

es posible es software libre y multiplataforma Lascomunicaciones son por TCPIP y se pueden hacerseguras implementando un servidor VPN

Se han elegido componentes para los diferentes nodosLos dispositivos hardware elegidos de bajo coste sonlos maacutes utilizados por ser hardware y software librey con una gran comunidad de desarrolladores Porello se encuentra abundante informacioacuten relativa a losmismos Tambieacuten se pueden establecer puentes paracontrolar hardware externo

Agradecimientos

Este trabajo ha sido subvencionado por el Ministeriode Economiacutea y Competitividad (MINECO) bajo elproyecto DPI2012-37806-C02-01 por el GobiernoVascoEusko Jaurlaritza bajo el proyecto CPS4PSSETORTEK1410 y por la Universidad del PaiacutesVascoEuskal Herriko Unibertsitatea (UPVEHU) bajoel proyecto EHU1342 y la UFI1128

Referencias

[1] W G Gilroy ldquoNSF funds Cyber-PhysicalSystems Projectrdquo httpnewsinfondedunews17248-nsf-funds-cyber-phys

[2] National Science Foundation ProgramSolicitation httpwwwnsfgovpubs2008nsf08611nsf08611pdf

[3] Cyber-Physical Systems httpcyberphysicalsystemsorg

[4] I Etxeberria-Agiriano I Calvo A Nogueroand E Zulueta ldquoTowards middleware-basedcooperation topologies for the next generationof CPSrdquo International Journal of OnlineEngineering 8 (Special Issue 2) pp 20-272012

[5] I Calvo I Etxeberria-Agiriano and A NogueroldquoDistribution Middleware Technologies forCyber Physical Systemsrdquo Proc of the RemoteEngineering amp Virtual Instrumentation (REV-2012) pp 298-301 July 2012

[6] W Wolf ldquoCyber-physical Systemsrdquo Computervol 42 no 3 pp 88-89 March 2009 httpdxdoiorg101109MC200981

[7] R Rajkumar I Lee L Sha J StankovicldquoCyber-physical systems The next computingrevolutionrdquo Design Automation Conference(DAC) 2010 47th ACMIEEE vol no pp731-736 13-18 June 2010

[8] P Gonzaacutelez-Nalda I Calvo I Etxeberria-Agiriano A Garciacutea-Ruiacutez S Martiacutenez-LestaD Caballero-Martiacuten ldquoBuilding a CPS as anEducational Challengerdquo International Journal ofOnline Engineering 10 (4) pp 52-58 2014

[9] P Gonzaacutelez-Nalda I Calvo I Etxeberria-Agiriano A Garciacutea-Ruiz S Martiacutenez-Lesta DCaballero-Martiacuten ldquoThe Challenge of Buildinga Cyber Physical System as an EducationalExperiencerdquo 9a Conferencia Ibeacuterica de Sistemasy Tecnologiacuteas de la Informacioacuten (CISTI) pp327-332 18-21 Junio 2014

[10] E A Lee and S A Seshia Introductionto Embedded Systems A Cyber-PhysicalSystems Approach httpLeeSeshiaorgISBN978-0-557-70857-42011

[11] P Marwedel ldquoEmbedded and cyber-physicalsystems in a nutshellrdquo DACCOM KnowledgeCenter Article 2010

[12] A Valera A Soriano M Valleacutes ldquoPlataformasde Bajo Coste para la Realizacioacuten de TrabajosPraacutecticos de Mecatroacutenica y Roboacuteticardquo RevistaIberoamericana de Automaacutetica e Informaacuteticaindustrial 11 (2014) 363-376

[13] Oros N Krichmar JL 2013 ldquoSmartphoneBased Robotics Powerful Flexible andInexpensive Robots for Hobbyists EducatorsStudents and Researchersrdquo CECS TechnicalReport 13-16 November 26 2013 Center forEmbedded Computer Systems University ofCalifornia Irvine

[14] Oros N Krichmar JL 2013 ldquoAndroidBased Robotics Powerful Flexible andInexpensive Robots for Hobbyists EducatorsStudents and Researchersrdquo CognitiveAnteater Robotics Laboratory University ofCalifornia Irvine 2013 Web November 2013httpwwwsocsciuciedu~jkrichmaABRindexhtml

[15] OpenCV Bliblioteca libre de Visioacuten Artificalhttpopencvorg

[16] ROS Robot Operating System httpwwwrosorg

[17] ROS comunidad httpanswersrosorgquestions

[18] OSRF Blog ROS amp Gazebo at the DRCFinals httpwwwosrfoundationorgros-gazebo-at-the-drc-finals

[19] Free Software Foundation httpswwwfsforg

[20] ROS-Industrial httprosindustrialorg

[21] OROCOS httpwwworocosorg

[22] Orocos RTT and ROS integrated httpwwwwillowgaragecomblog20090610orocos-rtt-and-ros-integrated

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1056

[23] ROS en Android httpwikirosorgandroiddistro=indigo y httpsgithubcomros-android

[24] Sensores para ROS httpwikirosorgSensors

[25] Drivers para ROS httpsgithubcomros-drivers

[26] Gazebo en ROS httpwikirosorggazebo_ros_pkgs

[27] GitHub de ROS httpwikirosorgRecommendedRepositoryUsageCommonGitHubOrganizations

[28] OpenHab httpwwwopenhaborg

[29] Puente entre OpenHab y ROS iot_bridgehttpwikirosorgiot_bridge

[30] Simple Open EtherCAT Master or SOEMhttpdocsrosorghydroapiethercat_soemhtmlindexhtml

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1057

Una estructura modular proporciona evidentesventajas

El crecimiento de la red es flexible dado que laestructura publicadorsuscriptor permite separarproblemas de una manera P2P No obstanteexiste la posibilidad de crear tambieacuten estructurasclienteservidor con el sistema ServicesLa migracioacuten de un sistema implantado a otro sepuede producir de forma gradual incrementalSe obtiene redundancia faacutecilmente ya que sepueden integrar maacutes elementos que dupliquen laestructura

Las comunicaciones con el nodo maestro de ROSse pueden hacer seguras implementando un servidorVPN en uno de los nodos de computacioacuten al que sepueden conectar el resto de forma encriptada

En definitiva disponemos de una red de nodos quese conectan directamente para ofrecerse mensajes yservicios en la que el maestro actuacutea para resolvernombres Los nodos comparten el estaacutendar decomunicaciones pero su hardware es heterogeacuteneocomo lo son las funciones que deben cumplir

4 ELECCIOacuteN DE COMPONENTES

Una vez definida esta arquitectura geneacuterica basada enROS y detalladas las ventajas que proporciona paracualquier red de adquisicioacuten de datos y control deactuadores pasamos a discutir la eleccioacuten de unoscomponentes que mantengan las ventajas y facilitenla implementacioacuten de una red de este tipo buscando elcoste miacutenimo y la maacutexima flexibilidad y modularidad

41 MOacuteDULO DE COMPUTACIOacuteN

De entre los posibles la opcioacuten maacutes interesante esla basada en el SBC Raspberry Pi (abreviaremoscon RPi) Concretamente la recientemente lanzadaRaspberry Pi 2 proporciona una gran potencia decaacutelculo y grandes posibilidades de conectividad por unprecio muy asequible (en torno a los 50e)

La RPi opera con muchos sistemas operativos ylenguajes Una opcioacuten muy habitual es usar unSO GNULinux como Debian o Ubuntu con lasmuacuteltiples ventajas que conlleva usar un sistemaoperativo tan extendido en superordenadores yservidores en Internet y en empresas Es tiacutepica lautilizacioacuten para la programacioacuten de C o PythonDesarrollar en estos sistemas con estos lenguajes(especialmente C) permite acercarse al hardwarey facilitar un mejor tiempo de respuesta frenteal entorno Java del duacuteo AndroidIOIO planteadoen [14] Ademaacutes se puede optimizar faacutecilmente laplataforma configurando adecuadamente para mejorar

la eficiencia y rendimiento del sistema operativo locual permite ahorrar en caacutelculo y por lo tanto enbateriacuteas Este enfoque permite resolver uno de losproblemas del ecosistema Android ya que es unsistema muy pesado computacionalmente por ofreceruna gran variedad de servicios es difiacutecil de configurary por ello es muy complejo

Tenemos la posibilidad de instalar software de formaautomaacutetica mediante las utilidades de gestioacuten desoftware de DebianUbuntu en la RPi Podemostambieacuten compilar todo tipo de software compatiblecon estas distribuciones ademaacutes de desarrollar enla propia tarjeta nuestro software La flexibilidad dela RPi por su conectividad (varios USBs EthernetGPIO I2C SPI UART) nos permite que ademaacutes demodular sea faacutecilmente ampliable y permita antildeadirnuevos modos de comunicacioacuten Si se necesitaramenos potencia de caacutelculo para menos consumoexisten alternativas dentro de la familia Raspberry Pi

42 MOacuteDULO DE INTERACCIOacuteN CONMECATROacuteNICA

Con respecto al moacutedulo de interaccioacuten con loscomponentes mecatroacutenicos se optoacute por introduciren la arquitectura la placa Arduino Uno por ser unestaacutendar y ser hardware libre sus especificaciones sonabiertas y se pueden crear nuevos dispositivos a partirde ellas o modificarlas Nuestra eleccioacuten es de muybajo coste en torno a los 20e frente a IOIO que cuestacasi el doble porque Arduino Uno es maacutes populary porque podemos prescindir de costosas funcionesantildeadidas que tiene IOIO (programacioacuten con Java)

La tarjeta Arduino Uno proporciona praacutecticamente lamisma funcionalidad (salvo la interfaz con sistemasJava) por lo que se conecta a sensores y motores dela misma forma Otra ventaja es que se ha convertidoen un estaacutendar de facto con maacutes documentacioacutenvigencia y un gran nuacutemero de sensores y actuadorescomerciales disponibles La comunicacioacuten entre la RPiy la Arduino Uno se realiza a traveacutes de sus respectivaslibreriacuteas de comunicacioacuten Serie sobre USB y porsupuesto y preferentemente con ROS

Se podriacutea simplificar el sistema reducieacutendolo a unasola placa usando el miniordenador BeagleBoneBlack (BBB) que dispone de maacutes flexibilidad enES hardware aunque tenga menos capacidad consentildeales analoacutegicas que una Arduino Con un BBBno renunciamos a la potencia del GNULinux puestoque tambieacuten usa estas distribuciones Sin embargoestimamos muy potente mantener la dualidad de usarun SBC RPi para procesamiento y una o varias tarjetasArduino por cada RPi para la interaccioacuten con loscomponentes mecatroacutenicos puesto que estaacuten disentildeadaspara controlar todo tipo de sentildeales analoacutegicas ydigitales

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1053

43 MOacuteDULO DE SISTEMAS DE AUDIO YVIacuteDEO

Si se necesitan una o maacutes caacutemaras se puede ampliar elsistema de una forma sencilla ya que el GNULinuxinstala automaacuteticamente las caacutemaras web compatiblespor USB con el estaacutendar V4L2 (viacutedeo para Linux V2)Es el meacutetodo habitual para que el software captureimagen por ejemplo OpenCV Existen puentes paracomunicar OpenCV con ROS Lo mismo ocurre conel sonido que es faacutecil de capturar en ROS e incluso sepuede sintetizar el habla

Todas estas placas permiten antildeadir moacutedulos hardware(llamados shield en Arduino o cape en BeagleBone)que pueden controlar otros tipos de sentildeales Porejemplo se puede incluir otro hardware como ZigBeeen las Arduino a traveacutes de un shield

44 MOacuteDULO DE SISTEMAS DEVISUALIZACIOacuteN Y CONTROL REMOTO

Este disentildeo de arquitectura no excluye el uso de undispositivo Android en el sistema pero un disentildeocentrado en un ordenador mono-placa basado enGNULinux evita la dificultad del desarrollo deaplicaciones en Android y su sistema de gestioacuten deejecucioacuten orientado a la interactividad Se puedenaprovechar las capacidades graacuteficas de los dispositivosAndroid para utilizarlos como interfaz de usuariodel sistema bien para monitorizar el sistema opara proporcionar informacioacuten a las RPi El moacutedulorosjava permite desarrollar aplicaciones Java dentrode ROS De esta forma ya existen aplicacionesAndroid que visualizan datos de ROS

Hay muchas aplicaciones de software libre de ejemplopara Android que permiten enviar con ROS los datosque recolectan (sensores caacutemara) para que puedan serintegrados y procesados en el dispositivo principalDe hecho no es necesario usar un moacutevil de altagama incluso puede utilizarse un moacutevil con taras (pela pantalla parcialmente rota) por lo que se podriacuteaadaptar para pesar menos

Otro posible uso de un dispositivo Android o cualquierotro sistema fijo o moacutevil es el control remoto o lasupervisioacuten con los mecanismos estaacutendares de ROS

RVIZ visualizacioacuten 3DBAGS registro y visualizacioacuten de datosPLOT dibujo de datosGRAPH grafo de los procesos y conexiones

El cliente puede ser de cualquier tipo incluyendouna interfaz web Como se ha indicado anteriormentehay un compromiso entre funcionalidad y gasto debateriacutea en este caso de transmisioacuten Bluetooth o WiFial cliente

La estructura distribuida permite integrar cualquierotro dispositivo conectado por una gran variedad dehardware por lo que la evolucioacuten de un sistema ya enuso estaacute asegurada

En resumen los dispositivos hardware elegidos debajo coste se encuentran entre los maacutes utilizados ensus respectivas categoriacuteas y disfrutan por tanto de unagran comunidad de desarrolladores que los utilizanSe pueden tener muchos dispositivos replicados paradesarrollar en paralelo cada subsistema Ademaacutes enlos dispositivos elegidos el hardware y el softwareson libres y por ello es muy sencillo acceder a forosen los que encontrar abundante informacioacuten relativaa los mismos de forma que se puedan enriquecer losaspectos teacutecnicos de la arquitectura

5 UN CASO DE APLICACIOacuteN

Como un ejemplo de la arquitectura descrita seimplementa un caso de aplicacioacuten consistente en unainstanciacioacuten de la arquitectura y una implementacioacutende la misma Para validar la arquitectura propuestase ha implementado sobre un coche de radiocontrolLRP S10 Twister 2WD Short Course Este vehiacuteculopuede alcanzar gran velocidad por lo que se necesitanbuenos tiempos de reaccioacuten para evitar obstaacuteculos Laautonomiacutea de la bateriacutea NiMH de 72V y 1600mAhronda la media hora (ver Fig 4)

Figura 4 Vehiacuteculo radiocontrolado (LRPcc)

El esquema de la Fig 2 se particulariza con losdiferentes componentes en la Fig 5

Figura 5 Aplicacioacuten praacutectica del modelo

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1054

La alimentacioacuten de la RPi se realiza a traveacutes demicroUSB En el prototipo propuesto se conecta a unabateriacutea USB estaacutendar de carga de moacuteviles La RPi2consume 900mA seguacuten carga de proceso y perifeacutericosUSB mientras que la bateriacutea usada puede suministrarhasta 2A y tiene una capacidad de 6800mAh conlo que se estima una autonomiacutea de siete horasLa configuracioacuten de los diferentes subsistemas sedescribe a continuacioacuten

A Conexioacuten RPi-Arduino

Esta conexioacuten une la RPi con una Arduino UnoMediante ROS sobre USB se enviacutean a la Arduinolas oacuterdenes de activacioacuten de los motores y se puedenrecoger las lecturas de los sensores conectados

La Arduino modula el servo de direccioacuten y el motorde traccioacuten mediante PWM mediante un circuito ESC(Electronic Speed Control) que controla el motorde corriente continua El ESC estaacute preparado paraadaptarse al receptor de control remoto con un meacutetododenominado AI (inteligente) que asociaraacute valoresentre 0 y 180 como activacioacuten nula del motor A partirde ese valor acelera o frena y si se vuelve al cero y sele enviacutea un valor de frenado se mueve hacia atraacutes

B Webcam

Se le ha conectado una caacutemara web LogitechQuickCam Pro 9000 al moacutedulo central mediante USBLa imagen se recoge mediante el controlador V4L2del nuacutecleo Linux El retardo experimentado podraacutereducirse con la RPi2 permitiendo maacutes trabajo en elprocesamiento de la sentildeal con libreriacuteas como OpenCV

C Control Remoto

Para el control remoto del vehiacuteculo se conecta unmoacutedulo WiFi USB a la RPi Para ello se precisa deun hub USB alimentado Se ha definido una red locala la que se conectan la RPi y el cliente como en [8 9]controlando desde un Android Ademaacutes se puede verla imagen de la caacutemara web

D Lectura de sensores de Android

Otra liacutenea de evaluacioacuten de la arquitectura propuestaconecta al sistema un antiguo moacutevil Android parasuministrar las lecturas de sensores utilizando unaaplicacioacuten libre llamada Sensor Readout giroacutescopoaceleroacutemetro lineal y angular campos magneacuteticos yotros valores de intereacutes seguacuten pueda integrarlos elprograma principal La comunicacioacuten se lleva a cabo atraveacutes de rosjava

E Divisioacuten modular

Como ejemplo de modularidad se propone dividir elproyecto en dos grupos de trabajo

Grupo principal une una RPiB+ con una ArduinoUnoGrupo auxiliar combina una RPiA caacutemaraWiFi-USB y un moacutevil Android Galaxy i7500 conuna ROM GAOSP Froyo

Otras posibilidades planteadas son utilizar dispositivosmoacuteviles o portaacutetiles con Ubuntu Esta divisioacuten muestraotra ventaja de este modelo la facilidad de creardesarrollos en paralelo el bajo coste del hardwarepermite disponer de varias unidades ademaacutes dediferentes versiones Como consecuencia el sistemapermite comprobar la robustez intercambiando lasdiferentes unidades para ajustar capacidades valorardebilidades y minimizar el consumo

F Prototipo disponible

El montaje completo del prototipo del sistema descritoen esta seccioacuten se muestra en la Fig 6 Un elementoa mejorar es la voracidad en el consumo de bateriacuteaprobablemente debido a la caacutemara Web y el dispositivoWiFi

Figura 6 Robot moacutevil resultante con sus dispositivos

6 CONCLUSIONES

Se ha presentado en este artiacuteculo un sistemamarco o framework para estructurar y mejorarla implementacioacuten de un sistema distribuido deadquisicioacuten de datos de sensores su computacioacutentoma de decisiones y enviacuteo de instrucciones aactuadores

Esta arquitectura se puede implementar en diferentesentornos y es especialmente adecuada para su uso enSistemas Ciberfiacutesicos (CPS)

Cada uno de los elementos de esta arquitecturadistribuida es un nodo de ROS (Robotic OperatingSystem) Las ventajas de esta red de nodos ROSson varias es un software muy extendido y biendocumentado potente y extendido a gran variedad dehardware la modularidad de la arquitectura permiteadaptarla a sistemas ya implantados para mejorarsu evolucioacuten de forma incremental la redundancia

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1055

es posible es software libre y multiplataforma Lascomunicaciones son por TCPIP y se pueden hacerseguras implementando un servidor VPN

Se han elegido componentes para los diferentes nodosLos dispositivos hardware elegidos de bajo coste sonlos maacutes utilizados por ser hardware y software librey con una gran comunidad de desarrolladores Porello se encuentra abundante informacioacuten relativa a losmismos Tambieacuten se pueden establecer puentes paracontrolar hardware externo

Agradecimientos

Este trabajo ha sido subvencionado por el Ministeriode Economiacutea y Competitividad (MINECO) bajo elproyecto DPI2012-37806-C02-01 por el GobiernoVascoEusko Jaurlaritza bajo el proyecto CPS4PSSETORTEK1410 y por la Universidad del PaiacutesVascoEuskal Herriko Unibertsitatea (UPVEHU) bajoel proyecto EHU1342 y la UFI1128

Referencias

[1] W G Gilroy ldquoNSF funds Cyber-PhysicalSystems Projectrdquo httpnewsinfondedunews17248-nsf-funds-cyber-phys

[2] National Science Foundation ProgramSolicitation httpwwwnsfgovpubs2008nsf08611nsf08611pdf

[3] Cyber-Physical Systems httpcyberphysicalsystemsorg

[4] I Etxeberria-Agiriano I Calvo A Nogueroand E Zulueta ldquoTowards middleware-basedcooperation topologies for the next generationof CPSrdquo International Journal of OnlineEngineering 8 (Special Issue 2) pp 20-272012

[5] I Calvo I Etxeberria-Agiriano and A NogueroldquoDistribution Middleware Technologies forCyber Physical Systemsrdquo Proc of the RemoteEngineering amp Virtual Instrumentation (REV-2012) pp 298-301 July 2012

[6] W Wolf ldquoCyber-physical Systemsrdquo Computervol 42 no 3 pp 88-89 March 2009 httpdxdoiorg101109MC200981

[7] R Rajkumar I Lee L Sha J StankovicldquoCyber-physical systems The next computingrevolutionrdquo Design Automation Conference(DAC) 2010 47th ACMIEEE vol no pp731-736 13-18 June 2010

[8] P Gonzaacutelez-Nalda I Calvo I Etxeberria-Agiriano A Garciacutea-Ruiacutez S Martiacutenez-LestaD Caballero-Martiacuten ldquoBuilding a CPS as anEducational Challengerdquo International Journal ofOnline Engineering 10 (4) pp 52-58 2014

[9] P Gonzaacutelez-Nalda I Calvo I Etxeberria-Agiriano A Garciacutea-Ruiz S Martiacutenez-Lesta DCaballero-Martiacuten ldquoThe Challenge of Buildinga Cyber Physical System as an EducationalExperiencerdquo 9a Conferencia Ibeacuterica de Sistemasy Tecnologiacuteas de la Informacioacuten (CISTI) pp327-332 18-21 Junio 2014

[10] E A Lee and S A Seshia Introductionto Embedded Systems A Cyber-PhysicalSystems Approach httpLeeSeshiaorgISBN978-0-557-70857-42011

[11] P Marwedel ldquoEmbedded and cyber-physicalsystems in a nutshellrdquo DACCOM KnowledgeCenter Article 2010

[12] A Valera A Soriano M Valleacutes ldquoPlataformasde Bajo Coste para la Realizacioacuten de TrabajosPraacutecticos de Mecatroacutenica y Roboacuteticardquo RevistaIberoamericana de Automaacutetica e Informaacuteticaindustrial 11 (2014) 363-376

[13] Oros N Krichmar JL 2013 ldquoSmartphoneBased Robotics Powerful Flexible andInexpensive Robots for Hobbyists EducatorsStudents and Researchersrdquo CECS TechnicalReport 13-16 November 26 2013 Center forEmbedded Computer Systems University ofCalifornia Irvine

[14] Oros N Krichmar JL 2013 ldquoAndroidBased Robotics Powerful Flexible andInexpensive Robots for Hobbyists EducatorsStudents and Researchersrdquo CognitiveAnteater Robotics Laboratory University ofCalifornia Irvine 2013 Web November 2013httpwwwsocsciuciedu~jkrichmaABRindexhtml

[15] OpenCV Bliblioteca libre de Visioacuten Artificalhttpopencvorg

[16] ROS Robot Operating System httpwwwrosorg

[17] ROS comunidad httpanswersrosorgquestions

[18] OSRF Blog ROS amp Gazebo at the DRCFinals httpwwwosrfoundationorgros-gazebo-at-the-drc-finals

[19] Free Software Foundation httpswwwfsforg

[20] ROS-Industrial httprosindustrialorg

[21] OROCOS httpwwworocosorg

[22] Orocos RTT and ROS integrated httpwwwwillowgaragecomblog20090610orocos-rtt-and-ros-integrated

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1056

[23] ROS en Android httpwikirosorgandroiddistro=indigo y httpsgithubcomros-android

[24] Sensores para ROS httpwikirosorgSensors

[25] Drivers para ROS httpsgithubcomros-drivers

[26] Gazebo en ROS httpwikirosorggazebo_ros_pkgs

[27] GitHub de ROS httpwikirosorgRecommendedRepositoryUsageCommonGitHubOrganizations

[28] OpenHab httpwwwopenhaborg

[29] Puente entre OpenHab y ROS iot_bridgehttpwikirosorgiot_bridge

[30] Simple Open EtherCAT Master or SOEMhttpdocsrosorghydroapiethercat_soemhtmlindexhtml

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1057

43 MOacuteDULO DE SISTEMAS DE AUDIO YVIacuteDEO

Si se necesitan una o maacutes caacutemaras se puede ampliar elsistema de una forma sencilla ya que el GNULinuxinstala automaacuteticamente las caacutemaras web compatiblespor USB con el estaacutendar V4L2 (viacutedeo para Linux V2)Es el meacutetodo habitual para que el software captureimagen por ejemplo OpenCV Existen puentes paracomunicar OpenCV con ROS Lo mismo ocurre conel sonido que es faacutecil de capturar en ROS e incluso sepuede sintetizar el habla

Todas estas placas permiten antildeadir moacutedulos hardware(llamados shield en Arduino o cape en BeagleBone)que pueden controlar otros tipos de sentildeales Porejemplo se puede incluir otro hardware como ZigBeeen las Arduino a traveacutes de un shield

44 MOacuteDULO DE SISTEMAS DEVISUALIZACIOacuteN Y CONTROL REMOTO

Este disentildeo de arquitectura no excluye el uso de undispositivo Android en el sistema pero un disentildeocentrado en un ordenador mono-placa basado enGNULinux evita la dificultad del desarrollo deaplicaciones en Android y su sistema de gestioacuten deejecucioacuten orientado a la interactividad Se puedenaprovechar las capacidades graacuteficas de los dispositivosAndroid para utilizarlos como interfaz de usuariodel sistema bien para monitorizar el sistema opara proporcionar informacioacuten a las RPi El moacutedulorosjava permite desarrollar aplicaciones Java dentrode ROS De esta forma ya existen aplicacionesAndroid que visualizan datos de ROS

Hay muchas aplicaciones de software libre de ejemplopara Android que permiten enviar con ROS los datosque recolectan (sensores caacutemara) para que puedan serintegrados y procesados en el dispositivo principalDe hecho no es necesario usar un moacutevil de altagama incluso puede utilizarse un moacutevil con taras (pela pantalla parcialmente rota) por lo que se podriacuteaadaptar para pesar menos

Otro posible uso de un dispositivo Android o cualquierotro sistema fijo o moacutevil es el control remoto o lasupervisioacuten con los mecanismos estaacutendares de ROS

RVIZ visualizacioacuten 3DBAGS registro y visualizacioacuten de datosPLOT dibujo de datosGRAPH grafo de los procesos y conexiones

El cliente puede ser de cualquier tipo incluyendouna interfaz web Como se ha indicado anteriormentehay un compromiso entre funcionalidad y gasto debateriacutea en este caso de transmisioacuten Bluetooth o WiFial cliente

La estructura distribuida permite integrar cualquierotro dispositivo conectado por una gran variedad dehardware por lo que la evolucioacuten de un sistema ya enuso estaacute asegurada

En resumen los dispositivos hardware elegidos debajo coste se encuentran entre los maacutes utilizados ensus respectivas categoriacuteas y disfrutan por tanto de unagran comunidad de desarrolladores que los utilizanSe pueden tener muchos dispositivos replicados paradesarrollar en paralelo cada subsistema Ademaacutes enlos dispositivos elegidos el hardware y el softwareson libres y por ello es muy sencillo acceder a forosen los que encontrar abundante informacioacuten relativaa los mismos de forma que se puedan enriquecer losaspectos teacutecnicos de la arquitectura

5 UN CASO DE APLICACIOacuteN

Como un ejemplo de la arquitectura descrita seimplementa un caso de aplicacioacuten consistente en unainstanciacioacuten de la arquitectura y una implementacioacutende la misma Para validar la arquitectura propuestase ha implementado sobre un coche de radiocontrolLRP S10 Twister 2WD Short Course Este vehiacuteculopuede alcanzar gran velocidad por lo que se necesitanbuenos tiempos de reaccioacuten para evitar obstaacuteculos Laautonomiacutea de la bateriacutea NiMH de 72V y 1600mAhronda la media hora (ver Fig 4)

Figura 4 Vehiacuteculo radiocontrolado (LRPcc)

El esquema de la Fig 2 se particulariza con losdiferentes componentes en la Fig 5

Figura 5 Aplicacioacuten praacutectica del modelo

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1054

La alimentacioacuten de la RPi se realiza a traveacutes demicroUSB En el prototipo propuesto se conecta a unabateriacutea USB estaacutendar de carga de moacuteviles La RPi2consume 900mA seguacuten carga de proceso y perifeacutericosUSB mientras que la bateriacutea usada puede suministrarhasta 2A y tiene una capacidad de 6800mAh conlo que se estima una autonomiacutea de siete horasLa configuracioacuten de los diferentes subsistemas sedescribe a continuacioacuten

A Conexioacuten RPi-Arduino

Esta conexioacuten une la RPi con una Arduino UnoMediante ROS sobre USB se enviacutean a la Arduinolas oacuterdenes de activacioacuten de los motores y se puedenrecoger las lecturas de los sensores conectados

La Arduino modula el servo de direccioacuten y el motorde traccioacuten mediante PWM mediante un circuito ESC(Electronic Speed Control) que controla el motorde corriente continua El ESC estaacute preparado paraadaptarse al receptor de control remoto con un meacutetododenominado AI (inteligente) que asociaraacute valoresentre 0 y 180 como activacioacuten nula del motor A partirde ese valor acelera o frena y si se vuelve al cero y sele enviacutea un valor de frenado se mueve hacia atraacutes

B Webcam

Se le ha conectado una caacutemara web LogitechQuickCam Pro 9000 al moacutedulo central mediante USBLa imagen se recoge mediante el controlador V4L2del nuacutecleo Linux El retardo experimentado podraacutereducirse con la RPi2 permitiendo maacutes trabajo en elprocesamiento de la sentildeal con libreriacuteas como OpenCV

C Control Remoto

Para el control remoto del vehiacuteculo se conecta unmoacutedulo WiFi USB a la RPi Para ello se precisa deun hub USB alimentado Se ha definido una red locala la que se conectan la RPi y el cliente como en [8 9]controlando desde un Android Ademaacutes se puede verla imagen de la caacutemara web

D Lectura de sensores de Android

Otra liacutenea de evaluacioacuten de la arquitectura propuestaconecta al sistema un antiguo moacutevil Android parasuministrar las lecturas de sensores utilizando unaaplicacioacuten libre llamada Sensor Readout giroacutescopoaceleroacutemetro lineal y angular campos magneacuteticos yotros valores de intereacutes seguacuten pueda integrarlos elprograma principal La comunicacioacuten se lleva a cabo atraveacutes de rosjava

E Divisioacuten modular

Como ejemplo de modularidad se propone dividir elproyecto en dos grupos de trabajo

Grupo principal une una RPiB+ con una ArduinoUnoGrupo auxiliar combina una RPiA caacutemaraWiFi-USB y un moacutevil Android Galaxy i7500 conuna ROM GAOSP Froyo

Otras posibilidades planteadas son utilizar dispositivosmoacuteviles o portaacutetiles con Ubuntu Esta divisioacuten muestraotra ventaja de este modelo la facilidad de creardesarrollos en paralelo el bajo coste del hardwarepermite disponer de varias unidades ademaacutes dediferentes versiones Como consecuencia el sistemapermite comprobar la robustez intercambiando lasdiferentes unidades para ajustar capacidades valorardebilidades y minimizar el consumo

F Prototipo disponible

El montaje completo del prototipo del sistema descritoen esta seccioacuten se muestra en la Fig 6 Un elementoa mejorar es la voracidad en el consumo de bateriacuteaprobablemente debido a la caacutemara Web y el dispositivoWiFi

Figura 6 Robot moacutevil resultante con sus dispositivos

6 CONCLUSIONES

Se ha presentado en este artiacuteculo un sistemamarco o framework para estructurar y mejorarla implementacioacuten de un sistema distribuido deadquisicioacuten de datos de sensores su computacioacutentoma de decisiones y enviacuteo de instrucciones aactuadores

Esta arquitectura se puede implementar en diferentesentornos y es especialmente adecuada para su uso enSistemas Ciberfiacutesicos (CPS)

Cada uno de los elementos de esta arquitecturadistribuida es un nodo de ROS (Robotic OperatingSystem) Las ventajas de esta red de nodos ROSson varias es un software muy extendido y biendocumentado potente y extendido a gran variedad dehardware la modularidad de la arquitectura permiteadaptarla a sistemas ya implantados para mejorarsu evolucioacuten de forma incremental la redundancia

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1055

es posible es software libre y multiplataforma Lascomunicaciones son por TCPIP y se pueden hacerseguras implementando un servidor VPN

Se han elegido componentes para los diferentes nodosLos dispositivos hardware elegidos de bajo coste sonlos maacutes utilizados por ser hardware y software librey con una gran comunidad de desarrolladores Porello se encuentra abundante informacioacuten relativa a losmismos Tambieacuten se pueden establecer puentes paracontrolar hardware externo

Agradecimientos

Este trabajo ha sido subvencionado por el Ministeriode Economiacutea y Competitividad (MINECO) bajo elproyecto DPI2012-37806-C02-01 por el GobiernoVascoEusko Jaurlaritza bajo el proyecto CPS4PSSETORTEK1410 y por la Universidad del PaiacutesVascoEuskal Herriko Unibertsitatea (UPVEHU) bajoel proyecto EHU1342 y la UFI1128

Referencias

[1] W G Gilroy ldquoNSF funds Cyber-PhysicalSystems Projectrdquo httpnewsinfondedunews17248-nsf-funds-cyber-phys

[2] National Science Foundation ProgramSolicitation httpwwwnsfgovpubs2008nsf08611nsf08611pdf

[3] Cyber-Physical Systems httpcyberphysicalsystemsorg

[4] I Etxeberria-Agiriano I Calvo A Nogueroand E Zulueta ldquoTowards middleware-basedcooperation topologies for the next generationof CPSrdquo International Journal of OnlineEngineering 8 (Special Issue 2) pp 20-272012

[5] I Calvo I Etxeberria-Agiriano and A NogueroldquoDistribution Middleware Technologies forCyber Physical Systemsrdquo Proc of the RemoteEngineering amp Virtual Instrumentation (REV-2012) pp 298-301 July 2012

[6] W Wolf ldquoCyber-physical Systemsrdquo Computervol 42 no 3 pp 88-89 March 2009 httpdxdoiorg101109MC200981

[7] R Rajkumar I Lee L Sha J StankovicldquoCyber-physical systems The next computingrevolutionrdquo Design Automation Conference(DAC) 2010 47th ACMIEEE vol no pp731-736 13-18 June 2010

[8] P Gonzaacutelez-Nalda I Calvo I Etxeberria-Agiriano A Garciacutea-Ruiacutez S Martiacutenez-LestaD Caballero-Martiacuten ldquoBuilding a CPS as anEducational Challengerdquo International Journal ofOnline Engineering 10 (4) pp 52-58 2014

[9] P Gonzaacutelez-Nalda I Calvo I Etxeberria-Agiriano A Garciacutea-Ruiz S Martiacutenez-Lesta DCaballero-Martiacuten ldquoThe Challenge of Buildinga Cyber Physical System as an EducationalExperiencerdquo 9a Conferencia Ibeacuterica de Sistemasy Tecnologiacuteas de la Informacioacuten (CISTI) pp327-332 18-21 Junio 2014

[10] E A Lee and S A Seshia Introductionto Embedded Systems A Cyber-PhysicalSystems Approach httpLeeSeshiaorgISBN978-0-557-70857-42011

[11] P Marwedel ldquoEmbedded and cyber-physicalsystems in a nutshellrdquo DACCOM KnowledgeCenter Article 2010

[12] A Valera A Soriano M Valleacutes ldquoPlataformasde Bajo Coste para la Realizacioacuten de TrabajosPraacutecticos de Mecatroacutenica y Roboacuteticardquo RevistaIberoamericana de Automaacutetica e Informaacuteticaindustrial 11 (2014) 363-376

[13] Oros N Krichmar JL 2013 ldquoSmartphoneBased Robotics Powerful Flexible andInexpensive Robots for Hobbyists EducatorsStudents and Researchersrdquo CECS TechnicalReport 13-16 November 26 2013 Center forEmbedded Computer Systems University ofCalifornia Irvine

[14] Oros N Krichmar JL 2013 ldquoAndroidBased Robotics Powerful Flexible andInexpensive Robots for Hobbyists EducatorsStudents and Researchersrdquo CognitiveAnteater Robotics Laboratory University ofCalifornia Irvine 2013 Web November 2013httpwwwsocsciuciedu~jkrichmaABRindexhtml

[15] OpenCV Bliblioteca libre de Visioacuten Artificalhttpopencvorg

[16] ROS Robot Operating System httpwwwrosorg

[17] ROS comunidad httpanswersrosorgquestions

[18] OSRF Blog ROS amp Gazebo at the DRCFinals httpwwwosrfoundationorgros-gazebo-at-the-drc-finals

[19] Free Software Foundation httpswwwfsforg

[20] ROS-Industrial httprosindustrialorg

[21] OROCOS httpwwworocosorg

[22] Orocos RTT and ROS integrated httpwwwwillowgaragecomblog20090610orocos-rtt-and-ros-integrated

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1056

[23] ROS en Android httpwikirosorgandroiddistro=indigo y httpsgithubcomros-android

[24] Sensores para ROS httpwikirosorgSensors

[25] Drivers para ROS httpsgithubcomros-drivers

[26] Gazebo en ROS httpwikirosorggazebo_ros_pkgs

[27] GitHub de ROS httpwikirosorgRecommendedRepositoryUsageCommonGitHubOrganizations

[28] OpenHab httpwwwopenhaborg

[29] Puente entre OpenHab y ROS iot_bridgehttpwikirosorgiot_bridge

[30] Simple Open EtherCAT Master or SOEMhttpdocsrosorghydroapiethercat_soemhtmlindexhtml

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1057

La alimentacioacuten de la RPi se realiza a traveacutes demicroUSB En el prototipo propuesto se conecta a unabateriacutea USB estaacutendar de carga de moacuteviles La RPi2consume 900mA seguacuten carga de proceso y perifeacutericosUSB mientras que la bateriacutea usada puede suministrarhasta 2A y tiene una capacidad de 6800mAh conlo que se estima una autonomiacutea de siete horasLa configuracioacuten de los diferentes subsistemas sedescribe a continuacioacuten

A Conexioacuten RPi-Arduino

Esta conexioacuten une la RPi con una Arduino UnoMediante ROS sobre USB se enviacutean a la Arduinolas oacuterdenes de activacioacuten de los motores y se puedenrecoger las lecturas de los sensores conectados

La Arduino modula el servo de direccioacuten y el motorde traccioacuten mediante PWM mediante un circuito ESC(Electronic Speed Control) que controla el motorde corriente continua El ESC estaacute preparado paraadaptarse al receptor de control remoto con un meacutetododenominado AI (inteligente) que asociaraacute valoresentre 0 y 180 como activacioacuten nula del motor A partirde ese valor acelera o frena y si se vuelve al cero y sele enviacutea un valor de frenado se mueve hacia atraacutes

B Webcam

Se le ha conectado una caacutemara web LogitechQuickCam Pro 9000 al moacutedulo central mediante USBLa imagen se recoge mediante el controlador V4L2del nuacutecleo Linux El retardo experimentado podraacutereducirse con la RPi2 permitiendo maacutes trabajo en elprocesamiento de la sentildeal con libreriacuteas como OpenCV

C Control Remoto

Para el control remoto del vehiacuteculo se conecta unmoacutedulo WiFi USB a la RPi Para ello se precisa deun hub USB alimentado Se ha definido una red locala la que se conectan la RPi y el cliente como en [8 9]controlando desde un Android Ademaacutes se puede verla imagen de la caacutemara web

D Lectura de sensores de Android

Otra liacutenea de evaluacioacuten de la arquitectura propuestaconecta al sistema un antiguo moacutevil Android parasuministrar las lecturas de sensores utilizando unaaplicacioacuten libre llamada Sensor Readout giroacutescopoaceleroacutemetro lineal y angular campos magneacuteticos yotros valores de intereacutes seguacuten pueda integrarlos elprograma principal La comunicacioacuten se lleva a cabo atraveacutes de rosjava

E Divisioacuten modular

Como ejemplo de modularidad se propone dividir elproyecto en dos grupos de trabajo

Grupo principal une una RPiB+ con una ArduinoUnoGrupo auxiliar combina una RPiA caacutemaraWiFi-USB y un moacutevil Android Galaxy i7500 conuna ROM GAOSP Froyo

Otras posibilidades planteadas son utilizar dispositivosmoacuteviles o portaacutetiles con Ubuntu Esta divisioacuten muestraotra ventaja de este modelo la facilidad de creardesarrollos en paralelo el bajo coste del hardwarepermite disponer de varias unidades ademaacutes dediferentes versiones Como consecuencia el sistemapermite comprobar la robustez intercambiando lasdiferentes unidades para ajustar capacidades valorardebilidades y minimizar el consumo

F Prototipo disponible

El montaje completo del prototipo del sistema descritoen esta seccioacuten se muestra en la Fig 6 Un elementoa mejorar es la voracidad en el consumo de bateriacuteaprobablemente debido a la caacutemara Web y el dispositivoWiFi

Figura 6 Robot moacutevil resultante con sus dispositivos

6 CONCLUSIONES

Se ha presentado en este artiacuteculo un sistemamarco o framework para estructurar y mejorarla implementacioacuten de un sistema distribuido deadquisicioacuten de datos de sensores su computacioacutentoma de decisiones y enviacuteo de instrucciones aactuadores

Esta arquitectura se puede implementar en diferentesentornos y es especialmente adecuada para su uso enSistemas Ciberfiacutesicos (CPS)

Cada uno de los elementos de esta arquitecturadistribuida es un nodo de ROS (Robotic OperatingSystem) Las ventajas de esta red de nodos ROSson varias es un software muy extendido y biendocumentado potente y extendido a gran variedad dehardware la modularidad de la arquitectura permiteadaptarla a sistemas ya implantados para mejorarsu evolucioacuten de forma incremental la redundancia

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1055

es posible es software libre y multiplataforma Lascomunicaciones son por TCPIP y se pueden hacerseguras implementando un servidor VPN

Se han elegido componentes para los diferentes nodosLos dispositivos hardware elegidos de bajo coste sonlos maacutes utilizados por ser hardware y software librey con una gran comunidad de desarrolladores Porello se encuentra abundante informacioacuten relativa a losmismos Tambieacuten se pueden establecer puentes paracontrolar hardware externo

Agradecimientos

Este trabajo ha sido subvencionado por el Ministeriode Economiacutea y Competitividad (MINECO) bajo elproyecto DPI2012-37806-C02-01 por el GobiernoVascoEusko Jaurlaritza bajo el proyecto CPS4PSSETORTEK1410 y por la Universidad del PaiacutesVascoEuskal Herriko Unibertsitatea (UPVEHU) bajoel proyecto EHU1342 y la UFI1128

Referencias

[1] W G Gilroy ldquoNSF funds Cyber-PhysicalSystems Projectrdquo httpnewsinfondedunews17248-nsf-funds-cyber-phys

[2] National Science Foundation ProgramSolicitation httpwwwnsfgovpubs2008nsf08611nsf08611pdf

[3] Cyber-Physical Systems httpcyberphysicalsystemsorg

[4] I Etxeberria-Agiriano I Calvo A Nogueroand E Zulueta ldquoTowards middleware-basedcooperation topologies for the next generationof CPSrdquo International Journal of OnlineEngineering 8 (Special Issue 2) pp 20-272012

[5] I Calvo I Etxeberria-Agiriano and A NogueroldquoDistribution Middleware Technologies forCyber Physical Systemsrdquo Proc of the RemoteEngineering amp Virtual Instrumentation (REV-2012) pp 298-301 July 2012

[6] W Wolf ldquoCyber-physical Systemsrdquo Computervol 42 no 3 pp 88-89 March 2009 httpdxdoiorg101109MC200981

[7] R Rajkumar I Lee L Sha J StankovicldquoCyber-physical systems The next computingrevolutionrdquo Design Automation Conference(DAC) 2010 47th ACMIEEE vol no pp731-736 13-18 June 2010

[8] P Gonzaacutelez-Nalda I Calvo I Etxeberria-Agiriano A Garciacutea-Ruiacutez S Martiacutenez-LestaD Caballero-Martiacuten ldquoBuilding a CPS as anEducational Challengerdquo International Journal ofOnline Engineering 10 (4) pp 52-58 2014

[9] P Gonzaacutelez-Nalda I Calvo I Etxeberria-Agiriano A Garciacutea-Ruiz S Martiacutenez-Lesta DCaballero-Martiacuten ldquoThe Challenge of Buildinga Cyber Physical System as an EducationalExperiencerdquo 9a Conferencia Ibeacuterica de Sistemasy Tecnologiacuteas de la Informacioacuten (CISTI) pp327-332 18-21 Junio 2014

[10] E A Lee and S A Seshia Introductionto Embedded Systems A Cyber-PhysicalSystems Approach httpLeeSeshiaorgISBN978-0-557-70857-42011

[11] P Marwedel ldquoEmbedded and cyber-physicalsystems in a nutshellrdquo DACCOM KnowledgeCenter Article 2010

[12] A Valera A Soriano M Valleacutes ldquoPlataformasde Bajo Coste para la Realizacioacuten de TrabajosPraacutecticos de Mecatroacutenica y Roboacuteticardquo RevistaIberoamericana de Automaacutetica e Informaacuteticaindustrial 11 (2014) 363-376

[13] Oros N Krichmar JL 2013 ldquoSmartphoneBased Robotics Powerful Flexible andInexpensive Robots for Hobbyists EducatorsStudents and Researchersrdquo CECS TechnicalReport 13-16 November 26 2013 Center forEmbedded Computer Systems University ofCalifornia Irvine

[14] Oros N Krichmar JL 2013 ldquoAndroidBased Robotics Powerful Flexible andInexpensive Robots for Hobbyists EducatorsStudents and Researchersrdquo CognitiveAnteater Robotics Laboratory University ofCalifornia Irvine 2013 Web November 2013httpwwwsocsciuciedu~jkrichmaABRindexhtml

[15] OpenCV Bliblioteca libre de Visioacuten Artificalhttpopencvorg

[16] ROS Robot Operating System httpwwwrosorg

[17] ROS comunidad httpanswersrosorgquestions

[18] OSRF Blog ROS amp Gazebo at the DRCFinals httpwwwosrfoundationorgros-gazebo-at-the-drc-finals

[19] Free Software Foundation httpswwwfsforg

[20] ROS-Industrial httprosindustrialorg

[21] OROCOS httpwwworocosorg

[22] Orocos RTT and ROS integrated httpwwwwillowgaragecomblog20090610orocos-rtt-and-ros-integrated

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1056

[23] ROS en Android httpwikirosorgandroiddistro=indigo y httpsgithubcomros-android

[24] Sensores para ROS httpwikirosorgSensors

[25] Drivers para ROS httpsgithubcomros-drivers

[26] Gazebo en ROS httpwikirosorggazebo_ros_pkgs

[27] GitHub de ROS httpwikirosorgRecommendedRepositoryUsageCommonGitHubOrganizations

[28] OpenHab httpwwwopenhaborg

[29] Puente entre OpenHab y ROS iot_bridgehttpwikirosorgiot_bridge

[30] Simple Open EtherCAT Master or SOEMhttpdocsrosorghydroapiethercat_soemhtmlindexhtml

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1057

es posible es software libre y multiplataforma Lascomunicaciones son por TCPIP y se pueden hacerseguras implementando un servidor VPN

Se han elegido componentes para los diferentes nodosLos dispositivos hardware elegidos de bajo coste sonlos maacutes utilizados por ser hardware y software librey con una gran comunidad de desarrolladores Porello se encuentra abundante informacioacuten relativa a losmismos Tambieacuten se pueden establecer puentes paracontrolar hardware externo

Agradecimientos

Este trabajo ha sido subvencionado por el Ministeriode Economiacutea y Competitividad (MINECO) bajo elproyecto DPI2012-37806-C02-01 por el GobiernoVascoEusko Jaurlaritza bajo el proyecto CPS4PSSETORTEK1410 y por la Universidad del PaiacutesVascoEuskal Herriko Unibertsitatea (UPVEHU) bajoel proyecto EHU1342 y la UFI1128

Referencias

[1] W G Gilroy ldquoNSF funds Cyber-PhysicalSystems Projectrdquo httpnewsinfondedunews17248-nsf-funds-cyber-phys

[2] National Science Foundation ProgramSolicitation httpwwwnsfgovpubs2008nsf08611nsf08611pdf

[3] Cyber-Physical Systems httpcyberphysicalsystemsorg

[4] I Etxeberria-Agiriano I Calvo A Nogueroand E Zulueta ldquoTowards middleware-basedcooperation topologies for the next generationof CPSrdquo International Journal of OnlineEngineering 8 (Special Issue 2) pp 20-272012

[5] I Calvo I Etxeberria-Agiriano and A NogueroldquoDistribution Middleware Technologies forCyber Physical Systemsrdquo Proc of the RemoteEngineering amp Virtual Instrumentation (REV-2012) pp 298-301 July 2012

[6] W Wolf ldquoCyber-physical Systemsrdquo Computervol 42 no 3 pp 88-89 March 2009 httpdxdoiorg101109MC200981

[7] R Rajkumar I Lee L Sha J StankovicldquoCyber-physical systems The next computingrevolutionrdquo Design Automation Conference(DAC) 2010 47th ACMIEEE vol no pp731-736 13-18 June 2010

[8] P Gonzaacutelez-Nalda I Calvo I Etxeberria-Agiriano A Garciacutea-Ruiacutez S Martiacutenez-LestaD Caballero-Martiacuten ldquoBuilding a CPS as anEducational Challengerdquo International Journal ofOnline Engineering 10 (4) pp 52-58 2014

[9] P Gonzaacutelez-Nalda I Calvo I Etxeberria-Agiriano A Garciacutea-Ruiz S Martiacutenez-Lesta DCaballero-Martiacuten ldquoThe Challenge of Buildinga Cyber Physical System as an EducationalExperiencerdquo 9a Conferencia Ibeacuterica de Sistemasy Tecnologiacuteas de la Informacioacuten (CISTI) pp327-332 18-21 Junio 2014

[10] E A Lee and S A Seshia Introductionto Embedded Systems A Cyber-PhysicalSystems Approach httpLeeSeshiaorgISBN978-0-557-70857-42011

[11] P Marwedel ldquoEmbedded and cyber-physicalsystems in a nutshellrdquo DACCOM KnowledgeCenter Article 2010

[12] A Valera A Soriano M Valleacutes ldquoPlataformasde Bajo Coste para la Realizacioacuten de TrabajosPraacutecticos de Mecatroacutenica y Roboacuteticardquo RevistaIberoamericana de Automaacutetica e Informaacuteticaindustrial 11 (2014) 363-376

[13] Oros N Krichmar JL 2013 ldquoSmartphoneBased Robotics Powerful Flexible andInexpensive Robots for Hobbyists EducatorsStudents and Researchersrdquo CECS TechnicalReport 13-16 November 26 2013 Center forEmbedded Computer Systems University ofCalifornia Irvine

[14] Oros N Krichmar JL 2013 ldquoAndroidBased Robotics Powerful Flexible andInexpensive Robots for Hobbyists EducatorsStudents and Researchersrdquo CognitiveAnteater Robotics Laboratory University ofCalifornia Irvine 2013 Web November 2013httpwwwsocsciuciedu~jkrichmaABRindexhtml

[15] OpenCV Bliblioteca libre de Visioacuten Artificalhttpopencvorg

[16] ROS Robot Operating System httpwwwrosorg

[17] ROS comunidad httpanswersrosorgquestions

[18] OSRF Blog ROS amp Gazebo at the DRCFinals httpwwwosrfoundationorgros-gazebo-at-the-drc-finals

[19] Free Software Foundation httpswwwfsforg

[20] ROS-Industrial httprosindustrialorg

[21] OROCOS httpwwworocosorg

[22] Orocos RTT and ROS integrated httpwwwwillowgaragecomblog20090610orocos-rtt-and-ros-integrated

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1056

[23] ROS en Android httpwikirosorgandroiddistro=indigo y httpsgithubcomros-android

[24] Sensores para ROS httpwikirosorgSensors

[25] Drivers para ROS httpsgithubcomros-drivers

[26] Gazebo en ROS httpwikirosorggazebo_ros_pkgs

[27] GitHub de ROS httpwikirosorgRecommendedRepositoryUsageCommonGitHubOrganizations

[28] OpenHab httpwwwopenhaborg

[29] Puente entre OpenHab y ROS iot_bridgehttpwikirosorgiot_bridge

[30] Simple Open EtherCAT Master or SOEMhttpdocsrosorghydroapiethercat_soemhtmlindexhtml

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1057

[23] ROS en Android httpwikirosorgandroiddistro=indigo y httpsgithubcomros-android

[24] Sensores para ROS httpwikirosorgSensors

[25] Drivers para ROS httpsgithubcomros-drivers

[26] Gazebo en ROS httpwikirosorggazebo_ros_pkgs

[27] GitHub de ROS httpwikirosorgRecommendedRepositoryUsageCommonGitHubOrganizations

[28] OpenHab httpwwwopenhaborg

[29] Puente entre OpenHab y ROS iot_bridgehttpwikirosorgiot_bridge

[30] Simple Open EtherCAT Master or SOEMhttpdocsrosorghydroapiethercat_soemhtmlindexhtml

Actas de las XXXVI Jornadas de Automaacutetica 2 - 4 de septiembre de 2015 Bilbao ISBN 978-84-15914-12-9 copy 2015 Comiteacute Espantildeol de Automaacutetica de la IFAC (CEA-IFAC) 1057