多无人机任务分配与路径规划算法学习(一)

本文是阅读“多无人机任务分配与路径规划算法研究_丁家如”文献的学习记录。

记录的第一部分是有关任务分配的知识,各种模型的建立就放到下次来写。

一.多无人机任务分配的本质

        目前阅读的文献不多,所以对无人机协同任务分配问题看作为多目标优化的问题

二.任务分配数学模型

        采用二维建模,需要设置无人机的约束条件,估计无人机执行各个任务需要付出的代价及其收益(这两部分均有对应的代价函数和收益函数来进行计算,最后用适应度函数来进行评加)。

三.任务分配算法

1.匈牙利算法

        本算法解析参考文章来源于https://blog.csdn.net/u013384984/article/details/90718287

        上面的链接是对算法的定义和过程的讲解十分通俗,而下面这个链接将算法的原理讲述的更加好懂一些。(趣写算法系列之--匈牙利算法_DarkScope从这里开始-CSDN博客_匈牙利算法

        用自己的一句话概括是,这个算法就是个渣男渣女配对的算法(还挺适合婚姻配对公司的。咳)在一对多的情况下,找出让更多对儿配对成功的方法。

        由于文献中所提到的匈牙利算法是采用的矩阵形式的,所以又去食用了矩阵形式的匈牙利算法。附上链接:匈牙利算法的数学上理解——矩阵形式_风吹乱了我的秀发-CSDN博客_匈牙利算法矩阵形式

        说实话矩阵形式的真是好理解一些。

        对于N个任务和工人应当如何分配,可以采用矩阵形式的匈牙利算法。

        1.建立N行N列的矩阵A,每一行代表一个工人,每一列代表一个任务,(i,j)代表工人i去完成j工作

        2.进行 行操作;找出每一行的最小值,然后对应的这一行减去这个最小值。例如第一行的最小值是(1,2)则第一行的值减去(1,2)所对应的值。这样处理后新的矩阵(暂且叫矩阵B)至少每一行有一个数字为0 。最理想的情况是这样的得到的矩阵B每行每列有一个0元素。最后分配工人的工作就按照下述的方式去分配。若不满足最好的情况则需要进行第3步

        i号工人去做他这一行所对应值为0的j工作,且每个工人的工作不重复。(eg:(1,3),(2,1),(3,4),(4,2)——1号工人去做3号工作;2号工人去做1号工作;3号工人去做4号工作;4号工人去做2号工作;)

        3.进行列操作,将第二部得到的矩阵B进行类似与第二步的操作,取每一列的最小值然后进行减法,得到新矩阵C。理想的情况是这样的得到的矩阵C每行每列有一个0元素。若仍不满足则进行第4步。

        4.用最少的直线来标记每一行和列的0元素且直线有交点,交叠的点就是覆盖元素 ,未在直线上的为未覆盖元素找出未覆盖元素中的最小值,对未覆盖元素减去最小值,直线交叉处元素加上最小值,其余不变。最后在进行工作分配。

2.拍卖算法

        此算法学习链接(这个博主也是个玩飞控的师兄/师姐到时候摸到PX4可以来看看他的东西,就是不知道导师那边玩不玩这个)竞拍算法(Auction Algorithm)原理及工作过程分析_一方灯火的博客-CSDN博客_cbba算法

        

  • 3
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值