Information processing device, robot controller, robot control system, and information processing method

The information processing device automatically selects control programs for robots based on location and robot data, addressing the challenge of efficient program selection in mobile robot systems, thereby reducing user burden and errors.

JP7770416B2Active Publication Date: 2025-11-14KYOCERA CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023554742
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-10-20
Filing Date
2022-10-20
Publication Date
2025-11-14
Estimated Expiration
2042-10-20

AI Technical Summary

Technical Problem

Existing robot control systems face challenges in efficiently selecting the correct control program for tasks, especially when robots are mobile and need to operate at different locations, leading to increased user burden and potential errors in program selection.

Method used

An information processing device estimates control programs for robots based on location information and robot-specific data, reducing the need for manual selection and minimizing errors.

Benefits of technology

This approach simplifies the control program selection process, reducing user burden and minimizing errors by automatically determining the appropriate program for a robot's tasks based on its location and characteristics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007770416000001
    Figure 0007770416000001
  • Figure 0007770416000002
    Figure 0007770416000002
  • Figure 0007770416000003
    Figure 0007770416000003
Patent Text Reader

Abstract

This information processing device comprises a control unit and a storage unit. The storage unit stores at least one control program for controlling a robot. On the basis of first position information indicating an installation location of a first robot to be controlled, the control unit infers, from the at least one control program, at least one first control program for controlling the first robot.
Need to check novelty before this filing date? Find Prior Art

Description

Cross-reference to related applications

[0001] This application claims priority to Japanese Patent Application No. 2021-171765 (filed October 20, 2021), the entire disclosure of which is incorporated herein by reference. [Technical Field]

[0002] The present disclosure relates to an information processing device, a robot controller, a robot control system, and an information processing method. [Background technology]

[0003] Conventionally, there is known a device that causes a robot to execute a group of tasks even if instructions from a user are insufficient (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent Publication No. 2021-30407 Summary of the Invention

[0005] An information processing device according to an embodiment of the present disclosure includes a control unit and a storage unit. The storage unit stores at least one control program for controlling a robot. The control unit estimates at least one first control program for controlling a first robot, which is a control target, from the at least one control program based on first location information indicating an installation location of the first robot.

[0006] A robot controller according to an embodiment of the present disclosure executes the first control program output from the information processing device.

[0007] A robot control system according to an embodiment of the present disclosure includes the information processing device, the robot controller, and the robot.

[0008] An information processing method according to an embodiment of the present disclosure includes estimating at least one first control program from at least one control program for controlling a robot, the first control program being stored in an information processing device, based on first position information indicating an installation location of the first robot. The control program controls the first robot, which is a control target. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 is a schematic diagram illustrating an example of the configuration of a robot control system according to an embodiment. [Figure 2] 1 is a block diagram illustrating an example of the configuration of a robot control system according to an embodiment. [Figure 3] FIG. 4 is a diagram illustrating an example of operation history data. [Figure 4] 10 is a flowchart showing an example of a procedure for estimating a first control program based on position information. [Figure 5] 10 is a flowchart showing an example of a procedure for estimating a first control program based on running information. DETAILED DESCRIPTION OF THE INVENTION

[0010] (Overview of Robot Control System 1) As shown in FIGS. 1 and 2 , a robot control system 1 according to one embodiment includes an information processing device 50, a database 80, a terminal device 60, a robot 10, and a robot controller 11. The information processing device 50 determines a program for controlling the operation of the robot 10, as described below. The database 80 stores programs for controlling the operation of the robot 10, as described below. The robot controller 11 controls the robot 10 to perform a predetermined task. The predetermined task may be, for example, the robot 10 moving or machining a workpiece. The robot 10 may be configured to be movable by being mounted on a platform 13, for example. The robot 10 may perform the task at a location to which the platform 13 moves. The robot 10 may be fixed at a predetermined position. The robot 10, the robot controller 11, or the platform 13 includes a position information acquisition device 12 that acquires position information of the robot 10.

[0011] The robot controller 11 executes a program that controls the movement of the robot 10, thereby causing the robot 10 to perform a predetermined task. The program that controls the movement of the robot 10 may be created, for example, by a user actually operating the robot 10. The program that controls the movement of the robot 10 may also be created using a robot simulator or the like. In this case, for example, the program that controls the movement of the robot 10 may be created in a state that is not connected to the network 40 (offline). The program that controls the movement of the robot 10 is stored in the robot controller 11 or the information processing device 50. The program that controls the movement of the robot 10 is also referred to as a control program.

[0012] The robot 10 performs a task by operating in accordance with a predetermined processing pattern. The processing pattern is expressed as an action or a combination of actions for the robot 10 to accomplish a specified task. For example, a processing pattern may be expressed as a combination of an action to grasp a workpiece, an action to transport the grasped workpiece, and an action to place the transported workpiece in a predetermined position. A task is a concept that defines a goal to be achieved by executing a series of actions included in a processing pattern. For example, a task may be a concept that defines a goal of transporting a workpiece from point A to point B. For example, a task may be a concept that defines a goal of placing a workpiece at point C. For example, a task may be a concept that defines a goal of combining a workpiece with another object. A processing pattern may be a combination of actions for the robot 10 to complete a task. A control program may be a set of instructions that cause the robot 10 to execute actions, etc., represented by at least one processing pattern so that the robot 10 can complete a task.

[0013] When the robot 10 is to be made to perform one task, one control program corresponding to the task to be performed is prepared in advance. When the task of the robot 10 is to be completed using multiple control programs or when the robot 10 is to be made to perform multiple tasks, multiple control programs may be prepared in advance. The user selects a control program corresponding to the task that the user wants the robot 10 to perform and instructs the robot controller 11 to make the robot 10 perform the task.

[0014] If the number of prepared control programs increases, the burden on the user of selecting a control program may increase. For example, the user may spend a lot of time searching for a control program corresponding to a task that the user wants the robot 10 to perform. Furthermore, the user may select the wrong control program.

[0015] Furthermore, if the robot 10 is a mobile collaborative robot, the robot control system 1 moves the robot 10 to a required work site when needed to perform the work. Collaborative work includes work performed in cooperation between a human and the robot 10, work performed in cooperation between other robots 10, or work performed in cooperation between the robot 10 and another machine. Collaborative work includes collaborative work performed in cooperation between a human and the robot 10. If the robot 10 is a mobile collaborative robot, it is necessary to select a control program corresponding to the work to be performed by the robot 10 at the location where the robot 10 is to be moved every time the robot 10 moves. As a result, the user may spend a lot of time searching for a control program every time the robot 10 is moved.

[0016] The information processing device 50 of the robot control system 1 acquires robot information about the robot 10 to be controlled. The robot information about the robot 10 to be controlled may include information about the robot 10 itself, as well as information about robots of the same type as the robot 10 to be controlled. The robot 10 to be controlled is also referred to as the first robot simply for the sake of distinction. The robot information about the first robot is also referred to as first robot information simply for the sake of distinction. The control program executed by the robot controller 11 to cause the first robot to perform a task is also referred to as the first control program simply for the sake of distinction. The first control program may be estimated based on the first robot information, as described below. The first robot information may include information about a robot of the same type as the first robot. A robot of the same type as the first robot may include, for example, a robot of the same product as the first robot or a robot having the same number of operating axes as the first robot. In other words, the first robot information may include information about the first robot or a robot of the same type as the first robot. The first robot or a robot of the same type as the first robot is also collectively referred to as a related robot.

[0017] In the robot control system 1, the information processing device 50 of the robot control system 1 may acquire setting data of the first robot as the first robot information. The setting data is, for example, data related to the first robot that is set when the first robot is used. The setting data may also be, for example, data related to the settings of the first robot itself, such as the user of the first robot, the time of use, or the installation location of the first robot. The setting data may be, for example, data that can be changed each time the first robot is used, or data that can be set by a simple user of the first robot who is not an administrator. The setting data may also be, for example, attribute information of the first robot that includes information that identifies the first robot. The setting data may also be data that can be compared with operation data, which will be described later.

[0018] The information processing device 50 of the robot control system 1 according to an embodiment of the present disclosure may acquire, as setting data, location information that identifies the installation location of the first robot. The location information that identifies the installation location of the first robot is also referred to as first location information. Based on the first location information, the information processing device 50 of the robot control system 1 estimates at least one first control program that the robot controller 11 will execute to cause the first robot to perform a task.

[0019] Furthermore, the information processing device 50 of the robot control system 1 may acquire, as the first robot information, operation data of the first robot or an associated robot including a robot of the same type as the first robot. For example, the information processing device 50 may acquire position information that identifies a position where the first robot or an associated robot including a robot of the same type as the first robot operates. The position where the first robot or an associated robot including a robot of the same type as the first robot operates is also referred to as a first operation position. Position information that identifies a position where the associated robot operates (first operation position) is also referred to as first operation position information. The first operation position information may include position information that identifies a position where the associated robot was previously installed (first past position). Position information that identifies the first past position is also referred to as first past position information. The first operation position information may include position information that identifies a position (first set position) where the associated robot is set to operate by a user. The first set position may be set by the user. Position information that identifies the first set position is also referred to as first set position information. The robot from which operation data is acquired may be the operation data of the first robot itself that is to be used, or may be the operation data of a robot of the same type as the first robot that is to be used. In other words, the information processing device 50 may acquire operation data of the first robot from which setting data is acquired, or may acquire operation data of a robot of the same type as the first robot from which setting data is acquired.

[0020] The information processing device 50 of the robot control system 1 can estimate at least one first control program to be executed by the robot controller 11 for causing the first robot to perform a task, based on the first robot information. The information processing device 50 of the robot control system 1 can also estimate at least one first control program based on setting data for the first robot and operation data for related robots, including the first robot or robots of the same type as the first robot. More specifically, the information processing device 50 can estimate at least one first control program by comparing the setting data and operation data.

[0021] Specifically, the information processing device 50 of the robot control system 1 according to an embodiment of the present disclosure can estimate at least one first control program to be executed by the robot controller 11 to cause the first robot to perform a task, based on the first position information and the first operating position information. Furthermore, the information processing device 50 of the robot control system 1 estimates at least one first control program to be executed by the robot controller 11 to cause the first robot to perform a task, based on the first robot information different from the first position information and the first operating position information.

[0022] By operating as described above, the information processing device 50 of the robot control system 1 according to this embodiment can acquire the first robot information and estimate the control program to be executed by the robot 10 (first robot) to be controlled, even when multiple control programs are recorded in the storage unit 52 of the information processing device 50 or a separate storage device. Furthermore, when acquiring the first position information, the information processing device 50 of the robot control system 1 can extract a control program for the robot 10, which is to be moved to a required location when needed to perform a task, when the robot 10 is installed at a work site. This can reduce the burden on the user of selecting a control program. Furthermore, it can reduce the possibility that the user will select the wrong control program.

[0023] An example of the configuration of the robot control system 1 according to this embodiment will be described below.

[0024] (Configuration example of robot control system 1) At least two components of the robot control system 1 are communicatively connected to each other via a network 40. At least two components of the robot control system 1 may also be communicatively connected without using the network 40. At least two components of the robot control system 1 may also be communicatively connected via a wired or wireless connection. At least two components of the robot control system 1 may also be communicatively connected via a dedicated line. At least two components of the robot control system 1 may also be communicatively connected to each other in various other forms, without being limited to these examples.

[0025] 1, the information processing device 50 and the robot controller 11 are communicatively connected via a gateway device 30, but they may also be communicatively connected via a wireless base station, or may be communicatively connected without the gateway device 30 or a wireless base station. The gateway device 30 refers to a radio for connecting terminals with wireless connection capabilities to each other or to another network 40. The robot controllers 11 may also be communicatively connected to each other via a local network 20. The local network 20 may be configured by the gateway device 30, or may be configured by another communication device.

[0026] The number of information processing devices 50 and terminal devices 60 is not limited to three as illustrated in Fig. 1, but may be two or less, or four or more. The number of combinations of robots 10 and robot controllers 11 is not limited to four as illustrated, but may be three or less, or five or more. One robot controller 11 may control one robot 10 as illustrated, or may control two or more robots 10.

[0027] Each component will be specifically described below.

[0028] <Information processing device 50> The information processing device 50 includes a control unit 51, a storage unit 52, and an interface 53. The information processing device 50 is connected to the network 40 via the interface 53 so as to be able to communicate with each other.

[0029] The control unit 51 may be configured to include at least one processor to realize various functions of the information processing device 50. The processor may execute programs that realize various functions of the information processing device 50. The processor may be realized as a single integrated circuit. An integrated circuit is also called an IC (Integrated Circuit). The processor may be realized as multiple integrated circuits and discrete circuits that are connected to each other in a communicative manner. The processor may be configured to include a CPU (Central Processing Unit). The processor may be configured to include a DSP (Digital Signal Processor) or a GPU (Graphics Processing Unit). The processor may be realized based on various other known technologies.

[0030] The information processing device 50 further includes a storage unit 52. The storage unit 52 may be configured to include an electromagnetic storage medium such as a magnetic disk, or may be configured to include a memory such as a semiconductor memory or a magnetic memory. The storage unit 52 may be configured as an HDD (Hard Disk Drive) or an SSD (Solid State Drive). The storage unit 52 stores various information, programs executed by the control unit 51, etc. The storage unit 52 may function as a work memory for the control unit 51. At least a part of the storage unit 52 may be included in the control unit 51. At least a part of the storage unit 52 may be configured as a storage device separate from the information processing device 50, or may be configured as at least a part of the database 80.

[0031] The interface 53 may be configured to include a communication device configured to be able to communicate via wired or wireless communication. The interface 53 is also referred to as a communication unit. The communication device may be configured to be able to communicate using a communication method based on various communication standards. The interface 53 can be configured using known communication technology. A detailed description of the hardware of the interface 53 will be omitted. The functions of the interface 53 may be realized by a single device, or may be realized by separate devices for each connection destination.

[0032] In the robot control system 1, the information processing device 50 may be configured as a server device. The server device may be configured to include at least one computer. The server device may be configured to cause multiple computers to execute parallel processing. The server device does not need to be configured to include a physical housing, and may be configured based on virtualization technology such as a virtual machine or a container orchestration system. The server device may be configured using a cloud service. When the server device is configured using a cloud service, it may be configured by combining managed services. In other words, the functions of the information processing device 50 may be realized as a cloud service.

[0033] The server device may include at least one server group. The server group functions as a control unit 51. The number of server groups may be one or two or more. When there is one server group, the functions realized by one server group include the functions realized by each server group. The server groups are connected to each other so that they can communicate with each other via wired or wireless communication.

[0034] Although the information processing device 50 is depicted as a single configuration in FIGS. 1 and 2, multiple configurations can be operated as a single system as needed. In other words, the information processing device 50 is configured as a platform with variable capacity. By using multiple configurations as the information processing device 50, even if one configuration becomes inoperable due to an unforeseen event such as a natural disaster, the system can continue to operate using the other configurations. In this case, each of the multiple configurations is connected by a line, whether wired or wireless, and is configured to be able to communicate with each other. The multiple configurations may be configured across a cloud environment and an on-premises environment.

[0035] The information processing device 50 is also connected to the terminal device 60 and the robot controller 11, for example, via a line that may be wired or wireless. The information processing device 50, the terminal device 60, and the robot controller 11 are all equipped with communication devices that use standard protocols, allowing for two-way communication. The information processing device 50 may be configured to be included in the robot controller 11. The information processing device 50 may be configured integrally with a storage device that stores a control program or information related to the robot 10.

[0036] <Database 80> The database 80 corresponds to a storage device configured separately from the information processing device 50. The database 80 may be configured to include an electromagnetic storage medium such as a magnetic disk, or may be configured to include a memory such as a semiconductor memory or a magnetic memory. The database 80 may be configured as an HDD, an SSD, or the like. The database 80 itself may have a processor. The processor of the database 80 may be configured identically or similarly to the processor of the control unit 51 of the information processing device 50. When the database 80 itself has a processor, the database 80 may manage a control program or various information associated with the control program using the processor. The database 80 may store the control program of the robot 10, or may store various information associated with the control program as described below. The database 80 may be located in the cloud. Even if the database 80 is located in the cloud, the information processing device 50 may be located on-site, such as in a factory. Note that the information processing device 50 and the database 80 may be configured integrally.

[0037] The database 80 may include at least one database group. The number of database groups may be one or two or more. The number of database groups may be increased or decreased as appropriate based on the amount of data managed by the server device functioning as the information processing device 50 and the availability requirements required of the server device functioning as the information processing device 50. The database group may be communicably connected to the server device functioning as the information processing device 50 or each server group via wired or wireless communication.

[0038] <Terminal Device 60> The terminal device 60 may include at least one processor configured identically or similarly to the processor of the control unit 51 of the information processing device 50. The terminal device 60 may include a storage device configured identically or similarly to the storage unit 52 of the information processing device 50. The terminal device 60 may include a communication device configured identically or similarly to the interface 53 of the information processing device 50.

[0039] The terminal device 60 may include an output device that outputs information to the user and an input device that receives input from the user. The terminal device 60 may be configured to provide a GUI (Graphical User Interface).

[0040] The output device may be configured to include a display device. The display device may be configured to include, for example, a liquid crystal display (LCD), an organic electroluminescence (EL) display, an inorganic electroluminescence (EL) display, or a plasma display panel (PDP). The display device is not limited to these displays and may be configured to include displays of various other types. The display device may be configured to include a light-emitting device such as an LED (light-emitting diode). The display device may be configured to include various other devices. The output device may be configured to include an audio output device such as a speaker that outputs auditory information such as sound. The output device is not limited to these examples and may be configured to include various other devices.

[0041] The input device may include, for example, a touch panel or touch sensor, or a pointing device such as a mouse. The input device may include physical keys. The input device may include an audio input device such as a microphone. The input device is not limited to these examples and may include various other devices.

[0042] The terminal device 60 may be configured as a tablet terminal. The terminal device 60 may be configured as a mobile phone terminal such as a feature phone or a smartphone. The terminal device 60 may be configured as a PC terminal such as a desktop personal computer (PC) or a notebook PC. The terminal device 60 is not limited to these examples and may be configured as various devices that can provide a GUI and communication functions.

[0043] The terminal device 60 may be used by a user to store in advance in the information processing device 50 a program that specifies the operation to be performed by the robot 10. The terminal device 60 may also be used to monitor the state of the robot 10. The terminal device 60 is not limited to these examples and may provide various other functions. The terminal device 60 may be provided together with the robot controller 11. When the terminal device 60 is provided together with the robot controller 11, the robot controller 11 itself may have an input device or an output device. The robot controller 11 may also be included in the terminal device 60.

[0044] <Robot Controller 11> The robot controller 11 downloads a control program from the information processing device 50. By executing the downloaded control program, the robot controller 11 outputs information for controlling the operation of the robot 10 to the robot 10 and causes the robot 10 to perform a task specified in the control program. The robot controller 11 may execute a control program stored in the robot controller 11 itself. For example, the robot controller 11 may cause the robot 10 to perform a task of moving a workpiece. The robot controller 11 may cause the robot 10 to perform various tasks, including but not limited to this. The robot controller 11 may or may not be connected to a cloud computing environment. When the robot controller 11 is not connected to a cloud computing environment, the operation of the robot controller 11 is completed in an on-premises environment. When the operation of the robot controller 11 is completed in an on-premises environment, the operation of the information processing device 50 is executed by the robot controller 11.

[0045] The robot controller 11 may include a communication device that downloads the control program from the information processing device 50. The communication device of the robot controller 11 may be configured the same as or similar to the communication device of the information processing device 50. The robot controller 11 may include a processor that generates information for controlling the operation of the robot 10 by executing the control program. The processor of the robot controller 11 may be configured the same as or similar to the processor of the control unit 51 of the information processing device 50.

[0046] In the configuration illustrated in FIG. 1, one robot controller 11 is connected to one robot 10. One robot controller 11 may be connected to two or more robots 10. One robot controller 11 may control only one robot 10, or two or more robots 10. The number of robot controllers 11 and robots 10 is not limited to two, and may be one, or three or more. Furthermore, the robot controller 11 may be integrated with an information processing device 50, and the function of the robot controller 11 may be realized as one function of the information processing device 50.

[0047] <Robot 10> The robot 10 may be configured as a robot arm having an arm. The arm may be configured as, for example, a 6-axis or 7-axis vertical articulated robot. The arm may be configured as a 3-axis or 4-axis horizontal articulated robot or a SCARA robot. The arm may be configured as a 2-axis or 3-axis Cartesian robot. The arm may be configured as a parallel link robot or the like. The number of axes configuring the arm is not limited to those exemplified.

[0048] The robot 10 may be equipped with an end effector attached to the arm. The end effector may include, for example, a gripping hand configured to grip a workpiece. The gripping hand may have multiple fingers. The gripping hand may have two or more fingers. The fingers of the gripping hand may have one or more joints. The end effector may include a suction hand configured to pick up a workpiece by suction. The end effector may include a scooping hand configured to scoop up a workpiece. The end effector may include a tool such as a drill and be configured to perform various processes, such as drilling a hole in a workpiece. The end effector is not limited to these examples and may be configured to perform various other operations.

[0049] The robot 10 can control the position of the end effector by operating the arm. The end effector may have an axis that serves as a reference for the direction in which it acts on a workpiece. If the end effector has an axis, the robot 10 can control the direction of the axis of the end effector by operating the arm. The robot 10 controls the start and end of the operation of the end effector acting on the workpiece. The robot 10 can move or process a workpiece by controlling the operation of the end effector while controlling the position of the end effector or the direction of the axis of the end effector.

[0050] The robot 10 may be configured as an automated guided vehicle (AGV). The robot 10 may be configured as a drone. The robot 10 is not limited to a robot arm or an AGV, and may be configured in various other forms such as a vehicle, electronic device, or controlled machine. When the robot 10 is configured as an AGV, a drone, or the like, the position information of the robot 10 may include position information of a location where the robot 10 is charged or a location where the robot 10 is waiting.

[0051] The robot 10 may further include a sensor that detects the state of at least one component of the robot 10. The sensor may detect information about the actual position or posture of at least one component of the robot 10, or about the velocity or acceleration of at least one component of the robot 10. The sensor may detect a force acting on at least one component of the robot 10. The sensor may detect a current flowing through a motor that drives at least one component of the robot 10, or a torque of the motor. The sensor can detect information obtained as a result of the actual operation of the robot 10. The robot controller 11 can grasp the result of the actual operation of the robot 10 by obtaining the detection results of the sensors.

[0052] Unlike devices that perform predetermined tasks on products and process different types of products by setting conditions according to the type of product, the robot 10 is capable of generating a control program tailored to the task, and by generating a control program, it can operate to perform various tasks.

[0053] The robot 10 is mounted on a pedestal 13. The pedestal 13 is configured to move the robot 10 to any location. The pedestal 13 is equipped with a position information acquisition device 12. The position information acquisition device 12 acquires position information of the robot 10 and outputs the information to an information processing device 50. The position information acquisition device 12 may be configured to include a device capable of acquiring position information using a satellite positioning system such as a Global Positioning System (GPS). The position information acquisition device 12 may be configured to include a device capable of acquiring position information such as an Indoor Messaging System (IMES), a Radio Frequency Identifier (RFID), a Local Area Network (WLAN), or Bluetooth (registered trademark) Low Energy (BLE).

[0054] (Example of operation of robot control system 1) In the robot control system 1, the control unit 51 of the information processing device 50 stores a control program in the memory unit 52 in association with information identifying the control program, such as a program number, a program name, or a task name. The control unit 51 also stores operation data in association with the control program in the memory unit 52. The operation data includes operation position information that identifies the position where the robot 10 operates. The operation position information may include position information that identifies a position where the robot 10 was previously installed (past position). Position information that identifies the past position is also referred to as past position information. The operation position information may include position information that identifies a position (set position) where the robot 10 is set to operate by a user. The set position may be set by the user. Position information that identifies the set position is also referred to as set position information.

[0055] The operation data may include the time when a control program was executed and information identifying the executed control program. The operation data may also include operation history data in which the time when a control program was executed, information identifying the executed control program, and position information of the robot 10 when the control program was executed are recorded in association with each other. The position information of the robot 10 when the control program was executed, which is included in the operation history data, corresponds to past position information of the robot 10. The position information of the first robot when the control program was executed corresponds to first past position information. The first past position information may include position information of a robot of the same type as the first robot when the control program was executed on a robot of the same type as the first robot.

[0056] The operation data includes operation plan data in which a control program to be executed by the robot controller 11 is recorded in association with position information of the robot 10 when the control program is executed. The position information of the robot 10 when the control program is executed, included in the operation plan data, corresponds to set position information. The position information of the first robot when the control program is executed corresponds to first set position information. The first set position information may include position information of a robot of the same type as the first robot when the control program is executed on the robot of the same type as the first robot. The operation plan data may further include a combination of multiple control programs to be executed by the robot controller 11 to control multiple robots 10.

[0057] The past location information (first past location information) of the operation history data and the set location information (first set location information) of the operation plan data are included in the operation location information in the operation data.

[0058] The user moves the robot 10 and the robot controller 11 mounted on the stand 13 to a work location where the user wants the robot 10 to perform a task. The user starts up the robot 10 and the robot controller 11 that have been moved to the work location. The robot 10 and the robot controller 11 are connected to the network 40 when started up. The robot controller 11 executes a control program specified by the information processing device 50. The robot controller 11 may download and execute a control program from the information processing device 50. The robot controller 11 may also execute a control program specified by the information processing device 50 from among control programs stored in the robot controller 11 itself in advance.

[0059] <Operation history data> When the robot controller 11 executes a control program, it outputs the time when the execution of the control program started or ended and information identifying the executed control program to the information processing device 50. The robot controller 11 also acquires position information of the robot 10 from the position information acquisition device 12 and outputs the information to the information processing device 50. The information output to the information processing device 50 when the robot controller 11 executes a control program is also referred to as executed information. The information included in the executed information and identifying the position where the robot 10 performed the task is also referred to as executed position information.

[0060] The execution information may include not only the execution location information but also information regarding the execution status of the control program. The information regarding the execution status may include the execution frequency, the most recent execution time, or information identifying the robot 10 that executed the control program. The execution information may include information regarding the user who executed the control program. The information regarding the user may include information identifying the owner, administrator, activator, or user of the robot 10. The execution information may include information regarding the environment in which the robot 10 was caused to perform the task.

[0061] The control unit 51 of the information processing device 50 records the execution information obtained from the robot controller 11 as operation history data. The execution information regarding a task previously performed by the robot 10 may be robot past information regarding the past of the robot 10. Location information specifying the installation location when the robot 10 previously performed a task corresponds to past location information. Location information specifying the installation location when a first robot previously performed a task corresponds to first past location information. The first past location information may include location information specifying the installation location of a robot of the same type as the first robot when the robot of the same type as the first robot previously performed a task.

[0062] The execution information may be generated automatically based on the track record of work performed by the robot 10, or may be generated based on information input by the user. For example, the user may input information so that execution information is generated that sets a control program (PA) to be applied to the robot 10 (RA) and a control program (PB) to be applied to another robot 10 (RB) at a certain time or period.

[0063] The robot control system 1 can cause multiple robots 10 to perform a task in cooperation with each other. For example, multiple robots 10 arranged in the same group can exist in a factory and perform a task in cooperation with each other at the same time. A group of robots 10 may be formed by robots 10 connected to the same local network 20, or may be formed by virtually dividing the robots 10.

[0064] When multiple robots 10 perform a task in cooperation with each other, the robot controller 11 executes a control program so that the multiple robots 10 perform the task in cooperation with each other at the same time or during at least a partially overlapping period. Each of the multiple robot controllers 11 may execute one control program to cause the robots 10 to perform the task. Alternatively, one robot controller 11 may execute multiple control programs to cause the multiple robots 10 to perform the task.

[0065] The robot controller 11 outputs execution information of each control program executed at the same time or during at least a partially overlapping period to the information processing device 50. The control unit 51 of the information processing device 50 records the execution information of the control programs executed at the same time or during at least a partially overlapping period as operation history data, collectively grouped together. For example, if there are multiple robots 10 arranged in the same group in a factory and they work at the same time, the control unit 51 records the execution information of the control programs applied to make each robot 10 perform work as collectively grouped together as operation history data.

[0066] The control unit 51 stores the operation history data in the memory unit 52, as exemplified in FIG. 3. In FIG. 3, "time" is information regarding the time or period when the robot 10 performs a task. "RID" is information identifying the robot 10. "PID" is information identifying the control program executed by the robot controller 11 that controls the robot 10. "position" is position information of the robot 10 when the control program is executed. In FIG. 3, the position of the robot 10 is identified by (X, Y). X represents longitude. Y represents latitude. In other words, the position of the robot 10 is identified by latitude and longitude. The position of the robot 10 may be further identified by altitude. The position of the robot 10 is not limited to this and may be identified by coordinates in any coordinate system.

[0067] The row with time T1 indicates that three robots 10 performed a task at the same time (T1) or during a period where at least some of the time (T1) overlapped. The first robot 10 at time (T1) is identified by RID=AA. The first robot 10 at time (T1) is controlled by a control program identified by PID=2. The first robot 10 at time (T1) performed a task at a position represented by (X1, Y1). The second robot 10 at time (T1) is identified by RID=AB. The second robot 10 at time (T1) is controlled by a control program identified by PID=1. The second robot 10 at time (T1) performed a task at a position represented by (X2, Y2). The third robot 10 at time (T1) is identified by RID=AD. The third robot 10 at time (T1) is controlled by a control program identified by PID = 1. The third robot 10 at time (T1) performed a task at a position represented by (X3, Y3).

[0068] The row where the time is represented by T2 indicates that one robot 10 performed a task. The first robot 10 at time (T2) is identified by RID=CA. The first robot 10 at time (T2) is controlled by a control program identified by PID=7. The first robot 10 at time (T2) performed a task at a position represented by (X4, Y4).

[0069] The row with time T3 indicates that two robots 10 performed a task at the same time (T3) or during a period where at least some of the time (T3) overlapped. The first robot 10 at time (T3) is identified by RID=AA. The first robot 10 at time (T3) is controlled by a control program identified by PID=2. The first robot 10 at time (T3) performed a task at a position represented by (X5, Y5). The second robot 10 at time (T3) is identified by RID=CA. The second robot 10 at time (T3) is controlled by a control program identified by PID=7. The second robot 10 at time (T3) performed a task at a position represented by (X6, Y6).

[0070] The row with time T4 indicates that three robots 10 performed a task at the same time (T4) or during a period where at least some of the time (T4) overlapped. The first robot 10 at time (T4) is identified by RID=AB. The first robot 10 at time (T4) is controlled by a control program identified by PID=3. The first robot 10 at time (T4) performed a task at a position represented by (X7, Y7). The second robot 10 at time (T4) is identified by RID=AA. The second robot 10 at time (T4) is controlled by a control program identified by PID=1. The second robot 10 at time (T4) performed a task at a position represented by (X8, Y8). The third robot 10 at time (T4) is identified by RID=AD. The third robot 10 at time (T4) is controlled by the control program identified by PID = 1. The third robot 10 at time (T4) performed a task at a position represented by (X9, Y9).

[0071] The robots 10 listed on the same time line in Fig. 3 can be considered to belong to the same group. The information listed on the same time line in Fig. 3 is information indicating the relationship between the robot 10 (first robot) that will newly perform a task as a control target and the other robots 10, and is also referred to as group information.

[0072] <Operation plan data> The user may set a control program to be executed by the robot controller 11 in association with the position of the robot 10 when the control program is executed. Specifically, the user may input a setting that associates the control program with the position of the robot 10 to the terminal device 60. The control unit 51 of the information processing device 50 may generate operation plan data that records the control program in association with the first set position information, based on the input of the setting that associates the control program with the position of the robot 10. The operation plan data may be expressed in the same manner as the operation history data.

[0073] <Estimation of control program> The control unit 51 estimates a control program (first control program) to be executed by the robot controller 11 that controls the robot 10 (first robot) to be controlled, based on information about the robot 10. In other words, the control unit 51 estimates the first control program to be applied to the first robot, based on information about the robot 10.

[0074] <<Location-based estimation>> The control unit 51 estimates the first control program from at least one control program recorded in the information processing device 50 based on the position information of the first robot (first position information) included in the first robot information.

[0075] The control unit 51 acquires first position information. The control unit 51 estimates the first control program based on a comparison between the first position information and operation position information included in the operation data recorded in the storage unit 52 of the information processing device 50. Specifically, the control unit 51 calculates, for each control program, the distance from the position of the first robot to the operation position when the control program is executed. When the position of the robot 10 is expressed by latitude and longitude, the control unit 51 may calculate the distance between the two positions using Huberny's formula. However, the control unit 51 is not limited to this and may calculate the distance using various methods.

[0076] The control unit 51 extracts a control program for which the calculated distance is equal to or less than a predetermined distance, that is, a control program for which the operating position is within a predetermined distance from the position of the first robot, and outputs and displays the extracted control program to the terminal device 60. The predetermined distance can be set as appropriate to a value such as 2 meters.

[0077] In the example of FIG. 3 , the operating position of the first robot 10 in the row indicated by time T1 is assumed to be within a predetermined distance from the position of the first robot. In this case, the control unit 51 estimates the control program identified by PID=2 executed by the first robot 10 in the row indicated by time T1 as the first control program. Also, the operating position of the first robot 10 in the row indicated by time T3 is assumed to be within a predetermined distance from the position of the first robot. In this case, the control unit 51 estimates the control program identified by PID=2 executed by the first robot 10 in the row indicated by time T1 as the first control program. The control unit 51 may display the control program associated with the executed information higher the more pieces of executed information there are in which the operating position is within a predetermined distance from the position of the first robot. The control unit 51 may assign a higher ranking to the control program associated with the executed information in which the more pieces of executed information there are in which the operating position is within a predetermined distance from the position of the first robot.

[0078] In other words, the control unit 51 may deduce at least one first control program based on the first position information and the first operating position information.

[0079] When the control unit 51 cannot accurately acquire the first position information, the control unit 51 may estimate a control program based on information about other robots 10 in the same group, and output the control program to the terminal device 60 for display.

[0080] The control unit 51 presents at least one control program estimated based on the first position information to the terminal device 60 by outputting it to the terminal device 60 and displaying it to the user. The user selects a control program to execute from the presented control programs. The user also selects whether to execute or reject the presented control program. The terminal device 60 accepts the user's input of the selection. When a control program to execute is selected, the terminal device 60 outputs information identifying the selected control program to the robot controller 11. The robot controller 11 executes the selected control program and causes the robot 10 to perform a task.

[0081] The control unit 51 may record execution information when the robot controller 11 executes the control program in the storage unit 52 as operation history data.

[0082] <<Estimation based on running information>> The control unit 51 acquires information about the control program currently being executed by the robot controller 11 as information about the robot 10. That is, the control unit 51 acquires information about the task currently being executed by the robot 10 as information about the robot 10. Information about the task currently being executed by the robot 10 is also referred to as in-execution information.

[0083] The control unit 51 searches for and extracts, from the execution information, robots 10 that are currently executing a task or preparing to execute a task among the robots 10 in the same group as the first robot. In other words, the control unit 51 searches for and extracts, from the robot controllers 11 that control the robots 10 in the same group as the first robot, robot controllers 11 that are currently executing a control program or preparing to execute a control program.

[0084] When the robot controller 11 that controls the robot 10 in the same group as the first robot is executing or preparing to execute a control program, the control unit 51 acquires information that identifies the control program.

[0085] The control unit 51 calculates the number of robots 10 to be coordinated as the sum of the number of robots 10 extracted by the search and the number of robots 10 to be controlled (first robots) to be newly made to perform a task. The control unit 51 searches the operation data for records in which the same number of robots 10 as the number of robots 10 to be coordinated were made to perform a task in cooperation.

[0086] Furthermore, the control unit 51 acquires information specifying the control program that is being executed or is preparing to be executed by the robot controller 11 that controls the robot 10 extracted by the search. When multiple robots 10 are extracted, the control unit 51 acquires information specifying the control program to be applied to each robot 10. In other words, the control unit 51 acquires combinations of control programs that are being executed or are preparing to be executed within the same group. The control unit 51 searches for and extracts data in which control programs with the same combination have been executed from the operation history data.

[0087] For example, suppose the number of robots 10 extracted by the search is two. Also, suppose the number of robots 10 to be newly made to perform a task is one. In other words, suppose the number of robots 10 to be made to work cooperatively is three. Also, suppose the control program that is being executed or preparing to be executed by the robot controller 11 that controls the two robots 10 extracted by the search is identified by PID=1.

[0088] 3, two pieces of data in the rows with times T1 and T4 are extracted as data indicating that the number of robots 10 working in cooperation is three. Also, two pieces of data in the rows with times T1 and T4 are extracted as data that meets the condition that the control programs applied to two of the three robots 10 are identified by PID=1.

[0089] In the data in the row where the time is T1, the control program to be applied to the second and third robots 10 is identified by PID=1. In addition, in the data in the row where the time is T1, the control program to be applied to the first robot 10 is identified by PID=2. Therefore, the control unit 51 estimates the control program identified by PID=2 as the control program (first control program) to be applied to the robot 10 (first robot) to be newly controlled to perform a task.

[0090] In the data in the row where the time is T4, the control programs to be applied to the second and third robots 10 are identified by PID=1. In addition, in the data in the row where the time is T4, the control program to be applied to the first robot 10 is identified by PID=3. Therefore, the control unit 51 also estimates the control program identified by PID=3 as the control program (first control program) to be applied to the robot 10 (first robot) to be newly controlled to perform a task.

[0091] In the example described above, the control unit 51 estimates the control program identified by PID=2 and the control program identified by PID=3, and outputs them to the terminal device 60 for display.

[0092] The control unit 51 presents the control program estimated based on the running information to the terminal device 60 by outputting it to the terminal device 60 and displaying it to the user. The user selects a control program to execute from the presented control programs. The user also selects whether to execute or reject the presented control program. The terminal device 60 accepts the user's input of the selection. When the control program to execute is selected, the terminal device 60 outputs information identifying the selected control program to the robot controller 11. The robot controller 11 executes the selected control program and causes the robot 10 to perform a task.

[0093] The control unit 51 may record execution information when the robot controller 11 executes the control program in the storage unit 52 as operation history data.

[0094] <<Summary>> As described above, the control unit 51 estimates the first control program based on information about the robot 10. The information about the robot 10 includes position information about the first robot or running information about robots 10 in the same group as the first robot. The information about the robot 10 is not limited to these and may include various other information. The control unit 51 may estimate the first control program based on the position information and the running information separately, or may perform both together. The control unit 51 may narrow down candidates for the first control program by estimating the first control program based on multiple pieces of information.

[0095] (Example of information processing procedure) The robot control system 1 may execute an information processing method including the procedures of the flowcharts illustrated in Figures 4 and 5. The information processing method may be realized as an information processing program executed by a processor constituting the control unit 51 of the information processing device 50. The information processing program may be stored in a non-transitory computer-readable medium.

[0096] The robot control system 1 can estimate the first program based on information about the robot 10. Specifically, the first control program can be estimated based on the position information by executing the steps of the flowchart, an example of which is shown in Figure 4.

[0097] The robot control system 1 moves the robot 10, which is to be newly controlled and perform a task, to a work location (step S1). The robot 10 may be moved by a user. The robot 10 may be moved by running the platform 13. The control unit 51 acquires information about the robot 10, which is to be newly controlled and perform a task (step S2). Specifically, in this example, the control unit 51 acquires position information about the robot 10.

[0098] The control unit 51 calculates the distance between the operation position in the operation data recorded in the information processing device 50 and the position of the robot 10 (step S3). Based on the calculated distance, the control unit 51 determines whether there is a control program that has been executed within a predetermined distance (step S4).

[0099] If there is a control program whose operating position is within a predetermined distance from the position of the robot 10 (step S4: YES), the control unit 51 extracts the control program that satisfies the condition and displays it on the terminal device 60 (step S5). If there is no control program that satisfies the condition (step S4: NO), the control unit 51 displays a list of the control programs stored in the storage unit 52 on the terminal device 60 (step S6).

[0100] The control unit 51 receives an input of a control program selection from the user (step S7). Specifically, the terminal device 60 receives an input of a control program selection from the user. The control unit 51 acquires the result of the user's control program selection from the terminal device 60. The control unit 51 causes the robot controller 11 to execute the selected control program (step S8). The control unit 51 records execution information, including position information of the robot 10 when the control program was executed, as operation data in the memory unit 52 (step S9). The control unit 51 does not need to execute the procedure of step S9. After executing the procedure of step S9, the control unit 51 ends execution of the procedure of the flowchart in FIG. 4.

[0101] The robot control system 1 can estimate the first control program based on the operation data by executing the procedure of the flowchart illustrated in FIG.

[0102] The robot control system 1 moves the robot 10 (first robot) to be newly controlled to perform a task to a work location (step S11). The control unit 51 acquires information about the robot 10 (first robot) to be newly controlled to perform a task (step S12). In this example, the control unit 51 acquires position information about the robot 10. The control unit 51 checks the control programs executed by other robots 10 in the same group as the robot 10 (first robot) to be newly controlled to perform a task (step S13). That is, the control unit 51 acquires operation data and checks the control programs that are being executed or being prepared to be executed by the other robots 10.

[0103] The control unit 51 determines whether or not a control program executed in cooperation with another robot 10 exists in the operation data recorded in the information processing device 50 (step S14). If a control program executed in cooperation with another robot 10 exists (step S14: YES), the control unit 51 extracts the control program and displays it on the terminal device 60 (step S15). If a control program executed in cooperation with another robot 10 does not exist (step S14: NO), the control unit 51 displays a list of control programs stored in the storage unit 52 on the terminal device 60 (step S16).

[0104] The control unit 51 receives an input of a control program selection from the user (step S17). The control unit 51 causes the robot controller 11 to execute the selected control program (step S18). The control unit 51 records execution information, including position information of the robot 10 when the control program is executed, as operation data in the storage unit 52 (step S19). The control unit 51 does not need to execute the procedure of step S19. After executing the procedure of step S19, the control unit 51 ends execution of the procedure of the flowchart in FIG. 5.

[0105] (summary) As described above, according to the robot control system 1 of this embodiment, a control program corresponding to a task to be performed by the robot 10 is estimated and extracted based on information about the robot 10. Furthermore, for the robot 10 that is moved to a required location when needed to perform a task, a control program is estimated and extracted simply by installing the robot 10 at a work site. In this way, the burden on the user of selecting a control program can be reduced. Furthermore, the possibility that the user will select the wrong control program can be reduced. As a result, the efficiency of collaborative work with the robot 10 can be improved.

[0106] Furthermore, the efficiency of using the robot 10 can be improved. Furthermore, the efficiency of collaborative work involving the robot 10 can be improved.

[0107] (Other embodiments) The information processing device 50 of the robot control system 1 according to the present disclosure can estimate, based on the first robot information, at least one first control program to be executed by the robot controller 11 for causing the first robot to perform a task. Differences from the above-described embodiment will be described below. The following embodiment may be implemented simultaneously with the above-described embodiment, or may be implemented separately.

[0108] <About types of information> The information about the robot 10 may include attribute information about the robot 10. The attribute information may include, for example, information specifying the type of hand or end effector attached to the robot 10, information specifying the configuration of the arm, such as the number of joints, and information about the manufacturer of the robot 10. If such attribute information is available, it is possible to predict, for example, the work of a robot 10 installed nearby, and thus predict missing work in a series of work tasks, and infer the first control program of the first robot.

[0109] Furthermore, the information about the robot 10 may include information about the user who causes the robot 10 to perform a task. The information about the user may include information that identifies the owner, manager, activator, or user of the robot 10. The information about the robot 10 may include information about the environment in which the robot 10 is caused to perform a task. If such information about the user is available, it is possible to predict, for example, the tasks of a nearby robot 10, and thus to predict missing tasks in a series of tasks, and to infer a first control program for the first robot.

[0110] The control unit 51 of the information processing device 50 can estimate the first control program based on at least one of the information on the robot 10 and the operation data of the robot 10. The control unit 51 may estimate the first control program based on only one of these pieces of information, or may estimate the first control program based on a combination of multiple pieces of information.

[0111] The control unit 51 may estimate the first control program based on information different from the position information among the information about the robot 10. The information different from the position information among the information about the robot 10 may include, for example, attribute information about the robot 10, information about the user, or information about the environment in which the robot 10 is caused to perform a task.

[0112] <About the 10 Robot Group> The control unit 51 may regard multiple robots 10 connected to the same local network 20 or network 40 as robots 10 belonging to the same group. The local network 20 and the network 40 may include the Internet, an intranet, a communication network using Bluetooth (registered trademark), or a communication network using 4G, LTE, or 5G. The control unit 51 is not limited to these examples, and may regard, for example, robots 10 located on a specific floor as robots 10 belonging to the same group, or robots 10 located on the same production line in a factory as robots 10 belonging to the same group. The connection from the robots 10 to the local network 20 or network 40 may be realized via the robot controller 11. The robot controller 11 may function as an edge computer.

[0113] For example, the control unit 51 may regard the robot 10 (first robot) to be newly controlled to perform a task and other robots 10 connected via the local network 20 as robots 10 belonging to the same group. The first robot and other robots 10 connected via the local network 20 are also referred to as second robots. In other words, the second robot is communicatively connected to the first robot. Information regarding the second robot is also referred to as second robot information. The second robot information includes second position information indicating the installation location of the second robot. The control unit 51 may compare the first position information with the second position information, and if the second robot is installed within a predetermined range of the first robot, may estimate the first control program based on the second robot information. The second robot may include a robot of the same type as the first robot, or a robot of a different type from the first robot. A robot of a different type from the first robot may include a robot of a different product type than the first robot, or a robot having a different number of operating axes than the first robot.

[0114] In this embodiment, the second robot is communicatively connected to the first robot on the local network 20 via the information processing device 50 or the robot controller 111. The first robot and the second robot may be communicatively connected directly by wire or wireless means, or may be communicatively connected by wire or wireless means via the robot controller 11 of the first robot and the robot controller 11 of the second robot.

[0115] The control unit 51 may confirm the positional relationship between the first robot and the second robot by comparing the first position information and the second position information, and may estimate the first control program based on the confirmed positional relationship. For example, when the first robot and the second robot are set on the same production line, the control unit 51 may deduce the first control program taking into account whether the first robot is located upstream or downstream of the second robot on the production line.

[0116] The predetermined range may be set as a real range, such as a part of a production line in a factory, a factory unit, or a site unit, or may be set as a virtual range, such as a range connected to an intranet.

[0117] The control unit 51 may infer the first control program based on information about the first robot other than the first position information (without based on the first position information). The control unit 51 may infer the first control program based on information about the second robot. For example, when the first robot and the second robot share a user, the control unit 51 may infer the first control program based on information about the second robot.

[0118] The control unit 51 may estimate the first control program based on the operation data of the second robot.

[0119] The control unit 51 may acquire information about other robots 10 that belong to the same group as the first robot based on the group information. Information about other robots 10 that belong to the same group as the first robot is also referred to as group robot information. The control unit 51 may infer the first control program based on the acquired group robot information.

[0120] The group information may be included in at least either the operation data of the first robot or the operation data of the second robot. The group information may include information indicating whether the same control program as that of the first robot was applied to another robot 10 different from the first robot when the first robot and another robot 10 performed a task at the same time in the past or during a period that overlaps at least partially. The group information may include information indicating whether cooperation between the first robot and another robot 10 different from the first robot is set.

[0121] The control unit 51 may acquire third robot information about a third robot other than the second robot that is connected to the first robot via the local network 20. The control unit 51 may acquire third location information indicating the installation location of the third robot. The control unit 51 may compare the first location information with the third location information, and if the third robot is installed within a predetermined range of the first robot, estimate the first control program based on the second robot information and the third robot information. Note that the third robot only needs to be communicatively connected to the first robot and the second robot, similar to the communication means between the first robot and the second robot. The third robot may include a robot of the same type as the first robot or the second robot, or may include a robot of a different type from both the first robot and the second robot. A robot of a different type from both the first robot and the second robot may include a robot of a different product type than the first robot and the second robot, or may include a robot having a different number of operating axes than the first robot and the second robot.

[0122] For example, when the same control program is applied to a plurality of other robots 10 located within a predetermined range of the first robot, the control unit 51 may estimate the same control program as the first control program. Furthermore, the control unit 51 acquires normal work information including the type of control program normally executed or the number of robots 10 normally executing the same task. The control unit 51 may acquire the normal work information based on operation data. The control unit 51 may record the normal work information in the memory unit 52. The control unit 51 may estimate the first control program based on the acquired normal work information. The control unit 51 may extract a missing control program based on the operation data and the normal work information, and estimate the extracted control program as the first control program.

[0123] The control unit 51 may compare the first position information, the second position information, and the third position information, and when the second robot and the third robot are installed within a predetermined range of the first robot, estimate the first control program based on the positional relationship between the second robot and the third robot. For example, when the first robot, the second robot, and the third robot are set up on the same production line, the control unit 51 may estimate the first control program taking into account whether the first robot is located upstream, midstream, or downstream of the production line.

[0124] The control unit 51 may acquire information about other production equipment connected to the same local network 20 or network 40. The control unit 51 may estimate the first control program based on the first robot information and information about the other production equipment. For example, the control unit 51 may acquire fourth location information indicating the installation location of the production equipment. The control unit 51 may compare the first location information with the fourth location information and, if the production equipment is installed within a predetermined range of the first robot, estimate the first control program based on the process of the production equipment. Note that the information about the other production equipment may be data related to the operation of the production equipment, such as the user, time of use, or installation location of the production equipment. Furthermore, the information about the other production equipment may be attribute information of the production equipment, including information identifying the production equipment or information identifying the manufacturing process performed by the production equipment.

[0125] The control unit 51 may estimate the first control program by comparing the setting data, which is position information indicated by latitude and longitude, with the operation data, which is position information indicated by latitude and longitude.

[0126] The control unit 51 may infer the first control program based on data other than the position information. The control unit 51 may also infer the first control program based on setting data and operation data other than the position information. In this case, the control unit 51 may infer the first control program based on, for example, the time, the user, or control programs applied to other robots in the same group.

[0127] Furthermore, the control unit 51 may estimate the first control program based on data other than the location information or information about other production equipment, and then estimate the first control program based on the location information.The output order or display order of the first control program estimated based on data other than the location information or information about other production equipment may then be determined based on the estimation result based on the location information.The control unit 51 may also determine the output order or display order of the first control program estimated based on the location information based on the estimation result based on data other than the location information or information about other production equipment.

[0128] In this embodiment, the control unit 51 of the information processing device 50 estimates the control program based on the information of the robot 10. The control unit 51 may verify the suitability of the control program selected by the user. For example, if the control program selected by the user matches a control program estimated based on the information of the robot 10 and the operation data of the robot 10, the control unit 51 may determine that the control program selected by the user is suitable.

[0129] When multiple control programs can be extracted based on the information of the robot 10, the control unit 51 may prioritize the extracted control programs and display them on the terminal device 60. For example, the control unit 51 may assign a higher priority to a control program that has a record of being executed at a time close to the time the control program was extracted. The control unit 51 may assign priorities to the extracted control programs based on, for example, priorities assigned by a user to operation data in advance. The control unit 51 may change the rules for assigning priorities by, for example, relearning, based on the result of a user's selection from the prioritized and displayed control programs.

[0130] The above has described an embodiment of the robot control system 1, but the present disclosure can also be embodied as a method or program for implementing the system or device, or as a storage medium on which a program is recorded (for example, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a CD-RW, a magnetic tape, a hard disk, or a memory card). The program may be stored in a non-transitory computer-readable medium.

[0131] Furthermore, the implementation form of the program is not limited to application programs such as object code compiled by a compiler or program code executed by an interpreter, but may also be in the form of a program module incorporated into an operating system. Furthermore, the program may or may not be configured so that all processing is performed solely by the CPU on the control board. The program may also be configured so that part or all of it is executed by another processing unit mounted on an expansion board or expansion unit added to the board as needed.

[0132] Although the embodiments of the present disclosure have been described based on the drawings and examples, it should be noted that those skilled in the art could make various modifications or alterations based on the present disclosure. Therefore, it should be noted that these modifications or alterations are included in the scope of the present disclosure. For example, the functions included in each component can be rearranged so as not to cause logical inconsistencies, and multiple components can be combined or divided into one.

[0133] All of the features described in this disclosure and / or all steps of all of the disclosed methods or processes may be combined in any combination except combinations in which these features are mutually exclusive. Furthermore, each feature described in this disclosure may be replaced by an alternative feature serving the same, equivalent, or similar purpose, unless expressly denied. Thus, unless expressly denied, each disclosed feature is only one example of a generic series of identical or equivalent features.

[0134] Furthermore, embodiments of the present disclosure are not limited to the specific configurations of any of the above-described embodiments, but rather extend to any novel feature or combination thereof described herein, or any novel method or process step or combination thereof described herein.

[0135] In this disclosure, descriptions such as "first" and "second" are identifiers for distinguishing the configuration. Configurations distinguished by descriptions such as "first" and "second" in this disclosure can exchange numbers in the configuration. For example, a first robot can exchange identifiers "first" and "second" with a second robot. The exchange of identifiers is performed simultaneously. The configurations remain distinguished even after the identifier exchange. Identifiers may be deleted. A configuration from which an identifier has been deleted is distinguished by a symbol. The descriptions of identifiers such as "first" and "second" in this disclosure should not be used solely to interpret the order of the configuration or to justify the existence of an identifier with a lower number. [Explanation of symbols]

[0136] 1. Robot Control System 10 Robot (12: Position information acquisition device, 13: Stand) 11 Robot Controller 20 Local Network 30 Gateway device 40 Network 50 Server (51: Control unit, 52: Storage unit, 53: Interface) 60 Terminal Equipment

Claims

1. a control unit that estimates at least one first control program for controlling a first robot that is a control target from at least one control program for controlling a robot that is recorded in a storage unit; The control unit Acquire operating position information of the robot from the operation data of the robot; an information processing device that estimates at least one of the first control programs based on first position information indicating an installation location of the first robot and the operating position information;

2. The information processing apparatus according to claim 1 , wherein the operating position information includes past position information when the control program was executed.

3. a control unit that estimates at least one first control program for controlling a first robot that is a control target from at least one control program for controlling a robot that is recorded in a storage unit; The control unit acquire first location information indicating an installation location of the first robot, first robot information including at least one of attribute information of the first robot, user information for causing the first robot to perform a task, and environmental information for causing the first robot to perform a task, and operation data of the first robot; an information processing device that estimates at least one of the first control programs based on the first robot information and operation data of the first robot;

4. a control unit that estimates at least one first control program for controlling a first robot that is a control target from at least one control program for controlling a robot that is recorded in a storage unit; The control unit acquiring second robot information including second location information indicating an installation location of a second robot communicatively connected to the first robot; An information processing device that compares first location information indicating the installation location of the first robot with the second location information, and if the second robot is installed within a predetermined range of the first robot, estimates at least one of the first control programs based on the second robot information.

5. The control unit acquire first robot information including the first position information and at least one of attribute information of the first robot, user information causing the first robot to perform a task, or environmental information causing the first robot to perform a task, and at least one of attribute information of the second robot included in the second robot information, user information causing the second robot to perform a task, or environmental information causing the second robot to perform a task; The information processing apparatus according to claim 4 , wherein at least one of the first control programs is estimated based on the first robot information and the second robot information.

6. The control unit Acquire operation data of the second robot; The information processing apparatus according to claim 4 , wherein at least one of the first control programs is estimated based on operation data of the second robot.

7. The information processing apparatus according to claim 4 , wherein the control unit compares the first position information with the second position information and estimates the first control program based on a positional relationship with the second robot.

8. The control unit acquiring third robot information including third location information indicating an installation location of a third robot communicatively connected to the first robot; 5. The information processing device according to claim 4, wherein the first position information is compared with the third position information, and when the third robot is installed within a predetermined range of the first robot, the first control program is estimated based on the second robot information and the third robot information.

9. The control unit acquiring third robot information including third location information indicating an installation location of a third robot communicatively connected to the first robot; 5. The information processing device according to claim 4, wherein the first position information, the second position information, and the third position information are compared, and when the second robot and the third robot are installed within a predetermined range of the first robot, at least one first control program is estimated based on the positional relationship between the second robot and the third robot.

10. a control unit that estimates at least one first control program for controlling a first robot that is a control target from at least one control program for controlling a robot that is recorded in a storage unit; The control unit acquiring group information indicating a relationship between the first robot and other robots; acquiring group robot information about robots that belong to the same group as the first robot based on the group information; an information processing device that estimates at least one of the first control programs based on first position information indicating an installation location of the first robot and the group robot information;

11. The group information is The information is included in at least one of the operation data of the first robot and the operation data of a second robot communicably connected to the first robot, The information processing device according to claim 10, further comprising information indicating whether another robot different from the first robot was controlled by the same control program as the first robot at the same time in the past, or whether cooperation with another robot different from the first robot is set.

12. The control unit Output the extracted control program, accepting an input from a user to select one control program from the extracted control programs; The information processing apparatus according to claim 1 , wherein the control program selected by the user is executed by the first robot as the first control program.

13. A robot controller that executes the first control program output from the information processing device according to claim 1 .

14. A robot control system comprising: the information processing device according to claim 1 ; the robot; and a robot controller that controls the robot by executing the first control program output from the information processing device.

15. An information processing method including estimating at least one first control program for controlling a first robot, which is a control target, from at least one control program for controlling a robot recorded in an information processing device, based on first position information indicating an installation location of the first robot and operational position information of the robot obtained from operational data of the robot.

16. An information processing method comprising: estimating, from at least one control program for controlling a robot recorded in an information processing device, at least one first control program for controlling a first robot that is to be controlled, based on first location information indicating an installation location of the first robot, first robot information including at least one of attribute information of the first robot, user information for causing the first robot to perform a task, or environmental information for causing the first robot to perform a task, and operation data of the first robot.

17. An information processing method comprising: estimating, from at least one control program for controlling a robot recorded in an information processing device, at least one first control program for controlling a first robot that is the object of control, based on the second robot information by comparing first position information indicating the installation location of the first robot with second robot information including second position information indicating the installation location of a second robot communicatively connected to the first robot, when the second robot is installed within a predetermined range of the first robot.

18. An information processing method including estimating at least one first control program for controlling a first robot, which is a control target, from at least one control program for controlling a robot recorded in an information processing device, based on first location information indicating the installation location of the first robot and group robot information regarding robots belonging to the same group as the first robot, obtained based on group information indicating the relationship between the first robot and other robots.

Citation Information

Patent Citations

  • Manufacturing process control system

    JP1987218057A

  • Robot system, robot management computer and manufacturing method for robot system

    JP2015024475A

  • Robot system and robot device

    JP2016215318A

  • Information processing device, information processing method and program

    JP2021030407A