多种蚁群算法在机器人路径规划中的应用及其在MATLAB中GUI展示(完整代码)

月下花弄影 2018-10-21 02:47:41
本人研究生期间主要研究蚁群算法及其在机器人路径规划中的应用。
本代码是为了在上课时画出一个图形来比较不同种类的蚁群算法,主要包裹ACS,MMAS,EAS等经典的蚁群算法,最后还包括本人提出的另一种算法。
本代码已经成功申请了软件著作权(因此请注意:本代码具有版权
软件环境主要是MATLAB(2016B及其以上)下的GUI。
主要功能有:
1、比较不同算法在不同栅格环境下的运行情况,(栅格环境可以自行设计)
2、观察实验结果,包括迭代曲线和运行多次的平均值。可以直接观察算法本身的鲁棒性。
3、代码设计非常模块化,可以同时学习多种蚁群算法。
下载地址:https://download.csdn.net/download/qq_27261889/10735012

使用截图如下:
...全文
1430 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
淋漓墨香 2020-10-16
  • 打赏
  • 举报
回复
您好,请问一下您这个软件里面有和您论文中提出来的异构双种群的代码嘛?因为我最近想写一个同构的多种群代码,所以想借鉴一下您的代码。期待您的恢复!
  • 打赏
  • 举报
回复
你好,请问怎么设置路径与障碍物之间的距离啊,我想路径与障碍物之间有点距离,而不是挨着。谢谢回复~
月下花弄影 2019-12-30
  • 打赏
  • 举报
回复
引用 35 楼 hei-糖果 的回复:
你好,请问怎么设置路径与障碍物之间的距离啊,我想路径与障碍物之间有点距离,而不是挨着。谢谢回复~
我的的代码里面无法设置这个约束条件,你得自己弄
月下花弄影 2019-12-30
  • 打赏
  • 举报
回复
引用 34 楼 qq_44861403 的回复:
请问有没有多机器人路径规划的代码?
没有。你得自己去弄了。
qq_44861403 2019-11-18
  • 打赏
  • 举报
回复
请问有没有多机器人路径规划的代码?
jealousyd 2019-08-27
  • 打赏
  • 举报
回复
不好意思 问题解决了
jealousyd 2019-08-27
  • 打赏
  • 举报
回复
跟26楼一样 一运行就错 gui是出来了 障碍物调用不出来
>> main_GUI_xu
错误使用 cd
无法将目录改变为 barrier (Name is nonexistent or not a directory)。

出错 init_all (line 11)
cd('barrier')

出错 main_GUI_xu>main_GUI_xu_OpeningFcn (line 63)
init_all(handles)

出错 gui_mainfcn (line 220)
feval(gui_State.gui_OpeningFcn, gui_hFigure, [], guidata(gui_hFigure), varargin{:});

出错 main_GUI_xu (line 42)
gui_mainfcn(gui_State, varargin{:});
出错
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)main_GUI_xu('pushbutton13_Callback',hObject,eventdata,guidata(hObject))
计算 UIControl Callback 时出错。
F了。。 2019-07-06
  • 打赏
  • 举报
回复
引用 29 楼 月下花弄影 的回复:
[quote=引用 28 楼 F了。。 的回复:]


为什么在每一个算法中都用上图的转移规则,轮盘阈值不是ACS特有的伪随机比例规则吗


据我回忆,这个算法就是所谓的伪随机。
因为当时我看到这个代码也觉得不是,后来有一次就顿悟了。你可以把每一行代码都看看。
至于具体对不对,我比较确信它是对的。[/quote]

对的,上面的代码是伪随机比例规则。
但是我看论文只有ACS,ACO在转移规则中用到伪随机规则,别的算法并没有,是直接使用轮盘赌方式。
而你的全部算法代码(包括AS,EAS)都用这种转移规则,那是不是有点问题。
月下花弄影 2019-07-06
  • 打赏
  • 举报
回复
引用 30 楼 F了。。 的回复:
[quote=引用 29 楼 月下花弄影 的回复:]
[quote=引用 28 楼 F了。。 的回复:]


为什么在每一个算法中都用上图的转移规则,轮盘阈值不是ACS特有的伪随机比例规则吗


据我回忆,这个算法就是所谓的伪随机。
因为当时我看到这个代码也觉得不是,后来有一次就顿悟了。你可以把每一行代码都看看。
至于具体对不对,我比较确信它是对的。[/quote]

对的,上面的代码是伪随机比例规则。
但是我看论文只有ACS,ACO在转移规则中用到伪随机规则,别的算法并没有,是直接使用轮盘赌方式。
而你的全部算法代码(包括AS,EAS)都用这种转移规则,那是不是有点问题。
[/quote]

AS和EAS好像确实不用,因为记忆中这个实在ACS中才提出的。
从这个角度来说,你可以认为程序本身有问题。
不过,加上这个对AS和EAS有好处还是没好处? 个人认为对比较结果没有太大影响。
月下花弄影 2019-07-05
  • 打赏
  • 举报
回复
引用 28 楼 F了。。 的回复:


为什么在每一个算法中都用上图的转移规则,轮盘阈值不是ACS特有的伪随机比例规则吗


据我回忆,这个算法就是所谓的伪随机。
因为当时我看到这个代码也觉得不是,后来有一次就顿悟了。你可以把每一行代码都看看。
至于具体对不对,我比较确信它是对的。
F了。。 2019-07-05
  • 打赏
  • 举报
回复


为什么在每一个算法中都用上图的转移规则,轮盘阈值不是ACS特有的伪随机比例规则吗
月下花弄影 2019-05-06
  • 打赏
  • 举报
回复
引用 26 楼 weixin_43695894 的回复:

为什么我每次点击障碍物设置的时候就会报这个错误呢~

先点击设计障碍物,然后再设计障碍物
  • 打赏
  • 举报
回复

为什么我每次点击障碍物设置的时候就会报这个错误呢~
月下花弄影 2019-04-03
  • 打赏
  • 举报
回复
引用 22 楼 weixin_44845821 的回复:

就是这组图里面拿红线画出来的,想知道它是用哪组代码仿真出来的?本文指的算法好像你这组代码合集里面没有,谢谢大神,拜托拜托


这个结果就是程序里面的 ACO算法,你可以进ACO.m文件看源码。初始论文你可以看:基于统计分析的自适应蚁群算法及应用,这篇文章。
图是matlab自动画的。你直接运行ACO算法,就可以得到完全一样的结果了。记得选好不同的地图模型。
1234567yyy=== 2019-04-03
  • 打赏
  • 举报
回复

就是这组图里面拿红线画出来的,想知道它是用哪组代码仿真出来的?本文指的算法好像你这组代码合集里面没有,谢谢大神,拜托拜托
月下花弄影 2019-04-03
  • 打赏
  • 举报
回复
引用 20 楼 weixin_44845821 的回复:
大神,压缩包里的毕业论文最后的对比图上最大熵的自适应算法路线是怎么得出来的?


不知道你说那幅图?
有的话也就是这个程序得来的。
目前这个程序在障碍物不多的情况下还行,但不是那么稳健,也不是最优。还需要进一步提高
月下花弄影 2019-04-03
  • 打赏
  • 举报
回复
引用 24 楼 weixin_44845821 的回复:

大神,我用你的代码运行了一遍,一点都没改,为什么结果是这样的


这个代码你运行了很多次,统计表中有每次的统计值,你看看统计值。整体上来说,ACO会比ACS好。

右下角也可以选择想要显示的第几次实验结果。

注意看统计值吧。

另外,蚁群算法并不是确定的,每次运行结果并不一定相同。
1234567yyy=== 2019-04-03
  • 打赏
  • 举报
回复

大神,我用你的代码运行了一遍,一点都没改,为什么结果是这样的
1234567yyy=== 2019-04-02
  • 打赏
  • 举报
回复
大神,压缩包里的毕业论文最后的对比图上最大熵的自适应算法路线是怎么得出来的?
月下花弄影 2019-03-07
  • 打赏
  • 举报
回复
引用 18 楼 mR_won_derful 的回复:
您好,想请问一下,您的软件运行后的那些路径规划图、迭代曲线图等点保存的时候为何报错保存不了?


你去下载完整版的,你这里可能缺少一个主文件吧。

另外,先运行main.m文件,然后出来一个界面,然后在界面上运行。

程序本身已经是完整版的,除了版本可能有问题,应该没其他问题。
加载更多回复(18)

3,422

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