com.kuka.roboticsAPI.conditionModel
Class FrameDistanceComponentCondition

java.lang.Object
  extended by com.kuka.roboticsAPI.conditionModel.AbstractCondition
      extended by com.kuka.roboticsAPI.conditionModel.FrameDistanceCondition
          extended by 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.


Constructor Summary
FrameDistanceComponentCondition(AbstractFrame frameA, AbstractFrame frameB, double distanceThreshold, AbstractFrame orientationFrame, EnumSet<CoordinateAxis> coordinateAxes)
          Creates a new instance of Frame Distance Component Condition.
 
Method Summary
 Set<CoordinateAxis> getCoordinateAxes()
          Gets the Cartesian coordinate axes which define the projection.
 AbstractFrame getOrientationFrame()
          Gets the orientation Frame.
 String toString()
           
 
Methods inherited from class com.kuka.roboticsAPI.conditionModel.FrameDistanceCondition
getController, getDistanceTreshold, getFixedFrame, getFrameA, getFrameB, getMovingFrame, getRobotAttachedToMovingFrame
 
Methods inherited from class com.kuka.roboticsAPI.conditionModel.AbstractCondition
and, invert, or, xor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

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
Method Detail

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.