基于先验完全信息的全局路径规划
局部路径规划 - http://blog.csdn.net/birdy_/article/details/77453638
姿态空间离散
行车图法:在自由空间中构建连通网络
在图中用直线连接所有特定点,删除会发生碰撞的,在余下的路线中求出合理的解
根据生成点的方式不同可以分为
可视图法
所有障碍物的顶点
Voronoi diagram
障碍物之间的中间点
http://www.cnblogs.com/Seiyagoo/p/3339886.html
这个没想明白因为不知道对于点到障碍物的距离是怎么确定的,而且只管感觉运算量非常大
随机投点法
随机在可运行范围内投点
投点数量需要根据情况确定
http://blog.csdn.net/leo_xu06/article/details/51222760
http://cn.mathworks.com/help/robotics/examples/path-planning-in-environments-of-different-complexity.html?requestedDomain=cn.mathworks.com
单元分解法
区分空闲单元和被占单元
精确单元分解
近似单元分解
栅格表示法
四叉树表示法
势场法
对空间施加虚拟力
目标点对移动机器人产生“引力”,障碍物对移动机器人产生“斥力”,最后通过求合力来控制移动机器人的运动
路径规划
精确算法:生成精确的最优解
– 深度优先法、广度优先法(也称为Dijkstra算法)
近似算法
– 启发式搜索算法:
• A*, D*, Focused D*等
– 准启发式搜索算法:
(尴尬的是这一块的基础示例基本都是TSP)
模拟退火SA
http://www.cnblogs.com/ranjiewen/p/6084052.html
了解可以这个,C++代码
http://blog.csdn.net/yelbosh/article/details/8558020
matlab代码,不过问题阐述有点乱
遗传算法
http://www.cnblogs.com/heaad/archive/2010/12/23/1914725.html
码是C#(= =)
蚁群算法ACO
http://blog.csdn.net/lyp2003ok/article/details/3706247
这份代码的注释有一些不明确的地方但思路上有蛮多可以借鉴的(又是TSP)
这里的启发式体现着在一个是查找下一个距离的时候概率分布会按照距离和信息素的量,另一个是更新信息素的时候信息素的量与目标函数(距离)有关。
如果用在栅格化的地图上是不是还会与所花时间有关。路程越短就是时间越短,信息素更新速度越快。
粒子群优化算法PSO
http://www.cnblogs.com/maybe2030/p/5043356.html
借助一个TSP算法给出了分析和matlab代码
这里的操作是:
- 与个体最优进行交叉
- 与全体最优进行交叉
- 变异操作
第一反应是这和遗传的基本概念差不多(交叉、变异),就是对象差别(一个是和最优情况,一个是和种群内其他个体,是否有记忆),也算是对TSP一种新的理解吧(不过感觉最合适PSO的应该还是在连续性的问题上?也从有人对PSO的定义里感觉这个例子的交叉和变异不能完全和PSO的情况等同)。
http://www.cnblogs.com/tiandsp/p/3157483.html
这个例子(求最值)比符合对PSO的认知
路径成本的计算
• 欧式距离(2-norm距离)
• 曼哈顿距离(Manhattan distance, Block
distance, 1-norm距离,L1 distance)
• 切比雪夫距离(Chebychev distance, infinity
norm距离)
• 明可夫斯基距离(Minkowski距离)
http://blog.csdn.net/shiwei408/article/details/7602324