Tue. Mar 5th, 2024

A framework for open-source robotic programming

By admin Jan 30, 2024

rosa (Robot Operating System) es un marco de código abierto (no un sistema operativo real) para escribir software para robots. Comenzó en 2007 por Eric Berger y Keenan Wyrobek (eran estudiantes de doctorado en la Universidad de Stanford) con el objetivo de simplificar el proceso de creación de comportamientos robóticos complejos en una amplia variedad de plataformas robóticas, lo que permite a los desarrolladores de software con pocos conocimientos de hardware robótico escribir software para robots. ROS tiene la licencia permisiva BSD.

Componentes principales

ROS tiene muchos componentes y herramientas. Algunos ejemplos de Comunicaciones son:

  • Paso de mensajes para gestionar los detalles de la comunicación entre nodos distribuidos a través del mecanismo de publicación/suscripción anónimo.
  • Grabación y reproducción de mensajes para comunicaciones asincrónicas.
  • Llamadas a procedimientos remotos para interacciones sincrónicas de solicitud/respuesta entre procesos.
  • Sistema de parámetros distribuidos que proporciona una manera para que las tareas compartan información de configuración.

ROS proporciona bibliotecas y herramientas comunes específicas para robots. Algunos ejemplos de bibliotecas son:

  • Biblioteca de geometría de robots que realiza un seguimiento de dónde están las diferentes partes del robot entre sí.
  • Lenguaje de descripción del robot para describir su robot de forma legible por máquina. Utiliza URDF (Formato Unificado de Descripción de Robot), que consiste en un documento XML en el que se describen las propiedades físicas de su robot (longitud de las extremidades, tamaños de las ruedas, ubicación de los sensores, apariencia visual de cada parte del robot,… .etc).
  • Diagnóstico para monitorear el estado de su robot.
  • Llamadas a procedimientos remotos interrumpibles
  • Estimación de pose, localización y navegación

ROS también tiene poderosas herramientas de desarrollo que apoyan la introspección, depuración, trazado y visualización del estado del sistema que se está desarrollando. Hay más de 45 herramientas de línea de comandos y algunas herramientas GUI como:

  • rviz para visualización 3D de muchos tipos de datos de sensores y cualquier robot descrito por URDF. Puede visualizar muchos tipos de mensajes, como escaneos láser, nubes de puntos tridimensionales e imágenes de cámaras.
  • rqt (Marco basado en Qt) para desarrollar interfaces gráficas para su robot. Puede crear GUI personalizadas con la ayuda de complementos de rqt integrados como rqt_graph, rqt_plot, rqt_topic y rqt_publisher. También puedes escribir tus propios complementos rqt.

Integración con otras bibliotecas

ROS proporciona una potente integración con otras bibliotecas de código abierto como:

  • OpenCV (biblioteca de visión por computadora) proporciona muchas utilidades que puede utilizar en sus proyectos. ROS proporciona una estrecha integración con OpenCV, lo que permite su uso para la calibración de cámaras, procesamiento de imágenes monoculares, procesamiento de imágenes estéreo y procesamiento de imágenes de profundidad.
  • Muévelo (biblioteca de planificación de movimiento) ofrece implementaciones eficientes y bien probadas de algoritmos de planificación de última generación. A través de su integración con ROS, MoveIt se puede utilizar con cualquier robot compatible con ROS. Los datos de planificación se pueden visualizar con los complementos rviz y rqt, y los planes se pueden ejecutar a través del sistema de control ROS.
  • ROS-Industrial (proyecto de código abierto que extiende las capacidades de ROS a la automatización de fabricación y la robótica) el repositorio incluye interfaces para manipuladores, pinzas, sensores y redes de dispositivos industriales comunes. También proporciona bibliotecas de software para la calibración automática de sensores 2D/3D, planificación de trayectoria/movimiento del proceso, aplicaciones como Scan-N-Plan, herramientas de desarrollo como el complemento Qt Creator ROS y un plan de estudios de capacitación específico para las necesidades de los fabricantes.
  • Kiosko (Simulador de múltiples robots 3D para interiores y exteriores) se integra con ROS proporcionando complementos que admiten muchos robots y sensores existentes. Debido a que los complementos presentan la misma interfaz de mensajes que el resto del ecosistema ROS, puede escribir nodos ROS que sean compatibles con simulación, datos registrados y hardware. Puede desarrollar su aplicación en simulación y luego implementarla en el robot físico con pocos o ningún cambio en su código.
  • PCL (Point Cloud Library) es una biblioteca de percepción centrada en la manipulación y procesamiento de datos 3D e imágenes de profundidad. PCL proporciona muchos algoritmos de nube de puntos, incluidos filtrado, detección de características, registro, árboles kd, octrees, consenso de muestras y más.

Referencias

Etiquetas

Robótica Desarrollo de código abierto Programación Automatización Aplicaciones gratuitas Software gratuito Hardware Linux

By admin

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *