NTRT Simulator  Version: Master
 All Classes Namespaces Files Functions Variables Typedefs Friends Pages
tgKinematicActuator Class Reference
Inheritance diagram for tgKinematicActuator:
Collaboration diagram for tgKinematicActuator:

Classes

struct  Config
 

Public Member Functions

 tgKinematicActuator (tgBulletSpringCable *muscle, const tgTags &tags, tgKinematicActuator::Config &config)
 
virtual ~tgKinematicActuator ()
 
virtual void setup (tgWorld &world)
 
virtual void teardown ()
 
virtual void step (double dt)
 
virtual void onVisit (const tgModelVisitor &r) const
 
virtual const double getVelocity () const
 
virtual const
tgSpringCableActuator::SpringCableActuatorHistory
getHistory () const
 
virtual double getAppliedTorque (double desiredTorque) const
 
virtual void setControlInput (double input)
 
virtual const double getStartLength () const
 
virtual const double getCurrentLength () const
 
virtual const double getTension () const
 
virtual const double getRestLength () const
 
const tgSpringCablegetSpringCable () const
 
const ConfiggetConfig () const
 
void addChild (tgModel *pChild)
 
virtual std::string toString (std::string prefix="") const
 
template<typename T >
std::vector< T * > find (const tgTagSearch &tagSearch)
 
template<typename T >
std::vector< T * > find (const std::string &tagSearch)
 
std::vector< tgModel * > getDescendants () const
 
const std::vector
< abstractMarker > & 
getMarkers () const
 
void addMarker (abstractMarker a)
 
virtual std::vector
< tgSenseable * > 
getSenseableDescendants () const
 
void addTags (const std::string &space_separated_tags)
 
void addTags (const tgTags &tags)
 
bool hasTag (const std::string tag) const
 
bool hasAllTags (std::string tags)
 
bool hasAnyTags (const std::string tags)
 
bool hasNoTags ()
 
tgTagsgetTags ()
 
const tgTagsgetTags () const
 
void setTags (tgTags tags)
 
std::string getTagStr (std::string delim=" ") const
 
virtual void setControlInput (double input, double dt)
 
void attach (tgObserver< tgSpringCableActuator > *pObserver)
 
void notifyStep (double dt)
 
void notifySetup ()
 
void notifyTeardown ()
 

Protected Member Functions

virtual void integrateRestLength (double dt)
 

Protected Attributes

tgSpringCablem_springCable
 
SpringCableActuatorHistory *const m_pHistory
 
double m_restLength
 
double m_startLength
 
double m_prevVelocity
 

Detailed Description

Definition at line 40 of file tgKinematicActuator.h.

Constructor & Destructor Documentation

tgKinematicActuator::tgKinematicActuator ( tgBulletSpringCable muscle,
const tgTags tags,
tgKinematicActuator::Config config 
)

Constructor using tags. Typically called in tgKinematicActuatorInfo.cpp

Parameters
[in]muscleThe muscle2P object that this controls and logs. Set up in tgKinematicActuatorInfo.cpp
[in]tagsas passed through tgStructure and tgStructureInfo
[in]configHolds member variables like elasticity, damping and motor parameters. See tgSpringCableActuator

Definition at line 101 of file tgKinematicActuator.cpp.

tgKinematicActuator::~tgKinematicActuator ( )
virtual

Destructor deletes the tgBulletSpringCable

Definition at line 116 of file tgKinematicActuator.cpp.

Member Function Documentation

void tgModel::addChild ( tgModel pChild)
inherited

Add a sub-model to this model. The model takes ownership of the child sub-model and is responsible for deallocating it.

Parameters
[in,out]pChilda pointer to a sub-model
Exceptions
std::invalid_argumentis pChild is NULL, this object, or already a descendant
Todo:
Make sure that every child appears no more than once in the tree.

Definition at line 122 of file tgModel.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void tgSubject< tgSpringCableActuator >::attach ( tgObserver< tgSpringCableActuator > *  pObserver)
inherited

Attach an observer to the subject of the observer.

Parameters
[in,out]pObservera pointer to an observer for the subject; do nothing if the pointer is NULL
template<typename T >
std::vector<T*> tgModel::find ( const tgTagSearch tagSearch)
inlineinherited

Get a vector of descendants sorted by type and a tagsearch. Useful for pulling out muscle groups, or similar.

Parameters
[in]tagSearch,atagSearch that contains the desired tags
Returns
a std::vector of pointers to members that match the tag search and typename T

Definition at line 128 of file tgModel.h.

Here is the call graph for this function:

template<typename T >
std::vector<T*> tgModel::find ( const std::string &  tagSearch)
inlineinherited

Get a vector of descendants sorted by type and a tagsearch. Useful for pulling out muscle groups, or similar.

Parameters
[in]tagSearch,astd::string& that contains the desired tags
Returns
a std::vector of pointers to members that match the tag search and typename T

Definition at line 141 of file tgModel.h.

Here is the call graph for this function:

double tgKinematicActuator::getAppliedTorque ( double  desiredTorque) const
virtual

Applies a linear torque-speed function to restrict the available speeds and torques

Definition at line 216 of file tgKinematicActuator.cpp.

Here is the caller graph for this function:

const Config& tgSpringCableActuator::getConfig ( ) const
inlineinherited

Return a const reference to m_config for scaling values in neural networks

Definition at line 263 of file tgSpringCableActuator.h.

const double tgSpringCableActuator::getCurrentLength ( ) const
virtualinherited

Returns the current length of the spring cable

Definition at line 167 of file tgSpringCableActuator.cpp.

Here is the call graph for this function:

std::vector< tgModel * > tgModel::getDescendants ( ) const
inherited

Return a std::vector of const pointers to all sub-models.

Todo:
examine whether this should be public, and perhaps create a read only version
Returns
a std::vector of const pointers all sub-models.
Todo:
Unnecessary copying can be avoided by pasing the result collection in the recursive step.

Definition at line 170 of file tgModel.cpp.

Here is the call graph for this function:

const tgSpringCableActuator::SpringCableActuatorHistory & tgKinematicActuator::getHistory ( ) const
virtual

Return a const reference to the history struct

Reimplemented from tgSpringCableActuator.

Definition at line 232 of file tgKinematicActuator.cpp.

const double tgSpringCableActuator::getRestLength ( ) const
virtualinherited

Returns the rest length of the spring-cable

Definition at line 177 of file tgSpringCableActuator.cpp.

Here is the call graph for this function:

std::vector< tgSenseable * > tgModel::getSenseableDescendants ( ) const
virtualinherited

From tgSenseable: need to return all the children of this class. Since tgModels are tgSenseables, just return getDescendants().

Returns
a vector of tgModels, with pointers changed into pointers for tgSenseables.

For tgSenseable: just return the results of getDescendants here. This should be OK, since a vector of tgModel* is also a vector of tgSenseable*.

Reimplemented from tgSenseable.

Definition at line 191 of file tgModel.cpp.

Here is the call graph for this function:

const tgSpringCable* tgSpringCableActuator::getSpringCable ( ) const
inlineinherited

Returns a pointer the string's tgBulletSpringCable. Used for rendering in tgBulletRenderer

Definition at line 254 of file tgSpringCableActuator.h.

const double tgSpringCableActuator::getStartLength ( ) const
virtualinherited

Functions for interfacing with tgSpringCable Returns the length of the spring cable when the simulation started

Definition at line 162 of file tgSpringCableActuator.cpp.

const double tgSpringCableActuator::getTension ( ) const
virtualinherited

Returns the current tension in the spring. Equal to stiffness * (current length - rest length)

Definition at line 172 of file tgSpringCableActuator.cpp.

Here is the call graph for this function:

const double tgKinematicActuator::getVelocity ( ) const
virtual

Functions for interfacing with muscle2P, and higher level controllers Return the appropreate values. Returns the linearized velocity of the motor, as opposed to tgBasicActuator which returns the velocity of the muscle material

Reimplemented from tgSpringCableActuator.

Definition at line 181 of file tgKinematicActuator.cpp.

void tgKinematicActuator::integrateRestLength ( double  dt)
protectedvirtual
Todo:
check min actual length somewhere

Definition at line 186 of file tgKinematicActuator.cpp.

Here is the caller graph for this function:

void tgSubject< tgSpringCableActuator >::notifySetup ( )
inherited

Call tgObserver<T>::onSetup() on all observers in the order in which they were attached.

Here is the caller graph for this function:

void tgSubject< tgSpringCableActuator >::notifyStep ( double  dt)
inherited

Call tgObserver<T>::onStep() on all observers in the order in which they were attached.

Parameters
[in]dtthe number of seconds since the previous call; do nothing if not positive

Here is the caller graph for this function:

void tgSubject< tgSpringCableActuator >::notifyTeardown ( )
inherited

Call tgObserver<T>::onTeardown() on all observers in the order in which they were attached.

void tgKinematicActuator::onVisit ( const tgModelVisitor r) const
virtual

Double dispatch function for a tgModelVisitor. This object will pass itself back to the visitor. Used for rendering and data logging as of May 2014.

Parameters
[in]r,thevisiting tgModelVisitor

Reimplemented from tgModel.

Definition at line 159 of file tgKinematicActuator.cpp.

Here is the call graph for this function:

virtual void tgControllable::setControlInput ( double  input,
double  dt 
)
inlinevirtualinherited

Secondary function for those classes which need to know how much time has elapsed since they last recieved input (such as tgBasicActuator's moveMotors(dt) function) This will silently fail if it is called erroneously

Parameters
[in]input,thedesired control input
[in]dt,thetime elapsed since the last call. Must be positive (typically enforced in child class)

Reimplemented in tgCompressionSpringActuator, and tgBasicActuator.

Definition at line 65 of file tgControllable.h.

void tgKinematicActuator::setControlInput ( double  input)
virtual

Set the value of m_desiredTorque for this timestep. Value will be scaled by getAppliedTorque, so we don't have to check it here.

Implements tgControllable.

Definition at line 227 of file tgKinematicActuator.cpp.

void tgKinematicActuator::setup ( tgWorld world)
virtual

Notifies observers of setup, calls setup on children

Parameters
[in]world,thetgWorld the models are being built into

Reimplemented from tgSpringCableActuator.

Definition at line 122 of file tgKinematicActuator.cpp.

Here is the call graph for this function:

void tgKinematicActuator::step ( double  dt)
virtual

Step dt forward with the simulation. Notifies observers of step, applies forces to rigid bodies via tgBulletSpringCable, logs history if desired, steps children.

Parameters
[in]dt,mustbe >= 0.0

Reimplemented from tgSpringCableActuator.

Definition at line 135 of file tgKinematicActuator.cpp.

void tgKinematicActuator::teardown ( )
virtual

Notifies observers of teardown, teardown any children

Reimplemented from tgSpringCableActuator.

Definition at line 129 of file tgKinematicActuator.cpp.

Here is the call graph for this function:

std::string tgModel::toString ( std::string  prefix = "") const
virtualinherited

Returns the tag names of this model and its children

Parameters
[in]prefixa string to append to
Returns
the original string with this model and its children's tags appended

Definition at line 152 of file tgModel.cpp.

Here is the caller graph for this function:

Member Data Documentation

SpringCableActuatorHistory* const tgSpringCableActuator::m_pHistory
protectedinherited

All history sequences.

Definition at line 289 of file tgSpringCableActuator.h.

double tgSpringCableActuator::m_prevVelocity
protectedinherited

Tracking the most recent velocity to avoid using deques when history is off.

Definition at line 314 of file tgSpringCableActuator.h.

double tgSpringCableActuator::m_restLength
protectedinherited

Motor Model Parameters The current rest length of the spring cable. Directly sets the m_restLength parameter of m_springCable in the appropreate child class functions

Definition at line 301 of file tgSpringCableActuator.h.

tgSpringCable* tgSpringCableActuator::m_springCable
protectedinherited

The tgSpringCable system this actuator acts upon

Definition at line 280 of file tgSpringCableActuator.h.

double tgSpringCableActuator::m_startLength
protectedinherited

Tracking the start length to avoid using deques when history is off.

Definition at line 308 of file tgSpringCableActuator.h.


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