|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjavax.robotics.engine.JRoboOp
public abstract class JRoboOp
To use it install the DLL library JRoboOp.dll (libJRoboOp.so for Linux)
| Field Summary | |
|---|---|
protected static short |
ID
|
static java.lang.String |
Version
|
| Constructor Summary | |
|---|---|
protected |
JRoboOp()
Constructor of the engine. |
| Method Summary | |
|---|---|
protected double[] |
acceleration(short ID,
double[] q,
double[] qp,
double[] tau)
Computes the solution of the Forward Dynamics Problem. |
protected double[] |
acceleration(short ID,
double[] q,
double[] qp,
double[] tauCmd,
double[] Fext,
double[] Next)
Computes the solution of the Forward Dynamics Problem with load applied to the last link. |
protected void |
createComputedTorqueMethod(short ID,
short robotID,
double[] Kp,
double[] Kd)
Computed Torque Method position controller class constructor. |
protected void |
createGravityCompensation(short ID,
short robotID,
double Kvp,
double Kpp,
double Kvo,
double Kpo)
Gravity Compensation controller class constructor. |
protected void |
createImpedance(short ID,
short robotID,
double[] Mp,
double[] Dp,
double[] Kp,
double[] Km,
double[] Mo,
double[] Do,
double[] Ko)
|
protected void |
createPDGravityComp(short ID,
short robotID,
double[] Kp,
double[] Kd)
Proportional Derivative with gravity compensation joints position controller class constructor. |
protected void |
createProportionalDerivative(short ID,
short robotID,
double[] Kp,
double[] Kd)
Proportional Derivative joints position controller class constructor. |
protected void |
createResolveRateAcceleration(short ID,
short robotID,
double Kvp,
double Kpp,
double Kvo,
double Kpo)
Resolved Rate Acceleration controller class constructor. |
protected void |
createRobot(short ID)
Default Robot constructor. |
protected void |
createRobot(short ID,
double[] initRobot,
int rows,
int cols)
Robot constructor with init parameter and motor parameter. |
protected void |
createRobot(short ID,
double[] initRobot,
int rowsR,
int colsR,
double[] initMotor,
int rowsM,
int colsM)
Robot constructor with init parameter and motor parameter. |
protected void |
createRobot(short ID,
java.lang.String fileName,
java.lang.String robotName)
Robot constructor with ROBOOP file parameter. |
protected void |
createRobustControl(short ID,
short robotID,
double[] Kp,
double[] Kd,
double[] B,
double[] Q,
double rho,
double eps)
Robust control position controller class constructor. |
protected void |
createSplinePath(short ID,
int spaceDim,
int nPoints,
double[] array)
Spline Path class constructor from ROBOOP file. |
protected void |
createSplineQuaternion(short ID,
int nPoints,
double[] array)
Spline Quaternion class constructor from array. |
protected double[] |
dTdqi(short ID,
int j)
Computes the partial derivative of homogeneous transform respect j-th joint. |
protected int |
getAvDof(short ID)
Gets the available degrees of freedom of robot. |
protected boolean |
getConverge(short ID)
|
protected int |
getDof(short ID)
Gets the degrees of freedom of robot. |
protected short |
getError(short ID)
|
protected double[] |
getGravity(short ID)
Gets gravity vector. |
protected abstract short |
getID()
Gets the ID. |
protected double[] |
getPosErrorGCOMP(short ID)
Gets the position error. |
protected double[] |
getPosErrorRRA(short ID)
Gets the position error. |
protected double[] |
getQ(short ID)
Gets joints position. |
protected double |
getQ(short ID,
int i)
Gets the position of i-th joint. |
protected double[] |
getQMax(short ID)
Gets joints maximum position. |
protected double[] |
getQMin(short ID)
Gets joints minumum position. |
protected double[] |
getQOffset(short ID)
Gets joints minumum position. |
protected double[] |
getQp(short ID)
Gets joints velocity. |
protected double[] |
getQpp(short ID)
Gets joints acceleration. |
protected double[] |
getQuatErrorGCOMP(short ID)
Gets the quaternion error. |
protected double[] |
getQuatErrorRRA(short ID)
Gets the quaternion error. |
protected short |
impedanceControl(short ID,
short robotID,
double[] pdpp,
double[] pdp,
double[] pd,
double[] wdp,
double[] wd,
double[] qd,
double[] f,
double[] n,
double dt)
|
protected double[] |
inertia(short ID,
double[] q)
Computes the inertia matrix. |
protected double[] |
interpolate(short ID,
double t)
Interpolates the spline at time t to set the position, velocity and acceleration. |
protected double[] |
interpolatePathQuat(short ID,
double t)
Interpolates the spline at time t to set the position, velocity, acceleration, the quaternion and angular velocity. |
protected double[] |
interpolateQuat(short ID,
double t)
Interpolates the spline at time t to set the quaternion and angular velocity. |
protected double[] |
invKine(short ID,
double[] Tobj)
Computes the solution of the Inverse Kinematics Problem from homogeneous transform matrix using a Newton-Raphson technique. |
protected double[] |
invKine(short ID,
double[] Tobj,
int mj,
int endlink)
Computes the solution of the Inverse Kinematics Problem from homogeneous transform matrix using a Newton-Raphson or Taylor expansion techniques. |
protected double[] |
jacobian(short ID)
Computes the Jacobian matrix expressed in the base frame. |
protected double[] |
jacobian(short ID,
int ref)
Computes the Jacobian matrix expressed in the ref-th frame. |
protected double[] |
jacobianDLSinv(short ID,
double eps,
double lambdaMax)
Computes the 6x6 inverse Jacobian matrix based on the Damped Least-Squares scheme. |
protected double[] |
jacobianDot(short ID)
Computes the Jacobian time derivative matrix expressed in the base frame. |
protected double[] |
jacobianDot(short ID,
int ref)
Computes the Jacobian time derivative matrix expressed in the ref-th frame. |
protected double[] |
kine(short ID)
Computes the solution of the Forward Kinematics Problem. |
protected double[] |
kine(short ID,
int j)
Computes the solution of the Forward Kinematics Problem for the link j. |
protected void |
setGravity(short ID,
double[] gravity)
Sets the gravity vector. |
protected short |
setKdCTM(short ID,
short robotID,
double[] Kd)
Sets the position error gain matrix. |
protected short |
setKdPD(short ID,
short robotID,
double[] Kd)
Sets the velocity error gain matrix. |
protected short |
setKdPDG(short ID,
short robotID,
double[] Kd)
Sets the velocity error gain matrix. |
protected short |
setKdRC(short ID,
short robotID,
double[] Kd)
Sets the position error gain matrix. |
protected short |
setKpCTM(short ID,
short robotID,
double[] Kp)
Sets the position error gain matrix. |
protected short |
setKpPD(short ID,
short robotID,
double[] Kp)
Sets the position error gain matrix. |
protected short |
setKpPDG(short ID,
short robotID,
double[] Kp)
Sets the position error gain matrix. |
protected short |
setKpRC(short ID,
short robotID,
double[] Kp)
Sets the position error gain matrix. |
protected void |
setQ(short ID,
double[] q)
Sets joints position adding the offset. |
protected void |
setQ(short ID,
double q,
int i)
Sets i-th joint position adding the offset. |
protected void |
setQp(short ID,
double[] qp)
Sets joints velocity. |
protected void |
setQpp(short ID,
double[] qpp)
Sets joints acceleration. |
protected double[] |
torque(short ID,
double[] q,
double[] qp,
double[] qpp)
Computes the solution of the Inverse Dynamics Problem. |
protected double[] |
torque(short ID,
double[] q,
double[] qp,
double[] qpp,
double[] Fext,
double[] Next)
Computes the solution of the Inverse Dynamics Problem with load applied to the last link. |
protected double[] |
torqueCmdCTM(short ID,
short robotID,
double[] qd,
double[] qpd,
double[] qppd)
Sets the output torque for a desired joint position and velocity. |
protected double[] |
torqueCmdGCOMP(short ID,
short robotID,
double[] pd)
Sets the output torque for a desired end effector position. |
protected double[] |
torqueCmdGCOMP(short ID,
short robotID,
double[] pd,
double[] qd,
short linkPc)
Sets the output torque for a desired end effector position and angular position. |
protected double[] |
torqueCmdPD(short ID,
short robotID,
double[] qd,
double[] qpd)
Sets the output torque for a desired joint position and velocity. |
protected double[] |
torqueCmdPDG(short ID,
short robotID,
double[] qd)
Sets the output torque for a desired joint position and velocity. |
protected double[] |
torqueCmdRC(short ID,
short robotID,
double[] qd,
double[] qpd,
double[] qppd)
Sets the output torque for a desired joint position and velocity. |
protected double[] |
torqueCmdRRA(short ID,
short robotID,
double[] pdpp,
double[] pdp,
double[] pd)
Sets the output torque for a desired end effector: acceleration, velocity, position. |
protected double[] |
torqueCmdRRA(short ID,
short robotID,
double[] pdpp,
double[] pdp,
double[] pd,
double[] wdp,
double[] wd,
double[] qd,
short linkPc)
Sets the output torque for a desired end effector: acceleration, velocity, position, angular acceleration, angular velocity, angular position. |
protected double[] |
torqueCoriolis(short ID,
double[] qp)
Computes the torques from the Coriolis and centrifugal effect. |
protected double[] |
torqueCoulombFriction(short ID,
double[] qp)
Computes the torques from the Coulomb friction. |
protected double[] |
torqueGravity(short ID)
Computes the torques from the gravity effect. |
protected double[] |
torqueViscousFriction(short ID,
double[] qp)
Computes the torques from the viscous friction. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static short ID
public static final java.lang.String Version
| Constructor Detail |
|---|
protected JRoboOp()
| Method Detail |
|---|
protected abstract short getID()
protected short getError(short ID)
ID -
protected boolean getConverge(short ID)
ID -
protected void createRobot(short ID)
Call C++ default Robot constructor
Robot()
ID - the engine id
protected void createRobot(short ID,
double[] initRobot,
int rows,
int cols)
Call C++ Robot constructor
Robot(const Matrix &initRobot)
ID - engine idinitRobot - vector of robot parameter; dimension: rowsR x colsRrows - rows of initRobotcols - columns of initRobot
protected void createRobot(short ID,
double[] initRobot,
int rowsR,
int colsR,
double[] initMotor,
int rowsM,
int colsM)
Call C++ Robot constructor
Robot(const Matrix &initRobot, const Matrix &initMotor)
ID - engine idinitRobot - vector of robot parameter; dimension: rowsR x colsRrowsR - rows of initRobotcolsR - columns of initRobotinitMotor - vector of motor robot parameter; dimension: rowsM x colsMrowsM - rows of initMotorcolsM - columns of initMotor
protected void createRobot(short ID,
java.lang.String fileName,
java.lang.String robotName)
Call C++ Robot constructor
Robot(const string &fileName, const string &robotName)
ID - engine idfileName - configuration file name of robot parameterrobotName - name of the robotprotected int getDof(short ID)
Call C++ Robot method
get_dof()
ID - engine id
protected int getAvDof(short ID)
Call C++ Robot method
get_available_dof()
ID - engine id
protected double[] getQMax(short ID)
Call C++ Robot method
get_q_max()
ID - the engine id
protected double[] getQMin(short ID)
Call C++ Robot method
get_q_min()
ID - the engine id
protected double[] getQOffset(short ID)
Call C++ Robot method
get_q_offset()
ID - the engine id
protected double[] getQ(short ID)
Call C++ Robot method
get_q()
ID - the engine id
protected double getQ(short ID,
int i)
Call C++ Robot method
get_q(int i)
ID - the engine idi - the joint.
protected double[] getQp(short ID)
Call C++ Robot method
get_qp()
ID - the engine id
protected double[] getQpp(short ID)
Call C++ Robot method
get_qpp()
ID - the engine id
protected void setQ(short ID,
double[] q)
Call C++ Robot method
set_q(const ColumnVector &q)
ID - the engine idq - the array of joints position
protected void setQ(short ID,
double q,
int i)
Call C++ Robot method
set_q(const Real q, int i)
ID - the engine idq - joint positioni - joint
protected void setQp(short ID,
double[] qp)
Call C++ Robot method
set_qp(const ColumnVector &qp)
ID - the engine idqp - array of joints velocity
protected void setQpp(short ID,
double[] qpp)
Call C++ Robot method
set_qpp(const ColumnVector &qpp)
ID - the engine idqpp - the array of joints position
protected double[] invKine(short ID,
double[] Tobj)
Call C++ Robot method
inv_kin(const Matrix &Tobj)
ID - the engine idTobj - elements of homogeneous transform matrix row major
protected double[] invKine(short ID,
double[] Tobj,
int mj,
int endlink)
Call C++ Robot method
inv_kin(const Matrix &Tob, const int mj, bool &converge)
ID - the engine idTobj - elements homogeneous transform matrix row major.mj - value 0,1 to choose the technique: Newton-Raphson, Taylor
expansion respectively.endlink - the link to pretend is the end effector.
protected double[] jacobian(short ID)
Call C++ Robot method
jacobian()
ID - the engine id
protected double[] jacobian(short ID,
int ref)
Call C++ Robot method
jacobian(const int ref)
ID - the engine idref - frame reference
protected double[] jacobianDot(short ID)
Call C++ Robot method
jacobian_dot()
ID - the engine id
protected double[] jacobianDot(short ID,
int ref)
Call C++ Robot method
jacobian_dot(const int ref)
ID - the engine idref - frame reference
protected double[] jacobianDLSinv(short ID,
double eps,
double lambdaMax)
Call C++ Robot method
jacobian_DLS_inv(const Real eps, const Real lambda_max)
ID - the engine ideps - epsilonlambdaMax - damping factor
protected double[] kine(short ID)
Call C++ Robot method
kine()
ID - the engine id
protected double[] kine(short ID,
int j)
Call C++ Robot method
kine(const int j)
ID - the engine idj - link of forward kinematic
protected double[] dTdqi(short ID,
int j)
Call C++ Robot method
dTdqi(const int j)
ID - the engine idj - joint
protected double[] acceleration(short ID,
double[] q,
double[] qp,
double[] tau)
Call C++ Robot method
acceleration(const ColumnVector &q, const ColumnVector &qp, const ColumnVector &tau)
ID - the engine idq - joints positionqp - joints velocitytau - joints torque
protected double[] acceleration(short ID,
double[] q,
double[] qp,
double[] tauCmd,
double[] Fext,
double[] Next)
Call C++ Robot method
acceleration(const ColumnVector &q, const ColumnVector &qp, const ColumnVector &tau_cmd, const ColumnVector &Fext, const ColumnVector &Next)
ID - the engine idq - joints positionqp - joints velocitytauCmd - joints torqueFext - load applied at last linkNext - load applied at last link
protected double[] torque(short ID,
double[] q,
double[] qp,
double[] qpp)
Call C++ Robot method
torque(const ColumnVector &q, const ColumnVector &qp, const ColumnVector &qpp)
ID - the engine idq - joints positionqp - joints velocityqpp - joints acceleration
protected double[] torque(short ID,
double[] q,
double[] qp,
double[] qpp,
double[] Fext,
double[] Next)
Call C++ Robot method
torque(const ColumnVector &q, const ColumnVector &qp, const ColumnVector &qpp, const ColumnVector &Fext, const ColumnVector &Next)
ID - the engine idq - joints positionqp - joints velocityqpp - joints accelerationFext - load applied at last linkNext - load applied at last link
protected double[] torqueGravity(short ID)
Call C++ Robot method
G()
ID - the engine id
protected double[] torqueCoriolis(short ID,
double[] qp)
Call C++ Robot method
C(CoulumnVector & qp)Note that the original roboop C() function differs from this one, it includes also the torques due to viscous and coulomb friction.
ID - the engine idqp - joints velocity
protected double[] torqueViscousFriction(short ID,
double[] qp)
Call C++ Robot method
torqueViscousFriction(CoulumnVector & qp)
ID - the engine idqp - joints velocity
protected double[] torqueCoulombFriction(short ID,
double[] qp)
Call C++ Robot method
torqueCoulombFriction(CoulumnVector & qp)
ID - the engine idqp - joints velocity
protected double[] inertia(short ID,
double[] q)
Call C++ Robot method
inertia(const ColumnVector &q)
ID - the engine idq - joints position
protected double[] getGravity(short ID)
return the robot.gravity parameter.
ID - the engine id
protected void setGravity(short ID,
double[] gravity)
sets the robot.gravity parameter.
ID - the engine idgravity - the new gravity vector.
protected void createProportionalDerivative(short ID,
short robotID,
double[] Kp,
double[] Kd)
Call C++ constructor
Proportional_derivative(const Robot_basic &robot, const DiagonalMatrix &Kp, const DiagonalMatrix &Kd)
ID - the engine idrobotID - the robot idKp - diagonal matrix joint position error gain matrix.Kd - diagonal matrix joint velocity error gain matrix.
protected double[] torqueCmdPD(short ID,
short robotID,
double[] qd,
double[] qpd)
Call C++ Proportional_derivative method
torque_cmd(Robot_basic &robot, const ColumnVector &qd)
ID - the engine idrobotID - the robot idqd - array of desired joint position and desired joint velocity.
protected short setKpPD(short ID,
short robotID,
double[] Kp)
Call C++ Proportional_derivative method
set_Kp(const DiagonalMatrixr &Kp)
ID - the engine idrobotID - the robot idKp - position error gain diagonal matrix
protected short setKdPD(short ID,
short robotID,
double[] Kd)
Call C++ Proportional_derivative method
set_Kd(const DiagonalMatrixr &Kd)
ID - the engine idrobotID - the robot idKd - velocity error gain diagonal matrix
protected void createPDGravityComp(short ID,
short robotID,
double[] Kp,
double[] Kd)
Call C++ constructor
PDGravityComp(const Robot_basic &robot, const DiagonalMatrix &Kp, const DiagonalMatrix &Kd)
ID - the engine idrobotID - the robot idKp - diagonal matrix joint position error gain matrix.Kd - diagonal matrix joint velocity error gain matrix.
protected double[] torqueCmdPDG(short ID,
short robotID,
double[] qd)
Call C++ PDGravityComp method
torque_cmd(Robot_basic &robot, const ColumnVector &qd)
ID - the engine idrobotID - the robot idqd - array of desired joint position and desired joint velocity.
protected short setKpPDG(short ID,
short robotID,
double[] Kp)
Call C++ PDGravityComp method
set_Kp(const DiagonalMatrixr &Kp)
ID - the engine idrobotID - the robot idKp - position error gain diagonal matrix
protected short setKdPDG(short ID,
short robotID,
double[] Kd)
Call C++ PDGravityComp method
set_Kd(const DiagonalMatrixr &Kd)
ID - the engine idrobotID - the robot idKd - velocity error gain diagonal matrix
protected void createComputedTorqueMethod(short ID,
short robotID,
double[] Kp,
double[] Kd)
Call C++ constructor
Computed_torque_method(const Robot_basic &robot, const DiagonalMatrix &Kp, const DiagonalMatrix &Kd)
ID - the engine idrobotID - the robot idKp - diagonal matrix joint position error gain matrix.Kd - diagonal matrix joint velocity error gain matrix.
protected double[] torqueCmdCTM(short ID,
short robotID,
double[] qd,
double[] qpd,
double[] qppd)
Call C++ Computed_torque_method method
torque_cmd(Robot_basic &robot, const ColumnVector &qd, const ColumnVector &qpd, const ColumnVector &qppd)
qd - desired joints positionqpd - desired joints velocityqppd - desired joints acceleration
protected short setKpCTM(short ID,
short robotID,
double[] Kp)
Call C++ Computed_torque_method method
set_Kp(const DiagonalMatrixr &Kp)
ID - the engine idrobotID - the robot idKp - position error gain diagonal matrix
protected short setKdCTM(short ID,
short robotID,
double[] Kd)
Call C++ Computed_torque_method method
set_Kd(const DiagonalMatrixr &Kd)
ID - the engine idrobotID - the robot idKd - position error gain diagonal matrix
protected void createRobustControl(short ID,
short robotID,
double[] Kp,
double[] Kd,
double[] B,
double[] Q,
double rho,
double eps)
Call C++ constructor
Robust_control(const Robot_basic &robot, const DiagonalMatrix &Kp, const DiagonalMatrix &Kd, const Matrix &B, const Matrix &Q, double rho, double eps)
ID - the engine idrobotID - the robot idKp - diagonal matrix joint position error gain matrix.Kd - diagonal matrix joint velocity error gain matrix.B - constant inertia matrix of robot.Q - the solution of Lyapunov equation.rho - the robustness gain.eps - the thickness of robustness region to compensate the chattering.
protected double[] torqueCmdRC(short ID,
short robotID,
double[] qd,
double[] qpd,
double[] qppd)
Call C++ Robust_control method
torque_cmd(Robot_basic &robot, const ColumnVector &qd, const ColumnVector &qpd, const ColumnVector &qppd)
qd - desired joints positionqpd - desired joints velocityqppd - desired joints acceleration
protected short setKpRC(short ID,
short robotID,
double[] Kp)
Call C++ Robust_control method
set_Kp(const DiagonalMatrixr &Kp)
ID - the engine idrobotID - the robot idKp - position error gain diagonal matrix
protected short setKdRC(short ID,
short robotID,
double[] Kd)
Call C++ Robust_control method
set_Kd(const DiagonalMatrixr &Kd)
ID - the engine idrobotID - the robot idKd - position error gain diagonal matrix
protected void createResolveRateAcceleration(short ID,
short robotID,
double Kvp,
double Kpp,
double Kvo,
double Kpo)
Call C++ constructor
Resolved_acc(const Robot_basic &robot,
double Kvp, double Kpp,
double Kvo, double Kpo)
ID - the engine idrobotID - the robot idKvp - end effector velocity error gainKpp - end effector position error gainKvo - end effector orientation angular rate gainKpo - end effector orientation error gainprotected double[] getPosErrorRRA(short ID)
Call C++ Resolved_acc method
get_pos_error()
ID - the engine id
protected double[] getQuatErrorRRA(short ID)
Call C++ Resolved_acc method
get_quat_error()
ID - the engine id
protected double[] torqueCmdRRA(short ID,
short robotID,
double[] pdpp,
double[] pdp,
double[] pd,
double[] wdp,
double[] wd,
double[] qd,
short linkPc)
Call C++ Resolved_acc method
torque_cmd(Robot_basic &robot,
const ColumnVector &pdpp const ColumnVector &pdp,
const ColumnVector &pd, const ColumnVector &wdp,
const ColumnVector &wd, const Quaternion &qd,
const short link_pc, const Real dt)
ID - the engine idrobotID - the robot idpdpp - desired accelerationpdp - desired velocitypd - desired positionwdp - desired angular accelerationwd - desired angular velocityqd - desired vector angular position: quaternion (s,v1,v2,v3)linkPc - link of which control position
protected double[] torqueCmdRRA(short ID,
short robotID,
double[] pdpp,
double[] pdp,
double[] pd)
Call C++ Resolved_acc method
torque_cmd(Robot_basic &robot,
const ColumnVector &pdpp const ColumnVector &pdp,
const ColumnVector &pd)
ID - the engine idrobotID - the robot idpdpp - desired accelerationpdp - desired velocitypd - desired position
protected void createGravityCompensation(short ID,
short robotID,
double Kvp,
double Kpp,
double Kvo,
double Kpo)
Call C++ constructor
Gravity_comp(const Robot_basic &robot,
double Kvp, double Kpp,
double Kvo, double Kpo)
ID - the engine idrobotID - the robot idKvp - end effector velocity gainKpp - end effector position error gainKvo - end effector orientation angular rate gainKpo - end effector orientation error gainprotected double[] getPosErrorGCOMP(short ID)
Call C++ Gravity_comp method
get_pos_error()
ID - the engine id
protected double[] getQuatErrorGCOMP(short ID)
Call C++ Gravity_comp method
get_quat_error()
ID - the engine id
protected double[] torqueCmdGCOMP(short ID,
short robotID,
double[] pd,
double[] qd,
short linkPc)
Call C++ Gravity_comp method
torque_cmd(Robot_basic &robot,
const ColumnVector &pd, const Quaternion &qd,
const short link_pc, const Real dt)
ID - the engine idrobotID - the robot idpd - desired positionqd - desired vector angular position: quaternion (s,v1,v2,v3)linkPc - link of which control position
protected double[] torqueCmdGCOMP(short ID,
short robotID,
double[] pd)
Call C++ Gravity_comp method
torque_cmd(Robot_basic &robot,
const ColumnVector &pd)
ID - the engine idrobotID - the robot idpd - desired position
protected void createImpedance(short ID,
short robotID,
double[] Mp,
double[] Dp,
double[] Kp,
double[] Km,
double[] Mo,
double[] Do,
double[] Ko)
ID - robotID - Mp - Dp - Kp - Km - Mo - Do - Ko -
protected short impedanceControl(short ID,
short robotID,
double[] pdpp,
double[] pdp,
double[] pd,
double[] wdp,
double[] wd,
double[] qd,
double[] f,
double[] n,
double dt)
ID - robotID - pdpp - pdp - pd - wdp - wd - qd - f - n - dt -
protected void createSplinePath(short ID,
int spaceDim,
int nPoints,
double[] array)
Parametric cubic splines interpolation of points in cartesian space or
joints space, needs at least four points.
Spl_path(const Matrix &x)
ID - the engine id.spaceDim - the dimension of cartesian space or th joints space.nPoints - the number of points of trajectoryarray - the (spaceDim+1)-by-npoints array: 1st row the times, 2nd and next the points
protected double[] interpolate(short ID,
double t)
Call C++ Spl_path method
p_pdot_pddot(const Real time, ColumnVector &p, ColumnVector &dp, ColumnVector &ddp)
It modifies error flag.
ID - the engine id.t - time
protected void createSplineQuaternion(short ID,
int nPoints,
double[] array)
Parametric cubic splines interpolation of quaternions.
Call C++ constructor
Spl_Quaternion(const quat_map &quat)
ID - the engine id.nPoints - the number of trajectory points.array - the 5-by-nPoints array: [1st point (time s vx vy vz)] & [2nd point (time s vx vy vz)] & ...
protected double[] interpolateQuat(short ID,
double t)
Call C++ Spl_Quaternion method
quat_w(const Real time, Quaternion & q, ColumnVector &wd)
It modifies error flag.
ID - the engine id.t - time
protected double[] interpolatePathQuat(short ID,
double t)
Call C++ Spl_path and Spl_Quaternion methods:
p_pdot_pddot(const Real time, ColumnVector &p, ColumnVector &dp, ColumnVector &ddp) quat_w(const Real time, Quaternion & q, ColumnVector &wd)
It modifies error flag.
ID - the engine id.t - the time
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||