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

suPreTrackContact Class Reference

A class for computing the states and psuedo states necessary to satisfy contact constraints of the UT Walking Model or classes derived from the UT Walking Model. More...

#include <suPreTrackContact.h>

List of all members.

Public Member Functions

 suPreTrackContact (rdUTWalking8 *aModel, rdStorage *aGenCrds, rdStorage *psdStates, rdStorage *aKinetics, rdStorage *aSprings)
 Construct a preTrackContract analysis based on an rdUTWalking8 model and the generalized coordinates, pseudostates, and kinetics corresponding to the motion to be processed.

virtual ~suPreTrackContact ()
 Destructor.

rdStoragegetGenCrdStorage ()
 Get a pointer to the rdStorage containing the new generalized coordinates.

rdStoragegetPsdStateStorage ()
 Get a pointer to the rdStorage containing the new pseudostates.

void compute (double aT, int aTIndex)
 Compute the states and psuedo-states that are consistent with the contact contraints.

int suComputeVertPerformance (double *x, double *p)
 Compute performance given x.

int suComputeVertPerformanceGradient (double *x, double *dpdx)
 Compute performance gradient given x.

int suComputeVertConstraint (double *x, int ic, double *c)
 Compute a constraint given x.

int suComputeVertConstraintGradient (double *x, int ic, double *dcdx)
 Compute constraint gradient given x.

int suComputeHorizPerformance (double *x, double *p)
 Compute performance given x.

int suComputeHorizPerformanceGradient (double *x, double *dpdx)
 Compute gradient of performance given x.

int suComputeHorizConstraint (double *x, int ic, double *c)
 Compute a constraint given x.


Protected Attributes

double _wXS
 Performance criterion weight for the spring forces.

double _wExpTight
 Performance criterion weight for the accurate experimental data.

double _wExpLoose
 Performance criterion weight for the poor experimental data.


Private Member Functions

void setNull ()
 Set NULL values for all member variables.

int initializeVertControls ()
 Initialize vertical control values to initial values of the generalized coordinates.

int updateGenCoords (double *x)
 Update the generalized coordinates based on the current controls.

int appendGenCoords ()
 Update the generalized coordinates based on optimized controls.

int updatePsdStates (double *x)
 Update the generalized coordinates based on the current controls.

int updateModel ()
 Update the model based on the current controls so that spring positions and forces can be evaluated.

double getSprForce (int direction, int spring)
 Given the spring number and direction return the force in the spring.

double getSprPos (int direction, int spring)
 Given the spring number and direction return the position of the spring.

double getSumSprForce (int direction, int startSpring, int endSpring)
 Given the starting spring number and the ending spring number and a direction return the sum of the forces in the springs in that direction.

double getSprPosRelToAnkle (int direction, int spring)
 Given a direction and the spring number, return the position of the spring relative to the ankle in the specified direction.

int getNumSpringsInContact (int startSpring, int endSpring)
 Count the number of springs in contact with the ground.


Private Attributes

int _counter
 Counter for number of times that compute has been called.

rdUTWalking8_model
 Pointer to the model.

int _nvControls
 Number of vertical controls.

int _nhControls
 Number of horizontal controls *.

int _nvConstraints
 Number of vertical constraints *.

int _nhConstraints
 Number of horizontal constraints *.

double _spos [rdUTWalking8_NS][3]
 Positions of all spring points *.

double _svel [rdUTWalking8_NS][3]
 Velocities of all spring points *.

double _sfrc [rdUTWalking8_NS][3]
 Forces at all spring points *.

double * _xVertLast
 Last good values of the controls.

double * _xVert
 Controls for vertical force oprimization *.

rdStorage_expKineticsStore
 The experimental kinetics *.

rdStorage_qOrigStore
 The rdStorage of original genCoords to be processed *.

rdStorage_ypOrigStore
 The original pseudo states to be processed *.

double * _expKinetics
 Array containing the experimental kinetic data *.

double * _qOrigRad
 Array containing the original generalized coordinates in radians.

double * _qOrig
 Array containing the original genCoords in quaternions.

double * _q
 Array containing the gen coords in the process of being altered.

double * _u
 Array of generalized speeds.

double * _yp
 Array containing the psuedo states in the process of being altered *.

rdStorage_newGenCrds
 The consistent genCoords post-optimization.

rdStorage_newPsdStates
 The consistent pseudo-states post-optimization.

double * _springInContact
 Pointer to storage for spring contact array *.

double _time
 The time for which the contact consistency is being evaluated *.

suContactTargetVertical_vertContTarg
 The vertical optimization target *.

suContactTargetHorizontal_horizContTarg
 The vertical optimization target *.

rdFSQP_sqpVert
 The vertical optimization target *.

rdFSQP_sqpHoriz
 The horizontal optimization target *.

double ** _dcdxVertPast
 Vector to hold past vertical contraint gradients.

double * _dpdxVertPast
 Vector to hold past vertical performance gradients.

int _vStatus
 Return status of the optimization problem.

rdStorage_springStore
 rdStorage with optimal walking data *

double * _controls
double * _states


Detailed Description

A class for computing the states and psuedo states necessary to satisfy contact constraints of the UT Walking Model or classes derived from the UT Walking Model.


Member Function Documentation

rdStorage * suPreTrackContact::getGenCrdStorage  ) 
 

Get a pointer to the rdStorage containing the new generalized coordinates.

Returns:
Pointer to the genCoordStorage

rdStorage * suPreTrackContact::getPsdStateStorage  ) 
 

Get a pointer to the rdStorage containing the new pseudostates.

Returns:
Pointer to the pseudoStateStorage

double suPreTrackContact::getSprPosRelToAnkle int  direction,
int  spring
[private]
 

Given a direction and the spring number, return the position of the spring relative to the ankle in the specified direction.

Location is returned relative to ankle in global coordinates.

int suPreTrackContact::suComputeHorizPerformanceGradient double *  x,
double *  dpdx
 

Compute gradient of performance given x.

CURRENTLY NOT USED - GRADIENTS ARE CALCULATED NUMERICALLY


Member Data Documentation

double* suPreTrackContact::_q [private]
 

Array containing the gen coords in the process of being altered.

*

double* suPreTrackContact::_qOrig [private]
 

Array containing the original genCoords in quaternions.

*

double* suPreTrackContact::_qOrigRad [private]
 

Array containing the original generalized coordinates in radians.

*

double* suPreTrackContact::_u [private]
 

Array of generalized speeds.

*


The documentation for this class was generated from the following files:
Generated on Wed Aug 20 02:17:14 2003 for Simulation Software by doxygen1.3