我已经构建了几个PDDL领域和问题,现在我想寻找一种方法来可视化我的领域、问题和解决方案。我的问题如下:
- 是否有工具可以提供一种相对简单的计划图形表示(例如节点和连接)?
- 是否有工具可以随时显示我的领域的当前世界状态(即我的领域中所有变量的值,在计划的每一步之后)以纯文本形式?
- 如何将PDDL集成到系统架构中?如果我想使用我的世界的2D或3D表示(例如Gazebo),我如何“连接”Gazebo和PDDL?
谢谢!
回答:
逐一回答你的问题:
-
没有公开可用的工具,但我知道规划社区的几个成员的学生正在开发这样的工具。我建议你在以下邮件列表中提出这个问题:[email protected]
-
为此,你需要修改现有的众多规划器之一,并从它们的数据结构中自行解决,或者扩展规划器作者已经构建到系统中的调试方法。如果你有时间和良好的C++技能,我建议你查看Fast Downward(http://www.fast-downward.org/)或较不成熟但更简单的lwaptk(https://github.com/miquelramirez/lwaptk)。如果你想要快速原型设计,并且乐意离线计算计划,那么我建议你查看Pyperplan(https://bitbucket.org/malte/pyperplan),这是一个原生的Python规划器,应该很容易与几乎任何东西接口(只是在计算计划时不会非常高效)。
-
你需要自己开发一个接口,将你的“Gazebo”世界的模型与规划后端连接,具体细节取决于a)你在“前端”建模的是什么,以及b)你到底希望规划器为你做什么。为了展示如何暴露一个相对复杂的对象模型,我建议你查看我之前做的一个小演示(https://github.com/miquelramirez/pr-as-planning-demo)。