# Robótica en la nube

La robótica en la nube es un campo de la robótica que intenta aplicar tecnologías en la nube como la computación en la nube, el almacenamiento en la nube y otras tecnologías de Internet centradas en los beneficios de la infraestructura convergente y los servicios compartidos para robótica. Cuando los robots están conectados a la nube, pueden beneficiarse del poder computacional, almacenamiento, y recursos de comunicación de datos centrados en la nube, los cuales pueden procesar e intercambiar información proveniente de varios robots o agentes (otras máquinas, objetos inteligentes, humanos, etc.).Los humanos pueden también delegar tareas a los robots remotamente a través de redes. Las tecnologías de computación en la nube hacen posible dotar a los robots con capacidad de procesamiento remoto, reduciendo los costes a través de tecnologías en la nube. Así, es posible construir robots ligeros, más inteligentes y de bajo costo teniendo un "cerebro" en la nube. El "cerebro" consta de un centro de datos, una base de conocimiento, planeadores de tareas, aprendizaje profundo, procesamiento de información, modelos de entorno, soporte de comunicación, etc.
Una de las definiciones más profundas fue dada por Mario Tremblay, fundador de MyRobots: "Se dice que es robótica en la nube cuando conectamos los robots a Internet y luego, al hacerlo, los robots se vuelven mejores, con más capacidad en la inteligencia. La nube les permite comunicarse con otras máquinas y servir mejor a sus operadores humanos. Robots conectados es igual a robots mejorados. Al colaborar con otras máquinas y con seres humanos, los robots trascienden sus limitaciones físicas y son más útiles y capaces, ya que pueden delegar parte de sus funciones a sistemas más adecuados".

## Componentes

Una nube para los robots, tiene potencialmente al menos seis componentes significativos:
* Ofrecer una biblioteca global de imágenes, mapas y datos de objetos, con geometrías frecuentes y propiedades mecánicas, un sistema experto, una base de conocimiento (por ejemplo la web semánticas y centros de datos)；
* Computación masivamente paralela por demanda para modelización estadística basada en muestreo y planificación de movimiento, planificación de tareas, multi-colaboración de robots, planificación y coordinación de sistemas；
* Robots que comparten sus resultados, trayectorias y políticas de control dinámico y soporte de aprendizaje del robot；
* Humanos compartiendo el código "Open Source", datos, y diseños para programación, experimentación y construcción del hardware；
* Asistencia técnica por demanda y asistencia para evaluación, aprendizaje y recuperación de errores;
* Incremento de la interacción robot-humano a través de varias maneras (base de conocimiento semántica, servicios similares a SIRI de Apple, etc.).

## Aplicaciones

A continuación, podemos ver el tipo de aplicaciones que se han llevado a cabo sobre la Róbotica en la Nube:
* Robots móviles autónomos: El coche autoconducido (vehículo autónomo) de Google es un robot conectado a la nube . Utiliza la red para acceder a la enorme base de datos de mapas e imágenes vía satélite de Google y modelos de entorno (como Streetview) y los combina con la transmisión de datos del GPS, cámaras, y sensores 3D para controlar su posición en centímetros, y con patrones de tráfico pasado y actual para evitar accidentes. Cada coche puede aprender algo sobre su entorno, las carreteras, conducción, o condiciones, y envía la información a la nube de Google, donde se usa para mejorar el rendimiento de otros coches.
* Nube de robots médicos: una nube médica (también llamada cluster de cuidado de salud) consta de varios servicios como un archivo de enfermedad, registros médicos electrónicos, un sistema de administración de la salud del paciente, servicios de práctica, servicios de análisis, soluciones clínicas, sistemas expertos, etc. Un robot puede conectarse a la nube para proporcionar servicio clínico a pacientes, así como dar asistencia a doctores (p. ej. un robot co-cirujano). Además, también proporciona un servicio de colaboración para compartir información entre doctores y asistencia a donantes acerca de tratamientos clínicos.
* Asistentes Robots: Un robot doméstico puede ser empleado para cuidar la salud y vida de personas mayores. El sistema recoge el estado de salud de usuarios e información que intercambia con la nube de doctores o sistemas expertos para facilitar la vida de esta parte de la población, especialmente para aquellos con enfermedades crónicas. Por ejemplo, los robots son capaces de proporcionar soporte para impedir que un anciano se caiga, o dar soporte en emergencias por enfermedades del corazón. Pueden cuidar de las personas ancianas y también pueden enviar notificaciones a través de red cuando hay una emergencia.
* Robots industriales: Cabe destacar el plan para la Industria 4.0 de Alemania "está en el umbral de la cuarta revolución industrial. Promovidos por Internet, los mundos reales y virtuales están creciendo más y más cercanos junto con el Internet de Cosas. La producción industrial del futuro estará caracterizada por la fuerte individualización de productos bajo las condiciones altamente flexibles de producción (grandes series), la extensa integración de clientes y socios empresariales y, con valor añadido a procesos, y el vínculo de producción y servicios de alta calidad que se dirigen a los llamados productos híbridos." En fabricación, tales sistemas robóticos basados en la nube podrían aprender para manejar tareas como enredar líneas o cables, o alinear paquetes en base al conocimiento profesional. Un grupo de robots puede compartir información para algunas tareas colaborativas. Aún más, un consumidor es capaz de mandar a fabricar productos personalizados directamente a robots con un sistema de pedido en línea. El otro paradigma potencial son los sistemas robóticos de entrega de compras una vez la orden está realizada, los robots en el almacén despachan el elemento a un coche autónomo o dron autónomo que lo coloca en su recipiente (ver Nube de la Figura coche autoconducido ).
Aunque las aplicaciones de este tipo de tecnología están al alza, es muy difícil llegar a crear una maquinaria de este tipo sin unos fondos mínimamente necesarios así como sin el trabajo de un equipo.

## Búsqueda

Existen muchos tipos de estudios realizados sobre este tipo de materia:
* RoboEarth Estuvo financiado por el Séptimo Programa del Marco de la Unión Europea para la investigación, proyectos de desarrollo tecnológico, específicamente para explorar el campo de la robótica en la nube. El objetivo de RoboEarth es permitir a los sistemas robóticos beneficiarse de la experiencia de otros robots, allanando el camino para avances rápidos en cognición y comportamiento de la máquina, y finalmente, para una más sutil y sofisticada interacción humano-máquina. RoboEarth ofrece una infraestructura de Robótica en la Nube. La base de datos de estilo Word-Wild-Web de RoboEarth almacena el conocimiento generado por los humanos – y robots – en un formato legible por máquinas. Los datos almacenados en la base de conocimientos de RoboEarth incluyen componentes de software, mapas para navegación (p.ej., ubicaciones de objetos, modelos mundiales), conocimiento de tareas (p.ej., fórmulas de acción, estrategias de manipulación), y modelos de reconocimiento del objeto (p.ej., imágenes, modelos de objetos). El RoboEarth Motor en la Nube incluye soporte para robots móviles, vehículos autónomos, y drones, los cuales requieren mucha computación para navegación.
* Rapyuta Es un marco de robótica en la nube de código abierto basado en el motor RoboEarth desarrollado por los investigadores de robótica en ETHZ. Dentro del marco, cada robot conectado a Rapyuta puede tener un entorno de informática asegurado (cajas rectangulares) dándoles la capacidad de mover su computación pesada a la nube. Además, los entornos de informática son estrechamente interconectados con otros y tienen una conexión de ancho de banda alto al repositorio de conocimiento de RoboEarth.
* KnowRob Es un proyecto extensional de RoboEarth. Es un sistema de procesamiento del conocimiento que combina representación de conocimiento y métodos de razonamiento con técnicas para adquirir conocimiento y para aterrizar el conocimiento en un sistema físico y puede servir como marco semántico común para integrar información de fuentes diferentes.
* RoboBrain Es un sistema computacional a gran-escala que aprende de recursos de Internet disponibles públicamente, simulacros de ordenador y pruebas de robot en vida real. Acumula toda la robótica en una base de conocimiento comprensible e interconectado. Las aplicaciones incluyen prototipos para investigaciones en robótica, robots caseros y coches auto-conducidos. El objetivo es tan directo como el nombre —para crear un proyecto de cerebro centralizado, siempre en línea para robots. El proyecto está dominado por la Stanford University y la Cornel University. Y el proyecto se mantiene con la Nacional Science Foundation, la Office of Naval Research, la Army Research Office, Google, Microsoft, Qualcomm, la Alfred P. Sloan Foundation y la National Robotics Initiative, cuyo objetivo es avanzar en robótica para ayudar a los Estados Unidos a ser más competitivos en la economía mundial.
* MyRobots Es un servicio para conectar robots y dispositivos inteligentes a Internet. Puede ser considerado como una red social para robots y objetos inteligentes (p. ej. Facebook para robots). Con socialización y colaboración, los robots pueden beneficiarse de estas interacciones (User/Robot Interaction). También pueden compartir su información de sensores que da idea en su perspectiva de su estado actual.
* COALAS Está financiado por el INTERREG IVA France (Channel) – England European Cross-Border Co-Operation Programme. El objetivo del proyecto es desarrollar tecnologías nuevas para personas con discapacidad a través de innovación social y tecnológica. Otro objetivo es producir un ambiente cognitivo que asista sistemas en tiempo real para el cuidado de la salud en un cluster en la nube con robots de servicio doméstico como humanoides, sillas de ruedas inteligentes conectadas a la nube , así como otro tipo de asistencias.
* ROS (Robot Operating System) proporciona un eco-sistema para apoyar a la robótica en la nube. ROS es un marco flexible y distribuido para desarrollo del software del robot. Es una colección de herramientas, bibliotecas, y convenciones que tienen como objetivo simplificar la tarea de crear robots complejos y de comportamiento robusto a través de una gran variedad de plataformas robóticas. Una biblioteca para ROS es una implementación pura de Java , llamado 'rosjava'. Esta permite desarrollar aplicaciones para robots en Android. Dado que Android tiene un mercado en crecimiento y miles de millones de usuarios, es un avance significativo en el campo de Robótica de Nube.
Aunque entre estas sólo podemos ver las de mayor escala, existe muchos tipos de estudio sobre esta temática y se llegan a hacer grandes inversiones para su estudio y búsqueda de resultados.

