Mobile robot path planning
7 views (last 30 days)
Show older comments
Abinav Shankar
on 30 Oct 2019
Commented: Abinav Shankar
on 10 Mar 2020
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.
- How are the nodes positioned according to mobileRobotPRM()? I found it rather random which resulted in different paths every time the program is run.
- Which algorithm is used in findPath()? I can't find it in Matlab documentation.
- 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.
0 Comments
Accepted Answer
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
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 ??
More Answers (0)
See Also
Categories
Find more on Robotics System Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!