Self-development of resources in a multi-machine environment

The system addresses resource insufficiencies in robotic devices by using AI and 3D printing to enhance capabilities, ensuring effective activity completion in multi-machine environments.

JP2025529956APending Publication Date: 2025-09-09INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025512746
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-09-07
Filing Date
2023-07-10
Publication Date
2025-09-09

AI Technical Summary

Technical Problem

Existing systems fail to dynamically allocate additional resources to robotic devices in a multi-machine environment, leading to incomplete or inefficient performance of activities due to insufficient resources such as mobility or gripping capabilities.

Method used

A system that utilizes real-time data and AI knowledge corpus to identify resource deficiencies in robotic devices, predicts necessary modifications through digital twin simulations, and attaches additional resources using 3D printing to enhance capabilities.

Benefits of technology

Enables robotic devices to effectively complete activities by dynamically providing necessary resources, improving performance and efficiency in multi-machine environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025529956000001_ABST
    Figure 2025529956000001_ABST
Patent Text Reader

Abstract

A method, computer system, and computer program product for self-development of resources are provided. The method may include receiving data regarding an activity and a first robotic device assigned to perform the activity. The method may also include creating a knowledge corpus of a second set of one or more robotic devices capable of performing the activity. The method may further include performing a digital twin simulation of a digital twin model of the first robotic device performing the activity. In response to determining that the first robotic device is unable to complete the activity without an incident, the method may also include identifying a robotic device within the second set of one or more robotic devices that is most comparable to the first robotic device. The method may also include predicting modifications to the first robotic device. The method may also include attaching one or more resources printed by a 3D printer to the first robotic device.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates generally to the field of computing, and more particularly to a system for self-development of resources in a multi-machine environment.

[0002] Machines, such as robots, are currently being used to perform a wide variety of activities in industrial environments. Some of these activities were previously performed exclusively by humans (e.g., repetitive tasks on a manufacturing assembly line), while other activities require heavy machinery to lift and / or move objects. Machines enable organizations, including manufacturers and construction companies, to perform a wide variety of activities more seamlessly than humans, completing work faster and with minimal wasted effort. These machines have different skills and capabilities and can perform activities individually and / or collaboratively. As automation becomes more commonplace, the demand for machine and robotic technology is expected to increase in the coming decades. Summary of the Invention

[0003] According to one implementation, a method, computer system, and computer program product are provided for self-development of resources in a multi-machine environment. Embodiments may include receiving real-time data regarding an activity and a first robotic device assigned to perform the activity. Embodiments may also include creating an AI knowledge corpus of a second set of one or more robotic devices capable of performing the activity based on historical data regarding the activity. Embodiments may further include performing a digital twin simulation of a digital twin model of the first robotic device performing the activity. In response to determining that the first robotic device is unable to complete each step of the activity without an incident, embodiments may also include identifying a robotic device within the second set of one or more robotic devices that is most comparable to the first robotic device. Embodiments may further include predicting modifications to the first robotic device based on one or more differences between the most comparable robotic device and the first robotic device. Embodiments may also include attaching one or more resources printed by a 3D printer to the first robotic device in the multi-machine environment based on the predicted modifications. [Brief explanation of the drawings]

[0004] These and other objects, features, and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments, which is to be read in connection with the accompanying drawings. Various features of the drawings are not to scale, as the illustrations are for clarity in facilitating those skilled in the art to understand the invention together with the detailed description. In the drawings:

[0005] [Figure 1] 1 illustrates an exemplary computing environment in accordance with at least one embodiment.

[0006] [Figure 2] 1 illustrates an operational flowchart for self-development of resources in a multi-machine environment in a resource development process, according to at least one embodiment.

[0007] [Figure 3] 1A-1C are exemplary diagrams illustrating a robotic device before and after self-development of resources, according to at least one embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0008] Detailed embodiments of the claimed structures and methods are disclosed herein; however, it should be understood that the disclosed embodiments are merely exemplary of the claimed structures and methods, which may be embodied in various forms. The present invention may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. In the description, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments.

[0009] The singular forms "a," "an," and "the" should be understood to include plural referents unless the context clearly dictates otherwise. Thus, for example, a reference to a "component surface" includes a reference to one or more of such surfaces unless the context clearly dictates otherwise.

[0010]

[0001] Embodiments of the present invention relate to the field of computing, and more particularly to a system for self-development of resources in a multi-machine environment. The exemplary embodiments described below provide, among other things, a system, method, and program product for determining whether a first robotic device can complete each step of an activity without incident, and then printing and attaching one or more resources to the first robotic device in a multi-machine environment accordingly. Thus, the present embodiments have the ability to improve industrial machine technology by enhancing the capabilities of robotic devices with insufficient resources in any multi-machine environment.

[0011] As mentioned above, machines such as robots are currently used to perform a wide variety of activities in industrial environments. Some of these activities were previously performed exclusively by humans (e.g., repetitive tasks on a manufacturing assembly line), while other activities require heavy machinery to lift and / or move objects. Machines enable organizations, including manufacturers and construction companies, to perform a wide variety of activities more seamlessly than humans, completing work faster and with minimal wasted effort. These machines have different skills and capabilities and can perform activities individually and / or collaboratively. As automation becomes more common, the demand for machine and robotic technology is expected to increase in the coming decades. When a robotic device is performing an activity, the robotic device may not have sufficient resources to perform the activity effectively. For example, the robotic device may not be mobile and / or its gripper may not be able to handle the weight of the object. This problem is typically addressed by deploying mobile robotic devices to collect information and analyze sensor data to determine the condition of industrial machinery and predict maintenance activities for the industrial machinery. However, even when maintenance activities are predicted for industrial machinery, the resources required to successfully perform the activities cannot be proactively allocated to the robotic devices.

[0012] Therefore, it may be essential to have a system in place for dynamically creating and providing additional resources to robotic devices so that activities can be effectively performed in a multi-machine environment. Thus, embodiments of the present invention may provide advantages including, but not limited to, dynamically creating and providing additional resources to robotic devices so that activities can be effectively performed, self-developing additional resources, and utilizing 3D printing to create additional resources. The present invention does not require that all advantages be incorporated into every embodiment of the present invention.

[0013] According to at least one embodiment, in a multi-machine environment of robotic devices, real-time data regarding an activity and a first robotic device assigned to perform the activity may be received to create an AI knowledge corpus of a second set of one or more robotic devices capable of performing the activity based on historical data. Once the AI ​​knowledge corpus is created, a digital twin simulation of a digital twin model of the first robotic device performing the activity may be performed, so that it may be determined whether the first robotic device is able to complete each step of the activity without an incident based on the digital twin simulation. In response to determining that the first robotic device is unable to complete each step of the activity without an incident, a robotic device within the second set of one or more robotic devices that is most comparable to the first robotic device may be identified, so that a modification of the first robotic device may be predicted based on one or more differences between the most comparable robotic device and the first robotic device. The prediction may be verified by running an updated digital twin simulation of a modified version of the first robotic device with one or more resources performing the activity. Based on the predicted modifications, one or more resources can then be printed by a 3D printer and attached to the first robotic device in the multi-machine environment. According to at least one embodiment, the resources can be additional accessories (e.g., grippers or counterweights). According to at least one other embodiment, the resources can be modified components of existing components of the first robotic device.

[0014] The present invention may be a system, method, and / or computer program product integrated at any possible level of technical detail. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions for causing a processor to carry out aspects of the present invention.

[0015] A computer program product embodiment ("CPP embodiment" or "CPP") is a term used in this disclosure to describe any set of one or more storage media (also referred to as "media") collectively contained in one or more storage devices that collectively contain machine-readable code corresponding to instructions and / or data for performing the computer operations specified in a given CPP claim. A "storage device" is any tangible device that can hold and store instructions for use by a computer processor. The computer-readable storage medium may be, but is not limited to, an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, a mechanical storage medium, or any suitable combination of the foregoing. Some known types of storage devices that include these media include diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanically encoded devices (such as punch cards or pits / lands formed on a major surface of a disk), or any suitable combination of the foregoing. Computer-readable storage media, as the term is used in this disclosure, is not to be construed as storage in the form of transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide, light pulses passing through fiber optic cables, electrical signals communicated through wires, and / or other transmission media.As will be appreciated by those skilled in the art, data is typically moved at some infrequent time during the normal operation of a storage device, such as during access, defragmentation, or garbage collection, but this does not make the storage device temporary because the data is not temporary while it is stored.

[0016] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0017] These computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored on a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, such that the computer-readable storage medium having instructions stored therein has an article of manufacture including instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0018] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be executed on the computer, other programmable apparatus, or other device to generate a computer-implemented process, such that the instructions executing on the computer, other programmable apparatus, or other device implement the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0019] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions, that implements a specified logical function. In some alternative implementations, the functions noted in the blocks may occur in an order other than that noted in the figures. For example, two blocks shown in succession may in fact be executed concurrently or substantially concurrently, or the blocks may possibly be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or operations, or that executes a combination of dedicated hardware and computer instructions.

[0020] The exemplary embodiments described below provide systems, methods, and program products for determining whether a first robotic device can complete each step of an activity without an incident, and, accordingly, printing and attaching one or more resources to the first robotic device in a multi-machine environment.

[0021] Referring to FIG. 1 , an exemplary computing environment 100 is shown according to at least one embodiment. The computing environment 100 comprises an example environment for the execution of at least a portion of the computer code involved in executing the methods of the present invention, e.g., a resource self-development program 150. In addition to block 150, the computing environment 100 includes, for example, a computer 101, a wide area network (WAN) 102, an end-user device (EUD) 103, a remote server 104, a public cloud 105, and a private cloud 106. In this embodiment, the computer 101 includes a processor set 110 (including processing circuitry 120 and cache 121), a communications fabric 111, volatile memory 112, persistent storage 113 (including an operating system 122 and the above-identified block 200), a peripheral device set 114 (including a user interface (UI) device set 123, storage 124, and an Internet of Things (IoT) sensor set 125), and a network module 115. The remote server 104 includes a remote database 130. The public cloud 105 includes a gateway 140, a cloud orchestration module 141, a set of host physical machines 142, a set of virtual machines 143, and a set of containers 144.

[0022] Computer 101 may take the form of a desktop computer, a laptop computer, a tablet computer, a smartphone, a smartwatch or other wearable computer, a mainframe computer, a quantum computer, or any other form of computer or mobile device now known or later developed that is capable of executing programs, accessing a network, or querying a database, such as remote database 130. As is well understood in the field of computer technology, and depending on the technology, execution of a computer-implemented method may be distributed among multiple computers and / or multiple locations. However, in this presentation of computing environment 100, to keep the presentation as simple as possible, the detailed discussion focuses on a single computer, specifically computer 101. Although computer 101 is not shown in FIG. 1 within a cloud, it may be located within a cloud. However, computer 101 is not required to reside within a cloud except to any extent that may be expressly indicated.

[0023] Processor set 110 includes one or more computer processors of any type now known or to be developed in the future. Processing circuitry 120 may be distributed across multiple packages, e.g., multiple tailored integrated circuit chips. Processing circuitry 120 may implement multiple processor threads and / or multiple processor cores. Cache 121 is memory located within the processor chip package and is typically used for data or code that should be available for fast access by threads or cores executing on processor set 110. Cache memory is typically organized into multiple levels depending on relative proximity to the processing circuitry. Alternatively, some or all caches for a processor set may be located “off-chip.” In some computing environments, processor set 110 may be designed to operate with qubits and perform quantum computing.

[0024] Computer-readable program instructions are typically loaded onto computer 101 and cause processor set 110 of computer 101 to execute a series of operational steps, thereby enabling a computer-implemented method, such that the instructions so executed instantiate the methods specified in the computer-implemented method flowcharts and / or descriptions contained herein (collectively referred to as the "methods of the present invention"). These computer-readable program instructions are stored in various types of computer-readable storage media, such as cache 121 and other storage media discussed below. The program instructions and associated data are accessed by processor set 110 to control and direct the execution of the methods of the present invention. In computing environment 100, at least a portion of the instructions for executing the methods of the present invention may be stored in block 200 within persistent storage 113.

[0025] Communications fabric 111 is the signal-conducting pathway that allows various components of computer 101 to communicate with one another. Typically, this fabric is made up of switches and conductive pathways, such as those that make up buses, bridges, physical input / output ports, and the like. Other types of signal communication pathways may be used, such as fiber optic and / or wireless communication pathways.

[0026] Volatile memory 112 may be any type of volatile memory now known or later developed. Examples include dynamic random access memory (RAM) or static RAM. Typically, volatile memory 112 is characterized by random access, although this is not required unless expressly stated. In computer 101, volatile memory 112 is located in a single package and is internal to computer 101; however, alternatively or additionally, volatile memory 112 may be distributed across multiple packages and / or located external to computer 101.

[0027] Persistent storage 113 is any form of non-volatile storage for a computer, now known or later developed. The non-volatility of this storage means that stored data remains regardless of whether power is supplied to computer 101 and / or to persistent storage 113 directly. While persistent storage 113 can be read-only memory (ROM), typically at least a portion of persistent storage 113 allows data to be written, data to be deleted, and data to be rewritten. Some well-known forms of persistent storage 113 include magnetic disks and solid-state storage devices. Operating system 122 can take several forms, including various known proprietary operating systems or open-source Portable Operating System Interface types employing a kernel. The code contained in block 150 typically includes at least a portion of the computer code involved in performing the methods of the present invention.

