AuboStudio SDK
0.6.3
registered_cpabilities.h
浏览该文件的文档.
1
#ifndef AUBO_SCOPE_REGISTERED_CAPABILITIES_H
2
#define AUBO_SCOPE_REGISTERED_CAPABILITIES_H
3
4
#include <
aubo_caps/contribution/driver/gripper/gripper_api_provider.h
>
5
#include <
aubo_caps/contribution/driver/gripper/gripper_configuration.h
>
6
#include <
aubo_caps/contribution/driver/gripper/gripper_contribution.h
>
7
#include <
aubo_caps/contribution/driver/gripper/capability/grip_force_capability.h
>
8
#include <
aubo_caps/contribution/driver/gripper/capability/grip_vacuum_capability.h
>
9
#include <
aubo_caps/contribution/driver/gripper/capability/speed_capability.h
>
10
#include <
aubo_caps/contribution/driver/gripper/capability/width_capability.h
>
11
12
namespace
arcs
{
13
namespace
aubo_scope
{
14
ARCS_CLASS_FORWARD
(
RegisteredCapabilities
);
15
16
/**
17
* <p>
18
* Each of the individual grippers/zones available in a multi-gripper device
19
* supports all capabilities that has been registered, i.e. all the individual
20
* grippers have the exact same set of capabilities. This interface gives access
21
* to all registered capabilities, such as the width capability (see {@link
22
* WidthCapability}), speed capability (see
23
* {@link SpeedCapability}), etc. This enables dynamic adjustment of capability
24
* properties, including the value range and default values, exclusively per
25
* individual gripper (independently of the other grippers).
26
* </p>
27
*
28
* <p>
29
* This interface is only relevant if the multi-gripper capability has been
30
* registered (using the method
31
* {@link GripperCapabilities#registerWidthCapability(double, double, double,
32
* double, Length.Unit)}).
33
* </p>
34
*
35
* <p>
36
* Each capability <b>must</b> be registered using the {@link
37
* GripperCapabilities} interface (when
38
* {@link GripperContribution#configureGripper(GripperConfiguration,
39
* GripperAPIProvider)} is called) before they can be accessed using this
40
* interface.
41
* </p>
42
*
43
* <b>NOTE:</b> If an update of the properties of a capability needs to apply
44
* for all individual grippers, it is more convenient to perform the adjustment
45
* simultaneously for all grippers using the capability instance (e.g.
46
* {@link WidthCapability}) returned when the capability was registered (with
47
* the {@link GripperCapabilities} interface).
48
*/
49
class
RegisteredCapabilities
50
{
51
public
:
52
virtual
~RegisteredCapabilities
() =
default
;
53
54
/**
55
* <p>
56
* Access the width capability interface which allows for dynamic
57
* adjustments of the capability properties exclusively for this
58
* specific individual gripper (independently of the other grippers),
59
* including the value range and default value.
60
* </p>
61
*
62
* This is only valid, if the width capability has been registered
63
* (using the method
64
* {@link GripperCapabilities#registerWidthCapability(double, double,
65
* double, double, Length.Unit)}).
66
*
67
* @return The width capability for this individual gripper
68
* @throws UnsupportedOperationException if the gripper has not
69
* registered the width capability
70
*/
71
virtual
WidthCapabilityPtr
getWidthCapability
() = 0;
72
73
/**
74
* <p>
75
* Access the grip force capability interface which allows for dynamic
76
* adjustments of the capability properties exclusively for this specific
77
* individual gripper (independently of the other grippers), including the
78
* value range and default value.
79
* </p>
80
*
81
*
82
* This is only valid, if the force capability has been registered (using
83
* the method
84
* {@link GripperCapabilities#registerGrippingForceCapability(double,
85
* double, double, Force.Unit)}).
86
*
87
* @return The grip force capability for this individual gripper
88
* @throws UnsupportedOperationException if the gripper has not registered
89
* the force capability
90
*/
91
virtual
GripForceCapabilityPtr
getGripForceCapability
() = 0;
92
93
/**
94
* <p>
95
* Access the speed capability interface which allows for dynamic
96
* adjustments of the capability properties exclusively for this specific
97
* individual gripper (independently of the other grippers), including the
98
* value range and default value.
99
* </p>
100
*
101
* This is only valid, if the speed capability has been registered (using
102
* the method
103
* {@link GripperCapabilities#registerSpeedCapability(double, double,
104
* double, double, Speed.Unit)}).
105
*
106
* @return The speed capability for this individual gripper
107
* @throws UnsupportedOperationException if the gripper has not registered
108
* the speed capability
109
*/
110
virtual
SpeedCapabilityPtr
getSpeedCapability
() = 0;
111
112
/**
113
* <p>
114
* Access the grip vacuum capability interface which allows for dynamic
115
* adjustments of the capability properties exclusively for this specific
116
* individual gripper (independently of the other grippers), including the
117
* value range and default value.
118
* </p>
119
*
120
* This is only valid, if the vacuum capability has been registered (using
121
* the method
122
* {@link GripperCapabilities#registerGrippingVacuumCapability(double,
123
* double, double, Pressure.Unit)}).
124
*
125
* @return The grip vacuum capability for this individual gripper
126
* @throws UnsupportedOperationException if the gripper has not registered
127
* the vacuum capability
128
*/
129
virtual
GripVacuumCapabilityPtr
getGripVacuumCapability
() = 0;
130
};
131
}
// namespace aubo_scope
132
}
// namespace arcs
133
#endif
ARCS_CLASS_FORWARD
#define ARCS_CLASS_FORWARD(C)
Macro that forward declares a class and defines the respective smartpointers through ARCS_DECLARE_PTR...
定义
class_forward.h:68
arcs::aubo_scope::RegisteredCapabilities
定义
registered_cpabilities.h:50
arcs::aubo_scope::RegisteredCapabilities::getGripForceCapability
virtual GripForceCapabilityPtr getGripForceCapability()=0
arcs::aubo_scope::RegisteredCapabilities::getWidthCapability
virtual WidthCapabilityPtr getWidthCapability()=0
arcs::aubo_scope::RegisteredCapabilities::~RegisteredCapabilities
virtual ~RegisteredCapabilities()=default
arcs::aubo_scope::RegisteredCapabilities::getSpeedCapability
virtual SpeedCapabilityPtr getSpeedCapability()=0
arcs::aubo_scope::RegisteredCapabilities::getGripVacuumCapability
virtual GripVacuumCapabilityPtr getGripVacuumCapability()=0
grip_force_capability.h
grip_vacuum_capability.h
gripper_api_provider.h
gripper_configuration.h
gripper_contribution.h
arcs::aubo_scope
定义
contribution_provider.h:8
arcs
定义
contribution_provider.h:7
speed_capability.h
width_capability.h
include
aubo_caps
contribution
driver
gripper
capability
registered_cpabilities.h
制作者
1.16.1