com.kuka.roboticsAPI.controllerModel.sunrise
Class SunriseLBR

java.lang.Object
  extended by com.kuka.common.TaggableObject
      extended by com.kuka.roboticsAPI.geometricModel.SceneGraphObject
          extended by com.kuka.roboticsAPI.geometricModel.SpatialObject
              extended by com.kuka.roboticsAPI.geometricModel.PhysicalObject
                  extended by com.kuka.roboticsAPI.deviceModel.Device
                      extended by com.kuka.roboticsAPI.deviceModel.MovableDevice
                          extended by com.kuka.roboticsAPI.deviceModel.Robot
                              extended by com.kuka.roboticsAPI.deviceModel.LBR
                                  extended by com.kuka.roboticsAPI.controllerModel.sunrise.SunriseLBR
All Implemented Interfaces:
com.kuka.common.ITaggable, IMovableSunriseDevice, ISunriseDevice, ISunriseRobot, IForceSensitiveRobot, IOperationModeProvider, ITorqueSensitiveRobot
Direct Known Subclasses:
SunriseLBR5

public class SunriseLBR
extends LBR
implements ISunriseRobot

Represents a LBR that is connected to a Sunrise system.

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.

Field Summary
 
Fields inherited from class com.kuka.roboticsAPI.deviceModel.LBR
_gmsSensorLimits
 
Fields inherited from class com.kuka.roboticsAPI.deviceModel.Device
_hardwareVersion
 
Constructor Summary
SunriseLBR(Controller controller, String name)
          Creates a new LBR instance with the given controller.
 
Method Summary
 boolean areDrivesReady()
           
 void configure(ActiveDevice pipe, LoadData loadData)
          Called when the Sunrise robot should configure the specified pipe.
protected  ITransformationProvider createBaseFlangeTransformationProvider()
          Creates the robot-base-to-flange transformation provider for this robot.
 void deactivateDeviceCartesianVelocityLimit()
          Deactivates the Device Cartesian velocity limit.
 CartesianVelocityLimitInfo getCartesianVelocityLimitInfo()
          Gets a reference to a CartesianVelocityLimits object which contains all the Cartesian Velocity Limit related information for the current robot.
 String getObserverName()
          Gets the name of the observer, that can be used for the device.
 String getPipeName(IMotionControlMode controlMode)
          Gets the name of the pipe to be used for motion with the specified control mode.
 ISafetyState getSafetyState()
          Gets the state of safety signals.
 String getValidatorModuleName()
          Gets the name of the validator module, that can be used for the device.
protected  void initGmsSensorLimits()
          Initializes the Sensor Nominal Limits for GMS-Sensor.
 boolean isMotionEnabled()
          A Robot is motion enabled if the safety signals no stop.
 boolean isReadyToMove()
          A Robot is ready to move if a movement command can be executed.
 void sendStartTrace()
          Starts Trace on the Devices Observer with default parameters.
 void sendStartTrace(int numTraceRows, int traceDecimation)
          Starts Trace on the Devices Observer.
 void sendStopTrace()
          Stops Trace on the Devices Observer.
 void setDeviceCartesianVelocityLimit(int cartesianVelocityLimit)
          Sets the Device Cartesian velocity limit to the specified value.
 void setDrivesReady(boolean ready)
          Sets ready to move value for this device.
 void setESMState(String name)
          Sets an ESM (Event-driven Safety Monitoring) state configured in the safety configuration.
 void setMotionEnabled(boolean motionEnabled)
          Sets ready to move value for this device.
 void setSafetyState(SunriseSafetyState safetyState)
          Sets safety state for this device.
 void setSafetyWorkpiece(PhysicalObject wp)
          Sets the workpiece load data used by safety monitoring functions.
 
Methods inherited from class com.kuka.roboticsAPI.deviceModel.LBR
checkTorqueSensor, getAlphaAngle, getAlphaInverseKinematicFromReference, getExternalForceTorque, getExternalForceTorque, getExternalTorque, getInitialHomePosition, getInverseKinematicFromFrameAndRedundancy, getMeasuredTorque, getSensorForExternalForce, getSensorForExternalTorque, getSensorForMeasuredTorque, getSensorForTemperatures, getTemperatures, getTorqueSensorLimits, initializeJointCount, onInitialize
 
Methods inherited from class com.kuka.roboticsAPI.deviceModel.Robot
calculateLoadOnFlange, checkFrameContainsRedundancy, createDefaultsParameterSet, detachAll, getCommandedCartesianPosition, getCommandedCartesianPosition, getCommandedJointPosition, getCurrentCartesianPosition, getCurrentCartesianPosition, getCurrentJointPosition, getDefaultMotionFrame, getDefaults, getFlange, getForwardKinematic, getHomePosition, getInverseKinematic, getJointCount, getJointLimits, getPositionInformation, getPositionInformation, hasActiveMotionCommand, isInHome, isMastered, move, move, moveAsync, moveAsync, onDispose, setDefaultMotionFrame, setHomePosition, setHomePosition
 
Methods inherited from class com.kuka.roboticsAPI.deviceModel.MovableDevice
calculateReadyToMove, getOperationMode
 
Methods inherited from class com.kuka.roboticsAPI.deviceModel.Device
acquireCommandPermit, dispose, getContext, getController, getHardwareVersion, getUniqueName, initialize, isInitialized, refreshHardwareVersion, releaseCommandPermit, setName
 
Methods inherited from class com.kuka.roboticsAPI.geometricModel.PhysicalObject
addDefaultMotionFrame, getLoadData
 
Methods inherited from class com.kuka.roboticsAPI.geometricModel.SpatialObject
attachTo, attachTo, changeParent, detach, switchParent, switchParent
 
Methods inherited from class com.kuka.roboticsAPI.geometricModel.SceneGraphObject
addChildFrame, addChildFrame, addChildFrame, addChildFrame, addChildFrame, addChildFrame, allObjects, changeFrameParent, changeFramePosition, findMembersOfGroup, findRobot, getAllFrames, getAllUserParameters, getChild, getChildFrameLock, getChildren, getFrame, getName, getParent, getRootFrame, getRootOfGroup, getUserParameter, groupToParent, isDescendantOf, isGroupedToParent, isMemberOfGroup, isRootOfGroup, removeFrame, renameFrame, setRootFrame, setUserParameter, toString, ungroupFromParent
 
Methods inherited from class com.kuka.common.TaggableObject
getTag, setTag
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.kuka.roboticsAPI.deviceModel.IOperationModeProvider
getOperationMode
 

Constructor Detail

SunriseLBR

public SunriseLBR(Controller controller,
                  String name)
Creates a new LBR instance with the given controller.

Parameters:
controller - The controller to which this device belongs.
name - The name of the device.
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.
Method Detail

configure

public void configure(ActiveDevice pipe,
                      LoadData loadData)
Called when the Sunrise robot should configure the specified pipe.

Specified by:
configure in interface ISunriseRobot
Parameters:
pipe - The pipe.
loadData - load data for robot flange
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.

getValidatorModuleName

public String getValidatorModuleName()
Gets the name of the validator module, that can be used for the device.

Specified by:
getValidatorModuleName in interface ISunriseRobot
Returns:
The name of the validator module, that can be used for the device.
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.

getObserverName

public String getObserverName()
Gets the name of the observer, that can be used for the device.

Specified by:
getObserverName in interface ISunriseRobot
Returns:
The name of the observer, that can be used for the device.
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.

getPipeName

public String getPipeName(IMotionControlMode controlMode)
Description copied from interface: ISunriseRobot
Gets the name of the pipe to be used for motion with the specified control mode.

If the pipe should be chosen by the control mode mapper, null should be returned.

Specified by:
getPipeName in interface ISunriseRobot
Parameters:
controlMode - the control mode that is used for the motion.
Returns:
the name of the pipe or null, if the pipe should be chosen by the control mode mapper.

sendStartTrace

public void sendStartTrace(int numTraceRows,
                           int traceDecimation)
Starts Trace on the Devices Observer.

Parameters:
numTraceRows - - Number of ticks, which are stored.
traceDecimation - - decimate the trace.
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.

sendStartTrace

public void sendStartTrace()
Starts Trace on the Devices Observer with default parameters. Default Parameters are: 6000,1 (aka: take each millisecond sample in 6000 steps -> 6 Seconds duration)

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.

sendStopTrace

public void sendStopTrace()
Stops Trace on the Devices Observer.

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.

isReadyToMove

public boolean isReadyToMove()
A Robot is ready to move if a movement command can be executed. For a general robot this method returns true if the SunriseSafetyState.SafetyStopType is SunriseSafetyState.SafetyStopType.NOSTOP and the correct enabling switch is pressed. To be notified about changes of this state, use IControllerStateListener.onIsReadyToMoveChanged(com.kuka.roboticsAPI.deviceModel.Device, boolean).
This method returns true if:
  • the SunriseSafetyState.SafetyStopType is SunriseSafetyState.SafetyStopType.NOSTOP,
  • AND the correct enabling device is pressed,
  • AND the drives are ready (they are not in an error state).
  • Overrides:
    isReadyToMove in class MovableDevice
    Returns:
    true, if the robot is ready to move at this moment
    false, otherwise
    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.

    isMotionEnabled

    public boolean isMotionEnabled()
    A Robot is motion enabled if the safety signals no stop.
    This method returns true if:
  • the SunriseSafetyState.SafetyStopType is SunriseSafetyState.SafetyStopType.NOSTOP,
  • AND the drives are ready (they are not in an error state).
  • Overrides:
    isMotionEnabled in class MovableDevice
    Returns:
    true, if the robot is motion enabled at the moment
    false, otherwise
    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.

    setMotionEnabled

    public void setMotionEnabled(boolean motionEnabled)
    Sets ready to move value for this device.

    Specified by:
    setMotionEnabled in interface IMovableSunriseDevice
    Parameters:
    motionEnabled - true if device is ready to move
    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.

    setDrivesReady

    public void setDrivesReady(boolean ready)
    Sets ready to move value for this device.

    Specified by:
    setDrivesReady in interface IMovableSunriseDevice
    Parameters:
    ready - true if device is ready to move
    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.

    areDrivesReady

    public boolean areDrivesReady()
    Returns:
    indicates that the drives are ready and not signalling an error.

    createBaseFlangeTransformationProvider

    protected ITransformationProvider createBaseFlangeTransformationProvider()
    Description copied from class: Robot
    Creates the robot-base-to-flange transformation provider for this robot.

    Specified by:
    createBaseFlangeTransformationProvider in class Robot
    Returns:
    The robot-base-to-flange transformation provider.

    setSafetyState

    public void setSafetyState(SunriseSafetyState safetyState)
    Sets safety state for this device.

    Specified by:
    setSafetyState in interface IMovableSunriseDevice
    Parameters:
    safetyState - New safety state.
    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.

    getSafetyState

    public ISafetyState getSafetyState()
    Gets the state of safety signals.

    Overrides:
    getSafetyState in class LBR
    Returns:
    the safety state

    initGmsSensorLimits

    protected void initGmsSensorLimits()
    Description copied from class: LBR
    Initializes the Sensor Nominal Limits for GMS-Sensor.

    Specified by:
    initGmsSensorLimits in class LBR

    setESMState

    public void setESMState(String name)
    Description copied from class: LBR
    Sets an ESM (Event-driven Safety Monitoring) state configured in the safety configuration.

    If the given parameter is a valid ESM name but the corresponding ESM state is not known in the safety configuration a stop category 1 is performed.

    Specified by:
    setESMState in class LBR
    Parameters:
    name - The name of the ESM state. Must be a numeric string between '1' and '10'.

    setSafetyWorkpiece

    public void setSafetyWorkpiece(PhysicalObject wp)
    Description copied from class: LBR
    Sets the workpiece load data used by safety monitoring functions.

    Accepted value ranges after rounding:

    The value of the mass should be also lower than, or equal to the highest workpiece mass, that is configured under Project/Properties/Sunrise/Safety.

    Please note that this mechanism will be changed in future releases.

    Specified by:
    setSafetyWorkpiece in class LBR
    Parameters:
    wp - The physical object containing the load data.

    setDeviceCartesianVelocityLimit

    public void setDeviceCartesianVelocityLimit(int cartesianVelocityLimit)
    Sets the Device Cartesian velocity limit to the specified value.

    Overrides:
    setDeviceCartesianVelocityLimit in class Robot
    Parameters:
    cartesianVelocityLimit - The new Device Cartesian velocity to set in [mm/s].
    Throws:
    IllegalArgumentException - If the new Device specific Cartesian velocity to set (cartesianVelocityLimit parameter) is not greater than 0.
    IllegalStateException - In case the Enhanced Velocity Controller feature is not installed.

    deactivateDeviceCartesianVelocityLimit

    public void deactivateDeviceCartesianVelocityLimit()
    Deactivates the Device Cartesian velocity limit. It means that after calling this function, the Device Cartesian velocity limit value will be considered as it were infinite, (in other words this function disables the Device Cartesian velocity limit).

    Overrides:
    deactivateDeviceCartesianVelocityLimit in class Robot
    Throws:
    IllegalStateException - In case the Enhanced Velocity Controller feature is not installed.

    getCartesianVelocityLimitInfo

    public CartesianVelocityLimitInfo getCartesianVelocityLimitInfo()
    Gets a reference to a CartesianVelocityLimits object which contains all the Cartesian Velocity Limit related information for the current robot.

    Overrides:
    getCartesianVelocityLimitInfo in class Robot
    Returns:
    The filled CartesianVelocityLimits object, or null if there was an error during the request.
    Throws:
    IllegalStateException - In case the Enhanced Velocity Controller feature is not installed.


    Copyright © 2019. All rights reserved.