ARCS SDK API  0.25.0
载入中...
搜索中...
未找到
runtime_machine.h
浏览该文件的文档.
1/** @file runtime_machine.h
2 * @brief 脚本解释器运行时接口,
3 * 可以实现脚本解释器的暂停、脚本解释器的设置/取消断点
4 */
5#ifndef AUBO_SDK_RUNTIME_MACHINE_INTERFACE_H
6#define AUBO_SDK_RUNTIME_MACHINE_INTERFACE_H
7
8#include <memory>
9#include <aubo/global_config.h>
10#include <aubo/type_def.h>
11
12namespace arcs {
13namespace common_interface {
14
15/**
16 * The RuntimeMachine class
17 */
18class ARCS_ABI_EXPORT RuntimeMachine
19{
20public:
22 virtual ~RuntimeMachine();
23
24 /**
25 * 返回 task_id
26 *
27 * @par JSON-RPC请求示例
28 * {"jsonrpc":"2.0","method":"RuntimeMachine.newTask","params":[false],"id":1}
29 *
30 * @par JSON-RPC响应示例
31 * {"id":1,"jsonrpc":"2.0","result":26}
32 *
33 */
34 int newTask(bool daemon = false);
35
36 /**
37 * 删除 task,会终止正在执行的运动
38 *
39 * @par JSON-RPC请求示例
40 * {"jsonrpc":"2.0","method":"RuntimeMachine.deleteTask","params":[26],"id":1}
41 *
42 * @par JSON-RPC响应示例
43 * {"id":1,"jsonrpc":"2.0","result":0}
44 *
45 */
46 int deleteTask(int tid);
47
48 /**
49 * 等待 task 自然结束
50 *
51 * @param tid
52 * @return
53 *
54 * @par JSON-RPC请求示例
55 * {"jsonrpc":"2.0","method":"RuntimeMachine.detachTask","params":[26],"id":1}
56 *
57 * @par JSON-RPC响应示例
58 * {"id":1,"jsonrpc":"2.0","result":0}
59 *
60 */
61 int detachTask(int tid);
62
63 /**
64 * 判断任务是否存活
65 *
66 * @param tid
67 * @return
68 *
69 * @par JSON-RPC请求示例
70 * {"jsonrpc":"2.0","method":"RuntimeMachine.isTaskAlive","params":[26],"id":1}
71 *
72 * @par JSON-RPC响应示例
73 * {"id":1,"jsonrpc":"2.0","result":true}
74 *
75 */
76 bool isTaskAlive(int tid);
77
78 /**
79 * 获取任务中缓存的指令的数量
80 *
81 * @param tid
82 * @return
83 */
84 int getTaskQueueSize(int tid);
85
86 /**
87 * 切换当前线程,切换之后接下来的指令将被插入切换后的线程中
88 *
89 * @param tid
90 * @return
91 *
92 * @par JSON-RPC请求示例
93 * {"jsonrpc":"2.0","method":"RuntimeMachine.switchTask","params":[26],"id":1}
94 *
95 * @par JSON-RPC响应示例
96 * {"id":1,"jsonrpc":"2.0","result":0}
97 *
98 */
99 int switchTask(int tid);
100
101 /**
102 * 标记记下来的指令的行号和注释
103 *
104 * @param lineno
105 * @param comment
106 * @return
107 *
108 * @par JSON-RPC请求示例
109 * {"jsonrpc":"2.0","method":"RuntimeMachine.setLabel","params":[5,"moveJoint"],"id":1}
110 *
111 * @par JSON-RPC响应示例
112 * {"id":1,"jsonrpc":"2.0","result":0}
113 *
114 */
115 int setLabel(int lineno, const std::string &comment);
116
117 /**
118 * 向aubo_control日志中添加注释
119 * 使用 setLabel 替换
120 *
121 * @param tid 指令的线程ID
122 * @param lineno 行号
123 * @param comment 注释
124 * @return
125 *
126 * @par Python函数原型
127 * setPlanContext(self: pyaubo_sdk.RuntimeMachine, arg0: int, arg1: int,
128 * arg2: str) -> int
129 *
130 * @par Lua函数原型
131 * setPlanContext(tid: number, lineno: number, comment: string) -> number
132 *
133 * @par JSON-RPC请求示例
134 * {"jsonrpc":"2.0","method":"RuntimeMachine.setPlanContext","params":[26,3,"moveJoint"],"id":1}
135 *
136 * @par JSON-RPC响应示例
137 * {"id":1,"jsonrpc":"2.0","result":0}
138 *
139 */
140 ARCS_DEPRECATED int setPlanContext(int tid, int lineno,
141 const std::string &comment);
142
143 /**
144 * 空操作
145 *
146 * @return
147 *
148 * @par JSON-RPC请求示例
149 * {"jsonrpc":"2.0","method":"RuntimeMachine.nop","params":[],"id":1}
150 *
151 * @par JSON-RPC响应示例
152 * {"id":1,"jsonrpc":"2.0","result":0}
153 *
154 */
155 int nop();
156
157 /**
158 * 获取耗时的接口(INST)执行状态, 如 setPersistentParameters
159 *
160 * @return 指令名字, 执行状态
161 * 执行状态: EXECUTING/FINISHED
162 *
163 * @par Python函数原型
164 * getExecutionStatus(self: pyaubo_sdk.RuntimeMachine) -> Tuple[str, str,
165 * int]
166 *
167 * @par Lua函数原型
168 * getExecutionStatus() -> string, string, number
169 *
170 * @par JSON-RPC请求示例
171 * {"jsonrpc":"2.0","method":"RuntimeMachine.getExecutionStatus","params":[],"id":1}
172 *
173 * @par JSON-RPC响应示例
174 * {"id":1,"jsonrpc":"2.0","result":["confirmSafetyParameters","FINISHED"]}
175 *
176 */
177 std::tuple<std::string, std::string> getExecutionStatus();
178 std::tuple<std::string, std::string, int> getExecutionStatus1();
179
180 /**
181 * 跳转到指定行号
182 *
183 * @param lineno
184 * @return
185 *
186 * @par Python函数原型
187 * gotoLine(self: pyaubo_sdk.RuntimeMachine, arg0: int) -> int
188 *
189 * @par Lua函数原型
190 * gotoLine(lineno: number) -> number
191 *
192 * @par JSON-RPC请求示例
193 * {"jsonrpc":"2.0","method":"RuntimeMachine.gotoLine","params":[10],"id":1}
194 *
195 * @par JSON-RPC响应示例
196 * {"id":1,"jsonrpc":"2.0","result":0}
197 *
198 */
199 int gotoLine(int lineno);
200
201 /**
202 * 获取当前运行上下文
203 *
204 * @param tid 任务编号
205 * 如果指定(不是-1),返回对应任务的运行上下文;如果不指定(是-1),返回正在运行的线程的运行上下文
206 *
207 * @return
208 *
209 * @par Python函数原型
210 * getPlanContext(self: pyaubo_sdk.RuntimeMachine) -> Tuple[int, int, str]
211 *
212 * @par Lua函数原型
213 * getPlanContext() -> number
214 *
215 * @par JSON-RPC请求示例
216 * {"jsonrpc":"2.0","method":"RuntimeMachine.getPlanContext","params":[-1],"id":1}
217 *
218 * @par JSON-RPC响应示例
219 * {"id":1,"jsonrpc":"2.0","result":[-1,0,""]}
220 *
221 */
222 std::tuple<int, int, std::string> getPlanContext(int tid = -1);
223
224 /**
225 * 获取提前运行规划器的上下文信息
226 *
227 * @param tid 任务编号
228 * 如果指定(不是-1),返回对应任务运行规划器的上下文信息;如果不指定(是-1),返回正在运行的线程运行规划器的上下文信息
229 *
230 * @return
231 *
232 * @par JSON-RPC请求示例
233 * {"jsonrpc":"2.0","method":"RuntimeMachine.getAdvancePlanContext","params":[-1],"id":1}
234 *
235 * @par JSON-RPC响应示例
236 * {"id":1,"jsonrpc":"2.0","result":[-1,-1,""]}
237 *
238 */
239 std::tuple<int, int, std::string> getAdvancePlanContext(int tid = -1);
240
241 /**
242 * 获取AdvanceRun的程序指针
243 *
244 * @return
245 *
246 * @par JSON-RPC请求示例
247 * {"jsonrpc":"2.0","method":"RuntimeMachine.getAdvancePtr","params":[-1],"id":1}
248 *
249 * @par JSON-RPC响应示例
250 * {"id":1,"jsonrpc":"2.0","result":-1}
251 *
252 */
253 int getAdvancePtr(int tid = -1);
254
255 /**
256 * 获取机器人运动的程序指针
257 *
258 * @param tid 任务编号
259 * 如果指定(不是-1),返回对应任务的程序指针;如果不指定(是-1),返回正在运行线程的程序指针
260 *
261 * @return
262 *
263 * @par JSON-RPC请求示例
264 * {"jsonrpc":"2.0","method":"RuntimeMachine.getMainPtr","params":[-1],"id":1}
265 *
266 * @par JSON-RPC响应示例
267 * {"id":1,"jsonrpc":"2.0","result":-1}
268 *
269 */
270 int getMainPtr(int tid = -1);
271
272 /**
273 * 获取最近解释过的指令指针
274 *
275 * @param tid
276 * @return
277 *
278 * @par JSON-RPC请求示例
279 * {"jsonrpc":"2.0","method":"RuntimeMachine.getInterpPtr","params":[26],"id":1}
280 *
281 * @par JSON-RPC响应示例
282 * {"id":1,"jsonrpc":"2.0","result":-1}
283 *
284 */
285 int getInterpPtr(int tid);
286
287 /**
288 * 加载本地工程文件
289 * Lua 脚本,只需要给出文件名字,不需要后缀,需要从 ${ARCS_WS}/program
290 * 目录中查找
291 *
292 * @param program
293 * @return
294 *
295 * @par JSON-RPC请求示例
296 * {"jsonrpc":"2.0","method":"RuntimeMachine.loadProgram","params":["demo"],"id":1}
297 *
298 * @par JSON-RPC响应示例
299 * {"id":1,"jsonrpc":"2.0","result":0}
300 *
301 */
302 int loadProgram(const std::string &program);
303
304 /**
305 * 预加载工程文件
306 *
307 * @param index 0~99 工程索引号
308 * @param program 工程名字
309 * @return
310 */
311 int preloadProgram(int index, const std::string &program);
312
313 /**
314 * 获取预加载工程文件名字,如果没有加载或者超出索引范围则返回空字符串
315 *
316 * @param index 0~99 工程索引号
317 * @return 工程文件名字
318 */
319 std::string getPreloadProgram(int index);
320
321 /**
322 * 运行已经加载的工程文件
323 *
324 * @return
325 *
326 * @par JSON-RPC请求示例
327 * {"jsonrpc":"2.0","method":"RuntimeMachine.runProgram","params":[],"id":1}
328 *
329 * @par JSON-RPC响应示例
330 * {"id":1,"jsonrpc":"2.0","result":0}
331 *
332 */
334
335 /**
336 * 开始运行时
337 *
338 * @return
339 *
340 * @par Python函数原型
341 * start(self: pyaubo_sdk.RuntimeMachine) -> int
342 *
343 * @par Lua函数原型
344 * start() -> number
345 *
346 * @par JSON-RPC请求示例
347 * {"jsonrpc":"2.0","method":"RuntimeMachine.start","params":[],"id":1}
348 *
349 * @par JSON-RPC响应示例
350 * {"id":1,"jsonrpc":"2.0","result":0}
351 *
352 */
353 int start();
354
355 /**
356 * 停止运行时即脚本运行,无法停止运行时状态为 Stopped 时的机器人运动
357 *
358 * 如果考虑停止机器人所有运动,可以调用 RuntimeMachine::abort 接口
359 *
360 * @return
361 *
362 * @par Python函数原型
363 * stop(self: pyaubo_sdk.RuntimeMachine) -> int
364 *
365 * @par Lua函数原型
366 * stop() -> number
367 *
368 * @par JSON-RPC请求示例
369 * {"jsonrpc":"2.0","method":"RuntimeMachine.stop","params":[],"id":1}
370 *
371 * @par JSON-RPC响应示例
372 * {"id":1,"jsonrpc":"2.0","result":0}
373 *
374 */
375 int stop();
376
377 /**
378 * 终止机器人运行.
379 *
380 * 如果只是考虑停止运行时,可以调用 RuntimeMachine::stop 接口
381 *
382 * 如果脚本运行时处于 Running 状态,则终止运行时;如果运行时处于 Stopped
383 * 且机器人正在移动,则停止机器人移动;如果此时力控开启了,则机器人停止力控
384 *
385 * @return
386 *
387 * @par Python函数原型
388 * abort(self: pyaubo_sdk.RuntimeMachine) -> int
389 *
390 * @par Lua函数原型
391 * abort() -> number
392 *
393 * @par JSON-RPC请求示例
394 * {"jsonrpc":"2.0","method":"RuntimeMachine.abort","params":[],"id":1}
395 *
396 * @par JSON-RPC响应示例
397 * {"id":1,"jsonrpc":"2.0","result":0}
398 *
399 */
400 int abort();
401
402 /**
403 * 暂停解释器
404 *
405 * @return
406 *
407 * @par Python函数原型
408 * pause(self: pyaubo_sdk.RuntimeMachine) -> int
409 *
410 * @par Lua函数原型
411 * pause() -> number
412 *
413 * @par JSON-RPC请求示例
414 * {"jsonrpc":"2.0","method":"RuntimeMachine.pause","params":[],"id":1}
415 *
416 * @par JSON-RPC响应示例
417 * {"id":1,"jsonrpc":"2.0","result":0}
418 *
419 */
420 int pause();
421
422 /**
423 * 单步运行
424 *
425 * @return
426 *
427 * @par Python函数原型
428 * step(self: pyaubo_sdk.RuntimeMachine) -> int
429 *
430 * @par Lua函数原型
431 * step() -> number
432 *
433 * @par JSON-RPC请求示例
434 * {"jsonrpc":"2.0","method":"RuntimeMachine.step","params":[],"id":1}
435 *
436 * @par JSON-RPC响应示例
437 * {"id":1,"jsonrpc":"2.0","result":0}
438 *
439 */
440 int step();
441
442 /**
443 * 恢复解释器
444 *
445 * @return
446 *
447 * @par Python函数原型
448 * resume(self: pyaubo_sdk.RuntimeMachine) -> int
449 *
450 * @par Lua函数原型
451 * resume() -> number
452 *
453 * @par JSON-RPC请求示例
454 * {"jsonrpc":"2.0","method":"RuntimeMachine.resume","params":[],"id":1}
455 *
456 * @par JSON-RPC响应示例
457 * {"id":1,"jsonrpc":"2.0","result":0}
458 *
459 */
460 int resume();
461
462 /**
463 * 恢复解释器之前等待恢复前之前的序列完成
464 *
465 * @param wait
466 * @return
467 *
468 * @par JSON-RPC请求示例
469 * {"jsonrpc":"2.0","method":"RuntimeMachine.setResumeWait","params":[true],"id":1}
470 *
471 * @par JSON-RPC响应示例
472 * {"id":1,"jsonrpc":"2.0","result":0}
473 *
474 */
475 int setResumeWait(bool wait);
476
477 /**
478 * 获取规划器的状态
479 *
480 * @return
481 *
482 * @par Python函数原型
483 * getStatus(self: pyaubo_sdk.RuntimeMachine) ->
484 * arcs::common_interface::RuntimeState
485 *
486 * @par Lua函数原型
487 * getStatus() -> number
488 *
489 * @par JSON-RPC请求示例
490 * {"jsonrpc":"2.0","method":"RuntimeMachine.getStatus","params":[],"id":1}
491 *
492 * @par JSON-RPC响应示例
493 * {"id":1,"jsonrpc":"2.0","result":"Running"}
494 *
495 */
496 ARCS_DEPRECATED RuntimeState getStatus();
498
499 /**
500 * 设置断点
501 *
502 * @param lineno
503 * @return
504 *
505 * @par Python函数原型
506 * setBreakPoint(self: pyaubo_sdk.RuntimeMachine, arg0: int) -> int
507 *
508 * @par Lua函数原型
509 * setBreakPoint(lineno: number) -> number
510 *
511 * @par JSON-RPC请求示例
512 * {"jsonrpc":"2.0","method":"RuntimeMachine.setBreakPoint","params":[15],"id":1}
513 *
514 * @par JSON-RPC响应示例
515 * {"id":1,"jsonrpc":"2.0","result":0}
516 *
517 */
518 int setBreakPoint(int lineno);
519
520 /**
521 * 移除断点
522 *
523 * @param lineno
524 * @return
525 *
526 * @par Python函数原型
527 * removeBreakPoint(self: pyaubo_sdk.RuntimeMachine, arg0: int) -> int
528 *
529 * @par Lua函数原型
530 * removeBreakPoint(lineno: number) -> number
531 *
532 * @par JSON-RPC请求示例
533 * {"jsonrpc":"2.0","method":"RuntimeMachine.removeBreakPoint","params":[15],"id":1}
534 *
535 * @par JSON-RPC响应示例
536 * {"id":1,"jsonrpc":"2.0","result":0}
537 *
538 */
539 int removeBreakPoint(int lineno);
540
541 /**
542 * 清除所有断点
543 *
544 * @return
545 *
546 * @par Python函数原型
547 * clearBreakPoints(self: pyaubo_sdk.RuntimeMachine) -> int
548 *
549 * @par Lua函数原型
550 * clearBreakPoints() -> number
551 *
552 * @par JSON-RPC请求示例
553 * {"jsonrpc":"2.0","method":"RuntimeMachine.clearBreakPoints","params":[],"id":1}
554 *
555 * @par JSON-RPC响应示例
556 * {"id":1,"jsonrpc":"2.0","result":0}
557 *
558 */
560
561 /**
562 * 定时器开始
563 *
564 * @param name
565 * @return
566 *
567 * @par Python函数原型
568 * timerStart(self: pyaubo_sdk.RuntimeMachine, arg0: str) -> int
569 *
570 * @par Lua函数原型
571 * timerStart(name: string) -> nil
572 *
573 * @par JSON-RPC请求示例
574 * {"jsonrpc":"2.0","method":"RuntimeMachine.timerStart","params":["timer"],"id":1}
575 *
576 * @par JSON-RPC响应示例
577 * {"id":1,"jsonrpc":"2.0","result":0}
578 *
579 */
580 int timerStart(const std::string &name);
581
582 /**
583 * 定时器结束
584 *
585 * @param name
586 * @return
587 *
588 * @par Python函数原型
589 * timerStop(self: pyaubo_sdk.RuntimeMachine, arg0: str) -> int
590 *
591 * @par Lua函数原型
592 * timerStop(name: string) -> nil
593 *
594 * @par JSON-RPC请求示例
595 * {"jsonrpc":"2.0","method":"RuntimeMachine.timerStop","params":["timer"],"id":1}
596 *
597 * @par JSON-RPC响应示例
598 * {"id":1,"jsonrpc":"2.0","result":0}
599 *
600 */
601 int timerStop(const std::string &name);
602
603 /**
604 * 定时器重置
605 *
606 * @param name
607 * @return
608 *
609 * @par Python函数原型
610 * timerReset(self: pyaubo_sdk.RuntimeMachine, arg0: str) -> int
611 *
612 * @par Lua函数原型
613 * timerReset(name: string) -> nil
614 *
615 * @par JSON-RPC请求示例
616 * {"jsonrpc":"2.0","method":"RuntimeMachine.timerReset","params":["timer"],"id":1}
617 *
618 * @par JSON-RPC响应示例
619 * {"id":1,"jsonrpc":"2.0","result":0}
620 *
621 */
622 int timerReset(const std::string &name);
623
624 /**
625 * 定时器删除
626 *
627 * @param name
628 * @return
629 *
630 * @par Python函数原型
631 * timerDelete(self: pyaubo_sdk.RuntimeMachine, arg0: str) -> int
632 *
633 * @par Lua函数原型
634 * timerDelete(name: string) -> nil
635 *
636 * @par JSON-RPC请求示例
637 * {"jsonrpc":"2.0","method":"RuntimeMachine.timerDelete","params":["timer"],"id":1}
638 *
639 * @par JSON-RPC响应示例
640 * {"id":1,"jsonrpc":"2.0","result":0}
641 *
642 */
643 int timerDelete(const std::string &name);
644
645 /**
646 * 获取定时器数值
647 *
648 * @param name
649 * @return
650 *
651 * @par Python函数原型
652 * getTimer(self: pyaubo_sdk.RuntimeMachine, arg0: str) -> float
653 *
654 * @par Lua函数原型
655 * getTimer(name: string) -> number
656 *
657 * @par JSON-RPC请求示例
658 * {"jsonrpc":"2.0","method":"RuntimeMachine.getTimer","params":["timer"],"id":1}
659 *
660 * @par JSON-RPC响应示例
661 * {"id":1,"jsonrpc":"2.0","result":25.409769612}
662 *
663 */
664 double getTimer(const std::string &name);
665
666 /**
667 * 开始配置触发
668 *
669 * @param distance
670 * @param delay
671 * @return
672 *
673 * @par JSON-RPC请求示例
674 * {"jsonrpc":"2.0","method":"RuntimeMachine.triggBegin","params":[],"id":1}
675 *
676 * @par JSON-RPC响应示例
677 * {"id":1,"jsonrpc":"2.0","result":0}
678 *
679 */
680 int triggBegin(double distance, double delay);
681
682 /**
683 * 终止配置触发
684 *
685 * @return
686 *
687 * @par JSON-RPC请求示例
688 * {"jsonrpc":"2.0","method":"RuntimeMachine.triggEnd","params":[],"id":1}
689 *
690 * @par JSON-RPC响应示例
691 * {"id":1,"jsonrpc":"2.0","result":0}
692 *
693 */
694 int triggEnd();
695
696 /**
697 * 返回自动分配的中断号
698 *
699 * @param distance
700 * @param delay
701 * @param intnum
702 * @return
703 */
704 int triggInterrupt(double distance, double delay);
705
706 /**
707 * 获取所有的中断号列表
708 *
709 * @return
710 *
711 * @par JSON-RPC请求示例
712 * {"jsonrpc":"2.0","method":"RuntimeMachine.getTriggInterrupts","params":[],"id":1}
713 *
714 * @par JSON-RPC响应示例
715 * {"id":1,"jsonrpc":"2.0","result":[]}
716 *
717 */
718 std::vector<int> getTriggInterrupts();
719
720protected:
721 void *d_;
722};
723
724using RuntimeMachinePtr = std::shared_ptr<RuntimeMachine>;
725
726} // namespace common_interface
727} // namespace arcs
728#endif // AUBO_SDK_RUNTIME_MACHINE_H
int timerStop(const std::string &name)
定时器结束
int preloadProgram(int index, const std::string &program)
预加载工程文件
double getTimer(const std::string &name)
获取定时器数值
int switchTask(int tid)
切换当前线程,切换之后接下来的指令将被插入切换后的线程中
std::tuple< int, int, std::string > getPlanContext(int tid=-1)
获取当前运行上下文
int abort()
终止机器人运行.
std::string getPreloadProgram(int index)
获取预加载工程文件名字,如果没有加载或者超出索引范围则返回空字符串
int gotoLine(int lineno)
跳转到指定行号
int detachTask(int tid)
等待 task 自然结束
int runProgram()
运行已经加载的工程文件
int timerReset(const std::string &name)
定时器重置
std::tuple< int, int, std::string > getAdvancePlanContext(int tid=-1)
获取提前运行规划器的上下文信息
ARCS_DEPRECATED int setPlanContext(int tid, int lineno, const std::string &comment)
向aubo_control日志中添加注释 使用 setLabel 替换
int triggBegin(double distance, double delay)
开始配置触发
int getAdvancePtr(int tid=-1)
获取AdvanceRun的程序指针
int triggEnd()
终止配置触发
int removeBreakPoint(int lineno)
移除断点
int clearBreakPoints()
清除所有断点
std::tuple< std::string, std::string, int > getExecutionStatus1()
int setBreakPoint(int lineno)
设置断点
int setResumeWait(bool wait)
恢复解释器之前等待恢复前之前的序列完成
int loadProgram(const std::string &program)
加载本地工程文件 Lua 脚本,只需要给出文件名字,不需要后缀,需要从 ${ARCS_WS}/program 目录中查找
ARCS_DEPRECATED RuntimeState getStatus()
获取规划器的状态
int getInterpPtr(int tid)
获取最近解释过的指令指针
int getTaskQueueSize(int tid)
获取任务中缓存的指令的数量
std::vector< int > getTriggInterrupts()
获取所有的中断号列表
int deleteTask(int tid)
删除 task,会终止正在执行的运动
int newTask(bool daemon=false)
返回 task_id
int triggInterrupt(double distance, double delay)
返回自动分配的中断号
int timerDelete(const std::string &name)
定时器删除
int getMainPtr(int tid=-1)
获取机器人运动的程序指针
int timerStart(const std::string &name)
定时器开始
std::tuple< std::string, std::string > getExecutionStatus()
获取耗时的接口(INST)执行状态, 如 setPersistentParameters
bool isTaskAlive(int tid)
判断任务是否存活
int setLabel(int lineno, const std::string &comment)
标记记下来的指令的行号和注释
int stop()
停止运行时即脚本运行,无法停止运行时状态为 Stopped 时的机器人运动
std::shared_ptr< RuntimeMachine > RuntimeMachinePtr
数据类型的定义