com.kuka.roboticsAPI.motionModel.kmp
Class MobilePlatformRelativeMotion

java.lang.Object
  extended by com.kuka.roboticsAPI.commandModel.Action<T>
      extended by com.kuka.roboticsAPI.motionModel.kmp.MobilePlatformMotion<MobilePlatformRelativeMotion>
          extended by com.kuka.roboticsAPI.motionModel.kmp.MobilePlatformRelativeMotion
All Implemented Interfaces:
com.kuka.roboticsAPI.commandModel.IAction, com.kuka.roboticsAPI.commandModel.IRuntimeDataProvider<MobilePlatformRelativeMotion.MobilePlatformRelativeMotionRuntime>, com.kuka.roboticsAPI.motionModel.IParameterizable

public class MobilePlatformRelativeMotion
extends MobilePlatformMotion<MobilePlatformRelativeMotion>
implements com.kuka.roboticsAPI.commandModel.IRuntimeDataProvider<MobilePlatformRelativeMotion.MobilePlatformRelativeMotionRuntime>

An action for a relative motion of a mobile platform.

A relative motion can be parameterized by a translational and rotational offset. Furthermore, the maximal allowed velocity and the acceleration of the motion can be specified via setVelocity(double, double) and setAcceleration(double, double).
In terms of security, the default working space constraints are enabled. If the translational or rotational value of a relative motion command exceeds these default working space constraints, they are limited to the maximum allowed value. In case that a destination outside the default working space shall be commanded, the constraints can explicitly disabled for a single relative motion command via deactivateWorkingSpaceConstraints(boolean).
By default, no timeout has been set for reaching a commanded destination. If the time for finishing a motion shall be limited, it can be set via setTimeout(double). In case that a relative motion is not finished within the specified timeout, the motion execution is cancelled with an exception.

Note that the movement of the mobile platform is performed in the coordinate system of the platform (holonome).


Nested Class Summary
static class MobilePlatformRelativeMotion.MobilePlatformRelativeMotionRuntime
          The runtime data for a relative motion of a mobile platform.
 
Field Summary
static double DEFAULT_MAXIMUM_ROTATION
          Default value for the maximal rotation (in rad) which may be used for commanding the motion.
static double DEFAULT_MAXIMUM_TRANSLATION
          Default value for maximal translation (in mm) which may be used for commanding the motion.
static boolean enableDFELogger
          Set true to create dfe date recorder log files for relative motions.
static int NUMBER_DOF
          The degrees of freedom for a relative motion.
 
Constructor Summary
MobilePlatformRelativeMotion(double dx, double dy, double dTheta)
          Creates a new instance of the relative motion.
MobilePlatformRelativeMotion(MobilePlatformPosition destination)
          Creates a new instance of the relative motion.
 
Method Summary
 boolean areWorkingSpaceConstraintsDeactivated()
          Indicates whether the default translational and rotational working space constraints are deactivated.
 MobilePlatformRelativeMotion.MobilePlatformRelativeMotionRuntime createRuntimeData()
           
 MobilePlatformRelativeMotion deactivateWorkingSpaceConstraints(boolean deactivateConstraints)
          Defines whether the default translational and rotational working space constraints shall be deactivated.
 double[] getAcceleration()
          Gets the commanded acceleration of the platform.
static MobilePlatformPosition getCoveredDistance(com.kuka.roboticsAPI.executionModel.ICommandContainer container)
          Gets the covered distance of a relative motion.
 double getOffsetTheta()
          Gets the offset of theta angle of the motion (in rad).
 double getOffsetX()
          Gets the offset in x-direction of the motion (in millimeter).
 double getOffsetY()
          Gets the offset in y-direction of the motion (in millimeter).
 Double getTimeout()
          Gets the maximal time (in s) until the motion has to reach its commanded destination.
 double[] getVelocity()
          Gets the commanded velocities of the platform.
 boolean hasTimeout()
          Indicates whether a timeout for the relative motion has been set.
 MobilePlatformRelativeMotion setAcceleration(double transAcc, double rotAcc)
          Sets the acceleration of the platform.
 MobilePlatformRelativeMotion setTimeout(double timeout)
          Sets the time (in s) until the motion has to reach its commanded destination.
 MobilePlatformRelativeMotion setVelocity(double transVel, double rotVel)
          Sets the velocities of the platform.
 
Methods inherited from class com.kuka.roboticsAPI.commandModel.Action
acquireResources, addParameter, addParams, getParams, releaseResources, removeParameter, self
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NUMBER_DOF

public static final int NUMBER_DOF
The degrees of freedom for a relative motion.

See Also:
Constant Field Values

DEFAULT_MAXIMUM_ROTATION

public static final double DEFAULT_MAXIMUM_ROTATION
Default value for the maximal rotation (in rad) which may be used for commanding the motion.


DEFAULT_MAXIMUM_TRANSLATION

public static final double DEFAULT_MAXIMUM_TRANSLATION
Default value for maximal translation (in mm) which may be used for commanding the motion.

See Also:
Constant Field Values

enableDFELogger

public static boolean enableDFELogger
Set true to create dfe date recorder log files for relative motions.

This element is an undocumented internal feature. It is not intended to be used by applications as it might change or be removed in future versions.
Constructor Detail

MobilePlatformRelativeMotion

public MobilePlatformRelativeMotion(double dx,
                                    double dy,
                                    double dTheta)
Creates a new instance of the relative motion.

Parameters:
dx - offset in x-direction (in mm)
dy - offset in y-direction (in mm)
dTheta - rotational offset of theta angle (in rad)

MobilePlatformRelativeMotion

public MobilePlatformRelativeMotion(MobilePlatformPosition destination)
Creates a new instance of the relative motion.

Parameters:
destination - the destination of the motion
Method Detail

getOffsetX

public double getOffsetX()
Gets the offset in x-direction of the motion (in millimeter).

Returns:
the offset in x-direction of the motion (in mm)

getOffsetY

public double getOffsetY()
Gets the offset in y-direction of the motion (in millimeter).

Returns:
the offset in y-direction of the motion (in mm)

getOffsetTheta

public double getOffsetTheta()
Gets the offset of theta angle of the motion (in rad).

Returns:
the offset of theta angle of the motion (in rad)

setVelocity

public MobilePlatformRelativeMotion setVelocity(double transVel,
                                                double rotVel)
Sets the velocities of the platform.

The velocities consist of a translational and a rotational component. The translational component is not applied separately to the x- and y-direction but refers to the combined motion in both direction.

Parameters:
transVel - the translational velocity (in mm/s)
rotVel - the rotational velocity (in rad/s)
Returns:
this relative motion

getVelocity

public double[] getVelocity()
Gets the commanded velocities of the platform.

The method returns an array which contains the translational velocity (in mm/s) and the rotational velocity (in rad/s) of the platform.
If no velocities have been set, null is returned.

Returns:
the commanded velocities of the platform

getAcceleration

public double[] getAcceleration()
Gets the commanded acceleration of the platform.

The method returns an array which contain the translational acceleration (in mm/s²) and the rotational acceleration (in rad/s²) of the platform.
If no acceleration has been set, null is returned.

Returns:
the commanded acceleration of the platform

deactivateWorkingSpaceConstraints

public MobilePlatformRelativeMotion deactivateWorkingSpaceConstraints(boolean deactivateConstraints)
Defines whether the default translational and rotational working space constraints shall be deactivated.

Parameters:
deactivateConstraints - true, if the default working space constraints shall be deactivated
false, otherwise
Returns:
this relative motion

areWorkingSpaceConstraintsDeactivated

public boolean areWorkingSpaceConstraintsDeactivated()
Indicates whether the default translational and rotational working space constraints are deactivated.

Returns:
true, if the default working space constraints are deactivated
false, otherwise

setTimeout

public MobilePlatformRelativeMotion setTimeout(double timeout)
Sets the time (in s) until the motion has to reach its commanded destination.

If the commanded destination is not reached within the specified time, the execution of the motion command is interrupted by an exception.

Parameters:
timeout - maximal time (in s)
Returns:
this relative motion

getTimeout

public Double getTimeout()
Gets the maximal time (in s) until the motion has to reach its commanded destination.

If no timeout has be specified, null is returned.

Returns:
the time (in s)

hasTimeout

public boolean hasTimeout()
Indicates whether a timeout for the relative motion has been set.

Returns:
true, if a timeout has been specified
false, otherwise

setAcceleration

public MobilePlatformRelativeMotion setAcceleration(double transAcc,
                                                    double rotAcc)
Sets the acceleration of the platform.

The acceleration consists of a translational and a rotational component. The translational component is not applied separately to the x- and y-direction but refers to the combined motion in both direction.
Note that the deceleration is set accordingly.

Parameters:
transAcc - the translational acceleration (in mm/s^2)
rotAcc - the rotational acceleration (in rad/s^2)
Returns:
this relative motion

createRuntimeData

public MobilePlatformRelativeMotion.MobilePlatformRelativeMotionRuntime createRuntimeData()
Specified by:
createRuntimeData in interface com.kuka.roboticsAPI.commandModel.IRuntimeDataProvider<MobilePlatformRelativeMotion.MobilePlatformRelativeMotionRuntime>

getCoveredDistance

public static MobilePlatformPosition getCoveredDistance(com.kuka.roboticsAPI.executionModel.ICommandContainer container)
Gets the covered distance of a relative motion.

Parameters:
container - the motion container of the commanded relative motion
Returns:
the covered distance of the motion (measured in mm and rad)


Copyright © 2019. All rights reserved.