【问题标题】:Struggling with a PDDL Error, no plan will solve it与 PDDL 错误作斗争,没有任何计划可以解决它
【发布时间】:2023-01-29 23:03:01
【问题描述】:

我试图让我的 PDDL 计划运行,经过几次迭代后,我的代码运行时没有任何语法错误,但是在尝试计划时,我收到以下错误。 “ff:目标可以简化为 FALSE。没有计划可以解决它”

我确定我的逻辑有问题,但我一辈子都找不到问题所在。基本前提是送货无人机采摘

领域:

(define (domain delivery-drone)
    (:predicates
        (needs-package ?house)
        (package-received ?house)
        (is-house ?house)
        (is-drone ?drone)
        (at-station ?drone)
        (carrying-package ?drone)
        (at-house ?drone)
        (is-package ?package)
        (being-carried ?package)
        (tobe-delivered ?package)
        (package-delivered ?package)
        (is-station ?station)
        (is-empty ?drone))
        
    (:action pickup-package
        :parameters (?drone ?package)
        :precondition (and (is-drone ?drone)
                           (is-package ?package)
                           (at-station ?drone)
                           (tobe-delivered ?package)
                           (is-empty ?drone))
        :effect (and (carrying-package ?drone)
                     (being-carried ?package)
                     (not (is-empty ?drone))))
    
    (:action deliver-package
        :parameters (?drone ?house ?package ?station)
        :precondition (and  (is-drone ?drone)
                            (is-station ?station)
                            (is-house ?house)
                            (at-station ?drone)
                            (carrying-package ?drone)
                            (needs-package ?house))
        :effect (and (is-empty ?drone)
                     (package-delivered ?package)
                     (package-received ?house)
                     (at-house ?drone)
                     (not (carrying-package ?drone))
                     (not (needs-package ?house))
                     (not (tobe-delivered ?package))
                     (not (being-carried ?package))
                     (not (at-station ?drone))))
                          
    (:action fly-station
        :parameters (?drone ?house ?station)
        :precondition (and  (is-drone ?drone)
                            (is-house ?house)
                            (is-station ?station)
                            (at-house ?drone)
                            (is-empty ?drone)
                            )
        :effect (and (at-station ?drone)
                     (not (at-house ?drone)))))

问题:

(define (problem delivery-drone-6houses)
    (:domain delivery-drone)
    (:objects drone station house-a house-b house-c house-d house-e house-f package-a package-b package-e package-f)
    (:init (is-drone drone)
           (is-station station)
           (is-house house-a)
           (is-house house-b)
           (is-house house-c)
           (is-house house-d)
           (is-house house-e)
           (is-house house-f)
           (is-package package-a)
           (is-package package-b)
           (is-package package-e)
           (is-package package-f)
           (needs-package house-a)
           (needs-package house-b)
           (needs-package house-e)
           (needs-package house-f)
           (is-empty drone)
           (tobe-delivered package-a)
           (tobe-delivered package-b)
           (tobe-delivered package-e)
           (tobe-delivered package-f))
    (:goal (and
           (package-received house-a)
           (package-received house-b)
           (package-received house-e)
           (package-received house-f))))

任何提示或建议将不胜感激。

【问题讨论】:

  • 我傻了!不能透过树木看到森林。我从来没有宣布该死的无人机从车站开始。它现在可以送包裹,但送错了房子,哈哈!接下来弄清楚。

标签: pddl


【解决方案1】:

无人机不在车站,除非在房子里,否则无法到达那里。尝试在您的(:init) 中添加:(at-station drone)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    • 2022-01-08
    • 2013-12-06
    • 2019-04-20
    相关资源
    最近更新 更多