Choreonoid
1.1
|
#include <Link.h>
構成 | |
struct | ConstraintForce |
Public 型 | |
enum | JointType { FIXED_JOINT, FREE_JOINT, ROTATIONAL_JOINT, SLIDE_JOINT } |
typedef std::vector < ConstraintForce > | ConstraintForceArray |
Public メソッド | |
Link () | |
Link (const Link &link) | |
~Link () | |
const std::string & | name () |
void | setName (const std::string &name) |
bool | isValid () |
void | addChild (Link *link) |
bool | detachChild (Link *link) |
bool | isRoot () |
void | setAttitude (const Matrix3 &R) |
Matrix3 | attitude () |
Matrix3 | calcRfromAttitude (const Matrix3 &R) |
void | calcSubMassCM () |
compute sum of m x wc of subtree | |
void | setSegmentAttitude (const Matrix3 &R) |
Matrix3 | segmentAttitude () |
void | updateColdetModelPosition () |
Public 変数 | |
Body * | body |
int | index |
int | jointId |
jointId value written in a model file | |
JointType | jointType |
Link * | parent |
Link * | sibling |
Link * | child |
Vector3 | p |
position | |
Matrix3 | R |
Vector3 | v |
linear velocity | |
Vector3 | w |
angular velocity, omega | |
Vector3 | dv |
linear acceleration | |
Vector3 | dw |
derivative of omega | |
double | q |
joint value | |
double | dq |
joint velocity | |
double | ddq |
joint acceleration | |
double | u |
joint torque | |
Vector3 | a |
rotational joint axis (self local) | |
Vector3 | d |
translation joint axis (self local) | |
Vector3 | b |
relative position (parent local) | |
Matrix3 | Rs |
relative attitude of the link segment (self local) | |
double | m |
mass | |
Matrix3 | I |
inertia tensor (self local, around c) | |
Vector3 | c |
center of mass (self local) | |
Vector3 | wc |
R * c + p. | |
Vector3 | vo |
translation elements of spacial velocity | |
Vector3 | dvo |
derivative of vo | |
Vector3 | sw |
Vector3 | sv |
Vector3 | cv |
dsv * dq (cross velocity term) | |
Vector3 | cw |
dsw * dq (cross velocity term) | |
Vector3 | fext |
external force | |
Vector3 | tauext |
external torque (around the world origin) | |
Matrix3 | Iww |
bottm right block of the articulated inertia | |
Matrix3 | Iwv |
bottom left block (transpose of top right block) of the articulated inertia | |
Matrix3 | Ivv |
top left block of the articulated inertia | |
Vector3 | pf |
bias force (linear element) | |
Vector3 | ptau |
bias force (torque element) | |
Vector3 | hhv |
top block of Ia*s | |
Vector3 | hhw |
bottom bock of Ia*s | |
double | uu |
double | dd |
Ia*s*s^T. | |
double | Jm2 |
Equivalent rotor inertia: n^2*Jm [kg.m^2]. | |
double | ulimit |
the upper limit of joint values | |
double | llimit |
the lower limit of joint values | |
double | uvlimit |
the upper limit of joint velocities | |
double | lvlimit |
the lower limit of joint velocities | |
double | defaultJointValue |
double | torqueConst |
double | encoderPulse |
double | Ir |
rotor inertia [kg.m^2] | |
double | gearRatio |
double | gearEfficiency |
double | rotorResistor |
bool | isHighGainMode |
ColdetModelPtr | coldetModel |
ConstraintForceArray | constraintForces |
double | subm |
mass of subtree | |
Vector3 | submwc |
sum of m x wc of subtree |
フレンド | |
std::ostream & | operator<< (std::ostream &out, Link &link) |
typedef std::vector<ConstraintForce> cnoid::Link::ConstraintForceArray |
Link::Link | ( | ) |
Link::Link | ( | const Link & | link | ) |
Link::~Link | ( | ) |
void Link::addChild | ( | Link * | link | ) |
|
inline |
void Link::calcSubMassCM | ( | ) |
compute sum of m x wc of subtree
bool Link::detachChild | ( | Link * | childToRemove | ) |
A child link is detached from the link. The detached child link is not deleted by this function. If a link given by the parameter is not a child of the link, false is returned.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
Vector3 cnoid::Link::a |
rotational joint axis (self local)
Vector3 cnoid::Link::b |
relative position (parent local)
Body* cnoid::Link::body |
Vector3 cnoid::Link::c |
center of mass (self local)
Link* cnoid::Link::child |
ColdetModelPtr cnoid::Link::coldetModel |
ConstraintForceArray cnoid::Link::constraintForces |
Vector3 cnoid::Link::cv |
dsv * dq (cross velocity term)
Vector3 cnoid::Link::cw |
dsw * dq (cross velocity term)
Vector3 cnoid::Link::d |
translation joint axis (self local)
double cnoid::Link::dd |
Ia*s*s^T.
double cnoid::Link::ddq |
joint acceleration
double cnoid::Link::defaultJointValue |
double cnoid::Link::dq |
joint velocity
Vector3 cnoid::Link::dv |
linear acceleration
Vector3 cnoid::Link::dvo |
derivative of vo
Vector3 cnoid::Link::dw |
derivative of omega
double cnoid::Link::encoderPulse |
Vector3 cnoid::Link::fext |
external force
double cnoid::Link::gearEfficiency |
double cnoid::Link::gearRatio |
Vector3 cnoid::Link::hhv |
top block of Ia*s
Vector3 cnoid::Link::hhw |
bottom bock of Ia*s
Matrix3 cnoid::Link::I |
inertia tensor (self local, around c)
int Link::index |
Index among all the links in the body.
double cnoid::Link::Ir |
rotor inertia [kg.m^2]
bool cnoid::Link::isHighGainMode |
Matrix3 cnoid::Link::Ivv |
top left block of the articulated inertia
Matrix3 cnoid::Link::Iwv |
bottom left block (transpose of top right block) of the articulated inertia
Matrix3 cnoid::Link::Iww |
bottm right block of the articulated inertia
double cnoid::Link::Jm2 |
Equivalent rotor inertia: n^2*Jm [kg.m^2].
int cnoid::Link::jointId |
jointId value written in a model file
JointType cnoid::Link::jointType |
double cnoid::Link::llimit |
the lower limit of joint values
double cnoid::Link::lvlimit |
the lower limit of joint velocities
double cnoid::Link::m |
mass
Vector3 cnoid::Link::p |
position
Link* cnoid::Link::parent |
Vector3 cnoid::Link::pf |
bias force (linear element)
Vector3 cnoid::Link::ptau |
bias force (torque element)
double cnoid::Link::q |
joint value
Matrix3 cnoid::Link::R |
Internal world attitude. In the model computation, it corresponds to the identity matrix when all the joint angles of a robot are zero so that multiplication of local attitdue matrices can be omitted to simplify the computation. If you want to use the original coordinate in the model file, use setAttitude() and attitude() to access.
double cnoid::Link::rotorResistor |
Matrix3 cnoid::Link::Rs |
relative attitude of the link segment (self local)
Link* cnoid::Link::sibling |
double cnoid::Link::subm |
mass of subtree
Vector3 cnoid::Link::submwc |
sum of m x wc of subtree
Vector3 cnoid::Link::sv |
A unit vector of spatial velocity (the world coordinate) generated by the joint. The value is parent->R * d when the joint is the translation type.
Vector3 cnoid::Link::sw |
A unit vector of angular velocity (the world coordinate) generated by the joint The value is parent->R * a when the joint is the rotational type.
Vector3 cnoid::Link::tauext |
external torque (around the world origin)
double cnoid::Link::torqueConst |
double cnoid::Link::u |
joint torque
double cnoid::Link::ulimit |
the upper limit of joint values
double cnoid::Link::uu |
double cnoid::Link::uvlimit |
the upper limit of joint velocities
Vector3 cnoid::Link::v |
linear velocity
Vector3 cnoid::Link::vo |
translation elements of spacial velocity
Vector3 cnoid::Link::w |
angular velocity, omega
Vector3 cnoid::Link::wc |
R * c + p.