Skip to content

Instantly share code, notes, and snippets.

@shaunabanana
Last active December 28, 2020 06:42
Show Gist options
  • Save shaunabanana/1c70946826b08cb46c49c8e8b105a726 to your computer and use it in GitHub Desktop.
Save shaunabanana/1c70946826b08cb46c49c8e8b105a726 to your computer and use it in GitHub Desktop.
Node-RED library for remote-controlling the Temi robot. Use it with https://github.com/tongji-cdi/temi-woz-android.
[
{
"id": "f4326b19.c1ca18",
"type": "tab",
"label": "WoZ test programming",
"disabled": false,
"info": ""
},
{
"id": "a8f2e8e0.64fe38",
"type": "subflow",
"name": "Say",
"info": "",
"category": "",
"in": [
{
"x": 60,
"y": 140,
"wires": [
{
"id": "94e1d865.2fe778"
}
]
}
],
"out": [
{
"x": 900,
"y": 140,
"wires": [
{
"id": "153f02cd.d3cdcd",
"port": 0
}
]
},
{
"x": 900,
"y": 300,
"wires": [
{
"id": "8b437890.29f508",
"port": 0
}
]
}
],
"env": [
{
"name": "Sentence",
"type": "str",
"value": ""
}
],
"color": "#DDAA99",
"status": {
"x": 820,
"y": 400,
"wires": [
{
"id": "80c4b62b.2f72a",
"port": 0
}
]
}
},
{
"id": "86e4ac2c.a2a33",
"type": "subflow",
"name": "Go to",
"info": "",
"category": "",
"in": [
{
"x": 40,
"y": 100,
"wires": [
{
"id": "ef9db3ce.dc4378"
}
]
}
],
"out": [
{
"x": 880,
"y": 100,
"wires": [
{
"id": "87b43ab8.70a16",
"port": 0
}
]
},
{
"x": 880,
"y": 260,
"wires": [
{
"id": "70c6a0f2.829848",
"port": 0
}
]
}
],
"env": [
{
"name": "Location",
"type": "str",
"value": ""
}
],
"color": "#DDAA99",
"status": {
"x": 880,
"y": 360,
"wires": [
{
"id": "d170a90f.afc218",
"port": 0
}
]
}
},
{
"id": "54f14683.6a8e5",
"type": "subflow",
"name": "Display a type of knowledge",
"info": "",
"category": "",
"in": [
{
"x": 120,
"y": 80,
"wires": [
{
"id": "ba1b8edd.8fb738"
}
]
}
],
"out": [],
"env": [
{
"name": "Ontology",
"type": "str",
"value": ""
}
],
"color": "#DDAA99",
"status": {
"x": 580,
"y": 180,
"wires": [
{
"id": "4ddd1103.d619a8",
"port": 0
}
]
}
},
{
"id": "c2af698c.c01028",
"type": "subflow",
"name": "Filter by ontology type",
"info": "",
"category": "",
"in": [
{
"x": 60,
"y": 80,
"wires": [
{
"id": "f77b2b87.7fb"
}
]
}
],
"out": [],
"env": [
{
"name": "GroupBy",
"type": "str",
"value": ""
}
],
"color": "#DDAA99",
"status": {
"x": 520,
"y": 200,
"wires": [
{
"id": "115cf587.9271d2",
"port": 0
}
]
}
},
{
"id": "36e76298.671e36",
"type": "subflow",
"name": "Display a KG node",
"info": "",
"category": "",
"in": [
{
"x": 40,
"y": 80,
"wires": [
{
"id": "fe57536c.af138"
}
]
}
],
"out": [],
"env": [
{
"name": "Name",
"type": "str",
"value": ""
}
],
"color": "#DDAA99",
"status": {
"x": 500,
"y": 200,
"wires": [
{
"id": "a1082081.7c5948",
"port": 0
}
]
}
},
{
"id": "f6f2ceb4.8b8048",
"type": "subflow",
"name": "Set search filter",
"info": "",
"category": "",
"in": [
{
"x": 60,
"y": 80,
"wires": [
{
"id": "a984b569.eb7de"
}
]
}
],
"out": [],
"env": [
{
"name": "Text",
"type": "str",
"value": ""
}
],
"color": "#DDAA99",
"status": {
"x": 580,
"y": 200,
"wires": [
{
"id": "5ddf900d.dba3a8",
"port": 0
}
]
}
},
{
"id": "d97c6706.b11e38",
"type": "subflow",
"name": "Raise head",
"info": "",
"category": "",
"in": [
{
"x": 220,
"y": 120,
"wires": [
{
"id": "25fe57e5.10a6a8"
}
]
}
],
"out": [],
"env": [],
"color": "#DDAA99",
"status": {
"x": 560,
"y": 180,
"wires": [
{
"id": "7c345930.21c3a",
"port": 0
}
]
}
},
{
"id": "bf87bb08.5e794",
"type": "subflow",
"name": "Go to Home Page",
"info": "",
"category": "",
"in": [
{
"x": 40,
"y": 80,
"wires": [
{
"id": "a72690ad.8093f8"
}
]
}
],
"out": [],
"env": [],
"color": "#DDAA99",
"status": {
"x": 560,
"y": 200,
"wires": [
{
"id": "b4312551.d91538",
"port": 0
}
]
}
},
{
"id": "64017c.5e566684",
"type": "subflow",
"name": "Display a text bubble",
"info": "",
"category": "",
"in": [
{
"x": 200,
"y": 80,
"wires": [
{
"id": "e3f82a5a.96a538"
}
]
}
],
"out": [],
"env": [],
"color": "#DDAA99",
"status": {
"x": 560,
"y": 160,
"wires": [
{
"id": "4a57920b.9f83ac",
"port": 0
}
]
}
},
{
"id": "1d39bcfe.402cfb",
"type": "websocket-client",
"z": "",
"path": "ws://10.0.1.49:8175",
"tls": "",
"wholemsg": "false"
},
{
"id": "fcfb628b.9f9f7",
"type": "websocket-listener",
"z": "",
"path": "/ws/interface",
"wholemsg": "false"
},
{
"id": "39862d30.e75fea",
"type": "neo4j-bolt-server",
"z": "",
"name": "",
"url": "bolt://127.0.0.1:7687",
"user": "neo4j",
"pass": "cdi"
},
{
"id": "b1e28c50.0a235",
"type": "websocket out",
"z": "a8f2e8e0.64fe38",
"name": "",
"server": "",
"client": "1d39bcfe.402cfb",
"x": 660,
"y": 180,
"wires": []
},
{
"id": "153f02cd.d3cdcd",
"type": "template",
"z": "a8f2e8e0.64fe38",
"name": "",
"field": "payload",
"fieldType": "msg",
"format": "handlebars",
"syntax": "mustache",
"template": "{\n \"cmd\": \"speak\",\n \"sentence\": \"{{payload}}\"\n}",
"output": "str",
"x": 400,
"y": 140,
"wires": [
[
"b1e28c50.0a235"
]
]
},
{
"id": "a93c1d88.900fa8",
"type": "websocket in",
"z": "a8f2e8e0.64fe38",
"name": "",
"server": "",
"client": "1d39bcfe.402cfb",
"x": 220,
"y": 300,
"wires": [
[
"4446bbd3.3c4d0c"
]
]
},
{
"id": "94e1d865.2fe778",
"type": "function",
"z": "a8f2e8e0.64fe38",
"name": "",
"func": "if (msg.payload === undefined || msg.payload.length === 0 || msg.payload.split('/')[0] == \"TTS_COMPLETED\") {\n msg.payload = env.get('Sentence');\n}\nflow.set('spoken', msg.payload);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 220,
"y": 140,
"wires": [
[
"153f02cd.d3cdcd",
"d74b478.ca08238"
]
]
},
{
"id": "8b437890.29f508",
"type": "change",
"z": "a8f2e8e0.64fe38",
"name": "",
"rules": [
{
"t": "delete",
"p": "_msgid",
"pt": "msg"
},
{
"t": "delete",
"p": "_session",
"pt": "msg"
},
{
"t": "delete",
"p": "payload",
"pt": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 700,
"y": 300,
"wires": [
[]
]
},
{
"id": "4446bbd3.3c4d0c",
"type": "function",
"z": "a8f2e8e0.64fe38",
"name": "",
"func": "if (msg.payload.split('/')[0] == \"TTS_COMPLETED\") {\n if (msg.payload.split('/')[1] == flow.get('spoken')) {\n return msg;\n }\n}\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 500,
"y": 300,
"wires": [
[
"8b437890.29f508"
]
]
},
{
"id": "80c4b62b.2f72a",
"type": "status",
"z": "a8f2e8e0.64fe38",
"name": "",
"scope": [
"b1e28c50.0a235",
"a93c1d88.900fa8"
],
"x": 280,
"y": 400,
"wires": [
[]
]
},
{
"id": "4ff0b6ec.8f8c6",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "开头",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 170,
"y": 140,
"wires": [
[
"66e2678f.c051a"
]
]
},
{
"id": "1391ff00.26aab9",
"type": "websocket out",
"z": "86e4ac2c.a2a33",
"name": "",
"server": "",
"client": "1d39bcfe.402cfb",
"x": 640,
"y": 140,
"wires": []
},
{
"id": "87b43ab8.70a16",
"type": "template",
"z": "86e4ac2c.a2a33",
"name": "",
"field": "payload",
"fieldType": "msg",
"format": "handlebars",
"syntax": "mustache",
"template": "{\n \"cmd\": \"goto\",\n \"location\": \"{{payload}}\"\n}",
"output": "str",
"x": 380,
"y": 100,
"wires": [
[
"1391ff00.26aab9"
]
]
},
{
"id": "fdeb42ff.2b67a8",
"type": "websocket in",
"z": "86e4ac2c.a2a33",
"name": "",
"server": "",
"client": "1d39bcfe.402cfb",
"x": 200,
"y": 260,
"wires": [
[
"c48177b4.37b0e8"
]
]
},
{
"id": "ef9db3ce.dc4378",
"type": "function",
"z": "86e4ac2c.a2a33",
"name": "",
"func": "if (msg.payload === undefined || msg.payload.length === 0 || msg.payload.split('/')[0] == \"TTS_COMPLETED\") {\n msg.payload = env.get('Location');\n}\nflow.set('location', msg.payload);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 200,
"y": 100,
"wires": [
[
"87b43ab8.70a16"
]
]
},
{
"id": "70c6a0f2.829848",
"type": "change",
"z": "86e4ac2c.a2a33",
"name": "",
"rules": [
{
"t": "delete",
"p": "_msgid",
"pt": "msg"
},
{
"t": "delete",
"p": "_session",
"pt": "msg"
},
{
"t": "delete",
"p": "payload",
"pt": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 680,
"y": 260,
"wires": [
[]
]
},
{
"id": "c48177b4.37b0e8",
"type": "function",
"z": "86e4ac2c.a2a33",
"name": "",
"func": "if (msg.payload.split('/')[0] == \"GOTO_COMPLETED\") {\n if (msg.payload.split('/')[1] == flow.get('location')) {\n return msg;\n }\n}\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 480,
"y": 260,
"wires": [
[
"70c6a0f2.829848"
]
]
},
{
"id": "d170a90f.afc218",
"type": "status",
"z": "86e4ac2c.a2a33",
"name": "",
"scope": [
"1391ff00.26aab9",
"fdeb42ff.2b67a8"
],
"x": 260,
"y": 360,
"wires": [
[]
]
},
{
"id": "66e2678f.c051a",
"type": "subflow:86e4ac2c.a2a33",
"z": "f4326b19.c1ca18",
"name": "前往欢迎点",
"env": [
{
"name": "Location",
"value": "欢迎点",
"type": "str"
}
],
"x": 350,
"y": 140,
"wires": [
[],
[
"47b2ce84.49c778"
]
]
},
{
"id": "47b2ce84.49c778",
"type": "subflow:a8f2e8e0.64fe38",
"z": "f4326b19.c1ca18",
"name": "",
"env": [
{
"name": "Sentence",
"value": "欢迎来到实验室,我是这里的机器人助理temi!",
"type": "str"
}
],
"x": 550,
"y": 140,
"wires": [
[],
[]
]
},
{
"id": "8e2daa37.d3df6",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "任务1-1 项目",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 140,
"y": 240,
"wires": [
[
"cd15de18.7760c"
]
]
},
{
"id": "cd15de18.7760c",
"type": "subflow:a8f2e8e0.64fe38",
"z": "f4326b19.c1ca18",
"name": "这里是实验室的三楼",
"env": [
{
"name": "Sentence",
"value": "好的,这里是实验室的三楼,分为里屋和外屋两大部分",
"type": "str"
}
],
"x": 380,
"y": 240,
"wires": [
[
"bff5c1f9.9e982",
"662986e3.98d938",
"7ca59729.5dba88"
],
[
"2a9f8c56.a0172c"
]
]
},
{
"id": "1b3cb21b.013216",
"type": "template",
"z": "54f14683.6a8e5",
"name": "",
"field": "payload",
"fieldType": "msg",
"format": "handlebars",
"syntax": "mustache",
"template": "{\n \"cmd\": \"command-change-mode\",\n \"mode\": \"semantic\",\n \"ontology\": \"{{payload}}\"\n}",
"output": "str",
"x": 460,
"y": 80,
"wires": [
[
"f51e557f.ba3b38"
]
]
},
{
"id": "f51e557f.ba3b38",
"type": "websocket out",
"z": "54f14683.6a8e5",
"name": "",
"server": "fcfb628b.9f9f7",
"client": "",
"x": 650,
"y": 80,
"wires": []
},
{
"id": "72acc737.3e3eb",
"type": "subflow:54f14683.6a8e5",
"z": "f4326b19.c1ca18",
"name": "显示环境知识",
"env": [
{
"name": "Ontology",
"value": "环境",
"type": "str"
},
{
"name": "类型",
"value": "ontology",
"type": "str"
}
],
"x": 720,
"y": 580,
"wires": []
},
{
"id": "ba1b8edd.8fb738",
"type": "function",
"z": "54f14683.6a8e5",
"name": "",
"func": "msg.payload = env.get('Ontology')\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 260,
"y": 80,
"wires": [
[
"1b3cb21b.013216"
]
]
},
{
"id": "4ddd1103.d619a8",
"type": "status",
"z": "54f14683.6a8e5",
"name": "",
"scope": [
"f51e557f.ba3b38"
],
"x": 440,
"y": 180,
"wires": [
[]
]
},
{
"id": "b6e99423.1b7e58",
"type": "template",
"z": "c2af698c.c01028",
"name": "",
"field": "payload",
"fieldType": "msg",
"format": "handlebars",
"syntax": "mustache",
"template": "{\n \"cmd\": \"command-change-connected\",\n \"ontology\": \"{{payload}}\"\n}",
"output": "str",
"x": 380,
"y": 80,
"wires": [
[
"3f9b556b.b315c2"
]
]
},
{
"id": "3f9b556b.b315c2",
"type": "websocket out",
"z": "c2af698c.c01028",
"name": "",
"server": "fcfb628b.9f9f7",
"client": "",
"x": 570,
"y": 80,
"wires": []
},
{
"id": "f77b2b87.7fb",
"type": "function",
"z": "c2af698c.c01028",
"name": "",
"func": "msg.payload = env.get('GroupBy')\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 180,
"y": 80,
"wires": [
[
"b6e99423.1b7e58"
]
]
},
{
"id": "115cf587.9271d2",
"type": "status",
"z": "c2af698c.c01028",
"name": "",
"scope": [
"3f9b556b.b315c2"
],
"x": 370,
"y": 200,
"wires": [
[]
]
},
{
"id": "bff5c1f9.9e982",
"type": "subflow:54f14683.6a8e5",
"z": "f4326b19.c1ca18",
"name": " 显示环境知识",
"env": [
{
"name": "Ontology",
"value": "环境",
"type": "str"
},
{
"name": "类型",
"value": "ontology",
"type": "str"
}
],
"x": 720,
"y": 240,
"wires": []
},
{
"id": "f1b07c36.5bfda8",
"type": "template",
"z": "36e76298.671e36",
"name": "",
"field": "payload",
"fieldType": "msg",
"format": "handlebars",
"syntax": "mustache",
"template": "{\n \"cmd\": \"command-change-ego\",\n \"name\": \"{{payload}}\"\n}",
"output": "str",
"x": 360,
"y": 80,
"wires": [
[
"ca0dff9a.e5fa68"
]
]
},
{
"id": "ca0dff9a.e5fa68",
"type": "websocket out",
"z": "36e76298.671e36",
"name": "",
"server": "fcfb628b.9f9f7",
"client": "",
"x": 550,
"y": 80,
"wires": []
},
{
"id": "fe57536c.af138",
"type": "function",
"z": "36e76298.671e36",
"name": "",
"func": "msg.payload = env.get('Name')\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 160,
"y": 80,
"wires": [
[
"f1b07c36.5bfda8"
]
]
},
{
"id": "a1082081.7c5948",
"type": "status",
"z": "36e76298.671e36",
"name": "",
"scope": [
"ca0dff9a.e5fa68"
],
"x": 350,
"y": 200,
"wires": [
[]
]
},
{
"id": "662986e3.98d938",
"type": "subflow:c2af698c.c01028",
"z": "f4326b19.c1ca18",
"name": "展示实验室",
"env": [
{
"name": "GroupBy",
"value": "环境",
"type": "str"
}
],
"x": 710,
"y": 280,
"wires": []
},
{
"id": "fb2d0f02.3f80b",
"type": "subflow:86e4ac2c.a2a33",
"z": "f4326b19.c1ca18",
"name": "1号座位",
"env": [
{
"name": "Location",
"value": "1号座位",
"type": "str"
}
],
"x": 350,
"y": 580,
"wires": [
[],
[
"6491fc09.48e684"
]
]
},
{
"id": "6491fc09.48e684",
"type": "subflow:a8f2e8e0.64fe38",
"z": "f4326b19.c1ca18",
"name": "这里是余修伟的座位",
"env": [
{
"name": "Sentence",
"value": "这里是余修伟的座位,他是实验室的博士生",
"type": "str"
}
],
"x": 390,
"y": 640,
"wires": [
[
"72acc737.3e3eb",
"14b3f90.3d94087",
"291ac919.b79546"
],
[]
]
},
{
"id": "14b3f90.3d94087",
"type": "subflow:c2af698c.c01028",
"z": "f4326b19.c1ca18",
"name": "按照环境分组",
"env": [
{
"name": "GroupBy",
"value": "环境",
"type": "str"
}
],
"x": 720,
"y": 620,
"wires": []
},
{
"id": "ddc972b5.d64188",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "测试",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 690,
"y": 200,
"wires": [
[
"bff5c1f9.9e982",
"662986e3.98d938",
"7ca59729.5dba88"
]
]
},
{
"id": "4002f658.c4f1e",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "测试",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 700,
"y": 520,
"wires": [
[
"72acc737.3e3eb",
"14b3f90.3d94087",
"291ac919.b79546"
]
]
},
{
"id": "6981e12d.91bbf8",
"type": "template",
"z": "f6f2ceb4.8b8048",
"name": "",
"field": "payload",
"fieldType": "msg",
"format": "handlebars",
"syntax": "mustache",
"template": "{\n \"cmd\": \"command-change-search\",\n \"text\": \"{{payload}}\"\n}",
"output": "str",
"x": 360,
"y": 80,
"wires": [
[
"52ab9bb7.c48b1c"
]
]
},
{
"id": "52ab9bb7.c48b1c",
"type": "websocket out",
"z": "f6f2ceb4.8b8048",
"name": "",
"server": "fcfb628b.9f9f7",
"client": "",
"x": 550,
"y": 80,
"wires": []
},
{
"id": "a984b569.eb7de",
"type": "function",
"z": "f6f2ceb4.8b8048",
"name": "",
"func": "msg.payload = env.get('Text')\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 200,
"y": 80,
"wires": [
[
"6981e12d.91bbf8"
]
]
},
{
"id": "5ddf900d.dba3a8",
"type": "status",
"z": "f6f2ceb4.8b8048",
"name": "",
"scope": [
"52ab9bb7.c48b1c"
],
"x": 350,
"y": 200,
"wires": [
[]
]
},
{
"id": "291ac919.b79546",
"type": "subflow:f6f2ceb4.8b8048",
"z": "f4326b19.c1ca18",
"name": "搜索余修伟",
"env": [
{
"name": "Text",
"value": "余修伟",
"type": "str"
}
],
"x": 710,
"y": 660,
"wires": []
},
{
"id": "13d640b8.d0175f",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "任务1-2 项目参与者",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 140,
"y": 780,
"wires": [
[
"575c3017.9f463"
]
]
},
{
"id": "575c3017.9f463",
"type": "subflow:a8f2e8e0.64fe38",
"z": "f4326b19.c1ca18",
"name": "那我们前往下一个地点",
"env": [
{
"name": "Sentence",
"value": "好的,那我们前往下一个地点",
"type": "str"
}
],
"x": 390,
"y": 780,
"wires": [
[],
[]
]
},
{
"id": "2f71dc5a.478154",
"type": "subflow:86e4ac2c.a2a33",
"z": "f4326b19.c1ca18",
"name": "",
"env": [
{
"name": "Location",
"value": "2号座位",
"type": "str"
}
],
"x": 340,
"y": 840,
"wires": [
[],
[]
]
},
{
"id": "b7c9472b.6e5d1",
"type": "subflow:a8f2e8e0.64fe38",
"z": "f4326b19.c1ca18",
"name": "这里是田思的座位",
"env": [
{
"name": "Sentence",
"value": "这里是田思的座位,他和余修伟一起参与了MR无人车的项目",
"type": "str"
}
],
"x": 380,
"y": 900,
"wires": [
[
"f185a511.22fb38",
"82ea563e.b0e188",
"1c7dcc52.b0b70c"
],
[]
]
},
{
"id": "f185a511.22fb38",
"type": "subflow:54f14683.6a8e5",
"z": "f4326b19.c1ca18",
"name": "显示环境知识",
"env": [
{
"name": "Ontology",
"value": "环境",
"type": "str"
},
{
"name": "类型",
"value": "ontology",
"type": "str"
}
],
"x": 730,
"y": 880,
"wires": []
},
{
"id": "82ea563e.b0e188",
"type": "subflow:c2af698c.c01028",
"z": "f4326b19.c1ca18",
"name": "按照环境分组",
"env": [
{
"name": "GroupBy",
"value": "环境",
"type": "str"
}
],
"x": 730,
"y": 920,
"wires": []
},
{
"id": "1c7dcc52.b0b70c",
"type": "subflow:f6f2ceb4.8b8048",
"z": "f4326b19.c1ca18",
"name": "搜索田思",
"env": [
{
"name": "Text",
"value": "田思",
"type": "str"
}
],
"x": 710,
"y": 960,
"wires": []
},
{
"id": "6cb21920.315d28",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "测试",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 700,
"y": 840,
"wires": [
[
"f185a511.22fb38",
"82ea563e.b0e188",
"1c7dcc52.b0b70c"
]
]
},
{
"id": "2bfbdf06.228c68",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "任务2-1 谁放的箱子",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 130,
"y": 1000,
"wires": [
[
"df0af2f.62b9a9"
]
]
},
{
"id": "df0af2f.62b9a9",
"type": "subflow:a8f2e8e0.64fe38",
"z": "f4326b19.c1ca18",
"name": "那我们前往下一个地点",
"env": [
{
"name": "Sentence",
"value": "好的,那我们前往下一个地点",
"type": "str"
}
],
"x": 380,
"y": 1000,
"wires": [
[],
[]
]
},
{
"id": "a4eb4e0b.a82b9",
"type": "subflow:86e4ac2c.a2a33",
"z": "f4326b19.c1ca18",
"name": "前往Go to:地面箱子",
"env": [
{
"name": "Location",
"value": "陈可的座位",
"type": "str"
}
],
"x": 380,
"y": 1060,
"wires": [
[],
[]
]
},
{
"id": "cdf450c0.ed218",
"type": "subflow:a8f2e8e0.64fe38",
"z": "f4326b19.c1ca18",
"name": "前方障碍物:箱子",
"env": [
{
"name": "Sentence",
"value": "前方障碍物:箱子",
"type": "str"
}
],
"x": 370,
"y": 1120,
"wires": [
[
"f4ae910.927d7f",
"2c5a118f.9be816"
],
[]
]
},
{
"id": "f4ae910.927d7f",
"type": "subflow:54f14683.6a8e5",
"z": "f4326b19.c1ca18",
"name": "显示物体知识",
"env": [
{
"name": "Ontology",
"value": "物体",
"type": "str"
},
{
"name": "类型",
"value": "ontology",
"type": "str"
}
],
"x": 720,
"y": 1080,
"wires": []
},
{
"id": "e734240b.abc2b",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "测试",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 690,
"y": 1040,
"wires": [
[
"f4ae910.927d7f",
"2c5a118f.9be816"
]
]
},
{
"id": "2c5a118f.9be816",
"type": "subflow:36e76298.671e36",
"z": "f4326b19.c1ca18",
"name": "展示箱子1",
"env": [
{
"name": "Name",
"value": "箱子1",
"type": "str"
}
],
"x": 710,
"y": 1120,
"wires": []
},
{
"id": "5ea83837.ff1ce",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "任务3-1 参观哪些项目",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 120,
"y": 1300,
"wires": [
[
"e48b8d64.36a7d"
]
]
},
{
"id": "aa8e1dd0.f5ebf8",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "任务2-2 找到箱子出现的时间",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 120,
"y": 1200,
"wires": [
[]
]
},
{
"id": "8e8c1d2e.33c0c8",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "任务3-2 带你走一遍(暂时不用了?)",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 150,
"y": 1420,
"wires": [
[
"85a6d23f.9f30c8"
]
]
},
{
"id": "85a6d23f.9f30c8",
"type": "subflow:a8f2e8e0.64fe38",
"z": "f4326b19.c1ca18",
"name": "欢迎领导",
"env": [
{
"name": "Sentence",
"value": "感谢您驻临实验室,我是这里的机器人助理temi!请跟着我了解下实验室的主要项目吧",
"type": "str"
}
],
"x": 340,
"y": 1500,
"wires": [
[],
[
"cfb661b5.44017"
]
]
},
{
"id": "cfb661b5.44017",
"type": "subflow:86e4ac2c.a2a33",
"z": "f4326b19.c1ca18",
"name": "",
"env": [
{
"name": "Location",
"value": "参观1 变色旗袍",
"type": "str"
}
],
"x": 330,
"y": 1560,
"wires": [
[],
[
"184fcde4.441c6a"
]
]
},
{
"id": "184fcde4.441c6a",
"type": "subflow:a8f2e8e0.64fe38",
"z": "f4326b19.c1ca18",
"name": "这是变色旗袍的介绍",
"env": [
{
"name": "Sentence",
"value": "这是实验室研发的互动变色旗袍,将传统旗袍与可穿戴技术相结合,在保留传统制作工艺的同时利用智能纺织材料与智能算法为旗袍添加新的动态表达维度,使之可变化、可交互,在一件旗袍上实现四季图案的变化。",
"type": "str"
}
],
"x": 380,
"y": 1620,
"wires": [
[
"822ec5f4.07fba8",
"129af89d.eb1cef"
],
[
"3c1b432e.fda224"
]
]
},
{
"id": "3c1b432e.fda224",
"type": "delay",
"z": "f4326b19.c1ca18",
"name": "",
"pauseType": "delay",
"timeout": "0.5",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"x": 350,
"y": 1680,
"wires": [
[
"ffeacd5f.d302c8"
]
]
},
{
"id": "ffeacd5f.d302c8",
"type": "subflow:86e4ac2c.a2a33",
"z": "f4326b19.c1ca18",
"name": "",
"env": [
{
"name": "Location",
"value": "参观2 西门子ar",
"type": "str"
}
],
"x": 330,
"y": 1740,
"wires": [
[],
[
"5034014e.d06d38"
]
]
},
{
"id": "5034014e.d06d38",
"type": "subflow:a8f2e8e0.64fe38",
"z": "f4326b19.c1ca18",
"name": "这是西门子ar的介绍",
"env": [
{
"name": "Sentence",
"value": "这是实验室与西门子合作项目中开发的AR原型工具,它支持AR设计和开发人员在AR环境中完成简单的AR应用的原型制作,此应用可以所见即所得地在3D空间中快速制作AR应用的原型。",
"type": "str"
}
],
"x": 380,
"y": 1800,
"wires": [
[
"3c02982a.afad68",
"93fca65e.60c73"
],
[
"1f1475b0.a846a2"
]
]
},
{
"id": "1f1475b0.a846a2",
"type": "delay",
"z": "f4326b19.c1ca18",
"name": "",
"pauseType": "delay",
"timeout": "0.5",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"x": 350,
"y": 1860,
"wires": [
[
"467b5981.33106"
]
]
},
{
"id": "467b5981.33106",
"type": "subflow:86e4ac2c.a2a33",
"z": "f4326b19.c1ca18",
"name": "",
"env": [
{
"name": "Location",
"value": "参观3 开源课作业1",
"type": "str"
}
],
"x": 330,
"y": 1920,
"wires": [
[],
[
"baf424e2.34a97"
]
]
},
{
"id": "baf424e2.34a97",
"type": "subflow:a8f2e8e0.64fe38",
"z": "f4326b19.c1ca18",
"name": "这是开源课作业1的介绍",
"env": [
{
"name": "Sentence",
"value": "介绍待补充(也许不用每个这么长?",
"type": "str"
}
],
"x": 390,
"y": 1980,
"wires": [
[
"a32b16f2.949c08",
"7487e808.64c478"
],
[
"5a76448b.ac5604"
]
]
},
{
"id": "5a76448b.ac5604",
"type": "delay",
"z": "f4326b19.c1ca18",
"name": "",
"pauseType": "delay",
"timeout": "0.5",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"x": 350,
"y": 2040,
"wires": [
[]
]
},
{
"id": "e2a5e3e7.82283",
"type": "websocket out",
"z": "d97c6706.b11e38",
"name": "",
"server": "",
"client": "1d39bcfe.402cfb",
"x": 650,
"y": 120,
"wires": []
},
{
"id": "25fe57e5.10a6a8",
"type": "template",
"z": "d97c6706.b11e38",
"name": "",
"field": "payload",
"fieldType": "msg",
"format": "handlebars",
"syntax": "mustache",
"template": "{\n \"cmd\": \"tilt\",\n \"angle\": \"0\"\n}",
"output": "str",
"x": 380,
"y": 120,
"wires": [
[
"e2a5e3e7.82283"
]
]
},
{
"id": "7c345930.21c3a",
"type": "status",
"z": "d97c6706.b11e38",
"name": "",
"scope": [
"e2a5e3e7.82283"
],
"x": 380,
"y": 180,
"wires": [
[]
]
},
{
"id": "a9791615.53eec",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "初始化",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 170,
"y": 40,
"wires": [
[
"533aee32.7f438"
]
]
},
{
"id": "354f5d8f.1c62c2",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "手动触发",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 170,
"y": 580,
"wires": [
[
"fb2d0f02.3f80b"
]
]
},
{
"id": "a72690ad.8093f8",
"type": "template",
"z": "bf87bb08.5e794",
"name": "",
"field": "payload",
"fieldType": "msg",
"format": "handlebars",
"syntax": "mustache",
"template": "{\n \"cmd\": \"command-change-mode\",\n \"mode\": \"ontology\",\n \"ontology\": \"none\"\n}",
"output": "str",
"x": 280,
"y": 80,
"wires": [
[
"5b6e3ae9.91aa04"
]
]
},
{
"id": "5b6e3ae9.91aa04",
"type": "websocket out",
"z": "bf87bb08.5e794",
"name": "",
"server": "fcfb628b.9f9f7",
"client": "",
"x": 570,
"y": 80,
"wires": []
},
{
"id": "b4312551.d91538",
"type": "status",
"z": "bf87bb08.5e794",
"name": "",
"scope": [
"5b6e3ae9.91aa04"
],
"x": 370,
"y": 200,
"wires": [
[]
]
},
{
"id": "2f0e8e3d.c4c682",
"type": "subflow:bf87bb08.5e794",
"z": "f4326b19.c1ca18",
"name": "",
"x": 700,
"y": 1300,
"wires": []
},
{
"id": "e3f82a5a.96a538",
"type": "template",
"z": "64017c.5e566684",
"name": "",
"field": "payload",
"fieldType": "msg",
"format": "handlebars",
"syntax": "mustache",
"template": "{\n \"cmd\": \"command-change-speech\",\n \"text\": \"{{payload}}\"\n}",
"output": "str",
"x": 400,
"y": 80,
"wires": [
[
"25da1f0c.b312d"
]
]
},
{
"id": "25da1f0c.b312d",
"type": "websocket out",
"z": "64017c.5e566684",
"name": "",
"server": "fcfb628b.9f9f7",
"client": "",
"x": 590,
"y": 80,
"wires": []
},
{
"id": "4a57920b.9f83ac",
"type": "status",
"z": "64017c.5e566684",
"name": "",
"scope": null,
"x": 430,
"y": 160,
"wires": [
[]
]
},
{
"id": "d74b478.ca08238",
"type": "subflow:64017c.5e566684",
"z": "a8f2e8e0.64fe38",
"name": "",
"x": 430,
"y": 80,
"wires": []
},
{
"id": "fbecad4e.c63bc8",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "手动触发",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 170,
"y": 640,
"wires": [
[
"6491fc09.48e684"
]
]
},
{
"id": "8d4ae173.29c788",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "手动触发",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 170,
"y": 840,
"wires": [
[
"2f71dc5a.478154"
]
]
},
{
"id": "30a1754c.740e6a",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "手动触发",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 170,
"y": 900,
"wires": [
[
"b7c9472b.6e5d1"
]
]
},
{
"id": "ffea74ce.ea5498",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "手动触发",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 160,
"y": 1120,
"wires": [
[
"cdf450c0.ed218"
]
]
},
{
"id": "8089db86.b17c",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "测试",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 650,
"y": 1240,
"wires": [
[
"2f0e8e3d.c4c682"
]
]
},
{
"id": "367b297e.42bb3e",
"type": "subflow:a8f2e8e0.64fe38",
"z": "f4326b19.c1ca18",
"name": "参观结束",
"env": [
{
"name": "Sentence",
"value": "参观到这里就结束了,谢谢您的参与!",
"type": "str"
}
],
"x": 340,
"y": 2160,
"wires": [
[],
[]
]
},
{
"id": "9989927b.b8bc4",
"type": "subflow:a8f2e8e0.64fe38",
"z": "f4326b19.c1ca18",
"name": "接下来请跟着我走吧",
"env": [
{
"name": "Sentence",
"value": "接下来,请跟着我走吧",
"type": "str"
}
],
"x": 390,
"y": 460,
"wires": [
[],
[
"8ff21f94.3d52e"
]
]
},
{
"id": "87ab1316.e86158",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "手动触发",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 170,
"y": 460,
"wires": [
[
"9989927b.b8bc4"
]
]
},
{
"id": "129af89d.eb1cef",
"type": "subflow:36e76298.671e36",
"z": "f4326b19.c1ca18",
"name": "展示变色旗袍",
"env": [
{
"name": "Name",
"value": "变色旗袍",
"type": "str"
}
],
"x": 720,
"y": 1620,
"wires": []
},
{
"id": "822ec5f4.07fba8",
"type": "subflow:54f14683.6a8e5",
"z": "f4326b19.c1ca18",
"name": "显示物体知识",
"env": [
{
"name": "Ontology",
"value": "物体",
"type": "str"
},
{
"name": "类型",
"value": "ontology",
"type": "str"
}
],
"x": 720,
"y": 1580,
"wires": []
},
{
"id": "8ee336da.86e8d",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "测试",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 690,
"y": 1540,
"wires": [
[
"822ec5f4.07fba8",
"129af89d.eb1cef"
]
]
},
{
"id": "93fca65e.60c73",
"type": "subflow:36e76298.671e36",
"z": "f4326b19.c1ca18",
"name": "展示西门子AR展示应用",
"env": [
{
"name": "Name",
"value": "西门子AR展示应用",
"type": "str"
}
],
"x": 750,
"y": 1820,
"wires": []
},
{
"id": "3c02982a.afad68",
"type": "subflow:54f14683.6a8e5",
"z": "f4326b19.c1ca18",
"name": "显示物体知识",
"env": [
{
"name": "Ontology",
"value": "物体",
"type": "str"
},
{
"name": "类型",
"value": "ontology",
"type": "str"
}
],
"x": 720,
"y": 1780,
"wires": []
},
{
"id": "5455e8e5.5b16d8",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "测试",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 690,
"y": 1740,
"wires": [
[
"3c02982a.afad68",
"93fca65e.60c73"
]
]
},
{
"id": "7487e808.64c478",
"type": "subflow:36e76298.671e36",
"z": "f4326b19.c1ca18",
"name": "展示开源硬件与编程课程",
"env": [
{
"name": "Name",
"value": "开源硬件与编程课程",
"type": "str"
}
],
"x": 750,
"y": 2000,
"wires": []
},
{
"id": "a32b16f2.949c08",
"type": "subflow:54f14683.6a8e5",
"z": "f4326b19.c1ca18",
"name": "显示项目知识",
"env": [
{
"name": "Ontology",
"value": "项目",
"type": "str"
},
{
"name": "类型",
"value": "ontology",
"type": "str"
}
],
"x": 720,
"y": 1960,
"wires": []
},
{
"id": "3b98a32c.94f9d4",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "测试",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 690,
"y": 1920,
"wires": [
[
"a32b16f2.949c08",
"7487e808.64c478"
]
]
},
{
"id": "d0cffb50.b6aa7",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "手动触发",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 160,
"y": 1560,
"wires": [
[
"cfb661b5.44017"
]
]
},
{
"id": "6e4405d4.42c24c",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "手动触发",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 160,
"y": 1740,
"wires": [
[
"ffeacd5f.d302c8"
]
]
},
{
"id": "ec7bfaa6.93045",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "手动触发",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 160,
"y": 1800,
"wires": [
[
"5034014e.d06d38"
]
]
},
{
"id": "91f08044.2a56d8",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "手动触发",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 160,
"y": 1620,
"wires": [
[
"184fcde4.441c6a"
]
]
},
{
"id": "70e669e6.67c38",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "手动触发",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 160,
"y": 1920,
"wires": [
[
"467b5981.33106"
]
]
},
{
"id": "e0f861da.73c8d8",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "手动触发",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 160,
"y": 1980,
"wires": [
[
"baf424e2.34a97"
]
]
},
{
"id": "7c676f6b.a61888",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "手动触发",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 160,
"y": 2160,
"wires": [
[
"367b297e.42bb3e"
]
]
},
{
"id": "7ca59729.5dba88",
"type": "subflow:f6f2ceb4.8b8048",
"z": "f4326b19.c1ca18",
"name": "搜索“区域”",
"env": [
{
"name": "Text",
"value": "区域",
"type": "str"
}
],
"x": 710,
"y": 320,
"wires": []
},
{
"id": "2a9f8c56.a0172c",
"type": "subflow:a8f2e8e0.64fe38",
"z": "f4326b19.c1ca18",
"name": "我们现在在公共区域附近",
"env": [
{
"name": "Sentence",
"value": "我们现在在公共区域附近",
"type": "str"
}
],
"x": 390,
"y": 340,
"wires": [
[
"3dbfebdd.1035bc"
],
[]
]
},
{
"id": "606492cd.c202c4",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "测试",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 690,
"y": 360,
"wires": [
[
"3dbfebdd.1035bc"
]
]
},
{
"id": "3dbfebdd.1035bc",
"type": "subflow:f6f2ceb4.8b8048",
"z": "f4326b19.c1ca18",
"name": "搜索“公共区域”",
"env": [
{
"name": "Text",
"value": "公共区域",
"type": "str"
}
],
"x": 720,
"y": 400,
"wires": []
},
{
"id": "8ff21f94.3d52e",
"type": "delay",
"z": "f4326b19.c1ca18",
"name": "",
"pauseType": "delay",
"timeout": "1",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"x": 350,
"y": 520,
"wires": [
[
"fb2d0f02.3f80b"
]
]
},
{
"id": "533aee32.7f438",
"type": "subflow:bf87bb08.5e794",
"z": "f4326b19.c1ca18",
"name": "",
"x": 730,
"y": 40,
"wires": []
},
{
"id": "c3873858.e78148",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "手动触发",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 160,
"y": 1060,
"wires": [
[
"a4eb4e0b.a82b9"
]
]
},
{
"id": "e48b8d64.36a7d",
"type": "subflow:a8f2e8e0.64fe38",
"z": "f4326b19.c1ca18",
"name": "查看任务-参观-项目",
"env": [
{
"name": "Sentence",
"value": "赵老师发来消息:明天领导要来参观,帮我确认下机器人带着参观时都介绍什么",
"type": "str"
}
],
"x": 350,
"y": 1300,
"wires": [
[
"2f0e8e3d.c4c682"
],
[]
]
},
{
"id": "d6789090.ba0e7",
"type": "inject",
"z": "f4326b19.c1ca18",
"name": "测试",
"props": [],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"x": 490,
"y": 60,
"wires": [
[
"47b2ce84.49c778"
]
]
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment