Open Source Robotics

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

Dubins Car

  • También llamado: Dubins vehicle
  • Categoría: Planning & manipulation › Motion planning
  • Etiquetas: motion-planning, kinematics, nonholonomic, fixed-wing, path-planning

Un modelo de vehículo plano que avanza a velocidad constante con una velocidad de giro acotada; sus caminos más cortos entre dos poses constan como máximo de tres arcos y segmentos rectos.

Definición

El coche de Dubins (Dubins car) es un modelo cinemático de un vehículo que solo puede avanzar a una velocidad fija y no puede girar con un radio menor que uno mínimo. Su estado es la posición (x, y) y la orientación θ, y su movimiento sigue ẋ = v cos θ, ẏ = v sin θ, θ̇ = u con |u| ≤ v / R_min. En comparación con el modelo de monociclo, que permite cualquier velocidad de avance además de detenerse, ir marcha atrás y girar sobre sí mismo, el coche de Dubins tiene velocidad constante y curvatura acotada, por lo que no puede ni detenerse ni girar en el sitio. Al igual que el monociclo, está sujeto a una restricción no holonómica: no puede desplazarse lateralmente.

El modelo lleva el nombre de Lester Dubins, que demostró en 1957 que el camino más corto de curvatura acotada entre dos poses en el plano sin obstáculos consta como máximo de tres segmentos, cada uno de ellos una línea recta (S) o un arco circular de radio mínimo que gira a la izquierda (L) o a la derecha (R). Solo seis combinaciones pueden ser óptimas: LSL, RSR, LSR, RSL, LRL y RLR, de modo que un planificador puede calcular cada candidato en forma cerrada y quedarse con el más corto. Reeds y Shepp (1990) extendieron el resultado a un coche que también puede ir marcha atrás, lo que da el coche de Reeds-Shepp, con una familia más amplia de caminos óptimos.

Los caminos de Dubins son un componente básico estándar para planificar aviones de ala fija, barcos y robots de tipo coche. Los planificadores basados en muestreo como RRT y RRT* los usan como función de dirección local, y los planificadores de cobertura y de rutas los usan para ordenar puntos de paso bajo límites de curvatura. Las extensiones tridimensionales, a menudo llamadas avión de Dubins, añaden la altitud con una tasa de ascenso o descenso acotada. El modelo tiene límites que conviene recordar: los vehículos reales no pueden pasar instantáneamente entre giro máximo a la izquierda, recta y giro máximo a la derecha, por lo que los saltos de curvatura en las uniones de segmentos deben suavizarse en el controlador o planificando con clotoides u otros caminos de curvatura continua, y el viento o las corrientes cambian la velocidad respecto al suelo de maneras que el modelo puro ignora.

Por qué importa

Muchos vehículos, como los drones de ala fija, los barcos y los coches a velocidad, están realmente limitados a avanzar y a un radio de giro mínimo. El coche de Dubins recoge eso en el modelo más sencillo posible y da caminos más cortos en forma cerrada, lo que lo convierte en un punto de referencia para la planificación y el control de esos vehículos.

Aplicaciones clave

  • Planificación de rutas para UAV de ala fija
  • Funciones de dirección en planificadores basados en muestreo para robots de tipo coche
  • Enrutamiento por puntos de paso para vehículos marinos
  • Trayectos de cobertura e inspección con restricciones de curvatura
  • Problemas de enrutamiento con límites de giro, como el problema del viajante de Dubins

En la práctica

Un dron de ala fija de levantamiento debe pasar por una lista de puntos de paso, cada uno con una orientación obligatoria. El planificador calcula el camino de Dubins entre poses consecutivas de los puntos de paso usando el radio de giro mínimo de la aeronave a velocidad de crucero, con un margen para el viento, y encadena los resultados en una ruta que después sigue una ley de guiado segmento a segmento. Cuando varias aeronaves de este tipo deben coordinarse, como en los trabajos de seguimiento distribuido de trayectorias que modelan las aeronaves de ala fija como vehículos de Dubins en 3D, la ley de coordinación tiene que funcionar sin la opción de frenar hasta detenerse o de esperar en el sitio.

Ideas erróneas comunes

  • El coche de Dubins y el modelo de monociclo son lo mismo — el monociclo puede variar la velocidad, detenerse y girar sobre sí mismo, mientras que el coche de Dubins avanza a velocidad constante con curvatura acotada
  • Los vehículos reales pueden seguir exactamente los caminos de Dubins — contienen cambios instantáneos de curvatura que la dirección o el alabeo reales deben suavizar
  • Las soluciones de Dubins son óptimas entre obstáculos — el resultado de los seis caminos vale en el plano sin obstáculos; con obstáculos, los segmentos de Dubins son solo conexiones locales dentro de un planificador más amplio

Quién debería saberlo

  • Ingenieros de guiado y planificación de UAV de ala fija
  • Investigadores en planificación de movimiento
  • Desarrolladores de vehículos marinos y autónomos
  • Estudiantes de robótica que aprenden planificación no holonómica

Tecnologías relacionadas

  • Curvas de Reeds-Shepp (Reeds-Shepp Curves)
  • Modelo de avión de Dubins (Dubins Airplane Model)
  • Caminos de clotoides (Clothoid Paths)
  • Open Motion Planning Library (OMPL)
  • Hybrid A*

Términos relacionados

  • Unicycle Model
  • Nonholonomic Constraint
  • RRT*
  • Trajectory Planning
  • UAV
  • Formation Control

Proyectos relacionados

  • ArduPilot: World's most trusted open-source autopilot for drones, planes, rovers, and submarines
  • Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
  • ROS Motion Planning: One repo implementing 40+ classic and learning-based robot path planners as ROS plugins
  • OMPL: Sampling-based motion planning library powering MoveIt and countless robotics applications
  • MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
  • PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX

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