Robot system and control method for robot system

The robot system uses a virtual space model to replicate the operating environment, allowing it to continue functioning even when sensor abnormalities occur, ensuring reliable task completion.

WO2025143249A1PCT designated stage expired Publication Date: 2025-07-03KAWASAKI JUKOGYO KK
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/046472
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-28
Filing Date
2024-12-27
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

Existing robot systems face challenges in continuing operation when sensor abnormalities occur, leading to difficulties in autonomous movement.

Method used

The system employs a virtual space model that includes a virtual robot model and a virtual peripheral environment model, which is updated with sensor information to reproduce the operating environment, allowing the robot to continue functioning even when sensor abnormalities are detected.

Benefits of technology

Enables the robot to maintain operation by using virtual sensor data to simulate the environment, ensuring reliable continuation of tasks despite sensor failures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024046472_03072025_PF_FP_ABST
    Figure JP2024046472_03072025_PF_FP_ABST
Patent Text Reader

Abstract

A robot system (100) according to one embodiment of the present disclosure comprises a robot (40) that is provided with a sensor (41), a first memory (20b) that stores a virtual space model for reproducing the robot and the surrounding environment, a first processing circuit (20a) that changes the state of the virtual space model, a second processing circuit (30a) that controls the robot while using the detection results from the sensor, a third processing circuit (20a) that collects and accumulates the detection results from the sensor as sensor information, and a fourth processing circuit (30a) that detects an abnormality of the sensor, wherein: if an abnormality is detected, the first processing circuit applies the sensor information to the virtual space model to reproduce the operating environment of the robot in the virtual space model; and the second processing circuit causes the robot to continue operating while using information acquired from the virtual space model in which the operating environment has been reproduced.
Need to check novelty before this filing date? Find Prior Art

Description

Robot system and control method for robot system

[0001] The present disclosure relates to a robot system and a control method for a robot system.

[0002] Patent Document 1 discloses an autonomous mobile device, in which a control device of the autonomous mobile device controls the means of transportation of the autonomous mobile device based on surrounding environmental information and map information acquired by sensors.

[0003] JP 2016-24598 A

[0004] In Patent Document 1, if an abnormality occurs in the sensor, it becomes difficult for the autonomous mobile device to move autonomously.

[0005] The present disclosure aims to provide a robot system and a control method for a robot system that enable the robot to continue operating when an abnormality occurs in a sensor of the robot.

[0006] A robot system according to one aspect of the present disclosure comprises: a robot equipped with a sensor; a first memory device that stores a virtual space model including a virtual robot model and a virtual surrounding environment model that reproduce the robot and the robot's surrounding environment; a first processing circuit that changes the state of the virtual space model; a second processing circuit that controls the robot according to an operation program using detection results from the sensor; a third processing circuit that collects and stores the detection results from the sensor as sensor information while the robot operates according to the operation program; and a fourth processing circuit that monitors the sensor and detects abnormalities in signals sent from the sensor; when an abnormality is detected by the fourth processing circuit, the first processing circuit applies the sensor information stored by the third processing circuit to the virtual space model to reproduce the operating environment of the robot in the virtual space model; and the second processing circuit causes the robot to continue operating using information obtained from the virtual space model in which the operating environment of the robot is reproduced.

[0007] Fig. 1 is a diagram showing an example of a robot system according to an exemplary embodiment. Fig. 2 is a diagram showing one second server, one first processing terminal, one robot, and one second processing terminal extracted from the robot system of Fig. 1. Fig. 3 is a flowchart showing an example of operation of the robot system according to the embodiment. Fig. 4 is a flowchart showing an example of operation of the robot system according to the embodiment when an abnormality occurs in a sensor. Fig. 5 is a diagram showing an example of operation of the robot when an abnormality occurs in a sensor.

[0008] Exemplary embodiments of the present disclosure will be described below with reference to the drawings. The embodiments described below are all comprehensive or specific examples. Among the components in the following embodiments, components that are not recited in independent claims that represent the highest concepts will be described as optional components. Each figure in the accompanying drawings is a schematic diagram and is not necessarily an exact illustration. In each figure, substantially identical components are assigned the same reference numerals, and redundant explanations may be omitted or simplified. In this specification and claims, the term "device" may refer not only to a single device but also to a system including multiple devices. Below, a robot is exemplified as a mechanical device that operates based on an operating program.

[0009] A robot system 100 according to an exemplary embodiment will be described with reference to FIGS. 1 and 2 . FIG. 1 is a diagram illustrating an example of the robot system 100 according to the exemplary embodiment. FIG. 2 is a diagram illustrating one second server 20, one first processing terminal 30, one robot 40, and one second processing terminal 60 extracted from the robot system 100 of FIG. 1 . The robot system 100 includes a first server 10, a second server 20, a first processing terminal 30, and a robot 40. The first server 10 is communicatively connected to the second server 20 via a first communication network NA. The first server 10 may be communicatively connected to the first processing terminal 30 via the first communication network NA. The second server 20 is communicatively connected to the first processing terminal 30 via a second communication network NB.

[0010] There are multiple robot operation areas A, and one or more first processing terminals 30 and one or more robots 40 are placed in each of the multiple robot operation areas A. A robot operation area A is an area where one or more robots 40 provide services or perform work. Examples of robot operation areas A include an area set within a building or facility, and an area set based on a map.

[0011] The first processing terminal 30 controls the operation of the robot 40. The first processing terminal 30 may control one robot 40 or two or more robots 40. The first processing terminal 30 may be mounted on the robot 40, or may be located at a position remote from the robot 40 and connected to the robot 40 via wired communication, wireless communication, or a combination thereof. The first processing terminal 30 may be communicably connected to the robot 40 via a communication network. Any wired communication, wireless communication, or communication network may be used.

[0012] The first processing terminal 30 is configured to cause the robot 40 to autonomously perform a predetermined task in accordance with a predetermined computer program. In other words, the first processing terminal 30 is configured to cause the robot 40 to operate autonomously. The robot 40 operates in accordance with commands generated by the first processing terminal 30 by the predetermined computer program. The first processing terminal 30 may be configured to cause the robot 40 to operate in accordance with manual operations manually input by an operator to an operating device disposed away from the robot 40 to cause the robot 40 to operate as intended. In other words, the first processing terminal 30 may be configured to cause the robot 40 to operate manually. In this embodiment, the first processing terminal 30 can cause the robot 40 to operate autonomously.

[0013] The robot 40 may have a structure suitable for any purpose, such as work in a factory or warehouse, loading and unloading, transportation, nursing care, medical care, cleaning, security, guidance, rescue, cooking, and product provision. The robot 40 may have a structure used in a fixed state, a structure that moves when an external force is applied, or a structure that includes a moving means for autonomous movement. Examples of the moving means may include wheels, crawlers, propulsion rotors, flying rotors, jet propulsion devices, and movable legs. The robot 40 may include one or more articulated robot arms. The robot 40 may include one or more articulated robot legs. The robot 40 may have the form of an industrial robot, a humanoid robot, an animal-like robot, or the like.

[0014] There are multiple operating area groups AG. A second server 20 is placed in each operating area group AG. The operating area group AG is set for a specific area including multiple robot operating areas A. The second server 20 manages all robot operating areas A within the operating area group AG with which the second server 20 is associated. The second server 20 is communicatively connected to multiple first processing terminals 30 within the multiple robot operating areas A that it manages via a second communication network NB.

[0015] The second server 20 may be communicably connected via a second communication network NB to a second processing terminal 60 operated by a user who manages the robot operation area A to be managed. The user may be a user who manages the robots 40 and the first processing terminals 30 in one or more robot operation areas A. The second server 20 is also called an edge server.

[0016] The second server 20 includes a processing circuit 20a and has the functionality of a computer. The processing circuit 20a includes a processor and a memory. The second server 20 includes storage within the processing circuit 20a or separately from the processing circuit 20a. The memory and storage are collectively referred to as a memory 20b. The processing circuit 20a has the functionality of the first processing circuit and the third processing circuit, and may further have the functionality of the fourth processing circuit. The memory 20b may have the functionality of the first memory and the second memory.

[0017] The processor executes functions, methods, or combinations thereof implemented by code or instructions contained in a program stored in storage. Examples of processors include a central processing unit (CPU), a microprocessing unit (MPU), a graphics processing unit (GPU), a microprocessor, a processor core, a multiprocessor, an application-specific integrated circuit (ASIC), and a field programmable gate array (FPGA). The processor may implement each process described in the present disclosure using a logic circuit formed on an integrated circuit (an integrated circuit (IC) chip, a large-scale integration (LSI)), or a dedicated circuit. These circuits may be implemented using one or more integrated circuits. Multiple processes may be implemented using a single integrated circuit.

[0018] The memory temporarily stores programs loaded from storage and provides a working area for the processor. The memory also temporarily stores various data generated while the processor is executing the programs. Examples of memory include semiconductor memories such as RAM (Random Access Memory) and ROM (Read Only Memory).

[0019] The storage stores programs and various data, and examples of the storage include a hard disk drive (HDD), a solid state drive (SSD), and a flash memory.

[0020] For example, the storage stores information on a plurality of robot operation areas A. Each of the robot operation areas A is a robot operation area A managed by the second server 20, and is registered in the second server 20. The storage stores information on the first processing terminal 30 and the robot 40 located in each of the plurality of robot operation areas A, in association with the robot operation area A that includes the first processing terminal 30 and the robot 40. The first processing terminal 30 and the robot 40 are the first processing terminal 30 and the robot 40 located in each of the robot operation areas A registered in the second server 20, and are registered in the second server 20.

[0021] The storage may store information about the second processing terminal 60 in association with a robot operation area A related to the second processing terminal 60. The second processing terminal 60 is the second processing terminal 60 of a user who manages the robot operation area A registered in the second server 20, and is registered in the second server 20. The second server 20 may be communicably connected to the first processing terminal 30 and the second processing terminal 60 registered in the second server 20 via a second communication network NB.

[0022] The storage stores a virtual space model VAM that forms a virtual space of the robot operation area A and a virtual space program that operates the virtual space model VAM. For example, the virtual space model VAM may be a 3DCG (3-dimensional computer graphics) model. The virtual space model VAM is a model that faithfully reproduces the real-world robot operation area A and includes virtual components that correspond to various components contained in the real-world robot operation area A. For example, by applying information or data about real components acquired from the real-world robot operation area A to the virtual space model VAM, the virtual components in the virtual space model VAM that correspond to the real components can be made to behave in the same way as the real components.

[0023] By executing the virtual space program, the processing circuit 20a can apply various information and data to the virtual space model VAM, add and delete components to the virtual space model VAM, and operate the components within the virtual space model VAM. The virtual space model VAM includes a virtual robot model of the robot 40 within the robot operation area A and a surrounding environment model of elements other than the robot 40. In the present embodiment, the virtual space model VAM is a virtual space model formed for each robot operation area A registered in the second server 20 using digital twin technology so as to faithfully reproduce the robot operation area A.

[0024] The virtual space model VAM may be generated by the processing circuitry 20a, or may be obtained by the processing circuitry 20a from outside the second server 20. Updating the virtual space model VAM by making changes to the virtual space model VAM may be performed by the processing circuitry 20a, or may be performed by a device outside the second server 20. The processing circuitry 20a may be configured to receive the updated virtual space model VAM from a device outside the second server 20.

[0025] The storage may store a language model LM, which is a machine learning model that uses image data as input data and outputs text data indicating a state represented by the image data. In the present embodiment, the language model LM is a large language model (LLM). The language model LM may be generated by the processing circuitry 20a, or may be acquired by the processing circuitry 20a from outside the second server 20. Machine learning of the language model LM may be performed by the processing circuitry 20a, or may be performed by a device outside the second server 20. The processing circuitry 20a may be configured to receive the machine-learned language model LM from outside the second server 20.

[0026] The storage stores various robot programs RP for causing the robot 40 to autonomously execute tasks. The robot program RP is generated for each task in correspondence with various tasks. The robot program RP can be generated in correspondence with various robots 40 in the robot operating area A registered in the second server 20. When robots 40 with different structures perform the same task, the robot programs RP may be the same or different. The robot programs RP generated for each task in correspondence with various robots 40 are stored in the storage.

[0027] Examples of the second communication network NB may include a LAN (Local Area Network), a local 5G, or other access network. The communication distance between the second server 20 and the first processing terminal 30 via the second communication network NB is significantly shorter than the communication distance between the first server 10 and the first processing terminal 30 via the first communication network NA and the communication distance between the first server 10 and the second server 20 via the first communication network NA. In other words, the communication distance via the second communication network NB is significantly shorter than the communication distance via the first communication network NA. Therefore, communication via the second communication network NB enables large amounts of data to be sent and received at high speed.

[0028] The first server 10 is communicably connected to a plurality of second servers 20 via a first communication network NA. The first server 10 is also called a cloud server. The first server 10 may be communicably connected to a plurality of first processing terminals 30 via the first communication network NA. The first server 10 may be communicably connected to a plurality of second processing terminals 60 via the first communication network NA.

[0029] The first server 10 includes a processing circuit 10a and has computer functions. The processing circuit 10a includes a processor and a memory. The first server 10 includes a storage device within the processing circuit 10a or separate from the processing circuit 10a. The memory and storage device are collectively referred to as a storage device 10b.

[0030] Examples of the processor, memory, and storage of the first server 10 are similar to the examples of the processor, memory, and storage of the second server 20. The functions of the processor, memory, and storage of the first server 10 are similar to the functions of the processor, memory, and storage of the second server 20.

[0031] The storage of the first server 10 stores user information related to the user of the first processing terminal 30 and the user of the second processing terminal 60. The user information is stored for the first processing terminals 30 and second processing terminals 60 associated with all robot operation areas A managed by all second servers 20 connected to the first server 10. In other words, the user information is stored for all first processing terminals 30 and second processing terminals 60 registered in all second servers 20. The user information may include one or more of a user ID, which is user identification information, a login password for the user ID to the system, information on the first processing terminal 30 registered for the user ID, information on the robot 40 controlled by the first processing terminal 30, information on the second processing terminal 60 registered for the user ID, and information on the robot operation area A registered for the user ID.

[0032] The storage of the first server 10 stores area information related to the robot operation area A. The robot operation areas A to be stored are all robot operation areas A that are managed by all second servers 20 connected to the first server 10. The area information for each robot operation area A may include one or more of information on the second servers 20 that manage the robot operation area A, information on the first processing terminals 30 that are placed in the robot operation area A, information on the second processing terminals 60 that are placed in the robot operation area A, and information on the robots 40 that are placed in the robot operation area A.

[0033] The storage of the first server 10 stores program type information for the robot program RP. The program type information represents the type of the robot program RP classified according to one or more of the content of the task executed by the robot program RP and information on the robot 40 that can execute the robot program RP. For example, the program type can be represented as the type of task of transporting an object by a bipedal robot, the type of bipedal robot, or the type of task of transporting an object.

[0034] The first communication network NA is a network that covers a wider area than the second communication network NB. Examples of the first communication network NA may include an open network such as the Internet and an Internet VPN (Virtual Private Network), a closed network such as an IP-VPN (Internet Protocol Virtual Private Network) and a dedicated line, or a combination thereof.

[0035] The first processing terminal 30 includes a processing circuit 30a and has the functionality of a computer. The processing circuit 30a includes a processor and a memory. The first processing terminal 30 may include storage within the processing circuit 30a or separately from the processing circuit 30a. The memory and storage are collectively referred to as a storage device 30b. The processing circuit 30a has the functionality of a second processing circuit and may further have the functionality of a fourth processing circuit.

[0036] Examples of the processor, memory, and storage of the first processing terminal 30 are similar to the examples of the processor, memory, and storage of the second server 20. The functions of the processor, memory, and storage of the first processing terminal 30 are similar to the functions of the processor, memory, and storage of the second server 20.

[0037] Examples of the first processing terminal 30 may include an electronic circuit board, an electronic control unit, a microcomputer, a desktop computer, a laptop computer, and a smart device such as a tablet. The first processing terminal 30 may be any of a processing terminal dedicated to the robot system 100, a processing terminal dedicated to the robot 40, a processing terminal dedicated to a system other than the robot system 100, such as a system used in the robot operating area A, and a general-purpose processing terminal. For example, the first processing terminal 30 may be a robot controller or a part thereof as a processing terminal dedicated to the robot 40. The first processing terminal 30 is communicatively connected to the robot 40 via wired communication, wireless communication, or a combination thereof. The first processing terminal 30 may be located remotely from the robot 40 or may be mounted on the robot 40.

[0038] The first processing terminal 30 is communicatively connected to the second communication network NB via wired communication, wireless communication, or a combination thereof, and is communicatively connected to the second server 20 via the second communication network NB. The first processing terminal 30 may be communicatively connected to the first communication network NA via wired communication, wireless communication, or a combination thereof, and may be communicatively connected to the first server 10 via the first communication network NA. Any wired communication and wireless communication may be used. The first processing terminal 30 may be connected to either the first communication network NA or the second communication network NB via one or more of a regional IP network, a mobile phone network such as 4G or 5G, a private network, a wired LAN, and a wireless LAN such as wireless Wi-Fi.

[0039] The storage device 30b stores an operation system program OS1 for operating the first processing terminal 30, and an application program AP1 (hereinafter also referred to as "app AP1") that runs on the operation system program OS1. The operation system program OS1 may be a program dedicated to the robot system 100 or a program not dedicated to the robot system 100. The app AP1 is a program dedicated to the robot system 100. The app AP1 may be constructed as an operation system program and incorporated into the first processing terminal 30.

[0040] The app AP1 is incorporated into the first processing terminal 30 by being installed. The app AP1 has a function of generating commands for operating the robot 40 connected to the first processing terminal 30. The app AP1 functions using a robot program RP. The processing circuit 30a retrieves the robot program RP sent from the second server 20 and executes the robot program RP on the app AP1.

[0041] The robot program RP includes, in an execution order, operation commands that command various target operations to be performed by the robot 40 in the process of executing a task defined in the robot program RP. For example, the operation commands may include commands for target positions and target postures of each part of the robot 40. The processing circuit 30a generates, in an execution order, drive commands that command target operations of the drive parts of the robot 40, and transmits the drive commands to the robot 40, in order to cause the robot 40 to sequentially execute operations in accordance with the operation commands of the robot program RP. The drive commands are commands corresponding to the structure of the robot 40, and may include, for example, commands for target operations of the joints included in the robot 40.

[0042] The processing circuit 30a acquires from the robot 40 the operation results of the driving parts of the robot 40 and the detection results of the sensors equipped in the robot 40, and transmits the operation results as log data and the detection results as sensor data to the second server 20. Furthermore, the processing circuit 30a may associate the execution results of the robot program RP with the operation results and the detection results and transmit them to the second server 20 as log data and sensor data.

[0043] For example, the processing circuit 30a may acquire operation results and detection results at predetermined time intervals. Examples of operation results of the driving parts may include an output value or current value of a driving device that drives the driving parts, and a detection value of a sensor that detects the driving amount of the driving parts. Examples of sensors included in the robot 40 may include a camera, an acceleration sensor, a gyro sensor, a position sensor, a speed sensor, a distance sensor, a tactile sensor, a force sensor, a force-tactile sensor, a vibration sensor, and a temperature sensor.

[0044] The first processing terminal 30 may include an input device 31 that accepts input from a user or the like. Examples of the input device 31 may include a button, a lever, a dial, a joystick, a mouse, keys, a touch panel, a microphone, and a motion capture device. For example, the input device 31 accepts a command from a user or the like requesting the robot 40 to perform a task, and outputs the command to the processing circuitry 30a. The processing circuitry 30a may be configured to send the content of the commanded task to the first server 10 via the first communication network NA. The content of the task may include, as task elements, a task subject, a task type, a task object, and a task goal to be achieved by the task.

[0045] For example, the task subject is a robot that executes a task. The task type corresponds to the type of operation that the robot 40 is made to execute, such as a transport operation or an assembly operation. The task object is an object that the robot 40 acts on by the task. The task goal corresponds to the target state of the object that should be reached by executing the task.

[0046] The input device 31 may accept input of task elements by the user's hand or voice selection or language input. The processing circuitry 30a may transmit information on the selected task element or character string data representing the input language to the first server 10. The processing circuitry 30a may transmit to the first server 10, together with the above information or data, either or both of identification information of the first processing terminal 30 and information on the robot 40 that will execute the task.

[0047] The processing circuit 10a of the first server 10 uses information received from the first processing terminal 30 to determine the program type to be executed by the robot 40, and transmits information on the determined program type, etc. to the second server 20 in which the first processing terminal 30 is registered. The processing circuit 20a of the second server 20 extracts a robot program RP corresponding to the program type from the storage device 20b and transmits it to the first processing terminal 30. The processing circuit 30a of the first processing terminal 30 causes the robot 40 to operate in accordance with the received robot program RP.

[0048] The second processing terminal 60 includes a processing circuit 60a and has the functionality of a computer. The processing circuit 60a includes a processor and a memory. The second processing terminal 60 may include a storage device within the processing circuit 60a or separately from the processing circuit 60a. The memory and storage device are collectively referred to as a storage device 60b.

[0049] Examples of the processor, memory, and storage of the second processing terminal 60 are similar to the examples of the processor, memory, and storage of the second server 20. The functions of the processor, memory, and storage of the second processing terminal 60 are similar to the functions of the processor, memory, and storage of the second server 20.

[0050] Examples of the second processing terminal 60 may include smart devices such as smartphones, smart watches, and tablets, desktop computers, and laptop computers. The second processing terminal 60 may be any of a processing terminal dedicated to the robot system 100, a processing terminal dedicated to the robot 40, a processing terminal dedicated to a system other than the robot system 100 such as a system used in the robot operating area A, and a general-purpose processing terminal. For example, the second processing terminal 60 may be a general-purpose processing terminal owned by a user. The second processing terminal 60 is located remotely from the robot 40.

[0051] The second processing terminal 60 is communicatively connected to the first communication network NA via wired communication, wireless communication, or a combination thereof, and is communicatively connected to the first server 10 via the first communication network NA. The second processing terminal 60 may be communicatively connected to the second communication network NB via wired communication, wireless communication, or a combination thereof, and may be communicatively connected to the second server 20 via the second communication network NB. Any wired communication and wireless communication may be used. The second processing terminal 60 may be connected to either the first communication network NA or the second communication network NB via one or more of a regional IP network, a mobile phone network such as 4G or 5G, a private network, and a wireless LAN.

[0052] The second processing terminal 60 is communicatively connected to the first processing terminal 30 via wired communication, wireless communication, or a combination thereof. The second processing terminal 60 may be configured to be communicatively connected to one first processing terminal 30, or may be configured to be communicatively connected to two or more first processing terminals 30.

[0053] The second processing terminal 60 includes an input device 61 that accepts input from a user or the like. Examples of the input device 61 may include a button, a lever, a dial, a joystick, a mouse, keys, a touch panel, a microphone, and a motion capture device. For example, the input device 61 accepts a command from a user or the like requesting the robot 40 to perform a task, and outputs the command to the processing circuit 60a. The processing circuit 60a sends the content of the requested task to the first server 10 via the first communication network NA. The content of the task may include a task subject, a task type, a task object, and a task goal as task elements.

[0054] The input device 61 may accept input of task elements by the user's hand or voice selection or language input. The processing circuitry 60a may transmit information on the selected task element or character string data representing the input language to the first server 10. The processing circuitry 60a may transmit to the first server 10, together with the above information or data, either or both of identification information of the second processing terminal 60 and information on the robot 40 that will execute the task.

[0055] The processing circuit 10a of the first server 10 uses information received from the second processing terminal 60 to determine the program type to be executed by the robot 40, and transmits information on the determined program type, etc. to the second server 20 in which the robot 40 is registered. The processing circuit 20a of the second server 20 extracts a robot program RP corresponding to the program type information from the storage device 20b and transmits it to the first processing terminal 30. The processing circuit 30a of the first processing terminal 30 causes the robot 40 to operate in accordance with the received robot program RP.

[0056] The storage device 60b stores an operation system program OS2 for operating the second processing terminal 60, and an application program AP2 (hereinafter also referred to as "app AP2") that runs on the operation system program OS2. The operation system program OS2 may be a program dedicated to the robot system 100 or a program not dedicated to the robot system 100. The app AP2 is a program dedicated to the robot system 100. The app AP2 may be constructed as an operation system program and incorporated into the second processing terminal 60.

[0057] The app AP2 is incorporated into the second processing terminal 60 by being installed. The app AP2 has a function of mutually transmitting and receiving commands, information, and data to and from the first server 10 and the first processing terminal 30. The app AP2 may also have a function of mutually transmitting and receiving commands, information, and data to and from the second server 20. The app AP2 has a function of receiving task elements of a task to be executed by the robot 40, such as a task subject, a task type, a task object, and a task goal, and transmitting information on the received task elements to the first server 10. The app AP2 may also have a function of transmitting commands to the first processing terminal 30 to cause the robot 40 to perform operations not based on the robot program RP, such as starting, stopping, emergency stopping, and moving to a standby position of the robot 40.

[0058] The second processing terminal 60 may be configured to access a website constructed for the robot system 100. The second processing terminal 60 may be configured to transmit and receive commands, information, and data to and from the first server 10 via the website. The second processing terminal 60 may be configured to accept input of task elements of a task to be executed by the robot 40 on the website, and the first server 10 may be configured to receive information about the task elements via the website. In this case, the app AP2 does not need to be installed in the second processing terminal 60.

[0059] An example of the operation of the robot system 100 will be described with reference to Fig. 3. Fig. 3 is a flowchart showing an example of the operation of the robot system 100 according to the embodiment.

[0060] In step S101, a user in the robot operation area A1 inputs a command to the second processing terminal 60 to have the robot 40A execute a task TA. In this example, the robot operation area A1 is one of the robot operation areas A and is a store that provides food and drink to customers, although this is not limited thereto. The user is a service provider at the store. The robot 40A is one of the robots 40 present in the robot operation area A1. The task TA is to have the robot 40A carry a container containing a beverage from a serving location to a table. The task elements of the task TA include a task subject TA1 called the robot 40A, a task type TA2 including a receiving action, a carrying action, and a serving action of an object, a task object TA3 called the beverage container, and a task goal TA4 including a starting location called the serving location and a destination location called the table.

[0061] In step S102, the second processing terminal 60 transmits the input command and user information including the user ID and the like to the first server 10. The user ID may be set for the robot operation area A1, the second processing terminal 60, the robot 40A, or the first processing terminal 30A that controls the robot 40A. The first processing terminal 30A is one of the first processing terminals 30.

[0062] In step S103, the first server 10 authenticates the user using the received user ID, etc. If the first server 10 authenticates the user, it identifies the first processing terminal 30A that controls the robot 40A, the model of the robot 40A, and the robot operation area A1 in which the robot 40A is located, based on the received command and the user information stored in the memory 10b. Furthermore, the first server 10 identifies the second server 20A that manages the robot operation area A1, based on the area information stored in the memory 10b. The second server 20A is one of the second servers 20. If the first server 10 cannot authenticate the user, it ends the series of processes.

[0063] Furthermore, the first server 10 determines the program type of the robot program RP to be executed by the robot 40A based on the program type information of the robot program RP stored in the memory 10b. That is, the first server 10 determines the program type to be executed by the robot 40A and the first processing terminal 30A that executes the robot program RP, and determines the second server 20A to which this information is to be sent.

[0064] In step S104, the first server 10 sends an instruction to the second server 20A to cause the first processing terminal 30A to execute the robot program RP, along with information including information on the program type of the robot program RPA, information on the first processing terminal 30A, and information on the task object TA3 and the task goal TA4.

[0065] In step S105, the second server 20A extracts a robot program RPA that is compatible with the program type and executable by the robot 40A from the robot programs RP stored in the memory 20b. Furthermore, the second server 20A sets the task object and task goal included in the robot program RPA as a task object TA3 and a task goal TA4 for the robot program RPA. In other words, the second server 20A sets task elements for the robot program RPA.

[0066] In step S106, the second server 20A transmits the robot program RPA in which the task object TA3 and the task goal TA4 are set to the first processing terminal 30A designated by the first server 10.

[0067] In step S107, the first processing terminal 30A executes the robot program RPA in which the task object TA3 and the task goal TA4 are set, thereby sequentially generating drive commands and outputting them to the robot 40A. For example, the first processing terminal 30A generates drive commands at points on the trajectory of the robot 40A's operation where the direction or speed of the robot 40A's movement changes, and at predetermined intervals on the trajectory. The predetermined intervals may be time intervals or distance intervals. The robot 40A operates in accordance with the drive commands to sequentially perform the task TA in accordance with the task elements included in the task TA.

[0068] In step S108, each time the robot 40A operates in accordance with the drive command, the first processing terminal 30A acquires from the robot 40A the operation results of the drive parts of the robot 40A and the detection results of the sensors equipped in the robot 40A as log data and sensor data, and transmits them to the second server 20. The second server 20 stores the received log data and sensor data in the storage device 20b.

[0069] In step S109, if the first processing terminal 30A determines that the robot program RPA has ended (Yes in step S109), the series of processes ends. The first processing terminal 30A may transmit information about the completion of task TA to the second processing terminal 60. If the first processing terminal 30A determines that the robot program RPA is being executed (No in step S109), the process returns to step S107.

[0070] In this way, even if the first processing terminal 30 does not have a robot program RP capable of executing a requested task, it can cause the robot 40 to execute the task by acquiring the robot program RP from the second server 20. The second communication network NB connecting the first processing terminal 30 and the second server 20 can send and receive large amounts of data at high speed, thereby reducing communication delays for large amounts of data such as the robot program RP. Management of information about users and processing using this information are performed by the first server 10, thereby ensuring confidentiality. The amount of processing on the first server 10 and the amount of data sent and received from the first server 10 are small, thereby reducing communication delays.

[0071] In the present embodiment, the robot 40 is equipped with one or more sensors 41. The sensors 41 may include internal sensors that detect the interior of the robot 40 and external sensors that detect information about the environment surrounding the robot 40. Examples of internal sensors may include rotation sensors such as encoders that detect the amount of rotation of joints of the robot 40, position sensors, speed sensors, acceleration sensors, and gyro sensors. Examples of external sensors may include force sensors, tactile sensors, force-tactile sensors, position sensors, distance sensors, vibration sensors, temperature sensors, and vision sensors. Examples of distance sensors may include sensors that measure the distance to an object using light waves, lasers, or ultrasound. Examples of sensors that use lasers may include LiDAR (LiDAR). Examples of vision sensors may include monocular cameras and stereo cameras.

[0072] The processing circuit 30a of the first processing terminal 30 performs feedforward control or feedback control in controlling the operation of the robot 40 in accordance with the robot program RP, using the detection results of the sensor 41. If an abnormality occurs in the sensor 41 while the robot 40 is operating in accordance with the robot program RP, the processing circuit 30a continues to control the operation of the robot 40 in accordance with the robot program RP, using a virtual sensor model 41M included in the virtual space model VAM stored in the memory 20b of the second server 20.

[0073] Detection of an abnormality in the sensor 41 is performed by the first processing terminal 30, the second server 20, or both. When the first processing terminal 30 detects an abnormality in the sensor 41, it transmits the detection result to the second server 20. For example, the processing circuit 30a of the first processing terminal 30 and the processing circuit 20a of the second server 20 may detect an abnormality in the sensor 41 by threshold-based detection, statistical anomaly detection, machine learning-based detection, detection by time series analysis, detection using a virtual space model VAM, or a combination of two or more of these.

[0074] In threshold-based detection, the processing circuits 20a and 30a determine that an abnormality has occurred when the detection data from the sensor 41 exceeds or falls below a specific threshold.

[0075] In statistical anomaly detection, the processing circuits 20a and 30a utilize the statistical characteristics of the detection data from the sensor 41. Examples of the statistical characteristics may include the mean and variance. The processing circuits 20a and 30a determine that the detection data is abnormal when it significantly deviates from the statistical characteristics.

[0076] In machine learning-based detection, processing circuits 20 a and 30 a build or utilize a machine learning model that uses machine learning to learn from past normal data to detect anomalous data. The machine learning model may use machine learning algorithms such as anomaly detection, clustering, or classification.

[0077] In the time series analysis, the processing circuits 20a and 30a use patterns that change over time in the detected data from the sensor 41 and determine anomalies based on these patterns. Time series analysis techniques such as an ARIMA (autoregressive moving average) model and an RNN (recurrent neural network) model can be used to detect the patterns.

[0078] The detection using the virtual space model VAM may be performed by the second server 20. The processing circuit 20a uses the virtual space model VAM to simulate the behavior of the robot 40 and the sensor 41. Furthermore, the processing circuit 20a determines the presence or absence of an abnormality by comparing actual data related to the robot 40 or the sensor 41 with virtual data related to the robot 40 or the sensor 41 obtained by the simulation.

[0079] For example, the processing circuit 20a may determine whether or not an abnormality exists by comparing the detection data of the sensor 41 with the detection data of a virtual sensor model 41M. In this case, the processing circuit 20a causes the robot model 40M of the virtual space model VAM to execute the robot program RP in parallel with the execution of the robot program RP by the robot 40. During this execution process, the processing circuit 20a acquires, at predetermined time intervals, actual detection data, which is the detection data of the sensor 41, and virtual detection data, which is data detected by the sensor model 41M in the virtual space model VAM. The processing circuit 20a detects a difference between the actual detection data and the virtual detection data acquired at the same progress stage of the robot program RP. If the difference is equal to or greater than a threshold, the processing circuit 20a may determine that an abnormality has occurred in the sensor 41.

[0080] The processing circuitry 20a may detect a difference between the behavior of the robot 40 and the behavior of the robot model 40M at the same progress stage of the robot program RP during the process of execution of the robot program RP by the robot model 40M in parallel with the execution of the robot program RP by the robot 40. The processing circuitry 20a may determine that an abnormality has occurred in the sensor 41 when the difference is equal to or greater than a threshold value.

[0081] For example, the processing circuit 20a may detect a difference in behavior by comparing the position and posture of the robot 40 acquired from the robot 40 with the position and posture of the robot model 40M acquired from the robot model 40M. The processing circuit 20a may detect a difference in behavior by comparing the position and posture of the robot 40 detected from the actual detection data with the position and posture of the robot model 40M detected from the virtual detection data. The processing circuit 20a may detect a difference in behavior by comparing an image from a camera provided on the robot 40 with an image from a virtual camera provided on the robot model 40M.

[0082] The processing circuitry 20a may apply the actual detection data of the sensor 41 to the sensor model 41M at predetermined time intervals during the execution of the robot program RP by the robot model 40M in parallel with the execution of the robot program RP by the robot 40, thereby periodically updating the detection data of the sensor model 41M. The processing circuitry 20a may cause the robot model 40M to operate in accordance with the robot program RP using the updated detection data of the sensor model 41M. Thereafter, during the period until the detection data of the sensor model 41M is updated, the processing circuitry 20a may cause the robot model 40M to operate in accordance with the robot program RP using the virtual detection data of the sensor model 41M.

[0083] During the above-described operation process, the processing circuitry 20a acquires virtual detection data from the sensor model 41M. The processing circuitry 20a may detect a difference between the actual detection data and the virtual detection data acquired at the same progress stage of the robot program RP. If the difference is equal to or greater than a threshold, the processing circuitry 20a may determine that an abnormality has occurred in the sensor 41.

[0084] During the above operation process, the processing circuitry 20a may detect a difference between the behavior of the robot 40 and the behavior of the robot model 40M at the same progress stage of the robot program RP. If the difference is equal to or greater than a threshold, the processing circuitry 20a may determine that an abnormality has occurred in the sensor 41. The processing circuitry 20a may detect the difference in behavior in the same manner as described above.

[0085] 4, the operation of the robot system 100 according to the embodiment when an abnormality occurs in the sensor 41 will be described. Fig. 4 is a flowchart showing an example of the operation of the robot system 100 according to the embodiment when an abnormality occurs in the sensor 41. Fig. 4 shows an example in which the first processing terminal 30 detects an abnormality in an external sensor serving as the sensor 41.

[0086] In step S201, the first processing terminal 30 acquires the detection results of the external sensor 41 from the robot 40 as sensor data at predetermined timings during the process of causing the robot 40 to autonomously perform a task in accordance with the robot program RP, and stores the sensor data in the storage device 30b. For example, the first processing terminal 30 acquires the sensor data at predetermined time intervals.

[0087] In step S202, the first processing terminal 30 determines whether or not there is an abnormality in the external sensor 41 of the robot 40. If the first processing terminal 30 determines that there is an abnormality (Yes in step S202), the process proceeds to step S203, and if the first processing terminal 30 determines that there is no abnormality (No in step S202), the process proceeds to step S204. The first processing terminal 30 determines whether or not there is an abnormality using the sensor data. The first processing terminal 30 may execute step S202 at predetermined time intervals.

[0088] In step S204, the first processing terminal 30 transmits the sensor data and the progress of the robot program RP at the time the sensor data was acquired to the second server 20, and the second server 20 stores the sensor data and the progress of the robot program RP in the memory 20b.

[0089] In step S205, the second server 20 updates the environmental information of the virtual space model VAM stored in the memory 20b based on the sensor data and the progress of the robot program RP. The environmental information is information about the surroundings of the robot model 40M in the virtual space model VAM and is also information about the operating environment of the robot model 40M. The sensor data is information about the operating environment of the robot 40.

[0090] Specifically, the second server 20 applies the robot program RP with the above degree of progress to the virtual robot model 40M in the virtual space model VAM, and applies sensor data to a virtual sensor model 41M included in the robot model 40M. For example, the second server 20 applies the sensor data of the external sensor 41 to the sensor model 41M corresponding to the external sensor 41. As a result, the detection results obtained by the external sensor 41 of the robot 40 can be reproduced by the detection results of the sensor model 41M. As a result, the environmental information of the virtual space model VAM is updated, and the operating environment of the robot 40 is reproduced in the virtual space model VAM.

[0091] In step S206, the first processing terminal 30 determines whether the robot program RP has been completed. If the first processing terminal 30 determines that the robot program RP has been completed (Yes in step S206), it ends the series of processes related to the task. If the first processing terminal 30 determines that the robot program RP has not been completed (No in step S206), it returns to step S201.

[0092] In step S203, the first processing terminal 30 transmits a report of the occurrence of an abnormality in the external sensor 41A and the progress of the robot program RP at the time the abnormality was detected to the second server 20. The external sensor 41A is the sensor in which the abnormality occurred among the multiple external sensors 41.

[0093] In step S207, the second server 20 applies the robot program RP to the virtual space model VAM at the received progress level, causing the virtual robot model 40M to operate in the virtual space model VAM according to the robot program RP up to the progress level.

[0094] In step S208, the second server 20 acquires sensor data, which is the detection result of the virtual sensor model 41MA corresponding to the external sensor 41A that detected the abnormality, during the process in which the robot model 40M operates up to the above-mentioned progress level. The second server 20 transmits the sensor data of the sensor model 41MA to the first processing terminal 30.

[0095] In step S209, the first processing terminal 30 causes the robot 40 to operate in accordance with the robot program RP using the sensor data of the sensor model 41MA instead of the external sensor 41A.

[0096] In step S210, the first processing terminal 30 transmits to the second server 20 the progress of the robot program RP in the process of causing the robot 40 to operate.

[0097] In step S211, the second server 20 determines whether the robot program RP has progressed to a predetermined execution stage set in the task execution process. The predetermined execution stage may be set to a stage in the middle of the task execution process, or may be set to a stage at which the task is completed. If the second server 20 determines that the robot program RP has progressed to the predetermined execution stage (Yes in step S211), the second server 20 proceeds to step S212. If the second server 20 determines that the robot program RP has not progressed to the predetermined execution stage (No in step S211), the second server 20 returns to step S207.

[0098] In step S212, the second server 20 transmits a command to the first processing terminal 30 to stop the operation of the robot 40. The first processing terminal 30 stops the operation of the robot 40 in accordance with the command, and ends the series of processes.

[0099] If an abnormality occurs in the sensor 41A during the autonomous operation of the robot 40 as a result of steps S201 to S212, the first processing terminal 30 may not be able to continue the operation of the robot 40. However, the first processing terminal 30 can continue the operation of the robot 40 in accordance with the robot program RP by using the sensor data of the sensor model 41MA included in the virtual space model VAM, which changes environmental information in accordance with the progress of the robot program RP, instead of the sensor data of the sensor 41A.

[0100] Furthermore, the first processing terminal 30 can cause the robot 40 to perform the task up to a predetermined execution stage. For example, as shown in Fig. 5 , even if an abnormality occurs in the LiDAR sensor 41A while the robot 40 is performing a task of transporting an object and crossing a road R, by setting the execution stage to a point P at the end of the road, the first processing terminal 30 can move the robot 40 to a stable state where it does not interfere with traffic for surrounding vehicles V, etc., and then stop the robot 40. Fig. 5 is a diagram showing an example of the operation of the robot 40 when an abnormality occurs in the sensor 41A.

[0101] Step S211 may be performed by the first processing terminal 30.

[0102] Regarding steps S207 to S210, the second server 20 transmits to the first processing terminal 30, sensor data of the sensor model 41MA corresponding to the external sensor 41A included in the virtual space model VAM, which changes environmental information in accordance with the progress of the robot program RP, but is not limited to this.

[0103] For example, the second server 20 may be configured to further transmit sensor data of a sensor model 41M corresponding to a normal external sensor 41 included in the virtual space model VAM to the first processing terminal 30. The first processing terminal 30 may integrate the sensor data of the sensor model 41M including the sensor model 41MA and the sensor data of the normal external sensor 41 to continue the operation of the robot 40 in accordance with the robot program RP. An error may occur between the sensor data of the normal external sensor 41 and the sensor data of the sensor model 41M corresponding to the normal external sensor 41. The integration process may correct the sensor data of the sensor model 41M including the sensor model 41MA based on such an error.

[0104] For example, the second server 20 may be configured to transmit information of the virtual space model VAM indicating environmental information immediately before an abnormality occurs in the external sensor 41A to the first processing terminal 30. In the virtual space model VAM, sensor data from the external sensor 41 immediately before the abnormality occurs is reflected in the sensor data of the sensor model 41MA. For example, if the sensor data from the external sensor 41 indicates the location of an obstacle, the sensor data from the sensor model 41MA indicates a virtual obstacle located at a position in the virtual space model VAM corresponding to that location. Such a virtual obstacle is reflected in the virtual space model VAM. The first processing terminal 30 may continue to operate the robot 40 in accordance with the robot program RP using the virtual space model VAM, in which the virtual obstacle detected by the sensor model 41MA is reflected, as map information. The second server 20 may use the map information in addition to or instead of the sensor data of the sensor model 41MA of the virtual space model VAM, which changes environmental information in accordance with the progress of the robot program RP.

[0105] For example, after detecting an abnormality, the second server 20 may simulate the operation of the robot 40 after the abnormality is detected by causing the robot model 40M in the virtual space model VAM, in which the operating environment of the robot 40 is reproduced, to execute the robot program RP, and may transmit the operation results of the simulated robot model 40M to the first processing terminal 30. The operation results may include log data of the robot model 40M. The first processing terminal 30 may operate the robot 40 in accordance with the operation results. This allows the first processing terminal 30 to cause the robot 40 to continue operating so as to follow the simulated operation of the robot model 40M.

[0106] [Others] Illustrative embodiments of the present disclosure have been described above, but the present disclosure is not limited to the above-described embodiments. That is, various modifications and improvements are possible within the scope of the present disclosure. For example, various modifications to the embodiments and embodiments constructed by combining components of different embodiments are also included within the scope of the present disclosure.

[0107] For example, the robot system 100 according to the embodiment includes the first server 10 and the second server 20, but the first server 10 and the second server 20 may be integrated into a single server. For example, the second server 20 may be configured to have the functions of the first server 10, or the first server 10 may be configured to have the functions of multiple second servers 20.

[0108] Examples of aspects of the technology of the present disclosure are as follows: A robot system according to a first aspect of the present disclosure includes a robot equipped with a sensor, a first memory device that stores a virtual space model including a virtual robot model and a virtual surrounding environment model that reproduce the robot and the robot's surrounding environment, a first processing circuit that changes a state of the virtual space model, a second processing circuit that controls the robot in accordance with an operation program while using detection results from the sensor, a third processing circuit that collects and accumulates the detection results from the sensor as sensor information while the robot operates in accordance with the operation program, and a fourth processing circuit that monitors the sensor and detects an abnormality in a signal sent from the sensor, wherein when an abnormality is detected by the fourth processing circuit, the first processing circuit applies the sensor information accumulated by the third processing circuit to the virtual space model to reproduce the operating environment of the robot in the virtual space model, and the second processing circuit causes the robot to continue operating while using information obtained from the virtual space model in which the operating environment of the robot is reproduced.

[0109] According to the first aspect, when an abnormality in a signal sent from a sensor is detected, the robot system can recreate the operating environment of the actual robot in a virtual space model using sensor information acquired up to that point. The robot system can operate the robot while compensating for the sensor in which the abnormality was detected using information acquired from the virtual space model in which the operating environment of the robot is recreated. Thus, the robot system allows the robot to continue operating even when an abnormality occurs in the robot's sensor.

[0110] In the first aspect described above, in the robot system according to the second aspect of the present disclosure, the second processing circuit may cause the robot to continue operating while using the detection results of a virtual sensor corresponding to the sensor included in the virtual space model in which the operating environment of the robot is reproduced.

[0111] According to the second aspect, the robot system can operate the robot while using virtual sensors in a virtual space model that reproduces the robot's operating environment to compensate for any sensor that has detected an abnormality. Thus, the robot system can reliably continue to operate the robot even when an abnormality occurs in the robot's sensor.

[0112] In the first or second aspect described above, in a robot system according to a third aspect of the present disclosure, the second processing circuit may cause the robot to continue operating in accordance with the operation program until a predetermined progress stage in the operation program is reached, while using information obtained from the virtual space model in which the operating environment of the robot is reproduced.

[0113] According to the third aspect, when an abnormality in a signal sent from a sensor is detected, the robot system continues to operate the robot until a predetermined progress stage in the operation program is reached. This allows the robot system to shorten the robot's operation process using information obtained from a virtual space model that reproduces the robot's operating environment. Therefore, the robot system can terminate the robot's operation using information obtained from the virtual space model before the error between the information obtained from the virtual space model and the real environment becomes too large.

[0114] In any of the first to third aspects above, in a robot system according to a fourth aspect of the present disclosure, the second processing circuit may cause the robot to continue operating while using detection results of virtual sensors corresponding to the sensors included in the virtual space model in which the operating environment of the robot is reproduced, and the virtual space model that indicates the state at the time the abnormality was detected.

[0115] According to the fourth aspect described above, the robot system uses a virtual space model that shows the state at the time the abnormality was detected and the detection results of virtual sensors in the virtual space model that reproduces the operating environment of the robot, thereby enabling the robot to operate accurately.

[0116] In any of the first to fourth aspects above, in a robot system according to a fifth aspect of the present disclosure, the first processing circuit may apply the operation program to the virtual space model in which the operating environment of the robot is reproduced, thereby causing the virtual robot model in the virtual space model to simulate subsequent operations, and the second processing circuit may cause the robot to continue operating so that the operations of the robot follow the operations of the virtual robot model.

