Determination of a disassembly sequence
The method automates the determination of disassembly sequences for complex products using three-dimensional geometry and simulation, addressing inefficiencies in current manual methods by providing a resource-efficient and accurate disassembly process.
Patent Information
- Application Number
- PCT/EP2025/063919
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-20
- Filing Date
- 2025-05-21
- Publication Date
- 2026-02-26
AI Technical Summary
Current methods for determining disassembly sequences in maintenance processes for complex products are time-consuming, resource-intensive, and often require significant manual effort, especially when detailed instructions are not provided by the manufacturer, leading to inefficiencies and increased personnel costs.
A computer-aided method that utilizes a three-dimensional product geometry dataset to automatically determine a disassembly sequence by identifying contact chains, testing geometric accessibility, mobility, and removability of components, and simulating disassembly steps within a geometric simulation environment.
Enables an efficient, automated determination of a feasible disassembly sequence, reducing the need for manual trial-and-error and resource expenditure, and facilitating the generation of accurate maintenance instructions.
Smart Images

Figure EP2025063919_26022026_PF_FP_ABST
Abstract
Description
[0001] 202412626
[0002] 1
[0003] Description
[0004] Determining a disassembly sequence
[0005] The present invention relates to a method for determining a disassembly sequence within a maintenance process for a technical product composed of several individual components. The invention further relates to a computer program for carrying out such a method.
[0006] According to current best practices, maintenance instructions for technical products are typically created manually following the product design process. For example, detailed maintenance manuals are often prepared by the relevant development engineers for vehicles, aircraft, and other complex equipment. Exploded views are used to visualize the necessary steps, illustrating the complex structure of the product comprised of numerous components. These exploded views are usually combined with detailed descriptions of the sequence of actions, outlining the step-by-step disassembly of the product. This often involves removing several components incrementally until a component requiring maintenance is sufficiently exposed to allow the planned maintenance step to be performed.Following the maintenance step, the disassembled components are typically reassembled in reverse order.
[0007] If such instructions are not provided by the product manufacturer, maintenance technicians must rely on their expertise and derive a sequence of actions from general maintenance principles and their experience with similar products. First, a visual inspection of the product to be serviced is performed, and the technician then uses a trial-and-error approach to try different options until they find a way to adequately expose the component requiring service.
[0008] At the product manufacturer, maintenance instructions are often created manually using complex procedures. In some cases, the disassembly and assembly steps are simulated within a three-dimensional CAD model (CAD for "computer-aided design") to verify a planned sequence of steps. Alternatively, the planned steps are physically tested on a demonstration model (mockup) or a prototype of the product until a viable sequence is found. Both variants 202412626
[0009] 2. These require significant time, personnel, and sometimes equipment resources. Further effort arises from the need to create a suitable descriptive text in an appropriate format after determining a suitable sequence of steps, in order to clearly describe these steps. This format can vary depending on the industry or technical field in which the product is used, and whether the instructions are intended for an end user or a specialized service technician, for example. Creating the instructions themselves is also usually very time-consuming to ensure accuracy and clarity. The significant personnel investment is often justified by the fact that these documents can also be legally relevant, for example, for product liability.
[0010] The object of the invention is to provide a method for determining a disassembly sequence within a maintenance process that overcomes the aforementioned disadvantages. In particular, a determination method is to be provided that is resource-efficient and allows for largely automated execution. A further object is to provide a corresponding computer program product.
[0011] These problems are solved by the method described in claim 1 and the computer program product described in claim 15.
[0012] The method according to the invention serves to determine a disassembly sequence in the context of a maintenance process for a technical product that is composed of several individual components using computer support.The method comprises the following steps: a) providing a data set with a three-dimensional product geometry of the technical product, which includes a sub-geometry for each individual component, b) selecting a component to be serviced within the product, c) automatically determining at least one contact chain, wherein the respective contact chain represents a linear sequence of components in direct contact with each other, d) selecting at least a first subset of components, each of which is in a common contact chain with the component to be serviced, e) automatically checking components of the first subset with regard to geometric accessibility for a tool manipulator with a predefined 202412626.
[0013] 3
[0014] a) Manipulator geometry and formation of a second subset from the successfully tested components, b) automated testing of components of the second subset with regard to their mobility with respect to one or more degrees of freedom and formation of a third subset from the successfully tested components, c) automated testing of components of the third subset with regard to their removability from the product area and formation of a fourth subset from the successfully tested components, d) simulating the disassembly of a component of the fourth subset and updating the product geometry to the resulting state of the product,
[0015] Steps e), f), g), and h) are executed within a three-dimensional geometric simulation environment. Steps d), e), f), g), and h) are repeatedly executed in a loop based on the current product geometry until the component to be serviced is exposed. The repeated execution of step h) thus establishes a disassembly sequence.
[0016] The entire process is therefore computer-aided and largely automated. The essential process steps are carried out within a three-dimensional simulation environment; the disassembly of the product up to the exposure of the component requiring maintenance is simulated in this environment. To enable this, a data set containing a three-dimensional product geometry is provided in step a), specifically as a CAD data set. This CAD data set contains sub-geometries for the individual components (sub-objects) contained within the product. The individual sub-objects do not overlap, particularly spatially, and contact (i.e., touching) between sub-objects occurs when their distance within this geometry data set is zero. Such a geometry data set can, for example, be available from the product manufacturer during the development process and may also be made available to others by the adjuster.Alternatively, it can also be determined retrospectively from a physically existing product using known reverse engineering processes.
[0017] The component to be serviced can be selected, for example, by a user or maintenance technician of the product when a specific maintenance issue arises and corresponding instructions are required. In this case, the selection can be made through manual user interaction. Alternatively, however, corresponding instructions can also be generated automatically for a large number of available components. 202412626
[0018] 4
[0019] The selection can then also be automated within a higher-level process, e.g., within the creation of a higher-level set of maintenance documentation.
[0020] In step c), at least one contact chain, and in particular a plurality of contact chains, is determined. A "contact chain" is defined as a linear sequence of components in contact with one another. At least some of the determined contact chains expediently include the component to be serviced. The determination of the contact chains is automated based on the geometry dataset and its constituent sub-geometries. Starting with the sub-geometry of a starting object (e.g., a sub-geometry in the center of the product or the component to be serviced), an iterative process can first identify the components in direct contact (direct neighbors), then their direct neighbors, and then their direct neighbors, and so on. The topological information thus determined can, for example, be represented in a tree diagram.Individual linear contact chains can be derived from such a topological tree structure, with a contact chain being derived from each linear path within the tree structure. The end of such a contact chain is reached when no further components can be added to a sequence of direct neighbors that are not already present in the existing contact chain. Individual components can, in principle, be contained in multiple branches of the tree structure and thus also in multiple contact chains. Only the multiple occurrence of the same component within a linear contact chain is not permitted.
[0021] In particular, a unique set of such contact chains can be automatically determined from a geometry dataset (or a predefined subset of its constituent geometries) given a starting object. This can be achieved with a relatively simple algorithm that, starting from the starting object, determines the distances to the other components (subgeometries) and identifies each component as a neighbor when the distance is zero. This step is repeated for each identified neighbor. This process continues until no new neighbors are found and all possible contact chains have been identified.
[0022] In step d), a first subset of components is formed using the contact chains thus determined. The components in this first subset are each located in a common contact chain with the component to be serviced, meaning they are in direct or indirect contact with it. The individual components in the first subset do not necessarily have to be in the same contact chain. The selection in step d) can thus be 202412626
[0023] 5. It can be decided that, for example, a subset of the identified contact chains is included. For instance, the chains considered can be limited to a specific chain length. Alternatively or additionally, the first subset can be restricted so that only components from the terminal sections of the respective contact chains are included. In this way, particularly promising components can be examined for their removability in steps d) to h) and then disassembled from the product within a simulation.
[0024] In general, the sequence of the aforementioned process steps is not fixed to the described order. However, it is advantageous if at least steps d), e), f), and g) are executed in the stated order. This allows a subset of components to be narrowed down step by step until at least one removable component is found. To enable this search efficiently, steps d) through h) are executed repeatedly within a loop. In particular, a sequence of steps d) through h) is executed repeatedly until the component to be serviced is exposed. This constitutes the termination criterion of the aforementioned loop. "Exposed" here means, in particular, that the component to be serviced is either itself disassembled (if, for example, it is to be replaced or repaired outside the product) or that it is at least accessible to a maintenance or inspection tool.
[0025] In the described loop, it is not necessary to reach the final step h) in every iteration. In particular, a loop iteration can be aborted if the currently considered (first, second, third, or fourth) subset is empty. Thus, if no geometrically accessible component is identified in step e), the subsequent steps need not be executed in that iteration, and the loop can proceed directly to the next iteration with a different first subset of components. The same applies to the subsequent check steps f) and g). For the next loop iteration after an abort, a modified selection can then be made, particularly in step d). At least one (especially objective) selection criterion can be changed. The components that were previously checked unsuccessfully do not need to be checked again.In this way, the components eligible for disassembly can be checked for their remanufacturability in a convenient sequence, which increases the efficiency of the automated process. For example, the individual components can be checked from the perspective of the component being serviced, in a sequence from the outside in and / or from closer to more distant components. 202412626.
[0026] 6
[0027] In summary, the successful loop iterations (i.e., those completed up to step h) are repeated until enough components have been disassembled to sufficiently expose the component requiring maintenance. This disassembly is performed within the simulation environment, and each sub-step h) of the sequential disassembly results in an updated product geometry. This updated product geometry also leads to an update of the derived contact chains. This can be achieved very simply by removing the disassembled component and all connected components from the contact chains of the previous product geometry. With these updated contact chains, a selection of promising candidates for further disassembly can then be made, and at least one more component suitable for disassembly can be identified with one or more loop iterations.Overall, a feasible disassembly sequence is derived from the sequence of simulated disassembly steps h).
[0028] It is not strictly necessary for the process to be aborted after the first viable disassembly sequence is found. Multiple viable disassembly sequences can be determined by repeatedly executing the described loop until the termination criterion is reached, thereby identifying different sequences. Optionally, a selection can be made from this plurality of viable sequences, particularly based on a reward function whose value is determined during the simulation of the sequential disassembly. Such a reward function could, for example, incorporate the path length of the simulated component movements and / or the spatial proximity to a prohibited geometric state (such as a collision state).
[0029] A significant advantage of the method according to the invention is that, by utilizing the topological information of the contact chains, particularly promising candidates for a disassembly check can be identified among all the components. This type of preselection is combined with the described sequential testing for geometric accessibility, mobility, and disassembly, especially in this order. A component that is not accessible with a tool manipulator does not need to be tested for mobility and (collision-free) disassembly. Likewise, a non-movable component does not need to be tested for disassembly. For a non-removable component, disassembly does not need to be simulated. Overall, the described selection and testing sequence enables a particularly efficient determination of at least one fundamentally viable disassembly sequence. This disassembly sequence 202412626
[0030] 7 can in turn form the basis for an automatically generated instruction. The automatic creation of such an instruction is therefore also the subject of the present invention.
[0031] The computer program product according to the invention comprises instructions, wherein, when the computer program product is executed on a computer, the instructions cause the computer to execute the method according to the invention. This method can, in principle, be the method for determining a disassembly sequence or the method for automatically generating instructions. The advantages of the computer program product according to the invention are analogous to the advantages of the method according to the invention described above.
[0032] Advantageous embodiments and further developments of the invention will become apparent from the claims dependent on claim 1 and the following description. The described embodiments of the method can also be implemented in the computer program product, and vice versa.
[0033] According to a generally advantageous embodiment, a topological tree structure can be determined within step c), wherein this tree structure hierarchically represents a plurality of direct contacts between individual components of the technical product and contains a plurality of linear contact chains as subpaths of the tree structure. In other words, the topology of the direct contacts of the individual components can be represented by a linearized hierarchical tree structure. In particular, all direct contacts (touches) of adjacent components can be represented by connections in such a hierarchical tree structure. The individual components are accordingly represented by nodes in this tree structure.The tree structure is therefore a graph that uses nodes and edges (connections) to represent the direct contacts of individual components in the technical product, thus characterizing a topology of neighborhood relationships. This topological tree structure is "linearized" in the sense that individual branches of the tree structure can continue to branch out, but there are no connections between individual branches. Such a linearized tree structure is therefore loop-free. It comprises only linear contact chains of components in direct contact with each other. A single linear contact chain is formed by repeatedly adding components that are in contact with the preceding component, starting from a given initial component, and which were not previously part of the contact chain under consideration. Each branch accordingly ends in a terminal element of the chain, 202412626.
[0034] 8 if no additional direct neighbors are found for this. The various possible branching patterns of such linear contact chains can be efficiently summarized in a higher-level tree structure. If several components in a higher-level product actually touch in a ring-like fashion, the topology of the contacts can still be represented in a tree structure of linear contact chains, since an already contained element is not added to the contact chain, thus avoiding a ring closure. Because of this dependence on the "history" of the already formed parts of the respective contact chain under consideration, the determined tree structure depends on the choice of the starting point used (i.e., the starting component).The starting point can be, for example, the component to be serviced or, preferably, a central component of the product, such as the component at the center of mass or the geometric center of the product geometry. In general, the creation of the tree structure or contact chains can be fully automated using a predefined algorithm and without user interaction.
[0035] According to a further advantageous embodiment, in step d), the first subset formed during the selection process is limited to those components that are contained in a predefined selection of contact chains. In other words, a subset of all identified contact chains can be selected, and only the components represented in these selected contact chains are considered in the first subset. A chain length, for example, can be used as a criterion for selecting the contact chains to be considered, particularly the length of the chain segment from the component selected in step b).
[0036] Alternatively or additionally to such a pre-selection of contact chains, further criteria can be considered for the selection made in step d). For example, the first subset can be limited to those components that are represented in the respective contact chain by a terminal chain element or are at most separated from such a terminal chain element by a predefined limit of intermediate elements. "Terminal chain elements" represent components that constitute the endpoint when forming the contact chain under consideration, i.e., they form the last component that can be added. Such terminal chain elements are relatively likely to be found at the periphery of the product. Accordingly, they represent promising starting points for a feasible disassembly process. The predefined maximum value of intermediate elements could, for example, be in the range 202412626.
[0037] 9 lie between one and five, especially between one and three. Such a criterion allows for a pre-selection in favor of peripheral components.
[0038] Alternatively or additionally, another predefined criterion can be applied to the selection made in step d), for example an assignment to a predefined zone (e.g. a specified maintenance area) and / or a distance to the component to be serviced that is below a specified limit value.
[0039] In general, the selection in step d) can be made by a user or influenced by user input (e.g., for a selection criterion). However, it is particularly preferred if this selection is also fully automated, i.e., specifically using an automated algorithm based on one or more predefined criteria, which may be modified in a predefined manner to expand the set of components to be checked for deniability if the initial check is unsuccessful.
[0040] According to an advantageous embodiment, at least one predetermined selection criterion can be used in step d), which is modified, in particular broadened, at least between some of the iterations of the loop. Thus, in subsequent iterations of the loop, a wider or different first subset of components can be formed by applying broadened criteria and inspected in the manner described, if a previous narrow selection did not lead to a positive test result.
[0041] The procedure can be advantageously designed such that whenever one of the subsets formed during a loop iteration is empty, the current iteration is terminated and the process proceeds to the next iteration. Thus, if, for a given selection according to step d), none of the components in the first subset pass the sequential deniability test, then the process can jump to another iteration without executing step h). In this next iteration, the first subset to be tested can be determined using modified criteria and thus contain different components for which there is a prospect of a successful deniability test.
[0042] According to a further advantageous embodiment of the method, the tool manipulator can be a human hand. In other words, in step e) within the simulation environment, geometric accessibility for a 202412626 is considered.
[0043] 10
[0044] The manipulator geometry is checked to ensure it corresponds to, or at least encompasses, the geometry of a human hand. Optionally, in addition to the geometry of a typical human hand, the adjacent geometry of a typical human forearm, upper arm, etc., can also be considered to assess overall accessibility for a manual maintenance step. According to an alternative configuration, the tool manipulator can also be a robotic manipulator. For example, step e) can then be used to check for geometric accessibility for a robot arm or other robotic device, which can be used, in particular, to guide a disassembly tool.
[0045] According to a further generally advantageous embodiment, the following optional steps can be performed after defining a disassembly sequence: i) Reading in previously stored information about the assignment of a tool to at least one component included in the defined disassembly sequence and j) Checking the respective component with regard to its disassembly capability with an assigned tool within the three-dimensional geometric simulation environment.
[0046] In particular, validation of the respective disassembly sequence can be carried out under the condition that the removability of the respective component with at least one associated tool has been successfully tested.
[0047] Information about the assignment of one or more tools to a particular component can be stored, for example, within so-called "PMI data" (Product Manufacturing Information) as part of a CAD dataset. Such PMI data might include, for instance, information on which components can be loosened, moved, or disassembled using a specific size open-end wrench, Torx wrench, or Allen wrench. This PMI data can also contain information about the materials used in an adhesive or soldered joint and / or the process parameters to be observed when creating or breaking such an irreversible connection.
[0048] In the subsequent step j), the proposed disassembly sequence can be checked to determine whether the disassembly of the respective components is possible with the assigned tool. This check is also carried out within the three-dimensional geometric simulation environment. It is not necessary to perform this check for all components shown in 202412626.
[0049] 11
[0050] For each component included in the disassembly sequence, such a tool assignment and a corresponding test are performed. In connection with this embodiment, it is essential that such an assignment and a corresponding test for the applicability of the assigned tool are carried out for at least one component. Validation takes place only if the test for at least one component is successful. However, a disassembly sequence that is not validated here can also be implemented by a maintenance technician and / or be the subject of a resulting instruction. In this case, it is advisable to provide the maintenance technician with a note that accessibility for the standard tool is not given and that a different tool must be selected for the disassembly step in question.If necessary, several tools can be assigned to a component, and depending on the test result in step j), one of the possible tools can be selected for carrying out the maintenance process (or for the instruction).
[0051] According to a particularly preferred embodiment, after defining a disassembly sequence, the following additional step can be performed: k) automated creation of instructions for a disassembly and / or assembly process, wherein the instructions are created using a generative model implemented in an artificial neural network, wherein an input data set is used for input into the generative model, which includes the defined disassembly sequence and a specification for the type of instructions to be created.
[0052] This can be done regardless of whether a prior assignment and verification of suitable tools has taken place according to the optional steps i) and j). In other words, an artificial intelligence model is used here to generate at least a computer-assisted suggestion for such instructions. A particularly advantageous aspect of this automated generation is that no further user interaction is required, and the generative model can independently generate the instructions based on the determined disassembly sequence and a specification, e.g., for the output format.
[0053] A "generative model" is a type of artificial intelligence model known in the state of the art, based on the statistical modeling of conditional probabilities. Starting with an input that provides the so-called context, this model can automatically generate text, images, and other media. A particularly well-known and successful example of such a model is 202412626.
[0054] Twelve so-called "generative pre-trained transformers" (GPTs) have been used. Over the past few years, this type of model has proven very successful in generating natural language, particularly in its implementation in the Chat-GPT chatbot. Accordingly, the generative model can advantageously be a so-called large language model (LLM).
[0055] The implementation of such a statistical generative model in a computer is achieved via an artificial neural network, that is, a network of artificial neurons (nodes). Such neural networks typically have a multitude of layers, in particular an input layer for inputting the data set and an output layer for outputting the data set. Between these layers, there is typically a multitude of hidden layers, usually with a complex substructure. The number of these hidden layers correlates with the so-called depth of the neural network. During the training (i.e., machine learning) of such a neural network, the network's internal structure changes, especially through adjustments to the weights of the connections between the individual nodes, but also potentially through the addition or removal of new nodes.Deleting nodes and / or connections between individual nodes.
[0056] The input data set for such a generative model is also referred to as a prompt and includes specifications for the type of instruction manual to be generated. These specifications can include, for example, the target audience for the generated text and the level of detail required for the individual steps (for disassembling the individual components). In particular, adherence to a standardized format can be required. The "instruction manual" can generally comprise disassembly instructions and / or assembly instructions. The disassembly instructions include a sequence of disassembly steps, which can be modeled on the disassembly steps simulated in step h). Similar disassembly steps (e.g., for identical components) can be grouped together in a single set of instructions.A corresponding assembly instruction can also be part of such a set of instructions and can, in particular, contain the identified disassembly steps in reverse order and describe them in the form of assembly steps with the opposite direction of movement of the components.
[0057] In general, the generative model is particularly preferred for use within a Retrieval Augmented Generation System or within such a system 202412626
[0058] 13. A Retrieval Augmented Generation System (RAG system) is a software system that combines information retrieval (i.e., finding information, especially from a database) with a large language model. A query (i.e., a prompt) entered into the system is augmented by the result of a search initiated within the RAG system in an information source (e.g., a knowledge base or the internet). The augmented prompt is then passed to the large language model to generate output that is particularly well-suited to the specifications. A database containing existing instructions in common formats or from relevant technical fields can be used as an information source.This ensures that a uniform format and consistent use of technical terms are maintained during the automated creation of the instructions.
[0059] According to an advantageous embodiment of step e), the geometric accessibility of the respective component can be checked using a search algorithm. Within a three-dimensional geometric simulation environment, this algorithm searches for at least one possible path, starting from a defined starting point of the tool manipulator, to bring the tool manipulator into contact with the component to be inspected while avoiding collisions. Such search algorithms are well known in the field of automation technology. For example, artificial intelligence methods as well as classical search algorithms can be used. As part of such a path search, the value of an optimization function can be determined for a proposed path segment. When selecting from several possible paths or path segments, optimization can then be performed with respect to this optimization function.For example, the length of the found path and / or the proximity to forbidden geometric states (especially collision states) can be included as terms in the optimization function. Overall, the test according to step e) is successful if at least one possible path is found by which the tool manipulator can be brought into contact with the component to be tested without a collision occurring.
[0060] According to an advantageous embodiment of step f), a plurality of translational and / or rotational movements of the respective component with respect to a plurality of local principal axes of inertia of this component can be performed within a three-dimensional geometric simulation environment and checked for collisions. In other words, the mobility of the respective component with respect to translation and / or rotation is determined.
[0061] 14
[0062] Rotation is checked for one of its local principal axes. This typically allows for a relatively quick and efficient assessment of mobility by checking translational and rotational movements along typically three principal axes of inertia. For symmetrical components, the number of axes to be checked can be further reduced, so that a maximum of six degrees of freedom need to be tested. The successfully tested motion modes can be advantageously saved in this step.
[0063] According to an advantageous embodiment of step g), the disassembly capability of the respective component can be checked within the three-dimensional geometric simulation environment using a search algorithm. Starting from the current position of the component, this algorithm searches for at least one possible path to move the component to a predefined disassembly zone while avoiding collisions. This search algorithm can be designed analogously to the one described above in connection with step e). The axes of movement successfully checked in the preceding step f) can advantageously be used as the initial direction of movement.
[0064] Generally advantageous, at least steps e), f), g), and h) can be fully automated without user interaction. In other words, determining at least one disassembly sequence requires no interaction other than, if necessary, providing the product geometry, selecting the component to be serviced, and / or making a selection in step d), or specifying objective selection criteria for the automated selection process in step d). Thus, the entire instruction for a maintenance process can be generated essentially automatically.
[0065] When executing step g), the resulting fourth subset may contain several components. In the subsequent step h), a selection can then be made from these successfully tested components, so that only the selected component is disassembled before the updated product geometry is determined. This decision can also preferably be automated, particularly based on values determined for the respective component by means of a simulation within one of steps e), f), g), and / or h).
[0066] According to one implementation of the method, several feasible disassembly sequences can be automatically determined using the described sequence. In such a case, a decision in favor of a preferred sequence can optionally be made.
[0067] 15
[0068] The disassembly sequence must be determined. This decision can also be made automatically, particularly based on values determined through simulation for the respective disassembly process. Specifically, in step h), the simulation can determine the value of an optimization function that considers, for example, the path length for the object to be disassembled and / or the proximity to collision conditions. By summing the individual values obtained in this way, an overall value for a higher-level optimization function (a reward) can be calculated, either for a single component or for the entire sequence of disassembly steps. These simulated values can then serve as criteria for deciding between several components to be disassembled in step h) and / or between possible disassembly sequences overall.
[0069] The invention is described below with reference to some preferred embodiments and the attached drawings, in which:
[0070] Figure 1 shows a schematic representation of a product to be serviced,
[0071] Figure 2 shows a schematic detail view of a maintenance zone in such a product, Figure 3 shows a schematic flowchart for an exemplary procedure,
[0072] Figure 4 shows a simplified topological tree structure for several components of a product, Figure 5 shows a corresponding tree structure for an updated product geometry, Figure 6 shows further steps of an exemplary procedure, and Figure 7 illustrates the process when calling a RAG system.
[0073] In the figures, identical or functionally equivalent elements are provided with the same reference symbols.
[0074] Figure 1 shows a schematic representation of a technical product 1 requiring maintenance, in this example a motor vehicle. The maintenance task might, for example, consist of replacing a worn brake disc 10. The vehicle's developers may have created detailed instructions H in a manual process, as indicated in the right part of the figure. However, if no such instructions are available, a maintenance technician T can usually only derive instructions H based on visual inspection of the product 1 and their experience with other, similar products. The following explains how such instructions H can be derived largely automatically using a method according to the invention.
[0075] 16. For this purpose, for the sake of simplicity, not the entire vehicle is considered, but only a limited maintenance zone 1a, here the area of a selected wheel module 1a.
[0076] A single wheel module 1a of such or a similar vehicle 1 is shown by way of example in Figure 2 in an exploded view. The wheel module 5 is connected to a vehicle carrier 5 and a chassis of the vehicle (not shown in detail here). Furthermore, the vehicle carrier 5, in its assembled state, is connected to a stationary brake caliper 6, which, together with a brake disc 10, forms a disc brake. This brake disc 10 is mounted on the wheel hub 9, which is rotatably mounted via a wheel bearing 8 (combined into a single element for simplicity). A rim 15, which carries a tire 17, is also mounted on the wheel hub 9. A typical instruction H for changing a brake disc would instruct a maintenance technician T to first loosen one or more wheel bolts, then to remove the wheel (the rim 15 together with the tire 17), and then to remove the brake caliper 6 using the corresponding brake caliper bolts.Only then can the brake disc 10 be removed after loosening a corresponding brake disc screw. With the method according to the present invention, such an instruction H and, in particular, the disassembly sequence contained therein, can be largely automated.
[0077] The necessary process steps are schematically illustrated in the flowchart of Figure 3. In step a), a data set D containing a three-dimensional product geometry G of the technical product is provided. This can be a CAD data set of the entire product 1 or of a selected sub-area, for example, the maintenance zone 1a. Such a CAD data set can be in a standardized format such as the ISO format STEP 214. In this data set, the individual components are each represented by a sub-geometry (i.e., a sub-object). In step b), a component to be serviced is selected, in this case, a brake disc 10. For steps a) and b), input can be provided externally, in particular through user input or a user selection. The subsequent steps shown here, however, are fully automated.
[0078] In step c), a topological tree structure B is automatically determined using the geometry data set G. This topological tree structure B contains a plurality of linear contact chains K1, K2, ... or is composed of such linear contact chains. Figure 4 shows a section of such a tree structure B for a product geometry G, which corresponds to the fully assembled state of vehicle 1. This tree structure was created here 202412626
[0079] 17 starting from the central chassis 3 of the vehicle. Starting from this component 3, the nearest neighbors, i.e., the other contacting components, were determined in various directions. These are all components with a distance of zero in the geometry data set G. In Figure 4, node 5 represents a selected wheel carrier 5 as a direct neighbor of the chassis 3. Many other neighboring elements and corresponding contact chains result, which are indicated by the points in the left part of the figure. In the right part of Figure 4, the contact chains emanating from the chassis 3 in the area of the selected wheel module 1a are sketched in a highly simplified form. In addition to the components described above, two brake caliper bolts 7a, 7b, a brake disc bolt 11, and a wheel bolt 16 are each represented by corresponding nodes in the topological tree diagram B.The direct contacts between touching components are each represented by a connecting line (edge) in the tree diagram. Such a tree diagram B can be relatively easily and automatically determined from a geometry dataset G by starting with a starting component (here chassis 3) and first identifying all direct neighbors, then their direct neighbors, and so on, until no more new components can be added to tree diagram B. A branch of the tree diagram diverges when a component has two or more new neighbors that were not yet part of the previous (inner) diagram. The component 10 to be serviced is marked here with an additional circle.From this selected component 10, several linear contact chains can be formed by linking touching components together, in other words, by traversing the possible linear paths in the tree structure to the tips of the existing sub-branches. In this way, a large number of linear contact chains containing the component 10 to be serviced can be automatically generated. Of these contact chains, only one is highlighted here with a bold line and labeled K1.
[0080] In step d) of the procedure, a subset M1 of components is formed, each of which is located in a common contact chain with the component to be serviced. Thus, a subset is formed from all components within the tree structure of Figure 3. Alternatively, the subset M1 can also include all components (directly or indirectly) connected to the component 10 to be serviced, as well as the component 10 to be serviced itself. Various criteria can be used for the selection. For example, initially only components from specific contact chains and / or only components from a specific geometric sub-area, in particular the maintenance zone 1a, can be considered. For example, only components from contact chains that do not exceed a predefined maximum length are considered. Or initially only terminal chain elements 202412626 are considered.
[0081] 18 considers components located close to such terminal chain elements. Terminal chain elements here include, for example, the brake disc screw 11, the wheel screw 16, the tire 17, and the two brake caliper screws 7a and 7b. By prioritizing the verification of such terminal chain elements for their suitability, a prioritization "from the outside in" can be implemented relatively easily and automatically.
[0082] Figure 3 shows that steps d) to h) are repeated in the specified order within a loop S. For the first iteration of this loop, for example, a subset M1 can be formed which contains only the terminal chain elements 11, 16, 17, 7a, and 7b. Alternatively, limiting the chain distance to the selected component 10 could also be used as an additional criterion.
[0083] In the following steps e), f), and g), the components of this first subset M1 are sequentially tested for their geometric accessibility to a tool manipulator, their mobility, and their removability. If all these tests are successful for at least one component, the subsequent step h) is also executed. If none of the components are successfully tested, the loop S is prematurely terminated in this iteration, as indicated on the left by the dashed arrows. All three test steps e), f), and g) are performed within a three-dimensional geometric simulation environment. In other words, mobility, geometric accessibility, and removability, respectively, are simulated.
[0084] In step e), the geometric accessibility for a tool manipulator with a predefined manipulator geometry, for example, the geometry of a typical human hand, is checked. This check can be performed, for example, using a search algorithm that, starting from a predefined starting position of the tool manipulator, searches for paths to bring the tool manipulator into contact with the component to be inspected while avoiding collisions. A second subset M2 is created from the components that have been successfully inspected. If this subset is empty, the process is terminated prematurely.
[0085] In step f), the mobility of the components in the second subset is tested using simulation. Here, the mobility is checked with respect to one or more degrees of freedom. These can be translational and / or rotational movements of the respective component with respect to its local principal axes of inertia. For example, the rotational movement (with simultaneous longitudinal feed) of a screw is checked along the associated screw axis. For the wheel screws not shown in detail in Figure 2, this would be 202412626
[0086] 19 For example, the local axis z. A third subset M3 is formed from the successfully tested components for which a mobility is determined for at least one tested degree of freedom. If this subset is empty, the run is prematurely terminated.
[0087] In step g), the removability of the components in the third subset from the product area is checked. The simulation determines whether the component can be moved from its current position to a predefined disassembly zone while avoiding collisions. This check can also be performed using a search algorithm, analogous to the path search in step e). A fourth subset, M4, is created from the components that have passed the check. If this subset is empty, the simulation is terminated prematurely.
[0088] If the fourth subset M4 contains at least one element, then in step h) the disassembly of one of these components is simulated and the product geometry is updated to the resulting state of product 1. If several components are contained in the fourth subset M4, one can be selected for the subsequent simulated disassembly. This selection can be made randomly or based on a value for an optimization function, which can be determined during the simulation in one of the preceding steps. In particular, the path length and proximity to collision states can be considered as criteria.
[0089] In the example shown in Figures 2 and 4, only component 17, i.e., the wheel bolt, achieves successful testing in all test steps e), f), and g). Accordingly, the wheel bolt 17 is removed first, thus identifying the first element of the disassembly sequence. In the subsequent run, the wheel (i.e., the rim 15 with the tire 16 mounted on it) can be removed in a similar manner. In order to test this wheel as a complete unit, the selection criterion for forming the first subset M1 must first be extended to also include neighbors of terminal chain elements.
[0090] During the simulated disassembly in step h), a modified product geometry G' is generated, which is then used as the basis for the subsequent iteration of loop S. The change in product geometry G' also results in an update to a modified topological tree structure B'. This is generated by removing the disassembled component from the previous tree structure. Accordingly, the considered contact chains K1, K2, ... are shortened by the removed component (and any components it carries). To illustrate this, a topological tree structure is shown in Figure 5.
[0091] 20
[0092] Tree structure B' is shown for a state of vehicle 1 in which first the wheel bolt 17 and then the rim 15 together with the tire 16 were removed. K2 shows a selected contact chain within this tree structure, leading from the brake disc 10 to one of the brake caliper bolts 7b. With the updated product geometry G', the brake caliper bolts 7a and 7b are the next components that can pass the sequential test according to steps e) to g) and can therefore be removed in step h) within the simulation. Here, a random selection of the bolt to be removed first can be made.
[0093] Following a iteration of step h), branch V checks whether a termination criterion C of loop S has already been met. Termination criterion C could, for example, be whether the component to be serviced has been removed. Alternatively, it could be whether the component to be serviced is accessible to an inspection or maintenance tool. In the present example of brake disc 10, loop S is only exited when brake disc 10 has been removed. A disassembly sequence L can be derived from the disassembly steps h) performed up to this point. One such feasible disassembly sequence is the list L = {17, 15, 7a, 7b, 6, 11, 10}, as described in the introductory part of this example. The described method allows such a feasible disassembly sequence to be found efficiently and automatically.
[0094] It is also possible that several viable disassembly sequences can be found that lead to the desired state with the brake disc 10 removed. In this simple example, the disassembly sequence of the two brake caliper bolts 7a and 7b can be reversed without any significant effect. These two disassembly sequences are considered equivalent overall. In other cases, however, an automated selection can be made from disassembly sequences that are evaluated differently. This can be done, in particular, using an optimization function, as described above. For example, a particularly favorable disassembly sequence L can be determined in which the total sum of the simulated path lengths of the individual movements is as short as possible.
[0095] Figure 6 shows three further optional process steps i), j), and h), which can be carried out particularly after the described determination of a feasible disassembly sequence L. In step i), for example, previously stored information about an assigned tool or tools can be read in for at least one component of the disassembly sequence L. (202412626)
[0096] In step j) of step 21, it can be checked whether the component can be disassembled using such an assigned tool. This check is also performed within a three-dimensional geometric simulation environment, for example, using a search algorithm for the collision-free toolpath to be applied, analogous to steps e) and g). During this simulation, the tool can be guided by the tool manipulator described above. If the check is successful (at least for the components considered in step j), the determined disassembly sequence can be validated. Even if the check is unsuccessful, the disassembly sequence can still be implemented by a technician. However, it is then advisable to issue a notification that a suitable tool may need to be manually determined.
[0097] Step k), shown below, can be executed based on the determined disassembly sequence, regardless of whether the optional steps i) and j) are actually performed. In this step k), instructions for a disassembly and / or assembly process are automatically generated using an artificial intelligence model M. This is a generative model, which can, for example, be designed as a model with a transformer architecture, based in particular on an attention mechanism. A transformer is a method by which a computer can translate one sequence of characters into another and, in this context, generate an output data set from an input data set. Such a transformer can be trained using machine learning on a large number of training data sets before being applied to generate output data.The transformer can, in particular, exhibit a so-called deep learning architecture and be implemented accordingly in a deep neural network. Particularly advantageous implementations of transformer models include, for example, generative pretrained transformers (GPT) and BERT (for "Bidirectional Encoder Representations from Transformers").
[0098] Transformers based on an attention mechanism were first presented by A. Vaswani et al. in "Attention is all you need," 31st Conference on Neural Information Processing Systems (NIPS 2017). Such a transformer features multiple encoders and / or decoders connected in series. The attention mechanism can be a multi-headed attention mechanism. For example, an encoder might have a self-attention module and a feedforward module, while a decoder might have a self-attention module, an encoder-decoder attention module, and a feedforward module.
[0099] 22 has a feedforward module. Generally advantageously, the generative model can be a large language model. An example of this is the GPT model mentioned above; however, other large language models also exist which are suitable for the application according to the present invention.
[0100] The instructions for action are generated using a generative model M, which is implemented in an artificial neural network. An input data set IN is fed into this model M, and an instruction H is generated as an output data set from it. The input data set IN includes at least the previously determined feasible disassembly sequence L and information about the type of instruction to be generated. This information can specify, for example, the format, adherence to a particular standard, length, level of detail, and / or target audience of the instruction. The generated instruction H, for example, comprises a text that describes in words the disassembly and / or assembly steps to be performed by a maintenance technician.Alternatively or additionally, the automatically generated instruction H can also include images that visualize the product geometries occurring during the intermediate steps of the planned maintenance process. For example, an intermediate product geometry can depict the product in a partially assembled state. Such a product geometry for an intermediate step can be easily created from the CAD environment using the product geometry updated in the respective step h). This image can optionally also include arrows that visualize the assembly and / or disassembly step to be performed. Generally, and optionally, the automatically generated instruction H can also include information on the tools to be used, particularly if one or more suitable tools were successfully identified and verified in the optional steps i) and j). The generative model M can (if necessary)(among other things) have been trained using similar instructions to the instruction H to be generated.
[0101] According to a particularly advantageous embodiment of the model call, the generative model M is used within a Retrieval Augmented Generation System. Figure 7 visualizes the call to such a system, RAG. The input data set IN for the system RAD comprises both a prompt 71 and a search query 72. A "prompt" 71 is a request to an artificial intelligence tool, in this case the generative model M, to generate output such as text or similar. The prompt 71 therefore contains, in particular, at least one feasible disassembly sequence L, which is 202412626
[0102] 23 has been automatically generated. In addition to this prompt 71, a search query 72 is passed to the RAG system. This search query 72 can reflect further specifications regarding the type of document to be generated. RAG systems are characterized by the fact that they combine a query to a generative model M with a search in a knowledge database. Accordingly, a search 74 is first executed by a processing unit 73, using the search query 72 as input. The search query 72 contains, for example, information about the format of the instruction, the target group, the relevant technical field, and / or the technical terms used. Using such a search query 72, the search 74 can access a knowledge source 75. This can be, in particular, a database with similar technical instructions that have been manually created, for example, by development engineers of the products in question.The relevant information 76 found in this information source 75 during search 74 is transmitted back to the processing unit 73. This unit then generates a so-called extended prompt 77, which contains not only the original prompt 71 but also this relevant information 76 from search 74 (or at least a part of it). This extended prompt 77 is then used to call a large language model 78, which corresponds to the generative model M in Figure 6. By using the extended prompt 77, an improved output 79 of the generative model 78 can be achieved with respect to the additional specifications compared to a call using the original prompt 71. In other words, the preceding search 74 can find a number of documents that serve as templates for the automatically generated instruction H. This improves the readability, accuracy, and...Compliance with certain standards during document generation is ensured. Overall, such a RAG system enables the automated generation of instructions that resemble a specific class of existing instructions, without necessarily having used precisely those instructions during the training of the generative model 78. Instead, a selection of relevant similar documents is provided as part of the extended prompt 77 when calling the generative model 78. In this way, an instruction H can be generated automatically with a particularly high degree of reliability according to predefined quality standards.
[0103] The applicant points out that, regardless of the grammatical gender of a particular personal term, it should always include persons of male, female, and other gender identities. 202412626
[0104] 24
[0105] Reference symbol list
[0106] I technical product (vehicle)
[0107] 1a Maintenance zone (wheel module)
[0108] 3 chassis
[0109] 5 bike carriers
[0110] 6 brake calipers
[0111] 7a, 7b Brake caliper screws
[0112] 8 wheel bearings
[0113] 9 wheel hub
[0114] 10. Component to be serviced (brake disc)
[0115] II Brake disc screw
[0116] 15 rim
[0117] 16 wheel bolt
[0118] 17 tires
[0119] 71 Prompt
[0120] 72 search queries
[0121] 73 computing unit
[0122] 74 searches
[0123] 75 sources of information
[0124] 76 relevant pieces of information from search results
[0125] 77 extended prompt
[0126] 78 generative model (large language model)
[0127] Issue 79
[0128] B,B' topological tree structures
[0129] C Termination criterion
[0130] D data set
[0131] G,G' Product Geometries
[0132] H Instructions
[0133] IN Input
[0134] Yes
[0135] K1.K2 contact chains
[0136] L List (Disassembly sequence)
[0137] M1 first subset
[0138] M2 second subset
[0139] M3 third subset 202412626
[0140] 25
[0141] M4 fourth subset
[0142] No
[0143] RAG Retrieval Augmented Generation System
[0144] S loop T technician
[0145] V branching z local axis direction
Claims
1. 202412626 26 Patent claims 1. A method for computer-aided determination of a disassembly sequence (L) within the framework of a maintenance process for a technical product (1) composed of several individual components (3-17), the method comprising the following steps: a) providing a data set (D) with a three-dimensional product geometry (G) of the technical product (1) which includes a sub-geometry for each of the individual components (3-17), b) selecting a component (10) to be maintained within the product (1), c) automatically determining at least one contact chain (K1, K2, ...), wherein the respective contact chain (K1) represents a linear sequence of components (10, 9, 15, 16) in direct contact with each other, d) selecting at least a first subset (M1) of components, each of which is in a common contact chain (K1, K2, ...) with the component (10) to be serviced, e) automated testing of components of the first subset (M1) with regard to geometric accessibility for a tool manipulator with a predefined manipulator geometry and forming a second subset from the successfully tested components, f) automated testing of components of the second subset (M2) with regard to their mobility with respect to one or more degrees of freedom and forming a third subset (M3) from the successfully tested components, g) automated testing of components of the third subset (M3) with regard to their removability from the area of the product (1) and forming a fourth subset (M4) from the successfully tested components, h) simulating the disassembly of a component (16) of the fourth subset (M4) and updating the product geometry (G. 1) on the resulting state of the product (1), wherein steps e), f), g) and h) are performed within a three-dimensional geometric simulation environment, wherein steps d), e), f), g) and h) are repeatedly performed within a loop (S) based on the respective current product geometry (G, G') until the component (10) to be serviced is exposed, wherein a disassembly sequence (L) is determined by the sequence of individual disassemblies in steps h).
2. Method according to claim 1, wherein in step c) a topological tree structure (B, B') is determined, wherein this tree structure (B,B') represents the direct contacts of the individual components (3- 202412626 27 17) of the technical product (1) hierarchically maps and contains a plurality of linear contact chains (K1 , K2, ...) as subpaths of the tree structure (B, B').
3. Method according to one of claims 1 or 2, wherein the first subset (M1) is limited in the selection in step d) to those components which are contained in a predefined selection of contact chains (K1,K2).
4. Method according to claim 3, wherein the first subset in step d) is limited to those components which are represented in the respective contact chain (K1, K2) by a terminal chain element (16, 7b) or are spaced at most by a predetermined maximum value of intermediate elements from such a terminal chain element (16, 7b).
5. Method according to one of the preceding claims, wherein at least one predetermined selection criterion is used in the selection in step d), which is changed, in particular expanded, at least between some of the iterations through the loop (S).
6. Method according to one of the preceding claims, in which whenever one of the formed subsets (M1-M4) is empty during a pass through the loop (S), the current pass is terminated and a transition to the next pass takes place.
7. Method according to any of the preceding claims, wherein the tool manipulator is a human hand or a robotic manipulator.
8. A method according to one of the preceding claims, wherein, following the determination of a disassembly sequence (L), the following steps are performed: i) reading previously stored information about the assignment of a tool to at least one component (6, 7a, 7b, 10, 11, 15, 17) which is included in the determined disassembly sequence (L9), and j) checking the respective component (6, 7a, 7b, 10, 11, 15, 17) with regard to its disassembly capability with the respective assigned tool within the three-dimensional geometric simulation environment, wherein validation of the respective disassembly sequence (L) is carried out under the condition that disassembly capability with at least one assigned tool has been successfully checked for the respective component (6, 7a, 7b, 10, 11, 15, 17). 202412626 28 9. A method according to any of the preceding claims, wherein, after defining a disassembly sequence (L), the following step is performed: k) automated creation of an instruction manual (H) for a disassembly and / or assembly process, wherein the creation of the instruction manual (H) is carried out using a generative model (M) implemented in an artificial neural network, wherein an input data set (IN) is used for input into the generative model (M), which includes the defined disassembly sequence (L) and a specification for the type of instruction manual to be created.
10. The method of claim 9, wherein the generative model (M) is used within a Retrieval Augmented Generation System (RAG).
11. Method according to one of the preceding claims, wherein in step e) the geometric accessibility of the respective component (3-17) is checked with a search algorithm which, within a three-dimensional geometric simulation environment, starting from a defined starting point of the tool manipulator, searches for at least one possible path to bring the tool manipulator into contact with the respective component (3-17) to be checked while avoiding collisions.
12. Method according to one of the preceding claims, wherein in step f) a plurality of translational and / or rotational movements of the respective component (3-17) with respect to a plurality of local principal axes of inertia (z) of this component (3-17) are performed within a three-dimensional geometric simulation environment and are checked for collisions.
13. Method according to one of the preceding claims, wherein in step g) within the three-dimensional geometric simulation environment the dismantability of the respective component (3-17) is checked with a search algorithm which, starting from the current position of the respective component (3-17), searches for at least one possible path to bring the component (3-17) to a predefined dismantling zone while avoiding collisions.
14. Method according to any of the preceding claims, wherein at least steps e), f), g) and h) are fully automated and performed without user interaction. 202412626 29 15. Computer program product comprising instructions, wherein the instructions, when the computer program product is executed on a computer, cause the computer to execute the method according to any one of the preceding claims.