how can i use particle swarm optimisation algorithm for to find optimal path interms of shortest distance between start and goal point to be followed by mobile robot?
1 次查看(过去 30 天)
显示 更早的评论
I have shown my working environment in the image. In this image, the circular object considered as a obstacle. The white line considered as path for mobile robot. The mobile robot is move with interpolate the nodes (shown as red small circle). In this image, totally 14 nodes (co-ordinate points) are there. Among that i consider a start and goal point and it has various path between start and goal point. How can i find optimal path without hitting obstacle using particle swarm optimisation. The co-ordinate points of nodes (interms of pixels) are (135,137),(295,137),(510,146),(678,152),(139,287),(211,323),(298,237),(403,278),(509,233),(678,298),(591,336),(579,396),(402,402).
0 个评论
回答(2 个)
Walter Roberson
2016-1-8
This is a Shortest Path or Traveling Salesman problem.
5 个评论
Walter Roberson
2016-4-7
For the alternative approaches, see http://www.mathworks.com/matlabcentral/fileexchange/?term=tag%3A%22tsp%22
At the TSP level, you do not need to worry about constraints about traveling through a point. If there is an obstacle between two points, do not connect them in the adjacency matrix.
NN = 14;
edges = [1 2
1 5
2 3
2 7
3 4
3 9
4 11
5 6
6 7
6 12
7 8
8 9
8 13
9 10
10 11
10 14
12 13
13 14];
adj = zeros(NN, NN);
adj( (edges(:,2) - 1) * NN + edges(:,1) ) = 1;
adj( (edges(:,1) - 1) * NN + edges(:,2) ) = 1;
Now adj is your adjacency matrix. For TSP purposes you will probably want to use a distance matrix.
Possibly when you said "in this matlab code, there is no constraints for traveling through a points" perhaps you were referring to the link I posted about constrained PSO. That was only for the case where you were starting without the white paths. Myself, I would not use PSO for that at all, as there are deterministic solutions.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Particle Swarm 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!