MATLAB Answers

Mobile robot path planning

31 views (last 30 days)
I was trying out the Robotics System Toolbox and the path planning tutorial for mobile robots. I have a few questions in mind that I hope someone would be able to clarify.
  1. How are the nodes positioned according to mobileRobotPRM()? I found it rather random which resulted in different paths every time the program is run.
  2. Which algorithm is used in findPath()? I can't find it in Matlab documentation.
  3. In every iteration findPath() returns a different path for the same map, initial location and goal. It either means it's selecting a random path based on the connected nodes instead of the optimised path or its providing an optimum path but due to the random node generation by mobileRobotPRM(), the path differs everytime.
Is there a way to determine the most optimal path or atleast to get the same path every time the program is run?


Sign in to comment.

Accepted Answer

Sai Bhargav Avula
Sai Bhargav Avula on 4 Nov 2019
1. mobileRobotPRM() generates the roadmap, which is a network graph of possible paths in the map based on free and occupied spaces. Your nodes and connections might look different due to the random placement of nodes as it randomly generates nodes and creates connections between these nodes based on the PRM algorithm parameters.
2. findPath uses A* algorithm.
3. Yes, the path generated is optimal, but as said it above the node locations are randomly generated, which can affect your final path between multiple iterations. To address this you can save the random number generation settings using the rng function. An example code is given below
rngState = rng;
prm = mobileRobotPRM(map,100);
startLocation = [2 1];
endLocation = [12 10];
% first iteration
path = findpath(prm,startLocation,endLocation);
% second iteration
path = findpath(prm,startLocation,endLocation);
This would return the same paths in both the iterations
Hope this helps!


Abinav Shankar
Abinav Shankar on 4 Nov 2019
Thanks for the information.
I was testing it with range of values and figured it out.
Also I was able to acheive almost the same route everytime if the entire grid is filled with nodes at the cost of longer processing time.
Kaushal Barot
Kaushal Barot on 9 Mar 2020
hello,I have to write program in Matlab for four wheel mobile robot front wheel drive.From where I should start and how ??
Abinav Shankar
Abinav Shankar on 10 Mar 2020
There are several Matlab toolboxes related to Robotics. You can install them and follow their tutorial. Most of them have a live script example that should be easy to follow.

Sign in to comment.

More Answers (0)

Translated by