The probabilistic roadmap planner (PRM) is a motion planning algorithm in robotics
used to determine a path between start and goal configurations of a robot, while
avoiding collisions. In this project, an obstacle-based probabilistic roadmap planner
(OBPRM) is used to create a motion planner for a 2D robot that is able to translate
and rotate freely.
$ make
$ ./pathplanning -r <num-of-robot-vertices> -o <num-of-obstacles> | -i <csv-input-file>
-r: Number of robot vertices
-o: Number of obstacles
-f: Full screen
-i: CSV input file
-n: Number of nodes in PRM graph
-d: Minimum distance between PRM nodes
Example:
# Input CSV file
$./pathplanning -i inputconfig.xml
# For a triangle robot with 5 obstacles in full screen workspace with 500 nodes in PRM
$./pathplanning -r 3 -o 5 -f -n 500
For rendering images, please install SFML library.
$ sudo apt-get install libsfml-dev
$ ./pathplanning -i tests/configs/narrowbottomconfig.xml
$ ./pathplanning -i tests/configs/narrowuconfig.xml