Mechanical arm task processing method, device, system and computer equipment
By coordinating the activation mechanism and the task scheduling mechanism, the core and extended functions of the robotic arm control end are decoupled, solving the problems of high maintenance costs and low flexibility caused by modular design, and achieving efficient task processing and personalized adaptation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN HANS ROBOT CO LTD
- Filing Date
- 2024-12-31
- Publication Date
- 2026-07-10
AI Technical Summary
The modular design of the robotic arm control unit results in high maintenance costs, a lack of flexibility and adaptability, difficulty in quickly adapting to different hardware devices and communication protocols, and an inability to meet personalized needs.
By matching the execution order of the plugin activation mechanism and the task scheduling mechanism, multiple preset task plugins are activated, task messages are obtained and the robotic arm control instructions are analyzed, decoupling the core function and the extended function, and realizing the decoupling of the plugin server and the robotic arm control terminal.
It reduces the maintenance cost of the robotic arm control end, improves the accuracy of task processing and the system's flexibility, adaptability and versatility, and meets personalized needs.
Smart Images

Figure CN122353552A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of industrial equipment, and in particular to a method, apparatus, system, computer equipment, storage medium, and computer program product for processing tasks with a robotic arm. Background Technology
[0002] In the industrial sector, robotic arms are widely used in various application scenarios such as manufacturing, assembly, and welding. When performing complex tasks, the control end of a robotic arm requires efficient algorithm support and flexible expansion capabilities.
[0003] Currently, the software architecture of the robotic arm control end adopts a modular design, realizing functions such as motion control, path planning, and sensor processing through predefined fixed functional modules.
[0004] However, the modular design mentioned above results in high maintenance costs. Summary of the Invention
[0005] Therefore, it is necessary to provide a robotic arm task processing method, apparatus, system, computer equipment, computer-readable storage medium, and computer program product that can reduce the maintenance cost of the robotic arm control end, in response to the above-mentioned technical problems.
[0006] Firstly, this application provides a method for processing tasks using a robotic arm. The method includes:
[0007] Determine the plug-in activation mechanism and task scheduling mechanism that match the current running state, as well as the execution order of the plug-in activation mechanism and the task scheduling mechanism;
[0008] When the execution order of the plugin activation mechanism precedes that of the task scheduling mechanism, multiple preset task plugins are activated based on the plugin activation mechanism.
[0009] Based on the task scheduling mechanism, the task message for the robotic arm is obtained;
[0010] From the plurality of preset task plugins, determine the target plugin that matches the task message;
[0011] The target plugin is invoked to analyze the task message and determine the robotic arm control command corresponding to the task message;
[0012] The robotic arm control command is fed back to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform an action that matches the task message.
[0013] In one embodiment, the method further includes:
[0014] When the current running state characterization is starting, the execution order of the plug-in activation mechanism is determined to be higher than the execution order of the task scheduling mechanism;
[0015] The activation of multiple preset task plugins based on the plugin activation mechanism includes:
[0016] Invoke the plugin loading component that matches the plugin activation mechanism to load each of the preset task plugins into the plugin service process;
[0017] Invoke the plugin initialization component that matches the plugin activation mechanism to initialize each of the preset task plugins in the plugin service process.
[0018] In one embodiment, obtaining the task message for the robotic arm based on the task scheduling mechanism includes:
[0019] The message processing thread pool that matches the task scheduling mechanism is invoked to store task messages from the robotic arm control terminal.
[0020] The plugin message scheduling component that matches the task scheduling mechanism is invoked to obtain the task message for the robotic arm from the message processing thread pool.
[0021] In one embodiment, the method further includes:
[0022] Retrieve multiple task plugins from a preset directory;
[0023] The multiple task plugins are identified as the multiple preset task plugins.
[0024] In one embodiment, the method further includes:
[0025] Processing time for acquiring task messages;
[0026] If the processing time exceeds the time threshold, the message processing time controller is invoked to send a message processing failure message to the robotic arm control terminal.
[0027] In one embodiment, the method further includes:
[0028] When the current running state representation has been started, it is determined that the execution order of the plug-in activation mechanism is later than the execution order of the task scheduling mechanism;
[0029] Based on the task scheduling mechanism, task messages for the robotic arm are obtained from the robotic arm control terminal.
[0030] From a plurality of preset task plugins, determine the target plugin that matches the task message;
[0031] The target plugin is activated based on the plugin activation mechanism.
[0032] The target plugin is invoked to analyze the task message and determine the robotic arm control command corresponding to the task message;
[0033] The robotic arm control terminal sends back the robotic arm control command to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform an action that matches the task message.
[0034] In one embodiment, the method further includes at least one of the following:
[0035] First item:
[0036] In response to the plugin uninstallation operation, the plugin uninstallation component is invoked to uninstall the plugin that matches the uninstallation operation from the plurality of preset task plugins;
[0037] Second item:
[0038] The plugin dynamic link library is invoked to send the control commands of the robotic arm to the control terminal; the multiple preset task plugins are deployed in the plugin dynamic link library.
[0039] Secondly, this application provides a robotic arm task processing device, the device comprising:
[0040] The determination module is used to determine the plug-in activation mechanism and task scheduling mechanism that match the current running state, as well as the execution order of the plug-in activation mechanism and the task scheduling mechanism respectively;
[0041] An activation module is used to activate multiple preset task plugins based on the plugin activation mechanism when the execution order of the plugin activation mechanism is prior to the task scheduling mechanism.
[0042] The acquisition module is used to acquire task messages for the robotic arm based on the task scheduling mechanism.
[0043] A filtering module is used to determine the target plugin that matches the task message from the plurality of preset task plugins;
[0044] The analysis module is used to call the target plugin to analyze the task message and determine the robotic arm control command corresponding to the task message;
[0045] The feedback module is used to feed back the robotic arm control command to the robotic arm control terminal, so that the robotic arm control terminal controls the robotic arm to perform an action that matches the task message.
[0046] Thirdly, this application provides a robotic arm task processing system, which includes a plug-in server and a robotic arm control terminal;
[0047] The plugin server is used to determine the plugin activation mechanism and task scheduling mechanism that match the current running state, as well as the execution order of the plugin activation mechanism and the task scheduling mechanism; when the execution order of the plugin activation mechanism is before the task scheduling mechanism, it activates multiple preset task plugins based on the plugin activation mechanism; based on the task scheduling mechanism, it obtains a task message for the robotic arm; from the multiple preset task plugins, it determines a target plugin that matches the task message; it calls the target plugin to analyze the task message, determines the robotic arm control command corresponding to the task message; and it feeds back the robotic arm control command to the robotic arm control terminal.
[0048] The robotic arm control terminal is used to control the robotic arm to perform actions that match the task message based on the robotic arm control instructions.
[0049] Fourthly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to perform the following steps:
[0050] Determine the plug-in activation mechanism and task scheduling mechanism that match the current running state, as well as the execution order of the plug-in activation mechanism and the task scheduling mechanism;
[0051] When the execution order of the plugin activation mechanism precedes that of the task scheduling mechanism, multiple preset task plugins are activated based on the plugin activation mechanism.
[0052] Based on the task scheduling mechanism, the task message for the robotic arm is obtained;
[0053] From the plurality of preset task plugins, determine the target plugin that matches the task message;
[0054] The target plugin is invoked to analyze the task message and determine the robotic arm control command corresponding to the task message;
[0055] The robotic arm control terminal sends back the robotic arm control command to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform an action that matches the task message.
[0056] Fifthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, performs the following steps:
[0057] Determine the plug-in activation mechanism and task scheduling mechanism that match the current running state, as well as the execution order of the plug-in activation mechanism and the task scheduling mechanism;
[0058] When the execution order of the plugin activation mechanism precedes that of the task scheduling mechanism, multiple preset task plugins are activated based on the plugin activation mechanism.
[0059] Based on the task scheduling mechanism, the task message for the robotic arm is obtained;
[0060] From the plurality of preset task plugins, determine the target plugin that matches the task message;
[0061] The target plugin is invoked to analyze the task message and determine the robotic arm control command corresponding to the task message;
[0062] The robotic arm control terminal sends back the robotic arm control command to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform an action that matches the task message.
[0063] Sixthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, performs the following steps:
[0064] Determine the plug-in activation mechanism and task scheduling mechanism that match the current running state, as well as the execution order of the plug-in activation mechanism and the task scheduling mechanism;
[0065] When the execution order of the plugin activation mechanism precedes that of the task scheduling mechanism, multiple preset task plugins are activated based on the plugin activation mechanism.
[0066] Based on the task scheduling mechanism, the task message for the robotic arm is obtained;
[0067] From the plurality of preset task plugins, determine the target plugin that matches the task message;
[0068] The target plugin is invoked to analyze the task message and determine the robotic arm control command corresponding to the task message;
[0069] The robotic arm control terminal sends back the robotic arm control command to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform an action that matches the task message.
[0070] The aforementioned robotic arm task processing method, apparatus, system, computer equipment, storage medium, and computer program product, by determining a plug-in activation mechanism and a task scheduling mechanism that match the current operating state, as well as the execution order of the plug-in activation mechanism and the task scheduling mechanism, match the robotic arm task processing process with the current operating state of the plug-in server, thereby improving task processing accuracy. When the execution order of the plug-in activation mechanism precedes the task scheduling mechanism, multiple preset task plug-ins are activated based on the plug-in activation mechanism. Based on the task scheduling mechanism, a task message for the robotic arm is obtained. From the multiple preset task plug-ins, a target plug-in matching the task message is determined. The target plug-in is invoked to analyze the task message, determine the corresponding robotic arm control command, and then feed back the robotic arm control command to the robotic arm control terminal, so that the robotic arm control terminal controls the robotic arm to perform the action matching the task message. Therefore, the plugin server executes extended functions related to task scenario analysis and data analysis for the robotic arm, while the robotic arm control terminal executes core functions related to motion control. This allows the core and extended functions of the robotic arm control terminal to be decoupled, thereby reducing maintenance costs when adjusting the corresponding functions of the robotic arm control terminal. Attached Figure Description
[0071] Figure 1 This is an application environment diagram of a robotic arm task processing method in one embodiment;
[0072] Figure 2 This is a flowchart illustrating a robotic arm task processing method in one embodiment;
[0073] Figure 3 This is a schematic diagram of the process of activating multiple preset task plugins based on a plugin activation mechanism in one embodiment;
[0074] Figure 4 This is a flowchart illustrating the process of obtaining task messages for a robotic arm based on a task scheduling mechanism in one embodiment.
[0075] Figure 5 This is a flowchart illustrating the robotic arm task processing method in another embodiment;
[0076] Figure 6 This is a flowchart illustrating the robotic arm task processing method in another embodiment;
[0077] Figure 7 This is a structural block diagram of the robotic arm task processing system in another embodiment;
[0078] Figure 8 This is a structural block diagram of a robotic arm task processing device in one embodiment;
[0079] Figure 9 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0080] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0081] When the software architecture of a robotic arm control unit adopts a modular design, the core functions and extended functions of the control unit are coupled. Adjusting the corresponding functions of the robotic arm control unit requires adjusting the underlying functional logic, which may introduce additional maintenance risks and development costs, resulting in high maintenance costs. For example, core functions include motion control, path planning, and sensor processing, while extended functions refer to task scheduling, data analysis, and application scenario analysis.
[0082] Moreover, existing robotic arm control software systems typically lack a unified plug-in mechanism, making it difficult to easily and quickly add custom functions or integrate third-party algorithms, thus limiting the system's flexibility and adaptability. Furthermore, in diverse application scenarios, robotic arm control systems struggle to quickly adapt to different hardware devices and communication protocols, reducing their versatility and market competitiveness. Additionally, they are difficult to meet personalized needs, as robotic arm control systems are designed for general functions and cannot meet the personalized needs of customers in specific tasks or industries.
[0083] In view of this, embodiments of this application provide a robotic arm task processing method, which can be applied to, for example... Figure 1 The application environment shown. The robotic arm task processing system 100 includes a plug-in server 102 and a robotic arm control terminal 104.
[0084] Specifically, the plugin server 102 is used to determine the plugin activation mechanism and task scheduling mechanism that match the current running state, as well as the execution order of the plugin activation mechanism and task scheduling mechanism; when the execution order of the plugin activation mechanism is before that of the task scheduling mechanism, it activates multiple preset task plugins based on the plugin activation mechanism; based on the task scheduling mechanism, it obtains the task message for the robotic arm; from the multiple preset task plugins, it determines the target plugin that matches the task message; it calls the target plugin to analyze the task message and determine the robotic arm control command corresponding to the task message; and it feeds back the robotic arm control command to the robotic arm control terminal. The robotic arm control terminal 104 is used to control the robotic arm to perform actions that match the task message based on the robotic arm control command.
[0085] In one embodiment, such as Figure 2 As shown, a robotic arm task processing method is provided, which can be applied to... Figure 1Taking plugin server 102 as an example, the explanation includes the following steps:
[0086] S202, determine the plugin activation mechanism and task scheduling mechanism that match the current running state, as well as the execution order of the plugin activation mechanism and task scheduling mechanism.
[0087] The current running status refers to the running status of the plugin server at the current point in time, which includes starting up and already started.
[0088] In some embodiments, the corresponding plugin activation mechanism and task scheduling mechanism differ depending on the current running state. For example, the number of task plugins activated by the plugin activation mechanism varies depending on the current running state; and the source of the task messages scheduled by the plugin scheduling mechanism differs depending on the current running state.
[0089] In some embodiments, the execution order of the corresponding plugin activation mechanism and task scheduling mechanism differs depending on the current running state. For example, when the current running state indicates startup, the corresponding plugin activation mechanism executes before the task scheduling mechanism; that is, the plugin activation mechanism is executed first, followed by the task scheduling mechanism. When the current running state indicates startup, the corresponding plugin activation mechanism executes later than the task scheduling mechanism; that is, the task scheduling mechanism is executed first, followed by the plugin activation mechanism.
[0090] S204, where the execution order of the plugin activation mechanism precedes that of the task scheduling mechanism, multiple preset task plugins are activated based on the plugin activation mechanism.
[0091] There are no restrictions on the implementation methods for determining multiple preset task plugins. The following examples illustrate several of these methods.
[0092] In one embodiment, multiple task plugins under a preset directory are retrieved, and these multiple task plugins are identified as multiple preset task plugins. In some cases, the number of preset directories can be one, and multiple task plugins are stored in the preset directory. In other cases, the number of preset directories can be multiple, in which case retrieving task plugins from each preset directory can yield multiple task plugins.
[0093] In one embodiment, historical robotic arm tasks can be acquired, analyzed, and the top N task types with the most robotic arm tasks can be identified. The task plugins corresponding to the top N task types can then be identified as multiple preset task plugins.
[0094] The implementation method for activating multiple preset task plugins based on the plugin activation mechanism is not limited. For example, an activation component matching the plugin activation mechanism can be called, and each preset task plugin can be activated based on the activation component. In some cases, each preset task plugin can be loaded and initialized based on the activation component to achieve activation of each preset task plugin.
[0095] S206, based on the task scheduling mechanism, obtains task messages for the robotic arm.
[0096] In cases where the plugin activation mechanism is executed before the task scheduling mechanism, the method of obtaining task messages for the robotic arm based on the task scheduling mechanism is not limited. The following examples illustrate the possible implementation methods.
[0097] In one embodiment, task messages for the robotic arm can be obtained from the robotic arm control terminal. In some cases, a message retrieval command is sent to the robotic arm control terminal to obtain task messages for the robotic arm. In other cases, task messages for the robotic arm are retrieved from the robotic arm control terminal upon receiving a message sending command from the robotic arm control terminal.
[0098] In one embodiment, the plugin server deploys a message processing thread pool, which is used to store task messages for the robotic arm from the robotic arm control terminal, and task messages for the robotic arm can be obtained from the message processing thread pool.
[0099] Task messages refer to messages related to robotic arm tasks. These messages include, but are not limited to: the task type of the robotic arm task, the corresponding robotic arm axis name and plug-in identifier, and the axis identifier corresponding to the robotic arm axis name. The axis identifier is used to identify the robotic arm axis name. Task types represent tasks such as handling, gripping, welding, and coating.
[0100] For example, taking a six-axis robotic arm as an example, the axis names can include base axis, waist axis, shoulder axis, elbow axis, wrist axis, and tool axis. The base axis, located at the bottom of the robotic arm, enables rotation in the horizontal plane, providing a wide working range. The waist axis allows the robotic arm to translate left and right, further expanding the working space. The shoulder axis is responsible for tilting the robotic arm vertically, enabling flexible movement in the vertical direction. The elbow axis, through bending and straightening the robotic arm, is used to perform precise movements in the forward and backward directions. The wrist axis allows the robotic arm to rotate around itself, enabling flexible tilting and rotation. The tool axis, as the end effector of the robotic arm, is used to directly manipulate objects and complete various delicate tasks.
[0101] For example, taking a six-axis robotic arm as an example, the axis names of the robotic arm can include the rotary axis (S-axis), lower arm axis (L-axis), upper arm axis (U-axis), wrist rotation axis (R-axis), wrist swing axis (B-axis), and wrist rotation axis (T-axis). Among them, the rotary axis (S-axis) can refer to the base axis or the wrist axis, which is used to realize the rotational movement of the robotic arm; the lower arm axis (L-axis) can refer to the waist axis, which is used to control the lower arm part of the robotic arm;
[0102] The upper arm axis (U-axis) can refer to the shoulder axis, which is used to control the upper arm part of the robotic arm; the wrist rotation axis (R-axis) can refer to a type of wrist axis, which is used to realize the rotational movement of the wrist; the wrist swing axis (B-axis) refers to another type of wrist axis, which is used to realize the swinging movement of the wrist; the wrist rotation axis (T-axis) can refer to the hand axis, which is used to realize the rotational movement of the wrist.
[0103] For example, taking a four-axis robotic arm as an example, the axis names of the robotic arm can include the horizontal axis (X-axis), the vertical axis (Y-axis), the rotation axis (Z-axis), and the wrist rotation axis (R-axis). Among them, the horizontal axis (X-axis) refers to the axis of movement of the robotic arm along the horizontal direction, the vertical axis (Y-axis) refers to the axis of movement of the robotic arm along the vertical direction, the rotation axis (Z-axis) refers to the axis of rotation of the robotic arm along the vertical direction, and the wrist rotation axis (R-axis) refers to the axis of rotation of the robotic arm along the horizontal direction.
[0104] In some cases, there is a correspondence between task type, robotic arm type, and robotic arm axis name. For example, a picking task can be completed using the four axes of a four-axis robotic arm, while a welding task can be performed using the four axes of a six-axis robotic arm. In some situations, a task performed by a four-axis robotic arm can also be performed by a six-axis robotic arm.
[0105] S208 determines the target plugin that matches the task message from multiple preset task plugins.
[0106] The target plugin provides control instructions for the robotic arm related to the task, while the preset task plugin can be represented by a shared library file. For example, the preset task plugin for a welding task is represented as "welding plugin.so", and the preset task plugin for a gripper task is represented as "gripper plugin.so", etc.
[0107] The implementation method for determining the target plugin that matches the task message from multiple preset task plugins is not limited. The following examples illustrate several of these methods.
[0108] In one embodiment, the task message includes a task type, and based on the mapping relationship between the task type and preset task plugins, a target plugin that matches the task message is determined from a plurality of preset task plugins.
[0109] In one embodiment, if the task message includes a plugin identifier corresponding to the task type, then based on the plugin identifiers corresponding to each of the multiple preset task plugins, a target plugin that matches the task message is determined from the multiple preset task plugins.
[0110] S210, call the target plugin to analyze the task message and determine the corresponding robotic arm control command.
[0111] Robotic arm control commands refer to the commands or instructions used to control and operate the movement of the robotic arm. These commands can include control instructions corresponding to different robotic arm axis names. For example, taking a six-axis robotic arm as an example, the robotic arm control commands can include control speed and acceleration for the base axis, and tilt angle for the shoulder axis, etc.
[0112] In some embodiments, the target plugin runs within a plugin service process. This allows for the invocation of the target plugin via a standardized plugin interface protocol to analyze task messages and determine the corresponding robotic arm control commands. In some cases, the standardized plugin interface protocol specifies interface definitions, invocation procedures, and compatibility requirements.
[0113] The method of calling the target plugin to analyze the task message and determine the corresponding robotic arm control command is not limited. For example, the internal processing logic of the target plugin can be called to analyze the task message and determine the corresponding robotic arm control command from the internal processing logic of the target plugin.
[0114] S212, Feed back the robotic arm control command to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform the action that matches the task message.
[0115] There are no restrictions on the methods for feeding back control commands to the robotic arm control terminal. The following examples illustrate several of these methods.
[0116] In one embodiment, the plug-in server can directly feed back robotic arm control commands to the robotic arm control terminal. For example, the plug-in server can directly feed back robotic arm control commands to the robotic arm control terminal through a communication protocol, including but not limited to: Transmission Control Protocol (TCP) or Internet Protocol (IP).
[0117] In one embodiment, if multiple preset task plugins are deployed in a plugin dynamic link library (DLL), and the target plugin is also deployed in the same DLL, then the DLL can be invoked to send control commands to the robotic arm control terminal. In some cases, the DLL has a built-in network communication component, which can then send control commands to the robotic arm control terminal. This network communication component can be configured based on TCP or IP, meaning the DLL can send control commands to the robotic arm control terminal via either TCP or IP.
[0118] Understandably, the plugin server can call the plugin dynamic link library to send control commands to the robotic arm control terminal through the built-in network communication component. Alternatively, the plugin server can directly send control commands to the robotic arm control terminal through the communication protocol. In this way, the plugin dynamic link library can interact with the robotic arm control terminal through the plugin server, and can also communicate directly with the robotic arm control terminal through its own built-in network communication component (such as TCP / IP). This provides a great deal of freedom for the implementation of robotic arm application scenarios and can realize complex business processing logic.
[0119] based on Figure 2 The content shown demonstrates how, by determining the plug-in activation mechanism and task scheduling mechanism that match the current operating state, and the execution order of these mechanisms, the robotic arm task processing is matched with the current operating state of the plug-in server, thereby improving task processing accuracy. When the plug-in activation mechanism executes before the task scheduling mechanism, multiple preset task plug-ins are activated based on the activation mechanism. Based on the task scheduling mechanism, a task message for the robotic arm is obtained. From these preset plug-ins, a target plug-in matching the task message is determined. The target plug-in is then invoked to analyze the task message, determine the corresponding robotic arm control command, and feed the command back to the robotic arm control terminal. This allows the robotic arm control terminal to control the robotic arm to execute actions matching the task message. Thus, by having the plug-in server perform extended functions related to task scenario analysis and data analysis, and the robotic arm control terminal perform core functions related to motion control, the core and extended functions of the robotic arm control terminal can be decoupled. This reduces maintenance costs when adjusting the corresponding functions of the robotic arm control terminal.
[0120] In one embodiment, the implementation of activating multiple preset task plugins based on a plugin activation mechanism can be as follows: Figure 3 As shown, it includes the following steps:
[0121] S302, when the current running state indicates that the startup is in progress, determine that the execution order of the plug-in activation mechanism takes precedence over the execution order of the task scheduling mechanism.
[0122] S304, invoke the plugin loading component that matches the plugin activation mechanism to load each preset task plugin into the plugin service process.
[0123] S306, invoke the plugin initialization component that matches the plugin activation mechanism to initialize each preset task plugin in the plugin service process.
[0124] The robotic arm task processing system may also include a plug-in loading component and a plug-in initialization component, which can be used to activate each preset task plug-in.
[0125] based on Figure 3 The content shown demonstrates that by activating the plugin when the plugin server starts, the task message for the robotic arm can be analyzed immediately based on the activated target plugin upon receiving the task message, thereby improving the processing efficiency of robotic arm tasks.
[0126] In one embodiment, the implementation of obtaining task messages for the robotic arm based on a task scheduling mechanism can be as follows: Figure 4 As shown, it includes the following steps:
[0127] S402, invokes the message processing thread pool that matches the task scheduling mechanism to store task messages from the robotic arm control end.
[0128] The robotic arm task processing system includes a message processing thread pool. In some cases, the message processing thread pool may include multiple thread pools, each storing task messages of the same or different task types. Within each thread pool, each task message has an entry time, indicating the execution order of the robotic arm control commands corresponding to that task message. In other cases, the message processing thread pool may include a single thread pool that stores task messages of different task types, with each type of task message corresponding to an entry time.
[0129] In some cases, the message processing thread pool can also store task messages for the robotic arm from the host computer. For example, if the host computer has a task trigger button, in response to the trigger operation of the task trigger button, the message processing thread pool can be invoked to store the task message corresponding to the task trigger button. Task trigger buttons include welding task trigger buttons, gripper task trigger buttons, etc.
[0130] In some cases, locking mechanisms and lock-free programming techniques can be used to maintain the message processing thread pool to ensure the consistency of task messages in a multi-threaded environment, while optimizing the dynamic allocation and reclamation of thread resources.
[0131] S404, invokes the plugin message scheduling component that matches the task scheduling mechanism to obtain the task message for the robotic arm from the message processing thread pool.
[0132] The robotic arm task processing system includes a plug-in message scheduling component, which can retrieve task messages for the robotic arm from the message processing thread pool based on the plug-in message scheduling component. In some embodiments, the plug-in message scheduling component may include a sub-scheduling component corresponding to the task type, and the sub-scheduling component can perform a scheduling process on the task messages corresponding to the task type.
[0133] In some cases, based on the task type of the task message, the corresponding scheduling sub-component can be invoked to simultaneously retrieve each task message from the message processing thread pool, i.e., task messages can be scheduled in parallel.
[0134] In some cases, task messages can be retrieved from the message processing thread pool by calling the corresponding scheduling sub-component based on the time the task message enters the pool; this is known as serial scheduling of task messages. Therefore, for two adjacent scheduled task messages, the robotic arm executes the action corresponding to the previous task message before executing the action corresponding to the next task message.
[0135] based on Figure 4 The content shown demonstrates that, based on a message processing thread pool and a plugin message scheduling component, orderly management of task messages can be achieved, thereby improving the accuracy of task processing.
[0136] In one embodiment, such as Figure 5 As shown, it may also include the following steps:
[0137] S502, Get the processing time for task messages.
[0138] The processing time for a task message refers to the total time spent from the moment the task message is received until it is fully processed. For example, the processing time may include: the time spent calling the message processing thread pool to store the task message from the robotic arm control unit; the time spent calling the plugin message scheduling component to retrieve the task message from the message processing thread pool; and the time spent calling the target plugin to analyze the task message and determine the corresponding robotic arm control command. Alternatively, the processing time may include the time spent retrieving the task message for the robotic arm from the robotic arm control unit.
[0139] S504: If the processing time exceeds the time threshold, the message processing time controller is invoked to send a message processing failure message to the robot arm control terminal.
[0140] The plug-in server includes a message processing time controller, which can then send message processing failure messages to the robotic arm control terminal. In some cases, the robotic arm control terminal can resend the task message to the plug-in server based on the message processing failure message. In other cases, the robotic arm control terminal can send a prompt message to the corresponding maintenance terminal based on the message processing failure message, enabling maintenance personnel to perform maintenance on the robotic arm control terminal.
[0141] based on Figure 5 The content shown demonstrates that by invoking the message processing time controller to send a message processing failure message to the robotic arm control terminal when the processing time of a task message exceeds a time threshold, the stability, robustness, and control accuracy of the system can be improved.
[0142] The above describes the task message processing procedure when the plugin activation mechanism executes before the task scheduling mechanism. In one embodiment, when the plugin activation mechanism executes after the task scheduling mechanism, the process can be as follows: Figure 6 As shown, it includes the following steps:
[0143] S602, when the current running state representation has been started, determine that the execution order of the plug-in activation mechanism is later than the execution order of the task scheduling mechanism.
[0144] S604, based on the task scheduling mechanism, obtains task messages for the robotic arm from the robotic arm control terminal.
[0145] Among them, there are no restrictions on the way to obtain task messages for the robotic arm from the robotic arm control terminal based on the task scheduling mechanism. The following are examples of several methods.
[0146] In one embodiment, by invoking a communication protocol that matches the task scheduling mechanism, task messages for the robotic arm are obtained from the robotic arm control terminal based on the communication protocol. The communication protocol may include TCP or IP, etc.
[0147] In one embodiment, a task message scheduling component matching the task scheduling mechanism is invoked to obtain task messages for the robotic arm from the robotic arm control terminal. That is, the plugin server also includes a task message acquisition component, which can obtain task messages from the robotic arm control terminal.
[0148] S606 determines the target plugin that matches the task message from multiple preset task plugins.
[0149] S608 activates the target plugin based on the plugin activation mechanism.
[0150] S610 calls the target plugin to analyze the task message and determine the corresponding robotic arm control command.
[0151] S612, feeds back the robotic arm control command to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform the action that matches the task message.
[0152] The specific details of S606-S612 can be found in the aforementioned description and will not be repeated here.
[0153] Compared with the above content, Figure 6 The content shown can activate only the target plugin that matches the task message, without activating multiple preset task plugins, thereby improving the efficiency of task processing.
[0154] In one embodiment, the plugin server may further include a plugin uninstallation component. In response to a plugin uninstallation operation, the plugin uninstallation component is invoked to uninstall the plugin matching the uninstallation operation from a plurality of preset task plugins. Thus, by selectively uninstalling task plugins when they are no longer needed, system performance overhead can be reduced, and the flexibility and adaptability of the plugin server can be improved. In some cases, while the plugin server is running, the plugin uninstallation component can perform the uninstallation operation on the task plugins, meaning the plugin server supports hot-swapping of plugins.
[0155] In one embodiment, multiple preset task plugins can be deployed in a plugin dynamic link library. The plugin dynamic link library is then invoked to send control commands to the robotic arm control terminal. Thus, through network communication, the plugin dynamic link library can directly communicate with the robotic arm control terminal, providing a high degree of freedom for implementing user business scenarios and enabling complex business processing logic, thereby improving the flexibility and adaptability of the plugin server.
[0156] In one embodiment, the plugin server also includes a logging interface. Calling this interface stores plugin logs in the plugin server's database. Plugin logs refer to the recorded information generated when using the task plugins corresponding to each robotic arm task. Therefore, unified management and screening of plugin logs facilitates the identification and location of plugin problems. In some cases, the plugin server can be configured with a logging tool, which allows for the management of plugin logs; for example, the logging tool may include a Logger class.
[0157] In one embodiment, the plugin server can also store successfully initialized task plugins in a plugin object list. In some cases, visually displaying the plugin object list facilitates the management of task plugins.
[0158] In conjunction with the above, in one embodiment, such as Figure 7The diagram shown illustrates a system architecture for a robotic arm task processing system. Wherein:
[0159] The robotic arm task processing system 100 includes a plug-in server 102 and a robotic arm control terminal 104. The plug-in server 102 and the robotic arm control terminal 104 communicate via a network, decoupled from each other. Both parties follow standardized communication protocols, such as TCP or IP. That is, the plug-in server 102 and the robotic arm control terminal 104 are two different processes, and there is no coupling between them.
[0160] The plugin server 102 includes a plugin loading component 1021, a plugin initialization component 1022, a plugin message dispatching component 1023, and a plugin uninstallation component 1024.
[0161] When the current running state of the plugin server indicates that it is starting up, it retrieves multiple task plugins from a preset directory; identifies these multiple task plugins as multiple preset task plugins; calls the plugin loading component to load each preset task plugin into the plugin service process, and calls the plugin initialization component to initialize each preset task plugin in the plugin service process; calls at least one thread in the message processing thread pool (such as at least one of the first to Mth threads) to store the task message from the robotic arm control terminal, and calls the plugin message scheduling component to retrieve the task message for the robotic arm from the message processing thread pool; identifies the target plugin that matches the task message from the multiple preset task plugins; calls the target plugin to analyze the task message based on the plugin interface protocol to determine the robotic arm control instruction corresponding to the task message; feeds back the robotic arm control instruction to the robotic arm control terminal, and the robotic arm control terminal controls the robotic arm to execute the action matching the task message based on the robotic arm control instruction.
[0162] Specifically, if the processing time of a task message exceeds a time threshold, the message processing time controller is invoked to send a message processing failure message to the robotic arm control terminal.
[0163] When the current running status representation of the plugin server is started, the task message for the robotic arm is obtained from the robotic arm control terminal based on a standardized communication protocol (such as TCP / IP); from multiple preset task plugins, the target plugin that matches the task message is determined; the plugin loading component is called to load the target plugin into the plugin service process, and the plugin initialization component is called to initialize the target plugin in the plugin service process; based on the plugin interface protocol, the target plugin in the plugin service process is called to analyze the task message and determine the robotic arm control command corresponding to the task message; the robotic arm control command is fed back to the robotic arm control terminal, and the robotic arm control terminal can control the robotic arm to perform the action that matches the task message based on the robotic arm control command.
[0164] If the current running status of the plugin server indicates that it has started or is starting, the plugin dynamic link library where the target plugin is located can be called. The plugin dynamic link library can then directly send control commands to the robotic arm control terminal based on TCP / IP.
[0165] As can be seen from the above, the robotic arm control end, as the core foundation of industrial robots, is widely used in industrial scenarios such as assembly, welding, handling, and painting. However, traditional control systems often adopt a highly integrated design, which makes it difficult to expand the system's functions. This manifests in the following ways: high functional coupling, insufficient flexibility, limited intelligence, poor openness and compatibility, and long technical verification and debugging cycles.
[0166] In view of this, this application introduces a plug-in server, which enables the rapid integration of new functions and adaptation to new equipment without changing the core framework of the robotic arm control system, thereby improving the system's adaptability and competitiveness. When faced with urgent development tasks, the integration of small and specialized functions, and the need for verification technical solutions, the plug-in server can achieve the goals of rapid integration, rapid verification, reduced development risks, reuse of existing functional modules, easier team collaboration, and reduced costs.
[0167] The plug-in server aims to achieve modularity, dynamism, and high scalability of the robotic arm control unit to meet diverse industrial application needs. Specifically, it adopts a plug-in design, decoupling the core functions of the robotic arm control unit (such as motion control, path planning, and sensor processing) from extended functions (such as task scheduling, data analysis, and application scenario support). This allows the core functions to be implemented on the robotic arm control unit, while the extended functions are implemented on the plug-in server. Moreover, by defining a unified plug-in interface specification, it supports the dynamic loading, unloading, and hot-swapping of plug-ins by the plug-in server, improving the system's flexibility and adaptability.
[0168] Simultaneously, plugin management modules such as plugin loading, plugin initialization, plugin message scheduling, and plugin uninstallation are introduced to handle task plugin registration, version management, and lifecycle control. Furthermore, task plugins are implemented as dynamic link libraries (DLLs / Shared Libraries), providing standardized interfaces for plugin servers to call. The plugin loading and initialization components enable runtime loading and unloading of task plugins, allowing for on-demand expansion of plugin functionality and preventing system restarts or disruption to other modules.
[0169] Simultaneously, a plugin message thread pool and plugin message scheduling are introduced, using multi-threading technology to concurrently schedule task messages, ensuring efficient execution of both real-time tasks (such as motion control and force feedback processing) and non-real-time tasks (such as data logging and system diagnostics). Furthermore, through locking mechanisms, thread pools, and lock-free programming techniques, the consistency of task messages in a multi-threaded environment is ensured, while optimizing the dynamic allocation and reclamation of thread resources.
[0170] Therefore, the technical effects of this application can be reflected in the following aspects:
[0171] Achieving modularity and high scalability in the robotic arm control unit: Through a plug-in server architecture design, the core functions and extended functions of the robotic arm control unit are separated, significantly improving the system's scalability. This allows for the rapid integration of new functions according to actual needs through the plug-in server, without modifying the core framework of the robotic arm control unit, thus meeting the requirements of diverse application scenarios. In other words, plug-in extensions support intelligent technologies (such as force control, visual recognition, and AI algorithms) and can quickly adapt to different application scenarios.
[0172] Improved development efficiency and flexibility: The plugin server supports dynamic loading and hot-swapping, allowing developers to quickly develop, test, and deploy plugin modules without interrupting system operation, significantly shortening the development cycle and providing flexible solutions for complex tasks and urgent needs.
[0173] Achieving system openness and compatibility: By defining standardized plug-in interface protocols, the system supports rapid integration of plug-ins from different vendors or third parties, achieving open compatibility between software and hardware. This lays the foundation for the ecosystem construction of robotic arm control terminals and promotes industry standardization. In other words, it integrates multiple communication protocols such as TCP / IP and Modbus, supporting real-time interaction between the plug-in server and external devices (such as sensors and host computers).
[0174] Functional expansion supporting diverse application scenarios: The development and integration of multi-functional plug-ins such as force sensor device plug-ins, end effector plug-ins, and welding plug-ins provide strong support for the intelligence and multi-functionality of robotic arms.
[0175] Significantly improves system operation and maintenance efficiency and reliability: The plugin server enables remote management of task plugins, making online upgrades and dynamic configuration possible, greatly improving controller operation and maintenance efficiency. Simultaneously, the plugin server allows for the easy addition of log management plugins for real-time monitoring of system operation status, providing technical support for locating system operational problems and significantly improving system stability and reliability.
[0176] Supports rapid verification and iteration of complex tasks: The plugin server allows developers to modularize specific functions and quickly integrate and verify them through standardized interfaces. Especially in verification technical solutions and experimental tasks, developers can flexibly test different algorithms or functions, reduce verification costs, and accelerate technology iteration.
[0177] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0178] Based on the same inventive concept, this application also provides a robotic arm task processing device for implementing the robotic arm task processing method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more embodiments of the robotic arm task processing device provided below can be found in the limitations of the robotic arm task processing method described above, and will not be repeated here.
[0179] In one embodiment, such as Figure 8 As shown, a robotic arm task processing device is provided, including: a determination module 802, an activation module 804, an acquisition module 806, a filtering module 808, an analysis module 810, and a feedback module 812, wherein:
[0180] The determination module 802 is used to determine the plug-in activation mechanism and task scheduling mechanism that match the current running state, as well as the execution order of the plug-in activation mechanism and task scheduling mechanism.
[0181] Activation module 804 is used to activate multiple preset task plugins based on the plugin activation mechanism when the execution order of the plugin activation mechanism is before the task scheduling mechanism.
[0182] The acquisition module 806 is used to acquire task messages for the robotic arm based on the task scheduling mechanism;
[0183] The filtering module 808 is used to determine the target plugin that matches the task message from multiple preset task plugins.
[0184] The analysis module 810 is used to call the target plugin to analyze the task message and determine the corresponding robotic arm control command.
[0185] Feedback module 812 is used to feed back robotic arm control commands to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform actions that match the task message.
[0186] In one embodiment, the determining module is further configured to: determine the execution order of the plugin activation mechanism before the execution order of the task scheduling mechanism when the current running state characterization is starting; the activation module is further configured to: call the plugin loading component matching the plugin activation mechanism to load each preset task plugin into the plugin service process; and call the plugin initialization component matching the plugin activation mechanism to initialize each preset task plugin in the plugin service process.
[0187] In one embodiment, the acquisition module is further configured to: call a message processing thread pool that matches the task scheduling mechanism to store task messages from the robotic arm control end; and call a plug-in message scheduling component that matches the task scheduling mechanism to acquire task messages for the robotic arm from the message processing thread pool.
[0188] In one embodiment, the determining module is further configured to: obtain multiple task plugins under a preset directory; and determine the multiple task plugins as multiple preset task plugins.
[0189] In one embodiment, the feedback module is further configured to: obtain the processing time of the task message; and, if the processing time exceeds a time threshold, call the message processing time controller to send a message processing failure message to the robotic arm control terminal.
[0190] In one embodiment, the determining module is further configured to determine, when the current running state characterization indicates that the execution order of the plug-in activation mechanism is later than the execution order of the task scheduling mechanism; the acquiring module is further configured to acquire task messages for the robotic arm from the robotic arm control terminal based on the task scheduling mechanism; the filtering module is further configured to determine the target plug-in that matches the task message from multiple preset task plug-ins; the activation module is further configured to activate the target plug-in based on the plug-in activation mechanism; the analysis module is further configured to call the target plug-in to analyze the task message and determine the robotic arm control instructions corresponding to the task message; and the feedback module is further configured to feed back the robotic arm control instructions to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform actions that match the task message.
[0191] In one embodiment, the device further includes a processing module, which is configured to perform at least one of the following: first, in response to a plug-in uninstallation operation, calling a plug-in uninstallation component to uninstall a plug-in matching the uninstallation operation from a plurality of preset task plug-ins; second, calling a plug-in dynamic link library to feed back robotic arm control instructions to the robotic arm control terminal; the plurality of preset task plug-ins are deployed in the plug-in dynamic link library.
[0192] Each module in the aforementioned robotic arm task processing device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0193] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 9 As shown, the computer device includes a processor, memory, and a network interface connected via a system bus. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores data such as task messages. The network interface communicates with external terminals via a network connection. When the computer program is executed by the processor, it implements a robotic arm task processing method.
[0194] Those skilled in the art will understand that Figure 9 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0195] In one embodiment, a computer device is provided, including a memory and a processor. The memory stores a computer program, and the processor executes the computer program to perform the following steps: determining a plug-in activation mechanism and a task scheduling mechanism that match the current running state, and the execution order of the plug-in activation mechanism and the task scheduling mechanism; activating multiple preset task plug-ins based on the plug-in activation mechanism when the execution order of the plug-in activation mechanism is before the task scheduling mechanism; obtaining a task message for a robotic arm based on the task scheduling mechanism; determining a target plug-in that matches the task message from the multiple preset task plug-ins; calling the target plug-in to analyze the task message and determine the robotic arm control instructions corresponding to the task message; and feeding back the robotic arm control instructions to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform an action that matches the task message.
[0196] In one embodiment, when the processor executes the computer program, it further performs the following steps: when the current running state characterization is starting up, it determines that the execution order of the plug-in activation mechanism is higher than the execution order of the task scheduling mechanism; it calls the plug-in loading component that matches the plug-in activation mechanism to load each preset task plug-in into the plug-in service process; and it calls the plug-in initialization component that matches the plug-in activation mechanism to initialize each preset task plug-in in the plug-in service process.
[0197] In one embodiment, when the processor executes the computer program, it also performs the following steps: calling a message processing thread pool that matches the task scheduling mechanism to store task messages from the robotic arm control end; and calling a plug-in message scheduling component that matches the task scheduling mechanism to retrieve task messages for the robotic arm from the message processing thread pool.
[0198] In one embodiment, when the processor executes the computer program, it further performs the following steps: obtaining multiple task plugins in a preset directory; and identifying the multiple task plugins as multiple preset task plugins.
[0199] In one embodiment, when the processor executes the computer program, it also performs the following steps: obtaining the processing time of the task message; if the processing time exceeds the time threshold, calling the message processing time controller to send a message processing failure message to the robotic arm control terminal.
[0200] In one embodiment, when the processor executes the computer program, it further performs the following steps: when the current running state representation has been started, it determines that the execution order of the plug-in activation mechanism is later than the execution order of the task scheduling mechanism; based on the task scheduling mechanism, it obtains a task message for the robotic arm from the robotic arm control terminal; from multiple preset task plug-ins, it determines a target plug-in that matches the task message; it activates the target plug-in based on the plug-in activation mechanism; it calls the target plug-in to analyze the task message and determine the robotic arm control instructions corresponding to the task message; it feeds back the robotic arm control instructions to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform an action that matches the task message.
[0201] In one embodiment, when the processor executes the computer program, it also implements at least one of the following: First, in response to a plug-in uninstallation operation, it calls a plug-in uninstallation component to uninstall a plug-in that matches the uninstallation operation from a plurality of preset task plug-ins; Second, it calls a plug-in dynamic link library to feed back robotic arm control instructions to the robotic arm control terminal; The plurality of preset task plug-ins are deployed in the plug-in dynamic link library.
[0202] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, it performs the following steps: determining a plug-in activation mechanism and a task scheduling mechanism that match the current running state, and the execution order of the plug-in activation mechanism and the task scheduling mechanism; activating multiple preset task plug-ins based on the plug-in activation mechanism when the execution order of the plug-in activation mechanism is prior to the task scheduling mechanism; obtaining a task message for the robotic arm based on the task scheduling mechanism; determining a target plug-in that matches the task message from the multiple preset task plug-ins; calling the target plug-in to analyze the task message and determine the robotic arm control instructions corresponding to the task message; and feeding back the robotic arm control instructions to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform an action that matches the task message.
[0203] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: when the current running state characterization is starting up, determining that the execution order of the plug-in activation mechanism is prior to the execution order of the task scheduling mechanism; invoking the plug-in loading component that matches the plug-in activation mechanism to load each preset task plug-in into the plug-in service process; and invoking the plug-in initialization component that matches the plug-in activation mechanism to initialize each preset task plug-in in the plug-in service process.
[0204] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: calling a message processing thread pool that matches the task scheduling mechanism to store task messages from the robotic arm control end; and calling a plug-in message scheduling component that matches the task scheduling mechanism to retrieve task messages for the robotic arm from the message processing thread pool.
[0205] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: obtaining multiple task plugins in a preset directory; and identifying the multiple task plugins as multiple preset task plugins.
[0206] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: obtaining the processing time of the task message; if the processing time exceeds the time threshold, calling the message processing time controller to send a message processing failure message to the robotic arm control terminal.
[0207] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: when the current running state representation has been started, it determines that the execution order of the plug-in activation mechanism is later than the execution order of the task scheduling mechanism; based on the task scheduling mechanism, it obtains a task message for the robotic arm from the robotic arm control terminal; from multiple preset task plug-ins, it determines a target plug-in that matches the task message; it activates the target plug-in based on the plug-in activation mechanism; it calls the target plug-in to analyze the task message and determine the robotic arm control instructions corresponding to the task message; it feeds back the robotic arm control instructions to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform an action that matches the task message.
[0208] In one embodiment, when the computer program is executed by the processor, it also implements at least one of the following: First, in response to a plugin uninstallation operation, it calls a plugin uninstallation component to uninstall the plugin that matches the uninstallation operation from a plurality of preset task plugins; Second, it calls a plugin dynamic link library to feed back robotic arm control instructions to the robotic arm control terminal; The plurality of preset task plugins are deployed in the plugin dynamic link library.
[0209] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps: determining a plug-in activation mechanism and a task scheduling mechanism that match the current running state, and the respective execution order of the plug-in activation mechanism and the task scheduling mechanism; activating multiple preset task plug-ins based on the plug-in activation mechanism when the execution order of the plug-in activation mechanism precedes that of the task scheduling mechanism; obtaining a task message for a robotic arm based on the task scheduling mechanism; determining a target plug-in that matches the task message from the multiple preset task plug-ins; calling the target plug-in to analyze the task message and determine the robotic arm control instructions corresponding to the task message; and feeding back the robotic arm control instructions to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform an action matching the task message.
[0210] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: when the current running state characterization is starting up, determining that the execution order of the plug-in activation mechanism is prior to the execution order of the task scheduling mechanism; invoking the plug-in loading component that matches the plug-in activation mechanism to load each preset task plug-in into the plug-in service process; and invoking the plug-in initialization component that matches the plug-in activation mechanism to initialize each preset task plug-in in the plug-in service process.
[0211] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: calling a message processing thread pool that matches the task scheduling mechanism to store task messages from the robotic arm control end; and calling a plug-in message scheduling component that matches the task scheduling mechanism to retrieve task messages for the robotic arm from the message processing thread pool.
[0212] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: obtaining multiple task plugins in a preset directory; and identifying the multiple task plugins as multiple preset task plugins.
[0213] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: obtaining the processing time of the task message; if the processing time exceeds the time threshold, calling the message processing time controller to send a message processing failure message to the robotic arm control terminal.
[0214] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: when the current running state representation has been started, it determines that the execution order of the plug-in activation mechanism is later than the execution order of the task scheduling mechanism; based on the task scheduling mechanism, it obtains a task message for the robotic arm from the robotic arm control terminal; from multiple preset task plug-ins, it determines a target plug-in that matches the task message; it activates the target plug-in based on the plug-in activation mechanism; it calls the target plug-in to analyze the task message and determine the robotic arm control instructions corresponding to the task message; it feeds back the robotic arm control instructions to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform an action that matches the task message.
[0215] In one embodiment, when the computer program is executed by the processor, it also implements at least one of the following: First, in response to a plugin uninstallation operation, it calls a plugin uninstallation component to uninstall the plugin that matches the uninstallation operation from a plurality of preset task plugins; Second, it calls a plugin dynamic link library to feed back robotic arm control instructions to the robotic arm control terminal; The plurality of preset task plugins are deployed in the plugin dynamic link library.
[0216] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.
[0217] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0218] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0219] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A robotic arm task processing method, characterized in that, The method includes: Determine the plug-in activation mechanism and task scheduling mechanism that match the current running state, as well as the execution order of the plug-in activation mechanism and the task scheduling mechanism; When the execution order of the plugin activation mechanism precedes that of the task scheduling mechanism, multiple preset task plugins are activated based on the plugin activation mechanism. Based on the task scheduling mechanism, the task message for the robotic arm is obtained; From the plurality of preset task plugins, determine the target plugin that matches the task message; The target plugin is invoked to analyze the task message and determine the robotic arm control command corresponding to the task message; The robotic arm control command is fed back to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform an action that matches the task message.
2. The method according to claim 1, characterized in that, The method further includes: When the current running state characterization is starting, the execution order of the plug-in activation mechanism is determined to be higher than the execution order of the task scheduling mechanism; The activation of multiple preset task plugins based on the plugin activation mechanism includes: Invoke the plugin loading component that matches the plugin activation mechanism to load each of the preset task plugins into the plugin service process; Invoke the plugin initialization component that matches the plugin activation mechanism to initialize each of the preset task plugins in the plugin service process.
3. The method according to claim 2, characterized in that, The step of obtaining task messages for the robotic arm based on the task scheduling mechanism includes: The message processing thread pool that matches the task scheduling mechanism is invoked to store task messages from the robotic arm control terminal. The plugin message scheduling component that matches the task scheduling mechanism is invoked to obtain the task message for the robotic arm from the message processing thread pool.
4. The method according to claim 2, characterized in that, The method further includes: Retrieve multiple task plugins from a preset directory; The multiple task plugins are identified as the multiple preset task plugins.
5. The method according to claim 3, characterized in that, The method further includes: Processing time for acquiring task messages; If the processing time exceeds the time threshold, the message processing time controller is invoked to send a message processing failure message to the robotic arm control terminal.
6. The method according to claim 1, characterized in that, The method further includes: When the current running state representation has been started, it is determined that the execution order of the plug-in activation mechanism is later than the execution order of the task scheduling mechanism; Based on the task scheduling mechanism, task messages for the robotic arm are obtained from the robotic arm control terminal. From a plurality of preset task plugins, determine the target plugin that matches the task message; The target plugin is activated based on the plugin activation mechanism. The target plugin is invoked to analyze the task message and determine the robotic arm control command corresponding to the task message; The robotic arm control terminal sends back the robotic arm control command to the robotic arm control terminal so that the robotic arm control terminal controls the robotic arm to perform an action that matches the task message.
7. The method according to claim 1, characterized in that, The method further includes at least one of the following: First item: In response to the plugin uninstallation operation, the plugin uninstallation component is invoked to uninstall the plugin that matches the uninstallation operation from the plurality of preset task plugins; Second item: The plugin dynamic link library is invoked to send the control commands of the robotic arm to the control terminal; the multiple preset task plugins are deployed in the plugin dynamic link library.
8. A robotic arm task processing device, characterized in that, The device includes: The determination module is used to determine the plug-in activation mechanism and task scheduling mechanism that match the current running state, as well as the execution order of the plug-in activation mechanism and the task scheduling mechanism respectively; An activation module is used to activate multiple preset task plugins based on the plugin activation mechanism when the execution order of the plugin activation mechanism is prior to the task scheduling mechanism. The acquisition module is used to acquire task messages for the robotic arm based on the task scheduling mechanism. A filtering module is used to determine the target plugin that matches the task message from the plurality of preset task plugins; The analysis module is used to call the target plugin to analyze the task message and determine the robotic arm control command corresponding to the task message; The feedback module is used to feed back the robotic arm control command to the robotic arm control terminal, so that the robotic arm control terminal controls the robotic arm to perform an action that matches the task message.
9. A robotic arm task processing system, characterized in that, The robotic arm task processing system includes a plug-in server and a robotic arm control terminal; The plugin server is used to determine the plugin activation mechanism and task scheduling mechanism that match the current running state, as well as the execution order of the plugin activation mechanism and the task scheduling mechanism; when the execution order of the plugin activation mechanism is earlier than that of the task scheduling mechanism, multiple preset task plugins are activated based on the plugin activation mechanism. Based on the task scheduling mechanism, the task message for the robotic arm is obtained; From the plurality of preset task plugins, determine the target plugin that matches the task message; The target plugin is invoked to analyze the task message and determine the robotic arm control command corresponding to the task message; Feedback the robotic arm control command to the robotic arm control terminal; The robotic arm control terminal is used to control the robotic arm to perform actions that match the task message based on the robotic arm control instructions.
10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 7.