我正在使用PDDL为机器人定义路径。这个想法是机器人应该把"x"个物品从一个房间移到屋外。变量"x"取决于房间。机器人应该从用户告诉有x个物品的房间开始。转移完所有物品后,它应该移动到下一个房间,然后用户告诉有多少物品。这个链条一直这样,直到所有的房间都被清空。房间总数有限,但未知。
我想问一下,有没有一种方法可以在pddl中为用户提供输入?我正在使用以下示例来构建我的代码。在提到的代码中,房间和项目的数量已经初始化,而在我的工作空间中不是这样。
http://www.cs.toronto.edu/~sheila/2542/w09/A1/introtopddl2.pdf
简而言之,不,这是不可能的。您可能会有一个更高级别的执行人员进行查询,然后创建一个可以通过计划器解决的子问题。不过,目前还不清楚你是否真的需要一个规划师。
您需要一个程序来调用您的计划器并动态生成PDDL。在该程序中,您引出用户输入,然后在生成的PDDL中添加特定房间x作为目标定义的一部分。然后将其传递给计划器,可能通过将其写入文件(取决于与计划器的接口方式(。
关于将现成的计划者集成到游戏中的相关问题,请参阅本文:Bartheye、Olivier和Eric Jacobin(2008(将基于PDDL的现成计划者连接到街机游戏