pddl 前提条件在计划中无法正常工作

pddl precondtion not working correctly in the plan

我正在 pddl 中从事一个项目。这个想法是挑选四个球并将它们转移到传送带上。 (在目标中定义)简单的拾取、移动和放下动作工作正常,但是当我试图让它变得更复杂时,例如。通过为机器人添加不同的姿势,在拾取之前检测物品,计划不遵循前提条件。例如专注于拾取动作,没有遵循正确的姿势。关于代码错误的任何想法?最终计划应该对每个动作都有正确的姿势,并一个接一个地检测项目,而不是一次全部检测

link 下面: http://editor.planning.domains/#read_session=BzTaNrk4dQ

错误输出: https://i.stack.imgur.com/ubWS8.png

前提条件中可能有 missing/wrong。 pickup 操作:

(exists (?f - pose ?g - gripper)
        (at-pose robotarm pregrasppose))

请注意,您根本不会在 fluent 中使用变量 ?f?g

感谢 haz 查看代码。 我能够调试它。先决条件的分配不正确。给参数赋值的正确方法如下:

(= ?p findshirt)

在上面的行中,您将 findshirt 类型分配给 'p'