javax.robotics.engine.controllers
Class ImpedanceControl

java.lang.Object
  extended by javax.robotics.engine.JRoboOp
      extended by javax.robotics.engine.controllers.ImpedanceControl

public class ImpedanceControl
extends JRoboOp

This class implements Impedance position controller. (NOT IMPLEMENTED)

Wrapper class for C++ library ROBOOP.

Since:
1.0.0
Author:
Carmine Lia

Field Summary
 
Fields inherited from class javax.robotics.engine.JRoboOp
ID, Version
 
Constructor Summary
ImpedanceControl(Robot robot, double[] Mp, double[] Dp, double[] Kp, double[] Km, double[] Mo, double[] Do, double[] Ko)
          Impedance controller class constructor.
 
Method Summary
 short control(double[] pdpp, double[] pdp, double[] pd, double[] wdp, double[] wd, double[] qd, double[] f, double[] n, double dt)
          Sets the compliant trajectory for a desired trajectory effector: acceleration, velocity, position, angular acceleration, angular velocity, angular position.
 boolean getConverge()
          Gets converge flag.
 short getError()
          Gets error flag.
 short getID()
          Gets Controller class ID.
 short getRobotID()
           
 
Methods inherited from class javax.robotics.engine.JRoboOp
acceleration, acceleration, createComputedTorqueMethod, createGravityCompensation, createImpedance, createPDGravityComp, createProportionalDerivative, createResolveRateAcceleration, createRobot, createRobot, createRobot, createRobot, createRobustControl, createSplinePath, createSplineQuaternion, dTdqi, getAvDof, getConverge, getDof, getError, getGravity, getPosErrorGCOMP, getPosErrorRRA, getQ, getQ, getQMax, getQMin, getQOffset, getQp, getQpp, getQuatErrorGCOMP, getQuatErrorRRA, impedanceControl, inertia, interpolate, interpolatePathQuat, interpolateQuat, invKine, invKine, jacobian, jacobian, jacobianDLSinv, jacobianDot, jacobianDot, kine, kine, setGravity, setKdCTM, setKdPD, setKdPDG, setKdRC, setKpCTM, setKpPD, setKpPDG, setKpRC, setQ, setQ, setQp, setQpp, torque, torque, torqueCmdCTM, torqueCmdGCOMP, torqueCmdGCOMP, torqueCmdPD, torqueCmdPDG, torqueCmdRC, torqueCmdRRA, torqueCmdRRA, torqueCoriolis, torqueCoulombFriction, torqueGravity, torqueViscousFriction
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ImpedanceControl

public ImpedanceControl(Robot robot,
                        double[] Mp,
                        double[] Dp,
                        double[] Kp,
                        double[] Km,
                        double[] Mo,
                        double[] Do,
                        double[] Ko)
Impedance controller class constructor.

Call C++ constructor

 Impedance(const Robot_basic &robot, 
                             const DiagonalMatrix &Mp, const DiagonalMatrix &Dp,
                             const DiagonalMatrix &Kp, const Matrix &Km,
                             const DiagonalMatrix &Mo, const DiagonalMatrix &Do,
                             const DiagonalMatrix &Do)
 

Parameters:
robot - Robot class.
Mp - diagonal matrix, translational impedance inertia matrix
Dp - diagonal matrix, translational impedance damping matrix
Kp - diagonal matrix, translational impedance stiffness matrix
Km - matrix
Mo - diagonal matrix, rotational impedance inertia matrix
Do - diagonal matrix, rotational impedance damping matrix
Ko - diagonal matrix, rotational impedance stiffness matrix
Method Detail

getID

public final short getID()
Gets Controller class ID.

Specified by:
getID in class JRoboOp
Returns:
ID

getConverge

public final boolean getConverge()
Gets converge flag.

Returns:
converge flag

getError

public short getError()
Gets error flag.

Returns:
error flag.

getRobotID

public short getRobotID()

control

public short control(double[] pdpp,
                     double[] pdp,
                     double[] pd,
                     double[] wdp,
                     double[] wd,
                     double[] qd,
                     double[] f,
                     double[] n,
                     double dt)
Sets the compliant trajectory for a desired trajectory effector: acceleration, velocity, position, angular acceleration, angular velocity, angular position.

Call C++ Impedance method

 control(Robot_basic &robot, 
                                const ColumnVector &pdpp const ColumnVector &pdp,
                                const ColumnVector &pd, const ColumnVector &wdp,
                                const ColumnVector &wd, const Quaternion &qd,
                                const ColumnVector &f, const Columnvector &n, 
                                const Real dt)
 

Parameters:
pdpp - desired acceleration
pdp - desired velocity
pd - desired position
wdp - desired angular acceleration
wd - desired angular velocity
qd - desired vector angular position: quaternion (s,v1,v2,v3)
f - end effector contact force
n - end effector contact moment
dt - sample time
Returns:
0 successfull otherwise indicates the wrong size of input vectors.