Skip to content

matanSamina/RRT_Project_2021

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Voronoi + A* + RRT

This repository is a part of an assignment in Robot's Control and Navigation Course (2021 Semester B).

Paper

Optimal Path Planning Using Generalized Voronoi Graph and Multiple Potential Functions

Structure

The main parts of code are located in /src directory.

a_star.py - our simple and generic implementation of A*. More explanation about the A* implementation can be found in this repository.

RRT.py - our simple and generic implementation of RRT. More explanation about the RRT implementation can be also found in this repository.

main_find_path.py - the main flow of path planning. The file contains ROS node that responsible to build a path for robot.

Simulation

We worked with TurtleBot3 robot, Gazebo simulation and Rviz.

TurtleBot3 Rviz
Gazebo (1) Gazebo (2)

Main Logic of The Algorithm

Voronoi Graph

We used tuw_voronoi_graph package to create Voronoi graph. Then, we transferred it to x, y coordinates.

Map Graph

A* Path

Next, we used a_star.py package to create the shortest path inside Voronoi graph.

Graph Graph with path

MPF Distribution

We used MPFsampling() function inside main_find_path.py to create the proper distribution that we will use during RRT sampling process.

Graph with path Distribution around this path

RRT algorithm

Then, we used RRT.py to find the desired path to the target using RRT sampling process with a given MPF distribution.

Distribution around this path RRT solution

Movement

And finally, we used move2() method inside main_find_path.py to navigate robot through the found path.

Improvement Suggestions

The proposed algorithm can be conveniently implemented on plethora kinds of robots. The calculations do not demand many resources. Easy to understand basic principles.

As an improvements of our implementation, we can suggest:

  • Tuning step size ( the length of a branch in RRT) – it is apple to speed up the convergence
  • Tuning sampling parameters – better distribution approximation can increase convergence as well
  • Adding robot constrains – consider dynamics of a specific robot

Credits

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published