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]
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]