|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjavax.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 ControllergetID in class JRoboOppublic final short getRobotID()
Controller
getRobotID in interface Controllerpublic final DMatrix getKp()
JointController
getKp in interface JointControllerpublic final DMatrix getKd()
JointController
getKd in interface JointControllerpublic short setKp(DMatrix Kp)
JointControllerCall C++ method
set_Kp(const DiagonalMatrixr &Kp)
setKp in interface JointControllerKp - position error gain diagonal matrix
public short setKp(double[] Kp)
Kp - position error gain diagonal matrix
public short setKd(DMatrix Kd)
JointControllerCall C++ method
set_Kd(const DiagonalMatrixr &Kd)
setKd in interface JointControllerKd - velocity error gain diagonal matrix
public short setKd(double[] Kd)
Kd - velocity error gain diagonal matrix
public double[] torqueCmd(double[]... qd)
torqueCmd in interface JointControllerqd - array of desired joints position, joints velocity and joints
acceleration.
public RVector torqueCmd(RVector... qd)
torqueCmd in interface JointControllerqd - 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 | ||||||||