|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.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 idprotected 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 initRobotprotected 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 initMotorprotected 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 positionprotected 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
- jointprotected void setQp(short ID, double[] qp)
Call C++ Robot method
set_qp(const ColumnVector &qp)
ID
- the engine idqp
- array of joints velocityprotected void setQpp(short ID, double[] qpp)
Call C++ Robot method
set_qpp(const ColumnVector &qpp)
ID
- the engine idqpp
- the array of joints positionprotected 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 pointsprotected 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 |