Method for providing maintenance information, maintenance system, and computer program product

The multi-agent system with LLM and RAG architecture simplifies the interaction with predictive maintenance systems by allowing users to access maintenance information in plain language, addressing the complexity and knowledge requirements of conventional systems.

WO2026039964A1PCT designated stage Publication Date: 2026-02-26ABB (SCHWEIZ) AG +3
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/113168
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-19
Publication Date
2026-02-26

AI Technical Summary

Technical Problem

Conventional predictive maintenance systems for industrial robots provide limited depth in analyzing operation abnormalities, requiring specialized knowledge and complex interactions, posing challenges for personnel in effectively utilizing these systems.

Method used

A multi-agent based predictive maintenance system with a coordinator agent and tooling agents, utilizing a large language model (LLM) and Retrieval Augmented Generation (RAG) architecture, allows users to interact in plain language, simplifying the process by accessing databases and knowledge graphs to provide detailed maintenance information.

Benefits of technology

Enables users to obtain comprehensive maintenance insights without specialized knowledge, simplifying interactions and reducing the need for professional training, thereby enhancing the usability and effectiveness of predictive maintenance systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024113168_26022026_PF_FP_ABST
    Figure CN2024113168_26022026_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of present disclosure relate a method for providing maintenance information for a robot at a maintenance system. The maintenance system includes a coordinator agent and a plurality of tooling agents. In the method, a coordinator agent receives a query from a user as a prompt. The query relates to maintenance information about the robot and / or applications of the robot. The coordinator agent selects at least one of the plurality of tooling agents based on the maintenance information. The coordinator agent interacts with the at least one tooling agent to answer information in response to the query. The coordinator agent provides the answer information to the user. In this way, the user can interact with the maintenance system using plain language without specialized knowledge.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD FOR PROVIDING MAINTENANCE INFORMATION, MAINTENANCE SYSTEM, AND COMPUTER PROGRAM PRODUCTFIELD

[0001] Embodiments of the present disclosure generally relate to the field of industrial robot, and more particularly, to a method for providing maintenance information, an electronic device and a computer program product.BACKGROUND

[0002] In the long-term operation of industrial robot, the performance and health of the devices in the robot will inevitably decline. At the same time, with the increase of the number of the devices, the operating environment becomes more complex and diverse, and the probability of device degradation gradually increases. Under these circumstances, if the degradation or anomalies of the devices has not been detected and found by the personnel in a timely manner, device failures may occur and cause damages to property and personnel. Therefore, industrial robots are usually monitored by a predictive maintenance system.

[0003] Conventionally, the basic functions of the predictive maintenance system of industrial robots usually include data acquisition functions, process model configuration functions, model-based prediction functions, etc. The predictive maintenance is configured to perform continuous or intermittent maintenances determined based on observed conditions to monitor, diagnose or predict a condition performance. The result of such maintenance may indicate current and future functional capabilities or the nature and schedule of the planned maintenance.SUMMARY

[0004] In view of the foregoing problems, example embodiments of the present disclosure propose solutions for providing maintenance information for a robot at a maintenance system.

[0005] In a first aspect of the present disclosure, example embodiments of the present disclosure provide a method for providing maintenance information for a robot at a maintenance system. The maintenance system includes a coordinator agent and a plurality  of tooling agents. In the method, the coordinator agent receives a query from a user as a prompt. The query is related to maintenance information about the robot and / or applications of the robot. The coordinator agent selects at least one of the plurality of tooling agents based on the maintenance information. The coordinator agent interacts with the at least one tooling agent to answer information in response to the query. The coordinator agent provides the answer information to the user

[0006] In a second aspect, example embodiments of the present disclosure provide a maintenance system. The maintenance system comprises: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the system to perform the method in accordance with the first aspect of the present disclosure.

[0007] In a third aspect, example embodiments of the present disclosure provide a computer program product comprising computer readable instructions stored on a non-transitory computer readable storage medium. When executed by a computer, the computer readable instructions cause the computer to perform the method in accordance with the first aspect of the present disclosure.BRIEF DESCRIPTION OF THE DRAWINGS

[0008] Through the following detailed descriptions with reference to the accompanying drawings, the above and other objectives, features and advantages of the example embodiments disclosed herein will become more comprehensible. In the drawings, several example embodiments disclosed herein will be illustrated in an exemplary and in a non-limiting manner, wherein:

[0009] Fig. 1 schematically illustrates a block diagram of an industrial system in which example embodiments of the present disclosure can be implemented;

[0010] Fig. 2A schematically illustrates a schematic framework of an example maintenance system in accordance with embodiments of the present disclosure;

[0011] Fig. 2B schematically illustrates a schematic framework of an example RAG agent in accordance with embodiments of the present disclosure;

[0012] Fig. 2C schematically illustrates a schematic framework of an example knowledge graph database in accordance with embodiments of the present disclosure;

[0013] Figs. 3A-3B schematically illustrate signaling diagrams of example procedures for providing maintenance information in accordance with embodiments of the present disclosure;

[0014] Fig. 4 schematically illustrates a diagram of an example procedure for providing maintenance information in accordance with embodiments of the present disclosure;

[0015] Fig. 5 schematically illustrates a flowchart of a method for providing maintenance information for a robot in accordance with embodiments of the present disclosure; and

[0016] Fig. 6 schematically illustrates a schematic diagram of an electronic device for implementing a method in accordance with embodiments of the present disclosure.

[0017] Throughout the drawings, the same or similar reference numerals represent the same or similar element.DETAILED DESCRIPTION

[0018] Principle of the present disclosure will now be described with reference to some example embodiments. It is to be understood that these embodiments are described only for the purpose of illustration and help those skilled in the art to understand and implement the present disclosure, without suggesting any limitation as to the scope of the disclosure. The disclosure described herein can be implemented in various manners other than the ones described below.

[0019] In the following description and claims, unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skills in the art to which this disclosure belongs.

[0020] References in the present disclosure to “one embodiment, ” “an embodiment, ” “an example embodiment, ” and the like indicate that the embodiment described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the know circle of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.

[0021] It shall be understood that although the terms “first” and “second” etc. may be  used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of example embodiments. As used herein, the term “and / or” includes any and all combinations of one or more of the listed terms.

[0022] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms “a” , “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” , “comprising” , “has” , “having” , “includes” and / or “including” , when used herein, specify the presence of stated features, elements, and / or components etc., but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof.

[0023] As described above, the predictive maintenance system provides condition-based maintenances for robots. Specifically, when an industrial robot is running, the predictive maintenance system monitors the operation conditions of the important or critical components and carries out fault diagnosis regularly or continuously. The predictive maintenance system determines the operation condition of the components, and predicts the future development of component conditions. If the predictive maintenance system determines that one of the current operation conduction exceeds the corresponding predefined threshold, the predictive maintenance system will send a warning to the personnel to notify the personnel about an operation abnormality.

[0024] However, when the predictive maintenance system detects an operation abnormality, it may only provide a description of the abnormality of the operation condition. The analysis of the abnormality in the result output by the predictive maintenance system may lack depth. Thus, for the analysis of process results, specialized analysis is often required which in turn requires professional knowledge of the process implemented at the robot. In order to provide the tools for a deeper analysis, the predictive maintenance system becomes more and more complex. Thus, specific trainings for using such predictive maintenance system are usually required which poses a significant challenge for the interaction between the personnel and the predictive maintenance system.

[0025] In view of the above, a multi-agent based predictive maintenance system and an artificial intelligence-based interaction mechanism between a user and the predictive maintenance system. The predictive maintenance system comprises a coordinator agent and a plurality of tooling agents. In the associated mechanism, when the coordinator agent receives a user query or request, the coordinator agent selects at least one tooling agent that may be able to obtain maintenance information associated with the user query. After the answer information is obtained, the coordinator agent provides an answer to the user.

[0026] According to the embodiments in accordance with the present disclosure, the query about maintenance information for a robot will be used as a prompt to generate answer information by means of a large language model. In this way, the user can interact with the maintenance system using plain language without specialized knowledge.

[0027] A framework in accordance with embodiments of the present disclosure will be described with reference to Figs. 1 to 6. Fig. 1 schematically illustrates a block diagram of an industrial system 100 in which example embodiments of the present disclosure can be implemented. As illustrated in Fig. 1, the industrial system 100 comprises a robot system 110. The robot system comprises: a plurality of robots 111 and a transportation system 112. The plurality of robots 111 is configured to process the work pieces conveyed by the transportation system 112. The robot system 110 further comprises sensors 113 for sensing operation data during operation of the plurality of robots 111.

[0028] The industrial system 100 further comprises a maintenance system 120 deployed at the same location of the robot system 110. The maintenance system 120 comprises an edge computing device 121. The edge computing device 121 may be configured as a maintenance server which may provide predictive maintenance functions. In some example embodiments, the edge computing device 121 is not connected to the external network and a large language model may be deployed at the edge computing device 121 for facilitating the predictive maintenance functions. In some alternative embodiments, the edge computing device 121 is connected to the external network and the edge computing device 121 may call the interfaces of an online large language model (LLM) . The maintenance system 120 further comprises a terminal device 122. The terminal device 122 comprises a user interface 123 for facilitating the interaction between the maintenance system 120 and the user 130. In the other hand, the edge computing device 121 is connected to the sensors 113 of the robot system 110 via a data transmission 124 to collect operation data of the components in the robot system 110. The data transmission 124 may be wired  transmissions or wireless transmissions.

[0029] In order to meet the needs with regard to the maintenance for robots or robot system, the maintenance system 120 is a service system based on massive data collection, aggregation and analysis, and realizing the modeling, standardization, software and reuse of industrial technology, experience and knowledge. From the perspective of the overall architecture, the maintenance system 120 uses the sensor 113 installed on the device to obtain the device's health status monitoring signals and operating parameter data for subsequent data processing. The application layer of the maintenance system 120 may implement the functions of monitoring signal analysis, fault feature extraction, fault diagnosis and prediction. Further, the application layer may also provide intelligent management, application and service. The maintenance system 120 may have powerful functions such as data acquisition, analysis and processing, data visualization, equipment operation and maintenance, fault diagnosis, fault alarm, etc. Through real-time monitoring and statistics analysis, the maintenance functions for the devices can be implemented, and the maintenance report may be automatically generated based on the operation information and maintenance information.

[0030] As discussed above, the maintenance system 120 may provide a variety of the functions based on process knowledge and is quite complex. The functions in the application layer could conventionally be called by the personnel with specialized instructions. In order to simply the interactions between the user and the maintenance system, a multi-agent based architecture is implemented on the maintenance system 120. The maintenance system 120 comprises a coordinator agent and a plurality of tooling agents. When the user 130 calls the user interface 123 and inputs a query in form of natural language, the interaction with the maintenance system 120 is initiated. The coordinator agent receives the user query and may select at least one tooling agent that suitable for determining maintenance information associated with the user query. After the answer information is obtained, the coordinator agent may generate an answer based on the answer information by means of an LLM deployed at the edge computing device 121. Then, the agent provides the answer to the user 130 via the user interface 123.

[0031] According to the embodiments in accordance with the present disclosure, the query about maintenance information for the robot system 110 will be used as a prompt to generate answer information by means of an LLM. In this way, the user 130 can interact with the maintenance system 120 using plain language without specialized knowledge.

[0032] Hereinafter, the architecture of a maintenance system in accordance with the present disclosure is described with reference to Figs. 2A to 2C. Fig. 2A schematically illustrates a schematic framework 200A of an example maintenance system in accordance with embodiments of the present disclosure. As illustrated in Fig. 2A, the framework 200A comprises a user interface 250, a basic maintenance system 230 which provides basic functions of the maintenance system and a plurality of agents connecting the user interface 250 with the basis maintenance system 230.

[0033] The plurality of agents includes a coordinator agent 210 and a plurality of tooling agents 220. In this case, the coordinator agent 210 and the plurality of tooling agents 220 may be LLM based agents, hereinafter also referred to as LLM agents for short. The LLM agents involve LLM applications that can execute complex tasks through the use of an architecture that combines LLMs with key modules like planning and memory. For example, a LLM, which is deployed on the maintenance system, may control a flow of operations needed to complete a task or user request. During the flow, the LLM agents may require key modules such as planning, memory, and tool usage corresponding to the requirements of the task.

[0034] As for the multi-agent architecture as illustrated in Fig. 2A, the coordinator agent 210 may be configured to receive queries or requests from the user via the user interface 250, coordinate the operations the plurality of tooling agents 220 to find the information associated with the queries or requests, and generate answers or responses based on the information. As a coordinator or a manager for the plurality of the tooling agents, the main modules of the coordinator agent 210 is the planning module. The planning module helps to break down the necessary steps or subtasks which the plurality of agents will solve individually to answer the user request. This step is important to enable the agent to reason better about the problem and reliably find a solution.

[0035] For example, when the coordinator agent 210 receives a query from a user via the user interface 250. The coordinator agent 210 may leverage the deployed LLM with the query as prompts to decompose a detailed plan which will include subtasks to help address the user query. The techniques for task decomposition may include single-path reasoning approaches, for example chain of thought, and multi-path reasoning approaches, for example tree of thoughts. After the subtasks are determined, the coordinator agent 210 may select at least one of the plurality of the tooling agents 220 to complete the subtasks. In some example embodiments, the coordinator agent 210 may utilize the LLM to generate  corresponding prompts for respective selected tooling agents and send the generated prompts to the respective selected tooling agents to cause the respective selected tooling agents to complete the subtasks at their ends.

[0036] Generally, the plurality of tooling agents 220 may be configured to call the basic functions of the basis maintenance system 230 as tools to achieve the subtasks assigned by the coordinator agent 210. Thus, the main modules for the plurality of tooling agents 220 are tool modules. The tool modules correspond to a set of tools that enables the tooling agents 220 to interact with external environments. The tool could also include databases, knowledge bases, and external models. When the tooling agents 220 interact with the tools, they execute tasks via workflows that assist the tooling agents 220 to obtain observations or necessary information to complete subtasks and satisfy the user request.

[0037] As the multi-agent architecture in a maintenance system for a robot, the coordinator agent may mainly receive queries about the maintenance information with regard to the robot, including maintenance information of the robot and maintenance information of application that the robot is able to implement. The application may also be referred to as process implement at the robot system, such as painting, palletization, etc. Further, the maintenance information of the robot also includes information of the peripheral devices of the robot. However, to answer such queries, just using an LLM alone wouldn't be enough. Thus, a plurality of databases is established locally at the maintenance system for example at the edge computing device 112 as illustrated in Fig. 2A. As such, the tooling agents 220 can combine the LLM with the plurality of local databases to form a Retrieval Augmented Generation (RAG) system.

[0038] The plurality of databases may be established based on the data collected from the robot and organized by the data collector 237. The data may comprise at least one of: asset data, operation data, sensor data, image data, sound data, maintenance data, failure data, task data, and operation data of the industrial robot. In order to acquire the asset data or maintenance data, the data collector 237 may be connected to the local Enterprise Resource Planning (ERP) system and access the data in stored in the ERP system.

[0039] Specifically, as illustrated in Fig. 2A, the plurality of tooling agents 220 includes a process data agent 221, a process knowledge agent 222, a user manual agent 223 and a configuration agent 224. Firstly, the process data agent 221 maybe a RAG agent and has access to the data stored in the process data database 231. The process data database 231 is  a Structured query language (SQL) database and stores data associated with the processes historically and currently implemented at the robot. In some example embodiments, when the coordinator agent 210 receives a query about process data, the coordinator agent 210 determines the task to be retrieving the related process data. Then, the coordinator agent 210 determines that the process data agent 221 is suitable for such task. The coordinator agent 210 may send the query as a prompt to the process data agent 221 to cause the process data agent 221 to retrieve the process data to the query. When the process data agent 221 receives the query, the process data agent 221 may use a SQL tool to convert the target process data indicated by the query into corresponding SQL instructions. Then, the process data agent 221 retrieves the target process data from the process data database 231 with the SQL instructions.

[0040] Secondly, the process knowledge agent 222 maybe a RAG agent and has access to the data stored in the process knowledge database 232. The process knowledge database 232 stores knowledge graphs created based on data collected by the maintenance system. A knowledge graph captures information about data points or entities in a domain or a business and the relationships between them. Data is described as nodes and relationships within a knowledge graph in form of {entity1, relationship, entity2} .

[0041] In some example embodiments, when the coordinator agent 210 receives a query about process knowledge, for example a cause of a failure, the coordinator agent 210 determines the task to be retrieving the related process knowledge. Then, the coordinator agent 210 determines that the process knowledge agent 222 is suitable for such task. The coordinator agent 210 may send the query as a prompt to the process knowledge agent 222 to cause the process knowledge agent 222 to retrieve the process data to the query. When the process data agent 221 receives the query, the process knowledge agent 222 determines an entity related to the query, and retrieves all the knowledge graphs related to the entity from the knowledge graph database 232. Then, the process knowledge agent 222 extracts relationships and the other entities in the retrieved knowledge graphs to obtain the answer information in response to the query. In some example embodiments, the process knowledge agent 222 may further call the process analyzer 235 to provide an analysis about the process associated with the user query.

[0042] Thirdly, the user manual agent 223 maybe a RAG agent and has access to the data stored in the user manual database 233. The user manual database 233 stores all the contents in the user manual for all the components in the robot. In some example  embodiments, when the coordinator agent 210 receives a query about manual instructions for operating components in the robot, the coordinator agent 210 determines the task to be retrieving the related manual instructions. Then, the coordinator agent 210 determines that the user manual agent 223 is suitable for such task. The coordinator agent 210 may send the query as a prompt to the user manual agent 223 to cause the user manual agent 223 to retrieve the manual instructions to the query. When the user manual agent 223 receives the query, the user manual agent 223 may use a SQL tool to convert the manual instructions for the target component indicated by the query into corresponding SQL instructions. Then, the user manual agent 223 retrieves the manual instructions for the target component from the user manual database 233 with the SQL instructions.

[0043] Fourthly, the configuration agent 224 has access to the data stored in the configuration database 234. The configuration database 234 stores all the configuration instructions to all the components in the robot and all the configurations set for the all the components during the processes currently implemented at the robot. In some example embodiments, when the coordinator agent 210 receives a request to configure a specific operation in the process implemented at the robot, the coordinator agent 210 determines the task to be configuring the operation. Then, the coordinator agent 210 determines that the configuration agent 224 is suitable for such task. The coordinator agent 210 may send the query as a prompt to the configuration agent 224 to cause the configuration agent 224 to configure the target operation indicated by the request with the requested parameters. When the configuration agent 224 receives the query, the configuration agent 224 may retrieve the configuration instructions corresponding to the target operation. Then, the configuration agent 224 calls the system setup 236 to configure the target operation by means of the retrieved configuration instructions. After the configuration is complete, the configuration agent 224 sends a notification about the configuration being complete as the answer information to the coordinator agent 210.

[0044] When the tooling agents retrieve the answer information associated with the user query, the tooling agents send the answer information to the coordinator agent 210. The coordinator agent 210 may determine a presentation style of the answer information based on the type of the answer information. The coordinator agent 210 generates an answer in the determined presentation style and sends the answer to the terminal device to cause the terminal device to present the answer to the user via the user interface 250.

[0045] According to the embodiments as discussed above in reference to Fig. 2A, users  can see data in any form just by asking the maintenance system via the user interface without requirement to access the data in the maintenance system with professional database query skills. Users also can ask the maintenance system via the user interface to provide some professional suggestions and insight based on the analyzed results without the requirement to have the professional process background and knowledge for failure analysis. Further, users can ask the maintenance system via the user interface to configure respective operations without the need to go to the configuration pages and configure the parameters in the configuration pages. In general, the multi-agent architecture as illustrated in Fig. 2A, significantly simplifies the query or request interactions between the user and the maintenance system. In this way, users can ask the maintenance system via LLM based AI chatbot for help instead of custom support engineers.

[0046] Fig. 2B schematically illustrates a schematic framework 200B of an example RAG agent in accordance with embodiments of the present disclosure. LLMs alone still face significant limitations, especially in domain-specific or knowledge-intensive tasks, especially when dealing with queries that exceed their training data or require current information. In this situations, a “hallucination” phenomenon may occur. To overcome this problem, a RAG that enhances the functionality of LLM by retrieving relevant document chunks from external knowledge bases and performing semantic similarity calculations is provided. By referencing external knowledge, RAG effectively reduces the problem of generating factually incorrect content. RAG is currently the most popular architecture based on LLM systems.

[0047] As illustrated in Fig. 2B, in the framework 200B, a RAG agent 260 is configured. The RAG agent maybe corresponding to the process knowledge agent 222 and the user manual agent 223 as illustrated in Fig. 2A. In some example embodiments, a local knowledge base may be built according to the following process. In the process, data materials in related fields to ensure the quality and integrity of the materials are collected and sorted out. Since the context window of LLM is limited, the data materials are divided into smaller blocks so that LLM can process it. Vectors for each data block is generated using vector embedding techniques and is stored in a local vector database

[0048] As illustrated in Fig. 2B, when the RAG agent 260 receives a query 261 via the user interface 250, the RAG agent 260 split the query261 into chunks and the chunks are encoded into vectors 263 by means of an embedding model 262. The embedded vectors 263 are inputted into the vector database 264 and the target data 265 is obtained through the  semantic similarity between query 261 and embedded vectors 262 by using the vector database as retriever. Then, the RAG agent 260 uses a fixed chat template to combine the retrieved context with the user query and send it to LLM 270 to obtain answer information 266 as the output of the LLM 270.

[0049] Fig. 2C schematically illustrates a schematic framework 200C of an example knowledge graph database in accordance with embodiments of the present disclosure. The knowledge graph database illustrated in Fig. 2C is corresponding to the knowledge graph database 232 as illustrated in Fig. 2A. As illustrated in Fig. 2C, the knowledge graph database 232 comprises data in forms of test, images or videos. The knowledge graph 232 may be established based on the data materials in the robot manual, operation principle, maintenance record, etc. In some example embodiments, the basic data of each component of the robot, failure causes, failure modes, and failure measures are obtained. The obtained data is labelled and then is trained based on a NLP model to identify the entities associated with the obtained data. Then, the knowledge graph is created based on the identifies entities and their relationships. As such, monitoring, creation of maintenance work orders and intelligent question and answer can be obtained based on the knowledge graph of industrial robots.

[0050] Fig. 3A schematically illustrates a signaling diagram of an example procedure 300A for providing maintenance information in accordance with some embodiments of the present disclosure. The procedure 300A is implemented between the coordinator agent 301 and a first agent 303. For the purpose of discussion, the procedure 300A will be described in association with Fig. 2A. For example, the coordinator agent 301 may be corresponding to the coordinator agent 210 in Fig. 2A; the first agent 303 may be corresponding to the process data agent 221, the process knowledge agent 222, the manual agent 223 or the configuration agent 224 in Fig. 2A.

[0051] As illustrated in Fig. 3A, at 302, the coordinator agent 301 receives a user query. At 304, the coordinator agent 301 determines that the user query only relates to one task to obtain the maintenance information indicated by the user query. For example, the coordinator agent 301 may input the user query into the LLM and determine at least one subtask associated with the user query. At 306, the coordinator agent 301 determines the type of the maintenance information. At 308, the coordinator agent 301 selects a target tooling agent configured for the determined type of the maintenance information. At 312, the coordinator agent 301 generates a task query for the one task to obtain the maintenance  information. At 314, the coordinator agent 301 sends the task query 305 as a prompt to the first agent 303.

[0052] At 316, the first agent 303 receives the task query 305 from the coordinator agent 301. At 318, the first agent 303 calls a preconfigured corresponding tool for the task query. At 322, the first agent 303 determines the maintenance information of the type as answer information. At 324, the first agent 303 sends the answer information 310 to the coordinator agent 301. At 326, the coordinator agent 301 receives the answer information 310 from the first agent 303. At 328, the coordinator agent 301 functions as a chatbot and generates an answer in form of the natural language based on the answer information by means of the LLM. Then, the answer is presented in the user interface.

[0053] As mentioned above, the first agent 303 may be corresponding to any individual agent as illustrated in Fig. 2A. For the interaction procedure between the coordinator agent and each type of tooling agent, the overall procedure is similar, but some details are different. In some example embodiments, the user query may relate to a knowledge associated with events which may occur at the robot or history maintenance information. In this case, the knowledge may include failure causes or failure measures. The knowledge may also include principle information about the applications or the processes implemented at the robot.

[0054] For example, the user query may read “what is the cause of a gear failure” . The coordinator agent may determine that the query only relates to one task and select a knowledge agent corresponding to the type of the maintenance information. The coordinator agent may generate a task query about the failure cause of the gear of all the gear in the robot system. The coordinator agent may send the task query as a prompt to the knowledge agent. When the knowledge agent receives the task query, the knowledge agent may call a knowledge retrieving tool to obtain answer information.

[0055] In this example case, the knowledge agent may query a process knowledge database for the answer information in response to the task query. The knowledge agent may determine participants associated with the task query. The participants may include all the elements related to the task query, such as event descriptions, maintenance approaches, or actors of events. In some example embodiments, the knowledge in the process knowledge database is organized in form of knowledge graphs. In these embodiments, the knowledge agent may determine entities associated with the task query and retrieve  candidate knowledge graphs including the determined entities. Then, the knowledge agent may select a target knowledge graph that has the relationship corresponding to the task query. The other entity in the target knowledge graph as answer information.

[0056] In some example embodiments, the user query may relate to data associated with operations performed at the robot. For example, the user query may read “what is the productivity for this month” . When the coordinator agent determines that the user query relates to data, the coordinator agent may select a target tooling agent based on the type of the maintenance information associated with the user query. The coordinator agent may select a data agent and generate a task query about the productivity. When the data agent receives the task query, the data agent may query the process data database for the productivity as answer information.

[0057] In some example embodiments, the user query may relate to manual information associated with operations manually performed at the robot. When the coordinator agent determines that the user query relates to user manual information, the coordinator agent may select a target tooling agent based on the type of the maintenance information associated with the user query. The coordinator agent may select a user manual agent and generate a task query about the instructions for the queried manual operation. When the user manual agent receives the task query, the user manual agent may query the manual data database for the queried manual operation as answer information.

[0058] In some example embodiments, the user query may relate to a configuration request. In this case, the configuration may include configurations to the operation parameters for the robot or configurations to the maintenance system. When the coordinator agent determines that the user request relates to configuration, the coordinator agent may select a target tooling agent based on the type of the maintenance information associated with the user query. The coordinator agent may select a configuration agent and generate a task query about predefined configurations associated with the task query and generate a task request to perform the configuration. When the configuration agent receives the task request from the coordinator agent. The configuration agent may retrieve configuration information from a configuration database as answer information and generate a common to update the configuration.

[0059] Fig. 3B schematically illustrates a signaling diagram of an example procedure 300B for providing maintenance information in accordance with some further embodiments  of the present disclosure. The procedure 300B is implemented between the coordinator agent 301, and the tooling agents: a first agent 303 and a second agent 305. For the purpose of discussion, the procedure 300B will be described in association with Fig. 2A. For example, the coordinator agent 301 may be corresponding to the coordinator agent 210 in Fig. 2A and the first agent 303 and the second agent 305 may be corresponding to any two of the process data agent 221, the process knowledge agent 222, the manual agent 223 or the configuration agent 224 in Fig. 2A.

[0060] As illustrated in Fig. 3B, at 332, the coordinator agent 301 receives a user query. At 334, the coordinator agent 301 determines that the user query relates to two subtasks of a target task to obtain the maintenance information indicated by the user query. For example, the coordinator agent 301 may input the user query into the LLM and determine a first subtask and a second subtask associated with the user query. At 336, the coordinator agent 301 determines a first type of the maintenance information corresponding to the first subtask and a second type of the maintenance information corresponding to the second subtask. At 338, the coordinator agent 301 selects two tooling agent configured for the determined two types of the maintenance information, i.e. the first agent 303 configured for the first type of maintenance information and the second agent 305 configured for the second type of maintenance information. At 342, the coordinator agent 301 generates a first subquery for the first agent 303 and a second subquery for the second agent 305 respectively. At 344, the coordinator agent 301 sends the first subquery 335 to the first agent 303.

[0061] At 346, the first agent 303 receives the first subquery 335 from the coordinator agent 301. At 348, the first agent 303 calls a preconfigured corresponding tool for the first subquery. At 352, the first agent 303 determines the maintenance information of the first type as first answer information. At 354, the first agent 303 sends the first answer information 340 to the coordinator agent 301. At 356, the coordinator agent 301 receives the first answer information 340 from the first agent 303. At 358, the coordinator agent 301 sends the second subquery and the first answer information 345 to the second agent 305. At 362, the second agent 305 receives the second subquery and the first answer information 345. At 364, the second agent 305 calls a preconfigured corresponding tool for the second subquery. At 368, the second agent 305 determines the maintenance of the second type based on the first answer information to obtain the second answer information. At 372, the second agent 305 sends the second answer information 350 to the coordinator agent 301.  At 374, the coordinator agent 301 receives the second answer information 350 from the second agent 305. At 376, the coordinator agent 301 functions as a chatbot and generates an answer in form of the natural language based on the first answer information and the second answer information by means of the LLM. Then, the answer is presented in the user interface.

[0062] In the embodiment as illustrated in Fig. 3B, the interactions involve two tooling agents. In this embodiment, the tooling agents are configured to receive queries or tasks only from the coordinator agent to avoid assigning task from one tooling agent to another tooling agent such that the likelihood of occurrence of the hallucinations. In this framework, the sequence of interaction with the tooling agents are important. For example, when the target task is divided into a first subtask relating to data and a second subtask relating to knowledge, since the knowledge may be associated with the result of the subtask relating to the data, data-related subtask will be assigned before the knowledge-related subtask. In some other cases, when the target task is divided into a first subtask relating to knowledge and a second subtask relating to configuration, since the configuration may be associated with the result of the subtask relating to the knowledge, knowledge -related subtask will be assigned before the configuration-related subtask.

[0063] Fig. 4 schematically illustrates a diagram of an example workflow 400 for providing maintenance information at the maintenance system in accordance with embodiments of the present disclosure. The maintenance system as illustrated in Fig. 4A may be corresponding to the maintenance system as illustrated in Fig. 2A.

[0064] As illustrated in Fig. 4, the user interface 402 receives a user query from the user 404. The coordinator agent 406 receives the user query. In the illustrated embodiment, the user query 404 reads “why is there abnormal noise in the robot” . The coordinator agent 406 inputs the user query as a prompt into the LLM and divides this task to provide a solution for reducing the abnormal noise of the painting robot into two subtasks, including a first subtask 408 and a second subtask 410. The first subtask 408 is to find abnormal operation data in the robot and the second subtask 410 is to find the cause of the abnormal noise. The first subtask 408 relates to data and the second subtask 410 relates to knowledge. Thus, the type of maintenance information associated with the first subtask 408 is data and the type of maintenance information associated with the second subtask 410 is knowledge. The coordinator agent 406 selects a data agent 412 as a first agent and a knowledge agent 418 as a second agent.

[0065] The coordinator agent 406 generates a first subquery reading “what is the abnormal data of the robot” and sends the first subquery to the data robot 412. After the first subquery is received, the data agent 412 retrieves all the operation data of the robot that exceed the thresholds from a process data database 414 and determines the abnormal operation data as first answer information 416. The data agent 412 sends the first answer information 416 back to the coordinator agent 406. The first answer information 416 may include the service life and used time of the gear, the time period and product information of the lubricating oil, the work piece information of the robot and even the personnel information. In the illustrated embodiment, the first answer information 416 may indicate that the brand of the lubricating oil is different from the predetermined brand.

[0066] After the result of the first subtask, i.e., the first answer information 416 is received by the coordinator agent 406, the coordinator agent 406 sends the second subtask 410 and the first answer information 416 to the knowledge agent 418. When the knowledge agent 418 receives the second subtask 410, the knowledge agent 418 calls a database retrieving tool for retrieving failure cause information of the gear in a process knowledge database 420. The history maintenance information is organized in form of knowledge graphs. The knowledge agent 418 determines that the entity associated with the second subtask 410 is the gear abnormal noise and the relationship is the failure cause. On this basis, the knowledge agent 418 retrieves the related knowledge graphs containing the entity “abnormal noise” and the relationship “failure cause” from the knowledge graph database 420. As a result, the knowledge agent 418 retrieves a knowledge graph 422-1, a knowledge graph 422-2, a knowledge graph 422-3, a knowledge graph 422-4, and a knowledge graph 422-5 as candidate knowledge graphs.

[0067] The knowledge graph 420-1 is {gears wear, failure cause, gear abnormal noise} , the knowledge graph 420-2 is {over loaded, failure cause, gear abnormal noise} , the knowledge graph 420-3 is {lubricating oil issue, failure cause, gear abnormal noise} , and the knowledge graph 420-4 is {operation error, failure measure, gear abnormal noise} . In this case, the knowledge agent 418 determines the target failure cause further based on the first answer information. The knowledge agent 418 determines the failure cause 424 to be lubricating oil issue based on the wrong brand of the lubricating oil and determines the failure cause 424 as second answer information and sends the second answer information to the coordinator agent 406. The coordinator agent 406 generates an answer based on the first answer information and the second answer information and presents the answer to the  user 404 via the user interface 402. For example, the answer may read “The lubricating oil in use is different from the predetermined lubricating oil. The cause of the abnormal noise is usage of the wrong lubricating oil. ” .

[0068] Although Fig. 4 describes an embodiment where an abnormal event of the robot system is detected, the present disclosure may include scenario where issues of the process implemented at the robot system occur. For example, when a user is warned about the abnormal thickness of the paint, the user may input a query reading “how to updated the configuration to cure the abnormal thickness” . The coordinator agent 406 may divide this task into three subtasks, including a first subtask to abnormal operation data, a second subtask to find the cause of the abnormality, and a third subtask to find a configuration recommendation and update configuration according to the configuration recommendation.

[0069] For example, the first answer information determined by the data agent in response to the first subtask is that a thin thickness of the paint and a painting distance that exceed the thresholds. The second answer information determined by the knowledge agent in response to the second subtask is that the painting distance is too far. The third answer information determined by the configuration agent in response to the third subtask is to configure the painting distance one level closer. Then, the configuration agent may generate instruction to configure the painting distance.

[0070] Fig. 5 schematically illustrates a flowchart of an example method 500 for providing maintenance information for a robot in accordance with embodiments of the present disclosure. For example, the method 5 may be implemented by the coordinator agent of the maintenance system 120 at the edge computing device 121. The maintenance system 120 comprises a coordinator agent and a plurality of tooling agents.

[0071] As illustrated in Fig. 5, at 502, the coordinator agent receives a query as a prompt from a user. The query relates to maintenance information about the robot and / or applications the robot. At 504, the coordinator agent selects one of the plurality of tooling agents based on the maintenance information. At 506, the coordinator agent interacts with the one tooling agent to obtain answer information in response to the query. At 508, the coordinator agent provides an answer based on the answer information to the user.

[0072] In some embodiments of the present disclosure, a computing device is provided for implementing the above method 500 and procedures 300A, 300B and 300C. Fig. 6 illustrates a schematic diagram of an electronic device 600 for implementing a method in  accordance with embodiments of the present disclosure. The electronic device 600 may be corresponding to the edge computing device 121 or generally corresponding to the maintenance system in Fig. 1. The electronic device 600 comprises: at least one processor 610 and at least one memory 620. The at least one processor 610 may be coupled to the at least one memory 620. The at least one memory 620 comprises instructions 622 that when executed by the at least one processor 610 implements the methods 500 and procedures 300A-300C.

[0073] In some embodiments of the present disclosure, a computer readable medium for adjusting robot path is provided. The computer readable medium has instructions stored thereon, and the instructions, when executed on at least one processor, may cause at least one processor to perform the method for managing a camera system as described in the preceding paragraphs, and details will be omitted hereinafter.

[0074] Generally, various embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device. While various aspects of embodiments of the present disclosure are illustrated and described as block diagrams, flowcharts, or using some other pictorial representation, it will be appreciated that the blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.

[0075] The present disclosure also provides at least one computer program product tangibly stored on a non-transitory computer readable storage medium. The computer program product includes computer-executable instructions, such as those included in program modules, being executed in a device on a target real or virtual processor, to carry out the process or method as described above with reference to Figs. 2A-6. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, or the like that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or split between program modules as ideal in various embodiments. Machine-executable instructions for program modules may be executed within a local or distributed device. In a distributed device, program modules may be located in both local and remote storage media.

[0076] Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may execute entirely on a machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.

[0077] The above program code may be embodied on a non-transitory machine readable medium, which may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine readable medium may be a machine readable signal medium or a machine readable storage medium. A machine readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0078] Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. On the other hand, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination.

[0079] Although the subject matter has been described in language specific to structural  features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

[0080] It should be appreciated that the above detailed embodiments of the present disclosure are only to exemplify or explain principles of the present disclosure and not to limit the present disclosure. Therefore, any modifications, equivalent alternatives and improvement, etc. without departing from the spirit and scope of the present disclosure shall be included in the scope of protection of the present disclosure. Meanwhile, appended claims of the present disclosure aim to cover all the variations and modifications falling under the scope and boundary of the claims or equivalents of the scope and boundary.

[0081] It is to be understood that the summary section is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become easily comprehensible through the following description.

Claims

1.A method for providing maintenance information for a robot at a maintenance system, the maintenance system including a coordinator agent and a plurality of tooling agents, the method comprising:receiving, by a coordinator agent from a user, a query as a prompt, the query being related to maintenance information about the robot and / or applications of the robot;selecting, by the coordinator agent, at least one tooling agent from the plurality of tooling agents based on the maintenance information;interacting, by the coordinator agent, with the at least one tooling agent to obtain answer information to the query; andproviding, by the coordinator agent to the user, an answer based on the answer information.2.The method of claim 1, wherein selecting the at least one tooling agent from the plurality of tooling agents comprises:determining at least one subtask associated with the maintenance information;determining at least one type of the maintenance information corresponding to the at least one subtask; andselecting the at least one tooling agent configured for the at least one type of the maintenance information.3.The method of claim 1, wherein interacting with the at least one tooling agent to obtain the answer information in response to the query comprises:generating at least one subquery for the at least one subtask respectively;sending the at least one subquery to the at least one tooling agent to cause the at least one tooling agent to determine the maintenance information of a respective type; andreceiving answer information comprising the maintenance information of respective type from the at least one tooling agent.4.The method of claim 3, wherein the plurality of tooling agents at least comprises:a knowledge agent for retrieving target knowledge from knowledge associated with events at the robot from a process knowledge database; anda data agent for retrieving target data from data associated with operations at the robot from a process data database established for the robot.5.The method of claim 4, wherein sending the at least one subquery to the at least one tooling agent comprises;in response to the at least one subquery comprising a first query for the target data and a second query for the target knowledge, sending the first query to the data agent to cause the data agent to retrieve target data;receiving, from the data agent, the target data; andsending the target data and the second query to the knowledge agent to cause the knowledge agent to retrieve the target knowledge associated with the target data.6.The method of claim 5, wherein the knowledge is organized in form of knowledge graphs in the process knowledge database, andwherein the target knowledge is determined based on candidate knowledge graphs and the target data, the candidate knowledge graphs comprise entities indicated by the second query.7.The method of claim 6, wherein the target knowledge is retrieved from the process knowledge database by matching of a first vector associated with the candidate knowledge graphs and a second vector associated with the query, wherein the data in the process knowledge database is divided into a plurality of chunks based on the structure of the knowledge graphs and respective vectors are determined for the plurality of chunks.8.The method of claim 4, wherein the knowledge agent is further configured to generate a statistic presentation based on data associated with the answer information received from the data agent.9.The method of claim 4, wherein the data agent is configured to retrieve the target data from the process data database by means of a structured query language (SQL) query, and the SQL query is generated based on the query.10.The method of claim 1, wherein the plurality of the tooling agents comprises a manual agent for retrieving manual instructions for components in the robot from a user manual database.11.The method of claim 1, wherein the plurality of the tooling agents comprises a configuration agent for updating process configuration parameters for operation at the robot.12.The method of claim 1, further comprising:receiving, by the coordinator agent, a notification about an event that operation data sensed during the process currently implemented at the robot exceeds a predefined threshold;generating a warning about the event; andpresenting, to the user, the warning via a user interface.13.The method of claim 1, wherein providing the answer comprises:inputting, by the coordinator agent, the answer information into a language model;receiving, by the coordinator agent, an answer as output from the language model; andproviding the answer via a user interface.14.A maintenance system (600) comprising:at least one processor (610) ; andat least one memory (620) storing instructions (621) that, when executed by the at least one processor (610) , cause the maintenance system (600) to perform the method of any of claims 1-13.15.A computer program product comprising computer readable instructions stored on a computer readable storage medium, wherein the computer readable instructions, when executed by a computer, cause the computer to perform the method for of any of claims 1-13.

Citation Information

Patent Citations

  • Method for finding path relationship of graph based on multiple agent routes

    CN102508828A

  • Voice assisting method and device based on knowledge graph

    CN110781280A

  • Complex equipment knowledge graph construction system

    CN116450833A

  • Extensible large language model calling method and device based on graph database knowledge enhancement

    CN117235220A

  • Heating and ventilation system data processing method, device and equipment based on large language model

    CN117235223A