[0117] According to the fifth aspect, the robot system can cause the robot to operate continuously using the simulation results of the operation of a virtual robot model in a virtual space model in which the operating environment of the robot is reproduced.

[0118] In any of the first to fifth aspects above, a robot system according to a sixth aspect of the present disclosure comprises a server having the first processing circuit, the third processing circuit, and the first memory, and a processing terminal having the second processing circuit and communicatively connected to the server via a communication network, the fourth processing circuit being provided on the server or the processing terminal, the server having a second memory that stores a plurality of operation programs corresponding to a plurality of tasks, the server transmitting the operation program corresponding to a requested task to the processing terminal, and the processing terminal using the received operation program to cause the robot to autonomously execute the requested task.

[0119] According to the sixth aspect, the robot system can cause the robot to execute various operation programs stored in the server via the processing terminal. This makes it possible to reduce the processing power and data capacity required of the processing terminal. Furthermore, because the server stores the virtual space model and performs processing related to the virtual space model, it is possible to reduce the processing power and data capacity required of the processing terminal.

[0120] A control method for a robot system according to a seventh aspect of the present disclosure includes causing a robot to operate in accordance with an operation program; collecting and accumulating detection results of sensors equipped in the robot as sensor information during the process of the robot operating in accordance with the operation program; generating a virtual space model including a virtual robot model and a virtual surrounding environment model that reproduce the robot and the environment surrounding the robot; detecting an abnormality in a signal sent from the sensor; when an abnormality in the signal sent from the sensor is detected, applying the sensor information to the virtual space model to reproduce the operating environment of the robot in the virtual space model; and causing the robot to continue operating while using information obtained from the virtual space model in which the operating environment of the robot is reproduced.

[0121] According to the seventh aspect, the same effects as those of the robot systems according to the other aspects of the present disclosure can be obtained. Part or all of the method of the present disclosure may be realized, for example, by a CPU, a circuit such as an LSI, an IC card, or a standalone module. Multiple elements included in the method of the present disclosure may be realized by a single device, or may be shared and realized by two or more devices.

[0122] The present disclosure may also be a computer program that causes a computer to execute a method according to each aspect of the present disclosure. Such a computer program can achieve the same effects as the method according to each aspect of the present disclosure. The computer program may, for example, be a program recorded on a non-transitory, tangible, computer-readable recording medium, and may be configured to be read from the recording medium using a recording medium drive device and installed on a computer. The computer program may, for example, be a program that can be distributed via a transmission medium such as the Internet, and may be configured to be downloaded and installed on a computer.

[0123] The functions of the elements disclosed herein can be performed using circuits or processing circuits, including general-purpose processors, special-purpose processors, integrated circuits, ASICs, conventional circuits, and / or combinations thereof, configured or programmed to perform the disclosed functions. A processor is considered a processing circuit or circuit because it includes transistors and other circuitry. In this disclosure, a circuit, unit, or means is hardware that performs the recited functions or hardware that is programmed to perform the recited functions. The hardware may be hardware disclosed herein or other known hardware that is programmed or configured to perform the recited functions. Where the hardware is a processor, which is considered a type of circuit, the circuit, means, or unit is a combination of hardware and software, and the software is used to configure the hardware and / or processor.

[0124] All numbers such as ordinal numbers and quantities used in this specification are provided as examples to specifically explain the technology of the present disclosure, and the present disclosure is not limited to the illustrated numbers. The connection relationships between components are provided as examples to specifically explain the technology of the present disclosure, and the connection relationships that realize the functions of the present disclosure are not limited to these.

[0125] Because the present disclosure may be embodied in various forms without departing from the scope of its essential characteristics, the scope of the present disclosure is defined by the appended claims rather than the description in the specification, and therefore the exemplary embodiments and modifications are intended to be illustrative and not limiting. All modifications within the scope of the claims and their equivalents are intended to be embraced by the claims.

Claims

1. A robot equipped with a sensor, a first memory that stores a virtual space model including a virtual robot model and a virtual surrounding environment model that reproduce the robot and the surrounding environment of the robot, a first processing circuit that changes the state of the virtual space model, a second processing circuit that controls the robot according to an operation program while using the detection result of the sensor, a third processing circuit that collects and accumulates the detection result of the sensor as sensor information in the process of the robot operating according to the operation program, and a fourth processing circuit that monitors the sensor and detects an abnormality in a signal sent from the sensor, wherein when an abnormality is detected by the fourth processing circuit, the first processing circuit applies the sensor information accumulated by the third processing circuit to the virtual space model to reproduce the operating environment of the robot in the virtual space model, and the second processing circuit continuously operates the robot while using information obtained from the virtual space model in which the operating environment of the robot is reproduced. A robot system.

2. The robot system according to claim 1, wherein the second processing circuit continuously operates the robot while using the detection result of a virtual sensor corresponding to the sensor included in the virtual space model in which the operating environment of the robot is reproduced.

3. The robot system according to claim 1, wherein the second processing circuit continuously operates the robot according to the operation program until a predetermined progress stage in the operation program is reached while using information obtained from the virtual space model in which the operating environment of the robot is reproduced.

4. The robot system according to claim 1, wherein the second processing circuit continuously operates the robot while using the detection result of a virtual sensor corresponding to the sensor included in the virtual space model in which the operating environment of the robot is reproduced and the virtual space model indicating the state at the time when the abnormality is detected.

5. The first processing circuit applies the operation program to the virtual space model in which the operation environment of the robot is reproduced, thereby simulating subsequent operations of the virtual robot model in the virtual space model. The second processing circuit continuously operates the robot so that the operation of the robot follows the operation of the virtual robot model. The robot system according to claim 1.

6. A server including the first processing circuit, the third processing circuit, and the first memory, and a processing terminal including the second processing circuit and communicably connected to the server via a communication network. The fourth processing circuit is provided in the server or the processing terminal. The server includes a second memory that stores a plurality of the operation programs corresponding to a plurality of tasks. The server transmits the operation program corresponding to the requested task to the processing terminal. The processing terminal autonomously executes the requested task on the robot using the received operation program. The robot system according to claim 1.

7. Operating a robot according to an operation program; collecting and storing detection results of sensors provided in the robot as sensor information during the process in which the robot operates according to the operation program; generating a virtual space model including a virtual robot model and a virtual surrounding environment model that reproduce the robot and the surrounding environment of the robot; detecting an abnormality in a signal sent from the sensor; when an abnormality in a signal sent from the sensor is detected, reproducing the operation environment of the robot in the virtual space model by applying the sensor information to the virtual space model; and continuously operating the robot while using information obtained from the virtual space model in which the operation environment of the robot is reproduced. A control method for a robot system.

Citation Information

Patent Citations

  • Legged robot and control method of the same

    JP2009184035A

  • Simulation device and simulation system

    JP2022039471A

  • Autonomous travel robot system

    JP2023092205A