hpp-corbaserver 6.0.0
Corba server for Humanoid Path Planner applications
|
Public Member Functions | |
__init__ (self, *args) | |
__str__ (self) | |
__neg__ (self) | |
__add__ (self, other) | |
__sub__ (self, other) | |
__mul__ (self, other) | |
__rmul__ (self, other) | |
transform (self, v) | |
__abs__ (self) | |
conjugate (self) | |
inv (self) | |
__div__ (self, other) | |
__pow__ (self, n) | |
normalize (self) | |
normalized (self) | |
toRotationMatrix (self) | |
toRotationVector (self) | |
copy (self) | |
toRPY (self) | |
fromRPY (self, R, P, Y) | |
toTuple (self) | |
fromTwoVector (self, a, b) | |
fromAngleAxis (self, axis, angle, degree=False) | |
Public Attributes | |
array | |
Quaternion class : ------------------ A quaternion has a scalar part and a vector part. In this class the quaternion is represented as an array of 4 elements : - the 3 first elements represent the vector part - the last element represents the scalar part One can acces to the array directly with the attribute "array" e.g. q1=Quaternion(0,0,0,1) --> q1.array A quaternion can be instanciated with 1, 2 or 4 elements (see : __init__() for more information). It can also return a rotation vector, a rotation matrix, or a SO3 (see the methods : to...() for more information).
hpp.quaternion.Quaternion.__init__ | ( | self, | |
* | args | ||
) |
Instanciation of the quaternion with 1, 2 or 4 arguments : ----------------------------------------------------------- This creates a 4-sized array (self.array) representing the quaternion with the first element representing the scalar part and the 3 others the vector part. With 4 arguments : ------------------ - the 3 first one are used as the vector part, - the last one as the scalar part. With 2 arguments : ------------------ - the 3-sized argument is used as the vector part. - the 1-sized argument is used as the scalar part, With 1 argument : ----------------- - if it is a quaternion it will create a copy of this quaternion. - if it is a scalar, the scalar will be used as the scalar part and the vector part will be set at (0,0,0). - if it is an array, matrix, tuple or list of 4 elements, the last element is used as the scalar part and the first elements as the vector part. - if it is an array, matrix, tuple or list of 3 elements, the 3 elements are interpreted as a rotation vector, this creates a quaternion representing the same rotation. - if it is a 2 dimension array convertible array, matrix, tuple or list with at least (3*3) elements, the upper left (3*3) elements are interpreted as a rotation matrix, this creates a quaternion representing the same rotation. - if it is an instance of SO3, quaternion is built from rotation matrix. With 0 arguments : ------------------ If no argument is given, than the quaternion will be set by default to with the scalar part set to 1 and the vector part to (0,0,0). (this is the neutral element for multiplication in quaternion space) To create a quaternion from Roll, Pitch, Yaw angles : ----------------------------------------------------- first instanciate a quaternion and than use the method fromRPY() to change the values of it to the dezired ones. e.g. : quat().fromRPY(R,P,Y)
hpp.quaternion.Quaternion.__abs__ | ( | self | ) |
Returns the norm of the quaternion.
hpp.quaternion.Quaternion.__add__ | ( | self, | |
other | |||
) |
If other is not a quaternion it is casted to a quaternion, the elements are added one to one.
hpp.quaternion.Quaternion.__div__ | ( | self, | |
other | |||
) |
If other is not a quaternion it is casted to a quaternion, the result of the quaternion multiplication with the inverse of other is returned.
hpp.quaternion.Quaternion.__mul__ | ( | self, | |
other | |||
) |
If other is not a quaternion it is casted to a quaternion, the result of the quaternion multiplication is returned.
hpp.quaternion.Quaternion.__neg__ | ( | self | ) |
Returns a quaternion which elements are the opposite of the original, (this opposite quaternion represents the same rotation).
hpp.quaternion.Quaternion.__pow__ | ( | self, | |
n | |||
) |
Returns quaternion**n with quaternion**0 = Quaternion(1,0,0,0).
hpp.quaternion.Quaternion.__rmul__ | ( | self, | |
other | |||
) |
other is casted to a quaternion, the result of the quaternion multiplication is returned.
hpp.quaternion.Quaternion.__str__ | ( | self | ) |
String representation of the quaternion.
hpp.quaternion.Quaternion.__sub__ | ( | self, | |
other | |||
) |
If other is not a quaternion it is casted to a quaternion, the elements are substracted one to one.
hpp.quaternion.Quaternion.conjugate | ( | self | ) |
Returns the conjugate of the quaternion.
hpp.quaternion.Quaternion.copy | ( | self | ) |
Returns a copy of the quaternion.
hpp.quaternion.Quaternion.fromAngleAxis | ( | self, | |
axis, | |||
angle, | |||
degree = False |
|||
) |
Build a quaternion from an axis of rotation and an angle. The angle is in radians by default and in degree if degree is set to True. The axis is normalized.
hpp.quaternion.Quaternion.fromRPY | ( | self, | |
R, | |||
P, | |||
Y | |||
) |
Set the values of the quaternion to the values of a unit quaternion representing the same rotation as the one performed by Roll Pitch Yaw : - A rotation of R (Roll) about the original x-axis, followed by a rotation of P (Pitch) about the original y-axis, followed by a rotation of Y (Yaw) about the original z-axis. - Or otherwise a rotation of Y about the original z-axis, followed by a rotation of P about the new y-axis, followed by a rotation of R about the new x-axis.
hpp.quaternion.Quaternion.fromTwoVector | ( | self, | |
a, | |||
b | |||
) |
Return a quaternion build representing the rotation between the two vectors. In other words, the built rotation represent a rotation sending the line of direction a to the line of direction b, both lines passing through the origin. Equations from Eigen https://eigen.tuxfamily.org/dox/classEigen_1_1Quaternion.html#title13
hpp.quaternion.Quaternion.inv | ( | self | ) |
Returns the inverse of the quaternion.
hpp.quaternion.Quaternion.normalize | ( | self | ) |
Changes the values of the quaternion to make it a unit quaternion representing the same rotation as the original one and returns the updated version.
hpp.quaternion.Quaternion.normalized | ( | self | ) |
Returns the unit quaternion representation of the quaternion without changing the original.
hpp.quaternion.Quaternion.toRotationMatrix | ( | self | ) |
Returns a (3*3) array (rotation matrix) representing the same rotation as the (normalized) quaternion.
hpp.quaternion.Quaternion.toRotationVector | ( | self | ) |
Returns a 3-sized array (rotation vector) representing the same rotation as the (normalized) quaternion.
hpp.quaternion.Quaternion.toRPY | ( | self | ) |
Returns a 3-sized array with representing the same rotation as the (normalized) quaternion. With : - the first element representing the Roll, - the second the Pitch - the third the Yaw Where Roll Pitch and Yaw are the angles so that the rotation with the quaternion represents the same rotation as : - A rotation of R (Roll) about the original x-axis, followed by a rotation of P (Pitch) about the original y-axis, followed by a rotation of Y (Yaw) about the original z-axis. - Or otherwise a rotation of Y about the original z-axis, followed by a rotation of P about the new y-axis, followed by a rotation of R about the new x-axis.
hpp.quaternion.Quaternion.toTuple | ( | self | ) |
Return quaternion as a tuple a float starting with real part.
hpp.quaternion.Quaternion.transform | ( | self, | |
v | |||
) |
apply rotation to a vector
hpp.quaternion.Quaternion.array |