Package gda.device.robot
Class GantryPositioner
- All Implemented Interfaces:
Device,SamplePlateMover,Scannable,Configurable,Findable,gda.observable.IObservable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumType of individual motor move that can take placeNested classes/interfaces inherited from class gda.device.robot.SamplePlateMoverBase
SamplePlateMoverBase.GripperState, SamplePlateMoverBase.MotionState, SamplePlateMoverBase.MotorSequence -
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 TypeMethodDescriptionvoidvoidDefault implementation for classes that do not have to do any specific configuration.
Classes that do their own configuration should *not* call this superclass function, as it may cause the object to appear configured before it really is.doubledoubledoubledoubleThe last motor move that took place - one of the values inGantryPositioner.MotorMoveenum.doublegetPlatePosition(String samplePlateName) Get position of named plateReturns the current position of the Scannable.doublebooleanisBusy()Check if the Scannable is moving/operating.booleanvoidPick up new sample plateprotected voidlogMessage(String message) protected voidvoidMove sample plate to the in beam positionvoidmoveToHorizontalPositionForPlate(String plateName) Move to horizontal position for named plate, after first moving to the 'safe' height.voidMove to vertical position for loading/unloading a platevoidMove to safe height, so that horizontal move can be madevoidvoidrotateGripper(double angle) voidsetBeamHorizontalPosition(double beamPosition) voidsetCurrentPlate(String currentSamplePlate) Set the name of the currently held sample plate.voidsetGripperAngleScannable(Scannable gripperAngle) voidsetGripperBeamAngle(double gripperBeamAngle) voidsetGripperLoadAngle(double gripperLoadAngle) voidsetGripperPosition(SamplePlateMoverBase.GripperState state, Object gripperPosition) voidsetGripperScannable(Scannable gripper) voidsetHorizScannable(Scannable horizScannable) voidsetLoadHeight(double loadUnloadHeight) voidsetMoveTolerance(double moveTolerance) voidsetPlatePosition(String plateName, Object position) Set the position of a plate (i.e.voidsetPlatePositions(Map<String, Object> samplePlatePositions) voidsetSafeHeight(double safeHeight) voidsetVerifyMove(boolean verifyMove) voidsetVertScannable(Scannable vertScannable) voidUnload the currently held sample plateMethods inherited from class gda.device.robot.SamplePlateMoverBase
asynchronousMoveTo, getMotionState, getMotorSequence, performMotion, printConsoleMessageMethods inherited from class gda.device.scannable.ScannableBase
__call__, __call__, __doc__, __getitem__, __len__, __repr__, __str__, atCommandFailure, atLevelEnd, atLevelMoveStart, atLevelStart, atPointEnd, atPointStart, atScanEnd, atScanLineEnd, atScanLineStart, atScanStart, checkPositionValid, externalToInternal, getExtraNames, getInputNames, getLevel, getOutputFormat, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, internalToExternal, isAt, moveTo, rawAsynchronousMoveTo, rawGetPosition, setExtraNames, setInputNames, setLevel, setOutputFormat, setScanMetadataAttribute, setScanMetadataAttributes, stop, throwExceptionIfInvalidTarget, toFormattedString, toString, validateScannable, valueUnavailableString, waitWhileBusy, 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
atCommandFailure, atLevelEnd, atLevelMoveStart, atLevelStart, atPointEnd, atPointStart, atScanEnd, atScanLineEnd, atScanLineStart, atScanStart, checkPositionValid, getExtraNames, getInputNames, getLevel, getOutputFormat, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, isAt, moveTo, setExtraNames, setInputNames, setLevel, setOutputFormat, setScanMetadataAttribute, setScanMetadataAttributes, stop, toFormattedString, waitWhileBusy
-
Constructor Details
-
GantryPositioner
public GantryPositioner()
-
-
Method Details
-
getGripperAngleScannable
-
setGripperAngleScannable
-
configure
Description copied from class:ConfigurableBaseDefault implementation for classes that do not have to do any specific configuration.
Classes that do their own configuration should *not* call this superclass function, as it may cause the object to appear configured before it really is.- Specified by:
configurein interfaceConfigurable- Overrides:
configurein classSamplePlateMoverBase- Throws:
FactoryException- if there is an error in configuration e.g. required variable not set or cannot connect to device
-
setGripperPosition
-
getPosition
Description copied from class:ScannableBaseReturns the current position of the Scannable. Called by ConcurentScan at the end of the point. Reads an internal (hardware) position from rawGetPosition, converts this to an external (user) position and returns it.- Specified by:
getPositionin interfaceScannable- Overrides:
getPositionin classScannableBase- Returns:
- Current position with an element for each input and extra field. null if their are no fields.
- Throws:
DeviceException
-
loadPlate
Description copied from interface:SamplePlateMoverPick up new sample plate- Parameters:
c-- Throws:
DeviceException
-
unloadPlate
Description copied from interface:SamplePlateMoverUnload the currently held sample plate- Throws:
DeviceException
-
moveToBeam
Description copied from interface:SamplePlateMoverMove sample plate to the in beam position- Throws:
DeviceException
-
moveToHorizontalPositionForPlate
Move to horizontal position for named plate, after first moving to the 'safe' height.- Parameters:
plateName-- Throws:
DeviceException
-
moveToSafeHeight
Move to safe height, so that horizontal move can be made- Throws:
DeviceException
-
moveToLoadHeight
Move to vertical position for loading/unloading a plate- Throws:
DeviceException
-
rotateGripper
- Throws:
DeviceException
-
openGripper
- Throws:
DeviceException
-
closeGripper
- Throws:
DeviceException
-
logMessage
-
logStatus
- Throws:
DeviceException
-
getMotorMove
The last motor move that took place - one of the values inGantryPositioner.MotorMoveenum.- Returns:
-
getCurrentGripperState
-
isBusy
Description copied from interface:ScannableCheck if the Scannable is moving/operating.- Specified by:
isBusyin interfaceScannable- Overrides:
isBusyin classSamplePlateMoverBase- Returns:
- true - if operation carried out by moveTo has not completed yet
- Throws:
DeviceException
-
getHorizScannable
-
setHorizScannable
-
getVertScannable
-
setVertScannable
-
getGripperScannable
-
setGripperScannable
-
getPlatePositions
- Returns:
- Map of all known plate positions currently (key = plate name, value = horizontal position).
-
getPlateNames
- Returns:
- List of names of all sample plates (i.e. 'positions' that can be moved to)
-
setPlatePositions
-
setPlatePosition
Set the position of a plate (i.e. horizontal position where plate is located) Create Double from passed position Object - to deal with Integers, Doubles passed from Jython and avoid class cast exceptions.- Parameters:
plateName-position-
-
getPlatePosition
Get position of named plate- Parameters:
samplePlateName-- Returns:
- Position of sample plate, or null if plate is not known
-
getLoadHeight
public double getLoadHeight() -
setLoadHeight
public void setLoadHeight(double loadUnloadHeight) -
getSafeHeight
public double getSafeHeight() -
setSafeHeight
public void setSafeHeight(double safeHeight) -
getBeamHorizontalPosition
public double getBeamHorizontalPosition() -
setBeamHorizontalPosition
public void setBeamHorizontalPosition(double beamPosition) -
getGripperBeamAngle
public double getGripperBeamAngle() -
setGripperBeamAngle
public void setGripperBeamAngle(double gripperBeamAngle) -
getGripperLoadAngle
public double getGripperLoadAngle() -
setGripperLoadAngle
public void setGripperLoadAngle(double gripperLoadAngle) -
getCurrentPlate
- Returns:
- Name of the currently held plate
-
setCurrentPlate
Set the name of the currently held sample plate.- Parameters:
currentSamplePlate-
-
setVerifyMove
public void setVerifyMove(boolean verifyMove) -
isVerifyMove
public boolean isVerifyMove() -
getMoveTolerance
public double getMoveTolerance() -
setMoveTolerance
public void setMoveTolerance(double moveTolerance)
-