✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

⛄ 内容介绍

路径规划作为移动机器人导航系统的核心,在生活服务导航,外星球探索,无人驾驶,水下探索等诸多领域有着不可或缺的作用,解决了在已知起点和终点的情况下"怎么去"的问题.路径规划经历了从环境已知到环境未知,简单环境到复杂环境,小地图到大地图,简单人工智能向高级人工智能的发展.目前路径规划领域中针对未知环境下的移动机器人路径规划的研究尚未形成体系.尤其在大地图和复杂环境下,传统人工智能路径规划方法采用高分辨率地图表示环境,规划存在着盲目性,复杂性以及规划耗时等缺点.

⛄ 部分代码

function successors=explore_successors(x_cell,y_cell,h,x_target,y_target,in_valid,max_x,max_y)

    successors=[];

    successor_count=1;

    c2=size(in_valid,1);

    for k= 1:-1:-1

        for j= 1:-1:-1

            if (k~=j || k~=0)  %The node itself is not its successor

                s_x = x_cell+k;

                s_y = y_cell+j;

                if( (s_x >0 && s_x <=max_x) && (s_y >0 && s_y <=max_y)) % successor within the matrix

                    flag=1;                    

                    for c1=1:c2

                        if(s_x == in_valid(c1,1) && s_y == in_valid(c1,2)) % successor not an obstacle or already visited

                            flag=0;

                        end;

                    end;

                    if (flag == 1)

                        successors(successor_count,1) = s_x;

                        successors(successor_count,2) = s_y;

                        successors(successor_count,3) = h+distance(x_cell,y_cell,s_x,s_y);%h

                        successors(successor_count,4) = distance(x_target,y_target,s_x,s_y);%g

                        successors(successor_count,5) = successors(successor_count,3)+successors(successor_count,4);%f

                        successor_count=successor_count+1;

                    end

                end

            end

        end

    end

⛄ 运行结果

⛄ 参考文献

[1]王帅军. 基于D~*算法的移动机器人路径规划. Diss. 广西大学.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料