Go to the documentation of this file.
26 if(all_value)
delete[] all_value;
27 if(all_value_dot)
delete[] all_value_dot;
28 if(all_vel)
delete[] all_vel;
29 if(all_vel_dot)
delete[] all_vel_dot;
30 if(j_acc_p[0])
delete[] j_acc_p[0];
31 if(j_acc_p[1])
delete[] j_acc_p[1];
32 if(j_acc_p[2])
delete[] j_acc_p[2];
33 if(j_acc_p[3])
delete[] j_acc_p[3];
34 if(j_value_dot[0])
delete[] j_value_dot[0];
35 if(j_value_dot[1])
delete[] j_value_dot[1];
36 if(j_value_dot[2])
delete[] j_value_dot[2];
37 if(j_value_dot[3])
delete[] j_value_dot[3];
38 if(init_value)
delete[] init_value;
39 if(init_vel)
delete[] init_vel;
48 j_acc_p[0] = j_acc_p[1] = j_acc_p[2] = j_acc_p[3] = 0;
49 j_value_dot[0] = j_value_dot[1] = j_value_dot[2] = j_value_dot[3] = 0;
55 if(sg) set_relative_positions(sg);
60 all_value =
new double* [n_value];
61 all_value_dot =
new double* [n_value];
62 j_value_dot[0] =
new double [n_value];
63 j_value_dot[1] =
new double [n_value];
64 j_value_dot[2] =
new double [n_value];
65 j_value_dot[3] =
new double [n_value];
66 init_value =
new double [n_value];
70 all_vel =
new double* [n_dof];
71 all_vel_dot =
new double* [n_dof];
72 j_acc_p[0] =
new double [n_dof];
73 j_acc_p[1] =
new double [n_dof];
74 j_acc_p[2] =
new double [n_dof];
75 j_acc_p[3] =
new double [n_dof];
76 init_vel =
new double [n_dof];
101 if(node->isTransformNode() && (
name = node->getName()) && strstr(
name, ScaleString))
103 char* jointname =
name + strlen(ScaleString);
105 ((TransformNode*)node)->getScale(scale);
123 TransformNode* mytrans = sg->findTransformNode(cur->
name);
195 cerr <<
"warning: joint type not set for " <<
name << endl;
284 cerr <<
"warning: could not find real joint " <<
realname <<
" of " <<
name << endl;
289 cerr <<
"error: real joint " <<
realname <<
" of " <<
name <<
" is also virtual" << endl;
307 cerr <<
"-- " <<
name << endl;
308 cerr <<
"rpos_real = " <<
rpos_real << endl;
309 cerr <<
"ratt_real = " <<
ratt_real << endl;
310 cerr <<
"mass = " <<
mass << endl;
311 cerr <<
"loc_com = " <<
loc_com << endl;
312 cerr <<
"inertia = " <<
inertia << endl;
int t_given
torque or motion controlled
Joint * parent
pointer to the parent joint
void set_joint_name(const char *_joint_name, const char *_char_name)
fEulerPara rel_ep
Euler parameter representation of rel_att (for 0/3/6 DOF joints)
fVec3 abs_pos
absolute position
void add_scale_object(const scale_object &_s)
Joint * root
Chain information.
The class for representing a joint.
virtual int init(SceneGraph *sg)
Initialize the parameters.
int i_thrust
index in all motion controlled joints
void mul(const fMat33 &mat1, const fMat33 &mat2)
JointType j_type
joint type
void init_scale_sub(Node *node)
int n_root_dof
total DOF in the root side
double qd
joint velocity (for 1DOF joints)
fVec3 rel_pos
(initial) position in parent joint's frame (for 0/3/6 DOF joints)
int n_thrust
DOF for motion controlled joints.
Joint * child
pointer to the child joint
#define IR(x)
Integer representation of a floating-point value.
int n_thrust
total DOF of the joints with t_given = false
@ JROTATE
rotational (1DOF)
@ JSPHERE
spherical (3DOF)
int n_dof
degrees of freedom (0/1/3/6)
void ApplyGeomScale(SceneGraph *sg)
fVec3 loc_com
center of mass in local frame
double qdd
joint acceleration (for 1DOF joints)
double q
joint value (for 1DOF joints)
void init_scale(SceneGraph *sg)
png_infop png_charpp name
Classes for defining open/closed kinematic chains.
void apply_geom_scale(SceneGraph *sg, Joint *cur)
double ** all_value
Pointers to the integration variables.
fMat33 abs_att
absolute orientation
void sub(const fVec3 &vec1, const fVec3 &vec2)
int i_dof
index in all DOF
int i_joint
index of the joint
Joint * real
pointer to the real (connected) joint; for closed chains.
friend fMat33 tran(const fMat33 &m)
Returns the transpose.
Joint * FindJoint(const char *jname, const char *charname=0)
Find a joint from name.
fMat tran(const fMat &mat)
int i_value
index in all joint values
char * name
joint name (including the character name)
fMat33 ratt_real
relative orientation in the real joint frame
Joint * brother
pointer to the brother joint
char * realname
name of the real joint (for closed chains)
fVec3 rpos_real
relative position in the real joint frame
void mul(const fVec3 &vec, double d)
openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Wed Sep 7 2022 02:51:03