示例#1
0
    def compute_wrench_face(self, p):
        """
        Compute the face matrix of the contact wrench cone in the world frame.

        INPUT:

        - ``p`` -- point where the resultant wrench is taken at

        OUTPUT:

        The friction matrix F(p) such that all valid contact wrenches satisfy:

            F(p) * w(p) <= 0,

        where w(p) is the resultant contact wrench at p.
        """
        S = self.compute_wrench_span(p)
        return Cone.face_of_span(S)
示例#2
0
    def compute_wrench_face(self, p):
        """
        Compute the face matrix of the contact wrench cone in the world frame.

        Parameters
        ----------
        p : array, shape=(3,)
            Point where the resultant wrench is taken at.

        Returns
        -------
        F : array, shape=(m, 6)
            Friction matrix such that all valid contact wrenches satisfy
            :math:`F w \\leq 0`, where `w` is the resultant contact wrench at
            `p`.
        """
        S = self.compute_wrench_span(p)
        return Cone.face_of_span(S)
示例#3
0
    def compute_wrench_cone(self, p):
        """
        Compute the face matrix of the contact wrench cone in the world frame.

        INPUT:

        - ``p`` -- point where the resultant wrench is taken at

        OUTPUT:

        The friction matrix F(p) such that all valid contact wrenches satisfy:

            F(p) * w(p) <= 0,

        where w(p) is the resultant contact wrench at p.
        """
        # F = self.compute_stacked_wrench_cones()
        # G = self.compute_grasp_matrix(p)
        # S0 = Cone.span_of_face(F)
        # S = dot(-G, S0)
        S = self.compute_wrench_span(p)
        return Cone.face_of_span(S)
示例#4
0
 def wrench_cone(self):
     """
     Contact wrench friction cone (CWC).
     """
     return Cone(face=self.wrench_face, rays=self.wrench_rays)
示例#5
0
 def force_cone(self):
     """
     Contact force friction cone.
     """
     return Cone(face=self.force_face, rays=self.force_rays)