[0028] The peripheral device set 114 includes a set of peripheral devices of the computer 101. Data communication connections between the peripheral devices 114 and other components of the computer 101 can be implemented in various ways, such as Bluetooth connections, Near-Field Communication (NFC) connections, connections made by cable (such as a universal serial bus (USB)-type cable), insertion-type connections (e.g., a secure digital (SD) card), connections made through a local area communication network, and even connections made through a wide area network such as the Internet. In various embodiments, the UI device set 123 can include components such as a display screen, speakers, microphones, wearable devices (such as goggles and smartwatches), keyboards, mice, printers, touchpads, game controllers, and haptic devices. The storage 124 can be external storage such as an external hard drive or insertable storage such as an SD card. The storage 124 can be persistent and / or volatile. In some embodiments, storage 124 may take the form of a quantum computing storage device for storing data in the form of qubits. In embodiments where computer 101 is required to have a large amount of storage (e.g., where computer 101 stores and manages large databases locally), this storage may be provided by a peripheral storage device designed to store very large amounts of data, such as a storage area network (SAN) shared by multiple geographically distributed computers. IoT sensor set 125 is made up of sensors that may be used in Internet of Things applications. For example, one sensor may be a thermometer, and another sensor may be a motion detector. Peripheral device set 114 may also include machines, robotic devices, and / or any other devices for performing work-related tasks.

[0029] Network module 115 is a collection of computer software, hardware, and firmware that enables computer 101 to communicate with other computers over WAN 102. Network module 115 may include hardware such as a modem or Wi-Fi signal transceiver, software for packetizing and / or depacketizing data for communication network transmission, and / or web browser software for communicating data over the Internet. In some embodiments, the network control and network forwarding functions of network module 115 are performed on the same physical hardware device. In other embodiments (e.g., embodiments utilizing Software-Defined Networking (SDN)), the control and forwarding functions of network module 115 are performed on physically separate devices, such that the control function manages multiple different network hardware devices. Computer-readable program instructions for performing the methods of the invention may be downloaded to computer 101, typically from an external computer or external storage device, through a network adapter card or network interface included in network module 115.

[0030] WAN 102 is any wide area network (e.g., the Internet) capable of communicating computer data over non-local distances by any now known or later developed technology for communicating computer data. In some embodiments, the WAN may be replaced and / or supplemented by a local area network (LAN) designed to communicate data between devices located in a local area, such as a Wi-Fi network. WAN 102 and / or LAN typically include computer hardware such as copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and edge servers.

[0031] End-user device (EUD) 103 is any computer system used and controlled by an end user (e.g., a customer of the enterprise operating computer 101) and may take any of the forms discussed above in connection with computer 101. EUD 103 typically receives useful and useful data from the operation of computer 101. For example, in a hypothetical case where computer 101 is designed to provide recommendations to the end user, the recommendations would typically be communicated from computer 101's network module 115 over WAN 102 to EUD 103. In this manner, EUD 103 can display or otherwise present the recommendations to the end user. In some embodiments, EUD 103 may be a client device, such as a thin client, a heavy client, a mainframe computer, a desktop computer, and the like.

[0032] Remote server 104 is any computer system that provides at least some data and / or functionality to computer 101. Remote server 104 may be controlled and used by the same entity that operates computer 101. Remote server 104 represents a machine that collects and stores useful and useful data for use by other computers, such as computer 101. For example, in the hypothetical case where computer 101 is designed and programmed to provide recommendations based on past data, then this past data may be provided to computer 101 from remote database 130 of remote server 104.

[0033] A public cloud 105 is any computer system available for use by multiple entities that provides on-demand availability of computer system resources and / or other computer functionality, particularly data storage (cloud storage) and computing power, without direct active management by users. Cloud computing typically leverages resource sharing to achieve coherence and economies of scale. Direct active management of the computing resources of the public cloud 105 is performed by computer hardware and / or software in a cloud orchestration module 141. The computing resources provided by the public cloud 105 are typically implemented by virtual computing environments running on various computers comprising a host physical machine set 142, which is the universe of physical computers within and / or available in the public cloud 105. A virtual computing environment (VCE) typically takes the form of virtual machines from a virtual machine set 143 and / or containers from a container set 144. It is understood that these VCEs may be stored as images and transferred among and between various hosts of physical machines either as images or after instantiation of the VCE. Cloud orchestration module 141 manages the transfer and storage of images, deploys new instantiations of VCEs, and manages active instantiations of VCE deployments. Gateway 140 is a collection of computer software, hardware, and firmware that enables public cloud 105 to communicate over WAN 102.

[0034] Some further discussion of virtualized computing environments (VCEs) is now provided. A VCE can be stored as an "image." A new, active instance of a VCE can be instantiated from an image. Two well-known types of VCEs are virtual machines and containers. A container is a VCE that uses operating system-level virtualization. This refers to a feature of an operating system in which the kernel allows the existence of multiple isolated user space instances, called containers. These isolated user space instances typically behave as actual computers from the perspective of programs running within them. A computer program running on a typical operating system can utilize all of the computer's resources, such as connected devices, files and folders, network shares, CPU power, and quantifiable hardware capabilities. However, a program running inside a container can only use the contents of the container and of the devices assigned to the container; this feature is known as containerization.

[0035] A private cloud 106 is similar to a public cloud 105, except that its computing resources are available only for use by a single enterprise. While the private cloud 106 is shown in communication with the WAN 102, in other embodiments, the private cloud 106 may be completely disconnected from the Internet and accessible only through a local / private network. A hybrid cloud is a composite of multiple clouds of different types (e.g., private, community, or public cloud types), often each implemented by a different vendor. While each of the multiple clouds remains a separate, discrete entity, the larger hybrid cloud architecture is bound together by standardized or proprietary technologies that enable orchestration, management, and / or data / application portability between the constituent clouds. In this embodiment, both the public cloud 105 and the private cloud 106 are part of a larger hybrid cloud.

[0036] According to this embodiment, the resource self-developing program 150 may be a program that can receive real-time data about an activity and a first robotic device assigned to perform the activity in a multi-machine environment, determine whether the first robotic device can complete each step of the activity without an incident, print one or more resources and attach them to the first robotic device in the multi-machine environment, dynamically create and provide additional resources to the robotic device to effectively perform the activity, self-develop the additional resources, and create the additional resources using 3D printing. Furthermore, despite being illustrated on the computer 101, the resource self-developing program 150 may be stored in and / or executed by the end-user device 103, the remote server 104, the public cloud 105, and the private cloud 106, individually or in any combination. The resource self-developing method is described in further detail below with respect to FIG. 2.

[0037] 2, there is shown an operational flowchart for self-development of resources in a multi-machine environment in a resource development process 200, according to at least one embodiment. At 202, the resource self-development program 150 receives real-time data regarding an activity and a first robotic device assigned to perform the activity.

[0038] The real-time data about an activity may include types of activities to be performed in a multi-machine environment. Examples of activities may include, but are not limited to, assembling an object in a manufacturing facility, moving an object on a construction site, and transporting an object from one location to another (e.g., moving product from an assembly line to a shipping area). The real-time data about an activity may also include one or more objects associated with the activity. Examples of objects may include, but are not limited to, shipping containers, automobiles, devices on an assembly line, construction materials, and / or any object that can be moved from a source to a destination, i.e., from one location to another. The real-time data about an activity may further include the time required to complete the activity. For example, an activity may typically take two hours to complete.

[0039] The real-time data about a first robotic device assigned to perform an activity may include a specific robotic device for performing the activity. The real-time data about the first robotic device may also include parts of the first robotic device. Examples of parts include, but are not limited to, detachable parts (e.g., grippers), arms, wheels, and / or counterweights. It may be understood that "parts" and "resources" are used interchangeably herein.

[0040] According to at least one embodiment, a user may specify the type of activity to be performed via a user interface (UI) on the user's device. The user may be an individual with background knowledge about the activity, such as a director or manager of the activity. For example, the user may specify that the activity to be performed is assembling a car on an assembly line. Based on the type of activity, resource self-development program 150 may obtain one or more objects associated with the activity, the time required to complete the activity, and the first robotic device assigned to perform the activity. Continuing with the above example, if the user specified that the activity to be performed is assembling a car on an assembly line, resource self-development program 150 may obtain information that the objects are car parts (i.e., hood, doors, windshield, etc.), the time required to complete the activity is two hours, and the first robotic device assigned to perform the activity is a robotic device with a gripper. This data may be used in the digital twin simulation and the updated digital twin simulation, which are described in further detail below with respect to steps 206 and 214, respectively.

[0041] Next, at 204, the resource self-development program 150 creates an AI knowledge corpus of a second set of one or more robotic devices capable of performing the activity. The AI ​​knowledge corpus is created based on historical data about the activity. The historical data may include multiple different types of robotic devices that have successfully (i.e., without incident) performed assigned activities in the past. The historical data may also include the strength required to perform the activity, the dimensions of various parts (e.g., grippers and / or arms) of the second set of one or more robotic devices, the time required to successfully complete the activity, and / or the location of the activity. For example, if the assigned activity is assembling exercise equipment in a manufacturing facility, the AI ​​knowledge corpus may create a second set of robotic devices as robots A, B, C, D, and E as capable of performing the activity in the indoor manufacturing facility, where robots A, B, C, D, and E each have a 12-inch (30.5 centimeter) gripper, a 6-inch (15.2 centimeter) arm, and a 24-inch (61 centimeter) base with wheels, and can perform the activity in two hours. The AI ​​knowledge corpus may process this information and store it in a database, such as remote database 130. The examples described above are not intended to be limiting, and it may be understood that in embodiments of the present invention, the second set of robotic devices may be various other robotic devices with different specifications and capabilities.

[0042] Next, at 206, the resource self-development program 150 performs a digital twin simulation of the digital twin model of the first robotic device performing the activity. The resource self-development program 150 may create a digital twin model of the first robotic device using known techniques, and this digital twin model may be used in the digital twin simulation. The digital twin of the first robotic device used in the simulation may have the same specifications as the first robotic device has in the real world. In addition, the digital twin of the first robotic device used in the simulation may also have the same material as the first robotic device is made of in the real world. For example, the arm of the first robotic device may be made of a metal such as titanium, and the gripper may be made of the same or a different type of metal (e.g., aluminum), or the gripper may be made of plastic. In this way, maximum accuracy may be maintained during the digital twin simulation. The digital twin simulation may be performed according to the range of typical movements that a first robotic device assigned to perform an activity makes in the real world while performing the activity. For example, if the activity is assembling automobile parts on an assembly line, the range of movement may include lifting the door and hood covers and placing them on the chassis.

[0043] Next, at 208, the resource self-development program 150 determines whether the first robotic device can complete each step of the activity without an incident. The determination may be made based on a digital twin simulation. As described above with respect to step 206, the resource self-development program 150 runs a digital twin simulation of a digital twin model of the first robotic device performing the activity, during which the first robotic device may perform a range of operations that the first robotic device would perform in the real world. During the digital twin simulation, an incident may occur due to insufficient resources associated with the first robotic device. Examples of incidents include, but are not limited to, one or more objects falling and / or breaking, deformation (e.g., bending, twisting, and / or melting) of at least one part of the first robotic device, the first robotic device tipping over, and / or an inability to complete the activity within a typical timeframe. For example, a gripper made of plastic may melt when handling a hot object and / or if the internal temperature of a manufacturing facility reaches a threshold temperature for melting. In another example, the gripper may drop an object that is either too heavy to carry or too large to properly grasp. In yet another example, the first robotic device may be immobile, causing a delay in completing an activity.

[0044] In response to determining that the first robotic device is unable to complete each step of the activity without incident (step 208, "No" branch), resource development process 200 proceeds to step 210 to identify a robotic device within a second set of one or more robotic devices that is most comparable to the first robotic device. In response to determining that the first robotic device is able to complete each step of the activity without incident (step 208, "Yes" branch), resource development process 200 terminates.

[0045] Next, at 210, the resource self-development program 150 identifies a robotic device within a second set of one or more robotic devices that is most comparable to the first robotic device. As described above with respect to step 204, an AI knowledge corpus may be created of the second set of robotic devices that are capable of performing the activity.

[0046] According to at least one embodiment, the most comparable device within the second set of one or more robotic devices may be identified based on the greatest number of parts in common with the first robotic device. For example, the second set of one or more robotic devices may include robots A, B, and C, where robot A has an arm, a gripper, and a base, robot B has a base, an arm, and a claw, and robot C has a base and a claw. Continuing with this example, if the first robotic device has an arm, a gripper, and a base, the most comparable robotic device may be robot A because robot A and the first robotic device have three parts in common.

[0047] Next, at 212, the resource self-development program 150 predicts a modification of the first robotic device. The modification is predicted based on one or more differences between the most comparable robotic device and the first robotic device. According to at least one embodiment, the one or more differences may be differences in the parts themselves. For example, if Robot A is the most comparable robotic device to the first robotic device, and Robot A has a base, an arm, and a gripper, while the first robotic device has a base and an arm (i.e., two of the three parts are common), the difference between the most comparable robotic device and the first robotic device is the absence of a gripper in the first robotic device. In this embodiment, the predicted modification of the first robotic device may be to add a missing resource (e.g., a gripper) to the first robotic device.

[0048] According to at least one other embodiment, the one or more differences may be differences in part specifications. For example, if robot A is the most comparable robot device to a first robot device and robot A has a base, arm, and gripper made of titanium, and the first robot device has a base, arm, and gripper made of plastic (i.e., three out of three parts are in common), the difference between the most comparable robot device and the first robot device is the material used for the gripper. Continuing with the above example, if robot A is the most comparable robot device to a first robot device and robot A has a base, arm, and gripper with a 6-inch (15.2 centimeter) diameter, and the first robot device has a base, arm, and gripper with a 4-inch (10.2 centimeter) diameter (i.e., three out of three parts are in common), the difference between the most comparable robot device and the first robot device is the size of the gripper. In this embodiment, the predicted modification of the first robotic device may be to substitute the resources of the most comparable device (e.g., a titanium gripper) for the insufficient resources of the first robotic device (e.g., a plastic gripper). The example described above is not intended to be limiting, and it may be understood that in embodiments of the present invention, the resources and specifications of the first robotic device and the most comparable robotic device may differ from the resources and specifications described above.

[0049] Next, at 214, the resource self-development program 150 attaches one or more resources printed by the 3D printer to the first robotic device in the multi-machine environment. The one or more resources are printed and attached based on the predicted modifications. Examples of resources attached to the first robotic device include, but are not limited to, a movement mechanism (e.g., wheels attached to the base of the first robotic device to make the first robotic device mobile), a counterweight (e.g., in case the first robotic device tips over during the digital twin simulation), a gripper, and / or an arm.

[0050] According to at least one embodiment, if the predicted modification of the first robotic device is to add missing resources to the first robotic device, the 3D printer may print one or more missing resources. In this embodiment, the one or more missing resources may be additional accessories to be attached to the first robotic device. For example, if Robot A is the most comparable robotic device to the first robotic device and Robot A has a wheeled base, arm, and gripper, and the first robotic device has a wheelless base and arm (i.e., two of the four parts are common), the 3D printer may print wheels and grippers for the base. According to at least one other embodiment, if the predicted modification of the first robotic device is to substitute resources from the most comparable device for insufficient resources of the first robotic device, the 3D printer may print one or more substituted resources. In this embodiment, the one or more substituted resources may be modified accessories to be attached to the first robotic device. For example, if robot A is the most comparable robotic device to a first robotic device, and robot A has a base, an arm, and a titanium gripper with a 6-inch (15.2 centimeter) diameter, and the first robotic device has a base, an arm, and a plastic gripper with a 4-inch (10.2 centimeter) diameter (i.e., three out of three parts are in common), then the 3D printer may print a titanium gripper with a 6-inch diameter. The 3D printer may either be integrated into the first robotic device or be external to the first robotic device in a multi-machine environment.

[0051] Once one or more resources have been printed, the one or more resources may be attached to a first robotic device in a multi-machine environment. According to at least one embodiment, at least one other robot in the multi-machine environment (i.e., a robot other than the first robotic device assigned to perform an activity) may attach one or more resources to the first robotic device, for example, if the first robotic device is unable to attach one or more resources to itself. According to at least one other embodiment, the first robotic device may attach one or more resources to itself, for example, if the first robotic device is able to attach one or more resources to itself. For example, if the first robotic device already has a gripper or claw before printing, the first robotic device may be able to attach one or more resources to itself. The examples described above are not intended to be limiting, and it may be understood that in embodiments of the present invention, the resources and specifications of the first robotic device and the most comparable robotic device may differ from those described above.

[0052] Next, at 216, resource self-development program 150 runs an updated digital twin simulation of the modified version of the first robotic device with one or more resources to perform the activity. The updated digital twin simulation may verify the predictions made in step 212 and, according to at least one embodiment, may be run before printing and attaching the one or more resources. The updated digital twin simulation may perform the same range of motion as in the digital twin simulation. In response to determining that the modified version of the first robotic device is unable to complete each step of the activity without an incident, execution of the updated digital twin simulation may be repeated with a different resource from the predicted one or more resources. For example, if the predicted modification of the first robotic device is a gripper with a diameter of 6 inches (15.2 centimeters) and, in the updated digital twin simulation, the modified version of the first robotic device continues to drop and / or break objects, execution of the updated digital twin simulation may be repeated with a gripper with a diameter greater than 6 inches. The prediction may be validated if a modified version of the first robotic device in the updated digital twin simulation is able to complete each step of the activity without an incident.

[0053] Referring now to FIG. 3 , an exemplary diagram 300 illustrating a robotic device before and after resource self-development is shown, according to at least one embodiment. In diagram 300, a first robotic device 302 may be assigned to perform an activity in a multi-machine environment, and another robotic device 304 may be performing a different activity. In response to determining that the first robotic device 302 is unable to complete each step of the activity, the resource self-development program 150 may predict a modified first robotic device 306 having one or more predicted resources. In the embodiment shown in FIG. 3 , the predicted resource may be an arm 308. The arm 308 may be printed by a 3D printer integrated into or external to the first robotic device 302 and attached by another robotic device 304 to form a modified first robotic device 306 that is now able to complete the activity.

[0054] 2 and 3 are merely provided as examples of one implementation and are not intended to suggest any limitations as to how different embodiments may be implemented. Many modifications to the depicted environments may be made based on design and implementation requirements.

[0055] While the descriptions of various embodiments of the present invention have been presented for illustrative purposes, they are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terminology used herein has been chosen to best explain the principles, practical applications, or technical improvements of the embodiments over technologies found in the marketplace, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

1. 1. A computer-based method for self-developing resources in a multi-machine environment, comprising: receiving real-time data regarding an activity and a first robotic device assigned to perform the activity; creating an AI knowledge corpus of a second set of one or more robotic devices capable of performing the activity based on historical data related to the activity; performing a digital twin simulation of a digital twin model of the first robotic device performing the activity; determining whether the first robotic device can complete each step of the activity without an incident based on the digital twin simulation; responsive to determining that the first robotic device is unable to complete each step of the activity without an incident, identifying a robotic device within the second set of one or more robotic devices that is most comparable to the first robotic device; predicting modifications to the first robotic device based on one or more differences between the most comparable robotic device and the first robotic device; and Attaching one or more resources printed by a 3D printer to the first robotic device in the multi-machine environment based on the predicted modifications. A computer-based method comprising:

