Open Source Robotics

Una colección curada de proyectos, herramientas y software de robótica de código abierto de alta calidad.

Ruckig

Generación de trayectorias óptimas en tiempo con restricciones de jerk en tiempo real para robots y máquinas

Licencia

MIT

Resumen

Ruckig es una biblioteca de generación de movimiento instantáneo para robots y máquinas que calcula trayectorias óptimas en tiempo, con restricciones de jerk, en tiempo real. Genera trayectorias hacia un punto de referencia objetivo (con posición, velocidad y aceleración) comenzando desde cualquier estado inicial, limitadas por restricciones de velocidad, aceleración y jerk -- garantizando soluciones óptimas en tiempo para movimientos de estado a estado.

Ruckig es el primer generador de trayectorias Tipo V para estados objetivo arbitrarios, más potente y rápido que la biblioteca Reflexxes Tipo IV. Logra tiempos de cómputo inferiores a un milisegundo adecuados para ciclos de control de tan solo 250 microsegundos, con precisión numérica dentro de 1e-8 para posición/velocidad y 1e-12 para límites, validado en más de 5 mil millones de trayectorias aleatorias.

La biblioteca central está escrita en C++ sin dependencias, soportando C++20 hasta C++03, con enlaces Python disponibles vía pip. Se integra con los principales frameworks de robótica incluyendo MoveIt 2 (ROS 2) como plugin de procesamiento de trayectorias, CoppeliaSim y Frankx para control del robot Franka Emika.

Desarrollado en el Instituto de Tecnología de Karlsruhe (KIT) y presentado en RSS 2021.

Ruckig es una biblioteca de generación instantánea de movimiento que calcula sobre la marcha trayectorias óptimas en tiempo y con restricciones de jerk para robots y máquinas. Desarrollada en el Karlsruhe Institute of Technology (KIT) y presentada en RSS 2021, se ha convertido en uno de los componentes de planificación de movimiento de código abierto más desplegados en robótica, con más de 5.000 millones de trayectorias calculadas en entornos de producción.

La biblioteca es el primer generador de trayectorias de tipo V para estados objetivo arbitrarios y supera las capacidades de la conocida biblioteca Reflexxes Type IV. Dado cualquier estado inicial (posición, velocidad, aceleración) y un waypoint objetivo con restricciones de velocidad, aceleración y jerk, Ruckig calcula la trayectoria matemáticamente óptima en menos de un milisegundo, lo bastante rápido para ciclos de control de tan solo 250 microsegundos. La precisión numérica está validada dentro de 1e-8 para posiciones y velocidades y de 1e-12 para los límites.

Ruckig está escrito en C++ sin dependencias externas, es compatible con los estándares de compilador desde C++03 hasta C++20 y ofrece bindings de Python instalables con pip. Su diseño sin dependencias facilita integrarlo en cualquier stack robótico. La biblioteca está integrada en MoveIt 2 (ROS 2) como plugin de procesamiento de trayectorias, en CoppeliaSim para simulación y en Frankx para el control de robots Franka Emika.

La combinación de rigor matemático, rendimiento en tiempo real e integración sin fricciones ha convertido a Ruckig en un componente estándar en laboratorios de investigación y empresas de robótica industrial de todo el mundo.

Por qué importa

La generación de trayectorias suaves con límite de jerk es esencial para la operación de robots en el mundo real. Ruckig proporciona una solución sin dependencias y en tiempo real que ya está integrada en MoveIt 2 y es usada por cientos de laboratorios de investigación y empresas.

Qué problema resuelve

Generación en tiempo real de perfiles de movimiento suaves con límite de jerk para robots que deben reaccionar instantáneamente a la entrada de sensores mientras respetan restricciones de velocidad, aceleración y jerk

Puntos clave

  • Generación de trayectorias óptimas en tiempo con restricciones de jerk en cómputo inferior a un milisegundo
  • Sin dependencias en el núcleo C++ -- fácil integración en cualquier stack robótico
  • Integrado en MoveIt 2 (ROS 2) y CoppeliaSim de forma nativa
  • Validado en más de 5 mil millones de trayectorias aleatorias con precisión de 1e-12 en límites

Para quién es

  • Desarrolladores de brazos robóticos
  • Ingenieros de planificación de movimiento
  • Desarrolladores de ROS 2 / MoveIt
  • Ingenieros de automatización industrial

Limitaciones

  • La versión de la comunidad no soporta el cálculo de puntos de paso locales (característica Pro)
  • Los límites de posición solo están disponibles en la versión Pro
  • La interfaz de seguimiento para señales arbitrarias requiere la versión Pro
  • La documentación de la API Python es menos completa que la de C++

Este sitio web requiere JavaScript. Por favor, habilite JavaScript para explorar nuestros proyectos de robótica.