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
bool usePID
double m_controlTime
const double m_controlStep
double m_totalTime
double m_commandedTension
btRigidBody * m_pFromBody
btRigidBody * m_pToBody
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 

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

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)

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

[in,out]subjectthe subject being observed

Reimplemented from tgObserver< tgSpringCableActuator >.

Definition at line 65 of file tgCPGMGActuatorControl.cpp.

void tgCPGMGCableControl::onSetup ( tgSpringCableActuator subject)

Notify the observers when a setup action has occurred.

[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 

Notify the observers when a step action has occurred.

[in,out]subjectthe subject being observed
[in]thenumber of seconds since the previous call; must be positive
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)

Notify the observers when a teardown action has occurred.

[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 

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)

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)

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

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

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: