问题标签 [pddl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
81 浏览

artificial-intelligence - 增加/减少电池电量 PDDL

我是 PDDL 的初学者,目前想建立一个项目,允许漫游者在火星上自主行动。基本上,流动站应该有电池。

例如。漫游者可以通过在航路点充电来增加数量(每个动作+10),百分比将减少a -> b(-15)。它应该建模得相当简单,所以随着时间的推移不会减少,我只是想在init某事中定义。比如:当它从 a 到 b 减少 10 时,从 b 到 c 减少 -10 和从 a 到 c -25 ......这是我目前的文件:

这就是问题:

我的想法是 mybattery-amount应该是域中的一个函数,它的初始值设置在 Problem with 100 中,并且从每个动作开始move应该将数量减少 10。

为了验证结果,我对动作移动实施了一个前提条件,它应该检查金额是否大于 90。

我的漫游车必须分两步才能到达位置 l4。所以他应该无法到达l4。

有趣的是,编辑器仍然找到了解决问题的方法。如果没有电池电量,我会得到相同的解决方案。在我看来,他没有更新价值,我不知道为什么^^

提前感谢您的任何帮助或建议!

更新

我进一步深入研究了这个问题,并为自己找到PDDLVSCode. 您可以在此处查看当前状态:当前状态 如果我查看 vs code 提供的可视化输出,我注意到以下内容:

当流动站有足够的能量沿着路径行驶时,燃料水平图显示如下:

燃料_使用_01

但是当我更改初始值时,流动站应该无法到达目标航路点

使用的燃料图表看起来确实非常不同:

Fuel_used_02

该图现在是一条似乎始终为 0 的线。所以我在想,刨床知道燃料不够,因此将其视为0,但前提条件不会触发。我希望输出如下:Goal 可以简化为 false或 sth。像那样。

我需要这个先决条件才能工作,因为最终,我希望漫游者在确定他无法以他的燃料水平行驶时为其电池充电......

0 投票
1 回答
37 浏览

pddl - PDDL 语法错误,':DURATIVE-ACTIONS':需要域定义

我正在为具有持续动作的域文件建模。我正在为 VS Code 使用 PDDL 插件。该代码没有任何语法错误问题。HTTP://solver.planning.domains/solve 的 Planner 返回错误

/tmp/solver_planning_domains_tmp_41rdIKx0z0gCb/domain.pddl: syntax error in line 5, ':DURATIVE-ACTIONS': domain definition expected Failed to parse the problem -- list index out of range

完整的域文件大在这里发布,因此代码的相关部分是:感谢您的帮助。

先感谢您