Nothing Special   »   [go: up one dir, main page]

WO2019176478A1 - ロボットの動作制御装置 - Google Patents

ロボットの動作制御装置 Download PDF

Info

Publication number
WO2019176478A1
WO2019176478A1 PCT/JP2019/006183 JP2019006183W WO2019176478A1 WO 2019176478 A1 WO2019176478 A1 WO 2019176478A1 JP 2019006183 W JP2019006183 W JP 2019006183W WO 2019176478 A1 WO2019176478 A1 WO 2019176478A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
evaluation value
robot
evaluation
candidate
Prior art date
Application number
PCT/JP2019/006183
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 オムロン株式会社
Priority to EP19766953.4A priority Critical patent/EP3766643A4/en
Priority to US16/977,478 priority patent/US11478926B2/en
Priority to CN201980012028.8A priority patent/CN111683799B/zh
Publication of WO2019176478A1 publication Critical patent/WO2019176478A1/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/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1635Programme controls characterised by the control loop flexible-arm control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39311Multilayer, MNN, four layer perceptron, sigmoidal neural network
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40053Pick 3-D object from pile of objects

Definitions

  • the present invention relates to a robot motion control device, a motion control method, a motion control program, and a processing device.
  • Patent Document 1 discloses a control device that controls a robot arm based on a shape model of the object included in image data in the control of gripping the object by the robot arm.
  • This document also discloses a learning device that outputs a gripping success probability using image data as input in order to control a robot arm.
  • Such a problem is not limited to the robot motion control, and may be a problem that may occur in all processing apparatuses that perform output for a predetermined process by a learning device, for example.
  • the present invention has been made to solve this problem, and in the case of learning additional processing, a robot motion control device, a motion control method, a motion control program, and a robot that can efficiently perform learning, and
  • An object is to provide a processing apparatus.
  • the present disclosure is a robot motion control apparatus for a processing object, at least a captured image obtained by capturing the processing object, an input unit to which at least one motion candidate of the robot is input, the captured image, and In order to output at least one of the motion candidates as an input and output a first evaluation value indicating the evaluation of each motion candidate when the robot performs a first processing motion, learning is performed using the first learning data.
  • the second evaluation value indicating the evaluation of each motion candidate when the robot performs the second processing operation using the learned first learner, the captured image and at least one motion candidate as inputs.
  • the second learning data learned by the second learning data different from the first learning data and at least one of the first evaluation value and the second evaluation value Based on the people, and a, and evaluation unit which calculates a command value for operating the robot.
  • an additional learning device that considers only that processing operation is generated. is doing. That is, in the present invention, in order to perform a second processing operation different from the first processing operation, a second learning device that has been learned is separately generated using learning data different from the first processing operation, and the first In addition, the operation command is calculated in the evaluation unit in consideration of the output of the second learning device. Therefore, the learning burden on the learning device can be reduced.
  • the processing object is an object such as a part to be worked on by the robot and an object to be transported
  • the processing operation is an operation performed by the robot on the processing object.
  • the motion candidate is a motion candidate that the robot performs when the robot performs a processing operation.
  • the robot hand moves forward and backward, moves up and down, and rotates.
  • two rotational motions with different rotation angles can be motion candidates, even for the same motion type.
  • the first evaluation value can be a probability value indicating a success probability of the first motion candidate
  • the second evaluation value is a success probability of the second motion candidate.
  • the evaluation unit can calculate the command value based on motion candidates in which each evaluation value is a predetermined value or more.
  • the evaluation unit can calculate the command value by weighting the first evaluation value and the second evaluation value based on each processing operation.
  • the second evaluation value may be an evaluation value of an event that may occur due to at least one of the first processing operation and the second processing operation.
  • a third evaluation value indicating an event that can occur due to at least one of the first processing operation and the second processing operation, with the captured image and at least one of the operation candidates as inputs.
  • the third learning device that has been learned with the third learning data different from the first and second learning data can be further provided, and the evaluation unit includes the third learning data.
  • the command value can also be calculated using the evaluation value.
  • the captured image is input, and the first operation candidate suitable for the first processing operation and the second operation candidate suitable for the second processing operation are output.
  • An operation candidate generation unit can be further provided.
  • the operation candidates for the first processing operation and the second processing operation may include a movement vector for operating the robot.
  • the present disclosure is a robot control system, comprising a robot that performs processing on a processing object and any one of the motion control devices described above, and according to a command value calculated from the motion control device,
  • the robot is configured to operate.
  • the present disclosure is a method for controlling the operation of a robot with respect to a processing object, the step of inputting at least a captured image obtained by capturing the processing object and at least one motion candidate of the robot, the captured image, and at least one Learning that has been learned from the first learning data in order to output the first evaluation value indicating the evaluation of each of the motion candidates when the robot performs the first processing operation.
  • Preparing a learned second learned device that has been learned using second learning data different from the first learning data, and outputting the evaluation value of A step of outputting the first evaluation value from the image and the motion candidate by the first learner; and a step of outputting the second evaluation value from the captured image and the motion candidate by the second learner. And a step of calculating a command value for operating the robot based on at least one of the first evaluation value and the second evaluation value.
  • the present disclosure is a robot motion control program for a processing object, wherein at least a captured image obtained by capturing the processing object and at least one motion candidate for the robot are input to a computer; In order to output a first evaluation value indicating an evaluation of each motion candidate when the robot performs a first processing operation with at least one of the motion candidates as input, learning is performed using first learning data. Preparing the learned first learning device, and taking the captured image and at least one motion candidate as inputs, and evaluating each motion candidate when the robot performs a second processing operation. In order to output a second evaluation value, a learned second learner that has been learned using second learning data different from the first learning data is prepared.
  • the present disclosure is a control apparatus for a control object, an input unit that inputs environment information related to the control object and at least one processing candidate for the control object, the environment information, and at least one
  • learning is performed by the first learning data.
  • the second learning indicating the evaluation of each of the processing candidates when the second processing is performed on the control target object by inputting the learned first learning device, the environment information, and at least one of the processing candidates.
  • the evaluation value of the second learning data learned from the second learning data different from the first learning data the first evaluation value, and the second evaluation value Based on at least one
  • a, and evaluation unit which calculates a command value for controlling the controlled object.
  • the present disclosure is a processing device that performs a predetermined process, and includes an input unit that inputs at least one processing candidate, and at least one processing candidate as an input.
  • the first evaluation value indicating the evaluation the first learning data learned by the first learning data and at least one of the processing candidates are input and the second processing is performed.
  • a second evaluation value indicating the evaluation of each processing candidate a learned second learner learned by second learning data different from the first learning data, and the second An evaluation unit that determines at least one process candidate of the first process and the second process based on at least one of the first evaluation value and the second evaluation value.
  • the learning when an additional process is learned, the learning can be performed efficiently.
  • FIG. 1 It is the schematic which shows an example of the robot used with one Embodiment of the operation control apparatus of the robot of this invention. It is a functional block diagram of one embodiment of an operation control device concerning the present invention. It is a figure which shows holding
  • FIG. 3 is a flowchart illustrating an example of a processing procedure for updating a learning device in the motor control system of FIG. 2. It is a functional block diagram of one embodiment of a control device concerning the present invention. It is a functional block diagram of one embodiment of a processing unit concerning the present invention.
  • FIG. 1 is a schematic diagram of a robot according to the present embodiment
  • FIG. 2 is a block diagram showing a functional configuration of a robot control system including an operation control device.
  • This control system is a system for controlling the operation of the robot, and gives an operation command for appropriately processing the object to be processed by the robot.
  • FIG. 1 a case will be described as an example where the robot 1 having the robot hand 10 issues an operation command for gripping a target component 50 among a plurality of components (processing objects) 5.
  • the operation control device 2 operates as shown in FIG. 2 in which the robot hand 10 operates to hold the captured image of the robot hand 10 and the target component 50 and the target component 50.
  • a plurality of motion candidates to be input are input to the learning devices 211 to 213. That is, the same inputs are made to the learning devices 211 to 213.
  • three learning devices 211 to 213 are provided.
  • the first learning device 211 will be described first.
  • the first learning device 211 is trained so that when a captured image and a plurality of motion candidates are input, the success probability that the target part of each motion candidate can be grasped is output as a first probability value.
  • the captured image is an image of the robot hand 10 and the target component 50, and is for extracting the current positions of the robot hand 10 and the target component 50. However, when the robot hand 10 is arranged at the fixed initial position, a captured image obtained by capturing only the target component 50 can be prepared.
  • a movement vector Mn (xn, yn, ⁇ n) (n is an integer) for moving the robot hand 10 toward the target component 50 is used as a motion candidate.
  • x represents the amount of movement in the x direction
  • y represents the amount of movement in the y direction
  • represents the tilt of the robot hand 10.
  • the motion candidate showing the highest first probability value can be selected.
  • an operation command is not performed and an operation candidate different from the operation candidate used for input is prepared, and then the output of the probability value is renewed by the first learning device 211. It can also be done.
  • Such a first learning device 211 can be configured by machine learning such as a neural network.
  • the motion hand is selected for the purpose of gripping the target component 50 by the robot hand 10, but a further condition is added to cause the robot hand 10 to grip the target component 50.
  • a further condition is added to cause the robot hand 10 to grip the target component 50.
  • the robot hand 10 may grip the center X of the target component 50. You may want to add it. In this case, it is necessary to relearn the first learning device 211 so that the success probability that the robot hand 10 reaches the center of the target component 50 can be output.
  • the robot hand 10 according to the additional condition is operated by the second learning device 212 different from the first learning device 211, and each operation candidate succeeds under the added condition. A second probability value indicating the probability is output.
  • the evaluation unit 214 considers two of the first probability value of the motion candidate selected by the first learner 211 and the second probability value of the motion candidate output by the second learner 212.
  • the command is calculated. That is, the first learning device 211 is not trained to consider all conditions, but when a condition is added, a second learning device 212 that additionally considers only the condition is additionally generated, and the first learning is performed.
  • the evaluation unit 214 calculates an operation command in consideration of the outputs of both the device 211 and the second learning device 212. Therefore, the learning burden on the learning device can be reduced.
  • the operation control device 2 of the present embodiment includes a third learning device 213.
  • the third learning device 213 can output a third probability value indicating the probability that the target component 50 can be gripped without affecting other components when the target component 50 is gripped by the robot hand 10.
  • the robot hand 10 can output the probability that the target component 50 can be gripped without changing the positions of the other components 51 to 53 shown in FIG.
  • the first and second learners 211 and 312 generate a third learner 213 that performs learning separately, and the evaluation unit 214 outputs the third probability value that is the output.
  • the operation command is calculated in consideration of the first and second probability values.
  • the number of learning devices is not particularly limited, and a new learning device can be generated each time an additional condition is added.
  • the robot when control for causing the robot 10 to perform a predetermined target motion is performed, instead of learning one learner so as to satisfy all the conditions, the robot should perform the motion to be performed.
  • the conditions are divided, the operation of the robot 10 is learned for each condition, and the operation is evaluated by the learning device for each condition.
  • the motion command to be performed by the robot 10 is calculated by comprehensively considering the motion evaluation output by each learning device.
  • each evaluation can be considered equally or weighted.
  • a priority order of evaluation may be provided, and for example, when one evaluation is not a predetermined evaluation or higher, other evaluations may not be considered. Thereby, the malfunction at the time of using one learning device as mentioned above can be eliminated.
  • FIG. 4 is a block diagram showing a hardware configuration of the robot control system according to the present embodiment.
  • the robot 1 has a robot hand 10 that can grip a component.
  • the robot hand 10 moves up and down, left and right, and the robot hand 10 tilts.
  • the configurations of the robot 1 and the robot hand 10 are not particularly limited, and can be appropriately changed so that other operations can be performed.
  • the robot motion control apparatus 2 includes a control unit 21, a storage unit 22, a communication interface 23, an input device 24, an output device 25, a display device 26, an external interface 27, and a drive.
  • Reference numeral 28 denotes an electrically connected computer.
  • the communication interface and the external interface are described as “communication I / F” and “external I / F”, respectively.
  • the control unit 21 includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), and the like, and controls each component according to information processing.
  • the storage unit 22 is, for example, an auxiliary storage device such as a hard disk drive or a solid state drive, and includes a control program 221 executed by the control unit 21, operation candidate data 222, photographed image data 223, probability value data 224, first to Learning result data 225 indicating information related to the third learning devices 211 to 213, learning data 226 for learning the first to third learning devices 211 to 213, and the like are stored. In addition, various data necessary for driving the operation control device 2 can also be stored.
  • the control program 221 receives the above-described input for the operation of the robot 1 and performs output according to the input.
  • the control program 221 performs output by first to third learning devices 211 to 213 described later.
  • the motion candidate data 222 is data including a movement vector of the robot hand 10 and has a large number of motion candidates.
  • the motion candidate data is prepared in advance according to the type of the robot 1 and the type of the target article.
  • the photographed image data 223 is data related to the photographed image obtained by photographing the robot hand 10 and the target component 50 as described above, and the probability value data 224 is each operation of the robot hand 10 output by the learning devices 211 to 213. It is data which shows the success probability of a candidate.
  • the learning result data 225 is data for setting the learning devices 211 to 213 that have already been learned.
  • the learning data 226 is data used for the learning of each of the current learning devices 211 to 213. A detailed description regarding learning will be described later.
  • the communication interface 23 is, for example, a wired LAN (Local Area Network) module, a wireless LAN module, or the like, and is an interface for performing wired or wireless communication via a network. For example, it is possible to communicate with the robot 1 to transmit an operation command, or to communicate with an external camera 4 and acquire a photographed image photographed by the camera 4. It can also be used to transmit information related to the control of the robot 1 to the outside.
  • the input device 24 is a device for performing input such as a mouse and a keyboard, for example, and can input various instructions related to the operation of the robot 1 by the user.
  • the output device 25 is a device for outputting, for example, a speaker.
  • the display device 26 can be composed of a display or the like, and can display the output results from the learning devices 211 to 213, for example.
  • the external interface 27 is a USB (Universal Serial Bus) port or the like, and is an interface for connecting to an external device.
  • the drive 28 is, for example, a CD (Compact Disk) drive, a DVD (Digital Versatile Disk) drive, or the like, and is a device for reading a program stored in the storage medium 91.
  • the type of the drive 28 may be appropriately selected according to the type of the storage medium 91.
  • At least one of various data 221 to 226 stored in the storage unit 22 may be stored in the storage medium 91.
  • the captured image data 223 and the probability value data 224 can be stored in the RAM of the control unit 21.
  • the storage medium 91 stores information such as a program by an electrical, magnetic, optical, mechanical, or chemical action so that information such as a program recorded by a computer or other device or machine can be read. It is a medium to do.
  • the operation control apparatus 2 may acquire the various data 221 to 226 from the storage medium 91.
  • a disk-type storage medium such as a CD or a DVD is illustrated.
  • the type of the storage medium 91 is not limited to the disk type and may be other than the disk type.
  • Examples of the storage medium other than the disk type include a semiconductor memory such as a flash memory.
  • control unit 21 may include a plurality of processors.
  • the operation control device 2 may be configured by a plurality of information processing devices.
  • the operation control device 2 may be a general-purpose desktop PC (Personal Computer), a tablet PC, or the like, in addition to an information processing device designed exclusively for the provided service.
  • control unit 21 of the operation control device 2 expands the control program 221 stored in the storage unit 22 in the RAM. Then, the control unit 21 interprets and executes the program 221 expanded in the RAM, and controls each component. As a result, as shown in FIG. 2, the control device 2 according to the present embodiment functions as a computer including an input unit 210, first to third learning devices 211 to 213, and an evaluation unit 214.
  • the input unit 210 prepares captured images and motion candidates as inputs to the learning devices 211 to 213. For example, when the control of the robot 1 is started by an instruction from the input device 24, the camera 4 is caused to take an image of the robot hand 10 and the target component 20 to obtain a taken image.
  • the captured image can be stored in the storage unit 22 as captured image data 223.
  • a necessary captured image can be read from the captured image data in the storage unit 22.
  • a plurality of motion candidates are selected for input from the motion candidate data 222 of the storage unit 22. At this time, the motion candidate for input is selected at random from the motion candidate data 222. In this way, the captured image and the plurality of motion candidates prepared by the input unit 210 are input to the learning devices 211 to 213.
  • the first learning device 211 is trained to receive a captured image and a plurality of motion candidates as inputs, and to output a first probability value indicating a success probability that the robot hand 10 can grip the target component 50 by the motion of each motion candidate. Yes.
  • the operation in which the robot hand 10 simply holds the target component 50 is referred to as a first processing operation.
  • the first learning device 211 that performs such an output is composed of a neural network. Specifically, it is a neural network having a multilayer structure used for so-called deep learning as shown in FIG. 5, and includes an input layer 71, an intermediate layer (hidden layer) 72, and an output layer 73 in order from the input. .
  • the neural network 7 includes one intermediate layer 72, and the output of the input layer 71 is an input of the intermediate layer 72, and the output of the intermediate layer 72 is an input of the output layer 73.
  • the number of intermediate layers 72 is not limited to one, and the neural network 7 may include two or more intermediate layers 72.
  • Each layer 71 to 73 includes one or a plurality of neurons.
  • the number of neurons in the input layer 71 can be set according to the number of input data.
  • the number of neurons in the intermediate layer 72 can be set as appropriate according to the embodiment.
  • the output layer 73 can also be set according to the number of motion candidates.
  • Adjacent layers of neurons are appropriately connected to each other, and a weight (connection load) is set for each connection.
  • each neuron is connected to all neurons in the adjacent layers, but the neuron connection is not limited to such an example, and is appropriately set according to the embodiment. It's okay.
  • a threshold is set for each neuron, and basically, the output of each neuron is determined by whether or not the sum of products of each input and each weight exceeds the threshold.
  • the motion control apparatus 2 obtains an output indicating the success probability of each motion candidate from the output layer 73 by performing the above input to the input layer 71 of the neural network 7.
  • the configuration of the neural network 7 (for example, the number of layers of the neural network 7, the number of neurons in each layer, the connection relationship between neurons, the transfer function of each neuron), the weight of connection between each neuron, and each neuron
  • the information indicating the threshold value is included in the learning result data 225.
  • the motion control device 2 refers to the learning result data 225 and sets a learned learner.
  • learning by the first learning device 211 is performed by learning data 226 as shown in FIG. 6, for example.
  • the learning image 226 is input using the captured image and the motion candidate as input and the success or failure of gripping by the robot hand 10 as an output, and learning is performed by the error propagation method or the like.
  • An example of specific learning data 226 is shown in FIG.
  • the learning data is obtained by combining the photographed image and the motion candidate in various ways and actually driving the robot hand 10 to determine whether the gripping has succeeded or not. That is, when a captured image in which the robot hand 10 and the target component 50 are captured at a predetermined position is acquired and the robot hand 10 is operated with a predetermined motion candidate for this, the robot hand 10 actually grips the target component 50.
  • the learning data 226 is generated as success when it is successful and as failure when it cannot be grasped.
  • FIG. 7 includes learning data indicating that the target component 20 has been gripped when the robot hand 10 is driven based on the image 1 and the motion candidate M1.
  • a success probability that can grasp the target component 50 that is, a first probability value can be output in each motion candidate. That is, learning result data 225 for the first learning device 211 that can obtain such an output is generated.
  • the learning data 226 can be created by actually using the robot hand 10, or the learning data 226 is created by operating the robot hand by simulation on a computer. You can also.
  • the second learning device 212 receives a captured image and a plurality of motion candidates as input, and learns to output a second probability value indicating the success probability that the robot hand 10 can reach the center of the target component 50 by the motion of each motion candidate. Has been.
  • a second processing operation an operation in which the robot hand 10 reaches the center of the target component 50 is referred to as a second processing operation.
  • the second learning device 212 can also be configured by a neural network, and thus detailed description thereof is omitted.
  • the learning method and the generation of learning data are also substantially the same as those of the first learning device 211.
  • Third learner> In the third learning device 213, a captured image and a plurality of motion candidates are input, and the probability that the other components 51 to 53 do not move in the process until the robot hand 10 reaches the target component 50 by the motion of each motion candidate. Learning to output the third probability value shown. That is, the probability that the other parts 51 to 53 do not move without being influenced by the robot hand 10 or the target part 50 is output.
  • a third processing operation an operation that does not move other components is referred to as a third processing operation.
  • the third learning device 213 can also be configured by a neural network like the first learning device 211, detailed description thereof is omitted.
  • the learning data 226 can be generated as follows, for example.
  • the learning data 226 is obtained by actually driving the robot hand 10 to determine whether or not the other components 51 to 53 have moved in response to various combinations of captured images and motion candidates. For example, when a captured image in which the robot hand 10 and the target component 50 are captured at a predetermined position is acquired and the robot hand 10 is moved to the target component 50 with a predetermined operation candidate, the other components do not move. 1 if it has moved, 0 if it has moved.
  • FIG. 8 shows an example of learning data.
  • the number of pixels that have changed in the images before and after the operation of the robot hand 10 is greater than or equal to a predetermined reference, it can be determined that the components 51 to 53 have moved. Further, instead of using the probability that another component operates as an output, the number of changed pixels before and after the operation can be output.
  • the captured image is divided into a plurality of ranges, and the change in the number of pixels before and after the operation is calculated for each divided range. Then, the third learning device 213 can be made to learn so that the influence of the movement of the component is output in the range of 0 to 1 based on the change in the number of pixels for each divided range.
  • the learning data 226 thus obtained is used for learning by the third learning device 213 as in the first embodiment.
  • learning result data 225 for the third learning device 213 that can obtain the output is generated.
  • the evaluation unit 214 determines an operation command for the robot 1 based on the probability values of the operation candidates output from the learning devices 211 to 213. As shown in FIG. 9, the probability values p 1 to p 3 of the motion candidates M 1 to Mn are output from the learning devices 211 to 213 to the evaluation unit 214.
  • the evaluation values P of the motion candidates M1 to Mn are calculated, and the motion candidate having the highest evaluation value P is output to the robot 1 as a motion command.
  • the success probability shown in FIG. 9 is output, the sum of the success probabilities p1 to p3 is set as the evaluation value P, and the motion candidate having the highest evaluation value P is set as the motion command to the robot 1. Can do.
  • the success probabilities p1 to p3 can be weighted. For example, in consideration of the priority of the first to third processing operations, the weight of each processing operation is set to w1, w2, and w3.
  • the evaluation value P of each motion candidate can be expressed as w1 * p1 + w2 * p2 + w3 * p3, and the motion candidate that has the highest evaluation value can be used as the motion command.
  • the output weight w2 is smaller than the weight w1.
  • the evaluation value P can be calculated by weighting. For example, when the third learning device 213 outputs the number of pixels that have changed as described above, the output from the first and second learning devices 211 and 212 is obtained by performing such normalization. Can be adapted to the range.
  • the motion candidate may not be adopted as the motion command.
  • FIG. 10 is a flowchart illustrating an example of a processing procedure of the operation control apparatus. Note that the processing procedure described below is merely an example, and each processing may be changed as much as possible. Further, in the processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
  • a captured image is acquired by the camera 4 (step S101).
  • the acquired photographed image and motion candidate are input to the learning devices 211 to 213 (step S102).
  • motion candidates and their probability values are output from the learning devices 211 to 213 (step S103).
  • the evaluation unit 214 generates an operation command based on the output operation candidate and the probability value (step S104).
  • the generated operation command is transmitted to the robot 1, and the robot hand 10 is driven according to the operation command (step S105).
  • one learner is not trained to consider all conditions, but when a condition is added, a learner that considers only the condition is added.
  • the evaluation unit 214 calculates an operation command in consideration of the generated outputs of all the learning devices 211 to 213. Therefore, the learning burden on the learning device can be reduced.
  • the number of learning devices is three.
  • the number of learning devices may be two or more, and is not particularly limited.
  • the processing operation that is the target of the first learning device 211 and the processing operations of the second and third learning devices 212 and 213 may be related to each other.
  • processing operations that restrict the first processing operation such as the first processing operation and the second processing operation of the above-described embodiment, may be related to become the second processing operation.
  • the processing operation related to the event that may occur due to the first processing operation such as the first processing operation and the third processing operation, may be related to become the third processing operation.
  • the first to third learning devices 211 to 213 are provided.
  • the motion control device 2 may be configured to include the first learning device 211 and the third learning device 213. .
  • each of the learning devices 211 to 213 outputs the success probability of the motion candidate as an evaluation value, but is not limited to this. That is, as the evaluation value of each motion candidate, in addition to the success probability, for example, the coordinate of the movement destination of the robot hand 10 based on each motion candidate can be used, and the motion candidate can be evaluated using this coordinate. . For example, if the coordinates of the movement destination are close to the coordinates of the target component 50, the evaluation value is high. In addition to this, it is possible to evaluate motion candidates using various evaluation values and output them from the learning devices 211 to 213.
  • the motion candidates input to the learning devices 211 to 213 include various selection methods other than the random selection as described above.
  • the motion control device 2 is provided with a motion candidate generation unit that generates motion candidates.
  • this motion candidate generation unit first, a predetermined average and variance of evaluation values are set, and based on these, a certain number of motion candidates are sampled to generate a set of motion candidates.
  • the evaluation value of each motion candidate in the set is output and ranked in descending order of the evaluation value.
  • several motion candidates with high rank in the set are selected, and the average and variance of the evaluation values of the motion candidates are calculated.
  • the average and variance of the set are updated based on the average and variance. By repeating this, an operation candidate having a high evaluation value can be generated.
  • the motion candidate generation unit prepares in advance a set of motion candidates suitable for each motion of the robot hand 10, and from among them, the motion candidate is selected according to the requested motion of the robot hand 10.
  • the set can be selected as appropriate.
  • each neural network 7 may be a convolutional neural network that uses the input layer 71 and the intermediate layer 72 as a convolution layer and a pooling layer.
  • each neural network 7 may be a recursive neural network having a connection that recurs from the output side to the input side, such as the intermediate layer 72 to the input layer 71. Note that the number of layers of each neural network 7, the number of neurons in each layer, the connection relationship between neurons, and the transfer function of each neuron may be appropriately determined according to the embodiment.
  • each of the learning devices 211 to 213 is not particularly limited.
  • a support vector machine, a self-organizing map, or a learning device that performs learning by reinforcement learning can be used.
  • other methods other than machine learning can be used.
  • the robot motion control device 2 has been described. However, as in this device, each time an additional condition is added, a new learner is generated and the outputs of a plurality of learners are evaluated. Can also be applied to other devices.
  • the present invention can be applied to a control device 8 as shown in FIG.
  • the basic configuration of the control device 8 is substantially the same as that of the robot motion control device 2 described above.
  • the information input to the learning device is not limited to an image, and various information referred to as environment information can be input.
  • the environmental information is information related to the control object, and can be, for example, the operation speed of the control object, the position of the control object, etc. in addition to the image of the control object.
  • the processing candidate corresponds to the motion candidate, and is a candidate for processing (control) on the control target.
  • this control device can be applied to control for collision avoidance of automobiles.
  • input environmental information includes measured values such as distances to obstacles obtained by measuring instruments such as cameras and radars installed in automobiles, and multiple driving operations with different steering and accelerator operation amounts as processing candidates. Can be used.
  • the first learning device 211 can output the collision probability with the obstacle from these inputs. Therefore, by using the first learning device 211, it is possible to determine a driving operation that minimizes the collision probability of the autonomous driving vehicle.
  • the evaluation unit 214 can determine a driving operation with a small burden on the occupant while avoiding a collision.
  • the target of the first learning device 211 is a collision, it can be said to be an indispensable condition, and the target of the second learning device 212 can be referred to as a recommended condition having a lower priority. Therefore, the output weight of the first learning device 211 is larger than the output weight of the second learning device 212. Three or more learning devices may be provided.
  • the present invention can be applied not only to control of the control object but also to processing of the process object.
  • the present invention can be applied to a processing apparatus as shown in FIG.
  • the basic configuration of the processing device 9 is substantially the same as that of the control device 8 described above.
  • the information input to the learning device can be only processing candidates.
  • Such a processing apparatus 9 can be applied to an image search system, for example.
  • an image is input as a processing candidate, and the first learning device 211 can output the probability that a person is reflected in the input image. Thereby, it is possible to search for an image showing a person.
  • An image is also input as a processing candidate to the second learning device 212.
  • the second learning device 212 can output a probability that a person shown in the image belongs to a certain age.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

本発明は、処理対象物に対するロボットの動作制御装置であって、少なくとも前記処理対象物を撮影した撮影画像及び前記ロボットの少なくとも一つの動作候補が入力される入力部と、前記撮影画像、及び少なくとも一つの前記動作候補を入力とし、前記ロボットが第1の処理動作を行うときの、前記各動作候補の評価を示す第1の評価値を出力するために、第1学習データにより学習された学習済みの第1の学習器と、前記撮影画像及び少なくとも一つの前記動作候補を入力とし、ロボットが第2の処理動作を行うときの、前記各動作候補の評価を示す第2の評価値を出力するために、前記第1学習データとは異なる第2学習データにより、学習された学習済みの第2の学習器と、前記第1の評価値及び前記第2の評価値の少なくとも一方に基づいて、前記ロボットを動作させるための指令値を算出する評価部と、を備えている。

Description

ロボットの動作制御装置
 本発明は、ロボットの動作制御装置、動作制御方法、動作制御プログラム、及び処理装置に関する。
 従来より、ロボットの動作制御の方法として、種々の方法が提案されている。例えば、特許文献1には、ロボットアームにより対象物を把持する制御において、画像データに含まれる対象物の形状モデルに基づいて、ロボットアームの制御を行う制御装置が開示されている。また、この文献には、ロボットアームの制御を行うために、画像データを入力とした把持の成功確率を出力する学習器も開示されている。
