コード例 #1
0
def gen_actions():
    parameters=[x, y, z]
    preconditions = list()
    preconditions.append(conditions.Atom(ON, [x, z]))
    preconditions.append(conditions.Atom(CLEAR, [x]))
    preconditions.append(conditions.Atom(CLEAR, [y]))
    preconditions.append(conditions.NegatedAtom('=', [y, z]))
    preconditions.append(conditions.NegatedAtom('=', [x, z]))
    preconditions.append(conditions.NegatedAtom('=', [x, y]))
    preconditions.append(conditions.NegatedAtom('=', [x, Table]))
    action_effects = list()
    action_effects.append(effects.Effect(parameters=[], condition=conditions.Truth(),
                                         literal=conditions.Atom(ON,[x,y])))
    action_effects.append(effects.Effect(parameters=[], condition=conditions.Truth(),
                                         literal=conditions.NegatedAtom(ON, [x,z])))
    action_effects.append(effects.Effect(parameters=[],
                                         condition=conditions.NegatedAtom('=', [z, Table]),
                                         literal=conditions.Atom(CLEAR, [z])))
    action_effects.append(effects.Effect(parameters=[],
                                         condition=conditions.NegatedAtom('=', [y, Table]),
                                         literal=conditions.NegatedAtom(CLEAR, [y])))

    puton = actions.Action('puton', parameters,
                           len(parameters), conditions.Conjunction(preconditions).simplified(),
                           action_effects, None)
    return [puton]
コード例 #2
0
def gen_init():
    init = set()
    init.add(conditions.Atom(block, [a]))
    init.add(conditions.Atom(block, [b]))
    init.add(conditions.Atom(block, [c]))
    init.add(conditions.Atom(block, [Table]))
    init.add(conditions.Atom(ON, [c, a]))
    init.add(conditions.Atom(ON, [a, Table]))
    init.add(conditions.Atom(ON, [b, Table]))
    init.add(conditions.Atom(CLEAR, [c]))
    init.add(conditions.Atom(CLEAR, [b]))
    init.add(conditions.Atom(CLEAR, [Table]))
    return init
コード例 #3
0
def gen_goal():
    goal = set()
    goal.add(conditions.Atom(ON, [b, c]))
    goal.add(conditions.Atom(ON, [a, b]))
    return conditions.Conjunction(goal)