En robótica , el Histograma de Campo Vectorial (VFH) es un algoritmo de planificación de movimiento en tiempo real propuesto por Johann Borenstein y Yoram Koren en 1991. [ 1 ] El VFH utiliza una representación estadística del entorno del robot a través de la denominada cuadrícula de histograma, y por lo tanto pone gran énfasis en el manejo de la incertidumbre derivada de los errores de los sensores y del modelado. A diferencia de otros algoritmos de evitación de obstáculos, el VFH tiene en cuenta la dinámica y la forma del robot, y devuelve comandos de dirección específicos para la plataforma. Si bien se considera un planificador de trayectoria local, es decir, no diseñado para la optimización global de la trayectoria, se ha demostrado que el VFH produce trayectorias casi óptimas.
El algoritmo VFH original se basó en trabajos previos sobre Virtual Force Field , un algoritmo de planificación de trayectorias local. VFH fue actualizado en 1998 por Iwan Ulrich y Johann Borenstein , y renombrado como VFH+ (extraoficialmente "Enhanced VFH"). [ 2 ] El enfoque fue actualizado nuevamente en 2000 por Ulrich y Borenstein, y renombrado como VFH*. [ 3 ] VFH es actualmente uno de los planificadores locales más populares utilizados en robótica móvil, compitiendo con el enfoque de ventana dinámica desarrollado posteriormente . Muchas herramientas de desarrollo robótico y entornos de simulación contienen soporte integrado para VFH, como en el Player Project . [ 4 ]
VFH
El histograma de campo vectorial (VFH) se desarrolló con el objetivo de ser computacionalmente eficiente, robusto e insensible a errores de lectura. En la práctica, el algoritmo VFH ha demostrado ser rápido y fiable, especialmente al recorrer circuitos de obstáculos densamente poblados.
El algoritmo VFH se basa en la representación estadística de obstáculos mediante cuadrículas de histogramas (véase también cuadrícula de ocupación ). Esta representación resulta idónea para datos de sensores imprecisos y permite la fusión de múltiples lecturas de sensores.
El algoritmo VFH consta de tres componentes principales:
- Cuadrícula de histograma cartesiano: se construye una cuadrícula de histograma cartesiano bidimensional con los sensores de distancia del robot, como un sonar o un telémetro láser . La cuadrícula se actualiza continuamente en tiempo real.
- Histograma polar: se construye un histograma polar unidimensional reduciendo el histograma cartesiano alrededor de la ubicación instantánea del robot.
- Valle candidato: se seleccionan sectores consecutivos con una densidad de obstáculos polares inferior al umbral, conocidos como valles candidatos, en función de su proximidad a la dirección objetivo.
Una vez determinado el centro de la dirección candidata seleccionada, la orientación del robot se ajusta para que coincida. La velocidad del robot se reduce al aproximarse a obstáculos de frente.
VFH+
Las mejoras del algoritmo VFH+ incluyen:
- Histéresis de umbral: la histéresis aumenta la suavidad de la trayectoria planificada.
- Tamaño del cuerpo del robot: se tienen en cuenta robots de diferentes tamaños, lo que elimina la necesidad de ajustar manualmente los parámetros mediante filtros de paso bajo .
- Anticipación de obstáculos: en VFH+, los sectores bloqueados por obstáculos se enmascaran para que el ángulo de dirección no se dirija hacia un obstáculo.
- Función de coste: se añadió una función de coste para caracterizar mejor el rendimiento del algoritmo, y también ofrece la posibilidad de alternar entre diferentes comportamientos modificando la función de coste o sus parámetros.
VFH*
En agosto de 2000, Iwan Ulrich y Johann Borenstein publicaron un artículo que describía VFH*, afirmando una mejora respecto a los algoritmos VFH originales al abordar explícitamente las deficiencias de un algoritmo de planificación local, [ 5 ] ya que no se garantiza la optimalidad global. En VFH*, el algoritmo verifica la orden de dirección producida mediante el algoritmo de búsqueda A* para minimizar las funciones de coste y heurística . Si bien es simple en la práctica, se ha demostrado experimentalmente que esta verificación anticipada puede resolver con éxito situaciones problemáticas que los algoritmos VFH y VFH+ originales no pueden manejar (la trayectoria resultante es rápida y suave, sin ralentizaciones significativas en presencia de obstáculos).
Véase también
Referencias
- ↑ Borenstein, J.; Koren, Y. (1991). "El histograma del campo vectorial: evitación rápida de obstáculos para robots móviles". IEEE Transactions on Robotics and Automation . 7 (3): 278– 288. CiteSeerX 10.1.1.22.2796 . doi : 10.1109/70.88137 . S2CID 757244 .
- ↑ Ulrich, I.; Borenstein, J. (1998). "VFH+: evitación confiable de obstáculos para robots móviles rápidos". Robótica y Automatización, 1998. Actas. Conferencia Internacional IEEE de 1998 sobre . Vol. 2. CiteSeerX 10.1.1.31.5081 . doi : 10.1109/ROBOT.1998.677362 .
- ↑ Ulrich, I.; Borenstein, J. (2000). "VFH: evitación local de obstáculos con verificación anticipada". Robótica y Automatización, 2000. Actas. ICRA'00. Conferencia Internacional IEEE sobre . Vol. 3. doi : 10.1109/ROBOT.2000.846405 .
- ↑ "VFH+ en Player/Stage/Gazebo" . playerstage.sourceforge.net . Consultado el 10 de febrero de 2025 .
- ↑ "VFH*: Evitación de obstáculos locales con verificación anticipada" . Agosto de 2000. Consultado el 20 de julio de 2016 .
- Control de robots