下载机器人脚本
请求
- 编号: 4022 (0x0FB6)
- 名称: robot_config_downloadscript_req
- 描述: 下载机器人脚本
- JSON 数据区: 见下表
字段名 | 类型 | 描述 | 可缺省 |
---|---|---|---|
type | string | 机器人脚本的类型,“module”=机构脚本,“genetic”=通用脚本 | 否 |
relative_path | string | 脚本相对目录,与脚本查询中的相同 | 否 |
请求示例
如下表示下载机器人机构脚本syspy/addMoveTaskList.py
json
{
"type": "module",
"relative_path": "syspy/addMoveTaskList.py"
}
1
2
3
4
2
3
4
响应
- 编号: 14022 (0x36C6)
- 名称: robot_config_downloadscript_res
- 描述: 下载机器人脚本的响应
- JSON 数据区: 见下
响应示例
python
import json
import time
from rbk import MoveStatus, BasicModule, ParamServer
from rbkSim import SimModule
"""
####BEGIN DEFAULT ARGS####
{
"move_task_list": {
"value": "",
"tips": "任务",
"unit": "",
"type": "json"
}
}
####END DEFAULT ARGS####
"""
"""
####BEGIN DESCRIPTION####
this is the description for this script
####END DESCRIPTION####
"""
class Module(BasicModule):
"""让音乐响起来,默认只播放一遍
"""
def __init__(self, r:SimModule, args):
super(Module, self).__init__()
self.init = True
self.status = MoveStatus.NONE
self.task = ""
def run(self, r:SimModule,args):
"""主函数,每个运行周期都会执行run函数
Args:
r (SimModule): 是MoveFactory的类,包含了基本的电机控制,状态查询,消息查询的功能
args ([type]): 输入参数,是个json类
Returns:
[type]: 返回运行状态,MoveStatus,用于表明脚本的运行状态
"""
if self.status == MoveStatus.FINISHED:
return self.status
self.status = MoveStatus.RUNNING
if self.init:
self.task = args.get("move_task_list","")
self.init = False
r.logInfo(str(type(self.task)))
if type(self.task) == str:
r.addMoveTaskList(str(self.task))
elif type(self.task) == dict or type(self.task) == list:
r.addMoveTaskList(json.dumps(self.task))
else:
r.setError('args error {}'.format(json.dumps(args)))
self.status = MoveStatus.FINISHED
return self.status
if __name__ == '__main__':
import rbkSim
r = rbkSim.SimModule()
m = Module(r,None)
data = {"move_task_list":[{"id":"LM1","source_id":"LM2","task_id":"1"}]}
print(m.run(r, data))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
最近更新 2022/11/28
有帮助
没帮助