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

Public Member Functions

 tgCPGMGCableControl (const tgPIDController::Config pid_config, const double controlStep=1.0/10000.0)
 
virtual void onSetup (tgSpringCableActuator &subject)
 
virtual void onStep (tgSpringCableActuator &subject, double dt)
 
void assignNodeNumberFB (CPGEquationsFB &CPGSys, array_2D nodeParams)
 
virtual void onAttach (tgSpringCableActuator &subject)
 
void assignNodeNumber (CPGEquations &CPGSys, array_2D nodeParams)
 
void setConnectivity (const std::vector< tgCPGMGActuatorControl * > &allStrings, array_3D 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 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

const tgPIDController::Config m_config
 
tgPIDControllerm_PID
 
bool usePID
 
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 31 of file tgCPGMGCableControl.h.

Member Function Documentation

void tgCPGMGActuatorControl::assignNodeNumber ( CPGEquations CPGSys,
array_2D  nodeParams 
)
inherited

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

Definition at line 103 of file tgCPGMGActuatorControl.cpp.

void tgCPGMGCableControl::assignNodeNumberFB ( CPGEquationsFB CPGSys,
array_2D  nodeParams 
)

Account for the larger number of parameters the nodes have with a feedback CPGSystem

Definition at line 99 of file tgCPGMGCableControl.cpp.

const CPGEquations* tgCPGMGActuatorControl::getCPGSys ( ) const
inlineinherited

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

Definition at line 80 of file tgCPGMGActuatorControl.h.

Here is the caller graph for this function:

void tgCPGMGActuatorControl::onAttach ( tgSpringCableActuator subject)
virtualinherited

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 65 of file tgCPGMGActuatorControl.cpp.

void tgCPGMGCableControl::onSetup ( tgSpringCableActuator subject)
virtual

Notify the observers when a setup action has occurred.

Parameters
[in,out]subjectthe subject being observed

Reimplemented from tgObserver< tgSpringCableActuator >.

Definition at line 52 of file tgCPGMGCableControl.cpp.

void tgCPGMGCableControl::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

Reimplemented from tgCPGMGActuatorControl.

Definition at line 64 of file tgCPGMGCableControl.cpp.

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 tgCPGMGActuatorControl::setConnectivity ( const std::vector< tgCPGMGActuatorControl * > &  allStrings,
array_3D  edgeParams 
)
inherited

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

Definition at line 123 of file tgCPGMGActuatorControl.cpp.

Here is the call graph for this function:

Here is the caller 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 tgCPGMGActuatorControl::m_controlStep
protectedinherited

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

Definition at line 115 of file tgCPGMGActuatorControl.h.

double tgCPGMGActuatorControl::m_controlTime
protectedinherited

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

Definition at line 110 of file tgCPGMGActuatorControl.h.


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