Skip to content

Nova-UTD/path_planner_visualization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Path Planner Visualization

A comprehensive toolkit for visualizing and comparing different path planning algorithms, including Dijkstra, ARA*, Dynamic Programming, TRRT*, and Neural Network approaches. This repository contains a Streamlit web application for interactive path planning and a path labeling tool for generating training data for neural network models.

Features

  • Interactive visualization of multiple path planning algorithms
  • Real-time parameter adjustment and comparison
  • Neural network-based path planning with pre-trained model
  • Path labeling tool for generating training data
  • Costmap upload and processing

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/path_planner_visualization.git
    cd path_planner_visualization
  2. Install the required dependencies:

    pip install -r requirements.txt

Streamlit App Usage

The Streamlit app provides an interactive interface for visualizing and comparing different path planning algorithms.

Running the App

cd Streamlit-app
streamlit run main.py

This will start the Streamlit server and open the app in your default web browser.

App Navigation

  1. Costmap Upload Center (Home Page)

    • Upload a costmap image (grayscale or color)
    • View costmap information and histogram
    • The uploaded costmap will be available to all path planning algorithms
  2. Path Planning Algorithms

    • Navigate to different algorithms using the sidebar
    • Available algorithms:
      • Dijkstra Path Planner
      • ARA* Path Planner
      • Dynamic Programming Path Planner
      • RRT* Path Planner
      • Neural Network Path Planner
      • Visualization (for comparing algorithms)

Using Path Planning Pages

Each algorithm page follows a similar workflow:

  1. Parameter Adjustment

    • Set obstacle threshold (determines what pixel values are considered obstacles)
    • Adjust obstacle padding (expands obstacles for safety)
    • Configure algorithm-specific parameters
  2. Point Selection

    • Select start and end points using the coordinate grid
    • Preview selected points on the costmap
  3. Path Finding

    • Click "Find Path" to run the algorithm
    • View the resulting path overlaid on the costmap
    • See computation time and path statistics
    • Download path coordinates if needed

Neural Network Path Planner

The Neural Network path planner uses a pre-trained U-Net model to predict paths. The model has been trained on costmaps and optimal paths generated using the path labeling tool.

Path Labeling Tool

The path labeling tool allows you to annotate costmap images with start and end points to generate training data for neural network models.

Running the Tool

python path_label.py

Tool Usage

  1. Configuration

    • Before running, update the costmap_dir and output_file paths in the main() function
    • The tool will look for costmap images with names starting with "map_" and ending with ".png"
  2. Labeling Process

    • The tool displays costmap images one by one
    • Click on the image to set points:
      • First click: Set start point (green)
      • Second click: Set end point (red)
      • Third click: Reset points and set new start point
    • Use navigation buttons:
      • Previous: Go to the previous image
      • Next: Go to the next image
      • Save: Save all annotations to CSV
      • Skip: Skip the current image without saving
  3. Output

    • Annotations are saved to a CSV file with columns:
      • costmap: Image filename
      • start_x/y: Start coordinates
      • end_x/y: End coordinates
    • This data can be used to train the neural network model

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages