S.0. ROS Y EL LANZAMIENTO DE MELODIC MORENIA
+11
Andres_Montaño
HenryClares
Ayar Inti Coa Apaza
Luis_Rivas
Leo_Sacari
Daniela_Blacutt
Christian_Cruz
Sergio_Jimenez
Roberto mamani
Llusco Alicia
Vladimir_Echalar
15 participantes
Página 1 de 1.
S.0. ROS Y EL LANZAMIENTO DE MELODIC MORENIA
Sistema Operativo Robótico ( Robot Operating System, 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 continúa primordialmente en Willow Garage, un instituto de investigación robótico.
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 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.
ROS lanzó su versión Melodic Morenia este año en dicha fecha, con un número decente de mejoras y actualizaciones. A continuación se encuentran las notas de la versión:
• Desaprobación del encabezado class_loader.
• Los encabezados de class_loader han sido renombrados y los anteriores han sido obsoletos en un esfuerzo por acercarlos al soporte multiplataforma y su contraparte ROS 2. Puede consultar la secuencia de comandos de migración provista para los reemplazos de encabezado y se publicarán las relaciones públicas para todos los paquetes en la distribución anterior de ROS.
• Mejora del paquete Kdl_parser: Kdl_parser ahora ha desaprobado un método que estaba vinculado con tinyxml (que ya estaba en desuso).
• El código de reemplazo tinyxml es el siguiente: bool treeFromXml (const tinyxml2 :: XMLDocument * xml_doc, KDL :: Tree & tree)
• La API obsoleta se eliminará en N-turle.
• Actualización de la versión OpenCV
• Mejoras en pluginlib
• Al igual que class_loader, los encabezados también se desaprobaron aquí, para acercarlos al soporte multiplataforma.
• plugin_tool, que estuvo obsoleto durante años, finalmente se eliminó en esta versión.
Willow Garage PR2: robot personal que está siendo desarrollado por Willow Garage.
Donaxi: robot de servicio desarrollado en el laboratorio de Control y Robótica de UPAEP
PR1: robot personal desarrollado en el laboratorio de Ken Salisbury en Stanford.
Robotnik: Empresa española de ingeniería especializada en robots móviles, brazos robóticos y soluciones industriales con arquitectura sobre ROS.
Robot de Shadow: mano robótica diestra motorizada desarrollada por la empresa Shadow y la cual se está desarrollando mediante el consorcio de un proyecto europeo dentro del marco europeo (FP7).
HERB: desarrollado en CMU dentro del programa de robótica personal de Intel.
STAIR I y II: robots desarrollados en el laboratorio de Andrew Ng en la Universidad de Stanford.
Koen Buys (Embedded Sensor Lab): el laboratorio de robótica de la Katholieke Universiteit Leuven (Bélgica), donde han desarrollado la Beagleboard.
Aldebaran Nao: el Humanoid Robots Lab de la University of Freiburg desarrolló una integración en ROS para el Humanoide Nao.
Husky A200: robot desarrollado (e integrado en ROS).
PARA INSTALAR ROS EN UBUNTU:
[Tienes que estar registrado y conectado para ver este vínculo]
PARA APRENDER ACERCA DEL ENTORNO, PROGRAMACION DE ROS:
[Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver este vínculo]
Vladimir_Echalar- Mensajes : 23
Puntos : 29
Fecha de inscripción : 26/07/2018
VENTAJAS Y DESVENTAJAS DEL S.O. ROS
VENTAJAS Y DESVENTAJAS
VENTAJAS:
[ltr]Reutilizacion de software:[/ltr]
[ltr]•Procesamiento de imágenes (image_pipeline)[/ltr]
[ltr]•Transformación de coordenadas (tf)
•Interfaz gráfica (rviz, rqt_plot, dashboard)
•Logging (rosout)
•Navegación (navigation)
–Path planning
–SLAM
–Mapping
•Abstracción de sensores (usb_cam, openni_launch)
•Abstracción de control (http://wiki.ros.org/Robots)
•Abstracción de software (ar_pose, bfl, opencv_bridge)[/ltr]
[ltr]•Procesamiento de imágenes (image_pipeline)[/ltr]
[ltr]•Transformación de coordenadas (tf)
•Interfaz gráfica (rviz, rqt_plot, dashboard)
•Logging (rosout)
•Navegación (navigation)
–Path planning
–SLAM
–Mapping
•Abstracción de sensores (usb_cam, openni_launch)
•Abstracción de control (http://wiki.ros.org/Robots)
•Abstracción de software (ar_pose, bfl, opencv_bridge)[/ltr]
[ltr]DESVENTAJAS
Curva de aprendizaje de instalación:
•Fuera del amigable entorno de Ubuntu+i386, hay que compilar ROS desde los fuentes y resolver las dependencias de manera “semi-automática”
•Obtener una primera instalación funcional o agregar funcionalidades puede consumir tiempo
Demasiada abstracción:
•Se pierde la noción del desperdicio de recursos
–Envío de mensajes: latencia, throughput y copia de datos
–Niveles de abstracción: wrappers de python a funciones optimizadas en c++
•A veces no se usa bien una herramienta por no saber lo que se está haciendo
[/ltr]
Llusco Alicia- Mensajes : 14
Puntos : 14
Fecha de inscripción : 26/07/2018
Re: S.0. ROS Y EL LANZAMIENTO DE MELODIC MORENIA
ROS – ¿Un sistema operativo diseñado para robots?
La importancia que tiene los robots actualmente ha llegado a fines insospechables. Desde las industrias hasta las oficinas podemos encontrar actividad de estos seres artificiales; sin embargo, siempre ha existido una variable con la que los ingenieros han batallado buscando mejorar. Cómo hacer que estos seres piensen y actúen más como humanos y no como simples maquinas. La respuesta, mediante la programación, con un sistema operativo llamado ROS.
¿Qué es ROS?
De acuerdo con su página oficial [1], ROS se describe como un framework (entorno de trabajo) flexible, con una amplia variedad de herramientas, librerías y paquetes que busca la creación de software complejo para tener robots robustos y con un comportamiento variado
Cabe mencionar que ROS busca ser una plataforma Open Source, es decir, el fin último es crear un compendio universal de software para que los nuevos desarrolladores no tengan que “inventar la rueda” de nuevo.
Aplicaciones
Las áreas que incluye ROS son:
* Un nodo principal de coordinación.
* Creación y destrucción de nodos.
* Los nodos están perfectamente distribuidos, permitiendo procesamiento distribuido en múltiples núcleos, multiprocesamiento, GPUs y clústeres.
Login.
* Parámetros de servidor.
* Testeo de sistemas.
Las áreas que incluirán las aplicaciones de los paquetes de ROS son:
* Percepción
* Identificación de Objetos
* Segmentación y reconocimiento
* Reconocimiento facial
* Reconocimiento de gestos
* Seguimiento de objetos
* Egomoción
* Comprensión de movimiento
* Estructura de movimientos (SFM)
* Visión estéreo: percepción de profundidad mediante el uso de dos cámaras
* Movimientos
* Robots móviles
* Control
* Planificación
* Agarre de objetos
La importancia que tiene los robots actualmente ha llegado a fines insospechables. Desde las industrias hasta las oficinas podemos encontrar actividad de estos seres artificiales; sin embargo, siempre ha existido una variable con la que los ingenieros han batallado buscando mejorar. Cómo hacer que estos seres piensen y actúen más como humanos y no como simples maquinas. La respuesta, mediante la programación, con un sistema operativo llamado ROS.
¿Qué es ROS?
De acuerdo con su página oficial [1], ROS se describe como un framework (entorno de trabajo) flexible, con una amplia variedad de herramientas, librerías y paquetes que busca la creación de software complejo para tener robots robustos y con un comportamiento variado
Cabe mencionar que ROS busca ser una plataforma Open Source, es decir, el fin último es crear un compendio universal de software para que los nuevos desarrolladores no tengan que “inventar la rueda” de nuevo.
Aplicaciones
Las áreas que incluye ROS son:
* Un nodo principal de coordinación.
* Creación y destrucción de nodos.
* Los nodos están perfectamente distribuidos, permitiendo procesamiento distribuido en múltiples núcleos, multiprocesamiento, GPUs y clústeres.
Login.
* Parámetros de servidor.
* Testeo de sistemas.
Las áreas que incluirán las aplicaciones de los paquetes de ROS son:
* Percepción
* Identificación de Objetos
* Segmentación y reconocimiento
* Reconocimiento facial
* Reconocimiento de gestos
* Seguimiento de objetos
* Egomoción
* Comprensión de movimiento
* Estructura de movimientos (SFM)
* Visión estéreo: percepción de profundidad mediante el uso de dos cámaras
* Movimientos
* Robots móviles
* Control
* Planificación
* Agarre de objetos
Roberto mamani- Mensajes : 28
Puntos : 16
Fecha de inscripción : 01/08/2018
Re: S.0. ROS Y EL LANZAMIENTO DE MELODIC MORENIA
Microsoft anuncia un sistema operativo robótico para Windows 10
El sistema operativo robótico para Windows 10 ha entrado en fase piloto para ayudar a empresas e ingenieros a implementar distintas técnicas relacionadas con la inteligencia artificial.
En la feria ROSCon celebrada recientemente en Madrid, Microsoft ha anunciado una versión experimental del sistema operativo robótico para Windows 10. Estamos hablando de un conjunto de bibliotecas y técnicas que ayudan a construir robots más complejos, utilizados en muchos proyectos robóticos de vanguardia en todo el mundo. Este desarrollo trae la capacidad de administración y seguridad de Windows 10 IoT Enterprise al ecosistema ROS.
Los de Redmond explican la existencia de este proyecto en base a la cantidad de robots que hoy día rodean a nuestra vida. No solo aquellos de nuestro trabajo u hogar, sino también hacen referencia a aquellos robots que utilizan las empresas para hacer realidad las exigencias de la sociedad actual. Comenta que a medida que los robots han avanzado, también lo hacen las herramientas de desarrollo.Gracias a este sistema se permitirá a los desarrolladores utilizar capacidades de vanguardia de computación, aprendizaje de CPU de Windows, servicios de Azure y otras tecnologías para robots de todo tipo.
Esto pretende “llevar la inteligencia artificial a la robótica incorporando funciones avanzadas, aprendizaje automático de Windows acelerado por hardware, visión por computadora, servicios cognitivos de Azure, servicios en la nube IoT y otras tecnologías de Microsoft para robots domésticos, educativos, comerciales e industriales”.
Consideran que los fabricantes quieren que los robots sean más conscientes de su entorno y más seguros, y destaca que la mayoría de los gobiernos y fabricantes de todo el mundo están invirtiendo en la próxima generación denominada Industria 4.0.
Última edición por Sergio_Jimenez el Miér Oct 03, 2018 6:17 am, editado 1 vez
Sergio_Jimenez- Mensajes : 20
Puntos : 22
Fecha de inscripción : 25/07/2018
Re: S.0. ROS Y EL LANZAMIENTO DE MELODIC MORENIA
MOV.AI QUIERE SER LA STARTUP QUE CREARA ''EL ANDORID PARA LOS ROBOTS AUTONOMOS''
En los últimos años hemos visto una gran cantidad de desarrollos robóticos centrados en diversas disciplinas, el problema es que todos se basan en sistemas operativos propietarios donde cada vez es más complicado seguir la pista o bien, crear funciones adicionales que aumenten las capacidades de esos robots.
Bajo esa premisa es como nace MOV.AI, una startup que, asegura, busca que la robótica despegue a través de un solo sistema operativo robótico de código abierto, donde los desarrolladores podrían ampliar las posibilidades y capacidades de los robots.
UN UNICO SISTEMA OPERATIVO ABIERTO PARA ROBOTS
MOV.AI se acaba de poner en el mapa al conseguir financiación por parte de la iniciativa 'Horizon 2020' de la Unión Europea, y una inyección de fondos por tres millones de dólares de parte de la israelí Viola Ventures y NFX, de San Francisco.
Con esto, MOV.AI anunció que está lista para iniciar el desarrollo de un ROS (sistema operativo robótico), el cual serviría para programar, "dar vida" y desplegar flotas de robots autónomos a nivel industrial. Con esto, en teoría, los fabricantes sólo tendrían que preocuparse por el hardware, ya que el ROS sería compatible con diversas máquinas para su operación.
Además de esto, MOV.AI explica, el ROS estaría abierto para que los desarrolladores creen herramientas basadas en software, las cuales se podrían añadir al operativo para tareas específicas, como si se tratase de una capa de personalización en Android. Con esto, aseguran, se podrán producir "robots inteligentes" a gran escala para tareas automatizadas dentro de líneas de montaje y producción.
Christian_Cruz- Mensajes : 14
Puntos : 10
Fecha de inscripción : 25/07/2018
Por qué la revolución robótica está siendo impulsada por el desarrollo de código abierto?
Por qué la revolución robótica está siendo impulsada por el desarrollo de código abierto?
Actualmente el CEO de Open Source Robotics Foundation, Brian Gerkey, habla sobre los robots humanoides de desastres, los drones y el futuro de código abierto de la floreciente industria de la robótica.El DARPA Robotics Challenge (DRC) de 2015 concluyó el mes pasado, y mientras los equipos de Corea y los Estados Unidos se llevaron $ 3.5 millones en premios, el verdadero ganador fue el movimiento de código abierto de robótica. De los 23 equipos que compiten en el DRC, 18 utilizaron el sistema operativo robótico de fuente abierta (ROS) y 14 utilizaron Gazebo, un simulador de robot de código abierto que permite a los desarrolladores probar conceptos en entornos virtuales robustos sin arriesgar un hardware valioso.
ROS y Gazebo están bajo la administración de la Open Source Robotics Foundation (OSRF). OSRF, originalmente parte de Willow Garage, un legendario desarrollador de hardware del Área de la Bahía y defensor de las soluciones de código abierto en robótica personal, se separó en 2012 como una organización sin fines de lucro dedicada a avanzar en el desarrollo de plataformas de código abierto para la comunidad robótica. A raíz de la fanfarria que rodea a la República Democrática del Congo, contacté a Brian Gerkey, CEO de OSRF, para averiguar qué ha significado la competencia para el movimiento de código abierto y cuál será el impacto de las soluciones de código abierto para la industria de la robótica en el mundo. años por delante.
Greg: Hay un corolario simple que viene a la mente cuando se habla de un sistema operativo de código abierto para robots, y ese es el paradigma de Windows / Linux. ¿Es esa una comparación apropiada, y ve que el campo se está refinando a un par de grandes soluciones propietarias y luego ROS?
Brian: Ya sabes, con Windows en lugar de Linux, Windows llegó primero por un largo tiempo. Fue la fiesta atrincherada. Así que Linux es el arranque de Scrappy. En el caso de la robótica, el código abierto llegó primero. La comunidad creció haciendo las cosas de manera de código abierto. En realidad, hubo un período a mediados de la década del 2000 en el que Microsoft puso mucho esfuerzo en su Robotics Developer Studio basado en Windows. Tenía muy buenas características, pero nunca se quitó. Entonces, sí, creo que la robótica está demostrando ser una situación diferente a la que sucedió con la computación personal.
Daniela_Blacutt- Mensajes : 16
Puntos : 20
Fecha de inscripción : 25/07/2018
Re: S.0. ROS Y EL LANZAMIENTO DE MELODIC MORENIA
¿Cual está siendo la clave de su éxito?
Son muchas las razones, pero desde mi punto de vista la clave de su éxito es su filosofía: científica, divulgativa, abierta e integradora.
- Científica. Muchos de los paquetes mas importantes desarrollados van acompañados de artículos científicos. Además como ya he comentado, están respaldados por universidades, grupos de investigación e investigadores reconocidos.
- Divulgativa. Se nota la influencia de jóvenes investigadores y desarrolladores de la generación web2.0 porque hacen uso de estos medios de forma masiva. ROS es un proyecto que puede considerarse una ametralladora de conocimiento: RSS, Vídeos en Youtube, Blogs, Wikis, Tweeters, Cursos online, etc. Todo lo que saben lo enseñan y lo comparten en Internet. En ocasiones es tanto lo que hacen y comparten que es difícil para una persona que no se dedique a la investigación seguir día a día sus progresos. Es sorprendente el volumen y la organización de la documentación, mas aún sabiendo que se trata uno de los clásicos puntos débiles de los proyectos de software libre.
- Abierta. El software que hacen es libre, el software que utilizan es libre. La mayor parte de paquetes desarrollados ofrecen una rica documentación (una de las mayores lacras en el mundo del software libre), tutoriales, etc.
- Integradora. Su filosofía es no reinventar la rueda. Sería insensato, mas en un área como la robótica donde es necesario una infraestructura basada en un sólido ecosistemas software. Exitosos proyectos de software libre de diversa índole son utilizados: cmake, Boost, Yaml, Opencv, Python, Ogre, Gazebo, Stage, etc. Además también reutiliza o es compatible parcialmente con otros RSFs como OpenRave, Player o YARP.
Leo_Sacari- Mensajes : 27
Puntos : 19
Fecha de inscripción : 25/07/2018
Re: S.0. ROS Y EL LANZAMIENTO DE MELODIC MORENIA
APORTE DE ROS
El nombre de ROS viene de “Robot Operative System” ROS puede clasificarse como un Framework de Desarrollo en Robótica (RSF) y ofrece herramientas y librerías para el desarrollo de sistemas robóticos. A pesar de su nombre, ROS no es un sistema operativo propiamente dicho (de hecho funciona sobre linux), sino de una infraestructura de desarrollo, despliegue y ejecución de sistemas robóticos así como una gran federación de repositorios que ofrecen paquetes con software de todo tipo para robots. A diferencia de la mayoría de los RSFs existentes, ROS pretende dar una solución integral al problema de desarrollo de robots aportando soluciones a las áreas de:
- Abstracción de Hardware (HAL) y reutilización e integración de robots y dispositivos encapsulando estos tras interfaces estables y manteniendo las diferencias en archivos de configuración.
- Algoritmos de robótica con bajo acoplamiento: desde algoritmos de bajo nivel de control, cinemática, SLAM, etc. Hasta algoritmos de alto nivel como planificación o aprendizaje. También otros muchos mas específicos como: como lograr que el robot X coja un objeto o el robot Y se autoenchufe a la red eléctrica.
- Comunicaciones (middleware) distribuido entre nodos del sistema robótico. Un nodo es cualquier pieza de software del sistema (desde un algoritmo SLAM hasta un driver para el manejo de un motor). El objetivo de este sistema es doble: 1- encapsulado/abstracción/reutilización de software e 2- ubicuidad, es decir, independencia de donde este nodo está localizado (un sistema robótico puede tener muchos procesadores). Estos nodos se comunican entre ellos mediante mecanismos de paso de mensajes RPC o Publish/Subscribe, Service lookup, etc. Permite crear arquitecturas P2P de componentes robóticos distribuidos.
- Simulación de sistemas robóticos en mundos virtuales con dinámicas de sólidos rígidos.
- Herramientas de desarrollo, despliegue y monitorización de sistemas robóticos.
Luis_Rivas- Mensajes : 15
Puntos : 9
Fecha de inscripción : 25/07/2018
Re: S.0. ROS Y EL LANZAMIENTO DE MELODIC MORENIA
Microsoft presenta un sistema operativo experimental para robots basado en Windows
Microsoft ha presentado en el evento ROSCon 2018 (Madrid) de robótica un nuevo sistema llamado Robot Operative System (cuyas siglas son ROS1), que consiste en una versión experimental del sistema operativo Windows enfocado al uso en sistemas con robots y que permite el desarrollo de robots complejos. Este sistema operativo piloto ya se encuentra disponible en la edición experimental de la versión para empresas de Windows 10.
Microsoft ha mostrado su sistema ROS a través de un robot ROBOTIS Turtlebot 3 capaz de reconocer y dirigirse a la persona más cercana, así como un entorno de simulación del sistema mediante Azure que organiza a un "enjambre" de robots.
Mediante ROS, Microsoft proporciona a las empresas una serie de bibliotecas y de herramientas de desarrollo con las que es posible crear robots complejos. El sistema operativo robótico implanta en el ecosistema robótico funciones de manejo y seguridad presentes en la versión de Windows para dispositivos del Internet de las Cosas (IoT).
El sistema para robots de Windows emplea las herramientas del entorno de desarrollo Visual Studio de Microsoft, así como otras funciones basadas en la Inteligencia Artificial y en el almacenamiento en la nube.
Asimismo, la compañía de Redmond, que lanzará "en breve" una segunda versión de ROS, ha anunciado su intención de incorporar a este servicio otras herramientas como sus funciones de aprendizaje automático para 'hardware' y los servicios cognitivos, IoT y de la nube de Azure.
Entre las aplicaciones del sistema se encuentran robots domésticos, educativos y comerciales, y Microsoft ha resaltado en la nota su uso por parte de la industria 4.0 para la producción mediante "robots más conscientes de lo que les rodea, más fáciles de programar y más seguros".
El nuevo sistema surge de la colaboración con el consorcio industrial de robótica ROS Industrial Consortium y la plataforma de robótica Open Robotics, con los que Microsoft trabaja actualmente para implantar ROS en su sistema operativo.
Microsoft ha presentado en el evento ROSCon 2018 (Madrid) de robótica un nuevo sistema llamado Robot Operative System (cuyas siglas son ROS1), que consiste en una versión experimental del sistema operativo Windows enfocado al uso en sistemas con robots y que permite el desarrollo de robots complejos. Este sistema operativo piloto ya se encuentra disponible en la edición experimental de la versión para empresas de Windows 10.
Microsoft ha mostrado su sistema ROS a través de un robot ROBOTIS Turtlebot 3 capaz de reconocer y dirigirse a la persona más cercana, así como un entorno de simulación del sistema mediante Azure que organiza a un "enjambre" de robots.
Mediante ROS, Microsoft proporciona a las empresas una serie de bibliotecas y de herramientas de desarrollo con las que es posible crear robots complejos. El sistema operativo robótico implanta en el ecosistema robótico funciones de manejo y seguridad presentes en la versión de Windows para dispositivos del Internet de las Cosas (IoT).
El sistema para robots de Windows emplea las herramientas del entorno de desarrollo Visual Studio de Microsoft, así como otras funciones basadas en la Inteligencia Artificial y en el almacenamiento en la nube.
Asimismo, la compañía de Redmond, que lanzará "en breve" una segunda versión de ROS, ha anunciado su intención de incorporar a este servicio otras herramientas como sus funciones de aprendizaje automático para 'hardware' y los servicios cognitivos, IoT y de la nube de Azure.
Entre las aplicaciones del sistema se encuentran robots domésticos, educativos y comerciales, y Microsoft ha resaltado en la nota su uso por parte de la industria 4.0 para la producción mediante "robots más conscientes de lo que les rodea, más fáciles de programar y más seguros".
El nuevo sistema surge de la colaboración con el consorcio industrial de robótica ROS Industrial Consortium y la plataforma de robótica Open Robotics, con los que Microsoft trabaja actualmente para implantar ROS en su sistema operativo.
Ayar Inti Coa Apaza- Mensajes : 15
Puntos : 11
Fecha de inscripción : 25/07/2018
Re: S.0. ROS Y EL LANZAMIENTO DE MELODIC MORENIA
El sistema operativo de Robots (ROS)
¿Qué es ROS?
Robot Operative System(ROS) es un meta sistema operativo de código abierto para robots que es mantenido por la Open Source Robotics Foundation(OSRF). Proporciona los servicios que caben esperar de un sistema operativo, incluyendo abstracción de hardware, control de dispositivos a bajo nivel, la implementación de la funcionalidad de uso común, paso de mensajes entre procesos y gestión de paquetes. También proporciona herramientas y bibliotecas para la obtención, construcción, escrituta y ejecución de código en varios equipos. ROS es similar en algunos aspectos a otros "framework" robóticos como: Player, YARP, Orocos, CARMEN, Orca, MOOS o Microsoft Robotics Studio.
ROS ejecuta como una red de procesos peer-to-peer que están acoplados utilizando la infraestructura de de comunicación de ROS. Implementa varios estilos diferentes de comunicación, incluyendo la transmición síncrona de servicios través de RPC, la transmición síncronia de datos a través de topics y el almacenamiento de datos a través de parámetros en el servidor.
ROS no es un framework de tiempo real, aunque es posible integrar ROS con el código en tiempo real. ROS tiene un perfecta integración con Orocos Real-time Toolkit.
Objetivos
El objetivo principal de ROS es dar soporte y reutilizar código para el desarrollo e investigación de la robótica. ROS es un framework distribuido de procesos (nodos) que permite a los ejecutables ser diseñados de manera individual y se acoplan de manera flexible en tiempo de ejecución. Estos procesos se pueden agrupar en paquetes y pilas, que peuden ser fácilmente compartidos y distribuidos. ROS también es compatible con un sistema federado de repositorios de código que permite la colaborar a distribuirlo. Este diseño desde el nivel del sistema de archivos hasta el nivel de la comunidad de usuarios, permite tomar decisiones independientes sobre el desarrollo e implementación, pero esto solo es posible con las infraestructura de herramientas de ROS.
En apoyo de este objetivo de compartir y colaborar, hay otros objeticos en el framework de ROS:
- Thin: ROS esta diseñado para ser lo más ligero posible -- no vamos a eliminar el main() -- para que el código escrito para ROS se pueda utilizar con otros frameworks de desarrollo robótico. Un colorario de esto es que ROS se puede integrar facilmente con otros frameworks robóticos : ROS esta integrado con OpenRAVE, Orocos, y Player.
- Librerias ROS-agnostic: el modelo de desarrollo perferido es escribir bibliotecas con interfaces funcionales limpias.
- *Independencia del lenguaje: ROS es fácil de implementar en cualquier lenguaje de programación modero. Ya esta implementado en Python, C++, y Lisp, y existen librerias experimentales en Jaba y Lua.
- Fácil de testear: ROS tiene un framework de test llamado
- Código:
rostest
que permite realizar pruebas de manera sencilla. - Escalable: ROS es apropiado para sistema de tiempo de ejecución grandes y para grandes procesos de desarrollo.
Sistemas operativos
En la actualidad ROS sólo ejecuta en las plataformas basadas en Unix. El software de ROS se testea en Ubuntu y Mac OS X.
Distribuciones
ROS Hydro MedusaROS Groovy Galapagos
HenryClares- Mensajes : 14
Puntos : 12
Fecha de inscripción : 25/07/2018
Re: S.0. ROS Y EL LANZAMIENTO DE MELODIC MORENIA
¿Conoces ROS? El principal sistema operativo para robots
En el corazón de la robótica
Robot Operating System, o simplemente ROS, es un sistema operativo ideado en 2007 por ingenieros de la Stanford University (EEUU), para dar soporte a un robot con inteligencia artificial. Desde entonces, muchos investigadores se han servido, en mayor o menor medida, de este sistema operativo para dar vida a sus robots.
Actualmente ROS está creciendo a un ritmo trepidante, las citas al artículo en el que se presenta ROS se han incrementado en un 50% durante este 2015, lo que indica claramente que cada vez más y más investigadores de todo el mundo se están sirviendo de las ventajas que ROS ofrece para sus propios proyectos. De hecho, según algunas fuentes, solo en este año se han destinado más de 150 millones de dólares como capital de riesgo en negocios fundamentados en ROS, lo cual dice mucho sobre la relevancia de este sistema operativo.
Pero lo más interesante aún está por llegar, 2016 apunta a ser un gran año para ROS, y prueba de ello son dos grandes eventos que se sucederán este próximo año. En primer lugar ROS 2, la segunda versión, creada gracias al apoyo y duro esfuerzo de una gran comunidad formada alrededor de este proyecto. Y en segundo lugar la creación de varias iniciativas como Robotics Fast Track (RFT), un programa en el que la IEEE y DARPA aúnan fuerzas para facilitar la financiación por parte del gobierno, de proyectos relacionados con la robótica con sede en norteamérica. Estamos seguros de que, gracias al apoyo de ROS, 2016 será un gran año para la robótica.
Andres_Montaño- Mensajes : 17
Puntos : 13
Fecha de inscripción : 25/07/2018
Re: S.0. ROS Y EL LANZAMIENTO DE MELODIC MORENIA
ROS, EL SISTEMA OPERATIVO ROBOTICO
¿Por qué debería usar SO Robot?
ROS proporciona funcionalidad para abstracción de hardware, controladores de dispositivo, comunicación entre procesos en máquinas múltiples, herramientas para pruebas y visualización y mucho más.La característica clave de ROS es la manera en cómo se ejecuta el software y cómo se comunica, ya que te permite diseñar software complejo sin saber cómo funciona cierto hardware. ROS proporciona una manera de conectar una red de procesos (nodos) con eje central. Los nodos se pueden ejecutar en dispositivos múltiples y se conectan a ese eje en varias maneras.
Las maneras principales de crear una red son proporcionar servicios requeribles, o definir conexiones de publicista o suscriptor con otros nodos. Ambos métodos comunican a través de tipos de mensajes específicos. Algunos tipos son proporcionados por los paquetes centrales pero los tipos de mensaje pueden ser definidos por paquetes individuales.
Los desarrolladores pueden armar un sistema complejo al conectar soluciones existentes para pequeños problemas. La forma como se implementa el sistema nos permite:
- Reemplazar componentes con interfaces similares sobre la marcha, quitando la necesidad de detener el sistema para varios cambios.
- Multiplexar salida de múltiples componentes a una entrada para otro componente, permitiendo la solución paralela de varios problemas.
- Conectar componentes hechos en varios idiomas de programación con tan solo implementar los conectores apropiados al sistema de mensajería, haciendo más fácil el desarrollo de software al conectar módulos existentes de varios desarrolladores.
- Crear nodos sobre una red de dispositivos sin preocuparse sobre dónde se ejecuta un código e implementar los sistemas de comunicación entre proceso (IPC) y llamada a procedimiento remoto (RPC).
- Conectar directamente a transmisiones en demanda de hardware remoto sin escribir código extra, esto al emplear los dos puntos anteriores.
Planeamos demostrar lo útil que es al desarrollar iterativamente una simple solución. Hay varias ventajas clave comparadas con otros acercamientos. ROS tiene apoyo de multiplataforma y permite conexiones entre procesos de dispositivos múltiples, a través de conexiones de pares que se manejan detrás de escena. El diseño permite apoyo para cualquier idioma al determinar las clases de comunicación C++, o desarrollar clases manualmente para la interfaz de lenguaje.
ROS está hecho por su propia comunidad. Después de varios años, dio como resultado una gran cantidad de paquetes reusables que son fáciles de integrar gracias a la arquitectura del sistema.
Acercamientos alternativos como MRPT, CARMEN, LCM, PLAYER, MICROSOFT RDS y otros, proporcionan algunas de esas características pero no todas. La mayor parte del tiempo, las fallas del diseño son limitaciones de apoyo del idioma, comunicación sin optimizar entre los procesos, o la falta de apoyo para varios dispositivos, lo cual se puede decir es el problema más difícil de resolver.
Gabriela Ayala- Mensajes : 13
Puntos : 1
Fecha de inscripción : 25/07/2018
Otros sistemas operativos de propósito general para robots
Hay algunos sistemas operativos o middleware de robots que vale la pena mencionar:
- Microsoft Robotics Developer Studio : un sistema multiplataforma creado por Microsoft. Es gratis y proporciona una herramienta de simulación; sin embargo, solo es compatible con Windows y está programado con un lenguaje .NET administrado (preferiblemente C #)
- NAOQi : sistema de robótica de código abierto producido para el robot NAO por Aldebaran Robotics, y programado en C ++ o Python
- URBI : producido por la compañía francesa Gostai . URBI es una buena plataforma multiplataforma, de código abierto y ofrece su propio lenguaje de scripting (URBIScript), aunque también está programado en C ++.
Existen muchos sistemas integrados específicos para un robot en particular, pero esto nos aleja del modelo multiplataforma.
Jorge_Bleichner- Mensajes : 6
Puntos : 2
Fecha de inscripción : 25/07/2018
Re: S.0. ROS Y EL LANZAMIENTO DE MELODIC MORENIA
INTEGRACIÓN DE DISPOSITIVOS EN UN ROBOT QUIRÚRGICO TELEOPERADO MEDIANTE ROS
A lo largo de los años la robótica se ha ido convirtiendo en una especialidad cada vez más compleja, en la que interaccionan más y más dispositivos. El problema es que a menudo estos dispositivos tienen diferentes sistemas de comunicación y su integración no resulta sencilla. Para solucionar estos problemas, se describe la metodología empleada para realizar las comunicaciones entre los distintos dispositivos de un sistema robótico para cirugía teleoperada mediante el software ROS. Todo ello ha sido estructurado y jerarquizado mediante una arquitectura UML en la que se diferencia por :
-Una capa de abstracción de bajo nivel en la que se gestionan las entradas/salidas de cada dispositivo
-Una capa de comunicaciones de alto nivel que integra toda la información sobre el estado de los mismos.
Los resultados de este desarrollo han sido puestos a prueba un prototipo de robot quirúrgico teleoperado dotado de tres brazos manipuladores.
Las clases relativas a la capa de comunicaciones se han diseñado mediante el software ROS, un sistema de comunicaciones open source enfocado a la integración de dispositivos empleados en robótica y que funciona en sistemas operativos Linux (principalmente centrado en las distribuciones de Ubuntu). Algunas ventajas del software ROS son:
• Procesos independientes. El nodo principal, denominado roscore (equivale a NodeMessages), conecta al resto de nodos independientemente de si se ejecutan en la misma máquina o de forma distribuida. Lo único que debe saber roscore es la dirección IP de la máquina en la que se ejecuta cada nodo.
• Gestión de mensajes. El nodo roscore gestiona las comunicaciones entre el resto de nodos. La ventaja es que cada nodo puede enviar datos y ellos mismos deciden cuáles quieren recibir del resto de dispositivos. A su vez, los mensajes pueden tener casi cualquier formato, desde una magnitud escalar sencilla hasta complejas estructuras, vectores, matrices…
• Interrupción del sistema. El hecho de que un nodo se detenga por cualquier problema no impide que el resto de nodos pueda seguir ejecutándose. Esto permite un mayor control sobre el procedimiento a efectuar ante el fallo de un dispositivo.
• Trabajo previo. Con frecuencia, los desarrolladores ya habrán programado un paquete para comunicarse con multitud de dispositivos mediante ROS. Muchos de ellos publican estos
paquetes para poder ser utilizados en nuevos proyectos y ahorrar tiempo de desarrollo.
Las ventajas de ROS permiten desarrollar el sistema de forma escalonada y paralela entre los distintos equipos de trabajo. Con esto se consigue disminuir el tiempo de desarrollo y de integración, sin más que tomar la decisión del formato en que los mensajes son enviados entre los dispositivos. Así, cada vez que se realizó una integración del sistema completo, se completó en cuestión de horas en lugar de días o incluso semanas.
Fuente:
[Tienes que estar registrado y conectado para ver este vínculo]
Juan Pablo Bedoya R.- Mensajes : 16
Puntos : 14
Fecha de inscripción : 25/07/2018
Re: S.0. ROS Y EL LANZAMIENTO DE MELODIC MORENIA
Robot Operating System (ROS)
La plataforma (ROS) es un framework de desarrollo de algoritmos de control en robótica además cuenta con paquetes que incluyen librerías de control de dispositivos para actuadores, sensores, motores. Es de código abierto, esta licencia permite libertad para uso comercial y para la investigación, también esta soportado por Unix-Ubuntu actualmente y tiene un soporte experimental para Mac, Fedora, Windows, OpenSuse entre otros. La principal ventaja de este tipo de comunicación es la creación de grandes bases de datos de manera gratuita ya que todos los ordenadores conectados en línea pueden descargar archivos de otros ordenadores también conectados.
(ROS) cuenta con dos partes principales para su buen funcionamiento: el núcleo del sistema operativo y el ros-pkg. Este último un grupo de paquetes de licencia de código abierto, desarrollados por usuarios que implementan distintas funcionalidades como mapping, planning, etc.
Características Principales del Sistema Operativo de Robots (ROS)
Las principales características de ROS son:
(ROS) cuenta con dos partes principales para su buen funcionamiento: el núcleo del sistema operativo y el ros-pkg. Este último un grupo de paquetes de licencia de código abierto, desarrollados por usuarios que implementan distintas funcionalidades como mapping, planning, etc.
Características Principales del Sistema Operativo de Robots (ROS)
Las principales características de ROS son:
- Código Libre y Abierto.- (ROS) es de código libre bajo términos de licencia BSD, contiene libertad de usos tanto comercial como de investigación esto quiere decir que estas disponible al público en general.
- “Peer to Peer”.- Es un sistema distribuido en el cual los diferentes proceso se comunican entre sí utilizando una topología “peer to peer”. Con esta topología se utiliza un canal nuevo para la comunicación entre dos procesos distintos, evitando utilizar un servidor central para comunicar todos los procesos.
- Multi-Lenguaje.- Se puede trabajar en diferentes lenguajes de programación como lo son: C++, Phyton y Lisp. Ademas contiene bibliotecas en Java y Lua, en fase experimental.
- Multi-Herramientas.- Contiene una gran cantidad de herramientas, que nos permite realizar diferentes tareas, desde navegar en los ficheros, también termite modificar los parámetros de configuración de un robot, proceso o driver, observar la topología de los procesos en ejecución y realizar la comunicación entre procesos.
Conceptos Básicos del Sistema Operativo de Robots (ROS)
Para obtener un adecuado funcionamiento de (ROS) se debe tener conocimiento de los elementos fundamentales de esta plataforma como son: nodos, ROS Master, Mensajes y topics.
- Nodos.- Son ejecutables que se comunican con otros procesos usando topics o servicios. El uso de nodos en (ROS) proporciona tolerancia a fallos y separa el código del sistema haciéndolo más simple. Un paquete puede contener varios nodos (cada nodo dispone de un nombre único), cada uno de ellos lleva a cabo una determinada acción.
- ROS Master.- Proporciona un registro de los nodos que se están ejecutando y permite la comunicación entre nodos. Sin el maestro los nodos no serían capaces de encontrar al resto de nodos, intercambiar mensajes o invocar servicios.
- Mensajes.- Los nodos se comunican entre sí mediante el paso de mensajes. Los tipos primitivos de mensajes (“integer”, “floating point”, “boolean”, etc.) están soportados y se pueden crear tipos personalizados.
- Topics.- Son canales de comunicación para transmitir datos. Los topics pueden ser transmitidos sin una comunicación directa entre nodos, significa que la producción y el consumo de datos esta desacoplada. Los nodos pueden comunicarse entre sí mediante topics, pudiendo actuar como publicadores (publisher) y como suscriptores (subscriber).
- Publicador.- El nodo que actúa como publicador es el encargado de crear el topic por el que va a difundir ciertos mensajes. Estos mensajes podrán ser visibles por los nodos que estén suscritos a este topic.
- Suscriptor. Este nodo se deberá suscribir a los topics correspondientes para poder acceder a los mensajes que hay publicados en ellos.
Un nodo puede publicar o suscribirse a un mensaje a través de un topic.
En la Figura se puede ver un ejemplo de comunicación entre dos nodos por medio de un topic. En este ejemplo, el nodo “publisher odometry” publica en el topic “Odom” un mensaje del tipo “nav_msgs/odometry” y el nodo “Base_movil” accede a este mensaje suscribiéndose a este topic. En la siguiente Figura se detalla la comunicación entre tópicos.
Tiempo real en ROS
A pesar de la importancia de la reactividad y la baja latencia en el control de robots, (ROS), en sí, no es un sistema operativo en tiempo real (RTOS), aunque es posible integrar (ROS) con código en tiempo real. Para ello debe cumplir con unos requisitos para su buen funcionamiento.
Los requisitos de un sistema en tiempo real varían dependiendo del caso de uso. En su esencia, el requisito en tiempo real de un sistema tiene dos componentes:
A pesar de la importancia de la reactividad y la baja latencia en el control de robots, (ROS), en sí, no es un sistema operativo en tiempo real (RTOS), aunque es posible integrar (ROS) con código en tiempo real. Para ello debe cumplir con unos requisitos para su buen funcionamiento.
Los requisitos de un sistema en tiempo real varían dependiendo del caso de uso. En su esencia, el requisito en tiempo real de un sistema tiene dos componentes:
a) Estado latente
b) Modo de fallo
- Período de actualización (también conocida como fecha límite)
- Previsibilidad
b) Modo de fallo
- Cómo reaccionar ante un vencimiento del plazo
Cuando se hace referencia a los sistemas duro / blando / firmes en tiempo real generalmente se refiere al modo de fallo. Un sistema de tiempo real duro trata un plazo incumplido como un fallo del sistema. Un sistema de tiempo real blando trata de cumplir con los plazos, pero no falla cuando falta una fecha límite. Un sistema en tiempo real firme descarta cálculos realizados por el incumplimiento de plazos y puede degradar su requisito de rendimiento con el fin de adaptarse a un plazo incumplido.
Un modo de fallo de tiempo real se asocia a menudo con alta predictibilidad. Los sistemas de seguridad críticos a menudo requieren un sistema de tiempo real con alta predictibilidad.
Fuentes:
* Edwin Lascano, PLATAFORMA DE ROBÓTICA MÓVIL PARA EXPERIMENTOS A TRAVÉS DEL SISTEMA OPERATIVO DE ROBOTS (ROS): DESARROLLO DE LA TARJETA DE TIEMPO REAL”(pdf)
Aleida_Apaza_Colque- Mensajes : 29
Puntos : 13
Fecha de inscripción : 25/07/2018
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.