Multi-connected control system and control method for industrial robot

By running the machine vision and motion control modules as separate cores and independent processes in the programmable controller and utilizing Unix Domain Socket communication, the problems of low system integration and insufficient real-time performance are solved, and efficient and reliable multi-robot collaborative control is achieved.

CN121552349APending Publication Date: 2026-02-24HAIER SMART HOME CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511758902.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-26
Publication Date
2026-02-24

AI Technical Summary

Technical Problem

Existing industrial robot control systems suffer from low integration, high cost, low efficiency in multi-robot collaboration, fragmented key functional modules, insufficient real-time performance, and resource competition and fault propagation between machine vision and motion control modules, which affect reliability.

Method used

By integrating the machine vision module and motion control module into different cores of the programmable controller to run as independent processes and communicating through Unix Domain Sockets, resource contention and fault propagation are eliminated, enabling efficient data interaction.

Benefits of technology

It achieves microsecond-level determinism in motion control of industrial robots and reliability in vision processing, reduces hardware costs and wiring complexity, and improves system reliability and real-time deep collaboration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121552349A_ABST
    Figure CN121552349A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of robot control, and discloses a multi-union control system for industrial robots, comprising a programmable controller which is connected with a plurality of industrial robots and is used for motion control of the plurality of industrial robots; the programmable controller comprises a multi-core processor, a machine vision module and a motion control module; wherein the machine vision module is configured to run on a first core of the programmable controller; a motion control module configured to operate on a second core of the programmable controller; and the machine vision module and the motion control module respectively operate as independent processes in the programmable controller operating system. The system is highly integrated, and realizes high reliability and real-time performance of deep cooperation while obviously reducing hardware cost and wiring complexity. The invention further discloses a multi-connection control method for the industrial robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robot control technology, and for example to a multi-connection control system and control method for industrial robots. Background Technology

[0002] In the field of industrial automation, the control of industrial robots relies on the collaborative work of programmable logic controllers (PLCs), industrial robot control systems, and machine vision technology. As intelligent manufacturing develops towards flexibility, integration, and intelligence, the inherent limitations of the aforementioned traditional technical architecture are becoming increasingly apparent, with the following prominent issues: (1) Low system integration and high cost: Existing solutions generally adopt a distributed hardware architecture of programmable logic controllers, dedicated robot controllers and vision industrial control computers. This architecture has hardware redundancy and complex wiring, resulting in high system costs. (2) Low efficiency of multi-robot collaboration: In scenarios where multiple robots work together, each robot needs to be equipped with an independent controller. During collaborative control, coordination is required through the upper-level programmable logic controller. The data interaction delay between robot units is large, making it difficult to achieve efficient and close collaboration. (3) Key functional modules are isolated from each other: Key technologies such as machine vision, motion control, system simulation and digital twins often operate as independent subsystems. The real-time performance of data interaction is poor and the information flow is not smooth, making it difficult to achieve advanced functions. (4) System real-time performance faces bottlenecks: The communication between modules in the distributed architecture is based on the standard Ethernet TCP / IP communication method, which has poor real-time response capability and cannot meet the real-time requirements.

[0003] The related technology discloses a six-axis robot control system integrating visual self-calibration, including: a controller module, a human-machine interaction module, and a robot drive module. The control system further includes: a vision acquisition module for acquiring the actual position and orientation information of the six-axis robot; a joint motion acquisition module for acquiring the actual motion information of the six-axis robot joints; and a visual self-calibration submodule for calibrating the robot's kinematic and dynamic parameters. The vision acquisition module and the joint motion acquisition module are both communicatively connected to the controller module. The visual self-calibration submodule is integrated into the controller module and completes calibration based on the information acquired by the vision acquisition module and the joint motion acquisition module.

[0004] In the process of implementing the embodiments of this disclosure, at least the following problems were found in the related art: The relevant technologies only achieve logical isolation at the application layer. The motion control process may still be preempted by other process computing tasks, resulting in poor reliability and real-time performance.

[0005] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this application, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention

[0006] To provide a basic understanding of some aspects of the disclosed embodiments, a brief summary is given below. This summary is not intended as a general commentary, nor is it intended to identify key / important components or describe the scope of protection of these embodiments, but rather as a prelude to the detailed description that follows.

[0007] This disclosure provides a multi-connection control system and control method for industrial robots, which balances reliability and real-time performance of deep collaboration.