特開2017-185578号公報
 ところで、このような学習器を用いてロボットの動作制御を行う場合、制御対象となるロボットの動作を追加するには、学習器を再学習する必要がある。すなわち、新たに追加するロボットの動作に関する学習データを追加した上で、学習器を再学習する必要がある。しかしながら、既存の学習器に対し、学習データを追加して再学習を行うと、学習データが膨大になり、再学習に時間を要するという問題があった。
 なお、このような問題は、ロボットの動作制御に限られる問題ではなく、例えば、学習器により所定の処理に対する出力を行う、処理装置全般に生じうる問題である。本発明は、この問題を解決するためになされたものであり、追加の処理を学習させる場合、効率的に学習を行うことができる、ロボットの動作制御装置、動作制御方法、動作制御プログラム、及び処理装置を提供することを目的とする。
 本開示は、処理対象物に対するロボットの動作制御装置であって、少なくとも前記処理対象物を撮影した撮影画像、及び前記ロボットの少なくとも一つの動作候補が入力される入力部と、前記撮影画像、及び少なくとも一つの前記動作候補を入力とし、前記ロボットが第1の処理動作を行うときの、前記各動作候補の評価を示す第1の評価値を出力するために、第1学習データにより学習された学習済みの第1の学習器と、前記撮影画像及び少なくとも一つの前記動作候補を入力とし、ロボットが第2の処理動作を行うときの、前記各動作候補の評価を示す第2の評価値を出力するために、前記第1学習データとは異なる第2学習データにより、学習された学習済みの第2の学習器と、前記第1の評価値及び前記第2の評価値の少なくとも一方に基づいて、前記ロボットを動作させるための指令値を算出する評価部と、を備えている。
 この構成によれば、一つの学習器を、すべての処理動作を考慮するように学習させるのではなく、新たな処理動作が付加されたときには、その処理動作のみを考慮した学習器を追加で生成している。すなわち、本発明では、第1の処理動作とは異なる第2の処理動作を行うために、第1の処理動作とは異なる学習データによって、学習された第2学習器を別途生成し、第1及び第2学習器の出力を考慮して、評価部において、動作指令を算出するようにしている。したがって、学習器の学習の負担を低減すことができる。
 なお、処理対象物とはロボットが作業を行うべき部品、被搬送物などの対象であり、処理動作とは、処理対象物に対して、ロボットが行う動作である。例えば、処理対象物の把持、搬送、位置決めなどである。また、動作候補とは、ロボットが処理動作を行うに当たってのロボットが行う動作の候補である。例えば、ロボットハンドの前後進、昇降、回転などの動作である。また、昇降、回転のような動作の種類が異なる動作候補を準備するほか、例えば、同じ動作の種類であっても、回転角度が異なる2つの回転動作も、それぞれ動作候補となり得る。
 上記動作制御装置において、前記第1の評価値は、当該第1の動作候補の成功確率を示す確率値とすることができ、前記第2の評価値は、当該第2の動作候補の成功確率を示す確率値とすることができる。
 上記動作制御装置において、前記評価部は、前記各評価値が所定値以上の動作候補に基づいて、前記指令値を算出することができる。
 上記動作制御装置において、前記評価部は、前記第1の評価値及び第2の評価値に対し、前記各処理動作に基づく重み付けを行うことで、前記指令値を算出することができる。
 上記動作制御装置において、前記第2の評価値は、前記第1の処理動作及び第2の処理動作の少なくとも一方に起因して起こり得る事象の評価値とすることができる。
 上記動作制御装置において、前記撮影画像、及び少なくとも一つの前記動作候補を入力とし、前記第1の処理動作及び第2の処理動作の少なくとも一方に起因して起こり得る事象を示す第3の評価値を出力とするように、前記第1及び第2学習データとは異なる第3学習データにより、学習された学習済みの第3の学習器をさらに備えることができ、前記評価部は、前記第3の評価値も用いて、前記指令値を算出することができる。
 上記動作制御装置においては、前記撮影画像を入力とし、前記第1の処理動作に適した前記第1の動作候補、及び前記第2の処理動作に適した前記第2の動作候補を出力とする動作候補生成部をさらに備えることができる。
 上記動作制御装置において、前記第1の処理動作及び前記第2の処理動作の動作候補は、前記ロボットが動作するための移動ベクトルを含むことができる。
 本開示は、ロボット制御システムであって、処理対象物に対して、処理を行うロボットと、上述したいずれかの動作制御装置と、を備え、前記動作制御装置から算出された指令値により、前記ロボットが動作するように構成されている。
 本開示は、処理対象物に対するロボットの動作制御方法であって、少なくとも前記処理対象物を撮影した撮影画像、及び前記ロボットの少なくとも一つの動作候補を入力するステップと、前記撮影画像、及び少なくとも一つの前記動作候補を入力とし、前記ロボットが第1の処理動作を行うときの、前記各動作候補の評価を示す第1の評価値を出力するために、第1学習データにより、学習された学習済みの第1の学習器を準備するステップと、前記撮影画像及び少なくとも一つの前記動作候補を入力とし、前記ロボットが第2の処理動作を行うときの、前記各動作候補の評価を示す第2の評価値を出力するために、前記第1学習データとは異なる第2学習データにより、学習された学習済みの第2の学習器を準備するステップと、前記撮影画像及び前記動作候補から、前記第1の学習器によって、前記第1の評価値を出力するステップと、前記撮影画像及び前記動作候補から、前記第2の学習器によって、前記第2の評価値を出力するステップと、前記第1の評価値及び第2の評価値の少なくとも一方に基づいて、前記ロボットを動作させるための指令値を算出するステップと、を備えている。
 本開示は、処理対象物に対するロボットの動作制御プログラムであって、コンピュータに、少なくとも前記処理対象物を撮影した撮影画像及び前記ロボットの少なくとも一つの動作候補を入力するステップと、前記撮影画像、及び少なくとも一つの前記動作候補を入力とし、前記ロボットが第1の処理動作を行うときの、前記各動作候補の評価を示す第1の評価値を出力するために、第1学習データにより、学習された学習済みの第1の学習器を準備するステップと、前記撮影画像、及び少なくとも一つの前記動作候補を入力とし、前記ロボットが第2の処理動作を行うときの、前記各動作候補の評価を示す第2の評価値を出力するために、前記第1学習データとは異なる第2学習データにより、学習された学習済みの第2の学習器を準備するステップと、前記撮影画像及び前記動作候補から、前記第1の学習器によって、前記第1の評価値を出力するステップと、前記撮影画像及び前記動作候補から、前記第2の学習器によって、前記第2の評価値を出力するステップと、前記第1の評価値及び第2の評価値の少なくとも一方に基づいて、前記ロボットを動作させるための指令値を算出するステップと、を実行させる。
 本開示は、制御対象物の制御装置であって、前記制御対象物に関連する環境情報、及び前記制御対象物に対する少なくとも一つの処理候補を入力する入力部と、前記環境情報、及び少なくとも一つの前記処理候補を入力とし、前記制御対象物に対し第1の処理を行うときの、前記各処理候補の評価を示す第1の評価値を出力するために、第1学習データにより、学習された学習済みの第1の学習器と、前記環境情報、及び少なくとも一つの前記処理候補を入力とし、前記制御対象物に対し第2の処理を行うときの、前記各処理候補の評価を示す第2の評価値を出力するために、前記第1学習データとは異なる第2学習データにより、学習された学習済みの第2の学習器と、前記第1の評価値及び前記第2の評価値の少なくとも一方に基づいて、前記制御対象物を制御するための指令値を算出する評価部と、を備えている。
 本開示は、所定の処理を行う処理装置であって、少なくとも一つの処理候補を入力する入力部と、少なくとも一つの処理候補を入力とし、第1の処理を行うときの、前記各処理候補の評価を示す第1の評価値を出力するために、第1学習データにより、学習された学習済みの第1の学習器と、少なくとも一つの前記処理候補を入力とし、第2の処理を行うときの、前記各処理候補の評価を示す第2の評価値を出力するために、前記第1学習データとは異なる第2学習データにより、学習された学習済みの第2の学習器と、前記第1の評価値及び前記第2の評価値の少なくとも一方に基づいて、前記第1の処理及び前記第2の処理の少なくとも一方の処理候補を決定する評価部と、を備えている。
 本発明によれば、追加の処理を学習させる場合、効率的に学習を行うことができる。
本発明のロボットの動作制御装置の一実施形態で用いられるロボットの一例を示す概略図である。 本発明に係る動作制御装置の一実施形態の機能ブロック図である。 ロボットハンドによる対象部品の把持を示す図である。 図2の動作制御装置のハードウエア構成を示すブロック図である。 図2の動作制御装置で用いられるニューラルネットワークの一例を示す図である。 図2の動作制御装置の学習器の学習の一例を示す図である。 学習データの一例である。 学習データの一例である。 学習器からの出力の例である。 図2のモータ制御システムにおける学習器の更新の処理手順の一例を例示するフローチャートである。 本発明に係る制御装置の一実施形態の機能ブロック図である。 本発明に係る処理装置の一実施形態の機能ブロック図である。
 以下、本発明に係るロボットの動作制御装置、動作制御方法、及び動作制御プログラムの一実施形態について、図面を参照しつつ説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
 <1.適用例>
 以下、本実施形態に係るロボットの動作制御装置について図1及び図2を参照しつつ説明する。図1は、本実施形態に係るロボットの概略図、図2は、動作制御装置を含むロボットの制御システムの機能構成を示すブロック図である。
 この制御システムは、ロボットの動作を制御するシステムであり、ロボットが処理すべき対象物に対し、適切に処理を行うための動作指令を与えるものである。ここでは、図1に示すように、ロボットハンド10を有するロボット1が、複数の部品(処理対象物)5の中の対象部品50を把持するための動作指令を行う場合を例として説明する。
 このような動作指令を行うため、動作制御装置2は、図2に示すように、ロボットハンド10と対象部品50とを撮影した撮影画像と、対象部品50を把持するためにロボットハンド10が動作すべき複数の動作候補と、を入力として、学習器211~213に入力する。すなわち、各学習器211~213には、同じ入力がなされるようになっている。本実施形態では、3つの学習器211~213が設けられているが、ここでは、まず第1学習器211について説明する。
 第1学習器211は、撮影画像と複数の動作候補とを入力としたとき、各動作候補の対象部品を把持できる成功確率を第1確率値として出力とするように学習されている。撮影画像は、ロボットハンド10及び対象部品50を撮影したものであり、現在のロボットハンド10と対象部品50の位置を抽出するためのものである。但し、ロボットハンド10が固定された初期位置に配置される場合には、対象部品50だけを撮影した撮影画像を準備することもできる。
 また、本実施形態では、図1に示すように、動作候補として、ロボットハンド10が対象部品50に向かって移動する移動ベクトルMn(xn,yn,θn)(nは整数)を用いている。ここで、xはx方向の移動量、yはy方向の移動量、θはロボットハンド10の傾きを表している。このように設定された複数の移動ベクトルを動作候補とし、この動作候補を撮影画像とともに入力とすることで、第1学習器211は、ロボットハンド10が各動作候補によって対象部品50を把持できる成功確率を第1確率値として出力とする。そして、図2に示すように、動作制御装置2の評価部214では、算出された第1確率値に基づいて、一の動作候補を選択し、選択された動作候補の移動ベクトルをロボット1に対して動作指令として送信する。
 このとき、評価部214での動作候補の選択は、種々の方法があるが、例えば、最も高い第1確率値を示した動作候補を選択することができる。また、第1確率値が所定値以下である場合には、動作指令を行わず、入力に用いた動作候補とは異なる動作候補を準備した後、第1学習器211で確率値の出力を改めて行うこともできる。
 このような第1学習器211は、ニューラルネットワークなどの機械学習で構成することができる。ところで、この第1学習器211では、ロボットハンド10が対象部品50を把持することを目的として動作候補を選択しているが、さらなる条件を付加してロボットハンド10に対象部品50を把持させることが考えられる。例えば、単に対象部品50を把持するだけではなく、図3に示すように、対象部品50の取り扱いを考慮して、対象部品50の中心Xを挟むようにロボットハンド10で把持させたいという条件を付加したい場合がある。この場合は、ロボットハンド10が対象部品50の中心に到達する成功確率を出力できるように、第1学習器211を再学習させる必要がある。
 しかしながら、第1学習器211を再学習させるとすると、追加学習データを第1学習器211の学習データに加えた上で、第1学習器211の再学習を行わなければならない。すなわち、全ての条件を1つの学習器で学習しようとすると、複合的な条件を満足する学習データの収集が困難であったり、追加の学習を行うと、確立していた元の学習結果の出力が保証できなくなる等の問題があり、効率がよくない。そこで、本実施形態では、追加の条件に係るロボットハンド10の動作を、第1学習器211とは別の第2学習器212で行うこととし、この追加された条件での各動作候補の成功確率を示す第2確率値を出力する。そして、評価部214では、第1学習器211で選択された動作候補の第1確率値、及び第2学習器212で出力された動作候補の第2確率値の2つを考慮して、動作指令を算出するようにしている。すなわち、第1学習器211を、すべての条件を考慮するように学習させるのではなく、条件が追加されたときには、その条件のみを考慮した第2学習器212を追加で生成し、第1学習器211及び第2学習器212の両方の出力を考慮して、評価部214において、動作指令を算出するようにしている。したがって、学習器の学習の負担を低減すことができる。
 同様にして、本実施形態の動作制御装置2では、第3学習器213を備えている。この第3学習器213は、ロボットハンド10で対象部品50を把持するとき、他の部品に影響を与えないように対象部品50を把持できる確率を示す第3確率値を出力できるようにしている。例えば、ロボットハンド10が、対象部品50を把持する過程で、図1に示す他の部品51~53の位置を変えないように、対象部品50を把持できる確率を出力することができる。このような付加的な条件についても、第1及び第2学習器211,312とは別途学習を行った第3学習器213を生成し、評価部214では、その出力である第3確率値を、第1及び第2確率値とともに考慮して、動作指令を算出する。このように、学習器の数は、特には限定されず、付加的な条件が加えられるたびに、学習器を新たに生成することができる。
 以上のように、本実施形態では、ロボット10に所定の目的の動作をさせる制御を行うとき、全ての条件を充足するように1つの学習器を学習させるのではなく、ロボットが行うべき動作の条件を分け、各条件ごとにロボット10の動作の学習を行い、各条件ごとに学習器によって動作の評価を行うようにしている。そして、各学習器が出力した動作の評価を総合的に考慮して、ロボット10が行うべき動作指令を算出するようにしている。また、各学習器が出力した評価を考慮するに当たっては、各評価を均等に考慮することもできるし、重み付けをすることもできる。さらには、評価の優先順位を設けておき、例えば、一の評価が所定以上の評価でない場合には、他の評価を考慮しないようにすることもできる。これにより、上述したような1つの学習器を用いたときの不具合を解消することができる。
 <2.構成例>
 <2-1.ハードウエア構成>
 次に、本実施形態に係るロボットの動作制御装置2を含む制御システムのハードウエア構成について、図4も参照しつつ説明する。図4は、本実施形態に係るロボットの制御システムのハードウエア構成を示すブロック図である。
 <2-1-1.ロボット>
 図1に示すように、このロボット1は、部品を把持可能なロボットハンド10を有しており、このロボットハンド10が上下左右に移動するほか、ロボットハンド10が傾くように構成されている。但し、ロボット1及びロボットハンド10の構成は特には限定されず、他の動作を行えるように適宜変更可能である。
 <2-1-2.制御装置>
 図4に示すように、本実施形態に係るロボットの動作制御装置2は、制御部21、記憶部22、通信インタフェース23、入力装置24、出力装置25、表示装置26、外部インタフェース27、及びドライブ28が電気的に接続されたコンピュータである。なお、図4では、通信インタフェース及び外部インタフェースをそれぞれ、「通信I/F」及び「外部I/F」と記載している。
 制御部21は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、情報処理に応じて各構成要素の制御を行う。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置であり、制御部21で実行される制御プログラム221、動作候補データ222、撮影画像データ223、確率値データ224、第1~第3学習器211~213に関する情報を示す学習結果データ225、第1~第3学習器211~213を学習させるための学習データ226等を記憶する。その他、動作制御装置2の駆動に必要な各種のデータも記憶することもできる。
 制御プログラム221は、ロボット1の動作のために、上述した入力を受け付け、これに応じた出力を行うものであり、後述する第1~第3学習器211~213によって、出力を行う。動作候補データ222は、上述したとおり、ロボットハンド10の移動ベクトルを含むデータであり、多数の動作候補を有している。動作候補データは、ロボット1の種類や対象物品の種類に応じて予め準備されている。撮影画像データ223は、上述したようにロボットハンド10及び対象部品50を撮影した撮影画像に係るデータであり、確率値データ224は、各学習器211~213によって出力されたロボットハンド10の各動作候補の成功確率を示すデータである。学習結果データ225は、学習済みの各学習器211~213の設定を行うためのデータである。また、学習データ226は、現在の各学習器211~213の学習に用いたデータである。なお、学習に関する詳細な説明は後述する。
 通信インタフェース23は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。例えば、動作指令を送信するためにロボット1と通信したり、あるいは外部のカメラ4と通信し、カメラ4によって撮影された撮影画像を取得することができる。また、ロボット1の制御に関する情報を外部に送信するために用いることもできる。入力装置24は、例えば、マウス、キーボード等の入力を行うための装置であり、ユーザによるロボット1の動作に係る各種の指示を入力することができる。出力装置25は、例えば、スピーカ等の出力を行うための装置である。表示装置26は、ディスプレイ等で構成することができ、例えば、学習器211~213による出力の結果などを表示することができる。外部インタフェース27は、USB(Universal Serial Bus)ポート等であり、外部装置と接続するためのインタフェースである。
 ドライブ28は、例えば、CD(Compact Disk)ドライブ、DVD(Digital Versatile Disk)ドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むための装置である。ドライブ28の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記記憶部22に記憶される各種のデータ221~226の少なくとも一つは、この記憶媒体91に記憶されていてもよい。また、撮影画像データ223、確率値データ224は、制御部21のRAMに記憶させることもできる。
 記憶媒体91は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、このプログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。この動作制御装置2は、この記憶媒体91から、上記各種のデータ221~226を取得してもよい。
 ここで、図4では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
 なお、動作制御装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のプロセッサを含んでもよい。動作制御装置2は、複数台の情報処理装置で構成されてもよい。また、動作制御装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のデスクトップPC(Personal Computer)、タブレットPC等が用いられてもよい。
 <2-2.動作制御装置の機能的構成>
 次に、図2及び図4を参照しつつ、本実施形態に係る動作制御装置の機能構成の一例を説明する。
 <2-2-1.概略構成>
 図2に示すように、動作制御装置2の制御部21は、記憶部22に記憶された制御プログラム221をRAMに展開する。そして、制御部21は、RAMに展開されたプログラム221をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図2に示すように、本実施形態に係る制御装置2は、入力部210、第1~第3学習器211~213、及び評価部214を備えるコンピュータとして機能する。
 <2-2-2.入力部>
 入力部210は、各学習器211~213への入力として、撮影画像及び動作候補を準備する。例えば、入力装置24からの指示により、ロボット1の制御が始まると、カメラ4にロボットハンド10及び対象部品20を撮影させ、撮影画像を取得する。撮影画像は、撮影画像データ223として記憶部22に記憶することができる。なお、予め撮影画像が取得されている場合には、記憶部22の撮影画像データから必要な撮影画像を読み出すこともできる。また、記憶部22の動作候補データ222から複数の動作候補を入力用に選択する。このとき、入力用の動作候補は、動作候補データ222の中からランダムに選択する。こうして、入力部210により準備された撮影画像及び複数の動作候補を各学習器211~213に入力する。
 <2-2-3.第1学習器>
 第1学習器211では、撮影画像及び複数の動作候補を入力とし、各動作候補による動作によってロボットハンド10が対象部品50を把持できる成功確率を示す第1確率値を出力するように学習されている。ここで、ロボットハンド10が対象部品50を単に把持する動作を第1処理動作と称することとする。
 このような出力を行う第1学習器211は、ニューラルネットワークで構成されている。具体的には、図5に示すような、いわゆる深層学習に用いられる多層構造のニューラルネットワークであり、入力から順に、入力層71、中間層(隠れ層)72、及び出力層73を備えている。
 図5に示すように、ニューラルネットワーク7は1層の中間層72を備えており、入力層71の出力が中間層72の入力となり、中間層72の出力が出力層73の入力となっている。ただし、中間層72の数は1層に限られなくてもよく、ニューラルネットワーク7は、中間層72を2層以上備えてもよい。
 各層71~73は、1又は複数のニューロンを備えている。例えば、入力層71のニューロンの数は、入力データの数に応じて設定することができる。中間層72のニューロンの数は実施の形態に応じて適宜設定することができる。また、出力層73も、動作候補の数に応じて設定することができる。
 隣接する層のニューロン同士は適宜結合され、各結合には重み(結合荷重)が設定されている。図5の例では、各ニューロンは、隣接する層の全てのニューロンと結合されているが、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
 各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。この動作制御装置2は、このようなニューラルネットワーク7の入力層71に上記入力を行うことで、出力層73から各動作候補の成功確率を示す出力を得る。
 なお、このようなニューラルネットワーク7の構成(例えば、ニューラルネットワーク7の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数)、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報は、学習結果データ225に含まれている。動作制御装置2は、学習結果データ225を参照して、学習済みの学習器の設定を行う。
 また、第1学習器211の学習は、例えば、図6に示すような学習データ226により行われる。つまり、撮影像及び動作候補を入力とし、これに対するロボットハンド10による把持の成否を出力とした学習データ226を用い、これによって誤差伝播法などで学習を行う。具体的な学習データ226の例を図7に示す。学習データは、撮影画像及び動作候補を種々組み合わせ、それに対する把持の成否を実際にロボットハンド10を駆動させることで取得する。すなわち、所定の位置にロボットハンド10及び対象部品50が写る撮影画像を取得し、これに対して所定の動作候補でロボットハンド10を動作させた場合、ロボットハンド10が実際に対象部品50を把持したときには成功、把持できなかったときには失敗として、学習データ226を生成する。例えば、図7では、画像1及び動作候補M1に基づいて、ロボットハンド10を駆動したときには、対象部品20を把持できたとする学習データが含まれている。このような学習データ226を生成し、これによって第1学習器211を学習させると、各動作候補において、対象部品50を把持できる成功確率、つまり第1確率値を出力することができる。すなわち、このような出力を得ることができる第1学習器211用の学習結果データ225が生成される。なお、学習データ226を作成するに当たっては、ロボットハンド10を実際に使用して学習データ226を作成することもできるし、コンピュータ上でのシミュレーションにより、ロボットハンドを動作させて学習データ226を作成することもできる。
 <2-2-4.第2学習器>
 第2学習器212では、撮影画像及び複数の動作候補を入力とし、各動作候補による動作によってロボットハンド10が対象部品50の中心に到達できる成功確率を示す第2確率値を出力するように学習されている。ここで、ロボットハンド10が対象部品50の中心に到達するような動作を第2処理動作と称することとする。
 第2学習器212も第1学習器211と同様に、ニューラルネットワークにより構成することができるため、詳しい説明は省略する。また、学習の方法及び学習データの生成についても、第1学習器211と概ね同様であるが、例えば、ロボットハンド10を種々の動作候補で動作させたときに、ロボットハンド10の座標が対象部品50の中心として設定された範囲に到達すれば、成功(=1)、到達しなければ、失敗(=0)となるように学習データ226を作成することができる。すなわち、第2学習器212は、対象部品50をロボットハンド10で把持できるか否かではなく、対象部品50の中心にロボットハンド10が到達できるか否かの評価を行うものである。
 <2-2-5.第3学習器>
 第3学習器213では、撮影画像及び複数の動作候補を入力とし、各動作候補による動作によってロボットハンド10が対象部品50に到達するまでの過程で、他の部品51~53が移動しない確率を示す第3確率値を出力するように学習されている。すなわち、ロボットハンド10によって、あるいは対象部品50によって、他の部品51~53が影響を受けずに移動しない確率を出力する。ここで、ロボットハンド10が対象部品50に到達する過程で、他の部品を移動させないような動作を第3処理動作と称することとする。
 ここで、第3学習器213も第1学習器211と同様に、ニューラルネットワークにより構成することができるため、詳しい説明は省略する。また、学習データ226は、例えば、以下のように生成することができる。
 学習データ226は、撮影画像及び動作候補を種々組み合わせ、それに対して、他の部品51~53が移動したか否かを、実際にロボットハンド10を駆動させることで取得する。例えば、所定の位置にロボットハンド10及び対象部品50が写る撮影画像を取得し、これに対して所定の動作候補でロボットハンド10を対象部品50まで動作させたとき、他の部品が移動しなかった場合には1、移動した場合には0とする。図8に学習データの例を示す。ここで、他の部品が移動したか否かの判定には種々の方法があり、人間が確認するほか、次のような方法がある。例えば、例えば、ロボットハンド10の動作前と動作後に部品51~53を撮影し、それらの画像の差分を算出する。そして、ロボットハンド10の動作前後の画像において、変化のあった画素数が所定の基準以上であれば、部品51~53が移動したと判断することができる。また、他の部品が動作する確率を出力とするのではなく、動作前後での変化した画素数を出力とすることもできる。あるいは、撮影画像を複数の範囲に分割し、分割した範囲ごとに動作前後の画素数の変化を算出する。そして、分割した範囲ごとに、画素数の変化に基づいて、0~1の範囲で部品の移動の影響度が出力されるように、第3学習器213を学習させることもできる。
 このようにして得た学習データ226により、第1実施形態と同様に、第3学習器213の学習を行う。こうして、上記出力を得ることができる、第3学習器213用の学習結果データ225が生成される。
 <2-2-6.評価部>
 評価部214は、各学習器211~213から出力された、各動作候補の確率値に基づいて、ロボット1に対する動作指令を決定するものである。各学習器211~213からは、図9に示すように、各動作候補M1~Mnの確率値p1~p3が評価部214へ出力される。
 次に、各学習器211~213からの出力に基づき、動作候補M1~Mnの評価値Pをそれぞれ算出し、最も高い評価値Pを得た動作候補を動作指令としてロボット1に出力する。動作指令の選択方法は、種々の方法がある。例えば、図9に示す成功確率が出力された場合には、成功確率p1~p3の合計を評価値Pとし、最も高い評価値Pを得た動作候補を、ロボット1への動作指令とすることができる。あるいは、成功確率p1~p3に重み付けを行うこともできる。例えば、第1~第3処理動作の優先度を考慮して、各処理動作の重みをw1,w2,w3とする。これにより、各動作候補の評価値Pは、w1*p1+w2*p2+w3*p3と表すことができ、その中で最も高い評価値を得た動作候補を動作指令とすることができる。このように重みを設定する理由は、次の通りである。例えば、第1処理動作が非常に重視される場合には、w1=0.8,w2=0.1,w3=0.1といった重み付けをすることができる。このように、各学習器211~213が対象とする処理動作の目的によって重みを設定することができる。例えば、第1処理動作が必須の要件であり、第2処理動作が推奨される要件である場合には、第1学習器211からの出力の重みw1が大きくなり、第2学習器212からの出力の重みw2は、重みw1よりも小さくなる。なお、各学習器211~213からの出力が確率以外の評価値、つまり0~1以外の範囲の評価値である場合には、その最大値が1,最小値が0となるように正規化した上で、重み付けをして評価値Pを算出することもできる。例えば、第3学習器213において、上述したように変化があった画素数を出力とする場合には、このような正規化を行うことで第1及び第2学習器211,212からの出力の範囲に合わせることができる。
 また、確率値が所定基準値よりも低い場合には、その動作候補を、動作指令として採用しないようにしてもよい。
 <2-3.制御装置の動作>
 次に、図10を参照しつつ、動作制御装置2におけるロボットの制御処理の例を説明する。図10は、動作制御装置の処理手順の一例を例示するフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 図10に示すように、まず、カメラ4によって撮影画像を取得する(ステップS101)。次に、取得した撮影画像及び動作候補を各学習器211~213に入力する(ステップS102)。続いて、各学習器211~213から動作候補及びその確率値を出力する(ステップS103)。これに続いて、評価部214において、出力された動作候補及び確率値に基づき、動作指令を生成する(ステップS104)。最後に、生成された動作指令をロボット1に送信し、ロボットハンド10を動作指令にしたがって駆動させる(ステップS105)。
 <3.特徴>
 以上のように、本実施形態によれば、一つの学習器を、すべての条件を考慮するように学習させるのではなく、条件が付加されたときには、その条件のみを考慮した学習器を追加で生成し、生成したすべての学習器211~213の出力を考慮して、評価部214において、動作指令を算出するようにしている。したがって、学習器の学習の負担を低減すことができる。
 <4.変形例>
 以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
 <1>
 上記実施形態では、学習器の数が3つであるが、学習器の数は、2以上あればよく、特には限定されない。また、第1学習器211の対象となる処理動作と、第2,第3学習器212,213の処理動作は、関連していればよい。例えば、上記実施形態の第1処理動作と第2処理動作のように、第1処理動作を制約するような処理動作が、第2処理動作となるように関連していてもよい。また、第1処理動作と第3処理動作のように、第1処理動作に起因して生じうる事象に関連する処理動作が第3処理動作となるように関連していてもよい。
 <2>
 上記実施形態では、第1~第3学習器211~213を設けたが、例えば、動作制御装置2が、第1学習器211と第3学習器213とを有するように構成されていてもよい。
 <3>
 上記実施形態では、各学習器211~213において、動作候補の成功確率を評価値として出力しているが、これに限定されない。すなわち、各動作候補の評価値としては、成功確率以外に、例えば、各動作候補に基づくロボットハンド10の移動先の座標とすることもでき、この座標によって、動作候補の評価を行うことができる。例えば、移動先の座標が対象部品50の座標に近ければ、評価値が高くなる。これ以外にも、種々の評価値を用いて、動作候補の評価を行い、これを学習器211~213から出力することができる。
 <4>
 各学習器211~213に入力する動作候補は、上記のようにランダムに選択する以外に種々の選択方法がある。例えば、動作制御装置2に、動作候補を生成する動作候補生成部を設ける。この動作候補生成部では、まず、評価値の所定の平均と分散を設定し、これらに基づいて、一定数の動作候補をサンプリングして、動作候補の集合を生成する。次に、学習器を用いて、集合内の各動作候補の評価値を出力し、評価値の高い順にランク付けを行う。続いて、集合内のランクの高い動作候補をいくつか選択し、その動作候補の評価値の平均と分散を算出する。そして、その平均と分散により、集合の平均と分散を更新する。これを繰り返すことで、評価値の高い動作候補を生成することができる。
 このほか、動作候補生成部は、ロボットハンド10の各動作に適合した複数の動作候補の集合を予め準備しておき、その中から、要求されるロボットハンド10の動作に応じて、動作候補の集合を適宜選択することができる。
 <5>
 上記の例では、ニューラルネットワーク7として、多層構造を有する一般的な順伝播型ニューラルネットワークを用いている。しかしながら、各ニューラルネットワーク7の種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各ニューラルネットワーク7は、入力層71及び中間層72を畳み込み層及びプーリング層として利用する畳み込みニューラルネットワークであってもよい。また、例えば、各ニューラルネットワーク7は、中間層72から入力層71等のように出力側から入力側に再帰する結合を有する再帰型ニューラルネットワークであってもよい。なお、各ニューラルネットワーク7の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、及び各ニューロンの伝達関数は、実施の形態に応じて適宜決定されてよい。
 <6>
 上記各学習器211~213の種類は、特には限定されず、ニューラルネットワーク以外に、例えば、サポートベクターマシン、自己組織化マップ、又は強化学習により学習を行う学習器とすることができる。あるいは、機械学習以外の他の手法を用いることができる。
 <7>
 上記実施形態では、ロボットの動作制御装置2について説明したが、この装置のように、付加的な条件が加えられるたびに、新たな学習器を生成し、複数の学習器の出力を評価する手法は、他の装置にも適用することができる。
 例えば、図11に示すような制御装置8に適用することができる。この制御装置8の基本構成は、上述したロボットの動作制御装置2と概ね同じである。但し、学習器に入力される情報は、画像に限られず、環境情報と称する種々の情報の入力が可能である。環境情報は、制御対象物に関連する情報であり、制御対象物の画像のほか、例えば、制御対象物の動作速度、制御対象物の位置などにすることができる。また、処理候補は、動作候補と対応するものであり、制御対象物に対する処理(制御)の候補である。
 例えば、この制御装置を自動車の衝突回避のための制御に適用することができる。この場合、入力の環境情報として、自動車に設けられるカメラ、レーダー等の計測器で得られる障害物との距離などの計測値、処理候補として、ステアリングとアクセルの操作量などが異なる複数の運転操作を用いることができる。そして、第1学習器211においては、これらの入力から、障害物との衝突確率を出力することができる。したがって、第1学習器211を用いることで、自動運転車の衝突確率が最小となるような運転操作を決定できる。
 しかし、単純に衝突確率を最小化するような運転操作は、急ハンドルや急制動を伴うことが考えられるため、乗員への負荷が大きいことが想定される。これに対して、各運転操作に対する乗員への負担度を出力する第2学習器212を生成する。そして、第1学習器211及び第2学習器212の出力から、評価部214において、衝突を回避しつつ乗員への負担が小さな運転操作を決定することができる。この場合、第1学習器211の対象は衝突であるから、必須条件ということができ、第2学習器212の対象は、それより優先度が低い推奨条件ということができる。したがって、第1学習器211の出力の重みは、第2学習器212の出力の重みよりも大きくなる。なお、学習器は3以上設けてもよい。
 <8>
 また、制御対象物の制御だけでなく、処理対象物に対する処理にも適用することができる。例えば、図12に示すような処理装置に適用することができる。この処理装置9の基本構成は、上述した制御装置8と概ね同じである。但し、学習器に入力される情報は、処理候補だけにすることができる。
 このような処理装置9は、例えば、画像検索システムに適用することができる。例えば、処理候補として、画像を入力し、第1学習器211により、入力された画像に人が写っている確率を出力することができる。これにより、人が写っている画像を検索することができる。また、第2学習器212にも処理候補として画像が入力されるが、第2学習器で212は、画像に写っている人が、ある年齢に属する確率を出力することができる。このような第1学習器211及び第2学習器212により、人が写っている写真を検索できるシステムに、人の属性による絞り込み機能を追加することが可能になる。
211 第1学習器
212 第2学習器
213 第3学習器
214 評価部

Claims (13)

  1.  処理対象物に対するロボットの動作制御装置であって、
     少なくとも前記処理対象物を撮影した撮影画像、及び前記ロボットの少なくとも一つの動作候補が入力される入力部と、
     前記撮影画像、及び少なくとも一つの前記動作候補を入力とし、前記ロボットが第1の処理動作を行うときの、前記各動作候補の評価を示す第1の評価値を出力するために、第1学習データにより学習された学習済みの第1の学習器と、
     前記撮影画像、及び少なくとも一つの前記動作候補を入力とし、前記ロボットが第2の処理動作を行うときの、前記各動作候補の評価を示す第2の評価値を出力するために、前記第1学習データとは異なる第2学習データにより、学習された学習済みの第2の学習器と、
     前記第1の評価値及び前記第2の評価値の少なくとも一方に基づいて、前記ロボットを動作させるための指令値を算出する評価部と、
    を備えている、動作制御装置。
  2.  前記第1の評価値は、当該第1の動作候補の成功確率を示す確率値であり、
     前記第2の評価値は、当該第2の動作候補の成功確率を示す確率値である、請求項1に記載の動作制御装置。
  3.  前記評価部は、前記各評価値が所定値以上の前記動作候補に基づいて、前記指令値を算出する、請求項1または2に記載の動作制御装置。
  4.  前記評価部は、前記第1の評価値及び第2の評価値に対し、前記各処理動作に基づく重み付けを行うことで、前記指令値を算出する、請求項1または2に記載の動作制御装置。
  5.  前記第2の評価値は、前記第1の処理動作及び第2の処理動作の少なくとも一方に起因して起こり得る事象の評価値である、請求項1から4のいずれかに記載の動作制御装置。
  6.  前記撮影画像、及び少なくとも一つの前記動作候補を入力とし、前記第1の処理動作及び第2の処理動作の少なくとも一方に起因して起こり得る事象を示す第3の評価値を出力とするように、前記第1及び第2学習データとは異なる第3学習データにより、学習された学習済みの第3の学習器をさらに備え、
     前記評価部は、前記第3の評価値も用いて、前記指令値を算出する、請求項1から4のいずれかに記載の動作制御装置。
  7.  前記撮影画像を入力とし、前記第1の処理動作に適した前記第1の動作候補、及び前記第2の処理動作に適した前記第2の動作候補を出力とする動作候補生成部をさらに備えている、請求項1から6のいずれかに記載の動作制御装置。
  8.  前記第1の処理動作及び前記第2の処理動作の動作候補は、前記ロボットが動作するための移動ベクトルを含む、請求項1から7のいずれかに記載の動作制御装置。
  9.  処理対象物に対して、処理を行うロボットと、
     請求項1から8のいずれかに記載の動作制御装置と、
    を備え、
     前記動作制御装置から算出された指令値により、前記ロボットが動作するように構成されている、ロボット制御システム。
  10.  処理対象物に対するロボットの動作制御方法であって、
     少なくとも前記処理対象物を撮影した撮影画像、及び前記ロボットの少なくとも一つの動作候補を入力するステップと、
     前記撮影画像、及び少なくとも一つの前記動作候補を入力とし、前記ロボットが第1の処理動作を行うときの、前記各動作候補の評価を示す第1の評価値を出力するために、第1学習データにより、学習された学習済みの第1の学習器を準備するステップと、
     前記撮影画像、及び少なくとも一つの前記動作候補を入力とし、前記ロボットが第2の処理動作を行うときの、前記各動作候補の評価を示す第2の評価値を出力するために、前記第1学習データとは異なる第2学習データにより、学習された学習済みの第2の学習器を準備するステップと、
     前記撮影画像及び前記動作候補から、前記第1の学習器によって、前記第1の評価値を出力するステップと、
     前記撮影画像及び前記動作候補から、前記第2の学習器によって、前記第2の評価値を出力するステップと、
     前記第1の評価値及び第2の評価値の少なくとも一方に基づいて、前記ロボットを動作させるための指令値を算出するステップと、
    を備えている、動作制御方法。
  11.  処理対象物に対するロボットの動作制御プログラムであって、
     コンピュータに、
     少なくとも前記処理対象物を撮影した撮影画像、及び前記ロボットの少なくとも一つの動作候補を入力するステップと、
     前記撮影画像、及び少なくとも一つの前記動作候補を入力とし、前記ロボットが第1の処理動作を行うときの、前記各動作候補の評価を示す第1の評価値を出力するために、第1学習データにより、学習された学習済みの第1の学習器を準備するステップと、
     前記撮影画像、及び少なくとも一つの前記動作候補を入力とし、前記ロボットが第2の処理動作を行うときの、前記各動作候補の評価を示す第2の評価値を出力するために、前記第1学習データとは異なる第2学習データにより、学習された学習済みの第2の学習器を準備するステップと、
     前記撮影画像及び前記動作候補から、前記第1の学習器によって、前記第1の評価値を出力するステップと、
     前記撮影画像及び前記動作候補から、前記第2の学習器によって、前記第2の評価値を出力するステップと、
     前記第1の評価値及び第2の評価値の少なくとも一方に基づいて、前記ロボットを動作させるための指令値を算出するステップと、
    を実行させる、動作制御プログラム。
  12.  制御対象物の制御装置であって、
     前記制御対象物に関連する環境情報、及び前記制御対象物に対する少なくとも一つの処理候補を入力する入力部と、
     前記環境情報、及び少なくとも一つの前記処理候補を入力とし、前記制御対象物に対し第1の処理を行うときの、前記各処理候補の評価を示す第1の評価値を出力するために、第1学習データにより、学習された学習済みの第1の学習器と、
     前記環境情報、及び少なくとも一つの前記処理候補を入力とし、前記制御対象物に対し第2の処理を行うときの、前記各処理候補の評価を示す第2の評価値を出力するために、前記第1学習データとは異なる第2学習データにより、学習された学習済みの第2の学習器と、
     前記第1の評価値及び前記第2の評価値の少なくとも一方に基づいて、前記制御対象物を制御するための指令値を算出する評価部と、
    を備えている、制御装置。
  13.  所定の処理を行う処理装置であって、
     少なくとも一つの処理候補を入力する入力部と、
     少なくとも一つの処理候補を入力とし、第1の処理を行うときの、前記各処理候補の評価を示す第1の評価値を出力するために、第1学習データにより、学習された学習済みの第1の学習器と、
     少なくとも一つの前記処理候補を入力とし、第2の処理を行うときの、前記各処理候補の評価を示す第2の評価値を出力するために、前記第1学習データとは異なる第2学習データにより、学習された学習済みの第2の学習器と、
     前記第1の評価値及び前記第2の評価値の少なくとも一方に基づいて、前記第1の処理及び前記第2の処理の少なくとも一方の処理候補を決定する評価部と、
    を備えている、処理装置。
PCT/JP2019/006183 2018-03-15 2019-02-20 ロボットの動作制御装置 WO2019176478A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP19766953.4A EP3766643A4 (en) 2018-03-15 2019-02-20 OPERATION CONTROL DEVICE FOR ROBOTS
US16/977,478 US11478926B2 (en) 2018-03-15 2019-02-20 Operation control device for robot, robot control system, operation control method, control device, processing device and recording medium
CN201980012028.8A CN111683799B (zh) 2018-03-15 2019-02-20 动作控制装置、系统、方法、存储介质、控制及处理装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-047704 2018-03-15
JP2018047704A JP6911798B2 (ja) 2018-03-15 2018-03-15 ロボットの動作制御装置

Publications (1)

Publication Number Publication Date
WO2019176478A1 true WO2019176478A1 (ja) 2019-09-19

Family

ID=67907709

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/006183 WO2019176478A1 (ja) 2018-03-15 2019-02-20 ロボットの動作制御装置

Country Status (5)

Country Link
US (1) US11478926B2 (ja)
EP (1) EP3766643A4 (ja)
JP (1) JP6911798B2 (ja)
CN (1) CN111683799B (ja)
WO (1) WO2019176478A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4260994A4 (en) * 2020-12-08 2024-10-09 Sony Group Corp LEARNING DEVICE, LEARNING SYSTEM, AND LEARNING METHOD

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7204513B2 (ja) * 2019-02-13 2023-01-16 株式会社東芝 制御装置及びプログラム
JP7378309B2 (ja) * 2020-02-10 2023-11-13 住友重機械工業株式会社 作業装置
JP7347252B2 (ja) * 2020-02-17 2023-09-20 株式会社デンソー 車両行動評価装置、車両行動評価方法、および車両行動評価プログラム
JP7234970B2 (ja) * 2020-02-17 2023-03-08 株式会社デンソー 車両行動生成装置、車両行動生成方法、および車両行動生成プログラム
US20240346798A1 (en) * 2021-09-15 2024-10-17 Yamaha Hatsudoki Kabushiki Kaisha Image processing device, component gripping system, image processing method and component gripping method
CN113829358B (zh) * 2021-11-01 2022-12-27 江苏昱博自动化设备有限公司 一种基于深度强化学习的机器人抓取多目标物的训练方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05101028A (ja) * 1991-10-04 1993-04-23 Nippon Telegr & Teleph Corp <Ntt> 複数特徴量の統合判定方法
JP2014240110A (ja) * 2013-06-12 2014-12-25 三菱電機株式会社 ビンピッキング性能評価装置及び方法
JP2017030135A (ja) * 2015-07-31 2017-02-09 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
JP2017097317A (ja) * 2015-11-18 2017-06-01 本田技研工業株式会社 識別装置、ロボットおよび識別方法
JP2017185578A (ja) 2016-04-05 2017-10-12 株式会社リコー 物体把持装置及び把持制御プログラム
JP2017185577A (ja) * 2016-04-04 2017-10-12 ファナック株式会社 シミュレーション結果を利用して学習を行う機械学習装置,機械システム,製造システムおよび機械学習方法
WO2018008503A1 (ja) * 2016-07-05 2018-01-11 株式会社日立製作所 制御装置
JP2018027581A (ja) * 2016-08-17 2018-02-22 株式会社安川電機 ピッキングシステム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006139185A (ja) * 2004-11-15 2006-06-01 Nippon Telegr & Teleph Corp <Ntt> 音声認識方法、この方法を実施する装置、プログラムおよびその記録媒体
FI20105732A0 (fi) 2010-06-24 2010-06-24 Zenrobotics Oy Menetelmä fyysisten kappaleiden valitsemiseksi robottijärjestelmässä
JP5754306B2 (ja) * 2011-09-01 2015-07-29 富士ゼロックス株式会社 画像識別情報付与プログラム及び画像識別情報付与装置
US10518409B2 (en) * 2014-09-02 2019-12-31 Mark Oleynik Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with electronic minimanipulation libraries
US9630318B2 (en) 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
US11049045B2 (en) * 2015-11-18 2021-06-29 Honda Motor Co., Ltd. Classification apparatus, robot, and classification method
CN109074513B (zh) 2016-03-03 2020-02-18 谷歌有限责任公司 用于机器人抓握的深度机器学习方法和装置
CN109643431A (zh) * 2016-09-07 2019-04-16 博世株式会社 信息处理装置和信息处理系统
EP3523758B1 (en) * 2016-10-10 2024-10-02 DeepMind Technologies Limited Neural networks for selecting actions to be performed by a robotic agent
JP6453922B2 (ja) * 2017-02-06 2019-01-16 ファナック株式会社 ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法
JP6951659B2 (ja) * 2017-05-09 2021-10-20 オムロン株式会社 タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法
JP6546618B2 (ja) * 2017-05-31 2019-07-17 株式会社Preferred Networks 学習装置、学習方法、学習モデル、検出装置及び把持システム
CN107688856B (zh) * 2017-07-24 2020-11-06 清华大学 基于深度强化学习的室内机器人场景主动识别方法
JP6579498B2 (ja) * 2017-10-20 2019-09-25 株式会社安川電機 自動化装置及び位置検出装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05101028A (ja) * 1991-10-04 1993-04-23 Nippon Telegr & Teleph Corp <Ntt> 複数特徴量の統合判定方法
JP2014240110A (ja) * 2013-06-12 2014-12-25 三菱電機株式会社 ビンピッキング性能評価装置及び方法
JP2017030135A (ja) * 2015-07-31 2017-02-09 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
JP2017097317A (ja) * 2015-11-18 2017-06-01 本田技研工業株式会社 識別装置、ロボットおよび識別方法
JP2017185577A (ja) * 2016-04-04 2017-10-12 ファナック株式会社 シミュレーション結果を利用して学習を行う機械学習装置,機械システム,製造システムおよび機械学習方法
JP2017185578A (ja) 2016-04-05 2017-10-12 株式会社リコー 物体把持装置及び把持制御プログラム
WO2018008503A1 (ja) * 2016-07-05 2018-01-11 株式会社日立製作所 制御装置
JP2018027581A (ja) * 2016-08-17 2018-02-22 株式会社安川電機 ピッキングシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3766643A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4260994A4 (en) * 2020-12-08 2024-10-09 Sony Group Corp LEARNING DEVICE, LEARNING SYSTEM, AND LEARNING METHOD

