Distributed cross-platform teaching method and device for industrial robots
By using a distributed cross-platform teaching system, the interface and business logic are decoupled through a publish-subscribe mechanism and message queues, enabling cross-platform teaching pendant control. This solves the problem of complex development of existing teaching pendant systems and improves the scalability and stability of the system.
Patent Information
- Application Number
- CN202411280114.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-12
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2044-09-12
AI Technical Summary
Existing teach pendant systems suffer from architectural limitations, leading to complex development processes and difficulties in achieving cross-platform compatibility and efficient programming and debugging.
A distributed cross-platform teaching system is adopted. Through the separation design of the teach pendant main process and the remote GUI process, the data synchronization and control across platforms are realized by using the publish-subscribe mechanism and the message queue mechanism. Combined with inter-core communication and AOF mechanism, the interface and business logic are decoupled.
It enables flexible control of the cross-platform teach pendant system, improves the system's scalability and stability, reduces development complexity, and improves programming and debugging efficiency.
Smart Images

Figure CN118990496B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robot teaching technology, and more specifically, to a distributed cross-platform teaching method and apparatus for industrial robots. Background Technology
[0002] A teach pendant is an external operating unit for industrial robots, directly connected to the robot's motion controller to control the robot's movement. The teach pendant provides physical buttons and a capacitive touchscreen for operators to program, teach, and perform point-to-point operations. However, the teach pendant screen is small and the operation methods are limited, making programming in complex process scenarios cumbersome and significantly hindering the efficiency of robot applications.
[0003] Furthermore, some companies aim to reduce overall system costs and decrease the purchase and use of teach pendants. Therefore, they need to provide a Windows desktop version of a virtual teach pendant to replace the physical teach pendant for programming, teaching, and other operations. This requires the teach pendant system to support cross-platform use.
[0004] Current teach pendant systems suffer from architectural limitations, and feature iterations need to be compatible with multiple platforms and multiple joints (four-joint, six-joint), resulting in high development difficulty and low efficiency.
[0005] There is currently no effective solution to the above problems. Summary of the Invention
[0006] This invention provides a distributed cross-platform teaching method and apparatus for industrial robots, which at least solves the technical problem that the development of teach pendant systems is relatively complex due to the limitations of the teach pendant architecture in related technologies.
[0007] According to one aspect of the present invention, a distributed cross-platform teaching pendant system is provided, comprising: a teach pendant main process, deployed in a multi-core platform of the controller of the industrial robot, for pushing response messages or events to a remote graphical user interface (GUI) process of the teach pendant via a publish-subscribe mechanism; the remote GUI process of the teach pendant, deployed in each platform of the industrial robot, wherein operation commands of the teach pendant of the industrial robot are distributed in the GUI process to a business message queue via a soft bus of the teach pendant main process; and the business message queue, deployed in the teach pendant main process, for processing received business logic.
[0008] Optionally, the teach pendant main process uses a single central processing unit (CPU) core in the multi-core platform and is isolated from the CPU core of the controller.
[0009] Optionally, when an event broadcast or message publication is required, the business message queue sends a message to the Pub / Sub queue through the response message queue. The Pub / Sub queue is a message communication mode in which the message sender sends a message to a topic, and the message receiver receives the message by subscribing to the topic.
[0010] Optionally, when each of the teach pendant remote GUI processes starts, it registers the message type or event type it subscribes to with the teach pendant main process, wherein the teach pendant main process distributes messages through the Pub / Sub queue according to the message type or the event type.
[0011] Optionally, each of the platforms includes: an ARM platform, a Windows platform, and a Linux platform. The ARM platform and the Linux platform both include a teach pendant graphical user interface (GUI). The Windows platform includes: a virtual teach pendant graphical user interface (GUI) and an offline programming system. Each of the teach pendant GUIs, the virtual teach pendant GUI, and the offline programming system is connected to the teach pendant main process.
[0012] According to another aspect of the present invention, a distributed cross-platform teaching method for an industrial robot is also provided, comprising: after the remote GUI process of the teach pendant of the distributed cross-platform teaching system connects to the main process of the distributed cross-platform teaching system, obtaining a registration identifier assigned to it by the main process of the teach pendant; adding teaching instructions to the teach pendant of the ARM platform of the distributed cross-platform teaching system according to the registration identifier; sending the teaching instructions to the soft bus message queue of the main process of the teach pendant through a predetermined protocol; distributing the teaching instructions of the predetermined protocol to the message processing queue of the predetermined protocol through the soft bus message queue, and invoking a file synchronizer, wherein the file synchronizer updates the teaching instructions of the predetermined protocol to its local machine to teach the industrial robot.
[0013] Optionally, after invoking the file synchronizer, the distributed cross-platform teaching method for the industrial robot further includes: updating the physical program file in the teach pendant main process using the teaching instructions updated locally via the file synchronizer; after the file synchronizer successfully updates the physical program file using the teaching instructions, generating a program change event and sending the program change event to a Pub / Sub queue, so as to use the Pub / Sub queue to send the program change event according to the event type or message subscriber.
[0014] Optionally, after invoking the file synchronizer, the distributed cross-platform teaching method for the industrial robot further includes: after the remote GUI process of the teach pendant receives the program change event, viewing the event source identifier of the program change event; and when the event source identifier is not the registration identifier assigned by the main process of the teach pendant, obtaining the teaching instruction of the program change event.
[0015] Optionally, after the remote GUI process of the teach pendant in the distributed cross-platform teaching system connects to the main process of the distributed cross-platform teaching system, the distributed cross-platform teaching method for the industrial robot further includes: performing a debugging action on an offline programming system on a Windows platform and obtaining the debugging instruction corresponding to the debugging action; sending the debugging instruction to the soft bus message queue of the teach pendant main process, so as to use the soft bus message queue to send the debugging instruction to the debugging service queue; calling the debugger through the debugging service queue, and sending the debugging instruction to the controller of the industrial robot through the debugger; after the controller runs the debugging instruction, sending the controller's running status data to the response message queue of the teach pendant main process, so as to use the response message queue to distribute the running status data to the subscribing processes through the Pub / Sub queue.
[0016] Optionally, the distributed cross-platform teaching method for the industrial robot further includes: updating the interface debugging breakpoints and the debugging instructions when the remote GUI process of the teach pendant receives the debugging status message.
[0017] According to another aspect of the present invention, a distributed cross-platform teaching device for an industrial robot is also provided, comprising: a first acquisition module, configured to acquire a registration identifier assigned to it by the main process of the distributed cross-platform teaching system after the remote GUI process of the teach pendant of the distributed cross-platform teaching system connects to the main process of the distributed cross-platform teaching system; an addition module, configured to add teaching instructions to the teach pendant of the ARM platform of the distributed cross-platform teaching system according to the registration identifier; a first sending module, configured to send the teaching instructions to the soft bus message queue of the main process of the teach pendant through a predetermined protocol; and a first processing module, configured to distribute the teaching instructions of the predetermined protocol to the message processing queue of the predetermined protocol through the soft bus message queue, and call a file synchronizer, wherein the file synchronizer updates the teaching instructions of the predetermined protocol to its local machine for teaching the industrial robot.
[0018] Optionally, the distributed cross-platform teaching device for the industrial robot further includes: a first update module, used to update the physical program file in the main process of the teach pendant using the teaching instructions updated to the local machine after calling the file synchronizer; and a second processing module, used to generate a program change event after the file synchronizer successfully updates the physical program file using the teaching instructions, and send the program change event to a Pub / Sub queue, so that the Pub / Sub queue can be used to send the program change event according to the event type or message subscriber.
[0019] Optionally, the distributed cross-platform teaching device for the industrial robot further includes: a viewing module, used to view the event source identifier of the program change event after the remote GUI process of the teach pendant receives the program change event after calling the file synchronizer; and a second acquisition module, used to acquire the teaching instruction of the program change event when the event source identifier is not the registration identifier assigned by the main process of the teach pendant.
[0020] Optionally, the distributed cross-platform teaching device for the industrial robot further includes: a debugging module, used to perform debugging actions on an offline programming system on a Windows platform and obtain debugging instructions corresponding to the debugging actions; a second sending module, used to send the debugging instructions to the soft bus message queue of the teach pendant main process, so as to use the soft bus message queue to send the debugging instructions to the debugging service queue; a third processing module, used to call the debugger through the debugging service queue and send the debugging instructions to the controller of the industrial robot through the debugger; and a third sending module, used to send the controller's running status data to the response message queue of the teach pendant main process after the controller runs the debugging instructions, so as to use the response message queue to distribute the running status data to the subscribing processes through the Pub / Sub queue.
[0021] Optionally, the distributed cross-platform teaching device for the industrial robot further includes: a second update module, used to update the interface debugging breakpoints and the debugging instructions when the remote GUI process of the teach pendant receives the debugging status message.
[0022] According to another aspect of the present invention, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored program, wherein the program executes the distributed cross-platform teaching method for industrial robots described in any one of the foregoing embodiments.
[0023] According to another aspect of the present invention, a processor is also provided, the processor being configured to run a program, wherein the program, when running, executes the distributed cross-platform teaching method for industrial robots described in any of the foregoing embodiments.
[0024] According to another aspect of the present invention, a computer program product is also provided, including computer instructions, which are executed by a processor to perform the distributed cross-platform teaching method for industrial robots described in any one of the foregoing embodiments.
[0025] In this embodiment of the invention, after the remote GUI process of the teach pendant in the distributed cross-platform teaching system connects to the main process of the distributed cross-platform teaching system, it obtains the registration identifier assigned to it by the main process of the teach pendant. Based on the registration identifier, it adds teaching instructions to the teach pendant on the ARM platform of the distributed cross-platform teaching system. The teaching instructions are sent to the soft bus message queue of the main process of the teach pendant via a predetermined protocol. The teaching instructions of the predetermined protocol are distributed to the message processing queue of the predetermined protocol via the soft bus message queue, and a file synchronizer is invoked. The file synchronizer updates the teaching instructions of the predetermined protocol to its local machine to teach the industrial robot. Through the technical solution provided by this invention, the distributed architecture and message queue mechanism of the cross-platform teach pendant system are adopted, decoupling the architecture of the interface and business logic. By utilizing inter-core communication and the AOF mechanism, the robot can be controlled more flexibly and accurately. This achieves the technical effect of remote control of the teach pendant, improves the scalability and stability of the system, and solves the technical problem of complex development of teach pendant systems due to the limitations of the teach pendant architecture in related technologies. Attached Figure Description
[0026] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:
[0027] Figure 1 This is a schematic diagram of a distributed cross-platform teaching system according to an embodiment of the present invention;
[0028] Figure 2 This is a schematic diagram illustrating the deployment of a distributed cross-platform teach pendant system according to an embodiment of the present invention;
[0029] Figure 3 This is a schematic diagram of a cross-platform message communication mechanism according to an embodiment of the present invention;
[0030] Figure 4 This is a hardware structure block diagram of a mobile terminal for a distributed cross-platform teaching method for industrial robots according to an embodiment of the present invention.
[0031] Figure 5 This is a flowchart of a distributed cross-platform teaching method for industrial robots according to an embodiment of the present invention;
[0032] Figure 6This is a schematic diagram illustrating program editing synchronization according to an embodiment of the present invention;
[0033] Figure 7 This is a schematic diagram of program debugging synchronization according to an embodiment of the present invention;
[0034] Figure 8 This is a schematic diagram of a distributed cross-platform teaching device for an industrial robot according to an embodiment of the present invention. Detailed Implementation
[0035] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0036] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention 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 so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0037] As described in the background section, teach pendant systems in related technologies are relatively complex to develop due to limitations in their architecture. To address these shortcomings, embodiments of the present invention provide a distributed cross-platform teaching method and apparatus for industrial robots, a distributed cross-platform teaching system, a computer-readable storage medium, a processor, and a computer program product.
[0038] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.
[0039] According to one aspect of the present invention, a distributed cross-platform teaching system is provided. Figure 1 This is a schematic diagram of a distributed cross-platform teaching system according to an embodiment of the present invention, including: a teach pendant main process 101, a teach pendant remote GUI process 103, and a business message queue 105. The distributed cross-platform teaching system will be described in detail below.
[0040] The teach pendant main process 101 is deployed on the multi-core platform of the industrial robot's controller. It is used to push response messages or events to the remote graphical user interface (GUI) process of the teach pendant through a publish-subscribe mechanism.
[0041] It should be noted that the controllers of the aforementioned industrial robots typically employ multi-core processor platforms to achieve higher performance and faster response times. Multi-core processors can handle multiple tasks simultaneously, improving the efficiency and flexibility of the robot control system. Through multi-core processor platforms, industrial robot controllers can better meet the needs of various industrial applications, improving production efficiency and quality. The aforementioned publish-subscribe mechanism is a design pattern used to implement message passing and event notification. In this mechanism, subscribers can register their interest in specific types of messages or events. When a publisher publishes a relevant message or event, the subscriber will receive a notification and perform corresponding operations. The aforementioned remote graphical user interface (GUI) process of the teach pendant is the operating interface used to remotely control the teach pendant.
[0042] Figure 2 This is a schematic diagram illustrating the deployment of a distributed cross-platform teach pendant system according to an embodiment of the present invention, as shown below. Figure 2 As shown, the distributed cross-platform teach pendant system is based on the original teach pendant, controller, and robot body. It realizes the purpose of multi-terminal display, programming, and control of the teach pendant on the original robot control system. In the system deployment, the teach pendant Core process (i.e., the teach pendant main process) is deployed as the main process of teach pendant operation on the multi-core platform of the controller. It shares physical storage with the controller and communicates with the motion control system through inter-core communication.
[0043] The remote GUI process 103 of the teach pendant is deployed on various platforms of the industrial robot. The operation commands of the industrial robot's teach pendant are distributed from the GUI process to the business message queue through the soft bus of the teach pendant main process.
[0044] Optionally, the platforms of the aforementioned industrial robots may include Windows, Linux, ARM, and other platforms.
[0045] It should be noted that the soft bus of the main process mentioned above is a communication interface used to realize communication and data transmission between different components. It can help different modules or devices exchange and collaborate in the system. The soft bus can act as a bridge in the main process, connecting different modules to realize data transmission and sharing.
[0046] Figure 3 This is a schematic diagram of a cross-platform message communication mechanism according to an embodiment of the present invention, such as... Figure 3As shown, the soft bus message queue is implemented on the Core process (i.e., the teach pendant master process), and all external control commands are distributed to different business message queues through the soft bus.
[0047] Business message queue 105 is deployed in the teach pendant main process and is used to process received business logic.
[0048] It should be noted that the aforementioned business message queue is a mechanism for processing and transmitting business messages, typically used to decouple communication between various modules in a system, thereby improving the system's reliability, scalability, and performance; the aforementioned business logic refers to a series of processes and rules designed within an organization or enterprise to achieve specific goals.
[0049] like Figure 3 As shown, the business message queue distributes and processes the corresponding business logic. If the business logic involves the control system, data is sent through inter-core communication.
[0050] As described above, in this embodiment of the invention, a teach pendant main process can be deployed on the multi-core platform of the industrial robot controller to push response messages or events to the remote graphical user interface (GUI) process of the teach pendant via a publish-subscribe mechanism. Remote GUI processes of the teach pendant are deployed on various platforms of the industrial robot, and the operation commands of the industrial robot's teach pendant are distributed from the GUI process to the business message queue via the soft bus of the teach pendant main process. A business message queue is deployed in the teach pendant main process to process the received business logic. This achieves the goal of using a distributed architecture and message queue mechanism of a cross-platform teach pendant system, decoupling the architecture of the interface and business logic, and utilizing inter-core communication and the AOF mechanism to control the robot more flexibly and accurately. This realizes the technical effect of remotely controlling the teach pendant and improves the system's scalability and stability.
[0051] The technical solutions provided by the embodiments of the present invention solve the technical problem that the development of teach pendant systems is relatively complex due to the limitations of the teach pendant architecture in related technologies.
[0052] According to the above embodiments of the present invention, the teach pendant main process uses a single central processing unit (CPU) core in a multi-core platform and is isolated from the CPU core of the controller.
[0053] In this embodiment, the Core process (i.e., the teach pendant main process) runs on the multi-core platform of the driver and controller, uses a single CPU core independently, is isolated from the CPU core of the control system, and can interact with the control system through inter-core communication.
[0054] According to the above embodiments of the present invention, when an event broadcast or message publication is required, the business message queue sends a message to the Pub / Sub queue through the response message queue. The Pub / Sub queue is a message communication mode in which the message sender sends a message to a topic, and the message receiver receives the message by subscribing to the topic.
[0055] In this embodiment, the business message queue can send events or messages that need to be broadcast to the Pub / Sub queue via the response message queue.
[0056] like Figure 3 As shown, the response message queue simultaneously receives control system messages and status notifications from inter-core communication, and then distributes them to subscribers via the Pub / Sub queue.
[0057] According to the above embodiments of the present invention, when each remote GUI process of the teach pendant starts, it registers the message type or event type it subscribes to with the teach pendant main process, wherein the teach pendant main process distributes messages through the Pub / Sub queue according to the message type or event type.
[0058] In this embodiment, when the remote GUI process on different platforms starts, it can register the message and event types it subscribes to with the Core process. The Core process then distributes the messages through the Pub / Sub queue based on the message and event types subscribed to by the GUI process.
[0059] According to the above embodiments of the present invention, each platform includes: an ARM platform, a Windows platform, and a Linux platform. Both the ARM platform and the Linux platform include a teach pendant graphical user interface (GUI). The Windows platform includes: a virtual teach pendant graphical user interface (GUI) and an offline programming system. Each teach pendant GUI, virtual teach pendant GUI, and offline programming system is connected to the teach pendant main process.
[0060] In this embodiment, the remote GUI process of the teach pendant can be deployed on platforms such as Windows, Linux, and ARM.
[0061] like Figure 2 As shown, the teaching pendant's operation commands are distributed from the GUI process to their respective business processing modules via the Core process's soft bus. At the same time, the Core process pushes the response messages and events to different GUI processes through the Pub / Sub publish / subscribe mechanism.
[0062] As can be seen from the above, in this embodiment of the invention, by deploying the teach pendant main process, data is pushed to the teach pendant remote user interface (GUI) process through a publish-subscribe mechanism to achieve real-time data synchronization and interaction; by deploying the teach pendant remote GUI process on various platforms, remote teaching and operation of industrial robots can be achieved; and by deploying the business message queue in the teach pendant main process, it is mainly used to process the received business logic messages to achieve business logic processing and control.
[0063] The methods and embodiments provided in this invention can be executed on a mobile terminal, a computer terminal, or a similar computing device. Taking running on a mobile terminal as an example, Figure 4 This is a hardware structure block diagram of a mobile terminal for a distributed cross-platform teaching method for industrial robots according to an embodiment of the present invention. Figure 4 As shown, a mobile terminal may include one or more ( Figure 4 Only one is shown in the diagram. A processor 402 (which may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.) and a memory 404 for storing data are also shown. The mobile terminal may further include a transmission device 406 for communication functions and an input / output device 408. Those skilled in the art will understand that... Figure 4 The structure shown is for illustrative purposes only and does not limit the structure of the mobile terminal described above. For example, the mobile terminal may also include components that are more... Figure 4 The more or fewer components shown, or having the same Figure 4 The different configurations shown.
[0064] The memory 404 can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to the distributed cross-platform teaching method for industrial robots in this embodiment of the invention. The processor 402 executes various functional applications and data processing by running the computer program stored in the memory 404, thereby implementing the above-described method. The memory 404 may include high-speed random access memory and non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 404 may further include memory remotely located relative to the processor 402, and these remote memories can be connected to the mobile terminal via a network. Examples of the aforementioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. The transmission device 406 is used to receive or send data via a network. Specific examples of the aforementioned networks may include wireless networks provided by the mobile terminal's communication provider. In one example, the transmission device 406 includes a network interface controller (NIC), which can be connected to other network devices via a base station to communicate with the Internet. In one example, the transmission device 406 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0065] According to an embodiment of the present invention, a method embodiment of a distributed cross-platform teaching method for industrial robots is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0066] Figure 5 This is a flowchart of a distributed cross-platform teaching method for industrial robots according to an embodiment of the present invention, such as... Figure 5 As shown, the method includes the following steps:
[0067] Step S502: After the remote GUI process of the teach pendant in the distributed cross-platform teaching system connects to the main process of the distributed cross-platform teaching system, it obtains the registration identifier assigned to it by the main process of the teach pendant.
[0068] In this embodiment, after the remote GUI process of the teach pendant in the distributed cross-platform teaching system successfully connects to the Core process (i.e., the main process of the distributed cross-platform teaching system), it obtains the registration ID (i.e., registration identifier) assigned to it by the main process of the teach pendant. The registration identifier can be used to uniquely identify the remote GUI process of the teach pendant, ensuring that the main process can correctly send information to the designated remote GUI process of the teach pendant, so as to ensure that the communication between the remote GUI process of the teach pendant and the main process can proceed smoothly, effectively manage and control the various components of the teach pendant system, and improve the stability and reliability of the system.
[0069] Step S504: Add teaching instructions to the teach pendant on the ARM platform of the distributed cross-platform teaching system according to the registration identifier.
[0070] In this embodiment, a teaching instruction MovJ can be added to the physical teach pendant on the ARM side of the distributed cross-platform teaching system based on the registration identifier, so as to instruct the physical teach pendant to move to the specified target position along a straight path during movement.
[0071] It should be noted that the above MovJ commands can be used to control the movement of the robot arm, achieve precise positioning and path planning, and thus complete specific tasks or actions. By adding MovJ commands, users can control the robot's movement trajectory more flexibly, improving the system's flexibility and applicability.
[0072] Step S506: The teaching instruction is sent to the soft bus message queue of the teach pendant main process through a predetermined protocol.
[0073] Figure 6 This is a schematic diagram of program editing synchronization according to an embodiment of the present invention, such as... Figure 6 As shown, the added MovJ teaching instructions are sent to the soft bus message queue of the Core process via the AOF protocol (i.e., the predefined protocol).
[0074] It should be noted that the AOF (Append Only File) protocol mentioned above is a data persistence method in Redis database. Its main feature is that all write operations are appended to the end of the file in the form of a log, thereby ensuring data persistence. By recording the commands and parameters of each write operation, the AOF protocol can replay these commands when the database restarts, thereby restoring the data. It is a reliable data persistence method and is suitable for scenarios with high requirements for data persistence.
[0075] In this embodiment, motion control of the robot can be achieved. Sending instructions via the AOF protocol ensures accurate transmission and execution of instructions, while also enabling precise control and programming of the robot. The soft bus message queue plays the role of transmitting and exchanging instructions, ensuring that instructions can be delivered to the Core process in a timely manner, thereby realizing the robot's motion control.
[0076] Step S508: Distribute the teaching instructions of the predetermined protocol to the message processing queue of the predetermined protocol through the soft bus message queue, and call the file synchronizer, wherein the file synchronizer updates the teaching instructions of the predetermined protocol to the local machine to teach the industrial robot.
[0077] In this embodiment, AOF protocol data (i.e., teaching instructions) can be distributed to the AOF message processing message queue through the soft bus message queue, so that it can be processed by the message processing module and the file synchronizer processing module can be called to ensure data synchronization and persistence. This enables effective management and processing of AOF protocol data, improving the reliability and stability of the system.
[0078] As described above, in this embodiment of the invention, after the remote GUI process of the teach pendant in the distributed cross-platform teaching system connects to the main process of the distributed cross-platform teaching system, it obtains the registration identifier assigned to it by the main process of the teach pendant; according to the registration identifier, it adds teaching instructions to the teach pendant on the ARM platform of the distributed cross-platform teaching system; it sends the teaching instructions to the soft bus message queue of the main process of the teach pendant through a predetermined protocol; it distributes the teaching instructions of the predetermined protocol to the message processing queue of the predetermined protocol through the soft bus message queue, and calls the file synchronizer, wherein the file synchronizer updates the teaching instructions of the predetermined protocol to the local machine to teach the industrial robot. This achieves the goal of decoupling the interface and business logic by adopting the distributed architecture and message queue mechanism of the cross-platform teach pendant system, and using the inter-core communication method and AOF mechanism to control the robot more flexibly and accurately, thereby realizing the technical effect of remote control of the teach pendant and improving the scalability and stability of the system.
[0079] The technical solutions provided by the embodiments of the present invention solve the technical problem that the development of teach pendant systems is relatively complex due to the limitations of the teach pendant architecture in related technologies.
[0080] According to the above embodiments of the present invention, after invoking the file synchronizer, the distributed cross-platform teaching method of the industrial robot further includes: updating the physical program file in the main process of the teach pendant using the locally updated teaching instructions through the file synchronizer; after the file synchronizer successfully updates the physical program file using the teaching instructions, generating a program change event, and sending the program change event to the Pub / Sub queue, so as to use the Pub / Sub queue to send the program change event according to the event type or message subscriber.
[0081] In this embodiment, the AOF protocol data can be updated to the local program cache and physical program files using a file synchronizer and a locally updated teaching instruction. This ensures that the latest version of the program files is used in a timely manner. After a successful update, a program change event is generated and sent to the Pub / Sub queue, enabling real-time notification and event subscription functions. This ensures that relevant systems and subscribers are informed of changes to the program files in a timely manner. The Pub / Sub queue can be used to send program change events to subscribers based on event type, thereby achieving synchronous updates of the program files and ensuring consistency between the program files on the local machine and the controller system.
[0082] like Figure 6 As shown, after a successful update, the file synchronizer will also send the program change message to the controller system via inter-core communication.
[0083] According to the above embodiments of the present invention, after calling the file synchronizer, the distributed cross-platform teaching method of the industrial robot further includes: after the remote GUI process of the teach pendant receives the program change event, checking the event source identifier of the program change event; and when the event source identifier is not the registration identifier assigned by the main process of the teach pendant, obtaining the teaching instruction of the program change event.
[0084] In this embodiment, after the remote GUI process of the teach pendant receives a program change event, it can check the event source ID. If the event source ID is not the assigned ID obtained when the GUI process is registered, it is necessary to obtain the AOF data of the program change (i.e., the teach instruction) to ensure that the remote GUI process always displays the latest program state and maintains data synchronization.
[0085] According to the above embodiments of the present invention, after the remote GUI process of the teach pendant of the distributed cross-platform teaching system connects to the main process of the distributed cross-platform teaching system, the distributed cross-platform teaching method of the industrial robot further includes: performing a debugging action on an offline programming system on a Windows platform and obtaining the debugging instructions corresponding to the debugging action; sending the debugging instructions to the soft bus message queue of the teach pendant main process, so as to use the soft bus message queue to send the debugging instructions to the debugging service queue; calling the debugger through the debugging service queue, and sending the debugging instructions to the controller of the industrial robot through the debugger; after the controller runs the debugging instructions, sending the controller's running status data to the response message queue of the teach pendant main process, so as to use the response message queue to distribute the running status data to the subscribing processes through the Pub / Sub queue.
[0086] Figure 7 This is a schematic diagram of program debugging synchronization according to an embodiment of the present invention, such as... Figure 7 As shown, after the remote GUI successfully connects to the Core process, debugging actions are performed on the offline programming system on the Windows side, and debugging commands are sent to the Core process's soft bus queue. The Core process's soft bus queue is used to send debugging messages to the debugging business queue. The debugger is invoked through the debugging business queue, and debugging instructions are sent to the controller system through inter-core communication. After the controller system runs the commands, the running status data is sent to the Core process's response message queue through inter-core communication. The Core process's response message queue is used to distribute the messages (i.e., running status data) to the subscribing processes through the Pub / Sub queue.
[0087] In this embodiment, remote GUI control of the Core process can be implemented to achieve the requirements of remote debugging and monitoring. Through the mechanism of soft bus queue and response message queue, debugging commands can be transmitted and controller system running status data can be acquired. Communication between the controller system and the Core process can be achieved through inter-core communication. At the same time, messages are distributed to subscribing processes through Pub / Sub queue, enabling multiple subscribing processes to subscribe to and monitor running status data, thereby improving the scalability and flexibility of the system.
[0088] According to the above embodiments of the present invention, the distributed cross-platform teaching method for the industrial robot further includes: updating the interface debugging breakpoints and debugging instructions when the remote GUI process of the teach pendant receives a debugging status message.
[0089] In this embodiment, when the remote GUI process of the teach pendant receives a debug status message, the interface debug breakpoints and corresponding data can be updated, which can quickly locate possible errors or abnormal situations in the program and provide a more intuitive understanding of the program's execution flow.
[0090] Furthermore, it should be noted that the above embodiments are only explained as the best embodiments of the present invention and are not intended to limit the present invention. Any other easily conceivable implementation methods based on the above embodiments are also within the protection scope of the present invention. For example: 1) Communication methods between the GUI process and the Core process include, but are not limited to, RPC, Socket, etc.; 2) The GUI process can be deployed on platforms including, but not limited to, Windows, ARM, Linux, etc.; 3) The message queue implementation methods of the Core process's soft bus include, but are not limited to, MQ, MQTT, etc.; 4) The message and event distribution mechanism of the Core process to the GUI process includes, but is not limited to, Pub / Sub.
[0091] The technical solutions provided by the above embodiments of the present invention effectively solve the following problems: 1) They address the issue of small visualization area and low efficiency in physical teach pendant programming; 2) They resolve the cumbersome debugging process and numerous complex modification steps of physical teach pendants, improving application efficiency; 3) They enable cross-platform application deployment, supporting Windows, Linux, and ARM platforms; 4) They reduce the complexity of teach pendant system development, with the GUI process only responsible for interface logic development; 5) They address the complexity of developing teach pendants compatible with multi-joint robots. Simultaneously, they offer the following beneficial effects: 1) Through the cross-platform teach pendant system, users can switch and operate between clients on different platforms, leveraging the characteristics of different platforms to achieve rapid writing, debugging, and deployment of applications through asynchronous operations, improving the efficiency of robot application implementation; 2) By decoupling the interface and business logic architecture, they reduce the complexity of business development, improve development efficiency, and accelerate functional iteration; 3) By reducing the use of physical teach pendants, they lower the overall cost of the robot and increase product competitiveness.
[0092] As described above, in this embodiment of the invention, the teach pendant first adopts a distributed architecture, with the GUI process and the business core process separated and communicating via cross-process communication. The GUI process can be deployed across platforms such as Windows, Linux, and ARM, and is responsible for interface display, responding to user operations, and updating data. The GUI process only handles interface operations, reducing the complexity of interface logic development. The business core process uses a centralized message queue to uniformly process commands from various platforms and forward them to the controller system for processing. The business core process uses a publish-subscribe mechanism, allowing interface processes on different platforms to simultaneously receive published messages and update interface data. The teach pendant's business core process is deployed on the controller system. On a multi-core platform, physical storage is shared between the Core process and the controller, eliminating the need for frequent program file synchronization. The Core process and the controller use inter-core communication, improving communication efficiency and stability. Program instructions edited by the teach pendant GUI process are sent to the Core process to modify the program file via the AOF mechanism, while simultaneously notifying other GUI processes to update the corresponding instruction lines. Debugging commands for offline programming are sent to the Core process, which then notifies the controller system through the debugger business module. The controller system's execution results and status are sent to the Pub / Sub queue via a response message queue. The Core process then sends the debugged breakpoints and status to the subscriber GUI in the Pub / Sub queue.
[0093] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0094] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods of the various embodiments of this application.
[0095] According to embodiments of the present invention, a distributed cross-platform teaching device for an industrial robot for implementing the above-described distributed cross-platform teaching method for industrial robots is also provided. Figure 8This is a schematic diagram of a distributed cross-platform teaching device for an industrial robot according to an embodiment of the present invention, as shown below. Figure 8 As shown, the device includes: a first acquisition module 801, an addition module 803, a first sending module 805, and a first processing module 807. The distributed cross-platform teaching device for this industrial robot will be described below.
[0096] The first acquisition module 801 is used to acquire the registration identifier assigned to it by the master process of the teach pendant after the remote GUI process of the teach pendant of the distributed cross-platform teaching system connects to the master process of the distributed cross-platform teaching system.
[0097] Add module 803 to add teaching instructions to the teach pendant on the ARM platform of the distributed cross-platform teaching system based on the registration identifier.
[0098] The first sending module 805 is used to send teaching instructions to the soft bus message queue of the teach pendant main process through a predetermined protocol.
[0099] The first processing module 807 is used to distribute the teaching instructions of the predetermined protocol to the message processing queue of the predetermined protocol through the soft bus message queue, and to call the file synchronizer, wherein the file synchronizer updates the teaching instructions of the predetermined protocol to the local machine to teach the industrial robot.
[0100] It should be noted that the first acquisition module 801, the addition module 803, the first sending module 805, and the first processing module 807 mentioned above correspond to steps S502 to S508 in the above embodiments. The four modules and the corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in the above embodiments.
[0101] As can be seen from the above, in the scheme described in the above embodiments of the present invention, firstly, the first acquisition module can be used to connect the remote GUI process of the teach pendant of the distributed cross-platform teaching system to the main process of the distributed cross-platform teaching system, and obtain the registration identifier assigned to it by the main process of the teach pendant; then, the addition module can be used to add teaching instructions to the teach pendant of the ARM platform of the distributed cross-platform teaching system according to the registration identifier; secondly, the first sending module can be used to send the teaching instructions to the soft bus message queue of the main process of the teach pendant through a predetermined protocol; finally, the first processing module can be used to distribute the teaching instructions of the predetermined protocol to the message processing queue of the predetermined protocol through the soft bus message queue, and call the file synchronizer, wherein the file synchronizer updates the teaching instructions of the predetermined protocol to the local machine to teach the industrial robot. This achieves the goal of using the distributed architecture and message queue mechanism of the cross-platform teach pendant system, decoupling the architecture of the interface and business logic, and using the inter-core communication method and AOF mechanism to control the robot more flexibly and accurately, thereby realizing the technical effect of remote control of the teach pendant and improving the scalability and stability of the system.
[0102] The technical solutions provided by the embodiments of the present invention solve the technical problem that the development of teach pendant systems is relatively complex due to the limitations of the teach pendant architecture in related technologies.
[0103] In an optional embodiment, the distributed cross-platform teaching device for the industrial robot further includes: a first update module, used to update the physical program file in the main process of the teach pendant using the locally updated teaching instructions after calling the file synchronizer; and a second processing module, used to generate a program change event after the file synchronizer successfully updates the physical program file using the teaching instructions, and send the program change event to the Pub / Sub queue, so as to use the Pub / Sub queue to send the program change event according to the event type or message subscriber.
[0104] In one optional embodiment, the distributed cross-platform teaching device for the industrial robot further includes: a viewing module, used to view the event source identifier of the program change event after the remote GUI process of the teach pendant receives the program change event after calling the file synchronizer; and a second acquisition module, used to acquire the teaching instruction of the program change event when the event source identifier is not a registration identifier assigned by the main process of the teach pendant.
[0105] In one optional embodiment, the distributed cross-platform teaching device for the industrial robot further includes: a debugging module, used to perform debugging actions on an offline programming system on a Windows platform and obtain debugging instructions corresponding to the debugging actions; a second sending module, used to send the debugging instructions to the soft bus message queue of the teach pendant main process, so as to use the soft bus message queue to send the debugging instructions to the debugging service queue; a third processing module, used to call the debugger through the debugging service queue and send the debugging instructions to the controller of the industrial robot through the debugger; and a third sending module, used to send the controller's running status data to the response message queue of the teach pendant main process after the controller runs the debugging instructions, so as to use the response message queue to distribute the running status data to the subscribing processes through the Pub / Sub queue.
[0106] In one optional embodiment, the distributed cross-platform teaching device for the industrial robot further includes: a second update module, used to update the interface debugging breakpoints and debugging instructions when the remote GUI process of the teach pendant receives a debugging status message.
[0107] According to another aspect of the present invention, a processor is also provided, which is used to run a program, wherein the program executes the distributed cross-platform teaching method for industrial robots described above.
[0108] According to another aspect of the present invention, a computer program product is also provided, including computer instructions, which are executed by a processor for a distributed cross-platform teaching method for an industrial robot.
[0109] According to another aspect of the present invention, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored program, wherein the program executes the distributed cross-platform teaching method for industrial robots described in any of the above embodiments.
[0110] Optionally, in this embodiment, the computer-readable storage medium may be located in any computer terminal in a group of computer terminals in a computer network, or in any communication device in a group of communication devices.
[0111] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: after the remote GUI process of the teach pendant of the distributed cross-platform teaching system connects to the main process of the distributed cross-platform teaching system, it obtains the registration identifier assigned to it by the main process of the teach pendant; adds teaching instructions to the teach pendant of the ARM platform of the distributed cross-platform teaching system according to the registration identifier; sends the teaching instructions to the soft bus message queue of the teach pendant main process through a predetermined protocol; distributes the teaching instructions of the predetermined protocol to the message processing queue of the predetermined protocol through the soft bus message queue, and calls the file synchronizer, wherein the file synchronizer updates the teaching instructions of the predetermined protocol to the local machine to teach the industrial robot.
[0112] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: updating the physical program file in the teach pendant main process using a file synchronizer with teach instructions updated locally; after the file synchronizer successfully updates the physical program file with teach instructions, generating a program change event and sending the program change event to a Pub / Sub queue, so as to use the Pub / Sub queue to send the program change event according to the event type or message subscriber.
[0113] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: after the remote GUI process of the teach pendant receives a program change event, it checks the event source identifier of the program change event; if the event source identifier is not a registration identifier assigned by the teach pendant main process, it obtains the teaching instruction of the program change event.
[0114] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: performing debugging actions on an offline programming system on a Windows platform and obtaining debugging instructions corresponding to the debugging actions; sending the debugging instructions to the soft bus message queue of the teach pendant main process, so as to use the soft bus message queue to send the debugging instructions to the debugging service queue; calling the debugger through the debugging service queue, and sending the debugging instructions to the controller of the industrial robot through the debugger; after the controller runs the debugging instructions, sending the controller's running status data to the response message queue of the teach pendant main process, so as to use the response message queue to distribute the running status data to the subscribing processes through the Pub / Sub queue.
[0115] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: updating interface debugging breakpoints and debugging instructions when the remote GUI process of the teach pendant receives a debug status message.
[0116] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0117] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0118] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.
[0119] 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 units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0120] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0121] If the integrated unit is implemented as 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 invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several 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 methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.
[0122] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A distributed cross-platform teaching system, characterized in that, The distributed cross-platform teaching system is applied to industrial robots and includes: The teach pendant main process is deployed on the multi-core platform of the industrial robot's controller and is used to push response messages or events to the remote GUI process of the teach pendant through a publish-subscribe mechanism. The remote GUI process of the teach pendant is deployed on each platform of the industrial robot. The operation commands of the industrial robot's teach pendant are distributed to the business message queue through the soft bus of the teach pendant main process in the remote GUI process of the teach pendant. The business message queue, deployed in the teach pendant's main process, is used to process received business logic. When event broadcasting or message publishing is required, the business message queue sends messages to the Pub / Sub queue via the response message queue. The Pub / Sub queue is a message communication mode where message senders send messages to topics, and message receivers receive messages by subscribing to topics. When the remote GUI process of each teach pendant starts, it registers the message type or event type it subscribes to with the teach pendant main process. The teach pendant main process then distributes messages through the Pub / Sub queue based on the message type or event type. The platforms include: ARM platform, Windows platform and Linux platform. The ARM platform and the Linux platform both include the remote GUI process of the teach pendant. The Windows platform includes: a virtual teach pendant remote GUI process and an offline programming system. Each of the teach pendant remote GUI processes, the virtual teach pendant remote GUI process and the offline programming system are connected to the teach pendant main process.
2. The distributed cross-platform teaching system according to claim 1, characterized in that, The teach pendant main process uses a single central processing unit (CPU) core on the multi-core platform and is isolated from the CPU core of the controller.
3. A distributed cross-platform teaching method for industrial robots, characterized in that, The distributed cross-platform teaching system according to claim 1 or 2 includes: After the remote GUI process of the teach pendant in the distributed cross-platform teaching system connects to the main process of the teach pendant in the distributed cross-platform teaching system, it obtains the registration identifier assigned to it by the main process of the teach pendant. According to the registration identifier, add teaching instructions to the teach pendant of the ARM platform of the distributed cross-platform teaching system; The teaching instructions are sent to the soft bus message queue of the teach pendant main process via a predetermined protocol; The teaching instructions of the predetermined protocol are distributed to the message processing queue of the predetermined protocol through the soft bus message queue, and the file synchronizer is invoked, wherein the file synchronizer updates the teaching instructions of the predetermined protocol to the local machine to teach the industrial robot.
4. The distributed cross-platform teaching method for industrial robots according to claim 3, characterized in that, After invoking the file synchronizer, the following is also included: The physical program file in the teach pendant main process is updated using the teach instructions updated locally via the file synchronizer. After the file synchronizer successfully updates the physical program file using the teaching instruction, it generates a program change event and sends the program change event to the Pub / Sub queue, so that the Pub / Sub queue can send the program change event according to the event type or message subscriber.
5. The distributed cross-platform teaching method for industrial robots according to claim 4, characterized in that, After invoking the file synchronizer, the following is also included: After the remote GUI process of the teach pendant receives the program change event, it checks the event source identifier of the program change event; When the event source identifier is not the registration identifier assigned by the teach pendant master process, the teach instruction for the program change event is obtained.
6. The distributed cross-platform teaching method for industrial robots according to claim 3, characterized in that, After the remote GUI process of the teach pendant in the distributed cross-platform teaching system connects to the main process of the teach pendant in the distributed cross-platform teaching system, the system further includes: Perform debugging actions on an offline programming system on the Windows platform and obtain the debugging instructions corresponding to the debugging actions; The debugging command is sent to the soft bus message queue of the teach pendant main process, so as to use the soft bus message queue to send the debugging command to the debugging service queue; The debugger is invoked through the debug service queue, and the debugger sends the debug instructions to the controller of the industrial robot. After the controller runs the debugging command, it sends the controller's running status data to the response message queue of the teach pendant's main process, so that the running status data can be distributed to the subscribing processes through the Pub / Sub queue using the response message queue.
7. The distributed cross-platform teaching method for industrial robots according to claim 6, characterized in that, Also includes: When the remote GUI process of the teach pendant receives a debug status message, it updates the interface debug breakpoints and the debug commands.
8. A distributed cross-platform teaching device for industrial robots, characterized in that, A distributed cross-platform teaching method applied to an industrial robot according to any one of claims 3 to 7, comprising: The first acquisition module is used to acquire the registration identifier assigned to it by the teacher pendant master process after the remote GUI process of the teacher pendant of the distributed cross-platform teaching system connects to the teacher pendant master process of the distributed cross-platform teaching system. An add module is used to add teaching instructions to the teach pendant of the ARM platform of the distributed cross-platform teaching system according to the registration identifier; The first sending module is used to send the teaching instruction to the soft bus message queue of the teach pendant main process through a predetermined protocol; The first processing module is configured to distribute the teaching instructions of the predetermined protocol to the message processing queue of the predetermined protocol through the soft bus message queue, and to call the file synchronizer, wherein the file synchronizer updates the teaching instructions of the predetermined protocol to the local machine to teach the industrial robot.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored program, wherein the program executes the distributed cross-platform teaching method for an industrial robot as described in any one of claims 3 to 7.
10. A computer program product comprising computer instructions, characterized in that, When the computer instructions are executed by the processor, the distributed cross-platform teaching method for the industrial robot according to any one of claims 3 to 7 is performed.
Citation Information
Patent Citations
Distributed intelligent teaching system and method
CN113276094A
System and method for wirelessly controlling movement of low-code teaching robot through mobile terminal
CN114571443A