LinuxParty
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.
-
Salud
- Bután, tras priorizar la felicidad, se enfrenta ahora a una crisis existencial
- Cómo se podrían prevenir la mayoría de los accidentes cerebrovasculares
- El gel anticonceptivo masculino sigue siendo prometedor
- Gran Bretaña encubrió el escándalo de sangre contaminada que mató a miles de personas, según un informe
- La contaminación del aire podría ser una causa importante de demencia
- ¿Dormimos demasiado? ¿Es un mito las ocho horas de sueño diarias?
- La Escritura a Mano Potencia la Memoria y el Aprendizaje, Según Estudios Científicos
- La Clave para la Felicidad: Equilibrar Tu 'Cartera de Inversiones'
- La Sisifemia Laboral: El Peligroso Ciclo de la Obsesión por la Perfección en el Trabajo
- Lanzamiento del kernel de Linux 6.3
- Descubrimiento científico revela por qué es más difícil perder peso que recuperarlo en personas con obesidad
- Fármaco experimental para el Alzheimer ralentiza el deterioro cognitivo en un ensayo amplio, afirma el fabricante de fármacos Eli Lilly
- Cómo China censuró la investigación sobre el covid-19
- Los científicos identifican un nexo entre la mente y el cuerpo en el cerebro humano
- Un estudio revela la capacidad 'infinita' del cáncer para evolucionar