这里写目录标题
1. 安装FAST DOWNWARD
使用官网教程安装FAST DOWNWARD。按照官方的BUILD.md安装即可。
官方使用文档解读
使用fast-downward.py驱动程序脚本,需要指定PDDL输入文件和搜索算法。提供的搜索算法有:A* search (eager),Eager best-first search,Greedy search (eager),Eager weighted A* search,Lazy enforced hill-climbing,Iterated search,Lazy best-first search,Greedy search (lazy),(Weighted) A* search (lazy)。输入命令时可以通过加入诸多选项,从而单独运行规划器、或运行计划验证器等。
可以多个版本共存,但是需要通过build参数明确使用的版本。无异常情况下,代码返回0;如果发生错误返回其他代码,可以参考exit_code。
LP支持:CPLEX与SoPLEX,注意后者只能用来解决整数规划问题。
关于VAL的配置,在编译完成后会生成一个validate的可执行文件。注意将该文件的路径添加到系统环境变量PATH中。例如我将生成的validate转移至/downward文件下,于是在系统文件中添加途径如下:
sudo vim ~/.bashrc
export PATH="$PATH:/home/zz/downward/"
source ~/.bashrc:
为了增加更多的功能,按照官方链接继续安装。注意,这里我首先在downward文件夹下使用catkin_make编译后,然后参照官方命令完成安装,否则会发生找不到一些可执行文件的报错。
catkin_make
cmake -S src -B builds/mycustombuild
cmake --build builds/mycustombuild
*安装CPLEX
这里需要自己去IBM官网申请许可证,可以使用教育版CPLEX,官网地址。切换到安装包所在目录下,执行如下:
chmod +x cos_installer_preview-22.1.1.0.R0-M08SWML-linux-x86-64.bin
./cos_installer_preview-22.1.1.0.R0-M08SWML-linux-x86-64.bin
选择语言,选择自己的安装路径
sudo vim ~/.bashrc
export cplex_DIR=/home/zz/CPLEX/cplex
export PATH="$PATH:/home/zz/CPLEX/cplex/bin/x86-64_linux/:/home/zz/CPLEX/cpoptimizer/bin/x86-64_linux/"
source ~/.bashrc
验证是否能被规划器正常调用:
./fast-downward.py misc/tests/benchmarks/miconic/s1-0.pddl --search "astar(operatorcounting([lmcut_constraints()]))"
出现如下输出证明安装成功:
2. 示例使用
进入fastdownward.py所在目录下。
usage: fast-downward.py [-h] [-v] [--show-aliases] [--run-all] [--translate]
[--search]
[--translate-time-limit TRANSLATE_TIME_LIMIT]
[--translate-memory-limit TRANSLATE_MEMORY_LIMIT]
[--search-time-limit SEARCH_TIME_LIMIT]
[--search-memory-limit SEARCH_MEMORY_LIMIT]
[--validate-time-limit VALIDATE_TIME_LIMIT]
[--validate-memory-limit VALIDATE_ME(define (domain miconic)
(:requirements :strips)
(:predicates
(origin ?person ?floor )
;; entry of ?person is ?floor
;; inertia
(floor ?floor)
(passenger ?passenger)