當前位置: 首頁>>代碼示例>>Python>>正文


Python cspace.CSpace類代碼示例

本文整理匯總了Python中klampt.cspace.CSpace的典型用法代碼示例。如果您正苦於以下問題:Python CSpace類的具體用法?Python CSpace怎麽用?Python CSpace使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了CSpace類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: __init__

 def __init__(self,planner,limb):
     CSpace.__init__(self)
     self.planner = planner
     self.limb = limb
     #TODO: what Cartesian bounding box should the planner sample from?
     self.bound = [(0,1),(0,1)]
     #TODO: what collision tolerance to use?
     self.eps = 1e-2
開發者ID:ChenyuLInx,項目名稱:ece490-s2016,代碼行數:8,代碼來源:hw4_planner.py

示例2: __init__

 def __init__(self,planner,limb):
     CSpace.__init__(self)
     self.planner = planner
     self.limb = limb
     # set up a search space based on the robot 1 m x 2 m x 2 m
     (R, t) = self.planner.robot.getLink(0).getParentTransform()
     self.bound = self.bounds = [(t[0]-1, t[0]+2), (t[1]-2, t[2]+2), (0, 3)]
     self.eps = 1e-2
     self.ignore = None
開發者ID:ChenyuLInx,項目名稱:ece490-s2016,代碼行數:9,代碼來源:hw4_planner_mtd13.py

示例3: __init__

 def __init__(self):
     CSpace.__init__(self)
     #set bounds
     self.bound = [(0.0,1.0),(0.0,1.0)]
     #set collision checking resolution
     self.eps = 1e-3
     #setup a robot with radius 0.05
     self.robot = Circle(0,0,0.05)
     #set obstacles here
     self.obstacles = []
開發者ID:haewon-mit,項目名稱:Klampt,代碼行數:10,代碼來源:ex.py

示例4: __init__

 def __init__(self,planner,limb):
     CSpace.__init__(self)
     self.planner = planner
     '''
     :type self.planner: LimbPlanner
     '''
     self.limb = limb
     #TODO: what Cartesian bounding box should the planner sample from?
     self.bound = [(-pi,pi),(-pi,pi),(-pi,pi),(-pi,pi),(-pi,pi),(-pi,pi),(-pi,pi)]
     #TODO: what collision tolerance to use?
     self.eps = 1e-2
開發者ID:ChenyuLInx,項目名稱:ece490-s2016,代碼行數:11,代碼來源:hw4_planner.py

示例5: __init__

    def __init__(self,planner):
        CSpace.__init__(self)
        self.planner = planner

        #TODO: what Cartesian bounding box should the planner sample from?
        self.robot = self.planner.robot
        id_to_index = dict([(self.robot.link(i).getID(),i) for i in range(self.robot.numLinks())])

        qmin,qmax = self.robot.getJointLimits()
        self.bound = [(qmin[i],qmax[i]) for i in range(self.robot.numLinks())]
        self.eps = 1e-3
開發者ID:hshyunsookim,項目名稱:grasp_clustering,代碼行數:11,代碼來源:planner.py

示例6: __init__

 def __init__(self,globals,hand):
     CSpace.__init__(self)
     self.globals = globals
     self.robot = globals.robot
     self.hand = hand
     #initial whole-body configuratoin
     self.q0 = self.robot.getConfig()
     #setup CSpace sampling range
     qlimits = zip(*self.robot.getJointLimits())
     self.bound = [qlimits[i] for i in self.hand.armIndices]
     #setup CSpace edge checking epsilon
     self.eps = 1e-2
開發者ID:arocchi,項目名稱:Klampt,代碼行數:12,代碼來源:ex.py

示例7: __init__

 def __init__(self,planner,limb):
     CSpace.__init__(self)
     self.planner = planner
     self.limb = limb
     #TODO: what Cartesian bounding box should the planner sample from?
     self.robot = self.planner.robot
     id_to_index = dict([(self.robot.link(i).getID(),i) for i in range(self.robot.numLinks())])
     if limb=='left':
         self.limb_indices = [id_to_index[i.getID()] for i in planner.left_arm_links]
     else:
         self.limb_indices = [id_to_index[i.getID()] for i in planner.right_arm_links]
     qmin,qmax = self.robot.getJointLimits()
     self.bound = [(qmin[i]-1e-6,qmax[i]+1e-6) for i in self.limb_indices]
     self.eps = 1e-1
開發者ID:duke-iml,項目名稱:ece490-s2016,代碼行數:14,代碼來源:hw4_planner_impl.py

示例8: __init__

 def __init__(self, planner, limb):
     CSpace.__init__(self)
     self.planner = planner
     self.limb = limb
     # TODO: what Cartesian bounding box should the planner sample from?
     self.robot = self.planner.robot
     id_to_index = dict([(self.robot.link(i).getID(), i) for i in range(self.robot.numLinks())])
     if limb == "left":
         # self.limb_indices = left_arm_geometry_indices + left_hand_geometry_indices
         self.limb_indices = self.planner.left_arm_indices
     else:
         # self.limb_indices = right_arm_geometry_indices + right_hand_geometry_indices
         self.limb_indices = self.planner.right_arm_indices
     qmin, qmax = self.robot.getJointLimits()
     self.bound = [(qmin[i] - 1e-6, qmax[i] + 1e-6) for i in self.limb_indices]
     self.eps = 1e-1
開發者ID:duke-iml,項目名稱:ece490-s2016,代碼行數:16,代碼來源:motionPlanner.py

示例9: feasible

    def feasible(self,q):
        if len(q) != len(self.bound):
            # print len(q), len(self.bound)
            qnew = q[0:len(self.bound)]
            q=qnew
        for i in range(len(q)):
            # print "q", i, q[i], self.bound[i][0], self.bound[i][1]
            if (q[i] < self.bound[i][0]) :
                print "Joint #",self.limb_indices[i],"(",q[i],") out of limits (min:",self.bound[i][0],")"
                print "Changed joint value to its minimum"
                q[i] = self.bound[i][0]

            if (q[i] > self.bound[i][1]) :
                print "Joint #",self.limb_indices[i],"(",q[i],") out of limits (max:",self.bound[i][1],")"
                print "Changed joint value to its maximum"
                q[i] = self.bound[i][1]

        if not CSpace.feasible(self,q):
            # print "LimbCSpace.feasible: Configuration is out of bounds"
            return False

        # cond = self.planner.check_limb_collision_free(self.limb,q)
        # if not cond:
        if not self.planner.check_limb_collision_free(self.limb,q):
            # print "LimbCSpace.feasible: Configuration is in collision"
            return False
        return True
開發者ID:duke-iml,項目名稱:ece490-s2016,代碼行數:27,代碼來源:motionPlanner.py

示例10: feasible

    def feasible(self,q):



        #TODO: implement me
        #the default simply checks if q is within the bounds
        return CSpace.feasible(self,q)
開發者ID:ChenyuLInx,項目名稱:ece490-s2016,代碼行數:7,代碼來源:hw4_planner.py

示例11: feasible

 def feasible(self,q):
     if not CSpace.feasible(self,q):
         # print "LimbCSpace.feasible: Configuration is out of bounds"
         return False
     if not self.planner.check_limb_collision_free(self.limb,q):
             # print "LimbCSpace.feasible: Configuration is in collision"
             return False
     return True
開發者ID:duke-iml,項目名稱:ece490-s2016,代碼行數:8,代碼來源:hw4_planner_impl.py

示例12: feasible

 def feasible(self,q):
     #bounds test
     if not CSpace.feasible(self,q): return False
     #TODO: Problem 1: implement your feasibility tests here
     #currently, only the center is checked, so the robot collides
     #with boundary and obstacles
     for o in self.obstacles:
         if o.contains(q): return False
     return True
開發者ID:haewon-mit,項目名稱:Klampt,代碼行數:9,代碼來源:ex.py

示例13: feasible

 def feasible(self, q):
     # TODO: implement me
     # the default simply checks if q is within the bounds
     # check if the q is within the bounds
     if CSpace.feasible(self, q):
         if self.planner.check_limb_collision_free(self.limb, q, True):
             return True
         else:
             return False
     else:
         return False
開發者ID:duke-iml,項目名稱:ece490-s2016,代碼行數:11,代碼來源:hw4_planner.py

示例14: feasible

 def feasible(self,q):
     verbose = False#len(self.extra_feasibility_tests)>0
     if verbose: print "Custom CSpace test"
     if not CSpace.feasible(self,q):
         if verbose: print "Failed CSpace test"
         return False
     for index,test in enumerate(self.extra_feasibility_tests):
         if not test(q):
             if verbose: print "Extra feasibility test",index,"returned false, returning configuration infeasible"
             return False
     if verbose: print "Passed"
     return True
開發者ID:duke-iml,項目名稱:ece490-s2016,代碼行數:12,代碼來源:planner.py

示例15: feasible

    def feasible(self,q):
        if not CSpace.feasible(self,q):
            #print "LimbCSpace.feasible: Configuration is out of bounds"
            return False
        if not self.planner.check_limb_collision_free(self.limb,q):
            #print "LimbCSpace.feasible: Configuration is in collision"
            return False

        for i in xrange(self.planner.world.numRigidObjects()):
            o = self.planner.world.rigidObject(i)
            g = o.geometry()
            if g != None and g.type()!="":
                if self.planner.vacuumPc.withinDistance(g, .03):
                    return False
        return True
開發者ID:duke-iml,項目名稱:ece490-s2016,代碼行數:15,代碼來源:planning.py


注:本文中的klampt.cspace.CSpace類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。