aig-upf / fs-private

This is the private version of the FS planner repository
GNU General Public License v3.0
5 stars 1 forks source link

Usability (at least for v2 branch) #106

Closed hstairs closed 6 years ago

hstairs commented 6 years ago

Hi all,

assume I am a random user who wants to try out the planner and has had some previous experience in planning:). Is it possible that I cannot find the way to make it run on the examples provided? It would be nice to have a hello world kind of example where things run.

My story

I have installed everything following the instructions, and I have got finally 0 errors/warnings, but for something I spotted which is "hybrid" disabled. Anyway, since I haven't encountered any alarm, I guess it is ok, since hybrid can mean everything and nothing at the same time from my position now.

Reading the instructions it seems there is no problem in which search strategy I use, so I run the following

./run.py -i examples/hybrid/continuous/walkbot/instance_001.pddl --driver sbfws --options "bfws.rs=sim"

and I get this:

Problem domain: walkbot Problem instance: instance_001 Working directory: /home/enrico/fs-private/workspace/180202/walkbot/instance_001 Traceback (most recent call last): File "./run.py", line 17, in <module> runner.main(sys.argv[1:]) File "/home/enrico/fs-private/python/parser/runner.py", line 287, in main return run(parse_arguments(args)) File "/home/enrico/fs-private/python/parser/runner.py", line 266, in run fd_task = parse_pddl_task(args.domain, args.instance) File "/home/enrico/fs-private/python/parser/runner.py", line 64, in parse_pddl_task task = tasks.Task.parse(domain_pddl, task_pddl) File "/home/enrico/fs-private/python/parser/pddl/tasks.py", line 49, in parse = parse_domain(domain_pddl) File "/home/enrico/fs-private/python/parser/pddl/tasks.py", line 175, in parse_domain action = actions.Action.parse(entry) File "/home/enrico/fs-private/python/parser/pddl/actions.py", line 30, in parse assert action_tag == ":action" AssertionError

Is it normal:)?

Enrico

hstairs commented 6 years ago

After going through some "let's see if I can do this myself", I found out that: 1) I needed to install antlr4 python3 support (be careful because if you install the python2 support first, then you are dead!:)) 2) I needed to use the flag --hybrid from the command line

Point 1) needs to be written in the Usage Point 2) needs to be written in the Installation instruction

Anyway, I am still not able to see a plan (argh:D). That's what I got when I run the planner: ` ... [INFO][ 0.00270] Number of state variables: 6 [INFO][ 0.00270] Number of problem atoms: 6 [INFO][ 0.00271] Number of action schemata: 12 [INFO][ 0.00271] Number of (perhaps partially) ground actions: 0 [INFO][ 0.00271] Number of goal atoms: 8 [INFO][ 0.00272] Number of state constraint atoms: 4 [INFO][ 0.00276] Deriving control to search engine... [INFO][ 0.00355] Starting search. Results written to . Peak memory: 59976 KB caught signal 11 -- exiting Segmentation fault (core dumped)

`

I used this: ./run.py -i examples/hybrid/continuous/walkbot/instance_001.pddl --driver sbfws --options "bfws.rs=sim" --hybrid

Which isn't very helpful. I am going to try another couple of things!

hstairs commented 6 years ago

Last update: I tried with --driver bfs and no option and I got that the problem is unsolvable :( I know this problem requires finer discretisationd, yet I don't believe that this is the issue, at least in this case. If it was, won't be good to provide a feedback for the user say: look since these problems are all undecidable, can you please try with a smaller delta:)?

Enrico

miquelramirez commented 6 years ago

Hello @enricos83 ,

fortunately, right now there are no random people coming to try the planner :)

When that happens, the Readme.md file should point people interested in setting up FS for hybrid planning to these docs I wrote. There you will find about those things you figured out the hard way... Let me apologise because I thought I had pointed you towards that file, which I wrote for you in the first place.

Regarding the blind search driver bfs being used on these problems... I am surprised that it actually works.

Recommending the user to try with a smaller delta, or other parameters such as more precise integrators is a good idea. I am not entirely sure thought that we want to do this from the code, but rather as part of the documentation. I think it is easier to edit the latter than to update the code to produce meaningful feedback.

hstairs commented 6 years ago

Thanks Miquel:) The pointer in the Readme would be great. I thought the doc folder only contained documentation for the code. I went for some of the things which are described in the doc, yet I couldn't make Soplex work, which seems to be replaced by some patched version. Let me try. Thanks again