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

Public Member Functions

 tgCPGCableControl (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< 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 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 28 of file tgCPGCableControl.h.

Member Function Documentation

void tgCPGActuatorControl::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 102 of file tgCPGActuatorControl.cpp.

void tgCPGCableControl::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 tgCPGCableControl.cpp.

const CPGEquations* tgCPGActuatorControl::getCPGSys ( ) const
inlineinherited

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)
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 64 of file tgCPGActuatorControl.cpp.

void tgCPGCableControl::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 tgCPGCableControl.cpp.

void tgCPGCableControl::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 tgCPGActuatorControl.

Definition at line 64 of file tgCPGCableControl.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 tgCPGActuatorControl::setConnectivity ( const std::vector< tgCPGActuatorControl * > &  allStrings,
array_4D  edgeParams 
)
inherited

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
protectedinherited

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
protectedinherited

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: