WO2019239562A1 - 機械学習装置及びこれを備えたロボットシステム - Google Patents

機械学習装置及びこれを備えたロボットシステム Download PDF

Info

Publication number
WO2019239562A1
WO2019239562A1 PCT/JP2018/022807 JP2018022807W WO2019239562A1 WO 2019239562 A1 WO2019239562 A1 WO 2019239562A1 JP 2018022807 W JP2018022807 W JP 2018022807W WO 2019239562 A1 WO2019239562 A1 WO 2019239562A1
Authority
WO
WIPO (PCT)
Prior art keywords
workpiece
robot
unit
container
behavior
Prior art date
Application number
PCT/JP2018/022807
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 CN201880093236.0A priority Critical patent/CN112135719B/zh
Priority to PCT/JP2018/022807 priority patent/WO2019239562A1/ja
Priority to JP2020525043A priority patent/JP7008136B2/ja
Priority to DE112018007729.2T priority patent/DE112018007729B4/de
Priority to US17/053,466 priority patent/US11945115B2/en
Publication of WO2019239562A1 publication Critical patent/WO2019239562A1/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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip 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
    • 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 machine learning device that learns the operation of a robot that takes out workpieces in a stacked state, and a robot system including the machine learning device.
  • a robot system for taking out a workpiece by a robot having a hand unit As a system for taking out a workpiece from a container that accommodates a plurality of workpieces in a stacked state, a robot system for taking out a workpiece by a robot having a hand unit is known (see Patent Document 1).
  • the robot system disclosed in Patent Document 1 includes a machine learning device that learns a robot take-out operation. When the machine learning device takes out the workpiece from the container based on the teacher data that associates the movement of the robot corresponding to the three-dimensional map of the workpiece measured by the three-dimensional measuring instrument and the determination result of the success or failure of the workpiece removal. Learning the behavior of robots.
  • the learning using the teacher data including the determination result of the success / failure of the workpiece removal is learning the optimum robot removal operation. That is, even if the removal of one workpiece from the container by the robot hand unit is successful, the removal operation may affect other workpieces in the container. For example, when taking out one work from a container, the hand part or one work held by the hand part may cause an impact force to act on another work. Alternatively, when one work is taken out, another work may be destroyed. As described above, when an operation of taking out one workpiece affects other workpieces in the container, the workpiece may be damaged.
  • the present invention has been made in view of such circumstances, and its purpose is to learn the optimal operation of the robot when taking out a workpiece from a container that accommodates a plurality of workpieces stacked in bulk.
  • An object of the present invention is to provide a machine learning device that can be used, and a robot system including the same.
  • a machine learning device is a device that learns the operation of a robot including a hand unit that takes out the workpiece from a container that accommodates a plurality of workpieces stacked in bulk.
  • the machine learning device outputs the robot from the behavior observation unit that observes the behavior pattern of the robot and the imaging device that images the inside of the container in the take-out operation of taking out one workpiece from the container by the hand unit. Based on the respective image data before and after the take-out operation, the amount of displacement of the other work other than the one work in the container when the one work in the container is taken out by the hand unit.
  • the workpiece when the hand unit takes out the one workpiece from the container based on teacher data that associates the behavior pattern and the workpiece displacement amount with a displacement amount observation unit that observes the workpiece displacement amount representing A learning unit that learns the degree of influence on the other workpiece according to the amount of displacement in association with the behavior pattern.
  • a robot system includes a robot having a hand unit that takes out the workpiece from a container that accommodates a plurality of workpieces in a stacked state, and images the inside of the container to output image data. Based on the learning results of the machine learning device and the machine learning device, which learns the robot's take-out operation when taking out the workpiece from the container by the hand unit based on the imaging device and the image data And a control device for controlling the operation of the robot.
  • FIG. 1 is a block diagram showing a configuration of a robot system 1 according to an embodiment of the present invention.
  • the robot system 1 includes a robot 2, an imaging device 3, a control device 4, and a machine learning device 5.
  • the machine learning device 5 learns the operation of the robot 2 based on the image data output from the imaging device 3, and the control device 4 controls the operation of the robot 2 based on the learning result.
  • FIG. 2 is a diagram illustrating an example of the robot 2 provided in the robot system 1.
  • the robot 2 is a robot for taking out the workpiece W from a container CN that accommodates a plurality of workpieces W in a stacked state.
  • the container CN is formed in a bottomed cylindrical shape whose upper side is open. The robot 2 takes out the workpiece W through the opening on the upper side of the container CN.
  • the robot 2 is not particularly limited as long as it is a robot having a hand unit that can take out the workpiece W from the container CN.
  • the robot 2 is a vertical multi-joint robot, a horizontal multi-joint robot, or a double-arm type multi-robot.
  • An articulated robot can be employed.
  • the configuration of the robot 2 will be described using the 6-axis vertical articulated robot shown in FIG. 2 as an example. Note that the number of axes in the vertical articulated robot is not limited to six, and may be any number of axes.
  • the robot 2 includes a base part 21, a body part 22, a first arm 23, a second arm 24, a wrist part 25, and a hand part 26.
  • the base unit 21 is a box that is fixedly installed on a floor, a stand or the like and accommodates a drive motor or the like (not shown) inside.
  • the body portion 22 is disposed on the upper surface of the base portion 21 so as to be rotatable in both forward and reverse directions around the first axis 2A extending in the vertical direction (vertical direction).
  • the first arm 23 is an arm member having a predetermined length, and one end portion in the longitudinal direction thereof is attached to the trunk portion 22 via a second shaft 2B extending in the horizontal direction. The first arm 23 can rotate in both forward and reverse directions around the second axis 2B.
  • the second arm 24 includes an arm base 241 and an arm portion 242.
  • the arm base 241 is a base portion of the second arm 24, and is attached to the other end portion in the longitudinal direction of the first arm 23 via a third shaft 2C extending parallel to the second shaft 2B and extending in the horizontal direction. Yes.
  • the arm base 241 can rotate in both forward and reverse directions around the third axis 2C.
  • the arm portion 242 is an arm member having a predetermined length, and one end portion in the longitudinal direction thereof is attached to the arm base 241 via a fourth shaft 2D perpendicular to the third shaft 2C.
  • the arm portion 242 can rotate in both forward and reverse directions around the fourth axis 2D.
  • the wrist portion 25 is attached to the other end portion in the longitudinal direction of the arm portion 242 via a fifth shaft 2E that extends parallel to the second shaft 2B and the third shaft 2C and extends in the horizontal direction.
  • the wrist portion 25 can rotate in both forward and reverse directions around the fifth axis 2E.
  • the hand part 26 is a part for taking out the workpiece W from the container CN in the robot 2, and is attached to the wrist part 25 via a sixth axis 2F perpendicular to the fifth axis 2E.
  • the hand part 26 can rotate in both forward and reverse directions around the sixth axis 2F.
  • the hand part 26 is not particularly limited as long as it can hold the workpiece W in the container CN.
  • the hand part 26 may have a structure including a plurality of claw parts that hold and hold the workpiece W.
  • work W may be sufficient.
  • the hand portion 26 has a structure including a plurality of claw portions, and takes out the workpiece W by gripping the workpiece W in the container CN.
  • the imaging device 3 captures the inside of the container CN from above so that all of the plurality of works W accommodated in the container CN are within the field of view, and outputs image data including position information of the work W It is.
  • the imaging device 3 is a three-dimensional measuring instrument such as a three-dimensional visual sensor including a camera 31 and an image processing unit 32 as shown in FIG.
  • the camera 31 captures an image of the inside of the container CN from above, and acquires an image including each image area of the plurality of workpieces W accommodated in the container CN.
  • the image processing unit 32 generates image data including three-dimensional position information of each workpiece W by performing image processing on the image acquired by the camera 31.
  • the three-dimensional position information of each workpiece is represented by, for example, coordinate values (X, Y, Z) using an XYZ orthogonal coordinate system.
  • the XYZ orthogonal coordinate system is a coordinate system in which coordinate axes are arranged such that a plane including the X axis and the Y axis (XY plane) is horizontal and the Z axis is perpendicular to the XY plane.
  • the image data output from the imaging device 3 is input to the displacement amount observation unit 63 and the action determination unit 71 provided in the machine learning device 5 described later.
  • control device 4 controls the operation of the robot 2 and the operation of the imaging device 3.
  • the control device 4 controls the operations of both the robot 2 and the imaging device 3 based on information generated by an action determination unit 71 and a rank setting unit 72 provided in the machine learning device 5 described later.
  • the machine learning device 5 performs a learning processing unit 6 that executes a learning process for learning (machine learning) the operation of the robot 2 and a learning reflection process that reflects the learning result as the operation of the robot 2. And a learning reflection processing unit 7 to be executed.
  • the learning method executed by the machine learning device 5 is not particularly limited, and for example, “supervised learning”, “unsupervised learning”, “reinforcement learning”, and the like can be employed.
  • a Q learning method as reinforcement learning is employed as a learning method in the machine learning device 5.
  • Q-learning is a method of learning a high-value behavior that rewards the behavior of the robot 2 when the continuous motion of the robot 2 is divided into a plurality of states and the states are sequentially shifted.
  • Q learning as reinforcement learning executed by the machine learning device 5 can be realized by using, for example, a neural network.
  • a neural network has a configuration that mimics the structure of a human brain, and is configured by stacking multiple logic circuits that mimic the function of neurons (neurons) in the human brain.
  • the learning processing unit 6 is a part that executes a learning process for learning the operation of the robot 2, and includes a state observation unit 61, a behavior observation unit 62, a displacement amount observation unit 63, and a learning unit 64.
  • FIG. 3 is a diagram for explaining the operation of the state observation unit 61.
  • FIG. 3 shows a state in which the robot 2 and the container CN are viewed from above, and three works W1, W2, and W3 are stacked in the container CN.
  • the robot 2 performs a continuous operation of taking out one work W3 from the container CN by the hand unit 26 and placing the taken work W3 on the pallet PL.
  • the state observation unit 61 divides the continuous operation of the robot 2 into a plurality of states, and observes the state of the robot 2.
  • the number of states of the robot 2 observed by the state observation unit 61 is not particularly limited, but FIG. 3 shows four states of state S1, state S2, state S3, and state S4.
  • state S1 the postures of the trunk portion 22, the first arm 23, the second arm 24, the wrist portion 25, and the hand portion 26 are set so that the hand portion 26 of the robot 2 is disposed at a predetermined position above the pallet PL.
  • the state of the adjusted robot 2 is shown.
  • State S2 is a state immediately before gripping the workpiece W3 to be gripped in the container CN by the hand unit 26, and the body portion 26 is arranged so that the hand unit 26 is disposed at a predetermined position directly above the workpiece W3.
  • State S4 is a robot in which the postures of the body portion 22, the first arm 23, the second arm 24, the wrist portion 25, and the hand portion 26 are adjusted so that the work W3 gripped by the hand portion 26 is placed on the pallet PL. 2 state.
  • the robot 2 continuously moves the state in the order of the state S1, the state S2, the state S3, and the state S4, thereby taking out one workpiece W3 from the container CN by the hand unit 26, and putting the removed workpiece W3 on the pallet PL. Place.
  • the state of the robot 2 is defined by state variables ( ⁇ X, ⁇ Y, ⁇ Z, p).
  • the state variables ( ⁇ X, ⁇ Y, ⁇ Z, p) are variables that change every time the state of the robot 2 is changed.
  • the X coordinate value related to the position in the container CN of the work W3 to be gripped by the hand unit 26 is used as a reference value (hereinafter referred to as “X reference value”).
  • the X coordinate value (hereinafter referred to as “hand X value”) related to the position of the hand unit 26 represents a difference from the X reference value.
  • the Y coordinate value related to the position in the container CN of the work W3 to be gripped by the hand unit 26 is used as a reference value (hereinafter referred to as “Y reference value”).
  • the difference between the Y reference value of the Y coordinate value (hereinafter referred to as “hand Y value”) related to the position of the hand unit 26 is expressed.
  • the Z coordinate value related to the position in the container CN of the work W3 to be gripped by the hand unit 26 is used as a reference value (hereinafter referred to as “Z reference value”).
  • Z reference value This represents a difference of the Z coordinate value (hereinafter referred to as “hand Z value”) regarding the position of the hand unit 26 with respect to the Z reference value.
  • the state variable “p” indicates whether or not the hand unit 26 is holding the workpiece W3.
  • the state variable “p” is set to “1” when the hand unit 26 is holding the workpiece W3, and is set to “0: zero” when the hand unit 26 is not holding the workpiece W3. .
  • the hand unit 26 When the state of the robot 2 is the state S1, the hand unit 26 is separated from the container CN in the axial directions of the coordinate axes of the X axis, the Y axis, and the Z axis, and does not hold the workpiece W3. Therefore, in the state variables ( ⁇ X, ⁇ Y, ⁇ Z, p) that define the state S1 of the robot 2, “ ⁇ X”, “ ⁇ Y”, and “ ⁇ Z” have predetermined values “XA”, “YA”, and “ “ZA”, and "p" indicates "0: zero".
  • the hand unit 26 When the state of the robot 2 is the state S2, the hand unit 26 is not separated in the X-axis and Y-axis directions with respect to the container CN but is separated in the Z-axis direction. Not grasped. Therefore, in the state variables ( ⁇ X, ⁇ Y, ⁇ Z, p) that define the state S2 of the robot 2, “ ⁇ X” and “ ⁇ Y” each indicate “0; zero”, and “ ⁇ Z” is a predetermined value “ ZA ", and” p "indicates” 0; zero ".
  • the hand unit 26 When the state of the robot 2 is the state S3, the hand unit 26 is not separated from the container CN in the axial directions of the X-axis, Y-axis, and Z-axis coordinate axes, and holds the workpiece W3. Yes. Therefore, in the state variables ( ⁇ X, ⁇ Y, ⁇ Z, p) that define the state S3 of the robot 2, “ ⁇ X”, “ ⁇ Y”, and “ ⁇ Z” each indicate “0; zero”, and “p” “1” is shown.
  • the hand unit 26 When the state of the robot 2 is the state S4, the hand unit 26 is separated from the container CN in the axial directions of the coordinate axes of the X axis, the Y axis, and the Z axis, and holds the workpiece W3. Therefore, in the state variables ( ⁇ X, ⁇ Y, ⁇ Z, p) that define the state S4 of the robot 2, “ ⁇ X”, “ ⁇ Y”, and “ ⁇ Z” have predetermined values “XA”, “YA”, and “YA”, respectively. "ZA”, and "p" indicates "1".
  • the state observation unit 61 determines whether the state of the robot 2 is the state S1, the state S2, the state S3, or the state S4. It is possible to recognize which state.
  • the state of the robot 2 is any one of the state S1, the state S2, and the state S3, the posture of the trunk unit 22, the first arm 23, the second arm 24, the wrist unit 25, the hand unit 26, and the like Due to the difference, there are a plurality of sub-states.
  • the state observation unit 61 also observes the sub state.
  • the state S4 indicating the final target state of the robot 2 in which the work W3 gripped by the hand unit 26 is placed on the pallet PL, there are no sub-states such as the state S1, the state S2, and the state S3.
  • the behavior observation unit 62 observes the behavior pattern of the robot 2 when the state of the robot 2 is changed. More specifically, the behavior observing unit 62 regards the behavior pattern of the robot 2, the behavior pattern when the state of the robot 2 is shifted from the state S1 to the state S2, the behavior pattern when the state is shifted from the state S2 to the state S3, The behavior pattern when the state S3 is shifted to the state S4 is observed. There are a plurality of action patterns that the robot 2 can take when the state is shifted, depending on the number of sub-states in each of the states S1, S2, and S3 (action A1, action A2,... Action An). In addition, when the state of the robot 2 is shifted from the state S2 to the state S3, the hand unit 26 performs an operation of taking out one workpiece W from the container CN.
  • the behavior elements that define the behavior pattern of the robot 2 observed by the behavior observation unit 62 include the grip angle ⁇ , the grip position HP, the rotation angle ⁇ 1 and the rotation speed pattern on the first axis 2A, and the second pattern shown in FIG.
  • the rotation angle ⁇ 6 and the rotation speed pattern in the sixth axis 2F are included.
  • the number of axes is not limited to six, but is arbitrary. For this reason, the rotation angle and the rotation speed pattern in each axis included in the action element that defines the action pattern of the robot 2 are in accordance with the number of axes.
  • the grip angle ⁇ is an angle formed by two claw portions for gripping the workpiece W in the hand portion 26 (see FIG. 2).
  • the gripping position HP represents a position at which the one workpiece W is gripped when the hand unit 26 takes out the one workpiece W.
  • the rotation angle ⁇ 1 on the first axis 2A represents the rotation angle around the first axis 2A of the body 22 when the state of the robot 2 is shifted. Since the barrel 22 can rotate in both forward and reverse directions around the first axis 2A, the rotation angle ⁇ 1 is indicated by a “positive; plus” rotation angle when the barrel 22 rotates in the forward direction. When the lens rotates in the reverse direction, it is indicated by a rotation angle of “negative; minus”.
  • the rotation angle ⁇ 2 on the second axis 2B represents the rotation angle around the second axis 2B of the first arm 23 when the state of the robot 2 is shifted. Since the first arm 23 can rotate in both forward and reverse directions around the second axis 2B, the rotation angle ⁇ 2 is indicated by a “positive; plus” rotation angle when the first arm 23 rotates in the forward direction. When one arm 23 rotates in the opposite direction, it is indicated by a rotation angle of “negative; minus”.
  • the rotation angle ⁇ 3 on the third axis 2C represents the rotation angle around the third axis 2C of the arm base 241 when the state of the robot 2 is shifted.
  • the rotation angle ⁇ 3 is indicated by a “positive; plus” rotation angle when the arm base 241 rotates in the forward direction.
  • the lens rotates in the reverse direction it is indicated by a rotation angle of “negative; minus”.
  • the rotation angle ⁇ 4 on the fourth axis 2D represents the rotation angle around the fourth axis 2D of the arm unit 242 when the state of the robot 2 is shifted. Since the arm portion 242 can rotate in both forward and reverse directions around the fourth axis 2D, the rotation angle ⁇ 4 is indicated by a “positive; plus” rotation angle when the arm portion 242 rotates in the forward direction. When the lens rotates in the reverse direction, it is indicated by a rotation angle of “negative; minus”.
  • a rotation angle ⁇ 5 on the fifth axis 2E represents a rotation angle around the fifth axis 2E of the wrist 25 when the state of the robot 2 is shifted.
  • the rotation angle ⁇ 5 is indicated by a “positive; plus” rotation angle when the wrist portion 25 rotates in the forward direction.
  • the rotation angle ⁇ 6 on the sixth axis 2F represents the rotation angle around the sixth axis 2F of the hand unit 26 when the state of the robot 2 is shifted. Since the hand portion 26 can rotate in both forward and reverse directions around the sixth axis 2F, the rotation angle ⁇ 6 is indicated by a “positive; plus” rotation angle when the hand portion 26 rotates in the forward direction. When the lens rotates in the reverse direction, it is indicated by a rotation angle of “negative; minus”.
  • Rotational speed patterns on the respective axes 2A to 2F represent rotational speed patterns around the respective axes, and are divided into a first pattern, a second pattern, and a third pattern shown in FIG.
  • the first pattern of the rotational speed includes two ascending regions in which the rotational speed increases linearly with the passage of time, and a descending region in which the rotational speed decreases linearly with the passage of time from the end of the upward region. It consists of two areas.
  • the second pattern of the rotational speed includes an ascending region where the rotational speed increases linearly with the passage of time, a constant velocity region where the rotational speed is constant at a constant time from the end of the ascending region, and a constant speed.
  • the third pattern of the rotational speed includes two ascending areas in which the rotational speed rises in a curve with time and a descending area in which the rotational speed falls in a curve with time from the end of the ascending area. It consists of two areas.
  • the behavior observation unit 62 can recognize a behavior pattern when the state of the robot 2 is shifted based on each behavior element.
  • FIG. 6 is a diagram for explaining the operation of the displacement amount observation unit 63.
  • the displacement amount observation unit 63 is a work piece when the state of the robot 2 is shifted from the state S2 to the state S3, that is, when an operation of taking out one work W in the container CN by the hand unit 26 is performed. Observe the displacement.
  • the workpiece displacement amount represents the displacement amount in the container CN of another workpiece W other than the one workpiece taken out by the hand unit 26.
  • the displacement amount observation unit 63 observes the workpiece displacement amount of the other workpieces W based on the image data output from the imaging device 3 before and after the take-out operation of the robot 2.
  • the reference image GS is acquired by the imaging operation of the camera 31 in the imaging device 3 before the robot 2 is taken out, and the reference image data GDS is generated by the image processing on the reference image GS of the image processing unit 32.
  • the reference image GS includes an image area GW1 corresponding to the work W1, an image area GW2 corresponding to the work W2, and a work W3 for the three works W1, W2, and W3 accommodated in the container CN in a stacked state.
  • a corresponding image area GW3 is included.
  • the reference image data GDS includes information related to coordinate values (X1, Y1, Z1) as the three-dimensional position information of the work W1, and coordinate values (X2, Y2, Z2) as three-dimensional position information of the work W2. Information and information on the coordinate values (X3, Y3, Z3) as the three-dimensional position information of the workpiece W3 are included.
  • the first image G1, the second image G2, and the third image G3 are acquired by the imaging operation of the camera 31 in the imaging device 3, and the image processing unit 32
  • the first image data GD1, the second image data GD2, and the third image data GD3 are generated by image processing on the images G1, G2, and G3, respectively.
  • the first image G1 and 1st image data GD1 have shown the image and image data after the workpiece
  • the first image G1 includes an image area GW1 corresponding to the work W1 and an image area GW2 corresponding to the work W2 for the works W1 and W2 after the work W3 is taken out by the behavior pattern A1.
  • information on coordinate values (X11, Y11, Z11) as the three-dimensional position information of the work W1 and coordinate values (X21, Y21, Z21) as the three-dimensional position information of the work W2 are included. And information about.
  • 2nd image G2 and 2nd image data GD2 have shown the image and image data after the workpiece
  • the second image G2 includes an image area GW1 corresponding to the work W1 and an image area GW2 corresponding to the work W2 for the works W1 and W2 after the work W3 is taken out by the behavior pattern A2.
  • information on coordinate values (X12, Y12, Z12) as the three-dimensional position information of the work W1 and coordinate values (X22, Y22, Z22) as the three-dimensional position information of the work W2 are included. And information about.
  • 3rd image G3 and 3rd image data GD3 have shown the image and image data after the workpiece
  • FIG. The third image G3 includes an image area GW1 corresponding to the work W1 and an image area GW3 corresponding to the work W3 for the works W1 and W3 after the work W2 is taken out by the behavior pattern A3. Further, in the third image data GD3, information on coordinate values (X13, Y13, Z13) as the three-dimensional position information of the work W1, and coordinate values (X33, Y33, Z33) as the three-dimensional position information of the work W3 are included. And information about.
  • “XD11” is the X coordinate value “X1” in the three-dimensional position information of the workpiece W1 included in the reference image data GDS and the three-dimensional position information of the workpiece W1 included in the first image data GD1.
  • the difference from the X coordinate value “X11” is shown.
  • “YD11” is the Y coordinate value “Y1” in the three-dimensional position information of the workpiece W1 included in the reference image data GDS and the three-dimensional of the workpiece W1 included in the first image data GD1.
  • the difference from the Y coordinate value “Y11” in the position information is shown.
  • ZD11 is the Z coordinate value “Z1” in the three-dimensional position information of the workpiece W1 included in the reference image data GDS and the three-dimensional of the workpiece W1 included in the first image data GD1. The difference from the Z coordinate value “Z11” in the position information is shown.
  • “XD21” in the workpiece displacement amount of the workpiece W2 is the X coordinate value “X2” in the three-dimensional position information of the workpiece W2 included in the reference image data GDS and the tertiary of the workpiece W2 included in the first image data GD1. The difference from the X coordinate value “X21” in the original position information is shown.
  • “YD21” is the Y coordinate value “Y2” in the three-dimensional position information of the workpiece W2 included in the reference image data GDS and the three-dimensional of the workpiece W2 included in the first image data GD1. The difference from the Y coordinate value “Y21” in the position information is shown.
  • ZD21 is the Z coordinate value “Z2” in the three-dimensional position information of the workpiece W2 included in the reference image data GDS, and the three-dimensional of the workpiece W2 included in the first image data GD1. The difference from the Z coordinate value “Z21” in the position information is shown.
  • each value of the workpiece displacement amount (XD11, YD11, ZD11) of the workpiece W1 included in the first workpiece displacement amount WD1 observed by the displacement amount observation unit 63 and the workpiece displacement amount (XD21, YD21, Each value of ZD21) indicates a value close to “0; zero”.
  • the displacement amount observation unit 63 calculates the displacement amount of the workpieces W1 and W2 in the container CN when the workpiece W3 is taken out by the behavior pattern A2 based on the reference image data GDS and the second image data GD2.
  • a second workpiece displacement amount WD2 is observed.
  • the second workpiece displacement amount WD2 includes a workpiece displacement amount (XD12, YD12, ZD12) of the workpiece W1 and a workpiece displacement amount (XD22, YD22, ZD22) of the workpiece W2.
  • ZD12 is the Z coordinate value “Z1” in the three-dimensional position information of the workpiece W1 included in the reference image data GDS and the three-dimensional of the workpiece W1 included in the second image data GD2. The difference from the Z coordinate value “Z12” in the position information is shown.
  • XD22 is the X coordinate value “X2” in the three-dimensional position information of the workpiece W2 included in the reference image data GDS and the tertiary of the workpiece W2 included in the second image data GD2.
  • the difference from the X coordinate value “X22” in the original position information is shown.
  • YD22 is the Y coordinate value “Y2” in the three-dimensional position information of the workpiece W2 included in the reference image data GDS and the three-dimensional of the workpiece W2 included in the second image data GD2.
  • the difference from the Y coordinate value “Y22” in the position information is shown.
  • each value of the workpiece displacement amount (XD12, YD11, ZD11) of the workpiece W1 included in the second workpiece displacement amount WD2 observed by the displacement amount observation unit 63 is a value close to “0; zero”.
  • Each value of the workpiece displacement amount (XD22, YD22, ZD22) of the workpiece W2 indicates a value corresponding to the displacement of the workpiece W2.
  • the displacement amount observation unit 63 calculates the displacement amount of the workpieces W1 and W3 in the container CN when the workpiece W2 is taken out by the behavior pattern A3 based on the reference image data GDS and the third image data GD3.
  • a third workpiece displacement amount WD3 represented is observed.
  • the third workpiece displacement amount WD3 includes a workpiece displacement amount (XD13, YD13, ZD13) of the workpiece W1 and a workpiece displacement amount (XD33, YD33, ZD33) of the workpiece W3.
  • ZD13 is the Z coordinate value “Z1” in the three-dimensional position information of the workpiece W1 included in the reference image data GDS, and the three-dimensional of the workpiece W1 included in the third image data GD3. The difference from the Z coordinate value “Z13” in the position information is shown.
  • “XD33” is the X coordinate value “X3” in the three-dimensional position information of the workpiece W2 included in the reference image data GDS and the tertiary of the workpiece W3 included in the third image data GD3.
  • the difference from the X coordinate value “X33” in the original position information is shown.
  • “YD33” is the Y coordinate value “Y3” in the three-dimensional position information of the workpiece W3 included in the reference image data GDS and the three-dimensional of the workpiece W3 included in the third image data GD3.
  • the difference from the Y coordinate value “Y33” in the position information is shown.
  • ZD33 is the Z coordinate value “Z3” in the three-dimensional position information of the workpiece W3 included in the reference image data GDS, and the three-dimensional of the workpiece W3 included in the third image data GD3. The difference from the Z coordinate value “Z33” in the position information is shown.
  • each value of the workpiece displacement amount (XD13, YD13, ZD13) of the workpiece W1 included in the third workpiece displacement amount WD3 observed by the displacement amount observation unit 63 is a value close to “0; zero”.
  • Each value of the workpiece displacement amount (XD33, YD33, ZD33) of the workpiece W3 indicates a value corresponding to the displacement of the workpiece W3.
  • FIG. 7 is a diagram for explaining the operation of the learning unit 64.
  • the learning unit 64 learns the optimal behavior pattern of the robot 2 when the state of the robot 2 is shifted. That is, the learning unit 64 determines the optimal behavior pattern of the robot 2 when the state of the robot 2 is shifted from the state S1 to the state S2, and the optimal behavior pattern of the robot 2 when the state is shifted from the state S2 to the state S3. And the optimal behavior pattern of the robot 2 when the state is shifted from the state S3 to the state S4.
  • the optimal behavior pattern of the robot 2 when the state of the robot 2 is changed from the state S1 to the state S2 and when the state of the robot 2 is changed from the state S3 to the state S4 is already described.
  • the learning unit 64 uses the behavior observation unit 62 to determine the degree of influence on another workpiece W according to the workpiece displacement amount observed by the displacement amount observation unit 63 when the hand unit 26 takes out one workpiece W from the container CN. Learning is performed in association with the behavior pattern of the robot 2 observed by the above.
  • the learning unit 64 learns the degree of influence on another work W when one work W is taken out based on the teacher data TD that associates the behavior pattern of the robot 2 with the work displacement amount.
  • the teacher data TD is associated with the behavior pattern A1 and the first workpiece displacement amount WD1 described with reference to FIG. 6, and the behavior pattern A2 and the second workpiece displacement amount WD2 are associated with each other. This is data in which the action pattern A3 and the third workpiece displacement amount WD3 are associated with each other.
  • the learning unit 64 includes a reward setting unit 641 and a value function updating unit 642.
  • the reward setting unit 641 sets an impact level IM on another workpiece W according to the workpiece displacement amount with respect to the behavior pattern at the time of taking out one workpiece W of the robot 2 observed by the behavior observation unit 62, A reward R corresponding to the workpiece displacement amount is set.
  • the degree of influence IM on the other work W is set to a value correlated with the work displacement amount of the other work W observed by the displacement amount observation unit 62, and the influence degree is set to be smaller as the work displacement amount is smaller. Is done.
  • the reward setting unit 641 gives a reward R having a first value R1 (for example, “100” larger than 0 (zero)) to the behavior pattern of the robot 2 in which the workpiece displacement amount is less than the predetermined threshold value WDT.
  • a reward R of a second value R2 (for example, 0 (zero)) smaller than the first value R1 is given to the action pattern of the robot 2 in which the workpiece displacement amount is equal to or greater than the threshold value WDT.
  • the reward setting unit 641 sets “IM1” as the degree of influence IM according to the first work displacement amount WD1 for the action pattern A1 corresponding to the first work displacement amount WD1 less than the threshold value WDT. And a reward R having a first value R1 larger than “0; zero” is given.
  • the reward setting unit 641 sets “IM2” as the degree of influence IM corresponding to the second work displacement amount WD2 for the action pattern A2 corresponding to the second work displacement amount WD2 equal to or greater than the threshold value WDT.
  • the reward R of the second value R2 (0; zero) is given.
  • the reward setting unit 641 sets “IM3” as the degree of influence IM corresponding to the third work displacement amount WD3 for the action pattern A3 corresponding to the third work displacement amount WD3 equal to or greater than the threshold value WDT, and The reward R of the second value R2 (0; zero) is given.
  • “s” represents the state of the robot 2 (state S2)
  • “a” represents the behavior of the robot 2 according to the behavior pattern (behavior A1, behavior A2, behavior A3).
  • the state of the robot 2 shifts from the state “s” (state S2) to the state “s ′” (state S3) by the action “a”.
  • R (s, a) represents the reward R obtained by the transition of the state.
  • the term with “max” is obtained by multiplying the value Q (s ′, a ′) by “ ⁇ ” when the action “a ′” having the highest value in the state “s ′” is selected.
  • is a parameter called an attenuation factor, and is in a range of 0 ⁇ ⁇ 1 (for example, 0.9).
  • is a parameter called a learning rate, and is in a range of 0 ⁇ ⁇ 1 (for example, 0.1).
  • the above equation (1) is based on the reward R (s, a) set by the reward setting unit 641 for the action “a”, and the value Q (s, a) of the action “a” in the state “s”.
  • the above equation (1) is such that the value Q (s ′, a ′) of the action “a ′” in the state “s ′” is greater than the value Q (s, a) of the action “a” in the state “s”.
  • the reward R (s, a) is larger, the value Q (s, a) is increased, and on the contrary, the value Q (s, a) is decreased.
  • the value function updating unit 642 updates the value function using the update formula shown by the above formula (1), thereby the value Q (s, a of a certain action “a” in a certain state “s”. ) To the reward R set for the action “a” and the value Q (s ′, a ′) of the best action “a ′” in the next state “s ′” by the action “a”. I try to get closer.
  • the learning processing unit 6 of the machine learning device 5 includes the state observation unit 61, the behavior observation unit 62, the displacement amount observation unit 63, and the learning unit 64.
  • the learning process executed by the learning processing unit 6 will be described with reference to the flowchart of FIG.
  • the displacement amount observation unit 63 acquires the reference image data GDS (FIG. 6) output from the imaging device 3 before the robot 2 is taken out (step a1).
  • the state observation unit 61 observes the state of the robot 2 (step a2). More specifically, the state observation unit 61 changes the state of the robot 2 from the state S2 to the state S3 based on state variables ( ⁇ X, ⁇ Y, ⁇ Z, p) that change each time the state of the robot 2 changes. Observe that.
  • the behavior observation unit 62 performs when the state of the robot 2 is shifted from the state S2 to the state S3, that is, when an operation of taking out one workpiece W in the container CN is performed by the hand unit 26 is performed.
  • the displacement amount observation unit 63 acquires the image data output from the imaging device 3 after the take-out operation of the robot 2 according to the behavior pattern observed by the behavior observation unit 62 (step a4). Then, the displacement amount observing unit 63 detects the displacement of another workpiece W by removing one workpiece W from the container CN based on the image data output from the imaging device 3 before and after the robot 2 is taken out. The amount is observed (step a5).
  • the reward setting unit 641 of the learning unit 64 sets the degree of influence IM on the other workpiece W according to the workpiece displacement amount in association with the behavior pattern of the robot 2, and the workpiece displacement amount is a predetermined threshold value WDT. It is determined whether it is less than (step a6).
  • the reward setting unit 641 gives a reward R greater than “0; zero” to the action pattern of the robot 2 in which the workpiece displacement amount is less than the threshold value WDT (step a7).
  • the reward setting unit 641 gives a reward R of “0; zero” to the action pattern of the robot 2 in which the workpiece displacement amount is equal to or greater than the threshold value WDT (step a8).
  • the value function updating unit 642 of the learning unit 64 updates the value function that defines the value Q (s, a) of the behavior pattern of the robot 2 using the update formula of the above formula (1) (step a9). ).
  • Each process shown in the above steps a1 to a9 is a process executed in one cycle of the learning process by the learning processing unit 6.
  • the learning processing unit 6 determines whether or not a predetermined number of learning times has been reached (step a10).
  • Each process shown in steps a1 to a9 is repeated until a predetermined number of learning times is reached.
  • the behavior pattern of the robot 2 when the workpiece W is taken out from the container CN is observed by the behavior observation unit 62, and the workpiece displacement of another workpiece W in the container CN due to the take-out operation of the robot 2 is observed.
  • the amount is observed by the displacement amount observation unit 63.
  • the learning unit 64 then moves to another workpiece W according to the workpiece displacement amount when taking out one workpiece W from the container CN based on the teacher data TD that associates the behavior pattern of the robot 2 with the workpiece displacement amount. Is learned in association with an action pattern.
  • the workpiece displacement amount is an index of the effect of the impact force on the other workpiece W and the degree of collapse of the other workpiece W when the one workpiece W is taken out from the container CN.
  • the smaller the workpiece displacement amount the smaller the impact force and the degree of collapse on the other workpiece W, and accordingly, the degree of influence IM on the other workpiece W becomes smaller.
  • the learning unit 64 learns the degree of influence IM on the other work W according to the amount of work displacement in association with the behavior pattern, the influence on the other work W when the one work W is taken out from the container CN. It is possible to learn a behavior pattern of the robot 2 that decreases the degree IM. For this reason, it is possible to learn the optimum take-out operation of the robot 2 that has a small influence on other workpieces W and can prevent damage to the workpieces W and the like.
  • the behavior element that defines the behavior pattern of the robot 2 observed by the behavior observation unit 62 includes the gripping position HP for the one workpiece W when the hand unit 26 takes out the one workpiece W.
  • the behavior pattern of the robot 2 observed by the behavior observation unit 62 constitutes teacher data TD used when the learning unit 64 learns the operation of the robot 2.
  • the learning unit 64 has an influence on other workpieces W. It is possible to learn the behavior pattern of the robot 2 in consideration of the gripping position HP that decreases the degree IM.
  • the learning reflection processing unit 7 of the machine learning device 5 is a part that executes learning reflection processing for reflecting the learning result by the learning processing unit 6 as the operation of the robot 2.
  • the learning reflection processing unit 7 executes the learning reflection processing when the robot 2 executes the production operation after learning the influence IM by the learning unit 64 of the learning processing unit 6.
  • the production operation of the robot 2 is a continuous operation of the robot 2 in which the work W is taken out from the container CN by the hand unit 26 and the taken out work W is placed on the pallet PL.
  • the learning reflection processing unit 7 includes an action determination unit 71, a rank setting unit 72, and an update unit 73. Each part which comprises the learning reflection process part 7 is demonstrated below with reference to FIG.
  • FIG. 9A, FIG. 9B, FIG. 10A, FIG. 10B, and FIG. 9A and 9B are diagrams for explaining the action pattern determination information JH1 and JH1A generated by the action determination unit 71.
  • FIG. 10A and 10B are diagrams for explaining the action command information JH2 and JH2A generated by the rank setting unit 72.
  • FIG. FIG. 11 is a flowchart showing the learning reflection process executed by the learning reflection processing unit 7.
  • the behavior determination unit 71 receives, via the control device 4, imaging request information for requesting output of image data when the production operation of the robot 2 is started after the learning unit 64 learns the influence degree IM. 3 to send.
  • the behavior determination unit 71 acquires image data before the take-out operation of the robot 2 output from the imaging device 3 in response to the imaging request information (step b1 in FIG. 11).
  • the action determination unit 71 recognizes the stacking status of the plurality of works W in the container CN based on the acquired image data. Then, the behavior determining unit 71 sets, as the behavior pattern of the robot 2 when taking out each workpiece W from the container CN by the hand unit 26, the behavior pattern having the minimum influence IM learned by the learning unit 64 for each workpiece W. (Step b2 in FIG. 11).
  • the behavior determination unit 71 generates behavior pattern determination information JH1 illustrated in FIG. 9A as information representing the determination result of the behavior pattern for each work W (step b3 in FIG. 11).
  • the behavior pattern determination information JH1 includes workpiece type information J11 for identifying each workpiece W in the container CN, behavior pattern information J12 representing a behavior pattern for each workpiece W, and other workpieces when one workpiece W is taken out. This is information associated with the degree of influence information J13 representing the degree of influence IM on W.
  • the behavior pattern determination information JH1 exemplified in FIG. 9A will be described in detail as follows. Based on the image data output from the imaging device 3, the behavior determining unit 71 loads each workpiece “W1”, “W2”, “W3”, “W4”, “W5”, etc. in the container CN. Recognize Then, the behavior determining unit 71 sets the behavior pattern “associated with“ 20 ”having the smallest degree of influence IM learned by the learning unit 64 as the behavior pattern of the robot 2 when taking out the work“ W1 ”from the container CN. Action A1 "is determined.
  • the behavior determination unit 71 sets the behavior pattern “associated with“ 10 ”having the smallest degree of influence IM learned by the learning unit 64 as the behavior pattern of the robot 2 when taking out the work“ W2 ”from the container CN.
  • Action A2 is determined.
  • the behavior determining unit 71 sets the behavior pattern “associated with“ 1 ”having the smallest degree of influence IM learned by the learning unit 64 as the behavior pattern of the robot 2 when taking out the work“ W3 ”from the container CN.
  • Action A3 is determined.
  • the behavior determination unit 71 takes the behavior associated with the minimum influence level “0.5” learned by the learning unit 64 as the behavior pattern of the robot 2 when taking out the work “W4” from the container CN.
  • the pattern “action A4” is determined.
  • the behavior determination unit 71 sets the behavior IM associated with “0.1” having the minimum degree of influence IM learned by the learning unit 64 as the behavior pattern of the robot 2 when taking out the work “W5” from the container CN.
  • the pattern “action A5” is determined.
  • the behavior pattern determination result for each work W by the behavior determination unit 71 is obtained by associating the work type information J11, the behavior pattern information J12, and the influence information J13 with the behavior pattern determination information JH1. It is.
  • the behavior pattern determination information JH1 generated by the behavior determination unit 71 is output toward the control device 4.
  • the control device 4 to which the behavior pattern determination information JH1 is input can control the take-out operation of the robot 2 based on the behavior pattern determination information JH1.
  • the behavior determination unit 71 has the smallest influence degree IM as the behavior pattern of the robot 2 when taking out each workpiece W from the container CN in order to reflect the learning result by the learning unit 64 in the taking-out operation at the time of actual production of the robot 2. Is determined for each work W. In the actual production, the robot 2 follows the behavior pattern for each workpiece W determined by the behavior determination unit 71, so that the degree of influence IM on other workpieces W is small, and it is possible to suppress damage to the workpiece W and the like. Can be performed.
  • the behavior determining unit 71 determines the behavior pattern of the robot 2 for each workpiece W in the container CN based on the image data obtained by one imaging output from the imaging device 3. That is, in actual production, in order to determine the behavior pattern of the robot 2 when the workpiece W is taken out, the imaging device 3 does not perform imaging every time the workpiece W is taken out.
  • the behavior pattern of the robot 2 with respect to each workpiece W in the container CN is determined based on image data obtained by one imaging, and the robot 2 can sequentially take out a plurality of workpieces W according to the determined behavior pattern.
  • the number of times of imaging by the imaging device 3 can be reduced, so that the waiting time of the robot 2 caused by imaging can be shortened, and production efficiency can be improved.
  • the robot 2 is composed of a double-armed robot or a robot having a plurality of hand units 26, a plurality of workpieces W are continuously taken out according to the behavior pattern determined by the behavior determination unit 71. Can do. For this reason, in the case of a double-armed robot or a robot provided with a plurality of hand portions 26, the production efficiency can be further improved.
  • the behavior determination unit 71 updates the behavior pattern determination operation of the robot 2, and is illustrated in FIG. 9B.
  • the updated behavior pattern determination information JH1A is generated and output to the control device 4.
  • the control device 4 to which the updated behavior pattern determination information JH1A is input can control the take-out operation of the robot 2 based on the behavior pattern determination information JH1A. Details of the updated behavior pattern determination information JH1A will be described later.
  • the rank setting unit 72 refers to the behavior pattern determination information JH1, and the extraction order when the workpieces W are extracted from the container CN based on the behavior pattern of the robot 2 determined by the behavior determination unit 71 has a small influence degree IM. It is set so as to be higher (step b4 in FIG. 11).
  • the order setting unit 72 generates action command information JH2 illustrated in FIG. 10A as information indicating the setting result of the extraction order (step b5 in FIG. 11).
  • the action command information JH2 includes influence reference value information J21 representing a reference value IMS of the influence degree IM, and action list information J22.
  • the reference value IMS represented by the influence reference value information J21 is referred to when the update unit 73 described later monitors the take-out operation of the robot 2.
  • the action list information J22 is a list in which data relating the work type information J11, the action pattern information J12, and the influence information J13 are arranged in the order of the picking order of the work W set by the order setting unit 72.
  • Information That is, the action list information J22 is the data in which the work type information J11, the action pattern information J12, and the influence degree information J13 are associated in ascending order of the influence degree IM represented by the influence degree information J13. It is information arranged in.
  • the behavior command information JH2 generated by the rank setting unit 72 is output toward the control device 4 (step b6 in FIG. 11).
  • the control device 4 to which the action command information JH2 is input can control the take-out operation of the robot 2 according to the pick-up order of the work W based on the action list information J22 included in the action command information JH2.
  • the action list information J22 included in the action command information JH2 is compared with the action pattern determination information JH1 generated by the action determination unit 71, and the work type information J11, the action pattern information J12, and the influence information J13. Are the same except that the order of the data associated with is different. For this reason, when the action command information JH2 is output toward the control device 4, the output of the action pattern determination information JH1 to the control device 4 is omitted.
  • the order setting unit 72 sets the order of taking out the workpieces W from the container CN.
  • the robot 2 may take out each workpiece W from the container CN in accordance with the take-out order set by the rank setting unit 72 during actual production. Thereby, the robot 2 can perform the taking-out operation in order from the one having the smallest influence degree IM to the other workpieces W.
  • the rank setting unit 72 updates the setting operation of the picking rank of the work W, and is illustrated in FIG. 10B.
  • the updated action command information JH2A is generated and output to the control device 4.
  • the control device 4 to which the updated action command information JH2A is input can control the take-out operation of the robot 2 according to the pick-up order of the workpiece W based on the action list information J22 included in the action command information JH2A. it can. Details of the updated action command information JH2A will be described later.
  • the update unit 73 performs the robot 2 according to the workpiece W extraction order set by the order setting unit 72 during the production operation of the robot 2 under the control of the control device 4 based on the action list information J22 included in the action command information JH2.
  • the take-out operation is monitored (step b7 in FIG. 11).
  • the update unit 73 takes out from the container CN all the workpieces W in the order in which the influence degree IM represented by the influence degree information J13 is less than the predetermined reference value IMS represented by the influence reference value information J21. Is determined (step b8 in FIG. 11).
  • the update unit 73 When it is determined that the extraction of all the workpieces W having the influence degree IM less than the reference value IMS has been completed, the update unit 73 has a work W having the order in which the influence degree IM is greater than or equal to the reference value IMS. (Step b9 in FIG. 11).
  • the action pattern determination operation by the determination unit 71 and the work W take-out order setting operation by the order setting unit 72 are updated.
  • the update unit 73 outputs update request information for requesting update of the behavior pattern determination information JH1 to the behavior determination unit 71, and outputs update request information for requesting update of the behavior command information JH2 to the order setting unit 72.
  • the operations of both the action determining unit 71 and the order setting unit 72 are updated (step b10 in FIG. 11).
  • the operation of the updating unit 73 will be described with reference to the action command information JH2 shown in FIG. 10A.
  • the robot 2 controlled by the control device 4 is represented by the action pattern information J12 in order from the work W having the smallest influence degree IM represented by the influence degree information J13 in accordance with the extraction order registered in the action list information J22.
  • the extraction operation based on the action pattern to be executed is executed.
  • the update unit 73 monitors the take-out operation of the robot 2.
  • the workpieces W5, W4, and W3 with the extraction order “1 to 3” are the workpieces W in the order that the influence degree IM is less than the reference value IMS (for example, “2”).
  • the work W2 and the like whose take-out order is “4” or later are work Ws in the order in which the degree of influence IM is equal to or higher than the reference value IMS.
  • the update unit 73 sends the update request information to the action determination unit 71 and the order setting unit 72 when the extraction of all the works W5, W4, and W3 having the extraction order “1 to 3” is completed. Output to both sides and update the operation of both sides.
  • the removal operation of the workpiece W based on the behavior pattern in which the influence level IM is less than the reference value IMS is a removal operation in which the influence level IM on the other workpieces W is relatively small and damage to the workpiece W can be suppressed.
  • the influence degree IM to other works W is relatively large, and there is a possibility that the work W is damaged.
  • the robot 2 may sequentially take out all the workpieces W in the order in which the influence degree IM is less than the reference value IMS in accordance with the take-out order set by the rank setting unit 72 during actual production.
  • the robot 2 has a relatively small influence IM on other workpieces W, and can continuously take out all the workpieces W in a range in which damage to the workpieces W can be prevented.
  • the updating unit 73 updates the behavior pattern determination operation by the behavior determination unit 71 and the extraction order setting operation by the order setting unit 72. That is, the action pattern by the action determination unit 71 based on new image data output from the imaging device 3 when the extraction operation by the robot 2 of all the workpieces W in the order in which the influence degree IM is less than the reference value IMS is completed.
  • the updated operations of the determination operation and the setting operation of the picking order by the order setting unit 72 are performed before the picking operation of the workpiece W.
  • the behavior determining unit 71 updates the behavior pattern determining operation of the robot 2 by repeating the steps b1 to b3 shown in FIG.
  • the updated action pattern determination information JH1A exemplified in 9B is generated.
  • the updated behavior pattern determination information JH1A illustrated in FIG. 9B will be described in detail as follows.
  • the action determination unit 71 based on the new image data output from the imaging device 3 after receiving the update request information from the update unit 73, all the works W5 in the order in which the degree of influence IM is less than the reference value IMS. , W4, W3, and the unloading status of each work “W1”, “W2”, “W6”, “W7”, “W8”, etc. remaining in the container CN is recognized.
  • the unloading state of the remaining workpieces W in the container CN is changed before the removal operation. Compared to changes. For this reason, the degree of influence IM corresponding to the workpiece W remaining in the container CN also changes.
  • the behavior determining unit 71 sets the behavior pattern “corresponding to“ 0.2 ”having the smallest influence degree IM learned by the learning unit 64 as the behavior pattern of the robot 2 when taking out the work“ W1 ”from the container CN.
  • Action A11 is determined.
  • the behavior determination unit 71 sets the behavior IM associated with the minimum influence level “0.01” learned by the learning unit 64 as the behavior pattern of the robot 2 when taking out the work “W2” from the container CN.
  • the pattern “action A21” is determined.
  • the action determining unit 71 sets the action associated with the minimum influence level IM of “0.3” as the action pattern of the robot 2 when taking out the work “W6” from the container CN.
  • the pattern “action A61” is determined.
  • the behavior determining unit 71 sets the behavior pattern “associated with“ 20 ”having the minimum influence degree IM learned by the learning unit 64 as the behavior pattern of the robot 2 when taking out the work“ W7 ”from the container CN.
  • Action A71 is determined.
  • the behavior determination unit 71 sets the behavior pattern “associated with“ 40 ”having the smallest degree of influence IM learned by the learning unit 64 as the behavior pattern of the robot 2 when taking out the work“ W8 ”from the container CN.
  • Action A81 is determined.
  • the information obtained by associating the work type information J11, the behavior pattern information J12, and the influence information J13 with the updated determination result of the behavior pattern for each work W by the behavior determination unit 71 is updated.
  • Action pattern determination information JH1A is updated.
  • the action determining unit 71 sets the action pattern of the robot 2 when taking out each work W remaining in the container CN after the picking-up operation by the robot 2 of all the works W having an order of influence IM less than the reference value IMS.
  • the behavior pattern that minimizes the degree of influence IM is updated and determined for each work W.
  • the robot 2 follows the behavior pattern for each workpiece W updated and determined by the behavior determination unit 71, so that the impact level IM on other workpieces W is small and damage to the workpiece W is suppressed. The best possible take-out operation can be performed.
  • the rank setting unit 72 Upon receiving the update request information output from the update unit 73, the rank setting unit 72 repeats the steps b4 to b6 shown in FIG.
  • the updated action command information JH2A exemplified in 10B is generated.
  • the behavior list information J22 included in the behavior command information JH2A updated by the rank setting unit 72 is compared with the behavior pattern determination information JH1A updated by the behavior determination unit 71, and the work type information J11 and the behavior pattern information J12. Is the same except that the order of data in which the degree of influence information J13 is associated is different.
  • the action list information J22 data in which the work type information J11, the action pattern information J12, and the influence degree information J13 are associated is arranged in order from the smallest influence degree IM represented by the influence degree information J13. Information.
  • the action command information JH2A updated by the rank setting unit 72 is output toward the control device 4.
  • the control device 4 to which the action command information JH2A is input can control the take-out operation of the robot 2 in accordance with the updated pick-up order of the workpiece W based on the action list information J22 included in the action command information JH2A. it can.
  • the order setting unit 72 updates and sets the take-out order when taking out each workpiece W remaining in the container CN.
  • the robot 2 may take out each workpiece W remaining in the container CN in accordance with the take-out order updated by the rank setting unit 72 during actual production. Thereby, the robot 2 can perform the taking-out operation in order from the one having the smallest influence degree IM to the other workpieces W.
  • a machine learning device is a device that learns the operation of a robot including a hand unit that takes out the workpiece from a container that accommodates a plurality of workpieces stacked in bulk.
  • the machine learning device outputs the robot from the behavior observation unit that observes the behavior pattern of the robot and the imaging device that images the inside of the container in the take-out operation of taking out one workpiece from the container by the hand unit. Based on the respective image data before and after the take-out operation, the amount of displacement of the other work other than the one work in the container when the one work in the container is taken out by the hand unit.
  • the workpiece when the hand unit takes out the one workpiece from the container based on teacher data that associates the behavior pattern and the workpiece displacement amount with a displacement amount observation unit that observes the workpiece displacement amount representing A learning unit that learns the degree of influence on the other workpiece according to the amount of displacement in association with the behavior pattern.
  • a behavior pattern of a robot when one workpiece is taken out from the container is observed by the behavior observation unit, and a displacement amount of another workpiece in the container due to the robot take-out operation is observed by the displacement amount observation unit. Observed.
  • the learning unit Based on the teacher data that associates the robot action pattern with the workpiece displacement amount, the learning unit calculates the degree of influence on another workpiece according to the workpiece displacement amount when taking out one workpiece from the container. Learning by associating with a pattern.
  • the workpiece displacement is an index of the effect of impact force on other workpieces and the degree of collapse of other workpieces when one workpiece is removed from the container. That is, the smaller the workpiece displacement amount, the smaller the impact force and the degree of collapse on other workpieces, and the smaller the degree of influence on other workpieces.
  • the learning unit learns the degree of influence on the other work according to the amount of work displacement in association with the behavior pattern, so that the degree of influence on the other work is small when one work is taken out from the container. You can learn robot behavior patterns. For this reason, it is possible to learn the optimum robot take-out operation that has a small influence on other workpieces and can prevent damage to the workpiece.
  • a plurality of images in the container are based on the image data.
  • An action determining unit for recognizing an unloading state of the workpieces and determining, for each workpiece, an action pattern that minimizes the degree of influence as an action pattern of the robot when taking out each work from the container by the hand unit. Further, a configuration may be provided.
  • the behavior determining unit in order to reflect the learning result by the learning unit in the actual picking-up operation of the robot, has a behavior pattern having a minimum influence as a behavior pattern of the robot when taking out each workpiece from the container. Determine for each workpiece.
  • the robot follows the behavior pattern for each workpiece determined by the behavior determination unit, thereby performing an optimum take-out operation that has a small influence on other workpieces and can prevent damage to the workpiece. be able to.
  • the behavior determining unit determines the behavior pattern of the robot for each workpiece in the container based on the image data obtained by one imaging output from the imaging device. That is, in actual production, in order to determine the behavior pattern of the robot when picking up the workpiece, imaging is not performed by the imaging device every time the workpiece is picked up. A robot action pattern for each work in the container is determined based on image data obtained by one imaging, and the robot can sequentially take out a plurality of works according to the determined action pattern. Thereby, in actual production, the number of times of imaging by the imaging device can be reduced, so that the waiting time of the robot caused by imaging can be shortened, and the production efficiency can be improved.
  • the machine learning device described above is a rank in which the picking order when picking up each workpiece from the container based on the robot action pattern determined by the action determining unit is set higher as the influence degree is smaller.
  • the configuration may further include a setting unit.
  • the order setting unit sets the take-out order when taking out each workpiece from the container.
  • the robot may take out each workpiece from the container in accordance with the take-out order set by the rank setting unit during actual production. As a result, the robot can execute the pick-up operation in order from the one having the least influence on other workpieces.
  • the machine learning device monitors the take-out operation of the robot according to the take-out order set by the rank setting unit, and the containers of all works in a rank in which the degree of influence is less than a predetermined reference value.
  • the configuration may further include an update unit that updates the behavior pattern determination operation by the behavior determination unit and the extraction order setting operation by the order setting unit when the extraction from the is completed.
  • the work removal operation based on an action pattern whose influence level is less than the reference value can be said to be a removal operation that has a relatively small influence on another work and can prevent damage to the work.
  • an operation of picking up a workpiece based on an action pattern having an influence level equal to or higher than a reference value has a relatively large influence level on other workpieces and may cause damage to the workpiece.
  • the robot may sequentially take out all the workpieces in the order in which the degree of influence is less than the reference value in accordance with the take-out order set by the order setting unit.
  • the robot has a relatively small influence on other workpieces, and can continuously take out all workpieces within a range where damage to the workpieces can be suppressed.
  • the update unit updates the action pattern determination operation by the action determination unit and the extraction order setting operation by the order setting unit.
  • the action pattern determining operation by the action determining unit based on the new image data output from the imaging device when the picking-up operation by the robot of all the workpieces whose influence degree is less than the reference value is completed, and the order The updated operation including the setting operation of the picking order by the setting unit is performed before the picking operation of the workpiece.
  • the robot may take out each workpiece from the container according to the behavior pattern updated and determined by the behavior determination unit and further according to the extraction order updated and set by the ranking setting unit.
  • the hand unit is configured to take out the workpiece by gripping the workpiece in the container, and the behavior element that defines the behavior pattern of the robot observed by the behavior observation unit includes The gripping position with respect to the one workpiece when the hand portion picks up the one workpiece is included.
  • the behavior pattern of the robot observed by the behavior observation unit constitutes teacher data used when the learning unit learns the robot operation.
  • the learning unit can grasp such that the degree of influence on other workpieces is reduced. It is possible to learn robot behavior patterns that take into account the position.
  • a robot system includes a robot having a hand unit that takes out the workpiece from a container that accommodates a plurality of workpieces in a stacked state, and images the inside of the container to output image data. Based on the learning results of the machine learning device and the machine learning device, which learns the robot's take-out operation when taking out the workpiece from the container by the hand unit based on the imaging device and the image data And a control device for controlling the operation of the robot.
  • This robot system is equipped with the above machine learning device that can learn the optimal operation of the robot when taking out a workpiece from the container. For this reason, when the robot takes out one workpiece from the container at the time of actual production, the robot can execute an optimum take-out operation that has a small influence on other workpieces and can prevent damage to the workpiece.
  • a machine learning device that can learn an optimal operation of a robot when a workpiece is taken out from a container that accommodates a plurality of workpieces in a stacked state, and a robot system including the same. Can be provided.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)
  • Multimedia (AREA)

Abstract

ロボットシステム(1)に備えられるロボット(2)の動作は、機械学習装置(5)の学習結果に基づいて制御される。機械学習装置(5)は、行動観測部(62)、変位量観測部(63)及び学習部(64)を備える。行動観測部(62)は、容器(CN)からワーク(W)を取り出すときのロボット(2)の行動パターンを観測する。変位量観測部(63)は、撮像装置(3)から出力される、ロボット(2)の取り出し動作の前後における各画像データに基づいて、容器(CN)内の一のワークが取り出されたときの、他のワークの容器(CN)内での変位量を表すワーク変位量を観測する。学習部(64)は、ロボット(2)が容器(CN)から一のワークを取り出すときの、ワーク変位量に応じた他のワークへの影響度(IM)を、ロボット(2)の行動パターンと対応付けて学習する。

Description

機械学習装置及びこれを備えたロボットシステム
 本発明は、バラ積みされた状態のワークを取り出すロボットの動作を学習する機械学習装置、及びこの機械学習装置を備えたロボットシステムに関する。
 複数のワークをバラ積みされた状態で収容する容器からワークを取り出すシステムとして、ハンド部を備えたロボットによってワークを取り出すロボットシステムが知られている(特許文献1参照)。特許文献1に開示されるロボットシステムは、ロボットの取り出し動作を学習する機械学習装置を備えている。機械学習装置は、三次元計測器により計測されたワークの三次元マップに対応したロボットの動作と、ワークの取り出しの成否の判定結果とを関連付けた教師データに基づいて、容器からワークを取り出す際のロボットの動作を学習している。
 しかしながら、ワークの取り出しの成否の判定結果を含む教師データを用いた学習では、ロボットの最適な取り出し動作を学習しているとは言えない。つまり、ロボットのハンド部による容器からの一のワークの取り出しが成功したとしても、その取り出し動作によって容器内の他のワークに影響を及ぼす場合がある。例えば、容器から一のワークを取り出すときに、ハンド部や当該ハンド部に把持された一のワークが他のワークに衝撃力を作用させてしまう場合がある。或いは、一のワークが取り出されることにより、他のワークが崩れてしまう場合がある。このように、一のワークの取り出し動作によって容器内の他のワークに影響を及ぼした場合には、ワークが破損してしまう虞がある。
特開2017-64910号公報
 本発明は、このような事情に鑑みてなされたものであり、その目的とするところは、複数のワークをバラ積みされた状態で収容する容器からワークを取り出すときのロボットの最適な動作を学習できる機械学習装置、及びこれを備えたロボットシステムを提供することにある。
 本発明の一の局面に係る機械学習装置は、複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットの動作を学習する装置である。この機械学習装置は、前記ハンド部によって前記容器から一のワークを取り出す取り出し動作における、前記ロボットの行動パターンを観測する行動観測部と、前記容器内を撮像する撮像装置から出力される、前記ロボットの前記取り出し動作の前後における各画像データに基づいて、前記容器内の前記一のワークが前記ハンド部によって取り出されたときの、前記一のワーク以外の他のワークの前記容器内での変位量を表すワーク変位量を観測する変位量観測部と、前記行動パターンと前記ワーク変位量とを関連付けた教師データに基づいて、前記ハンド部が前記容器から前記一のワークを取り出すときの、前記ワーク変位量に応じた前記他のワークへの影響度を、前記行動パターンと対応付けて学習する学習部と、を備える。
 本発明の他の局面に係るロボットシステムは、複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットと、前記容器内を撮像して画像データを出力する撮像装置と、前記画像データに基づいて、前記ハンド部によって前記容器から前記ワークを取り出すときの前記ロボットの取り出し動作を学習する、上記の機械学習装置と、前記機械学習装置の学習結果に基づいて、前記ロボットの動作を制御する制御装置と、を備える。
 本発明の目的、特徴及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。
本発明の一実施形態に係るロボットシステムの構成を示すブロック図である。 ロボットシステムに備えられるロボットの一例を示す図である。 ロボットシステムに備えられる機械学習装置の状態観測部の動作を説明するための図である。 機械学習装置の行動観測部の動作を説明するための図である。 ロボットの行動パターンを規定する行動要素を説明するための図である。 機械学習装置の変位量観測部の動作を説明するための図である。 機械学習装置の学習部の動作を説明するための図である。 機械学習装置により実行される学習処理を示すフローチャートである。 機械学習装置の行動決定部によって生成される行動パターン決定情報を説明するための図である。 機械学習装置の行動決定部によって生成される行動パターン決定情報を説明するための図である。 機械学習装置の順位設定部によって生成される行動指令情報を説明するための図である。 機械学習装置の順位設定部によって生成される行動指令情報を説明するための図である。 機械学習装置により実行される学習反映処理を示すフローチャートである。
 以下、本発明の実施形態に係る機械学習装置及びロボットシステムについて図面に基づいて説明する。
 [ロボットシステムの全体構成]
 図1は、本発明の一実施形態に係るロボットシステム1の構成を示すブロック図である。ロボットシステム1は、ロボット2と、撮像装置3と、制御装置4と、機械学習装置5とを備える。ロボットシステム1においては、撮像装置3から出力される画像データに基づき機械学習装置5がロボット2の動作を学習し、その学習結果に基づき制御装置4がロボット2の動作を制御する。
 まず、図2を参照しながらロボット2について説明する。図2は、ロボットシステム1に備えられるロボット2の一例を示す図である。ロボット2は、複数のワークWをバラ積みされた状態で収容する容器CNから、当該ワークWを取り出すためのロボットである。容器CNは、上方側が開口した有底筒状に形成されている。ロボット2は、容器CNの上方側の開口を介してワークWを取り出す。
 ロボット2は、容器CNからワークWを取り出すことが可能なハンド部を備えたロボットであれば特に限定されるものではなく、例えば、垂直多関節ロボットや水平多関節ロボット、或いは双腕型の多関節ロボットを採用することができる。以下では、図2に示す6軸垂直多関節ロボットを例として、ロボット2の構成について説明する。なお、垂直多関節ロボットにおいて軸の数は、6軸に限定されるものではなく、任意の軸数でよい。ロボット2は、ベース部21と、胴部22と、第1アーム23と、第2アーム24と、手首部25と、ハンド部26とを備える。
 ベース部21は、床や台等に固定設置され、内部に不図示の駆動モーター等を収容する箱体である。胴部22は、ベース部21の上面において、鉛直方向(上下方向)に延びる第1軸2A回りに、正逆両方向に回転可能に配置される。第1アーム23は、所定の長さを有するアーム部材であり、その長手方向の一端部が水平方向に延びる第2軸2Bを介して胴部22に取り付けられている。第1アーム23は、第2軸2B回りに、正逆両方向に回転可能である。
 第2アーム24は、アームベース241とアーム部242とを含む。アームベース241は、第2アーム24のベース部分であり、第2軸2Bに対して平行且つ水平方向に延びる第3軸2Cを介して、第1アーム23の長手方向他端部に取り付けられている。アームベース241は、第3軸2C回りに、正逆両方向に回転可能である。アーム部242は、所定の長さを有するアーム部材であり、その長手方向の一端部が第3軸2Cに対して垂直な第4軸2Dを介してアームベース241に取り付けられている。アーム部242は、第4軸2D回りに、正逆両方向に回転可能である。
 手首部25は、第2軸2B及び第3軸2Cに対して平行且つ水平方向に延びる第5軸2Eを介して、アーム部242の長手方向他端部に取り付けられている。手首部25は、第5軸2E回りに、正逆両方向に回転可能である。
 ハンド部26は、ロボット2において容器CNからワークWを取り出す部分であり、第5軸2Eに対して垂直な第6軸2Fを介して手首部25に取り付けられている。ハンド部26は、第6軸2F回りに、正逆両方向に回転可能である。ハンド部26は、容器CN内のワークWを保持可能な構造であれば特に限定されるものではなく、例えば、ワークWを把持して保持する複数の爪部を備えた構造であってもよいし、ワークWに対して吸引力を発生する電磁石又は負圧発生装置を備えた構造であってもよい。本実施形態では、ハンド部26は、複数の爪部を備えた構造を有し、容器CN内のワークWを把持することによって当該ワークWを取り出す。
 次に、撮像装置3は、容器CN内に収容される複数のワークWの全てが視野内に収まるように容器CN内を上方から撮像し、ワークWの位置情報を含む画像データを出力する装置である。本実施形態では、撮像装置3は、図1に示すように、カメラ31と画像処理部32を備えた三次元視覚センサ等の三次元計測器である。カメラ31は、容器CN内を上方から撮像し、容器CN内に収容される複数のワークWの各々の画像領域を含む画像を取得する。画像処理部32は、カメラ31が取得した画像を画像処理することによって、各ワークWの三次元位置情報を含む画像データを生成する。各ワークの三次元位置情報は、例えば、XYZ直交座標系を用いた座標値(X,Y,Z)で表される。なお、XYZ直交座標系とは、X軸とY軸を含む平面(XY平面)が水平で、Z軸がXY平面に対して鉛直となるように各座標軸が配置された座標系である。撮像装置3から出力された画像データは、後述の機械学習装置5に備えられる変位量観測部63及び行動決定部71に入力される。
 次に、制御装置4は、ロボット2の動作を制御するとともに、撮像装置3の動作を制御する。制御装置4は、後述の機械学習装置5に備えられる行動決定部71及び順位設定部72によって生成される情報に基づいて、ロボット2及び撮像装置3の双方の動作を制御する。
 [機械学習装置の構成]
 次に、機械学習装置5について説明する。機械学習装置5は、図1に示すように、ロボット2の動作を学習(機械学習)する学習処理を実行する学習処理部6と、その学習結果をロボット2の動作として反映させる学習反映処理を実行する学習反映処理部7とを備える。機械学習装置5が実行する学習の手法としては、特に限定されるものではなく、例えば、「教師あり学習」、「教師なし学習」及び「強化学習」等を採用することができる。本実施形態では、機械学習装置5における学習の手法として、強化学習としてのQ学習の手法が採用されている。Q学習は、ロボット2の連続的な動作を複数の状態に区分し、状態が順次移行されるときのロボット2の行動について、報酬が得られるような価値の高い行動を学習する手法である。また、機械学習装置5が実行する強化学習としてのQ学習は、例えば、ニューラルネットワーク(Neural Network)を使用して実現することが可能である。ニューラルネットワークは、人間の脳の構造を模した構成となっており、人間の脳におけるニューロン(神経細胞)の機能を模した論理回路を多層に積層して構成されたものである。
 <学習処理部について>
 学習処理部6は、ロボット2の動作を学習する学習処理を実行する部分であり、状態観測部61と、行動観測部62と、変位量観測部63と、学習部64とを含んで構成される。
 (状態観測部について)
 図3は、状態観測部61の動作を説明するための図である。なお、図3においては、ロボット2及び容器CNを上方から見た状態が示されており、容器CN内には3つのワークW1,W2,W3がバラ積みされている。ロボット2は、ハンド部26によって容器CNから一のワークW3を取り出し、その取り出したワークW3をパレットPLに載置するという、連続的な動作を実行する。状態観測部61は、ロボット2の連続的な動作を複数の状態に区分し、そのロボット2の状態を観測する。
 状態観測部61が観測するロボット2の状態の数は、特に限定されるものではないが、図3では、状態S1、状態S2、状態S3及び状態S4の4つの状態が示されている。状態S1は、ロボット2のハンド部26がパレットPLの上方における所定の位置に配置されるように、胴部22、第1アーム23、第2アーム24、手首部25及びハンド部26の姿勢が調整されたロボット2の状態である。状態S2は、ハンド部26によって容器CN内の把持対象となるワークW3を把持する直前の状態であって、ワークW3の真上における所定の位置にハンド部26が配置されるように、胴部22、第1アーム23、第2アーム24、手首部25及びハンド部26の姿勢が調整されたロボット2の状態である。状態S3は、ハンド部26が容器CN内の把持対象となるワークW3を把持するように、胴部22、第1アーム23、第2アーム24、手首部25及びハンド部26の姿勢が調整されたロボット2の状態である。状態S4は、ハンド部26によって把持したワークW3をパレットPLに載置するように、胴部22、第1アーム23、第2アーム24、手首部25及びハンド部26の姿勢が調整されたロボット2の状態である。ロボット2は、状態S1、状態S2、状態S3、状態S4の順に状態を連続的に移行することにより、ハンド部26によって容器CNから一のワークW3を取り出し、その取り出したワークW3をパレットPLに載置する。
 ロボット2の状態は、状態変数(ΔX,ΔY,ΔZ,p)によって規定される。状態変数(ΔX,ΔY,ΔZ,p)は、ロボット2の状態が移行されるごとに変化する変数である。
 状態変数の「ΔX」は、XYZ直交座標系において、ハンド部26による把持対象となるワークW3の容器CN内における位置に関するX座標値を基準値(以下、「X基準値」と称する)とし、ハンド部26の位置に関するX座標値(以下、「ハンドX値」と称する)の前記X基準値に対する差異を表す。状態変数の「ΔY」は、XYZ直交座標系において、ハンド部26による把持対象となるワークW3の容器CN内における位置に関するY座標値を基準値(以下、「Y基準値」と称する)とし、ハンド部26の位置に関するY座標値(以下、「ハンドY値」と称する)の前記Y基準値に対する差異を表す。状態変数の「ΔZ」は、XYZ直交座標系において、ハンド部26による把持対象となるワークW3の容器CN内における位置に関するZ座標値を基準値(以下、「Z基準値」と称する)とし、ハンド部26の位置に関するZ座標値(以下、「ハンドZ値」と称する)の前記Z基準値に対する差異を表す。状態変数の「p」は、ハンド部26がワークW3を把持しているか否かを表す。状態変数の「p」は、ハンド部26がワークW3を把持している場合には「1」とされ、ハンド部26がワークW3を把持していない場合には「0:ゼロ」とされる。
 ロボット2の状態が状態S1である場合には、ハンド部26は、容器CNに対してX軸、Y軸及びZ軸の各座標軸の軸方向に離れており、ワークW3を把持していない。このため、ロボット2の状態S1を規定する状態変数(ΔX,ΔY,ΔZ,p)においては、「ΔX」、「ΔY」及び「ΔZ」がそれぞれ所定の値「XA」、「YA」及び「ZA」を示し、「p」が「0:ゼロ」を示す。
 ロボット2の状態が状態S2である場合には、ハンド部26は、容器CNに対してX軸及びY軸の各軸方向には離れていないけれどもZ軸方向には離れており、ワークW3を把持していない。このため、ロボット2の状態S2を規定する状態変数(ΔX,ΔY,ΔZ,p)においては、「ΔX」及び「ΔY」がそれぞれ「0;ゼロ」を示し、「ΔZ」が所定の値「ZA」を示し、「p」が「0;ゼロ」を示す。
 ロボット2の状態が状態S3である場合には、ハンド部26は、容器CNに対してX軸、Y軸及びZ軸の各座標軸の軸方向には離れておらず、ワークW3を把持している。このため、ロボット2の状態S3を規定する状態変数(ΔX,ΔY,ΔZ,p)においては、「ΔX」、「ΔY」及び「ΔZ」がそれぞれ「0;ゼロ」を示し、「p」が「1」を示す。
 ロボット2の状態が状態S4である場合には、ハンド部26は、容器CNに対してX軸、Y軸及びZ軸の各座標軸の軸方向に離れており、ワークW3を把持している。このため、ロボット2の状態S4を規定する状態変数(ΔX,ΔY,ΔZ,p)においては、「ΔX」、「ΔY」及び「ΔZ」がそれぞれ所定の値「XA」、「YA」及び「ZA」を示し、「p」が「1」を示す。
 状態観測部61は、ロボット2の状態が移行されるごとに変化する状態変数(ΔX,ΔY,ΔZ,p)に基づいて、ロボット2の状態が状態S1、状態S2、状態S3及び状態S4の何れの状態であるかを認識することができる。なお、ロボット2の状態が状態S1、状態S2及び状態S3の何れかの状態である場合には、胴部22、第1アーム23、第2アーム24、手首部25及びハンド部26の姿勢等の違いにより、複数のサブ状態が存在する。状態観測部61は、ロボット2の状態が状態S1、状態S2及び状態S3の何れかの状態である場合には、サブ状態についても観測する。ハンド部26が把持したワークW3をパレットPLに載置するという、ロボット2の最終目標の状態を示す状態S4については、状態S1、状態S2及び状態S3のようなサブ状態は存在しない。
 (行動観測部について)
 図4は、行動観測部62の動作を説明するための図である。なお、図4においては、ロボット2の状態について、状態S1には複数のサブ状態「S1-1、S1-2、・・・S1-n」が存在することが示され、状態S2には複数のサブ状態「S2-1、S2-2、・・・S2-n」が存在することが示され、状態S3には複数のサブ状態「S3-1、S3-2、・・・S3-n」が存在することが示されている。
 行動観測部62は、ロボット2の状態が移行されるときのロボット2の行動パターンを観測する。より詳しくは、行動観測部62は、ロボット2の行動パターンについて、ロボット2の状態が状態S1から状態S2へ移行されるときの行動パターン、状態S2から状態S3へ移行されるときの行動パターン、状態S3から状態S4へ移行されるときの行動パターンをそれぞれ観測する。状態が移行されるときにロボット2が取り得る行動パターンは、状態S1、状態S2及び状態S3の各々におけるサブ状態の存在数に応じて、複数存在する(行動A1、行動A2、・・・行動An)。なお、ロボット2の状態が状態S2から状態S3へ移行されるときには、ハンド部26によって容器CNから一のワークWを取り出す取り出し動作が実行されている。
 行動観測部62によって観測されるロボット2の行動パターンを規定する行動要素としては、図5に示される、把持角θ、把持位置HP、第1軸2Aにおける回転角β1及び回転速度パターン、第2軸2Bにおける回転角β2及び回転速度パターン、第3軸2Cにおける回転角β3及び回転速度パターン、第4軸2Dにおける回転角β4及び回転速度パターン、第5軸2Eにおける回転角β5及び回転速度パターン、第6軸2Fにおける回転角β6及び回転速度パターンが含まれる。なお、前述したように、垂直多関節ロボットからなるロボット2において、その軸数は6軸に限定されるものではなく、任意である。このため、ロボット2の行動パターンを規定する行動要素に含まれる各軸における回転角及び回転速度パターンは、軸数に応じたものとなる。
 把持角θは、ハンド部26においてワークWを把持するための2つの爪部の成す角度である(図2参照)。把持位置HPは、ハンド部26が一のワークWを取り出すときの、当該一のワークWを把持する位置を表す。第1軸2Aにおける回転角β1は、ロボット2の状態が移行されるときの胴部22の第1軸2A回りの回転角を表す。胴部22は第1軸2A回りに正逆両方向に回転可能であるので、回転角β1は、胴部22が正方向に回転するときには「正;プラス」の回転角で示され、胴部22が逆方向に回転するときには「負;マイナス」の回転角で示される。第2軸2Bにおける回転角β2は、ロボット2の状態が移行されるときの第1アーム23の第2軸2B回りの回転角を表す。第1アーム23は第2軸2B回りに正逆両方向に回転可能であるので、回転角β2は、第1アーム23が正方向に回転するときには「正;プラス」の回転角で示され、第1アーム23が逆方向に回転するときには「負;マイナス」の回転角で示される。第3軸2Cにおける回転角β3は、ロボット2の状態が移行されるときのアームベース241の第3軸2C回りの回転角を表す。アームベース241は第3軸2C回りに正逆両方向に回転可能であるので、回転角β3は、アームベース241が正方向に回転するときには「正;プラス」の回転角で示され、アームベース241が逆方向に回転するときには「負;マイナス」の回転角で示される。
 第4軸2Dにおける回転角β4は、ロボット2の状態が移行されるときのアーム部242の第4軸2D回りの回転角を表す。アーム部242は第4軸2D回りに正逆両方向に回転可能であるので、回転角β4は、アーム部242が正方向に回転するときには「正;プラス」の回転角で示され、アーム部242が逆方向に回転するときには「負;マイナス」の回転角で示される。第5軸2Eにおける回転角β5は、ロボット2の状態が移行されるときの手首部25の第5軸2E回りの回転角を表す。手首部25は第5軸2E回りに正逆両方向に回転可能であるので、回転角β5は、手首部25が正方向に回転するときには「正;プラス」の回転角で示され、手首部25が逆方向に回転するときには「負;マイナス」の回転角で示される。第6軸2Fにおける回転角β6は、ロボット2の状態が移行されるときのハンド部26の第6軸2F回りの回転角を表す。ハンド部26は第6軸2F回りに正逆両方向に回転可能であるので、回転角β6は、ハンド部26が正方向に回転するときには「正;プラス」の回転角で示され、ハンド部26が逆方向に回転するときには「負;マイナス」の回転角で示される。
 各軸2A~2Fにおける回転速度パターンは、各軸回りの回転速度のパターンを表し、図5に示す第1パターン、第2パターン及び第3パターンに区分される。回転速度の第1パターンは、時間経過に伴って回転速度が直線的に上昇する上昇領域と、当該上昇領域の終端から時間経過に伴って回転速度が直線的に下降する下降領域との、2つの領域からなる。回転速度の第2パターンは、時間経過に伴って回転速度が直線的に上昇する上昇領域と、当該上昇領域の終端から一定時間の間で回転速度が等速となる等速領域と、等速領域の終端から時間経過に伴って回転速度が直線的に下降する下降領域との、3つの領域からなる。回転速度の第3パターンは、時間経過に伴って回転速度が曲線的に上昇する上昇領域と、当該上昇領域の終端から時間経過に伴って回転速度が曲線的に下降する下降領域との、2つの領域からなる。
 行動観測部62は、各行動要素に基づいて、ロボット2の状態が移行されるときの行動パターンを認識することができる。
 (変位量観測部について)
 図6は、変位量観測部63の動作を説明するための図である。変位量観測部63は、ロボット2の状態が状態S2から状態S3へ移行されるとき、すなわち、容器CN内の一のワークWがハンド部26によって取り出される取り出し動作が行われたときの、ワーク変位量を観測する。ワーク変位量は、ハンド部26によって取り出された一のワーク以外の他のワークWの容器CN内での変位量を表す。変位量観測部63は、撮像装置3から出力される、ロボット2の取り出し動作の前後における各画像データに基づいて、他のワークWのワーク変位量を観測する。
 図6に示す例では、ロボット2の取り出し動作前において、撮像装置3におけるカメラ31の撮像動作によって基準画像GSが取得され、画像処理部32の基準画像GSに対する画像処理によって基準画像データGDSが生成されている。基準画像GSには、容器CN内にバラ積み状態で収容される3つのワークW1,W2,W3について、ワークW1に対応した画像領域GW1と、ワークW2に対応した画像領域GW2と、ワークW3に対応した画像領域GW3とが含まれている。また、基準画像データGDSには、ワークW1の三次元位置情報としての座標値(X1,Y1,Z1)に関する情報と、ワークW2の三次元位置情報としての座標値(X2,Y2,Z2)に関する情報と、ワークW3の三次元位置情報としての座標値(X3,Y3,Z3)に関する情報とが含まれている。
 また、図6に示す例では、ロボット2の取り出し動作後において、撮像装置3におけるカメラ31の撮像動作によって第1画像G1、第2画像G2及び第3画像G3が取得され、画像処理部32の各画像G1,G2,G3に対する画像処理によって第1画像データGD1、第2画像データGD2及び第3画像データGD3がそれぞれ生成されている。
 第1画像G1及び第1画像データGD1は、ロボット2の行動パターンA1によってワークW3が取り出された後の画像及び画像データを示している。第1画像G1には、行動パターンA1によるワークW3の取り出し後におけるワークW1,W2について、ワークW1に対応した画像領域GW1と、ワークW2に対応した画像領域GW2とが含まれている。また、第1画像データGD1には、ワークW1の三次元位置情報としての座標値(X11,Y11,Z11)に関する情報と、ワークW2の三次元位置情報としての座標値(X21,Y21,Z21)に関する情報とが含まれている。
 第2画像G2及び第2画像データGD2は、ロボット2の行動パターンA2によってワークW3が取り出された後の画像及び画像データを示している。第2画像G2には、行動パターンA2によるワークW3の取り出し後におけるワークW1,W2について、ワークW1に対応した画像領域GW1と、ワークW2に対応した画像領域GW2とが含まれている。また、第2画像データGD2には、ワークW1の三次元位置情報としての座標値(X12,Y12,Z12)に関する情報と、ワークW2の三次元位置情報としての座標値(X22,Y22,Z22)に関する情報とが含まれている。
 第3画像G3及び第3画像データGD3は、ロボット2の行動パターンA3によってワークW2が取り出された後の画像及び画像データを示している。第3画像G3には、行動パターンA3によるワークW2の取り出し後におけるワークW1,W3について、ワークW1に対応した画像領域GW1と、ワークW3に対応した画像領域GW3とが含まれている。また、第3画像データGD3には、ワークW1の三次元位置情報としての座標値(X13,Y13,Z13)に関する情報と、ワークW3の三次元位置情報としての座標値(X33,Y33,Z33)に関する情報とが含まれている。
 変位量観測部63は、基準画像データGDSと第1画像データGD1とに基づいて、行動パターンA1によってワークW3が取り出されたときの、ワークW1,W2の容器CN内での変位量を表す第1ワーク変位量WD1を観測する。第1ワーク変位量WD1は、ワークW1のワーク変位量(XD11,YD11,ZD11)と、ワークW2のワーク変位量(XD21,YD21,ZD21)とを含む。ワークW1のワーク変位量において「XD11」は、基準画像データGDSに含まれるワークW1の三次元位置情報におけるX座標値「X1」と、第1画像データGD1に含まれるワークW1の三次元位置情報におけるX座標値「X11」との差分を示す。また、ワークW1のワーク変位量において「YD11」は、基準画像データGDSに含まれるワークW1の三次元位置情報におけるY座標値「Y1」と、第1画像データGD1に含まれるワークW1の三次元位置情報におけるY座標値「Y11」との差分を示す。また、ワークW1のワーク変位量において「ZD11」は、基準画像データGDSに含まれるワークW1の三次元位置情報におけるZ座標値「Z1」と、第1画像データGD1に含まれるワークW1の三次元位置情報におけるZ座標値「Z11」との差分を示す。
 同様に、ワークW2のワーク変位量において「XD21」は、基準画像データGDSに含まれるワークW2の三次元位置情報におけるX座標値「X2」と、第1画像データGD1に含まれるワークW2の三次元位置情報におけるX座標値「X21」との差分を示す。また、ワークW2のワーク変位量において「YD21」は、基準画像データGDSに含まれるワークW2の三次元位置情報におけるY座標値「Y2」と、第1画像データGD1に含まれるワークW2の三次元位置情報におけるY座標値「Y21」との差分を示す。また、ワークW2のワーク変位量において「ZD21」は、基準画像データGDSに含まれるワークW2の三次元位置情報におけるZ座標値「Z2」と、第1画像データGD1に含まれるワークW2の三次元位置情報におけるZ座標値「Z21」との差分を示す。
 基準画像GSと第1画像G1との比較から明らかなように、行動パターンA1によるワークW3の取り出し後においてワークW1,W2の位置は、ワークW3の取り出し前の位置と比較して、殆ど変化していない。このため、変位量観測部63によって観測された第1ワーク変位量WD1に含まれるワークW1のワーク変位量(XD11,YD11,ZD11)の各値と、ワークW2のワーク変位量(XD21,YD21,ZD21)の各値とは、「0;ゼロ」に近い値を示すことになる。
 また、変位量観測部63は、基準画像データGDSと第2画像データGD2とに基づいて、行動パターンA2によってワークW3が取り出されたときの、ワークW1,W2の容器CN内での変位量を表す第2ワーク変位量WD2を観測する。第2ワーク変位量WD2は、ワークW1のワーク変位量(XD12,YD12,ZD12)と、ワークW2のワーク変位量(XD22,YD22,ZD22)とを含む。ワークW1のワーク変位量において「XD12」は、基準画像データGDSに含まれるワークW1の三次元位置情報におけるX座標値「X1」と、第2画像データGD2に含まれるワークW1の三次元位置情報におけるX座標値「X12」との差分を示す。また、ワークW1のワーク変位量において「YD12」は、基準画像データGDSに含まれるワークW1の三次元位置情報におけるY座標値「Y1」と、第2画像データGD2に含まれるワークW1の三次元位置情報におけるY座標値「Y12」との差分を示す。また、ワークW1のワーク変位量において「ZD12」は、基準画像データGDSに含まれるワークW1の三次元位置情報におけるZ座標値「Z1」と、第2画像データGD2に含まれるワークW1の三次元位置情報におけるZ座標値「Z12」との差分を示す。
 同様に、ワークW2のワーク変位量において「XD22」は、基準画像データGDSに含まれるワークW2の三次元位置情報におけるX座標値「X2」と、第2画像データGD2に含まれるワークW2の三次元位置情報におけるX座標値「X22」との差分を示す。また、ワークW2のワーク変位量において「YD22」は、基準画像データGDSに含まれるワークW2の三次元位置情報におけるY座標値「Y2」と、第2画像データGD2に含まれるワークW2の三次元位置情報におけるY座標値「Y22」との差分を示す。また、ワークW2のワーク変位量において「ZD22」は、基準画像データGDSに含まれるワークW2の三次元位置情報におけるZ座標値「Z2」と、第2画像データGD2に含まれるワークW2の三次元位置情報におけるZ座標値「Z22」との差分を示す。
 基準画像GSと第2画像G2との比較から明らかなように、行動パターンA2によるワークW3の取り出し後においてワークW1の位置は、ワークW3の取り出し前の位置と比較して殆ど変化していないが、ワークW2の位置は変化している。このため、変位量観測部63によって観測された第2ワーク変位量WD2に含まれるワークW1のワーク変位量(XD12,YD11,ZD11)の各値は「0;ゼロ」に近い値を示すが、ワークW2のワーク変位量(XD22,YD22,ZD22)の各値はワークW2の変位に応じた値を示すことになる。
 また、変位量観測部63は、基準画像データGDSと第3画像データGD3とに基づいて、行動パターンA3によってワークW2が取り出されたときの、ワークW1,W3の容器CN内での変位量を表す第3ワーク変位量WD3を観測する。第3ワーク変位量WD3は、ワークW1のワーク変位量(XD13,YD13,ZD13)と、ワークW3のワーク変位量(XD33,YD33,ZD33)とを含む。ワークW1のワーク変位量において「XD13」は、基準画像データGDSに含まれるワークW1の三次元位置情報におけるX座標値「X1」と、第3画像データGD3に含まれるワークW1の三次元位置情報におけるX座標値「X13」との差分を示す。また、ワークW1のワーク変位量において「YD13」は、基準画像データGDSに含まれるワークW1の三次元位置情報におけるY座標値「Y1」と、第3画像データGD3に含まれるワークW1の三次元位置情報におけるY座標値「Y13」との差分を示す。また、ワークW1のワーク変位量において「ZD13」は、基準画像データGDSに含まれるワークW1の三次元位置情報におけるZ座標値「Z1」と、第3画像データGD3に含まれるワークW1の三次元位置情報におけるZ座標値「Z13」との差分を示す。
 同様に、ワークW3のワーク変位量において「XD33」は、基準画像データGDSに含まれるワークW2の三次元位置情報におけるX座標値「X3」と、第3画像データGD3に含まれるワークW3の三次元位置情報におけるX座標値「X33」との差分を示す。また、ワークW3のワーク変位量において「YD33」は、基準画像データGDSに含まれるワークW3の三次元位置情報におけるY座標値「Y3」と、第3画像データGD3に含まれるワークW3の三次元位置情報におけるY座標値「Y33」との差分を示す。また、ワークW3のワーク変位量において「ZD33」は、基準画像データGDSに含まれるワークW3の三次元位置情報におけるZ座標値「Z3」と、第3画像データGD3に含まれるワークW3の三次元位置情報におけるZ座標値「Z33」との差分を示す。
 基準画像GSと第3画像G3との比較から明らかなように、行動パターンA3によるワークW2の取り出し後においてワークW1の位置は、ワークW3の取り出し前の位置と比較して殆ど変化していないが、ワークW3の位置は変化している。このため、変位量観測部63によって観測された第3ワーク変位量WD3に含まれるワークW1のワーク変位量(XD13,YD13,ZD13)の各値は「0;ゼロ」に近い値を示すが、ワークW3のワーク変位量(XD33,YD33,ZD33)の各値はワークW3の変位に応じた値を示すことになる。
 なお、変位量観測部63は、ロボット2の取り出し動作の前後における実画像を用いた各画像データに基づきワーク変位量を観測する態様に限定されるものではなく、例えばVR(Virtual)画像を用いた各画像データに基づきワーク変位量を観測する態様であってもよい。つまり、変位量観測部63は、ロボット2の取り出し動作の前後におけるワークWの配置状態をVR空間に再現し、そのVR空間に再現したワークWのVR画像を用いて三次元位置情報を算出し、当該算出結果に基づきワーク変位量を取得するように構成されていてもよい。
 (学習部について)
 図7は、学習部64の動作を説明するための図である。学習部64は、ロボット2の状態が移行されるときのロボット2の最適な行動パターンを学習する。つまり、学習部64は、ロボット2の状態が状態S1から状態S2へ移行されるときのロボット2の最適な行動パターンと、状態S2から状態S3へ移行されるときのロボット2の最適な行動パターンと、状態S3から状態S4へ移行されるときのロボット2の最適な行動パターンとを、それぞれ学習する。なお、以下では、ロボット2の状態が状態S1から状態S2へ移行されるとき、並びに、ロボット2の状態が状態S3から状態S4へ移行されるときのロボット2の最適な行動パターンについては、既に学習済みであるとして、状態S2から状態S3へ移行されるときのロボット2の行動パターンの学習について、詳細に説明する。すなわち、以下では、ハンド部26が容器CNから一のワークWを取り出すときの、ロボット2の行動パターンの学習について説明する。
 学習部64は、ハンド部26が容器CNから一のワークWを取り出すときの、変位量観測部63により観測されたワーク変位量に応じた他のワークWへの影響度を、行動観測部62により観測されたロボット2の行動パターンと対応付けて学習する。学習部64は、ロボット2の行動パターンとワーク変位量とを関連付けた教師データTDに基づいて、一のワークWの取り出し時における他のワークWへの影響度を学習する。図7に示す例では、教師データTDは、前述の図6で説明した、行動パターンA1と第1ワーク変位量WD1とが関連付けられ、行動パターンA2と第2ワーク変位量WD2とが関連付けられ、行動パターンA3と第3ワーク変位量WD3とが関連付けられたデータである。
 学習部64は、図1に示すように、報酬設定部641と価値関数更新部642とを含んで構成される。
 報酬設定部641は、行動観測部62により観測されたロボット2の一のワークWの取り出し時における行動パターンに対し、ワーク変位量に応じた他のワークWへの影響度IMを設定するとともに、ワーク変位量に応じた報酬Rを設定する。他のワークWへの影響度IMは、変位量観測部62により観測された他のワークWのワーク変位量に相関した値に設定され、ワーク変位量が小さいほど影響度が小さくなるように設定される。報酬設定部641は、ワーク変位量が所定の閾値WDT未満となるロボット2の行動パターンに対しては、第1の値R1(例えば0(ゼロ)よりも大きい「100」)の報酬Rを与え、ワーク変位量が閾値WDT以上となるロボット2の行動パターンに対しては、前記第1の値R1よりも小さい第2の値R2(例えば0(ゼロ))の報酬Rを与える。
 図7に示す例では、報酬設定部641は、閾値WDT未満の第1ワーク変位量WD1に対応した行動パターンA1に対しては、第1ワーク変位量WD1に応じた影響度IMとして「IM1」を設定し、更に「0;ゼロ」よりも大きい第1の値R1の報酬Rを与えている。また、報酬設定部641は、閾値WDT以上の第2ワーク変位量WD2に対応した行動パターンA2に対しては、第2ワーク変位量WD2に応じた影響度IMとして「IM2」を設定し、更に第2の値R2(0;ゼロ)の報酬Rを与えている。また、報酬設定部641は、閾値WDT以上の第3ワーク変位量WD3に対応した行動パターンA3に対しては、第3ワーク変位量WD3に応じた影響度IMとして「IM3」を設定し、更に第2の値R2(0;ゼロ)の報酬Rを与えている。
 価値関数更新部642は、ロボット2の行動パターンの価値Q(s,a)を規定する価値関数を、報酬設定部641により設定された報酬Rに応じて更新する。価値関数更新部642は、下記式(1)で示される価値Q(s,a)の更新式を用いて価値関数を更新する。
Figure JPOXMLDOC01-appb-M000001
 上記式(1)において、「s」は、ロボット2の状態(状態S2)を表し、「a」は、行動パターン(行動A1、行動A2、行動A3)に従ったロボット2の行動を表す。行動「a」によってロボット2の状態が、状態「s」(状態S2)から状態「s’」(状態S3)へ移行する。R(s,a)は、その状態の移行により得られた報酬Rを表している。「max」が付された項は、状態「s’」において最も価値の高い行動「a’」を選択した場合の価値Q(s’,a’)に「γ」を乗算したものになる。「γ」は、減衰率と呼ばれるパラメータであり、0<γ≦1の範囲(例えば0.9)とされる。また、「α」は、学習率と呼ばれるパラメータであり、0<α≦1の範囲(例えば0.1)とされる。
 上記式(1)は、行動「a」に対して報酬設定部641により設定された報酬R(s,a)に基づいて、状態「s」における行動「a」の価値Q(s,a)を更新する更新式を表している。すなわち、上記式(1)は、状態「s」における行動「a」の価値Q(s,a)よりも、状態「s’」における行動「a’」の価値Q(s’,a’)と報酬R(s,a)との合計値の方が大きければ、価値Q(s,a)を大きくし、反対に小さければ、価値Q(s,a)を小さくすることを示している。つまり、価値関数更新部642は、上記式(1)で示される更新式を用いて価値関数を更新することによって、或る状態「s」における或る行動「a」の価値Q(s,a)を、その行動「a」に対して設定される報酬Rと、その行動「a」による次の状態「s’」における最良の行動「a’」の価値Q(s’,a’)に近付けるようにしている。
 (学習処理部により実行される学習処理について)
 以上説明したように、機械学習装置5の学習処理部6は、状態観測部61、行動観測部62、変位量観測部63及び学習部64を備えている。この学習処理部6により実行される学習処理について、図8のフローチャートを参照して説明する。
 まず、変位量観測部63は、撮像装置3から出力された、ロボット2の取り出し動作前における基準画像データGDS(図6)を取得する(ステップa1)。次に、状態観測部61は、ロボット2の状態を観測する(ステップa2)。より詳しくは、状態観測部61は、ロボット2の状態が移行されるごとに変化する状態変数(ΔX,ΔY,ΔZ,p)に基づいて、ロボット2の状態が状態S2から状態S3へ移行されたことを観測する。そして、行動観測部62は、ロボット2の状態が状態S2から状態S3へ移行されるときの、すなわち、容器CN内の一のワークWがハンド部26によって取り出される取り出し動作が行われたときの、ロボット2の行動パターンを観測する(ステップa3)。より詳しくは、行動観測部62は、ロボット2の行動パターンを規定する各行動要素(把持角θ、把持位置HP、各軸における回転角β1~β6及び回転速度パターン)に基づいて、状態S2から状態S3への状態移行時におけるロボット2の行動パターンを観測する。
 次に、変位量観測部63は、撮像装置3から出力された、行動観測部62により観測された行動パターンに従ったロボット2の取り出し動作後における画像データを取得する(ステップa4)。そして、変位量観測部63は、撮像装置3から出力された、ロボット2の取り出し動作前後における各画像データに基づいて、容器CNからの一のワークWの取り出しによる、他のワークWのワーク変位量を観測する(ステップa5)。
 次に、学習部64の報酬設定部641は、ワーク変位量に応じた他のワークWへの影響度IMをロボット2の行動パターンと対応付けて設定するとともに、ワーク変位量が所定の閾値WDT未満であるか否かを判定する(ステップa6)。報酬設定部641は、ワーク変位量が閾値WDT未満となるロボット2の行動パターンに対しては「0;ゼロ」より大きい報酬Rを与える(ステップa7)。報酬設定部641は、ワーク変位量が閾値WDT以上となるロボット2の行動パターンに対しては「0;ゼロ」の報酬Rを与える(ステップa8)。
 次に、学習部64の価値関数更新部642は、ロボット2の行動パターンの価値Q(s,a)を規定する価値関数を、上記式(1)の更新式を用いて更新する(ステップa9)。上記のステップa1~ステップa9で示される各処理が、学習処理部6による学習処理の1サイクルにおいて実行される処理である。学習処理部6は、所定の学習回数に達したか否かを判定する(ステップa10)。所定の学習回数に達するまでステップa1~ステップa9で示される各処理が繰り返される。
 学習処理部6においては、容器CNから一のワークWを取り出すときのロボット2の行動パターンが行動観測部62によって観測され、ロボット2の取り出し動作による容器CN内での他のワークWのワーク変位量が変位量観測部63によって観測される。そして、学習部64は、ロボット2の行動パターンとワーク変位量とを関連付けた教師データTDに基づいて、容器CNから一のワークWを取り出すときの、ワーク変位量に応じた他のワークWへの影響度IMを、行動パターンと対応付けて学習する。
 ワーク変位量は、容器CNから一のワークWが取り出されるときの、他のワークWに対する衝撃力の作用や他のワークWの崩れ度合いの指標となる。つまり、ワーク変位量が小さいほど、他のワークWに対する衝撃力や崩れ度合いが小さくなり、これに応じて他のワークWへの影響度IMが小さくなる。学習部64は、ワーク変位量に応じた他のワークWへの影響度IMを行動パターンと対応付けて学習するので、容器CNから一のワークWを取り出すときの、他のワークWへの影響度IMが小さくなるようなロボット2の行動パターンを学習することができる。このため、他のワークWへの影響度が小さく、ワークWの破損等を抑止可能なロボット2の最適な取り出し動作を学習することができる。
 また、行動観測部62が観測するロボット2の行動パターンを規定する行動要素には、ハンド部26が一のワークWを取り出すときの、当該一のワークWに対する把持位置HPが含まれている。行動観測部62が観測するロボット2の行動パターンは、学習部64がロボット2の動作を学習するときに用いる教師データTDを構成する。この教師データTDを構成するロボット2の行動パターンを規定する行動要素の一要素として、ハンド部26のワークWに対する把持位置HPが含まれることによって、学習部64は、他のワークWへの影響度IMが小さくなるような把持位置HPを加味したロボット2の行動パターンを学習することができる。
 <学習反映処理部について>
 機械学習装置5の学習反映処理部7は、学習処理部6による学習結果をロボット2の動作として反映させる学習反映処理を実行する部分である。学習反映処理部7は、学習処理部6の学習部64による影響度IMの学習後において、ロボット2が生産動作を実行するときに学習反映処理を実行する。ロボット2の生産動作とは、ハンド部26によって容器CNからワークWを取り出し、その取り出したワークWをパレットPLに載置するという、ロボット2の連続的な動作のことである。学習反映処理部7は、図1に示すように、行動決定部71と、順位設定部72と、更新部73とを含んで構成される。学習反映処理部7を構成する各部について、図9A、図9B、図10A、図10B及び図11を参照して、以下に説明する。図9A及び図9Bは、行動決定部71によって生成される行動パターン決定情報JH1,JH1Aを説明するための図である。図10A及び図10Bは、順位設定部72によって生成される行動指令情報JH2,JH2Aを説明するための図である。図11は、学習反映処理部7により実行される学習反映処理を示すフローチャートである。
 (行動決定部について)
 行動決定部71は、学習部64による影響度IMの学習後において、ロボット2の生産動作が開始されるときに、画像データの出力を要求する撮像要求情報を、制御装置4を介して撮像装置3に送信する。行動決定部71は、前記撮像要求情報に応答して撮像装置3から出力されたロボット2の取り出し動作前の画像データを取得する(図11のステップb1)。行動決定部71は、取得した画像データに基づき容器CN内での複数のワークWのバラ積み状況を認識する。そして、行動決定部71は、ハンド部26によって容器CNから各ワークWを取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小となる行動パターンを、ワークW毎に決定する(図11のステップb2)。
 行動決定部71は、ワークW毎の行動パターンの決定結果を表す情報として、図9Aに例示される行動パターン決定情報JH1を生成する(図11のステップb3)。行動パターン決定情報JH1は、容器CN内の各ワークWを特定するためのワーク種情報J11と、ワークW毎の行動パターンを表す行動パターン情報J12と、一のワークWを取り出す際の他のワークWへの影響度IMを表す影響度情報J13とが関連付けられた情報である。
 図9Aに例示される行動パターン決定情報JH1について詳細に説明すると、次の通りである。行動決定部71は、撮像装置3から出力された画像データに基づいて、容器CN内での各ワーク「W1」,「W2」,「W3」,「W4」,「W5」等のバラ積み状況を認識する。そして、行動決定部71は、ワーク「W1」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「20」に対応付けられた行動パターン「行動A1」を決定する。また、行動決定部71は、ワーク「W2」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「10」に対応付けられた行動パターン「行動A2」を決定する。また、行動決定部71は、ワーク「W3」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「1」に対応付けられた行動パターン「行動A3」を決定する。また、行動決定部71は、ワーク「W4」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「0.5」に対応付けられた行動パターン「行動A4」を決定する。また、行動決定部71は、ワーク「W5」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「0.1」に対応付けられた行動パターン「行動A5」を決定する。以上説明したような、行動決定部71によるワークW毎の行動パターンの決定結果を、ワーク種情報J11と行動パターン情報J12と影響度情報J13とを関連付けて表した情報が、行動パターン決定情報JH1である。
 行動決定部71によって生成された行動パターン決定情報JH1は、制御装置4に向けて出力される。行動パターン決定情報JH1が入力された制御装置4は、当該行動パターン決定情報JH1に基づいて、ロボット2の取り出し動作を制御することができる。
 行動決定部71は、学習部64による学習結果をロボット2の実際の生産時における取り出し動作に反映させるために、容器CNから各ワークWを取り出すときのロボット2の行動パターンとして影響度IMが最小となる行動パターンを、ワークW毎に決定する。ロボット2は、実際の生産時において、行動決定部71により決定されたワークW毎の行動パターンに従うことによって、他のワークWへの影響度IMが小さく、ワークWの破損等を抑止可能な最適な取り出し動作を実行することができる。
 また、行動決定部71は、撮像装置3から出力された1回の撮像による画像データに基づき、容器CN内の各ワークWに対するロボット2の行動パターンを決定する。つまり、実際の生産時においては、ワークWを取り出すときのロボット2の行動パターンを決定するために、ワークWが取り出される度に撮像装置3による撮像が行われるわけではない。1回の撮像による画像データに基づき容器CN内の各ワークWに対するロボット2の行動パターンが決定され、この決定された行動パターンに従ってロボット2は、複数のワークWを順次取り出すことができる。これにより、実際の生産時においては、撮像装置3による撮像回数を少なくすることができるため、撮像に起因したロボット2の待機時間を短縮することが可能となり、生産効率の向上を図ることができる。なお、ロボット2が双腕型のロボットや複数のハンド部26を備えたロボットにより構成されていた場合には、行動決定部71により決定された行動パターンに従って複数のワークWを連続的に取り出すことができる。このため、双腕型のロボットや複数のハンド部26を備えたロボットの場合には、更なる生産効率の向上を図ることができる。
 また、行動決定部71は、後述の更新部73から出力された行動パターン決定情報JH1の更新を要求する更新要求情報を受付けると、ロボット2の行動パターンの決定動作を更新し、図9Bに例示される更新された行動パターン決定情報JH1Aを生成するとともに、それを制御装置4に向けて出力する。更新された行動パターン決定情報JH1Aが入力された制御装置4は、当該行動パターン決定情報JH1Aに基づいて、ロボット2の取り出し動作を制御することができる。更新された行動パターン決定情報JH1Aの詳細については、後述する。
 (順位設定部について)
 順位設定部72は、行動パターン決定情報JH1を参照し、行動決定部71により決定されたロボット2の行動パターンに基づき容器CNから各ワークWを取り出すときの取り出し順位を、影響度IMが小さいものほど上位となるように設定する(図11のステップb4)。
 順位設定部72は、取り出し順位の設定結果を表す情報として、図10Aに例示される行動指令情報JH2を生成する(図11のステップb5)。行動指令情報JH2は、影響度IMの基準値IMSを表す影響基準値情報J21と、行動リスト情報J22とを含む。影響基準値情報J21にて表される基準値IMSは、後述の更新部73がロボット2の取り出し動作を監視するときに参照される。行動リスト情報J22は、前記ワーク種情報J11と前記行動パターン情報J12と前記影響度情報J13とを関連付けたデータが、順位設定部72により設定されたワークWの取り出し順位の順番に並べられてリスト化された情報である。つまり、行動リスト情報J22は、前記ワーク種情報J11と前記行動パターン情報J12と前記影響度情報J13とを関連付けたデータが、前記影響度情報J13にて表される影響度IMの小さいものから順番に並べられた情報である。
 順位設定部72によって生成された行動指令情報JH2は、制御装置4に向けて出力される(図11のステップb6)。行動指令情報JH2が入力された制御装置4は、当該行動指令情報JH2に含まれる行動リスト情報J22に基づいて、ワークWの取り出し順位に従ったロボット2の取り出し動作を制御することができる。なお、行動指令情報JH2に含まれる行動リスト情報J22は、行動決定部71により生成される行動パターン決定情報JH1と比較して、前記ワーク種情報J11と前記行動パターン情報J12と前記影響度情報J13とを関連付けたデータの並び順が異なる以外は同じである。このため、行動指令情報JH2が制御装置4に向けて出力される場合には、行動パターン決定情報JH1の制御装置4への出力は省略される。
 上記のように、順位設定部72は、容器CNから各ワークWを取り出すときの取り出し順位を設定する。ロボット2は、実際の生産時において、順位設定部72により設定された取り出し順位に従って容器CNから各ワークWを取り出せばよい。これにより、ロボット2は、他のワークWへの影響度IMが小さいものから順番に取り出し動作を実行することができる。
 また、順位設定部72は、後述の更新部73から出力された行動指令情報JH2の更新を要求する更新要求情報を受付けると、ワークWの取り出し順位の設定動作を更新し、図10Bに例示される更新された行動指令情報JH2Aを生成するとともに、それを制御装置4に向けて出力する。更新された行動指令情報JH2Aが入力された制御装置4は、当該行動指令情報JH2Aに含まれる行動リスト情報J22に基づいて、ワークWの取り出し順位に従ったロボット2の取り出し動作を制御することができる。更新された行動指令情報JH2Aの詳細については、後述する。
 (更新部について)
 更新部73は、行動指令情報JH2に含まれる行動リスト情報J22に基づく制御装置4の制御によるロボット2の生産動作時において、順位設定部72によって設定されたワークWの取り出し順位に従ったロボット2の取り出し動作を監視する(図11のステップb7)。そして、更新部73は、影響度情報J13にて表される影響度IMが影響基準値情報J21にて表される所定の基準値IMS未満となる順位の全てのワークWの容器CNからの取り出しが完了したか否かを判定する(図11のステップb8)。影響度IMが基準値IMS未満となる順位の全てのワークWの取り出しが完了したと判定した場合には、更新部73は、影響度IMが基準値IMS以上となる順位のワークWが存在するか否かを判定する(図11のステップb9)。
 更新部73は、影響度IMが基準値IMS未満となる順位の全てのワークWの取り出しが完了し、且つ、影響度IMが基準値IMS以上となる順位のワークWが存在する場合に、行動決定部71による行動パターンの決定動作と、順位設定部72によるワークWの取り出し順位の設定動作とを更新させる。更新部73は、行動パターン決定情報JH1の更新を要求する更新要求情報を行動決定部71に向けて出力し、行動指令情報JH2の更新を要求する更新要求情報を順位設定部72に向けて出力することにより、行動決定部71及び順位設定部72の双方の動作を更新させる(図11のステップb10)。
 図10Aに示す行動指令情報JH2を参照して更新部73の動作を説明する。制御装置4によって制御されたロボット2は、行動リスト情報J22に登録された取り出し順位に従って、影響度情報J13にて表される影響度IMが小さいワークWから順番に、行動パターン情報J12にて表される行動パターンに基づく取り出し動作を実行する。更新部73は、このロボット2の取り出し動作を監視する。図10Aに示す例では、取り出し順位が「1~3」のワークW5,W4,W3は、影響度IMが基準値IMS(例えば「2」)未満となる順位のワークWである。一方、取り出し順位が「4」以降のワークW2等は、影響度IMが基準値IMS以上となる順位のワークWである。このような場合、更新部73は、取り出し順位が「1~3」の全てのワークW5,W4,W3の取り出しが完了したときに、前記更新要求情報を行動決定部71及び順位設定部72の双方に向けて出力し、当該双方の動作を更新させる。
 影響度IMが基準値IMS未満となる行動パターンに基づくワークWの取り出し動作は、他のワークWへの影響度IMが比較的小さく、ワークWの破損等を抑止可能な取り出し動作であると言える。一方、影響度IMが基準値IMS以上となる行動パターンに基づくワークWの取り出し動作は、他のワークWへの影響度IMが比較的大きく、ワークWの破損等を招来する可能性がある。
 ロボット2は、実際の生産時において、順位設定部72により設定された取り出し順位に従って、影響度IMが基準値IMS未満となる順位の全てのワークWを容器CNから順次取り出せばよい。これにより、ロボット2は、他のワークWへの影響度IMが比較的小さく、ワークWの破損等を抑止可能な範囲の全てのワークWを連続的に取り出すことができる。
 影響度IMが基準値IMS未満となる順位の全てのワークWのロボット2による取り出し動作が完了したときには、容器CN内において残りのワークWのバラ積み状況が、取り出し動作前に比べて変化している。そこで、この時点で更新部73は、行動決定部71による行動パターンの決定動作と、順位設定部72による取り出し順位の設定動作とを更新させる。つまり、影響度IMが基準値IMS未満となる順位の全てのワークWのロボット2による取り出し動作が完了したときに、撮像装置3から出力される新たな画像データに基づく行動決定部71による行動パターンの決定動作と、順位設定部72による取り出し順位の設定動作との、更新された動作が、ワークWの取り出し動作の前に実施される。
 (行動決定部の更新動作について)
 行動決定部71は、更新部73から出力された前記更新要求情報を受付けると、前述した図11に示すステップb1~ステップb3を繰り返すことにより、ロボット2の行動パターンの決定動作を更新し、図9Bに例示される更新された行動パターン決定情報JH1Aを生成する。
 図9Bに例示される更新された行動パターン決定情報JH1Aについて詳細に説明すると、次の通りである。行動決定部71は、更新部73からの前記更新要求情報の受付け後において撮像装置3から出力された新たな画像データに基づいて、影響度IMが基準値IMS未満となる順位の全てのワークW5,W4,W3の取り出し後に容器CN内に残る各ワーク「W1」,「W2」,「W6」,「W7」,「W8」等のバラ積み状況を、認識する。前述したように、影響度IMが基準値IMS未満となる順位の全てのワークWのロボット2による取り出し動作が完了したときには、容器CN内において残りのワークWのバラ積み状況が、取り出し動作前に比べて変化している。このため、容器CN内に残ったワークWに対応する影響度IMも変化することになる。
 行動決定部71は、ワーク「W1」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「0.2」に対応付けられた行動パターン「行動A11」を決定する。また、行動決定部71は、ワーク「W2」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「0.01」に対応付けられた行動パターン「行動A21」を決定する。また、行動決定部71は、ワーク「W6」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「0.3」に対応付けられた行動パターン「行動A61」を決定する。また、行動決定部71は、ワーク「W7」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「20」に対応付けられた行動パターン「行動A71」を決定する。また、行動決定部71は、ワーク「W8」を容器CNから取り出すときのロボット2の行動パターンとして、学習部64によって学習された影響度IMが最小の「40」に対応付けられた行動パターン「行動A81」を決定する。以上説明したような、行動決定部71によるワークW毎の行動パターンの更新された決定結果を、ワーク種情報J11と行動パターン情報J12と影響度情報J13とを関連付けて表した情報が、更新された行動パターン決定情報JH1Aである。
 行動決定部71は、影響度IMが基準値IMS未満となる順位の全てのワークWのロボット2による取り出し動作後において、容器CN内に残った各ワークWを取り出すときのロボット2の行動パターンとして、影響度IMが最小となる行動パターンをワークW毎に更新して決定する。ロボット2は、実際の生産時において、行動決定部71により更新して決定されたワークW毎の行動パターンに従うことによって、他のワークWへの影響度IMが小さく、ワークWの破損等を抑止可能な最適な取り出し動作を実行することができる。
 (順位設定部の更新動作について)
 順位設定部72は、更新部73から出力された前記更新要求情報を受付けると、前述した図11に示すステップb4~ステップb6を繰り返すことにより、ワークWの取り出し順位の設定動作を更新し、図10Bに例示される更新された行動指令情報JH2Aを生成する。
 順位設定部72により更新された行動指令情報JH2Aに含まれる行動リスト情報J22は、行動決定部71により更新された行動パターン決定情報JH1Aと比較して、前記ワーク種情報J11と前記行動パターン情報J12と前記影響度情報J13とを関連付けたデータの並び順が異なる以外は同じである。行動リスト情報J22は、前記ワーク種情報J11と前記行動パターン情報J12と前記影響度情報J13とを関連付けたデータが、前記影響度情報J13にて表される影響度IMの小さいものから順番に並べられた情報である。
 順位設定部72により更新された行動指令情報JH2Aは、制御装置4に向けて出力される。行動指令情報JH2Aが入力された制御装置4は、当該行動指令情報JH2Aに含まれる行動リスト情報J22に基づいて、更新されたワークWの取り出し順位に従ったロボット2の取り出し動作を制御することができる。
 上記のように、順位設定部72は、容器CN内に残った各ワークWを取り出すときの取り出し順位を更新して設定する。ロボット2は、実際の生産時において、順位設定部72により更新された取り出し順位に従って容器CN内に残った各ワークWを取り出せばよい。これにより、ロボット2は、他のワークWへの影響度IMが小さいものから順番に取り出し動作を実行することができる。
 なお、上述した具体的実施形態には以下の構成を有する発明が主に含まれている。
 本発明の一の局面に係る機械学習装置は、複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットの動作を学習する装置である。この機械学習装置は、前記ハンド部によって前記容器から一のワークを取り出す取り出し動作における、前記ロボットの行動パターンを観測する行動観測部と、前記容器内を撮像する撮像装置から出力される、前記ロボットの前記取り出し動作の前後における各画像データに基づいて、前記容器内の前記一のワークが前記ハンド部によって取り出されたときの、前記一のワーク以外の他のワークの前記容器内での変位量を表すワーク変位量を観測する変位量観測部と、前記行動パターンと前記ワーク変位量とを関連付けた教師データに基づいて、前記ハンド部が前記容器から前記一のワークを取り出すときの、前記ワーク変位量に応じた前記他のワークへの影響度を、前記行動パターンと対応付けて学習する学習部と、を備える。
 この機械学習装置によれば、容器から一のワークを取り出すときのロボットの行動パターンが行動観測部によって観測され、ロボットの取り出し動作による容器内での他のワークの変位量が変位量観測部によって観測される。そして、学習部は、ロボットの行動パターンとワーク変位量とを関連付けた教師データに基づいて、容器から一のワークを取り出すときの、ワーク変位量に応じた他のワークへの影響度を、行動パターンと対応付けて学習する。
 ワーク変位量は、容器から一のワークが取り出されるときの、他のワークに対する衝撃力の作用や他のワークの崩れ度合いの指標となる。つまり、ワーク変位量が小さいほど、他のワークに対する衝撃力や崩れ度合いが小さくなり、これに応じて他のワークへの影響度が小さくなる。学習部は、ワーク変位量に応じた他のワークへの影響度を行動パターンと対応付けて学習するので、容器から一のワークを取り出すときの、他のワークへの影響度が小さくなるようなロボットの行動パターンを学習することができる。このため、他のワークへの影響度が小さく、ワークの破損等を抑止可能なロボットの最適な取り出し動作を学習することができる。
 上記の機械学習装置は、前記学習部による前記影響度の学習後において、前記ロボットの前記取り出し動作前の画像データが前記撮像装置から出力された場合、当該画像データに基づき前記容器内での複数のワークのバラ積み状況を認識し、前記ハンド部によって前記容器から各ワークを取り出すときの前記ロボットの行動パターンとして、前記影響度が最小となる行動パターンを、ワーク毎に決定する行動決定部を、更に備える構成であってもよい。
 この態様では、行動決定部は、学習部による学習結果をロボットの実際の取り出し動作に反映させるために、容器から各ワークを取り出すときのロボットの行動パターンとして影響度が最小となる行動パターンを、ワーク毎に決定する。ロボットは、実際の生産時において、行動決定部により決定されたワーク毎の行動パターンに従うことによって、他のワークへの影響度が小さく、ワークの破損等を抑止可能な最適な取り出し動作を実行することができる。
 また、行動決定部は、撮像装置から出力された1回の撮像による画像データに基づき、容器内の各ワークに対するロボットの行動パターンを決定する。つまり、実際の生産時においては、ワークを取り出すときのロボットの行動パターンを決定するために、ワークが取り出される度に撮像装置による撮像が行われるわけではない。1回の撮像による画像データに基づき容器内の各ワークに対するロボットの行動パターンが決定され、この決定された行動パターンに従ってロボットは、複数のワークを順次取り出すことができる。これにより、実際の生産時においては、撮像装置による撮像回数を少なくすることができるため、撮像に起因したロボットの待機時間を短縮することが可能となり、生産効率の向上を図ることができる。
 上記の機械学習装置は、前記行動決定部により決定された前記ロボットの行動パターンに基づき前記容器から各ワークを取り出すときの取り出し順位を、前記影響度が小さいものほど上位となるように設定する順位設定部を、更に備える構成であってもよい。
 この態様では、順位設定部は、容器から各ワークを取り出すときの取り出し順位を設定する。ロボットは、実際の生産時において、順位設定部により設定された取り出し順位に従って容器から各ワークを取り出せばよい。これにより、ロボットは、他のワークへの影響度が小さいものから順番に取り出し動作を実行することができる。
 上記の機械学習装置は、前記順位設定部によって設定された前記取り出し順位に従った前記ロボットの前記取り出し動作を監視し、前記影響度が所定の基準値未満となる順位の全てのワークの前記容器からの取り出しが完了したときに、前記行動決定部による行動パターンの決定動作と、前記順位設定部による前記取り出し順位の設定動作とを更新させる更新部を、更に備える構成であってもよい。
 影響度が基準値未満となる行動パターンに基づくワークの取り出し動作は、他のワークへの影響度が比較的小さく、ワークの破損等を抑止可能な取り出し動作であると言える。一方、影響度が基準値以上となる行動パターンに基づくワークの取り出し動作は、他のワークへの影響度が比較的大きく、ワークの破損等を招来する可能性がある。
 ロボットは、実際の生産時において、順位設定部により設定された取り出し順位に従って、影響度が基準値未満となる順位の全てのワークを容器から順次取り出せばよい。これにより、ロボットは、他のワークへの影響度が比較的小さく、ワークの破損等を抑止可能な範囲の全てのワークを連続的に取り出すことができる。このロボットによる取り出し動作が完了したときには、容器内でのワークのバラ積み状況が、取り出し動作前に比べて変化している。そこで、この時点で更新部は、行動決定部による行動パターンの決定動作と、順位設定部による取り出し順位の設定動作とを更新させる。つまり、影響度が基準値未満となる順位の全てのワークのロボットによる取り出し動作が完了したときに、撮像装置から出力される新たな画像データに基づく行動決定部による行動パターンの決定動作と、順位設定部による取り出し順位の設定動作との、更新された動作が、ワークの取り出し動作の前に実施される。ロボットは、行動決定部が更新して決定した行動パターンに従い、更には順位設定部が更新して設定した取り出し順位に従って、容器から各ワークを取り出せばよい。
 上記の機械学習装置において、前記ハンド部は、前記容器内のワークを把持することによって当該ワークを取り出すように構成され、前記行動観測部が観測する前記ロボットの行動パターンを規定する行動要素には、前記ハンド部が前記一のワークを取り出すときの、当該一のワークに対する把持位置が含まれる。
 行動観測部が観測するロボットの行動パターンは、学習部がロボットの動作を学習するときに用いる教師データを構成する。この教師データを構成するロボットの行動パターンを規定する行動要素の一要素として、ハンド部のワークに対する把持位置が含まれることによって、学習部は、他のワークへの影響度が小さくなるような把持位置を加味したロボットの行動パターンを学習することができる。
 本発明の他の局面に係るロボットシステムは、複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットと、前記容器内を撮像して画像データを出力する撮像装置と、前記画像データに基づいて、前記ハンド部によって前記容器から前記ワークを取り出すときの前記ロボットの取り出し動作を学習する、上記の機械学習装置と、前記機械学習装置の学習結果に基づいて、前記ロボットの動作を制御する制御装置と、を備える。
 このロボットシステムによれば、容器からワークを取り出すときのロボットの最適な動作を学習できる上記の機械学習装置を備えている。このため、ロボットは、実際の生産時において容器から一のワークを取り出すときに、他のワークへの影響度が小さく、ワークの破損等を抑止可能な最適な取り出し動作を実行することができる。
 以上説明した通り、本発明によれば、複数のワークをバラ積みされた状態で収容する容器からワークを取り出すときのロボットの最適な動作を学習できる機械学習装置、及びこれを備えたロボットシステムを提供することができる。
 1 ロボットシステム
 2 ロボット
 26 ハンド部
 3 撮像装置
 4 制御装置
 5 機械学習装置
 6 学習処理部
 61 状態観測部
 62 行動観測部
 63 変位量観測部
 64 学習部
 641 報酬設定部
 642 価値関数更新部
 7 学習反映処理部
 71 行動決定部
 72 順位設定部
 73 更新部

Claims (6)

  1.  複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットの動作を学習する機械学習装置であって、
     前記ハンド部によって前記容器から一のワークを取り出す取り出し動作における、前記ロボットの行動パターンを観測する行動観測部と、
     前記容器内を撮像する撮像装置から出力される、前記ロボットの前記取り出し動作の前後における各画像データに基づいて、前記容器内の前記一のワークが前記ハンド部によって取り出されたときの、前記一のワーク以外の他のワークの前記容器内での変位量を表すワーク変位量を観測する変位量観測部と、
     前記行動パターンと前記ワーク変位量とを関連付けた教師データに基づいて、前記ハンド部が前記容器から前記一のワークを取り出すときの、前記ワーク変位量に応じた前記他のワークへの影響度を、前記行動パターンと対応付けて学習する学習部と、を備える、機械学習装置。
  2.  前記学習部による前記影響度の学習後において、前記ロボットの前記取り出し動作前の画像データが前記撮像装置から出力された場合、当該画像データに基づき前記容器内での複数のワークのバラ積み状況を認識し、前記ハンド部によって前記容器から各ワークを取り出すときの前記ロボットの行動パターンとして、前記影響度が最小となる行動パターンを、ワーク毎に決定する行動決定部を、更に備える、請求項1に記載の機械学習装置。
  3.  前記行動決定部により決定された前記ロボットの行動パターンに基づき前記容器から各ワークを取り出すときの取り出し順位を、前記影響度が小さいものほど上位となるように設定する順位設定部を、更に備える、請求項2に記載の機械学習装置。
  4.  前記順位設定部によって設定された前記取り出し順位に従った前記ロボットの前記取り出し動作を監視し、前記影響度が所定の基準値未満となる順位の全てのワークの前記容器からの取り出しが完了したときに、前記行動決定部による行動パターンの決定動作と、前記順位設定部による前記取り出し順位の設定動作とを更新させる更新部を、更に備える、請求項3に記載の機械学習装置。
  5.  前記ハンド部は、前記容器内のワークを把持することによって当該ワークを取り出すように構成され、
     前記行動観測部が観測する前記ロボットの行動パターンを規定する行動要素には、前記ハンド部が前記一のワークを取り出すときの、当該一のワークに対する把持位置が含まれる、請求項1~4のいずれか1項に記載の機械学習装置。
  6.  複数のワークをバラ積みされた状態で収容する容器から前記ワークを取り出すハンド部を備えたロボットと、
     前記容器内を撮像して画像データを出力する撮像装置と、
     前記画像データに基づいて、前記ハンド部によって前記容器から前記ワークを取り出すときの前記ロボットの取り出し動作を学習する、請求項1~5のいずれか1項に記載の機械学習装置と、
     前記機械学習装置の学習結果に基づいて、前記ロボットの動作を制御する制御装置と、を備える、ロボットシステム。
PCT/JP2018/022807 2018-06-14 2018-06-14 機械学習装置及びこれを備えたロボットシステム WO2019239562A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201880093236.0A CN112135719B (zh) 2018-06-14 2018-06-14 机器学习装置以及具备该机器学习装置的机器人系统
PCT/JP2018/022807 WO2019239562A1 (ja) 2018-06-14 2018-06-14 機械学習装置及びこれを備えたロボットシステム
JP2020525043A JP7008136B2 (ja) 2018-06-14 2018-06-14 機械学習装置及びこれを備えたロボットシステム
DE112018007729.2T DE112018007729B4 (de) 2018-06-14 2018-06-14 Maschinelle Lernvorrichtung und mit dieser ausgestattetes Robotersystem
US17/053,466 US11945115B2 (en) 2018-06-14 2018-06-14 Machine learning device and robot system provided with same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/022807 WO2019239562A1 (ja) 2018-06-14 2018-06-14 機械学習装置及びこれを備えたロボットシステム

Publications (1)

Publication Number Publication Date
WO2019239562A1 true WO2019239562A1 (ja) 2019-12-19

Family

ID=68843106

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/022807 WO2019239562A1 (ja) 2018-06-14 2018-06-14 機械学習装置及びこれを備えたロボットシステム

Country Status (5)

Country Link
US (1) US11945115B2 (ja)
JP (1) JP7008136B2 (ja)
CN (1) CN112135719B (ja)
DE (1) DE112018007729B4 (ja)
WO (1) WO2019239562A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11645498B2 (en) * 2019-09-25 2023-05-09 International Business Machines Corporation Semi-supervised reinforcement learning
DE102020212658A1 (de) 2020-10-07 2022-04-07 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102021104001B3 (de) 2021-02-19 2022-04-28 Gerhard Schubert Gesellschaft mit beschränkter Haftung Verfahren zum automatischen Ergreifen, insbesondere Umsetzen, von Gegenständen

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013052490A (ja) * 2011-09-06 2013-03-21 Mitsubishi Electric Corp ワーク取り出し装置
JP2017030135A (ja) * 2015-07-31 2017-02-09 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
JP2018008343A (ja) * 2016-07-13 2018-01-18 富士通株式会社 部品ピックアップ方法及び部品供給装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58184351A (ja) 1982-04-19 1983-10-27 Ogura Clutch Co Ltd 片側2出力軸電動機
US7765780B2 (en) * 2003-12-12 2010-08-03 Vision Robotics Corporation Agricultural robot system and method
JP4390758B2 (ja) * 2005-09-08 2009-12-24 ファナック株式会社 ワーク取出し装置
SE529377C2 (sv) * 2005-10-18 2007-07-24 Morphic Technologies Ab Publ Metod och arrangemang för att lokalisera och plocka upp föremål från en bärare
JP4199264B2 (ja) * 2006-05-29 2008-12-17 ファナック株式会社 ワーク取り出し装置及び方法
JP4565023B2 (ja) * 2008-07-04 2010-10-20 ファナック株式会社 物品取り出し装置
JP2014081863A (ja) * 2012-10-18 2014-05-08 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
JP6088563B2 (ja) * 2015-02-10 2017-03-01 ファナック株式会社 位置及び姿勢の変換演算機能を備えたワーク取出しロボットシステム、及びワーク取出し方法
US11020859B2 (en) * 2015-05-01 2021-06-01 Transportation Ip Holdings, Llc Integrated robotic system and method for autonomous vehicle maintenance
DE102016009030B4 (de) * 2015-07-31 2019-05-09 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
JP6148316B2 (ja) * 2015-07-31 2017-06-14 ファナック株式会社 故障条件を学習する機械学習方法及び機械学習装置、並びに該機械学習装置を備えた故障予知装置及び故障予知システム
JP6240689B2 (ja) 2015-07-31 2017-11-29 ファナック株式会社 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法
JP6010204B1 (ja) 2015-10-26 2016-10-19 ファナック株式会社 パワー素子の予測寿命を学習する機械学習装置及び方法並びに該機械学習装置を備えた寿命予測装置及びモータ駆動装置
JP6616170B2 (ja) * 2015-12-07 2019-12-04 ファナック株式会社 コアシートの積層動作を学習する機械学習器、積層コア製造装置、積層コア製造システムおよび機械学習方法
JP6333871B2 (ja) * 2016-02-25 2018-05-30 ファナック株式会社 入力画像から検出した対象物を表示する画像処理装置
WO2017151926A1 (en) * 2016-03-03 2017-09-08 Google Inc. Deep machine learning methods and apparatus for robotic grasping
CN109074513B (zh) * 2016-03-03 2020-02-18 谷歌有限责任公司 用于机器人抓握的深度机器学习方法和装置
JP6457421B2 (ja) 2016-04-04 2019-01-23 ファナック株式会社 シミュレーション結果を利用して学習を行う機械学習装置,機械システム,製造システムおよび機械学習方法
US20170297206A1 (en) * 2016-04-14 2017-10-19 The Regents Of The University Of Colorado, A Body Corporate Measuring distance and contact force during robotic manipulation
KR101980603B1 (ko) * 2016-05-20 2019-05-22 구글 엘엘씨 오브젝트(들)를 캡처하는 이미지(들)에 기초하는 그리고 환경에서의 미래 로봇 움직임에 대한 파라미터(들)에 기초하여 로봇 환경에서의 오브젝트(들)의 모션(들)을 예측하는 것과 관련된 머신 학습 방법들 및 장치
JP6838833B2 (ja) 2016-09-05 2021-03-03 国立大学法人信州大学 把持装置、把持方法、及びプログラム
US10518372B2 (en) * 2016-09-12 2019-12-31 Kindred Systems Inc. Compound prismatic platforms for use in robotic systems
JP6514171B2 (ja) 2016-09-27 2019-05-15 ファナック株式会社 最適な物品把持経路を学習する機械学習装置、及び機械学習方法
EP4273655A3 (en) * 2016-11-08 2023-12-20 Dogtooth Technologies Limited A robotic fruit picking system
JP6438512B2 (ja) * 2017-03-13 2018-12-12 ファナック株式会社 機械学習により補正した計測データでワークの取り出しを行うロボットシステム、計測データ処理装置および計測データ処理方法
JP2018176334A (ja) * 2017-04-10 2018-11-15 キヤノン株式会社 情報処理装置、計測装置、システム、干渉判定方法および物品の製造方法
JP6457587B2 (ja) * 2017-06-07 2019-01-23 ファナック株式会社 ワークの動画に基づいて教示点を設定するロボットの教示装置
JP6911777B2 (ja) * 2018-01-23 2021-07-28 トヨタ自動車株式会社 動作軌道生成装置
US11014231B2 (en) * 2018-05-03 2021-05-25 Fujitsu Limited Robotic device task learning

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013052490A (ja) * 2011-09-06 2013-03-21 Mitsubishi Electric Corp ワーク取り出し装置
JP2017030135A (ja) * 2015-07-31 2017-02-09 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
JP2018008343A (ja) * 2016-07-13 2018-01-18 富士通株式会社 部品ピックアップ方法及び部品供給装置

Also Published As

Publication number Publication date
DE112018007729T5 (de) 2021-02-25
CN112135719A (zh) 2020-12-25
JP7008136B2 (ja) 2022-01-25
CN112135719B (zh) 2023-08-22
US20210229275A1 (en) 2021-07-29
DE112018007729B4 (de) 2022-09-08
US11945115B2 (en) 2024-04-02
JPWO2019239562A1 (ja) 2021-04-22

Similar Documents

Publication Publication Date Title
JP7491971B2 (ja) 物体把持方法、物体把持プログラム、物体把持装置、学習方法、学習プログラムおよび学習装置
JP6676030B2 (ja) 把持システム、学習装置、把持方法、及び、モデルの製造方法
US11312012B2 (en) Software compensated robotics
JP5835926B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP6671694B1 (ja) 機械学習装置、機械学習システム、データ処理システム及び機械学習方法
JP2018126799A (ja) 制御装置、ロボットおよびロボットシステム
WO2019239562A1 (ja) 機械学習装置及びこれを備えたロボットシステム
WO2018116589A1 (ja) 産業機器用の画像認識プロセッサ及びコントローラ
JP7191569B2 (ja) 把持装置
JP2018126797A (ja) 制御装置、ロボットおよびロボットシステム
WO2007076119A2 (en) Reconstruction, retargetting, tracking, and estimation of pose of articulated systems
Rahman Cognitive cyber-physical system (C-CPS) for human-robot collaborative manufacturing
CN111319039A (zh) 机器人
Turco et al. Grasp planning with a soft reconfigurable gripper exploiting embedded and environmental constraints
Li et al. Intelligent control strategy for robotic arm by using adaptive inertia weight and acceleration coefficients particle swarm optimization
JP7102241B2 (ja) 機械学習装置及びこれを備えたロボットシステム
CN115194774A (zh) 一种基于多目视觉的双机械臂抓握系统控制方法
Hirzinger et al. Towards a new generation of multisensory light-weight robots with learning capabilities
CN114080304A (zh) 控制装置、控制方法及控制程序
Vatsal et al. Augmenting vision-based grasp plans for soft robotic grippers using reinforcement learning
Kozlowski Robot motion and control
TWI790408B (zh) 抓取裝置及抓取方法
WO2024029214A1 (ja) 情報処理装置、及び情報処理方法
WO2022209924A1 (ja) ロボット遠隔操作制御装置、ロボット遠隔操作制御システム、ロボット遠隔操作制御方法、およびプログラム
Miatliuk et al. Controlling an industrial robotic system based on received visual information

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020525043

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 18922392

Country of ref document: EP

Kind code of ref document: A1