掌桥专利:专业的专利平台
掌桥专利
首页

一种基于PDDL的机器人柔性生产系统的自动规划方法

文献发布时间:2024-04-18 19:58:53


一种基于PDDL的机器人柔性生产系统的自动规划方法

技术领域

本发明涉及信息物理融合生产系统以及制造系统领域,特别涉及一种基于PDDL的生产系统执行方法。

背景技术

随着个性化定制市场需求的不断增加,柔性制造系统成为未来生产制造系统发展的主要趋势。传统柔性制造系统需要工程人员提前考虑所有可能的动态环节,并且通过紧密耦合的代码实现。

这种方式存在以下两个缺陷:第一,当系统比较复杂时,工程人员难以考虑所有可能的动态情景,在出现意外动态干扰时,可能会导致系统无法运行;第二,通过代码实现的系统,难以扩展或者应用到其他场景中,即复用困难。

发明内容

针对现有柔性生产系统存在的不足,本发明提出了一种基于PDDL的机器人柔性生产系统的自动规划方法。该方法将生产系统划分为双层智能规划问题,即调度过程任务规划和控制过程的生产机器人行为规划。该方法利用PDDL规划语言实现任务分配的自主规划和机器人行为序列的自主规划,当生产系统中动态事件发生时,通过PDDL的自主规划实现异常处理和动态事件响应。

为了实现上述目的,本发明采用如下技术方案:一种基于PDDL的机器人柔性生产系统的自动规划方法,用于生产系统调度和生产机器人动作序列的双重自动规划的一种基于PDDL的机器人柔性生产系统框架,其中,由调度过程的PDDL建模与PDDL规划器规划、控制过程的PDDL建模与PDDL规划器规划构成的自动规划部分基于PDDL规划语言实现,包括以下步骤:

步骤一:分别从订单系统获取订单目标状态、从生产系统获取生产系统中包括生产机器人、物料、工具的所有生产资源的当前状态作为系统初始状态;

步骤二:根据订单目标状态和系统初始状态,对调度过程进行包括PDDL调度问题模型和PDDL调度域模型的PDDL建模;

步骤三:根据PDDL调度问题模型和PDDL调度域模型,采用PDDL规划器对调度过程进行PDDL规划,生成任务序列,并将任务序列中的任务下发给生产机器人;

步骤四:生产机器人接收到任务之后,获取任务的目标状态,所述任务状态是订单目标状态的子集;获取当前任务中所需生产资源的状态作为任务初始状态;

步骤五:根据任务的目标状态和任务初始状态,对生产机器人的控制过程进行包括PDDL控制问题模型和PDDL控制域模型的PDDL建模;

步骤六:根据PDDL控制问题模型和PDDL控制域模型,采用PDDL规划器对控制过程进行PDDL规划,生成动作执行序列用于完成接收到的任务;

步骤七:当生产机器人根据动作执行序列执行动作过程中,遇到异常事件发生时,跳转到步骤一;当生产机器人执行完当前任务且无异常事件时,跳转到步骤四,以实现对下一个任务的动作执行序列规划,直到所有任务执行结束。

所述步骤二:根据订单目标状态和系统初始状态,对调度过程进行包括PDDL调度问题模型和PDDL调度域模型的PDDL建模,具体如下:

根据订单目标状态和系统初始状态,在线生成符合PDDL语法规则的PDDL调度问题模型Problem.pddl文件;基于调度域知识,即所有生产机器人的能力描述,根据PDDL语法规则,离线建模生成PDDL调度域模型Domain.pddl文件。

所述步骤五:根据任务的目标状态和任务初始状态,对生产机器人的控制过程进行包括PDDL控制问题模型和PDDL控制域模型的PDDL建模,具体如下:

根据任务目标状态和机器人初始状态,在线生成符合PDDL语法规则的PDDL控制问题模型Problem.pddl文件;基于控制域知识,即机器人动作的描述,根据PDDL语法规则,离线建模生成PDDL控制域模型Domain.pddl文件。

所述任务序列中每一个任务指定任务类型和执行任务的生产机器人。