2. running an updated digital twin simulation of a modified version of the first robotic device having the one or more resources performing the activity to validate the prediction. The computer-based method of claim 1 further comprising:

3. The step of running the updated digital twin simulation includes: repeating the execution of the updated digital twin simulation with different resources in response to determining that the modified version of the first robotic device is unable to complete each step of the activity without an incident. The computer-based method of claim 2 further comprising:

4. The computer-based method of claim 1 , wherein the 3D printer is integrated into the first robotic device.

5. 2. The computer-based method of claim 1, wherein the most comparable robotic device in the second set of one or more robotic devices is identified based on a greatest number of parts in common with the first robotic device.

6. 2. The computer-based method of claim 1, wherein the one or more resources printed by the 3D printer are one or more additional accessories attached to the first robotic device by at least one other robot in the multi-machine environment.

7. The computer-based method of claim 1 , wherein the resource attached to the first robotic device is selected from the group consisting of a locomotion mechanism, a counterweight, a gripper, and an arm.

8. one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage media, and program instructions stored on at least one of the one or more computer-readable tangible storage media for execution by at least one of the one or more processors via at least one of the one or more computer-readable memories. A computer system comprising: receiving real-time data regarding an activity and a first robotic device assigned to perform the activity; creating an AI knowledge corpus of a second set of one or more robotic devices capable of performing said activities based on historical data relating to said activities; performing a digital twin simulation of a digital twin model of the first robotic device performing the activity; determining, based on the digital twin simulation, whether the first robotic device can complete each step of the activity without an incident; responsive to determining that the first robotic device is unable to complete each step of the activity without an incident, identifying a robotic device within the second set of one or more robotic devices that is most comparable to the first robotic device; predicting modifications to the first robotic device based on one or more differences between the most comparable robotic device and the first robotic device; and and attaching one or more resources printed by a 3D printer to the first robotic device in the multi-machine environment based on the predicted modification. A computer system capable of performing a method comprising:

9. running an updated digital twin simulation of a modified version of the first robotic device having the one or more resources performing the activity to validate the prediction; The computer system of claim 8 further comprising:

10. The step of executing the updated digital twin simulation includes: repeating the execution of the updated digital twin simulation with different resources in response to determining that the modified version of the first robotic device is unable to complete each step of the activity without an incident.

10. The computer system of claim 9, further comprising:

11. The computer system of claim 8 , wherein the 3D printer is integrated into the first robotic device.

12. 9. The computer system of claim 8, wherein the most comparable robotic device in the second set of one or more robotic devices is identified based on a greatest number of parts in common with the first robotic device.

13. 9. The computer system of claim 8, wherein the one or more resources printed by the 3D printer are one or more additional accessories attached to the first robotic device by at least one other robot in the multi-machine environment.

14. The computer system of claim 8 , wherein the resource attached to the first robotic device is selected from the group consisting of a locomotion mechanism, a counterweight, a gripper, and an arm.

15. 1. A computer program product comprising: one or more computer-readable tangible storage media; and program instructions stored on at least one of the one or more computer-readable tangible storage media, the program instructions comprising: receiving real-time data regarding an activity and a first robotic device assigned to perform the activity; creating an AI knowledge corpus of a second set of one or more robotic devices capable of performing said activities based on historical data relating to said activities; performing a digital twin simulation of a digital twin model of the first robotic device performing the activity; determining, based on the digital twin simulation, whether the first robotic device can complete each step of the activity without an incident; responsive to determining that the first robotic device is unable to complete each step of the activity without an incident, identifying a robotic device within the second set of one or more robotic devices that is most comparable to the first robotic device; predicting modifications to the first robotic device based on one or more differences between the most comparable robotic device and the first robotic device; and and attaching one or more resources printed by a 3D printer to the first robotic device in the multi-machine environment based on the predicted modification.

2. A computer program product executable by a processor capable of performing a method having the steps of:

16. running an updated digital twin simulation of a modified version of the first robotic device having the one or more resources performing the activity to validate the prediction; The computer program product of claim 15 further comprising:

17. The step of executing the updated digital twin simulation includes: repeating the execution of the updated digital twin simulation with different resources in response to determining that the modified version of the first robotic device is unable to complete each step of the activity without an incident.

17. The computer program product of claim 16, further comprising:

18. 16. The computer program product of claim 15, wherein the 3D printer is integrated into the first robotic device.

19. 16. The computer program product of claim 15, wherein the most comparable robotic device in the second set of one or more robotic devices is identified based on a greatest number of parts in common with the first robotic device.

20. 16. The computer program product of claim 15, wherein the one or more resources printed by the 3D printer are one or more additional accessories attached to the first robotic device by at least one other robot in the multi-machine environment.