PDF
AuboStudio SDK  0.6.3
system_api.h
Go to the documentation of this file.
1#ifndef AUBO_SCOPE_SYSTEM_API_H
2#define AUBO_SCOPE_SYSTEM_API_H
3
4#include <string>
5#include <vector>
6#include <unordered_map>
8
9namespace arcs {
10namespace aubo_scope {
11
12enum class UnitType
13{
14 METRIC, ///< 公制 mm Kg
15 IMPERIAL ///< 英制
16};
17
19{
20 std::string label;
21 int num;
22 std::vector<std::string> names;
23 std::vector<int> sequences;
24 std::vector<int> functions;
25 std::vector<int> safety_functions;
26 std::vector<int> safety_functions_fixed;
27 bool function_lock{ false };
28 std::vector<int> types;
29 std::vector<double> mins;
30 std::vector<double> maxs;
31};
32
34
35/**
36 * \chinese
37 * @defgroup SystemApi SystemApi(系统信息)
38 * @ingroup SystemApi
39 * 系统信息接口
40 * 提供对 AuboScope 软件系统信息的访问,包括软件版本号、系统语言区域、单位制、机器人
41 * 序列号,以及机器人的关节位置范围、速度、加速度和负载等参数信息。
42 * \endchinese
43 * \english
44 * @defgroup SystemApi SystemApi
45 * @ingroup SystemApi
46 * SystemApi
47 * Provides access to system information of the AuboScope software, including
48 * software version numbers, system locale, unit types, the robot serial number,
49 * as well as robot joint position limits, velocity, acceleration, and payload
50 * parameters.
51 * \endenglish
52 */
53
55{
56public:
59 virtual ~SystemApi();
60
61 /**
62 * @ingroup SystemApi
63 * \chinese
64 * 获取软件版本号
65 * @return 版本号。
66 * \endchinese
67 * \english
68 * Get the version of Software.
69 * @return the major version of Software.
70 * \endenglish
71 *
72 */
74
75 /**
76 * @ingroup SystemApi
77 * \chinese
78 * 获取软件次版本号
79 * @return 次版本号。
80 * \endchinese
81 * \english
82 * Get the minor version of Software.
83 * @return the minor version of Software.
84 * \endenglish
85 */
87
88 /**
89 * @ingroup SystemApi
90 * \chinese
91 * 获取软件Bug修复版本号
92 * @return Bug修复版本号。
93 * \endchinese
94 * \english
95 * Get the bug fix version of Software.
96 * @return the bug fix version of Software.
97 * \endenglish
98 */
100
101 /**
102 * @ingroup SystemApi
103 * \chinese
104 * 获取软件构建号
105 * @return 构建号。
106 * \endchinese
107 * \english
108 * Get the build number of Software.
109 * @return the build number of Software.
110 * \endenglish
111 */
113
114 /**
115 * @ingroup SystemApi
116 * \chinese
117 * 返回系统的{@link Locale}语言区域设置。
118 *
119 * @return 语言区域。
120 * \endchinese
121 * \english
122 * Returns the {@link Locale} for the system.
123 *
124 * @return Locale.
125 * \endenglish
126 */
127 std::string getLocale();
128
129 /**
130 * @ingroup SystemApi
131 * \chinese
132 * 返回系统中编程语言使用的{@link Locale}语言区域设置。
133 *
134 * @return 语言区域。
135 * \endchinese
136 * \english
137 * Returns the {@link Locale} for the programming language used in the
138 * system.
139 *
140 * @return Locale.
141 * \endenglish
142 */
144
145 /**
146 * @ingroup SystemApi
147 * \chinese
148 * 以枚举类型返回系统的单位制。
149 *
150 * @return 单位制枚举。
151 * \endchinese
152 * \english
153 * Returns the UnitType of the system as an enum.
154 *
155 * @return UnitType.
156 * \endenglish
157 */
159
160 /**
161 * @ingroup SystemApi
162 * \chinese
163 * 获取机器人的序列号
164 * @return 序列号。
165 * \endchinese
166 * \english
167 * Returns the serial number of the robot.
168 * @return the serial number of the robot.
169 * \endenglish
170 */
171 std::string getSerialNumber();
172
173 /**
174 * @ingroup SystemApi
175 * \chinese
176 * 检查是否控制真实机器人
177 * @return <code>true</code> 表示控制真实物理机器人,<code>false</code> 表示处于仿真模式。
178 * \endchinese
179 * \english
180 * Returns <code>true</code> if controlling the real, physical robot and
181 * <code>false</code> if in simulation mode.
182 * @return <code>true</code> if controlling the real, physical robot and
183 * <code>false</code> if in simulation mode.
184 * \endenglish
185 */
187
188 /**
189 * @ingroup SystemApi
190 * \chinese
191 * 获取机器人各关节的最大位置
192 * @return 各关节最大位置,单位为弧度。
193 * \endchinese
194 * \english
195 * Returns the max positions of robot joints.
196 * @return Max Positions of robot joints in radian.
197 * \endenglish
198 */
199 std::vector<double> getJointMaxPositions();
200
201 /**
202 * @ingroup SystemApi
203 * \chinese
204 * 获取机器人各关节的最小位置
205 * @return 各关节最小位置,单位为弧度。
206 * \endchinese
207 * \english
208 * Returns the min positions of robot joints.
209 * @return Min Positions of robot joints in radian.
210 * \endenglish
211 */
212 std::vector<double> getJointMinPositions();
213
214 /**
215 * @ingroup SystemApi
216 * \chinese
217 * 获取关节默认速度
218 * @return 关节默认速度。
219 * \endchinese
220 * \english
221 * Returns the default velocity of robot joints.
222 * @return the default velocity of robot joints.
223 * \endenglish
224 */
226
227 /**
228 * @ingroup SystemApi
229 * \chinese
230 * 获取关节默认加速度
231 * @return 关节默认加速度。
232 * \endchinese
233 * \english
234 * Returns the default acceleration of robot joints.
235 * @return the default acceleration of robot joints.
236 * \endenglish
237 */
239
240 /**
241 * @ingroup SystemApi
242 * \chinese
243 * 获取各关节最大速度
244 * @return 各关节最大速度。
245 * \endchinese
246 * \english
247 * Returns the max velocity of robot joints.
248 * @return the max velocity of robot joints.
249 * \endenglish
250 */
251 std::vector<double> getJointMaxVelocity();
252
253 /**
254 * @ingroup SystemApi
255 * \chinese
256 * 获取各关节最大加速度
257 * @return 各关节最大加速度。
258 * \endchinese
259 * \english
260 * Returns the max acceleration of robot joints.
261 * @return the max acceleration of robot joints.
262 * \endenglish
263 */
264 std::vector<double> getJointMaxAcceleration();
265
266 /**
267 * @ingroup SystemApi
268 * \chinese
269 * 获取TCP默认速度
270 * @return TCP默认速度。
271 * \endchinese
272 * \english
273 * Returns the default velocity of TCP.
274 * @return the default velocity of TCP.
275 * \endenglish
276 */
278
279 /**
280 * @ingroup SystemApi
281 * \chinese
282 * 获取TCP默认加速度
283 * @return TCP默认加速度。
284 * \endchinese
285 * \english
286 * Returns the default acceleration of TCP.
287 * @return the default acceleration of TCP.
288 * \endenglish
289 */
291
292 /**
293 * @ingroup SystemApi
294 * \chinese
295 * 获取TCP最大速度
296 * @return TCP最大速度。
297 * \endchinese
298 * \english
299 * Returns the max velocity of TCP.
300 * @return the max velocity of TCP.
301 * \endenglish
302 */
304
305 /**
306 * @ingroup SystemApi
307 * \chinese
308 * 获取TCP最大加速度
309 * @return TCP最大加速度。
310 * \endchinese
311 * \english
312 * Returns the max acceleration of TCP.
313 * @return the max acceleration of TCP.
314 * \endenglish
315 */
317
318 /**
319 * @ingroup SystemApi
320 * \chinese
321 * 获取TCP最大移动距离
322 * @return TCP最大距离。
323 * \endchinese
324 * \english
325 * Returns the max distance of TCP.
326 * @return the max distance of TCP.
327 * \endenglish
328 */
330
331 /**
332 * @ingroup SystemApi
333 * \chinese
334 * 获取最大负载质量
335 * @return 最大负载质量。
336 * \endchinese
337 * \english
338 * Returns the max payload mass.
339 * @return the max payload mass.
340 * \endenglish
341 */
343
344 /**
345 * @ingroup SystemApi
346 * \chinese
347 * 获取最大负载距离
348 * @return 最大负载距离。
349 * \endchinese
350 * \english
351 * Returns the max payload distance.
352 * @return the max payload distance.
353 * \endenglish
354 */
356
357 /**
358 * @ingroup SystemApi
359 * \chinese
360 * 获取默认Home位置
361 * @return 默认Home位置关节角度。
362 * \endchinese
363 * \english
364 * Returns the default home position.
365 * @return the default home position.
366 * \endenglish
367 */
368 std::vector<double> getHomeDefaultPosition();
369
370 /**
371 * @ingroup SystemApi
372 * \chinese
373 * 获取包装Home位置
374 * @return 包装Home位置关节角度。
375 * \endchinese
376 * \english
377 * Returns the package home position.
378 * @return the package home position.
379 * \endenglish
380 */
381 std::vector<double> getHomePackagePosition();
382
383 /**
384 * @ingroup SystemApi
385 * \chinese
386 * 获取机器人DH参数
387 * @param is_real 是否获取真实参数。
388 * @return DH参数表。
389 * \endchinese
390 * \english
391 * Returns the robot DH parameters.
392 * @param is_real whether to get the real parameters.
393 * @return the DH parameters.
394 * \endenglish
395 */
396 std::unordered_map<std::string, std::vector<double>> getRobotDhParams(
397 bool is_real);
398
399 /**
400 * @ingroup SystemApi
401 * \chinese
402 * 获取工具端数字IO配置
403 * @return 工具端数字IO配置。
404 * \endchinese
405 * \english
406 * Returns the tool digital I/O configuration.
407 * @return the tool digital I/O configuration.
408 * \endenglish
409 */
411
412 /**
413 * @ingroup SystemApi
414 * \chinese
415 * 获取标准数字输入配置
416 * @return 标准数字输入配置。
417 * \endchinese
418 * \english
419 * Returns the standard digital input configuration.
420 * @return the standard digital input configuration.
421 * \endenglish
422 */
424
425 /**
426 * @ingroup SystemApi
427 * \chinese
428 * 获取可配置数字输入配置
429 * @return 可配置数字输入配置。
430 * \endchinese
431 * \english
432 * Returns the configurable digital input configuration.
433 * @return the configurable digital input configuration.
434 * \endenglish
435 */
437
438 /**
439 * @ingroup SystemApi
440 * \chinese
441 * 获取标准数字输出配置
442 * @return 标准数字输出配置。
443 * \endchinese
444 * \english
445 * Returns the standard digital output configuration.
446 * @return the standard digital output configuration.
447 * \endenglish
448 */
450
451 /**
452 * @ingroup SystemApi
453 * \chinese
454 * 获取可配置数字输出配置
455 * @return 可配置数字输出配置。
456 * \endchinese
457 * \english
458 * Returns the configurable digital output configuration.
459 * @return the configurable digital output configuration.
460 * \endenglish
461 */
463
464 /**
465 * @ingroup SystemApi
466 * \chinese
467 * 获取标准模拟输入配置
468 * @return 标准模拟输入配置。
469 * \endchinese
470 * \english
471 * Returns the standard analog input configuration.
472 * @return the standard analog input configuration.
473 * \endenglish
474 */
476
477 /**
478 * @ingroup SystemApi
479 * \chinese
480 * 获取工具端模拟输入配置
481 * @return 工具端模拟输入配置。
482 * \endchinese
483 * \english
484 * Returns the tool analog input configuration.
485 * @return the tool analog input configuration.
486 * \endenglish
487 */
489
490 /**
491 * @ingroup SystemApi
492 * \chinese
493 * 获取标准模拟输出配置
494 * @return 标准模拟输出配置。
495 * \endchinese
496 * \english
497 * Returns the standard analog output configuration.
498 * @return the standard analog output configuration.
499 * \endenglish
500 */
502
503 /**
504 * @ingroup SystemApi
505 * \chinese
506 * 获取工具端模拟输出配置
507 * @return 工具端模拟输出配置。
508 * \endchinese
509 * \english
510 * Returns the tool analog output configuration.
511 * @return the tool analog output configuration.
512 * \endenglish
513 */
515
516 /**
517 * @ingroup SystemApi
518 * \chinese
519 * 获取静态链路输入配置
520 * @return 静态链路输入配置。
521 * \endchinese
522 * \english
523 * Returns the static link input configuration.
524 * @return the static link input configuration.
525 * \endenglish
526 */
528
529 /**
530 * @ingroup SystemApi
531 * \chinese
532 * 获取静态链路输出配置
533 * @return 静态链路输出配置。
534 * \endchinese
535 * \english
536 * Returns the static link output configuration.
537 * @return the static link output configuration.
538 * \endenglish
539 */
541
542 /**
543 * @ingroup SystemApi
544 * \chinese
545 * 获取编码器配置
546 * @return 编码器配置。
547 * \endchinese
548 * \english
549 * Returns the encoder configuration.
550 * @return the encoder configuration.
551 * \endenglish
552 */
554
555private:
556 friend class DataSwitch;
558 void *d_{ nullptr };
559};
560
561} // namespace aubo_scope
562} // namespace arcs
563
564#endif // SYSTEMAPI_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...
std::vector< double > getHomePackagePosition()
Returns the package home position.
IoConfigure getToolAnalogOutputConfigure()
Returns the tool analog output configuration.
std::vector< double > getJointMaxAcceleration()
Returns the max acceleration of robot joints.
IoConfigure getStaticLinkInputConfigure()
Returns the static link input configuration.
std::vector< double > getJointMinPositions()
Returns the min positions of robot joints.
IoConfigure getToolDigitalIOConfigure()
Returns the tool digital I/O configuration.
std::vector< double > getJointMaxPositions()
Returns the max positions of robot joints.
IoConfigure getENCConfigure()
Returns the encoder configuration.
UnitType getUnitType()
Returns the UnitType of the system as an enum.
IoConfigure getStaticLinkOutputConfigure()
Returns the static link output configuration.
std::vector< double > getJointMaxVelocity()
Returns the max velocity of robot joints.
double getMaxPayloadDistance()
Returns the max payload distance.
int getMinorVersion()
Get the minor version of Software.
double getMaxPayloadMass()
Returns the max payload mass.
IoConfigure getConfigurableDigitalInputConfigure()
Returns the configurable digital input configuration.
int getBuildNumber()
Get the build number of Software.
double getTcpDefaultAcceleration()
Returns the default acceleration of TCP.
IoConfigure getToolAnalogInputConfigure()
Returns the tool analog input configuration.
double getTcpMaxAcceleration()
Returns the max acceleration of TCP.
double getJointDefaultVelocity()
Returns the default velocity of robot joints.
IoConfigure getStandardAnalogInputConfigure()
Returns the standard analog input configuration.
std::unordered_map< std::string, std::vector< double > > getRobotDhParams(bool is_real)
Returns the robot DH parameters.
int getBugfixVersion()
Get the bug fix version of Software.
std::string getSerialNumber()
Returns the serial number of the robot.
bool isRealRobot()
Returns true if controlling the real, physical robot and false if in simulation mode.
std::string getLocale()
Returns the Locale for the system.
IoConfigure getConfigurableDigitalOutputConfigure()
Returns the configurable digital output configuration.
IoConfigure getStandardDigitalInputConfigure()
Returns the standard digital input configuration.
IoConfigure getStandardDigitalOutputConfigure()
Returns the standard digital output configuration.
double getJointDefaultAcceleration()
Returns the default acceleration of robot joints.
std::vector< double > getHomeDefaultPosition()
Returns the default home position.
IoConfigure getStandardAnalogOutputConfigure()
Returns the standard analog output configuration.
double getTcpDefaultVelocity()
Returns the default velocity of TCP.
double getTcpMaxVelocity()
Returns the max velocity of TCP.
int getMajorVersion()
Get the version of Software.
double getTcpMaxDistance()
Returns the max distance of TCP.
std::string getLocaleForProgrammingLanguage()
Returns the Locale for the programming language used in the system.
std::vector< int > safety_functions_fixed
Definition system_api.h:26
std::vector< int > safety_functions
Definition system_api.h:25
std::vector< int > types
Definition system_api.h:28
std::vector< double > maxs
Definition system_api.h:30
std::vector< int > sequences
Definition system_api.h:23
std::vector< int > functions
Definition system_api.h:24
std::vector< double > mins
Definition system_api.h:29
std::vector< std::string > names
Definition system_api.h:22