Class MotomanRobotScannableGroup
java.lang.Object
gda.factory.ConfigurableBase
gda.factory.FindableConfigurableBase
gda.device.DeviceBase
gda.device.scannable.ScannableBase
gda.device.scannable.scannablegroup.ScannableGroup
gda.device.scannable.scannablegroup.MotomanRobotScannableGroup
- All Implemented Interfaces:
Device,Scannable,IScannableGroup,Configurable,Findable,gda.observable.IObservable,gda.observable.IObserver
This scannable group represents a Motoman robot. It has two particular characteristics:
(1) The two robot arm axes (KTheta invalid input: '&' KPhi) cannot reliably be moved at the same time.
(2) When the KTheta angle is very small (kThetaProtectionValue), KPhi must not exceed a certain value (kPhiProtectionValue) in order to avoid possible damage to the robot. To allow this class to satisfy these conditions KTheta invalid input: '&' KPhi (in that order) MUST be the first two devices in the group.
(2) When the KTheta angle is very small (kThetaProtectionValue), KPhi must not exceed a certain value (kPhiProtectionValue) in order to avoid possible damage to the robot. To allow this class to satisfy these conditions KTheta invalid input: '&' KPhi (in that order) MUST be the first two devices in the group.
-
Field Summary
Fields inherited from class gda.device.scannable.ScannableBase
__doc__, DEFAULT_INPUT_NAME, DEFAULT_OUTPUT_FORMAT, extraNames, inputNames, level, outputFormatFields inherited from class gda.device.DeviceBase
DEFAULT_PROTECTION_LEVEL_PROPERTYFields inherited from interface gda.device.Scannable
ATTR_NEXUS_CATEGORY, ATTR_NX_CLASS, DEFAULT_INPUT_NAME, VALUE_UNAVAILABLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidasynchronousMoveTo(Object position) Trigger a move/operation and return immediately.voidHook to be used by Scan and pos commands to inform the Scannable that an exception, such as a DeviceExcpetion, has occurred.doubledoublebooleanisBusy()Check if the Scannable is moving/operating.voidsetkPhiProtectionValue(double kPhiProtectionValue) voidsetkThetaProtectionValue(double kThetaProtectionValue) voidReturns when operation carried out by moveTo has completedMethods inherited from class gda.device.scannable.scannablegroup.ScannableGroup
__getattr__, addGroupMember, addGroupMember, atLevelEnd, atLevelMoveStart, atLevelStart, atPointEnd, atPointStart, atScanEnd, atScanLineEnd, atScanLineStart, atScanStart, checkPositionValid, configure, extractPositionsFromObject, getExtraNames, getGroupMember, getGroupMemberNames, getGroupMembers, getGroupMembersAsArray, getInputNames, getOutputFormat, getPosition, getUnits, isDemandAllScannablePositions, removeGroupMemberByIndex, removeGroupMemberByScannable, setDemandAllScannablePositions, setExtraNames, setGroupMembers, setGroupMembersWithArray, setGroupMembersWithList, setInputNames, stop, toFormattedString, toString, updateMethods inherited from class gda.device.scannable.ScannableBase
__call__, __call__, __doc__, __getitem__, __len__, __repr__, __str__, externalToInternal, getLevel, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, internalToExternal, isAt, moveTo, rawAsynchronousMoveTo, rawGetPosition, setLevel, setOutputFormat, setScanMetadataAttribute, setScanMetadataAttributes, throwExceptionIfInvalidTarget, validateScannable, valueUnavailableString, waitWhileBusyMethods inherited from class gda.device.DeviceBase
addIObserver, close, deleteIObserver, deleteIObservers, getAttribute, getName, getProtectionLevel, isBeingObserved, isConfigureAtStartup, notifyIObservers, setAttribute, setConfigureAtStartup, setName, setProtectionLevelMethods inherited from class gda.factory.ConfigurableBase
isConfigured, reconfigure, setConfiguredMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface gda.factory.Configurable
isConfigureAtStartup, isConfigured, reconfigureMethods inherited from interface gda.device.Device
close, getAttribute, getProtectionLevel, setAttribute, setProtectionLevelMethods inherited from interface gda.observable.IObservable
addIObserver, deleteIObserver, deleteIObserversMethods inherited from interface gda.device.Scannable
getLevel, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, isAt, moveTo, setLevel, setOutputFormat, setScanMetadataAttribute, setScanMetadataAttributes
-
Constructor Details
-
MotomanRobotScannableGroup
public MotomanRobotScannableGroup()
-
-
Method Details
-
asynchronousMoveTo
Description copied from class:ScannableBaseTrigger a move/operation and return immediately. Implementations of this method should be non-blocking to allow concurrent motion; the isBusy method will be used to determine when the move has completed. Converts the external (user) position to an internal position and passes this to rawAsynchronousMoveTo.- Specified by:
asynchronousMoveToin interfaceScannable- Overrides:
asynchronousMoveToin classScannableGroup- Parameters:
position- Position to move to should have an element for each input field.- Throws:
DeviceException
-
isBusy
Description copied from interface:ScannableCheck if the Scannable is moving/operating.- Specified by:
isBusyin interfaceScannable- Overrides:
isBusyin classScannableGroup- Returns:
- true - if operation carried out by moveTo has not completed yet
- Throws:
DeviceException
-
waitWhileBusy
Description copied from class:ScannableBaseReturns when operation carried out by moveTo has completed If this is to be overriden, isBusy must also be valid. Although the pos and scan command currently use this method to determine if the Scannable is busy, this must not be relied upon.- Specified by:
waitWhileBusyin interfaceScannable- Overrides:
waitWhileBusyin classScannableGroup- Throws:
DeviceExceptionInterruptedException
-
atCommandFailure
Description copied from class:ScannableBaseHook to be used by Scan and pos commands to inform the Scannable that an exception, such as a DeviceExcpetion, has occurred. However not called when the command is aborted using an InterruptionException. If a Scan is aborted then onlyScannable.stop()will be called by the Scan or pos command.Useful for telling Scannables which hold state during a scan for example, to reset themselves. Used for example by CoordinatedMotionScannables. This hook should be used not in the same way as the stop hook. Default behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.
- Specified by:
atCommandFailurein interfaceScannable- Overrides:
atCommandFailurein classScannableGroup- Throws:
DeviceException- See Also:
-
getkThetaProtectionValue
public double getkThetaProtectionValue() -
setkThetaProtectionValue
public void setkThetaProtectionValue(double kThetaProtectionValue) -
getkPhiProtectionValue
public double getkPhiProtectionValue() -
setkPhiProtectionValue
public void setkPhiProtectionValue(double kPhiProtectionValue)
-