com.kuka.nav.line
Class VirtualLineMotion

java.lang.Object
  extended by com.kuka.nav.command.AbstractParameterizable
      extended by com.kuka.nav.command.AbstractCommand<T,E>
          extended by com.kuka.nav.command.Motion<VirtualLineMotion,VirtualLineMotionContainer>
              extended by com.kuka.nav.line.VirtualLineMotion
All Implemented Interfaces:
com.kuka.command.ICommand<VirtualLineMotion,VirtualLineMotionContainer>, com.kuka.command.IParameterizableCommand<VirtualLineMotion,VirtualLineMotionContainer>, com.kuka.nav.command.BlendableMotion<VirtualLineMotion>, com.kuka.nav.recover.RecoverableCommand<VirtualLineMotion>, com.kuka.parameters.IParameterizable

public class VirtualLineMotion
extends com.kuka.nav.command.Motion<VirtualLineMotion,VirtualLineMotionContainer>
implements com.kuka.nav.command.BlendableMotion<VirtualLineMotion>, com.kuka.nav.recover.RecoverableCommand<VirtualLineMotion>

Represents the motion of a mobile robot along a 'virtual line' from a start position to a goal position. The desired platform orientation during the movement can be any set of angles specified relative to the line or in map coordinates - the platform will choose the orientation that is closest to the current platform orientation.

The platform can rotate towards the goal orientation during the virtual line move, if the OrientationMode is set to OrientationMode.VARIABLE. Otherwise, a mis-orientation at the start of the movement leads to a failure of the motion.

The tracking accuracy is monitored during the movement and can be inspected in the corresponding motion container. If the deviations become higher than specified in setTrackingAccuracyTrans(double) or setTrackingAccuracyRot(double), then the movement will be stopped with a failure.


Constructor Summary
protected VirtualLineMotion(com.kuka.parameters.IParameterMap params)
          Copy constructor.
  VirtualLineMotion(com.kuka.nav.Location start, com.kuka.nav.Location goal)
          Creates a new motion on a virtual line going from the position defined by the given start location to the given goal location with OrientationMode.VARIABLE.
  VirtualLineMotion(com.kuka.nav.Location start, com.kuka.nav.Location goal, List<Double> orientations, com.kuka.nav.OrientationMode mode)
          Deprecated. The constructors that accept a list of orientations are deprecated. Use constructors with Orientations to pass allowed orientations along the line.
  VirtualLineMotion(com.kuka.nav.Pose start, com.kuka.nav.Pose goal)
          Creates a new motion on a virtual line going from the position defined by the given start pose to the given goal pose with OrientationMode.VARIABLE.
  VirtualLineMotion(com.kuka.nav.Position start, com.kuka.nav.Position goal, List<Double> orientations, com.kuka.nav.OrientationMode mode)
          Deprecated. The constructors that accept a list of orientations are deprecated. Use constructors with Orientations to pass allowed orientations along the line.
  VirtualLineMotion(VirtualLine line)
          Creates a new motion on the given virtual line with forward orientation and OrientationMode.VARIABLE.
  VirtualLineMotion(VirtualLine line, com.kuka.nav.Orientations orientations)
          Creates a new motion on the given virtual line with OrientationMode.VARIABLE.
  VirtualLineMotion(VirtualLine line, com.kuka.nav.Orientations orientations, com.kuka.nav.OrientationMode mode)
          Creates a new motion on the given virtual line.
 
Method Summary
 VirtualLineMotion copy()
           
 double getBlendingCart()
           
 double getGoalAccuracyRot()
           
 double getGoalAccuracyTrans()
           
 com.kuka.nav.Pose getGoalPose()
           
 com.kuka.nav.OrientationMode getOrientationMode()
          Returns the orientation mode for this virtual line motion.
 com.kuka.nav.Orientations getOrientations()
          Returns the set of orientations allowed for this virtual line motion.
 double getTrackingAccuracyRot()
          Returns the rotational accuracy during the movement in [rad].
 double getTrackingAccuracyTrans()
          Returns the translational accuracy during the movement in [m].
 VirtualLine getVirtualLine()
          Returns the corresponding virtual line the mobile robot should move on.
 boolean hasRecoverActions()
           
 VirtualLineMotion recoverWhen(com.kuka.nav.recover.RecoverCondition condition, com.kuka.nav.recover.RecoverAction action)
           
 VirtualLineMotion setBlendingCart(double value)
           
 VirtualLineMotion setGoalAccuracyRot(double accuracy)
          Sets the rotational accuracy at the goal pose.
 VirtualLineMotion setGoalAccuracyTrans(double accuracy)
          Sets the translational accuracy at the goal pose.
 VirtualLineMotion setGoalOrientations(com.kuka.nav.Orientations orientations)
          Sets the set of allowed orientations for this virtual line motion.
 VirtualLineMotion setLineOrientations(com.kuka.nav.Orientations orientations)
          Sets the set of allowed orientations for this virtual line motion.
 VirtualLineMotion setOrientationMode(com.kuka.nav.OrientationMode orientationMode)
          Sets the orientation mode for this virtual line motion.
 VirtualLineMotion setOrientations(com.kuka.nav.Orientations orientations)
          Sets the set of allowed orientations for this virtual line motion.
 VirtualLineMotion setTrackingAccuracyRot(double accuracy)
          Sets the rotational accuracy during the movement in [rad].
 VirtualLineMotion setTrackingAccuracyTrans(double accuracy)
          Sets the translational accuracy during the movement in [m].
 VirtualLineMotion setVirtualLine(VirtualLine line)
          Sets the virtual line the mobile robot should move on.
 
Methods inherited from class com.kuka.nav.command.Motion
getAcceleration, getAccelerationOverride, getDeceleration, getDecelerationOverride, getMaxAcceleration, getMaxDeceleration, getMaxVelocity, getTimeout, getVelocity, getVelocityOverride, setAcceleration, setAccelerationOverride, setDeceleration, setDecelerationOverride, setMaxAcceleration, setMaxDeceleration, setMaxVelocity, setTimeout, setVelocity, setVelocityOverride
 
Methods inherited from class com.kuka.nav.command.AbstractCommand
getDescription, self, setDescription
 
Methods inherited from class com.kuka.nav.command.AbstractParameterizable
getParameters, paramHelper
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.kuka.parameters.IParameterizable
getParameters
 

Constructor Detail

VirtualLineMotion

public VirtualLineMotion(com.kuka.nav.Location start,
                         com.kuka.nav.Location goal)
Creates a new motion on a virtual line going from the position defined by the given start location to the given goal location with OrientationMode.VARIABLE.

Parameters:
start - the start location, defining the start position of the virtual line
goal - the goal location

VirtualLineMotion

public VirtualLineMotion(com.kuka.nav.Pose start,
                         com.kuka.nav.Pose goal)
Creates a new motion on a virtual line going from the position defined by the given start pose to the given goal pose with OrientationMode.VARIABLE.

Parameters:
start - the start pose, defining the start position of the virtual line
goal - the goal pose

VirtualLineMotion

public VirtualLineMotion(VirtualLine line)
Creates a new motion on the given virtual line with forward orientation and OrientationMode.VARIABLE.

Parameters:
line - the virtual line the mobile robot should move on

VirtualLineMotion

public VirtualLineMotion(VirtualLine line,
                         com.kuka.nav.Orientations orientations)
Creates a new motion on the given virtual line with OrientationMode.VARIABLE.

Parameters:
line - the virtual line the mobile robot should move on
orientations - the set of allowed orientations for this virtual line motion

VirtualLineMotion

public VirtualLineMotion(VirtualLine line,
                         com.kuka.nav.Orientations orientations,
                         com.kuka.nav.OrientationMode mode)
Creates a new motion on the given virtual line.

Parameters:
line - the virtual line the mobile robot should move on
orientations - the set of allowed orientations for this virtual line motion
mode - the OrientationMode for this virtual line motion

VirtualLineMotion

protected VirtualLineMotion(com.kuka.parameters.IParameterMap params)
Copy constructor. Creates a new instance of the class containing the deep copy of the specified parameter map.

Parameters:
params - parameter map containing the command parameters

VirtualLineMotion

@Deprecated
public VirtualLineMotion(com.kuka.nav.Location start,
                                    com.kuka.nav.Location goal,
                                    List<Double> orientations,
                                    com.kuka.nav.OrientationMode mode)
Deprecated. The constructors that accept a list of orientations are deprecated. Use constructors with Orientations to pass allowed orientations along the line.

Creates a new virtual line motion. Both, start and goal must not be null.

Parameters:
start - The start of the virtual line as pose. May not be null.
goal - The destination as pose. May not be null.
orientations - Allowed orientations relative to the forward direction of the line (in radiant). For convenience, the constants LENGTHWISE, CROSSWISE, ALIGN can be used.
mode - The OrientationMode determines whether the platform is allowed to rotate during movement ( OrientationMode.VARIABLE) or not ( OrientationMode.FIXED).

VirtualLineMotion

@Deprecated
public VirtualLineMotion(com.kuka.nav.Position start,
                                    com.kuka.nav.Position goal,
                                    List<Double> orientations,
                                    com.kuka.nav.OrientationMode mode)
Deprecated. The constructors that accept a list of orientations are deprecated. Use constructors with Orientations to pass allowed orientations along the line.

Creates a new virtual line motion. Both, start and goal must not be null.

Parameters:
start - The start of the virtual line as pose. May not be null.
goal - The destination as pose. May not be null.
orientations - Allowed orientations relative to the forward direction of the line (in radiant). For convenience, the constants LENGTHWISE, CROSSWISE, ALIGN can be used.
mode - The OrientationMode determines whether the platform is allowed to rotate during movement ( OrientationMode.VARIABLE) or not ( OrientationMode.FIXED).
Method Detail

getVirtualLine

