|
|
Constructor.
This is the constructor for an object of type IKJAvoidLimits. Use this to construct an IKJAvoidLimits object from an FKJacobian class, an initial joint position and a filename of a file containing joint limits data. This class uses the Jacobian calculations from the FKJacobian class to perform a Resolved Rate inverse solution. As such, all functionality for setting and retrieving tool points and base poses should be done through the FKJacobian object. This class is also designed to use the Active/Inactive functionality present in JointVector and HandPose to perform an inverse. If a joint is declared Inactive, that joint will not move. If an HandPose element is declared Inactive, that coordinate will not be used in the inverse (i.e. it will be free to move). If enough joints are locked to make this a sqare or over- constrained system, the inverse will no longer use the weighted psuedo-inverse. This is because this inverse will only work on redundant systems.
- Parameters:
-
| initialJointPosition | A DOF length vector of initial joint positions. This position will be used to create the object and should not be singular. |
| fkJacobian | A pointer to a forward kinematics object. This object is a template parameter defined at object creation. It must be derived from Kinematics, FKPositionBase, and FKJacobianBase. This object will be used to generate the Jacobian used for the inverse. All necessary tool points and base poses should be set in this object. A user can supply their custom FKJacobian object for this purpose. |
| limitsFile | The name of a file containing the limits of the manipulator. These limits should be DOFx2. |
| err | An OSCARError object that on return will hold the value of any errors that were generated during the constructor call. If err is not equal to 'noError' you can call GetError() to get the details of the error code. |
| solver | A pointer to an EqnSolver object. This parameter can be used to create custom methods for solving systems of linear equations. If not supplied, a default EqnSolver will be created. |
| maxError | The maximum error allowed when converging on a solution. The default value is 0.1. |
| rtScale | Used to scale orientation errors in the HandPose with translation errors. The default value is 1000. The formula used to compute maxError is: maxError = translationError + rtScale * orientationError |
- Exceptions:
-
|