|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.kuka.roboticsAPI.motionModel.controlModeModel.AbstractMotionControlMode
com.kuka.roboticsAPI.motionModel.controlModeModel.AbstractImpedanceControlMode
com.kuka.roboticsAPI.motionModel.controlModeModel.CartesianImpedanceControlMode
com.kuka.roboticsAPI.motionModel.controlModeModel.CartesianSineImpedanceControlMode
public class CartesianSineImpedanceControlMode
This control mode indicates cartesian impedance with a sine function on top of it to apply several sine patterns. Actually supported patterns are sine, lissajous and spiral. Additionally to this, the control mode can also be used to realize the desiredForce feature.
The sine function is calculated through the formula:
f(x) = amplitude * sin(frequency * x + phase) + bias
The components can be changed through the control mode which leads to an oscillation of the robot.
Note: The robot will perform the pattern or create the desired force only as long as the robot is inside it's
specified position limit (see positionLimit(double, double, double, double, double, double)).
Default values:
Valid ranges:
| Nested Class Summary | |
|---|---|
class |
CartesianSineImpedanceControlMode.CartSineImpBuilder
Class to parameterize the CartesianSineImpedanceControlMode for one or more degrees of freedom. |
| Nested classes/interfaces inherited from class com.kuka.roboticsAPI.motionModel.controlModeModel.CartesianImpedanceControlMode |
|---|
CartesianImpedanceControlMode.CartImpBuilder |
| Constructor Summary | |
|---|---|
CartesianSineImpedanceControlMode()
Creates a new cartesian sine impedance control mode. |
|
CartesianSineImpedanceControlMode(CartesianSineImpedanceControlMode other)
Copy constructor. |
|
| Method Summary | |
|---|---|
CartesianSineImpedanceControlMode |
amplitude(double x,
double y,
double z,
double a,
double b,
double c)
Deprecated. |
CartesianSineImpedanceControlMode |
bias(double x,
double y,
double z,
double a,
double b,
double c)
Deprecated. |
static CartesianSineImpedanceControlMode |
createDesiredForce(CartDOF degreeOfFreedom,
double force,
double stiffness)
Creates a new CartesianSineImpedanceControlMode with a desired force. |
static CartesianSineImpedanceControlMode |
createLissajousPattern(CartPlane cartPlane,
double frequency,
double amplitude,
double stiffness)
Creates a new CartesianSineImpedanceControlMode for a Lissajous pattern. |
static CartesianSineImpedanceControlMode |
createSinePattern(CartDOF degreeOfFreedom,
double frequency,
double amplitude,
double stiffness)
Creates a new CartesianSineImpedanceControlMode for a sine pattern. |
static CartesianSineImpedanceControlMode |
createSpiralPattern(CartPlane cartPlane,
double frequency,
double amplitude,
double stiffness,
double totalTimeSecs)
Creates a new CartesianSineImpedanceControlMode for a spiral pattern. |
boolean |
equals(Object other)
Returns true, if all the impedance parameters are equal. |
CartesianSineImpedanceControlMode |
forceLimit(double x,
double y,
double z,
double a,
double b,
double c)
Deprecated. |
CartesianSineImpedanceControlMode |
frequency(double x,
double y,
double z,
double a,
double b,
double c)
Deprecated. |
double[] |
getAmplitude()
Gets the amplitude of the selected CartesianSineControlMode pattern. |
double[] |
getBias()
Gets the bias of the control mode. |
double |
getFallTime()
Gets the fall time of the control mode. |
double[] |
getForceLimit()
Gets the feed forward force limit in [N,N,N,Nm,Nm,Nm]. |
double[] |
getFrequency()
Gets the frequency of the control mode. |
double |
getHoldTime()
Gets the hold time of the control mode. |
double[] |
getPhase()
Gets the phase of the control mode. |
double[] |
getPositionLimit()
Gets the feed forward position limit. |
double |
getRiseTime()
Gets the rise time of the control mode. |
boolean |
getStaysActiveUntilPatternFinished()
Gets the flag which indicates whether the command will stay active until the sine pattern specified through the control mode is finished, even if the corresponding motion is finished. |
int |
hashCode()
|
CartesianSineImpedanceControlMode.CartSineImpBuilder |
parametrize(CartDOF... cartesianDegreeOfFreedom)
Configures parameter for the cartesianImpedance- and cartesianSineImpedanceControlMode. |
CartesianSineImpedanceControlMode |
phase(double x,
double y,
double z,
double a,
double b,
double c)
Deprecated. |
CartesianSineImpedanceControlMode |
positionLimit(double x,
double y,
double z,
double a,
double b,
double c)
Deprecated. |
CartesianImpedanceControlMode |
setAdditionalControlForce(double x,
double y,
double z,
double a,
double b,
double c)
Deprecated. |
CartesianSineImpedanceControlMode |
setFallTime(double fallTimeSecs)
Sets the fall time of the control mode. |
CartesianSineImpedanceControlMode |
setHoldTime(double holdTimeSecs)
Sets the hold time of the control mode. |
CartesianSineImpedanceControlMode |
setRiseTime(double riseTimeSecs)
Sets the rise time of the control mode. |
CartesianSineImpedanceControlMode |
setStayActiveUntilPatternFinished(boolean stayActiveUntilPatternFinished)
Sets the flag which indicates whether the command will stay active until the sine pattern specified through the control mode is finished, even if the corresponding motion is finished. |
CartesianSineImpedanceControlMode |
setTotalTime(double totalTimeSecs)
Sets the total duration time for the selected pattern of the cartesianSineImpedanceControlMode. |
String |
toString()
|
| Methods inherited from class com.kuka.roboticsAPI.motionModel.controlModeModel.AbstractImpedanceControlMode |
|---|
getMaxJointDeltas, isDeviceSupported, needsMeasuredValues, noCommandedMeasuredDevianceIntended, setMaxJointDeltas, useCommandedValuesForNextMotion, useMeasuredValuesForNextMotion |
| Methods inherited from class com.kuka.roboticsAPI.motionModel.controlModeModel.AbstractMotionControlMode |
|---|
getMaxJointSpeed, setMaxJointSpeed |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface com.kuka.roboticsAPI.motionModel.controlModeModel.IMotionControlMode |
|---|
getMaxJointSpeed |
| Constructor Detail |
|---|
public CartesianSineImpedanceControlMode()
public CartesianSineImpedanceControlMode(CartesianSineImpedanceControlMode other)
other - The other mode. null is not allowed.| Method Detail |
|---|
public CartesianSineImpedanceControlMode.CartSineImpBuilder parametrize(CartDOF... cartesianDegreeOfFreedom)
CartesianImpedanceControlMode
parametrize in class CartesianImpedanceControlModecartesianDegreeOfFreedom - The degree(s) of freedom for setting parameters. It is possible to set more than one degree at once
such as (CartDOF.X, CartDOF.Y)
CartDOF.ALL means [X,Y,Z,A,B,C]
CartDOF.ROT means [A,B,C]
CartDOF.TRANS means [X,Y,Z]
public static CartesianSineImpedanceControlMode createSinePattern(CartDOF degreeOfFreedom,
double frequency,
double amplitude,
double stiffness)
Default Values:
CartesianSineImpedanceControlMode
Note: For changing the default sine-pattern settings or configure additional parameters use the
parametrize(CartDOF...)-function.
degreeOfFreedom - The degree of freedom for performing the sine oscillation.frequency - The value of the frequency. [Hz] amplitude - The value of the amplitude. CartDOF X,Y,Z [N] / A,B,C [Nm]stiffness - The value of the stiffness. CartDOF X,Y,Z [N/m] / A,B,C [Nm/rad]public int hashCode()
hashCode in class CartesianImpedanceControlModepublic boolean equals(Object other)
equals in class CartesianImpedanceControlModeother - other control mode to compare
public static CartesianSineImpedanceControlMode createLissajousPattern(CartPlane cartPlane,
double frequency,
double amplitude,
double stiffness)
Default Values:
CartesianSineImpedanceControlMode
Note: For changing the default lissajous-pattern settings or configure additional parameters use the
parametrize(CartDOF...)-function.
cartPlane - The plane in the Cartesian space for performing the lissajous-pattern. e.g. (XY, XZ, YZ)frequency - The value of the frequency for the sine oscillation f1 [Hz] amplitude - The value of the amplitude. CartDOF X,Y,Z [N] / A,B,C [Nm]stiffness - The value of the stiffness. CartDOF X,Y,Z [N/m] / A,B,C [Nm/rad]IllegalArgumentException - if the cartPlane parameter is null
public static CartesianSineImpedanceControlMode createSpiralPattern(CartPlane cartPlane,
double frequency,
double amplitude,
double stiffness,
double totalTimeSecs)
Default Values:
CartesianSineImpedanceControlMode
Note: For changing the default spiral-pattern settings or configure additional parameters use the
parametrize(CartDOF...)-function.
cartPlane - The plane in the Cartesian space for performing the spiral-pattern. e.g. (XY, XZ, YZ)frequency - The value of the frequency for the two sine oscillations [Hz] amplitude - The value of the amplitude. CartDOF X,Y,Z [N] / A,B,C [Nm]stiffness - The value of the stiffness for the degree of freedoms of the given plane [N/m]totalTimeSecs - The value of the totalTime [s]. The time duration for expanding the spiral pattern.
public static CartesianSineImpedanceControlMode createDesiredForce(CartDOF degreeOfFreedom,
double force,
double stiffness)
To achieve a constant force, the amplitude, frequency and phase are set to zero, the bias is set to the given values.
degreeOfFreedom - The degree(s) of freedom for performing the desired force.force - The value of the desired force. For X,Y,Z in [N] and A,B,C in [Nm]stiffness - The value of the stiffness. CartDOF X,Y,Z [N/m] / A,B,C [Nm/rad]public CartesianSineImpedanceControlMode setTotalTime(double totalTimeSecs)
Note: riseTime and fallTime specified as max(1/frequency)*0.5. If the time limit is reached, only the sineImpedanceControlmode stopped but not the motion command. If, instead, the motion stops before the time limit is reached, is sineImpedanceControlMode also stops.
totalTimeSecs - The value of the duration time for a pattern [s]
public CartesianSineImpedanceControlMode setHoldTime(double holdTimeSecs)
holdTimeSecs - The hold time of the control mode [s].
public CartesianSineImpedanceControlMode setFallTime(double fallTimeSecs)
fallTimeSecs - The fall time of the control mode [s]
public CartesianSineImpedanceControlMode setRiseTime(double riseTimeSecs)
riseTimeSecs - The rise time of the control mode [s]
public double[] getForceLimit()
The limit clips the user defined forces. The default values are infinity, so that no clipping occurs.
public boolean getStaysActiveUntilPatternFinished()
If the flag is false and the corresponding motion is finished, the command will be finished and the force specified through this pattern will be set to 0.
If the flag is true the command stays active until the sine pattern has finished (according to the value set by setTotalTime()) and the motion has reached the target.
public double[] getPositionLimit()
The limit describes the maximum allowed distance between the measured and commanded position created by the additional desired force. If the position limit is reached, the applied force is set to 0.
The default values of the position limit are infinity.
public double[] getAmplitude()
Amplitude in [N N N Nm Nm Nm] of sinusoidal output pattern.
public double[] getBias()
Offset in [N N N Nm Nm Nm] of Amplitude.
public double[] getFrequency()
Frequency in Hertz of sinusoidal motion.
public double[] getPhase()
Difference in degree.
public double getFallTime()
public double getHoldTime()
The default value of the holdTime is infinity.
public double getRiseTime()
public CartesianSineImpedanceControlMode setStayActiveUntilPatternFinished(boolean stayActiveUntilPatternFinished)
If the flag is false and the corresponding motion is finished, the command will be finished and the force specified through this pattern will be set to 0.
If the flag is true the command stays active until the sine pattern has finished (according to the value set by setTotalTime()) and the motion has reached the target.
stayActiveUntilPatternFinished - The flag which indicates whether the command will stay active until the sine pattern specified through
the control mode is finished, even if the corresponding motion is finished.
public String toString()
toString in class CartesianImpedanceControlMode
@Deprecated
public CartesianSineImpedanceControlMode phase(double x,
double y,
double z,
double a,
double b,
double c)
parametrize(CartDOF...).
Sets the phase of the control mode.
Difference in degree, esp. for support of "lissajou patterns".
x - The phase value for the X dimension.y - The phase value for the Y dimension.z - The phase value for the Z dimension.a - The phase value for the A dimension.b - The phase value for the B dimension.c - The phase value for the C dimension.
@Deprecated
public CartesianSineImpedanceControlMode frequency(double x,
double y,
double z,
double a,
double b,
double c)
parametrize(CartDOF...).
Sets the frequency of the control mode.
Frequency in Hertz of sinusoidal motion.
x - The frequency value for the X dimension.y - The frequency value for the Y dimension.z - The frequency value for the Z dimension.a - The frequency value for the A dimension.b - The frequency value for the B dimension.c - The frequency value for the C dimension.
@Deprecated
public CartesianSineImpedanceControlMode bias(double x,
double y,
double z,
double a,
double b,
double c)
parametrize(CartDOF...).
Sets the bias of the control mode.
Offset in [N N N Nm Nm Nm] of Amplitude.
x - The bias value for the X dimension (N).y - The bias value for the Y dimension (N).z - The bias value for the Z dimension (N).a - The bias value for the A dimension (Nm).b - The bias value for the B dimension (Nm).c - The bias value for the C dimension (Nm).
@Deprecated
public CartesianImpedanceControlMode setAdditionalControlForce(double x,
double y,
double z,
double a,
double b,
double c)
parametrize(CartDOF...).
Sets the bias of the control mode.
Offset in [N N N Nm Nm Nm] of Amplitude.
setAdditionalControlForce in class CartesianImpedanceControlModex - The bias value for the X dimension (N).y - The bias value for the Y dimension (N).z - The bias value for the Z dimension (N).a - The bias value for the A dimension (Nm).b - The bias value for the B dimension (Nm).c - The bias value for the C dimension (Nm).
@Deprecated
public CartesianSineImpedanceControlMode amplitude(double x,
double y,
double z,
double a,
double b,
double c)
parametrize(CartDOF...).
Sets the amplitude of the control mode.
Amplitude in [N N N Nm Nm Nm] of sinusoidal output pattern.
x - The amplitude value for the X dimension.y - The amplitude value for the Y dimension.z - The amplitude value for the Z dimension.a - The amplitude value for the A dimension.b - The amplitude value for the B dimension.c - The amplitude value for the C dimension.
@Deprecated
public CartesianSineImpedanceControlMode positionLimit(double x,
double y,
double z,
double a,
double b,
double c)
parametrize(CartDOF...).
Sets the feed forward position limit. Position values are in mm. Rotation values in rad.
The limit describes the maximum allowed distance between the measured and commanded position.
x - The positionLimit value for the X dimension (mm).y - The positionLimit value for the Y dimension (mm).z - The positionLimit value for the Z dimension (mm).a - The positionLimit value for the A dimension (rad).b - The positionLimit value for the B dimension (rad).c - The positionLimit value for the C dimension (rad).
@Deprecated
public CartesianSineImpedanceControlMode forceLimit(double x,
double y,
double z,
double a,
double b,
double c)
parametrize(CartDOF...).
Sets the feed forward force limit in [N,N,N,Nm,Nm,Nm].
The limit clips the user defined forces. The default values should be sufficient for most applications.
x - The forceLimit value for the X dimension (N).y - The forceLimit value for the Y dimension (N).z - The forceLimit value for the Z dimension (N).a - The forceLimit value for the A dimension (Nm).b - The forceLimit value for the B dimension (Nm).c - The forceLimit value for the C dimension (Nm).
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||