LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

La robótica es un campo en expansión. Cada vez la IA y los robots sustituyen el trabajo de más personas. Son el presente y el futuro, por lo que es importante formarse en este tipo de campos para saber cómo funcionan éstos y qué herramientas y sistemas tienes a tu disposición para tus proyectos de robótica. Y, en este artículo, podrás ver qué es ROS y todo lo que debes saber sobre él.

ROS son las siglas de Robot Operating System, o sistema operativo robot. Se trata de un middleware para robótica, es decir, una colección de frameworks destinados a facilitar el desarrollo de software para robots. Actualmente, es muy empleado en robots conocidos, siendo una de las mejores herramientas existentes en la actualidad, totalmente gratuita, escrito en C y Python, y bajo licencia de código abierto BSD.

ROS fue desarrollado originalmente en 2007, dentro del Laboratorio de Inteligencia Artificial de Stanford, y bajo el nombre clave Switchyard. En un inicio sería para el proyecto del robot STAIR2. Después de esto, se decidió abrir.

Una pregunta que se suelen hacer muchos es, si no es un sistema operativo, por qué se llama así. Pues bien, aunque se trata de una suite de bibliotecas para el desarrollo, lo cierto es que aporta algunos de las funciones esenciales de un SO, como puede ser una capa de abstracción del hardware para que los desarrolladores solo se preocupen del software, control de los diferentes componentes del robot a bajo nivel, capacidad de gestión y comunicación de procesos, mantenimiento de paquetes, etc.

La biblioteca está orientada a sistemas UNIX, como Linux (en múltiples distros, aunque el mejor soporte está para Ubuntu) y macOS, aunque también funciona en otros sistemas operativos como Microsoft Windows.

Es importante también diferenciar entre las partes de ROS:

  • ros: es la parte que actúa como sistema operativo, la base. Esta es la parte de software bajo licencia BSD. Aquí se incluyen el nodo principal de coordinación, flujos de datos (imágenes, estéreo, láser, cotnrol, actuadores, contacto, …), multiplexado de información, creación y destrucción de nodos, login, etc.
  • ros-pkg: es la suite de paquetes creados por los usuarios y que implementan funcionalidades como planificación, percepción, simulación, mapeo, localización, etc. Estos otros componentes están licenciados en licencias muy variadas.

Las herramientas incluidas en ROS son:

  • rviz: para simulación y visualización 3D.
  • rosbag: para grabar y reproducir mensajes de comunicación.
  • catkin: herramienta de compilación, basada en CMake.
  • rosbash: paquete con herramientas para ampliar las funciones del shell bash.
  • roslaunch: para ejecutar nodos ROS de forma local o remota.

Documentación del proyecto aquí

ROS es un proyecto en constante desarrollo, y cada vez se puede emplear para más aplicaciones dentro del campo de la IA y la robótica, y cada vez realiza su trabajo mejor:

  • Sistemas de percepción artificial.
  • Identificación de objetos y visión artificial.
  • Reconocimiento facial, de gestos, etc.
  • Seguimiento de objetos.
  • Odometría visual.
  • Comprensión de movimientos.
  • Visión estéreo.
  • Movilidad de los robots.
  • Control.
  • Planificación.
  • Agarre de objetos.
  • Coordinación.
  • Testeo.
  • Etc.

Ejemplos de robots que emplean ROS

Son muchos, y sería complicado listarlos a todos, ya que ROS se ha transformado en casi un «estándar» para muchos de ellos. Pero algunos de los más conocidos son:

  • PR1: robot personal desarrollado por el laboratorio Ken Salisbury en Stanford.
  • PR2: robot personal que está siendo desarrollado por Willow Garage.
  • Baxter:  robot de Rethink Robotics, Inc.
  • Robot de Shadow: una mano robótica de la compañía Shadow Robot, en colaboración con la Universidad Pierre y Marie Curie de París y la Universidad Carlos III de Madrid.  Desarrollada dentro de un marco europeo.
  • HERB: creado en CMU dentro del programa de robótica personal de la corporación Intel.
  • Aldebaran Nao: un robot humanoide creado por Humanoid Robots Labs y la Universidad de Freiburg.
  • Husky UGV: un vehículo de tierra y código abierto.

¿Por qué debería aprender con ROS?

Los robots son sistemas complejos y la robótica es complicada de comprender. Sin embargo, disponer de herramientas como ROS facilita mucho el desarrollo desde cero, acelerando la creación de tus propios proyectos en mucho menos tiempo y sin tantos conocimientos como si no dispusieses de él.

Es decir, las ventajas de ROS es facilitar el camino a los desarrolladores, con multitud de complementos gratuitos y de código abierto, de manera que dispondrás de todo lo necesario. Además, vas a aprender algo más que robótica, también electrónica, mecánica y programación:

  • Emplear lenguajes como C++ y Python para desarrollar apps.
  • Administración de redes y sistemas para instalar y mantener ROS.
  • Conceptos básicos de robótica como el mapeo, IA, localización, cinemática inversa, etc., pudiendo poner en contacto los sensores, actuadores, controladores, etc.

No importa la complejidad del robot, con ROS es todo mucho más sencillo. Tampoco limita a un tipo de robot, puede servir desde robots mascotas, hasta robots humanoides, pasando por brazos robóticos para industria…

Más información de ROS – Web oficial

Apuntaremos que ROS, un "sistema operativo para robots", no es exactamente un SO como se entiende en informática, sino más bien un framework (o un conjunto de ellos) para los desarrolladores de robótica.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías