本申请涉及一种基于载荷一致性的多机器人任务分配方法和装置。该方法用于将若干个已知位置和需求的多机器人任务分配给携带不同任务载荷的异构多机器人系统;所述方法考虑了机器人任务执行过程中的载荷消耗,解决了任务需求与机器人资源紧密耦合的复杂任务分配问题;本方法包括任务包构建和冲突消解两个过程,在任务包构建过程中引入载荷分配矩阵,根据机器人剩余的载荷和任务当前的需求,动态调整执行每个任务的机器人数量,确保每个任务都由能力匹配的机器人联盟执行,能够充分利用机器人携带的载荷,避免因载荷消耗导致任务失败,提高了机器人资源的利用率。
背景技术
随着人工智能和机器人技术的发展,各式各样的智能机器人在各行各业中发挥着越来越重要的作用,如仓储物流、抢险救援、城市对抗等。然而单个机器人的能力有限,而且需要机器人执行的任务也越来越复杂。仅考虑单个机器人执行任务将无法满足人们对智能机器人日益增长的应用需求。这就需要发挥集群体系效能,考虑多机器人协同完成任务。在多机器人协同理论中,任务分配则是多机器人协同执行任务的基础,保证每个任务都由能力匹配的机器人执行,具有重要的研究意义。
目前,研究多机器人任务分配问题的方法很多。基于优化的方法,以小化时间、最小化成本、最大化收益等作为优化目标,考虑有限的机器人资源、任务的时间窗口和执行顺序等约束条件,将多机器人任务分配问题建模为优化问题;基于强化学习的方法,利用深度Q网络、图神经网络等,学习改进任务的分配效果;基于拍卖的方法,近似于市场竞拍机制,机器人之间通过竞价获取任务的执行权。其中基于拍卖的一致性任务包算法CBBA,是一种分布式两阶段迭代共识算法,分有内部任务包构建和外部共识两阶段,该算法具有快速收敛至无冲突分配方案的优点,有良好的扩展性和动态特性。但是该算法只适用于单机器人任务的分配问题,有一定的局限性。
近些年,有很多针对CBBA改进的研究,以解决复杂耦合约束下的任务分配问题。基于共识的分组算法(CBGA)[8]将CBBA中每个机器人的获胜者列表和投标值列表扩展为二维向量,以解决多机器人任务的分配问题。通过引入子任务耦合矩阵和时序间隔矩阵,一致性联盟算法(CBCA)研究了任务载荷资源约束、子任务耦合关系约束及执行窗口约束等条件下的任务分配问题。考虑任务耦合约束的CBBA-TCC算法在任务包构建过程中为每个机器人构建Can-do列表,明确每个机器人可以执行的任务,以应对异构多机器人系统中的任务耦合约束。但是CBCA的子任务耦合矩阵和CBBA-TCC的Can-do列表都只考虑了机器人种类和任务类型间的匹配,无法应对机器人载荷资源消耗的问题。以K均值聚类算法为基础的一种基于层次结构的一致性任务包算法扩展,研究了包括机器人速度、到达时间、行程成本和任务时间窗口、优先级等复杂约束下的多机器人任务分配问题。但是并未明确机器人到达任务的时间对多机器人任务的开始时间和结束时间的影响。在以机器人到达任务时间为机器人出价的一致性时间包算法(CBTA)中,认为多机器人任务的开始时间由最后一个到达任务的机器人所决定,能够最大限度地减少所有任务的平均启动时间。但是该算法中考虑的机器人所能执行的任务数量固定的,并没有因机器人能力的强弱动态调整。值得注意的是在执行多机器人任务的过程中,所需机器人一般为异构机器人,并且机器人的任务执行能力不同或者会在任务执行过程中减弱。比如在仓储物流中,也需要考虑机器人在运输过程中的油耗,避免机器人因能源问题无法到达目标位置。
实现思路