#include <suTrackObject.h>
Inheritance diagram for suTrackObject:

Public Member Functions | |
| suTrackObject () | |
| Construct a default track object for a specified model. | |
| suTrackObject (IDOM_Element *aElement) | |
| Construct a track object from an XML Element. | |
| suTrackObject (const suTrackObject &aTrackObject) | |
| Copy constructor. | |
| virtual | ~suTrackObject () |
| Destructor. | |
| virtual suTrackObject * | copy () const=0 |
| virtual suTrackObject * | copy (IDOM_Element *aElement) const=0 |
| suTrackObject & | operator= (const suTrackObject &aTrackObject) |
| Assignment operator. | |
| void | setModel (rdModel *aModel) |
| Set the model to which this track object applies. | |
| rdModel * | getModel () const |
| Get the model to which this track object applies. | |
| void | setOn (bool aTrueFalse) |
| Turn this track object on or off. | |
| bool | getOn () const |
| Get whether or not this track object is on. | |
| void | setWRTBody (int aBody) |
| Set the body with respect to (WRT) which the track goals are specified. | |
| int | getWRTBody () const |
| Get the body with respect to (WRT) which the track goals are specified. | |
| void | setExpressBody (int aBody) |
| Set the body in which the track goals are expressed. | |
| int | getExpressBody () const |
| Get the body in which the track goals are expressed. | |
| void | setActive (bool a0, bool a1=false, bool a2=false) |
| Set whether or not track goals are active. | |
| bool | getActive (int aWhich) const |
| Get whether a specified track goal is active. | |
| void | setWeight (double aW0, double aW1=0.0, double aW2=0.0) |
| Set the weight of each track goal. | |
| double | getWeight (int aWhich) const |
| Get the weight of each track goal. | |
| void | setKP (double aK0, double aK1=0.0, double aK2=0.0) |
| Set the position gains for each track goal. | |
| double | getKP (int aWhich) const |
| Get the position gain for a specified track goal. | |
| void | setKV (double aK0, double aK1=0.0, double aK2=0.0) |
| Set the velocity gains for each track goal. | |
| double | getKV (int aWhich) const |
| Get the velocity gain for a specified track goal. | |
| void | setKA (double aK0, double aK1=0.0, double aK2=0.0) |
| Set the acceleration gains for each track goal. | |
| double | getKA (int aWhich) const |
| Get the acceleration gain for a specified track goal. | |
| void | setDirection_0 (const double aR[3]) |
| Set the direction of track goal 0. | |
| void | getDirection_0 (double rR[3]) const |
| Get the direction of track goal 0. | |
| void | setDirection_1 (const double aR[3]) |
| Set the direction of track goal 1. | |
| void | getDirection_1 (double rR[3]) const |
| Get the direction of track goal 1. | |
| void | setDirection_2 (const double aR[3]) |
| Set the direction of track goal 2. | |
| void | getDirection_2 (double rR[3]) const |
| Get the direction of track goal 2. | |
| int | getNumTrackFunctions () const |
| Get the number of position track functions. | |
| void | setTrackFunctions (rdFunction *aF0, rdFunction *aF1=NULL, rdFunction *aF2=NULL) |
| Set the track functions. | |
| rdFunction * | getTrackFunction (int aWhich) const |
| Get a specified track function. | |
| void | setTrackFunctionsForVelocity (rdFunction *aF0, rdFunction *aF1=NULL, rdFunction *aF2=NULL) |
| Set the velocity track functions. | |
| rdFunction * | getTrackFunctionForVelocity (int aWhich) const |
| Get a specified velocity track function. | |
| void | setTrackFunctionsForAcceleration (rdFunction *aF0, rdFunction *aF1=NULL, rdFunction *aF2=NULL) |
| Set the acceleration track functions. | |
| rdFunction * | getTrackFunctionForAcceleration (int aWhich) const |
| Get a specified acceleration track function. | |
| void | setPositionErrorLast (double aE0, double aE1=0.0, double aE2=0.0) |
| Set the last achieved position error. | |
| double | getPositionErrorLast (int aWhich) const |
| Get the last achieved position error. | |
| void | setVelocityErrorLast (double aE0, double aE1=0.0, double aE2=0.0) |
| Set the last achieved velocity error. | |
| double | getVelocityErrorLast (int aWhich) const |
| Get the last achieved velocity error. | |
| double | getPositionError (int aWhich) const |
| Get the position track error of a specified track goal. | |
| double | getVelocityError (int aWhich) const |
| Get the velocity track error of a specified track goal. | |
| double | getDesiredAcceleration (int aWhich) const |
| Get the desired acceleration of a specified track goal. | |
| double | getAcceleration (int aWhich) const |
| Get the acceleration of a specified track goal. | |
| virtual void | computeErrors (double aT)=0 |
| virtual void | computeDesiredAccelerations (double aT)=0 |
| virtual void | computeAccelerations ()=0 |
| virtual void | computeJacobian () |
| Compute the Jacobian. | |
| virtual void | computeEffectiveMassMatrix () |
| Compute the effective mass matrix. | |
| virtual void | updateObject (bool aDeep=true) |
| Update this object based on its XML node. | |
| virtual void | updateNode (bool aDeep=true) |
| Update the XML node representing this object. | |
| virtual void | generateNode (IDOM_Element *aParent) |
| Generate an XML node representing this object. | |
| void | updateData () |
| Update the member data of this object based on its XML node. | |
Static Public Attributes | |
| const char | DEFAULT_NAME [] = "default" |
Protected Attributes | |
| rdModel * | _model |
| Model. | |
| bool | _on |
| Flag to indicate on or off state. | |
| int | _wrtBody |
| Body with respect to which the track goals are specified. | |
| int | _expressBody |
| Body frame in which the track goals are expressed. | |
| bool | _active [3] |
| Flag to specify the active track goals. | |
| double | _w [3] |
| Weights of the track goals. | |
| double | _kp [3] |
| Position error feedback gain. | |
| double | _kv [3] |
| Velocity error feedback gain. | |
| double | _ka [3] |
| Feedforward acceleration gain. | |
| double | _r [3][3] |
| Directions of the track goals. | |
| int | _nTrk |
| Number of track functions. | |
| rdFunction * | _pTrk [3] |
| Position track functions. | |
| rdFunction * | _vTrk [3] |
| Velocity track functions. | |
| rdFunction * | _aTrk [3] |
| Acceleration track functions. | |
| double | _pErrLast [3] |
| Last position error. | |
| double | _pErr [3] |
| Position error. | |
| double | _vErrLast [3] |
| Last velocity error. | |
| double | _vErr [3] |
| Velocity error. | |
| double | _aDes [3] |
| Desired accelerations. | |
| double | _a [3] |
| Accelerations. | |
| double * | _j |
| Jacobian. | |
| double * | _m |
| Effective mass matrix. | |
Private Member Functions | |
| void | setNull () |
| Set NULL values for all member variables. | |
| void | copyData (const suTrackObject &aTrackObject) |
| Copy the member data for this class only. | |
Static Private Attributes | |
| const char | PROP_WRT_BODY [] = "wrt_body" |
| const char | PROP_EXPRESS_BODY [] = "express_body" |
| const char | PROP_ON [] = "on" |
| const char | PROP_ACTIVE [] = "active" |
| const char | PROP_W [] = "weight" |
| const char | PROP_KP [] = "kp" |
| const char | PROP_KV [] = "kv" |
| const char | PROP_KA [] = "ka" |
| const char | PROP_R0 [] = "R0" |
| const char | PROP_R1 [] = "R1" |
| const char | PROP_R2 [] = "R2" |
|
|
Construct a default track object for a specified model.
|
|
|
Construct a track object from an XML Element.
|
|
|
Copy constructor.
|
|
|
Copy the member data for this class only.
|
|
|
Generate an XML node representing this object.
Reimplemented from rdObject. Reimplemented in suTrackJoint. |
|
|
Get the acceleration of a specified track goal. The acceleration returned is the dot product of the appropriate track-goal direction and the acceleration of the point or orientation in question. In the case of generalized coordinates, the acceleration of the generalized coordinate is returned (i.e., a direction is not appropriate). For the value returned by this method to be valid, the method computeAccelerations() must be called first.
|
|
|
Get whether a specified track goal is active.
|
|
|
Get the desired acceleration of a specified track goal. The method computeDesiredAccelerations() must be called first for the values returned by this method to be valid.
|
|
|
Get the direction of track goal 0.
|
|
|
Get the direction of track goal 1.
|
|
|
Get the direction of track goal 2.
|
|
|
Get the body in which the track goals are expressed.
|
|
|
Get the acceleration gain for a specified track goal.
|
|
|
Get the position gain for a specified track goal.
|
|
|
Get the velocity gain for a specified track goal.
|
|
|
Get the model to which this track object applies.
|
|
|
Get the number of position track functions.
|
|
|
Get whether or not this track object is on.
|
|
|
Get the position track error of a specified track goal.
|
|
|
Get the last achieved position error. This information is useful for checking that error dynamics are being followed.
|
|
|
Get a specified track function.
|
|
|
Get a specified acceleration track function.
|
|
|
Get a specified velocity track function.
|
|
|
Get the velocity track error of a specified track goal.
|
|
|
Get the last achieved velocity error. This information is useful for checking that error dynamics are being followed.
|
|
|
Get the weight of each track goal.
|
|
|
Get the body with respect to (WRT) which the track goals are specified.
|
|
|
Assignment operator.
|
|
||||||||||||||||
|
Set whether or not track goals are active.
|
|
|
Set the direction of track goal 0.
|
|
|
Set the direction of track goal 1.
|
|
|
Set the direction of track goal 2.
|
|
|
Set the body in which the track goals are expressed.
|
|
||||||||||||||||
|
Set the acceleration gains for each track goal.
|
|
||||||||||||||||
|
Set the position gains for each track goal.
|
|
||||||||||||||||
|
Set the velocity gains for each track goal.
|
|
|
Set the model to which this track object applies.
|
|
|
Turn this track object on or off.
|
|
||||||||||||||||
|
Set the last achieved position error. This information is useful for checking that error dynamics are being followed.
|
|
||||||||||||||||
|
Set the track functions. Note that this method makes copies of the specified track functions, so the caller may use the specified functions for whatever purposes.
|
|
||||||||||||||||
|
Set the acceleration track functions. Note that this method makes copies of the specified track functions, so the caller may use the specified functions for whatever purposes.
|
|
||||||||||||||||
|
Set the velocity track functions. Note that this method makes copies of the specified functions, so the caller may use the specified functions for whatever purposes.
|
|
||||||||||||||||
|
Set the last achieved velocity error. This information is useful for checking that error dynamics are being followed.
|
|
||||||||||||||||
|
Set the weight of each track goal.
|
|
|
Set the body with respect to (WRT) which the track goals are specified.
|
|
|
Update the member data of this object based on its XML node. Member objects (children) are not updated. Reimplemented in suTrackJoint. |
|
|
Update the XML node representing this object.
Reimplemented from rdObject. Reimplemented in suTrackJoint. |
|
|
Update this object based on its XML node.
Reimplemented from rdObject. Reimplemented in suTrackJoint. |
|
|
Acceleration track functions. If acceleration track functions are not specified, derivatives of the position track function are used. |
|
|
Position track functions. Different types of track objects can require different numbers of track functions. For example, to track a joint angle, only one track function is needed. However, to track a position, up to three track functions may be needed. |
|
|
Velocity track functions. If velocity track functions are not specified, derivatives of the position track function are used. |
1.3