Está en la página 1de 8

3D Virtual reality environment for remote control of movil

manipulator robot using Internet of Things protocols


Abstract:

En el presente trabajo se plantea la idea trabajar con un ambiente de simulacin sobre un motor
de juegos para creacin de mundos virtuales, Unity 3D, para un robot y su entorno; el cual
permite una comunicacin bidireccional con un software de procesamiento matemtico
(Matlab) con el objetivo de facilitar tareas de simulacin de herramientas matemticas aplicadas
a robtica. Se genera una independencia entre el procesamiento matemtico y el
procesamiento grfico. Esta comunicacin bidireccional ha sido generada a travs de Internet
en base a un protocolo Machine-to-Machine como es MQTT (Message Queuing Telemetry
Transport Protocol).

1. Introduccin

La Teleoperacin consiste en operar un robot o un sistema en una localizacin remota o


distante. Extendiendo el concepto a la capacidad del operador de manipular o controlar el robot
lejano obteniendo condiciones similares a las que experimenta el robot en la localizacin remota
cuando ejecuta alguna tarea fsica.

En el entorno de la Teleoperacin se han desarrollado importantes aplicaciones en campos


como: la exploracin espacial, vehculos submarinos, forestacin, minera, agricultura, vigilancia,
ciruga, exploracin de volcanes, deteccin de minas, ambiente domstico y entretenimiento.
[1]. Se han desarrollado tambin aplicaciones en robtica como: interaccin social,
manipuladores areos de carga, Teleoperacin de robots industriales y la Teleoperacin de
manipuladores mviles en entornos peligrosos para el ser humano. [2]

El esquema de Teleoperacin es de tipo maestro-esclavo: como maestro se desempea el


operador (humano) y el robot como esclavo. La comunicacin e interaccin entre estos entes es
crtica debido a que se requiere un modelo de comunicacin que facilite el envo de seales
(control) hacia el robot y la recepcin de seales (monitoreo de actuadores, monitoreo de
sensores, video, audio, entre otras seales) desde el robot hacia el operador; las cuales permitan
establecer un intercambio bidireccional de informacin en tiempo real entre ambos a travs de
un canal de comunicaciones con un determinado retardo.

La Teleoperacin exige del canal de comunicacin una baja latencia y ms que una baja latencia:
una latencia constante y coherente con las necesidades de la accin que el robot va a realizar,
tratando de evitar en mayor grado posible la inestabilidad del sistema debida al canal de
comunicacin. [2][3][4].

La necesidad de realimentar al operador las seales de monitoreo e informacin del robot,


adems de su entorno, para tomar acciones de control remota sobre el robot, generar una
interfaz de control, crear un ambiente de simulacin, obtener una representacin de la
informacin del robot y su entorno, es de suma importancia para la Teleoperacin; ya que se
busca alcanzar un alto grado de acoplamiento visual, fsico, cognitivo o de otro tipo entre el
robot y el operador; es decir implementar Telepresencia del operador en el entorno remoto.
[2][5].

Surge a partir de la idea de Telepresencia la necesidad de un sistema de comunicacin


heterogneo, que no solo soporte envo y recepcin de seales de control; sino que tambin
soporte realimentacin de video, seales de monitoreo de sensores a bordo o externos al robot,
seales de control de otros robots, audio, geo-localizacin, entre otras; las cuales permitan tener
la mayor cantidad de informacin sobre el entorno y la condicin real del robot para que en base
a una experiencia remota de la situacin del robot, el operador pueda ejercer acciones de
control.

Adems de la realimentacin, es necesario que el sistema sea capaz de generar una interfaz
dinmica y verstil para que el usuario pueda acoplar una variedad de dispositivos maestros
(joystick, mouse, teclado, etc.) con toda su carga de informacin al sistema de comunicacin.

La comunicacin entre el operador y el robot debe ser dinmica y transparente, desde el punto
de vista de manejar una cantidad variable de usuarios del sistema para efectuar tareas de
control individual y compartido sobre las tareas propias del robot, adems de la visualizacin y
monitoreo por terceros.

El presente trabajo se enfoca en responder cuestionamientos en la comunicacin comprendida


en un sistema de Teleoperacin; es decir, manejar una interfaz para un operador (humano) y un
robot (mquina); con un intercambio bidireccional de informacin.

El principal cuestionamiento est orientado a evaluar el comportamiento de protocolos actuales


de comunicacin, desarrollados en pro del Internet de las Cosas (Machine-to-Machine), en el
entorno y requerimientos de la comunicacin que exige la Teleoperacin de robots para
generacin de Telepresencia del operador en el entorno de trabajo del robot.

As tambin, responder a los requerimientos que exigen la Teleoperacin y la Telepresencia con


