FancySafeBot 0.0.1
A safe robotics library
Loading...
Searching...
No Matches
Rotation matrices and conversions

Conversions and operations for rotations in SO(3) More...

Functions

Mat3 fsb::skew_symmetric (const Vec3 &vec)
 Skew-symmetric matrix from vector.
 
Vec3 fsb::quat_to_ezyx (const Quaternion &quat)
 Convert unit quaternion to intrinsic ZYX Euler-angles.
 
Quaternion fsb::ezyx_to_quat (const Vec3 &ezyx)
 Convert intrinsic ZYX Euler-angles to unit quaternion.
 
Mat3 fsb::quat_to_rot (const Quaternion &quat)
 Convert unit quaternion to rotation matrix.
 
Quaternion fsb::rot_to_quat (const Mat3 &rot)
 Convert rotation matrix to unit quaternion.
 
Vec3 fsb::quat_to_rotvec (const Quaternion &quat)
 Convert unit quaternion to rotation vector.
 
Quaternion fsb::rotvec_to_quat (const Vec3 &rotvec)
 Convert rotation vector to unit quaternion.
 
Mat3 fsb::rot_identity ()
 Identity rotation matrix.
 
Mat3 fsb::rot_rx (real_t rx)
 Rotation matrix about x-axis.
 
Mat3 fsb::rot_ry (real_t ry)
 Rotation matrix about y-axis.
 
Mat3 fsb::rot_rz (real_t rz)
 Rotation matrix about z-axis.
 
Vec3 fsb::rotate_mat3 (const Mat3 &rot, const Vec3 &vec)
 Matrix multiplication with rotation matrix.
 
Vec3 fsb::rotate_mat3_transpose (const Mat3 &rot, const Vec3 &vec)
 Transposed matrix multiplication with rotation matrix.
 

Detailed Description

Conversions and operations for rotations in SO(3)

Function Documentation

◆ ezyx_to_quat()

Quaternion fsb::ezyx_to_quat ( const Vec3 ezyx)

Convert intrinsic ZYX Euler-angles to unit quaternion.

Parameters
ezyxEuler angles in radians
Returns
Quaternion

◆ quat_to_ezyx()

Vec3 fsb::quat_to_ezyx ( const Quaternion quat)

Convert unit quaternion to intrinsic ZYX Euler-angles.

Parameters
quatQuaternion
Returns
Euler angles in radians

◆ quat_to_rot()

Mat3 fsb::quat_to_rot ( const Quaternion quat)

Convert unit quaternion to rotation matrix.

Parameters
quatQuaternion
Returns
Rotation matrix

◆ quat_to_rotvec()

Vec3 fsb::quat_to_rotvec ( const Quaternion quat)

Convert unit quaternion to rotation vector.

Parameters
quatQuaternion
Returns
Rotation vector

◆ rot_identity()

Mat3 fsb::rot_identity ( )

Identity rotation matrix.

\( \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} \)

Returns
Identity rotation matrix

◆ rot_rx()

Mat3 fsb::rot_rx ( real_t  rx)

Rotation matrix about x-axis.

Parameters
rxRotation angle in radians
Returns
Rotation matrix

◆ rot_ry()

Mat3 fsb::rot_ry ( real_t  ry)

Rotation matrix about y-axis.

Parameters
ryRotation angle in radians
Returns
Rotation matrix

◆ rot_rz()

Mat3 fsb::rot_rz ( real_t  rz)

Rotation matrix about z-axis.

Parameters
rzRotation angle in radians
Returns
Rotation matrix

◆ rot_to_quat()

Quaternion fsb::rot_to_quat ( const Mat3 rot)

Convert rotation matrix to unit quaternion.

Parameters
rotRotation matrix
Returns
Quaternion

◆ rotate_mat3()

Vec3 fsb::rotate_mat3 ( const Mat3 rot,
const Vec3 vec 
)

Matrix multiplication with rotation matrix.

Parameters
rotRotation matrix
vecVector
Returns
Rotated vector

◆ rotate_mat3_transpose()

Vec3 fsb::rotate_mat3_transpose ( const Mat3 rot,
const Vec3 vec 
)

Transposed matrix multiplication with rotation matrix.

Parameters
rotRotation matrix
vecVector
Returns
Rotated vector with transpose of rotation matrix

◆ rotvec_to_quat()

Quaternion fsb::rotvec_to_quat ( const Vec3 rotvec)

Convert rotation vector to unit quaternion.

Parameters
rotvecRotation vector
Returns
Quaternion

◆ skew_symmetric()

Mat3 fsb::skew_symmetric ( const Vec3 vec)

Skew-symmetric matrix from vector.

\( [v]^{\times} = \begin{bmatrix} 0 & -v_z & v_y \\ v_z & 0 & -v_x \\ -v_y & v_x & 0 \end{bmatrix} \)

Parameters
vecVector
Returns
Skew-symmetric matrix