Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends
pSim Class Reference

Main class for forward dynamics computation. More...

#include <psim.h>

Inheritance diagram for pSim:
Inheritance graph
[legend]

List of all members.

Public Member Functions

int AutoSchedule (int max_procs)
 Automatic scheduling for max_procs processors.
virtual void Clear ()
int ConstraintForces (fVec &cf)
 Extract the constraint forces.
void DumpSchedule (ostream &ost)
 Dump the schedule information to ost.
void GetPJoint (Joint *_joint, pJoint *_pjoints[2])
int NumLeaves ()
 pSim ()
 Default constructor.
int Schedule ()
 Creates default schedule, which is optimized for serial computation.
int Schedule (Joint **joints)
 Creates a schedule that assembles the chain in the specified order of joints.
int ScheduleDepth ()
int TotalCost ()
 Approximate indicators of total computational cost.
int Update ()
 Compute joint accelerations.
int Update (double timestep, std::vector< class SDContactPair * > &sdContactPairs)
 Compute joint accelerations and contact forces.
 ~pSim ()

Protected Member Functions

virtual int clear_contact ()
virtual int clear_data ()
 Clear arrays only; don't delete joints.
virtual int init (SceneGraph *sg)
 Initialize the parameters.
int init_contact ()
int myinit ()

Private Member Functions

int build_subchain_tree (int _n_joints, Joint **joints, subchain_list &buf)
void build_subchain_tree (Joint *cur_joint, subchain_list &buf)
void calc_consts ()
void calc_dvel ()
void col_disassembly ()
int contact_vjoint_index (Joint *_jnt)
pSubChaindefault_schedule (pSubChain *p, Joint *j)
void default_schedule_virtual (Joint *j)
void disassembly ()
int in_subchain (pSubChain *sc, pLink *pl)
void setup_pjoint (Joint *j)
void setup_pjoint_virtual (Joint *j)
void update_collision ()
void update_position ()
void update_velocity ()

Private Attributes

std::vector< fVec3all_jdot_r
std::vector< fVec3all_jdot_v
std::vector< fMatall_Jr
std::vector< fMatall_Jv
joint_list all_vjoints
fVec3 cone_dir [N_FRIC_CONE_DIV]
std::vector< fVec3contact_relvels
joint_list contact_vjoints
std::vector< double > fric_coefs
JointInfojoint_info
pSubChainsubchains

Friends

class pJoint
class pLink
class pSubChain

Detailed Description

Main class for forward dynamics computation.

Definition at line 446 of file psim.h.


Constructor & Destructor Documentation

pSim::pSim ( ) [inline]

Default constructor.

Default constructor.

Parameters:
_rankRank of the process on which the instance is generated (only for parallel processing).

Definition at line 461 of file psim.h.

pSim::~pSim ( ) [inline]

Definition at line 482 of file psim.h.


Member Function Documentation

int pSim::AutoSchedule ( int  max_procs)

Automatic scheduling for max_procs processors.

Definition at line 765 of file schedule.cpp.

int pSim::build_subchain_tree ( int  _n_joints,
Joint **  joints,
subchain_list buf 
) [private]

Definition at line 1352 of file schedule.cpp.

void pSim::build_subchain_tree ( Joint cur_joint,
subchain_list buf 
) [private]

Definition at line 1363 of file schedule.cpp.

void pSim::calc_consts ( ) [private]

Definition at line 286 of file psim.cpp.

void pSim::calc_dvel ( ) [private]

Definition at line 574 of file update.cpp.

void pSim::Clear ( ) [virtual]

Clear

Reimplemented from Chain.

Definition at line 87 of file psim.cpp.

int pSim::clear_contact ( ) [protected, virtual]

Definition at line 123 of file psim.cpp.

int pSim::clear_data ( ) [protected, virtual]

Clear arrays only; don't delete joints.

Reimplemented from Chain.

Definition at line 105 of file psim.cpp.

void pSim::col_disassembly ( ) [private]

Definition at line 676 of file update.cpp.

Extract the constraint forces.

psim.cpp Create: Katsu Yamane, 04.02.23

Definition at line 17 of file psim.cpp.

int pSim::contact_vjoint_index ( Joint _jnt) [inline, private]

Definition at line 589 of file psim.h.

pSubChain * pSim::default_schedule ( pSubChain p,
Joint j 
) [private]

Definition at line 1072 of file schedule.cpp.

Definition at line 1117 of file schedule.cpp.

void pSim::disassembly ( ) [private]

disassembly

Definition at line 1155 of file update.cpp.

void pSim::DumpSchedule ( ostream &  ost)

Dump the schedule information to ost.

Definition at line 336 of file psim.cpp.

void pSim::GetPJoint ( Joint _joint,
pJoint _pjoints[2] 
) [inline]

Definition at line 544 of file psim.h.

int pSim::in_subchain ( pSubChain sc,
pLink pl 
) [private]

Definition at line 1407 of file schedule.cpp.

int pSim::init ( SceneGraph *  sg) [protected, virtual]

Initialize the parameters.

Reimplemented from Chain.

Definition at line 218 of file psim.cpp.

int pSim::init_contact ( ) [protected]

Init

Definition at line 173 of file psim.cpp.

int pSim::myinit ( ) [protected]

Definition at line 231 of file psim.cpp.

Definition at line 65 of file psim.cpp.

Creates default schedule, which is optimized for serial computation.

default schedule: most efficient for serial computation

Definition at line 1060 of file schedule.cpp.

int pSim::Schedule ( Joint **  joints)

Creates a schedule that assembles the chain in the specified order of joints.

manual schedule: specify the order

Definition at line 1336 of file schedule.cpp.

Definition at line 51 of file psim.cpp.

void pSim::setup_pjoint ( Joint j) [private]

Definition at line 243 of file psim.cpp.

Definition at line 265 of file psim.cpp.

Approximate indicators of total computational cost.

Definition at line 34 of file psim.cpp.

Compute joint accelerations.

Definition at line 40 of file update.cpp.

int pSim::Update ( double  timestep,
std::vector< class SDContactPair * > &  sdContactPairs 
)

Compute joint accelerations and contact forces.

Compute joint accelerations and contact forces. Contact forces are computed such that the relative velocity becomes zero after timestep [s].

Parameters:
[in]timestepTimestep of the integration.
[in]sdContactPairsPointer to the ColInfo object containing the contact information.

collision

Definition at line 568 of file update.cpp.

void pSim::update_position ( ) [private]

position-dependent

Definition at line 146 of file update.cpp.

void pSim::update_velocity ( ) [private]

velocity-dependent

Definition at line 768 of file update.cpp.


Friends And Related Function Documentation

friend class pJoint [friend]

Definition at line 449 of file psim.h.

friend class pLink [friend]

Definition at line 450 of file psim.h.

friend class pSubChain [friend]

Definition at line 451 of file psim.h.


Member Data Documentation

std::vector<fVec3> pSim::all_jdot_r [private]

Definition at line 585 of file psim.h.

std::vector<fVec3> pSim::all_jdot_v [private]

Definition at line 584 of file psim.h.

std::vector<fMat> pSim::all_Jr [private]

Definition at line 583 of file psim.h.

std::vector<fMat> pSim::all_Jv [private]

Definition at line 582 of file psim.h.

Definition at line 581 of file psim.h.

Definition at line 587 of file psim.h.

std::vector<fVec3> pSim::contact_relvels [private]

Definition at line 578 of file psim.h.

Definition at line 577 of file psim.h.

std::vector<double> pSim::fric_coefs [private]

Definition at line 579 of file psim.h.

Definition at line 602 of file psim.h.

Definition at line 603 of file psim.h.


The documentation for this class was generated from the following files:


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Thu Apr 11 2019 03:30:21