Functions to calculate various Rotation matrices. More...
#include "postprocess.h"
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 |
Functions to calculate various Rotation matrices.
void encaps_vector2rot | ( | double * | vrot, |
double * | Rot | ||
) |
References gsl_matrix2double(), and gsl_vector2Rot_matrix().
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().
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.
[in] | P | A vector containing the translation co-ordinates of the transform. Expressed as a 3x1 position vector |
[in] | Rot | 3x3 Rotation matrix |
[out] | H | Resultant transformation matrix obtained as H = [R P; 0 0 0 1] |
Referenced by calc_collar_angles(), calc_joint_angle_err(), DH_hayati(), DHtoFix(), and gsl_pt_quat_matrix().
void gsl_rodrigues_to_rot | ( | gsl_vector * | rodrig, |
gsl_matrix * | Rot | ||
) |
Referenced by calc_collar_angles(), and gsl_pt_quat_matrix().
void gsl_Rot_matrix2vector | ( | gsl_matrix * | Rot, |
gsl_vector * | v | ||
) |
void gsl_rot_to_rodrigues | ( | gsl_matrix * | Rot, |
gsl_vector * | rodrig | ||
) |
void gsl_vector2Rot_matrix | ( | gsl_matrix * | Rot, |
gsl_vector * | v | ||
) |
References gsl_vector_norme().
Referenced by encaps_vector2rot().
void mat_passage_3pts | ( | gsl_vector * | v1, |
gsl_vector * | v2, | ||
gsl_vector * | v3, | ||
gsl_matrix * | T | ||
) |
void rotEuler | ( | double | X, |
double | Y, | ||
double | Z, | ||
gsl_matrix * | Rot | ||
) |
void rotX | ( | double | alpha_rad, |
gsl_matrix * | Rot | ||
) |
Rotation matrix about axis X, angle in radians.
Referenced by DH_hayati(), DHtoFix(), and rotEuler().
void rotY | ( | double | alpha_rad, |
gsl_matrix * | Rot | ||
) |
Rotation matrix about axis Y, angle in radians.
Referenced by DH_hayati(), and rotEuler().
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().