NTRT Simulator  Version: Master
 All Classes Namespaces Files Functions Variables Typedefs Friends Pages
tgCPGActuatorControl Class Reference

Inherits tgObserver< tgSpringCableActuator >, and tgBaseCPGNode.

Inherited by tgCPGCableControl, and tgCPGStringControl_mod.

Collaboration diagram for tgCPGActuatorControl:

Public Member Functions

 tgCPGActuatorControl (const double controlStep=1.0/10000.0)
 
virtual void onAttach (tgSpringCableActuator &subject)
 
virtual void onStep (tgSpringCableActuator &subject, double dt)
 
void assignNodeNumber (CPGEquations &CPGSys, array_2D nodeParams)
 
void setConnectivity (const std::vector< tgCPGActuatorControl * > &allStrings, array_4D edgeParams)
 
const int getNodeNumber () const
 
const CPGEquationsgetCPGSys () const
 
const double getCommandedTension () const
 
virtual void setupControl (tgImpedanceController &ipc)
 
void setupControl (tgImpedanceController &ipc, double controlLength)
 
const btRigidBody * getFromBody () const
 
const btRigidBody * getToBody () const
 
virtual void onSetup (tgSpringCableActuator &subject)
 
virtual void onTeardown (tgSpringCableActuator &subject)
 
virtual double getCPGValue () const
 
void updateTensionSetpoint (double newTension)
 
void updateControlLength (double newControlLength)
 

Protected Member Functions

tgImpedanceControllermotorControl () const
 
double controlLength () const
 

Protected Attributes

double m_controlTime
 
const double m_controlStep
 
double m_totalTime
 
double m_commandedTension
 
btRigidBody * m_pFromBody
 
btRigidBody * m_pToBody
 
CPGEquationsm_pCPGSystem
 
int m_nodeNumber
 
double m_controlLength
 

Detailed Description

Definition at line 44 of file tgCPGActuatorControl.h.

Member Function Documentation

void tgCPGActuatorControl::assignNodeNumber ( CPGEquations CPGSys,
array_2D  nodeParams 
)

Can call these any time, but they'll only have the intended effect after all of the strings have been constructed.

Definition at line 102 of file tgCPGActuatorControl.cpp.

const CPGEquations* tgCPGActuatorControl::getCPGSys ( ) const
inline

Pointer to the CPG system. Owned by the higher level controller

Definition at line 79 of file tgCPGActuatorControl.h.

Here is the caller graph for this function:

void tgCPGActuatorControl::onAttach ( tgSpringCableActuator subject)
virtual

Notify the observers when an attach action has occurred. Will only occur once, typically before setup

Parameters
[in,out]subjectthe subject being observed

Reimplemented from tgObserver< tgSpringCableActuator >.

Definition at line 64 of file tgCPGActuatorControl.cpp.

virtual void tgObserver< tgSpringCableActuator >::onSetup ( tgSpringCableActuator subject)
inlinevirtualinherited

Notify the observers when a setup action has occurred.

Parameters
[in,out]subjectthe subject being observed

Reimplemented in tgCPGMGCableControl, and tgCPGCableControl.

Definition at line 61 of file tgObserver.h.

void tgCPGActuatorControl::onStep ( tgSpringCableActuator subject,
double  dt 
)
virtual

Notify the observers when a step action has occurred.

Parameters
[in,out]subjectthe subject being observed
[in]thenumber of seconds since the previous call; must be positive
Todo:
this fails if its attached to multiple controllers! is there a way to track global time at this level

Implements tgObserver< tgSpringCableActuator >.

Reimplemented in tgCPGCableControl, and tgCPGStringControl_mod.

Definition at line 79 of file tgCPGActuatorControl.cpp.

Here is the call graph for this function:

virtual void tgObserver< tgSpringCableActuator >::onTeardown ( tgSpringCableActuator subject)
inlinevirtualinherited

Notify the observers when a teardown action has occurred.

Parameters
[in,out]subjectthe subject being observed

Definition at line 67 of file tgObserver.h.

void tgCPGActuatorControl::setConnectivity ( const std::vector< tgCPGActuatorControl * > &  allStrings,
array_4D  edgeParams 
)

Iterate through all other tgSpringCableActuatorCPGInfos, and determine CPG network by rigid body connectivity

Definition at line 122 of file tgCPGActuatorControl.cpp.

Here is the call graph for this function:

void tgBaseCPGNode::updateControlLength ( double  newControlLength)
inherited

Change the control length at runtime, sets m_controlLength to newControlLength newControlLength must be greater than or equal to zero.

Definition at line 102 of file tgBaseCPGNode.cpp.

void tgBaseCPGNode::updateTensionSetpoint ( double  newTension)
inherited

Give a new tension setpoint to the impedance controller m_pMotorControl

Definition at line 90 of file tgBaseCPGNode.cpp.

Here is the call graph for this function:

Member Data Documentation

const double tgCPGActuatorControl::m_controlStep
protected

How often this controller updates. Must be non-negative. Zero means it updates every timestep. Units are seconds

Definition at line 114 of file tgCPGActuatorControl.h.

double tgCPGActuatorControl::m_controlTime
protected

Member variable for keeping track of how long its been since the last update step

Definition at line 109 of file tgCPGActuatorControl.h.


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