AuboStudio SDK  0.6.3
system_api.h
浏览该文件的文档.
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()
\chinese 获取包装Home位置
IoConfigure getToolAnalogOutputConfigure()
\chinese 获取工具端模拟输出配置
std::vector< double > getJointMaxAcceleration()
\chinese 获取各关节最大加速度
IoConfigure getStaticLinkInputConfigure()
\chinese 获取静态链路输入配置
std::vector< double > getJointMinPositions()
\chinese 获取机器人各关节的最小位置
IoConfigure getToolDigitalIOConfigure()
\chinese 获取工具端数字IO配置
std::vector< double > getJointMaxPositions()
\chinese 获取机器人各关节的最大位置
IoConfigure getENCConfigure()
\chinese 获取编码器配置
UnitType getUnitType()
\chinese 以枚举类型返回系统的单位制。
IoConfigure getStaticLinkOutputConfigure()
\chinese 获取静态链路输出配置
std::vector< double > getJointMaxVelocity()
\chinese 获取各关节最大速度
double getMaxPayloadDistance()
\chinese 获取最大负载距离
int getMinorVersion()
\chinese 获取软件次版本号
double getMaxPayloadMass()
\chinese 获取最大负载质量
IoConfigure getConfigurableDigitalInputConfigure()
\chinese 获取可配置数字输入配置
int getBuildNumber()
\chinese 获取软件构建号
double getTcpDefaultAcceleration()
\chinese 获取TCP默认加速度
IoConfigure getToolAnalogInputConfigure()
\chinese 获取工具端模拟输入配置
double getTcpMaxAcceleration()
\chinese 获取TCP最大加速度
double getJointDefaultVelocity()
\chinese 获取关节默认速度
IoConfigure getStandardAnalogInputConfigure()
\chinese 获取标准模拟输入配置
std::unordered_map< std::string, std::vector< double > > getRobotDhParams(bool is_real)
\chinese 获取机器人DH参数
int getBugfixVersion()
\chinese 获取软件Bug修复版本号
std::string getSerialNumber()
\chinese 获取机器人的序列号
bool isRealRobot()
\chinese 检查是否控制真实机器人
std::string getLocale()
\chinese 返回系统的Locale语言区域设置。
IoConfigure getConfigurableDigitalOutputConfigure()
\chinese 获取可配置数字输出配置
IoConfigure getStandardDigitalInputConfigure()
\chinese 获取标准数字输入配置
IoConfigure getStandardDigitalOutputConfigure()
\chinese 获取标准数字输出配置
double getJointDefaultAcceleration()
\chinese 获取关节默认加速度
std::vector< double > getHomeDefaultPosition()
\chinese 获取默认Home位置
IoConfigure getStandardAnalogOutputConfigure()
\chinese 获取标准模拟输出配置
double getTcpDefaultVelocity()
\chinese 获取TCP默认速度
double getTcpMaxVelocity()
\chinese 获取TCP最大速度
int getMajorVersion()
\chinese 获取软件版本号
double getTcpMaxDistance()
\chinese 获取TCP最大移动距离
std::string getLocaleForProgrammingLanguage()
\chinese 返回系统中编程语言使用的Locale语言区域设置。
std::vector< int > safety_functions_fixed
std::vector< int > safety_functions
std::vector< std::string > names