AuboCaps  0.6.0
grip_vacuum_capability.h
Go to the documentation of this file.
1 #ifndef AUBO_SCOPE_GRIP_VACUUM_CAPABILITY_H
2 #define AUBO_SCOPE_GRIP_VACUUM_CAPABILITY_H
3 
5 
6 namespace arcs {
7 namespace aubo_scope {
8 ARCS_CLASS_FORWARD(GripVacuumCapability);
9 
10 /**
11  * <p>
12  * This interface represents a registered vacuum capability for a gripper which
13  * supports gripping using a user configurable vacuum level.
14  * </p>
15  *
16  * Through this interface, it is possible to adjust the range and default value
17  * for the vacuum level after the capability has been registered. This is
18  * typically not applicable for most grippers, but can be relevant when the
19  * range depends on another custom gripper setting (which can be configured by
20  * the user).
21  */
23 {
24 public:
25  virtual ~GripVacuumCapability() = 0;
26 
27  /**
28  * <p>
29  * Update the range and default value for the vacuum level supported by the
30  * gripper.
31  * </p>
32  *
33  * <p>
34  * Updating the range could result in an already entered value in the
35  * configuration of a gripper program node being outside the range. This
36  * will make the given program node undefined, and force the end user to
37  * adjust the value to be valid again.
38  * </p>
39  *
40  * If the gripper works with absolute pressure, specify a positive range for
41  * the supported vacuum level. If the gripper works with relative pressure
42  * (vacuum), specify a negative range for the supported vacuum level.
43  *
44  * @param minVacuum minimum vacuum level supported by the gripper
45  * @param maxVacuum maximum vacuum level supported by the gripper
46  * @param defaultGripVacuum default value for the vacuum level for a grip
47  * action. This value is used for, e.g. performing a "default" grip action
48  * using the toolbar
49  * @param unit the unit for all specified values, not <code>null</code>
50  * @throws InvalidCapabilityRange if <code>minVacuum</code> >
51  * <code>maxVacuum</code> or <code>defaultGripVacuum</code> is outside the
52  * range defined by <code>minVacuum</code> and <code>maxVacuum</code>.
53  */
54  virtual void updateCapability(double minVacuum, double maxVacuum,
55  double defaultGripVacuum) = 0;
56 };
57 } // namespace aubo_scope
58 } // namespace arcs
59 
60 #endif
ARCS_CLASS_FORWARD(GripForceCapability)
virtual void updateCapability(double minVacuum, double maxVacuum, double defaultGripVacuum)=0