ROS La migración cinética y sus desafíos: una perspectiva comunitaria.

Ubuntu junio 4, 2021

ROS Kinetic ha llegado a EOL. Hemos discutido el impacto de EOL en el pasado, pero con su sincronización final el 12 de mayo, ROS Kinetic ya no es compatible. Junto con Ubuntu Xenial, ambas distribuciones ya no recibirán actualizaciones de seguridad ni correcciones de errores.

El segundo lanzamiento de ROS LTS se convirtió en el rosdistro más grande con 1233 repositorios en los últimos 5 años. Queremos unirnos a nuestro socio, Open Robotics, para agradecerles a todos los que contribuyeron a hacer de ROS Kinetic un hito en la historia de la robótica.

Pero para todos los que seguimos trabajando con Kinetic, en nuestros robots, laboratorios o universidades desplegados, surgen dos preguntas: ¿a dónde migro y cuáles son los desafíos?

Para responder a estas preguntas, le preguntamos a nuestra comunidad qué piensan. Entonces, a lo largo de abril, realizamos 2 pequeñas encuestas en LinkedIn y Twitter. Se formularon dos preguntas principales.

¿Cuál es su plan de migración ROS?

La primera pregunta fue sencilla, ¿a dónde te mudas? Se dieron cuatro opciones como se ve en la figura siguiente.

Con 269 votos, ROS 2 Foxy se destacó como la principal opción para nuestra comunidad ROS con un 37% de respuestas.

ROS 2 representa un enfoque sin arrastre heredado; Todos los criterios de diseño se han revisado para obtener la mejor experiencia posible. Tomemos, por ejemplo, las comunicaciones, en ROS 2 ya no tenemos un diseño de concentrador / radio. En cambio, ROS 2 tiene esencialmente un diseño peer-to-peer por defecto, donde cada componente puede descubrir pares y hablar directamente con ellos. ROS 2 incluye middleware conectable, DDS, con diferentes proveedores que ofrecen diferentes capacidades, para manejar las comunicaciones entre robots. Este nuevo middleware habilita la seguridad en el cable, como incluir autenticación antes de unirse al gráfico ROS o hacer cumplir los permisos. Sin lugar a dudas, ROS 2 viene con una curva de aprendizaje. Aquí puedes encontrar un completo guía de migración para ROS 2 Foxy.

Con un 46,6% combinado, ROS 1 sigue siendo una opción deseable para la comunidad. La migración a Melodic es más fácil, ya que todavía es compatible con Python 2. Para aquellos de ustedes que todavía trabajan con Kinetic y desean actualizar a una versión más nueva de ROS 1, pueden encontrar guías para Melódico y Noético en el wiki de ROS 1.

Sin embargo, permanecer en Kinetic sigue siendo una opción para nuestros votantes. Con un significativo 16,4%, vemos que la gente quiere permanecer en esta distribución EOL. Exploremos por qué.

¿Cuál es su desafío de migración ROS Kinetic?

La segunda pregunta tiene como objetivo explorar los principales desafíos de la migración. Como antes, se dieron cuatro opciones como se ve en la figura a continuación, con 179 personas en esta encuesta. La disponibilidad / compatibilidad del software fue reconocida como el principal desafío para los desarrolladores con un 35,4% de respuestas.

Uno de los desafíos al pasar a diferentes distribuciones es la disponibilidad del software. En ROS, algunos de los paquetes ROS que usó en una distribución (por ejemplo, Kinetic) podrían no ser compatibles con distribuciones más nuevas de ROS (por ejemplo, Foxy). De la misma manera, algunas API de su entorno ROS actual pueden depender de versiones específicas de las aplicaciones y bibliotecas de Ubuntu Xenial. Por ejemplo, Python 2.7 ya no es compatible con ROS 1 Noetic ni ROS 2 Foxy.

Otros desafíos técnicos (como la migración de Ubuntu) y los desafíos de migrar de forma remota también contribuyeron a la dificultad de la tarea. Tomemos, por ejemplo, los que despliegan robots ROS en el campo. Sus usuarios ya están empleando los robots, quizás en operaciones críticas. Recoger todas las unidades desplegadas representa un desafío para las empresas. Requiere planificación interna y con su usuario final. La migración también conlleva gastos adicionales, incluso para los usuarios debido al tiempo de inactividad de los robots.

Finalmente, el 24,2% votó a favor de permanecer en Kinetic. Analicemos las implicaciones a continuación.

Sin soporte, su robot está en riesgo.

Trabajar con una distribución EOL no es seguro. Eche un vistazo a nuestro último seminario web sobre riesgo de permanecer en ROS Kinetic. En pocas palabras, está poniendo en riesgo su dispositivo y usuario al no recibir actualizaciones de seguridad para su entorno SO y ROS. Al igual que con cualquier sistema, la seguridad robótica no se trata solo de la plataforma en sí, sino del eslabón más débil del ecosistema digital donde reside el robot. Por lo tanto, las empresas de robótica deben desarrollar mecanismos de seguridad para proteger sus productos de actores maliciosos y comprender el riesgo que conllevan y al que están expuestas en cualquier red.

Las actualizaciones de software para el mantenimiento de la seguridad representan el requisito mínimo para reducir las vulnerabilidades. Si no se mantiene un software de robot en una línea de fabricación o minorista, tarde o temprano los atacantes pueden hacerse un hueco en él y posiblemente usarlo para obtener acceso al dispositivo en sí, y potencialmente a otros activos corporativos. Por lo tanto, el mantenimiento de la seguridad está incluido en todos los marcos de ciberseguridad como el Center for Internet Security (CIS) top 20 o el National Institute of Standards and Technology (NIST) Cybersecurity Framework, y su aplicación en robótica es tan válida como cualquier otro sistema computacional.

ROS ESM

En última instancia, recomendamos a las empresas que migren a una distribución ROS compatible. Pero entendemos los desafíos de la migración y la realización y el mantenimiento de una infraestructura de mantenimiento de seguridad para empresas robóticas.

Por lo tanto, para respaldar la implementación y la seguridad de los robots ROS implementados en el campo, Canonical diseñó el Mantenimiento de seguridad extendido del sistema operativo del robot (ROS ESM) como la base para el cumplimiento de la seguridad en diferentes industrias.

Entregado en asociación con Open Robotics, ROS ESM proporciona soporte empresarial para ROS y el sistema operativo Ubuntu. A través de ROS ESM, los robots recibirán actualizaciones de seguridad respaldadas que han sido probadas y seleccionadas para garantizar la estabilidad del sistema. Nuestro objetivo es ayudar a los desarrolladores de ROS a implementar dispositivos más seguros facilitando el mantenimiento de la seguridad con ROS ESM.

Obtenga ROS ESM