Simbody
Static Public Member Functions

SimTK::ObservedPointFitter Class Reference

This class attempts to find the configuration of an internal coordinate model which best fits a set of observed data. More...

#include <ObservedPointFitter.h>

List of all members.

Static Public Member Functions

static Real findBestFit (const MultibodySystem &system, State &state, const Array_< MobilizedBodyIndex > &bodyIxs, const Array_< Array_< Vec3 > > &stations, const Array_< Array_< Vec3 > > &targetLocations, Real tolerance=0.001)
 Find the configuration of a MultibodySystem which best fits a set of target locations for stations.
static Real findBestFit (const MultibodySystem &system, State &state, const std::vector< MobilizedBodyIndex > &bodyIxs, const std::vector< std::vector< Vec3 > > &stations, const std::vector< std::vector< Vec3 > > &targetLocations, Real tolerance=0.001)
 For compatibility with std::vector; requires extra copying.
static Real findBestFit (const MultibodySystem &system, State &state, const Array_< MobilizedBodyIndex > &bodyIxs, const Array_< Array_< Vec3 > > &stations, const Array_< Array_< Vec3 > > &targetLocations, const Array_< Array_< Real > > &weights, Real tolerance=0.001)
 Find the configuration of a MultibodySystem which best fits a set of target locations for stations.
static Real findBestFit (const MultibodySystem &system, State &state, const std::vector< MobilizedBodyIndex > &bodyIxs, const std::vector< std::vector< Vec3 > > &stations, const std::vector< std::vector< Vec3 > > &targetLocations, const std::vector< std::vector< Real > > &weights, Real tolerance=0.001)
 For compatibility with std::vector; requires extra copying.

Detailed Description

This class attempts to find the configuration of an internal coordinate model which best fits a set of observed data.

The inputs to the algorithm are as follows:

The output is a State giving the set of internal coordinates that best fit the stations to the target locations.


Member Function Documentation

static Real SimTK::ObservedPointFitter::findBestFit ( const MultibodySystem system,
State state,
const Array_< MobilizedBodyIndex > &  bodyIxs,
const Array_< Array_< Vec3 > > &  stations,
const Array_< Array_< Vec3 > > &  targetLocations,
Real  tolerance = 0.001 
) [static]

Find the configuration of a MultibodySystem which best fits a set of target locations for stations.

This is identical to the other form of findBestFit(), but assumes every station has a weight of 1.

static Real SimTK::ObservedPointFitter::findBestFit ( const MultibodySystem system,
State state,
const std::vector< MobilizedBodyIndex > &  bodyIxs,
const std::vector< std::vector< Vec3 > > &  stations,
const std::vector< std::vector< Vec3 > > &  targetLocations,
Real  tolerance = 0.001 
) [inline, static]

For compatibility with std::vector; requires extra copying.

static Real SimTK::ObservedPointFitter::findBestFit ( const MultibodySystem system,
State state,
const Array_< MobilizedBodyIndex > &  bodyIxs,
const Array_< Array_< Vec3 > > &  stations,
const Array_< Array_< Vec3 > > &  targetLocations,
const Array_< Array_< Real > > &  weights,
Real  tolerance = 0.001 
) [static]

Find the configuration of a MultibodySystem which best fits a set of target locations for stations.

Parameters:
systemthe MultibodySystem being analyzed
stateon exit, this State's Q vector contains the values which provide a best fit
bodyIxsa list of MobilizedBodyIndexs corresponding to the bodies for which stations are defined
stationsthe list of stations for each body. stations[i][j] is the location of the j'th station for the body given by bodyIxs[i], given in that body's reference frame.
targetLocationsthe target locations for each body, given relative to ground. targetLocations[i][j] is the target for stations[i][j].
weightsweights[i][j] is the weight to use for stations[i][j] when performing the fitting
tolerancethe distance tolerance within which the best fit should be found
Returns:
the RMS distance of points in the best fit conformation from their target locations
static Real SimTK::ObservedPointFitter::findBestFit ( const MultibodySystem system,
State state,
const std::vector< MobilizedBodyIndex > &  bodyIxs,
const std::vector< std::vector< Vec3 > > &  stations,
const std::vector< std::vector< Vec3 > > &  targetLocations,
const std::vector< std::vector< Real > > &  weights,
Real  tolerance = 0.001 
) [inline, static]

For compatibility with std::vector; requires extra copying.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines