-
-
Notifications
You must be signed in to change notification settings - Fork 180
Description
Description:
Vector Field Histogram (VFH) is a local obstacle avoidance algorithm for mobile robot operating in unknown or dynamic environment in real time. VFH utilizes two phases of processing: creating 2D cartesian histogram grid from ranged sensor reading (LiDAR/ultrasonic) and making 1D polar histogram which shows an object-density around the vehicle in a specific direction.
Steering commands are chosen by finding "valleys" (sectors of low obstacle density) in the polar histogram, considering the vehicle's current heading and desired direction. VFH+ is an enhanced version of the original VFH that includes trajectory look-ahead verification and cost function optimization to generate a more continuous motion.
Plan for Implementation:
- Sensor Simulation: Simulate LiDAR/range sensor data returning obstacle distances in polar coordinates
- Cartesian Histogram Grid: Build 2D occupancy grid with certainty values, updated continuously
- Polar Histogram Construction:
-
Convert Cartesian grid to 1D polar histogram around robot position
-
Apply smoothing to reduce noise and sensor uncertainty
- Candidate Direction Selection:
-
Identify sectors with obstacle density below threshold (valleys)
-
Calculate cost function considering target direction, current heading, and previous direction
- Speed Control: Implement dynamic speed adjustment based on obstacle proximity
- Trajectory Verification: Look-ahead collision checking for selected direction
- Visualization: Display histogram grid, polar histogram, selected direction, and vehicle path
Expected Outcomes:
- Real-time obstacle avoidance simulation in dynamic environments
- Smooth navigation through dense obstacle courses at speeds 0.5-0.8 m/s
- GIF animation showing vehicle avoiding static and moving obstacles
- Comparative analysis with potential field methods (VFF)
- Performance metrics: average speed, collision avoidance success rate, path smoothness
- Demonstration of superior performance in U-shaped traps and narrow passages
- Unit tests for histogram construction, direction selection, and collision prediction
Execution structure and Pre-requisite
- Pre-requisite: NumPy, Matplotlib, SciPy
- File Structure:
- main algorithm
- occupancy grid management
- 1D histogram construction
- range sensor simulation
- Parameters: Grid resolution, histogram sector size, threshold values, safety margins
- Test Scenarios: Dense obstacle field, moving obstacles, narrow corridors, dead-end situations
- Advantages: Fast computation, real-time capable, handles sensor uncertainty well
- Limitations: Local planner only (no global optimality), may get stuck in local minima
- Integration: Can be combined with global planner (like Hybrid A*) for hierarchical planning