libmove3d  3.13.0
Public Attributes
jnt Struct Reference

Joint structure. More...

#include <device.h>

List of all members.

Public Attributes

p3d_type_joint type
 The joint type.
int kinematic_type
 Kineo joint type.
int num
 Joint rank in device kinematic chain.
char name [JNT_MAX_SIZE_NAME]
 Joint name.
int ui_kin_num
 joint in ::XYZ_JOINT (UI KIN)
int kin_joint_id
 Identifier of kin_joint data structure defined through UI KINEMATICS.
int is_used_in_device_flag
 Counts number of times the joint was used in a device.
struct robrob
 Robot to which the joint belongs.
struct objo
 Object connected by the joint.
p3d_matrix4 pos0_obs
 Value of the degree of freedom.
p3d_matrix4 pos0
 Point where the joint is attached in the environment in initial position.
p3d_point p0
 Point where the joint is attached in the environment in initial position.
p3d_point relative_p0
 Point where the joint is attached (relative to the previous joint)
int is_defined_relative
 Flag to set the position relative to the previous joint.
p3d_matrix4 abs_pos
 Matrix of the current absolute position of the joint.
int abs_pos_modified
 Flag to show if the absolute position has changed.
p3d_matrix4 abs_pos_before_jnt
 Matrix of the current absolute position of the joint before the apply of jnt::jnt_mat.
int abs_pos_before_jnt_modified
 Flag to show if jnt::abs_pos_before_jnt has changed.
int pos_obj_modified
 Flag to show if the joint position has been updated.
int pos_updated
 Flag to show if the joint position has been updated.
p3d_matrix4 jnt_mat
 Joint matrice.
int mat_modified
 Flag to show if the joint matrice jnt::jnt_mat has changed.
struct jntprev_jnt
 Previous joint.
struct jnt ** next_jnt
 Array of the next joints.
int n_next_jnt
 Number of next joints in jnt::next_jnt.
struct link_between_joint ** link_jnt_arr
 Array of the links between joints.
int n_link_jnt
 Number of links between joints in jnt::link_jnt_arr.
struct link_between_joint ** link_jnt_owned_arr
 Array of the links between joints owned by this joint.
int n_link_jnt_owned
 Number of links between joints in jnt::link_jnt_owned_arr.
double dist
 Maximal distance between the point the joint is attached to and the points of the body.
p3d_prejacprejac
 pre-jacobian matrix list
void * end_user_data
 Pointer for usre data.
int index_dof
 index of the joint's dof in a ::configPt
int index_user_dof
 index of the joint's dof in a user config
int dof_equiv_nbr
 The number of degree of freedom.
int user_dof_equiv_nbr
 The number of user degree of freedom that appear in a user configuration.
p3d_dof_data dof_data [JNT_NB_DOF_MAX]
 The degree of freedom data.

Detailed Description

Joint structure.


Member Data Documentation

p3d_matrix4 jnt::abs_pos

Matrix of the current absolute position of the joint.

Note:
It is compute at each update of the robot by p3d_jnt_calc_mat_pos(), p3d_jnt_init_mat_pos() or p3d_jnt_calc_mat_pos_and_jac(), p3d_jnt_init_mat_pos_and_jac()

Matrix of the current absolute position of the joint before the apply of jnt::jnt_mat.

Note:
It is compute at each update of the robot by p3d_jnt_calc_mat_pos(), p3d_jnt_init_mat_pos() or p3d_jnt_calc_mat_pos_and_jac(), p3d_jnt_init_mat_pos_and_jac()

Pointer for usre data.

Warning:
Used by the sdk.

index of the joint's dof in a user config

Note: The user config, is a config where there aren't the degree of freedom not controled by the user (p3d_dof_data::is_user == FALSE).

Flag to set the position relative to the previous joint.

TRUE if relative_p0 given by initialization (p0 must be computed), FALSE if p0 given by initialization (relative_p0 contains trash)

Warning:
Only used by the sdk.
p3d_matrix4 jnt::jnt_mat

Joint matrice.

Note:
This matrice represent the modification due to the degree of freedom.

Identifier of kin_joint data structure defined through UI KINEMATICS.

modif. Carl 03052001

Warning:
not used

Kineo joint type.

Note: KD_JNT_TYPE_... PRISMATIC, REVOLUTE, FREEFLYER, PLAN, PPIVOT, TRAILER_FALSE

(API add-in) KINEO DEV:18/09/2001

Array of the links between joints owned by this joint.

Note:
Use to destroy them at the end.

Point where the joint is attached in the environment in initial position.

Warning:
DO NOT USE (instead use p3d_jnt_get_point(), p3d_jnt_get_vect_point() or jnt::pos0
p3d_matrix4 jnt::pos0

Point where the joint is attached in the environment in initial position.

Note:
Can be modify by p3d_set_dof_pos0
p3d_matrix4 jnt::pos0_obs

Value of the degree of freedom.

Warning:
Only used for compatibility.

Minimum bounds value of the degree of freedom.

Warning:
Only used for compatibility.

Maximum bounds value of the degree of freedom.

Warning:
Only used for compatibility.

Point where the joint is attached in the environment in initial position.

Note:
Used to compute the relative position of the obstacle

Point where the joint is attached (relative to the previous joint)

Warning:
Only used by the sdk.
p3d_type_joint jnt::type

The joint type.

Note: This is one of the ::p3d_type_joint joint type. There are presently:

  • ::P3D_ROTATE : Joint rotate (1 dof). See p3d_jnt_rotate.c
  • ::P3D_TRANSLATE : Joint translate (1 dof). See p3d_jnt_translate.c
  • ::P3D_BASE : Joint base. Only use as the first joint. It gives compatibility with previous version of Move3D. Furthermore, it could be use as placement joint. It owns 6 dof (3 translations x, y, z, 3 rotations rx, ry, rz). See p3d_jnt_base.c
  • ::P3D_PLAN : Joint plan (3 dof). Its default use is 2 translation x, y and then a rotation rz. See p3d_jnt_plan.c
  • ::P3D_FREEFLYER : This joint looks like the base joint but it could be place at any level in the kinematic and can be placed with any rotation. See p3d_jnt_freeflyer.c

joint in ::XYZ_JOINT (UI KIN)

modif. Carl 16052001

The number of user degree of freedom that appear in a user configuration.

Note: The user config, is a config where there aren't the degree of freedom not controled by the user (p3d_dof_data::is_user == FALSE).


The documentation for this struct was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines