Creating New Missions

The creation of a new missions consists on creating the initial state, objects and propositions, and defining the sequence of goals that the robot has to achieve.

To do this, the Merlin2MissionNode class is provided. It has three methods that has to be overrided:

  • create_objects: this methods returns a list od PDDL objects (PddlObjectDto) that represents the objects of the initial state.

  • create_propositions: this methods returns a list od PDDL propositions (PddlPropositionDto) that represents the propositions of the initial state.

  • execute_mission: this method contains the sequence of goals, that are PDDL propositions that must be true. Merlin2MissionNode has the execute_goal method to add and execute goals.

An example of a mission is presented in the demo. There is also a state machine version, Merlin2FsmMissionNode , that can. The main different is that the execute_mission method is not overrided since it runs the state machines that must be build. As a result, the state machine contains the sequence of goals. An example of this is presented in the demo2