AuboCaps  0.6.0
arcs::aubo_scope::GripperConfiguration Class Referenceabstract

This interface provides access to register or setup various properties and capabilities of a gripper. More...

#include <gripper_configuration.h>

Public Member Functions

virtual ~GripperConfiguration ()=default
 
virtual WidthCapabilityPtr registerWidthCapability (double minWidth, double maxWidth, double defaultGripWidth, double defaultReleaseWidth)=0
 Register a width/position capability for a gripper that supports moving to a user configurable position (open/close to a configurable width). More...
 
virtual GripForceCapabilityPtr registerGrippingForceCapability (double minForce, double maxForce, double defaultGripForce)=0
 Register a force capability for a gripper that supports gripping using a user configurable force. More...
 
virtual SpeedCapabilityPtr registerSpeedCapability (double minSpeed, double maxSpeed, double defaultGripSpeed, double defaultReleaseSpeed)=0
 Register a speed capability for a gripper that supports operating using a user configurable speed. More...
 
virtual GripVacuumCapabilityPtr registerGrippingVacuumCapability (double minVacuum, double maxVacuum, double defaultGripVacuum)=0
 
virtual void registerGripDetectedCapability (std::function< void(ScriptWriterPtr scriptWriter)> scriptCodeGenerator)=0
 
virtual void registerReleaseDetectedCapability (std::function< void(ScriptWriterPtr scriptWriter)> scriptCodeGenerator)=0
 

Detailed Description

This interface provides access to register or setup various properties and capabilities of a gripper.

It is optional to register these capabilities and properties.

Definition at line 20 of file gripper_configuration.h.

Constructor & Destructor Documentation

virtual arcs::aubo_scope::GripperConfiguration::~GripperConfiguration ( )
virtualdefault

Member Function Documentation

virtual void arcs::aubo_scope::GripperConfiguration::registerGripDetectedCapability ( std::function< void(ScriptWriterPtr scriptWriter)>  scriptCodeGenerator)
pure virtual

Register this feedback capability if the gripper can inform AuboScope whether it has detected that an object has been gripped, after a grip action has been triggered. This will enable the end user to configure the actions to take when the gripper has detected that an object has been gripped and/or when the grip action timed out.

The provided implementation of the ScriptCodeGenerator interface must generate the script code for determining if a grip was detected. The return value of the script code must be a boolean, i.e. 'True' or 'False'.

Note: When this capability has been registered, the GripActionParameters) method should generate different grip action script code depending on whether the end user has enabled or disabled the grip detection option (in the Gripper program node). For more details, see Javadoc for GripActionParameters#isGripDetectionEnabled().

Parameters
scriptCodeGeneratorscript generator that generates the script code for determining if a grip was detected. When the script code needs to be generated, the method ScriptCodeGenerator#generateScript(ScriptWriter, Object) will be called (by AuboScope). The resulting script code will be embedded in a script function and must return a boolean, i.e. 'True' or 'False'.
Exceptions
CapabilityAlreadyRegisteredif this capability has already been registered
CalledOutsideGripperConfigurationPhaseif this method is called at the wrong time, i.e. outside the scope of the GripperAPIProvider) method.
virtual GripForceCapabilityPtr arcs::aubo_scope::GripperConfiguration::registerGrippingForceCapability ( double  minForce,
double  maxForce,
double  defaultGripForce 
)
pure virtual

Register a force capability for a gripper that supports gripping using a user configurable force.

Parameters
minForceminimum force supported by the gripper
maxForcemaximum force supported by the gripper
defaultGripForcedefault value for the force for a grip action. This value is used for, e.g. performing a "default" grip action using the toolbar
unitthe unit for all specified values, null
Returns
a force capability allowing for dynamic adjustments of the capability properties including the value range and default value
Exceptions
InvalidCapabilityRangeif minForce > maxForce or defaultGripForce is outside the range defined by minForce and maxForce.
CapabilityAlreadyRegisteredif this capability has already been registered
CalledOutsideGripperConfigurationPhaseif this method is called at the wrong time by a AuboCap implementing the GripperContribution interface, i.e. called outside the scope of the configuration of the gripper.
CalledOutsideMethodScopeif this method is called at the wrong time by a (regular) AuboCap which has registered its program node contribution/service as conformant with a AuboScope gripper (using GripperRegistrationManager#registerAsGripper(Class)), i.e. called outside the scope of the call to either SwingProgramNodeService#configureContribution(ContributionConfiguration) (for a Swing-based AuboCap) or ProgramNodeServiceConfigurable#configureContribution(ProgramNodeConfiguration) (for a HTML-based AuboCap).
virtual GripVacuumCapabilityPtr arcs::aubo_scope::GripperConfiguration::registerGrippingVacuumCapability ( double  minVacuum,
double  maxVacuum,
double  defaultGripVacuum 
)
pure virtual

Register a vacuum capability for a gripper that supports gripping using a user configurable vacuum level.

If the gripper works with absolute pressure, specify a positive range for the supported vacuum level. If the gripper works with relative pressure (vacuum), specify a negative range for the supported vacuum level.

Parameters
minVacuumminimum vacuum level supported by the gripper
maxVacuummaximum vacuum level supported by the gripper
defaultGripVacuumdefault value for the vacuum level for a grip action. This value is used for, e.g. performing a "default" grip action using the toolbar
unitthe unit for all specified values, not null
Returns
a vacuum capability allowing for dynamic adjustments of the capability properties including the value range and default value
Exceptions
InvalidCapabilityRangeif minVacuum > maxVacuum or defaultGripVacuum is outside the range defined by minVacuum and maxVacuum.
CapabilityAlreadyRegisteredif this capability has already been registered
CalledOutsideGripperConfigurationPhaseif this method is called at the wrong time by a AuboCap implementing the GripperContribution interface, i.e. called outside the scope of the configuration of the gripper.
CalledOutsideMethodScopeif this method is called at the wrong time by a (regular) AuboCap which has registered its program node contribution/service as conformant with a AuboScope gripper (using GripperRegistrationManager#registerAsGripper(Class)), i.e. called outside the scope of the call to either SwingProgramNodeService#configureContribution(ContributionConfiguration) (for a Swing-based AuboCap) or ProgramNodeServiceConfigurable#configureContribution(ProgramNodeConfiguration) (for a HTML-based AuboCap).
virtual void arcs::aubo_scope::GripperConfiguration::registerReleaseDetectedCapability ( std::function< void(ScriptWriterPtr scriptWriter)>  scriptCodeGenerator)
pure virtual

Register this feedback capability if the gripper can inform AuboScope whether it has detected an object has been released, after a release action has been triggered. This will enable the end user to configure the actions to take when the gripper has detected that an object has been released and/or when the release action timed out.

The provided implementation of the ScriptCodeGenerator interface must generate the script code for determining if a release was detected. The return value of the script code must be a boolean, i.e. 'True' or 'False'.

Note: When this capability has been registered, the ReleaseActionParameters) method should generate different release action script code depending on whether the end user has enabled or disabled the release detection option (in the Gripper program node). For more details, see Javadoc for GripActionParameters#isGripDetectionEnabled().

Parameters
scriptCodeGeneratorscript generator that generates the script code for determining if a release was detected. When the script code needs to be generated, the method ScriptCodeGenerator#generateScript(ScriptWriter, Object) will be called (by AuboScope). The resulting script code will be embedded in a script function and must return a boolean, i.e. 'True' or 'False'.
Exceptions
CapabilityAlreadyRegisteredif this capability has already been registered
CalledOutsideGripperConfigurationPhaseif this method is called at the wrong time, i.e. outside the scope of the GripperAPIProvider) method.
virtual SpeedCapabilityPtr arcs::aubo_scope::GripperConfiguration::registerSpeedCapability ( double  minSpeed,
double  maxSpeed,
double  defaultGripSpeed,
double  defaultReleaseSpeed 
)
pure virtual

Register a speed capability for a gripper that supports operating using a user configurable speed.

Parameters
minSpeedminimum speed supported by the gripper
maxSpeedmaximum speed supported by the gripper
defaultGripSpeeddefault value for the speed for a grip action. This value is used for, e.g. performing a "default" grip action using the toolbar
defaultReleaseSpeeddefault value for the speed for a grip action. This value is used for, e.g. performing a "default" release action using the toolbar
unitthe unit for all specified values, not null
Returns
a speed capability allowing for dynamic adjustments of the capability properties including the value range and default values
Exceptions
InvalidCapabilityRangeif minSpeed > maxSpeed
InvalidCapabilityRangeif defaultGripSpeed or defaultReleaseSpeed is outside the range defined by minSpeed and maxSpeed.
CapabilityAlreadyRegisteredif this capability has already been registered
CalledOutsideGripperConfigurationPhaseif this method is called at the wrong time by a AuboCap implementing the GripperContribution interface, i.e. called outside the scope of the configuration of the gripper.
CalledOutsideMethodScopeif this method is called at the wrong time by a (regular) AuboCap which has registered its program node contribution/service as conformant with a AuboScope gripper (using GripperRegistrationManager#registerAsGripper(Class)), i.e. called outside the scope of the call to either SwingProgramNodeService#configureContribution(ContributionConfiguration) (for a Swing-based AuboCap) or ProgramNodeServiceConfigurable#configureContribution(ProgramNodeConfiguration) (for a HTML-based AuboCap).
virtual WidthCapabilityPtr arcs::aubo_scope::GripperConfiguration::registerWidthCapability ( double  minWidth,
double  maxWidth,
double  defaultGripWidth,
double  defaultReleaseWidth 
)
pure virtual

Register a width/position capability for a gripper that supports moving to a user configurable position (open/close to a configurable width).

Parameters
minWidthThe minimum width supported by the gripper
maxWidthThe maximum width supported by the gripper
defaultGripWidthdefault value for the width for a grip action. This value is used for, e.g. performing a "default" grip action using the toolbar
defaultReleaseWidthdefault value for the width for a release action. This value is used for, e.g. performing a "default" release action using the toolbar
unitthe unit for all specified values, not null
Returns
a width capability allowing for dynamic adjustments of the capability properties including the value range and default values
Exceptions
InvalidCapabilityRangeif minWidth > maxWidth
InvalidCapabilityRangeif defaultGripWidth or defaultReleaseWidth is outside the range defined by minWidth and maxWidth.
CapabilityAlreadyRegisteredif this capability has already been registered
CalledOutsideGripperConfigurationPhaseif this method is called at the wrong time by a AuboCap implementing the GripperContribution interface, i.e. called outside the scope of the configuration of the gripper.
CalledOutsideMethodScopeif this method is called at the wrong time by a (regular) AuboCap which has registered its program node contribution/service as conformant with a AuboScope gripper (using GripperRegistrationManager#registerAsGripper(Class)), i.e. called outside the scope of the call to either SwingProgramNodeService#configureContribution(ContributionConfiguration) (for a Swing-based AuboCap) or ProgramNodeServiceConfigurable#configureContribution(ProgramNodeConfiguration) (for a HTML-based AuboCap).

The documentation for this class was generated from the following file: