AuboStudio SDK  0.6.3
move_node.h
浏览该文件的文档.
1#ifndef AUBO_SCOPE_MOVE_NODE_H
2#define AUBO_SCOPE_MOVE_NODE_H
3
8
9namespace arcs {
10namespace aubo_scope {
12
14{
15public:
16 enum ConfigType : int
17 {
18
19 /**
20 * <p>
21 * Movement type is MoveJ.
22 * </p>
23 *
24 * The config instance can be cast to {@link MoveJMoveNodeConfig}.
25 */
26 MOVE_J = 0,
27
28 /**
29 * <p>
30 * Movement type is MoveL.
31 * </p>
32 *
33 * The config instance can be cast to {@link MoveLMoveNodeConfig}.
34 */
36
38 };
39
41 {
42
43 /**
44 * Motions are adjusted to the currently active TCP. The TCP is
45 * determined during runtime of the program.
46 */
48
49 /**
50 * No TCP is used and the motion under this Move command will be with
51 * respect to the tool output flange.
52 */
54
55 /**
56 * A specific TCP is selected. <br>
57 * The TCPSelection instance can be cast to {@link MoveNodeTCP}.
58 */
60 };
61
63 {
64 /**
65 * The selected feature is no longer available (e.g. because the user
66 * has removed the feature in the Installation or the needed
67 * Installation is not currently loaded)
68 */
70
71 /**
72 * Feature is selected.
73 * The Selection instance can be cast to {@link MoveNodeFeature}
74 */
76 };
77
80 virtual ~MoveNode();
81
82 /**
83 * This method returns the type of configuration. Cast this instance
84 * appropriately to have access to specific getters.
85 *
86 * @return the type of this config.
87 */
90
92 void setUseJoints(bool use);
93
94 /**
95 * <p>
96 * Set joint speed parameter for the MoveJ configuration.
97 * </p>
98 *
99 * The parameter applies to the movement of the robot arm, from the previous
100 * position through the waypoints under the Move node.
101 *
102 * @param joint_speed The shared joint speed to be achieved, not
103 * <code>null</code>.
104 * @param jointSpeedErrorHandler Error handler for handling validation. If
105 * using {@link ErrorHandler#AUTO_CORRECT}, this will clamp the value to the
106 * nearest valid joint speed value.
107 * @return This builder.
108 */
109 void setJointSpeed(double joint_speed);
111
112 /**
113 * <p>
114 * Set joint acceleration parameter for the MoveJ configuration.
115 * </p>
116 *
117 * The parameter applies to the movement of the robot arm, from the previous
118 * position through the waypoints under the Move node.
119 *
120 * @param joint_acceleration The shared joint acceleration to be used, not
121 * <code>null</code>.
122 * @param joint_accelerationErrorHandler Error handler for handling
123 * validation. If using {@link ErrorHandler#AUTO_CORRECT}, this will clamp
124 * the value to the nearest valid joint acceleration value.
125 * @return This builder.
126 */
127 void setJointAcceleration(double joint_acceleration);
129
130 /**
131 * <p>
132 * Set the TCP selection for the MoveJ configuration.
133 * </p>
134 *
135 * <p>
136 * The TCP will be set as the active TCP before the movement of the robot
137 * arm, from the previous position through the waypoints under the Move
138 * node, is performed.
139 * </p>
140 *
141 * See {@link TCPSelection} which can be created using the {@link
142 * TCPSelectionFactory} interface.
143 *
144 * @param tcp_selection The TCP setting to be applied.
145 * @return This builder.
146 */
147 void setTCPSelection(TCPPtr tcp_selection);
149
150 /**
151 * <p>
152 * Set tool speed parameter for the MoveL configuration.
153 * </p>
154 *
155 * The parameter applies to the movement of the robot arm, from the previous
156 * position through the waypoints under the Move node.
157 *
158 * @param tool_speed The shared tool speed to be achieved, not
159 * <code>null</code>.
160 * @param toolSpeedErrorHandler Error handler for handling validation. If
161 * using {@link ErrorHandler#AUTO_CORRECT}, this will clamp the value to the
162 * nearest valid tool speed value.
163 * @return This builder.
164 */
165 void setToolSpeed(double tool_speed);
166 double getToolSpeed();
167
168 /**
169 * <p>
170 * Set tool acceleration parameter for the MoveL configuration.
171 * </p>
172 *
173 * The parameter applies to the movement of the robot arm, from the previous
174 * position through the waypoints under the Move node.
175 *
176 * @param tool_acceleration The shared tool acceleration to be used, not
177 * <code>null</code>.
178 * @param toolAccelerationErrorHandler Error handler for handling
179 * validation. If using {@link ErrorHandler#AUTO_CORRECT}, this will clamp
180 * the value to the nearest valid tool acceleration value.
181 * @return This builder.
182 */
183 void setToolAcceleration(double tool_acceleration);
185
186 /**
187 * <p>
188 * Set feature for the MoveL configuration.
189 * </p>
190 *
191 * The feature will be used for the movement of the robot arm, from the
192 * previous position through the waypoints under the Move node.
193 *
194 * @param feature The shared feature for this movement, not
195 * <code>null</code>.
196 * @return This builder.
197 */
198 void setFeature(FeaturePtr feature);
199 void setFeature(FeatureVariablePtr feature_variable);
200 FeaturePtr getFeature();
201
202 /**
203 * <p>
204 * Set the blend parameter for the MoveP configuration.
205 * </p>
206 *
207 * The blend parameter will be used between all waypoints in the movement of
208 * the robot arm, from the previous position through the waypoint under the
209 * Move node.
210 *
211 * @param blend The shared blend used in the motion of this Move node, not
212 * <code>null</code>.
213 * @param blendErrorHandler Error handler for handling validation. If using
214 * {@link ErrorHandler#AUTO_CORRECT}, this will clamp the value to the
215 * nearest valid blend value.
216 * @return This builder.
217 */
218 void setBlend(double blend);
219 double getBlend();
220
223
224private:
225 friend class DataSwitch;
227 void *d_{ nullptr };
228};
229
230} // namespace aubo_scope
231} // namespace arcs
232#endif // AUBO_SCOPE_MOVE_NODE_H
#define ARCS_ABI_EXPORT
#define ARCS_CLASS_FORWARD(C)
Macro that forward declares a class and defines the respective smartpointers through ARCS_DECLARE_PTR...
void setUseJoints(bool use)
void setJointSpeed(double joint_speed)
void setJointAcceleration(double joint_acceleration)
void setFeature(FeaturePtr feature)
@ UNRESOLVED_FEATURE
The selected feature is no longer available (e.g.
@ FEATURE
Feature is selected.
TcpSelectionType getTcpSelectionType()
ConfigType getConfigType()
This method returns the type of configuration.
void setTcpSelectionType(TcpSelectionType type)
void setToolAcceleration(double tool_acceleration)
@ MOVE_TCP
A specific TCP is selected.
@ USE_ACTIVE_TCP
Motions are adjusted to the currently active TCP.
@ IGNORE_ACTIVE_TCP
No TCP is used and the motion under this Move command will be with respect to the tool output flange.
void setConfigType(ConfigType type)
void setTCPSelection(TCPPtr tcp_selection)
void setToolSpeed(double tool_speed)
void setFeature(FeatureVariablePtr feature_variable)
void setBlend(double blend)