def fn(q2): facts = [] for q1 in vertices: (t, ) = plan_motion(q1, q2) facts.extend([ ('Motion', q1, t, q2), ('Traj', t), ]) vertices.append(q2) return WildOutput(facts=facts)
def cfree_motion_fn(outputs, certified): assert (len(outputs) == 1) q0, q1 = None, None placed = {} for fact in certified: if fact[0] == 'motion': q0, _, q1 = fact[1:] if fact[0] == 'not': _, b, p = fact[1][1:] placed[b] = p return plan_motion(q0, q1)
def cfree_motion_fn(outputs, certified): if not outputs: return None assert (len(outputs) == 1) q0, q1 = None, None placed = {} for fact in certified: if fact[0] == 'motion': if q0 is not None: return None q0, _, q1 = fact[1:] if fact[0] == 'not': _, b, p = fact[1][1:] placed[b] = p if q0 is None: t = [] return (t, ) return plan_motion(q0, q1)
def cfree_motion_fn(outputs, facts, hint={}): if not outputs: return None assert (len(outputs) == 1) # TODO: handle connected components q0, q1 = None, None placed = {} for fact in facts: if fact[0] == 'motion': if q0 is not None: return None q0, _, q1 = fact[1:] if fact[0] == NOT: _, b, p = fact[1][1:] placed[b] = p if q0 is None: t = [] return (t, ) return plan_motion(q0, q1)