一种用于ROS机器人任务规划的图形化PDDL编译方法及系统

文档序号:38109732发布日期:2024-05-28 19:31阅读:33来源:国知局
一种用于ROS机器人任务规划的图形化PDDL编译方法及系统

本发明属于智能规划领域,涉及一种用于ros机器人任务规划的图形化pddl编译方法及系统。


背景技术:

1、规划领域定义语言(planning domain definition language,pddl)是智能规划社区中广泛使用的一种领域描述语言。如何能够简单高效的应用pddl一直是近年来智能规划领域的研究热点。

2、在pddl的应用方面,ros已经成为了智能规划社区关注的热点。ros是一个用于构建机器人应用程序的框架。ros采用分布式通信框架,允许通过发布/订阅等方式进行不同组件之间的异步通信。rosplan是目前智能规划社区最流行的一个机器人任务规划系统,它是基于ros的框架去实施的。这个系统被设计出来为了解决任务计划在机器人系统上的实施面临的一系列挑战。rosplan不仅包含了规划器,同时也执行计划。规划系统会从知识库中存储的知识构建初始状态(表现为pddl问题实例),传递pddl问题实例给规划器,并对规划结果进行后处理和验证。然后派遣每一个行动,决定何时重新构建和重新规划。然而rosplan目前对pddl版本的支持只到2.1版本,对于更高版本的特性并不支持。另外rosplan并没有提供一个编辑工具,编辑pddl和应用pddl仍然是互相独立的情况。

3、而图形化建模pddl借助可视化模板和元素,方便开发者对静态信息进行分析和对动态信息的验证,从而更好地理解领域环境的特性。另一方面,图形表示增强了规划领域和问题的可读性,使它们更容易理解。此外图形化建模具有较强的可扩展性,可以方便的实现对多个pddl版本的语法解析,所以逐渐成为近年来智能规划社区研究的热点。

4、设计一个领域专用编译系统实现图形化建模pddl和ros应用的结合成为解决当前问题的一个方案。领域专用编译系统不但支持图形化建模pddl的功能实现,图形化建模pddl可以兼容多版本pddl的编辑,也能够实现图形化pddl和ros系统的结合。领域专用编译系统是计算机科学领域的一个重要概念,是一种为特定语言或领域而设计的编译系统,与通用编译系统不同,领域专用编译系统旨在优化某一特定领域的程序性能,并且通常对该领域的语言和算法进行了特殊定制。编译系统可以支持对多个pddl版本的语法解析,也需要实现对思维导图表示语言的解析。

5、然而目前pddl在实际应用存在着以下问题:

6、1)不同版本pddl之间存在着数据格式不兼容性问题,因此在开发中常面临数据格式混乱和集成开发环境对pddl语言解析不兼容等问题。

7、2)pddl在规划验证方面存在不足,在pddl进行逻辑规划和实际应用时,难以有效地验证规划结果的正确性和实用性。

8、3)pddl在机器人应用方面,编辑和应用常常是独立的状态,开发人员在获得规划结果后,再在机器人系统中构建行为树或状态机来执行任务,不能及时利用规划结果,也没有反馈机制,开发效率较低。

9、4)当前pddl应用领域缺少与当下最流行的机器人操作系统(ros系统)的结合研究,ros拥有多种庞大的生态系统,包括众多的软件包、工具和库,涵盖了多个机器人领域,能够帮助项目开发者快速构建和完成机器人开发。


技术实现思路

1、为解决上述问题,本发明公开了一种用于ros机器人任务规划的图形化pddl编译方法及系统。该编译系统实现了图形化建模pddl和ros应用的结合;编译系统不但支持图形化建模pddl的功能实现,也实现了图形化pddl和ros系统的结合;编译系统实现了对直到pddl3.1等多个版本的语法解析,也实现了对思维导图表示语言的解析;编译系统帮助开发者使用ros系统来及时验证建模完成的pddl模型的有效性和实用性。

2、为达到上述发明目的,本发明的技术方案包括以下内容。

3、一种用于ros机器人任务规划的图形化pddl编译方法,所述方法包括:

4、获取思维导图;

5、基于目标任务对思维导图进行调整;

6、将调整后的思维导图编译为pddl源文件数据,并基于该pddl源文件数据生成所述目标任务的规划结果;

7、将规划结果编译为ros形式的话题消息,以使ros机器人基于所述话题消息执行所述目标任务。

8、进一步地,所述思维导图包括:根据自然语言描述内容生成的思维导图、根据编辑好的pddl模型数据生成的思维导图或预生成的思维导图。

9、进一步地,根据自然语言描述内容生成思维导图的过程,包括:

10、调用chatgpt api,以根据自然语言描述内容生成的pddl模型数据;