public VirtualLine getVirtualLine()
Returns the corresponding virtual line the mobile robot should move on.

Returns:
the corresponding virtual line the mobile robot should move on

setVirtualLine

public VirtualLineMotion setVirtualLine(VirtualLine line)
Sets the virtual line the mobile robot should move on. The value must not be null.

Parameters:
line - the virtual line the mobile robot should move on
Returns:
this motion

getOrientations

public com.kuka.nav.Orientations getOrientations()
Returns the set of orientations allowed for this virtual line motion.

Returns:
the set of orientations allowed for this virtual line motion

setOrientations

public VirtualLineMotion setOrientations(com.kuka.nav.Orientations orientations)
Sets the set of allowed orientations for this virtual line motion. The reference system of the orientations is defined in the orientations object.

Parameters:
orientations - the set of allowed orientations for this virtual line motion
Returns:
this motion

setLineOrientations

public VirtualLineMotion setLineOrientations(com.kuka.nav.Orientations orientations)
Sets the set of allowed orientations for this virtual line motion. The reference system of the orientations is defined in the orientations object. Furthermore the orientation mode is set to OrientationMode.FIXED.

Parameters:
orientations - the set of allowed orientations for this virtual line motion
Returns:
this motion

setGoalOrientations

public VirtualLineMotion setGoalOrientations(com.kuka.nav.Orientations orientations)
Sets the set of allowed orientations for this virtual line motion. The reference system of the orientations is defined in the orientations object. Furthermore the orientation mode is set to OrientationMode.VARIABLE.

Parameters:
orientations - the set of allowed orientations for this virtual line motion
Returns:
this motion

getOrientationMode

public com.kuka.nav.OrientationMode getOrientationMode()
Returns the orientation mode for this virtual line motion.

Returns:
the orientation mode for this virtual line motion

setOrientationMode

public VirtualLineMotion setOrientationMode(com.kuka.nav.OrientationMode orientationMode)
Sets the orientation mode for this virtual line motion.

Parameters:
orientationMode - the orientation mode for this virtual line motion
Returns:
this motion

getTrackingAccuracyTrans

public double getTrackingAccuracyTrans()
Returns the translational accuracy during the movement in [m].

Returns:
the translational accuracy during the movement in [m]

setTrackingAccuracyTrans

public VirtualLineMotion setTrackingAccuracyTrans(double accuracy)
Sets the translational accuracy during the movement in [m].

Parameters:
accuracy - the translational accuracy during the movement in [m]
Returns:
this motion

getTrackingAccuracyRot

public double getTrackingAccuracyRot()
Returns the rotational accuracy during the movement in [rad].

Returns:
the rotational accuracy during the movement in [rad]

setTrackingAccuracyRot

public VirtualLineMotion setTrackingAccuracyRot(double accuracy)
Sets the rotational accuracy during the movement in [rad].

Parameters:
accuracy - the rotational accuracy during the movement in [rad]
Returns:
this motion

getBlendingCart

public double getBlendingCart()
Specified by:
getBlendingCart in interface com.kuka.nav.command.BlendableMotion<VirtualLineMotion>

setBlendingCart

public VirtualLineMotion setBlendingCart(double value)
Specified by:
setBlendingCart in interface com.kuka.nav.command.BlendableMotion<VirtualLineMotion>

hasRecoverActions

public boolean hasRecoverActions()
Specified by:
hasRecoverActions in interface com.kuka.nav.recover.RecoverableCommand<VirtualLineMotion>

recoverWhen

public VirtualLineMotion recoverWhen(com.kuka.nav.recover.RecoverCondition condition,
                                     com.kuka.nav.recover.RecoverAction action)
Specified by:
recoverWhen in interface com.kuka.nav.recover.RecoverableCommand<VirtualLineMotion>

copy

public VirtualLineMotion copy()
Specified by:
copy in interface com.kuka.command.ICommand<VirtualLineMotion,VirtualLineMotionContainer>
Overrides:
copy in class com.kuka.nav.command.AbstractCommand<VirtualLineMotion,VirtualLineMotionContainer>

getGoalPose

public final com.kuka.nav.Pose getGoalPose()
Returns:
the goal pose of this motion.

getGoalAccuracyTrans

public final double getGoalAccuracyTrans()
Returns:
The translational accuracy at the goal pose (in meters, Euclidian norm).

setGoalAccuracyTrans

public VirtualLineMotion setGoalAccuracyTrans(double accuracy)
Sets the translational accuracy at the goal pose.

Parameters:
accuracy - The translational accuracy (in meters, Euclidian norm).
Returns:
reference to this object (fluent interface).

getGoalAccuracyRot

public double getGoalAccuracyRot()
Returns:
The rotational accuracy at the goal pose (in rad).

setGoalAccuracyRot

public VirtualLineMotion setGoalAccuracyRot(double accuracy)
Sets the rotational accuracy at the goal pose.

Parameters:
accuracy - The rotational accuracy (in rad).
Returns:
reference to this object (fluent interface).


Copyright © 2019. All rights reserved.