资源简介
采用栅格对机器人的工作空间进行划分,再利用优化算法对机器人路径优化,是采用智能算法求最优路径的一个经典问题。目前,采用蚁群算法在栅格地图上进行路径优化取得比较好的效果,而利用遗传算法在栅格地图上进行路径优化在算法显得更加难以实现。
利用遗传算法处理栅格地图的机器人路径规划的难点主要包括:1保证路径不间断,2保证路径不穿过障碍。
用遗传算法解决优化问题时的步骤是固定的,就是种群初始化,选择,交叉,变异,适应度计算这样,那么下面我就说一下遗传算法求栅格地图中机器人路径规划在每个步骤的问题、难点以及解决办法。
利用遗传算法处理栅格地图的机器人路径规划的难点主要包括:1保证路径不间断,2保证路径不穿过障碍。
用遗传算法解决优化问题时的步骤是固定的,就是种群初始化,选择,交叉,变异,适应度计算这样,那么下面我就说一下遗传算法求栅格地图中机器人路径规划在每个步骤的问题、难点以及解决办法。
代码片段和文件信息
% 计算路径平滑度函数
function [path_smooth] = cal_path_smooth(pop x)
[n ~] = size(pop);
path_smooth = zeros(1 n);
for i = 1 : n
single_pop = pop{i 1};
[~ m] = size(single_pop);
for j = 1 : m - 2
% 点i所在列(从左到右编号1.2.3...)
x_now = mod(single_pop(1 j) x) + 1;
% 点i所在行(从上到下编号行1.2.3...)
y_now = fix(single_pop(1 j) / x) + 1;
% 点i+1所在列、行
x_next1 = mod(single_pop(1 j + 1) x) + 1;
y_next1 = fix(single_pop(1 j + 1) / x) + 1;
% 点i+2所在列、行
x_next2 = mod(single_pop(1 j + 2) x) + 1;
y_next2 = fix(single_pop(1 j + 2) / x) + 1;
%path_smooth(1 i) = path_smooth(1 i) + abs(atan(abs(x_now - x_next1)/abs(y_now - y_next1))-atan(abs(x_next2 - x_next1)/abs(y_next2 - y_next1)));
%a2 = (x_now - x_next1)^2 + (y_now - y_next1)^2;
%b2 = (x_next2 - x_next1)^2 + (y_next2 - y_next1)^2;
c2 = (x_now - x_next2)^2 + (y_now - y_next2)^2;
%angle = (a2 + c2 - b2) / (2 * sqrt(a2) * sqrt(c2));
if c2 < 8 && c2 > 4
path_smooth(1 i) = path_smooth(1 i) + 5;
elseif c2 <= 4 && c2 > 1
path_smooth(1 i) = path_smooth(1 i) + 30;
elseif c2 <= 1
path_smooth(1 i) = path_smooth(1 i) + 5000;
end
end
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1361 2019-01-10 14:20 GAforPathPlaning\cal_path_smooth.m
文件 749 2018-12-17 20:33 GAforPathPlaning\cal_path_value.m
文件 1014 2019-01-10 16:10 GAforPathPlaning\crossover.m
文件 335 2019-01-10 16:08 GAforPathPlaning\DrawMap.m
文件 3632 2018-12-17 21:20 GAforPathPlaning\generate_continuous_path.m
文件 4401 2019-01-10 14:18 GAforPathPlaning\main.m
文件 1257 2018-12-17 21:34 GAforPathPlaning\mutation.m
文件 566 2018-12-17 15:23 GAforPathPlaning\selection.m
目录 0 2019-01-12 10:53 GAforPathPlaning
----------- --------- ---------- ----- ----
13315 9
相关资源
- 基于FPGA分布式算法FIR滤波器verilog代码
- 多种群遗传算法的函数优化算法(源
- 遗传算法GA车间调度Matlab代码
- 数字滤波器的MATLAB与FPGA实现——杜勇
- 基于FPGA的自适应滤波器的实现
- gaze-text-detection-master
- 2维FFT的FPGA实现
- 步态识别源码
- 基于Matlab和FPGA的FIR数字滤波器设计及
- 蚁群优化SVM系数
- Modelling.the.Wireless.Propagation.Channel.A.s
- Gabor滤波后的GIST特征提取matlab代码
- MATLAB设计FPGA实现联合ISE和Modelsim仿真
- GA算法求最大值
- 完整的BP-Adaboost-GA自己整理的,包含数
- 遗传算法优化支持向量机GASVM
- 近邻传播聚类算法及matlab API
- gabor提取图像特征原理及其matlab实现
- 遗传算法工具箱
- 基于FPGA与MATLAB的fir滤波器实现Verilo
- FPGA实现ROM存储图片的VGA显示
- FSK调制FPGA实现
- dace.rar+Kriging+surrogate model
- LDPC编译码器Matlab代码及参考资料
- 关于在FPGA上建立SOPC的教程
- GA算法解决TSP问题(超完整版)(ma
- Gabor二维滤波器——最全
- Matlab编写NSGA-Ⅱ
- Matlab的Garch工具箱
- 超完整规范的多目标遗传优化算法M
评论
共有 条评论