11、对pddl模型数据进行词法分析,得到第一单词流;

12、基于第一单词流进行第一抽象语法树的创建;

13、根据pddl的语言结构和逻辑约束,对pddl模型数据进行合法性检查;

14、根据pddl模型的requirement属性在所述第一抽象语法树中添加对应的键值,以完成第一抽象语法树的扩展;

15、按照json的键值对形式组织扩展后的第一抽象语法树中的数据,并添加思维导图所必须的键值对后,得到jsmind源数据;

16、基于所述jsmind源数据生成思维导图。

17、进一步地,对pddl模型数据进行词法分析,得到单词流,包括:

18、根据多个版本的pddl源数据的文法描述,得到描述域模型内容的domain.lark文件和描述问题模型内容的problem.lark文件;

19、依据pddl模型数据的结构特点,读取domain.lark文件或problem.lark文件;

20、使用python-lark库的lark()函数将域模型内容或问题模型内容作为解析器,且将所述pddl模型数据作为lark()函数的参数进行词法分析,得到单词流。

21、进一步地,根据pddl模型的要求在所述第一抽象语法树中添加对应的键值,以完成第一抽象语法树的扩展,包括:

22、获取pddl模型的requirement属性,所述requirement属性包括:pddl1中的动作扩展、存在表达式、时间等式和度量,pddl2.1支持的持续动作、数值流、时间表达式和否定逻辑,pddl2.2支持的派生谓词和限时初始文字,以及pddl3支持的软偏好和限制;

23、当任一requirement属性在pddl模型的requirement列表中时,在第一抽象语法树中添加相应的键值。

24、进一步地,将调整后的思维导图编译为pddl源文件数据,包括:

25、获取调整后的思维导图对应的jsmind数据;

26、解析jsmind数据的node_tree格式数据,得到第二单词流;

27、将第二单词流按照数据类别存储到相应的pddl数据存储结构中,从而生成第二抽象语法树;其中,所述pddl数据存储结构是根据pddl数据的语言文法设计;

28、将第二抽象语法树中的内容按照不同的属性结构提取数据到定义好的属性树中,形成中间表示;其中,所述属性树中的节点属性全部为字典形式;

29、将所述中间表示按照pddl的语言结构组合,得到pddl源文件数据。

30、进一步地,解析jsmind数据的node_tree格式数据,得到第二单词流,包括:

31、依据递归下降的顺序,提取node_tree格式数据中每个节点的层级结构信息;

32、根据topic键值和children键值对所述层级结构信息进行单词划分,并去除与编译流程无关的键值信息后,得到第二单词流。

33、进一步地,将所述中间表示按照pddl的语言结构组合,得到pddl源文件数据,包括:

34、根据pddl模型的requirement属性来确定pddl的版本信息所对应的组合目标代码;

35、对于pddl中的特定功能要求添加的数据,按照requirement属性的要求来进行组合。

36、进一步地,所述将规划结果编译为ros形式的话题消息

37、根据规划结果中的有效内容,生成规划结果对应的token流;其中,所述有效内容包括:动作开始时间,动作序列和动作持续时间;

38、对所述规划结果对应的token流进行语法分析,以得到话题的中间数据;

39、根据语义对应关系将中间数据转化为话题消息。

40、一种用于ros机器人任务规划的图形化pddl编译系统,所述系统包括:

41、思维导图获取模块,用于获取思维导图;

42、思维导图调整模块,用于基于目标任务对思维导图进行调整;

43、问题求解模块,用于将调整后的思维导图编译为pddl源文件数据,并基于该pddl源文件数据生成所述目标任务的规划结果;

44、编译规划结果模块,用于将规划结果编译为ros形式的话题消息,以使ros机器人基于所述话题消息执行所述目标任务。

45、与现有技术先比,本发明至少具有以下技术优势:

46、本发明基于领域专用编译技术了实现图形化建模pddl和ros应用的结合。在编辑多版本pddl上,本发明基于图形化建模的优势,可以实现对多个pddl版本的兼容,包括pddl、pddl2.1、pddl2.2、pddl3、pddl+。而目前智能规划社区流行的rosplan,只支持到pddl2.1版本;本发明提供一个可用于图形化编辑pddl的前端界面,支持思维导图和pddl双方的格式转换,而rosplan并没有提供一个可用的编辑系统,在rosplan中,编辑部分和ros应用是独立的,这一定程度上降低了开发的效率。

47、综上所述,本发明不但支持图形化建模pddl的功能实现,也实现了图形化pddl和ros系统的结合,有助于开发者检验pddl模型的实用性和有效性。编译系统可以支持对多个pddl版本的语法解析。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1