[0008] In some embodiments, the multi-connection control system includes: A programmable logic controller (PLC) is connected to multiple industrial robots for motion control of the robots. The PLC includes a multi-core processor, a machine vision module, and a motion control module. The machine vision module is configured to run on the first core of the programmable controller; the motion control module is configured to run on the second core of the programmable controller; the machine vision module and the motion control module run as independent processes in the programmable controller operating system.

[0009] In some embodiments, the controllable method includes: It receives images captured by industrial cameras and real-time data fed back by industrial robots; The received image is processed, and the processed information is sent to the motion control module. Based on real-time data and the processed information, operation control commands are generated to control the industrial robot.

[0010] The multi-unit control system and control method for industrial robots provided in this disclosure can achieve the following technical effects: In this embodiment, the machine vision module and motion control module are integrated into a programmable logic controller (PLC) and assigned to different cores of the PLC to run as independent processes. This eliminates resource contention and fault propagation between modules, and ensures the microsecond-level determinism of industrial robot motion control and that vision processing failures do not affect the reliability of the control process. Thus, this highly integrated system achieves high reliability and real-time performance with deep collaboration while significantly reducing hardware costs and wiring complexity.

[0011] The above general description and the description below are exemplary and illustrative only and are not intended to limit this application. Attached Figure Description

[0012] One or more embodiments are illustrated by way of example with reference to the accompanying drawings. These illustrations and drawings do not constitute a limitation on the embodiments. Elements having the same reference numerals in the drawings are shown as similar elements. The drawings are not to be scaled. And wherein: Figure 1 This is a schematic diagram of a multi-unit control system for an industrial robot provided in an embodiment of this disclosure; Figure 2 This is a schematic diagram of another multi-unit control system for industrial robots provided in an embodiment of this disclosure; Figure 3 This is a schematic diagram of another multi-unit control system for industrial robots provided in an embodiment of this disclosure; Figure 4 This is a schematic diagram of another multi-unit control system for industrial robots provided in an embodiment of this disclosure; Figure 5 This is a schematic diagram of a multi-unit control method for industrial robots provided in an embodiment of this disclosure; Figure 6 This is a schematic diagram of a multi-unit control device for an industrial robot provided in an embodiment of this disclosure; Figure 7 This is a schematic diagram of a programmable controller provided in an embodiment of this disclosure. Detailed Implementation

[0013] To provide a more detailed understanding of the features and technical content of the embodiments of this disclosure, the implementation of the embodiments of this disclosure will be described in detail below with reference to the accompanying drawings. The accompanying drawings are for illustrative purposes only and are not intended to limit the embodiments of this disclosure. In the following technical description, for ease of explanation, several details are used to provide a full understanding of the disclosed embodiments. However, one or more embodiments may still be implemented without these details. In other cases, well-known structures and devices may be simplified in their depiction to simplify the drawings.

[0014] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate for the embodiments of this disclosure described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion.

[0015] Unless otherwise stated, the term "multiple" means two or more.

[0016] In this embodiment of the disclosure, the character " / " indicates that the objects before and after it are in an "or" relationship. For example, A / B means: A or B.

[0017] The term "and / or" describes an association between objects, indicating that three relationships can exist. For example, A and / or B means: A or B, or A and B.

[0018] The term "correspondence" can refer to an association or binding relationship. The correspondence between A and B means that there is an association or binding relationship between A and B.

[0019] Combination Figure 1 As shown, this disclosure provides a multi-unit control system for industrial robots, including a programmable logic controller (PLC) 20 connected to multiple industrial robots 30 for motion control of the robots 30. The PLC 20 includes a multi-core processor, a machine vision module 21, and a motion control module 22. The machine vision module 21 is configured to run on a first core of the PLC 20; the motion control module 22 is configured to run on a second core of the PLC 20; the machine vision module 21 and the motion control module 22 run as independent processes within the PLC's operating system.

[0020] Here, the programmable controller (PLC) embeds a machine vision module and a motion control module. The motion control module controls the operation of the industrial robot, handling motion control-related logic such as trajectory planning, interpolation calculation, and servo closed-loop control. The machine vision module connects to the industrial camera via an interface, handling machine vision-related tasks such as camera driver interface management, image cache management, and calling vision algorithm libraries. The integrated PLC enables microsecond-level synchronous control of multiple robots. This not only saves hardware and effectively reduces costs but also provides fast response and low latency.

[0021] In detail, the core of the programmable logic controller (PLC) is a multi-core central processing unit (CPU), i.e., a multi-core processor, which runs a real-time operating system. The machine vision module's process runs on the PLC's first core, while the motion control module's process runs on the PLC's second core. The processes for each module run independently on their respective cores, specializing computing resources and ensuring that the two processes do not interfere with each other. In particular, the machine vision process, due to its interaction with various camera hardware and complex image processing algorithms, has a relatively high risk of instability and anomalies (such as camera disconnection or algorithm memory leaks). The separate cores and independent processes of the two modules ensure that the high computational load of the machine vision process will not affect the control process. Even if the machine vision process crashes due to an anomaly, the operating system will only terminate that process. Due to process isolation, the motion control process remains completely unaffected and can continue to run safely, helping to ensure the real-time performance of the control operation and improving the overall system availability and security.

[0022] The multi-unit control system for industrial robots, as described in this disclosure, integrates the machine vision module and motion control module into a programmable logic controller (PLC), and assigns them to different cores of the PLC to run as independent processes. This eliminates resource contention and fault propagation between modules, and ensures microsecond-level determinism in the motion control of the industrial robot, preventing vision processing failures from affecting the reliability of the control process. Thus, this highly integrated system significantly reduces hardware costs and wiring complexity while achieving reliable and deeply collaborative real-time performance.

[0023] Optionally, the machine vision module 21 and the motion control module 22 interact with each other through an inter-process communication mechanism.

[0024] Inter-process communication mechanisms include Unix Domain Sockets.

[0025] Here, the machine vision module and motion control module use a kernel-level inter-process communication (IPC) mechanism called polar communication. This IPC mechanism can be based on Unix Domain Sockets or on high-speed data exchange using shared memory and semaphores. Preferably, the IPC mechanism includes Unix Domain Sockets. Specifically, the Unix Domain Socket (UDS) transport layer is responsible for transmitting raw byte streams between processes within the same operating system; the OPC UA application layer is responsible for the structured and semantic description and exchange of data, thus achieving high-speed and reliable data exchange.

[0026] For example, the motion control process acts as the server, creating and binding to an abstract Socket address; the machine vision process acts as the client, connecting to the aforementioned address to establish a communication link. A SOCK_SEQPACKET type Socket is used to ensure message boundary integrity and transmission reliability. The server supports maintaining connections with multiple vision processes simultaneously, enabling connection status monitoring, automatic detection and cleanup of abnormal connections, and providing a connection reconstruction mechanism to ensure high availability of the communication link.

[0027] Because Unix Domain Sockets bypass the network protocol stack, the communicating parties exchange data directly in kernel space, eliminating the overhead of serialization / deserialization, packet verification, and flow control inherent in the TCP / IP protocol. This reduces communication latency based on Unix Domain Sockets from milliseconds to hundreds of microseconds. This enables low-latency, high-bandwidth interaction between visual processing and motion commands, avoiding the low coordination efficiency caused by network protocol stack overhead.

[0028] Combination Figure 2 As shown, optionally, the machine vision module 21 includes a camera management unit 211 and a vision algorithm processing unit 212.

[0029] The camera management unit 211 manages the device enumeration, parameter configuration, and image acquisition of industrial cameras. The vision algorithm processing unit 212 processes the acquired images by calling vision algorithms encapsulated as dynamic link libraries. The tasks of the camera management unit 21 and the vision algorithm processing unit 22 are concurrently executed on different threads.

[0030] Here, the machine vision module includes multiple units such as the camera management unit and the vision algorithm processing unit. Each unit achieves high-efficiency concurrency through multi-threading (i.e., each unit includes multiple tasks). Specifically, the camera management unit is carried out by the camera management thread. The camera pipeline thread is responsible for all I / O operations and lifecycle management related to the industrial camera, including industrial camera device enumeration (automatically searching for cameras on the network and USB bus and identifying their serial numbers, IP addresses, etc.), parameter configuration (setting exposure time, gain, etc.), and image acquisition management.

[0031] Device enumeration refers to the process of automatically discovering all available industrial cameras on the network or local bus by broadcasting search requests or querying the system bus when a thread starts. It then obtains their unique identifiers (such as serial numbers, MAC addresses, and IP addresses), device models, and manufacturer information to form a list of available cameras. Parameter configuration involves configuring parameters for a specified camera through a configuration interface or instructions issued by the PLC program. Configurable parameters include exposure time, gain, white balance, image resolution, pixel format, and acquisition trigger mode. Image acquisition is responsible for starting, managing, and stopping the image acquisition stream, storing the raw image data acquired from the camera driver into a shared image data buffer pool between threads.

[0032] The vision algorithm processing unit is housed within the vision algorithm processing thread, which executes the core image processing logic. It processes the raw images acquired by the camera management thread by calling vision algorithms pre-written and encapsulated in dynamic link libraries (DLLs) in C / C++, and outputs results (such as coordinates and other data). Specifically, it first retrieves the image from the image data buffer pool and uses it as input to call the pre-encapsulated vision algorithm DLL. The vision algorithm running in the DLL processes the image, performing tasks such as contour extraction, template matching, blob analysis, size measurement, character recognition, or color recognition. The processed results are then encapsulated and sent to the motion control module via inter-process communication.

[0033] The camera management thread stores the acquired raw image frames into a buffer pool, while the vision algorithm processing process extracts and processes the images from the buffer pool. These two processing tasks run as independent threads, ensuring fast response and real-time performance. Furthermore, the vision algorithm is encapsulated, making algorithm updates, upgrades, or replacements more convenient without recompiling and deploying the main program, thus improving the system's maintainability and scalability.

[0034] Optionally, the machine vision module 21 communicates with multiple industrial cameras via a first network interface 231; wherein, the industrial cameras 40 are used to collect information from the industrial robot 30.

[0035] The motion control module 22 communicates in real time with multiple industrial robots 30 through the second network interface 232.

[0036] Here, the first network interface and the second network interface are different, meaning that the machine vision module and the motion control module are also completely isolated at the physical network level. The machine vision module and the motion control module connect to the industrial camera and the industrial robot respectively through their corresponding network interfaces, ensuring communication performance and communication security isolation.

[0037] Optionally, the first network interface 231 is used to connect the machine vision module and the industrial camera; wherein the first network interface includes a GigE interface or a USB3 Vision interface.

[0038] The second network interface 232 is used to connect the motion control module and the industrial robot; wherein, the second network interface includes an EtherCAT interface.

[0039] Here, the first network interface is used to connect to industrial cameras via ordinary network communication, including a GigE interface or a USB3Vision interface. The second network interface includes an EtherCAT interface, used to achieve high real-time and high synchronization motion control bus communication. For example, the network interface workflow is as follows: After the system starts, the motion control process and the vision management process start on their respective cores. The vision process discovers and connects to the industrial camera through the first network interface, continuously acquiring and analyzing images. After analyzing the coordinates of the target workpiece, it sends the data to the motion control process through the UDS communication mechanism. Upon receiving the coordinates, the motion control process immediately performs inverse kinematics calculations and sends control commands to the industrial robot through EtherCAT interface 1 to complete actions such as grasping and assembly.

[0040] Combination Figure 3 As shown, optionally, the programmable controller also includes: The digital twin module 23, connected to the motion control module 22, is configured to receive industrial robot data from the motion control module; based on the received data and the industrial robot model, it drives the virtual industrial robot model to perform synchronous motion in three-dimensional space.

[0041] Here, the digital twin module connects to the motion control module, receiving real-time data from the industrial robot to achieve real-time virtual mapping and synchronized motion. Specifically, based on real-time data acquisition and CAD modeling, the digital twin module maps the motion state of the physical industrial robot (the physical robot) with high precision, constructing a synchronized digital mirror in virtual space. This allows for monitoring of the industrial robot's real-time posture, working range, and other parameters. Furthermore, the robot's motion trajectory and logic program can be verified on the virtual model; once confirmed to be correct, it can be sent to the physical industrial robot for execution, shortening debugging time.

[0042] For example, information from the encoder of the industrial robot's motor is collected in real time to obtain the angle values ​​of each joint. Combined with the CAD model file of the industrial robot, a robot model is created in digital three-dimensional space, which is a virtual industrial robot that moves in complete synchronization with the physical industrial robot, so as to realize the status monitoring and visualization of the industrial robot.

[0043] Optionally, the digital twin module 23 is also connected to the machine vision module 21 and is configured to construct a three-dimensional scene using images acquired by the machine vision module for path planning, collision detection, or remote monitoring of industrial robots in the three-dimensional scene.

[0044] Here, the digital twin module connects not only to the motion control module but also to the machine vision module, receiving point cloud data scanned by industrial cameras. Using this point cloud data and real-time robot data, the digital twin module drives a virtual industrial robot model built from a CAD model to move synchronously within a 3D scene, enabling remote real-time monitoring. It also utilizes the vision-constructed 3D scene for collision detection and offline path planning, feeding back the planned safe path to the motion control module to guide the movement of the physical industrial robot. In this way, high-risk, high-cost testing and verification are completed in a virtual environment, ensuring the safety of the physical industrial robot's operation. Furthermore, the digital twin allows for remote diagnosis, maintenance, and guidance of the industrial robot.

[0045] Optionally, the programmable controller supports virtual axes; the programmable controller also includes: The simulation module 24, connected to the motion control module 22, is configured to perform motion simulation of an industrial robot using virtual axes controlled by the motion control module. The virtual axis and the physical axis of the industrial robot are consistent in architecture, control logic and control interface.

[0046] Here, the programmable logic controller (PLC) supports virtual axis functionality. The virtual axis simulates all the behaviors of the actual servo motors of the industrial robot (including virtual encoder feedback) in the software, and is completely consistent with the physical axis in terms of architecture, control logic, and control interface. The simulation module connects to the motion control module, thus utilizing the virtual axis for simulation. In simulation mode, the motion control module no longer sends commands to the physical EtherCAT interface but instead drives the virtual axis. Based on the motion data of the virtual axis, the simulation module simulates the operation of the industrial robot in a virtual environment, thereby completing program testing and debugging without connecting any real robot or camera.

[0047] Combination Figure 4 As shown, optionally, the system also includes a front-end interactive device 10, which is connected to the programmable controller 20 to provide a human-machine interface for teaching and programming the industrial robot 30.

[0048] Here, as mentioned earlier, the programmable controller (PLC) connects to and controls multiple industrial robots. Under this architecture, the front-end interactive device can dynamically switch the control of multiple industrial robots. This enables time-sharing centralized management of multiple industrial robots under the same PLC. Optionally, the front-end interactive device can be a teach pendant, tablet computer, or portable computer. The front-end interactive device dynamically switches the industrial robots connected to the PLC according to operational needs, enabling time-sharing monitoring and control of multiple industrial robots. Modules for computation and processing, such as machine vision and motion control modules, are integrated into the PLC. Even if the front-end interactive device fails due to malfunction or communication interruption, the PLC can continue to operate, maintaining the status of each industrial robot.

[0049] Optionally, the front-end interactive device and the programmable controller can communicate via an RJ45 wired network or a WLAN wireless network. During wireless communication, the front-end interactive device can be switched based on different scenarios (such as debugging, inspection, and remote support) without requiring any modifications to the core modules of the control system, thus increasing the system's flexibility and broadening its application scenarios.

[0050] Optionally, the programmable controller can be connected to multiple industrial robots via an EtherCAT network in a star or ring topology.

[0051] During the execution of the control program by the programmable control unit, control commands are synchronously distributed to multiple industrial robots through the EtherCAT network, and status data of multiple industrial robots are collected.

[0052] Here, a single programmable logic controller (PLC) controls multiple industrial robots via an EtherCAT network. The connection between the PLC and the robots can be either a star topology or a ring topology. The PLC acts as the EtherCAT master, and each industrial robot is configured as an EtherCAT slave. In a star topology, the PLC connects to the EtherCAT interface of each robot (as a slave) via an EtherCAT switch. In a ring topology, EtherCAT messages originate from the master, pass through robot 1, robot 2… robot N, and finally return to the master from the last robot, forming a physical closed loop. In this way, EtherCAT's hardware processing mechanism and fixed communication cycle ensure absolute stability of the system response time and improve data throughput, enabling data exchange between multiple industrial robots within millimeter-level parameters.

[0053] Based on the control system described above, combined with Figure 5 As shown, this disclosure provides a multi-unit control method for industrial robots, including: The S101 programmable controller receives images captured by an industrial camera and real-time data fed back by an industrial robot.

[0054] S102, the machine vision module processes the received image and sends the processed data to the motion control module.

[0055] S103, the motion control module generates operation control commands based on real-time data and processed data information to control the industrial robot.

[0056] Here, an industrial camera acquires images and uploads them via a first network interface. Image acquisition can be initiated by a trigger signal from the motion control module, capturing images when the industrial robot reaches a predetermined position, improving efficiency and cycle time. Real-time data from the industrial robot's servo drive is uploaded via a second network interface. Within the machine vision process, the vision algorithm processing thread calls a pre-packaged dynamic link library to execute algorithms, processing the acquired images to obtain relevant data. The machine vision module sends the processing results to the motion control module via a Unix Domain Socket. Based on the received data and real-time data, the motion control module performs trajectory planning, generates control commands, and sends these commands to the industrial robot's servo drive via the second network interface to drive the robot's movement.

[0057] Optionally, it also includes: the digital twin module receiving real-time data from the industrial robot fed back by the motion control module; and driving the virtual industrial robot model to move synchronously in virtual space based on the real-time data from the industrial robot and the three-dimensional model of the industrial robot.

[0058] Here, the digital twin module and the motion control module communicate inter-process to receive real-time data from the physical industrial robot. Based on the industrial robot's CAD model file, a virtual twin industrial robot is automatically parsed and constructed. Through a calibration program, the virtual industrial robot's base coordinate system is made to completely coincide with the physical industrial robot's base coordinate system. The virtual industrial robot model then performs synchronous motion based on the real-time data.

[0059] Optionally, it also includes: in simulation mode, driving virtual axes through control commands generated by the motion control module; the simulation module performs offline simulation of the motion of the industrial robot based on the motion data of the virtual axes; wherein the control logic for the virtual axes is consistent with the control logic for the physical axes of the industrial robot.

[0060] Here, when the programmable logic controller (PLC) runs in simulation mode, the motion control module automatically redirects its output control commands from the physical EtherCAT bus to internal virtual axes. The simulation module can construct a virtual work cell containing elements such as obstacles, conveyor belts, and other equipment to test whether the industrial robot's trajectory will collide or whether the process logic is correct, providing feedback to the motion control module via virtual axes. The simulation module records the entire simulation process and outputs key information such as collision reports and trajectory exceeding limits for debugging purposes.

[0061] Combination Figure 6 As shown, this disclosure provides a multi-unit control device 100 for industrial robots, including a processor 101 and a memory 102. Optionally, the device may further include a communication interface 103 and a bus 104. The processor 101, communication interface 103, and memory 102 can communicate with each other via the bus 104. The communication interface 103 can be used for information transmission. The processor 101 can call logical instructions in the memory 102 to execute the multi-unit control method for industrial robots described in the above embodiments.

[0062] Furthermore, the logical instructions in the aforementioned memory 102 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium.

[0063] The memory 102, as a computer-readable storage medium, can be used to store software programs and computer-executable programs, such as program instructions / modules corresponding to the methods in the embodiments of this disclosure. The processor 101 executes functional applications and data processing by running the program instructions / modules stored in the memory 102, thereby implementing the multi-unit control method for industrial robots in the above embodiments.

[0064] The memory 102 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the terminal device. Furthermore, the memory 102 may include high-speed random access memory and may also include non-volatile memory.

[0065] Combination Figure 7As shown, this disclosure provides a programmable controller, including: a multi-core processor, including a first core and a second core; a machine vision module configured to run on the first core of the programmable controller; and a motion control module configured to run on the second core of the programmable controller. The machine vision module and the motion control module run as independent processes within the programmable controller's operating system. The multi-unit control device 100 for industrial robots described above is also installed on the programmable controller body. The installation relationship described herein is not limited to placement within the programmable controller body, but also includes installation connections with other components of the programmable controller, including but not limited to physical connections, electrical connections, or signal transmission connections. Those skilled in the art will understand that the multi-unit control device 100 for industrial robots can be adapted to feasible programmable controller bodies to achieve other feasible embodiments.

[0066] The technical solutions of this disclosure can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes one or more instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in this disclosure. The aforementioned storage medium can be a non-transitory storage medium, such as a USB flash drive, external hard drive, read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk, etc., and other media capable of storing program code.

[0067] The foregoing description and accompanying drawings fully illustrate embodiments of this disclosure to enable those skilled in the art to practice them. Other embodiments may include structural, logical, electrical, procedural, and other changes. The embodiments represent only possible variations. Individual components and functions are optional unless explicitly required, and the order of operation may vary. Parts and features of some embodiments may be included in or replace parts and features of other embodiments. Moreover, the terminology used in this application is for describing embodiments only and is not intended to limit the claims. As used in the description of embodiments and claims, the singular forms “a,” “an,” and “the” are intended to equally include the plural forms unless the context clearly indicates otherwise. Similarly, the term “and / or” as used in this application means including one or more of the associated listed items and all possible combinations thereof. Additionally, when used in this application, the term "comprise" and its variations "comprises" and / or "comprising" refer to the presence of stated features, integrals, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof. Without further limitations, an element defined by the phrase "comprises a..." does not exclude the presence of other identical elements in the process, method, or apparatus that includes said element. In this document, each embodiment may focus on the differences from other embodiments, and similar or identical parts between embodiments can be referred to mutually. For methods, products, etc., disclosed in the embodiments, if they correspond to the method section disclosed in the embodiments, the relevant parts can be referred to the description of the method section.

[0068] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this disclosure. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0069] The methods and products disclosed in the embodiments herein (including but not limited to devices and equipment) can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For instance, the division of units may be merely a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms. The units described as separate components may or may not be physically separate. 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 can be selected to implement this embodiment according to actual needs. In addition, the functional units in the embodiments of this disclosure may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0070] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than that shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. In the descriptions corresponding to the flowcharts and block diagrams in the accompanying drawings, the operations or steps corresponding to different blocks may also occur in a different order than disclosed in the description, and sometimes there is no specific order between different operations or steps. For example, two consecutive operations or steps may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. Each block in a block diagram and / or flowchart, and combinations of blocks in a block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

Claims

1. A multi-unit control system for industrial robots, characterized in that, include: A programmable logic controller (PLC) is connected to multiple industrial robots for motion control of the robots. The PLC includes a multi-core processor, a machine vision module, and a motion control module. The machine vision module is configured to run on the first core of the programmable controller; the motion control module is configured to run on the second core of the programmable controller; the machine vision module and the motion control module run as independent processes in the programmable controller operating system.

2. The multi-unit control system according to claim 1, characterized in that, The machine vision module and the motion control module interact with each other through an inter-process communication mechanism. Inter-process communication mechanisms include Unix Domain Sockets.

3. The multi-unit control system according to claim 1, characterized in that, The machine vision module includes: The camera management unit is used to manage the device enumeration, parameter configuration, and image acquisition of industrial cameras; The visual algorithm processing unit processes the acquired images by calling visual algorithms encapsulated as dynamic link libraries; The tasks of the camera management unit and the vision algorithm processing unit are concurrently executed on different threads.

4. The multi-unit control system according to claim 1, characterized in that, The machine vision module communicates with multiple industrial cameras through a first network interface; the industrial cameras are used to collect information from the industrial robot. The motion control module communicates with multiple industrial robots in real time through a second network interface.

5. The multi-unit control system according to claim 4, characterized in that, The first network interface is used to connect the machine vision module and the industrial camera; the first network interface includes a GigE interface or a USB3 Vision interface. The second network interface is used to connect the motion control module and the industrial robot; the second network interface includes an EtherCAT interface.

6. The multi-unit control system according to claim 1, characterized in that, Programmable controllers also include: The digital twin module, connected to the motion control module, is configured to receive industrial robot data from the motion control module; based on the received data and the industrial robot model, it drives the virtual industrial robot model to perform synchronous motion in three-dimensional space.

7. The multi-unit control system according to claim 6, characterized in that, The digital twin module is also connected to the machine vision module and is configured to construct a three-dimensional scene using images acquired by the machine vision module, so as to perform path planning, collision detection or remote monitoring of industrial robots in the three-dimensional scene.

8. The multi-unit control system according to claim 1, characterized in that, The programmable controller supports virtual axes; the programmable controller also includes: The simulation module, connected to the motion control module, is configured to perform motion simulation of an industrial robot using virtual axes controlled by the motion control module. The virtual axis and the physical axis of the industrial robot are consistent in architecture, control logic and control interface.

9. The multi-unit control system according to any one of claims 1 to 8, characterized in that, Also includes: A front-end interactive device, connected to a programmable controller, is used to provide a human-machine interface for teaching and programming industrial robots.

10. A control method for an industrial robot, characterized in that, Based on the multi-connected control system according to any one of claims 1 to 9, the control method includes: It receives images captured by industrial cameras and real-time data fed back by industrial robots; The received image is processed, and the processed information is sent to the motion control module. Based on real-time data and the processed information, operation control commands are generated to control the industrial robot.