WO2022024877A1 - 情報処理装置、及び情報処理方法 - Google Patents

情報処理装置、及び情報処理方法 Download PDF

Info

Publication number
WO2022024877A1
WO2022024877A1 PCT/JP2021/027151 JP2021027151W WO2022024877A1 WO 2022024877 A1 WO2022024877 A1 WO 2022024877A1 JP 2021027151 W JP2021027151 W JP 2021027151W WO 2022024877 A1 WO2022024877 A1 WO 2022024877A1
Authority
WO
WIPO (PCT)
Prior art keywords
work
extraction
unit
information
information processing
Prior art date
Application number
PCT/JP2021/027151
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 DE112021003955.5T priority Critical patent/DE112021003955T5/de
Priority to US18/014,372 priority patent/US20230297068A1/en
Priority to CN202180060122.8A priority patent/CN116137831A/zh
Priority to JP2022540219A priority patent/JPWO2022024877A1/ja
Publication of WO2022024877A1 publication Critical patent/WO2022024877A1/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/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
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • 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
    • 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/35Nc in input of data, input till input file format
    • G05B2219/351343-D cad-cam
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39504Grip object in gravity center
    • 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
    • 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/40607Fixed camera to observe workspace, object, workpiece, global
    • 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/45Nc applications
    • G05B2219/45063Pick and place manipulator
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present invention relates to an information processing apparatus and an information processing method.
  • teaching is performed using a distance image of the work measured by a three-dimensional measuring unit.
  • a method for teaching using a distance image for example, a method by CAD (Computer-Aided Design) matching or a method of searching based on a setting parameter is generally used.
  • the distance image is an image obtained by measuring the surface of a measurement object (work), and means an image in which each pixel on the captured image has depth information from the three-dimensional measurement unit. .. That is, it can be said that each pixel on the distance image has the three-dimensional coordinate information in the three-dimensional coordinate system provided by the three-dimensional measurement unit.
  • a distance image of an object is imaged from multiple angles, a three-dimensional model of the object is generated based on the captured multiple distance images, and a plurality of angles are supported based on the generated three-dimensional model.
  • learning data also referred to as “teacher data” or “training data”
  • learning data necessary for generating a learning model that specifies the extraction position of the work piled up in bulk.
  • One aspect of the information processing device of the present disclosure is an information processing device that processes information for taking out a work by using a hand, and has a receiving unit that accepts taking-out conditions including the information of the hand or the work. Based on the 3D CAD model of the work, the preprocessing unit that derives at least the position of the center of gravity of the work, and the 3D CAD model of the work according to the take-out condition based on the position of the center of gravity of the derived work. It is provided with a first processing unit for deriving the local characteristics of the above.
  • One aspect of the information processing method of the present disclosure is an information processing method realized by a computer for processing information for taking out a work by using a hand, and the taking out including the information of the hand or the work.
  • learning data (“teacher data”, “training data”) necessary for generating a learning model that specifies the extraction position of the work that is piled up in bulk.
  • each embodiment easily generates learning data (“teacher data”, “training data”) necessary for generating a learning model for specifying the extraction position of randomly stacked and overlapping works.
  • learning data (“teacher data”, “training data”)
  • training data in the first embodiment, the 3D CAD data of the work is used in the virtual space to randomly generate a state in which the works are stacked and overlapped at random.
  • a plurality of two-dimensional images in which the workpieces acquired by the image pickup apparatus are stacked and overlapped are targeted, and the features on the plurality of two-dimensional images and the features on the 3D CAD of the workpieces are used. It differs from the first embodiment in that it generates training data using a plurality of two-dimensional images as label data to which the work extraction position candidate data calculated based on the above is added. Further, in the third embodiment, a plurality of 3D point cloud data in a state where the works acquired by a 3D measuring machine or the like are stacked and overlapped are targeted, and each of the plurality of 3D point cloud data and the 3D CAD of the work are used.
  • first embodiment differs from the first embodiment and the second embodiment in that it generates training data using a plurality of three-dimensional point cloud data including the work extraction position candidate data calculated based on the label data.
  • first embodiment will be described in detail, and then the parts of the second embodiment and the third embodiment that are different from the first embodiment will be described.
  • FIG. 1 is a diagram showing an example of the configuration of the robot system 1 according to the first embodiment.
  • the robot system 1 includes an information processing device 10, a robot control device 20, a robot 30, an image pickup device 40, a plurality of workpieces 50, and a container 60.
  • the information processing device 10, the robot control device 20, the robot 30, and the image pickup device 40 may be directly connected to each other via a connection interface (not shown).
  • the information processing device 10, the robot control device 20, the robot 30, and the image pickup device 40 may be connected to each other via a network (not shown) such as a LAN (Local Area Network) or the Internet.
  • a network such as a LAN (Local Area Network) or the Internet.
  • the information processing device 10, the robot control device 20, the robot 30, and the image pickup device 40 include a communication unit (not shown) for communicating with each other by such a connection.
  • FIG. 1 depicts the information processing device 10 and the robot control device 20 independently, and the information processing device 10 in this case may be configured by, for example, a computer.
  • the information processing device 10 is not limited to such a configuration, and may be mounted inside the robot control device 20 and integrated with the robot control device 20, for example.
  • the robot control device 20 is a device known to those skilled in the art for controlling the operation of the robot 30.
  • the robot control device 20 receives, for example, the extraction position information of the work 50 selected by the information processing device 10 described later from the bulkly stacked works 50 from the information processing device 10.
  • the robot control device 20 generates a control signal for controlling the operation of the robot 30 so as to take out the work 50 at the take-out position received from the information processing device 10. Then, the robot control device 20 outputs the generated control signal to the robot 30.
  • the robot control device 20 may include an information processing device 10 as described later.
  • the robot 30 is a robot that operates based on the control of the robot control device 20.
  • the robot 30 includes a base portion for rotating about an axis in the vertical direction, an arm for moving and rotating, and a take-out hand 31 attached to the arm for holding the work 50.
  • the take-out hand 31 of the robot 30 is equipped with an air adsorption type take-out hand, but a grip-type take-out hand may be attached, or a magnetic type that takes out an iron work by magnetic force. A hand may be attached.
  • the robot 30 drives the arm and the take-out hand 31 in response to the control signal output by the robot control device 20, moves the take-out hand 31 to the take-out position selected by the information processing device 10, and works in bulk. Hold 50 and remove from container 60. The transfer destination of the removed work 50 is not shown. Further, since the specific configuration of the robot 30 is well known to those skilled in the art, detailed description thereof will be omitted.
  • the information processing device 10 and the robot control device 20 associate a machine coordinate system for controlling the robot 30 with a camera coordinate system indicating a take-out position of the work 50 by calibration performed in advance. And.
  • the image pickup device 40 is a digital camera or the like, and acquires a two-dimensional image obtained by projecting the bulk workpieces 50 in the container 60 onto a plane perpendicular to the optical axis of the image pickup device 40.
  • the image pickup device 40 may be a three-dimensional measuring device such as a stereo camera, as will be described later.
  • the work 50 is randomly placed in the container 60 including the state of being piled up in bulk.
  • the work 50 may be any as long as it can be held by the take-out hand 31 attached to the arm of the robot 30, and its shape and the like are not particularly limited.
  • FIG. 2 is a functional block diagram showing a functional configuration example of the information processing apparatus 10 according to the first embodiment.
  • the information processing device 10 is a computer device known to those skilled in the art, and has a control unit 11, an input unit 12, a display unit 13, and a storage unit 14, as shown in FIG. Further, the control unit 11 includes a reception unit 110, a pre-processing unit 111, a first processing unit 112, a first extraction candidate calculation unit 113, a second extraction candidate calculation unit 114, a first learning data generation unit 115, and a learning processing unit 116. , And a take-out position selection unit 117.
  • the input unit 12 is, for example, a keyboard, a touch panel arranged on the display unit 13 described later, or the like, and receives input from the user. Specifically, for example, as will be described later, the user inputs an extraction condition including information such as the type of the extraction hand 31 and the shape and size of the portion in contact with the work 50 via the input unit 12.
  • the display unit 13 is, for example, a liquid crystal display or the like, for example, numerical values and diagrams of extraction conditions received by the reception unit 110 described later via the input unit 12, 3D CAD data of the work 50 by the preprocessing unit 111 described later, and the like. indicate.
  • the storage unit 14 is a ROM, an HDD, or the like, and may store the fetch condition data 141 and the learning data 142 together with various control programs.
  • the extraction condition data 141 includes the shape, contact normal direction, contact area, and the shape of the portion where the reception unit 110, which will be described later, contacts the work 50 of the extraction hand 31 received from the user via the input unit 12.
  • the operation range information of the take-out hand 31, and the take-out condition including at least one of the surface curvature of the work 50, the distribution of the material and the friction coefficient, and the partial take-out availability information are stored.
  • the training data 142 targets a plurality of two-dimensional projection images in which a plurality of works 50 are randomly stacked and overlapped on a virtual space generated by the first training data generation unit 115, which will be described later, and a extraction position candidate is specified. It stores training data (“teacher data”, “training data”) using a plurality of two-dimensional projected images as label data.
  • the control unit 11 has a CPU (Central Processing Unit), a ROM, a RAM (Random Access Memory), a CMOS (Complementary Metal-Oxide-Semicondustor) memory, and the like, and these are configured to be communicable with each other via a bus.
  • the CPU is a processor that controls the information processing device 10 as a whole.
  • the CPU reads out the system program and the application program stored in the ROM via the bus, and controls the entire information processing apparatus 10 according to the system program and the application program. As a result, as shown in FIG.
  • the control unit 11 has the reception unit 110, the preprocessing unit 111, the first processing unit 112, the first extraction candidate calculation unit 113, the second extraction candidate calculation unit 114, and the first learning data. It is configured to realize the functions of the generation unit 115, the learning processing unit 116, and the extraction position selection unit 117.
  • Various data such as temporary calculation data and display data are stored in the RAM.
  • the CMOS memory is backed up by a battery (not shown), and is configured as a non-volatile memory in which the storage state is maintained even when the power of the information processing apparatus 10 is turned off.
  • the reception unit 110 receives an extraction condition including information such as the type of the extraction hand 31 input by the user via the input unit 12, the shape and size of the portion in contact with the work 50, and stores it in the storage unit 14 described later. It may be configured in. That is, the reception unit 110 determines whether the take-out hand 31 is an air suction type or a grip type, the shape and size of the contact portion of the suction pad in which the take-out hand 31 contacts the work 50, the number of suction pads, and a plurality of suction hands 31. When it has a pad, it accepts information such as the pad spacing and distribution, or when the take-out hand 31 is a gripping type, the shape, size, number of gripping fingers, spacing and distribution, etc.
  • the reception unit 110 may accept these information numerically, but may also accept two-dimensional or three-dimensional diagrams (for example, CAD data, etc.), and may accept both numerical values and diagrams. .. Extraction conditions that reflect the received information, for example, extraction conditions such as taking out the work using one suction pad whose outer diameter is 20 mm in diameter (hereinafter, also referred to as “ ⁇ ”) and whose hole through which air passes is ⁇ 8 mm. It is stored in the storage unit 14 as A.
  • the reception unit 110 is configured to receive the extraction condition including the contact normal direction information of the portion of the extraction hand 31 in contact with the work 50 input by the user via the input unit 12 and store it in the storage unit 14.
  • Such contact normal direction information may be a three-dimensional vector indicating the contact normal direction of the portion of the suction pad attached to the tip of the air suction type take-out hand 31 in contact with the work 50, and may be a grip type. It may be a three-dimensional vector indicating the contact normal direction of the portion of the gripping finger of the take-out hand 31 that comes into contact with the work 50. Specifically, it may be stored in the storage unit 14 as one three-dimensional direction vector information at each contact position.
  • one three-dimensional coordinate system ⁇ w is defined with the center of gravity of the work as the origin.
  • the position coordinate value of the i-th contact position seen in the three-dimensional coordinate system ⁇ w is set to [x i , y i , z i ], and the length of the take-out hand 31 is taken out with [x i , y i , z i ] as the origin.
  • One three-dimensional coordinate system ⁇ i is defined with the direction as the positive direction of the z-axis.
  • the contact normal direction vector of the take-out hand 31 is set as one three-dimensional direction vector [0,0, It can be stored numerically as -1], and the information of the homologous conversion matrix T wi between the coordinate systems ⁇ w and ⁇ i can be numerically received and stored in the storage unit 14.
  • the reception unit 110 may receive the contact normal vector of the take-out hand 31 three-dimensionally in the preprocessing unit 111, which will be described later, in a schematic manner and store it in the storage unit 14. Of course, the reception unit 110 may receive both numerical and schematic information at the same time and store it in the storage unit 14.
  • the reception unit 110 is configured to receive the extraction condition including the contact area information of the portion of the extraction hand 31 in contact with the work 50 input by the user via the input unit 12 and store it in the storage unit 14. good. For example, when the work 50 is gripped and taken out by the gripping type take-out hand 31 having two fingers, the area information of the grip portion of the gripping finger (for example, in the case of a rectangle of 30 mm ⁇ 20 mm, the area is 600 mm 2 ) is stored. do. Further, the reception unit 110 determines, and the ratio information is input via the input unit 12 by the user as to what percentage or more of the rectangular area can be gripped and taken out when the work 50 can actually be in contact with the work 50. May be accepted.
  • the ratio can be increased to secure a larger contact area and lift the work 50 to prevent the work 50 from falling, and in the case of a light work 50, the ratio can be prevented. Can be lowered to find more candidates for local features on the workpiece 50 for smaller contact areas.
  • the reception unit 110 may be configured to receive the extraction condition including the operation range information of the extraction hand 31 input by the user via the input unit 12 and store it in the storage unit 14.
  • the receiving unit 110 has a limited value of an operation parameter indicating an operating range of the taking-out hand 31, for example, a limited range of a gripping width that can be opened and closed when the taking-out hand 31 is a gripping type, and many taking-out hands 31.
  • information such as a limited range of the operating angle of each joint and a limited range of the tilt angle of the take-out hand 31 at the time of taking out may be received and stored in the storage unit 14.
  • the receiving unit 110 may accept the operation range information of the take-out hand 31 numerically, may receive it in a two-dimensional or three-dimensional diagram, and may accept both the numerical value and the diagram.
  • the reception unit 110 sets the tilt angle of the take-out hand 31 during the take-out operation to -30 in order to avoid collision with an obstacle such as a wall of the surrounding work 50 or the container 60, which is a take-out condition reflecting the received information.
  • this retrieval condition may be stored in the storage unit 14.
  • the reception unit 110 may be configured such that the preprocessing unit 111, which will be described later, receives the extraction condition including the surface curvature information of the work 50 calculated from the 3D CAD model of the work 50 and stores it in the storage unit 14.
  • the preprocessing unit 111 which will be described later, calculates the amount of change in the curvature of the main position from the difference in curvature between the main position and the adjacent position at each position on the work surface from the 3D CAD model of the work 50, and stores the storage unit. It may be stored in 14.
  • the reception unit 110 is configured to receive an extraction condition including the material, density, friction coefficient, or distribution information of the work 50 input by the user via the input unit 12 and store it in the storage unit 14. May be good. For example, the reception unit 110 determines whether the material of the work 50 is aluminum or plastic, the density and friction coefficient information of the material, and in the case of the work 50 having a plurality of materials, the distribution information of various materials in the entire work, the material density and the friction coefficient. Distribution information is received and stored in the storage unit 14. In this case, the pretreatment unit 111, which will be described later, graphically displays these distribution information on the display unit 13 by painting different colors on regions of different materials, and displays information such as density and friction coefficient corresponding to the materials. It may be stored numerically in the storage unit 14.
  • the reception unit 110 may be configured to receive the extraction condition including a part of the extraction availability information on the work 50 input by the user via the input unit 12 and store it in the storage unit 14. For example, a hole in the work 50 that causes air leakage when the user visually observes the 3D CAD model of the work 50 displayed on the display unit 13 by the pretreatment unit 111, which will be described later, and takes out the work 50 with the air adsorption type take-out hand 31.
  • grooves, steps, dents, etc. are set as "cannot be taken out”
  • local planes and curved surfaces of the work 50 that do not include features that cause air leakage are set as "taken out” and one place is surrounded by a rectangular frame.
  • the reception unit 110 stores information such as the relative position and size of these frames with respect to the position of the center of gravity of the work 50 in the storage unit 14.
  • the area where the user does not want to touch when taking out such as the area with the product logo and the area with the pin of the electronic board, is set as "cannot be taken out", and the user encloses one place on the 3D CAD model of the work 50 with a rectangular frame.
  • the reception unit 110 may store information such as the relative position and size of these frames with respect to the position of the center of gravity of the work 50 in the storage unit 14.
  • the preprocessing unit 111 may be configured to have a virtual environment such as 3D CAD software or a physical simulator that derives the position of the center of gravity of the work 50 based on the 3D CAD model of the work 50. Specifically, the preprocessing unit 111 may derive the position of the center of gravity of the work 50 from the 3D CAD model of the work 50 and display the position of the center of gravity of the work 50 on the display unit 13.
  • a virtual environment such as 3D CAD software or a physical simulator that derives the position of the center of gravity of the work 50 based on the 3D CAD model of the work 50.
  • the preprocessing unit 111 may derive the position of the center of gravity of the work 50 from the 3D CAD model of the work 50 and display the position of the center of gravity of the work 50 on the display unit 13.
  • the first processing unit 112 derives a local feature on the 3D CAD model of the work 50 according to the extraction condition received by the reception unit 110 via the input unit 12 based on the position of the center of gravity of the derived work 50. Specifically, the first processing unit 112 provides information such as the type of the take-out hand 31, which is the take-out condition received by the reception unit 110 via the input unit 12, the shape and size of the portion in contact with the work 50, and the like. Based on this, it may be configured to derive a local feature (local curved surface or flat surface) of the work 50 that matches the shape of the contact portion of the take-out hand 31 on the 3D CAD model of the work 50.
  • the first processing unit 112 On the 3D CAD model of the work, by matching with the shape of the suction pad of the take-out hand 31, the local plane or curved surface is ⁇ 20 mm or more, and a hole or hole is formed in the area within ⁇ 8 mm around the center position of the suction pad. Find a local plane or curved surface that does not have elements that cause air leakage, such as grooves, steps, and dents.
  • the first processing unit 112 calculates the distance of the found local plane or curved surface from the center of gravity of the work, and derives a local plane or curved surface having a distance not exceeding a preset acceptable threshold value.
  • the first processing unit 112 is a 3D CAD model of the work 50 based on the normal direction information of the portion of the take-out hand 31 that comes into contact with the work 50, which is the take-out condition received by the reception unit 110 via the input unit 12. It may be configured to derive the local feature (local curved surface or plane) of the work 50 that matches the contact normal direction of the take-out hand 31 above.
  • the local feature local curved surface or plane
  • FIG. 3 is a diagram showing an example of the work 50.
  • the first processing unit 112 includes a normal vector V wi and a take-out hand 31 (including a suction pad) at the center position of the local feature (curved or flat surface) over the surface shape of the 3D CAD model of the work 50.
  • the angle ⁇ i formed by the contact normal vector V h of (shown by a broken line) is the minimum, and the distance di from the center of gravity position P w of the work 50 to the contact normal vector V h of the take-out hand 31 is the minimum.
  • the local curved surface or plane of the work 50 is searched for and derived.
  • the local feature is a local curved surface centered on the position P 1 or P 2 such that the normal vector V wi becomes V w 1 or V w 2 shown in FIG.
  • the local feature derived by the first processing unit 112 is not limited to two locations, and may be one or three or more locations.
  • FIG. 4 is a diagram showing an example of the work 50.
  • the first processing unit 112 is a work 50 in which a pair of gripping fingers (two dashed rectangles) 31a and 31b of the take-out hand 31 come into contact with each other over the surface shape of the 3D CAD model of the work 50.
  • the local feature where the sum ⁇ ij of the angles ⁇ i and ⁇ j is zero is a local curved surface centered on the positions P 5 and P 5'or the positions P 6 and P 6' .
  • the gripping posture shown in FIG. 4 is used to grip the positions P5 , P5'or the positions P6, P6'derived in this way, the pair of gripping fingers 31a and 31b are attached to the work 50.
  • the work 50 can be smoothly contacted without shifting the position of the work 50, and when the work 50 is gripped and lifted, the work 50 can be stably gripped and taken out without causing rotational movement around the center of gravity of the work. ..
  • the local features derived by the first processing unit 112 are not limited to two sets, and may be one or three or more sets.
  • the first processing unit 112 is on the 3D CAD model of the work 50 based on the contact area information of the portion of the take-out hand 31 that comes into contact with the work 50, which is the take-out condition received by the reception unit 110 via the input unit 12. It may be configured to derive the local features of.
  • the first processing unit 112 needs to have an actual contact area of more than 300 mm 2 , and therefore, on the 3D CAD of the work 50. You may try to find a local plane with an area of more than 300 mm 2 .
  • the first processing unit 112 may calculate the distance of the found local plane from the center of gravity of the work and derive the local plane at a distance not exceeding a preset acceptable threshold value.
  • the first processing unit 112 uses the limit value of the operation parameter indicating the operation range of the extraction hand 31, which is the extraction condition received by the reception unit 110 via the input unit 12, on the 3D CAD model of the work 50. It may be configured to derive the local features of. For example, in order to prevent interference between the take-out hand 31 and the surroundings of the container 60 when taking out the target work 50, the inclination angle of the take-out hand 31 is limited to a range of -30 ° to 30 ° or the like. May be specified by the user.
  • the take-out hand 31 picks up the work 50 at a place where the angle formed by the normal direction of the plane or curved surface, which is a local feature derived by the above method, is in the range of -30 ° to 30 °. Then, since the tilt angle of the hand operation exceeds the operation limiting range of ⁇ 30 ° to 30 °, the first processing unit 112 may exclude such a local feature from the candidates.
  • the first processing unit 112 derives the local features of the work 50 on the 3D CAD model based on the surface curvature information of the work 50, which is the extraction condition received by the reception unit 110 via the input unit 12. It may be configured. For example, when the work 50 is taken out by using the air suction type take-out hand 31 having one suction pad, the pretreatment unit 111 has the curvature of the work surface in a virtual space such as 3D CAD software or a three-dimensional physical simulator. Find the amount of change. Then, the first processing unit 112 may determine a local feature having a small change in the obtained curvature as a local plane or a gentle local curved surface, raise the priority of the candidate, and give a high evaluation score. ..
  • the first processing unit 112 may determine a local feature having a large change in curvature as an uneven local curved surface, lower the priority of the candidate, and give a low evaluation score. In addition, the first processing unit 112 determines that a local feature in which the amount of change in curvature suddenly changes is included as a feature that causes air leakage such as a hole, a groove, a step, or a dent, and evaluates it to be excluded from the candidates. The score may be set to zero. The first processing unit 112 may derive the local feature having the highest evaluation score as a candidate, or may derive a plurality of local features exceeding a preset threshold value.
  • the first processing unit 112 calculates the distances from the work center of gravity of a plurality of local features that satisfy the threshold value A of the evaluation score, and derives the local features having a distance that does not exceed the preset allowable threshold value B. You may do it.
  • the number of local features derived may be one, or may be two or more.
  • the first processing unit 112 is on the 3D CAD model of the work 50 based on the distribution information such as the material, density and friction coefficient of the work 50, which is the take-out condition received by the reception unit 110 via the input unit 12. It may be configured to derive local features. By doing so, for example, when the work 50 made by combining a plurality of types of materials is taken out, the distribution information of the densities of various materials in the entire work 50 is used, and the portion where the material density is higher is the work 50. Since it occupies a larger proportion of the weight and includes the center of gravity of the work, when the take-out hand 31 preferentially goes to the part where the material density is higher, it goes to the position closer to the center of gravity of the work, so that it is more stable. The work 50 can be taken out. Further, when the take-out hand 31 preferentially goes to the portion where the friction coefficient is higher by using the distribution information of the friction coefficient, the work 50 can be taken out more stably without slipping.
  • the distribution information such as the material
  • the first processing unit 112 determines the local characteristics of the work 50 on the 3D CAD model based on the information on whether or not a part of the work 50 can be taken out, which is the take-out condition received by the reception unit 110 via the input unit 12. It may be configured to derive. For example, holes, grooves, steps, dents, etc. in the work 50 that cause air leakage are "not removable", and local planes and curved surfaces of the work 50 that do not include features that cause air leakage are "removable”. As a result, the first processing unit 112 may search for a local feature matching the feature in the frame on the 3D CAD model of the work 50 by using the extraction availability information surrounded by each rectangular frame. It may be derived as a candidate.
  • the first processing unit 112 calculates the distance from the center position of the plurality of local features derived as “retrievable” to the center of gravity of the work, and the distance does not exceed a preset allowable threshold value. It is also possible to derive a local feature having. In addition, the area with the logo of the product, the area with the pin of the electronic board, and other areas that you do not want to touch when taking out are regarded as "unable to take out", and the take-out availability information surrounded by one rectangular frame is used. The first processing unit 112 may search for a local feature that matches the feature in the frame on the 3D CAD model of the work 50 and derive it as a bad candidate.
  • the first extraction candidate calculation unit 113 may be configured to automatically calculate the extraction position candidate of at least one work 50 based on the local feature derived by the first processing unit 112. Specifically, the first extraction candidate calculation unit 113 may calculate the center position of the better local feature derived by the above method as the extraction position candidate. Fitting property of the contact surface where the suction pad or a pair of gripping fingers come into contact with the work 50 without leaking air when the take-out hand 31 (air suction type or grip type) goes to take out the work 50 to such a position candidate. The take-out hand 31 can smoothly come into contact with the work 50 without shifting the position of the work 50.
  • the take-out hand 31 comes into contact with the work 50 at a position close to the center of gravity of the work, takes out, prevents rotational movement around the center of gravity of the work when it is lifted, and does not collide with obstacles such as the surrounding work 50 and the wall of the container 60.
  • the work 50 can be taken out stably.
  • the first extraction candidate calculation unit 113 may be configured to automatically calculate the extraction posture candidate of the work 50 based on the local feature derived by the first processing unit 112. For example, in the first extraction candidate calculation unit 113, when the extraction hand 31 picks up the work 50 at the extraction position P1 or P2 shown in FIG . 3 , the normal of the center positions of the two locally curved surfaces derived. The take-out hand 31 is tilted to approach the work 50 along the direction in which the contact normal vector V h of the vector V w1 or V w2 and the take - out hand 31 coincide with each other so as to come into contact with the work 50 at the position P1 or P2. The posture of the take-out hand 31 may be determined.
  • the preprocessing unit 111 displays information on the take-out hand 31, which is a take-out condition received by the reception unit 110 via the input unit 12, and candidates for the take-out position and posture calculated by the first take-out candidate calculation unit 113. It may be drawn in a virtual space such as 3D CAD software or a three-dimensional physics simulator and displayed on the display unit 13.
  • FIG. 5 is a diagram showing an example of drawing in a virtual space. In FIG. 5, for example, each calculated by the first extraction candidate calculation unit 113 based on the extraction conditions such that the aluminum work 50 is extracted using the extraction hand 31 having one suction pad having an outer shape of ⁇ 20 mm.
  • the take-out position candidate is the center of the bottom surface of the suction pad, the bottom surface radius is ⁇ 10 mm, the normal direction of the tangent plane with the work 50 is the normal direction of the take-out hand 31, and all the tips of the take-out hand 31 including the suction pad and the air pipe are taken out. It is represented as a virtual hand area by a three-dimensional stepped cylinder including it, and is displayed together with the 3D CAD model of the work 50.
  • the first extraction candidate calculation unit 113 utilizes the interference check function of the preprocessing unit 111 or the collision calculation function of the physics simulation to interfere with the virtual hand displayed three-dimensionally and other parts of the work 50.
  • the take-out position / orientation candidate may be corrected by detecting whether or not there is a collision.
  • the preprocessing unit 111 interferes with the extraction position candidate calculated by the first extraction candidate calculation unit 113 in a state where the three-dimensional virtual hand is in contact with the work 50 (for example, the state shown in FIG. 5). A check or collision detection is performed, and the result is displayed on the display unit 13.
  • the user confirms while changing the viewpoint and the position where the interference or collision is detected.
  • the candidate may be deleted and the result may be reflected in the first extraction candidate calculation unit 113.
  • the first extraction candidate calculation unit 113 may automatically delete the candidate where the interference or collision is detected. By doing so, the first extraction candidate calculation unit 113 does not interfere with the virtual hand and the work 50 itself, that is, the extraction hand 31 does not interfere with the work 50 itself when actually going to the position. It is possible to calculate data in which only various extraction position candidates are reflected.
  • the first extraction candidate calculation unit 113 graphically displays the candidate detected by the preprocessing unit 111 as having an interference or a collision on the display unit 13, so as to eliminate the interference between the displayed virtual hand and the surroundings.
  • a message instructing to correct the candidate extraction position and posture (for example, "Please adjust the candidate extraction position and posture so as to eliminate interference") is displayed on the display unit 13 and presented to the user.
  • the candidate adjusted by the user may be reflected by having the user input the take-out position and the posture modified by the user.
  • the second extraction candidate calculation unit 114 automatically generates at least the extraction positions of the plurality of works 50 in the overlapping state in which they are piled up in bulk, based on at least the extraction position candidates calculated by the first extraction candidate calculation unit 113. It may be configured. Specifically, the second extraction candidate calculation unit 114 has a plurality of randomly stacked works 50 generated by the preprocessing unit 111 based on the position / orientation candidates calculated by the first extraction candidate calculation unit 113. It may be configured to automatically generate the take-out position and the posture of the plurality of works 50 in the overlapping state.
  • the second extraction candidate calculation unit 114 identifies and identifies each exposed work 50 (part) in each overlapping state in a state where the 3D CAD models of the plurality of works 50 are overlapped. , The local feature in each work 50 (exposed part) is derived, and the central position of the local feature of the work 50 is calculated as a take-out position candidate.
  • the preprocessing unit 111 provides a 3D CAD model of the work 50 with better extraction position / orientation candidate information calculated by the first extraction candidate calculation unit 113 in a virtual space such as 3D CAD software or a 3D physical simulator.
  • a state in which a plurality of works 50 overlap each other is randomly generated.
  • the position / orientation candidate calculated by the first extraction candidate calculation unit 113 is a good candidate when the 3D CAD model of one work 50 is viewed from an arbitrary direction within a range of 360 degrees.
  • the candidate may be covered with the surrounding work 50 or the work 50 itself and not exposed in the overlapping state of the plurality of works 50.
  • the second extraction candidate calculation unit 114 draws and displays the above-mentioned virtual hand on each extraction position / posture calculated by the first extraction candidate calculation unit 113 in the overlapping state of the plurality of works 50 by the preprocessing unit 111. It is displayed on the unit 13 and whether or not there is an interference or collision between the virtual hand and an obstacle such as a wall of the surrounding work 50 or the container 60 is displayed, for example, the interference check function of the 3D CAD software which is the preprocessing unit 111 or 3 Check using the collision calculation function of the dimensional physics simulator.
  • the second extraction candidate calculation unit 114 may automatically delete the candidate where the interference or collision is detected by the preprocessing unit 111, but instead of deleting the candidate, the interference or collision is eliminated.
  • a message instructing the adjustment of the position / posture candidate may be displayed on the display unit 13 and presented to the user.
  • the second extraction candidate calculation unit 114 tries to shift the position candidate in 2 mm increments and / or the posture candidate in 2 degree increments with the position / orientation candidate as the center, and the maximum position deviation amount is ⁇ 10 mm.
  • the position and posture candidates are automatically adjusted until the interference or collision disappears, and if it cannot be adjusted to satisfy the search condition, it is automatically deleted. You may try to do it.
  • the second extraction candidate calculation unit 114 is a better candidate result calculated by the first extraction candidate calculation unit 113 without interfering with the surroundings in a state where the plurality of works 50 by the preprocessing unit 111 overlap each other. It is possible to calculate a better take-out position / posture candidate for a plurality of works 50 by reflecting the above. Further, the second extraction candidate calculation unit 114 graphically displays the candidate detected as having interference or collision on the display unit 13, and the displayed virtual hand interferes with the surrounding work 50, the wall of the container 60, or the like. It is also possible to present the user to correct the take-out position / posture of the candidate so that the candidate does not disappear, and reflect the take-out position / posture modified by the user.
  • the first learning data generation unit 115 includes a two-dimensional projected image projected from a state in which a plurality of works 50 generated by the preprocessing unit 111 are randomly overlapped, and a plurality of works 50 generated by the second extraction candidate calculation unit 114.
  • the training data is generated based on the information including at least the extraction position candidate of.
  • the first learning data generation unit 115 generates and outputs learning data using the extraction position candidate calculated by the second extraction candidate calculation unit 114 and the 3D CAD data with hand information. It may be configured.
  • the preprocessing unit 111 uses 3D CAD data with extraction position candidates and hand information in a virtual space such as 3D CAD software or a 3D physical simulator, and a plurality of works 50 are randomly overlapped in the virtual space. Generate multiple 3D CAD data.
  • FIG. 6A is a diagram showing an example of a 2D CAD diagram in which 3D CAD data in a state where a plurality of randomly generated works 50 are overlapped is projected.
  • a three-dimensional virtual hand (for example, 3 in FIG. 5) displayed in a state of being in contact with each extraction position candidate of each work 50 in an overlapping state of a plurality of works 50 in each of a plurality of generated 3D CAD data.
  • the user confirms whether or not the three-dimensional stepped cylinder) interferes with the surroundings while changing the viewpoint by the second extraction candidate calculation unit 114, and checks with the surrounding work 50, the wall of the container 60, or the like. You may delete the position candidate with the interference of.
  • the candidate with interference or collision may be automatically deleted by using the interference check function of the 3D CAD software or the collision calculation function of the 3D physics simulator.
  • FIG. 6B is a diagram showing an example of a 2D CAD diagram in which 3D CAD data with extraction position candidate data calculated by the first extraction candidate calculation unit 113 is projected.
  • FIG. 6C is a diagram showing an example of a 2D CAD diagram in which 3D CAD data in which a cylindrical virtual hand is drawn is projected on each extraction position candidate.
  • FIG. 6D is a diagram showing an example of a 2D CAD diagram in which 3D CAD data with extraction position candidate data after deleting a candidate having interference is projected.
  • the first learning data generation unit 115 positions the virtual camera in the virtual space according to the relative position and orientation of the camera (imaging device 40 shown in FIG. 1) and the container 60 and the tray (not shown) in the real world. And the position and orientation of the projection viewpoint are set in advance, and from the set projection viewpoint, a plurality of 3D CAD data in which a plurality of works 50 generated by the preprocessing unit 111 are randomly overlapped as described above. Each is projected onto the image plane of the virtual camera, and as shown in FIGS. 6A to 6D, a plurality of 2D CAD diagrams generated by projecting from the randomly generated overlapping states are cut out. Then, the first learning data generation unit 115 targets a plurality of 2D CAD diagrams as shown in FIG.
  • Training data (“teacher data”, “training data”) using a plurality of 2D CAD diagrams (two-dimensional projected images) as label data is generated.
  • the first learning data generation unit 115 stores the generated learning data (“teacher data”, “training data”) in the learning data 142 of the storage unit 14.
  • the learning processing unit 116 executes machine learning using the learning data (“teacher data”, “training data”) generated by the first learning data generation unit 115, and obtains a two-dimensional image captured by the image pickup device 40. By inputting data, a learning model is generated that outputs the extraction position of the work 50 that does not interfere with the extraction hand 31 of the robot 30 and the surrounding environment and that satisfies the extraction conditions input by the user.
  • the learning processing unit 116 stores, for example, the generated learning model in the storage unit 14.
  • supervised learning known to those skilled in the art such as neural networks and SVMs (Support Vector Machines) can be used, and detailed description thereof will be omitted.
  • the take-out position selection unit 117 By inputting the two-dimensional image captured by the image pickup device 40 into the learning model generated by the learning processing unit 116, for example, the take-out position selection unit 117 eliminates the interference between the take-out hand 31 of the robot 30 and the surrounding environment. And, the extraction position of the work 50 that satisfies the extraction conditions input by the user is selected. The take-out position selection unit 117 outputs the take-out position of the selected work 50 to the robot control device 20.
  • FIG. 7 is a flowchart illustrating the learning data generation process of the information processing apparatus 10.
  • step S11 the reception unit 110 receives the extraction conditions including information such as the type of the extraction hand 31 input by the user via the input unit 12, the shape and size of the portion in contact with the work 50, and the like.
  • step S12 the preprocessing unit 111 derives the position of the center of gravity of the work 50 using the 3D CAD model of the work 50.
  • step S13 the first processing unit 112 derives the local features on the 3D CAD model of the work 50 according to the extraction conditions received in step S11, based on the position of the center of gravity of the work 50 calculated in step S12.
  • step S14 the first extraction candidate calculation unit 113 calculates the extraction position candidate of the work 50 based on the local feature derived in step S13.
  • step S15 the preprocessing unit 111 randomly performs a plurality of works 50 in the virtual space such as 3D CAD software or a 3D physical simulator by using the 3D CAD data with the extraction position candidate and the hand information. Generate multiple 3D CAD data in an overlapping state.
  • step S16 the second extraction candidate calculation unit 114 generates extraction position candidates for the work 50 in each of the plurality of 3D CAD data generated in step S15 based on the extraction position candidates calculated in step S14.
  • the first extraction candidate calculation unit 113 utilizes the interference check function of the 3D CAD software by the preprocessing unit 111 or the collision calculation function of the three-dimensional physics simulator, and the candidate with interference in each of the plurality of 3D CAD data. Delete / adjust.
  • step S18 the first learning data generation unit 115 projects each of the plurality of 3D CAD data generated in step S15 onto the image plane of the virtual camera, and targets the plurality of 2D CAD diagrams generated by the projection, in the step.
  • Training data (“teacher data”, “training data”) using a plurality of 2D CAD diagrams (two-dimensional projection images) to which the extraction position candidate data calculated in S16 is added as label data is generated.
  • the information processing apparatus 10 receives the extraction condition, and based on the position of the center of gravity of the work 50 derived from the 3D CAD of the work 50, the work 50 according to the accepted extraction condition. Derivation of local features on the 3D CAD model.
  • the information processing apparatus 10 calculates the extraction position candidate of the work 50 based on the derived local feature.
  • the information processing apparatus 10 uses 3D CAD data with fetch position candidates and hand information to generate a plurality of 3D CAD data in which a plurality of works 50 are randomly overlapped in a virtual space, and each of the plurality of 3D CAD data. Generate a take-out position candidate in.
  • the information processing apparatus 10 targets a plurality of 2D CAD diagrams generated by projecting each of the plurality of 3D CAD data, and adds a plurality of 2D CAD diagrams (two-dimensional projection) to which the generated extraction position candidate data is added. Generates training data (“teacher data”, “training data”) using image) as label data. As a result, the information processing apparatus 10 can easily generate learning data (“teacher data”, “training data”) necessary for generating a learning model for specifying the extraction positions of a plurality of works 50 that are stacked separately. Can be done.
  • the first embodiment has been described above.
  • ⁇ Second Embodiment> As described above, in the process of generating training data (“teacher data”, “training data”), in the first embodiment, a state in which a plurality of works 50 are stacked and overlapped in a virtual space is used by using 3D CAD data of the works. Extraction of the work 50 generated in each of the plurality of 3D CAD data for the plurality of 2D CAD diagrams which are randomly generated and project each of the plurality of 3D CAD data in the overlapping state of the plurality of randomly generated works 50. Training data is generated using a plurality of two-dimensional projected images to which position candidate data is added as label data.
  • the second embodiment a plurality of two-dimensional images in a state where the plurality of works 50 acquired by the image pickup apparatus 40 are stacked and overlapped with each other are targeted, and the features and the features of the work 50 are on the plurality of two-dimensional images.
  • the information processing apparatus 10a can easily generate learning data (“teacher data”, “training data”) necessary for generating a learning model for specifying the extraction positions of a plurality of works 50 that are stacked in bulk. Can be done.
  • learning data (“teacher data”, “training data”
  • the robot system 1 includes an information processing device 10a, a robot control device 20, a robot 30, an image pickup device 40, a plurality of workpieces 50, and a container 60, as in the case of the first embodiment of FIG. Have.
  • FIG. 8 is a functional block diagram showing a functional configuration example of the information processing apparatus 10a according to the second embodiment.
  • the elements having the same functions as the elements of the information processing apparatus 10 of FIG. 1 are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the information processing device 10a has a control unit 11a, an input unit 12, a display unit 13, and a storage unit 14, similar to the information processing device 10 according to the first embodiment. Further, the control unit 11a includes a reception unit 110, a pre-processing unit 111, a second processing unit 120, a first extraction candidate calculation unit 113, a third extraction candidate calculation unit 121, a second learning data generation unit 122, and a learning processing unit 116. , And a take-out position selection unit 117.
  • the input unit 12, the display unit 13, and the storage unit 14 have the same functions as the input unit 12, the display unit 13, and the storage unit 14 according to the first embodiment. Further, the reception unit 110, the pre-processing unit 111, the first extraction candidate calculation unit 113, the learning processing unit 116, and the extraction position selection unit 117 are the reception unit 110, the pre-processing unit 111, and the first extraction unit according to the first embodiment. It has the same functions as the candidate calculation unit 113, the learning processing unit 116, and the extraction position selection unit 117.
  • the second processing unit 120 performs image processing of the two-dimensional image acquired by the image pickup apparatus 40 as an information acquisition unit to extract features, and the extracted features and the features on the 3D CAD model of the work 50 are combined. It may be configured to perform a matching process. Specifically, the second processing unit 120 performs image processing on the acquired two-dimensional image (for example, a two-dimensional image similar to the 2D CAD diagram shown in FIG. 6A and captured in the real world) and two-dimensionally. Features such as edges, corners, circles, holes, grooves, and protrusions on the image are extracted.
  • the second processing unit 120 calculates the brightness gradient with the adjacent cells for each cell on the two-dimensional image cellized to the pixel size, and extracts the HOG (Histograms of Oriented Gradients) feature amount.
  • the boundary line where the difference in brightness and pixel value is large may be identified as an edge.
  • the second processing unit 120 extracts features from the two-dimensional image by using image processing such as contour detection by the Cany edge detector, corner detection by the Harris corner detector, and circle detection by the Hough transform (Hough transform). good.
  • the second processing unit 120 searches for a similar pattern on the 3D CAD model of the work 50 based on the plurality of local features extracted by the image processing and their relative positional relationships. When the similarity of the found similar pattern exceeds a predetermined threshold value, the second processing unit 120 may determine that the local features are matched.
  • the image pickup device 40 is used as an information acquisition unit, for example, a visible light camera such as a black-and-white camera or an RGB color camera, and infrared rays for imaging a work such as a heated high-temperature iron pillar. It may consist of a camera and an infrared camera that captures an infrared image capable of inspecting scratches that cannot be seen with visible light, but is not limited thereto.
  • the information acquisition unit may be composed of a stereo camera, one camera and a distance sensor, one camera and a laser scanner, one camera mounted on a moving mechanism, or the like, and may be composed of a plurality of workpieces 50.
  • the image pickup device 40 may take an image of an area in which a plurality of works 50 exist, but a background area in which no work 50 exists (for example, an empty container 60). Or an image of a tray (not shown) may be taken.
  • the third extraction candidate calculation unit 121 is acquired by the image pickup device 40 as an information acquisition unit based on the processing result by the second processing unit 120 and at least the extraction position candidate calculated by the first extraction candidate calculation unit 113. It may be configured to automatically generate at least the extraction position of the work 50 on the two-dimensional image. Specifically, the third extraction candidate calculation unit 121 uses the processing result of the second processing unit 120 to extract the work 50 from the plurality of two-dimensional images acquired by the image pickup apparatus 40 by image processing.
  • the 3D CAD model of multiple works 50 is placed on multiple 2D image planes and projected multiple times so that the features on the 3D CAD model of the matching work 50 are placed in the same position and orientation as the features of. By doing so, the two-dimensional extraction position on the work 50 shown on each two-dimensional image is calculated from the three-dimensional extraction position candidates on the 3D CAD model of the work calculated by the first extraction candidate calculation unit 113. be able to.
  • the pre-processing unit 111 generates an overlapping state of a plurality of works 50 corresponding to the two-dimensional image acquired by the image pickup device 40 as the information acquisition unit based on the processing result by the second processing unit 120.
  • the third extraction candidate calculation unit 121 may be configured to correct at least the extraction position of the plurality of works 50 generated by the third extraction candidate calculation unit 121 by using the interference check function or the collision calculation function. .. From this, the candidate where the interference or collision is detected may be automatically deleted and reflected on the two-dimensional image, or the user visually observes the overlapping state of the plurality of works 50 on the two-dimensional image. After confirming, the take-out position candidate that is covered by the other work 50 may be deleted.
  • the image pickup device 40 as an information acquisition unit acquires the 3D point cloud data with a 3D measuring device such as a stereo camera
  • the 3D point cloud data is used so that the image pickup device 40 is located below the other work 50. You may automatically delete various extraction position candidates.
  • the second learning data generation unit 122 is based on the image acquired by the image pickup device 40 as the information acquisition unit and the information including at least the extraction position candidate calculated by the third extraction candidate calculation unit 121 (““ It may be configured to generate "teacher data", "training data”). For example, the second learning data generation unit 122 utilizes at least the extraction position candidates calculated by the third extraction candidate calculation unit 121 on each two-dimensional image captured by the image pickup apparatus 40, as shown in FIG. 6D. Extraction position candidates can be automatically labeled. The second learning data generation unit 122 targets a plurality of two-dimensional images acquired by the image pickup apparatus 40, and adds a plurality of extraction position candidate data in which only extraction position candidates that do not interfere with the surrounding environment are reflected. Training data (“teacher data”, “training data”) using a two-dimensional image as label data is generated. The second learning data generation unit 122 stores the generated learning data (“teacher data”, “training data”) in the learning data 142 of the storage unit 14.
  • FIG. 9 is a flowchart illustrating the learning data generation process of the information processing apparatus 10a.
  • the processing of step S21 and step S22 is the same as that of step S11 and step S12 according to the first embodiment, and the description thereof will be omitted.
  • step S23 the second processing unit 120 acquires a plurality of two-dimensional images in a state where the plurality of works 50 acquired by the image pickup device 40 are overlapped with each other from the image pickup device 40.
  • step S24 the second processing unit 120 performs image processing on each of the plurality of two-dimensional images acquired in step S23 to extract features, and features of each of the extracted two-dimensional images and a 3D CAD model of the work 50. Matching processing with the above features is performed, and the work 50 on the two-dimensional image and the 3D CAD model of the work 50 are matched.
  • step S25 the third extraction candidate calculation unit 121 is calculated by the first extraction candidate calculation unit 113 based on the matching relationship between the work 50 on the two-dimensional image derived in step S24 and the 3D CAD model of the work 50.
  • the two-dimensional extraction position candidate of the work 50 on the two-dimensional image is calculated from the three-dimensional extraction position candidate of the work 50.
  • step S26 the preprocessing unit 111 generates an overlapping state of a plurality of works 50 corresponding to the two-dimensional image based on the processing result by the second processing unit 120.
  • the third extraction candidate calculation unit 121 deletes / adjusts the extraction position candidate where the interference or collision is detected by using the interference check function or the collision calculation function of the preprocessing unit 111, and the deletion / adjustment result is 2 Reflect in the dimensional image.
  • the preprocessing unit 111 displays each two-dimensional image with the extraction position candidate information via the display unit 13, and the user visually confirms the overlapping state of the plurality of works 50 on each two-dimensional image. Interfering extraction position candidates that are covered by the other work 50 are deleted / adjusted, and the result is reflected in the third extraction candidate calculation unit 121.
  • step S27 the second learning data generation unit 122 targets the plurality of two-dimensional images acquired in step S23, and uses the plurality of two-dimensional images to which the extraction position candidate data that does not interfere with the surroundings is added as the label data.
  • Generate learning data (“teacher data”, “training data”).
  • the information processing apparatus 10a performs image processing on a two-dimensional image in a state where a plurality of works 50 acquired by the image pickup apparatus 40 overlap each other, and exhibits features on the two-dimensional image. Extract.
  • the information processing apparatus 10a performs matching processing between the extracted features and the features on the 3D CAD model of the work 50, and matches the work 50 on the two-dimensional image with the 3D CAD model of the work 50.
  • the information processing apparatus 10a calculates a two-dimensional extraction position candidate of the work 50 on the two-dimensional image based on the matching relationship between the work 50 on the derived two-dimensional image and the 3D CAD model of the work 50.
  • the information processing apparatus 10a is a plurality of two-dimensional images acquired by the image pickup apparatus 40 based on the matching relationship between the work 50 on the derived two-dimensional image and the 3D CAD model of the work 50 and the calculated extraction position candidate. Is targeted, and training data (“teacher data”, “training data”) is generated using a plurality of two-dimensional images including extraction position candidate data that do not interfere with the surroundings as label data. As a result, the information processing apparatus 10a can easily generate learning data (“teacher data”, “training data”) necessary for generating a learning model for specifying the extraction position of the loosely stacked works 50. ..
  • the second embodiment has been described above.
  • the third embodiment will be described.
  • training data (“teacher data”, “training data”)
  • the states in which the works 50 are stacked and overlapped in a virtual space are randomly generated using the 3D CAD data of the works.
  • a plurality of 2D CAD diagrams (two-dimensional projection images) obtained by projecting each of a plurality of 3D CAD data in an overlapping state of a plurality of randomly generated workpieces 50 are targeted, and are generated in each of the plurality of 3D CAD data.
  • Training data is generated using a plurality of two-dimensional projected images to which the extraction position candidate data of the work 50 is added as label data.
  • a plurality of two-dimensional images in which a plurality of works 50 acquired by the image pickup apparatus 40 are stacked and overlapped are targeted, and the features on the plurality of two-dimensional images and the features on the 3D CAD of the work 50 are targeted.
  • To generate training data using a plurality of two-dimensional images as label data to which the extraction position candidate data of the work 50 calculated based on the above is added.
  • the data of the plurality of three-dimensional point clouds of the plurality of works 50 in the state of being stacked and overlapped by the three-dimensional measuring machine 45 is targeted, and the data of the plurality of three-dimensional point clouds are combined with each of the plurality of three-dimensional point cloud data.
  • the first embodiment and the second embodiment are in that learning data is generated using a plurality of three-dimensional point cloud data as label data, which is obtained by adding the extraction position candidate data of the work 50 calculated based on the 3D CAD data of the work 50.
  • the information processing apparatus 10b according to the third embodiment facilitates learning data (“teacher data”, “training data”) required for generating a learning model for specifying the extraction position of the works 50 that are stacked in bulk. Can be generated in.
  • learning data (“teacher data”, “training data”
  • FIG. 10 is a diagram showing an example of the configuration of the robot system 1A according to the third embodiment.
  • the elements having the same functions as the elements of the robot system 1 of FIG. 1 are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the robot system 1A includes an information processing device 10b, a robot control device 20, a robot 30, a three-dimensional measuring machine 45, a plurality of workpieces 50, and a container 60.
  • the robot control device 20 and the robot 30 have the same functions as the robot control device 20 and the robot 30 according to the first embodiment.
  • the 3D measuring machine 45 uses a value converted from the distance between a plane perpendicular to the optical axis of the 3D measuring machine 45 and each point on the surface of the loosely stacked workpieces 50 in the container 60 as a pixel value. It may be configured to acquire three-dimensional information (hereinafter, also referred to as “distance image”). For example, as shown in FIG. 10, the pixel value of the point A of the work 50 on the distance image is a three-dimensional measuring machine in the Z-axis direction of the three-dimensional coordinate system (X, Y, Z) of the three-dimensional measuring machine 45. It is converted from the distance between the point A of the work 50 and the work 50.
  • the Z-axis direction of the three-dimensional coordinate system is the optical axis direction of the three-dimensional measuring machine 45.
  • the 3D measuring machine 45 may be configured to acquire 3D point cloud data of a plurality of works 50 loaded in the container 60 by a 3D measuring machine 45, for example, a stereo camera.
  • the three-dimensional point cloud data acquired in this way can be displayed in a 3D view that can be confirmed from any viewpoint in the three-dimensional space, and the overlapping state of the plurality of works 50 loaded on the container 60 can be confirmed three-dimensionally. It is the discrete data that can be created.
  • the three-dimensional measuring device 45 may acquire a two-dimensional image such as a gray scale image or an RGB image together with the distance image.
  • FIG. 11 is a functional block diagram showing a functional configuration example of the information processing apparatus 10b according to the third embodiment.
  • the elements having the same functions as the elements of the information processing apparatus 10 of FIG. 1 are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the information processing device 10b has a control unit 11b, an input unit 12, a display unit 13, and a storage unit 14, similar to the information processing device 10 according to the first embodiment. Further, the control unit 11b includes a reception unit 110, a pre-processing unit 111, a third processing unit 130, a first extraction candidate calculation unit 113, a fourth extraction candidate calculation unit 131, a third learning data generation unit 132, and a learning processing unit 116. , And a take-out position selection unit 117.
  • the input unit 12, the display unit 13, and the storage unit 14 have the same functions as the input unit 12, the display unit 13, and the storage unit 14 according to the first embodiment. Further, the reception unit 110, the pre-processing unit 111, the first extraction candidate calculation unit 113, the learning processing unit 116, and the extraction position selection unit 117 are the reception unit 110, the pre-processing unit 111, and the first extraction unit according to the first embodiment. It has the same functions as the candidate calculation unit 113, the learning processing unit 116, and the extraction position selection unit 117.
  • FIG. 12 is a diagram showing an example for explaining preprocessing for three-dimensional point cloud data.
  • the third processing unit 130 performs preprocessing of the three-dimensional point cloud data, for example, as shown in FIG. 12, and a plurality of sample points (for example, locally close to each other) from the three-dimensional point cloud data. , 10 points P1 to P10), one plane is estimated.
  • the third processing unit 130 searches for a plane similar to the estimated plane on the 3D CAD model of the work, and determines that it matches the local plane having the highest degree of similarity.
  • the third processing unit 130 estimates the plane at the preprocessing stage of the three-dimensional point cloud data, for example, a plurality of estimated adjacent extremely small planes may be approximated to one curved surface. ..
  • the third processing unit 130 may search for a curved surface similar to such an approximate curved surface on the 3D CAD model of the work 50, and determine that it matches the local curved surface having the highest degree of similarity.
  • the third processing unit 130 is based on a plurality of planes and their relative positional relationships estimated from the three-dimensional point cloud data, a plurality of planes and curved surfaces and their relative positional relationships, or a plurality of curved surfaces and their relative positional relationships.
  • a local plane, a local plane and a curved surface, or a local curved surface at a plurality of locations on the 3D CAD model of the work 50 the 3D point cloud data and the 3D CAD model of the work 50 are matched. May be good.
  • the third processing unit 130 extracts the local features of the 3D point cloud data acquired by the 3D measuring machine 45 as the information acquisition unit, and the extracted local features and the local features on the 3D CAD model of the work 50.
  • the matching process of the 3D point cloud data and the 3D CAD model of the work 50 may be performed.
  • the third processing unit 130 derives a local plane on the three-dimensional point group data acquired by the three-dimensional measuring machine 45 by the above-mentioned method, and a hole on the derived two-dimensional local plane or a hole or the like.
  • a plurality of local features such as corners and edges are derived by a method similar to the above-mentioned image processing of a two-dimensional image.
  • a plurality of local features on the 3D CAD model of the matching work 50 are found.
  • the 3D point cloud data and the 3D CAD model of the work 50 are matched. ..
  • the third processing unit 130 calculates the amount of change in the surface curvature of the three-dimensional point cloud data acquired by the three-dimensional measuring machine 45 as the information acquisition unit and the 3D CAD model of the work 50, and three-dimensionally. It may be configured to perform matching processing between the point cloud data and the 3D CAD model of the work 50. Specifically, for example, the third processing unit 130 calculates the amount of change in the surface curvature on the three-dimensional point group data acquired by the three-dimensional measuring machine 45, generates a three-dimensional curvature change map, and generates a work. The amount of change in surface curvature on 50 3D CAD models is calculated to generate a three-dimensional curvature change map. By calculating the local similarity of the two generated curvature change maps and matching the local curvature change maps of multiple locations with high similarity exceeding a predetermined threshold, the 3D point cloud data and the work Match 50 3D CAD models.
  • the fourth extraction candidate calculation unit 131 is a three-dimensional measuring machine as an information acquisition unit based on the processing result by the third processing unit 130 and the information including at least the extraction position candidate calculated by the first extraction candidate calculation unit 113. It may be configured to generate at least a pick-up position candidate on the 3D point cloud acquired by 45. Specifically, for example, the 3D point cloud data is matched (arranged) with the 3D CAD model of the work 50, and the extraction position candidate calculated by the first extraction candidate calculation unit 113 (3D in the 3D CAD model of the work 50). (Relative position), a better extraction position candidate on the 3D point cloud data is calculated.
  • the fourth extraction candidate calculation unit 131 utilizes the interference check function or the collision calculation function of the preprocessing unit 111 for the overlapping state of the plurality of works 50 on the three-dimensional point cloud data with the extraction position candidate information. It may be configured to delete / adjust the extraction position candidate where the interference or collision is detected. Alternatively, the preprocessing unit 111 displays each 3D point cloud data with fetch position candidate information via the display unit 13 in the 3D view, and a state in which a plurality of works 50 on the 3D point cloud data overlap. Even if the user visually confirms that the interfering extraction position candidate that is covered by the other work 50 is deleted / adjusted and the result is reflected in the fourth extraction candidate calculation unit 131. good.
  • the third learning data generation unit 132 includes information including at least the extraction position candidate calculated by the fourth extraction candidate calculation unit 131 and the three-dimensional point cloud data acquired by the three-dimensional measuring machine 45 as the information acquisition unit. It may be configured to generate training data based on. Specifically, the third learning data generation unit 132 adds the three-dimensional extraction position candidate calculated by the fourth extraction candidate calculation unit 131 to the three-dimensional point cloud data, for example, for a plurality of three-dimensional position data. It may be numerically generated as training data in the form of a set, or it may be generated graphically as training data in a three-dimensional simulation environment.
  • the third learning data generation unit 132 targets the plurality of three-dimensional point cloud data acquired from the three-dimensional measuring machine 45, and adds the extraction position candidate data calculated in each of the plurality of three-dimensional point cloud data. It is generated as training data (“teacher data”, “training data”) using a plurality of three-dimensional point cloud data as label data.
  • FIG. 13 is a flowchart illustrating the learning data generation process of the information processing apparatus 10b.
  • the processing of step S31 and step S32 is the same as that of step S11 and step S12 according to the first embodiment, and the description thereof will be omitted.
  • step S33 the third processing unit 130 acquires a plurality of three-dimensional point cloud data in a state where the plurality of works 50 acquired by the three-dimensional measuring machine 45 overlap each other from the three-dimensional measuring machine 45.
  • step S34 the third processing unit 130 performs matching processing between each of the plurality of three-dimensional point cloud data acquired in step S33 and the 3D CAD model of the work 50, and the work 50 and the work 50 on the three-dimensional point cloud. Match the 3D CAD model of.
  • step S35 the fourth extraction candidate calculation unit 131 is calculated by the first extraction candidate calculation unit 113 based on the matching relationship between the work 50 on the three-dimensional point cloud derived in step S34 and the 3D CAD model of the work 50.
  • the three-dimensional extraction position candidate of the work 50 on the three-dimensional point cloud is calculated from the three-dimensional extraction position candidate of the work 50.
  • the fourth extraction candidate calculation unit 131 performs an interference check function or a collision calculation function by the preprocessing unit 111 for the overlapping state of the plurality of works 50 on the three-dimensional point cloud data with the extraction position candidate information. Use it to delete / adjust the extraction position candidate where interference or collision is detected.
  • the preprocessing unit 111 displays each 3D point cloud data with fetch position candidate information via the display unit 13 in the 3D view, and a state in which a plurality of works 50 on the 3D point cloud data overlap. Is visually confirmed by the user to delete / adjust the interfering extraction position candidates that are covered by the other work 50, and reflect the result in the fourth extraction candidate calculation unit 131.
  • step S37 the third learning data generation unit 132 targets the plurality of three-dimensional point cloud data acquired in step S33, and adds the extraction position candidate data calculated in step S36 that does not interfere with the surroundings.
  • the training data (“teacher data”, “training data”) using the three-dimensional point cloud data of the above as label data is generated.
  • the information processing apparatus 10b has a plurality of three-dimensional point cloud data in a state where a plurality of works 50 acquired by the three-dimensional measuring machine 45 are overlapped with each other and a 3D CAD model of the work 50. Matching processing is performed to match the work 50 on the three-dimensional point cloud with the 3D CAD model of the work 50.
  • the information processing apparatus 10b calculates a three-dimensional extraction position candidate of the work 50 on the three-dimensional point cloud based on the matching relationship between the work 50 on the derived three-dimensional point cloud and the 3D CAD model of the work 50.
  • the information processing device 10b targets a plurality of 3D point group data acquired by the 3D measuring device 45, and is training data in which a plurality of 3D point group data including the calculated extraction position candidate data is used as label data. Generate ("teacher data”, “training data”). As a result, the information processing apparatus 10b can easily generate learning data (“teacher data”, “training data”) necessary for generating a learning model for specifying the extraction position of the loosely stacked works 50. ..
  • the third embodiment has been described above.
  • the information processing devices 10, 10a, and 10b are not limited to the above-described embodiments, and the information processing devices 10, 10a, and 10b are not limited to the above-described embodiments, and are within the range in which the object can be achieved. Including deformation, improvement, etc.
  • the information processing devices 10, 10a, and 10b are exemplified as devices different from the robot control device 20, but the information processing devices 10, 10a, and 10b are illustrated.
  • the robot control device 20 may be configured to have some or all of the functions.
  • a part or all of the extraction position selection unit 117 may be provided by, for example, a server.
  • a part or all of the extraction position selection unit 117 may be provided by, for example, a server.
  • a part or all of the extraction position selection unit 117 may be provided by, for example, a server.
  • each function of the information processing devices 10, 10a and 10b may be realized by using the virtual server function or the like on the cloud. Further, the information processing devices 10, 10a and 10b may be a distributed processing system in which the functions of the information processing devices 10, 10a and 10b are appropriately distributed to a plurality of servers.
  • the image pickup apparatus 40 is a digital camera or the like that acquires a two-dimensional image, but the present invention is not limited thereto.
  • the image pickup device 40 may be a three-dimensional measuring device or the like. In this case, it is preferable that the image pickup apparatus 40 acquires a two-dimensional image such as a distance image, a gray scale image, or an RGB image.
  • the first embodiment, the second embodiment, and the third embodiment described above describe an embodiment in which information for fetching a work 50 is processed by using a fetching hand 31 to generate learning data for machine learning. However, it is not limited to this.
  • the robot control device 20 generates an operation program of the take-out hand 31 and operates the take-out hand 31 so that the take-out hand 31 goes to the three-dimensional take-out position candidate.
  • the overlapping state of multiple works 50 in the real world is imaged in real time, and the features on the captured 2D image and the 3D CAD model of the work 50 are displayed.
  • the matching process with the feature is performed by the second processing unit 120, and the extraction hand 31 is operated so as to go to the extraction position calculated by the third extraction candidate calculation unit 121 using the processing result.
  • the fourth extraction candidate calculation unit 131 calculates the three-dimensional point cloud data in the overlapping state of the plurality of works 50 acquired by the three-dimensional measuring machine 45 as the information acquisition unit without generating the training data.
  • the robot control device 20 generates an operation program of the take-out hand 31 and sets the take-out hand 31 so that the take-out position candidate information is transmitted to the robot control device 20 and the take-out hand 31 goes to take out these take-out position candidates. Make it work.
  • the overlapping state of multiple works 50 in the real world is measured three-dimensionally in real time, and the measured 3D point cloud and the 3D CAD model of the work 50
  • the matching process with and is performed by the third processing unit 130, and the extraction hand 31 is operated so as to go to the extraction position calculated by the fourth extraction candidate calculation unit 131 using the processing result.
  • Each function included in the information processing devices 10, 10a, and 10b in one embodiment can be realized by hardware, software, or a combination thereof.
  • what is realized by software means that it is realized by a computer reading and executing a program.
  • Non-transitory computer-readable media include various types of tangible recording media (Tangible storage media).
  • Examples of non-temporary computer-readable media include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical disks), CD-ROMs (Read Only Memory), and CD-.
  • the program may also be supplied to the computer by various types of temporary computer-readable media (Transition computer readable medium).
  • temporary computer readable media include electrical, optical, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • the step of describing the program to be recorded on the recording medium is not only the processing performed in chronological order but also the processing executed in parallel or individually even if it is not necessarily processed in chronological order. Also includes.
  • the information processing apparatus and the information processing method of the present disclosure can take various embodiments having the following configurations.
  • the information processing device 10 of the present disclosure is an information processing device that processes information for taking out a work 50 by using a take-out hand 31 of a robot 30, and is a take-out condition including information on the take-out hand 31 or the work 50.
  • the reception unit 110 that receives The first processing unit 112, which derives the local characteristics of the 3D CAD model of the above, is provided. According to the information processing apparatus 10, it is possible to easily generate learning data (“teacher data”, “training data”) necessary for generating a learning model for specifying a taking-out position of loosely stacked works.
  • the reception unit 110 has the shape and size of the portion of the take-out hand 31 in contact with the work 50, the operating range information of the take-out hand 31, and the material and density of the work 50.
  • the extraction condition including at least one of the distribution information of the friction coefficient and the partial extraction availability information may be received, and the first processing unit 112 may derive the local feature according to the extraction condition by the reception unit 110. .. By doing so, the information processing apparatus 10 can derive the optimum local feature that matches the extraction hand 31 or the work 50 included in the extraction condition.
  • the first extraction candidate calculation unit 113 that automatically calculates the extraction position candidate of at least one work 50 based on the derived local feature. May be further provided. By doing so, the information processing apparatus 10 fits the contact surface where the suction pad or the pair of gripping fingers comes into contact with the work 50 without leaking air when the take-out hand 31 goes to take out the work 50 as a take-out position candidate.
  • the take-out hand 31 has good properties and can smoothly contact the work 50 without shifting the position of the work 50.
  • the take-out hand 31 comes into contact with the work 50 at a position close to the center of gravity of the work, takes out, prevents rotational movement around the center of gravity of the work when it is lifted, and does not collide with obstacles such as the surrounding work 50 and the wall of the container 60.
  • the work 50 can be taken out stably.
  • the first extraction candidate calculation unit 113 may automatically calculate the extraction posture candidate of the work 50 based on the derived local features. By doing so, the information processing apparatus 10 prevents the work 50 from being dropped due to a rotational movement around its center of gravity when the take-out hand 31 comes into contact with the work 50 and lifts the work 50 at an unintended position. This can be prevented and the work 50 can be taken out more stably.
  • the first extraction candidate calculation unit 113 uses the interference check function or the collision calculation function of the preprocessing unit 111 to calculate the first extraction candidate.
  • the take-out position candidate and / or the take-out posture candidate calculated by the unit 113 may be modified. By doing so, the information processing apparatus 10 more reliably picks up the target work 50 without interfering with other works around it or obstacles such as a container wall when the take-out hand 31 picks up the target work 50. Can be taken out.
  • a second extraction candidate calculation unit 114 is further provided, and a plurality of preprocessing units 111 use a 3D CAD model of the work 50.
  • a plurality of overlapping states of the work 50 are randomly generated, and the second extraction candidate calculation unit 114 randomly generates a plurality of overlapping states, and the second extraction candidate calculation unit 114 is based on at least the extraction position candidates calculated by the first extraction candidate calculation unit 113. At least the take-out position may be automatically generated. By doing so, the information processing apparatus 10 can calculate a better extraction position of the plurality of works 50 without interfering with the surroundings in a state where the plurality of works 50 overlap each other.
  • the second extraction candidate calculation unit 114 is generated by the second extraction candidate calculation unit 114 by using the interference check function or the collision calculation function of the preprocessing unit 111. At least the extraction position candidates of the plurality of workpieces 50 may be modified. By doing so, the information processing apparatus 10 can more reliably take out the work 50 with the take-out hand 31 even when a plurality of works 50 overlap each other.
  • the first training data generation unit 115 that generates training data based on the information including at least the extraction position of the plurality of works 50 generated by the above may be further provided. By doing so, the information processing apparatus 10 can achieve the same effect as in (1).
  • a second processing unit 120 that performs matching processing with the derived local features of the 50 3D CAD models may be further provided.
  • the information processing apparatus 10a can associate each feature on the plurality of two-dimensional images with the feature on the 3D CAD model of the work 50, and the work 50 on the plurality of two-dimensional images can be associated with the work 50. Can be associated with the 3D CAD model of.
  • a third extraction candidate calculation unit 121 is further provided, and the third extraction candidate calculation unit 121 includes a processing result by the second processing unit 120 and a first extraction candidate calculation unit. At least the extraction positions of the plurality of works 50 on the plurality of two-dimensional images acquired by the image pickup apparatus 40 may be automatically generated based on at least the extraction position candidates calculated by 113. By doing so, the information processing apparatus 10a can achieve the same effect as in (6).
  • the preprocessing unit 111 sets a plurality of overlapping states of a plurality of works 50 corresponding to a plurality of two-dimensional images based on the processing result by the second processing unit 120. Generate. Even if the third extraction candidate calculation unit 121 uses the interference check function or the collision calculation function of the preprocessing unit 111 to correct at least the extraction positions of the plurality of works 50 generated by the third extraction candidate calculation unit 121. good. By doing so, the information processing apparatus 10a can achieve the same effect as in (7).
  • the information processing apparatus 10a In the information processing apparatus 10a according to (10) or (11), a plurality of two-dimensional images acquired by the image pickup apparatus 40 and at least extraction position candidates generated by the third extraction candidate calculation unit 121 are included. A second training data generation unit 122 that generates training data based on the information may be further provided. By doing so, the information processing apparatus 10a can achieve the same effect as in (1).
  • the information processing apparatus 10b can associate the features of each of the plurality of 3D point cloud data with the features on the 3D CAD model of the work 50, and each of the plurality of 3D point cloud data can be associated with the feature of the work 50. Can be associated with the 3D CAD model of.
  • the information processing apparatus 10b according to (13) further includes a fourth extraction candidate calculation unit 131, and the fourth extraction candidate calculation unit 131 includes a processing result by the third processing unit 130 and a first extraction candidate calculation unit. At least the extraction positions of the plurality of works 50 on the plurality of three-dimensional point clouds acquired by the three-dimensional measuring machine 45 may be automatically generated based on at least the extraction position candidates calculated by 113. By doing so, the information processing apparatus 10b can achieve the same effect as in (6).
  • the fourth extraction candidate calculation unit 131 has an interference check function by the preprocessing unit 111 based on the three-dimensional point cloud data acquired by the three-dimensional measuring machine 45.
  • the collision calculation function may be used to correct at least the extraction positions of the plurality of works 50 generated by the fourth extraction candidate calculation unit 131. By doing so, the information processing apparatus 10b can achieve the same effect as in (7).
  • the information processing apparatus 10b In the information processing apparatus 10b according to (14) or (15), the three-dimensional point cloud data acquired by the three-dimensional measuring machine 45 and at least the extraction position candidate generated by the fourth extraction candidate calculation unit 131.
  • a third training data generation unit 132 that generates training data based on the information including the above may be further provided. By doing so, the information processing apparatus 10b can achieve the same effect as in (1).
  • the information processing method of the present disclosure is an information processing method realized by a computer for processing information for taking out a work 50 by using a take-out hand 31 of a robot 30, and is an information processing method of the take-out hand 31 or the work 50.
  • the reception process that accepts the extraction condition including information, the pretreatment process that at least derives the position of the center of gravity of the work 50 based on the 3D CAD model of the work 50, and the extraction condition based on the position of the center of gravity of the derived work 50.
  • the first processing step of deriving the local feature of the 3D CAD model of the corresponding work 50 is provided. According to this information processing method, the same effect as in (1) can be obtained.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)

Abstract

ばら積みされているワークの取り出し位置を特定する学習モデルの生成に必要となる学習データを容易に生成すること。 情報処理装置は、ハンドを用いてワークを取り出すための情報を処理する情報処理装置であって、前記ハンド又は前記ワークの情報を含む取り出し条件を受け付ける受付部と、前記ワークの3D CADモデルに基づいて、前記ワークの重心位置を少なくとも導出する前処理部と、導出された前記ワークの重心位置に基づいて、前記取り出し条件に応じた前記ワークの前記3D CADモデルの局部特徴を導出する第1処理部と、を備える。

Description

情報処理装置、及び情報処理方法
 本発明は、情報処理装置、及び情報処理方法に関する。
 物体(以下、「ワーク」ともいう)の取り出し位置の検出のために、3次元計測部により計測した、ワークの距離画像を用いた教示が行われている。距離画像を用いた教示を行うための手法としては、例えば、CAD(Computer-Aided Design)マッチングによる手法や、設定パラメータに基づいて探索を行う手法が一般的に利用されている。ここで、距離画像とは、計測対象物(ワーク)の表面を計測した画像であって、撮像された画像上の各画素(ピクセル)が3次元計測部からの深度情報を有する画像を意味する。すなわち、距離画像上の各画素(ピクセル)は、3次元計測部の備える3次元座標系における3次元座標情報を有するといえる。
 この点、複数のアングルで物体の距離画像を撮像して、撮像された複数の距離画像に基づいて物体の三次元モデルを生成するとともに、生成された三次元モデルに基づいて複数のアングルに対応する物体の特定部位を示す抽出画像を生成し、複数の距離画像と、複数の距離画像それぞれに対応する抽出画像とを教師データとして用いて機械学習を行うことで、ロボットが物体を把持する位置を特定するモデルを生成する技術が知られている。例えば、特許文献1参照。
特開2019-56966号公報
 しかしながら、ワークの取り出し位置を特定するモデルを生成するために、複数のアングルで物体の距離画像を撮像する必要があり、手間と時間とがかかる。
 また、複数のワークがばら積みされている場合、ばら積みされたワークの取り出し位置を特定するには、その位置でワークを保持する時にハンドと周りのワークやコンテナ壁等の障害物との干渉がないように、対象ワークを保持する時のハンドの位置及び姿勢についても考慮する必要がある。
 そこで、ばら積みされているワークの取り出し位置を特定する学習モデルの生成に必要となる学習データ(「教師データ」又は「訓練データ」ともいう)を容易に生成することが望まれている。
 (1)本開示の情報処理装置の一態様は、ハンドを用いてワークを取り出すための情報を処理する情報処理装置であって、前記ハンド又は前記ワークの情報を含む取り出し条件を受け付ける受付部と、前記ワークの3D CADモデルに基づいて、前記ワークの重心位置を少なくとも導出する前処理部と、導出された前記ワークの重心位置に基づいて、前記取り出し条件に応じた前記ワークの前記3D CADモデルの局部特徴を導出する第1処理部と、を備える。
 (2)本開示の情報処理方法の一態様は、コンピュータにより実現される、ハンドを用いてワークを取り出すための情報を処理する情報処理方法であって、前記ハンド又は前記ワークの情報を含む取り出し条件を受け付ける受付工程と、前記ワークの3D CADモデルに基づいて、前記ワークの重心位置を少なくとも導出する前処理工程と、導出された前記ワークの重心位置に基づいて、前記取り出し条件に応じた前記ワークの前記3D CADモデルの局部特徴を導出する第1処理工程と、を備える。
 一態様によれば、ばら積みされているワークの取り出し位置を特定する学習モデルの生成に必要となる学習データ(「教師データ」、「訓練データ」)を容易に生成することができる。
第1実施形態に係るロボットシステムの構成の一例を示す図である。 第1実施形態に係る情報処理装置の機能的構成例を示す機能ブロック図である。 ワークの一例を示す図である。 ワークの一例を示す図である。 仮想空間での描画の一例を示す図である。 ランダムに生成した複数のワークが重なり合う状態の3D CADデータを投影した2D CAD図の一例を示す図である。 第1取り出し候補計算部により算出された取り出し位置候補データ付きの3D CADデータを投影した2D CAD図の一例を示す図である。 各取り出し位置候補に円柱状の仮想ハンドが描画された3D CADデータを投影した2D CAD図の一例を示す図である。 干渉のある候補を削除した後の取り出し位置候補データ付きの3D CADデータを投影した2D CAD図の一例を示す図である。 情報処理装置の学習データ生成処理について説明するフローチャートである。 第2実施形態に係る情報処理装置の機能的構成例を示す機能ブロック図である。 情報処理装置の学習データ生成処理について説明するフローチャートである。 第3実施形態に係るロボットシステムの構成の一例を示す図である。 第3実施形態に係る情報処理装置の機能的構成例を示す機能ブロック図である。 3次元点群データに対する前処理を説明する一例を示す図である。 情報処理装置の学習データ生成処理について説明するフローチャートである。
 第1実施形態から第3実施形態について図面を参照して詳細に説明をする。
 ここで、各実施形態は、ランダムにばら積みされた重なり合う状態のワークの取り出し位置を特定する学習モデルの生成に必要となる学習データ(「教師データ」、「訓練データ」)を容易に生成するという構成において共通する。
 ただし、学習データ(「教師データ」、「訓練データ」)の生成処理において、第1実施形態では仮想空間上でワークの3D CADデータを用いてワークがばら積みで重なり合う状態をランダムに生成し、ランダムに生成された複数のワークの重なり合う状態から投影した複数の2次元投影画像を対象とし、重なり合う複数のワークの3D CADデータそれぞれにおいて生成されたワークの取り出し位置候補データを加えた複数の2次元投影画像をラベルデータとする学習データを生成する。これに対し、第2実施形態では撮像装置で取得されたワークがばら積みで重なり合う状態の複数の2次元画像を対象とし、前記複数の2次元画像上それぞれの特徴とワークの3D CAD上の特徴とに基づいて計算されたワークの取り出し位置候補データを加えた複数の2次元画像をラベルデータとする学習データを生成する点で、第1実施形態と相違する。また、第3実施形態では3次元計測機等で取得されたワークがばら積みで重なり合う状態の複数の3次元点群データを対象とし、前記複数の3次元点群データそれぞれとワークの3D CADとに基づいて計算されたワークの取り出し位置候補データを加えた複数の3次元点群データをラベルデータとする学習データを生成する点で、第1実施形態及び第2実施形態と相違する。
 以下では、まず第1実施形態について詳細に説明し、次に第2実施形態及び第3実施形態において特に第1実施形態と相違する部分について説明を行う。
<第1実施形態>
 図1は、第1実施形態に係るロボットシステム1の構成の一例を示す図である。
 図1に示すように、ロボットシステム1は、情報処理装置10、ロボット制御装置20、ロボット30、撮像装置40、複数のワーク50、及びコンテナ60を有する。
 情報処理装置10、ロボット制御装置20、ロボット30、及び撮像装置40は、図示しない接続インタフェースを介して互いに直接接続されてもよい。なお、情報処理装置10、ロボット制御装置20、ロボット30、及び撮像装置40は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して相互に接続されていてもよい。この場合、情報処理装置10、ロボット制御装置20、ロボット30、及び撮像装置40は、かかる接続によって相互に通信を行うための図示しない通信部を備えている。また、説明しやすくするために、図1は情報処理装置10とロボット制御装置20をそれぞれ独立に描いていて、この場合の情報処理装置10は例えばコンピュータより構成されてもよい。このような構成に限定されず、例えば、情報処理装置10はロボット制御装置20の内部に実装され、ロボット制御装置20と一体化されてもよい。
 ロボット制御装置20は、ロボット30の動作を制御するための当業者にとって公知の装置である。ロボット制御装置20は、例えば、ばら積みされたワーク50のうち後述する情報処理装置10によって選択されたワーク50の取り出し位置情報を情報処理装置10から受信する。ロボット制御装置20は、情報処理装置10から受信した取り出し位置にあるワーク50を取り出すように、ロボット30の動作を制御するための制御信号を生成する。そして、ロボット制御装置20は、生成した制御信号をロボット30に対して出力する。
 なお、ロボット制御装置20は、後述するように、情報処理装置10を含んでもよい。
 ロボット30は、ロボット制御装置20の制御に基づいて動作するロボットである。ロボット30は、鉛直方向の軸を中心に回転するためのベース部や、移動及び回転するアームや、ワーク50を保持するためにアームに装着される取り出しハンド31を備える。なお、図1では、ロボット30の取り出しハンド31には、エア吸着式の取り出しハンドが装着されているが、把持式の取り出しハンドが装着されてもよいし、磁力で鉄製のワークを取り出す磁気式ハンドが装着されてもよい。
 ロボット30は、ロボット制御装置20が出力する制御信号に応じて、アームや取り出しハンド31を駆動して、情報処理装置10により選択された取り出し位置まで取り出しハンド31を移動させて、ばら積みされたワーク50を保持してコンテナ60から取り出す。
 なお、取り出したワーク50の移載先については図示を省略する。また、ロボット30の具体的な構成については、当業者によく知られているので、詳細な説明は省略する。
 なお、情報処理装置10やロボット制御装置20は、予め行われたキャリブレーションにより、ロボット30を制御するための機械座標系と、ワーク50の取り出し位置を示すカメラ座標系とを対応付けているものとする。
 撮像装置40は、デジタルカメラ等であり、コンテナ60内のばら積みされたワーク50を撮像装置40の光軸に対して垂直な平面に投影した2次元画像を取得する。
 なお、撮像装置40は、後述するように、ステレオカメラ等の3次元計測機でもよい。
 ワーク50は、コンテナ60内で、ばら積みされた状態を含んで乱雑に置かれる。ワーク50は、ロボット30のアームに装着された取り出しハンド31で保持可能なものであればよく、その形状等は特に限定されない。
<情報処理装置10>
 図2は、第1実施形態に係る情報処理装置10の機能的構成例を示す機能ブロック図である。
 情報処理装置10は、当業者にとって公知のコンピュータ装置であり、図2に示すように、制御部11、入力部12、表示部13、及び記憶部14を有する。また、制御部11は、受付部110、前処理部111、第1処理部112、第1取り出し候補計算部113、第2取り出し候補計算部114、第1学習データ生成部115、学習処理部116、及び取り出し位置選択部117を有する。
<入力部12>
 入力部12は、例えば、キーボードや、後述する表示部13に配置されたタッチパネル等であり、ユーザからの入力を受け付ける。具体的には、例えば後述するように、ユーザは、入力部12を介して、取り出しハンド31の種類、ワーク50と接触する部分の形状やサイズ等の情報を含む取り出し条件を入力する。
<表示部13>
 表示部13は、例えば、液晶ディスプレイ等であり、例えば後述する受付部110が入力部12を介して受け付けた取り出し条件の数値や図式、後述する前処理部111によるワーク50の3D CADデータ等を表示する。
<記憶部14>
 記憶部14は、ROMやHDD等であり、各種の制御用プログラムとともに、取り出し条件データ141、及び学習データ142を記憶してもよい。
 取り出し条件データ141は、上述したように、入力部12を介して、後述する受付部110が、ユーザから受け付けた取り出しハンド31のワーク50と接触する部分の形状、接触法線方向、接触面積、及び取り出しハンド31の動作範囲情報、並びにワーク50の表面曲率、材質や摩擦係数の分布、及び一部の取り出し可否情報のうち少なくとも1つを含む取り出し条件を格納する。
 学習データ142は、後述する第1学習データ生成部115により生成される仮想空間上で複数のワーク50がランダムにばら積みされて重なり合う状態の複数の2次元投影画像を対象とし、取り出し位置候補が特定された複数の2次元投影画像をラベルデータとする学習データ(「教師データ」、「訓練データ」)を格納する。
<制御部11>
 制御部11は、CPU(Central Processing Unit)、ROM、RAM(Random Access Memory)、CMOS(Complementary Metal-Oxide-Semiconductor)メモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
 CPUは情報処理装置10を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、前記システムプログラム及びアプリケーションプログラムに従って情報処理装置10全体を制御する。これにより、図2に示すように、制御部11が、受付部110、前処理部111、第1処理部112、第1取り出し候補計算部113、第2取り出し候補計算部114、第1学習データ生成部115、学習処理部116、及び取り出し位置選択部117の機能を実現するように構成される。RAMには一時的な計算データや表示データ等の各種データが格納される。また、CMOSメモリは図示しないバッテリでバックアップされ、情報処理装置10の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
<受付部110>
 受付部110は、入力部12を介してユーザが入力した取り出しハンド31の種類、ワーク50と接触する部分の形状やサイズ等の情報を含む取り出し条件を受け付けて後述する記憶部14に記憶するように構成されてもよい。すなわち、受付部110は、取り出しハンド31がエア吸着式か把持式か、取り出しハンド31がワーク50と接触する吸着パッドの接触部分の形状とサイズ、吸着パッドの個数、取り出しハンド31が複数の吸着パッドを有する場合パッドの間隔と分布、又は取り出しハンド31が把持式の場合取り出しハンド31の把持指がワーク50と接触する部分の形状、サイズ、把持指の本数、間隔と分布等の情報を受け付けて記憶部14に記憶してもよい。なお、受付部110は、これらの情報を数値で受け付けてもよいが、2次元又は3次元の図式(例えば、CADデータ等)で受け付けてもよく、数値、及び図式の両方を受け付けてもよい。受け付けた情報を反映した取り出し条件、例えば、外形が直径(以下、「φ」とも記載する)20mm、空気を通る穴部がφ8mmである吸着パッド1つを用いてワークを取り出すというような取り出し条件Aとして記憶部14に記憶しておく。
 また、受付部110は、入力部12を介してユーザが入力した取り出しハンド31のワーク50と接触する部分の接触法線方向情報を含む取り出し条件を受け付けて記憶部14に記憶するように構成されてもよい。このような接触法線方向情報は、エア吸着式の取り出しハンド31の先端に取り付けられる吸着パッドのワーク50と接触する部分の接触法線方向を示す3次元ベクトルであってもよく、把持式の取り出しハンド31の把持指のワーク50と接触する部分の接触法線方向を示す3次元ベクトルであってもよい。具体的には、各接触位置においての1つの3次元方向ベクトル情報として記憶部14に記憶されてもよい。例えば、ワーク重心を原点として1つの3次元座標系Σを定義する。3次元座標系Σで見た第i番目の接触位置の位置座標値を[x,y,z]とし、[x,y,z]を原点として取り出しハンド31の長手方向をz軸の正方向として1つの3次元座標系Σを定義する。例えば、取り出しハンド31の接触法線方向ベクトルが座標系Σのz軸の負方向に向いている場合は、取り出しハンド31の接触法線方向ベクトルを1つの3次元方向ベクトル[0,0,-1]として数値的に記憶でき、座標系ΣとΣの間の同次変換行列Twiの情報を数値的に受け付けて記憶部14に記憶することができる。また、受付部110は、後述する前処理部111の中で3次元的に取り出しハンド31の接触法線ベクトルを描くように図式で受け付けて記憶部14に記憶してもよい。もちろん、受付部110は、数値、同時に図式の両方の情報を受け付けて記憶部14に記憶してもよい。
 また、受付部110は、入力部12を介してユーザが入力した取り出しハンド31のワーク50と接触する部分の接触面積情報を含む取り出し条件を受け付けて記憶部14に記憶するように構成されてもよい。例えば、2本指を有する把持式の取り出しハンド31でワーク50を把持して取り出す場合、把持指の把持部の面積情報(例えば、30mm×20mmの矩形である場合は、面積600mm)を記憶する。さらに、受付部110は、この矩形状領域の何割以上がワーク50と実際に接触できたらワーク50を把持して取り出せるかを、ユーザが判断して入力部12を介して入力したその比率情報を受け付けてもよい。そうすることで、重いワーク50の場合には比率を上げて、より大きな接触面積を確保してワーク50を持ち上げることでワーク50の落下を防止することができ、軽いワーク50の場合には比率を下げて、より小さい接触面積に応じたワーク50上の局部特徴のより多い候補を見つけ出すことができる。
 また、受付部110は、入力部12を介してユーザが入力した取り出しハンド31の動作範囲情報を含む取り出し条件を受け付けて記憶部14に記憶するように構成されてもよい。具体的には、受付部110は、取り出しハンド31の動作範囲を示す動作パラメータの制限値、例えば、取り出しハンド31が把持式の場合には開閉可能な把持幅の制限範囲、取り出しハンド31が多関節構造を有する場合には各関節の動作角度の制限範囲、取り出す時の取り出しハンド31の傾き角度の制限範囲等の情報を受け付けて記憶部14に記憶するようにしてもよい。なお、受付部110は、取り出しハンド31の動作範囲情報を数値で受け付けてもよいが、2次元又は3次元の図式で受け付けてもよく、数値、及び図式の両方を受け付けてもよい。受付部110は、受け付けた情報を反映した取り出し条件、例えば、周囲のワーク50やコンテナ60の壁等の障害物との衝突を避けるために、取り出し動作時の取り出しハンド31の傾き角度を-30°~30°の範囲内に制限した場合、この取り出し条件を記憶部14に記憶するようにしてもよい。
 また、受付部110は、後述する前処理部111がワーク50の3D CADモデルから算出したワーク50の表面曲率情報を含む取り出し条件を受け付けて記憶部14に記憶するように構成されてもよい。例えば、後述する前処理部111は、ワーク50の3D CADモデルから、ワーク表面の各位置において、本位置と隣り合う位置の曲率の差からの本位置の曲率の変化量を計算して記憶部14に記憶するようにしてもよい。
 また、受付部110は、入力部12を介してユーザが入力したワーク50の材質、密度、摩擦係数、又はそれらの分布情報を含む取り出し条件を受け付けて記憶部14に記憶するように構成されてもよい。例えば、受付部110は、ワーク50の材質がアルミかプラスチックか、その材質の密度や摩擦係数情報、複数材質を有するワーク50の場合にはワーク全体における各種材質の分布情報、材質密度や摩擦係数の分布情報を受け付けて記憶部14に記憶する。この場合、後述する前処理部111は、これらの分布情報を図式的に、例えば異なる材質の領域に異なる色を塗って表示部13に表示し、材質に対応する密度や摩擦係数等の情報を数値的に記憶部14に記憶するようにしてもよい。
 また、受付部110は、入力部12を介してユーザが入力したワーク50上の一部の取り出し可否情報を含む取り出し条件を受け付けて記憶部14に記憶するように構成されてもよい。例えば、後述する前処理部111により表示部13に表示されるワーク50の3D CADモデルをユーザが目視し、エア吸着式の取り出しハンド31で取り出す際に空気漏れの原因となるワーク50における穴や溝、段差、凹み等を「取り出し不可」とし、空気漏れの原因になる特徴を含まないワーク50の局部平面や局部曲面等を「取り出し可」として、それぞれ1ヶ所を矩形枠で囲んだ場合、受付部110は、ワーク50の重心位置に対するこれらの枠の相対位置やサイズ等の情報を記憶部14に記憶する。また、商品のロゴのある領域、電子基板のピンのある領域等、取り出す時に接触させたくない領域を「取り出し不可」として、ユーザがワーク50の3D CADモデル上でそれぞれ1ヶ所を矩形枠で囲んだ場合、受付部110は、ワーク50の重心位置に対するこれらの枠の相対位置やサイズ等の情報を記憶部14に記憶するようにしてもよい。
<前処理部111>
 前処理部111は、ワーク50の3D CADモデルに基づいて、ワーク50の重心位置を導出する3D CADソフト又は物理シミュレータ等の仮想環境を有するように構成されてもよい。
 具体的には、前処理部111は、例えば、ワーク50の3D CADモデルに対してワーク50の重心位置を導出して表示部13にワーク50の重心位置を表示するようにしてもよい。
<第1処理部112>
 第1処理部112は、導出されたワーク50の重心位置に基づいて、受付部110により入力部12を介して受け付けた取り出し条件に応じたワーク50の3D CADモデル上の局部特徴を導出する。
 具体的には、第1処理部112は、例えば、受付部110が入力部12を介して受け付けた取り出し条件である取り出しハンド31の種類、ワーク50と接触する部分の形状、サイズ等の情報に基づいて、ワーク50の3D CADモデル上で取り出しハンド31の接触部分の形状とマッチングしているワーク50の局部特徴(局部曲面又は平面)を導出するように構成されてもよい。例えば、外形がφ20mm、空気を通る穴部がφ8mmである吸着パッド1つを有した取り出しハンド31を用いてワーク50を取り出すという取り出し条件Aを受付部110が受け付けた場合、第1処理部112は、ワークの3D CADモデル上で、取り出しハンド31の吸着パッドの形状とのマッチングにより、局部平面又は曲面がφ20mm以上であり、かつ、吸着パッドの中心位置を中心としてφ8mm以内の領域に穴や溝、段差、凹み等の空気漏れの原因となる要素が存在しない局部平面又は曲面を探し出す。第1処理部112は、探し出した局部平面又は曲面のワーク重心からの距離を算出し、予め設定された許容できる閾値を超えない距離を有する局部平面又は曲面を導出する。
 また、第1処理部112は、受付部110が入力部12を介して受け付けた取り出し条件である取り出しハンド31のワーク50と接触する部分の法線方向情報に基づいて、ワーク50の3D CADモデル上で取り出しハンド31の接触法線方向とマッチングしているワーク50の局部特徴(局部曲面又は平面)を導出するように構成されてもよい。
 以下、(a)1つの吸着パッドを有したエア吸着式の取り出しハンド31を用いてワーク50を取り出す場合と、(b)一対の把持指(平行グリッパー)を有した把持式の取り出しハンド31を用いてワーク50を取り出す場合と、の局部特徴の導出方法について説明する。
(a)1つの吸着パッドを有した吸着式の取り出しハンド31を用いてワーク50を取り出す場合
 図3は、ワーク50の一例を示す図である。
 図3に示すように、第1処理部112は、ワーク50の3D CADモデルの表面形状にわたって、局部特徴(曲面又は平面)の中心位置における法線ベクトルVwiと取り出しハンド31(吸着パッドを含む、破線で示すもの)の接触法線ベクトルVとがなす角度Θが最小で、かつ、ワーク50の重心位置Pから取り出しハンド31の接触法線ベクトルVまでの距離dが最小となるようなワーク50の局部曲面又は平面を探索して導出する。図3の場合、ワーク重心を通り(すなわち、距離dがゼロ)、かつ、その法線ベクトルVwiと取り出しハンド31の接触法線ベクトルVとのなす角度Θがゼロとなるような局部特徴は、法線ベクトルVwiが図3に示すVw1又はVw2となるような位置P又はPを中心とする局部曲面である。なお、第1処理部112が導出する局部特徴は、2つの箇所に限定されず、1又は3以上の箇所でもよい。
 このように導出された位置P、Pにエア吸着式の取り出しハンド31が取りに行くと、取り出しハンド31がワーク50の位置をずらすことなく、吸着パッドがワーク50の表面とスムーズに密着でき、取り出しハンド31の接触力により発生するワーク重心周りのモーメントがゼロであるため、ワーク50を持ち上げる時に不安定なワーク回転運動を抑えられ、ワーク50を安定に取り出すことができる。
(b)一対の把持指(平行グリッパー)31a、31bを有した把持式の取り出しハンド31を用いてワーク50を取り出す場合
 図4は、ワーク50の一例を示す図である。
 図4に示すように、第1処理部112は、ワーク50の3D CADモデルの表面形状にわたって、取り出しハンド31の一対の把持指(2つの破線の矩形)31a、31bがそれぞれ接触するワーク50の表面の曲面又は平面2ヶ所の法線ベクトルVwi、Vwjと、一対の把持指31a、31bの接触法線ベクトルVh1、Vh2とがなす角度Θ、Θの和Θij(=Θ)が最小で、かつ、ワーク50の重心位置Pから一対の把持指31a、31bの接触法線ベクトルVh1、Vh2までの距離dが最小となるようなワーク50の局部曲面又は平面を探索して導出する。図4の場合、ワーク50の重心を通り(すなわち、距離dがゼロ)、かつ、その法線ベクトルVwi、Vwjと一対の把持指31a、31bの接触法線ベクトルVh1、Vh2とがなす角度Θ、Θの和Θijがゼロとなる局部特徴は、位置P、P5’、又は位置P、P6’を中心とする局部曲面である。
 このように導出された位置P、P5’、又は位置P、P6’に、図4に示している把持姿勢で把持しに行くと、一対の把持指31a、31bがワーク50に接触する時にワーク50の位置をずらすことなくワーク50とスムーズに接触でき、ワーク50を把持して持ち上げる時にワーク重心周りの回転運動を生じることなく、安定にワーク50を把持して取り出すことができる。なお、第1処理部112が導出する局部特徴は、2セットに限定されず、1又は3以上のセットでもよい。
 また、第1処理部112は、受付部110が入力部12を介して受け付けた取り出し条件である取り出しハンド31のワーク50と接触する部分の接触面積情報に基づいて、ワーク50の3D CADモデル上の局部特徴を導出するように構成されてもよい。例えば、2本指を有する把持式の取り出しハンド31でワーク50を把持して取り出す場合で、把持指の把持部が30mm×20mmの矩形、すなわち接触面積600mmである場合に、受付部110が入力部12を介して接触面積の比率が50%を超えるという取り出し条件を受け付けると、第1処理部112は、実際の接触面積が300mmを超える必要があることから、ワーク50の3D CAD上で面積が300mmを超える局部平面を探し出すようにしてもよい。第1処理部112は、探し出した局部平面のワーク重心からの距離を算出し、予め設定された許容できる閾値を超えない距離の局部平面を導出するようにしてもよい。
 また、第1処理部112は、受付部110が入力部12を介して受け付けた取り出し条件である取り出しハンド31の動作範囲を示す動作パラメータの制限値を利用して、ワーク50の3D CADモデル上の局部特徴を導出するように構成されてもよい。例えば、対象のワーク50を取り出す際に取り出しハンド31とコンテナ60の壁等の周りとの干渉を防止するために、取り出しハンド31の傾き角を-30°~30°等の範囲内に制限して、ユーザが指定することがある。この場合、上述方法で導出した局部特徴である平面又は曲面の法線方向が鉛直方向となす角度が-30°~30°の範囲を超えているところに取り出しハンド31がワーク50を取り出しにいくと、ハンド動作の傾き角が動作制限範囲の-30°~30°を超えてしまうので、第1処理部112は、このような局部特徴を候補から外すようにしてもよい。
 また、第1処理部112は、受付部110が入力部12を介して受け付けた取り出し条件であるワーク50の表面曲率情報に基づいて、ワーク50の3D CADモデル上の局部特徴を導出するように構成されてもよい。例えば、吸着パッド1つを有するエア吸着式の取り出しハンド31を用いてワーク50を取り出す場合、前処理部111は3D CADソフト又は3次元物理シミュレータ等の仮想空間の中で、ワーク表面の曲率の変化量を求める。そして、第1処理部112は、求められた曲率の変化量が小さい局部特徴を局部平面又は緩やかな局部曲面として判定し、候補とする優先度を上げて高い評価スコアを与えるようにしてもよい。また、第1処理部112は、曲率の変化量が大きな局部特徴を凸凹な局部曲面として判定し、候補とする優先度を下げて低い評価スコアを与えるようにしてもよい。また、第1処理部112は、曲率の変化量が急に激変する局部特徴を穴や溝、段差、凹み等の空気漏れの原因になる特徴を含むものとして判定し、候補から外すように評価スコアをゼロにするようにしてもよい。第1処理部112は、評価スコアが最も高い局部特徴を候補として導出するようにしてもよいが、予め設定された閾値を超える局部特徴を複数導出するようにしてもよい。また、第1処理部112は、評価スコアの閾値Aを満たす複数の局部特徴のワーク重心からの距離を算出し、予め設定された許容できる閾値Bを超えない距離を有する局部特徴を導出するようにしてもよい。なお、実際のワーク50の形状によって、導出される局部特徴は1つでもよく、2以上の複数でもよい。
 また、第1処理部112は、受付部110が入力部12を介して受け付けた取り出し条件であるワーク50の材質、密度や摩擦係数等の分布情報に基づいて、ワーク50の3D CADモデル上の局部特徴を導出するように構成されてもよい。そうすることで、例えば、複数種類の材質の結合により作られたワーク50を取り出す場合、ワーク50全体における各種材質の密度の分布情報を利用して、材質の密度がより高い部分はワーク50の重さのより多い割合を占めワーク重心を包含するため、材質の密度がより高い部分に優先的に取り出しハンド31が取り出しに行くとワーク重心により近い位置に取り出しに行くことになるので、より安定にワーク50を取り出すことができる。また、摩擦係数の分布情報を利用して、摩擦係数がより高い部分に優先的に取り出しハンド31が取り出しに行くと、ワーク50を滑らせずにより安定に取り出すことができる。
 また、第1処理部112は、受付部110が入力部12を介して受け付けた取り出し条件であるワーク50上の一部の取り出し可否情報に基づいて、ワーク50の3D CADモデル上の局部特徴を導出するように構成されてもよい。例えば、空気漏れの原因となるワーク50における穴や溝、段差、凹み等が「取り出し不可」とし、空気漏れの原因になる特徴を含まないワーク50の局部平面や局部曲面等を「取り出し可」として、それぞれ1ヶ所の矩形枠で囲まれている取り出し可否情報を利用して、第1処理部112は、枠内の特徴とマッチングする局部特徴をワーク50の3D CADモデル上で探し出して、よい候補として導出するようにしてもよい。そして、第1処理部112は、「取り出し可」として導出された複数の局部特徴に対して、それらの中心位置からワーク重心までの距離を算出し、予め設定された許容できる閾値を超えない距離を有する局部特徴を導出するようにしてもよい。また、商品のロゴのある領域、電子基板のピンのある領域等、取り出す時に接触させたくない領域が「取り出し不可」として、それぞれ1ヶ所の矩形枠で囲まれている取り出し可否情報を利用して、第1処理部112は、枠内の特徴とマッチングする局部特徴をワーク50の3D CADモデル上で探し出して、よくない候補として導出するようにしてもよい。
<第1取り出し候補計算部113>
 第1取り出し候補計算部113は、第1処理部112により導出された局部特徴に基づいて、少なくとも1つのワーク50の取り出し位置候補を自動的に計算するように構成されてもよい。
 具体的には、第1取り出し候補計算部113は、上述方法で導出したよりよい局部特徴の中心位置を取り出し位置候補として算出してもよい。このような位置候補に取り出しハンド31(エア吸着式又は把持式)がワーク50を取り出しに行く時に、空気が漏れることなく、吸着パッド又は一対の把持指がワーク50と接触する接触面のフィッティング性がよく、取り出しハンド31がワーク50の位置をずらすことなくスムーズにワーク50と接触することができる。また、取り出しハンド31はワーク重心に近い位置でワーク50と接触して取り出し、持ち上げる時にワーク重心周りの回転運動を防ぎ、周りのワーク50やコンテナ60の壁等の障害物と衝突することなく、安定にワーク50を取り出すことができる。
 第1取り出し候補計算部113は、第1処理部112により導出された局部特徴に基づいて、ワーク50の取り出し姿勢候補を自動的に計算するように構成されてもよい。
 例えば、第1取り出し候補計算部113は、上述の図3に示す取り出し位置P又はPに取り出しハンド31がワーク50を取りに行く時、導出された2つの局部曲面の中心位置の法線ベクトルVw1又はVw2と取り出しハンド31の接触法線ベクトルVが一致する方向に沿って、取り出しハンド31を傾けてワーク50にアプローチし、位置P又はPでワーク50に接触するように取り出しハンド31の姿勢を決めてもよい。このように導出された取り出し姿勢で取り出しハンド31がワーク50にアプローチして取りに行くと、位置P又はPで接触する前にワーク50の位置をずらしてしまい、意図した位置P又はPとは別の位置でワーク50と接触してしまうことを防ぐことができる。意図していなかった位置で接触してワーク50を持ち上げる時にその重心周りの回転運動が生じてワーク50を落としてしまうことを防止することができる。
 なお、受付部110が入力部12を介して受け付けた取り出し条件である取り出しハンド31の情報と、第1取り出し候補計算部113により算出された取り出し位置及び姿勢の候補を、前処理部111は、3D CADソフト又は3次元物理シミュレータ等の仮想空間の中で描画して表示部13に表示してもよい。
 図5は、仮想空間での描画の一例を示す図である。
 図5では、例えば、外形がφ20mmである吸着パッド1つを有する取り出しハンド31を用いてアルミ製のワーク50を取り出すような取り出し条件に基づいて、第1取り出し候補計算部113により算出された各取り出し位置候補を吸着パッドの底面中心とし、底面半径がφ10mm、ワーク50との接平面の法線方向を取り出しハンド31の法線方向とし、吸着パッド及びエアパイプ等を含む取り出しハンド31の先端全てを含む3次元の段差付き円柱で仮想ハンドの領域として表現され、ワーク50の3D CADモデルと併せて表示されている。
 なお、第1取り出し候補計算部113は、前処理部111の干渉チェック機能又は物理シミュレーションの衝突算出機能を利用して、3次元的に表示される仮想ハンドとワーク50の他の部分との干渉又は衝突があるかどうかを検出することで取り出し位置姿勢候補を修正するようにしてもよい。具体的には、前処理部111は、第1取り出し候補計算部113により算出された取り出し位置候補で3次元仮想ハンドがワーク50と接触している状態(例えば、図5に示す状態)で干渉チェック又は衝突検知を行い、その結果を含めて表示部13に表示する。表示部13に表示された3次元仮想ハンドとワーク50の3D CADモデルと干渉チェック又は衝突検知結果とに基づいて、ユーザは視点を変更しながら確認して干渉又は衝突を検出したところにある位置候補を削除してその結果を第1取り出し候補計算部113に反映してもよい。また、第1取り出し候補計算部113は、干渉又は衝突を検出したところにある候補を自動的に削除してもよい。そうすることで、第1取り出し候補計算部113は、仮想ハンドとワーク50自身との干渉がない、すなわち、実際にその位置に取りに行く時に取り出しハンド31はワーク50自身との干渉がないような取り出し位置候補のみが反映されているデータを算出することができる。
 また、第1取り出し候補計算部113は、前処理部111により干渉又は衝突があると検知した候補を図式的に表示部13に表示し、表示される仮想ハンドと周囲の干渉がなくなるようにその候補の取り出し位置や姿勢を修正するように指示するメッセージ(例えば、「干渉がなくなるようにこの候補の取り出し位置や姿勢を調整してください」等)を表示部13に表示してユーザに提示し、ユーザの修正を加えた取り出し位置や姿勢をユーザに入力させることで、ユーザにより調整された候補を反映するようにしてもよい。
<第2取り出し候補計算部114>
 第2取り出し候補計算部114は、第1取り出し候補計算部113により算出された少なくとも取り出し位置候補に基づいて、ばら積みされた重なり合う状態における複数のワーク50の少なくとも取り出し位置を自動的に生成するように構成されてもよい。
 具体的には、第2取り出し候補計算部114は、第1取り出し候補計算部113により算出された位置姿勢候補に基づいて、前処理部111により生成されるランダムにばら積みされた複数のワーク50が重なり合う状態の中で、複数のワーク50の取り出し位置や姿勢を自動的に生成するように構成されてもよい。すなわち、第2取り出し候補計算部114は、複数のワーク50の3D CADモデルが重なり合っている状態で、各重なり状態のうち、露出しているそれぞれのワーク50(一部分)を特定し、特定された、それぞれのワーク50(露出している部分)における局所特徴を導出し、取り出し位置候補として当該ワーク50の局所特徴の中心位置を算出する。
 例えば、前処理部111は、3D CADソフト又は3次元物理シミュレータ等の仮想空間の中で、第1取り出し候補計算部113により算出されたよりよい取り出し位置姿勢候補情報付きのワーク50の3D CADモデルを利用して、複数のワーク50が重なり合う状態をランダムに生成する。第1取り出し候補計算部113により算出された位置姿勢候補は、1つのワーク50の3D CADモデルを360度の範囲内で任意の方向から見た場合のよい候補となるが、このような位置姿勢候補は複数のワーク50の重なり状態において、周囲のワーク50あるいはそのワーク50自身に被られて露出していない可能性がある。第2取り出し候補計算部114は、前処理部111による複数のワーク50の重なり合う状態の中で、第1取り出し候補計算部113により算出された各取り出し位置姿勢に上述の仮想ハンドを描画して表示部13に表示し、仮想ハンドと周囲のワーク50又はコンテナ60の壁等の障害物との干渉又は衝突があるか否かを、例えば前処理部111である3D CADソフトの干渉チェック機能又は3次元物理シミュレータの衝突算出機能を利用してチェックする。第2取り出し候補計算部114は、前処理部111により干渉又は衝突を検出したところにある候補を自動的に削除してもよいが、その候補の削除に換えて当該干渉又は衝突がなくなるようにその位置姿勢候補を調整するように指示するメッセージを表示部13に表示しユーザに提示するようにしてもよい。あるいは、第2取り出し候補計算部114は、位置姿勢候補を中心として、例えば、位置候補を2mmの刻みで、及び/又は姿勢候補を2度の刻みでずらしてみて、最大位置ズレ量が±10mm以下、最大姿勢ズレ量が±10度以内である探索条件の基で、その干渉又は衝突がなくなるまで位置姿勢候補を自動的に調整し、探索条件を満たすように調整できない場合は自動的に削除するようにしてもよい。これにより、第2取り出し候補計算部114は、前処理部111による複数のワーク50が重なり合う状態の中で、周囲と干渉することなく、第1取り出し候補計算部113より算出されたよりよい候補の結果を反映して、複数のワーク50のよりよい取り出し位置姿勢候補を算出することができる。
 また、第2取り出し候補計算部114は、干渉又は衝突があると検知した候補を図式的に表示部13に表示し、表示される仮想ハンドと周囲のワーク50やコンテナ60の壁等の干渉がなくなるようにその候補の取り出し位置姿勢を修正するようにユーザに提示し、ユーザの修正を加えた取り出し位置姿勢を反映するようにしてもよい。
<第1学習データ生成部115>
 第1学習データ生成部115は、前処理部111により生成された複数のワーク50がランダムに重なり合う状態から投影した2次元投影画像と、第2取り出し候補計算部114により生成された複数のワーク50の少なくとも取り出し位置候補を含む情報と、に基づいて学習データを生成する。
 具体的には、第1学習データ生成部115は、第2取り出し候補計算部114により算出された取り出し位置候補とハンド情報付きの3D CADデータを用いて、学習データを生成して出力するように構成されてもよい。前処理部111は3D CADソフト又は3次元物理シミュレータ等の仮想空間の中で、取り出し位置候補とハンド情報付きの3D CADデータを利用して、仮想空間においてランダムに複数のワーク50が重なり合う状態の複数の3D CADデータを生成する。
 図6Aは、ランダムに生成した複数のワーク50が重なり合う状態の3D CADデータを投影した2D CAD図の一例を示す図である。
 生成された複数の3D CADデータそれぞれにおける複数のワーク50の重なり合う状態の中で、各ワーク50の各取り出し位置候補で接触している状態で表示される3次元仮想ハンド(例えば、図5の3次元の段差付き円柱)が周りとの干渉があるかどうかを、前述したように第2取り出し候補計算部114によりユーザは視点を変更しながら確認し、周囲のワーク50やコンテナ60の壁等との干渉がある位置候補を削除してもよい。他方、前述したように3D CADソフトの干渉チェック機能又は3次元物理シミュレータの衝突算出機能を利用して、干渉又は衝突のある候補を自動的に削除してもよい。そうすることで、仮想ハンドと周囲環境との干渉がない、すなわち、実際にその位置に取りに行く時に取り出しハンド31は対象ワーク50の周りとの干渉がないような取り出し位置候補のみが反映されている3D CADデータにすることができる。
 図6Bは、第1取り出し候補計算部113により算出された取り出し位置候補データ付きの3D CADデータを投影した2D CAD図の一例を示す図である。図6Cは、各取り出し位置候補に円柱状の仮想ハンドが描画された3D CADデータを投影した2D CAD図の一例を示す図である。図6Dは、干渉のある候補を削除した後の取り出し位置候補データ付きの3D CADデータを投影した2D CAD図の一例を示す図である。
 第1学習データ生成部115は、現実世界の中のカメラ(図1に示す撮像装置40)とコンテナ60やトレー(図示しない)の相対位置姿勢に合わせて、仮想空間の中で仮想カメラの位置と姿勢を決めて投影視点の位置姿勢を予め設定し、設定された投影視点から、前述したように前処理部111により生成された複数のワーク50がランダムに重なり合う状態にある複数の3D CADデータそれぞれを仮想カメラの画像平面に投影し、図6Aから図6Dに示すように、ランダムに生成した重なり合う状態から投影して生成した複数の2D CAD図を切り出す。
 そして、第1学習データ生成部115は、図6Aに示すような複数の2D CAD図を対象とし、第2取り出し候補計算部114により算出された取り出し位置候補データを加えた図6Dに示すような複数の2D CAD図(2次元投影画像)をラベルデータとする学習データ(「教師データ」、「訓練データ」)を生成する。第1学習データ生成部115は、生成した学習データ(「教師データ」、「訓練データ」)を、記憶部14の学習データ142に記憶する。
 学習処理部116は、第1学習データ生成部115により生成された学習データ(「教師データ」、「訓練データ」)を用いて機械学習を実行し、撮像装置40により撮像された2次元画像を入力することでロボット30の取り出しハンド31と周囲環境との干渉がなく、かつ、ユーザが入力した取り出し条件を満たしたワーク50の取り出し位置を出力する学習モデルを生成する。学習処理部116は、例えば、生成した学習モデルを記憶部14に記憶する。
 なお、学習処理部116が実行する機械学習は、ニューラルネットワークやSVM(Support Vector Machine)等の当業者にとって公知の教師あり学習を用いることができ、詳細な説明は省略する。
 取り出し位置選択部117は、例えば、学習処理部116により生成された学習モデルに撮像装置40により撮像された2次元画像を入力することで、ロボット30の取り出しハンド31と周囲環境との干渉がなく、かつ、ユーザが入力した取り出し条件を満たしたワーク50の取り出し位置を選択する。取り出し位置選択部117は、選択したワーク50の取り出し位置をロボット制御装置20に出力する。
<情報処理装置10の学習データ生成処理>
 次に、本実施形態に係る情報処理装置10の学習データ生成処理に係る動作について説明する。
 図7は、情報処理装置10の学習データ生成処理について説明するフローチャートである。
 ステップS11において、受付部110は、入力部12を介してユーザが入力した取り出しハンド31の種類、ワーク50と接触する部分の形状やサイズ等の情報を含む取り出し条件を受け付ける。
 ステップS12において、前処理部111は、ワーク50の3D CADモデルを用いてワーク50の重心位置を導出する。
 ステップS13において、第1処理部112は、ステップS12で算出されたワーク50の重心位置に基づいて、ステップS11で受け付けた取り出し条件に応じたワーク50の3D CADモデル上の局部特徴を導出する。
 ステップS14において、第1取り出し候補計算部113は、ステップS13で導出された局部特徴に基づいて、ワーク50の取り出し位置候補を計算する。
 ステップS15において、前処理部111は、3D CADソフト又は3次元物理シミュレータ等の仮想空間において、取り出し位置候補とハンド情報付きの3D CADデータを利用して、仮想空間においてランダムに複数のワーク50が重なり合う状態の複数の3D CADデータを生成する。
 ステップS16において、第2取り出し候補計算部114は、ステップS14で算出された取り出し位置候補に基づいて、ステップS15で生成された複数の3D CADデータそれぞれにおいてワーク50の取り出し位置候補を生成する。
 ステップS17において、第1取り出し候補計算部113は、前処理部111による3D CADソフトの干渉チェック機能又は3次元物理シミュレータの衝突算出機能を利用して、複数の3D CADデータそれぞれにおける干渉のある候補を削除/調整する。
 ステップS18において、第1学習データ生成部115は、ステップS15で生成された複数の3D CADデータそれぞれを仮想カメラの画像平面に投影し、投影して生成した複数の2D CAD図を対象とし、ステップS16で算出された取り出し位置候補データを加えた複数の2D CAD図(2次元投影画像)をラベルデータとする学習データ(「教師データ」、「訓練データ」)を生成する。
 以上のように、第1実施形態に係る情報処理装置10は、取り出し条件を受け付け、ワーク50の3D CADから導出されたワーク50の重心位置に基づいて、受け付けた取り出し条件に応じたワーク50の3D CADモデル上の局部特徴を導出する。情報処理装置10は、導出された局部特徴に基づいて、ワーク50の取り出し位置候補を計算する。情報処理装置10は、取り出し位置候補とハンド情報付きの3D CADデータを利用して、仮想空間でランダムに複数のワーク50が重なり合う状態の複数の3D CADデータを生成し、複数の3D CADデータそれぞれにおける取り出し位置候補を生成する。情報処理装置10は、複数の3D CADデータそれぞれを投影することで、投影して生成した複数の2D CAD図を対象とし、生成した取り出し位置候補データを加えた複数の2D CAD図(2次元投影画像)をラベルデータとする学習データ(「教師データ」、「訓練データ」)を生成する。
 これにより、情報処理装置10は、ばら積みされている複数のワーク50の取り出し位置を特定する学習モデルの生成に必要となる学習データ(「教師データ」、「訓練データ」)を容易に生成することができる。
 以上、第1実施形態について説明した。
<第2実施形態>
 次に、第2実施形態について説明する。上述したように、学習データ(「教師データ」、「訓練データ」)の生成処理において、第1実施形態では仮想空間上で複数のワーク50がばら積みで重なり合う状態をワークの3D CADデータを用いてランダムに生成し、ランダムに生成された複数のワーク50の重なり合う状態の複数の3D CADデータそれぞれを投影した複数の2D CAD図を対象とし、複数の3D CADデータそれぞれにおいて生成されたワーク50の取り出し位置候補データを加えた複数の2次元投影画像をラベルデータとする学習データを生成する。これに対して、第2実施形態では撮像装置40で取得された複数のワーク50がばら積みで重なり合う状態の複数の2次元画像を対象とし、前記複数の2次元画像上それぞれの特徴とワーク50の3D CAD上の特徴とに基づいて計算されたワーク50の取り出し位置候補データを加えた複数の2次元画像をラベルデータとする学習データを生成する点で、第1実施形態と相違する。
 これにより、情報処理装置10aは、ばら積みされている複数のワーク50の取り出し位置を特定する学習モデルの生成に必要となる学習データ(「教師データ」、「訓練データ」)を容易に生成することができる。
 以下、第2実施形態について説明する。
 第2実施形態に係るロボットシステム1は、図1の第1実施形態の場合と同様に、情報処理装置10a、ロボット制御装置20、ロボット30、撮像装置40、複数のワーク50、及びコンテナ60を有する。
<情報処理装置10a>
 図8は、第2実施形態に係る情報処理装置10aの機能的構成例を示す機能ブロック図である。なお、図1の情報処理装置10の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 情報処理装置10aは、第1実施形態に係る情報処理装置10と同様に、制御部11a、入力部12、表示部13、及び記憶部14を有する。また、制御部11aは、受付部110、前処理部111、第2処理部120、第1取り出し候補計算部113、第3取り出し候補計算部121、第2学習データ生成部122、学習処理部116、及び取り出し位置選択部117を有する。
 入力部12、表示部13、及び記憶部14は、第1実施形態に係る入力部12、表示部13、及び記憶部14と同等の機能を有する。
 また、受付部110、前処理部111、第1取り出し候補計算部113、学習処理部116、及び取り出し位置選択部117は、第1実施形態に係る受付部110、前処理部111、第1取り出し候補計算部113、学習処理部116、及び取り出し位置選択部117と同等の機能を有する。
 第2処理部120は、例えば、情報取得部としての撮像装置40が取得した2次元画像の画像処理を行って特徴を抽出し、抽出された特徴とワーク50の3D CADモデル上の特徴とのマッチング処理を行うように構成されてもよい。
 具体的には、第2処理部120は、取得した2次元画像(例えば、図6Aに示す2D CAD図と似ていて現実世界で撮像した2次元画像)に対して画像処理を行い、2次元画像上の例えばエッジやコーナー、円部、穴や溝、突起等の特徴を抽出する。例えば、第2処理部120は、ピクセルサイズまでセル化した2次元画像上の各セルに対して、隣り合うセルとの輝度勾配を計算してHOG(Histograms of Oriented Gradients)特徴量を抽出し、明るさや画素値の差分が大きいところの境界線をエッジとして識別するようにしてもよい。また、第2処理部120は、Canny edge detectorによる輪郭検出、Harris corner detectorによるコーナー検出、ハフ変換(Hough transform)による円の検出等の画像処理を用いて2次元画像から特徴を抽出してもよい。なお、これらの画像処理は、当業者にとって公知であり、詳細な説明は省略する。
 そして、第2処理部120は、画像処理により抽出された複数の局部特徴とそれぞれの相対位置関係とを基に、ワーク50の3D CADモデル上で類似パターンを探索する。第2処理部120は、見つけた類似パターンの類似度が予め設定された一定の閾値を超えると、それらの局部特徴がマッチングしていると判定するようにしてもよい。
 なお、第2実施形態に係るロボットシステム1では、情報取得部として撮像装置40として、例えば、白黒カメラ又はRGBカラーカメラのような可視光カメラ、加熱された高温鉄柱のようなワークを撮像する赤外線カメラ、可視光では見えない傷を検査できる紫外線画像を撮影する紫外線カメラより構成されてもよいが、これに限定されない。例えば、情報取得部は、ステレオカメラ、1台のカメラと距離センサ、1台のカメラとレーザスキャナー、移動機構に実装されている1台のカメラ等により構成されてもよく、複数のワーク50の存在領域の3次元点群データを取得するように構成されてもよい。また、情報取得部としての撮像装置40は、複数のワーク50が存在している領域の画像を撮影してもよいが、ワーク50が1つも存在していない背景領域(例えば、空のコンテナ60や図示しないトレー)の画像を撮影してもよい。
 第3取り出し候補計算部121は、第2処理部120による処理結果と、第1取り出し候補計算部113により計算された少なくとも取り出し位置候補とに基づいて、情報取得部としての撮像装置40により取得された2次元画像上のワーク50の少なくとも取り出し位置を自動的に生成するように構成されてもよい。
 具体的には、第3取り出し候補計算部121は、第2処理部120による処理結果を利用して、撮像装置40が取得した複数の2次元画像に対して、画像処理により抽出されたワーク50の特徴と同じ位置姿勢に、マッチングしているワーク50の3D CADモデル上の特徴を配置するように、複数のワーク50の3D CADモデルを複数の2次元画像平面に配置して複数回に投影することで、第1取り出し候補計算部113により算出されたワークの3D CADモデル上の3次元の取り出し位置候補から各2次元画像上に写っているワーク50上の2次元の取り出し位置を算出することができる。
 前処理部111は、第2処理部120による処理結果に基づいて、情報取得部としての撮像装置40により取得された2次元画像に対応する複数のワーク50の重なり合う状態を生成する。第3取り出し候補計算部121は、干渉チェック機能又は衝突算出機能を利用して、第3取り出し候補計算部121により生成された複数のワーク50の少なくとも取り出し位置を修正するように構成されてもよい。
 これより、干渉又は衝突を検知したところにある候補を自動的に削除して2次元画像上に反映してもよいし、2次元画像上の複数のワーク50の重なり合う状態をユーザが目視して確認し、他のワーク50に被られているような取り出し位置候補を削除してもよい。また、情報取得部としての撮像装置40がステレオカメラ等の3次元計測機で3次元点群データを取得した場合は、3次元点群データを利用して他のワーク50より下に位置するような取り出し位置候補を自動的に削除してもよい。
 第2学習データ生成部122は、情報取得部としての撮像装置40により取得した画像と、第3取り出し候補計算部121により計算された少なくとも取り出し位置候補を含む情報と、に基づいて学習データ(「教師データ」、「訓練データ」)を生成するように構成されてもよい。
 例えば、第2学習データ生成部122は、第3取り出し候補計算部121により計算された少なくとも取り出し位置候補を利用して、図6Dに示すように、撮像装置40が撮像した各2次元画像上の取り出し位置候補を自動的にラベリングすることができる。第2学習データ生成部122は、撮像装置40により取得された複数の2次元画像を対象とし、周囲環境との干渉がない取り出し位置候補のみが反映されている取り出し位置候補データを加えた複数の2次元画像をラベルデータとする学習データ(「教師データ」、「訓練データ」)を生成する。第2学習データ生成部122は、生成した学習データ(「教師データ」、「訓練データ」)を、記憶部14の学習データ142に記憶する。
<情報処理装置10aの学習データ生成処理>
 次に、第2実施形態に係る情報処理装置10aの学習データ生成処理に係る動作について説明する。
 図9は、情報処理装置10aの学習データ生成処理について説明するフローチャートである。なお、ステップS21及びステップS22の処理は、第1実施形態に係るステップS11及びステップS12と同様であり、説明は省略する。
 ステップS23において、第2処理部120は、撮像装置40により取得された複数のワーク50が重なり合う状態の複数の2次元画像を撮像装置40から取得する。
 ステップS24において、第2処理部120は、ステップS23で取得された複数の2次元画像それぞれに画像処理を行って特徴を抽出し、抽出された各2次元画像の特徴とワーク50の3D CADモデル上の特徴とのマッチング処理を行い、2次元画像上のワーク50とワーク50の3D CADモデルをマッチングさせる。
 ステップS25において、第3取り出し候補計算部121は、ステップS24で導出された2次元画像上のワーク50とワーク50の3D CADモデルのマッチング関係に基づいて、第1取り出し候補計算部113により算出されたワーク50の3次元の取り出し位置候補から2次元画像上のワーク50の2次元の取り出し位置候補を計算する。
 ステップS26において、前処理部111は、第2処理部120による処理結果に基づいて2次元画像に対応する複数のワーク50の重なり合う状態を生成する。第3取り出し候補計算部121は、前処理部111による干渉チェック機能又は衝突算出機能を利用して、干渉又は衝突を検知したところの取り出し位置候補を削除/調整し、削除/調整の結果を2次元画像に反映する。あるいは、前処理部111は、表示部13を介して取り出し位置候補情報付きの各2次元画像を表示し、各2次元画像上の複数のワーク50の重なり合う状態をユーザが目視して確認し、他のワーク50に被られているような干渉する取り出し位置候補を削除/調整してその結果を第3取り出し候補計算部121に反映する。
 ステップS27において、第2学習データ生成部122は、ステップS23で取得された複数の2次元画像を対象とし、周囲との干渉がない取り出し位置候補データを加えた複数の2次元画像をラベルデータとする学習データ(「教師データ」、「訓練データ」)を生成する。
 以上のように、第2実施形態に係る情報処理装置10aは、撮像装置40により取得された複数のワーク50が重なり合う状態の2次元画像に対して画像処理を行い、2次元画像上の特徴を抽出する。情報処理装置10aは、抽出された特徴とワーク50の3D CADモデル上の特徴とのマッチング処理を行い、2次元画像上のワーク50とワーク50の3D CADモデルのマッチングを行う。情報処理装置10aは、導出された2次元画像上のワーク50とワーク50の3D CADモデルのマッチング関係に基づいて、2次元画像上のワーク50の2次元の取り出し位置候補を計算する。情報処理装置10aは、導出された2次元画像上のワーク50とワーク50の3D CADモデルのマッチング関係と計算された取り出し位置候補とに基づいて、撮像装置40により取得された複数の2次元画像を対象とし、周囲との干渉がない取り出し位置候補データを加えた複数の2次元画像をラベルデータとする学習データ(「教師データ」、「訓練データ」)を生成する。
 これにより、情報処理装置10aは、ばら積みされているワーク50の取り出し位置を特定する学習モデルの生成に必要となる学習データ(「教師データ」、「訓練データ」)を容易に生成することができる。
 以上、第2実施形態について説明した。
<第3実施形態>
 次に、第3実施形態について説明する。上述したように、学習データ(「教師データ」、「訓練データ」)の生成処理において、第1実施形態では仮想空間上でワーク50がばら積みで重なり合う状態をワークの3D CADデータを用いてランダムに生成し、ランダムに生成された複数のワーク50の重なり合う状態の複数の3D CADデータそれぞれを投影した複数の2D CAD図(2次元投影画像)を対象とし、複数の3D CADデータそれぞれにおいて生成されたワーク50の取り出し位置候補データを加えた複数の2次元投影画像をラベルデータとする学習データを生成する。第2実施形態では撮像装置40で取得された複数のワーク50がばら積みで重なり合う状態の複数の2次元画像を対象とし、前記複数の2次元画像上それぞれの特徴とワーク50の3D CAD上の特徴とに基づいて計算されたワーク50の取り出し位置候補データを加えた複数の2次元画像をラベルデータとする学習データを生成する。これに対して、第3実施形態では3次元計測機45で取得されたばら積みで重なり合う状態の複数のワーク50の複数の3次元点群データを対象とし、前記複数の3次元点群データそれぞれとワーク50の3D CADデータとに基づいて計算されたワーク50の取り出し位置候補データを加えた複数の3次元点群データをラベルデータとする学習データを生成する点で、第1実施形態及び第2実施形態と相違する。
 これにより、第3実施形態に係る情報処理装置10bは、ばら積みされているワーク50の取り出し位置を特定する学習モデルの生成に必要となる学習データ(「教師データ」、「訓練データ」)を容易に生成することができる。
 以下、第3実施形態について説明する。
 図10は、第3実施形態に係るロボットシステム1Aの構成の一例を示す図である。なお、図1のロボットシステム1の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 図10に示すように、ロボットシステム1Aは、情報処理装置10b、ロボット制御装置20、ロボット30、3次元計測機45、複数のワーク50、及びコンテナ60を有する。
 ロボット制御装置20、及びロボット30は、第1実施形態に係るロボット制御装置20、及びロボット30と同等の機能を有する。
 3次元計測機45は、3次元計測機45の光軸に対して垂直な平面とコンテナ60内のばら積みされたワーク50の表面の各点との間の距離から換算した値を画素値とする3次元情報(以下「距離画像」ともいう)を取得するように構成されてもよい。例えば、図10に示すように、距離画像上のワーク50の点Aの画素値は、3次元計測機45の3次元座標系(X,Y,Z)のZ軸方向の、3次元計測機45とワーク50の点Aとの間の距離から換算したものである。すなわち、3次元座標系のZ軸方向は3次元計測機45の光軸方向である。また、3次元計測機45は、3次元計測機45、例えばステレオカメラによりコンテナ60内に積載の複数のワーク50の3次元点群データを取得するように構成されてもよい。このように取得した3次元点群データは、3次元空間上のあらゆる視点から確認できる3Dビューの中で表示可能であり、コンテナ60に積載の複数のワーク50の重なり合う状態を3次元的に確認できる離散化されたデータである。
 なお、3次元計測機45は、距離画像とともに、グレースケール画像又はRGB画像等の2次元画像を取得してもよい。
<情報処理装置10b>
 図11は、第3実施形態に係る情報処理装置10bの機能的構成例を示す機能ブロック図である。なお、図1の情報処理装置10の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 情報処理装置10bは、第1実施形態に係る情報処理装置10と同様に、制御部11b、入力部12、表示部13、及び記憶部14を有する。また、制御部11bは、受付部110、前処理部111、第3処理部130、第1取り出し候補計算部113、第4取り出し候補計算部131、第3学習データ生成部132、学習処理部116、及び取り出し位置選択部117を有する。
 入力部12、表示部13、及び記憶部14は、第1実施形態に係る入力部12、表示部13、及び記憶部14と同等の機能を有する。
 また、受付部110、前処理部111、第1取り出し候補計算部113、学習処理部116、及び取り出し位置選択部117は、第1実施形態に係る受付部110、前処理部111、第1取り出し候補計算部113、学習処理部116、及び取り出し位置選択部117と同等の機能を有する。
 第3処理部130は、例えば、情報取得部としての3次元計測機45により取得された複数のワーク50の存在領域の3次元点群データを取得した場合、3次元点群データとワーク50の3D CADモデルのマッチング処理を行うように構成されてもよい。
 図12は、3次元点群データに対する前処理を説明する一例を示す図である。
 具体的には、第3処理部130は、例えば、図12に示すように、3次元点群データの前処理を行い、3次元点群データの中から局所的に近い複数のサンプル点(例えば、点P1~P10の10個)から1つの平面を推定する。第3処理部130は、10個のサンプル点P1~P10の座標値[x,y,z](i=1~10)を3次元点群データから取得し、3次元空間上の3次元座標系Σ1つを定義する。第3処理部130は、推定する3次元平面ax+by+cz+d=0に含まれる4つの未知のパラメータa、b、c、dを、サンプル点P1~P10それぞれから平面までの距離dの二乗の和f=Σd が最小となるように導出して平面を推定する。第3処理部130は、推定した平面と似ている平面をワークの3D CADモデル上で探索し、類似度が最も高い局所平面とマッチングしていると判定する。なお、第3処理部130は、3次元点群データの前処理段階で平面を推定しているが、例えば、推定された隣り合う複数の極小平面を1つの曲面に近似するようにしてもよい。第3処理部130は、このような近似曲面と似ている曲面をワーク50の3D CADモデル上で探索し、類似度が最も高い局所曲面とマッチングしていると判定するようにしてもよい。また、第3処理部130は、3次元点群データから推定した複数の平面及びその相対位置関係、複数の平面と曲面及びその相対位置関係、あるいは複数の曲面及びその相対位置関係に基づいて、ワーク50の3D CADモデル上の複数箇所の局所平面、局所平面と曲面、あるいは局所曲面とのマッチングを行うことで、3次元点群データとワーク50の3D CADモデルとのマッチングを行うようにしてもよい。
 第3処理部130は、情報取得部としての3次元計測機45により取得された3次元点群データの局部特徴を抽出し、抽出された局部特徴とワーク50の3D CADモデル上の局部特徴とのマッチング処理を行うことで、3次元点群データとワーク50の3D CADモデルのマッチング処理を行うように構成されてもよい。
 具体的に、例えば、第3処理部130は、3次元計測機45により取得された3次元点群データ上の局部平面を前述方法により導出し、導出された2次元の局部平面上の穴やコーナー、エッジ等の局部特徴を前述の2次元画像の画像処理と似たような方法により複数を導出する。このように導出された複数の局部特徴とそれらの3次元的な相対位置関係に基づいて、マッチングするワーク50の3D CADモデル上の複数の局部特徴を見つける。これらの複数の局部特徴の位置姿勢が一致するように3次元点群データ上に複数のワーク50の3D CADモデルを配置することで、3次元点群データとワーク50の3D CADモデルをマッチングする。
 第3処理部130は、情報取得部としての3次元計測機45により取得された3次元点群データとワーク50の3D CADモデルに対してそれぞれの表面曲率の変化量を計算して、3次元点群データとワーク50の3D CADモデルのマッチング処理を行うように構成されてもよい。
 具体的に、例えば、第3処理部130は、3次元計測機45により取得された3次元点群データ上の表面曲率の変化量を計算して3次元的な曲率変化マップを生成し、ワーク50の3D CADモデル上の表面曲率の変化量を計算して3次元的な曲率変化マップを生成する。生成された2つの曲率変化マップの局部的な類似度を計算し、予め決めた閾値を超えた類似度の高い複数箇所の局部の曲率変化マップをマッチングさせることで、3次元点群データとワーク50の3D CADモデルをマッチングする。
 第4取り出し候補計算部131は、第3処理部130による処理結果と、第1取り出し候補計算部113により計算した少なくとも取り出し位置候補を含む情報と、に基づいて情報取得部としての3次元計測機45により取得された3次元点群上の少なくとも取り出し位置候補を生成するように構成されてもよい。
 具体的には、例えば、ワーク50の3D CADモデルに3次元点群データをマッチング(配置)し、第1取り出し候補計算部113により算出された取り出し位置候補(ワーク50の3D CADモデルにおける3次元の相対位置)から、3次元点群データ上のよりよい取り出し位置候補を算出する。
 第4取り出し候補計算部131は、取り出し位置候補情報付きの3次元点群データ上の複数のワーク50の重なり合う状態に対して、前処理部111による干渉チェック機能又は衝突算出機能を利用して、干渉又は衝突を検知したところの取り出し位置候補を削除/調整するように構成されてもよい。あるいは、前処理部111は、表示部13を介して取り出し位置候補情報付きの各3次元点群データを3次元ビューの中で表示し、3次元点群データ上の複数のワーク50の重なり合う状態をユーザが目視して確認することで、他のワーク50に被られているような干渉する取り出し位置候補を削除/調整するようにしてその結果を第4取り出し候補計算部131に反映してもよい。
 第3学習データ生成部132は、情報取得部としての3次元計測機45により取得された3次元点群データと、第4取り出し候補計算部131により計算された少なくとも取り出し位置候補を含む情報と、に基づいて学習データを生成するように構成されてもよい。
 具体的には、第3学習データ生成部132は、第4取り出し候補計算部131により算出された3次元の取り出し位置候補を3次元点群データに加えて、例えば、複数の3次元位置データの集合という形で数値的に学習データとして生成してもよいが、3次元のシミュレーション環境の中で図式的に学習データとして生成してもよい。すなわち、第3学習データ生成部132は、3次元計測機45から取得した複数の3次元点群データを対象とし、前記複数の3次元点群データそれぞれにおいて算出された取り出し位置候補データを加えた複数の3次元点群データをラベルデータとする学習データ(「教師データ」、「訓練データ」)として生成する。
<情報処理装置10bの学習データ生成処理>
 次に、第3実施形態に係る情報処理装置10bの学習データ生成処理に係る動作について説明する。
 図13は、情報処理装置10bの学習データ生成処理について説明するフローチャートである。なお、ステップS31及びステップS32の処理は、第1実施形態に係るステップS11及びステップS12と同様であり、説明は省略する。
 ステップS33において、第3処理部130は、3次元計測機45により取得された複数のワーク50が重なり合う状態の複数の3次元点群データを3次元計測機45から取得する。
 ステップS34において、第3処理部130は、ステップS33で取得された複数の3次元点群データそれぞれとワーク50の3D CADモデルとのマッチング処理を行い、3次元点群上のワーク50とワーク50の3D CADモデルをマッチングさせる。
 ステップS35において、第4取り出し候補計算部131は、ステップS34で導出された3次元点群上のワーク50とワーク50の3D CADモデルのマッチング関係に基づいて、第1取り出し候補計算部113により算出されたワーク50の3次元の取り出し位置候補から3次元点群上のワーク50の3次元の取り出し位置候補を計算する。
 ステップS36において、第4取り出し候補計算部131は、取り出し位置候補情報付きの3次元点群データ上の複数のワーク50の重なり合う状態に対して、前処理部111による干渉チェック機能又は衝突算出機能を利用して、干渉又は衝突を検知したところの取り出し位置候補を削除/調整する。あるいは、前処理部111は、表示部13を介して取り出し位置候補情報付きの各3次元点群データを3次元ビューの中で表示し、3次元点群データ上の複数のワーク50の重なり合う状態をユーザが目視して確認することで、他のワーク50に被られているような干渉する取り出し位置候補を削除/調整してその結果を第4取り出し候補計算部131に反映する。
 ステップS37において、第3学習データ生成部132は、ステップS33で取得された複数の3次元点群データを対象とし、ステップS36で算出された周囲との干渉がない取り出し位置候補データを加えた複数の3次元点群データをラベルデータとする学習データ(「教師データ」、「訓練データ」)を生成する。
 以上のように、第3実施形態に係る情報処理装置10bは、3次元計測機45により取得された複数のワーク50が重なり合う状態の複数の3次元点群データとワーク50の3D CADモデルとのマッチング処理を行い、3次元点群上のワーク50とワーク50の3D CADモデルをマッチングさせる。情報処理装置10bは、導出した3次元点群上のワーク50とワーク50の3D CADモデルのマッチング関係に基づいて、3次元点群上のワーク50の3次元の取り出し位置候補を計算する。情報処理装置10bは、3次元計測機45により取得された複数の3次元点群データを対象とし、算出された取り出し位置候補データを加えた複数の3次元点群データをラベルデータとする学習データ(「教師データ」、「訓練データ」)を生成する。
 これにより、情報処理装置10bは、ばら積みされているワーク50の取り出し位置を特定する学習モデルの生成に必要となる学習データ(「教師データ」、「訓練データ」)を容易に生成することができる。
 以上、第3実施形態について説明した。
 以上、第1実施形態、第2実施形態、及び第3実施形態について説明したが、情報処理装置10、10a、10bは、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
<変形例1>
 上述の第1実施形態、第2実施形態、及び第3実施形態では、情報処理装置10、10a、10bは、ロボット制御装置20と異なる装置として例示したが、情報処理装置10、10a、10bの一部又は全部の機能を、ロボット制御装置20が備えるように構成されてもよい。
 あるいは、情報処理装置10の受付部110、前処理部111、第1処理部112、第1取り出し候補計算部113、第2取り出し候補計算部114、第1学習データ生成部115、学習処理部116、及び取り出し位置選択部117の一部又は全部を、例えば、サーバが備えるようにしてもよい。また、情報処理装置10aの受付部110、前処理部111、第2処理部120、第1取り出し候補計算部113、第3取り出し候補計算部121、第2学習データ生成部122、学習処理部116、及び取り出し位置選択部117の一部又は全部を、例えば、サーバが備えるようにしてもよい。また、情報処理装置10bの受付部110、前処理部111、第3処理部130、第1取り出し候補計算部113、第4取り出し候補計算部131、第3学習データ生成部132、学習処理部116、及び取り出し位置選択部117の一部又は全部を、例えば、サーバが備えるようにしてもよい。また、クラウド上で仮想サーバ機能等を利用して、情報処理装置10、10a、10bの各機能を実現してもよい。
 さらに、情報処理装置10、10a、10bは、情報処理装置10、10a、10bの各機能を適宜複数のサーバに分散される、分散処理システムとしてもよい。
<変形例2>
 また例えば、上述の第1実施形態及び第2実施形態では、撮像装置40は、2次元画像を取得するデジタルカメラ等としたが、これに限定されない。例えば、撮像装置40は、3次元計測機等でもよい。この場合、撮像装置40は、距離画像やグレースケール画像、RGB画像等の2次元画像を取得することが好ましい。
<変形例3>
 上述の第1実施形態、第2実施形態、及び第3実施形態は、取り出しハンド31を用いてワーク50を取り出すための情報を処理して機械学習用の学習データを生成する実施例を述べたが、これに限定されない。
 例えば、学習データを生成せずに、情報取得部としての撮像装置40が取得した複数のワーク50の重なり合う状態の2次元画像に対して、第3取り出し候補計算部121により算出された取り出し位置候補情報と、情報取得部としての3次元計測機45が取得した3次元点群データと、をロボット制御装置20に送信し、2次元画像上の2次元の取り出し位置候補に対応している実世界の3次元の取り出し位置候補に取り出しハンド31が取りに行くように、ロボット制御装置20は取り出しハンド31の動作プログラムを生成して取り出しハンド31を動作させる。つまり、学習データを生成せずに機械学習を頼らずに、実世界の複数のワーク50の重なり合う状態をリアルタイムに撮像して、撮像した2次元画像上の特徴とワーク50の3D CADモデル上の特徴とのマッチング処理を第2処理部120により行い、処理結果を利用した第3取り出し候補計算部121により算出された取り出し位置に取りに行くように取り出しハンド31を動作させる。
 また、学習データを生成せずに、情報取得部としての3次元計測機45により取得された複数のワーク50の重なり合う状態の3次元点群データに対して、第4取り出し候補計算部131により算出された取り出し位置候補情報をロボット制御装置20に送信し、これらの取り出し位置候補に取り出しハンド31が取りに行くように、ロボット制御装置20は取り出しハンド31の動作プログラムを生成して取り出しハンド31を動作させる。つまり、学習データを生成せずに機械学習を頼らずに、実世界の複数のワーク50の重なり合う状態をリアルタイムに3次元的に計測して、計測した3次元点群とワーク50の3D CADモデルとのマッチング処理を第3処理部130により行い、処理結果を利用した第4取り出し候補計算部131により算出された取り出し位置に取りに行くように取り出しハンド31を動作させる。
 なお、一実施形態における、情報処理装置10、10a、10bに含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
 プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
 なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 以上を換言すると、本開示の情報処理装置、及び情報処理方法は、次のような構成を有する各種各様の実施形態を取ることができる。
 (1)本開示の情報処理装置10は、ロボット30の取り出しハンド31を用いてワーク50を取り出すための情報を処理する情報処理装置であって、取り出しハンド31又はワーク50の情報を含む取り出し条件を受け付ける受付部110と、ワーク50の3D CADモデルに基づいて、ワーク50の重心位置を少なくとも導出する前処理部111と、導出されたワーク50の重心位置に基づいて、取り出し条件に応じたワークの3D CADモデルの局部特徴を導出する第1処理部112と、を備える。
 この情報処理装置10によれば、ばら積みされているワークの取り出し位置を特定する学習モデルの生成に必要となる学習データ(「教師データ」、「訓練データ」)を容易に生成することができる。
 (2) (1)に記載の情報処理装置10において、受付部110は、取り出しハンド31のワーク50と接触する部分の形状とサイズ、取り出しハンド31の動作範囲情報、並びにワーク50の材質や密度、摩擦係数の分布情報、及び一部の取り出し可否情報のうち少なくとも1つを含む取り出し条件を受け付け、第1処理部112は、受付部110による取り出し条件に応じた局部特徴を導出してもよい。
 そうすることで、情報処理装置10は、取り出し条件に含まれる取り出しハンド31又はワーク50にマッチした最適な局部特徴を導出することができる。
 (3) (1)又は(2)に記載の情報処理装置10において、導出された局部特徴に基づいて、少なくとも1つのワーク50の取り出し位置候補を自動的に計算する第1取り出し候補計算部113をさらに備えてもよい。
 そうすることで、情報処理装置10は、取り出し位置候補に取り出しハンド31がワーク50を取り出しに行く時に、空気が漏れることなく、吸着パット又は一対の把持指がワーク50と接触する接触面のフィッティング性がよく、取り出しハンド31がワーク50の位置をずらすことなくスムーズにワーク50と接触することができる。また、取り出しハンド31はワーク重心に近い位置でワーク50と接触して取り出し、持ち上げる時にワーク重心周りの回転運動を防ぎ、周りのワーク50やコンテナ60の壁等の障害物と衝突することなく、安定にワーク50を取り出すことができる。
 (4) (3)に記載の情報処理装置10において、第1取り出し候補計算部113は、導出された局部特徴に基づいて、ワーク50の取り出し姿勢候補を自動的に計算してもよい。
 そうすることで、情報処理装置10は、意図していなかった位置で取り出しハンド31がワーク50と接触してワーク50を持ち上げる時にその重心周りの回転運動が生じてワーク50を落としてしまうことを防止してワーク50をより安定して取り出すことができる。
 (5) (3)又は(4)に記載の情報処理装置10において、第1取り出し候補計算部113は、前処理部111による干渉チェック機能又は衝突算出機能を利用して、第1取り出し候補計算部113により計算された取り出し位置候補及び/又は取り出し姿勢候補を修正してもよい。
 そうすることで、情報処理装置10は、取り出しハンド31が対象ワーク50を取りに行く時に、その周りの他のワークやコンテナ壁等の障害物と干渉することなく、対象ワーク50をより確実に取り出すことができる。
 (6) (3)から(5)のいずれかに記載の情報処理装置10において、第2取り出し候補計算部114をさらに備え、前処理部111は、ワーク50の3D CADモデルを用いて複数のワーク50の重なり合う状態をランダムに複数生成し、第2取り出し候補計算部114は、第1取り出し候補計算部113により算出された少なくとも取り出し位置候補に基づいて、複数の重なり合う状態における複数のワーク50の少なくとも取り出し位置を自動的に生成してもよい。
 そうすることで、情報処理装置10は、複数のワーク50が重なり合う状態の中で、周囲と干渉することなく、複数のワーク50のよりよい取り出し位置を算出することができる。
 (7) (6)に記載の情報処理装置10において、第2取り出し候補計算部114は、前処理部111による干渉チェック機能又は衝突算出機能を利用して、第2取り出し候補計算部114により生成された複数のワーク50の少なくとも取り出し位置候補を修正してもよい。
 そうすることで、情報処理装置10は、複数のワーク50が重なり合う状態でも、取り出しハンド31でワーク50をより確実に取り出すことができる。
 (8) (6)又は(7)に記載の情報処理装置10において、前処理部111により生成された複数のワーク50の重なり合う状態から投影した2次元投影画像と、第2取り出し候補計算部114により生成された複数のワーク50の少なくとも取り出し位置を含む情報と、に基づいて学習データを生成する第1学習データ生成部115をさらに備えてもよい。
 そうすることで、情報処理装置10は、(1)と同様の効果を奏することができる。
 (9) (3)から(5)に記載の情報処理装置10aにおいて、複数のワーク50の存在領域の画像を取得する撮像装置40と、複数の画像それぞれに対する画像処理により抽出された特徴をワーク50の3D CADモデルの導出された局部特徴とのマッチング処理を行う第2処理部120と、をさらに備えてもよい。
 そうすることで、情報処理装置10aは、複数の2次元画像上それぞれの特徴をワーク50の3D CADモデル上の特徴に対応付けすることができ、複数の2次元画像上のワーク50をワーク50の3D CADモデルに対応付けすることができる。
 (10) (9)に記載の情報処理装置10aにおいて、第3取り出し候補計算部121をさらに備え、第3取り出し候補計算部121は、第2処理部120による処理結果と第1取り出し候補計算部113により算出された少なくとも取り出し位置候補に基づいて、撮像装置40により取得された複数の2次元画像上の複数のワーク50の少なくとも取り出し位置を自動的に生成してもよい。
 そうすることで、情報処理装置10aは、(6)と同様の効果を奏することができる。
 (11) (10)に記載の情報処理装置10aにおいて、前処理部111は、第2処理部120による処理結果に基づいて複数の2次元画像に対応する複数のワーク50の複数の重なり合う状態を生成する。第3取り出し候補計算部121は、前処理部111による干渉チェック機能又は衝突算出機能を利用して、第3取り出し候補計算部121により生成された複数のワーク50の少なくとも取り出し位置を修正してもよい。
 そうすることで、情報処理装置10aは、(7)と同様の効果を奏することができる。
 (12) (10)又は(11)に記載の情報処理装置10aにおいて、撮像装置40により取得された複数の2次元画像と、第3取り出し候補計算部121により生成された少なくとも取り出し位置候補を含む情報と、に基づいて学習データを生成する第2学習データ生成部122をさらに備えてもよい。
 そうすることで、情報処理装置10aは、(1)と同様の効果を奏することができる。
 (13) (3)から(5)に記載の情報処理装置10bにおいて、複数のワーク50の存在領域の3次元点群データを取得する3次元計測機45と、複数の3次元点群データそれぞれとワーク50の3D CADモデルとのマッチング処理を行う第3処理部130と、をさらに備えてもよい。
 そうすることで、情報処理装置10bは、複数の3次元点群データそれぞれの特徴をワーク50の3D CADモデル上の特徴に対応付けすることができ、複数の3次元点群データそれぞれをワーク50の3D CADモデルに対応付けすることができる。
 (14) (13)に記載の情報処理装置10bにおいて、第4取り出し候補計算部131をさらに備え、第4取り出し候補計算部131は、第3処理部130による処理結果と第1取り出し候補計算部113により算出された少なくとも取り出し位置候補に基づいて、3次元計測機45により取得された複数の3次元点群上の複数のワーク50の少なくとも取り出し位置を自動的に生成してもよい。
 そうすることで、情報処理装置10bは、(6)と同様の効果を奏することができる。
 (15) (14)に記載の情報処理装置10bにおいて、第4取り出し候補計算部131は、3次元計測機45により取得された3次元点群データに基づいて、前処理部111による干渉チェック機能又は衝突算出機能を利用して、第4取り出し候補計算部131により生成された複数のワーク50の少なくとも取り出し位置を修正してもよい。
 そうすることで、情報処理装置10bは、(7)と同様の効果を奏することができる。
 (16) (14)又は(15)に記載の情報処理装置10bにおいて、3次元計測機45により取得された3次元点群データと、第4取り出し候補計算部131により生成された少なくとも取り出し位置候補を含む情報と、に基づいて学習データを生成する第3学習データ生成部132をさらに備えてもよい。
 そうすることで、情報処理装置10bは、(1)と同様の効果を奏することができる。
 (17)本開示の情報処理方法は、コンピュータにより実現される、ロボット30の取り出しハンド31を用いてワーク50を取り出すための情報を処理する情報処理方法であって、取り出しハンド31又はワーク50の情報を含む取り出し条件を受け付ける受付工程と、ワーク50の3D CADモデルに基づいて、ワーク50の重心位置を少なくとも導出する前処理工程と、導出されたワーク50の重心位置に基づいて、取り出し条件に応じたワーク50の3D CADモデルの局部特徴を導出する第1処理工程と、を備える。
 この情報処理方法によれば、(1)と同様の効果を奏することができる。
 1、1A ロボットシステム
 10、10a、10b 情報処理装置
 11 制御部
 110 受付部
 111 前処理部
 112 第1処理部
 113 第1取り出し候補計算部
 114 第2取り出し候補計算部
 115 第1学習データ生成部
 120 第2処理部
 121 第3取り出し候補計算部
 122 第2学習データ生成部
 130 第3処理部
 131 第4取り出し候補計算部
 132 第3学習データ生成部
 12 入力部
 13 表示部
 14 記憶部
 20 ロボット制御装置
 30 ロボット
 31 取り出しハンド
 40 撮像装置
 45 3次元計測機
 50 ワーク
 60 コンテナ

Claims (17)

  1.  ハンドを用いてワークを取り出すための情報を処理する情報処理装置であって、
     前記ハンド又は前記ワークの情報を含む取り出し条件を受け付ける受付部と、
     前記ワークの3D CADモデルに基づいて、前記ワークの重心位置を少なくとも導出する前処理部と、
     導出された前記ワークの重心位置に基づいて、前記取り出し条件に応じた前記ワークの前記3D CADモデルの局部特徴を導出する第1処理部と、
     を備える、情報処理装置。
  2.  前記受付部は、前記ハンドの前記ワークと接触する部分の形状とサイズ、前記ハンドの動作範囲情報、並びに前記ワークの材質や密度、摩擦係数の分布情報、及び一部の取り出し可否情報のうち少なくとも1つを含む取り出し条件を受け付け、
     前記第1処理部は、前記受付部による前記取り出し条件に応じた前記局部特徴を導出する請求項1に記載の情報処理装置。
  3.  導出された前記局部特徴に基づいて、少なくとも1つの前記ワークの取り出し位置候補を自動的に計算する第1取り出し候補計算部をさらに備える請求項1又は請求項2に記載の情報処理装置。
  4.  前記第1取り出し候補計算部は、導出された前記局部特徴に基づいて、前記ワークの取り出し姿勢候補を自動的に計算する請求項3に記載の情報処理装置。
  5.  前記第1取り出し候補計算部は、前記前処理部111による干渉チェック機能又は衝突算出機能を利用して、前記第1取り出し候補計算部により算出された前記取り出し位置候補及び/又は前記取り出し姿勢候補を修正する請求項3又は請求項4に記載の情報処理装置。
  6.  第2取り出し候補計算部をさらに備え、
     前記前処理部は、前記ワークの前記3D CADモデルを用いて複数の前記ワークの重なり合う状態をランダムに生成し、
     前記第2取り出し候補計算部は、前記第1取り出し候補計算部により算出された少なくとも取り出し位置候補に基づいて、前記重なり合う状態における複数の前記ワークの少なくとも取り出し位置を自動的に生成する請求項3から請求項5のいずれか1項に記載の情報処理装置。
  7.  前記第2取り出し候補計算部は、前記前処理部による干渉チェック機能又は衝突算出機能を利用して、前記第2取り出し候補計算部により生成された複数の前記ワークの少なくとも取り出し位置を修正する請求項6に記載の情報処理装置。
  8.  前記前処理部により生成された複数の前記ワークの前記重なり合う状態から投影した2次元投影画像と、前記第2取り出し候補計算部により生成された複数の前記ワークの少なくとも取り出し位置を含む情報と、に基づいて学習データを生成する第1学習データ生成部をさらに備える請求項6又は請求項7に記載の情報処理装置。
  9.  複数の前記ワークの存在領域の画像を取得する情報取得部と、
     複数の前記画像それぞれに対する画像処理により抽出された特徴を前記ワークの前記3D CADモデルの導出された前記局部特徴とのマッチング処理を行う第2処理部と、をさらに備える請求項3から請求項5のいずれか1項に記載の情報処理装置。
  10.  第3取り出し候補計算部をさらに備え、
     前記第3取り出し候補計算部は、前記第2処理部による処理結果と前記第1取り出し候補計算部により算出された少なくとも取り出し位置候補に基づいて、前記情報取得部により取得された前記画像上のワークの少なくとも取り出し位置を自動的に生成する請求項9に記載の情報処理装置。
  11.  前記前処理部は、前記第2処理部による処理結果に基づいて前記画像に対応する複数の前記ワークの重なり合う状態を生成し、
     前記第3取り出し候補計算部は、前記前処理部による干渉チェック機能又は衝突算出機能を利用して、前記第3取り出し候補計算部により生成された複数の前記ワークの少なくとも取り出し位置を修正する請求項10に記載の情報処理装置。
  12.  前記情報取得部により取得された前記画像と、前記第3取り出し候補計算部により生成された少なくとも前記取り出し位置候補を含む情報と、に基づいて学習データを生成する第2学習データ生成部をさらに備える請求項10又は請求項11に記載の情報処理装置。
  13.  複数の前記ワークの存在領域の3次元点群データを取得する情報取得部と、
     複数の前記3次元点群データそれぞれと前記ワークの前記3D CADモデルとのマッチング処理を行う第3処理部と、をさらに備える請求項3から請求項5のいずれか1項に記載の情報処理装置。
  14.  第4取り出し候補計算部をさらに備え、
     前記第4取り出し候補計算部は、前記第3処理部による処理結果と前記第1取り出し候補計算部により算出された少なくとも取り出し位置候補に基づいて、前記情報取得部により取得された前記3次元点群上のワークの少なくとも取り出し位置を自動的に生成する請求項13に記載の情報処理装置。
  15.  前記第4取り出し候補計算部は、前記3次元点群データに基づいて、前記前処理部による干渉チェック機能又は衝突算出機能を利用して、前記第4取り出し候補計算部により生成された複数の前記ワークの少なくとも取り出し位置を修正する請求項14に記載の情報処理装置。
  16.  前記情報取得部により取得された前記3次元点群データと、前記第4取り出し候補計算部により生成された少なくとも前記取り出し位置候補を含む情報と、に基づいて学習データを生成する第3学習データ生成部をさらに備える請求項14又は請求項15に記載の情報処理装置。
  17.  コンピュータにより実現される、ハンドを用いてワークを取り出すための情報を処理する情報処理方法であって、
     前記ハンド又は前記ワークの情報を含む取り出し条件を受け付ける受付工程と、
     前記ワークの3D CADモデルに基づいて、前記ワークの重心位置を少なくとも導出する前処理工程と、
     導出された前記ワークの重心位置に基づいて、前記取り出し条件に応じた前記ワークの前記3D CADモデルの局部特徴を導出する第1処理工程と、
     を備える情報処理方法。
PCT/JP2021/027151 2020-07-27 2021-07-20 情報処理装置、及び情報処理方法 WO2022024877A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE112021003955.5T DE112021003955T5 (de) 2020-07-27 2021-07-20 Informationsverarbeitungsvorrichtung und Informationsverarbeitungsverfahren
US18/014,372 US20230297068A1 (en) 2020-07-27 2021-07-20 Information processing device and information processing method
CN202180060122.8A CN116137831A (zh) 2020-07-27 2021-07-20 信息处理装置以及信息处理方法
JP2022540219A JPWO2022024877A1 (ja) 2020-07-27 2021-07-20

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-126620 2020-07-27
JP2020126620 2020-07-27

Publications (1)

Publication Number Publication Date
WO2022024877A1 true WO2022024877A1 (ja) 2022-02-03

Family

ID=80035623

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/027151 WO2022024877A1 (ja) 2020-07-27 2021-07-20 情報処理装置、及び情報処理方法

Country Status (5)

Country Link
US (1) US20230297068A1 (ja)
JP (1) JPWO2022024877A1 (ja)
CN (1) CN116137831A (ja)
DE (1) DE112021003955T5 (ja)
WO (1) WO2022024877A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022213557B3 (de) 2022-12-13 2024-04-25 Kuka Deutschland Gmbh Betreiben eines Roboters mit Greifer

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018185857A1 (ja) * 2017-04-04 2018-10-11 株式会社Mujin 情報処理装置、ピッキングシステム、物流システム、プログラム、及び、情報処理方法
JP2019028775A (ja) * 2017-07-31 2019-02-21 株式会社キーエンス 画像処理装置
JP2019028773A (ja) * 2017-07-31 2019-02-21 株式会社キーエンス ロボットシミュレーション装置及びロボットシミュレーション方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6822929B2 (ja) 2017-09-19 2021-01-27 株式会社東芝 情報処理装置、画像認識方法および画像認識プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018185857A1 (ja) * 2017-04-04 2018-10-11 株式会社Mujin 情報処理装置、ピッキングシステム、物流システム、プログラム、及び、情報処理方法
JP2019028775A (ja) * 2017-07-31 2019-02-21 株式会社キーエンス 画像処理装置
JP2019028773A (ja) * 2017-07-31 2019-02-21 株式会社キーエンス ロボットシミュレーション装置及びロボットシミュレーション方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NAGABA, KEIKO: "State-of-the-art on deep learning technology that PFN has shown to the world, Also for estimating the gripping position of an object at a picking robot competition", NIKKEI ROBOTICS, 10 September 2016 (2016-09-10), pages 16 - 22 *

Also Published As

Publication number Publication date
CN116137831A (zh) 2023-05-19
JPWO2022024877A1 (ja) 2022-02-03
US20230297068A1 (en) 2023-09-21
DE112021003955T5 (de) 2023-05-25

Similar Documents

Publication Publication Date Title
JP6415026B2 (ja) 干渉判定装置、干渉判定方法、コンピュータプログラム
KR101453234B1 (ko) 워크 취출 장치
JP4309439B2 (ja) 対象物取出装置
JP2019058960A (ja) ロボットシステム及びワーク取り出し方法
US11667036B2 (en) Workpiece picking device and workpiece picking method
Qin et al. Precise robotic assembly for large-scale objects based on automatic guidance and alignment
US10102629B1 (en) Defining and/or applying a planar model for object detection and/or pose estimation
CN111439594B (zh) 基于3d视觉引导的拆垛方法和系统
JP2013217893A (ja) モデル生成装置、位置姿勢推定装置、情報処理装置、モデル生成方法、位置姿勢推定方法、情報処理方法
JP2014063475A (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
US20180247150A1 (en) Information processing device, information processing method, and article manufacturing method
JPWO2009028489A1 (ja) 物体検出方法と物体検出装置およびロボットシステム
US20210174538A1 (en) Control apparatus, object detection system, object detection method and program
JP6632656B2 (ja) 干渉判定装置、干渉判定方法、コンピュータプログラム
JP2020121352A (ja) 物体把持システム
US20230347509A1 (en) Robot control apparatus, robot control method, and program
JP2020027439A (ja) 情報処理装置、情報処理方法
CN115210049A (zh) 取出系统以及方法
WO2022024877A1 (ja) 情報処理装置、及び情報処理方法
JP2022160363A (ja) ロボットシステム、制御方法、画像処理装置、画像処理方法、物品の製造方法、プログラム、及び記録媒体
JP3516668B2 (ja) 3次元形状認識方法、装置およびプログラム
JP7066671B2 (ja) 干渉判定装置、干渉判定方法、プログラム及びシステム
CN113345023A (zh) 箱体的定位方法、装置、介质和电子设备
WO2022137509A1 (ja) 物体認識装置、物体認識方法、非一時的なコンピュータ可読媒体及び物体認識システム
US11436754B2 (en) Position posture identification device, position posture identification method and position posture identification program

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022540219

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 21851482

Country of ref document: EP

Kind code of ref document: A1