Also Published As

Publication number Publication date
US11478926B2 (en) 2022-10-25
EP3766643A1 (en) 2021-01-20
US20210053214A1 (en) 2021-02-25
JP2019155561A (ja) 2019-09-19
JP6911798B2 (ja) 2021-07-28
CN111683799B (zh) 2024-01-12
CN111683799A (zh) 2020-09-18
EP3766643A4 (en) 2022-01-12

Similar Documents

Publication Publication Date Title
WO2019176478A1 (ja) ロボットの動作制御装置
CN108873768B (zh) 任务执行系统及方法、学习装置及方法、以及记录介质
JP7517225B2 (ja) 軌道生成システム、軌道生成方法及びプログラム
WO2020110505A1 (ja) 画像生成装置、ロボット訓練システム、画像生成方法、及び画像生成プログラム
Zhang et al. Sim2real learning of obstacle avoidance for robotic manipulators in uncertain environments
CN111699080B (zh) 机器人的控制装置、系统、方法、存储介质及处理装置
US11062141B2 (en) Methods and apparatuses for future trajectory forecast
EP3929814A1 (en) Making time-series predictions using a trained decoder model
CN115351780A (zh) 用于控制机器人设备的方法
CN112965487B (zh) 基于策略迭代的移动机器人轨迹跟踪控制方法
CN117295589A (zh) 在训练和细化机器人控制策略中使用模仿学习的系统和方法
Baxter et al. Deep prediction of swept volume geometries: Robots and resolutions
JP7468619B2 (ja) 学習装置、学習方法、及び、記録媒体
Tran et al. Predicting sample collision with neural networks
Xu et al. Deep reinforcement learning for parameter tuning of robot visual servoing
Cuan et al. Gesture2path: Imitation learning for gesture-aware navigation
Lee et al. UaMPNet: Uncertainty-aware Motion Planning Network for Manipulator Motion Planning
Zheng et al. Deep Visual-guided and Deep Reinforcement Learning Algorithm Based for Multip-Peg-in-Hole Assembly Task of Power Distribution Live-line Operation Robot
US20240330651A1 (en) Discovering interpretable dynamically evolving relations (dider)
US20230316734A1 (en) Pose fusion estimation
US20230141855A1 (en) Device and method for controlling a robot device
US20240377823A1 (en) Game theoric path planning for social navigation
JP7575007B2 (ja) 手先負荷推定装置、ロボット制御システムおよびロボットシステム
US20240371022A1 (en) Systems and methods for visuotactile object pose estimation with shape completion
US20240094736A1 (en) Robot navigation in dependence on gesture(s) of human(s) in environment with robot

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: 19766953

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2019766953

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2019766953

Country of ref document: EP

Effective date: 20201015