一个PDDL简单教程
(照例mark一下学习收获)
首先介绍一下pddl结构:
我的理解是,这是一个strips的模型实现语言
pddl➡️planner➡️plan
对于strips来说,包含的元素有
p(predicates)
f(fluents/facts)
I(only one initial state)
g(a set of goal states)
o(operator)
1)一个domain file:
主要含type,predicates,action的precondition,add, delete的操作
2)一个problem file:
含initial state和goal state
然后工具:
1)online pddl:
http://editor.planning.domains.
2)vscode:
extensions里面install pddl
然后,运行的时候,双击对应的domain file和problem file,保证上面菜单只有这两个被打开,然后运行快捷键是option+p(Mac)
简单例子很多地方都有,代码还是比较容易懂的,就不在这里讲了,下面主要列一下可用的语法:
1)exists
注意这个exists一定要加s,不然就一直报错说‘(’问题。。。ps出现这种报错问题可以先看看语法有没有错,单词拼写有没有错
假设type中定义了一个type叫做node