AUBO SDK  0.25.0
载入中...
搜索中...
未找到
robot_manage.h
浏览该文件的文档.
1/** @file robot_manage.h
2 * @brief 机器人管理接口,如上电、启动、拖动示教模式等
3 */
4#ifndef AUBO_SDK_ROBOT_CONTROL_INTERFACE_H
5#define AUBO_SDK_ROBOT_CONTROL_INTERFACE_H
6
7#include <vector>
8#include <thread>
9
10#include <aubo/global_config.h>
11#include <aubo/type_def.h>
12
13namespace arcs {
14namespace common_interface {
15
16class ARCS_ABI_EXPORT RobotManage
17{
18public:
20 virtual ~RobotManage();
21
22 /**
23 * \chinese
24 * 发起机器人上电请求
25 *
26 * @return 成功返回0; 失败返回错误码
27 * AUBO_BAD_STATE
28 *
29 * @throws arcs::common_interface::AuboException
30 *
31 * @par Python函数原型
32 * poweron(self: pyaubo_sdk.RobotManage) -> int
33 *
34 * @par Lua函数原型
35 * poweron() -> number
36 *
37 * @par JSON-RPC请求示例
38 * {"jsonrpc":"2.0","method":"rob1.RobotManage.poweron","params":[],"id":1}
39 *
40 * @par JSON-RPC响应示例
41 * {"id":1,"jsonrpc":"2.0","result":0}
42 *
43 * @par C++ 实例
44 * @code
45 * auto rpc_cli = std::make_shared<RpcClient>();
46 * auto robot_name = rpc_cli->getRobotNames().front();
47 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->poweron();
48 * @endcode
49 *
50 * \endchinese
51 *
52 * \english
53 * Initiate robot power-on request
54 *
55 * @return Returns 0 on success; error code on failure
56 * AUBO_BAD_STATE
57 *
58 * @throws arcs::common_interface::AuboException
59 *
60 * @par Python function prototype
61 * poweron(self: pyaubo_sdk.RobotManage) -> int
62 *
63 * @par Lua function prototype
64 * poweron() -> number
65 *
66 * @par JSON-RPC request example
67 * {"jsonrpc":"2.0","method":"rob1.RobotManage.poweron","params":[],"id":1}
68 *
69 * @par JSON-RPC response example
70 * {"id":1,"jsonrpc":"2.0","result":0}
71 *
72 * @par C++ example
73 * @code
74 * auto rpc_cli = std::make_shared<RpcClient>();
75 * auto robot_name = rpc_cli->getRobotNames().front();
76 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->poweron();
77 * @endcode
78 * \endenglish
79 */
80 int poweron();
81
82 /**
83 * \chinese
84 * 发起机器人启动请求
85 *
86 * @return 成功返回0; 失败返回错误码
87 * AUBO_BAD_STATE
88 *
89 * @throws arcs::common_interface::AuboException
90 *
91 * @par Python函数原型
92 * startup(self: pyaubo_sdk.RobotManage) -> int
93 *
94 * @par Lua函数原型
95 * startup() -> number
96 *
97 * @par JSON-RPC请求示例
98 * {"jsonrpc":"2.0","method":"rob1.RobotManage.startup","params":[],"id":1}
99 *
100 * @par JSON-RPC响应示例
101 * {"id":1,"jsonrpc":"2.0","result":0}
102 *
103 * @par C++示例
104 * @code
105 * auto rpc_cli = std::make_shared<RpcClient>();
106 * auto robot_name = rpc_cli->getRobotNames().front();
107 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->startup();
108 * @endcode
109 * \endchinese
110 *
111 * \english
112 * Initiate robot startup request
113 *
114 * @return Returns 0 on success; error code on failure
115 * AUBO_BAD_STATE
116 *
117 * @throws arcs::common_interface::AuboException
118 *
119 * @par Python function prototype
120 * startup(self: pyaubo_sdk.RobotManage) -> int
121 *
122 * @par Lua function prototype
123 * startup() -> number
124 *
125 * @par JSON-RPC request example
126 * {"jsonrpc":"2.0","method":"rob1.RobotManage.startup","params":[],"id":1}
127 *
128 * @par JSON-RPC response example
129 * {"id":1,"jsonrpc":"2.0","result":0}
130 *
131 * @par C++ example
132 * @code
133 * auto rpc_cli = std::make_shared<RpcClient>();
134 * auto robot_name = rpc_cli->getRobotNames().front();
135 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->startup();
136 * @endcode
137 * \endenglish
138 */
139 int startup();
140
141 /**
142 * \chinese
143 * 发起机器人松开刹车请求
144 *
145 * @return 成功返回0; 失败返回错误码
146 * AUBO_BAD_STATE
147 *
148 * @throws arcs::common_interface::AuboException
149 *
150 * @par Python函数原型
151 * releaseRobotBrake(self: pyaubo_sdk.RobotManage) -> int
152 *
153 * @par Lua函数原型
154 * releaseRobotBrake() -> number
155 *
156 * @par JSON-RPC请求示例
157 * {"jsonrpc":"2.0","method":"rob1.RobotManage.releaseRobotBrake","params":[],"id":1}
158 *
159 * @par JSON-RPC响应示例
160 * {"id":1,"jsonrpc":"2.0","result":0}
161 *
162 * @par C++示例
163 * @code
164 * auto rpc_cli = std::make_shared<RpcClient>();
165 * auto robot_name = rpc_cli->getRobotNames().front();
166 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->releaseRobotBrake();
167 * @endcode
168 * \endchinese
169 *
170 * \english
171 * Initiate robot brake release request
172 *
173 * @return Returns 0 on success; error code on failure
174 * AUBO_BAD_STATE
175 *
176 * @throws arcs::common_interface::AuboException
177 *
178 * @par Python function prototype
179 * releaseRobotBrake(self: pyaubo_sdk.RobotManage) -> int
180 *
181 * @par Lua function prototype
182 * releaseRobotBrake() -> number
183 *
184 * @par JSON-RPC request example
185 * {"jsonrpc":"2.0","method":"rob1.RobotManage.releaseRobotBrake","params":[],"id":1}
186 *
187 * @par JSON-RPC response example
188 * {"id":1,"jsonrpc":"2.0","result":0}
189 *
190 * @par C++ example
191 * @code
192 * auto rpc_cli = std::make_shared<RpcClient>();
193 * auto robot_name = rpc_cli->getRobotNames().front();
194 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->releaseRobotBrake();
195 * @endcode
196 * \endenglish
197 */
199
200 /**
201 * \chinese
202 * 发起机器人刹车请求
203 *
204 * @return 成功返回0; 失败返回错误码
205 * AUBO_BAD_STATE
206 *
207 * @throws arcs::common_interface::AuboException
208 *
209 * @par Python函数原型
210 * lockRobotBrake(self: pyaubo_sdk.RobotManage) -> int
211 *
212 * @par Lua函数原型
213 * lockRobotBrake() -> number
214 *
215 * @par JSON-RPC请求示例
216 * {"jsonrpc":"2.0","method":"rob1.RobotManage.lockRobotBrake","params":[],"id":1}
217 *
218 * @par JSON-RPC响应示例
219 * {"id":1,"jsonrpc":"2.0","result":0}
220 *
221 * @par C++示例
222 * @code
223 * auto rpc_cli = std::make_shared<RpcClient>();
224 * auto robot_name = rpc_cli->getRobotNames().front();
225 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->lockRobotBrake();
226 * @endcode
227 * \endchinese
228 *
229 * \english
230 * Initiate robot brake lock request
231 *
232 * @return Returns 0 on success; error code on failure
233 * AUBO_BAD_STATE
234 *
235 * @throws arcs::common_interface::AuboException
236 *
237 * @par Python function prototype
238 * lockRobotBrake(self: pyaubo_sdk.RobotManage) -> int
239 *
240 * @par Lua function prototype
241 * lockRobotBrake() -> number
242 *
243 * @par JSON-RPC request example
244 * {"jsonrpc":"2.0","method":"rob1.RobotManage.lockRobotBrake","params":[],"id":1}
245 *
246 * @par JSON-RPC response example
247 * {"id":1,"jsonrpc":"2.0","result":0}
248 *
249 * @par C++ example
250 * @code
251 * auto rpc_cli = std::make_shared<RpcClient>();
252 * auto robot_name = rpc_cli->getRobotNames().front();
253 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->lockRobotBrake();
254 * @endcode
255 * \endenglish
256 */
258
259 /**
260 * \chinese
261 * 发起机器人断电请求
262 *
263 * @return 成功返回0; 失败返回错误码
264 * AUBO_BAD_STATE
265 *
266 * @throws arcs::common_interface::AuboException
267 *
268 * @par Python函数原型
269 * poweroff(self: pyaubo_sdk.RobotManage) -> int
270 *
271 * @par Lua函数原型
272 * poweroff() -> number
273 *
274 * @par JSON-RPC请求示例
275 * {"jsonrpc":"2.0","method":"rob1.RobotManage.poweroff","params":[],"id":1}
276 *
277 * @par JSON-RPC响应示例
278 * {"id":1,"jsonrpc":"2.0","result":0}
279 *
280 * @par C++示例
281 * @code
282 * auto rpc_cli = std::make_shared<RpcClient>();
283 * auto robot_name = rpc_cli->getRobotNames().front();
284 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->poweroff();
285 * @endcode
286 * \endchinese
287 *
288 * \english
289 * Initiate robot power-off request
290 *
291 * @return Returns 0 on success; error code on failure
292 * AUBO_BAD_STATE
293 *
294 * @throws arcs::common_interface::AuboException
295 *
296 * @par Python function prototype
297 * poweroff(self: pyaubo_sdk.RobotManage) -> int
298 *
299 * @par Lua function prototype
300 * poweroff() -> number
301 *
302 * @par JSON-RPC request example
303 * {"jsonrpc":"2.0","method":"rob1.RobotManage.poweroff","params":[],"id":1}
304 *
305 * @par JSON-RPC response example
306 * {"id":1,"jsonrpc":"2.0","result":0}
307 *
308 * @par C++ example
309 * @code
310 * auto rpc_cli = std::make_shared<RpcClient>();
311 * auto robot_name = rpc_cli->getRobotNames().front();
312 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->poweroff();
313 * @endcode
314 * \endenglish
315 */
316 int poweroff();
317
318 /**
319 * \chinese
320 * 发起机器人反向驱动请求
321 *
322 * @param enable
323 *
324 * @return 成功返回0; 失败返回错误码
325 * AUBO_BUSY
326 * AUBO_BAD_STATE
327 * -AUBO_INVL_ARGUMENT
328 * -AUBO_BAD_STATE
329 *
330 * @throws arcs::common_interface::AuboException
331 *
332 * @par Python函数原型
333 * backdrive(self: pyaubo_sdk.RobotManage, arg0: bool) -> int
334 *
335 * @par Lua函数原型
336 * backdrive(enable: boolean) -> number
337 *
338 * @par JSON-RPC请求示例
339 * {"jsonrpc":"2.0","method":"rob1.RobotManage.backdrive","params":[false],"id":1}
340 *
341 * @par JSON-RPC响应示例
342 * {"id":1,"jsonrpc":"2.0","result":0}
343 *
344 * @par C++示例
345 * @code
346 * auto rpc_cli = std::make_shared<RpcClient>();
347 * auto robot_name = rpc_cli->getRobotNames().front();
348 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->backdrive(true);
349 * @endcode
350 * \endchinese
351 *
352 * \english
353 * Initiate robot backdrive request
354 *
355 * @param enable
356 *
357 * @return Returns 0 on success; error code on failure
358 * AUBO_BUSY
359 * AUBO_BAD_STATE
360 * -AUBO_INVL_ARGUMENT
361 * -AUBO_BAD_STATE
362 *
363 * @throws arcs::common_interface::AuboException
364 *
365 * @par Python function prototype
366 * backdrive(self: pyaubo_sdk.RobotManage, arg0: bool) -> int
367 *
368 * @par Lua function prototype
369 * backdrive(enable: boolean) -> number
370 *
371 * @par JSON-RPC request example
372 * {"jsonrpc":"2.0","method":"rob1.RobotManage.backdrive","params":[false],"id":1}
373 *
374 * @par JSON-RPC response example
375 * {"id":1,"jsonrpc":"2.0","result":0}
376 *
377 * @par C++ example
378 * @code
379 * auto rpc_cli = std::make_shared<RpcClient>();
380 * auto robot_name = rpc_cli->getRobotNames().front();
381 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->backdrive(true);
382 * @endcode
383 * \endenglish
384 */
385 int backdrive(bool enable);
386
387 /**
388 * \chinese
389 * 发起机器人自由驱动请求
390 * 接口在软件版本 0.31.x 后已废弃,使用 handguideMode 接口替换
391 * handguideMode({1,1,1,1,1}, {0,0,0,0,0,0})
392 *
393 * @param enable
394 *
395 * @return 成功返回0; 失败返回错误码
396 * AUBO_BUSY
397 * AUBO_BAD_STATE
398 * -AUBO_INVL_ARGUMENT
399 * -AUBO_BAD_STATE
400 *
401 * @throws arcs::common_interface::AuboException
402 *
403 * @par Python函数原型
404 * freedrive(self: pyaubo_sdk.RobotManage, arg0: bool) -> int
405 *
406 * @par Lua函数原型
407 * freedrive(enable: boolean) -> number
408 *
409 * @par JSON-RPC请求示例
410 * {"jsonrpc":"2.0","method":"rob1.RobotManage.freedrive","params":[true],"id":1}
411 *
412 * @par JSON-RPC响应示例
413 * {"id":1,"jsonrpc":"2.0","result":0}
414 *
415 * @par C++示例
416 * @code
417 * auto rpc_cli = std::make_shared<RpcClient>();
418 * auto robot_name = rpc_cli->getRobotNames().front();
419 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->freedrive(true);
420 * @endcode
421 * \endchinese
422 *
423 * \english
424 * Initiate robot freedrive request
425 * This interface is deprecated after software version 0.31.x, use handguideMode instead:
426 * handguideMode({1,1,1,1,1}, {0,0,0,0,0,0})
427 *
428 * @param enable
429 *
430 * @return Returns 0 on success; error code on failure
431 * AUBO_BUSY
432 * AUBO_BAD_STATE
433 * -AUBO_INVL_ARGUMENT
434 * -AUBO_BAD_STATE
435 *
436 * @throws arcs::common_interface::AuboException
437 *
438 * @par Python function prototype
439 * freedrive(self: pyaubo_sdk.RobotManage, arg0: bool) -> int
440 *
441 * @par Lua function prototype
442 * freedrive(enable: boolean) -> number
443 *
444 * @par JSON-RPC request example
445 * {"jsonrpc":"2.0","method":"rob1.RobotManage.freedrive","params":[true],"id":1}
446 *
447 * @par JSON-RPC response example
448 * {"id":1,"jsonrpc":"2.0","result":0}
449 *
450 * @par C++ example
451 * @code
452 * auto rpc_cli = std::make_shared<RpcClient>();
453 * auto robot_name = rpc_cli->getRobotNames().front();
454 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->freedrive(true);
455 * @endcode
456 * \endenglish
457 */
458 int freedrive(bool enable);
459
460 /**
461 * \chinese
462 * 高阶拖动示教
463 *
464 * @param freeAxes 可以拖动的轴 0-不能拖动 1-可以拖动
465 * @param feature 如果维度为0,代表基于 TCP 坐标系拖动
466 *
467 * @return 成功返回0; 失败返回错误码
468 * AUBO_BUSY
469 * AUBO_BAD_STATE
470 * -AUBO_INVL_ARGUMENT
471 * -AUBO_BAD_STATE
472 *
473 * @throws arcs::common_interface::AuboException
474 * \endchinese
475 *
476 * \english
477 * Advanced hand-guiding mode
478 *
479 * @param freeAxes Axes that can be moved: 0-cannot move, 1-can move
480 * @param feature If the dimension is 0, it means hand-guiding based on the TCP coordinate system
481 *
482 * @return Returns 0 on success; error code on failure
483 * AUBO_BUSY
484 * AUBO_BAD_STATE
485 * -AUBO_INVL_ARGUMENT
486 * -AUBO_BAD_STATE
487 *
488 * @throws arcs::common_interface::AuboException
489 * \endenglish
490 */
491 int handguideMode(const std::vector<int> &freeAxes,
492 const std::vector<double> &feature);
493
494 /**
495 * \chinese
496 * 退出拖动示教
497 *
498 * @note 暂未实现
499 *
500 * @return 成功返回0; 失败返回错误码
501 * AUBO_BUSY
502 * AUBO_BAD_STATE
503 * -AUBO_BAD_STATE
504 *
505 * @throws arcs::common_interface::AuboException
506 * \endchinese
507 *
508 * \english
509 * Exit hand-guiding mode
510 *
511 * @note Not implemented yet
512 *
513 * @return Returns 0 on success; error code on failure
514 * AUBO_BUSY
515 * AUBO_BAD_STATE
516 * -AUBO_BAD_STATE
517 *
518 * @throws arcs::common_interface::AuboException
519 * \endenglish
520 */
522
523 /**
524 * \chinese
525 * 获取拖动示教器的状态(是否处于奇异空间)
526 *
527 * @note 暂未实现
528 *
529 * @return
530 * • 0 - 正常操作.
531 * • 1 - 接近奇异空间.
532 * • 2 - 极其接近奇异点,将产生较大的拖动阻尼.
533 *
534 * @throws arcs::common_interface::AuboException
535 * \endchinese
536 *
537 * \english
538 * Get the status of the hand-guiding device (whether it is in a singular space)
539 *
540 * @note Not implemented yet
541 *
542 * @return
543 * • 0 - Normal operation.
544 * • 1 - Approaching singular space.
545 * • 2 - Extremely close to a singularity, large hand-guiding damping will occur.
546 *
547 * @throws arcs::common_interface::AuboException
548 * \endenglish
549 */
551
552 /**
553 * \chinese
554 * 获取拖动示教器触发源
555 *
556 * @note 暂未实现
557 *
558 * @return
559 *
560 * @throws arcs::common_interface::AuboException
561 * \endchinese
562 *
563 * \english
564 * Get the trigger source of the hand-guiding device
565 *
566 * @note Not implemented yet
567 *
568 * @return
569 *
570 * @throws arcs::common_interface::AuboException
571 * \endenglish
572 */
574
575 /**
576 * \chinese
577 * 获取拖动示教使能状态
578 *
579 * @return 使能返回true; 失能返回false
580 *
581 * @throws arcs::common_interface::AuboException
582 *
583 * @par JSON-RPC请求示例
584 * {"jsonrpc":"2.0","method":"rob1.RobotManage.isHandguideEnabled","params":[],"id":1}
585 *
586 * @par JSON-RPC响应示例
587 * {"id":1,"jsonrpc":"2.0","result":false}
588 *
589 * \endchinese
590 * \english
591 * Get the hand-guiding enable status
592 *
593 * @return Returns true if enabled; false if disabled
594 *
595 * @throws arcs::common_interface::AuboException
596 *
597 * @par JSON-RPC request example
598 * {"jsonrpc":"2.0","method":"rob1.RobotManage.isHandguideEnabled","params":[],"id":1}
599 *
600 * @par JSON-RPC response example
601 * {"id":1,"jsonrpc":"2.0","result":false}
602 *
603 * \endenglish
604 */
606
607 /**
608 * \chinese
609 * 发起机器人进入/退出仿真模式请求
610 *
611 * @param enable
612 *
613 * @return 成功返回0;失败返回错误码
614 * AUBO_BUSY
615 * AUBO_BAD_STATE
616 * -AUBO_INVL_ARGUMENT
617 * -AUBO_BAD_STATE
618 *
619 * @throws arcs::common_interface::AuboException
620 *
621 * @par Python函数原型
622 * setSim(self: pyaubo_sdk.RobotManage, arg0: bool) -> int
623 *
624 * @par Lua函数原型
625 * setSim(enable: boolean) -> number
626 *
627 * @par JSON-RPC请求示例
628 * {"jsonrpc":"2.0","method":"rob1.RobotManage.setSim","params":[true],"id":1}
629 *
630 * @par JSON-RPC响应示例
631 * {"id":1,"jsonrpc":"2.0","result":0}
632 *
633 * @par C++示例
634 * @code
635 * auto rpc_cli = std::make_shared<RpcClient>();
636 * auto robot_name = rpc_cli->getRobotNames().front();
637 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->setSim(true);
638 * @endcode
639 * \endchinese
640 *
641 * \english
642 * Initiate robot enter/exit simulation mode request
643 *
644 * @param enable
645 *
646 * @return Returns 0 on success; error code on failure
647 * AUBO_BUSY
648 * AUBO_BAD_STATE
649 * -AUBO_INVL_ARGUMENT
650 * -AUBO_BAD_STATE
651 *
652 * @throws arcs::common_interface::AuboException
653 *
654 * @par Python function prototype
655 * setSim(self: pyaubo_sdk.RobotManage, arg0: bool) -> int
656 *
657 * @par Lua function prototype
658 * setSim(enable: boolean) -> number
659 *
660 * @par JSON-RPC request example
661 * {"jsonrpc":"2.0","method":"rob1.RobotManage.setSim","params":[true],"id":1}
662 *
663 * @par JSON-RPC response example
664 * {"id":1,"jsonrpc":"2.0","result":0}
665 *
666 * @par C++ example
667 * @code
668 * auto rpc_cli = std::make_shared<RpcClient>();
669 * auto robot_name = rpc_cli->getRobotNames().front();
670 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->setSim(true);
671 * @endcode
672 * \endenglish
673 */
674 int setSim(bool enable);
675
676 /**
677 * \chinese
678 * 设置机器人操作模式
679 *
680 * @param mode 操作模式
681 *
682 * @return 成功返回0; 失败返回错误码
683 * -AUBO_BAD_STATE
684 *
685 * @throws arcs::common_interface::AuboException
686 *
687 * @par Python函数原型
688 * setOperationalMode(self: pyaubo_sdk.RobotManage, arg0:
689 * arcs::common_interface::OperationalModeType) -> int
690 *
691 * @par Lua函数原型
692 * setOperationalMode(mode: number) -> number
693 *
694 * @par JSON-RPC请求示例
695 * {"jsonrpc":"2.0","method":"rob1.RobotManage.setOperationalMode","params":["Manual"],"id":1}
696 *
697 * @par JSON-RPC响应示例
698 * {"id":1,"jsonrpc":"2.0","result":0}
699 *
700 * @par C++示例
701 * @code
702 * auto rpc_cli = std::make_shared<RpcClient>();
703 * auto robot_name = rpc_cli->getRobotNames().front();
704 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->setOperationalMode(OperationalModeType::Automatic);
705 * @endcode
706 * \endchinese
707 * \english
708 * Set the robot operational mode
709 *
710 * @param mode Operational mode
711 *
712 * @return Returns 0 on success; error code on failure
713 * -AUBO_BAD_STATE
714 *
715 * @throws arcs::common_interface::AuboException
716 *
717 * @par Python function prototype
718 * setOperationalMode(self: pyaubo_sdk.RobotManage, arg0:
719 * arcs::common_interface::OperationalModeType) -> int
720 *
721 * @par Lua function prototype
722 * setOperationalMode(mode: number) -> number
723 *
724 * @par JSON-RPC request example
725 * {"jsonrpc":"2.0","method":"rob1.RobotManage.setOperationalMode","params":["Manual"],"id":1}
726 *
727 * @par JSON-RPC response example
728 * {"id":1,"jsonrpc":"2.0","result":0}
729 *
730 * @par C++ example
731 * @code
732 * auto rpc_cli = std::make_shared<RpcClient>();
733 * auto robot_name = rpc_cli->getRobotNames().front();
734 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->setOperationalMode(OperationalModeType::Automatic);
735 * @endcode
736 * \endenglish
737 */
739
740 /**
741 * \chinese
742 * 获取机器人操作模式
743 *
744 * @return 机器人操作模式
745 *
746 * @throws arcs::common_interface::AuboException
747 *
748 * @par Python函数原型
749 * getOperationalMode(self: pyaubo_sdk.RobotManage) -> arcs::common_interface::OperationalModeType
750 *
751 * @par Lua函数原型
752 * getOperationalMode() -> number
753 *
754 * @par JSON-RPC请求示例
755 * {"jsonrpc":"2.0","method":"rob1.RobotManage.getOperationalMode","params":[],"id":1}
756 *
757 * @par JSON-RPC响应示例
758 * {"id":1,"jsonrpc":"2.0","result":"Manual"}
759 *
760 * @par C++示例
761 * @code
762 * auto rpc_cli = std::make_shared<RpcClient>();
763 * auto robot_name = rpc_cli->getRobotNames().front();
764 * OperationalModeType mode =
765 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->getOperationalMode();
766 * @endcode
767 * \endchinese
768 * \english
769 * Get the robot operational mode
770 *
771 * @return Robot operational mode
772 *
773 * @throws arcs::common_interface::AuboException
774 *
775 * @par Python function prototype
776 * getOperationalMode(self: pyaubo_sdk.RobotManage) -> arcs::common_interface::OperationalModeType
777 *
778 * @par Lua function prototype
779 * getOperationalMode() -> number
780 *
781 * @par JSON-RPC request example
782 * {"jsonrpc":"2.0","method":"rob1.RobotManage.getOperationalMode","params":[],"id":1}
783 *
784 * @par JSON-RPC response example
785 * {"id":1,"jsonrpc":"2.0","result":"Manual"}
786 *
787 * @par C++ example
788 * @code
789 * auto rpc_cli = std::make_shared<RpcClient>();
790 * auto robot_name = rpc_cli->getRobotNames().front();
791 * OperationalModeType mode =
792 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->getOperationalMode();
793 * @endcode
794 * \endenglish
795 */
797
798 /**
799 * \chinese
800 * 获取控制模式
801 *
802 * @return 控制模式
803 *
804 * @throws arcs::common_interface::AuboException
805 *
806 * @par Python函数原型
807 * getRobotControlMode(self: pyaubo_sdk.RobotManage) -> arcs::common_interface::RobotControlModeType
808 *
809 * @par Lua函数原型
810 * getRobotControlMode() -> number
811 *
812 * @par JSON-RPC请求示例
813 * {"jsonrpc":"2.0","method":"rob1.RobotManage.getRobotControlMode","params":[],"id":1}
814 *
815 * @par JSON-RPC响应示例
816 * {"id":1,"jsonrpc":"2.0","result":"Position"}
817 *
818 * @par C++示例
819 * @code
820 * auto rpc_cli = std::make_shared<RpcClient>();
821 * auto robot_name = rpc_cli->getRobotNames().front();
822 * RobotControlModeType mode =
823 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->getRobotControlMode();
824 * @endcode
825 * \endchinese
826 * \english
827 * Get the control mode
828 *
829 * @return Control mode
830 *
831 * @throws arcs::common_interface::AuboException
832 *
833 * @par Python function prototype
834 * getRobotControlMode(self: pyaubo_sdk.RobotManage) -> arcs::common_interface::RobotControlModeType
835 *
836 * @par Lua function prototype
837 * getRobotControlMode() -> number
838 *
839 * @par JSON-RPC request example
840 * {"jsonrpc":"2.0","method":"rob1.RobotManage.getRobotControlMode","params":[],"id":1}
841 *
842 * @par JSON-RPC response example
843 * {"id":1,"jsonrpc":"2.0","result":"Position"}
844 *
845 * @par C++ example
846 * @code
847 * auto rpc_cli = std::make_shared<RpcClient>();
848 * auto robot_name = rpc_cli->getRobotNames().front();
849 * RobotControlModeType mode =
850 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->getRobotControlMode();
851 * @endcode
852 * \endenglish
853 */
855
856 /**
857 * \chinese
858 * 是否使能了拖动示教模式
859 *
860 * @return 使能返回true; 反之返回false
861 *
862 * @throws arcs::common_interface::AuboException
863 *
864 * @par Python函数原型
865 * isFreedriveEnabled(self: pyaubo_sdk.RobotManage) -> bool
866 *
867 * @par Lua函数原型
868 * isFreedriveEnabled() -> boolean
869 *
870 * @par JSON-RPC请求示例
871 * {"jsonrpc":"2.0","method":"rob1.RobotManage.isFreedriveEnabled","params":[],"id":1}
872 *
873 * @par JSON-RPC响应示例
874 * {"id":1,"jsonrpc":"2.0","result":false}
875 *
876 * @par C++示例
877 * @code
878 * auto rpc_cli = std::make_shared<RpcClient>();
879 * auto robot_name = rpc_cli->getRobotNames().front();
880 * bool isEnabled =
881 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->isFreedriveEnabled();
882 * @endcode
883 * \endchinese
884 * \english
885 * Whether the freedrive mode is enabled
886 *
887 * @return Returns true if enabled; otherwise returns false
888 *
889 * @throws arcs::common_interface::AuboException
890 *
891 * @par Python function prototype
892 * isFreedriveEnabled(self: pyaubo_sdk.RobotManage) -> bool
893 *
894 * @par Lua function prototype
895 * isFreedriveEnabled() -> boolean
896 *
897 * @par JSON-RPC request example
898 * {"jsonrpc":"2.0","method":"rob1.RobotManage.isFreedriveEnabled","params":[],"id":1}
899 *
900 * @par JSON-RPC response example
901 * {"id":1,"jsonrpc":"2.0","result":false}
902 *
903 * @par C++ example
904 * @code
905 * auto rpc_cli = std::make_shared<RpcClient>();
906 * auto robot_name = rpc_cli->getRobotNames().front();
907 * bool isEnabled =
908 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->isFreedriveEnabled();
909 * @endcode
910 * \endenglish
911 */
913
914 /**
915 * \chinese
916 * 是否使能了反向驱动模式
917 *
918 * @return 使能返回true; 反之返回false
919 *
920 * @throws arcs::common_interface::AuboException
921 *
922 * @par Python函数原型
923 * isBackdriveEnabled(self: pyaubo_sdk.RobotManage) -> bool
924 *
925 * @par Lua函数原型
926 * isBackdriveEnabled() -> boolean
927 *
928 * @par JSON-RPC请求示例
929 * {"jsonrpc":"2.0","method":"rob1.RobotManage.isBackdriveEnabled","params":[],"id":1}
930 *
931 * @par JSON-RPC响应示例
932 * {"id":1,"jsonrpc":"2.0","result":false}
933 *
934 * @par C++示例
935 * @code
936 * auto rpc_cli = std::make_shared<RpcClient>();
937 * auto robot_name = rpc_cli->getRobotNames().front();
938 * bool isEnabled =
939 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->isBackdriveEnabled();
940 * @endcode
941 * \endchinese
942 * \english
943 * Whether the backdrive mode is enabled
944 *
945 * @return Returns true if enabled; otherwise returns false
946 *
947 * @throws arcs::common_interface::AuboException
948 *
949 * @par Python function prototype
950 * isBackdriveEnabled(self: pyaubo_sdk.RobotManage) -> bool
951 *
952 * @par Lua function prototype
953 * isBackdriveEnabled() -> boolean
954 *
955 * @par JSON-RPC request example
956 * {"jsonrpc":"2.0","method":"rob1.RobotManage.isBackdriveEnabled","params":[],"id":1}
957 *
958 * @par JSON-RPC response example
959 * {"id":1,"jsonrpc":"2.0","result":false}
960 *
961 * @par C++ example
962 * @code
963 * auto rpc_cli = std::make_shared<RpcClient>();
964 * auto robot_name = rpc_cli->getRobotNames().front();
965 * bool isEnabled =
966 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->isBackdriveEnabled();
967 * @endcode
968 * \endenglish
969 */
971
972 /**
973 * \chinese
974 * 是否使能了仿真模式
975 *
976 * @return 使能返回true; 反之返回false
977 *
978 * @throws arcs::common_interface::AuboException
979 *
980 * @par Python函数原型
981 * isSimulationEnabled(self: pyaubo_sdk.RobotManage) -> bool
982 *
983 * @par Lua函数原型
984 * isSimulationEnabled() -> boolean
985 *
986 * @par JSON-RPC请求示例
987 * {"jsonrpc":"2.0","method":"rob1.RobotManage.isSimulationEnabled","params":[],"id":1}
988 *
989 * @par JSON-RPC响应示例
990 * {"id":1,"jsonrpc":"2.0","result":true}
991 *
992 * @par C++示例
993 * @code
994 * auto rpc_cli = std::make_shared<RpcClient>();
995 * auto robot_name = rpc_cli->getRobotNames().front();
996 * bool isEnabled =
997 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->isSimulationEnabled();
998 * @endcode
999 * \endchinese
1000 * \english
1001 * Whether the simulation mode is enabled
1002 *
1003 * @return Returns true if enabled; otherwise returns false
1004 *
1005 * @throws arcs::common_interface::AuboException
1006 *
1007 * @par Python function prototype
1008 * isSimulationEnabled(self: pyaubo_sdk.RobotManage) -> bool
1009 *
1010 * @par Lua function prototype
1011 * isSimulationEnabled() -> boolean
1012 *
1013 * @par JSON-RPC request example
1014 * {"jsonrpc":"2.0","method":"rob1.RobotManage.isSimulationEnabled","params":[],"id":1}
1015 *
1016 * @par JSON-RPC response example
1017 * {"id":1,"jsonrpc":"2.0","result":true}
1018 *
1019 * @par C++ example
1020 * @code
1021 * auto rpc_cli = std::make_shared<RpcClient>();
1022 * auto robot_name = rpc_cli->getRobotNames().front();
1023 * bool isEnabled =
1024 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->isSimulationEnabled();
1025 * @endcode
1026 * \endenglish
1027 */
1029
1030 /**
1031 * \chinese
1032 * 清除防护停机,包括碰撞停机
1033 *
1034 * @return 成功返回0;失败返回错误码
1035 * AUBO_BUSY
1036 * AUBO_BAD_STATE
1037 * -AUBO_BAD_STATE
1038 *
1039 * @throws arcs::common_interface::AuboException
1040 *
1041 * @par Python函数原型
1042 * setUnlockProtectiveStop(self: pyaubo_sdk.RobotManage) -> int
1043 *
1044 * @par Lua函数原型
1045 * setUnlockProtectiveStop() -> number
1046 *
1047 * @par JSON-RPC请求示例
1048 * {"jsonrpc":"2.0","method":"rob1.RobotManage.setUnlockProtectiveStop","params":[],"id":1}
1049 *
1050 * @par JSON-RPC响应示例
1051 * {"id":1,"jsonrpc":"2.0","result":0}
1052 *
1053 * @par C++示例
1054 * @code
1055 * auto rpc_cli = std::make_shared<RpcClient>();
1056 * auto robot_name = rpc_cli->getRobotNames().front();
1057 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->setUnlockProtectiveStop();
1058 * @endcode
1059 * \endchinese
1060 * \english
1061 * Clear protective stop, including collision stop
1062 *
1063 * @return Returns 0 on success; error code on failure
1064 * AUBO_BUSY
1065 * AUBO_BAD_STATE
1066 * -AUBO_BAD_STATE
1067 *
1068 * @throws arcs::common_interface::AuboException
1069 *
1070 * @par Python function prototype
1071 * setUnlockProtectiveStop(self: pyaubo_sdk.RobotManage) -> int
1072 *
1073 * @par Lua function prototype
1074 * setUnlockProtectiveStop() -> number
1075 *
1076 * @par JSON-RPC request example
1077 * {"jsonrpc":"2.0","method":"rob1.RobotManage.setUnlockProtectiveStop","params":[],"id":1}
1078 *
1079 * @par JSON-RPC response example
1080 * {"id":1,"jsonrpc":"2.0","result":0}
1081 *
1082 * @par C++ example
1083 * @code
1084 * auto rpc_cli = std::make_shared<RpcClient>();
1085 * auto robot_name = rpc_cli->getRobotNames().front();
1086 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->setUnlockProtectiveStop();
1087 * @endcode
1088 * \endenglish
1089 */
1091
1092 /**
1093 * \chinese
1094 * 重置安全接口板,一般在机器人断电之后需要重置时调用,比如机器人急停、故障等之后
1095 *
1096 * @return 成功返回0; 失败返回错误码
1097 * AUBO_BUSY
1098 * AUBO_BAD_STATE
1099 * -AUBO_BAD_STATE
1100 *
1101 * @throws arcs::common_interface::AuboException
1102 *
1103 * @par Python函数原型
1104 * restartInterfaceBoard(self: pyaubo_sdk.RobotManage) -> int
1105 *
1106 * @par Lua函数原型
1107 * restartInterfaceBoard() -> number
1108 *
1109 * @par JSON-RPC请求示例
1110 * {"jsonrpc":"2.0","method":"rob1.RobotManage.restartInterfaceBoard","params":[],"id":1}
1111 *
1112 * @par JSON-RPC响应示例
1113 * {"id":1,"jsonrpc":"2.0","result":0}
1114 *
1115 * @par C++示例
1116 * @code
1117 * auto rpc_cli = std::make_shared<RpcClient>();
1118 * auto robot_name = rpc_cli->getRobotNames().front();
1119 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->restartInterfaceBoard();
1120 * @endcode
1121 * \endchinese
1122 * \english
1123 * Reset the safety interface board, usually called after the robot is powered off and needs to be reset, such as after emergency stop or fault.
1124 *
1125 * @return Returns 0 on success; error code on failure
1126 * AUBO_BUSY
1127 * AUBO_BAD_STATE
1128 * -AUBO_BAD_STATE
1129 *
1130 * @throws arcs::common_interface::AuboException
1131 *
1132 * @par Python function prototype
1133 * restartInterfaceBoard(self: pyaubo_sdk.RobotManage) -> int
1134 *
1135 * @par Lua function prototype
1136 * restartInterfaceBoard() -> number
1137 *
1138 * @par JSON-RPC request example
1139 * {"jsonrpc":"2.0","method":"rob1.RobotManage.restartInterfaceBoard","params":[],"id":1}
1140 *
1141 * @par JSON-RPC response example
1142 * {"id":1,"jsonrpc":"2.0","result":0}
1143 *
1144 * @par C++ example
1145 * @code
1146 * auto rpc_cli = std::make_shared<RpcClient>();
1147 * auto robot_name = rpc_cli->getRobotNames().front();
1148 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->restartInterfaceBoard();
1149 * @endcode
1150 * \endenglish
1151 */
1153
1154 /**
1155 * \chinese
1156 * 开始实时轨迹的记录
1157 *
1158 * @param file_name
1159 *
1160 * @return 成功返回0;失败返回错误码
1161 * AUBO_BUSY
1162 * AUBO_BAD_STATE
1163 * -AUBO_INVL_ARGUMENT
1164 * -AUBO_BAD_STATE
1165 *
1166 * @throws arcs::common_interface::AuboException
1167 * \endchinese
1168 * \english
1169 * Start real-time trajectory recording
1170 *
1171 * @param file_name
1172 *
1173 * @return Returns 0 on success; error code on failure
1174 * AUBO_BUSY
1175 * AUBO_BAD_STATE
1176 * -AUBO_INVL_ARGUMENT
1177 * -AUBO_BAD_STATE
1178 *
1179 * @throws arcs::common_interface::AuboException
1180 * \endenglish
1181 */
1182 int startRecord(const std::string &file_name);
1183
1184 /**
1185 * \chinese
1186 * 停止实时记录
1187 *
1188 * @return 成功返回0;失败返回错误码
1189 * AUBO_BUSY
1190 * AUBO_BAD_STATE
1191 * -AUBO_BAD_STATE
1192 *
1193 * @throws arcs::common_interface::AuboException
1194 *
1195 * @par JSON-RPC请求示例
1196 * {"jsonrpc":"2.0","method":"rob1.RobotManage.stopRecord","params":[],"id":1}
1197 *
1198 * @par JSON-RPC响应示例
1199 * {"id":1,"jsonrpc":"2.0","result":0}
1200 *
1201 * \endchinese
1202 * \english
1203 * Stop real-time recording
1204 *
1205 * @return Returns 0 on success; error code on failure
1206 * AUBO_BUSY
1207 * AUBO_BAD_STATE
1208 * -AUBO_BAD_STATE
1209 *
1210 * @throws arcs::common_interface::AuboException
1211 *
1212 * @par JSON-RPC request example
1213 * {"jsonrpc":"2.0","method":"rob1.RobotManage.stopRecord","params":[],"id":1}
1214 *
1215 * @par JSON-RPC response example
1216 * {"id":1,"jsonrpc":"2.0","result":0}
1217 *
1218 * \endenglish
1219 */
1221
1222 /**
1223 * \chinese
1224 * 暂停实时记录
1225 *
1226 * @param pause
1227 *
1228 * @return 成功返回0;失败返回错误码
1229 * AUBO_BUSY
1230 * AUBO_BAD_STATE
1231 * -AUBO_BAD_STATE
1232 *
1233 * @throws arcs::common_interface::AuboException
1234 *
1235 * @par JSON-RPC请求示例
1236 * {"jsonrpc":"2.0","method":"rob1.RobotManage.pauseRecord","params":[true],"id":1}
1237 *
1238 * @par JSON-RPC响应示例
1239 * {"id":1,"jsonrpc":"2.0","result":0}
1240 *
1241 * \endchinese
1242 * \english
1243 * Pause real-time recording
1244 *
1245 * @param pause
1246 *
1247 * @return Returns 0 on success; error code on failure
1248 * AUBO_BUSY
1249 * AUBO_BAD_STATE
1250 * -AUBO_BAD_STATE
1251 *
1252 * @throws arcs::common_interface::AuboException
1253 *
1254 * @par JSON-RPC request example
1255 * {"jsonrpc":"2.0","method":"rob1.RobotManage.pauseRecord","params":[true],"id":1}
1256 *
1257 * @par JSON-RPC response example
1258 * {"id":1,"jsonrpc":"2.0","result":0}
1259 *
1260 * \endenglish
1261 */
1262 int pauseRecord(bool pause);
1263
1264 /**
1265 * \chinese
1266 * 发起机器人进入/退出联动模式请求,
1267 * 只有操作模式为自动或者无时,才能使能联动模式
1268 *
1269 * @param enable
1270 *
1271 * @return 成功返回0; 失败返回错误码
1272 * AUBO_BUSY
1273 * AUBO_REQUEST_IGNORE
1274 * -AUBO_BAD_STATE
1275 *
1276 * @throws arcs::common_interface::AuboException
1277 *
1278 * @par Python函数原型
1279 * setLinkModeEnable(self: pyaubo_sdk.RobotManage, arg0: bool) -> int
1280 *
1281 * @par Lua函数原型
1282 * setLinkModeEnable(enable: boolean) -> number
1283 *
1284 * @par JSON-RPC请求示例
1285 * {"jsonrpc":"2.0","method":"rob1.RobotManage.setLinkModeEnable","params":[true],"id":1}
1286 *
1287 * @par JSON-RPC响应示例
1288 * {"id":1,"jsonrpc":"2.0","result":0}
1289 *
1290 * @par C++示例
1291 * @code
1292 * auto rpc_cli = std::make_shared<RpcClient>();
1293 * auto robot_name = rpc_cli->getRobotNames().front();
1294 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->setLinkModeEnable(true);
1295 * @endcode
1296 * \endchinese
1297 * \english
1298 * Initiate robot enter/exit link mode request.
1299 * Link mode can only be enabled when the operation mode is Automatic or None.
1300 *
1301 * @param enable
1302 *
1303 * @return Returns 0 on success; error code on failure
1304 * AUBO_BUSY
1305 * AUBO_REQUEST_IGNORE
1306 * -AUBO_BAD_STATE
1307 *
1308 * @throws arcs::common_interface::AuboException
1309 *
1310 * @par Python function prototype
1311 * setLinkModeEnable(self: pyaubo_sdk.RobotManage, arg0: bool) -> int
1312 *
1313 * @par Lua function prototype
1314 * setLinkModeEnable(enable: boolean) -> number
1315 *
1316 * @par JSON-RPC request example
1317 * {"jsonrpc":"2.0","method":"rob1.RobotManage.setLinkModeEnable","params":[true],"id":1}
1318 *
1319 * @par JSON-RPC response example
1320 * {"id":1,"jsonrpc":"2.0","result":0}
1321 *
1322 * @par C++ example
1323 * @code
1324 * auto rpc_cli = std::make_shared<RpcClient>();
1325 * auto robot_name = rpc_cli->getRobotNames().front();
1326 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->setLinkModeEnable(true);
1327 * @endcode
1328 * \endenglish
1329 */
1330 int setLinkModeEnable(bool enable);
1331
1332 /**
1333 * \chinese
1334 * 是否使能了联动模式,联动模式下用户可以通过外部IO控制机器人(用户可以对IO的功能进行配置)
1335 *
1336 * @return 使能返回true; 反之返回false
1337 *
1338 * @throws arcs::common_interface::AuboException
1339 *
1340 * @par Python函数原型
1341 * isLinkModeEnabled(self: pyaubo_sdk.RobotManage) -> bool
1342 *
1343 * @par Lua函数原型
1344 * isLinkModeEnabled() -> boolean
1345 *
1346 * @par JSON-RPC请求示例
1347 * {"jsonrpc":"2.0","method":"rob1.RobotManage.isLinkModeEnabled","params":[],"id":1}
1348 *
1349 * @par JSON-RPC响应示例
1350 * {"id":1,"jsonrpc":"2.0","result":false}
1351 *
1352 * @par C++示例
1353 * @code
1354 * auto rpc_cli = std::make_shared<RpcClient>();
1355 * auto robot_name = rpc_cli->getRobotNames().front();
1356 * bool isEnabled =
1357 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->isLinkModeEnabled();
1358 * @endcode
1359 * \endchinese
1360 * \english
1361 * Whether the link mode is enabled. In link mode, users can control the robot via external IO (users can configure the IO functions).
1362 *
1363 * @return Returns true if enabled; otherwise returns false
1364 *
1365 * @throws arcs::common_interface::AuboException
1366 *
1367 * @par Python function prototype
1368 * isLinkModeEnabled(self: pyaubo_sdk.RobotManage) -> bool
1369 *
1370 * @par Lua function prototype
1371 * isLinkModeEnabled() -> boolean
1372 *
1373 * @par JSON-RPC request example
1374 * {"jsonrpc":"2.0","method":"rob1.RobotManage.isLinkModeEnabled","params":[],"id":1}
1375 *
1376 * @par JSON-RPC response example
1377 * {"id":1,"jsonrpc":"2.0","result":false}
1378 *
1379 * @par C++ example
1380 * @code
1381 * auto rpc_cli = std::make_shared<RpcClient>();
1382 * auto robot_name = rpc_cli->getRobotNames().front();
1383 * bool isEnabled =
1384 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->isLinkModeEnabled();
1385 * @endcode
1386 * \endenglish
1387 */
1389
1390 /**
1391 * \chinese
1392 * 手动触发生成诊断文件
1393 *
1394 * @return 指令下发成功返回0; 失败返回错误码。 \n
1395 * -AUBO_BAD_STATE: 运行时(RuntimeMachine)的当前状态不是Stopped,
1396 * 固件升级请求被拒绝。AUBO_BAD_STATE的值是1。 \n
1397 * -AUBO_TIMEOUT: 超时。AUBO_TIMEOUT的值是4。 \n
1398 *
1399 * @throws arcs::common_interface::AuboException
1400 *
1401 * @par Python函数原型
1402 * generateDiagnoseFile(self: pyaubo_sdk.RobotManage, arg0: str) -> int
1403 *
1404 * @par Lua函数原型
1405 * generateDiagnoseFile(reason: string) -> nil
1406 *
1407 * @par JSON-RPC请求示例
1408 * {"jsonrpc":"2.0","method":"rob1.RobotManage.generateDiagnoseFile","params":["reason"],"id":1}
1409 *
1410 * @par JSON-RPC响应示例
1411 * {"id":1,"jsonrpc":"2.0","result":false}
1412 *
1413 * @par C++示例
1414 * @code
1415 * auto rpc_cli = std::make_shared<RpcClient>();
1416 * auto robot_name = rpc_cli->getRobotNames().front();
1417 * bool isEnabled =
1418 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->generateDiagnoseFile("reason");
1419 * @endcode
1420 * \endchinese
1421 * \english
1422 * Manually trigger the generation of a diagnostic file
1423 *
1424 * @return Returns 0 if the command is successfully issued; error code on failure. \n
1425 * -AUBO_BAD_STATE: The current state of the RuntimeMachine is not Stopped,
1426 * the firmware upgrade request is rejected. The value of AUBO_BAD_STATE is 1. \n
1427 * -AUBO_TIMEOUT: Timeout. The value of AUBO_TIMEOUT is 4. \n
1428 *
1429 * @throws arcs::common_interface::AuboException
1430 *
1431 * @par Python function prototype
1432 * generateDiagnoseFile(self: pyaubo_sdk.RobotManage, arg0: str) -> int
1433 *
1434 * @par Lua function prototype
1435 * generateDiagnoseFile(reason: string) -> nil
1436 *
1437 * @par JSON-RPC request example
1438 * {"jsonrpc":"2.0","method":"rob1.RobotManage.generateDiagnoseFile","params":["reason"],"id":1}
1439 *
1440 * @par JSON-RPC response example
1441 * {"id":1,"jsonrpc":"2.0","result":false}
1442 *
1443 * @par C++ example
1444 * @code
1445 * auto rpc_cli = std::make_shared<RpcClient>();
1446 * auto robot_name = rpc_cli->getRobotNames().front();
1447 * bool isEnabled =
1448 * rpc_cli->getRobotInterface(robot_name)->getRobotManage()->generateDiagnoseFile("reason");
1449 * @endcode
1450 * \endenglish
1451 */
1452 int generateDiagnoseFile(const std::string &reason);
1453
1454protected:
1455 void *d_;
1456};
1457using RobotManagePtr = std::shared_ptr<RobotManage>;
1458} // namespace common_interface
1459} // namespace arcs
1460
1461#endif // AUBO_SDK_ROBOT_CONTROL_INTERFACE_H
int setUnlockProtectiveStop()
清除防护停机,包括碰撞停机
int exitHandguideMode()
退出拖动示教
int startup()
发起机器人启动请求
int backdrive(bool enable)
发起机器人反向驱动请求
int lockRobotBrake()
发起机器人刹车请求
int handguideMode(const std::vector< int > &freeAxes, const std::vector< double > &feature)
高阶拖动示教
int stopRecord()
停止实时记录
int poweroff()
发起机器人断电请求
bool isHandguideEnabled()
获取拖动示教使能状态
int generateDiagnoseFile(const std::string &reason)
手动触发生成诊断文件
int setOperationalMode(OperationalModeType mode)
设置机器人操作模式
int releaseRobotBrake()
发起机器人松开刹车请求
OperationalModeType getOperationalMode()
获取机器人操作模式
bool isBackdriveEnabled()
是否使能了反向驱动模式
RobotControlModeType getRobotControlMode()
获取控制模式
int setSim(bool enable)
发起机器人进入/退出仿真模式请求
int getHandguideTrigger()
获取拖动示教器触发源
int freedrive(bool enable)
发起机器人自由驱动请求 接口在软件版本 0.31.x 后已废弃,使用 handguideMode 接口替换 handguideMode({1,1,1,1,1}, {0,...
int poweron()
发起机器人上电请求
bool isFreedriveEnabled()
是否使能了拖动示教模式
int startRecord(const std::string &file_name)
开始实时轨迹的记录
bool isSimulationEnabled()
是否使能了仿真模式
int pauseRecord(bool pause)
暂停实时记录
int getHandguideStatus()
获取拖动示教器的状态(是否处于奇异空间)
int restartInterfaceBoard()
重置安全接口板,一般在机器人断电之后需要重置时调用,比如机器人急停、故障等之后
int setLinkModeEnable(bool enable)
发起机器人进入/退出联动模式请求, 只有操作模式为自动或者无时,才能使能联动模式
bool isLinkModeEnabled()
是否使能了联动模式,联动模式下用户可以通过外部IO控制机器人(用户可以对IO的功能进行配置)
RobotControlModeType
机器人控制模式
Definition type_def.h:498
std::shared_ptr< RobotManage > RobotManagePtr
OperationalModeType
操作模式
Definition type_def.h:490
数据类型的定义