The parsed plan from Contingent-FF is not being generated by PDDLSimplePlanParser. And it is normal because the parser is expected a syntax as POPF planner:
0.000: (goto_place b1) [0.001]
While Contingent-FF output to be parser is:
0||0 --- GOTO_PLACE C1 --- SON: 1||-1
And I think that this is not working also with FF, its syntax is:
0: PICKUP_OBJECT C1 V1
In the documentation is written that planner interface works with FF, Metric-FF and Contingent-FF among others. So, my understanding is that all nodes of ROSPlan work with Contingent-FF what is not happening.
Therefore, in my opinion this is a bug. Could you confirm that my understanding is correct? Thanks.
Finally, I would like to talk about the design of "planning_interface" and "parse_plan nodes". Parsing a planner output is hard coupled to the planner itself, so why these two functionalities are split in two different nodes? In my opinion they should be done by only one node that is the "planner_interface", and it should generate a ROSPlan defined format of actions.
In addition, I think that having the "planner_command" parameter for "planner_interface" is not a good idea because it is also hard coupled with implementation of the planner (e.g. POPFPlannerInterface). The only information that is not couple to the planner is the timeout and the directory path where the planner binary is stored, so these should be passed to the node as parameters.
The parsed plan from Contingent-FF is not being generated by PDDLSimplePlanParser. And it is normal because the parser is expected a syntax as POPF planner:
0.000: (goto_place b1) [0.001]While Contingent-FF output to be parser is:
0||0 --- GOTO_PLACE C1 --- SON: 1||-1And I think that this is not working also with FF, its syntax is:
0: PICKUP_OBJECT C1 V1In the documentation is written that planner interface works with FF, Metric-FF and Contingent-FF among others. So, my understanding is that all nodes of ROSPlan work with Contingent-FF what is not happening.
Therefore, in my opinion this is a bug. Could you confirm that my understanding is correct? Thanks.
Finally, I would like to talk about the design of "planning_interface" and "parse_plan nodes". Parsing a planner output is hard coupled to the planner itself, so why these two functionalities are split in two different nodes? In my opinion they should be done by only one node that is the "planner_interface", and it should generate a ROSPlan defined format of actions.
In addition, I think that having the "planner_command" parameter for "planner_interface" is not a good idea because it is also hard coupled with implementation of the planner (e.g. POPFPlannerInterface). The only information that is not couple to the planner is the timeout and the directory path where the planner binary is stored, so these should be passed to the node as parameters.