plaans / aries

Toolbox for automated planning and combinatorial solving.
MIT License
43 stars 6 forks source link

Translating UPF Protobuf message into chronicles #30

Closed franklinselva closed 2 years ago

franklinselva commented 2 years ago

@arbimo

The UPF message for the problem has been translated and it results in something like below.

PROBLEMS: "robot"

FLUENTS:
Fluent: robot_at,       value: bool,            signature: ["Location"]
Fluent: battery_charge, value: real[0, 100],            signature: []

OBJECTS:
Object: l1      type: Location
Object: l2      type: Location

ACTIONS:
Action: move
Parameters: ["l_from", "l_to"]
Parameter types: ["Location", "Location"]
Preconditions:
18 (none -) [12 (int 10) [], 7 (fluent battery_charge) []]
2 (none -) [20 (none -) [8 (aparam l_from) [], 8 (aparam l_to) []]]
7 (fluent robot_at) [8 (aparam l_from) []]
2 (none -) [7 (fluent robot_at) [8 (aparam l_to) []]]

Effects:
> 7 (fluent robot_at) [8 (aparam l_from) []] := 11 (bool False) []
> 7 (fluent robot_at) [8 (aparam l_to) []] := 11 (bool True) []
> 7 (fluent battery_charge) [] := 15 (none -) [7 (fluent battery_charge) [], 12 (int 10) []]

INITIAL STATE:
> 7 (fluent robot_at) [10 (obj l1) []] := 11 (bool True) []
> 7 (fluent robot_at) [10 (obj l2) []] := 11 (bool False) []
> 7 (fluent battery_charge) [] := 12 (int 100) [] 

GOALS:
7 (fluent robot_at) [10 (obj l2) []]. 

and the format is

ACTION:

PRECONDITIONS => type (payload) [arg] EFFECTS => {type (payload) [arg]} := {type (payload) [arg]}

INITIAL STATE:

=> {type (payload) [arg]} := {type (payload) [arg]}

GOALS:

=> type (payload) [arg]