respecto al canal de comunicaciones, los cuales van aislados del servicio y datos manejados por
los protocolos tradicionales (TCP, UDP, RTP, HTTP) para generacin de ambientes de simulacin
remotos sobre Internet.

En vista de los requerimientos para generar un ambiente de Teleoperacin cooperativa a travs


de Internet. El canal de comunicacin entre clientes debe permitir bidireccionalidad, baja
latencia, mltiples usuarios, seguridad, bajo consumo de ancho de banda, bajo consumo de
recursos; como respuesta a estos requerimientos se presenta la propuesta de implementar un
sistema de comunicacin basado en protocolos actuales y enfocados en el Internet de las cosas
que resuelvan las carencias de los protocolos tradicionales.

La Teleoperacin de robots es uno de los campos en los cuales no se ha difundido el uso de


protocolos del Internet de las Cosas: Machine-to-Machine, los cuales podran solventar las
necesidades de la comunicacin. El presente proyecto busca evaluar y comparar la propuesta
de desarrollar un Sistema de Comunicacin Bidireccional, orientado a la Teleoperacin, entre
los clientes del sistema: Robots (sensores, actuadores, motores, procesador), Operadores
(factor humano), Dispositivos de Control (dispositivos hpticos, voz, seales cerebrales,
joystick), Sistemas de Realimentacin (imagen 3D, imagen 2D, realidad aumentada, simulador
3D); basado en un protocolo M2M y por otra parte empleando el protocolo Websockets. A
continuacin se procede a mencionar algunos de los desarrollos que han tenido estos protocolos
demostrando su predisposicin a resolver el problema de la comunicacin.

Los protocolos M2M (Machine To Machine) han tenido un difundido despliegue en la industria
con el objetivo de responder a las necesidades que plantea la generacin del Internet de las
Cosas (IoT), proveyendo un entorno de comunicacin bastante verstil a nivel de mquinas.
Varios desarrollos de protocolos M2M se encuentran disponibles abiertamente para su uso y
proyeccin a la generacin de aplicaciones enfocadas en el uso del Internet, con el objetivo me
mantener y proveer una comunicacin ubicua entre la diversidad de mquinas que constituyen
un entorno industrial, mdico, investigativo, empresarial, redes de comunicaciones, redes
inteligentes de energa, domtica, mensajera instantnea, entre otras.

Este protocolo provee comunicacin bidireccional, bajo retardo, tiempo real, mltiples usuarios,
seguridad, uso de Internet, entre otras caractersticas propias de cada protocolo; las cuales nos
permiten reconocer que estos protocolos seran adecuados para generar comunicacin en un
ambiente de Teleoperacin y generar Telepresencia mediante la realimentacin de diversas
seales. [4] [7]

El trabajo descrito en [6]: Bidirectional Transport Protocol for Teleoperated Robots hace un
anlisis de los protocolos tradicionales respecto a su aplicacin en la comunicacin en un
ambiente de Teleoperacin, encontrando que los protocolos tradicionales no ofrecen una
respuesta adecuada al intercambio de datos propios de la operacin de un robot, los datos que
el entorno posee y los datos de control que requiere enviar el usuario o los usuarios.
Mencionando como solucin la generacin de un nuevo protocolo de transporte BTP (Bilateral
Transport Protocol).

En [7] se analiza algunas de las aplicaciones de los protocolos Machine to Machine mencionando
las caractersticas y aplicaciones del protocolo: MQTT (Message Queuing Telemetry Transport
Protocol), para el sistema de comunicaciones de Teleoperacin; adems de su aplicacin en
sistemas de control y monitoreo. Por otra parte en [8] se compara la propuesta del uso de
protocolos Websockets para realizar esta comunicacin de Teleoperacin en contraste al uso de
protocolos tradicionales de Internet como son TCP (Transport Control Protocol) y HTTP
(Hypertext Transfer Protocol). Cabe mencionar que MQTT se implementa sobre protocolos
tradicionales (TCP, UDP) realizando mejoras para facilitar algunas caractersticas que se
requieren en el intercambio de informacin de monitoreo y control en tiempo real para los
robots teleoperados.

La necesidad de realimentacin de simulacin se menciona en www Tele-operation of robots


with Simulation Feedback. [5]. Donde se desarrolla la realimentacin de seales para
generacin de un ambiente de simulacin de Teleoperacin a travs de la web mediante el
intercambio bidireccional de seales usando la Web tradicional.

La generacin de un sistema de comunicaciones para Teleoperacin verstil y adaptable tiene


su efecto directo en el diseo de sistemas de Teleoperacin y en sistemas de control humano
robot; adems de las aplicaciones previamente mencionadas (exploracin espacial, vehculos
submarinos, forestacin, minera, agricultura, vigilancia, ciruga, exploracin de volcanes,
deteccin de minas, ambiente domstico, entretenimiento, entre otras). [1] [2].

