|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.robotics.engine.clik.ClikJacobianInverse
public class ClikJacobianInverse
Closed Loop Inverse Kinematics with Jacobian inverse. The class implements
this scheme:
The inverse is computed using SVD decomposition:
J-1 = JT*(J*JT + λ2*I)-1 where λ2 is the damped factor equals 1 - (σr/ε)*λ2max if σr< ε, equals 0 if σr≥ ε; σr is the smallest not null singular value.
The orientation error is computed as quaternion error.
The integration method used is the forward Euler.
Constructor Summary | |
---|---|
ClikJacobianInverse(Robot robot,
DMatrix Kp,
DMatrix Ko)
Costructor with default sample time, dt = 1e-3 and eps = 0.02, lambdaMax=0.02. |
|
ClikJacobianInverse(Robot robot,
DMatrix Kp,
DMatrix Ko,
double dt)
Costructor with eps = 0.02, lambdaMax=0.02. |
|
ClikJacobianInverse(Robot robot,
DMatrix Kp,
DMatrix Ko,
double dt,
double eps,
double lambdaMax)
Constructor. |
Method Summary | |
---|---|
double |
getEps()
Gets the singular region area. |
RVector |
getJointsPosition()
Gets the current joints position. |
RVector |
getJointsVelocity()
Gets the current joints velocity. |
DMatrix |
getKo()
Gets the matrix of error orientation gain. |
DMatrix |
getKp()
Gets the matrix of error position gain. |
double |
getLambdaMax()
Gets the maximum damped factor. |
RVector3d |
getOrientationError()
Gets the current orientation error. |
RVector3d |
getPositionError()
Gets the current position error. |
double |
getSampleTime()
Gets the sample time. |
void |
setEps(double eps)
Sets the singular region area. |
void |
setKo(DMatrix ko)
Sets the matrix of error orientation gain. |
void |
setKp(DMatrix kp)
Sets the matrix of error position gain. |
void |
setLambdaMax(double lambdaMax)
Sets the maximum damped factor. |
void |
setSampleTime(double h)
Sets the sample time. |
void |
step(RVector3d pd,
RVector3d ppd,
Quaternion quatd,
RVector3d wd)
Compute the joints position and velocity from a given desired end effector position and orientation. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ClikJacobianInverse(Robot robot, DMatrix Kp, DMatrix Ko)
robot
- the robot.Kp
- the diagonal matrix of error position gain.Ko
- the diagonal matrix of error orientationo gain.public ClikJacobianInverse(Robot robot, DMatrix Kp, DMatrix Ko, double dt)
robot
- the robot.Kp
- the diagonal matrix of error position gain.Ko
- the diagonal matrix of error orientationo gain.dt
- the sample time.public ClikJacobianInverse(Robot robot, DMatrix Kp, DMatrix Ko, double dt, double eps, double lambdaMax)
robot
- the robot.Kp
- the diagonal matrix of error position gain.Ko
- the diagonal matrix of error orientationo gain.dt
- the sample time.eps
- the area of singular region.lambdaMax
- the maximum of damped factor.Method Detail |
---|
public final double getEps()
getEps
in interface CLIK
public final void setEps(double eps)
setEps
in interface CLIK
eps
- The eps to set.public final double getSampleTime()
getSampleTime
in interface CLIK
public final void setSampleTime(double h)
setSampleTime
in interface CLIK
h
- The sample time to set.public final DMatrix getKp()
getKp
in interface CLIK
public final void setKp(DMatrix kp)
setKp
in interface CLIK
kp
- The diagonal matrix to set.public final DMatrix getKo()
getKo
in interface CLIK
public final void setKo(DMatrix ko)
setKo
in interface CLIK
ko
- The diagonal matrix to set.public final double getLambdaMax()
getLambdaMax
in interface CLIK
public final void setLambdaMax(double lambdaMax)
setLambdaMax
in interface CLIK
lambdaMax
- The damped factor to set.public final RVector3d getPositionError()
getPositionError
in interface CLIK
public final RVector3d getOrientationError()
η(q)&epsilond - &etad&epsilon(q) - S(&epsilond)&epsilon(q)
where η and ε are the vector and the scalar components of quaternion respectively.
getOrientationError
in interface CLIK
public final RVector getJointsPosition()
getJointsPosition
in interface CLIK
public final RVector getJointsVelocity()
getJointsVelocity
in interface CLIK
public void step(RVector3d pd, RVector3d ppd, Quaternion quatd, RVector3d wd)
step
in interface CLIK
pd
- the vector of desired end effector position.ppd
- the vector of desired end effector velocity.quatd
- the desired end effector quaternion.wd
- the desired end effector angular velocity.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |