AuboCaps
0.6.0
|
#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 |
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.
|
virtualdefault |
|
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.
gripperConfiguration | A configuration instance that can be used for registering or setting up the properties and capabilities of the gripper. |
apiProvider | Provides 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). |
|
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:
NOTE:
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().
scriptWriter | Use this script writer instance to generate the script code for gripping |
parameters | The parameters for the gripper action defined/configured by the end user |
|
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:
NOTE:
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().
scriptWriter | Use this script writer instance to generate the script code for releasing the gripper |
parameters | The parameters for the gripper action defined/configured by the end user |
|
pure virtual |
This method must return the title of the gripper contribution.
The title is displayed in:
The return value of this method cannot be null
nor an empty string.
This method is called once upon startup.
locale | The current locale of AuboScope. Can be used for supporting titles in several languages. |
null
nor an empty string.