步骤一中,所述订单目标状态,表征产品的最终形态。

步骤一中,所述生产系统当前状态,表征所有可用生产资源的状态,包括生产机器人、物料、工具的资源。

所述动作执行序列,用于描述生产机器人要完成某个产品生产所需要执行的动作的顺序。

一种基于PDDL的机器人柔性生产系统框架,包括:

调度部分,用于分别从订单系统获取订单目标状态、从生产系统获取生产系统中包括生产机器人、物料、工具的所有生产资源的当前状态作为系统初始状态;对调度过程进行包括PDDL调度问题模型和PDDL调度域模型的PDDL建模;采用PDDL规划器对调度过程进行PDDL规划,生成任务序列,并将任务序列中的任务下发给生产机器人;

控制部分,用于生产机器人接收到任务之后,获取任务的目标状态,所述任务状态是订单目标状态的子集;获取当前任务中所需生产资源的状态作为任务初始状态;根据任务的目标状态和任务初始状态,对生产机器人的控制过程进行包括PDDL控制问题模型和PDDL控制域模型的PDDL建模;采用PDDL规划器对控制过程进行PDDL规划,生成动作执行序列用于完成接收到的任务。

一种基于PDDL的机器人柔性生产装置,包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现所述的一种基于PDDL的机器人柔性生产系统的自动规划方法。

一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现所述的一种基于PDDL的机器人柔性生产系统的自动规划方法。

与现有技术相比,本方法具有以下优点:

本发明的基于PDDL的机器人柔性生产系统的自动规划方法,通过PDDL规划语言实现任务调度的自主分配和生产机器人动作执行序列的自主规划,具有较高的科研价值与工程应用价值。本发明通过在线生成动态生产环境下的问题模型,然后进行自主规划,实现对动态生产环境的自主适应能力,提高生产系统柔性。

附图说明

图1为本发明一种基于PDDL的机器人柔性生产系统的自动规划方法框架示意图。

图2为本发明实施例场景图。

具体实施方式

下面结合附图和实施例对本发明做进一步的详细说明。

一种基于PDDL的机器人柔性生产系统的自动规划方法,包括以下步骤:

步骤一:分别从订单系统中获取订单目标状态和生产系统中获取系统当前状态作为系统初始状态;

步骤二:对调度过程进行PDDL建模。根据订单目标状态和系统初始状态,在线生成符合PDDL语法规则的Problem.pddl文件;调度领域知识属于静态知识,通过根据PDDL语法规则,离线建模生成Domain.pddl文件;

步骤三:采用PDDL规划器对调度过程进行PDDL规划,生成任务序列;

步骤四:底层生产机器人接收到任务之后,提取任务的目标状态和机器人的当前状态作为机器人初始状态;

步骤五:对机器人的控制过程进行PDDL建模。根据任务目标状态和机器人初始状态,在线生成符合PDDL语法规则的Problem.pddl文件;控制领域知识属于静态知识,通过根据PDDL语法规则,离线建模生成Domain.pddl文件;

步骤六:采用PDDL规划器对控制过程进行PDDL规划,生成动作执行序列;所述动作执行序列,用于描述生产机器人要完成某个产品生产所需要执行的动作的顺序。例如装配一个齿轮需要经过取齿轮、运送齿轮、装齿轮等动作才能完成。

步骤七:当生产机器人在执行过程中,遇到异常事件发生时,跳转到步骤一;当生产机器人执行完当前任务且无异常事件时,跳转到步骤四实现对下一个任务的动作序列规划,直到所有任务执行结束。

进一步地,步骤三和步骤六中规划器的选择可以根据具体任务对实时性的要求进行自主选择。

规划领域定义语言,PDDL是智能规划领域中对规划问题的形式化描述语言。PDDL通过谓词(Predicates)和动作(Actions)对规划领域建模;通过对象(Objects)、初始状态(InitialState)和目标规范(GoalSpecification)对规划问题建模。谓词用于描述领域中的不同状态,动作包括执行前提和执行效果,用于描述状态的跳转。PDDL规划问题描述的是实例对象的初始状态和目标规范中定义的目标状态。PDDL规划就是寻找一系列动作序列,实现实例对象从初始状态到目标状态的转移。动作序列通过PDDL规划器进行自动求解获取。

