rotation-tools.c File Reference

Functions to calculate various Rotation matrices. More...

#include "postprocess.h"
Include dependency graph for rotation-tools.c:
This graph shows which files directly or indirectly include this file:

Functions

void encaps_vector2rot (double *vrot, double *Rot)
void gsl_vector2Rot_matrix (gsl_matrix *Rot, gsl_vector *v)
void gsl_Rot_matrix2vector (gsl_matrix *Rot, gsl_vector *v)
void gsl_rot_to_rodrigues (gsl_matrix *Rot, gsl_vector *rodrig)
void gsl_rodrigues_to_rot (gsl_vector *rodrig, gsl_matrix *Rot)
void gramSchmidt (gsl_vector *v1, gsl_vector *v2, gsl_vector *v3, gsl_matrix *R)
void mat_passage_3pts (gsl_vector *v1, gsl_vector *v2, gsl_vector *v3, gsl_matrix *T)
void rotX (double alpha_rad, gsl_matrix *Rot)
 Rotation matrix about axis X, angle in radians.
void rotY (double alpha_rad, gsl_matrix *Rot)
 Rotation matrix about axis Y, angle in radians.
void rotZ (double alpha_rad, gsl_matrix *Rot)
 Rotation matrix about axis Z, angle in radians.
void rotEuler (double X, double Y, double Z, gsl_matrix *Rot)
int gsl_hom_matrix (gsl_vector *P, gsl_matrix *Rot, gsl_matrix *H)
 homogeneous transformation matrix

Detailed Description

Functions to calculate various Rotation matrices.


Function Documentation

void encaps_vector2rot ( double *  vrot,
double *  Rot 
)

References gsl_matrix2double(), and gsl_vector2Rot_matrix().

Here is the call graph for this function:

void gramSchmidt ( gsl_vector *  v1,
gsl_vector *  v2,
gsl_vector *  v3,
gsl_matrix *  R 
)

Construct matrix such that v2-v1 is x-axis, v3-v2-v1 is the x-y-z plane. R converts local coordinates of frame fixed to v1,v2,v3 to global coords.

References gsl_vector_cross_product3D(), and gsl_vector_norme().

Referenced by calc_trans_mat(), and mat_passage_3pts().

Here is the call graph for this function:

Here is the caller graph for this function:

int gsl_hom_matrix ( gsl_vector *  P,
gsl_matrix *  Rot,
gsl_matrix *  H 
)

homogeneous transformation matrix

Takes in the rotation matrix and translation vector as input and stores the resultant homogeneous transformation matrix in H.

Parameters:
[in]PA vector containing the translation co-ordinates of the transform. Expressed as a 3x1 position vector
[in]Rot3x3 Rotation matrix
[out]HResultant transformation matrix obtained as H = [R P; 0 0 0 1]
Returns:
Returns 0 for no error.

Referenced by calc_collar_angles(), calc_joint_angle_err(), DH_hayati(), DHtoFix(), and gsl_pt_quat_matrix().

Here is the caller graph for this function:

void gsl_rodrigues_to_rot ( gsl_vector *  rodrig,
gsl_matrix *  Rot 
)

Referenced by calc_collar_angles(), and gsl_pt_quat_matrix().

Here is the caller graph for this function:

void gsl_Rot_matrix2vector ( gsl_matrix *  Rot,
gsl_vector *  v 
)

References gsl_vector_norme().

Here is the call graph for this function:

void gsl_rot_to_rodrigues ( gsl_matrix *  Rot,
gsl_vector *  rodrig 
)

Referenced by calc_collar_angles().

Here is the caller graph for this function:

void gsl_vector2Rot_matrix ( gsl_matrix *  Rot,
gsl_vector *  v 
)

References gsl_vector_norme().

Referenced by encaps_vector2rot().

Here is the call graph for this function:

Here is the caller graph for this function:

void mat_passage_3pts ( gsl_vector *  v1,
gsl_vector *  v2,
gsl_vector *  v3,
gsl_matrix *  T 
)

References gramSchmidt().

Here is the call graph for this function:

void rotEuler ( double  X,
double  Y,
double  Z,
gsl_matrix *  Rot 
)

References rotX(), rotY(), and rotZ().

Here is the call graph for this function:

void rotX ( double  alpha_rad,
gsl_matrix *  Rot 
)

Rotation matrix about axis X, angle in radians.

Referenced by DH_hayati(), DHtoFix(), and rotEuler().

Here is the caller graph for this function:

void rotY ( double  alpha_rad,
gsl_matrix *  Rot 
)

Rotation matrix about axis Y, angle in radians.

Referenced by DH_hayati(), and rotEuler().

Here is the caller graph for this function:

void rotZ ( double  alpha_rad,
gsl_matrix *  Rot 
)

Rotation matrix about axis Z, angle in radians.

Referenced by calc_collar_angles(), calc_joint_angle_err(), DH_hayati(), DHtoFix(), and rotEuler().

Here is the caller graph for this function:

 All Data Structures Files Functions Variables Typedefs Defines