Mobile robot path planning

3 ビュー (過去 30 日間)
Abinav Shankar
Abinav Shankar 2019 年 10 月 30 日
コメント済み: Abinav Shankar 2020 年 3 月 10 日
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.

採用された回答

Sai Bhargav Avula
Sai Bhargav Avula 2019 年 11 月 4 日
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 件のコメント
Kaushal Barot
Kaushal Barot 2020 年 3 月 9 日
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 2020 年 3 月 10 日
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.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeRobotics System Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by