2017-10-29 5 views
1

、私のようなタイプを宣言した場合:袋の2種類、と重いがあると言うことですPDDLにタイプ比較が可能ですか?例えば

:types 
    bag 
    light heavy - bag 

。アクション内で、タイプのバッグのタイプがのライトでなければ、のライトがない場合は、と比較することが可能ですか?二つの変数ではなく、同じタイプよりも、同じ値を持つ場合

(when (= ?light ?bag)) 

が、このチェック:

は、私はそれはのような等価比較を持つことが可能であることを知っています。

私は(when (= light ?bag))を試しましたが、プランナーはエラーをスローしませんが、動作していないようです。

+2

短い答えはいいえです。型を比較す​​るためのPDDLの組み込み可能性はありません(具体的には、変数が特定の型であるかどうかをテストするため)。これには回避策がありますが、おそらく自分でそれらを引き出すことができます。もしそうでなければ、ちょうどそう言いなさい、たぶん私は説明する時間を見つけるだろう。 –

+0

ありがとう、私は回避策を考え出した。 – McGuile

答えて

2

Chaos教授のコメントに対応できないと述べたところで、私は述語(is_light ?x - light)を作成し、そのアクションで(when (is_light ?lightobj) (dosomething))を使用するという回避策を導き出しました。述語は、ライトオブジェクトの初期化時に問題ファイルで使用されます。

関連する問題