Mobile robot path planning

2 views (last 30 days)
Hi,
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?
Thanks.

Accepted Answer

Sai Bhargav Avula
Sai Bhargav Avula on 4 Nov 2019
Hi,
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);
show(prm)
% second iteration
rng(rngState);
path = findpath(prm,startLocation,endLocation);
show(prm)
This would return the same paths in both the iterations
Hope this helps!
  3 Comments
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)

Categories

Find more on Robotics System Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!