Choreonoid  1.1
構成 | Public 型 | Public メソッド | Public 変数 | フレンド | すべてのメンバ一覧
クラス cnoid::Link

#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 変数

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.


このクラスの説明は次のファイルから生成されました: