Go to the documentation of this file.
55 jointType = FIXED_JOINT;
60 isHighGainMode =
false;
63 defaultJointValue = 0.0;
67 Link::Link(
const Link& org)
123 stack<Link*> children;
125 children.push(orgChild);
127 while(!children.empty()){
140 Link* linkToDelete = link;
168 bool removed =
false;
171 Link* prevSibling = 0;
173 if(link == childToRemove){
187 childToRemove->
parent = 0;
200 link->setBodyIter(
body);
213 out <<
"Link " <<
name <<
" Link Index = " <<
index <<
", Joint ID = " <<
jointId <<
"\n";
215 out <<
"Joint Type: ";
219 out <<
"Free Joint\n";
222 out <<
"Fixed Joint\n";
225 out <<
"Rotational Joint\n";
226 out <<
"Axis = " <<
a <<
"\n";
229 out <<
"Slide Joint\n";
230 out <<
"Axis = " <<
d <<
"\n";
252 out <<
"b = " <<
b <<
"\n";
253 out <<
"Rs = " <<
Rs <<
"\n";
254 out <<
"c = " <<
c <<
"\n";
255 out <<
"m = " <<
m <<
"\n";
256 out <<
"Ir = " <<
Ir <<
"\n";
257 out <<
"I = " <<
I <<
"\n";
260 out <<
"gearRatio = " <<
gearRatio <<
"\n";
262 out <<
"Jm2 = " <<
Jm2 <<
"\n";
263 out <<
"ulimit = " <<
ulimit <<
"\n";
264 out <<
"llimit = " <<
llimit <<
"\n";
265 out <<
"uvlimit = " <<
uvlimit <<
"\n";
266 out <<
"lvlimit = " <<
lvlimit <<
"\n";
269 out <<
"R = " <<
R <<
"\n";
270 out <<
"p = " <<
p <<
", wc = " <<
wc <<
"\n";
271 out <<
"v = " <<
v <<
", vo = " <<
vo <<
", dvo = " <<
dvo <<
"\n";
272 out <<
"w = " <<
w <<
", dw = " <<
dw <<
"\n";
274 out <<
"u = " <<
u <<
", q = " <<
q <<
", dq = " <<
dq <<
", ddq = " <<
ddq <<
"\n";
276 out <<
"fext = " <<
fext <<
", tauext = " <<
tauext <<
"\n";
278 out <<
"sw = " <<
sw <<
", sv = " <<
sv <<
"\n";
279 out <<
"Ivv = " <<
Ivv <<
"\n";
280 out <<
"Iwv = " <<
Iwv <<
"\n";
281 out <<
"Iww = " <<
Iww <<
"\n";
282 out <<
"cv = " <<
cv <<
", cw = " <<
cw <<
"\n";
283 out <<
"pf = " <<
pf <<
", ptau = " <<
ptau <<
"\n";
284 out <<
"hhv = " <<
hhv <<
", hhw = " <<
hhw <<
"\n";
285 out <<
"uu = " <<
uu <<
", dd = " <<
dd <<
"\n";
315 subIw =
R*
I*
R.transpose();
Vector3 hhw
bottom bock of Ia*s
@ ROTATIONAL_JOINT
6-DOF root link
Matrix33 Iww
bottm right block of the articulated inertia
void calcSubMassInertia(Matrix33 &subIw)
compute sum of I of subtree
void setBodyIter(Body *body)
ColdetModelPtr coldetModel
Matrix33 Ivv
top left block of the articulated inertia
Vector3 ptau
bias force (torque element)
Vector3 pf
bias force (linear element)
Vector3 fext
external force
double Jm2
Equivalent rotor inertia: n^2*Jm [kg.m^2].
double ddq
joint acceleration
Vector3 vo
translation elements of spacial velocity
Vector3 w
angular velocity, omega
double lvlimit
the lower limit of joint velocities
void calcSubMassCM()
compute sum of m x wc of subtree
@ SLIDE_JOINT
translational joint (1 dof)
Vector3 b
relative position (parent local)
Matrix33 Rs
relative attitude of the link segment (self local)
Matrix33 hat(const Vector3 &c)
double uvlimit
the upper limit of joint velocities
std::ostream & operator<<(std::ostream &out, Link &link)
Vector3 tauext
external torque (around the world origin)
png_infop png_charpp name
bool detachChild(Link *link)
Vector3 dv
linear acceleration
Matrix33 I
inertia tensor (self local, around c)
Vector3 hhv
top block of Ia*s
Vector3 dvo
derivative of vo
Vector3 cw
dsw * dq (cross velocity term)
Vector3 dw
derivative of omega
Vector3 a
rotational joint axis (self local)
double llimit
the lower limit of joint values
Vector3 d
translation joint axis (self local)
double subm
mass of subtree
@ FIXED_JOINT
fixed joint(0 dof)
Vector3 c
center of mass (self local)
double ulimit
the upper limit of joint values
Vector3 cv
dsv * dq (cross velocity term)
Matrix33 Iwv
bottom left block (transpose of top right block) of the articulated inertia
int jointId
jointId value written in a model file
void putInformation(std::ostream &out)
Vector3 submwc
sum of m x wc of subtree
void addChild(Link *link)
double Ir
rotor inertia [kg.m^2]
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