|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.robotics.engine.JRoboOp javax.robotics.engine.controllers.RobustControl
public class RobustControl
This class implements the Robust Control of joints position controller.
The scheme of the control:
the dynamics model of robot:
B(q)*q'' + n(q,q') = u, n(q,q') = C(q,q')*q'+ Fq'+ g(q)
w
is computed as:w = ρ/z.vers() for |z.norm()| ≥ ε w = (ρ/ε)*z for |z.norm()| < ε
D
is a 2*dof-by-dof matrix D= [O; I]
Q
is the solution of Lyapunov equation: HT*Q + Q*H = -I
where H
is a 2*dof-by-2*dof matrix H = [O, I; -Kp, -Kd]
B
is constant;n(q,q') = Fv*q' + g(q)
(viscous friction + gravity torques)
Wrapper class for C++ library ROBOOP.
Field Summary |
---|
Fields inherited from class javax.robotics.engine.JRoboOp |
---|
ID, Version |
Fields inherited from interface javax.robotics.engine.controllers.JointController |
---|
WRONG_SIZE |
Constructor Summary | |
---|---|
RobustControl(Robot robot,
DMatrix Kp,
DMatrix Kd,
Matrix B,
double rho,
double eps)
Robust control position controller class constructor. |
|
RobustControl(Robot robot,
DMatrix Kp,
DMatrix Kd,
Matrix B,
Matrix Q,
double rho,
double eps)
Robust control position controller class constructor with a pre-computed solution of Lyapunov equation. |
Method Summary | |
---|---|
short |
getID()
Gets Controller class ID. |
DMatrix |
getKd()
Gets the velocity error gain matrix. |
DMatrix |
getKp()
Gets the position error gain matrix. |
short |
getRobotID()
Gets Robot class ID linked to controller. |
short |
setKd(DMatrix Kd)
Sets the velocity error gain matrix. |
short |
setKd(double[] Kd)
Sets the velocity error gain matrix. |
short |
setKp(DMatrix Kp)
Sets the position error gain matrix. |
short |
setKp(double[] Kp)
Sets the position error gain matrix. |
double[] |
torqueCmd(double[]... qd)
Sets the output torque for a desired joint position and velocity. |
RVector |
torqueCmd(RVector... qd)
Sets the output torque for a desired joint position and velocity. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RobustControl(Robot robot, DMatrix Kp, DMatrix Kd, Matrix B, double rho, double eps)
Matrix.lyap(Matrix)
but it could fail.
robot
- Robot class.Kp
- diagonal matrix joint position error gain matrix.Kd
- diagonal matrix joint velocity error gain matrix.B
- a constant robot inertia matrix.rho
- the robustness gain.eps
- the chattering compensation.Matrix.lyap(Matrix)
public RobustControl(Robot robot, DMatrix Kp, DMatrix Kd, Matrix B, Matrix Q, double rho, double eps)
robot
- Robot class.Kp
- diagonal matrix joint position error gain matrix.Kd
- diagonal matrix joint velocity error gain matrix.B
- a constant robot inertia matrix.Q
- the solution of Lyapunov equation.rho
- the robustness gain.eps
- the chattering compensation.Matrix.lyap(Matrix)
Method Detail |
---|
public final short getID()
getID
in interface Controller
getID
in class JRoboOp
public final short getRobotID()
Controller
getRobotID
in interface Controller
public final DMatrix getKp()
JointController
getKp
in interface JointController
public final DMatrix getKd()
JointController
getKd
in interface JointController
public short setKp(DMatrix Kp)
JointController
Call C++ method
set_Kp(const DiagonalMatrixr &Kp)
setKp
in interface JointController
Kp
- position error gain diagonal matrix
public short setKp(double[] Kp)
Kp
- position error gain diagonal matrix
public short setKd(DMatrix Kd)
JointController
Call C++ method
set_Kd(const DiagonalMatrixr &Kd)
setKd
in interface JointController
Kd
- velocity error gain diagonal matrix
public short setKd(double[] Kd)
Kd
- velocity error gain diagonal matrix
public double[] torqueCmd(double[]... qd)
torqueCmd
in interface JointController
qd
- array of desired joints position, joints velocity and joints
acceleration.
public RVector torqueCmd(RVector... qd)
torqueCmd
in interface JointController
qd
- array of desired joints position, joints velocity and joints
acceleration.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |