Open Source Robotics

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

Axis-Aligned Bounding Box

  • También llamado: AABB
  • Categoría: Planning & manipulation › Motion planning
  • Etiquetas: collision-detection, computational-geometry, motion-planning, bounding-volume, simulation

La caja más pequeña con aristas paralelas a los ejes de coordenadas de un sistema elegido que encierra un objeto, almacenada como sus esquinas mínima y máxima y usada para pruebas rápidas de solapamiento y de distancia.

Definición

Una caja delimitadora alineada con los ejes (axis-aligned bounding box, AABB) es una caja que encierra un objeto y cuyas caras son paralelas a los ejes de un sistema de coordenadas elegido. En 3D queda descrita por completo con seis números: los valores mínimo y máximo de x, y y z del objeto o, de forma equivalente, un centro y tres semiextensiones. En 2D es un rectángulo, y las cajas que dibujan la mayoría de los detectores de objetos en imágenes son AABB en coordenadas de píxel.

El valor de una AABB es que las pruebas sobre ella son muy baratas. Dos AABB se solapan solo si sus intervalos se solapan en todos los ejes, lo que requiere un puñado de comparaciones. La distancia entre dos cajas se obtiene calculando, en cada eje, el hueco entre los intervalos (cero si se solapan) y tomando la norma euclídea de los tres huecos. Por eso, las AABB son la primera etapa estándar de la detección de colisiones: los motores de física y las bibliotecas de colisiones las usan en la fase amplia (broad phase), a menudo organizadas en un árbol llamado jerarquía de volúmenes envolventes, para descartar los pares de objetos que no pueden estar en contacto antes de ejecutar pruebas exactas sobre los pares restantes.

El precio es un ajuste holgado. Una AABB se define respecto a un sistema de coordenadas, así que cuando un objeto gira hay que recalcular su AABB en el sistema del mundo, y en general crece; una herramienta larga y delgada sostenida a 45 grados tiene una caja mucho mayor que la propia herramienta. Por tanto, las pruebas sobre AABB son conservadoras: si dos cajas no se solapan, los objetos tampoco, pero que las cajas se solapen no demuestra que haya contacto, y la distancia entre cajas es una cota inferior de la distancia real. Las cajas delimitadoras orientadas (OBB), las esferas envolventes, las cápsulas, las envolventes convexas y los campos de distancia con signo dan respuestas más ajustadas a un coste mayor.

Por qué importa

Las AABB son el sustituto geométrico más barato para la comprobación de colisiones, los límites del espacio de trabajo y las consultas espaciales, y aparecen en casi todos los planificadores de movimiento, simuladores y pipelines de percepción. Saber que son conservadoras y dependientes del sistema de coordenadas explica tanto por qué se usan tanto como por qué las comprobaciones basadas en ellas pueden informar de colisiones falsas o sobrestimar lo cerca que están dos objetos.

Aplicaciones clave

  • Detección de colisiones en fase amplia en simuladores y planificadores de movimiento
  • Jerarquías de volúmenes envolventes para consultas rápidas de distancia y de rayos
  • Recorte de nubes de puntos a una región de interés o al espacio de trabajo
  • Cajas de detección de objetos 2D en imágenes
  • Comprobaciones rápidas de holgura en programas y trayectorias de robot generados

En la práctica

Una herramienta que comprueba programas de robot generados por un modelo de lenguaje recorre uno a uno los puntos de paso planificados. En cada uno, transforma la malla de colisión de la pinza al sistema de coordenadas del mundo, calcula su AABB a partir de las coordenadas mínima y máxima de los vértices y calcula la distancia a la AABB de cada objeto que hay sobre la mesa. Cualquier punto de paso en el que la distancia baje de un umbral de holgura se señala junto con el objeto implicado, para que el programa pueda revisarse. Como las cajas son conservadoras, una pinza girada que pase cerca de una botella alta puede señalarse aunque haya sitio; en los casos señalados, la herramienta recurre a una consulta exacta de distancia entre mallas en una biblioteca de colisiones antes de informar de un problema real.

Ideas erróneas comunes

  • Que las AABB se solapen significa que los objetos chocan — el solapamiento solo indica que el contacto es posible; hace falta una prueba exacta para confirmarlo
  • Una AABB es una propiedad fija de un objeto — depende del sistema de coordenadas y de la orientación del objeto, y debe recalcularse cuando el objeto gira
  • La distancia entre AABB es la distancia real entre los objetos — es una cota inferior, a menudo mucho menor que la separación real en formas giradas o irregulares
  • Cualquier caja alrededor de un objeto es una AABB — una caja alineada con los ejes principales del propio objeto es una caja delimitadora orientada (OBB)

Quién debería saberlo

  • Ingenieros de planificación de movimiento y comprobación de colisiones
  • Desarrolladores de simulación y de física para videojuegos
  • Ingenieros de percepción que trabajan con nubes de puntos y detecciones
  • Desarrolladores de herramientas de verificación de programas para robots

Tecnologías relacionadas

  • Caja delimitadora orientada (Oriented Bounding Box)
  • Jerarquía de volúmenes envolventes (Bounding Volume Hierarchy)
  • Flexible Collision Library (FCL)
  • Algoritmo de distancia GJK (GJK Distance Algorithm)
  • Sweep and Prune
  • Bullet Physics

Términos relacionados

  • Obstacle Avoidance
  • Motion Planning
  • Signed Distance Field
  • Octree
  • Point Cloud
  • End-User Robot Programming

Proyectos relacionados

  • GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
  • RLinf: Scalable infrastructure for post-training foundation models via RL
  • Webots: Cross-platform robot simulator with built-in models, sensors, and development environment
  • NVIDIA Isaac Sim: NVIDIA Omniverse app for AI-driven robot simulation and testing

Vídeos

  • COMP4300 - Game Programming - Lecture 08 - Collision Detection & AABB: Dave Churchill

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