以多机器人拣货为例,场景如图2所示。场景中包含两种机器人:龙门机器人(可以在场景中四处移动)和分拣机器人(只能在固定的轨道上移动)用来拣选零件;八个箱子(Bin1-Bin8)用来放置零件;四个AGV(AGV1-AGV4)用来运输拣选后的零件;零件种类包含:电池、泵、调节器和传感器。拣货任务要求机器人按照订单需求将所需零件从箱子上转移到指定的AGV上。

图1为本发明一种基于PDDL的机器人柔性生产系统的自动规划方法。结合具体实施例说明,具体步骤如下:

步骤一:分别从订单系统中获取订单目标状态和生产系统中获取系统当前状态作为系统初始状态;订单目标状态为电池、泵、调节器和传感器四种零件分别有一个在AGV2上;当前系统状态为龙门机器人和分拣机器人都处于空闲状态。

步骤二:对调度过程进行PDDL建模。根据订单目标状态和系统初始状态,在线生成符合PDDL语法规则的Problem.pddl文件;调度领域知识属于静态知识,通过根据PDDL语法规则,离线建模生成Domain.pddl文件。其中,Problem.pddl文件中的初始状态描述为:

Problem.pddl文件中的目标状态描述为:

Domain.pddl文件中对任务状态转移的动作描述为:

步骤三:采用PDDL规划器对调度过程进行PDDL规划,生成任务序列;上述实例的任务序列为:

0.00100:(分拣机器人执行分拣任务:将泵从箱子bin6移动到AGV2)

0.00200:(分拣机器人执行分拣任务:将电池从箱子bin5移动到AGV2)

0.00300:(龙门机器人执行分拣任务:将调节器从箱子bin4移动到AGV2)

0.00400:(龙门机器人执行分拣任务:将传感器从箱bin3移动到AGV2)

步骤四:底层生产机器人接收到任务之后,提取任务的目标状态和机器人的当前状态作为机器人初始状态;例如针对任务“0.00100:(分拣机器人执行分拣任务:将泵从箱子bin6移动到AGV2)”,任务的目标状态是(泵在(on)AGV2),机器人的当前状态为:(分拣机器人使能)&(分拣机器人空闲)

步骤五:对机器人的控制过程进行PDDL建模。例如任务0.00100:(分拣机器人执行分拣任务:将泵从箱子bin6移动到AGV2)。根据任务目标状态和机器人初始状态,在线生成符合PDDL语法规则的Problem.pddl文件;控制领域知识属于静态知识,通过根据PDDL语法规则,离线建模生成Domain.pddl文件;其中,此处的Problem.pddl文件中的初始状态描述为:

此处的Problem.pddl文件中的目标状态描述为:

Domain.pddl文件中对任务状态转移的动作描述为:

动作一:移动

动作二:抓取

动作三:放置

步骤六:采用PDDL规划器对控制过程进行PDDL规划,生成动作执行序列;上述实例的动作序列为:

0.00100:(分拣机器人从初始位置移动到箱子bin6)

0.00200:(分拣机器人在箱子bin6上抓取零件泵)

0.00300:(分拣机器人从箱子bin6移动到AGV2)

0.00400:(分拣机器人在AGV2上放置零件泵)

步骤七:当生产机器人在执行过程中,遇到异常事件发生时,跳转到步骤一;当生产机器人执行完当前任务且无异常事件时,跳转到步骤四实现对下一个任务的动作序列规划,直到所有任务执行结束。

通过本发明的方法,可以实现信息物理融合生产系统生产任务的自主调度和生产机器人动作序列的自主规划,相比于当前人工排产和动作序列编排,一方面可以减少人的工作量,另一方面可以增加生产系统的柔性实现对动态事件的自主响应。

相关技术
  • 一种基于PDDL多星协同任务规划方法、设备及存储设备
  • 一种基于PDDL多星协同任务规划方法、设备及存储设备
技术分类

06120116506011