## Limitaciones de la robótica en la nube

Aunque los robots pueden beneficiarse de varias ventajas de la computación en la nube, la nube no es la solución a todos los robots.
* El control de movimiento de un robot que confía fuertemente en sensores y retroalimentación para su funcionamiento no se beneficiará mucho de la nube.
* Las aplicaciones basadas en la nube pueden ser lentas o inutilizables debido a respuestas de alta latencia o conexión de red. Si un robot confía demasiado en la nube, un fallo en la red lo podría dejar “descerebrado.”
* Las tareas que implican ejecución en tiempo real requieren procesamiento a bordo.
Hemos de tener en cuenta los aspectos a los que nos enfrentamos y qué problemática nos encontraremos antes de abordar la idea que queremos llevar a cabo. En muchas ocasiones, estos planteamientos nos permitirán adelantarnos a futuros 'milestones' que tendremos que afrontar.

## Retos

La búsqueda y el desarrollo de robótica en la nube tiene que dar seguimiento a retos potenciales y otras cuestiones:
* Procesamiento masivamente paralelo, esquemas paralelos escalables a la medida de la infraestructura de automatización.
* Balance de carga efectivo: Equilibrando entre operaciones locales y computación en la nube.
* Bases de conocimiento y representaciones
* Aprendizaje colectivo para automatización en la nube
* Plataforma/infraestructura o Software como Servicio
* Internet de las Cosas para robótica
* Control resistente a fallos Integrado y colaborativo
* BigData: Datos, recolección y/o propagación sobre grandes redes, accesible para la toma de decisiones en problemas de clasificación o detección de patrones.
* Comunicación inalámbrica, Conectividad a la nube
* Arquitecturas de sistema para la nube robótica
* Infraestructuras Open-source y open-access
* Carga de trabajo compartida
* Estándares y Protocolos
Existen muchos otros retos a los que nos hemos de enfrentar una vez llevado a cabo algún proyecto. Estos retos son parte del proceso de mejora de la actividad de Robótica en la Nube.

## Riesgos

