0

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

下面的链接: http ://editor.planning.domains/#read_session=BzTaNrk4dQ

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

4

2 回答 2

0

前提条件中可能缺少/错误的东西。你有这个pickup动作:

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

请注意,您不使用变量?f,并且完全不使用?g流利的。

于 2020-02-26T14:56:19.627 回答
0

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

(= ?p findshirt)

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

于 2020-03-01T02:31:48.270 回答