Example #1
0
    def se2(self):
        """
        Twist3.se Return the twist matrix

        TW.se is the twist matrix in se(2) or se(3) which is an augmented
        skew-symmetric matrix (3x3 or 4x4).

        """
        if len(self) == 1:
            return base.skewa(self.S)
        else:
            return [base.skewa(x.S) for x in self]
Example #2
0
    def se3(self):
        """
        Convert 3D twist to se(3)

        :return: An se(3) matrix
        :rtype: numpy.ndarray, shape=(4,4)

        ``X.se3()`` is the twist as an se(3) matrix, which is an augmented
        skew-symmetric 4x4 matrix.
        """
        if len(self) == 1:
            return base.skewa(self.S)
        else:
            return [base.skewa(x.S) for x in self]
    def se3(self):
        """
        Convert 3D twist to se(3)

        :return: An se(3) matrix
        :rtype: ndarray(4,4)

        ``X.se3()`` is the twist as an se(3) matrix, which is an augmented
        skew-symmetric 4x4 matrix.

        Example:
        
        .. runblock:: pycon

            >>> from spatialmath import Twist3, base
            >>> S = Twist3.Rx(0.3)
            >>> se = S.se3()
            >>> se
            >>> base.trexp(se)
        """
        if len(self) == 1:
            return base.skewa(self.S)
        else:
            return [base.skewa(x.S) for x in self]
    def se2(self):
        """
        Convert 2D twist to se(2)

        :return: An se(2) matrix
        :rtype: ndarray(3,3)

        ``X.se2()`` is the twist as an se(2) matrix, which is an augmented
        skew-symmetric 3x3 matrix.

        Example:
        
        .. runblock:: pycon

            >>> from spatialmath import Twist2, base
            >>> S = Twist2([1,2,3])
            >>> se = S.se2()
            >>> se
            >>> base.trexp2(se)
        """
        if len(self) == 1:
            return base.skewa(self.S)
        else:
            return [base.skewa(x.S) for x in self]