Existen diferentes riesgos en cuanto al uso de la Robótica en la Nube:
* Seguridad medioambiental - La concentración de recursos computacionales y usuarios en un entorno de computación en nube también representa una concentración de amenazas de seguridad. Debido a su tamaño e importancia, los entornos en la nube son a menudo apuntados por máquinas virtuales y malware bots, ataques de fuerza bruta, y otros ataques.
* Privacidad de datos y seguridad - El almacenamiento de datos en la nube implica la transferencia de una cantidad considerable de datos de seguridad sobre organizaciones. Por ejemplo, cada nube contiene una enorme cantidad de información de sus clientes, que incluye datos personales. Si el robot de una casa está pirateado, los usuarios podrían tener un riesgo en su intimidad personal y seguridad, etc. Puede ser accedido y filtrado por delincuentes de cualquier parte del mundo. Otro de los problemas es que una vez que un robot está pirateado y controlado por alguien más, se puede poner al usuario en peligro.
* Problemas éticos - La Ética tiene que ser considerada, especialmente en la robótica basada en la nube. Desde que un robot está conectado vía internet, tiene el riesgo de ser accedido por otras personas. Si un robot está fuera de control y lleva a cabo actividades ilegales, quién tendría que ser responsable por él.
Es por ello que se han de tener en cuenta estos riesgos a la hora de llevar a cabo tareas de este tipo. Aunque con un equipo y trabajo son de solución fácil.

## Historia

El término "Robótica en la Nube" apareció por primera vez en el léxico común como parte de una charla dada por James Kuffner en 2010 en la Conferencia Internacional IEEE/RAS en Robótica Humanoide titulada "Cloud-enabled Robots" (Robots habilitados para la Nube). Desde entonces, Robótica en la Nube se ha convertido en un término general que abarca los conceptos de "compartir información", "inteligencia distribuida" y el rápido aprendizaje que es posible a través de robots en red y a la computación en la nube moderna.
Desde los primeros días del desarrollo de robots, era común hacer la computación desde un ordenador que estaba separado del mecanismo del robot, aun así, este seguía conectado por cables de fuerza y control a la máquina madre que lo dirigía.
Acontecimientos importantes:
* Nube Robótica y Automatización - Un evento especial de la IEEE sobre el intercambio entre la automatización y Ciencia e Ingeniería, abril de 2015.
* 2013 IEEE IROS - Taller sobre Robótica en la Nube. Tokio. Noviembre 2013.
* NRI - Taller sobre Robótica en la Nube: Retos y Oportunidades- febrero de 2013.
* Robot APP Store - Tienda de aplicaciones para robótica en Nube, proporciona aplicaciones para robots como lo hacen las aplicaciones del ordenador o teléfono.
* DARPA - Robótica de nube.
* Un Plan para Robótica de EE.UU. De Internet a Robótica 2013 Edición. El Plan para Robótica “en la Nube” y Automatización para la manufactura en el futuro. Con la participación de:
** Instituto Tecnológico e Georgia
** Consorcio de Tecnología Robótica de la Universidad Carnegie Mellon
** La Universidad de Pensilvania
** Universidad de California Del sur
** Universidad Stanford
** Universidad de Berkeley California
** Universidad de Washington
** Instituto Tecnológico de Massachusetts
** US y Robótica OA EE.UU
* Motor de Reconocimiento de Objetos de Google.
* Iniciativa de Robótica nacional de EE.UU - Anunció en 2011 apunta a explorar cómo los robots pueden realzar el trabajo de humanos más que reemplazarles. Reclama que la generación próxima de robots será más social.
* James J. Kuffner, un exprofesor de robótica, y ahora científico de investigación en Google, habló sobre la robótica en la nube en la IEEE/RAS, Conferencia Internacional de Robótica Humanoide 2010. La describe como "una aproximación nueva a la robótica que aprovecha el Internet como recurso computación masivamente paralela y distribución de vastos recursos de informáticos ."
* Ryan Hickman, el Director de Producto del Google, dirigió un esfuerzo de voluntariado interno en 2010 para conectar robots con los servicios en la nube de Google. Este trabajo era más tarde expandido para incluir soporte de código abierto para ROS y fue mostrado en el siguiente evento por Ryan Hickman, Damon Kohler, Brian Gerkey, y Ken Conley en Google yo/O 2011.
* La Robótica en la Nube permite computación en nube para robots. El autor propuso algunos paradigmas de computación aplicables en la nube robótica. Algunos retos y campos potenciales. R. Li 2009.
* El IEEE RAS Comité Técnico encima el internet y los robots En línea estuvo fundado por Ken Goldberg y Roland Siegwart et al. En mayo de 2001. El comité entonces expandido a Sociedad de IEEE del comité Técnico de las robóticas y La Automatización en Networked Robots en 2004.