Choreonoid  1.1
クラス | 公開型 | 公開メンバ関数 | 公開変数類 | フレンド | 全メンバ一覧
cnoid::Link クラス

#include <Link.h>

クラス

struct  ConstraintForce
 

公開型

enum  JointType { FIXED_JOINT, FREE_JOINT, ROTATIONAL_JOINT, SLIDE_JOINT }
 
typedef std::vector
< ConstraintForce
ConstraintForceArray
 

公開メンバ関数

 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 ()
 

公開変数類

Bodybody
 
int index
 
int jointId
 jointId value written in a model file [詳解]
 
JointType jointType
 
Linkparent
 
Linksibling
 
Linkchild
 
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)
 

型定義メンバ詳解

列挙型メンバ詳解

列挙値
FIXED_JOINT 

fixed joint(0 dof)

FREE_JOINT 
ROTATIONAL_JOINT 

6-DOF root link

rotational joint (1 dof)

SLIDE_JOINT 

translational joint (1 dof)

構築子と解体子

Link::Link ( )
Link::Link ( const Link link)
Link::~Link ( )

関数詳解

void Link::addChild ( Link link)
Matrix3 cnoid::Link::attitude ( )
inline
Matrix3 cnoid::Link::calcRfromAttitude ( const Matrix3 R)
inline
void Link::calcSubMassCM ( )

compute sum of m x wc of subtree

覚え書き
assuming wc is already computed by Body::calcCM()
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.

bool cnoid::Link::isRoot ( )
inline
bool cnoid::Link::isValid ( )
inline
const std::string& cnoid::Link::name ( )
inline
Matrix3 cnoid::Link::segmentAttitude ( )
inline
void cnoid::Link::setAttitude ( const Matrix3 R)
inline
void cnoid::Link::setName ( const std::string &  name)
inline
void cnoid::Link::setSegmentAttitude ( const Matrix3 R)
inline
void cnoid::Link::updateColdetModelPosition ( )
inline

フレンドと関連関数の詳解

std::ostream& operator<< ( std::ostream &  out,
Link link 
)
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.


このクラス詳解は次のファイルから抽出されました: