com.kuka.roboticsAPI.conditionModel
Class FrameDistanceComponentCondition
java.lang.Object
com.kuka.roboticsAPI.conditionModel.AbstractCondition
com.kuka.roboticsAPI.conditionModel.FrameDistanceCondition
com.kuka.roboticsAPI.conditionModel.FrameDistanceComponentCondition
- All Implemented Interfaces:
- ICondition
public class FrameDistanceComponentCondition
- extends FrameDistanceCondition
A Frame Distance Component Condition is a Condition which provides the cartesian or projected distance measurement
between two given frames in a specified orientation frame. The projection of the distance vector can be done to any
combination of the orientation frame's axes.
FrameDistanceComponentCondition
public FrameDistanceComponentCondition(AbstractFrame frameA,
AbstractFrame frameB,
double distanceThreshold,
AbstractFrame orientationFrame,
EnumSet<CoordinateAxis> coordinateAxes)
- Creates a new instance of Frame Distance Component Condition.
One of the frameA and frameB has to be attached to the robot flange at the time using the condition for a move
command or when activating it in the ConditionObserver. During class initialization, it is accepted that neither
of the frames are attached to a flange.
Operation: This condition applies a projection to the cartesian distance vector in the coordinate system
of the orientationFrame. It is possible to select every combination of the orientationFrame's axes with the
coordinateAxes EnumSet. The vector is projected to the given axes. In case of a projection to one axis, the
distance is measured only in the direction of the given axis, the other two directions does not matter for the
measurement. In case two axes are given, the cartesian distance vector is projected to the surface created by the
two axes. Only the distance on this surface is taken into account, in the direction of the third axis, the
distance is taken out of the measurement, thus making an imaginary cylinder in the 3D area into which the robot
is not allowed to enter.
- Parameters:
frameA - One of the AbstractFrames between which the distance is evaluated. Must not be null.frameB - One of the AbstractFrames between which the distance is evaluated. Must not be null.distanceThreshold - The distance threshold value in [mm]. If the measured distance between frameA and frameB is below
this threshold value then the condition is evaluated as true. Must be greater than zero.orientationFrame - The orientation frame position specifies the orientation in which the projection of the distance
vector takes place. Must not be null and must not be attached to the robot flange
(must be fixed frame, not moving).coordinateAxes - Specifies the Cartesian components in which the distance vector's projection is regarded
EnumSet.of(CoordinateAxis.X, CoordinateAxis.Z). Must not be null and must not be empty
(must contain at least one CoordinateAxis).
- Throws:
IllegalArgumentException - If an invalid argument is given
com.kuka.common.exceptions.NotSupportedException - If a dynamic frame other than a flange descendant is given
getOrientationFrame
public AbstractFrame getOrientationFrame()
- Gets the orientation Frame.
- Returns:
- The orientation frame
getCoordinateAxes
public Set<CoordinateAxis> getCoordinateAxes()
- Gets the Cartesian coordinate axes which define the projection.
- Returns:
- The Cartesian coordinate axes of this condition.
toString
public String toString()
- Overrides:
toString in class FrameDistanceCondition
Copyright © 2019. All rights reserved.