public interface MultiGripperCapability
This interface represents a registered multi-gripper capability for a gripper which supports multiple individual grippers/zones.
After the capability has been registered, this interface provides various functionality such as:WidthCapability
),
speed capability (see SpeedCapability
), etc, to dynamically adjust their properties (including the
value range and default values) exclusively for a specific gripper (independently of the other grippers).
Modifier and Type | Method and Description |
---|---|
RegisteredCapabilities |
getRegisteredCapabilities(SelectableGripper gripper)
Get access to all (other) registered capabilities, such as the width capability (see
WidthCapability ),
etc., to dynamically adjust their properties (including the value range and default values) exclusively for the
specified gripper/zone (independently of the other grippers). |
List<SelectableGripper> |
getSelectableGrippers()
Get the list of supported individual grippers/zones added when the multi-gripper capability was registered.
|
boolean |
isEnabled(SelectableGripper gripper)
Determine if the specified individual gripper is enabled.
|
void |
setEnabled(SelectableGripper gripper,
boolean enabled)
Enable or disable the specified individual gripper.
|
List<SelectableGripper> getSelectableGrippers()
boolean isEnabled(SelectableGripper gripper)
gripper
- The individual gripper for which to check the enabled state, not null
true
if the gripper is enabled, otherwise false
IllegalArgumentException
- if this contribution is not the owner of the individual gripper, i.e. the
specified gripper was not added by this URCap.void setEnabled(SelectableGripper gripper, boolean enabled)
Enable or disable the specified individual gripper.
The disable/enable functionality can be used, if the gripper URCap is meant to support both a use case with only
a single gripper as well as supporting the option of mounting several separate, identical grippers on the robot
at the same time (e.g. using on a special mounting bracket). In this case, the secondary gripper(s) can be created
in an initial disabled state, and then enabled when the end user is using a multi-gripper setup. If the URCap
is implementing the GripperContribution
interface, control of the enablement of the added grippers can be
handled using custom user input(s) (see the CustomUserInputConfiguration
interface).
Note: It is not necessary to use the enable/disable functionality, if the multi-gripper is physically constructed in a way where it is logically partitioned in multiple zones/grippers "built into" the gripping device. In this case, all grippers should be in created in an initial enabled state and always remain enabled.
Disabling a gripper will have the following effects:
GripperContribution
interface.
SystemConfiguration.getTCPConfiguration(SelectableGripper)
), it will not be available (nor
visible) in PolyScope to the end user. This only applies to URCaps implementing the
GripperContribution
interface. Any existing selection of the disabled TCP will become unresolved
and will be displayed accordingly in combo boxes in PolyScope.
MultiGripperSupport.getSelectableGrippers()
.
The gripper will, however, still be included in the list returned by getSelectableGrippers()
.
SelectableGripper.isResolvable()
will reflect the disabled state (return
false
) for any SelectableGripper
instance representing the disabled gripper
gripper
- The individual gripper to enable or disable, not null
enabled
- Indicates whether to enable/disable the specified gripper. true
to enable, false
to disable.IllegalArgumentException
- if this contribution is not the owner of the individual gripper, i.e. the
specified gripper was not added by this URCap.RegisteredCapabilities getRegisteredCapabilities(SelectableGripper gripper)
Get access to all (other) registered capabilities, such as the width capability (see WidthCapability
),
etc., to dynamically adjust their properties (including the value range and default values) exclusively for the
specified gripper/zone (independently of the other grippers). This is typically not applicable for most grippers, but
can be relevant when the range depends on another custom gripper setting (which can be configured by the user).
GripperCapabilities
interface (when
GripperContribution.configureGripper(GripperConfiguration, GripperAPIProvider)
is called) before they can
be accessed using this method.gripper
- The individual gripper/zone for which to get an interface providing access to the registered
capabilitiesIllegalArgumentException
- if this contribution is not the owner of the individual gripper/zone, i.e. the
specified gripper was not added by this URCap.Copyright © 2020. All rights reserved.