Method and system for maximizing the effectiveness of cooperation among multiple robots with dynamic interchangeability
A digital twin model-based method optimizes multi-robot collaboration by simulating part exchanges, addressing dynamic interchangeability and fault tolerance to enhance system efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-16
- Publication Date
- 2026-03-10
AI Technical Summary
Existing multi-robot systems face challenges in maximizing collaboration effectiveness due to issues such as malfunctioning sensors or modules, requiring improved methods to ensure dynamic interchangeability and fault tolerance.
A computer-implemented method utilizing a digital twin model to simulate scenarios for exchanging interchangeable robot parts, identifying optimal configurations for maximizing collaboration by considering cost-benefit analysis and robot capabilities.
Enhances collaboration effectiveness by optimizing robot configurations through part exchange, ensuring activities are completed at optimal cost and timing with high safety.
Smart Images

Figure 2026508087000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates generally to multi-robot coordination, and more particularly to maximizing the effectiveness of coordination between multiple robots with dynamic interchangeability.
[0002] In a multi-robot ecosystem, robots coordinate with each other to perform activities. When performing individual tasks, the robots perform activities in a coordinated manner. In a multi-robot ecosystem, different types of robots may have different types of functions, capabilities, and effects. Different types of activities require different types of functions and capabilities to perform the activities. Robots have different types of sensors and cameras, which they use to access their surroundings and take appropriate actions.
[0003] While the robots are performing activities in a multi-robot ecosystem, for various reasons, one or more sensors or input collection systems may not work properly for one or more of the robots, or one or more modules of one or more of the robots may have problems performing the activity effectively, such as the gripper of the robot having problems, etc. The robots are supposed to cooperate with each other to improve their cooperation effect based on the available robot resources so that the cooperation effect is maximized.
[0004] Dias et al. ("Robust Multirobot Coordination in Dynamic Environments," in "IEEE International Conference on Robotics and Automation," 2004) discuss the robustness of any robot team when operating in a dynamic environment. Parker ("Reliability and Fault Tolerance in Collective Robot Systems," Chapter 6 in "Handbook of Collective Robotics," 2001) provides an overview of possible approaches that may be suitable for achieving reliability and fault tolerance in various multi-robot systems. Li et al. ("AR-assisted Digital Twin-enabled Robot Collaborative Manufacturing System with Human-in-the-loop," in "Robotics and Computer-Integrated Manufacturing," 2022) propose a novel multi-robot collaborative manufacturing system with human-in-the-loop control by utilizing cutting-edge augmented reality and digital twin techniques. In one disclosure (CN112894811A, 2021), a distributed multi-robot intelligent control method and control device based on a group intelligent multi-agent system are disclosed. In one disclosure (US20210107152A1, 2020), a controller is disclosed for receiving a message from one task execution agent of a group of task execution agents assigned to multiple tasks. In a paper ("Collaboration in multi-robot systems", in "ARPN Journal of Engineering and Applied Sciences", 2015), Badran et al. discuss the structure and application of multi-robot systems, and also discuss techniques and algorithms used in collaborative multi-robot systems.In a paper ("Internet of Robotic Things: Concept, Technologies, and Challenges", in "IEEE Access", 2016), Ray describes the architecture, main concepts, characteristics, and some technical challenges of the Internet of Robots. Summary of the Invention
[0005] Embodiments of the present invention provide a computer-implemented method, computer program product, and computer system for maximizing the effectiveness of collaboration among multiple robots with dynamic interchangeability. By considering the interchangeability of multiple parts of multiple robots and physically exchanging multiple interchangeable parts between the multiple robots, the computer-implemented method, computer program product, or computer system maximizes the effectiveness of collaboration among multiple robots performing activities in a multi-robot ecosystem.
[0006] In one aspect, a computer-implemented method for maximizing the effectiveness of collaboration between multiple robots having dynamic interchangeability is provided. The computer-implemented method includes identifying a plurality of interchangeable parts among a plurality of robots performing activities in a multi-robot ecosystem. The computer-implemented method further includes simulating a plurality of scenarios combining each interchangeable part among the plurality of interchangeable parts and each robot among the plurality of robots using a digital twin model. The computer-implemented method further includes identifying an optimal scenario in which the effectiveness of collaboration is maximized by exchanging the plurality of interchangeable parts among the plurality of robots based on results of the digital twin model simulation. The computer-implemented method further includes identifying, for the optimal scenario, a plurality of first robots from among the plurality of robots with which the plurality of interchangeable parts will be exchanged. The computer-implemented method further includes, for the optimal scenario, identifying one or more second robots from among the plurality of robots to assist the plurality of first robots in exchanging the plurality of interchangeable parts. The computer-implemented method further includes instructing the plurality of first robots and the one or more second robots to perform a physical exchange of the plurality of interchangeable parts of the plurality of first robots.
[0007] The computer-implemented method further comprises performing a cost-benefit analysis for each of the plurality of scenarios; wherein identifying the optimal scenario is further based on a cost-benefit analysis for each scenario of the plurality of scenarios.
[0008] The computer-implemented method further includes identifying the activity; identifying a specification of the activity, the specification including a task and a volume of the task; identifying a type of the activity; and identifying a volume of the activity.
[0009] The computer-implemented method further includes identifying the digital twin models for each interchangeable part of the plurality of interchangeable parts and each robot of the plurality of robots. The computer-implemented method further includes evaluating, in the digital twin model simulation, a capability of each robot of the plurality of robots and a time required to exchange the plurality of interchangeable parts between the plurality of robots. The computer-implemented method further includes determining, in the digital twin model simulation, whether a function of the plurality of interchangeable parts or a capability of the plurality of robots is degraded by exchanging the plurality of interchangeable parts between the plurality of robots.
[0010] In another aspect, a computer program product for maximizing a collaborative effect between multiple robots having dynamic interchangeability is provided. The computer program product includes a computer-readable storage medium having program instructions embodied thereon, the program instructions being executable by one or more processors. The program instructions are executable to: identify a plurality of interchangeable parts among a plurality of robots performing activities in a multi-robot ecosystem; simulate a plurality of scenarios combining each interchangeable part among the plurality of interchangeable parts and each robot among the plurality of robots using a digital twin model; identify an optimal scenario in which the collaborative effect is maximized by exchanging the plurality of interchangeable parts among the plurality of robots based on results of the digital twin model simulation; identify, for the optimal scenario, a plurality of first robots from among the plurality of robots with which the plurality of interchangeable parts will be exchanged; identify, for the optimal scenario, one or more second robots from among the plurality of robots to assist the plurality of first robots in exchanging the plurality of interchangeable parts; and instruct the plurality of first robots and the one or more second robots to perform a physical exchange of the plurality of interchangeable parts of the plurality of first robots.
[0011] In yet another aspect, a computer system for maximizing collaborative effectiveness among multiple robots having dynamic interchangeability is provided. The computer system includes one or more processors, one or more computer-readable tangible storage devices, and program instructions stored on at least one of the one or more computer-readable tangible storage devices for execution by at least one of the one or more processors. The program instructions are executable to identify a plurality of interchangeable parts among a plurality of robots performing activities in a multi-robot ecosystem. The program instructions are further executable to simulate a plurality of scenarios combining each interchangeable part among the plurality of interchangeable parts and each robot among the plurality of robots using a digital twin model. The program instructions are further executable to identify an optimal scenario in which collaborative effectiveness is maximized by exchanging the plurality of interchangeable parts among the plurality of robots based on results of the digital twin model simulation. The program instructions are further executable to identify, for the optimal scenario, a plurality of first robots from the plurality of robots with which the plurality of interchangeable parts are to be exchanged. The program instructions are further executable to identify, for the optimal scenario, one or more second robots from among the plurality of robots to assist the plurality of first robots in exchanging the plurality of interchangeable parts, and the program instructions are further executable to instruct the plurality of first robots and the one or more second robots to perform a physical exchange of the plurality of interchangeable parts of the plurality of first robots.
[0012] The computer program product or the computer system further comprises the program instructions executable to perform a cost-benefit analysis for each of the plurality of scenarios, wherein identifying the optimal scenario is further based on a cost-benefit analysis for each scenario of the plurality of scenarios.
[0013] The computer program product or the computer system further comprises the program instructions executable to identify the activity; identify a specification of the activity, the specification including a task and a volume of the task; identify a type of the activity; and identify a volume of the activity.
[0014] The computer program product or the computer system further comprises the program instructions executable to identify the digital twin model for each interchangeable part of the plurality of interchangeable parts and each robot of the plurality of robots. The program instructions are further executable to evaluate, in the digital twin model simulation, the capabilities of each robot of the plurality of robots and the time required to exchange the plurality of interchangeable parts between the plurality of robots. The program instructions are further executable to determine, in the digital twin model simulation, whether functionality of the plurality of interchangeable parts or the capabilities of the plurality of robots is degraded by exchanging the plurality of interchangeable parts between the plurality of robots. [Brief explanation of the drawings]
[0015] [Figure 1] 1 illustrates a system and a multi-robot ecosystem for maximizing the collaborative effect between multiple robots with dynamic interchangeability, according to one embodiment of the present invention.
[0016] [Figure 2] 1 is a flowchart illustrating operational steps for maximizing the cooperative effect between multiple robots with dynamic interchangeability according to one embodiment of the present invention.
[0017] [Figure 3] FIG. 1 is a system diagram illustrating an example of an environment for the execution of at least a portion of the computer code involved in maximizing the effectiveness of cooperation between multiple robots with dynamic interchangeability, according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0018] An embodiment of the present invention discloses a system for maximizing the cooperative effect between multiple robots with dynamic interchangeability. While the robots are performing activities in the multi-robot ecosystem, the system disclosed in the present invention identifies the interchangeability of robot parts or resources of the robots based on the context of the activities in the multi-robot ecosystem. The disclosed system evaluates what types of interchangeability of different parts or resources can be performed between different robots. The disclosed system identifies what types of interchangeability can maximize the cooperative effect, and accordingly, the disclosed system commands some participating robots to physically exchange the interchangeable parts or resources to maximize the cooperative effect.
[0019] The disclosed system analyzes activities performed by the robots, the current digital twin model simulating the robots, and each robot's associated robot parts or resources. In response, the disclosed system identifies how the robot system should be reconfigured with different part or resource interchangeability so that activities are completed at optimal cost, optimally timed, with a high degree of safety, etc.
[0020] In an embodiment of the present invention, based on the digital twin simulation results, the disclosed system identifies participating robots for interchangeability and accordingly performs the interchangeability with one or more other robots so that the collaborative effectiveness of performing the activity is maximized. The disclosed system considers the time and resources required for the interchangeability, and the disclosed system evaluates the time and resources against the benefits in collaborative effectiveness; accordingly, the robotic system will perform the interchangeability of different resources or parts.
[0021] 1 shows a system 100 and a multi-robot ecosystem 110_i or 110_f for maximizing the cooperative effect between multiple robots with dynamic interchangeability according to one embodiment of the present invention. The system 100 is a system disclosed in the present invention. The system 100 is located on a computer or a server (such as the computer 601 in FIG. 6).
[0022] The multi-robot ecosystem 110_i or 110_f includes a robot 120 (e.g., an aerial robot), a robot 130, and a robot 140 (e.g., an agile mobile robot). The multi-robot ecosystem 110_i is the initial state of the multi-robot ecosystem, which is the state before maximizing the collaborative effect performed by the system 100. The multi-robot ecosystem 110_f is the final state of the multi-robot ecosystem, which is the state after maximizing the collaborative effect performed by the system 100. The system 100 identifies an optimal scenario that maximizes the collaborative effect by exchanging interchangeable parts between robots (e.g., activities performed by the robots are completed with optimal cost, optimal timing, and high safety) based on digital twin model simulation and cost-effectiveness analysis. The system 100 identifies several robots whose multiple interchangeable parts will be exchanged between them and identifies other robots to assist in exchanging the interchangeable parts. For example, in the initial state of the multi-robot ecosystem (110_i), robot 120 has interchangeable parts 150, and robot 140 has interchangeable parts 160. System 100 identifies that exchanging interchangeable parts 150 and 160 between robot 120 and robot 140 maximizes the cooperative effect in the multi-robot ecosystem. Interchangeable parts 150 and 160 will be exchanged to maximize the cooperative effect of the multi-robot ecosystem. System 100 may further identify that robot 130 assists robot 120 and robot 140 in exchanging interchangeable parts 150 and 160.
[0023] For example, the system 100 sends instructions (or commands) to the robots 120, 130, and 140 to physically exchange the interchangeable parts 150 and 160 between the robots 120 and 140. The interchangeable parts 150 that were originally on the robot 120 are physically transferred to the robot 140, while the interchangeable parts 160 that were originally on the robot 140 are physically transferred to the robot 120. The robot 130 assists by performing the physical exchange of the interchangeable parts 150 and 160 between the robots 120 and 140. After completing the physical exchange, the final state of the multi-robot ecosystem (110_f) is realized; in the final state of the multi-robot ecosystem (110_f), the effect of robot cooperation is maximized.
[0024] 2 is a flowchart illustrating operational steps for maximizing the cooperative effect between multiple robots with dynamic interchangeability, according to one embodiment of the present invention, implemented by system 100 (shown in FIG. 1) located on a computer or server (such as computer 601 in FIG. 6).
[0025] In step 201, a computer or server identifies multiple robots in a multi-robot ecosystem. In the example shown in Figure 1, a system 100 on a computer or server identifies robot 120, robot 130, and robot 140 in multi-robot ecosystem 110_i.
[0026] In step 202, a computer or server identifies activities to be performed by multiple robots in a multi-robot ecosystem. The robots are deployed in an area of the activity and perform the activity around it. The computer or server identifies activities to be performed by the robots in the activity area. The computer or server identifies specifications for the activities; the specifications include tasks and volumes of different tasks. The computer or server identifies types of activities. The computer or server identifies volumes of activities to be performed by the robots.
[0027] In step 203, the computer or server identifies multiple interchangeable parts among the multiple robots. Interchangeable parts between robot systems can be grippers, sensors, hydraulic systems, batteries, etc. Robots in a multi-robot ecosystem have interchangeability, meaning that one or more parts from one robot system can be transferred to another robot system. In the example shown in FIG. 1, robot 120 has interchangeable parts 150 that are transferred to robot 140, and robot 140 has interchangeable parts 160 that can be transferred to robot 120.
[0028] In step 204, the computer or server identifies a digital twin model for each interchangeable part of the plurality of interchangeable parts and each robot of the plurality of robots. The interchangeable parts are uniquely identified and have a respective digital twin model of the plurality of digital twin models; each interchangeable part has one specific digital twin model. Further, each of the robots has one specific digital twin model.
[0029] In step 205, the computer or server uses the digital twin model to simulate how the robots work together to perform activities for various scenarios combining each interchangeable part of the plurality of interchangeable parts and each robot of the plurality of robots. The computer or server runs a digital twin model simulation for each possible combination of different interchangeable parts and different robots. In the digital twin model simulation, the computer or server evaluates the functionality of different robot systems. In the digital twin model simulation, the computer or server evaluates how much time is required to implement the interchangeability of different parts. In the digital twin model simulation, the computer or server also identifies appropriate interchangeability of spare parts for appropriate robots. Through the digital twin model simulation for the multiple possible combinations, the computer or server determines whether any problems will arise in implementing the interchangeability; for example, the computer or server determines whether the functionality of one or more interchangeable parts or one or more robots will be degraded by exchanging interchangeable parts between robots.
[0030] In step 206, the computer or server performs a cost-benefit analysis for each of the various scenarios. In step 207, the computer or server identifies an optimal scenario from the various scenarios based on the digital twin model simulation and the cost-benefit analysis for the various scenarios, in which the collaboration effect is maximized by exchanging multiple interchangeable parts between multiple robots. In the example shown in Figure 1, system 100 on the computer or server identifies that exchanging interchangeable parts 150 and 160 between robot 120 and robot 140 is the optimal scenario and maximizes the collaboration effect.
[0031] For the optimal scenario, the computer or server identifies a plurality of first robots whose interchangeable parts are to be exchanged in step 208. In the example shown in Figure 1, system 100 on the computer or server identifies robot 120 and robot 140 as the plurality of first robots whose interchangeable parts 150 and 160 are to be exchanged.
[0032] In an optimal scenario, in step 209, the computer or server identifies one or more second robots to assist the plurality of first robots in exchanging the plurality of interchangeable parts. In the example shown in FIG. 1 , system 100 on the computer or server identifies robot 130 as the robot that assists robot 120 and robot 140 in exchanging interchangeable parts 150 and 160. Robot 130 performs the exchange of interchangeable parts 150 and 160 between robot 120 and robot 140. In other embodiments, one or more of the plurality of first robots may be identified as one or more second robots; in other words, one or more from the plurality of first robots may assist the plurality of first robots in exchanging interchangeable parts.
[0033] In step 210, the computer or server instructs the plurality of first robots and one or more second robots to perform a physical exchange of the plurality of interchangeable parts of the plurality of first robots. When one or more instructions (or commands) from the computer or server are received by the plurality of first robots and one or more second robots, a physical exchange of the interchangeable parts between the plurality of first robots is performed by the one or more second robots. In the example shown in FIG. 1 , system 100 on the computer or server sends one or more instructions (or commands) to robot 120, robot 130, and robot 140. Upon receiving the one or more instructions (or commands), robot 130 physically exchanges interchangeable parts 150 and 160 between robot 120 and robot 140.
[0034] Various aspects of the present disclosure are illustrated by text, flowcharts, block diagrams of computer systems, and / or block diagrams of machine logic included in computer program product (CPP) embodiments. For any flowchart, depending on the technology involved, operations may be performed in an order different from that shown in a given flowchart. For example, depending again on the technology involved, two operations shown in successive flowchart blocks may be performed in the reverse order, as a single integrated step, simultaneously, or in an at least partially overlapping manner.
[0035] 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 transmitted 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 transient because the data is not transient while it is stored.
[0036] 3 , computing environment 300 includes an example of an environment for the execution of at least a portion of computer code involved in performing the method of the present invention, such as program 326 for maximizing the cooperative effect between multiple robots with dynamic interchangeability. In addition to block 326, computing environment 300 includes, for example, computer 301, wide area network (WAN) 302, end user device (EUD) 303, remote server 304, public cloud 305, and private cloud 306. In this embodiment, computer 301 includes a processor set 310 (including processing circuitry 320 and cache 321), communication fabric 311, volatile memory 312, persistent storage 313 (including operating system 322 and block 326, as identified above), peripheral device set 314 (including user interface (UI) device set 323, storage 324, and Internet of Things (IoT) sensor set 325), and network module 315. Remote server 304 includes a remote database 330. The public cloud 305 includes a gateway 340, a cloud orchestration module 341, a set of host physical machines 342, a set of virtual machines 343, and a set of containers 344.
[0037] Computer 301 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 330. 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 300, to keep the presentation as concise as possible, the detailed discussion focuses on a single computer, specifically computer 301. Although computer 301 is not shown in FIG. 3 within a cloud, it may be located within a cloud. However, computer 301 is not required to reside within a cloud except to any extent expressly indicated.
[0038] Processor set 310 includes one or more computer processors of any type now known or to be developed in the future. Processing circuitry 320 may be distributed across multiple packages, e.g., multiple tailored integrated circuit chips. Processing circuitry 320 may implement multiple processor threads and / or multiple processor cores. Cache 321 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 310. 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 310 may be designed to operate with qubits and perform quantum computing.
[0039] Computer-readable program instructions are typically loaded onto computer 301 and cause processor set 310 of computer 301 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 321 and other storage media discussed below. The program instructions and associated data are accessed by processor set 310 to control and direct the execution of the methods of the present invention. In computing environment 300, at least some of the instructions for executing the methods of the present invention may be stored in block 326 within persistent storage 313.
[0040] Communications fabric 311 is the signal-conducting pathway that allows the various components of computer 301 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.
[0041] Volatile memory 312 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 is characterized by random access, although this is not required unless expressly stated. In computer 301, volatile memory 312 is located in a single package and is internal to computer 301; however, alternatively or additionally, volatile memory may be distributed across multiple packages and / or located external to computer 301.
[0042] Persistent storage 313 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 301 and / or to persistent storage 313 directly. Persistent storage 313 can be read-only memory (ROM), but typically at least a portion of persistent storage allows data to be written, data to be deleted, and data to be rewritten. Some well-known forms of persistent storage include magnetic disks and solid-state storage devices. Operating system 322 can take several forms, including various known proprietary operating systems or open-source Portable Operating System Interface-type operating systems that employ a kernel. The code contained in block 326 typically includes at least some of the computer code involved in performing the methods of the present invention.
[0043] The peripheral device set 314 includes a set of peripheral devices of the computer 301. Data communication connections between the peripheral devices and other components of the computer 301 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 323 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 324 can be external storage, such as an external hard drive, or insertable storage, such as an SD card. The storage 324 can be persistent and / or volatile. In some embodiments, storage 324 may take the form of a quantum computing storage device for storing data in the form of qubits. In embodiments where computer 301 is required to have a large amount of storage (e.g., computer 301 stores and manages large databases locally), then 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 325 is made up of sensors that can be used in Internet of Things applications. For example, one sensor may be a thermometer and another sensor may be a motion detector.
[0044] Network module 315 is a collection of computer software, hardware, and firmware that enables computer 301 to communicate with other computers over WAN 302. Network module 315 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 315 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 315 are performed on physically separate devices, such that the control function manages multiple different network hardware devices. Computer-readable program instructions for implementing the methods of the present invention may be downloaded to computer 301 from an external computer or external storage device, typically through a network adapter card or network interface included in network module 315.
[0045] WAN 302 is any wide area network (e.g., the Internet) capable of communicating computer data over non-local distances using any technology for communicating computer data now known or later developed. In some embodiments, a 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. WANs and / or LANs typically include copper transmission cables, optical fiber transmissions, wireless transmissions, and computer hardware such as routers, firewalls, switches, gateway computers, and edge servers.
[0046] End-user device (EUD) 303 is any computer system used and controlled by an end user (e.g., a customer of the enterprise operating computer 301) and may take any of the forms described above with respect to computer 301. EUD 303 typically receives useful and useful data from the operation of computer 301. For example, in the hypothetical case where computer 301 is designed to provide recommendations to the end user, the recommendations would typically be communicated from computer 301's network module 315 over WAN 302 to EUD 303. In this manner, EUD 303 can display or otherwise present the recommendations to the end user. In some embodiments, EUD 303 may be a client device, such as a thin client, a heavy client, a mainframe computer, a desktop computer, and the like.
[0047] Remote server 304 is any computer system that provides at least some data and / or functionality to computer 301. Remote server 304 may be controlled and used by the same entity that operates computer 301. Remote server 304 represents a machine that collects and stores useful and useful data for use by other computers, such as computer 301. For example, in the hypothetical case where computer 301 is designed and programmed to provide recommendations based on past data, then this past data may be provided to computer 301 from remote database 330 of remote server 304.
[0048] Public cloud 305 is any computer system available for use by multiple entities that provides on-demand availability of computer system resources and / or other computer capabilities, 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 public cloud 305 computing resources is performed by computer hardware and / or software in cloud orchestration module 341. Computing resources provided by public cloud 305 are typically implemented by virtual computing environments running on various computers comprising host physical machine set 342, a universe of physical computers within and / or available in public cloud 305. Virtual computing environments (VCEs) typically take the form of virtual machines from virtual machine set 343 and / or containers from container set 344. It is understood that these VCEs are stored as images and can be transferred among and between various physical machine hosts, either as images or after instantiation of the VCEs. Cloud orchestration module 341 manages the transfer and storage of images, deploys new instantiations of VCE, and manages active instantiations of VCE deployments. Gateway 340 is a collection of computer software, hardware, and firmware that enables public cloud 305 to communicate over WAN 302.
[0049] 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.
[0050] Private cloud 306 is similar to public cloud 305, except that its computing resources are available only for use by a single enterprise. While private cloud 306 is shown in communication with WAN 302, in other embodiments, the private cloud 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 public cloud 305 and private cloud 306 are part of a larger hybrid cloud.
Claims
1. identifying a plurality of interchangeable parts among a plurality of robots performing activities in a multi-robot ecosystem; simulating a plurality of scenarios combining each interchangeable part of the plurality of interchangeable parts and each robot of the plurality of robots using a digital twin model; identifying an optimal scenario in which a cooperation effect is maximized by exchanging the plurality of interchangeable parts between the plurality of robots based on a result of the digital twin model simulation; identifying, for the optimal scenario, a plurality of first robots from among the plurality of robots for which the plurality of interchangeable parts are to be replaced; for the optimal scenario, identifying one or more second robots from among the plurality of robots to assist the plurality of first robots in replacing the plurality of interchangeable parts; and instructing the plurality of first robots and the one or more second robots to perform a physical exchange of the plurality of interchangeable parts of the plurality of first robots. A computer-implemented method for maximizing the cooperative effect between multiple robots with dynamic interchangeability, comprising:
2. performing a cost-benefit analysis for each of the plurality of scenarios; wherein identifying the optimal scenario is further based on a cost-benefit analysis for each scenario of the plurality of scenarios. The computer-implemented method of claim 1 .
3. identifying the activity; identifying a specification of the activity, the specification including a task and a volume of the task; identifying the type of activity; and identifying a volume of said activity 10. The computer-implemented method of any one of the preceding claims, further comprising:
4. identifying the digital twin model for each interchangeable part of the plurality of interchangeable parts and each robot of the plurality of robots; 10. The computer-implemented method of any one of the preceding claims, further comprising:
5. evaluating the capabilities of each robot of the plurality of robots in the digital twin model simulation; and evaluating, in the digital twin model simulation, a time required to exchange the plurality of interchangeable parts between the plurality of robots; 10. The computer-implemented method of any one of the preceding claims, further comprising:
6. determining, in the digital twin model simulation, whether functionality of the plurality of interchangeable parts or capabilities of the plurality of robots is degraded by exchanging the plurality of interchangeable parts between the plurality of robots; 10. The computer-implemented method of any one of the preceding claims, further comprising:
7. identifying interchangeability of spare parts for the plurality of robots; 10. The computer-implemented method of any one of the preceding claims, further comprising:
8. a computer-readable storage medium having stored thereon program instructions executable by one or more processors, the program instructions comprising: Identifying multiple interchangeable parts between multiple robots performing activities in a multi-robot ecosystem; simulating a plurality of scenarios combining each interchangeable part of the plurality of interchangeable parts and each robot of the plurality of robots using a digital twin model; Based on the results of the digital twin model simulation, identify an optimal scenario in which the cooperation effect is maximized by exchanging the plurality of interchangeable parts between the plurality of robots; for the optimal scenario, identifying a plurality of first robots from among the plurality of robots for which the plurality of interchangeable parts are to be replaced; For the optimal scenario, identifying one or more second robots from among the plurality of robots to assist the plurality of first robots in replacing the plurality of interchangeable parts; and instructing the plurality of first robots and the one or more second robots to perform a physical exchange of the plurality of interchangeable parts of the plurality of first robots; A computer program product for maximizing the cooperative effect between multiple robots having dynamic interchangeability, the computer program product being executable to:
9. The program instructions stored on the computer-readable storage medium further comprise: Executable to perform a cost-benefit analysis for each of the plurality of scenarios; wherein identifying the optimal scenario is further based on a cost-benefit analysis for each scenario of the plurality of scenarios.
9. A computer program product according to claim 8.
10. The program instructions stored on the computer-readable storage medium further comprise: identifying said activity; identifying a specification of the activity, the specification including a task and a volume of the task; Identifying the type of activity; and Identifying the volume of said activity 10. A computer program product according to any one of claims 8 to 9, which is executable to:
11. The program instructions stored on the computer-readable storage medium further comprise: identifying the digital twin model for each interchangeable part of the plurality of interchangeable parts and each robot of the plurality of robots A computer program product according to any one of claims 8 to 10, which is executable to:
12. The program instructions stored on the computer-readable storage medium further comprise: Evaluating the capabilities of each of the plurality of robots in the digital twin model simulation; and In the digital twin model simulation, evaluating a time required to exchange the plurality of interchangeable parts between the plurality of robots. A computer program product according to any one of claims 8 to 11, which is executable to:
13. The program instructions stored on the computer-readable storage medium further comprise: In the digital twin model simulation, determining whether functionality of the plurality of interchangeable parts or capabilities of the plurality of robots is degraded by exchanging the plurality of interchangeable parts between the plurality of robots. A computer program product according to any one of claims 8 to 12, which is executable to:
14. The program instructions stored on the computer-readable storage medium further comprise: Identifying interchangeability of spare parts for the plurality of robots A computer program product according to any one of claims 8 to 13, which is executable to:
15. a computer-readable storage device; and program instructions stored on at least one of the one or more computer-readable storage devices for execution by at least one of the one or more processors, the program instructions comprising: Identifying multiple interchangeable parts between multiple robots performing activities in a multi-robot ecosystem; simulating a plurality of scenarios combining each interchangeable part of the plurality of interchangeable parts and each robot of the plurality of robots using a digital twin model; Based on the results of the digital twin model simulation, identify an optimal scenario in which the cooperation effect is maximized by exchanging the plurality of interchangeable parts between the plurality of robots; for the optimal scenario, identifying a plurality of first robots from among the plurality of robots for which the plurality of interchangeable parts are to be replaced; For the optimal scenario, identifying one or more second robots from among the plurality of robots to assist the plurality of first robots in replacing the plurality of interchangeable parts; and instructing the plurality of first robots and the one or more second robots to perform a physical exchange of the plurality of interchangeable parts of the plurality of first robots; A computer system for maximizing the cooperative effect between multiple robots having dynamic interchangeability, the computer system being capable of performing the following:
16. further comprising the program instructions stored on the at least one of the one or more computer-readable tangible storage devices, the program instructions comprising: Executable to perform a cost-benefit analysis for each of the plurality of scenarios; wherein identifying the optimal scenario is further based on a cost-benefit analysis for each scenario of the plurality of scenarios.
16. The computer system of claim 15.
17. further comprising the program instructions stored on the at least one of the one or more computer-readable tangible storage devices, the program instructions comprising: identifying said activity; identifying a specification of the activity, the specification including a task and a volume of the task; Identifying the type of activity; and Identifying the volume of said activity The computer system according to any one of claims 15 to 16, wherein the computer system is operable to:
18. further comprising the program instructions stored on the at least one of the one or more computer-readable tangible storage devices, the program instructions comprising: identifying the digital twin model for each interchangeable part of the plurality of interchangeable parts and each robot of the plurality of robots A computer system according to any one of claims 15 to 17, wherein the computer system is operable to:
19. further comprising the program instructions stored on the at least one of the one or more computer-readable tangible storage devices, the program instructions comprising: evaluating capabilities of each of the plurality of robots in the digital twin model simulation; Evaluating the time required to exchange the plurality of interchangeable parts between the plurality of robots in the digital twin model simulation; and In the digital twin model simulation, determining whether functionality of the plurality of interchangeable parts or capabilities of the plurality of robots is degraded by exchanging the plurality of interchangeable parts between the plurality of robots. The computer system according to any one of claims 15 to 18, wherein the computer system is operable to:
20. further comprising the program instructions stored on the at least one of the one or more computer-readable tangible storage devices, the program instructions comprising: Identifying interchangeability of spare parts for the plurality of robots 20. A computer system according to any one of claims 15 to 19, wherein the computer system is operable to: