[
    {
        "id": "670db0923361fca8",
        "type": "tab",
        "label": "TROS OriginCar Line Follower",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "3fd1f66b90a92c39",
        "type": "group",
        "z": "670db0923361fca8",
        "name": "更新检测及提示",
        "style": {
            "fill": "#ffffbf",
            "label": true,
            "color": "#000000"
        },
        "nodes": [
            "95b7786d0bd8d625",
            "e0a7c0cf31ba0ff8",
            "aac440eb0f80f369"
        ],
        "x": 174,
        "y": 79,
        "w": 612,
        "h": 82
    },
    {
        "id": "801fd97381c4b9d5",
        "type": "group",
        "z": "670db0923361fca8",
        "name": "USB摄像头节点检查及启动",
        "style": {
            "stroke": "#d1d1d1",
            "label": true,
            "color": "#000000",
            "fill": "#bfdbef"
        },
        "nodes": [
            "329835ad4bb184f2",
            "3fd402978032a3f6"
        ],
        "x": 354,
        "y": 179,
        "w": 612,
        "h": 82
    },
    {
        "id": "6ed5ab1eadbcaae8",
        "type": "group",
        "z": "670db0923361fca8",
        "name": "感知功能节点检查及启动",
        "style": {
            "fill": "#e3f3d3",
            "label": true,
            "color": "#000000"
        },
        "nodes": [
            "7415f5c0420699e3",
            "4d7b4c565a93919b",
            "84714716441620be"
        ],
        "x": 354,
        "y": 379,
        "w": 612,
        "h": 82
    },
    {
        "id": "1e512f98e6722461",
        "type": "group",
        "z": "670db0923361fca8",
        "name": "控制功能节点检查及启动",
        "style": {
            "fill": "#ffefbf",
            "label": true,
            "color": "#000000"
        },
        "nodes": [
            "6b3aab7de2e8d72d",
            "cbaaebf450e30d70",
            "c25e310a036b5e87",
            "9f94e0ebff739e23"
        ],
        "x": 354,
        "y": 479,
        "w": 612,
        "h": 142
    },
    {
        "id": "ca144226b8b4a942",
        "type": "group",
        "z": "670db0923361fca8",
        "name": "底盘功能节点检查及启动",
        "style": {
            "fill": "#bfc7d7",
            "label": true,
            "color": "#000000"
        },
        "nodes": [
            "676f0e969a07922d",
            "208efc76bd57556a"
        ],
        "x": 354,
        "y": 639,
        "w": 612,
        "h": 82
    },
    {
        "id": "0449d83917575053",
        "type": "group",
        "z": "670db0923361fca8",
        "name": "转码节点检查及启动",
        "style": {
            "fill": "#ffefbf",
            "fill-opacity": "0.81",
            "label": true,
            "color": "#000000"
        },
        "nodes": [
            "ce30a98ffc693d8c",
            "7fb323007fd8fbd2",
            "33a6517b6aebd721"
        ],
        "x": 354,
        "y": 279,
        "w": 612,
        "h": 82
    },
    {
        "id": "329835ad4bb184f2",
        "type": "change",
        "z": "670db0923361fca8",
        "g": "801fd97381c4b9d5",
        "name": "设定USB节点名称",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "tros-hobot-usb-cam",
                "tot": "str"
            },
            {
                "t": "set",
                "p": "launch",
                "pt": "msg",
                "to": "hobot_usb_cam hobot_usb_cam.launch.py usb_video_device:=/dev/video8",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 470,
        "y": 220,
        "wires": [
            [
                "3fd402978032a3f6"
            ]
        ]
    },
    {
        "id": "7415f5c0420699e3",
        "type": "change",
        "z": "670db0923361fca8",
        "g": "6ed5ab1eadbcaae8",
        "name": "设定感知节点名称",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "tros-racing-track-detection-resnet",
                "tot": "str"
            },
            {
                "t": "set",
                "p": "launch",
                "pt": "msg",
                "to": "racing_track_detection_resnet racing_track_detection_resnet.launch.py",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 670,
        "y": 420,
        "wires": [
            [
                "4d7b4c565a93919b"
            ]
        ]
    },
    {
        "id": "6b3aab7de2e8d72d",
        "type": "change",
        "z": "670db0923361fca8",
        "g": "1e512f98e6722461",
        "name": "设定控制节点名称",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "tros-racing-control",
                "tot": "str"
            },
            {
                "t": "set",
                "p": "launch",
                "pt": "msg",
                "to": "$join(\t   [\t       'racing_control racing_control.launch.py',\t       ' avoid_angular_ratio:=',\t       msg.avoid_angular_ratio,\t       ' avoid_linear_speed:=',\t       msg.avoid_linear_speed,\t       ' follow_angular_ratio:=',\t       msg.follow_angular_ratio,\t       ' follow_linear_speed:=',\t       msg.follow_linear_speed\t   ]\t)",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 670,
        "y": 580,
        "wires": [
            [
                "cbaaebf450e30d70"
            ]
        ]
    },
    {
        "id": "676f0e969a07922d",
        "type": "change",
        "z": "670db0923361fca8",
        "g": "ca144226b8b4a942",
        "name": "设定底盘节点名称",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "tros-hobot-usb-cam",
                "tot": "str"
            },
            {
                "t": "set",
                "p": "launch",
                "pt": "msg",
                "to": "origincar_base origincar_bringup.launch.py ",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 470,
        "y": 680,
        "wires": [
            [
                "208efc76bd57556a"
            ]
        ]
    },
    {
        "id": "557130d22bf0c621",
        "type": "inject",
        "z": "670db0923361fca8",
        "name": "全部启动",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 100,
        "y": 120,
        "wires": [
            [
                "95b7786d0bd8d625"
            ]
        ]
    },
    {
        "id": "ab13719ae9c07c04",
        "type": "debug",
        "z": "670db0923361fca8",
        "name": "正常结束输出",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 1080,
        "y": 440,
        "wires": []
    },
    {
        "id": "95b7786d0bd8d625",
        "type": "rdk-tools smartupdate",
        "z": "670db0923361fca8",
        "g": "3fd1f66b90a92c39",
        "name": "",
        "x": 260,
        "y": 120,
        "wires": [
            [
                "329835ad4bb184f2",
                "84714716441620be",
                "c25e310a036b5e87",
                "aac440eb0f80f369",
                "676f0e969a07922d",
                "ce30a98ffc693d8c"
            ],
            []
        ]
    },
    {
        "id": "f085f61d87a846af",
        "type": "inject",
        "z": "670db0923361fca8",
        "name": "全部关闭",
        "props": [
            {
                "p": "kill",
                "v": "",
                "vt": "date"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "x": 100,
        "y": 300,
        "wires": [
            [
                "4d7b4c565a93919b",
                "cbaaebf450e30d70",
                "208efc76bd57556a",
                "3fd402978032a3f6",
                "33a6517b6aebd721"
            ]
        ]
    },
    {
        "id": "fd1583b162ef03e9",
        "type": "debug",
        "z": "670db0923361fca8",
        "name": "异常结束输出",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 1080,
        "y": 520,
        "wires": []
    },
    {
        "id": "3fd402978032a3f6",
        "type": "rdk-tools checkexecute",
        "z": "670db0923361fca8",
        "g": "801fd97381c4b9d5",
        "name": "",
        "x": 870,
        "y": 220,
        "wires": [
            [
                "ab13719ae9c07c04"
            ],
            [
                "fd1583b162ef03e9"
            ]
        ]
    },
    {
        "id": "4d7b4c565a93919b",
        "type": "rdk-tools checkexecute",
        "z": "670db0923361fca8",
        "g": "6ed5ab1eadbcaae8",
        "name": "",
        "x": 870,
        "y": 420,
        "wires": [
            [
                "ab13719ae9c07c04"
            ],
            [
                "fd1583b162ef03e9"
            ]
        ]
    },
    {
        "id": "cbaaebf450e30d70",
        "type": "rdk-tools checkexecute",
        "z": "670db0923361fca8",
        "g": "1e512f98e6722461",
        "name": "",
        "x": 870,
        "y": 580,
        "wires": [
            [
                "ab13719ae9c07c04"
            ],
            [
                "fd1583b162ef03e9"
            ]
        ]
    },
    {
        "id": "208efc76bd57556a",
        "type": "rdk-tools checkexecute",
        "z": "670db0923361fca8",
        "g": "ca144226b8b4a942",
        "name": "",
        "x": 870,
        "y": 680,
        "wires": [
            [
                "ab13719ae9c07c04"
            ],
            [
                "fd1583b162ef03e9"
            ]
        ]
    },
    {
        "id": "84714716441620be",
        "type": "delay",
        "z": "670db0923361fca8",
        "g": "6ed5ab1eadbcaae8",
        "name": "",
        "pauseType": "delay",
        "timeout": "10",
        "timeoutUnits": "seconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "allowrate": false,
        "outputs": 1,
        "x": 440,
        "y": 420,
        "wires": [
            [
                "7415f5c0420699e3"
            ]
        ]
    },
    {
        "id": "c25e310a036b5e87",
        "type": "delay",
        "z": "670db0923361fca8",
        "g": "1e512f98e6722461",
        "name": "",
        "pauseType": "delay",
        "timeout": "15",
        "timeoutUnits": "seconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "allowrate": false,
        "outputs": 1,
        "x": 440,
        "y": 520,
        "wires": [
            [
                "9f94e0ebff739e23"
            ]
        ]
    },
    {
        "id": "50d1e41ac9dc6344",
        "type": "inject",
        "z": "670db0923361fca8",
        "name": "打开控制节点",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 230,
        "y": 520,
        "wires": [
            [
                "9f94e0ebff739e23"
            ]
        ]
    },
    {
        "id": "d5244fbeb87a5a8e",
        "type": "inject",
        "z": "670db0923361fca8",
        "name": "关闭控制节点",
        "props": [
            {
                "p": "kill",
                "v": "",
                "vt": "str"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "x": 230,
        "y": 580,
        "wires": [
            [
                "cbaaebf450e30d70"
            ]
        ]
    },
    {
        "id": "e0a7c0cf31ba0ff8",
        "type": "rdk-tools texttoaudio",
        "z": "670db0923361fca8",
        "g": "3fd1f66b90a92c39",
        "name": "",
        "x": 690,
        "y": 120,
        "wires": []
    },
    {
        "id": "aac440eb0f80f369",
        "type": "change",
        "z": "670db0923361fca8",
        "g": "3fd1f66b90a92c39",
        "name": "提示",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "智能更新完成",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 450,
        "y": 120,
        "wires": [
            [
                "e0a7c0cf31ba0ff8"
            ]
        ]
    },
    {
        "id": "9f94e0ebff739e23",
        "type": "change",
        "z": "670db0923361fca8",
        "g": "1e512f98e6722461",
        "name": "设定控制参数",
        "rules": [
            {
                "t": "set",
                "p": "follow_angular_ratio",
                "pt": "msg",
                "to": "-1.5",
                "tot": "str"
            },
            {
                "t": "set",
                "p": "follow_linear_speed",
                "pt": "msg",
                "to": "0.1",
                "tot": "str"
            },
            {
                "t": "set",
                "p": "avoid_angular_ratio",
                "pt": "msg",
                "to": "0.2",
                "tot": "str"
            },
            {
                "t": "set",
                "p": "avoid_linear_speed",
                "pt": "msg",
                "to": "0.1",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 460,
        "y": 580,
        "wires": [
            [
                "6b3aab7de2e8d72d"
            ]
        ]
    },
    {
        "id": "b1f2048add97e83e",
        "type": "comment",
        "z": "670db0923361fca8",
        "name": "名称：巡线小车一键启动   版本：0.0.2",
        "info": "更新时间：2024-03-28\n更新时间：2024-03-28",
        "x": 170,
        "y": 20,
        "wires": []
    },
    {
        "id": "bd7da660fb5923ef",
        "type": "comment",
        "z": "670db0923361fca8",
        "name": "注意：需要搭配OriginCar使用",
        "info": "",
        "x": 480,
        "y": 20,
        "wires": []
    },
    {
        "id": "c52c5cf52c191f06",
        "type": "inject",
        "z": "670db0923361fca8",
        "name": "进入论坛",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "https://developer.horizon.cc/forum",
        "payloadType": "str",
        "x": 720,
        "y": 20,
        "wires": [
            [
                "c70194e39eb486f0"
            ]
        ]
    },
    {
        "id": "c70194e39eb486f0",
        "type": "rdk-tools openurl",
        "z": "670db0923361fca8",
        "name": "",
        "x": 860,
        "y": 20,
        "wires": []
    },
    {
        "id": "ce30a98ffc693d8c",
        "type": "delay",
        "z": "670db0923361fca8",
        "g": "0449d83917575053",
        "name": "",
        "pauseType": "delay",
        "timeout": "5",
        "timeoutUnits": "seconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "allowrate": false,
        "outputs": 1,
        "x": 440,
        "y": 320,
        "wires": [
            [
                "7fb323007fd8fbd2"
            ]
        ]
    },
    {
        "id": "7fb323007fd8fbd2",
        "type": "change",
        "z": "670db0923361fca8",
        "g": "0449d83917575053",
        "name": "设定转码节点",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "tros-hobot-usb-cam",
                "tot": "str"
            },
            {
                "t": "set",
                "p": "run",
                "pt": "msg",
                "to": "hobot_codec hobot_codec_republish --ros-args -p in_mode:=ros -p in_format:=jpeg -p out_mode:=shared_mem -p out_format:=nv12 -p sub_topic:=/image -p pub_topic:=/hbmem_img -p dump_output:=False --ros-args --log-level ERROR",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 640,
        "y": 320,
        "wires": [
            [
                "33a6517b6aebd721"
            ]
        ]
    },
    {
        "id": "33a6517b6aebd721",
        "type": "rdk-tools checkexecute",
        "z": "670db0923361fca8",
        "g": "0449d83917575053",
        "name": "",
        "x": 870,
        "y": 320,
        "wires": [
            [
                "ab13719ae9c07c04"
            ],
            [
                "fd1583b162ef03e9"
            ]
        ]
    }
]