EASY-ROB™ Application Programming Interface
v9.301
|
Method class for mathematical calculations, multiplications of homogeneous matrices, conversion Euler angle, triangle calculations, formula parser, etc. More...
#include <ER_CAPI.H>
Static Public Member Functions | |
static ER_DllExport int | vec_to_frame_idx (float *vec, frame *T, int rotation_idx) |
Converts an euler vector or quaternion into a frame. Vector vec is converted into a frame T A frame FRAME is a homogeneous 4x4 transformation matrix. Depending on the rotation index rotation_idx , which is one ofROT_XYZ = RotX * RotY' * RotZ'' default, ROT_XYZ, ROT_ZYX, ROT_YXZ, ROT_ZYZ,ROT_XYX, ROT_RPY, ROT_QUAT, ROT_CA, ROT_ZYpZ, ROT_Y9XZ, ROT_Z9XY, ROT_Z9XZ, ROT_Z9YX, ROT_IJK, ROT_ANGLE_1 See also frame_to_vec_idx() More... | |
static ER_DllExport int | frame_to_vec_idx (float *vec, frame *T, int rotation_idx) |
Converts a frame into an euler vector or quaternion. Frame T is converted into a vector vec A frame FRAME is a homogeneous 4x4 transformation matrix. Depending on the rotation index rotation_idx , which is one ofROT_XYZ = RotX * RotY' * RotZ'' default, ROT_XYZ, ROT_ZYX, ROT_YXZ, ROT_ZYZ,ROT_XYX, ROT_RPY, ROT_QUAT, ROT_CA, ROT_ZYpZ, ROT_Y9XZ, ROT_Z9XY, ROT_Z9XZ, ROT_Z9YX, ROT_IJK, ROT_ANGLE_1 See also vec_to_frame_idx() More... | |
static ER_DllExport void | vec_to_frame (float *vec, frame *T) |
Converts an euler vector with ROT_XYZ representation into a frame. Vector vec is converted into a frame T A frame FRAME is a homogeneous 4x4 transformation matrix. See also frame_to_vec() More... | |
static ER_DllExport void | frame_to_vec (float *vec, frame *T) |
Converts a frame into an euler vector with ROT_XYZ representation. Frame T is converted into a vector vec A frame FRAME is a homogeneous 4x4 transformation matrix. See also vec_to_frame() More... | |
static ER_DllExport int * | inq_rob_kin_controller_rot_idx (void) |
Returns the Controller rotation index for the cRobot. The Controller index is one of ROT_XYZ = RotX * RotY' * RotZ'' default, ROT_XYZ, ROT_ZYX, ROT_YXZ, ROT_ZYZ,ROT_XYX, ROT_RPY, ROT_QUAT, ROT_CA, ROT_ZYpZ, ROT_Y9XZ, ROT_Z9XY, ROT_Z9XZ, ROT_Z9YX, ROT_IJK, ROT_ANGLE_1 . More... | |
static ER_DllExport char * | inq_rob_kin_controller_name (void) |
Returns the Controller name for the cRobot. More... | |
static ER_DllExport void | inv_T (FRAME *To, FRAME *Ti) |
Builds the inverse of a homogeneous 4x4 transformation matrix Ti .To = inv(Ti) = ( Ri' , -Ri'*pi ), Ri' is transpose of Ri A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | inv_R (FRAME *Ro, FRAME *Ri) |
Builds the inverse of the 3x3 orientation matrix from a homogeneous 4x4 transformation matrix T .Ro = inv(Ri) = transpose(Ri) = Ri', with Ti = ( Ri , pi ) A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | incr_T (FRAME *Ti1, FRAME *Ti2, int res) |
Multiplication of two homogeneous 4x4 transformation matrices. Depending in res , the result is copied to Ti1 or Ti2 .If res is 1, Ti1 = Ti1 * Ti2If res is 2, Ti2 = Ti1 * Ti2A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | incr_R (FRAME *Ri1, FRAME *Ri2, int res) |
Orientation multiplication of two homogeneous 4x4 transformation matrices. Depending in res , the result is copied to Ri1 or Ri2 .If res is 1, Ri1 = Ri1 * Ri2If res is 2, Ri2 = Ri1 * Ri2A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | cpy_R (FRAME *Ro, FRAME *Ri) |
Copies the Orientation from frame Ri into frame Ro A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport float * | delta_T (float *dx, frame *Ts, frame *Ti) |
Builds the difference between frame Ts and frame Ti Position dx[0..2] = Ts->p[0..2] - Ti->p[0..2] Orientation dx[3..5]= 'inv(Ri)*Rs'. Remarks It is assumed that the orientation of Ts and Ti are "close by". More... | |
static ER_DllExport void | mul_R_R (FRAME *Ro, FRAME *Ri1, FRAME *Ri2) |
Orientation multiplication of two homogeneous 4x4 transformation matrices. Ro = Ri1 * Ri2 A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | mul_T_T (FRAME *To, FRAME *Ti1, FRAME *Ti2) |
Multiplication of two homogeneous 4x4 transformation matrices. To = Ti1 * Ti2 A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | mul_T_invT (FRAME *To, FRAME *Ti1, FRAME *Ti2) |
Multiplication of two homogeneous 4x4 transformation matrices. To = Ti1 * inv(Ti2) Remarks inv(T) is the inverse of T, see inv_T() A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | mul_invT_T (FRAME *To, FRAME *Ti1, FRAME *Ti2) |
Multiplication of two homogeneous 4x4 transformation matrices. To = inv(Ti1) * Ti2 Remarks inv(T) is the inverse of T, see inv_T() A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | mul_invT_invT (FRAME *To, FRAME *Ti1, FRAME *Ti2) |
Multiplication of two homogeneous 4x4 transformation matrices. To = inv(Ti1) * inv(Ti2) Remarks inv(T) is the inverse of T, see inv_T() A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | mul_T_pos (float *po, FRAME *T, float *pi) |
Multiplication of a 3x1 position with a homogeneous 4x4 transformation matrices. po = T * pi, pi is vector of size DIM po = R*pi + p, with T = ( R , p) A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | mul_invT_pos (float *po, FRAME *T, float *pi) |
Multiplication of a 3x1 position with the inverse of a homogeneous 4x4 transformation matrices. po = inv(T) * pi, pi is vector of size DIM Remarks inv(T) is the inverse of T, see inv_T() A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | mul_R_pos (float *po, FRAME *R, float *pi) |
Multiplication of a 3x1 position with the 3x3 orientation of a homogeneous 4x4 transformation matrices. po = R * pi, pi is vector of size DIM A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | mul_invR_pos (float *po, FRAME *R, float *pi) |
Multiplication of a 3x1 position with the transpose of a 3x3 orientation of a homogeneous 4x4 transformation matrices. po = R' * pi, pi is vector of size DIM Remarks R' = inv(R) is the transpose of R, see inv_R() A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | mul_T_T_T (FRAME *To, FRAME *Ti1, FRAME *Ti2, FRAME *Ti3) |
Tripple multiplication of homogeneous 4x4 transformation matrices. To = Ti1 * Ti2 * Ti3 A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | mul_T_T_invT (FRAME *To, FRAME *Ti1, FRAME *Ti2, FRAME *Ti3) |
Tripple multiplication of homogeneous 4x4 transformation matrices. To = Ti1 * Ti2 * inv(Ti3) Remarks inv(T) is the inverse of T, see inv_T() A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | mul_T_invT_T (FRAME *To, FRAME *Ti1, FRAME *Ti2, FRAME *Ti3) |
Tripple multiplication of homogeneous 4x4 transformation matrices. To = Ti1 * inv(Ti2) * Ti3 Remarks inv(T) is the inverse of T, see inv_T() A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | mul_T_invT_invT (FRAME *To, FRAME *Ti1, FRAME *Ti2, FRAME *Ti3) |
Tripple multiplication of homogeneous 4x4 transformation matrices. To = Ti1 * inv(Ti2) * inv(Ti3) Remarks inv(T) is the inverse of T, see inv_T() A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | mul_invT_T_T (FRAME *To, FRAME *Ti1, FRAME *Ti2, FRAME *Ti3) |
Tripple multiplication of homogeneous 4x4 transformation matrices. To = inv(Ti1) * Ti2 * Ti3 Remarks inv(T) is the inverse of T, see inv_T() A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | mul_invT_T_invT (FRAME *To, FRAME *Ti1, FRAME *Ti2, FRAME *Ti3) |
Tripple multiplication of homogeneous 4x4 transformation matrices. To = inv(Ti1) * Ti2 * inv(Ti3) Remarks inv(T) is the inverse of T, see inv_T() A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | mul_invT_invT_T (FRAME *To, FRAME *Ti1, FRAME *Ti2, FRAME *Ti3) |
Tripple multiplication of homogeneous 4x4 transformation matrices. To = inv(Ti1) * inv(Ti2) * Ti3 Remarks inv(T) is the inverse of T, see inv_T() A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | mul_invT_invT_invT (FRAME *To, FRAME *Ti1, FRAME *Ti2, FRAME *Ti3) |
Tripple multiplication of homogeneous 4x4 transformation matrices. To = inv(Ti1) * inv(Ti2) * inv(Ti3) Remarks inv(T) is the inverse of T, see inv_T() A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | rob_kin_T_mal_T (frame *Ti1, frame *Ti2) |
Multiplication of two homogeneous 4x4 transformation matrices. Ti1 = Ti1 * Ti2 Remarks same as incr_T() with res=1 A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | rob_kin_R_mal_R (frame *Ti1, frame *Ti2) |
Orientation multiplication of two homogeneous 4x4 transformation matrices. Ri1 = Ri1 * Ri2 Remarks same as incr_R() with res=1 A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | rob_kin_frame_ident (frame *T) |
Set the homogeneous 4x4 transformation matrix T to identity.T = Ident A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | rob_kin_rot (int rotation_idx, double q, frame *T) |
Set orientation of homogeneous 4x4 transformation matrix. T = f(q,rotation_idx) The rotation index rotation_idx , is one ofROT_IDENT = default, ROT_X, ROT_Y or ROT_Z A frame FRAME is a homogeneous 4x4 transformation matrix. More... | |
static ER_DllExport void | rob_kin_rot_xyz (frame *T, float Rx, float Ry, float Rz) |
Converts an euler represented rotation index ROT_XYZ into a frame. Rotation angle Rx , Ry , Rz are converted into a frame T A frame FRAME is a homogeneous 4x4 transformation matrix. Remarks Use rob_kin_trans() to set the position. More... | |
static ER_DllExport void | rob_kin_trans (frame *T, double x, double y, double z) |
Converts a position into a frame. Location x , y , z are converted into a frame T , T->p = [x,y,z]A frame FRAME is a homogeneous 4x4 transformation matrix. Remarks Use rob_kin_rot_xyz() to set the orientation. More... | |
static ER_DllExport void | dh_to_frame (ROB_DH *rdh, frame *T) |
Converts Denavit Hartenberg Parameter ROB_DH parameter into a homogeneous frame FRAME. More... | |
static ER_DllExport float | sass (float s1, float beta, float s2) |
Triangle calculation, calculates the opposite site of angle beta Using cosine rule c^2 = a^2 + b^2 - 2ab*cos(beta) Remarks See EASY-ROB-ERPL-eng.pdf "parser functions". More... | |
static ER_DllExport float | sasa (float s1, float beta, float s2) |
Triangle calculation, calculates the angle at side s2 Remarks See EASY-ROB-ERPL-eng.pdf "parser functions". More... | |
static ER_DllExport float | asss (float beta, float s1, float s2) |
Triangle calculation, calculates 3rd side s3 Remarks See EASY-ROB-ERPL-eng.pdf "parser functions". More... | |
static ER_DllExport float | assa (float beta, float s1, float s2) |
Triangle calculation, calculates angle between s1 and s2 Remarks See EASY-ROB-ERPL-eng.pdf "parser functions". More... | |
static ER_DllExport float | assa2 (float beta, float s1, float s2) |
Triangle calculation, calculates angle between s2 and s3 Remarks See EASY-ROB-ERPL-eng.pdf "parser functions". More... | |
static ER_DllExport float | sssa (float s1, float s2, float s3) |
Triangle calculation, calculates angle opposite of s1 Remarks See EASY-ROB-ERPL-eng.pdf "parser functions". More... | |
static ER_DllExport float | sasssa (float s1, float beta, float s2, float s3, float s4) |
Quadrangle calculation, calculates angle between s2 of s3 Remarks See EASY-ROB-ERPL-eng.pdf "parser functions". More... | |
static ER_DllExport float | sasssa2 (float s1, float beta, float s2, float s3, float s4) |
Quadrangle calculation, calculates angle between s3 of s4 Remarks See EASY-ROB-ERPL-eng.pdf "parser functions". More... | |
static ER_DllExport int | inq_errorflg (void) |
Parser error flag Remarks call this function after calling parser_calc() More... | |
static ER_DllExport double | parser_calc (char *str, int *error) |
Formel parser calculation Remarks call inq_errorflg() to get parser error. More... | |
static ER_DllExport double | rob_kin_atan2 (double y, double x) |
Calculates math function atan2 If x=y=0, this function return 0. More... | |
static ER_DllExport int | circ_center_point (float *p1, float *p2, float *p3, frame *pTc, float *radius, float *phi, float *dphi=NULL) |
Circle calculation from three points p1 over p2 to p3 . Calculates center of circle, radius and angle. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from ER_CAPI_SYS | |
static ER_CAPI_SYS_UTILITIES | er_capi_sys_utilities |
Method class for helping functions, color conversion, etc. More... | |
static ER_CAPI_SYS_MATHEMATICS | er_capi_sys_mathematics |
Method class for mathematical calculations, multiplications of homogeneous matrices, conversion Euler angle, triangle calculations, formula parser, etc. More... | |
static ER_CAPI_SYS_VIEW | er_capi_sys_view |
Method class for graphical update of the 3D scene, refreshing dialogs, etc. More... | |
static ER_CAPI_SYS_PREVIEW | er_capi_sys_preview |
Method class for the CAD-Preview. More... | |
static ER_CAPI_SYS_STATUS | er_capi_sys_status |
Method class for unloading objects (work cells, robots, tools, programs, etc.) simulation status. More... | |
static ER_CAPI_SYS_UNITS | er_capi_sys_units |
Method class for setting and calculating units. More... | |
static ER_CAPI_SYS_USERDLL | er_capi_sys_userdll |
Method class to access API UserDll. More... | |
static ER_CAPI_SYS_APIDLL | er_capi_sys_apidll |
Method class to access API Dll for inverse kinematics, robot trajectory planner and robot dynamics. More... | |
Static Public Attributes inherited from ER_CAPI | |
static ER_CAPI_USER_IO | er_capi_user_io |
Method class for interaction with EASY-ROB. More... | |
static ER_CAPI_DEVICES | er_capi_devices |
Method class to create, attach, update devices, for kinematics calculations and for trajectory planning and -execution. More... | |
static ER_CAPI_SIM | er_capi_sim |
Method class for simulation settings. More... | |
static ER_CAPI_TARGETS | er_capi_targets |
Method class for paths and tags. More... | |
static ER_CAPI_CAD | er_capi_cad |
Method class for for 3D CAD Data import and -export, changing attributes and positions. More... | |
static ER_CAPI_SYS | er_capi_sys |
Method class for mathematical calculations, simulation status, units. More... | |
Method class for mathematical calculations, multiplications of homogeneous matrices, conversion Euler angle, triangle calculations, formula parser, etc.
|
static |
Triangle calculation, calculates angle between s1
and s2
Remarks
See EASY-ROB-ERPL-eng.pdf "parser functions".
[in] | beta | angle between s1 and s3, [rad] |
[in] | s1 | side |
[in] | s2 | side |
angle | between s1 and s2 |
|
static |
Triangle calculation, calculates angle between s2
and s3
Remarks
See EASY-ROB-ERPL-eng.pdf "parser functions".
[in] | beta | angle between s1 and s3, [rad] |
[in] | s1 | side |
[in] | s2 | side |
angle | between s2 and s3 |
|
static |
Triangle calculation, calculates 3rd side s3
Remarks
See EASY-ROB-ERPL-eng.pdf "parser functions".
[in] | beta | angle between s1 and s3, [rad] |
[in] | s1 | side |
[in] | s2 | side |
s3 | side |
|
static |
Circle calculation from three points p1
over p2
to p3
.
Calculates center of circle, radius and angle.
[in] | p1 | 1st point, DIM |
[in] | p2 | 2nd point, DIM |
[in] | p3 | 3rd point, DIM |
[out] | pTc | center of circle, FRAME |
[out] | radius | of circle |
[out] | phi | angle of complete circle segment from p1 over p2 to p3 |
[out] | dphi | angle of circle segment from p1 to p2 |
0 | - OK |
1 | - Error, cannot calculate circle, maybe p1, p2 and p3 are on a line |
|
static |
Builds the difference between frame Ts and frame Ti
Position dx[0..2] = Ts->p[0..2] - Ti->p[0..2]
Orientation dx[3..5]= 'inv(Ri)*Rs'.
Remarks
It is assumed that the orientation of Ts and Ti are "close by".
pointer | to dx |
|
static |
Converts a frame into an euler vector with ROT_XYZ representation.
Frame T
is converted into a vector vec
A frame FRAME is a homogeneous 4x4 transformation matrix.
See also vec_to_frame()
0 | - OK |
1 | - Error |
|
static |
Converts a frame into an euler vector or quaternion.
Frame T
is converted into a vector vec
A frame FRAME is a homogeneous 4x4 transformation matrix.
Depending on the rotation index rotation_idx
, which is one of
ROT_XYZ = RotX * RotY' * RotZ'' default,
ROT_XYZ, ROT_ZYX, ROT_YXZ, ROT_ZYZ,ROT_XYX, ROT_RPY, ROT_QUAT, ROT_CA, ROT_ZYpZ,
ROT_Y9XZ, ROT_Z9XY, ROT_Z9XZ, ROT_Z9YX, ROT_IJK, ROT_ANGLE_1
See also vec_to_frame_idx()
[out] | vec | vector (euler, quaternion), max size is DOF6 or DOF_QUAT for ROT_QUAT |
[in] | T | homegeneous matrix FRAME |
[in] | rotation_idx | rotation index |
0 | - OK |
1 | - Error, invalid rotation_idx |
|
static |
Orientation multiplication of two homogeneous 4x4 transformation matrices.
Depending in res
, the result is copied to Ri1
or Ri2
.
If res
is 1, Ri1 = Ri1 * Ri2
If res
is 2, Ri2 = Ri1 * Ri2
A frame FRAME is a homogeneous 4x4 transformation matrix.
|
static |
Multiplication of two homogeneous 4x4 transformation matrices.
Depending in res
, the result is copied to Ti1
or Ti2
.
If res
is 1, Ti1 = Ti1 * Ti2
If res
is 2, Ti2 = Ti1 * Ti2
A frame FRAME is a homogeneous 4x4 transformation matrix.
|
static |
Parser error flag
Remarks
call this function after calling parser_calc()
0 | - Ok |
1 | - Error |
|
static |
Returns the Controller name for the cRobot.
name | Controller name, MAXSTR |
|
static |
Returns the Controller rotation index for the cRobot.
The Controller index is one of
ROT_XYZ = RotX * RotY' * RotZ'' default,
ROT_XYZ, ROT_ZYX, ROT_YXZ, ROT_ZYZ,ROT_XYX, ROT_RPY, ROT_QUAT, ROT_CA, ROT_ZYpZ,
ROT_Y9XZ, ROT_Z9XY, ROT_Z9XZ, ROT_Z9YX, ROT_IJK, ROT_ANGLE_1
.
rot_idx | Controller rotation index |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Formel parser calculation
Remarks
call inq_errorflg() to get parser error.
[in] | str | formular |
[out] | error | flag, 0-Ok, 1-Error |
result | calculated parser result |
|
static |
Calculates math function atan2
If x=y=0, this function return 0.
[in] | y | |
[in] | x |
atan2 |
|
static |
|
static |
Set orientation of homogeneous 4x4 transformation matrix.
T = f(q,rotation_idx)
The rotation index rotation_idx
, is one of
ROT_IDENT = default, ROT_X, ROT_Y or ROT_Z
A frame FRAME is a homogeneous 4x4 transformation matrix.
[out] | T | frame FRAME |
[in] | q | rotation angle [rad] |
[in] | rotation_idx | rotation index |
|
static |
Converts an euler represented rotation index ROT_XYZ into a frame.
Rotation angle Rx
, Ry
, Rz
are converted into a frame T
A frame FRAME is a homogeneous 4x4 transformation matrix.
Remarks
Use rob_kin_trans() to set the position.
[out] | T | homegeneous matrix FRAME |
[in] | Rx | rotation angle about X axis in [rad] |
[in] | Ry | rotation angle about Y axis in [rad] |
[in] | Rz | rotation angle about Z axis in [rad] |
|
static |
Converts a position into a frame.
Location x
, y
, z
are converted into a frame T
, T->p = [x,y,z]
A frame FRAME is a homogeneous 4x4 transformation matrix.
Remarks
Use rob_kin_rot_xyz() to set the orientation.
[out] | T | homegeneous matrix FRAME |
[in] | x | X position |
[in] | y | Y position |
[in] | z | Z position |
|
static |
Triangle calculation, calculates the angle at side s2
Remarks
See EASY-ROB-ERPL-eng.pdf "parser functions".
[in] | s1 | side |
[in] | beta | angle between s1 and s2, [rad] |
[in] | s2 | side |
angle | at side s2 |
|
static |
Triangle calculation, calculates the opposite site of angle beta
Using cosine rule c^2 = a^2 + b^2 - 2ab*cos(beta)
Remarks
See EASY-ROB-ERPL-eng.pdf "parser functions".
[in] | s1 | side |
[in] | beta | angle between s1 and s2, [rad] |
[in] | s2 | side |
s3 | opposite site of angle beta |
|
static |
Quadrangle calculation, calculates angle between s2
of s3
Remarks
See EASY-ROB-ERPL-eng.pdf "parser functions".
[in] | s1 | side |
[in] | beta | angle between s1 and s2 |
[in] | s2 | side |
[in] | s3 | side |
[in] | s4 | side |
angle | between s2 of s3 |
|
static |
Quadrangle calculation, calculates angle between s3
of s4
Remarks
See EASY-ROB-ERPL-eng.pdf "parser functions".
[in] | s1 | side |
[in] | beta | angle between s1 and s2 |
[in] | s2 | side |
[in] | s3 | side |
[in] | s4 | side |
angle | between s3 of s4 |
|
static |
Triangle calculation, calculates angle opposite of s1
Remarks
See EASY-ROB-ERPL-eng.pdf "parser functions".
[in] | s1 | side |
[in] | s2 | side |
[in] | s3 | side |
angle | opposite of s1 |
|
static |
Converts an euler vector with ROT_XYZ representation into a frame.
Vector vec
is converted into a frame T
A frame FRAME is a homogeneous 4x4 transformation matrix.
See also frame_to_vec()
0 | - OK |
1 | - Error |
|
static |
Converts an euler vector or quaternion into a frame.
Vector vec
is converted into a frame T
A frame FRAME is a homogeneous 4x4 transformation matrix.
Depending on the rotation index rotation_idx
, which is one of
ROT_XYZ = RotX * RotY' * RotZ'' default,
ROT_XYZ, ROT_ZYX, ROT_YXZ, ROT_ZYZ,ROT_XYX, ROT_RPY, ROT_QUAT, ROT_CA, ROT_ZYpZ,
ROT_Y9XZ, ROT_Z9XY, ROT_Z9XZ, ROT_Z9YX, ROT_IJK, ROT_ANGLE_1
See also frame_to_vec_idx()
[in] | vec | vector (euler, quaternion), max size is DOF6 or DOF_QUAT for ROT_QUAT |
[out] | T | homegeneous matrix FRAME |
[in] | rotation_idx | rotation index |
0 | - OK |
1 | - Error, invalid rotation idx |