Exemple #1
0
 def __init__(self):
     b1, p1 = P('b1', BODY), P('p1', GLOB_POSE)
     rp, b2, p2 = P('rp', REL_POSE), P('b2', BODY), P('p2', GLOB_POSE)
     Axiom.__init__(
         self, AtGlobPose(b1, p1),
         Or(
             AtFixedPose(b1, p1),
             Exists([rp, b2, p2],
                    And(IsPoseProd(p1, rp, p2), AtGlobPose(b2, p2),
                        AtRelPose(b1, rp, b2)))))
 def __init__(self):
     b, p, t = P('b', BLOCK), P('p', POSE), P('t', TRAJ)
     Axiom.__init__(
         self,
         Safe(b, t),
         Or(
             Holding(b),  # TODO - could also have equality here
             Exists(
                 [p],
                 And(
                     AtPose(b, p),
                     #Not(Equal(p1, p2)), # TODO - I could always immediately outlaw them having the same pose...
                     IsCollisionFree(p, t)))))
Exemple #3
0
 def __init__(self):
     b1, p1, p2 = P('b1', BLOCK), P('p1', POSE), P('p2', POSE)
     Axiom.__init__(
         self,
         Safe(b1, p2),
         Or(
             Holding(b1),  # TODO - could also have equality here
             Exists(
                 [p1],
                 And(
                     AtPose(b1, p1),
                     #Not(Equal(p1, p2)), # TODO - I could always immediately outlaw them having the same pose...
                     IsCollisionFree(p1, p2)))))
 def __init__(self):
     b1, p1, b2, p2 = P('b1', BLOCK), P('p1',
                                        POSE), P('b2',
                                                 BLOCK), P('p2', POSE)
     Axiom.__init__(
         self,
         Safe(b1, b2, p2),
         Or(
             Holding(b1),  # TODO - could also have equality here
             #Or(Equal(b1, b2), # TODO - could also have equality here
             Exists(
                 [p1],
                 And(
                     AtPose(b1, p1),
                     #Not(Equal(p1, p2)), # Having the same pose is certainly a collision # NOTE - cannot use equality if I have the same object
                     IsCollisionFree(b1, p1, b2, p2)))))