Como una motivacin adicional para el proyecto, en la actualidad se desarrolla un proyecto


ganador del concurso CEPRA (Concurso Ecuatoriano de Proyectos en Redes Avanzadas) de la
Red Nacional de Investigacin y Educacin Superior del Ecuador CEDIA. El proyecto est formado
por cuatro universidades (EPN, ESPE-Latacunga, ESPOCH, UTA); el cual se orienta a la
Teleoperacin Bilateral Cooperativa de Mltiples Manipuladores Mviles, del cual la Escuela
Politcnica Nacional posee como tarea realizar un ambiente de simulacin 3D apto para
Teleoperacin. [9]

En el numeral 2 se describen las caractersticas del sistema y el escenario de desempeo para


aplicacin del ambiente de simulacin. En el numeral 3 se describe la arquitectura del sistema,
analizando el sistema de simulacin 3D y la comunicacin mediante MQTT. En el numeral 4 se
describe un ejemplo de aplicacin del sistema y la metodologa de desarrollo; para finalmente,
en el ltimo numeral se describe las conclusiones y recomendaciones del presente trabajo.

2. Caractersticas del Sistema

El presente sistema de simulacin 3D remota est desarrollado con el objetivo de generar una
experiencia a distancia adecuada al usuario para un sistema de teleoperacin de un manipulador
mvil.

Los clientes del sistema son: las aplicaciones de interfaz para el operador humano, el ambiente
de simulacin y el robot. Teniendo en mente la idea de una red Cloud Robotics [10], se plante
un sistema centralizado de enrutamiento de la informacin a travs de un servidor alojado en la
Nube, como se observa en la figura 1.

Figura 1. Concepto de redes Cloud Robotics [10]

En base a los requerimientos del sistema de comunicaciones: comunicacin bidireccional,


tiempo real, baja latencia (fcil medicin y compensacin), integridad de las seales, seguridad,
compatible con sistemas de control, eficiente, mltiples clientes, uso de internet (bajo consumo
de ancho de banda), control de congestin y calidad de servicio (diferenciar la informacin);
como se mencion previamente.

El protocolo que se plante como solucin para la comunicacin fue MQTT (Message Queuing
Telemetry Transport Protocol). Este protocolo adems de responder a las necesidades del
sistema posee atributos como: alta eficiencia (cabeceras de paquetes bastante reducidas),
calidad de servicio (diferenciacin de informacin), tiempo real, seguridad, comunicacin suave
(no rfagas de paquetes como TCP) [6], bajo consumo de ancho de banda, bajo procesamiento,
simplicidad de entendimiento e implementacin, mltiples clientes y usuarios, control
centralizado de la comunicacin a travs de un servidor (broker). Y como desventaja, este
protocolo no soporta video ni voz. El punto fuerte de este protocolo al momento de
implementarlo es su esquema comunicacin mediante mtodos de Publish y Subscribe;
adems que trabaja con un servidor gratuito ubicado en Internet: PubNub.

Un esquema de publicacin subscripcin en un entorno de mensajera corresponde al planteado


en la figura 2.

M2M:
Protocolo
MQTT

Figura 2. Esquema de los Mtodos de Comunicacin MQTT: Publish/Subscribe

El servidor central o broker empleado para este protocolo fue Pubnub. Este broker provee
servicios de comunicacin M2M: gratuitos, servicio de mensajera gratuita (entre dispositivos
ampliamente compatible), baja latencia, datos en tiempo real (percepcin humana), seguridad,
publicacin, suscripcin, presencia, administracin de acceso, almacenamiento, no posee
calidad de servicio, ni tpicos como si sucede en el MQTT tradicional.

El servicio de comunicacin que se implement sobre MQTT, buscando mapear o intercambiar


informacin del procesador matemtico al simulador y viceversa. La calidad de servicio que se
ofrece a travs del servidor PubNub es la ms alta, es decir provee confiabilidad a la llegada de
los paquetes que se enva a travs del canal bidireccional.

3. Arquitectura del Sistema

Para definir nuestro sistema se plantearon como clientes al simulador como sistema de
procesamiento grfico (Unity 3D) y al procesador matemtico (Matlab) el cul puede estar
ubicado en el robot o simplemente realizar el procesamiento de las tareas que el robot
proceder a ejecutar.

El cliente Unity requiere de la implementacin de un cliente MQTT sobre C# en MonoDeveloper


el cual est disponible de manera abierta para su acoplamiento al entorno de programacin;
mientras que Matlab requiere de una adaptacin de un cliente C# para .Net desarrollado y
probado en Visual Basic, mediante una DLL (Librera de Enlace Dinmico).

Como se muestra en la figura 3, la comunicacin es bidireccional y transparente a travs del


canal de comunicaciones. Esto se establece en base al desarrollo de los mtodos propios de
MQTT: Publish y Subscribe. Cada cliente puede publicar en un determinado canal y estar
subscrito al mismo facilitando la difusin de la informacin a travs del medio de comunicacin.
Adicionalmente se facilitan mtodos para la creacin de objetos de conexin a un canal. Estos
objetos tendrn asociados los mtodos descritos previamente.

Figura 3. Comunicacin Unity 3D Matlab mediante MQTT.

Un cliente MQTT para PubNub tiene asociada seguridad al momento de la creacin del objeto
de conexin en vista de que para la generacin de un objeto de canal se requiere de la
determinacin de una clave para publicacin y una clave para subscripcin. Adems de que
implementa cifrado opcionalmente para proteger la informacin a travs de la Web.

La arquitectura del sistema de comunicaciones a travs de PubNub en lugar de establecer


tpicos como tradicionalmente lo hace MQTT, establece canales los cuales puedes estar
asociados a un determinado servicio de informacin; como por ejemplo, llevar datos de la
posicin a la cual se debe trasladar una plataforma mvil.

Figura 4. Creacin de un canal de comunicacin para difusin de informacin.


En la figura 4, se describe el proceso de comunicacin de manera grfica. Este proceso comienza
con la creacin de objetos de conexin en ambos clientes (Matlab y Unity 3D) a un canal comn
(Velocidad en el eje Y). Una vez que se ha comprobado que la conexin est establecida se
procede a realizar la subscripcin al respectivo canal por parte de los clientes, con el proceso
consecuente de notificar a los dos clientes mediante una publicacin inicial que las
subscripciones fueron realizadas y que se puede enviar y recibir informacin. Una vez que los
dos clientes estn conectados se procedi a la publicacin de una confirmacin de conexin en
el canal en cada direccin.

Las libreras diseadas para Matlab y Unity 3D estn orientadas a la creacin de los objetos de
conexin asociados a una clase que permite generar los mtodos: Conexin, Desconexin,
Publicacin, Subscripcin. Para el mtodo de Publicacin o Publish se requiere del canal al cual
se desea publicar (es posible que existan ms de un objeto de conexin a un diferente canal) y
del mensaje a enviar, el mtodo de Subscripcin o Subscribe requiere nicamente del canal
al cual se va a realizar la subscripcin y de un mtodo de interrupcin al cual se va a llamar cada
vez que llegue un mensaje. El mtodo de Conexin o Conect permite generar el objeto de
conexin y la seguridad para establecer el canal, este mtodo tendr como entrada el canal al
cual se desea conectar, las claves de autenticacin (publicacin, subscripcin, secreta) y si se va
a implementar o no cifrado.

4. Herramienta aplicada a la Teleoperacin de un Manipulador Mvil

Para la teleoperacin de un manipulador mvil simulado en Unity 3D se generaron en ambas


partes los clientes de conexin al Broker: PubNub. Se estableci la creacin de canales en
funcin de la comunicacin con los motores de realidad virtual que permitan inyectar velocidad
a cada parte del sistema.

Figura 5. Creacin de canales asociados a los servicios requeridos por el Manipulador.


5. Conclusiones y trabajo futuro

Agradecimiento

Bibliografa

[1] R. G. Boboc, H. Moga, D. Talab. A Review of Current Applications in Teleoperation


of
Mobile Robots. Bulletin of the Transilvania University of Brasov, Series I: Engineering
Sciences, 2012, vol. 5, no 2.

[2] E. Slawiski. Seminario: Teleoperacin de Robots. Escuela Politcnica Nacional. Marzo


2016.

[3] L. Mitchell. Teleoperation in surgical roboticsnetwork latency effects on surgical


Performance". En Engineering in Medicine and Biology Society, 2009. EMBC 2009.
Annual
International Conference of the IEEE. IEEE, 2009. p. 6860-6863.

[4] R. Wirz. Efficient transport protocol for networked haptics applications. En Haptics:
Perception, Devices and Scenarios. Springer Berlin Heidelberg, 2008. p. 3-12.

[5] Medina, F. Torres. Web teleoperation of robots with simulation feedback.


Intelligent Systems and Advanced Manufacturing. International Society for Optics and
Photonics,
2002. p. 105-112.

[6] R. Wirz. Bidirectional transport protocol for teleoperated robots. Industrial Electronics,
IEEE Transactions on, 2009, vol. 56, no 9, p. 3772-3781.

[7] D. Barnett. Webinario: MQTT and DDS Comparison. Mayo 2013.

[8] L. Srinivasa, J. Scharnagl, K. Schilling. Analysis of websockets as the new age protocol
for
remote robot tele-operation. En Telematic Applications. 2013. p. 83-88.

[9] V. Andaluz, P. Canseco, P. Leica, A. Rosales, F. Roberti and R. Carelli, "Adaptive


Cooperative Control of Multi-Mobile Manipulators".

También podría gustarte