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

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

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)

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

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

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

Definition at line 64 of file tgCPGCableControl.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 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)

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 tgCPGActuatorControl::m_controlStep

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

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: