OpenSim::ActuatorForceTarget Class Reference

A Computed Muscle Control (CMC) optimization target for controlling dynamic systems whose actuators may be themselves governed by differential equations, meaning there may be non-linear behavior and delays in force production. More...

#include <ActuatorForceTarget.h>

Inheritance diagram for OpenSim::ActuatorForceTarget:
OpenSim::OptimizationTarget

List of all members.

Public Member Functions

virtual ~ActuatorForceTarget ()
 Destructor.
 ActuatorForceTarget (int aNX, CMC *aController)
 Constructor.
void setStressTermWeight (double aWeight)
 Set the weight of the actuator force stress term in the performance criterion.
bool prepareToOptimize (const SimTK::State &s, double *x)
int objectiveFunc (const SimTK::Vector &aF, const bool new_coefficients, SimTK::Real &rP) const
int gradientFunc (const SimTK::Vector &x, const bool new_coefficients, SimTK::Vector &gradient) const

Detailed Description

A Computed Muscle Control (CMC) optimization target for controlling dynamic systems whose actuators may be themselves governed by differential equations, meaning there may be non-linear behavior and delays in force production.

The performance criterion is a sum of two terms. The first term is the sum of actutor stresses squared. The second term is a weighted sum of terms designed to achieve a set of desired accelerations that will drive the dynamic model toward a set of target kinematic trajectories. The desired accelerations are according to the Proportional Derivative (PD) control law.

Because the performance criterion is simply a long sum of things, achieving the desired accelerations can be compromised in order to reduce the forces (or moments) applied by the actutors. This feature is what is exploited by the Residual Reduction Algorithm.

Although this target is fairly robust (meaning the optimizer should not fail to find a solution), it is a bit slower and less accurate than the "fast" target

See also:
ActuatorForceTargetFast.
Version:
1.0
Author:
Frank C. Anderson

Constructor & Destructor Documentation

ActuatorForceTarget::~ActuatorForceTarget (  )  [virtual]

Destructor.

ActuatorForceTarget::ActuatorForceTarget ( int  aNX,
CMC aController 
)

Constructor.

Parameters:
aNX Number of controls.
aController Parent controller.

Member Function Documentation

int OpenSim::ActuatorForceTarget::gradientFunc ( const SimTK::Vector &  x,
const bool  new_coefficients,
SimTK::Vector &  gradient 
) const
int OpenSim::ActuatorForceTarget::objectiveFunc ( const SimTK::Vector &  aF,
const bool  new_coefficients,
SimTK::Real &  rP 
) const
bool ActuatorForceTarget::prepareToOptimize ( const SimTK::State &  s,
double *  x 
) [virtual]

Reimplemented from OpenSim::OptimizationTarget.

void ActuatorForceTarget::setStressTermWeight ( double  aWeight  ) 

Set the weight of the actuator force stress term in the performance criterion.

Parameters:
aWeight Weight premultiplying the sum squared stresses.

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

Generated on Wed Dec 16 15:03:49 2009 for OpenSim by  doxygen 1.6.1