#include <IKJDLS.h>
Inheritance diagram for OSCAR::IKJDLS< JacobianType >:

Public Methods | |
| IKJDLS (const JointVector &initialJointPosition, JacobianType *fk, DLSEqnSolver *solver, OSCARError &err=DUMMY_ERROR(noError)) | |
| virtual | ~IKJDLS () |
| virtual bool | GetJointPosition (const Xform &desiredHandMatrix, JointVector &jointPosition) |
| virtual bool | GetJointPosition (const HandPose &desiredHand, JointVector &jointPosition) |
| virtual bool | GetDifferentialJointPosition (const Xform &desiredHandMatrix, JointVector &differentialJointPosition) |
| virtual bool | GetDifferentialJointPosition (const HandPose &desiredHand, JointVector &differentialJointPosition) |
| virtual bool | GetJointVelocity (const HandPose &handVelocity, JointVector &jointVelocitySolution) |
| void | SetMaxDampingFactor (double maxDamping) |
| bool | SetErrorTolerances (double maxTransError, double maxRotError) |
| bool | GetErrorTolerances (double &maxTransError, double &maxRotError) const |
Protected Methods | |
| bool | converge (const Xform &desiredHandMatrix) |
| double | calculateErrorMagnitude (const Xform &desired, const Xform *current, HandPose &error) |
| void | computeDamping () |
Protected Attributes | |
| double | maxDamping |
| double | maxTransError |
| double | maxRotError |
| double | transError |
| double | rotError |
|
||||||||||||||||||||||||
|
Constructor. This is the constructor for an object of type IKJDLS. Use this Constructor to create an IKGOMitsubishi object from an IKMitsubishi object and an initial joint position.
|
|
|||||||||
|
|
|
||||||||||||||||||||
|
Reimplemented from OSCAR::IKJacobian< JacobianType >. |
|
|||||||||
|
|
|
||||||||||
|
Reimplemented from OSCAR::IKJacobian< JacobianType >. |
|
||||||||||||||||
|
Get the differential joint position. This method is used to get the differential joint position solution for an end-effector position. Basically, it solves the equation J dq = dx, where J is the Jacobian matrix, dq is the differential joint position, and dx is the differential end effector position.
|
|
||||||||||||||||
|
Get the differential joint position. This method is used to get the differential joint position solution for an end-effector position. Basically, it solves the equation J dq = dx, where J is the Jacobian matrix, dq is the differential joint position, and dx is the differential end effector position.
|
|
||||||||||||||||
|
Get the value of the Error Tolerance. This method is used to get the value of the Error Tolerances; the maximum translational and rotational errors.
|
|
||||||||||||||||
|
Get the Joint position. This method is used to get the current joint position for an end-effector position represented by an HandPose object.
Reimplemented from OSCAR::IKJacobian< JacobianType >. |
|
||||||||||||||||
|
Get the Joint position. This method is used to get the current joint position solution for an end-effector position represented by an Xform object.
Reimplemented from OSCAR::IKJacobian< JacobianType >. |
|
||||||||||||||||
|
Get the Joint Velocity. This method is used to get the current joint velocity vector from a HandPose velocity vector.
Reimplemented from OSCAR::IKJacobian< JacobianType >. |
|
||||||||||||||||
|
Set the Error Tolerances. This method is used to set the Error Tolerance. IKJDLS uses an iterative algorithm to find the inverse solution. As such, this algorithm stops iterating when both translational and rotational errors fall below their preset values. This method replaces SetErrorTolerance(double maxErrorVal, double rotScale) in IKJacobian. The default translational error as specified in the constructor is 0.l units and the rotational error is 0.5 deg.
|
|
||||||||||
|
Set the maximum amount of the damping factor. The damping factor will be determined based on maxDamping, MOT, and minMOT: damping = maxDamping*(1-MOT/minMOT)^2 if MOT < minMOT and damping = 0 otherwise. This will ensure that (1) IKJDLS gives the exact solution outside of singularities and (2) the solution obtained is smooth and continuous.
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
| RRG Homepage | OSCAR Overview | OSCAR Tutorials | Simulations |