Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

rdInitialStatesTarget Class Reference

An optimization target for establishing initial states appropriate for a starting point for Computed Muscle Control (CMC). More...

#include <rdInitialStatesTarget.h>

List of all members.

Public Member Functions

virtual ~rdInitialStatesTarget ()
 Destructor.
 rdInitialStatesTarget (int aNX, double aTI, const double *aY, rdCMC *aController, OpenSim::ModelIntegrandForActuators *aEquilib)
 Constructor.
void generateEquilibriumStates (const double *aX, double *rY)
 Generate equilibrium actuator states given a set of controls.
int compute (double *x, double *p, double *c)
 Compute performance and the constraints given x.
int computeGradients (double *dx, double *x, double *dpdx, double *dcdx)
 Compute the gradients of the performance and the constraints given x.
int computePerformance (double *x, double *p)
 Compute performance given x.
int computePerformanceGradient (double *x, double *dpdx)
 Compute the gradient of performance given x.
int computeConstraint (double *x, int i, double *c)
 Compute constraint i given x.
int computeConstraintGradient (double *x, int i, double *dcdx)
 Compute the gradient of constraint i given x.

Private Member Functions

void setNull ()
 Set all member variables to their NULL values.

Private Attributes

double _ti
 Initial time for the simulation.
double _tf
 Final time for the forward integration.
double _tfEqui
 Final time for the equilibrium integration.
rdCMC_controller
 Controller.
OpenSim::ModelIntegrandForActuators * _equi
OpenSim::IntegRKF * _integEqui
 Integrator for producing equilibrium values for the initial states.
OpenSim::ModelIntegrand * _forw
 Integrand for integrating forward to the next target time.
OpenSim::IntegRKF * _integForw
 Integrator for integrating forward to the next target time.
OpenSim::Array< double > _yi
 Work array of the initial states.
OpenSim::Array< double > _y
 Work array of the states.
OpenSim::Array< double > _dydt
 Array of the model state derivatives.


Detailed Description

An optimization target for establishing initial states appropriate for a starting point for Computed Muscle Control (CMC).

Version:
1.0
Author:
Frank C. Anderson


Constructor & Destructor Documentation

rdInitialStatesTarget::rdInitialStatesTarget int  aNX,
double  aTI,
const double *  aYI,
rdCMC aController,
OpenSim::ModelIntegrandForActuators *  aEquilib
 

Constructor.

Parameters:
aNX Number of controls.
aTI Initial time for the simulation.
aYI Initial states for the simulation.
aController Controller for the simulation.
aEquilib Integrand for the state equlibrium integration.


Member Function Documentation

int rdInitialStatesTarget::compute double *  x,
double *  p,
double *  c
 

Compute performance and the constraints given x.

Note - used by paramopt.

int rdInitialStatesTarget::computeConstraint double *  x,
int  ic,
double *  c
 

Compute constraint i given x.

Note that the indexing starts at 1;

int rdInitialStatesTarget::computeGradients double *  dx,
double *  x,
double *  dpdx,
double *  dcdx
 

Compute the gradients of the performance and the constraints given x.

The array dx is an array of perturbation sizes which can be used to compute the gradients numerically.

Note- used by paramopt.

void rdInitialStatesTarget::generateEquilibriumStates const double *  aX,
double *  rY
 

Generate equilibrium actuator states given a set of controls.

Parameters:
aX Controls.
rY Actuator states (&y[nq+nu] should be sent in).


The documentation for this class was generated from the following files:
Generated on Wed Nov 1 16:04:32 2006 for Computed Muscle Control (CMC) API by doxygen 1.3.8