VFH* Real Time Navigation Simulator on the Q

As an initial step in my latest robotics project I decided to try to implement Borenstein's VFH* Obstacle Avoidance and Navigation algorithm without using ROS2. As a start for those that don't know

  • VFH+ builds a polar histogram of obstacle density and selects safe steering gaps using thresholds and robot geometry.
  • It smooths motion with a cost function balancing goal direction, turning effort, and continuity.
  • VFH* takes VFH+ candidate directions and evaluates short look‑ahead trajectories using an A*-style search.
  • This lets it avoid local minima and dead‑ends that purely reactive methods fall into.
  • In short: VFH+ = smart local avoidance; VFH* = VFH+ with predictive look‑ahead planning.

Refs:

  1. The vector field histogram-fast obstacle avoidance for mobile robots - Robotics and Automation, IEEE Transactions on
  2. VFH+: reliable obstacle avoidance for fast mobile robots
  3. https://www.researchgate.net/publication/2454908_VFH_Local_Obstacle_Avoidance_with_Look-Ahead_Verification?__cf_chl_tk=NKiC8tR5cdcBct.60qlsfb6RdxllFiVd3YSAMhbMauE-1774958235-1.0.1.1-gKYJpv7WFnnkUj5vudsKFk7oEL8RagzWuhB0F5CSgi0

The VFH Real‑Time Navigation Simulator* is an interactive Streamlit‑based tool for visualizing and debugging robot navigation using:

  • VFH+ (Vector Field Histogram Plus)
  • VFH* (search‑based extension of VFH+)
  • Real‑time lidar simulation
  • Dynamic occupancy grid mapping
  • Valley detection & steering selection
  • Playback, recording, and MP4 export

It also demonstrates how to build a complex Streamlit application.

The simulator provides a sidebar where you can adjust several of the algorithm parameters


A sample screen shot of the output is shown below

A quick video of the whole simulation can be found on
VFH+/VFH* Obstacle Avoidance/Planner for Arduino Uno Q

Here is a copy of the app and a quick readme
vfh_star_simulator.zip (11.8 KB)
Simulator_readme.pdf (551.9 KB)

5 Likes

For those of you who do not like pdf
VFH Simulator.txt (5.5 KB)

Had to make the extension a txt - so just change the txt to md and you should be good to go

1 Like

Looks like you have been busy! Will have to play

1 Like