Open Source Robotics

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

Foothold Planning

  • También llamado: footstep planning, foothold selection
  • Categoría: Control › Locomotion control
  • Etiquetas: legged-locomotion, motion-planning, terrain, contact-planning, quadrupeds

Elegir dónde aterrizará cada pie de un robot con patas, usando datos del terreno y la dinámica del robot, para que cada paso sea estable, alcanzable y seguro.

Definición

Planificación de puntos de apoyo (foothold planning) es el problema de seleccionar las ubicaciones de contacto de los pies de un robot con patas. Un buen punto de apoyo está sobre suelo firme, razonablemente plano y con suficiente fricción, lejos de bordes y agujeros, al alcance de la pata desde la posición planificada del cuerpo y es compatible con mantener el robot en equilibrio durante el paso. En los bípedos el problema suele llamarse planificación de pisadas (footstep planning) e incluye la orientación de cada pie; en los cuadrúpedos suele tratarse de la posición de cada pie dentro de una secuencia de marcha.

Los sistemas clásicos dividen la locomoción en capas. La percepción construye un mapa de elevación, el análisis del terreno puntúa cada celda según la pendiente, la rugosidad y la distancia a los bordes, el planificador de puntos de apoyo elige celdas y un controlador de nivel inferior planifica el movimiento del cuerpo y las trayectorias de balanceo que llegan a ellas. Los métodos de planificación habituales incluyen ajustar un punto de apoyo nominal, dado por una heurística como la regla de Raibert, a la celda cercana mejor puntuada; la búsqueda en grafos sobre secuencias de pisadas discretas; y la optimización, como los programas enteros mixtos que asignan cada pisada a una de varias regiones seguras convexas. Algunos planificadores optimizan a la vez los puntos de apoyo y el movimiento del cuerpo para que la alcanzabilidad y el equilibrio dinámico se traten conjuntamente.

El aprendizaje ha cambiado el panorama. Las políticas entrenadas en simulación pueden tomar muestras de altura o imágenes de profundidad en bruto y producir directamente órdenes articulares, eligiendo los puntos de apoyo de forma implícita, lo que evita errores que se acumulan entre módulos separados de cartografía, planificación y control. La planificación explícita de puntos de apoyo sigue siendo útil donde importan las garantías, la interpretabilidad o la colocación precisa, como en piedras de paso, y los sistemas híbridos usan modelos aprendidos para puntuar o proponer puntos de apoyo a un controlador basado en modelo.

Por qué importa

En terreno irregular, dónde aterriza un pie decide si el robot mantiene el equilibrio. La planificación de puntos de apoyo convierte la percepción del terreno en decisiones de contacto concretas, y que se haga de forma explícita o dentro de una política aprendida condiciona la fiabilidad con la que un robot con patas maneja escaleras, escombros y huecos.

Aplicaciones clave

  • Subida de escaleras y locomoción en terreno irregular para cuadrúpedos
  • Planificación de pisadas de humanoides en espacios abarrotados
  • Cruce de huecos y de piedras de paso
  • Robots planetarios y de inspección en terreno no estructurado
  • Referencias basadas en modelo para comparar políticas de locomoción aprendidas

En la práctica

Un cuadrúpedo que cruza un campo de piedras de paso usa un mapa de elevación construido a partir de sus cámaras de profundidad. Un filtro de terreno marca como no válidas las celdas con pendiente pronunciada, rugosidad alta o bordes cercanos. Para cada paso siguiente, el planificador parte del punto de apoyo nominal dado por la marcha y la velocidad deseada, busca en un pequeño entorno la celda válida de menor coste y comprueba que la pata puede alcanzarla desde la pose planificada del cuerpo. Los puntos de apoyo elegidos se pasan a un controlador predictivo basado en modelo que planifica el movimiento del cuerpo y las fuerzas de contacto, mientras el controlador de balanceo levanta cada pie lo suficiente para salvar los bordes de las piedras. Donde el mapa es incierto, la función de coste favorece los puntos de apoyo más cercanos al centro de cada piedra.

Ideas erróneas comunes

  • La planificación de puntos de apoyo solo sirve para una marcha lenta y estáticamente estable — los planificadores modernos manejan marchas dinámicas planificando a la vez los puntos de apoyo y el movimiento del cuerpo sobre un horizonte corto
  • Las políticas de locomoción aprendidas no eligen puntos de apoyo — siguen decidiendo dónde aterrizan los pies, pero de forma implícita a partir de la percepción y no mediante un planificador aparte
  • La celda más plana es siempre el mejor punto de apoyo — la alcanzabilidad, la distancia a los bordes, los pasos siguientes y el momento del cuerpo influyen en si un punto de apoyo es bueno

Quién debería saberlo

  • Ingenieros de locomoción con patas
  • Ingenieros de percepción que construyen mapas del terreno para robots con patas
  • Investigadores en planificación de movimiento
  • Desarrolladores de robótica humanoide

Tecnologías relacionadas

  • Mapeo de elevación (Elevation Mapping)
  • Heurística de Raibert (Raibert Heuristic)
  • Optimización convexa entera mixta (Mixed-Integer Convex Optimization)
  • Búsqueda A (A Search)
  • Control predictivo basado en modelo (Model Predictive Control)

Términos relacionados

  • Elevation Map
  • Terrain Traversability
  • Mixed-Integer Programming
  • Quadruped
  • Gait
  • Model Predictive Control

Proyectos relacionados

  • DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
  • 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
  • mink: Python inverse kinematics library built on MuJoCo supporting 20+ robot platforms
  • Ruckig: Real-time jerk-constrained time-optimal trajectory generation for robots and machines

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