AuboCaps  0.6.0
arcs::aubo_scope::GripperContribution Class Referenceabstract

#include <gripper_contribution.h>

Public Member Functions

virtual ~GripperContribution ()=default
 
virtual std::string getTitle ()=0
 This method must return the title of the gripper contribution. More...
 
virtual void configureGripper (GripperConfigurationPtr gripperConfiguration, GripperApiProviderPtr apiProvider)=0
 
virtual void generateGripActionScript (ScriptWriterPtr scriptWriter, GripActionParametersPtr parameters)=0
 
virtual void generateReleaseActionScript (ScriptWriterPtr scriptWriter, ReleaseActionParametersPtr parameters)=0
 

Detailed Description

This interface defines an API for adding functionality for gripping devices to AuboScope.

Implementing this interface will create a program node contribution, an installation contribution and a toolbar contribution exposing gripper functionality to the end user. Note that the toolbar contribution is not supported on CB3 robots.

The program node contribution allows the end user to program grip and release actions. The configuration options available to the end user are based on the properties and capabilities supported by the gripper. As a minimum, all grippers must support "default" grip and release actions. All other capabilities are optional to support and can be registered when the GripperAPIProvider) method is called.

The installation node contribution can be used, if any custom input from the end user is required to setup the gripper, e.g. specifying an IP address. The corresponding generated UI will be accessible in the installation node. This functionality is optional, since such configuration properties are specific for each gripper. Access to create a custom configuration based on user inputs is provided when the method SystemConfiguration, TCPConfiguration, GripperAPIProvider) is called. If no custom user inputs, texts, etc. are defined, the installation node will not be visible in AuboScope. Preamble script code (generated by generatePreambleScript(ScriptWriter)) will still be added to the robot program.

The toolbar contribution provides the end user quick access to perform grip and release actions using "default" gripper action parameters.

Definition at line 60 of file gripper_contribution.h.

Constructor & Destructor Documentation

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

Member Function Documentation

virtual void arcs::aubo_scope::GripperContribution::configureGripper ( GripperConfigurationPtr  gripperConfiguration,
GripperApiProviderPtr  apiProvider 
)
pure virtual

When this method is called, use the configuration parameter to register or setup optional properties and capabilities of the gripper.

The method is called in the Gripper Configuration phase after this contribution has been registered when a new installation is loaded or created.

Note: If the gripper only supports basic "default" grip and release actions, leave the implementation of this method empty.

Parameters
gripperConfigurationA configuration instance that can be used for registering or setting up the properties and capabilities of the gripper.
apiProviderProvides access to functionality and services available from within AuboScope which can be relevant for setting up the gripper capabilities (e.g. the SystemAPI interface with functionality for querying information about the robot).
virtual void arcs::aubo_scope::GripperContribution::generateGripActionScript ( ScriptWriterPtr  scriptWriter,
GripActionParametersPtr  parameters 
)
pure virtual

When this method is called, the script code for performing a grip action with the gripper must be generated.

The parameters for the registered optional gripper capabilities defined/configured by the end user are provided as input to the script generation.

The method is called in the following scenarios:

  • When the script code for a gripper program node configured with a grip action should be generated as part of a robot program to be executed
  • When the end user tests a grip configuration of a gripper program node
  • When the gripper is operated using the toolbar

NOTE:

  • Applying a new total payload after an object has been gripped is not the responsibility of the gripper, since this is automatically handled by AuboScope.
  • When the end user has specified a new payload (in the Gripper program node or toolbar), the user-defined payload value will be applied by AuboScope immediately after the generated script code for the grip action has finished executing. Hence the script code should not finish earlier than when it is appropriate to apply the new payload value (i.e. when the object has been gripped). This typically means that the script code should wait a time period corresponding to closing the gripper's "fingers" fully (if the gripper is vacuum operated then long enough to achieve some level of vacuum).

    If the grip detected feedback capability has been registered (using GripperFeedbackCapabilities#registerGripDetectedCapability(ScriptCodeGenerator)), different script code should be generated 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
scriptWriterUse this script writer instance to generate the script code for gripping
parametersThe parameters for the gripper action defined/configured by the end user
virtual void arcs::aubo_scope::GripperContribution::generateReleaseActionScript ( ScriptWriterPtr  scriptWriter,
ReleaseActionParametersPtr  parameters 
)
pure virtual

When this method is called, the script code for performing a release action with the gripper must be generated.

The parameters for the registered optional gripper capabilities defined/configured by the end user are provided as input to the script generation.

The method is called in the following scenarios:

  • When the script code for a gripper program node configured with a release action should be generated as part of a robot program to be executed
  • When the end user tests a release configuration of a gripper program node
  • When the gripper is operated using the toolbar

NOTE:

  • Applying a new total payload after an object has been released is not the responsibility of the gripper, since this is automatically handled by AuboScope.
  • When the end user has specified a new payload (in the Gripper program node or toolbar), the user-defined payload value will be applied by AuboScope immediately after the generated script code for the release action has finished executing. Hence the script code should not finish earlier than when it is appropriate to apply the new payload value (i.e. when the object has been released). This typically means that the script code should wait a time period corresponding to opening the gripper's "fingers" fully (if the gripper is vacuum operated then long enough to achieve some level of vacuum).

    If the release detected feedback capability has been registered (using GripperFeedbackCapabilities#registerReleaseDetectedCapability(ScriptCodeGenerator)), different script code should be generated 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 ReleaseActionParameters#isReleaseDetectionEnabled().

Parameters
scriptWriterUse this script writer instance to generate the script code for releasing the gripper
parametersThe parameters for the gripper action defined/configured by the end user
virtual std::string arcs::aubo_scope::GripperContribution::getTitle ( )
pure virtual

This method must return the title of the gripper contribution.

The title is displayed in:

  • The Structure section of the Program Tab for this type of gripper program node (from which the Gripper program node can be inserted)
  • The program node screen for this gripper contribution.
  • The Program Tree as title for the program node for this gripper contribution
  • The left-hand side navigation of the Installation Tab for this gripper contribution.
  • The installation node screen for this gripper contribution.
  • The toolbar contribution for this gripper. Note: The toolbar contribution is not available on CB3 robots.

The return value of this method cannot be null nor an empty string.

This method is called once upon startup.

Parameters
localeThe current locale of AuboScope. Can be used for supporting titles in several languages.
Returns
The title of this gripper contribution, not null nor an empty string.

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