• 大小: 5KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-02-01
  • 语言: Matlab
  • 标签: GA  

资源简介

采用栅格对机器人的工作空间进行划分,再利用优化算法对机器人路径优化,是采用智能算法求最优路径的一个经典问题。目前,采用蚁群算法在栅格地图上进行路径优化取得比较好的效果,而利用遗传算法在栅格地图上进行路径优化在算法显得更加难以实现。

利用遗传算法处理栅格地图的机器人路径规划的难点主要包括: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


评论

共有 条评论