Robot control system
By introducing a combined architecture of a central control cluster and an edge node cluster into the robot control system, and adopting a dual-path link design and multi-protocol compatible modules, the problems of bandwidth limitation and delay in large-scale robot environments are solved, efficient data exchange and device management are achieved, and it is suitable for the collaborative work of various types of robots.
Patent Information
- Application Number
- CN202510722737.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-30
- Publication Date
- 2025-09-09
AI Technical Summary
Existing robot control systems suffer from bandwidth limitations and data exchange delays in large-scale robot environments. Especially in centralized and distributed control, short connections or fixed-period polling mechanisms are difficult to meet the needs of efficient data exchange.
It adopts a combined architecture of central control cluster and edge node cluster, through the dual-path design of control link and data link, uses VPN tunnel, private network or Ethernet fiber, field bus and industrial-grade wireless network connection, combined with plug-in driver modules, communication adapters and multi-protocol compatible modules to achieve a unified interface and efficient data transmission of robot equipment.
It reduces control and data acquisition delays, improves data transmission efficiency and system scalability, is suitable for large-scale robot collaboration, ensures the timeliness and reliability of information transmission, and supports the rapid integration and management of various types of robots.
Smart Images

Figure CN120606389A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotics, and in particular to a robot control system. Background Art
[0002] With the rapid development of industrial automation, intelligent manufacturing, and the Internet of Things (IoT), robotic systems are increasingly being used in various fields, such as production lines, warehousing and logistics, and medical services. Existing robotic systems primarily employ centralized control schemes and locally distributed control schemes.
[0003] Centralized control solutions primarily rely on centralized management from a central server. All robots are connected to the central server via fixed wired or wireless networks, which centrally distributes control commands and collects data. A single control information channel is established between the robots and the central server, exchanging data via short connections or periodic polling. The central server synchronously receives and processes data from all connected robots. Robots connected to the central server use predefined interface protocols, requiring adherence to fixed standards. This makes it difficult to integrate different types of robots and third-party devices.
[0004] In a distributed control solution, edge control nodes are established in each robot cluster area. Each edge control node locally manages and schedules a group of robots, and the edge control nodes are linked to a central server via a local network. Data is exchanged between the edge control nodes and the robots using short connections or fixed-period polling mechanisms. While edge control nodes independently collect and synchronously receive data, they often still use a synchronous mode for data processing. Each edge node sets interface standards based on local device conditions, resulting in diverse interface implementations. Summary of the Invention
[0005] The present application provides a robot control system for solving the problems of limited bandwidth and data exchange delay in existing robot control systems that adopt independent centralized control or distributed control, short connection or fixed-period polling mechanism when facing large-scale robots.
[0006] Specifically, the robot control system includes: a central control cluster and an edge node cluster, the central control cluster includes at least one central server, and the edge node cluster includes at least one first edge node and multiple second edge nodes;
[0007] A control link is established between the central server and the first edge node for determining scheduling information of the task to be assigned and sending the scheduling information to the first edge node;
[0008] The first edge node is connected to the second edge node and is used to schedule the second edge node to work according to the scheduling information;
[0009] A control link and at least one data link are established between the central server and the second edge node. The second edge node is connected to the robot device. The second edge node receives the control command and collection command from the central server through the control link, sends the control command to the robot device, obtains the collection data from the robot device according to the collection command, and sends the collection data to the central server through the data link.
[0010] In a further embodiment, the link between the central server and the edge node cluster is implemented through a VPN tunnel.
[0011] In a further embodiment, after receiving the control command and the collection command from the central server, the second edge node sends a first confirmation message to the central server;
[0012] After receiving the collected data from the second edge node, the central server sends a second confirmation message to the second edge node.
[0013] In a further embodiment, a communication adapter is built into the robotic device for converting control commands from the central server into a format recognized by the robotic device;
[0014] The robot device is installed with a plug-in driver module for parsing control commands into underlying instructions that can be executed by the robot device;
[0015] The second edge node has a built-in multi-protocol compatible module for converting the collected data of the robot device into a unified format and sending the converted data to the central server through the data link.
[0016] In a further embodiment, the connection between the communication adapter and the plug-in driver module is implemented via one of the following bus protocols: SPI, CAN, or RS-485.
[0017] In a further embodiment, the control link is implemented using a dedicated network or Ethernet fiber, and the data link is implemented using a bidirectional long connection that supports dynamic expansion.
[0018] In a further embodiment, the second edge node has an intelligent reasoning module and a pre-processing module built into it;
[0019] The intelligent reasoning module is used to detect anomalies in the collected data. If the detection result is normal, the preprocessing module preprocesses the collected data and sends the preprocessed data to the central server. In a further embodiment, if the detection result is abnormal, an abnormality message is sent to the first edge node, the state of the robot device is modified based on the abnormality message, and the first edge node sends the abnormality message to the central server.
[0020] The central server generates scheduling information according to the abnormal information and sends the scheduling information to the first edge node.
[0021] In a further embodiment, the second edge node is connected to the robotic device via a field bus or an industrial-grade wireless network.
[0022] In a further embodiment, the second edge node sends control commands to the robot device and receives collected data from the robot device in a synchronous manner, and sends the collected data to the central server in an asynchronous processing manner.
[0023] In a further embodiment, the central server and the first edge node are deployed in a master-slave dual-machine format.
[0024] In a further embodiment, the central server periodically sends a heartbeat signal to the first edge node;
[0025] After receiving the heartbeat signal, the first edge node sends the status information to the central server.
[0026] In a further embodiment, the status information includes: task status information, node resource information, network information and robot device performance information.
[0027] In a further embodiment, the central server is further configured to perform the following operations:
[0028] If the state information of the first edge node is not received within the first predetermined time period for N consecutive times, determining that the state of the first edge node is abnormal;
[0029] If the status information of the first edge node is not received within a second predetermined time period for N consecutive times, determining that the status of the first edge node is faulty, wherein the first predetermined time period is less than the second predetermined time period;
[0030] Recording the state of the first edge node in a state table;
[0031] Wherein, N is a positive integer.
[0032] In a further embodiment, the central server is further configured to perform the following operations:
[0033] Sending a switching instruction and task information to the backup node of the failed first edge node;
[0034] After receiving the switching instruction, the standby node establishes a connection with the robot device according to the task information.
[0035] In a further embodiment, determining the scheduling information of the task to be assigned includes:
[0036] Obtaining a performance indicator of a second edge node through the first edge node;
[0037] Normalize the performance indicators;
[0038] Determining the fitness of the second edge node according to the normalized performance indicator of the second edge node;
[0039] Scheduling information is determined according to the adaptability of the second edge node.
[0040] In a further embodiment, the performance indicators include CPU, memory, and network RTT;
[0041] Determine the fitness of the second edge node based on the normalized performance indicator of the second edge node, including:
[0042] The fitness of the second edge node is calculated using the following formula:
[0043]
[0044] in, is the comprehensive load;
[0045] For the CPU, For memory;
[0046] is the network RTT;
[0047] δi,T∈{0,1}, identifies whether the second edge node i supports the protocol or hardware required by task T;
[0048] w L , w T , w D is the weight.
[0049] In a further embodiment, the central server is also used to monitor task execution information, wherein the task execution information includes at least resource occupancy information of the second edge node and the number of failures of the robot device; when the task execution information meets the preset conditions, the scheduling information of the task is re-determined.
[0050] The robot control system provided in the present application combines distributed control with centralized control to set up an edge node cluster, wherein the edge node cluster includes at least one first edge node and multiple second edge nodes. A control link is established between the central server and the first edge node, which is used to determine the scheduling information of the task to be assigned and send the scheduling information to the first edge node; the first edge node is connected to the second edge node, which is used to schedule the second edge node to work according to the scheduling information; a control link and at least one data link are established between the central server and the second edge node, and the second edge node is connected to the robot device. The second edge node receives the control command and acquisition command of the central server through the control link, sends the control command to the robot device, obtains the acquisition data from the robot device according to the acquisition command, and sends the acquisition data to the central server through the data link. The robot can be uniformly managed through the first edge node, and the robot device control and data acquisition can be realized through the second edge node, thereby reducing the control and data acquisition delays, and has good scalability, which is suitable for the needs of large-scale robot collaborative work.
[0051] In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0053] Figure 1 The first structural diagram of the robot control system according to the embodiment of the present application is shown;
[0054] Figure 2 A second structural diagram of the robot control system according to an embodiment of the present application is shown;
[0055] Figure 3 A first interactive diagram of a robot control system according to an embodiment of the present application is shown;
[0056] Figure 4 shows a third structural diagram of the robot control system according to an embodiment of the present application;
[0057] Figure 5 The structure diagram of the second edge node in the embodiment of the present application is shown;
[0058] Figure 6 A second interactive diagram of the robot control system according to an embodiment of the present application is shown;
[0059] Figure 7 A flow chart showing a process for determining scheduling information of tasks to be assigned according to an embodiment of the present application is shown;
[0060] Figure 8 The diagram shows the structure of the edge node in an embodiment of the present application.
[0061] Description of the accompanying symbols:
[0062] 10. Central control cluster;
[0063] 101. Central server;
[0064] 20. Edge node cluster;
[0065] 201. First edge node;
[0066] 201', standby node;
[0067] 202, second edge node;
[0068] 2021, Multi-protocol compatible module;
[0069] 2022. Intelligent reasoning module;
[0070] 2023. Preprocessing module;
[0071] 30. Robotic equipment;
[0072] 301. Communication adapter;
[0073] 302. Plug-in driver module;
[0074] 802, edge node;
[0075] 804, processor;
[0076] 806, memory;
[0077] 808, driving mechanism;
[0078] 810, input / output module;
[0079] 812. Input devices;
[0080] 814. Output device;
[0081] 816. Presentation equipment;
[0082] 818. Graphical User Interface;
[0083] 820, network interface;
[0084] 822, communication link;
[0085] 824. Communication bus. DETAILED DESCRIPTION
[0086] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0087] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, device, product or equipment comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or equipment.
[0088] This specification provides method operation steps as described in the embodiments or flowcharts, but more or fewer operation steps may be included based on routine or non-creative work. The order of steps listed in the embodiments is only one way of executing the steps among many orderings and does not represent the only execution order. When a system or device product is actually executed, the method can be executed in the order shown in the embodiments or the drawings or in parallel.
[0089] It should be noted that the data involved in this application (including but not limited to data used for analysis, stored data, displayed data, etc.) are all information and data authorized by the user or fully authorized by all parties, and the acquisition, transmission, storage, use and processing of relevant data comply with the relevant laws, regulations and standards of relevant countries and regions.
[0090] It should be noted that in the embodiments of the present application, certain software, components, models and other existing solutions in the industry may be mentioned. They should be regarded as exemplary. Their purpose is only to illustrate the feasibility of implementing the technical solution of the present application, but it does not mean that the applicant has or will necessarily use the solution.
[0091] Existing robot control systems use independent centralized control or distributed control, short connection or fixed-cycle polling mechanisms, which have problems of limited bandwidth and data exchange delays when facing large-scale robots.
[0092] In order to solve the above technical problems, the present application provides a robot control system, such as Figure 1 and Figure 2 As shown, it includes: a central control cluster 10 , an edge node cluster 20 and a robot device 30 . The central control cluster 10 includes at least one central server 101 , and the edge node cluster 20 includes at least one first edge node 201 and multiple second edge nodes 202 .
[0093] A control link is established between the central server 101 and the first edge node 201 for determining scheduling information of tasks to be assigned and sending the scheduling information to the first edge node 201 .
[0094] The first edge node 201 is connected to the second edge node 202 and is configured to schedule the second edge node 202 to work according to the scheduling information.
[0095] A control link and at least one data link are established between the central server 101 and the second edge node 202. The second edge node 202 is connected to the robot device 30. The second edge node 202 receives the control command and collection command from the central server 101 through the control link, sends the control command to the robot device 30, obtains the collected data from the robot device 30 according to the collection command, and sends the collected data to the central server 101 through the data link.
[0096] The first edge node 201 is an edge master node, configured to manage the second edge node 202. The second edge node 202 is an edge working node. Figure 1 The second edge node 202 in the robot is connected to the robot arm, the robot car, the robot dog and the robot's robot equipment respectively. It should be noted that, Figure 1 This is only an illustrative description and is not intended to limit the scope of protection of this application.
[0097] The tasks to be assigned can be set according to actual application scenarios and requirements, and this application does not limit this. In some embodiments, the scheduling information includes a second edge node identifier that matches the task to be assigned, and the first edge node 201 starts the corresponding second edge node according to the second edge node identifier in the scheduling information. In other embodiments, the scheduling information also includes context information and a priority tag of the task to be assigned, and the first edge node processes the scheduling information in order according to the priority of the scheduling information.
[0098] The control commands include a set of commands for instructing the robot to perform a series of actions, such as forward and backward movements. These commands are pre-set based on the objectives of the assigned task. The central server sends the control commands to the second edge node, which then sends them to the robot. The robot can then recognize and execute the control commands.
[0099] The acquisition command includes, for example, a command to obtain the current state of the robot device, an instruction to obtain data generated by the robot device, etc., and is pre-designed according to the application scenario, etc., and this application does not limit this. The acquisition command can also be recognized and executed by the robot device.
[0100] Among them, the robotic equipment described in this application includes various types of robots, such as robotic arms, automatic guided vehicles, mobile assembly robots, etc. This application does not limit the specific type of robotic equipment.
[0101] The collected data includes but is not limited to sensor data (such as temperature, pressure, distance, etc.), actuator status information in the robot device (such as motor current, joint position, etc.) and controller parameters (such as motion planning trajectory, etc.).
[0102] The second edge node 202 is provided with a data acquisition module, which can be called by the data acquisition module according to the acquisition command to collect data from the robot device. In specific implementation, the second edge node 202 can also obtain the collected information by the data acquisition module periodically or triggered by an event.
[0103] In this embodiment, the central server 101 can receive instructions from the upper scheduling platform or operation and maintenance personnel, send scheduling information to the first edge node 201, send control commands and collection commands to the second edge node 202, and summarize the status and data from each edge node.
[0104] The first edge node 201 is deployed in the local edge cluster, and the second edge node 202 is deployed on site, directly interacting with robotic devices such as robotic arms through the control / collection interface, so that the robotic devices execute the scheduling instructions of the first edge node 201 and the control instructions and monitoring data reporting of the second edge node 202.
[0105] During specific implementation, after executing the control command, the second edge node 202 will also send the execution log to the central server 101 .
[0106] This embodiment manages robots uniformly through the first edge node, and the second edge node responds to the control commands and collection commands of the central server. It can realize hierarchical management of robot equipment, improve control and data collection efficiency, reduce control and data collection delay, and is suitable for the needs of large-scale robot collaborative work.
[0107] In some embodiments, the link between the central server 101 and the edge node cluster 20 is implemented via a VPN tunnel. The link between the central server 101 and the edge node cluster 20 includes a control link between the central server 101 and the first edge node 201, a control link between the central server 101 and the second edge node 202, and a data link.
[0108] Among them, VPN stands for Virtual Private Network, which is used to ensure the confidentiality and integrity of data between public or private networks through encrypted tunnels.
[0109] This embodiment connects the central server 101 and the edge node cluster 20 via a VPN tunnel, which can ensure secure and reliable data transmission.
[0110] In some embodiments, the control link is implemented using a dedicated network or Ethernet fiber, and the data link is implemented using a bidirectional long connection that supports dynamic expansion. The second edge node 202 is connected to the robot device 30 via a field bus or an industrial-grade wireless network.
[0111] Among them, the private network is, for example, a 5G / LTE private network, and the Ethernet fiber is, for example, a gigabit Ethernet fiber, which supports ultra-low latency (≤1ms) and gigabit bandwidth, and can issue thousands of scheduling instructions and task parameters in parallel, while synchronizing global geographic information and system topology changes in real time.
[0112] Among them, the dynamically scalable two-way long connection supports horizontal scaling of the number of connections and load balancing WebSocket / QUIC or customized RPC communication framework at runtime, ensuring low latency and high reliability under massive concurrency.
[0113] WebSocket is a full-duplex communication protocol between browsers and servers, commonly used in persistent connections. QUIC, short for Quick UDP Internet Connections, is a high-speed, low-latency transport protocol based on UDP that supports connection migration and multiplexing. RPC, short for Remote Procedure Call, is a remote procedure call framework that allows clients to transparently call server functions while maintaining persistent connections.
[0114] In a specific implementation, there are multiple data links between the central server 101 and the second edge node 202. The specific number of data links can be determined according to actual data requirements. One of the multiple data links is a key message channel.
[0115] During implementation, critical message channels utilize TSN and software-defined networking (SDN) dynamic priority scheduling technology. When a fault warning, ACK confirmation, or emergency reconfiguration instruction is generated, the system can complete priority forwarding at the 1μs level, ensuring that every handshake and fault response in closed-loop control is completed within a controllable time limit.
[0116] Among them, TSN stands for Time-Sensitive Networking, which is an enhanced Ethernet standard in the IEEE 802.1 series and is used to ensure deterministic latency and bandwidth reservation for critical flows.
[0117] Among them, SDN stands for Software-Defined Networking, which abstracts the network control plane and dynamically issues flow tables and policies by a centralized controller.
[0118] Among them, fieldbuses include EtherCA, PROFINET, etc. Industrial-grade wireless networks include Wi-Fi6, LoRaWAN, etc.
[0119] This embodiment, by supporting dynamically scalable, bidirectional, long connections, can address the latency issues associated with traditional short and fixed connections in large-scale data exchange. Furthermore, by implementing a control link using a dedicated network or Ethernet fiber, and connecting the second edge node 202 to the robotic device 30 via a fieldbus or industrial-grade wireless network, data transmission efficiency can be improved, ensuring the timeliness of information transmission. This embodiment, through its dual-path architecture for both control and data links, overcomes the bottleneck of traditional single message buses, which are prone to congestion and frame loss in large-scale concurrent environments.
[0120] In some embodiments, as Figure 3 As shown, after the second edge node 202 receives the control command and collection command from the central server 101, it sends a first confirmation message to the central server 101 and sends a collection command to the robot device 30; the robot device 30 sends the collected data to the second edge node 202 according to the collection command; the second edge node 202 sends the collected data to the central server 101; after the central server 101 receives the collection data from the second edge node 202, it sends a second confirmation message to the second edge node 202.
[0121] In detail, the first confirmation information and the second confirmation information may be the same or different.
[0122] During implementation, the central server 101 can simultaneously initiate multiple collection command requests to the second edge node 202, and can issue them in parallel without waiting for the previous one to be completed; after each request reaches the second edge node 202, the second edge node will immediately forward the collection command to the corresponding robot device and return an ACK confirmation, which is used to indicate that the second edge node has received the collection command and started processing; after the robot device executes the collection command, it returns the collected data (such as A, B, etc.) to the second edge node 202, and the second edge node 202 pushes the data back to the central server 101, and when the data arrives, the central server 101 will send an ACK to the second edge node 202 to inform the second edge node 202 that the central server 101 can reliably receive the collected data.
[0123] The dual confirmation mechanism of this embodiment ensures the reliability of control commands and data return, and also allows the system to perform fault-tolerant retries for network or device delays.
[0124] In some embodiments, as Figure 4 As shown, the robot device 30 has a built-in communication adapter 301 for converting the control commands of the central server into a format recognized by the robot device.
[0125] The robot device 30 is installed with a plug-in driver module 302 for parsing control commands into underlying instructions executable by the robot device.
[0126] The second edge node 202 has a built-in multi-protocol compatible module 2021, which is used to convert the collected data format of the robot device 30 (i.e., the plug-in driver module) into a unified format recognized by the central server 101, and send the converted data to the central server 101 through the data link between the second edge node 202 and the central server 101.
[0127] In some implementations, the connection between the communication adapter 301 and the plug-in driver module 302 is implemented via one of the following bus protocols: SPI, CAN, or RS-485.
[0128] In detail, the communication adapter 301 is developed based on the industry's general communication protocols, wherein the general communication protocols include but are not limited to the industrial interconnection interoperability standard protocol (Open Platform Communications Unified Architecture, OPC UA), the robot middleware architecture (Robot Operating System, ROS), the lightweight Internet of Things communication protocol (Message Queuing Telemetry Transport, MQTT), etc. The communication adapter 301 is used to complete level isolation, electromagnetic compatibility and physical link conversion. Specifically, the communication adapter 301 is used to realize cross-protocol communication and data interaction between the robot device 30 and the second edge node 202, and is used to perform protocol conversion on the control commands and acquisition commands sent by the second edge node 202, and send the converted control commands and acquisition commands to the main control system of the robot device 30.
[0129] The plug-in driver module 302 focuses on point-to-point device access and underlying protocol calls. The plug-in driver module 302 installed on each robot device 30 corresponds to the type of robot device 30. This means that each robot device only needs to install the plug-in driver module corresponding to the robot device protocol to interact with the upper-layer system through a unified interface, such as a RESTful API, WebSocket, or DDS Topic. API stands for Application Programming Interface, which is used for interaction between modules or systems. DDS stands for Data Distribution Service, a real-time data distribution middleware specification that supports publish / subscribe mode and QoS policies.
[0130] like Figure 4 As shown, the robotic arm device is installed with a robotic arm drive module (RobotArmDriver), the AGV device is installed with an AGV drive module (AGVDriver), the mobile assembly robot is installed with an assembly robot drive module (AssemblyRobotDriver), and the robot cat device is installed with a robot cat drive module (CatRobotDriver).
[0131] Multi-protocol compatibility module 2021 is responsible for global message parsing, protocol conversion, and bidirectional routing. The plug-in driver module 302 and multi-protocol compatibility module 2021 have clear divisions of labor, simplifying the integration of new robotic devices and ensuring interoperability and data consistency between heterogeneous robots.
[0132] Specifically, the central server 101 sends a control command to the second edge node 202 through the control link between the central server 101 and the second edge node 202; the multi-protocol compatible module 2021 in the second edge node 202 converts the control command into a format recognized by the robot device (for example, converted to Protobuf or JSON-Schema format), and sends the converted control command to the robot device 30; the communication adapter 301 in the robot device 30 is used to convert the received control command into a format that can be recognized by this device; the plug-in driver module 302 in the robot device 30 is used to parse the control command after the protocol conversion of the communication adapter 301, and parse the control command into low-level instructions executable by the robot device, such as motor pulse signals, servo control parameters, etc., thereby driving the actuator in the robot device 30 to work.
[0133] The central server 101 also sends an acquisition command to the second edge node 202; the multi-protocol compatible module 2021 in the second edge node 202 converts the acquisition command into a format recognized by the robot device, and sends the converted control command to the robot device 30; the communication adapter 301 in the robot device 30 is used to convert the received acquisition command into a format that can be recognized by this device; the processor in the robot device 30 collects data according to the acquisition command; the plug-in driver module 302 in the robot device 30 is also used to pre-process the collected data (such as data format conversion, signal conditioning, noise filtering, etc.), and perform protocol conversion on the pre-processed collected data through the communication adapter 301 and send it to the second edge node 202; the second edge node 202 converts the received collected data into a format that can be used by the central server 101, and sends the converted data to the central server 101 through the data link between the second edge node 202 and the central server 101.
[0134] During specific implementation, the plug-in driver module 302 can also automatically pre-process the collected data, perform protocol conversion on the pre-processed collected data through the communication adapter 301 and send it to the second edge node 202; the second edge node 202 converts the received collected data into a format that can be handled by the central server 101, and sends the converted data to the central server 101 through the data link between the second edge node 202 and the central server 101.
[0135] This embodiment can unify the access interface of robot devices through plug-in driver modules, communication adapters and multi-protocol compatible modules, facilitate the rapid integration and management of various types of robot devices, and reduce the difficulty of system expansion and maintenance.
[0136] In some embodiments, the second edge node 202 uses a synchronous method to send control commands to the robot device 30 and receive collected data from the robot device 30, and uses an asynchronous method to send the collected data to the central server 101. During implementation, the second edge node 202 uses a preset strategy to asynchronously send the collected data.
[0137] This embodiment can eliminate the impact of sudden device congestion or network jitter, reduce the processing pressure of the central server, and improve the reliability and real-time performance of the system.
[0138] In some embodiments, as Figure 5 As shown, the second edge node 202 has an intelligent reasoning module 2022 and a pre-processing module 2023 built in.
[0139] The intelligent reasoning module 2022 is used to detect anomalies in the collected data. If the detection result is normal, the preprocessing module 2023 preprocesses the collected data and sends the preprocessed data to the central server 101. Preprocessing includes but is not limited to filtering, aggregation, compression and other processing.
[0140] The intelligent reasoning module 2022 can be trained using historical abnormal data and normal data. Its input is the collected data within a predetermined time period or a predetermined number of collection times, and its output is the detection result, for example, 1 indicates that the detection result is abnormal, and 0 indicates that the detection result is normal.
[0141] This embodiment performs anomaly detection and preprocessing on the collected data through the second edge node, which can detect anomalies in a timely manner, improve data transmission efficiency and reduce the processing pressure of the central server.
[0142] In some embodiments, when the detection result of the intelligent reasoning module 2022 in the second edge node 202 is abnormal, the abnormal information is sent to the first edge node 201, the state of the robot device is modified according to the abnormal information, and the first edge node 201 sends the abnormal information to the central server 101.
[0143] The abnormal information includes the robot device identification, abnormal description and abnormal reason, etc. The central server 101 regenerates the scheduling information according to the abnormal information and sends the scheduling information to the first edge node 201, which turns on or off the robot device according to the scheduling information.
[0144] This embodiment uses abnormal feedback to enable the central server to dispatch robot equipment in a timely manner, so that the task can be continuously executed, thereby improving the efficiency of task completion.
[0145] In some embodiments, to ensure high availability and real-time performance of the system in a large-scale heterogeneous robot cluster environment, the central server 101 and the first edge node 201 are deployed in a master-slave dual-machine format. That is, each central server 101 and each first edge node 201 has at least one backup machine.
[0146] Among them, the host and backup machines of the central server and the first edge node implement host election and virtual IP switching through the RAFT protocol or VRRP.
[0147] The RAFT protocol is a strongly consistent distributed consensus algorithm used for cluster master node election and state machine replication. VRRP stands for Virtual Router Redundancy Protocol: a network layer redundancy protocol that selects master and backup routers and implements virtual IP takeover.
[0148] This embodiment deploys the central server 101 and the first edge node 201 in a master-slave dual-machine format, and can ensure continuous execution of tasks through automatic failover when the central server 101 or the first edge node 201 fails.
[0149] In some embodiments, as Figure 6 As shown, the central server 101 is further configured to perform health monitoring on the first edge node 201 through the following operations:
[0150] The central server 101 periodically sends a heartbeat signal to the first edge node 201 .
[0151] After receiving the heartbeat signal, the first edge node 201 sends status information to the central server 101 .
[0152] In some implementations, the central server 101 sends a heartbeat signal every 500 ms on the control link with the first edge node 201 .
[0153] In some implementations, the status information includes at least: task status information, node resource information, and network information.
[0154] The task status information includes task execution progress, the most recent response delay, etc. The task execution progress determination process includes: sending a query command to the second edge node 202, the second edge node 202 sending the execution status of the robot device to the first edge node 201, and the first edge node 201 determining the task execution progress based on the execution status of the robot device.
[0155] Node resource information includes CPU utilization, memory usage, bandwidth usage, IO saturation, etc.
[0156] The network information includes end-to-end round-trip time (RTT), packet loss rate, jitter amplitude, etc.
[0157] In some implementations, the status information also includes robot device performance information. Specifically, the process for obtaining robot device performance information includes: the first edge node 201 periodically sending a heartbeat signal to the second edge node 202. Upon receiving the heartbeat signal, the second edge node 202 transmits the robot device performance information to the first edge node 201. The robot device performance information can be obtained by statistically analyzing the robot device 30 based on its response to control commands, or by statistically analyzing the robot device's response to control commands by the first edge node 201.
[0158] Among them, robot device performance information includes the robot's average response time and historical failure / retries.
[0159] In some embodiments, as Figure 6 As shown, the central server 101 is also used to perform abnormal and fault judgment through the following operations:
[0160] If the state information of the first edge node 201 is not received within the first predetermined time period for N consecutive times, it is determined that the state of the first edge node 201 is abnormal;
[0161] If the state information of the first edge node 201 is not received within the second predetermined time period for N consecutive times, it is determined that the state of the first edge node 201 is faulty, wherein the first predetermined time period is less than the second predetermined time period;
[0162] Recording the state of the first edge node in a state table;
[0163] Wherein, N is a positive integer, for example, 3 times.
[0164] Among them, the first predetermined time period and the second predetermined time period can be set according to actual needs, and this application does not limit this. In one embodiment, the first predetermined time period is, for example, 1.5s, and the second predetermined time period is, for example, 5s.
[0165] The state table records the abnormal state of each first edge node, including normal, abnormal, and fault. It can also include task context information when the abnormality and fault occur, such as session ID, device mapping, network interface MAC / IP, protocol version, etc.
[0166] This embodiment can obtain the status of the first edge node in a timely manner through the heartbeat signal, thereby ensuring the effective execution of the task.
[0167] In some embodiments, as Figure 6As shown, the central server 101 is further configured to perform abnormal recovery by performing the following operations: sending a switching instruction and task information to the backup node 201 ′ of the failed first edge node 201 .
[0168] After receiving the switching instruction, the standby node 201 ′ takes over the virtual IP and establishes a connection with the robot device according to the task information.
[0169] Among them, the task information includes the task context information of the fault node, including command queue, device mapping relationship (device ID hardware adapter port mapping), protocol version, and session credentials, etc.
[0170] The connection is reestablished on the standby node through a plug-in driver module to complete the reinitialization of the secure session.
[0171] The virtual IP is the logical address shared by the master and backup nodes during redundancy switching, and is used for seamless takeover of the backup node after a master node fails.
[0172] In specific implementation, when the failed node comes back online and runs stably through heartbeat for a period of time (for example, 30 seconds), it will automatically switch back to the "standby machine" role and update the status of the entire network.
[0173] In some embodiments, as Figure 7 As shown, the process of the central server 101 determining the scheduling information of the task to be assigned includes:
[0174] 701. Obtain performance indicators of a second edge node through a first edge node, wherein the performance indicators include CPU, memory, and network RTT.
[0175] 702, normalize the performance indicators. When implementing this step, the normalization process can refer to the existing technology and will not be described in detail here.
[0176] 703 : Determine the fitness of the second edge node according to the normalized performance indicator of the second edge node.
[0177] In detail, the adaptability of the second edge node refers to the adaptability of the second edge node to the task to be assigned. The larger the adaptability value, the more suitable the second edge node is for processing the task to be assigned.
[0178] 704. Determine scheduling information based on the fitness of the second edge node. When this step is implemented, the second edge node can be selected to participate in the task to be assigned based on the size of the task to be assigned and in descending order of fitness.
[0179] In some embodiments, determining the fitness of the second edge node according to the normalized performance indicator of the second edge node includes:
[0180] The fitness of the second edge node is calculated using the following formula:
[0181]
[0182] in, is the comprehensive load;
[0183] For the CPU, For memory;
[0184] is the network RTT;
[0185] δi,T∈{0,1}, identifies whether the second edge node i supports the protocol or hardware required by task T;
[0186] w L , w T , w D is the weight.
[0187] In some embodiments, the central server 101 is also used to monitor task execution information, wherein the task execution information includes at least resource occupancy information of the second edge node and the number of failures of the robot device; when the task execution information meets the preset conditions, the task scheduling information is re-determined.
[0188] The preset conditions include: the resource usage of the second edge node is greater than a first preset threshold, and the number of robot device failures is greater than a second preset threshold. The first preset threshold and the second preset threshold are preset values and are not specifically limited in this application.
[0189] When the task execution information meets the preset conditions, it means that the robot device connected to the current second edge node cannot complete the current task.
[0190] This embodiment monitors the task execution information and redetermines the task scheduling information when the task execution information meets the preset conditions, thereby ensuring efficient execution of the task.
[0191] In summary, the robot control system provided by this application is suitable for low-latency, large-volume, and multi-type robot control scenarios, and can achieve the following technical effects:
[0192] 1. Reduce communication delay and improve data transmission efficiency
[0193] By establishing additional control links and data links that support dynamic expansion of two-way long connections, the delay problem caused by traditional short connections and fixed connections in large-scale data exchange can be solved, which can reduce communication delays and improve data transmission efficiency.
[0194] 2. Realize real-time data collection and reporting of large quantities of equipment
[0195] A synchronous reception and asynchronous processing mechanism is adopted to realize data collection and real-time reporting, thereby ensuring the timeliness of data transmission and processing efficiency in high-concurrency scenarios.
[0196] 3. Compatible with various types of robot equipment
[0197] By building a communication adapter into the robot device, installing a plug-in driver module, and building a multi-protocol compatible module into the second edge node, a unified device interface for device access can be achieved, facilitating the rapid integration and management of various types of robot devices and reducing the difficulty of system expansion and maintenance.
[0198] 4. Ensure high reliability and security of communications
[0199] A complete ACK confirmation mechanism is introduced to realize error detection, automatic retransmission and security verification during data transmission, thereby improving the overall reliability and security of the system.
[0200] 5. Support dynamic expansion and flexible scheduling of the system
[0201] By building an architecture that combines central control with distributed edge control, the system can meet the needs of real-time control while having good scalability and scheduling flexibility, adapting to the needs of large-scale and multi-type robot collaboration.
[0202] In one embodiment of the present application, an edge node is further provided, such as Figure 8 As shown, edge node 802 may include one or more processors 804, such as one or more central processing units (CPUs), each of which may implement one or more hardware threads. Edge node 802 may also include any memory 806 for storing any type of information, such as code, settings, data, and the like. For example, and without limitation, memory 806 may include any one or more combinations of the following: any type of RAM, any type of ROM, a flash memory device, a hard disk, an optical disk, and the like. More generally, any memory may use any technology to store information. Furthermore, any memory may provide volatile or non-volatile retention of information. Furthermore, any memory may represent a fixed or removable component of edge node 802. In one embodiment, when processor 804 executes associated instructions stored in any memory or combination of memories, edge node 802 may perform any operation of the associated instructions. Edge node 802 also includes one or more drive mechanisms 808, such as a hard disk drive mechanism, an optical disk drive mechanism, and the like, for interacting with any memory.
[0203] The edge node 802 may also include an input / output module 810 (I / O) for receiving various inputs (via input devices 812) and for providing various outputs (via output devices 814). A specific output mechanism may include a presentation device 816 and an associated graphical user interface 818 (GUI). In other embodiments, the input / output module 810 (I / O), input device 812, and output device 814 may not be included, and the edge node 802 may serve only as an edge node in the network. The edge node 802 may also include one or more network interfaces 820 for exchanging data with other devices via one or more communication links 822. One or more communication buses 824 couple the components described above together.
[0204] The communication link 822 may be implemented in any manner, for example, via a local area network, a wide area network (e.g., the Internet), a point-to-point connection, etc., or any combination thereof. The communication link 822 may include any combination of hardwired links, wireless links, routers, gateway functions, name servers, etc., governed by any protocol or combination of protocols.
[0205] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0206] It should also be understood that in the embodiments of this application, the term "and / or" is merely a description of the relationship between associated objects, indicating that three possible relationships exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " in this application generally indicates that the associated objects are in an "or" relationship.
[0207] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in this application can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0208] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0209] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, or can be electrical, mechanical or other forms of connection.
[0210] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiments of the present application.
[0211] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0212] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or partly contributed to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling an edge node (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0213] Specific embodiments are used in this application to illustrate the principles and implementation methods of this application. The description of the above embodiments is only used to help understand the method and core ideas of this application. At the same time, for those skilled in the art, according to the ideas of this application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting this application.
Claims
1. A robot control system, characterized in that: include: A central control cluster and an edge node cluster, wherein the central control cluster includes at least one central server, and the edge node cluster includes at least one first edge node and multiple second edge nodes; A control link is established between the central server and the first edge node, for determining scheduling information of tasks to be assigned and sending the scheduling information to the first edge node; The first edge node is connected to the second edge node and is configured to schedule the second edge node to work according to the scheduling information; A control link and at least one data link are established between the central server and the second edge node. The second edge node is connected to a robot device. The second edge node receives control commands and collection commands from the central server through the control link, sends the control command to the robot device, obtains collection data from the robot device according to the collection command, and sends the collection data to the central server through the data link.
2. The system according to claim 1, wherein The link between the central server and the edge node cluster is implemented through a VPN tunnel.
3. The system according to claim 1, wherein: After receiving the control command and the collection command from the central server, the second edge node sends a first confirmation message to the central server; After receiving the collected data from the second edge node, the central server sends a second confirmation message to the second edge node.
4. The system according to claim 1, wherein: The robot device has a built-in communication adapter for converting the control commands from the central server into a format recognized by the robot device; The robot device is installed with a plug-in driver module for parsing control commands into underlying instructions executable by the robot device; The second edge node has a built-in multi-protocol compatible module for converting the collected data of the robot device into a unified format and sending the converted data to the central server through the data link.
5. The system according to claim 4, wherein: The connection between the communication adapter and the plug-in driver module is achieved through one of the following bus protocols: SPI, CAN or RS-485.
6. The system according to claim 1, wherein: The control link is implemented using a dedicated network or Ethernet fiber, and the data link is implemented using a two-way long connection that supports dynamic expansion.
7. The system according to claim 1, wherein: The second edge node has an intelligent reasoning module and a preprocessing module built in; The intelligent reasoning module is used to perform anomaly detection on the collected data. When the detection result is normal, the preprocessing module preprocesses the collected data and sends the preprocessed data to the central server.
8. The system according to claim 7, wherein: When the detection result is abnormal, the abnormal information is sent to the first edge node, the state of the robot device is modified according to the abnormal information, and the first edge node sends the abnormal information to the central server; The central server generates scheduling information according to the abnormal information, and sends the scheduling information to the first edge node.
9. The system according to claim 1, wherein: The second edge node is connected to the robot device via a field bus or an industrial-grade wireless network.
10. The system according to claim 1, wherein: The second edge node sends control commands to the robot device and receives collected data from the robot device in a synchronous manner, and sends the collected data to the central server in an asynchronous processing manner.
11. The system according to claim 1, wherein: The central server and the first edge node are deployed in a master-slave dual-machine format.
12. The system according to claim 11, wherein The central server periodically sends a heartbeat signal to the first edge node; After receiving the heartbeat signal, the first edge node sends status information to the central server.
13. The system according to claim 12, wherein: The status information includes: task status information, node resource information, network information and robot equipment performance information.
14. The system according to claim 12, wherein: The central server is also used to perform the following operations: If the state information of the first edge node is not received within the first predetermined time period for N consecutive times, determining that the state of the first edge node is abnormal; If the status information of the first edge node is not received within a second predetermined time period for N consecutive times, determining that the status of the first edge node is faulty, wherein the first predetermined time period is less than the second predetermined time period; Recording the state of the first edge node in a state table; Wherein, N is a positive integer.
15. The system according to claim 14, wherein: The central server is also used to perform the following operations: Sending a switching instruction and task information to the backup node of the failed first edge node; After receiving the switching instruction, the standby node establishes a connection with the robot device according to the task information.
16. The system of claim 1, wherein: The scheduling information for determining the tasks to be assigned includes: Obtaining a performance indicator of the second edge node through the first edge node; performing normalization processing on the performance indicators; determining a degree of adaptability of the second edge node according to the normalized performance indicator of the second edge node; Scheduling information is determined according to the adaptability of the second edge node.
17. The system according to claim 16, wherein: The performance indicators include CPU, memory, and network RTT; Determining the adaptability of the second edge node according to the normalized performance indicator of the second edge node includes: The fitness of the second edge node is calculated using the following formula: in, is the comprehensive load; For CPU, For memory; is the network RTT; δ i ,T∈{0,1}, identifies whether the second edge node i supports the protocol or hardware required by task T; w L , w T , w D is the weight.
18. The system of claim 1, wherein: The central server is further used to monitor task execution information, wherein the task execution information includes at least resource occupancy information of the second edge node and information on the number of failures of the robot device; when the task execution information meets preset conditions, the task scheduling information is re-determined.