WO2023054535A1 - 情報処理装置、ロボットコントローラ、ロボット制御システム、及び情報処理方法 - Google Patents

情報処理装置、ロボットコントローラ、ロボット制御システム、及び情報処理方法 Download PDF

Info

Publication number
WO2023054535A1
WO2023054535A1 PCT/JP2022/036312 JP2022036312W WO2023054535A1 WO 2023054535 A1 WO2023054535 A1 WO 2023054535A1 JP 2022036312 W JP2022036312 W JP 2022036312W WO 2023054535 A1 WO2023054535 A1 WO 2023054535A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
robot
environment
control unit
information processing
Prior art date
Application number
PCT/JP2022/036312
Other languages
English (en)
French (fr)
Inventor
則夫 冨家
Original Assignee
京セラ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 京セラ株式会社 filed Critical 京セラ株式会社
Publication of WO2023054535A1 publication Critical patent/WO2023054535A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators

Definitions

  • the present disclosure relates to an information processing device, a robot controller, a robot control system, and an information processing method.
  • Patent Document 1 Conventionally, there is known a device that causes a robot to execute a work group even if there is a lack of instructions from the user (see Patent Document 1, for example).
  • An information processing apparatus includes a control unit that estimates suitability of a first control program candidate for controlling a first robot from a plurality of control programs for controlling robots recorded in a storage unit. .
  • the control unit acquires first environment information indicating a work environment of the first robot, acquires second environment information indicating an environment for executing the first control program, and stores the first environment information and the second environment information. Based on the degree of similarity with the environment information, the suitability of the candidate for the first control program is estimated.
  • a robot controller controls the robot by executing a control program output after the information processing apparatus determines that the state is appropriate.
  • a robot control system includes the information processing device, the robot controller, and the robot.
  • An information processing method is an information processing device for estimating suitability of a first control program candidate for controlling a first robot from a plurality of control programs for controlling robots recorded in an information processing device. performed by The information processing method includes obtaining, by the information processing device, first environment information indicating a working environment of the first robot. The information processing method includes acquiring second environment information indicating an environment in which the information processing device executes the first control program. The information processing method includes the information processing device estimating suitability of a first control program candidate based on a degree of similarity between the first environment information and the second environment information.
  • FIG. 1 is a schematic diagram showing a configuration example of a robot control system according to an embodiment
  • FIG. 1 is a block diagram showing a configuration example of a robot control system according to an embodiment
  • FIG. It is a figure which shows an example of a work environment image.
  • 4 is a table showing an example of attribute information of objects located in the working environment;
  • 4 is a table showing types of combinations of selected control programs and actual work environments;
  • 7 is a flow chart showing an example of a procedure for associating a control program with past record information;
  • 6 is a flow chart showing an example procedure of an information processing method according to an embodiment;
  • a robot control system 100 includes a robot 1, a robot controller 2, an information acquisition device 3, a terminal device 9, and an information processing device .
  • the robot control system 100 causes the robot 1 to perform work on an object placed on the workbench 5 located in the work environment 4 .
  • the robot 1 can move the work 8 accommodated in the first tray 6 to the second tray 7 .
  • a program for controlling the motion of the robot 1 may be created, for example, while the user is actually operating the robot 1, and stored in the robot controller 2 or the information processing device 10.
  • a program that controls the operation of the robot 1 is also called a control program.
  • the control program may be created using a robot simulator or the like. In this case, for example, the control program may be created while not connected to the network (offline).
  • the robot 1 performs work by operating in a predetermined processing pattern.
  • a processing pattern is represented, for example, as a combination of actions for the robot 1 to accomplish an instructed task.
  • the processing pattern can be expressed as a combination of an action of gripping the work 8, an action of transporting the gripped work 8, and an action of arranging the transported work 8 at a predetermined position.
  • a task is a concept that defines a goal to be achieved by executing a series of operations included in a processing pattern.
  • a work may be a concept defining a goal of transporting a work 8 from point A to point B, for example.
  • the work may be, for example, a concept that defines the goal of placing the work 8 on the C point.
  • a work may be, for example, a concept that defines the goal of combining a workpiece 8 with another object.
  • a processing pattern can also be said to be a combination of actions for the robot 1 to complete a task.
  • the control program can be said to be a group of commands that cause the robot 1 to execute a combination of actions represented by a processing pattern so that the robot 1 can complete the task.
  • the control program can also be said to be software in which processing patterns for accomplishing predetermined tasks are programmed.
  • the plurality of control programs may include a control program in which different work performed on the same kind of work 8 is recorded, or a control program in which the same kind of work performed on the work 8 of the different kind is recorded. It may be configured including a control program. Also, one type of work for one type of workpiece 8 may be programmed in one control program.
  • one control program corresponding to the task to be performed is prepared in advance.
  • a plurality of control programs corresponding to each task are prepared in advance.
  • the user instructs the robot controller 2 to select a control program corresponding to the work to be performed by the robot 1, thereby causing the robot 1 to perform the work.
  • the workpiece in the robot controller estimates the workpiece existing in the working environment based on the image of the working environment, and estimates the work to be executed by the robot on the workpiece existing in the working environment.
  • the work estimation method according to the comparative example for example, when there is a possibility that a plurality of different works are performed on the same work, or when an incorrect work is arranged in the working environment, the robot controller It is difficult to judge appropriate work.
  • the information processing device 10 of the robot control system 100 obtains information about at least a part of the work environment 4 based on an image of at least a part of the work environment 4 of the robot captured by the information acquisition device 3. to get The information processing device 10 of the robot control system 100 compares at least part of the information of the working environment 4 with information associated with candidate control programs.
  • the information processing device 10 of the robot control system 100 can determine whether the candidate control program is suitable as a control program for causing the robot to work.
  • the information processing device 10 of the robot control system 100 can determine whether the candidate control program is appropriate for the working environment 4 .
  • the information processing device 10 of the robot control system 100 can determine whether the work environment 4 is suitable as an environment for executing the candidate control program.
  • the information processing device 10 of the robot control system 100 selects a control program for controlling the robot 1 to be controlled from a plurality of control programs for controlling the robot 1 recorded in the storage unit 12 of the information processing device 10.
  • Estimate the suitability of candidates for The robot 1 to be controlled is also referred to as the first robot for the sake of distinction only.
  • the control program that controls the first robot is also referred to as the first control program for the sake of distinction.
  • the information processing device 10 of the robot control system 100 may notify the user or extract and present an appropriate control program. You may By doing so, the possibility of the user making a mistake in selecting the control program can be reduced.
  • a robot control system 100 includes a robot 1, a robot controller 2, an information acquisition device 3, a terminal device 9, and an information processing device . At least one component of the robot control system 100 may be communicatively connected via the network 80 or may be communicatively connected without the network 80 . At least one component of the robot control system 100 may be communicatively connected by wire or wirelessly. At least one component of the robot control system 100 may be communicatively connected via a dedicated line. At least one component of the robot control system 100 is not limited to these examples, and may be communicatively connected to each other in various other forms. Each configuration of the robot control system 100 will be specifically described below.
  • the information processing device 10 includes a control section 11 and a storage section 12 .
  • the information processing apparatus 10 is communicatively connected to other components via the network 80 or directly without the network 80 .
  • the control unit 11 may include at least one processor in order to implement various functions of the information processing device 10 .
  • the processor can execute programs that implement various functions of the information processing device 10 .
  • a processor may be implemented as a single integrated circuit.
  • An integrated circuit is also called an IC (Integrated Circuit).
  • a processor may be implemented as a plurality of communicatively coupled integrated and discrete circuits.
  • the processor may be configured including a CPU (Central Processing Unit).
  • the processor may be configured including a DSP (Digital Signal Processor) or a GPU (Graphics Processing Unit). Processors may be implemented based on various other known technologies.
  • the information processing device 10 further includes a storage unit 12 .
  • the storage unit 12 may be configured including an electromagnetic storage medium such as a magnetic disk, or may be configured including a memory such as a semiconductor memory or a magnetic memory.
  • the storage unit 12 may be configured as an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • the storage unit 12 stores various information, programs executed by the control unit 11, and the like.
  • the storage unit 12 may function as a work memory for the control unit 11 . At least part of the storage unit 12 may be included in the control unit 11 . At least part of the storage unit 12 may be configured as a separate storage device from the information processing device 10 .
  • the information processing apparatus 10 may be configured including a communication device configured to be capable of wired or wireless communication.
  • a communication device may be configured to be able to communicate with communication schemes based on various communication standards.
  • the information processing device 10 may be configured including one or more servers.
  • the information processing apparatus 10 may be configured to allow multiple servers to execute parallel processing.
  • the information processing device 10 does not need to include a physical housing, and may be configured based on virtualization technology such as a virtual machine or a container orchestration system.
  • the information processing device 10 may be configured using a cloud service.
  • cloud services When the information processing apparatus 10 is configured using cloud services, it can be configured by combining managed services. That is, the functions of the information processing device 10 can be implemented as a cloud service.
  • the information processing device 10 may include at least one server group and at least one database group.
  • the server group functions as the control unit 11 .
  • the database group functions as the storage unit 12 .
  • the number of server groups may be one or two or more. When the number of server groups is one, functions realized by one server group include functions realized by each server group. Each server group is communicably connected to each other by wire or wirelessly.
  • 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 capacity of data managed by the information processing device 10 and availability requirements for the information processing device 10 .
  • the database group is communicably connected to each server group by wire or wirelessly.
  • the information processing device 10 may be connected to an external database. An information processing system including the information processing device 10 and an external database may be configured.
  • the information processing apparatus 10 is described as one configuration in FIGS. 1 and 2, multiple configurations can be regarded as one system and operated as necessary. That is, the information processing apparatus 10 is configured as a platform with variable capacity. By using a plurality of configurations for the information processing apparatus 10, even if one configuration becomes inoperable due to an unforeseen event such as a natural disaster, the other configurations are used to continue the operation of the system. In this case, each of the plurality of components is connected by a line, whether wired or wireless, and configured to be able to communicate with each other. These multiple configurations may be built across the cloud environment and the on-premises environment.
  • the information processing device 10 is communicably connected to at least one component of the robot control system 100 by a line that may be wired or wireless.
  • the information processing device 10 and at least one configuration of the robot control system 100 have an interface using a mutual standard protocol, and are capable of two-way communication.
  • Terminal device 9 is communicably connected to at least one configuration of the robot controller 2 and the information processing device 10 of the robot control system 100 .
  • the terminal device 9 may be communicably connected to other components of the robot control system 100 .
  • the terminal device 9 and at least one component of the robot control system 100 may be communicatively connected via the network 80 or directly without the network 80 .
  • the terminal device 9 may be configured including at least one processor.
  • the processor of the terminal device 9 may be configured identically or similarly to the processor of the control unit 11 of the information processing device 10 .
  • the terminal device 9 may be configured including a storage device.
  • the storage device of the terminal device 9 may be configured the same as or similar to the storage unit 12 of the information processing device 10 .
  • the terminal device 9 may be configured including a communication device.
  • the communication device of the terminal device 9 may be configured identically or similarly to the communication device of the information processing device 10 .
  • the terminal device 9 may be equipped with an input device.
  • 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 be configured including physical keys.
  • the input device may include an audio input device such as a microphone. Input devices are not limited to these examples, and may be configured to include other various devices.
  • the terminal device 9 may be equipped with an output device.
  • An output device may be configured including a display device.
  • the display device may include, for example, a liquid crystal display (LCD), an organic EL (Electro-Luminescence) display or an inorganic EL display, or a plasma display (PDP: Plasma Display Panel).
  • the display device is not limited to these displays, and may be configured to include other various types of displays.
  • the display device may include a light-emitting device such as an LED (Light Emitting Diode).
  • the display device may be configured including other various devices.
  • the output device may include an audio output device such as a speaker that outputs auditory information such as voice. Output devices are not limited to these examples, and may be configured to include other various devices.
  • the number of terminal devices 9 provided in the robot control system 100 is not limited to one, and may be two or more.
  • each terminal device 9 may receive input from the user.
  • the terminal device 9 may be configured as a tablet terminal.
  • the terminal device 9 may be configured as a mobile phone terminal such as a feature phone or a smart phone.
  • the terminal device 9 may be configured as a PC terminal such as a desktop PC (Personal Computer) or a notebook PC.
  • the terminal device 9 is not limited to these examples, and may be configured as various devices capable of providing GUI (Graphical User Interface) and communication functions.
  • GUI Graphic User Interface
  • the terminal device 9 may be used by the user to store the control program in the information processing device 10 in advance. Terminal device 9 may be used to monitor the status of robot 1 .
  • the terminal device 9 is not limited to these examples and can provide various other functions.
  • the terminal device 9 may be provided side by side with the robot controller 2 . When the terminal device 9 is installed side by side with the robot controller 2, the robot controller 2 itself may have an input device or an output device. A robot controller 2 may be included in the terminal device 9 .
  • the robot controller 2 downloads the control program from the information processing device 10 .
  • the robot controller 2 outputs information for controlling the operation of the robot 1 to the robot 1 and causes the robot 1 to perform the work specified by the control program.
  • the robot controller 2 may execute a control program held by the robot controller 2 itself.
  • the robot controller 2 may cause the robot 1 to move the workpiece 8 from the first tray 6 to the second tray 7 as illustrated in FIG.
  • the robot controller 2 may cause the robot 1 to perform various tasks without being limited to this.
  • the robot controller 2 may or may not be connected to the cloud computing environment. When the robot controller 2 is not connected to the cloud computing environment, the operation of the robot controller 2 is completed in the on-premises environment. If the operation of the robot controller 2 is completed in the on-premises environment, the operation of the information processing device 10 is executed by the robot controller 2 .
  • the robot controller 2 may be equipped with a communication device that downloads the control program from the information processing device 10 .
  • the communication device of the robot controller 2 may be configured identically or similarly to the communication device of the information processing device 10 .
  • the robot controller 2 may comprise a processor that generates information for controlling the motion of the robot 1 by executing control programs.
  • the processor of the robot controller 2 may be configured identically or similarly to the processor of the control unit 11 of the information processing device 10 .
  • one robot controller 2 is connected to one robot 1.
  • One robot controller 2 may be connected to two or more robots 1 .
  • One robot controller 2 may control only one robot 1 or may control two or more robots 1 .
  • the number of robot controllers 2 and robots 1 is not limited to two, and may be one or three or more.
  • the robot controller 2 may be integrated with the information processing device 10 and the function of the robot controller 2 may be implemented as one function of the information processing device 10 .
  • the robot 1 may be configured as a robot arm with an arm.
  • the arm may be configured as a 6-axis or 7-axis vertical articulated robot, for example.
  • 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 forming the arm is not limited to the illustrated one.
  • the robot 1 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 work object.
  • the grasping hand may have multiple fingers. The number of fingers of the grasping hand may be two or more.
  • the fingers of the grasping hand may have one or more joints.
  • the end effector may include a suction hand configured to be able to suction the work target.
  • the end effector may include a scooping hand configured to scoop the work object.
  • the end effector includes a tool such as a drill, and may be configured to be able to perform various machining operations such as drilling a hole in a work object.
  • the end effector is not limited to these examples, and may be configured to perform various other operations.
  • the robot 1 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 the work object. If the end effector has an axis, the robot 1 can control the direction of the end effector axis by operating the arm.
  • the robot 1 controls the start and end of the action of the end effector acting on the work object.
  • the robot 1 can move or process a work object by controlling the position of the end effector or the direction of the axis of the end effector and controlling the operation of the end effector.
  • the robot 1 may be configured as an automated guided vehicle (AGV).
  • AGV automated guided vehicle
  • the robot 1 may be configured as a drone.
  • the robot 1 is not limited to a robot arm or AGV, and may be configured in various other forms such as a vehicle, an electronic device, or a control machine.
  • the robot 1 may further include sensors that detect the state of at least one component of the robot 1 .
  • the sensors may detect information about the real position or pose of at least one component of the robot 1 or the velocity or acceleration of at least one component of the robot 1 .
  • the sensors may detect forces acting on at least one component of the robot 1 .
  • the sensors may detect the current flowing through or the torque of the motors driving at least one component of the robot 1 .
  • the sensors can detect information resulting from the actual movement of the robot 1 .
  • the robot controller 2 can grasp the result of the actual motion of the robot 1 by acquiring the detection result of the sensor.
  • the robot 1 performs a predetermined work on a product, and unlike a device that processes different types of products by setting conditions according to the type of product, the robot 1 can generate a control program suitable for the work, and control Programs can be generated to operate to perform various tasks.
  • the information acquisition device 3 acquires at least part of the information on the work environment 4 of the robot 1 .
  • the information acquisition device 3 may include a camera that captures at least part of the working environment 4 .
  • the information acquisition device 3 may include a sensor that measures the position, shape, or size of objects present in at least part of the working environment 4 .
  • the information acquisition device 3 may be configured including a 3D sensor, a distance sensor, or the like.
  • the information acquisition device 3 may include a sensor that measures the temperature or humidity of at least part of the work environment 4 . If at least part of the work environment 4 is a clean room, the information acquisition device 3 may include a sensor that measures particle density within the clean room. At least some information about the work environment 4 may include clean room classification information.
  • the information acquisition device 3 may include a sensor that measures noise in at least part of the working environment 4 . Further, the information acquisition device 3 may be configured to include a sensor such as a current sensor that measures current or the like, indicating the operation of the peripheral device. The information acquisition device 3 may be fixed at a position where at least part of the information of the working environment 4 of the robot 1 can be acquired. The information acquisition device 3 may be attached to a robot arm or an end effector. The number of information acquisition devices 3 is not limited to one, and may be two or more. A plurality of information acquisition devices 3 may be connected so as to be able to communicate with each other. At least one information acquisition device 3 among the plurality of information acquisition devices 3 may be communicably connected to the robot controller 2 or the information processing device 10 . The information acquisition device 3 may include a plurality of physically separated information acquisition units. A plurality of information acquisition units may be connected so as to be able to communicate with each other.
  • the information acquired by the information acquisition device 3 as at least a part of the work environment 4 is within the work range of the robot 1, such as the range where the work table 5 and the objects placed on the work table 5 are located, as illustrated in FIG. may contain information about
  • the information that the information acquisition device 3 acquires as information about at least a part of the working environment 4 may include information different from that of the work object itself or the robot 1 itself.
  • the information acquired by the information acquisition device 3 as at least part of the information on the work environment 4 is not limited to these pieces of information, and may include information outside the work range of the robot 1 .
  • the information that the information acquisition device 3 acquires as at least part of the information on the work environment 4 may include information on the range in which the peripheral device is located.
  • the peripheral device may include a parts feeder for placing the workpiece 8 or a tray changer for placing the first tray 6 or the second tray 7 or the like.
  • the peripheral device may include a work inverting device that turns the work 8 upside down.
  • Peripherals may include a tool changer for changing end effectors of robot 1 .
  • the peripheral device may include a manufacturing device such as a grinder that processes the workpiece 8 .
  • Peripheral devices are not limited to these and may include various devices.
  • the information that the information acquisition device 3 acquires as at least part of the information on the work environment 4 may include information on the range where the work 8 is not located.
  • the information that the information acquisition device 3 acquires as at least part of the information on the work environment 4 may include the attribute information of the end effector of the robot 1 or the attribute information of the arm.
  • the end effector attribute information may include information specifying whether the end effector is a hand or a suction cup.
  • the arm attribute information may include information specifying the number of joints or the range of movement of the arm, or the length of the arm.
  • the range from which the information acquisition device 3 acquires information may be the motion range of the robot 1 . Further, the range from which the information acquisition device 3 acquires information is not limited to the motion range of the robot 1, and may include a range outside the motion range of the robot 1 or a range around the motion range. The information acquisition device 3 may acquire information on the range outside the motion range of the robot 1 or the range around the motion range as at least part of the information on the working environment 4 .
  • the range around the range of motion may be a range within a predetermined distance from the range of motion. The predetermined distance may be set as a distance between two points, for example, within the same factory building, within the same room, or within the same production line.
  • Peripheral equipment may include a belt conveyor that feeds the workpiece 8 or the like toward the robot 1 within its range of motion.
  • the robot control system 100 can select a control program based on the state of the work 8 on the belt conveyor located outside the operating range of the robot 1 .
  • the robot control system 100 may store the control program (processing pattern) in the information processing device 10 in association with the program number, program name, or task name.
  • the robot control system 100 associates at least part of the information of the work environment 4 in which the control program is executed with the program number or the like.
  • the control program is associated with at least part of information of the work environment 4 in which the control program is executed.
  • At least part of the information of the working environment 4 prepared by the user is also referred to as prepared environment information or first environment information.
  • At least part of the information on the work environment 4 associated with the control program is information on at least part of the work environment 4 when the control program was recorded in the past, and is also referred to as past recorded information or second environment information. be done.
  • the past record information or the second environment information corresponds to at least part of information of the working environment 4 when the robot 1 performed the work by the robot controller 2 executing the control program.
  • the past record information or the second environment information may include at least part of the work environment 4 registered by the user.
  • the terminal device 9 may be configured to receive input for registering information of at least part of the work environment 4 from the user.
  • the robot control system 100 may associate the information simulated by the user with the robot control program (processing pattern) number or the like.
  • a user who can register the past record information or the second environment information of the first robot may be, for example, a user who has a track record of causing the first robot to perform work in the past, or a user of another robot. good.
  • a user who can register the past record information of the first robot or the second environment information may be a manager of a factory or the like, or may be a worker or the like.
  • the past record information only needs to contain information that can be compared with the preparation environment information. That is, the past record information only needs to include information corresponding to the preparation environment information. For example, if the preparation environment information has an image, the past record information may also have an image. has numerical data such as sensor output, the past record information may also have numerical data. In other words, the preparation environment information may include information that can be compared with past record information.
  • the past record information may include, for example, at least a partial image of the working environment 4 taken when the control program is executed.
  • the past record information may include attribute information of objects present in at least part of the work environment 4 obtained by analyzing images of at least part of the work environment 4 .
  • the object attribute information may include information on the shape of the object such as its contour, the color or texture of the object, or the appearance of the object such as the size of the object.
  • the object attribute information may include two-dimensional information captured in an image of at least a portion of the work environment 4 or may include three-dimensional information based on depth information of at least a portion of the work environment 4 .
  • Attribute information is not limited to information about the appearance of an object, and may include information such as the material or density of the object.
  • the past record information may include position information such as coordinates of objects existing in at least part of the work environment 4 .
  • Position information may represent a relative position from a reference position set in the work environment 4 .
  • the position information may represent an absolute position set in the information acquisition device 3 .
  • the positional information may represent the positional relationship of multiple objects around the robot 1 .
  • the positional information may represent the positional relationship of multiple objects existing in at least part of the work environment 4 .
  • the positional information may represent the positional relationship between the work 8 and objects around the work 8 .
  • the past recording information may include the type of camera that captured at least part of the working environment 4, or the capturing conditions such as the position or orientation of the camera.
  • the robot control system 100 stores the control program associated with the program number or program name in the information processing apparatus 10 in association with the past record information of the control program. Specifically, the robot control system 100 may store the following information in the information processing device 10 .
  • Program number (2) Control program (processing pattern) (3) Image of at least part of work environment 4 (4) Attribute information and position information of object recognized from image of at least part of work environment 4
  • FIG. 1 An example of an image of at least part of the working environment 4 is shown in FIG.
  • a workbench 5 is positioned in the work environment 4 .
  • a first tray 6 and a second tray 7 are positioned on the workbench 5 .
  • Workpieces 8 are accommodated in the first tray 6 .
  • FIG. 4 shows an example of attribute information and position information of an object recognized from an image of at least part of the work environment 4.
  • the total number of objects recognized from the images is 11.
  • Workbench 5 is associated with No. 1.
  • the second tray 7 is associated with No.2.
  • the first tray 6 is associated with number 3.
  • Work 8 is associated with No. 4.
  • the number of workbench 5, first tray 6 and second tray 7 is one each.
  • the number of works 8 is eight.
  • the color information of each object is expressed as average color information that is the average of the color information of each part of the object.
  • the color information is expressed as a numerical value corresponding to the gradation of each RGB (Red Green Blue) component of the image.
  • the outline and texture of each object are represented by its image.
  • the size of each object is represented by the width (W) x depth (D) x height (H) of each object.
  • the coordinates of each object may be represented by coordinates relative to the coordinates of the reference position set in the work environment 4, or by absolute coordinates set in the information acquisition device 3 (for example, the pixel position of the captured image). ) may be represented by In this embodiment, coordinates are represented by XYZ coordinates.
  • the robot control system 100 stores control programs in the information processing device 10 in advance. If the control program has not yet been associated with past record information when the control program is executed, the robot control system 100 may acquire at least part of the information of the work environment 4 when the control program is executed. The robot control system 100 may associate at least part of the acquired information of the work environment 4 with the control program as past record information. For example, when the control program is executed for the first time, the robot control system 100 may acquire at least part of the information of the work environment 4 as past recorded information and associate it with the control program. It can be said that the robot control system 100 associates past record information with the work corresponding to the control program.
  • the past record information may include at least part of the work environment 4 registered by the user.
  • the terminal device 9 may be configured to receive input for registering information of at least part of the work environment 4 from the user.
  • the robot control system 100 may associate the information simulated by the user with the robot control program (processing pattern) number or the like.
  • a user who can register the past record information of the first robot may be, for example, a user who has a track record of causing the first robot to perform a task in the past, or a user of another robot.
  • a user who can register the past record information of the first robot may be a manager of a factory or the like, or a worker or the like.
  • the control program can be stored in the information processing device 10 in association with the past record information, specifically in the following procedure.
  • the work 8 and the like necessary for the robot 1 to execute are prepared as shown in FIG.
  • the user places the first tray 6 and the second tray 7 in the working environment 4 .
  • a user accommodates the work 8 in the first tray 6 . That is, the workpiece 8 and the first tray 6 and the second tray 7 may be arranged by the user. As another example, the workpieces 8 and the first tray 6 and the second tray 7 may be arranged by a peripheral device.
  • the user selects a control program to be executed by the robot controller 2 using the terminal device 9.
  • the terminal device 9 outputs the selected control program to the robot controller 2 .
  • the robot controller 2 controls the robot 1 by executing the acquired control program, and causes the robot 1 to perform work.
  • the robot 1 or the robot controller 2 acquires at least part of the information of the work environment 4 by the information acquisition device 3 when the robot 1 performs the work.
  • the information acquisition device 3 may capture, for example, at least a portion of the working environment 4 and acquire a captured image of the at least a portion of the working environment 4 as information of the at least a portion of the working environment 4 .
  • the robot 1 moves the information acquisition device 3 to a predetermined imaging position, and captures at least part of the work environment 4 with the information acquisition device 3 . You can let the The information acquisition device 3 acquires not only an image of at least a part of the working environment 4 but also various information such as depth information of at least a part of the working environment 4 as information of at least a part of the working environment 4. good.
  • the information acquisition device 3 outputs at least part of the acquired information of the work environment 4 to the information processing device 10 .
  • the control unit 11 of the information processing apparatus 10 recognizes an object such as the work 8 existing in at least a part of the work environment 4 by analyzing at least a part of the information of the work environment 4 .
  • the control unit 11 may recognize each of the work 8, the first tray 6, and the second tray 7 by image analysis of at least a part of the photographed image of the working environment 4, for example.
  • the control unit 11 may recognize each of the work 8 , the first tray 6 and the second tray 7 by analyzing at least part of the depth information of the work environment 4 , for example.
  • the control unit 11 acquires attribute information and position information of each recognized object from at least part of the information of the working environment 4 .
  • the control unit 11 associates the attribute information and position information of each object with the control program stored in the storage unit 12 as past record information.
  • the control program is stored in the information processing apparatus 10 in association with the past record information.
  • the robot control system 100 can easily determine the suitability of the control program used to cause the robot 1 to perform work in the prepared work environment 4 by the following procedure. It can be said that the robot control system 100 estimates the adequacy of the candidate control program when the user selects a control program candidate to be used for causing the robot 1 to perform a task.
  • the work 8 and the like necessary for the robot 1 to execute are prepared as shown in FIG.
  • the user places the first tray 6 and the second tray 7 in the working environment 4 .
  • a user accommodates the work 8 in the first tray 6 . That is, the workpiece 8 and the first tray 6 and the second tray 7 may be arranged by the user. As another example, the workpieces 8 and the first tray 6 and the second tray 7 may be arranged by a peripheral device.
  • the user activates the robot controller 2 or the robot 1 using the terminal device 9 .
  • the user selects a control program to be executed by the robot controller 2 using the terminal device 9 .
  • the robot control system 100 acquires at least part of the information of the work environment 4 using the information acquisition device 3 .
  • the robot controller 2 moves the information acquisition device 3 to a predetermined position in order to acquire information of at least a part of the work environment 4, or moves the information acquisition device 3 to a predetermined position. It controls the motion of the robot 1 so as to direct its direction.
  • the information acquisition device 3 outputs at least part of the acquired information of the work environment 4 to the information processing device 10 .
  • the control unit 11 of the information processing apparatus 10 recognizes an object such as the work 8 existing in at least a part of the work environment 4 by analyzing at least a part of the information of the work environment 4 .
  • the control unit 11 may recognize each of the work 8, the first tray 6, and the second tray 7 by image analysis of at least a part of the photographed image of the working environment 4, for example.
  • the control unit 11 may recognize each of the work 8 , the first tray 6 and the second tray 7 by analyzing at least part of the depth information of the work environment 4 , for example.
  • the control unit 11 acquires attribute information and position information of each recognized object from at least part of the information of the work environment 4 .
  • the control unit 11 compares the attribute information and position information of each object with past record information associated with the selected control program.
  • the control unit 11 outputs the selected control program to the robot controller 2 when the past recorded information associated with the selected control program matches at least part of the information of the working environment 4 .
  • the robot controller 2 executes the selected control program and causes the robot 1 to perform work.
  • control unit 11 In order to determine whether the past recorded information associated with the selected control program matches at least part of the information of the working environment 4, the control unit 11 combines at least part of the information of the working environment 4 and the past recorded information. may be calculated. The degree of similarity is calculated as 100% when the two pieces of information completely match, and is calculated as 0% when the two pieces of information completely do not match. The control unit 11 may cause the robot controller 2 to execute the selected control program when the degree of similarity is greater than or equal to a predetermined value.
  • the control unit 11 may calculate the similarity of attribute information such as the shape or color of objects existing in at least a part of the work environment 4 as the degree of similarity. Specifically, the control unit 11 includes the attribute information of each object recognized from at least part of the information of the work environment 4 in the past recorded information associated with the control program stored in the information processing device 10. Compare with attribute information provided. The control unit 11 may calculate the degree of similarity as a numerical value using a trained model generated by template matching, machine learning, or deep learning. The control unit 11 calculates the degree of similarity for each type of recognized object. The control unit 11 calculates the degree of similarity for all types of recognized objects. Objects recognized in at least part of the work environment 4 illustrated in FIG. 3 are divided into four types.
  • the control unit 11 calculates the degree of similarity for each of the four types.
  • the control unit 11 calculates the average value and standard deviation of the four degrees of similarity calculated for each type.
  • the control unit 11 determines that the past record information is at least part of the working environment 4. It is determined that the information matches.
  • the trained model can be generated by performing machine learning on data relating to a plurality of pieces of past record information as a learning data set.
  • the control unit 11 may calculate the similarity of the positions of objects existing in at least a part of the work environment 4 as the similarity. Specifically, the control unit 11 calculates the distance between each object based on the position information of each object recognized from at least part of the information of the working environment 4 . It is assumed that the position information of each object includes the coordinates of the center of gravity of each object. The position information of each object may include the coordinates of the edges of each object (for example, the minimum or maximum values of the X, Y, and Z coordinates of the range in which each object exists). The control unit 11 calculates the distance between each object based on the coordinates of the center of gravity of each object.
  • the control unit 11 regards a plurality of objects classified into the same type as one object, calculates the coordinates of the center of gravity, and calculates the distance to other objects. When there are four types of objects in the work environment 4, there are six combinations for calculating the distance between each object. Therefore, the distance between each object is calculated in six ways.
  • the control unit 11 calculates the distance between each object included in the past record information based on the position information included in the past record information associated with the control program stored in the information processing device 10 .
  • the control unit 11 may calculate the distance between each object in the past record information including four types of objects.
  • the control unit 11 may calculate the distance between each object when the past recorded information includes an object corresponding to an object existing in at least a part of the working environment 4 . In other words, if the past record information does not include an object corresponding to an object existing in at least a part of the work environment 4, the control unit 11 does not calculate the distance between each object in the past record information. It may be determined that at least part of the information of the working environment 4 is not suitable.
  • the control unit 11 compares the distance between each object recognized from at least part of the information of the work environment 4 and the distance between each object in past recorded information associated with the control program.
  • the control unit 11 selects two objects from the objects recognized from at least part of the information on the work environment 4 . Further, the control unit 11 selects two objects corresponding to the two objects selected from the objects recognized from at least part of the information of the working environment 4 among the objects included in the past record information.
  • the control unit 11 determines the difference between the distance between two objects selected from objects recognized from at least part of the information of the working environment 4 and the distance between two objects selected from objects included in the past recording usage. Calculate the absolute value.
  • the control unit 11 calculates the distance between two objects included in at least a part of the information of the work environment 4 and the distance between the two objects included in the past record information for each of the distances calculated in the six combinations in the example of FIG. Calculate the absolute value of the difference from the distance between objects.
  • the control unit 11 calculates the average value and the standard deviation of the absolute values of the distance differences calculated for all combinations as the similarity of the positions. When the average value is equal to or greater than a preset average value determination threshold value and the standard deviation is equal to or less than a preset standard deviation determination threshold value, the control unit 11 determines that the past record information is at least part of the working environment 4. It is determined that the information matches.
  • FIG. 5 exemplifies a pattern in which the past record information does not match at least part of the information of the work environment 4.
  • the type shown as "work error” in the cell in the left column of the second row of the table in FIG. shows a case where the work 8 placed in the position is wrong.
  • the first tray 6 should contain the workpiece 8, but the first tray 6 contains the workpiece 8F as shown in the cell in the right column of the second row.
  • the type indicated as "tray set failure" in the cell in the left column of the third row of the table in FIG. indicates if Specifically, where the second tray 7 should be set, the second tray 7 is not set as indicated by the set failure tray 7F indicated by the two-dot chain line in the cell in the right column of the third row. wrong in
  • the types of cases in which the past record information does not match at least part of the information of the work environment 4 are not limited to these.
  • a pattern in which at least part of the work environment 4 is arranged with extra objects may be included.
  • a pattern in which the work 8 is not arranged may be included.
  • the control unit 11 determines that the past record information does not match at least part of the information of the working environment 4. .
  • the control unit 11 may calculate the degree of similarity and determine that the past recorded information does not match at least part of the information of the working environment 4 based on the degree of similarity. If the similarity of attribute information or the similarity of position calculated as the similarity between the past record information and at least a part of information of the work environment 4 is less than a predetermined value, the control unit 11 determines that the past record information is It may be determined that at least part of the information of the working environment 4 is not suitable. The control unit 11 does not output the control program selected by the user to the robot controller 2 when determining that the past recorded information does not match at least part of the information of the working environment 4 .
  • the control unit 11 determines that there is a control program whose past record information matches at least part of the work environment 4 among other control programs. Exists or searches. If the control program 11 finds a control program whose past record information matches at least part of the information of the work environment 4, the control unit 11 may output the found control program as a selection candidate to the terminal device 9 and present it to the user. In this case, the user may have made a mistake in selecting the control program. The user's wrong selection of the control program is also referred to as an improper selection of the control program. When the user selects a control program candidate, the control unit 11 may estimate that the user has selected a control program improperly. The control unit 11 may estimate whether the control program selection by the user is inadequate based on the estimation result of the suitability of the control program candidate.
  • the control unit 11 receives the input selected by the user from the control program selection candidates presented to the user at the terminal device 9 and acquires information specifying the control program selected by the user from the terminal device 9 .
  • the control unit 11 learns the user's selection result as teacher data so as to increase the accuracy of finding a control program candidate whose past record information matches at least part of the information in the work environment 4, and learns the result of the user's selection as teacher data. 4 may be modified.
  • the model may be modified to improve the accuracy of recognizing objects from images taken of at least part of the working environment 4 .
  • the threshold used for the determination based on the degree of similarity may be adjusted according to the selection result of the user.
  • control unit 11 assumes that the user has correctly selected the control program, and finds at least part of the information of the work environment 4. Estimate the items that are incorrectly prepared in the The presence of an incorrectly prepared item in at least part of the work environment 4 is also referred to as an environment deficiency.
  • the control unit 11 may estimate at least part of the work environment 4 to be inadequate.
  • the control unit 11 may estimate the environmental inadequacy of at least a part of the working environment 4 based on the estimation result of the adequacy of the control program candidate.
  • the control unit 11 may detect the shortage or excess of objects to be prepared in at least a part of the work environment 4, the difference in the arrangement of objects, or the difference in the attribute information of objects as factors of the environment inadequacy. For example, assuming that the control program selected by the user is correct, the control unit 11 determines the past record information associated with the number of the control program selected by the user and the work environment 4 including the object placed by the user. You can compare with the image. Based on the comparison result, the control unit 11 may detect a shortage or excess of objects to be arranged in at least a part of the working environment 4, a difference in arrangement of objects, or a difference in attribute information of objects. The control unit 11 may presume that an item for which a difference has been detected is an item that has been erroneously prepared.
  • the control unit 11 may detect objects appearing in the image of the working environment 4 by analyzing the image of the working environment 4 .
  • the control unit 11 may calculate the degree of similarity between the object included in the past recorded information and the object placed in the work environment 4 by the user and detected from the image of the work environment 4 .
  • the control unit 11 may calculate the degree of similarity between the object attribute information included in the past record information and the object attribute information detected from the image of the work environment 4 .
  • the control unit 11 may calculate the degree of similarity as a numerical value using a trained model generated by template matching, machine learning, or deep learning. Note that when using a trained model, the trained model can be generated by performing machine learning using attribute data of each object in a plurality of pieces of past record information as a learning data set.
  • the control unit 11 may calculate the degree of similarity such as the outline or size of the object.
  • the control unit 11 determines that a correct object is prepared in the working environment 4 when the similarity between the contour and size of the object is a value indicating a high degree of similarity, such as a predetermined threshold value or more. It can be determined that there are The control unit 11 may determine that the correct object is prepared in the work environment 4 where the degree of similarity in outline and size of the object is equal to or greater than a predetermined threshold.
  • the control unit 11 determines between each object included in the past record information and the object detected from the image of the work environment 4 . , similarity measures such as contours or sizes of objects may be calculated. When a plurality of objects are detected from the image of the work environment 4, the control unit 11 determines the contours of the objects or the A degree of similarity such as size may be calculated. The control unit 11 calculates the degree of similarity, such as outlines or sizes, of the objects in at least a partial combination of each object included in the past record information and each object detected from the image of the work environment 4. good. When an object having a high degree of similarity with an object detected from the image of the work environment 4 is included in the plurality of objects included in the past record information, the control unit 11 determines that the correct object is prepared in the work environment 4. It may be determined that
  • the control unit 11 may estimate factors that reduce the degree of similarity as the cause of the inadequate environment. For example, the control unit 11 may estimate whether the similarity is lowered due to an error in the position of each object placed in at least a part of the working environment 4 . For example, the control unit 11 may estimate whether the degree of similarity is lowered because an object that should be prepared in at least a part of the working environment 4 is not prepared. For example, the control unit 11 may estimate whether the similarity is lowered due to unnecessary objects being placed in at least part of the work environment 4 .
  • control unit 11 compares past record information associated with the number of the control program selected by the user and the image of the object existing in the work environment arranged by the user, based on the result of comparison, The lack of necessary objects or the presence of unnecessary objects may be detected, and the detected items may be presumed as the cause of the decrease in similarity.
  • the control unit 11 may estimate how at least part of the work environment 4 should be changed so as to increase the similarity, and output points to be changed to the terminal device 9 to present them to the user.
  • the user may change at least part of the working environment 4 based on the presented information, or may instruct the robot controller 2 to execute the selected control program as it is.
  • the control unit 11 may learn user instruction content as teacher data and change the model for determining whether the past record information matches at least part of the information of the work environment 4 .
  • the threshold used for determination based on the degree of similarity may be adjusted depending on the content of the user's instruction.
  • the control unit 11 may estimate the type of deficiency based on the degree of similarity. Specifically, the control unit 11 may estimate whether the cause of the low similarity is poor selection or poor environment. For example, the control unit 11 may estimate that the environment is insufficient when the similarity is 90% or more, and that the selection is insufficient when the similarity is less than 50%.
  • the control unit 11 may determine whether or not the positions of objects that are determined to be correct objects to be prepared in the work environment 4 among the objects detected from the image of the work environment 4 are correct. The control unit 11 performs work based on the position where the object should be placed in the work environment 4 and the position of the object shown in the image of the work environment 4, which are specified by the data stored in the information processing device 10. The distance from the position where the object should originally be placed in the environment 4 to the position where the object is actually placed may be calculated. The control unit 11 may calculate the distance between the position of an object with a high degree of similarity included in the past record information and the position of the object appearing in the image of the working environment 4 .
  • the control unit 11 may determine that the object is placed at the correct position when the calculated distance is less than a predetermined threshold. The control unit 11 may determine that the object is placed at the correct position when the calculated distance is less than a predetermined threshold. The control unit 11 may determine that the position of the object placed in the work environment 4 by the user is incorrect when the calculated distance is equal to or greater than a predetermined threshold.
  • the control unit 11 may determine whether the number of objects placed in the working environment 4 by the user is correct.
  • the control unit 11 selects an object that has a high degree of similarity among the objects placed in the working environment 4 by the user and that has one object in the data stored in the information processing device 10 and that is specified by the data.
  • the number of identical objects may be compared to determine whether they are properly prepared.
  • the control unit 11 determines whether the user actually operates the work environment 4 . Among the objects placed in the work environment 4, if there is one object that is determined to be the same object as the first type of object, the number of the first type of objects placed in the work environment 4 is correct. can be determined.
  • the control unit 11 may calculate the number of objects having a high degree of similarity to the first type of objects among the objects actually arranged in the work environment 4 by the user. When the calculated number matches the number of first type objects to be placed in the work environment 4, the control unit 11 determines that the number of the first type objects placed in the work environment 4 is correct. You can judge. If the calculated number is greater than the number of first type objects to be placed in the work environment 4, the control unit 11 determines that the number of the first type objects placed in the work environment 4 is correct, or , it may be determined that the working environment 4 is sufficiently populated with objects of the first type.
  • the control unit 11 determines that the degree of similarity of each piece of attribute information is less than a predetermined threshold. , or if it is not similar to the first type of object, it is determined that the user has not placed the first type of object in the work environment 4 or that the user has placed the wrong object in the work environment 4. you can
  • the control unit 11 may calculate the number of objects determined to be correct objects to be prepared in the work environment 4, regardless of the type of object.
  • the control unit 11 determines the number of objects determined to be correct objects to be placed in the work environment 4 by the data stored in the information processing device 10, and the number of objects to be prepared in the work environment 4. , it may be determined that the number of prepared objects is correct. If the number of objects determined to be correct objects to be placed in the work environment 4 is larger than the number of objects to be placed in the work environment 4, the control unit 11 determines that the number of the placed objects is correct, or , it may be determined that the objects are sufficiently arranged in the work environment 4 .
  • control unit 11 may notify the terminal device 9 that the objects placed in the work environment 4 are incorrect.
  • the control unit 11 may notify the terminal device 9 of correct information on the positions or the number of objects to be placed in the work environment 4 and prompt the user to change the placement to the correct one.
  • the terminal device 9 receives confirmation from the user that the positions and the number of the objects placed in the work environment 4 by the user are correct.
  • the information may be acquired and the information processing apparatus 10 may be notified that the positions and the number of objects placed in the work environment 4 by the user are correct.
  • the information processing apparatus 10 may update the data by setting the positions and the number of objects placed in the working environment 4 by the user as correct data.
  • the robot control system 100 may execute an information processing method including the procedures of the flowcharts illustrated in FIGS. 6 and 7 .
  • the information processing method may be implemented as an information processing program to be executed by a processor constituting the controller 11 of the information processing device 10, the robot controller 2, or the terminal device 9.
  • the information processing program may be stored in a non-transitory computer-readable medium.
  • the control unit 11 may associate past record information with the control program by executing the procedure of the flowchart of FIG.
  • the control unit 11 acquires the selection of the control program from the user (step S1). Specifically, the terminal device 9 receives an input for selecting a control program from the user. The control unit 11 acquires the selection of the control program from the terminal device 9 .
  • the control unit 11 acquires an image of at least part of the working environment 4 (step S2). Specifically, the information acquisition device 3 acquires an image of at least part of the work environment 4 or depth information of at least part of the work environment 4 as at least part of the work environment 4 . The control unit 11 acquires at least part of the information on the work environment 4 from the information acquisition device 3 .
  • the control unit 11 recognizes objects in at least part of the work environment 4 (step S3).
  • the control unit 11 acquires attribute information and position information of the recognized object (step S4).
  • the control unit 11 associates the control program selected by the user with past recorded information including attribute information and position information of objects recognized in at least a part of the work environment 4, and stores the information in the storage unit 12 (step S5). After executing the procedure of step S5, the control unit 11 ends the execution of the procedure of the flowchart of FIG.
  • the control unit 11 may determine the suitability of the control program selected by the user by executing the procedure of the flowchart of FIG.
  • the control unit 11 acquires the control program selection from the user (step S11). Specifically, the terminal device 9 receives an input for selecting a control program from the user. The control unit 11 acquires the selection of the control program from the terminal device 9 .
  • the control unit 11 acquires an image of at least part of the work environment 4 (step S12).
  • the control unit 11 recognizes objects in at least part of the working environment 4 (step S13).
  • the control unit 11 acquires attribute information and position information of the recognized object (step S14).
  • the control unit 11 calculates the degree of similarity between the past record information associated with the control program and the attribute information and position information of the recognized object (step S15). The control unit 11 determines whether the calculated similarity is greater than or equal to the threshold (step S16). If the calculated similarity is greater than or equal to the threshold (step S16: YES), the control unit 11 causes the robot controller 2 to execute the control program selected by the user (step S17). After executing the procedure of step S17, the control unit 11 ends the execution of the procedure of the flowchart of FIG.
  • step S16 determines whether there is a control program similar to the work that the user wants to execute.
  • Step S18 determines that, among the control programs stored in the storage unit 12, there is a control program associated with past record information similar to at least part of the information of the work environment 4 prepared by the user. decide whether to The control unit 11 may determine whether or not there is a control program associated with past record information that has a high degree of similarity with at least part of the information on the work environment 4 prepared by the user.
  • step S18 If a similar control program exists (step S18: YES), the control unit 11 extracts the similar control program (step S19).
  • the control unit 11 outputs information specifying the extracted control program to the terminal device 9 and presents it to the user.
  • the control unit 11 acquires the selection of the control program from the user (step S20).
  • the terminal device 9 receives an input for selecting a control program from the user.
  • the control unit 11 acquires the selection of the control program from the terminal device 9 .
  • the control unit 11 proceeds to the procedure of step S17, and causes the robot controller 2 to execute the control program selected by the user.
  • step S18 If a similar control program does not exist (step S18: NO), the control unit 11 estimates a factor that reduces the degree of similarity with the existing past record information in at least a part of the work environment 4, and outputs it to the terminal device 9. is displayed (step S21). After executing the procedure of step S21, the control unit 11 ends the execution of the procedure of the flowchart of FIG. After executing the procedure of step S21, the control unit 11 may confirm that the user has changed at least part of the work environment 4 and return to the determination procedure of step S18.
  • suitability of a candidate control program for controlling the robot 1 is estimated from a plurality of control programs. obtain. It may also be determined whether the control program selected by the user is compatible with at least part of the working environment 4 . By doing so, the user is less likely to make a mistake in selecting the control program. In addition, it is possible to avoid starting work of the robot 1 while preparing at least part of the work environment 4 or selecting the control program incorrectly. As a result, the burden on the user can be reduced.
  • the work of the robot 1 may not be successful with the selected control program. Conversely, even if the work 8 and the like are not available in the working environment 4, the robot 1 may successfully perform the work with the selected control program. Comparing at least part of the information of the work environment 4 with past record information, or making determinations based on the degree of similarity, allows flexibility in the work of the robot 1 . As a result, the work of the robot 1 can be efficiently performed.
  • the suitability of the control program may be determined for each task to be performed by the robot 1, or may be performed collectively for a series of multiple tasks to be performed by the robot 1.
  • Cooperative work includes work performed in cooperation between a person and the robot 1, work performed in cooperation between the robots 1, or work performed in cooperation between the robot 1 and another machine.
  • Collaborative work includes collaborative work performed by a person and the robot 1 in cooperation with each other.
  • the robot control system 100 can be deployed at industrial product production sites, food processing sites that handle ingredients, or cosmetics or pharmaceutical manufacturing sites.
  • the robot control system 100 can be used to control the robot 1 such as a communication robot or a service robot that interacts with a user.
  • the robot 1 has an information acquisition device 3 such as a camera
  • the robot control system 100 determines whether or not to select a control program based on the result of recognizing the face of the user who is the target of interaction or service provision. good.
  • the robot control system 100 can be applied, for example, when it is necessary to change the control program according to a change in the situation, such as when the user is wearing glasses or wearing a mask.
  • the control unit 11 of the information processing device 10 may acquire usage information indicating the usage status of the control program candidate selected by the user, and estimate suitability of the candidate based on the degree of similarity and the usage information.
  • the usage information may represent working hours in a day, or work periods in a year or a month. Further, the usage information may represent the user who causes the robot 1 to perform the work, or may represent the location where the robot 1 is caused to perform the work. The usage information may also represent the most recent time at which the robot 1 was caused to perform a task, or the most recent frequency at which the robot 1 was caused to perform a task.
  • the control unit 11 When the control program to be executed by the robot controller 2 is determined, the control unit 11 newly associates the preparation environment information corresponding to at least a part of the work environment 4 of the robot 1 with the determined control program as past record information. you can
  • the new past record information associated with the determined control program is also called third environmental information.
  • Associating third environment information with the control program is also referred to as recording third environment information.
  • the recording of the third environment information may be performed regardless of whether the candidate selected by the user is determined to be appropriate or is estimated to be inappropriate.
  • the recording of the third environment information may be executed when the candidate selected by the user is instructed to be used as it is even though the control unit 11 determines that the candidate selected by the user is inappropriate. .
  • the recording of the third environment information may be executed when the user instructs to use another candidate.
  • the control unit 11 can improve the accuracy of estimating the suitability of the control program candidate.
  • AI Artificial Intelligence
  • the environment information to which the control program is applied may be updated by re-learning, or the control unit 11 estimates the adequacy of the candidate for the control program. model may be updated by retraining.
  • the control unit 11 may modify the criteria for judging the suitability of the control program candidate. For example, when the control unit 11 estimates that the candidate is appropriate when the similarity is 90% or more, the candidate is appropriate even when the similarity is 80% or more based on the third environment information. The criteria may be modified to estimate that Further, when the control unit 11 estimates that the environment is inadequate when the similarity is 80% or more and less than 90%, the environment is inadequate when the similarity is 75% or more and less than 90%. The criteria may be modified to assume that there is, and assume that if the similarity is less than 75%, then the selection is poor.
  • the allowable range for judging that the similarity is 90% may change.
  • the relationship between at least a part of the information of the work environment 4 and the past recorded information whose similarity was less than 90% before the revision of the criterion may have a similarity of 90% or more after the revision of the criterion.
  • the control unit 11 may detect an insufficient environment or insufficient selection based on the positional relationship of multiple objects.
  • the control unit 11 may detect an insufficient environment or an insufficient selection further based on information that associates the past record information with the control program.
  • the robot control system 100 determines whether the control program selected by the user is appropriate.
  • the robot control system 100 may display control program candidates on the terminal device 9 when the user selects a control program.
  • the control unit 11 of the robot control system 100 through the robot controller 2, the terminal device 9, the information acquisition device 3, or the like, for example, the attribute information of the robot 1 that the user plans to use, the information of the user who plans to use the robot 1,
  • information such as the recognized work target that is scheduled to be worked is acquired, and as a control program candidate, for example, the robot 1 that the user plans to use, the robot that is the same type as the robot 1 that is scheduled to be used, or the work target that is scheduled to be worked,
  • a control program frequently executed within a predetermined period or a control program frequently executed by a specific user may be extracted.
  • the robot control system 100 may calculate an index called a degree of association.
  • the control unit 11 of the information processing device 10 may calculate the degree of association so that, for example, a control program that has been executed with a high frequency in a predetermined period before the present is given a high priority.
  • the control unit 11 may calculate the degree of association so that the most recently executed control program is given a higher priority.
  • the control unit 11 assigns high priority to the control program executed most recently by the user who prepares the work environment 4 and causes the robot 1 to execute the work, or the control program executed frequently by the user. , the relevance may be calculated.
  • the control unit 11 may extract the control program based on the calculated value of the index such as the degree of association.
  • a storage medium on which the program is recorded for example, an optical disk, Magneto-optical disk, CD-ROM, CD-R, CD-RW, magnetic tape, hard disk, memory card, etc.
  • the program may be stored on a non-transitory computer-readable medium.
  • the implementation form of the program is not limited to an application program such as an object code compiled by a compiler or a program code executed by an interpreter. good.
  • the program may or may not be configured so that all processing is performed only in the CPU on the control board.
  • the program may be configured to be partially or wholly executed by another processing unit mounted on an expansion board or expansion unit added to the board as required.
  • Embodiments according to the present disclosure are not limited to any specific configuration of the embodiments described above. Embodiments of the present disclosure extend to any novel feature or combination thereof described in the present disclosure or any novel method or process step or combination thereof described. be able to.
  • Descriptions such as “first” and “second” in this disclosure are identifiers for distinguishing the configurations. Configurations that are differentiated in descriptions such as “first” and “second” in this disclosure may interchange the numbers in that configuration.
  • the first tray 6 can exchange the identifiers “first” and “second” with the second tray 7 . The exchange of identifiers is done simultaneously. The configurations are still distinct after the exchange of identifiers. Identifiers may be deleted. Configurations from which identifiers have been deleted are distinguished by codes. The description of identifiers such as “first” and “second” in this disclosure should not be used as a basis for interpreting the order of the configuration or the existence of lower numbered identifiers.
  • robot control system (1: robot, 2: robot controller, 3: information acquisition device, 4: work environment, 5: workbench, 6: first tray, 7: second tray, 8: work) 9 terminal device 10 information processing device (11: control unit, 12: storage unit)) 80 network

Abstract

情報処理装置は、記憶部に記録されたロボットを制御する複数の制御プログラムから、第1ロボットを制御する第1制御プログラムの候補の適否を推定する制御部を備える。制御部は、第1ロボットの作業環境を示す第1環境情報を取得し、第1制御プログラムを実行する環境を示す第2環境情報を取得し、第1環境情報と第2環境情報との類似度に基づき、第1制御プログラムの候補の適否を推定する。

Description

情報処理装置、ロボットコントローラ、ロボット制御システム、及び情報処理方法 関連出願へのクロスリファレンス
 本出願は、日本国特許出願2021-158480号(2021年9月28日出願)の優先権を主張するものであり、当該出願の開示全体を、ここに参照のために取り込む。
 本開示は、情報処理装置、ロボットコントローラ、ロボット制御システム、及び情報処理方法に関する。
 従来、ユーザからの指示に不足があってもロボットに作業群を実行させる装置が知られている(例えば特許文献1参照)。
特開2021-30407号公報
 本開示の一実施形態に係る情報処理装置は、記憶部に記録されたロボットを制御する複数の制御プログラムから、第1ロボットを制御する第1制御プログラムの候補の適否を推定する制御部を備える。前記制御部は、前記第1ロボットの作業環境を示す第1環境情報を取得し、前記第1制御プログラムを実行する環境を示す第2環境情報を取得し、前記第1環境情報と前記第2環境情報との類似度に基づき、第1制御プログラムの候補の適否を推定する。
 本開示の一実施形態に係るロボットコントローラは、前記情報処理装置において適切な状態であると判定されて出力された制御プログラムを実行して前記ロボットを制御する。
 本開示の一実施形態に係るロボット制御システムは、前記情報処理装置と、前記ロボットコントローラと、前記ロボットとを備える。
 本開示の一実施形態に係る情報処理方法は、情報処理装置に記録されたロボットを制御する複数の制御プログラムから、第1ロボットを制御する第1制御プログラムの候補の適否を推定する情報処理装置によって実行される。前記情報処理方法は、前記情報処理装置が、前記第1ロボットの作業環境を示す第1環境情報を取得することを含む。前記情報処理方法は、前記情報処理装置が、前記第1制御プログラムを実行する環境を示す第2環境情報を取得することを含む。前記情報処理方法は、前記情報処理装置が、前記第1環境情報と前記第2環境情報との類似度に基づき、第1制御プログラムの候補の適否を推定することを含む。
一実施形態に係るロボット制御システムの構成例を示す模式図である。 一実施形態に係るロボット制御システムの構成例を示すブロック図である。 作業環境画像の一例を示す図である。 作業環境に位置する物体の属性情報の一例を示す表である。 選択した制御プログラムと実際の作業環境との組み合わせの類型を示す表である。 制御プログラムと過去記録情報とを関連づける手順例を示すフローチャートである。 一実施形態に係る情報処理方法の手順例を示すフローチャートである。
(ロボット制御システム100の概要)
 図1及び図2に示されるように、一実施形態に係るロボット制御システム100は、ロボット1と、ロボットコントローラ2と、情報取得装置3と、端末装置9と、情報処理装置10とを備える。ロボット制御システム100は、作業環境4に位置する作業台5の上に配置されている物体に対してロボット1に作業を実行させる。具体的に、例えばロボット1は、第1トレイ6に収容されているワーク8を、第2トレイ7に移動させることができる。
 ロボット1の動作を制御するプログラムは、例えば、ユーザがロボット1を実際に操作しながら作成され、ロボットコントローラ2又は情報処理装置10に保存されてよい。ロボット1の動作を制御するプログラムは、制御プログラムとも称される。なお、制御プログラムは、ロボットシミュレーターなどを用いて作成されてもよい。この場合、例えば、ネットワークに接続しない状態(オフライン)にて、制御プログラムが作成されてもよい。
 ロボット1は、所定の処理パターンで動作することによって作業を実行する。処理パターンは、例えば、ロボット1が指示された作業を達成するための動作の組み合わせとして表される。例えば、処理パターンは、ワーク8を把持する動作と、把持したワーク8を搬送する動作と、搬送したワーク8を所定位置に配置する動作との組み合わせとして表され得る。また、作業は、処理パターンに含まれる一連の動作を実行することによって達成される目標を規定する概念であるとする。作業は、例えば、ワーク8をA地点からB地点に運ぶという目標を規定する概念であってよい。作業は、例えば、ワーク8をC地点に載せるという目標を規定する概念であってよい。作業は、例えば、ワーク8を別の物体と組み合わせるという目標を規定する概念であってよい。処理パターンは、ロボット1が作業を完遂するための動作の組み合わせであるともいえる。また、制御プログラムは、ロボット1が作業を完遂できるように処理パターンで表される動作の組み合わせをロボット1に実行させる命令群であるともいえる。すなわち、制御プログラムは、所定の作業を達成するための処理パターンがプログラミングされたソフトウェアともいえる。なお、複数の制御プログラムは、同種のワーク8に対して行なう異なる作業がそれぞれ記録された制御プログラムを含んで構成されてよいし、異種のワーク8に対して行なう同種の作業がそれぞれ記録された制御プログラムを含んで構成されてもよい。また、1つの制御プログラムに、1種類のワーク8に対する1種類の作業がプログラムされていてもよい。
 ロボット1に1つの作業を実行させる場合、実行させる作業に対応する1つの制御プログラムがあらかじめ準備される。ロボット1に複数の作業を実行させる場合、各作業に対応する複数の制御プログラムがあらかじめ準備される。ユーザは、ロボット1に実行させたい作業に対応する制御プログラムを選択してロボットコントローラ2に指示することによってロボット1に作業を実行させる。
 あらかじめ準備された制御プログラムの数が増加する場合、ユーザが制御プログラムを適切に選択することが難しくなる。例えば、ユーザは、間違った制御プログラムを選択し得る。また、ユーザは、ロボット1に作業を実行させるために作業環境4を準備する際に、作業環境4に配置する物体の種類、数又は位置を間違えることがある。
 比較例として、ロボットコントローラ中のワークが作業環境を撮影した画像に基づいて作業環境に存在するワークを推定し、作業環境に存在するワークに対してロボットが実行する作業を推定することが考えられる。しかし、比較例に係る作業の推定方法によれば、例えば、同じワークにおいて複数の異なる作業が実行される可能性がある場合、又は作業環境に間違ったワークが配置されている場合、ロボットコントローラが適切な作業を判断しにくい。
 本開示に係る一実施形態に係るロボット制御システム100の情報処理装置10は、ロボットの作業環境4の少なくとも一部を情報取得装置3によって撮影した画像に基づいて作業環境4の少なくとも一部の情報を取得する。ロボット制御システム100の情報処理装置10は、作業環境4の少なくとも一部の情報と、候補となる制御プログラムに関連づけられている情報とを比較する。ロボット制御システム100の情報処理装置10は、候補となる制御プログラムがロボットに作業させる制御プログラムとして適切か判定できる。または、ロボット制御システム100の情報処理装置10は、候補となる制御プログラムが作業環境4に対して適切か判定できる。または、ロボット制御システム100の情報処理装置10は、作業環境4が候補となる制御プログラムを実施する環境として適切か判定できる。
 言い換えれば、ロボット制御システム100の情報処理装置10は、情報処理装置10の記憶部12に記録された、ロボット1を制御する複数の制御プログラムから、制御の対象とするロボット1を制御する制御プログラムの候補の適否を推定する。制御の対象とするロボット1は、単に区別のために第1ロボットとも称される。また、第1ロボットを制御する制御プログラムは、単に区別のために第1制御プログラムとも称される。
 なお、ロボット制御システム100の情報処理装置10は、ユーザが選択した制御プログラムが作業環境4に対して適切でない場合、ユーザに対して通知してもよいし、適切な制御プログラムを抽出して提示してもよい。このようにすることで、ユーザが制御プログラムの選択を間違う可能性が低減され得る。
(ロボット制御システム100の構成例)
 図1及び図2に示されるように、一実施形態に係るロボット制御システム100は、ロボット1と、ロボットコントローラ2と、情報取得装置3と、端末装置9と、情報処理装置10とを備える。ロボット制御システム100の少なくとも1つの構成部は、ネットワーク80を介して通信可能に接続されてもよいし、ネットワーク80を介さずに通信可能に接続されてもよい。ロボット制御システム100の少なくとも1つの構成部は、有線又は無線で通信可能に接続されてもよい。ロボット制御システム100の少なくとも1つの構成部は、専用回線を介して通信可能に接続されてもよい。ロボット制御システム100の少なくとも1つの構成部は、これらの例に限られず他の種々の形態で互いに通信可能に接続されてもよい。以下、ロボット制御システム100の各構成が具体的に説明される。
<情報処理装置10>
 情報処理装置10は、制御部11と、記憶部12とを備える。情報処理装置10は、ネットワーク80を介して、又は、ネットワーク80を介さずに直接、他の構成部と通信可能に接続される。
 制御部11は、情報処理装置10の種々の機能を実現するために、少なくとも1つのプロセッサを含んで構成されてよい。プロセッサは、情報処理装置10の種々の機能を実現するプログラムを実行しうる。プロセッサは、単一の集積回路として実現されてよい。集積回路は、IC(Integrated Circuit)とも称される。プロセッサは、複数の通信可能に接続された集積回路及びディスクリート回路として実現されてよい。プロセッサは、CPU(Central Processing Unit)を含んで構成されてよい。プロセッサは、DSP(Digital Signal Processor)又はGPU(Graphics Processing Unit)を含んで構成されてもよい。プロセッサは、他の種々の既知の技術に基づいて実現されてよい。
 情報処理装置10は、記憶部12を更に備える。記憶部12は、磁気ディスク等の電磁記憶媒体を含んで構成されてよいし、半導体メモリ又は磁気メモリ等のメモリを含んで構成されてもよい。記憶部12は、HDD(Hard Disk Drive)として構成されてもよいしSSD(Solid State Drive)として構成されてもよい。記憶部12は、各種情報及び制御部11で実行されるプログラム等を格納する。記憶部12は、制御部11のワークメモリとして機能してよい。記憶部12の少なくとも一部は、制御部11に含まれてもよい。記憶部12の少なくとも一部は、情報処理装置10と別体の記憶装置として構成されてもよい。
 情報処理装置10は、有線又は無線で通信可能に構成される通信デバイスを含んで構成されてよい。通信デバイスは、種々の通信規格に基づく通信方式で通信可能に構成されてよい。
 情報処理装置10は、1又は複数のサーバを含んで構成されてよい。情報処理装置10は、複数のサーバに並列処理を実行させるように構成されてよい。情報処理装置10は、物理的な筐体を含んで構成される必要はなく、ヴァーチャルマシン又はコンテナオーケストレイションシステム等の仮想化技術に基づいて構成されてもよい。情報処理装置10は、クラウドサービスを用いて構成されてもよい。情報処理装置10がクラウドサービスを用いて構成される場合、マネージドサービスを組み合わせることで構成され得る。つまり、情報処理装置10の機能は、クラウドサービスとして実現され得る。
 情報処理装置10は、少なくとも1つのサーバ群と、少なくとも1つのデータベース群とを備えてよい。サーバ群は、制御部11として機能する。データベース群は、記憶部12として機能する。サーバ群の数は、1つであってもよいし2つ以上であってもよい。サーバ群の数が1つである場合、1つのサーバ群で実現される機能が各サーバ群で実現される機能を包含する。各サーバ群は、互いに有線又は無線で通信可能に接続される。データベース群の数は、1つであってもよいし2つ以上であってもよい。データベース群の数は、情報処理装置10で管理するデータの容量と情報処理装置10に求められる可用性要件とに基づいて適宜増減されてよい。データベース群は、各サーバ群と有線又は無線で通信可能に接続される。情報処理装置10は、外部のデータベースに接続されてもよい。情報処理装置10と外部のデータベースとを備える情報処理システムが構成されてもよい。
 情報処理装置10は、図1及び図2において1つの構成として記載されているが、必要に応じて複数の構成を1つのシステムとみなして運用され得る。つまり、情報処理装置10は、容量可変なプラットフォームとして構成される。情報処理装置10として複数の構成が用いられることによって、1つの構成が天災等の不測の事態の発生時に運用できなくなった場合も、その他の構成を用いてシステムの運用が継続される。この場合、複数の構成それぞれは、有線又は無線を問わない回線によって接続され、相互に通信可能に構成されている。この複数の構成は、クラウド環境とオンプレミス環境とに跨って構築されてもよい。
 また、情報処理装置10は、有線又は無線を問わない回線によって、ロボット制御システム100の少なくとも1つの構成と通信可能に接続される。情報処理装置10と、ロボット制御システム100の少なくとも1つの構成とは、相互に標準的なプロトコルを用いたインタフェースを具備しており、双方向のコミュニケーションをとることができる。
<端末装置9>
 端末装置9は、ロボット制御システム100のロボットコントローラ2および情報処理装置10の少なくとも1つの構成と通信可能に接続される。なお、端末装置9は、ロボット制御システム100の他の構成と通信可能に接続されてもよい。また、端末装置9と、ロボット制御システム100の少なくとも1つの構成とは、ネットワーク80を介して、又は、ネットワーク80を介さずに直接、通信可能に接続されてもよい。
 端末装置9は、少なくとも1つのプロセッサを含んで構成されてよい。端末装置9のプロセッサは、情報処理装置10の制御部11のプロセッサと同一又は類似に構成されてよい。端末装置9は、記憶デバイスを含んで構成されてよい。端末装置9の記憶デバイスは、情報処理装置10の記憶部12と同一又は類似に構成されてよい。端末装置9は、通信デバイスを含んで構成されてよい。端末装置9の通信デバイスは、情報処理装置10の通信デバイスと同一又は類似に構成されてよい。
 端末装置9は、入力デバイスを備えてよい。入力デバイスは、例えば、タッチパネル若しくはタッチセンサ、又はマウス等のポインティングデバイスを含んで構成されてよい。入力デバイスは、物理キーを含んで構成されてもよい。入力デバイスは、マイク等の音声入力デバイスを含んで構成されてもよい。入力デバイスは、これらの例に限られず、他の種々のデバイスを含んで構成されてよい。
 端末装置9は、出力デバイスを備えてよい。出力デバイスは、表示デバイスを含んで構成されてよい。表示デバイスは、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイ若しくは無機ELディスプレイ、又は、プラズマディスプレイ(PDP:Plasma Display Panel)等を含んで構成されてよい。表示デバイスは、これらのディスプレイに限られず、他の種々の方式のディスプレイを含んで構成されてよい。表示デバイスは、LED(Light Emitting Diode)等の発光デバイスを含んで構成されてよい。表示デバイスは、他の種々のデバイスを含んで構成されてよい。出力デバイスは、音声等の聴覚情報を出力するスピーカ等の音声出力デバイスを含んで構成されてもよい。出力デバイスは、これらの例に限られず、他の種々のデバイスを含んで構成されてよい。
 ロボット制御システム100が備える端末装置9の数は、1台に限られず、2台以上であってよい。ロボット制御システム100が複数の端末装置9を備える場合、各端末装置9がユーザからの入力を受け付けてよい。端末装置9は、タブレット端末として構成されてよい。端末装置9は、フィーチャフォン又はスマートフォン等の携帯電話端末として構成されてよい。端末装置9は、デスクトップPC(Personal Computer)又はノートPC等のPC端末として構成されてよい。端末装置9は、これらの例に限られず、GUI(Graphical User Interface)及び通信機能を提供できる種々のデバイスとして構成されてよい。
 端末装置9は、制御プログラムを情報処理装置10にあらかじめ格納する作業をユーザが実行するために使用されてよい。端末装置9は、ロボット1の状態を監視するために使用されてもよい。端末装置9は、これらの例に限られず、他の種々の機能を提供できる。端末装置9は、ロボットコントローラ2に併設されていてもよい。端末装置9がロボットコントローラ2に併設される場合、ロボットコントローラ2自体が入力デバイス又は出力デバイスを有してもよい。ロボットコントローラ2が端末装置9の中に含まれてもよい。
<ロボットコントローラ2>
 ロボットコントローラ2は、情報処理装置10から、制御プログラムをダウンロードする。ロボットコントローラ2は、ダウンロードした制御プログラムを実行することによって、ロボット1の動作を制御する情報をロボット1に出力し、制御プログラムで特定される作業をロボット1に実行させる。ロボットコントローラ2は、ロボットコントローラ2自身が保持している制御プログラムを実行してもよい。ロボットコントローラ2は、図1に例示されるように、ワーク8を第1トレイ6から第2トレイ7に移動させる作業をロボット1に実行させてよい。ロボットコントローラ2は、これに限られず種々の作業をロボット1に実行させてよい。ロボットコントローラ2は、クラウドコンピューティング環境に接続されてもよいし接続されなくてもよい。ロボットコントローラ2がクラウドコンピューティング環境に接続されない場合、ロボットコントローラ2の動作は、オンプレミス環境で完結する。ロボットコントローラ2の動作がオンプレミス環境で完結する場合、情報処理装置10の動作は、ロボットコントローラ2によって実行される。
 ロボットコントローラ2は、制御プログラムを情報処理装置10からダウンロードする通信デバイスを備えてよい。ロボットコントローラ2の通信デバイスは、情報処理装置10の通信デバイスと同一又は類似に構成されてよい。ロボットコントローラ2は、制御プログラムを実行することによってロボット1の動作を制御する情報を生成するプロセッサを備えてよい。ロボットコントローラ2のプロセッサは、情報処理装置10の制御部11のプロセッサと同一又は類似に構成されてよい。
 図1に例示される構成において、1台のロボットコントローラ2が1台のロボット1に接続されている。1台のロボットコントローラ2が2台以上のロボット1に接続されてもよい。1台のロボットコントローラ2は、1台のロボット1だけを制御してもよいし、2台以上のロボット1を制御してもよい。ロボットコントローラ2及びロボット1の数は、2台に限られず、1台であってもよいし、3台以上であってもよい。また、ロボットコントローラ2は、情報処理装置10と統合され、情報処理装置10の一機能としてロボットコントローラ2の機能が実現されてもよい。
<ロボット1>
 ロボット1は、アームを備えるロボットアームとして構成されてよい。アームは、例えば、6軸又は7軸の垂直多関節ロボットとして構成されてよい。アームは、3軸又は4軸の水平多関節ロボット又はスカラロボットとして構成されてもよい。アームは、2軸又は3軸の直交ロボットとして構成されてもよい。アームは、パラレルリンクロボット等として構成されてもよい。アームを構成する軸の数は、例示したものに限られない。
 ロボット1は、アームに取り付けられるエンドエフェクタを備えてよい。エンドエフェクタは、例えば、作業対象物を把持できるように構成される把持ハンドを含んでよい。把持ハンドは、複数の指を有してよい。把持ハンドの指の数は、2つ以上であってよい。把持ハンドの指は、1つ以上の関節を有してよい。エンドエフェクタは、作業対象物を吸着できるように構成される吸着ハンドを含んでもよい。エンドエフェクタは、作業対象物を掬うことができるように構成される掬いハンドを含んでもよい。エンドエフェクタは、ドリル等の工具を含み、作業対象物に穴を開ける作業等の種々の加工を実施できるように構成されてもよい。エンドエフェクタは、これらの例に限られず、他の種々の動作ができるように構成されてよい。
 ロボット1は、アームを動作させることによって、エンドエフェクタの位置を制御できる。エンドエフェクタは、作業対象物に対して作用する方向の基準となる軸を有してもよい。エンドエフェクタが軸を有する場合、ロボット1は、アームを動作させることによって、エンドエフェクタの軸の方向を制御できる。ロボット1は、エンドエフェクタが作業対象物に作用する動作の開始及び終了を制御する。ロボット1は、エンドエフェクタの位置、又は、エンドエフェクタの軸の方向を制御しつつ、エンドエフェクタの動作を制御することによって、作業対象物を動かしたり加工したりすることができる。
 ロボット1は、無人搬送車(AGV:Automated Guided Vehicle)として構成されてもよい。ロボット1は、ドローンとして構成されてもよい。ロボット1は、ロボットアーム又はAGVに限られず、乗り物、電子機器又は制御機械等の他の種々の形態で構成されてもよい。
 ロボット1は、ロボット1の少なくとも1つの構成部の状態を検出するセンサを更に備えてよい。センサは、ロボット1の少なくとも1つの構成部の現実の位置若しくは姿勢、又は、ロボット1の少なくとも1つの構成部の速度若しくは加速度に関する情報を検出してよい。センサは、ロボット1の少なくとも1つの構成部に作用する力を検出してもよい。センサは、ロボット1の少なくとも1つの構成部を駆動するモータに流れる電流又はモータのトルクを検出してもよい。センサは、ロボット1の実際の動作の結果として得られる情報を検出できる。ロボットコントローラ2は、センサの検出結果を取得することによって、ロボット1の実際の動作の結果を把握することができる。
 ロボット1は、製品に対して所定の作業を実行し、製品の種類に応じた条件を設定して異なる種類の製品を加工する装置と異なり、作業に合わせた制御プログラムを生成可能であり、制御プログラムを生成することによって、種々の作業を実行するように動作することができる。
<情報取得装置3>
 情報取得装置3は、ロボット1の作業環境4の少なくとも一部の情報を取得する。情報取得装置3は、作業環境4の少なくとも一部を撮影するカメラを含んで構成されてよい。情報取得装置3は、作業環境4の少なくとも一部に存在する物体の位置又は形状若しくは大きさを測定するセンサを含んで構成されてよい。情報取得装置3は、3Dセンサ又は距離センサ等を含んで構成されてよい。情報取得装置3は、作業環境4の少なくとも一部の温度又は湿度などを測定するセンサを含んで構成されてよい。情報取得装置3は、作業環境4の少なくとも一部がクリーンルームである場合、クリーンルーム内のパーティクル密度を測定するセンサを含んで構成されてよい。作業環境4の少なくとも一部の情報は、クリーンルームのクラス分類情報を含んでもよい。情報取得装置3は、作業環境4の少なくとも一部の騒音を測定するセンサを含んで構成されてよい。また、情報取得装置3は、周辺機器の稼働を示す、電流などを測定する電流センサ等のセンサを含んで構成されてよい。情報取得装置3は、ロボット1の作業環境4の少なくとも一部の情報を取得できる位置に固定されてよい。情報取得装置3は、ロボットアーム又はエンドエフェクタに取り付けられてもよい。情報取得装置3の数は、1台に限られず2台以上であってよい。複数の情報取得装置3は、互いに通信可能に接続されてよい。複数の情報取得装置3のうち少なくとも1台の情報取得装置3は、ロボットコントローラ2又は情報処理装置10に通信可能に接続されてよい。情報取得装置3は、物理的に離れた複数の情報取得部を備えてよい。複数の情報取得部は、互いに通信可能に接続されてよい。
 情報取得装置3が作業環境4の少なくとも一部として取得する情報は、図1に例示されるように作業台5及び作業台5に配置された物体が位置する範囲などのロボット1の作業範囲内の情報を含んでいてもよい。情報取得装置3が作業環境4の少なくとも1部の上方として取得する情報は、作業対象物自体又はロボット1自体と異なる情報が含まれていてもよい。また、情報取得装置3が作業環境4の少なくとも一部の情報として取得する情報は、これらの情報に限られず、ロボット1の作業範囲外の情報を含んでいてもよい。具体的には、情報取得装置3が作業環境4の少なくとも一部の情報として取得する情報は、周辺機器が位置する範囲の情報を含んでよい。周辺機器は、ワーク8を配置するパーツフィーダ、又は、第1トレイ6若しくは第2トレイ7等を配置するトレイチェンジャを含んでよい。周辺機器は、ワーク8の表と裏とを反転させるワーク反転装置を含んでよい。周辺機器は、ロボット1のエンドエフェクタを交換するツールチェンジャを含んでよい。周辺機器は、ワーク8を加工する研磨機等の製造装置を含んでよい。周辺機器は、これらに限られず種々の機器を含んでよい。情報取得装置3が作業環境4の少なくとも一部の情報として取得する情報は、ワーク8が位置していない範囲の情報を含んでもよい。情報取得装置3が作業環境4の少なくとも一部の情報として取得する情報は、ロボット1のエンドエフェクタの属性情報又はアームの属性情報を含んでよい。エンドエフェクタの属性情報は、エンドエフェクタがハンドであるか吸盤であるか等を特定する情報を含んでよい。アームの属性情報は、アームの関節の数若しくは可動範囲、又は、アームの長さを特定する情報を含んでよい。
 情報取得装置3が情報を取得する範囲は、ロボット1の動作範囲であってもよい。また、情報取得装置3が情報を取得する範囲は、ロボット1の動作範囲に限られず、ロボット1の動作範囲外の範囲、又は、動作範囲の周辺の範囲を含んでもよい。情報取得装置3は、ロボット1の動作範囲外の範囲、又は、動作範囲の周辺の範囲の情報を作業環境4の少なくとも一部の情報として取得してよい。動作範囲の周辺の範囲は、動作範囲から所定距離以内の範囲であってよい。所定距離は、例えば同じ工場の建屋内、同じ部屋内、又は同じ製造ライン内等の2地点間の距離として設定されてよい。周辺機器は、ロボット1の動作範囲内に向けてワーク8等を流すベルトコンベアを含み得る。ロボット制御システム100は、ロボット1の動作範囲外に位置するベルトコンベア上のワーク8の状態に基づいて制御プログラムを選択し得る。
(ロボット制御システム100の動作例)
 ロボット制御システム100は、制御プログラム(処理パターン)をプログラム番号、プログラム名又は作業名に対応づけて情報処理装置10に格納してよい。ロボット制御システム100は、プログラム番号等に、その制御プログラムが実行される作業環境4の少なくとも一部の情報を対応づける。つまり、制御プログラムは、その制御プログラムが実行される作業環境4の少なくとも一部の情報に対応づけられる。ユーザが準備した作業環境4の少なくとも一部の情報は、準備環境情報又は第1環境情報とも称される。制御プログラムに関連づけられている作業環境4の少なくとも一部の情報は、制御プログラムが過去に記録されたときの作業環境4の少なくとも一部の情報であり、過去記録情報又は第2環境情報とも称される。過去記録情報又は第2環境情報は、ロボットコントローラ2が制御プログラムを実行したことによって、ロボット1によって作業が実行された際の作業環境4の少なくとも一部の情報に対応する。過去記録情報又は第2環境情報は、ユーザが登録した作業環境4の少なくとも一部の情報を含んでもよい。ロボット制御システム100において、端末装置9は、ユーザから作業環境4の少なくとも一部の情報を登録する入力を受け付けるように構成されてよい。つまり、ロボット制御システム100は、ユーザによって模擬的に登録された情報をロボット制御プログラム(処理パターン)の番号等に関連づけてよい。第1ロボットの過去記録情報又は第2環境情報を登録できるユーザは、例えば、過去に第1ロボットに作業を実行させた実績を有するユーザであってよいし、他のロボットのユーザであってもよい。第1ロボットの過去記録情報又は第2環境情報を登録できるユーザは、工場等の管理者であってもよいし、作業者等であってもよい。
 過去記録情報は、準備環境情報と比較可能な情報を含んでいればよい。すなわち、過去記録情報は、準備環境情報に対応した情報を含んでいればよく、例えば準備環境情報が画像を有していれば過去記録情報も画像を有していてもよいし、準備環境情報がセンサ出力等の数値データを有していれば過去記録情報も数値データを有していてもよい。なお、言い換えれば、準備環境情報は、過去記録記録情報と比較可能な情報を含んでいてもよい。
 過去記録情報は、例えば、その制御プログラムを実行するときに撮影した作業環境4の少なくとも一部の画像を含んでよい。過去記録情報は、作業環境4の少なくとも一部の画像を解析することによって得られた、作業環境4の少なくとも一部に存在する物体の属性情報を含んでよい。物体の属性情報は、物体の輪郭等の形状、物体の色若しくはテクスチャ、又は、物体の大きさ等の物体の外観の情報を含んでよい。物体の属性情報は、作業環境4の少なくとも一部の画像に写った二次元の情報を含んでよいし、作業環境4の少なくとも一部のデプス情報に基づく三次元の情報を含んでもよい。属性情報は、物体の外観に関する情報に限られず、物体の材質又は密度等の情報を含んでもよい。過去記録情報は、作業環境4の少なくとも一部に存在する物体の座標等の位置情報を含んでよい。位置情報は、作業環境4に設定されている基準位置からの相対位置を表してよい。位置情報は、情報取得装置3に設定されている絶対位置を表してもよい。位置情報は、ロボット1の周辺にある複数の物体の位置関係を表してもよい。位置情報は、作業環境4の少なくとも一部に存在する複数の物体の位置関係を表してもよい。位置情報は、ワーク8と、ワーク8の周辺にある物体との位置関係を表してもよい。過去記録情報は、作業環境4の少なくとも一部を撮影したカメラの種類、又は、カメラの位置若しくは向き等の撮影条件を含んでもよい。
 以上述べてきたように、ロボット制御システム100は、プログラム番号又はプログラム名に対応づけられた制御プログラムを、その制御プログラムの過去記録情報に関連づけて情報処理装置10に格納する。具体的に、ロボット制御システム100は、以下の情報を情報処理装置10に格納してよい。
(1)プログラム番号
(2)制御プログラム(処理パターン)
(3)作業環境4の少なくとも一部を撮影した画像
(4)作業環境4の少なくとも一部を撮影した画像から認識された物体の属性情報及び位置情報
 図3に、作業環境4の少なくとも一部を撮影した画像の一例が示される。作業環境4に作業台5が位置する。作業台5の上に第1トレイ6と第2トレイ7とが位置する。また、第1トレイ6にワーク8が収容されている。
 図4に、作業環境4の少なくとも一部を撮影した画像から認識された物体の属性情報及び位置情報の一例が示される。画像から認識された物体の総数は、11個である。物体は4種類存在する。物体を種類別に特定するために、各種類に1番から4番までの物体IDが付されている。作業台5が1番に対応づけられている。第2トレイ7が2番に対応づけられている。第1トレイ6が3番に対応づけられている。ワーク8が4番に対応づけられている。作業台5、第1トレイ6及び第2トレイ7の数はそれぞれ1個である。ワーク8の数は8個である。
 各物体の色情報は、物体の各部の色情報を平均した平均色情報として表される。色情報は、画像のRGB(Red Green Blue)の各成分の階調に対応する数値として表される。作業台5(物体ID=1)の平均色情報は、(R1,G1,B1)で表される。第2トレイ7(物体ID=2)の平均色情報は、(R2,G2,B2)で表される。第1トレイ6(物体ID=3)の平均色情報は、(R3,G3,B3)で表される。ワーク8(物体ID=4)の平均色情報は、(R4,G4,B4)で表される。
 各物体の輪郭及びテクスチャは、その画像によって表される。
 本実施形態において、各物体の大きさは、各物体の幅(W)×奥行(D)×高さ(H)によって表されるとする。作業台5(物体ID=1)の大きさは、W1×D1×H1で表される。第2トレイ7(物体ID=2)の大きさは、W2×D2×H2で表される。第1トレイ6(物体ID=3)の大きさは、W3×D3×H3で表される。ワーク8(物体ID=4)の大きさは、W4×D4×H4で表される。
 各物体の座標は、作業環境4に設定されている基準位置の座標に対する相対的な座標によって表されてよいし、情報取得装置3に設定されている絶対的な座標(例えば撮影画像の画素位置)によって表されてもよい。本実施形態において、座標は、XYZ座標で表されるとする。作業台5(物体ID=1)の座標は、(X1,Y1,Z1)で表される。第2トレイ7(物体ID=2)の座標は、(X2,Y2,Z2)で表される。第1トレイ6(物体ID=3)の座標は、(X3,Y3,Z3)で表される。ワーク8(物体ID=4)の座標は、(X4,Y4,Z4)で表される。
<制御プログラムの実行時における過去記録情報との関連づけ>
 ロボット制御システム100は、あらかじめ制御プログラムを情報処理装置10に格納する。制御プログラムの実行時において制御プログラムが過去記録情報とまだ関連づけられていない場合、ロボット制御システム100は、制御プログラムの実行時に作業環境4の少なくとも一部の情報を取得してよい。ロボット制御システム100は、取得した作業環境4の少なくとも一部の情報を過去記録情報として制御プログラムに関連づけてよい。ロボット制御システム100は、例えば、制御プログラムを初めて実行する時にその作業環境4の少なくとも一部の情報を過去記録情報として取得し、制御プログラムに関連づけてよい。ロボット制御システム100は、制御プログラムに対応する作業に過去記録情報を関連づけるともいえる。過去記録情報は、ユーザが登録した作業環境4の少なくとも一部の情報を含んでもよい。ロボット制御システム100において、端末装置9は、ユーザから作業環境4の少なくとも一部の情報を登録する入力を受け付けるように構成されてよい。つまり、ロボット制御システム100は、ユーザによって模擬的に登録された情報をロボット制御プログラム(処理パターン)の番号等に関連づけてよい。第1ロボットの過去記録情報を登録できるユーザは、例えば、過去に第1ロボットに作業を実行させた実績を有するユーザであってよいし、他のロボットのユーザであってもよい。第1ロボットの過去記録情報を登録できるユーザは、工場等の管理者であってもよいし、作業者等であってもよい。
 制御プログラムは、具体的に以下の手順で、過去記録情報に関連づけられて情報処理装置10に格納され得る。
 ロボット制御システム100において、ロボット1に実行させるために必要なワーク8等が図3に示されるように準備される。例えば、ユーザは、作業環境4に、第1トレイ6と第2トレイ7とを配置する。ユーザは、第1トレイ6にワーク8を収容する。つまり、ワーク8並びに第1トレイ6及び第2トレイ7は、ユーザによって配置されてよい。他の例として、ワーク8並びに第1トレイ6及び第2トレイ7は、周辺機器によって配置されてもよい。
 ユーザは、作業環境4においてワーク8等を準備した後、端末装置9によってロボットコントローラ2に実行させる制御プログラムを選択する。端末装置9は、選択された制御プログラムをロボットコントローラ2に出力する。ロボットコントローラ2は、取得した制御プログラムを実行することによってロボット1を制御し、ロボット1に作業を実行させる。
 ロボット1又はロボットコントローラ2は、ロボット1が作業を実行する際に、情報取得装置3によって作業環境4の少なくとも一部の情報を取得する。情報取得装置3は、例えば作業環境4の少なくとも一部を撮影し、作業環境4の少なくとも一部の撮影画像を作業環境4の少なくとも一部の情報として取得してよい。情報取得装置3がロボット1のアーム又はエンドエフェクタに取り付けられている場合、ロボット1は、情報取得装置3をあらかじめ決められた撮影位置に移動させ、作業環境4の少なくとも一部を情報取得装置3に撮影させてよい。情報取得装置3は、作業環境4の少なくとも一部を撮影した画像だけでなく、作業環境4の少なくとも一部のデプス情報等の種々の情報を作業環境4の少なくとも一部の情報として取得してよい。
 情報取得装置3は、取得した作業環境4の少なくとも一部の情報を情報処理装置10に出力する。情報処理装置10の制御部11は、作業環境4の少なくとも一部の情報を解析することによって、作業環境4の少なくとも一部に存在するワーク8等の物体を認識する。制御部11は、例えば、作業環境4の少なくとも一部の撮影画像の画像解析によって、ワーク8、第1トレイ6及び第2トレイ7それぞれを認識してよい。制御部11は、例えば、作業環境4の少なくとも一部のデプス情報を解析することによって、ワーク8、第1トレイ6及び第2トレイ7それぞれを認識してよい。
 制御部11は、作業環境4の少なくとも一部の情報から認識された各物体の属性情報及び位置情報を取得する。制御部11は、各物体の属性情報及び位置情報を過去記録情報として、記憶部12に格納されている制御プログラムに関連づける。以上述べてきたように、制御プログラムは、過去記録情報に関連づけられて情報処理装置10に格納される。
<過去記録情報に関連づけられた制御プログラムの実行>
 ロボット制御システム100は、制御プログラムを過去記録情報に関連づけることによって、準備された作業環境4においてロボット1に作業を実行させるために用いる制御プログラムの適否を、以下の手順で容易に判定し得る。ロボット制御システム100は、ユーザがロボット1に作業を実行させるために用いる制御プログラムの候補を選択した際に、候補となった制御プログラムの適否を推定するともいえる。
 ロボット制御システム100において、ロボット1に実行させるために必要なワーク8等が図3に示されるように準備される。例えば、ユーザは、作業環境4に、第1トレイ6と第2トレイ7とを配置する。ユーザは、第1トレイ6にワーク8を収容する。つまり、ワーク8並びに第1トレイ6及び第2トレイ7は、ユーザによって配置されてよい。他の例として、ワーク8並びに第1トレイ6及び第2トレイ7は、周辺機器によって配置されてもよい。
 ユーザは、端末装置9によって、ロボットコントローラ2又はロボット1を起動する。ユーザは、作業環境4においてワーク8等を準備した後、端末装置9によってロボットコントローラ2に実行させる制御プログラムを選択する。一方、ロボット制御システム100は、情報取得装置3によって作業環境4の少なくとも一部の情報を取得する。情報取得装置3がロボット1のアーム又はエンドエフェクタに取り付けられている場合、ロボットコントローラ2は、作業環境4の少なくとも一部の情報を取得するために情報取得装置3を所定位置に移動させたり所定方向を向かせたりするようにロボット1の動作を制御する。
 情報取得装置3は、取得した作業環境4の少なくとも一部の情報を情報処理装置10に出力する。情報処理装置10の制御部11は、作業環境4の少なくとも一部の情報を解析することによって、作業環境4の少なくとも一部に存在するワーク8等の物体を認識する。制御部11は、例えば、作業環境4の少なくとも一部の撮影画像の画像解析によって、ワーク8、第1トレイ6及び第2トレイ7それぞれを認識してよい。制御部11は、例えば、作業環境4の少なくとも一部のデプス情報を解析することによって、ワーク8、第1トレイ6及び第2トレイ7それぞれを認識してよい。
 制御部11は、作業環境4の少なくとも一部の情報から認識された各物体の属性情報及び位置情報を取得する。制御部11は、各物体の属性情報及び位置情報を、選択された制御プログラムに関連づけられている過去記録情報と比較する。制御部11は、選択された制御プログラムに関連づけられている過去記録情報が、作業環境4の少なくとも一部の情報に適合する場合、選択された制御プログラムをロボットコントローラ2に出力する。ロボットコントローラ2は、選択された制御プログラムを実行し、ロボット1に作業を実行させる。
<<類似度に基づく制御プログラムの抽出>>
 制御部11は、選択された制御プログラムに関連づけられている過去記録情報が作業環境4の少なくとも一部の情報に適合するか判定するために、作業環境4の少なくとも一部の情報と過去記録情報との類似度を算出してよい。類似度は、2つの情報が完全に一致する場合に100%として算出され、2つの情報が完全に不一致の場合に0%として算出されるとする。制御部11は、類似度が所定値以上である場合に、選択された制御プログラムをロボットコントローラ2に実行させてよい。
 制御部11は、類似度として、作業環境4の少なくとも一部に存在する物体の形状又は色等の属性情報の類似度を算出してよい。具体的に、制御部11は、作業環境4の少なくとも一部の情報から認識された各物体の属性情報を、情報処理装置10に格納されている制御プログラムに関連づけられている過去記録情報に含まれる属性情報と比較する。制御部11は、テンプレートマッチング、又は、機械学習若しくはディープラーニングによって生成した学習済みモデルを用いて、類似度を数値として算出してよい。制御部11は、認識した物体の種類毎に類似度を算出する。制御部11は、認識した物体の全種類について類似度を算出する。図3に例示される作業環境4の少なくとも一部において認識される物体は、4種類に分けられる。制御部11は、4種類それぞれについて類似度を算出する。制御部11は、各種類について算出した4つの類似度の平均値及び標準偏差を計算する。制御部11は、平均値があらかじめ設定された平均値判定閾値以上であり、かつ、標準偏差があらかじめ設定された標準偏差判定閾値以下である場合、過去記録情報が作業環境4の少なくとも一部の情報に適合すると判定する。なお、学習済みモデルを使用する場合、学習済みモデルは、複数の過去記録情報に関するデータを学習用データセットとして機械学習することによって生成することができる。
 制御部11は、類似度として、作業環境4の少なくとも一部に存在する物体の位置の類似度を算出してよい。具体的に、制御部11は、作業環境4の少なくとも一部の情報から認識された各物体の位置情報に基づいて、各物体間の距離を算出する。各物体の位置情報は、各物体の重心の座標を含むとする。各物体の位置情報は、各物体の端の座標(例えば、各物体が存在する範囲のX座標、Y座標及びZ座標の最小値又は最大値)を含んでもよい。制御部11は、各物体の重心の座標に基づいて各物体間の距離を算出する。制御部11は、図3に例示される作業環境4において、作業台5(物体ID=1)、第2トレイ7(物体ID=2)、第1トレイ6(物体ID=3)、及びワーク8(物体ID=4)それぞれの間の距離を算出する。図3の例において、ワーク8(物体ID=4)として同一の種類に分類される物体の数は8個である。制御部11は、同一の種類に分類した複数個の物体について、1つの物体とみなして重心の座標を計算し、他の物体との距離を算出する。作業環境4に4種類の物体が存在する場合、各物体間の距離を算出する組み合わせは6通りである。したがって、各物体間の距離は6通り算出される。
 制御部11は、情報処理装置10に格納されている制御プログラムに関連づけられている過去記録情報に含まれる位置情報に基づいて、過去記録情報に含まれる各物体間の距離を算出する。制御部11は、4種類の物体を含む過去記録情報について各物体間の距離を算出してよい。制御部11は、過去記録情報が作業環境4の少なくとも一部に存在する物体に対応する物体を含む場合に各物体間の距離を算出してもよい。つまり、制御部11は、過去記録情報が作業環境4の少なくとも一部に存在する物体に対応する物体を含まない場合、過去記録情報における各物体間の距離を算出せずに、過去記録情報が作業環境4の少なくとも一部の情報に適合しないと判定してもよい。
 制御部11は、作業環境4の少なくとも一部の情報から認識された各物体間の距離と、制御プログラムに関連づけられている過去記録情報における各物体間の距離とを比較する。制御部11は、作業環境4の少なくとも一部の情報から認識された物体から2つの物体を選択する。また、制御部11は、過去記録情報に含まれる物体のうち、作業環境4の少なくとも一部の情報から認識された物体から選択した2つの物体に対応する2つの物体を選択する。制御部11は、作業環境4の少なくとも一部の情報から認識された物体から選択した2つの物体間の距離と、過去記録用法に含まれる物体から選択した2つの物体間の距離との差の絶対値を算出する。制御部11は、図3の例において6通りの組み合わせで算出された距離それぞれについて、作業環境4の少なくとも一部の情報に含まれる2つの物体間の距離と、過去記録情報に含まれる2つの物体間の距離との差の絶対値を算出する。制御部11は、全ての組み合わせで算出された距離の差の絶対値の平均値及び標準偏差を位置の類似度として算出する。制御部11は、平均値があらかじめ設定された平均値判定閾値以上であり、かつ、標準偏差があらかじめ設定された標準偏差判定閾値以下である場合、過去記録情報が作業環境4の少なくとも一部の情報に適合すると判定する。
 過去記録情報が作業環境4の少なくとも一部の情報に適合しない場合の類型が図5に例示される。図5の表の1行目の左列のセルに「正しい組み合わせ」として示される類型は、情報処理装置10の記憶部12に格納されている制御プログラムのデータ(格納データ)に関連づけられている過去記録情報が作業環境4の少なくとも一部の情報に適合する場合を示す。具体的に、プログラム番号が28番である制御プログラムは、1行目の右列のセルに示されるように、作業環境4に第1トレイ6、第2トレイ7及びワーク8が配置されている構成に関連づけされている。
 図5の表の2行目の左列のセルに「ワークの間違い」として示される類型は、ユーザが選択した制御プログラムのデータ(選択データ)に関連づけられる過去記録情報に対して、作業環境4に配置されたワーク8が間違っている場合を示す。具体的に、第1トレイ6にワーク8が収容されるべきところ、2行目の右列のセルに示されるように第1トレイ6にワーク8Fが収容されている点で間違っている。
 図5の表の3行目の左列のセルに「トレイのセット漏れ」として示される類型は、選択データに関連づけられる過去記録情報に対して、作業環境4に第2トレイ7が不足している場合を示す。具体的に、第2トレイ7がセットされるべきところ、3行目の右列のセルに二点鎖線で表されたセット漏れトレイ7Fとして示されるように第2トレイ7がセットされていない点で間違っている。
 図5の表の4行目の左列のセルに「プログラムの選択の間違い」として示される類型は、作業環境4がユーザの意図どおりになっているものの、選択データが間違っている場合を示す。具体的に、選択データとして28番の制御プログラムが選択されるべきところ、4行目の中央列に示されるように、14番の制御プログラムが選択されている点で間違っている。
 過去記録情報が作業環境4の少なくとも一部の情報に適合しない場合の類型は、これらに限られない。例えば作業環境4の少なくとも一部に余分な物体が配置されている類型が含まれてよい。また、ワーク8が配置されていない類型が含まれてもよい。
 図5の表の2~4行目に例示された各類型又は他の種々の類型に当てはまる場合、制御部11は、過去記録情報が作業環境4の少なくとも一部の情報に適合しないと判定する。制御部11は、類似度を算出し、類似度に基づいて過去記録情報が作業環境4の少なくとも一部の情報に適合しないと判定してもよい。制御部11は、過去記録情報と作業環境4の少なくとも一部の情報との類似度として算出した属性情報の類似度又は位置の類似度がいずれも所定値未満である場合に、過去記録情報が作業環境4の少なくとも一部の情報に適合しないと判定してもよい。制御部11は、過去記録情報が作業環境4の少なくとも一部の情報に適合しないと判定した場合、ユーザから選択された制御プログラムをロボットコントローラ2に出力しない。
 制御部11は、過去記録情報が作業環境4の少なくとも一部の情報に適合しない場合、他の制御プログラムの中に、過去記録情報が作業環境4の少なくとも一部の情報に適合する制御プログラムが存在するか検索する。制御部11は、過去記録情報が作業環境4の少なくとも一部の情報に適合する制御プログラムを発見した場合、発見した制御プログラムを選択候補として端末装置9に出力してユーザに提示してよい。この場合、ユーザが制御プログラムの選択を間違えた可能性がある。ユーザが制御プログラムの選択を間違えたことは、制御プログラムの選択不備とも称される。制御部11は、ユーザが制御プログラムの候補を選択した場合に、ユーザによる制御プログラムの選択不備を推定してよい。制御部11は、制御プログラムの候補の適否の推定結果に基づき、ユーザによる制御プログラムの選択不備を推定してよい。
 制御部11は、ユーザに提示した制御プログラムの選択候補からユーザが選択する入力を端末装置9で受け付け、端末装置9からユーザが選択した制御プログラムを特定する情報を取得する。制御部11は、過去記録情報が作業環境4の少なくとも一部の情報に適合する制御プログラムの候補の発見精度を高めるように、ユーザの選択結果を教師データとして学習し、過去記録情報が作業環境4の少なくとも一部の情報に適合するか判定するモデルを変更してよい。モデルは、作業環境4の少なくとも一部を撮影した画像から物体を認識する精度が向上するように変更されてよい。また、ユーザの選択結果によって、類似度に基づいて判定するために用いられる閾値が調整されてもよい。
 制御部11は、過去記録情報が作業環境4の少なくとも一部の情報に適合する制御プログラムを発見できない場合、ユーザが制御プログラムを正しく選択したと仮定して、作業環境4の少なくとも一部の情報の中で間違って準備されている項目を推定する。作業環境4の少なくとも一部の中に間違って準備されている項目が存在することは、環境不備とも称される。制御部11は、作業環境4の少なくとも一部の環境不備を推定してよい。制御部11は、制御プログラムの候補の適否の推定結果に基づき、作業環境4の少なくとも一部の環境不備を推定してよい。
 制御部11は、環境不備の要因として、作業環境4の少なくとも一部に準備すべき物体の不足若しくは過剰、物体の配置の違い、又は、物体の属性情報の違いを検出してよい。例えば、制御部11は、ユーザが選択した制御プログラムが正しいと仮定して、ユーザが選択した制御プログラムの番号に対応づけられている過去記録情報と、ユーザが配置した物体を含む作業環境4の画像とを比較してよい。制御部11は、比較結果に基づいて、作業環境4の少なくとも一部に配置すべき物体の不足若しくは過剰、物体の配置の違い、又は、物体の属性情報の違いを検出してよい。制御部11は、違いを検出した項目を、間違って準備されている項目として推定してよい。
 制御部11は、作業環境4の画像に写っている物体を、作業環境4の画像を解析することによって検出してよい。制御部11は、過去記録情報に含まれている物体と、作業環境4の画像から検出した、ユーザが作業環境4に配置した物体との類似度を算出してよい。制御部11は、過去記録情報に含まれている物体の属性情報と、作業環境4の画像から検出した物体の属性情報との類似度を算出してよい。制御部11は、テンプレートマッチング、又は、機械学習若しくはディープラーニングによって生成した学習済みモデルを用いて、類似度を数値として算出してよい。なお、学習済みモデルを使用する場合、学習済みモデルは、複数の過去記録情報の各物体の属性データなどを学習用データセットとして機械学習することによって生成することができる。
 制御部11は、物体の輪郭又は大きさ等の類似度を算出してよい。制御部11は、例えば物体の輪郭及び大きさの類似度があらかじめ決められた閾値以上であるような、類似度が高いことを表す値である場合に、作業環境4に正しい物体が準備されていると判定してよい。制御部11は、物体の輪郭及び大きさの類似度が所定閾値以上である作業環境4に正しい物体が準備されていると判定してもよい。
 制御部11は、過去記録情報に含まれている複数の物体を作業環境4から検出した場合、過去記録情報に含まれている各物体と、作業環境4の画像から検出した物体との間で、物体の輪郭又は大きさ等の類似度を算出してよい。制御部11は、作業環境4の画像から複数の物体を検出した場合、作業環境4の画像から検出した各物体と、過去記録情報に含まれている物体との間で、物体の輪郭又は及び大きさ等の類似度を算出してよい。制御部11は、過去記録情報に含まれている各物体と、作業環境4の画像から検出した各物体との少なくとも一部の組み合わせで、物体の輪郭又は大きさ等の類似度を算出してよい。制御部11は、過去記録情報に含まれている複数の物体の中に、作業環境4の画像から検出した物体との類似度が高い物体が含まれる場合、作業環境4に正しい物体が準備されていると判定してもよい。
 制御部11は、環境不備の原因として、類似度を低下させている要因を推定してよい。制御部11は、例えば、作業環境4の少なくとも一部に配置されている各物体の位置の間違いによって類似度が低下しているか推定してよい。制御部11は、例えば、作業環境4の少なくとも一部に準備されるべき物体が準備されていないことによって類似度が低下しているか推定してよい。制御部11は、例えば、作業環境4の少なくとも一部に必要のない物体が配置されていることによって類似度が低下しているか推定してよい。制御部11は、上述したように、ユーザが選択した制御プログラムの番号に対応づけられている過去記録情報と、ユーザが配置した作業環境中に存在する物体の画像との比較結果に基づいて、必要な物体の不足又は不要な物体の存在を検出し、検出した項目を類似度の低下の原因として推定してよい。
 制御部11は、類似度が高くなるように作業環境4の少なくとも一部をどのように変更すればよいか推定し、変更すべき点を端末装置9に出力してユーザに提示してよい。ユーザは、提示された情報に基づいて作業環境4の少なくとも一部を変更してもよいし、選択した制御プログラムをそのままロボットコントローラ2に実行させるように指示してもよい。制御部11は、ユーザの指示内容を教師データとして学習し、過去記録情報が作業環境4の少なくとも一部の情報に適合するか判定するモデルを変更してよい。また、ユーザの指示内容によって、類似度に基づいて判定するために用いられる閾値が調整されてもよい。
 制御部11は、類似度に基づいて、不備の種別を推定してよい。具体的に、制御部11は、類似度が低くなる要因が、選択不備であるか環境不備であるか推定してよい。制御部11は、例えば、類似度が90%以上の場合に環境不備であると推定し、類似度が50%未満の場合に選択不備であると推定してよい。
 制御部11は、作業環境4の画像から検出した物体のうち、作業環境4に準備する物体として正しい物体であると判定した物体について、配置されている位置が正しいか判定してよい。制御部11は、情報処理装置10に格納されているデータで特定される、作業環境4に物体を配置すべき位置と、作業環境4の画像に写っている物体の位置とに基づいて、作業環境4に物体が本来配置されるべき位置から実際に物体が配置された位置までの距離を算出してよい。制御部11は、過去記録情報に含まれている類似度が高い物体の位置と、作業環境4の画像に写っている物体の位置との距離を算出してもよい。制御部11は、算出した距離があらかじめ決められた閾値未満である場合に、物体が正しい位置に配置されていると判定してよい。制御部11は、算出した距離が所定閾値未満である場合に、物体が正しい位置に配置されていると判定してよい。制御部11は、算出した距離があらかじめ決められた閾値以上である場合に、ユーザが作業環境4に配置した物体の位置が間違っていると判定してよい。
 制御部11は、ユーザが作業環境4に配置した物体の個数が正しいか判定してよい。制御部11は、情報処理装置10に格納されているデータにおいて各物体の個数が1個のものについて、ユーザが作業環境4に配置した物体の中で類似度が高く、データで特定される物体と同一の物体と判断されるものの個数を比較して、正しく準備されているか判定してよい。制御部11は、情報処理装置10に格納されているデータで特定される、作業環境4に配置されるべき第1の種類の物体の個数が1個である場合、ユーザが実際に作業環境4に配置した物体の中で、第1の種類の物体と同一の物体であると判定される物体が1つ存在すれば、作業環境4に配置されている第1の種類の物体の個数が正しいと判定してよい。制御部11は、ユーザが実際に作業環境4に配置した物体の中で、第1の種類の物体に対して類似度が高い物体の個数を算出してよい。制御部11は、算出した個数が作業環境4に配置されるべき第1の種類の物体の個数に一致する場合に、作業環境4に配置されている第1の種類の物体の個数が正しいと判定してよい。制御部11は、算出した個数が作業環境4に配置されるべき第1の種類の物体の個数より多い場合に、作業環境4に配置されている第1の種類の物体の個数が正しい、又は、作業環境4に第1の種類の物体が十分に配置されていると判定してよい。
 制御部11は、ユーザが作業環境4に配置した物体が、いずれも、第1の種類の物体に対して類似度が低い物体である場合、各属性情報の類似度が所定の閾値未満である場合、又は、第1の種類の物体に類似しない場合、ユーザが作業環境4に第1の種類の物体を配置していない、又は、ユーザが作業環境4に間違った物体を配置したと判定してよい。
 制御部11は、物体の種類にかかわらず、作業環境4に準備する物体として正しい物体であると判定した物体の個数を算出してよい。制御部11は、作業環境4に配置する物体として正しい物体であると判定した物体の個数が、情報処理装置10に格納されているデータで特定される、作業環境4に準備すべき物体の個数に一致している場合に、準備されている物体の個数が正しいと判定してよい。制御部11は、作業環境4に配置する物体として正しい物体であると判定した物体の個数が作業環境4に配置すべき物体の個数より多い場合に、配置されている物体の個数が正しい、又は、作業環境4に物体が十分に配置されていると判定してよい。
 制御部11は、ユーザが作業環境4に配置した物体の位置又は個数が間違っていると判定した場合、作業環境4に配置されている物体に間違いがあることを端末装置9に通知してよい。制御部11は、作業環境4に配置されるべき物体の位置又は個数の正しい情報を端末装置9に通知し、ユーザに正しい配置に変更するよう促してよい。
 仮にユーザが作業環境4に配置する物体の位置又は個数を意図的に異ならせている場合、端末装置9は、ユーザが作業環境4に配置した物体の位置及び個数が正しいことをユーザが確認した情報を取得し、情報処理装置10に対して、ユーザが作業環境4に配置した物体の位置及び個数が正しいことを通知してよい。情報処理装置10は、ユーザが作業環境4に配置した物体の位置及び個数を正しいデータとしてデータを更新してよい。
(情報処理方法の手順例)
 ロボット制御システム100は、図6及び図7に例示されるフローチャートの手順を含む情報処理方法を実行してもよい。情報処理方法は、情報処理装置10の制御部11、ロボットコントローラ2又は端末装置9を構成するプロセッサに実行させる情報処理プログラムとして実現されてもよい。情報処理プログラムは、非一時的なコンピュータ読み取り可能な媒体に格納されてよい。
 制御部11は、図6のフローチャートの手順を実行することによって、制御プログラムに過去記録情報を関連づけてよい。制御部11は、ユーザからの制御プログラムの選択を取得する(ステップS1)。具体的に、端末装置9がユーザから制御プログラムを選択する入力を受け付ける。制御部11は、端末装置9から制御プログラムの選択を取得する。
 制御部11は、作業環境4の少なくとも一部を撮影した画像を取得する(ステップS2)。具体的に、情報取得装置3が作業環境4の少なくとも一部の情報として、作業環境4の少なくとも一部を撮影した画像、又は、作業環境4の少なくとも一部のデプス情報等を取得する。制御部11は、情報取得装置3から作業環境4の少なくとも一部の情報を取得する。
 制御部11は、作業環境4の少なくとも一部の中の物体を認識する(ステップS3)。制御部11は、認識した物体の属性情報及び位置情報を取得する(ステップS4)。制御部11は、ユーザから選択された制御プログラムに、作業環境4の少なくとも一部で認識した物体の属性情報及び位置情報を含む過去記録情報を関連づけて記憶部12に格納する(ステップS5)。制御部11は、ステップS5の手順の実行後、図6のフローチャートの手順の実行を終了する。
 制御部11は、図7のフローチャートの手順を実行することによって、ユーザが選択した制御プログラムの適否を判定してよい。
 制御部11は、ユーザからの制御プログラムの選択を取得する(ステップS11)。具体的に、端末装置9がユーザから制御プログラムを選択する入力を受け付ける。制御部11は、端末装置9から制御プログラムの選択を取得する。
 制御部11は、作業環境4の少なくとも一部を撮影した画像を取得する(ステップS12)。制御部11は、作業環境4の少なくとも一部の中の物体を認識する(ステップS13)。制御部11は、認識した物体の属性情報及び位置情報を取得する(ステップS14)。
 制御部11は、制御プログラムに関連づけられた過去記録情報と認識した物体の属性情報及び位置情報との類似度を算出する(ステップS15)。制御部11は、算出した類似度が閾値以上であるか判定する(ステップS16)。制御部11は、算出した類似度が閾値以上である場合(ステップS16:YES)、ユーザによって選択された制御プログラムをロボットコントローラ2に実行させる(ステップS17)。制御部11は、ステップS17の手順の実行後、図7のフローチャートの手順の実行を終了する。
 制御部11は、算出した類似度が閾値以上でない場合(ステップS16:NO)、つまり算出した類似度が閾値未満である場合、ユーザが実行させたい作業に類似する制御プログラムが存在するか判定する(ステップS18)。具体的に、制御部11は、記憶部12に格納されている制御プログラムのうち、ユーザが準備した作業環境4の少なくとも一部の情報に類似する過去記録情報に関連づけられている制御プログラムが存在するか判定する。制御部11は、ユーザが準備した作業環境4の少なくとも一部の情報との類似度が高い過去記録情報に関連づけられている制御プログラムが存在するか判定してよい。
 制御部11は、類似する制御プログラムが存在する場合(ステップS18:YES)、類似する制御プログラムを抽出する(ステップS19)。制御部11は、抽出した制御プログラムを特定する情報を端末装置9に出力してユーザに提示する。制御部11は、ユーザからの制御プログラムの選択を取得する(ステップS20)。具体的に、端末装置9がユーザから制御プログラムを選択する入力を受け付ける。制御部11は、端末装置9から制御プログラムの選択を取得する。制御部11は、ステップS20の手順の実行後、ステップS17の手順に進み、ユーザに選択された制御プログラムをロボットコントローラ2に実行させる。
 制御部11は、類似する制御プログラムが存在しない場合(ステップS18:NO)、作業環境4の少なくとも一部において既存の過去記録情報との類似度を低下させる要因を推定し端末装置9に出力して表示させる(ステップS21)。制御部11は、ステップS21の手順の実行後、図7のフローチャートの手順の実行を終了する。制御部11は、ステップS21の手順の実行後に、ユーザが作業環境4の少なくとも一部を変更したことを確認してステップS18の判定手順に戻ってもよい。
(まとめ)
 以上述べてきたように、本実施形態に係るロボット制御システム100、情報処理装置10、及び情報処理方法によれば、複数の制御プログラムから、ロボット1を制御する制御プログラムの候補の適否が推定され得る。また、ユーザが選択した制御プログラムが作業環境4の少なくとも一部に適合しているか判定され得る。このようにすることで、ユーザが制御プログラムの選択を間違えにくくなる。また、作業環境4の少なくとも一部の準備、又は、制御プログラムの選択を間違えたままでロボット1の作業が開始されることが避けられ得る。その結果、ユーザの負担が低減され得る。
 本実施形態によれば、作業環境4の少なくとも一部に存在する物体の属性情報及び位置情報と、制御プログラムに関連づけられている過去記録情報とを比較することによって、作業環境4の少なくとも一部と制御プログラムの選択が適切であるかが判定され得る。単に作業環境4にワーク8等が揃っていることを確認しても、選択した制御プログラムでロボット1の作業が成功しないことがある。逆に、作業環境4にワーク8等が揃っていなくても、選択した制御プログラムでロボット1の作業が成功することがある。作業環境4の少なくとも一部の情報と過去記録情報との比較、又は、類似度に基づく判定によって、ロボット1の作業における柔軟な対応が許容され得る。その結果、ロボット1の作業が効率的に実行され得る。
 制御プログラムの適否の判定は、ロボット1に実行させる作業毎に実行されてもよいし、ロボット1に実行させる複数の一連の作業に対してまとめて実行されてもよい。
 また、ロボット1を使用する際の効率が向上され得る。また、ロボット1を含む協調作業の効率が向上され得る。協調作業は、人とロボット1とが連携して実施する作業、ロボット1同士が連携して実施する作業、又は、ロボット1と他の機械とが連携して実施する作業を含む。協調作業は、人とロボット1とが連携して実施する協働作業を含む。
(他の実施形態)
 本実施形態に係るロボット制御システム100は、工業製品の生産現場、食材を扱う食品加工の現場、又は、化粧品若しくは医薬品を製造する現場に展開され得る。
 また、本実施形態に係るロボット制御システム100は、ユーザと対話するコミュニケーションロボット又はサービスロボット等のロボット1を制御するために利用され得る。例えば、ロボット1がカメラ等の情報取得装置3を有する場合、ロボット制御システム100は、対話又はサービス提供の対象となるユーザの顔を認識した結果に基づいて制御プログラムの選択の適否を判定してよい。ロボット制御システム100は、例えばユーザが眼鏡をかけていたりマスクを着用していたりするような状況の変化に応じて制御プログラムを変更する必要がある場合等に適用され得る。
 情報処理装置10の制御部11は、ユーザが選択した制御プログラムの候補の使用状況を示す使用情報を取得し、類似度及び使用情報に基づいて、候補の適否を推定してよい。使用情報は、1日のうちの作業時間を表してもよいし、1年又は1か月のうちの作業時期を表してもよい。また、使用情報は、ロボット1に作業を実行させるユーザを表してもよいし、ロボット1に作業を実行させる場所を表してもよい。また、使用情報は、ロボット1に作業を実行させた直近の時刻、又は、ロボット1に作業を実行させた直近の頻度を表してもよい。
 制御部11は、ロボットコントローラ2に実行させる制御プログラムを決定したときに、ロボット1の作業環境4の少なくとも一部に対応する準備環境情報を過去記録情報として、決定した制御プログラムに、新たに関連づけてよい。決定した制御プログラムに関連づける新たな過去記録情報は、第3環境情報とも称される。第3環境情報を制御プログラムに関連づけることは、第3環境情報の記録とも称される。第3環境情報の記録は、ユーザが選択した候補が適切であると判定された場合でも、不適切であると推定された場合でも実行されてよい。また、ユーザが選択した候補を制御部11が不適切であると判定したにもかかわらずユーザが選択した候補をそのまま使用する指示をした場合において、第3環境情報の記録を実行してもよい。また、ユーザが選択した候補を制御部11が不適切であると判定した場合に、ユーザが他の候補を使用する指示をした場合において、第3環境情報の記録を実行してもよい。制御プログラムに第3環境情報を関連づけることによって、つまり第3環境情報の記録を実行することによって、制御部11が制御プログラムの候補の適否を推定する精度が高められ得る。具体的には、例えば、AI(Artificial Intelligence)を使用して、制御プログラムが適用される環境情報が再学習によって更新されてもよいし、または、制御部11が制御プログラムの候補の適否を推定するモデルが再学習によって更新されてもよい。
 制御部11は、第3環境情報に基づいて、制御プログラムの候補の適否の判断基準を修正してよい。例えば、制御部11は、類似度が90%以上の場合に候補が適切であると推定していた場合に、第3環境情報に基づいて類似度が80%以上の場合でも候補が適切であると推定するように判断基準を修正してよい。また、制御部11は、類似度が80%以上かつ90%未満である場合に環境不備であると推定していた場合に、類似度が75%以上かつ90%未満である場合に環境不備であると推定し、類似度が75%未満である場合に選択不備であると推定するように判断基準を修正してよい。
 また、類似度が90%と判断する許容範囲が変わり得る。例えば、判断基準の修正前に類似度が90%未満であった作業環境4の少なくとも一部の情報と過去記録情報との関係が、判断基準の修正後に類似度が90%以上になり得る。
 制御部11は、複数の物体の位置関係に基づいて環境不備又は選択不備を検出してよい。制御部11は、過去記録情報を制御プログラムに関連づけた情報に更に基づいて環境不備又は選択不備を検出してよい。
 本実施形態に係るロボット制御システム100は、ユーザが選択した制御プログラムの適否を判定している。ロボット制御システム100は、ユーザが制御プログラムを選択するときに、制御プログラムの候補を端末装置9に表示させてもよい。この場合、ロボット制御システム100の制御部11は、ロボットコントローラ2、端末装置9又は情報取得装置3等を通じて、例えばユーザが使用予定のロボット1の属性情報、ロボット1を使用予定のユーザの情報、又は認識した作業予定の作業対象物などの情報を取得し、制御プログラムの候補として、例えばユーザが使用予定のロボット1、使用予定のロボット1と同型のロボット、又は作業予定の作業対象物において、所定期間内に実行された頻度が高い制御プログラム、又は、特定のユーザが実行する頻度が高い制御プログラムを抽出してもよい。また、この場合、ロボット制御システム100は、関連度と称される指標を算出してもよい。情報処理装置10の制御部11は、例えば、現在からさかのぼった所定期間において実行された頻度が高い制御プログラムに高い優先順位が付されるように、関連度を算出してよい。制御部11は、直近に実行された制御プログラムに高い優先順位が付されるように、関連度を算出してよい。制御部11は、作業環境4を準備してロボット1に作業を実行させようとしているユーザが直近に実行した制御プログラム又はそのユーザが実行した頻度が高い制御プログラムに高い優先順位が付されるように関連度を算出してよい。制御部11は、算出した関連度等の指標の値に基づいて制御プログラムを抽出してよい。
 以上、ロボット制御システム100の実施形態を説明してきたが、本開示の実施形態としては、システム又は装置を実施するための方法又はプログラムの他、プログラムが記録された記憶媒体(一例として、光ディスク、光磁気ディスク、CD-ROM、CD-R、CD-RW、磁気テープ、ハードディスク、又はメモリカード等)としての実施態様をとることも可能である。プログラムは、非一時的なコンピュータ読み取り可能な媒体に格納されてよい。
 また、プログラムの実装形態としては、コンパイラによってコンパイルされるオブジェクトコード、インタプリタにより実行されるプログラムコード等のアプリケーションプログラムに限定されることはなく、オペレーティングシステムに組み込まれるプログラムモジュール等の形態であっても良い。さらに、プログラムは、制御基板上のCPUにおいてのみ全ての処理が実施されるように構成されてもされなくてもよい。プログラムは、必要に応じて基板に付加された拡張ボード又は拡張ユニットに実装された別の処理ユニットによってその一部又は全部が実施されるように構成されてもよい。
 本開示に係る実施形態について、諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形又は改変を行うことが可能であることに注意されたい。従って、これらの変形又は改変は本開示の範囲に含まれることに留意されたい。例えば、各構成部等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の構成部等を1つに組み合わせたり、或いは分割したりすることが可能である。
 本開示に記載された構成要件の全て、及び/又は、開示された全ての方法、又は、処理の全てのステップについては、これらの特徴が相互に排他的である組合せを除き、任意の組合せで組み合わせることができる。また、本開示に記載された特徴の各々は、明示的に否定されない限り、同一の目的、同等の目的、または類似する目的のために働く代替の特徴に置換することができる。したがって、明示的に否定されない限り、開示された特徴の各々は、包括的な一連の同一、又は、均等となる特徴の一例にすぎない。
 さらに、本開示に係る実施形態は、上述した実施形態のいずれの具体的構成にも制限されるものではない。本開示に係る実施形態は、本開示に記載された全ての新規な特徴、又は、それらの組合せ、あるいは記載された全ての新規な方法、又は、処理のステップ、又は、それらの組合せに拡張することができる。
 本開示において「第1」及び「第2」等の記載は、当該構成を区別するための識別子である。本開示における「第1」及び「第2」等の記載で区別された構成は、当該構成における番号を交換することができる。例えば、第1トレイ6は、第2トレイ7と識別子である「第1」と「第2」とを交換することができる。識別子の交換は同時に行われる。識別子の交換後も当該構成は区別される。識別子は削除してよい。識別子を削除した構成は、符号で区別される。本開示における「第1」及び「第2」等の識別子の記載のみに基づいて、当該構成の順序の解釈、小さい番号の識別子が存在することの根拠に利用してはならない。
 100 ロボット制御システム(1:ロボット、2:ロボットコントローラ、3:情報取得装置、4:作業環境、5:作業台、6:第1トレイ、7:第2トレイ、8:ワーク)
 9 端末装置
 10 情報処理装置(11:制御部、12:記憶部))
 80 ネットワーク

Claims (15)

  1.  記憶部に記録されたロボットを制御する複数の制御プログラムから、第1ロボットを制御する第1制御プログラムの候補の適否を推定する制御部を備え、
     前記制御部は、
     前記第1ロボットの作業環境を示す第1環境情報を取得し、
     前記第1制御プログラムを実行する環境を示す第2環境情報を取得し、
     前記第1環境情報と前記第2環境情報との類似度に基づき、第1制御プログラムの候補の適否を推定する、情報処理装置。
  2.  前記制御部は、ユーザが前記候補を選択した際に、前記候補の適否を推定する、請求項1に記載の情報処理装置。
  3.  前記制御部は、前記候補の推定結果に基づき、ユーザの制御プログラムの選択不備を推定する、請求項1又は2に記載の情報処理装置。
  4.  前記制御部は、前記候補の推定結果に基づき、前記作業環境の環境不備を推定する、請求項1から3までのいずれか一項に記載の情報処理装置。
  5.  前記制御部は、前記環境不備として、前記第1ロボットの周辺に準備すべき物体の不足若しくは過剰、前記物体の配置の違い、又は前記物体の属性情報の違いを検出する、請求項4に記載の情報処理装置。
  6.  前記制御部は、前記類似度に基づき、不備の種別を推定する、請求項1から5までのいずれか一項に記載の情報処理装置。
  7.  前記制御部は、
     前記候補の使用状況を示す使用情報を取得し、
     前記類似度および前記使用情報に基づき、前記候補の適否を推定する、請求項1から6までのいずれか一項に記載の情報処理装置。
  8.  前記制御部は、前記第1ロボットに実行させる第1制御プログラムが決定したときに、前記第1ロボットの制御が実行される環境を示す第3環境情報を、前記第1制御プログラムと関連づけて前記記憶部に記録させる、請求項1から7までのいずれか一項に記載の情報処理装置。
  9.  前記制御部は、前記第3環境情報に基づき、前記候補の適否の判断基準を修正する、請求項8に記載の情報処理装置。
  10.  前記制御部は、前記作業環境に存在する物体の位置に関する情報に基づいて、環境不備又は選択不備を検出する、請求項1から9までのいずれか一項に記載の情報処理装置。
  11.  前記作業環境に存在する物体は、前記作業環境に配置されている周辺機器を含む、請求項1から10までのいずれか一項に記載の情報処理装置。
  12.  前記制御部は、前記作業環境に存在する物体の属性情報に関する情報について類似度を算出する、請求項8に記載の情報処理装置。
  13.  請求項1から12までのいずれか一項に記載の情報処理装置において適切な状態であると判定されて出力された制御プログラムを実行して前記ロボットを制御するロボットコントローラ。
  14.  請求項1から12までのいずれか一項に記載の情報処理装置と、請求項13に記載のロボットコントローラと、前記ロボットとを備える、ロボット制御システム。
  15.  情報処理装置に記録されたロボットを制御する複数の制御プログラムから、第1ロボットを制御する第1制御プログラムの候補の適否を推定する情報処理装置が、前記第1ロボットの作業環境を示す第1環境情報を取得することと、
     前記情報処理装置が、前記第1制御プログラムを実行する環境を示す第2環境情報を取得することと、
     前記情報処理装置が、前記第1環境情報と前記第2環境情報との類似度に基づき、第1制御プログラムの候補の適否を推定することと
    を含む、情報処理方法。
PCT/JP2022/036312 2021-09-28 2022-09-28 情報処理装置、ロボットコントローラ、ロボット制御システム、及び情報処理方法 WO2023054535A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-158480 2021-09-28
JP2021158480 2021-09-28

Publications (1)

Publication Number Publication Date
WO2023054535A1 true WO2023054535A1 (ja) 2023-04-06

Family

ID=85780758

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/036312 WO2023054535A1 (ja) 2021-09-28 2022-09-28 情報処理装置、ロボットコントローラ、ロボット制御システム、及び情報処理方法

Country Status (1)

Country Link
WO (1) WO2023054535A1 (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005138245A (ja) * 2003-11-07 2005-06-02 Yaskawa Electric Corp 人間介入型ロボットの制御装置
JP2006343828A (ja) * 2005-06-07 2006-12-21 Fanuc Ltd ロボット制御装置及びロボット制御方法
JP2018051652A (ja) * 2016-09-27 2018-04-05 株式会社日立製作所 ロボットシステム
JP2020016446A (ja) * 2018-07-23 2020-01-30 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム、計測装置、及び物品製造方法
JP2020099976A (ja) * 2018-12-25 2020-07-02 セイコーエプソン株式会社 ロボット管理システム
JP2020135045A (ja) * 2019-02-13 2020-08-31 ファナック株式会社 機械の制御装置及び制御方法
JP2021030407A (ja) 2019-08-29 2021-03-01 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US20210122051A1 (en) * 2019-10-24 2021-04-29 Samsung Sds Co., Ltd. Robot process automation apparatus and method for detecting changes thereof
JP2021158480A (ja) 2020-03-26 2021-10-07 セイコーエプソン株式会社 画像読取装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005138245A (ja) * 2003-11-07 2005-06-02 Yaskawa Electric Corp 人間介入型ロボットの制御装置
JP2006343828A (ja) * 2005-06-07 2006-12-21 Fanuc Ltd ロボット制御装置及びロボット制御方法
JP2018051652A (ja) * 2016-09-27 2018-04-05 株式会社日立製作所 ロボットシステム
JP2020016446A (ja) * 2018-07-23 2020-01-30 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム、計測装置、及び物品製造方法
JP2020099976A (ja) * 2018-12-25 2020-07-02 セイコーエプソン株式会社 ロボット管理システム
JP2020135045A (ja) * 2019-02-13 2020-08-31 ファナック株式会社 機械の制御装置及び制御方法
JP2021030407A (ja) 2019-08-29 2021-03-01 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US20210122051A1 (en) * 2019-10-24 2021-04-29 Samsung Sds Co., Ltd. Robot process automation apparatus and method for detecting changes thereof
JP2021158480A (ja) 2020-03-26 2021-10-07 セイコーエプソン株式会社 画像読取装置

Similar Documents

Publication Publication Date Title
CN108000524B (zh) 模拟装置、模拟方法、模拟程序以及存储介质
CN112091970B (zh) 具有增强的扫描机制的机器人系统
JP7467041B2 (ja) 情報処理装置、情報処理方法及びシステム
US11090808B2 (en) Control device, picking system, distribution system, program, control method and production method
US11007643B2 (en) Control device, picking system, distribution system, program, control method and production method
JP6444499B1 (ja) 制御装置、ピッキングシステム、物流システム、プログラム、及び、制御方法
US20240051137A1 (en) Control device, picking system, distribution system, program, control method and production method
US11833697B2 (en) Method of programming an industrial robot
CN111483750A (zh) 机器人系统的控制方法以及控制装置
JP2021030407A (ja) 情報処理装置、情報処理方法及びプログラム
CN114080590A (zh) 使用先进扫描技术的机器人料箱拾取系统和方法
WO2023054535A1 (ja) 情報処理装置、ロボットコントローラ、ロボット制御システム、及び情報処理方法
WO2023054539A1 (ja) 情報処理装置、ロボットコントローラ、情報処理システム、及び情報処理方法
TWI649169B (zh) 把持位置姿勢教導裝置、把持位置姿勢教導方法及機器人系統
US20240051135A1 (en) Interference determination device, robot control system, and method for determining interference
CN111470244B (zh) 机器人系统的控制方法以及控制装置
CN115063670A (zh) 一种自动分拣方法、装置及系统
CN111899629B (zh) 柔性机器人教学系统和方法
WO2023171687A1 (ja) ロボット制御装置及びロボット制御方法
WO2023068341A1 (ja) 情報処理装置、ロボットコントローラ、ロボット制御システム、及び情報処理方法
Funakubo et al. Verification of illumination tolerance for clothes recognition
WO2022250152A1 (ja) 保持位置決定装置、及び保持位置決定方法
WO2023120728A1 (ja) ロボット制御装置及びロボット制御方法
EP4350613A1 (en) Trained model generating device, trained model generating method, and recognition device
WO2023013743A1 (ja) 保持パラメータ推定装置及び保持パラメータ推定方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22876401

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023551815

Country of ref document: JP