cx_pddl_clips
TODO: Package description
README
cx_pddl_clips
Augment CLIPS-based reasoning with PDDL.
As PDDL is an expressive formalism, this module relies on an external pddl manager to do the heavy lifting.
Prerequisites
A running instance of the external pddl manager node
The RosMsgsPlugin
(for planning:) Generated CLIPS plugins
cx::CXPDDLMsgsPlanTemporalPluginandcx::CXPDDLMsgsTimedPlanActionPluginOpen the respective ROS interfaces
Basic Usage
Store the information on the external node using a
pddl-managerfact.Load pddl instances using
pddl-instancefacts.Maintain up-to-date information of a current situation modeled via
pddl-fluentandpddl-numeric-fluentfacts.
Fetch the initial situation using
pddl-get-fluentsandpddl-get-numeric-fluentsfacts.Update the situation using
pending-pddl-fluentandpending-pddl-numeric-fluentfacts.Add new objects using
pending-pddl-objectfacts.
Specify desired future states through pddl goals
Describe goals using
pddl-goal-fluentandpddl-goal-numeric-fluentfacts.Register the goal uisng the
pddl-set-goalsfact.Clear goals using the
pddl-clear-goalsfact.
Obtain a viable plan using the
pddl-planner-callfact.
Plans consist of
pddl-actionfacts
Inspect actions to ensure smooth execution
Check whether an action is viable for execution by checking it’s precondition (start conditions).
Retrieve the projected effects.
TBD