Profesional y Técnico Fernando de Lesseps Software Aplicado a la Robótica
Alexander Rosas 10 GRADO L2 Listado de Software para proyectos robóticos
Microsoft® Robotics Developer Studio 4
Es un entorno basado en Windows para desarrolladores aficionados, académicos y comerciales para crear aplicaciones robóticas para una variedad de plataformas de hardware. RDS incluye un tiempo de ejecución ligero orientado a servicios de estilo REST, un conjunto de herramientas visuales de creación y simulación, así como tutoriales y código de ejemplo para ayudar a empezar.
RDS incluye los siguientes componentes:
CCR - Tiempo de ejecución de simultaneidad y coordinación
DSS - Servicios de software descentralizados VPL - Lenguaje de programación visual VSE - Entorno de simulación visual Ejemplos, tutoriales y documentación Tiempo de ejecución ligero orientado a servicios y estilo REST RDS incluye un archivo. Tiempo de ejecución orientado a servicios de estilo REST basado en NET que consta de dos componentes: tiempo de ejecución de simultaneidad y coordinación (CCR) y servicios de software descentralizados (DSS). Simplifica la programación asincrónica El tiempo de ejecución de concurrencia y coordinación (CCR) simplifica la escritura de programas para manejar la entrada asíncrona de múltiples sensores robóticos y la salida a motores y actuadores.
Monitoreo en tiempo real de sensores robóticos y respuesta a
motores y actuadores La arquitectura orientada a servicios (SOA) de DSS facilita el acceso y la respuesta al estado de un robot mediante un navegador web o una aplicación basada en Windows.
Los no programadores pueden crear aplicaciones
robóticas utilizando un entorno de programación visual. Microsoft Visual Programming Language (VPL) permite a cualquier persona crear y depurar programas de robótica muy fácilmente. Simplemente arrastre y suelte bloques que representan servicios y conéctelos. También es posible tomar una colección de bloques conectados y reutilizarlos como un solo bloque en otra parte del programa. Sistema Operativo Robótico (ROS) Es un framework para el desarrollo de software para robots que provee la funcionalidad de un sistema operativo en un clúster heterogéneo. ROS se desarrolló originalmente en 2007 bajo el nombre de switchyard por el Laboratorio de Inteligencia Artificial de Stanford para dar soporte al proyecto del Robot con Inteligencia Artificial de Stanford (STAIR2). Desde 2008, el desarrollo continuo primordialmente en Willow Garage, un instituto de investigación robótico con más de veinte instituciones colaborando en un modelo de desarrollo.
ROS provee los servicios estándar de un sistema operativo
tales como abstracción del hardware, control de dispositivos de bajo nivel, implementación de funcionalidad de uso común, paso de mensajes entre procesos y mantenimiento de paquetes. Está basado en una arquitectura de grafos donde el procesamiento toma lugar en los nodos que pueden recibir, mandar y multiplexar mensajes de sensores, control, estados, planificaciones y actuadores, entre otros. La librería está orientada para un sistema UNIX (Ubuntu (Linux)) aunque también se está adaptando a otros sistemas operativos como Fedora, Mac OS X, Arch, Gentoo, OpenSUSE, Slackware, Debian o Microsoft Windows, considerados como 'experimentales'. ROS tiene dos partes básicas: la parte del sistema operativo, ros, como se ha descrito anteriormente y ros-pkg, una suite de paquetes aportados por la contribución de usuarios (organizados en conjuntos llamados pilas o en inglés stacks) que implementan las funcionalidades tales como localización y mapeo simultáneo, planificación, percepción, simulación, etc. ROS es software libre bajo términos de licencia BSD. Esta licencia permite libertad para uso comercial e investigador. Las contribuciones de los paquetes en ros-pkg están bajo una gran variedad de licencias diferentes. MARIE Es una nueva herramienta de diseño para aplicaciones robóticas móviles y autónomas, diseñada para facilitar la integración de múltiples elementos de software heterogéneos. Es una herramienta flexible basada en un modelo distribuido, permitiendo así la realización de una aplicación utilizando una máquina o varias máquinas, arquitecturas y plataformas en red.
La iniciativa de MARIE se basa en los siguientes requisitos
principales: Reutilizar softwares, APIs, middlewares y frameworks de uso frecuente en robótica (Player, CARMEN, RobotFlow, etc.) Adopte un enfoque de creación rápida de prototipos para construir un sistema completo Permitir la computación distribuida en plataformas heterogéneas Permitir el uso simultáneo de diferentes protocolos, mecanismos y estándares de comunicación Acelere los desarrollos definidos por el usuario con capas, interfaces, marcos y complementos bien definidos Soporta múltiples conjuntos de conceptos y abstracciones Arquitectura en capas El soporte de múltiples conjuntos de conceptos y abstracciones puede lograrse de diferentes maneras. MARIE lo hace por adoptar una arquitectura de software en capas, definir Diferentes niveles de abstracción en el middleware global Marco de referencia. Se utilizan tres capas de abstracción para reducir la cantidad de conocimientos, experiencia y tiempo necesarios para Utilice el sistema general. Depende del desarrollador seleccionar La capa más adecuada para agregar elementos al sistema: Core Layer consiste en herramientas para comunicación, manejo de datos, computación distribuida y funciones de sistema operativo de bajo nivel (por ejemplo, memoria, subprocesos y procesos, control de E/S). La capa de componentes especifica e implementa marcos útiles para agregar componentes y admitir conceptos específicos del dominio. Application Layer contiene herramientas útiles para construir y administrar aplicaciones integradas utilizando componentes disponibles, para crear sistemas robóticos. Robot Intelligence Kernel
RIK es un conjunto portátil y reconfigurable de capacidades
perceptivas, conductuales y cognitivas que se pueden utilizar en muchas plataformas, entornos y tareas diferentes. RIK integra algoritmos y hardware para la percepción, el modelado del mundo, la comunicación adaptativa, las tareas dinámicas y los comportamientos para la navegación, la búsqueda y la detección.
RIK se compone de cuatro capas. La base es la arquitectura
genérica de robots que proporciona un marco orientado a objetos y una interfaz de programación de aplicaciones para alimentar datos de una gran cantidad de diferentes plataformas, sensores y actuadores en un conjunto de abstracciones genéricas de robots de segunda capa. La tercera capa se compone de muchos comportamientos de robot reactivos y deliberativos que toman las abstracciones genéricas del robot como entrada. A su vez, la capa superior proporciona el "pegamento cognitivo" que orquesta los disparos asincrónicos de estos comportamientos hacia tareas de aplicaciones específicas. La autonomía dinámica intercala diferentes modos de entrada humana en el funcionamiento de los comportamientos RIK. El objetivo del Robot Intelligence Kernel es abordar de manera confiable todos los desafíos fundamentales de la autonomía para los robots móviles: Posicionamiento preciso y construcción de mapas Comunicación adaptativa de largo alcance Evitación reactiva de obstáculos y planificación de rutas Navegación de puntos de referencia de alta velocidad sin GPS Conciencia del autoestado y monitoreo de la salud Resolución de problemas cognitivos para realizar tareas de alto nivel. Conclusiones