WO2018221614A1 - 学習装置、学習方法、学習モデル、推定装置及び把持システム - Google Patents

学習装置、学習方法、学習モデル、推定装置及び把持システム Download PDF

Info

Publication number
WO2018221614A1
WO2018221614A1 PCT/JP2018/020816 JP2018020816W WO2018221614A1 WO 2018221614 A1 WO2018221614 A1 WO 2018221614A1 JP 2018020816 W JP2018020816 W JP 2018020816W WO 2018221614 A1 WO2018221614 A1 WO 2018221614A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
learning
teaching tool
gripping
orientation
Prior art date
Application number
PCT/JP2018/020816
Other languages
English (en)
French (fr)
Inventor
仁志 草野
絢佳 久米
叡一 松元
Original Assignee
株式会社Preferred Networks
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 株式会社Preferred Networks filed Critical 株式会社Preferred Networks
Priority to EP18809575.6A priority Critical patent/EP3633610A4/en
Priority to CN201880035634.7A priority patent/CN110692082B/zh
Publication of WO2018221614A1 publication Critical patent/WO2018221614A1/ja
Priority to US16/698,177 priority patent/US11034018B2/en
Priority to US17/326,250 priority patent/US11565407B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1635Programme controls characterised by the control loop flexible-arm control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36453Handheld tool like probe
    • 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/37Measurements
    • G05B2219/37425Distance, range
    • 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/39484Locate, reach and grasp, visual guided grasping
    • 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/40532Ann for vision processing
    • 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/40555Orientation and distance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Definitions

  • the present invention relates to a learning device, a learning method, a learning model, an estimation device, and a gripping system.
  • the present invention provides a learning device that performs learning for appropriately determining the position and posture for gripping an object from an image on a computer.
  • a learning apparatus includes a detection unit that detects information on a position where an object exists and a teaching tool that holds the object.
  • the information of the teaching tool detected by the detecting means is converted into information on the position and orientation of the teaching tool, and the position information and the position of the teaching tool holding the object are detected.
  • the learning apparatus of the present invention it is possible to perform learning for appropriately determining the position and posture for gripping an object from an image on a computer.
  • grip system which concerns on one Embodiment The block diagram which shows the function of the computer which concerns on one Embodiment.
  • the learning apparatus captures a target object, for example, when a target object (hereinafter referred to as a target object) is gripped by a gripper attached to the robot or a component of the robot.
  • a target object hereinafter referred to as a target object
  • FIG. 1 shows an object gripping system by a robot using a learning model learned by a learning apparatus according to the present embodiment.
  • the gripping system 1 includes a computer 10, a controller 12, a robot 14, a gripper 16, and a camera 18.
  • the computer 10 is a computer that is connected to the controller 12, the gripper 16, and the camera 18, and controls the entire gripping system 1.
  • the computer 10 includes, for example, a CPU (Central Processing Unit), various memories, and a user interface.
  • a learning model learned by the learning device is stored in the computer 10.
  • the learning device may be mounted in the computer 10.
  • an accelerator such as a GPU (Graphical Processing Unit) that performs calculations for performing learning and applying an actual measurement value to the learning model may be mounted.
  • the controller 12 is a control device that receives a signal from the computer 10 and transmits a signal for controlling the robot 14 to the robot 14.
  • the controller 12 converts the signal received from the computer 10 into a signal for controlling the robot 14 and transmits a signal for causing the robot 14 to operate.
  • the controller 12 can be omitted when performing signal conversion or the like in the computer 10. Furthermore, the computer 10 and the controller 12 may be mounted on the robot 14. That is, the computer 10, the controller 12, and the robot 14 may be configured as an integrated robot. Based on other factors such as resources and costs, these configurations are variable.
  • the robot 14 is a housing that supports a gripper 16 that holds an object.
  • the robot 14 is mainly described as a support housing for the gripper 16, but the present invention is not limited to this, and the robot 14 may have other functions and be used for other purposes.
  • the gripper 16 is an apparatus (gripping means) for receiving information on a grippable position and posture from the computer 10 and gripping a target object, and is a gripping apparatus including, for example, three movable claws. .
  • the claw part has, for example, one or a plurality of joints, and can be controlled so that it can be operated for each joint.
  • the gripper 16 is controlled by the computer 10, the controller 12 or the robot 14. That is, the gripper 16 is controlled by the control unit. When the target object is gripped, control is performed based on the position and orientation information received from the computer 10.
  • the gripper 16 may be physically or electrically connected to the robot 14 via an arm (not shown).
  • the gripper 16 may not be connected to the computer 10. In this case, the gripper 16 may acquire information on the position and posture (three-dimensional direction) for gripping the target object via the controller 12 and the robot 14.
  • the position of the gripper 16 is the position of the gripper 16 with respect to the reference point.
  • the reference point of the gripper 16 is a point for uniquely determining the position of the gripper 16 in the gripping system 1 when position information is given to the gripper 16.
  • the center point (which may be the center of gravity) of the nail tip at the initial position of these claws (for example, the most extended position) may be used as the reference point of the gripper 16.
  • the point where these claws are installed may be used as the reference point of the gripper 16.
  • a point where the arm of the robot 14 and the gripper 16 are connected may be used as the reference point of the gripper 16, but is not limited thereto.
  • the position of the gripper 16 may be adjusted by the operation of the arm of the robot 14.
  • the position and posture of the gripper 16 are controlled by controlling the position or posture of the gripper 16. And a concept including control of the operation of the arm of the robot 14.
  • the camera 18 is a capture device that is connected to the computer 10 and captures an image of an object from a predetermined position and direction.
  • the camera 18 is, for example, an RGB-D camera that photographs an object from the vertical direction, and is horizontal to the imaging surface of the camera 18 with a predetermined point as a reference (hereinafter referred to as a reference point of the camera 18).
  • the RGB value of the object at the position (x, y) and the position z (depth) perpendicular to the imaging surface of the camera 18 at each position (x, y) of the object are captured.
  • the camera 18 is not limited to the RGB-D camera as long as it can capture the position (x, y, z) where the object exists, and can detect the three-dimensional position of another object. It may be a simple detection device.
  • the apparatus may be provided with a plurality of cameras so as to capture an object from two or three directions and capture a three-dimensional position of the object. Further, instead of a camera for photographing visible light, other detection devices that can measure an object in three dimensions may be used.
  • the camera 18 is connected only to the computer 10, but is not limited thereto.
  • it may be mounted on the computer 10 or may be installed or mounted on the robot 14 or the like.
  • the camera 18 may be directly connected to the computer 10 or may be connected to the computer 10 via the robot 14 or the like.
  • the reference point of the camera 18 can be, for example, the position of the camera 18 or the initial position of the gripper 16.
  • the reference point of the camera 18 may be a point where the position (x, y, z) can be uniquely determined in the measured object.
  • the camera 18 is in a fixed position in the gripping system 1. That is, it is desirable that the system for photographing the teacher data and the system for photographing the target object are the same system.
  • the camera 18 may be connected to the arm of the robot 14 together with the gripper 16 or attached to the gripper 16, for example.
  • the reference point of the camera 18 may be the same as the reference point of the gripper 16. Or you may set a reference point so that it may become a coordinate system which can determine the position of each point of the object photoed with the camera 18 uniquely in the holding
  • the reference point of the gripper 16 and the reference point of the camera 18 may be the same point.
  • three-dimensional coordinates in the gripping system 1 can be handled in the same coordinate system.
  • the posture of the gripper 16 or the like may be based on, for example, a posture parallel to the x axis on the xy plane in these three-dimensional coordinate systems.
  • the position and posture of the gripper 16 and the like may be any as long as they can be uniquely determined in the gripping system 1.
  • the system that captures the image that generates the teacher data and the system that grips the target object may be different.
  • the distance between the camera 18 and the object, and the relative positional relationship between the reference point of the camera 18 and the reference point of the gripper 16 is an image for generating teacher data. It is desirable to be equivalent to a system for photographing. Even in other cases, it is possible to apply this embodiment by correcting the coordinates in the input image of the target object and the position and orientation information of the gripper 16 to be output.
  • the camera 18 When the camera 18 is fixed in the gripping system 1, as an example, the camera 18 is 75 cm away from the plane in a vertical direction so that a plane having a size of 70 cm ⁇ 50 cm of the plane on which the object is installed is photographed. Installed in a different position. This is an example and does not exclude other installation methods.
  • FIG. 2 is an example of a block diagram showing functions of the computer 10.
  • the computer 10 includes, for example, an input unit 100, a teacher data generation unit 102, a learning unit 104, an estimation unit 106, and an output unit 108. Furthermore, a teacher data storage unit 110 that stores teacher data and a learning model storage unit 112 that stores a learning model learned based on the teacher data are provided. The configuration of the CPU or the like is not shown. The solid line in the figure indicates the data flow in the learning phase, and the broken line indicates the data flow in the grasping information estimation phase.
  • the input data is an image of the teaching tool 2 shown in FIG. 3 that holds an object photographed by the camera 18 serving as teacher data.
  • the estimation phase it is an image of a target object to be grasped. Further, a request for learning and a request for estimating gripping information are input via a user interface (not shown).
  • the teacher data generation unit 102 converts the input image data and generates teacher data. Details of the conversion from the input image to the three-dimensional position and the three-dimensional posture provided in the teacher data will be described later.
  • the learning unit 104 generates a learning model for estimating grip information using the teacher data stored in the teacher data storage unit 110.
  • the learning unit 104 generates a learning model based on the data stored in the teacher data storage unit 110 according to a request from the user, and stores the generated learning model in the learning model storage unit 112. Note that the learning unit 104 may output to the output unit 108 a status state during learning and information indicating that learning has ended.
  • the estimation unit 106 estimates position and orientation information for gripping the target object based on the learning model. For example, when receiving a request for estimating gripping information via the input unit 100, the estimation unit 106 performs gripper processing on the input target object image based on the learning model stored in the learning model storage unit 112. Information on the position (three-dimensional position) and posture (three-dimensional direction) where the target object 16 can grip the target object is estimated. For example, the estimated information may be displayed on the output unit 108 or may be transmitted to the robot 14 or the gripper 16 via the output unit 108.
  • the information estimated by the estimation unit 106 can be fed back as new teacher data. Like the arrow indicated by the alternate long and short dash line, the information estimated by the estimation unit 106 and the information indicating whether or not the gripper 16 has actually grasped the target object or the user can confirm the information to grasp the target object. The result of predicting whether or not there is may be output to the teacher data storage unit 110 as teacher data.
  • the learning unit 104 and the estimation unit 106 have been described as being in the same computer 10, but the present invention is not limited to this. That is, the learning unit 104 and the estimation unit 106 may be provided in different computers based on the common learning model storage unit 112. Furthermore, the teacher data storage unit 110 and the learning model storage unit 112 may not be provided in the computer 10, and may be provided in the database server including a database server or the like via a network, for example.
  • the computer 10 is a learning device that optimizes a learning model for acquiring position and posture information at which the gripper 16 can hold the target object, and based on the learning model. It is also an estimation device that estimates position and orientation information at which the gripper 16 can grip the target object.
  • FIG. 3 is a diagram illustrating an example of the teaching tool 2 used for creating a learning model according to the present embodiment.
  • the teaching tool 2 includes a teaching tool body 20 and a marker 22.
  • the teaching tool main body 20 is a tool operated by a human when creating teacher data, and the position and posture of the teaching tool 2 capable of gripping an object can be determined by gripping the object with the teaching tool main body 20. It can be accumulated as teacher data.
  • the marker 22 is a marker fixed to the teaching tool main body 20.
  • the position of the teaching tool 2 photographed by the camera 18 can be obtained by extracting the position of the teaching tool body 20, but the orientation of the teaching tool 2 can be extracted only by acquiring the image of the teaching tool body 20. Often difficult to do.
  • the marker 22 is detected from the image, and the position (x, y, z) or posture (R, P, Y) of the marker 22 in the three-dimensional space is estimated. By doing so, it is possible to estimate the posture of the teaching tool 2.
  • the marker 22 is composed of three different ones. However, the marker 22 is not limited to this, and may be composed of one or two markers as long as reading accuracy can be ensured. Also good. In order to increase the accuracy, a direction based on two vectors of the longitudinal direction and the short direction of the teaching tool main body 20 may be detected.
  • the use of the marker 22 is not limited, and the position or orientation of the teaching tool 2 may be extracted using, for example, a 3-axis sensor, a 6-axis sensor, light, radio waves, sound waves, or the like. Further, in the above description, data that can be gripped is acquired as teacher data. However, the present invention is not limited to this, and data that cannot be gripped using the teaching tool 2 may also be collected. In this way, learning using not only positive data but also negative data can be performed.
  • the teaching tool reference point 24 is a reference point for the position and orientation of the teaching tool 2.
  • the three-dimensional position (x, y, z) of the teaching tool 2 is measured with reference to the position of the teaching tool reference point 24.
  • the position of the teaching tool 2 is determined by the teacher data generation unit 102 obtaining the position of the teaching tool reference point 24 based on the position of the marker 22. More simply, the position of the center of the two end points of the teaching tool 2 may be the position (x, y) of the teaching tool 2.
  • the position z may be obtained from the measurement result when the camera 18 is an RGB-D camera.
  • the position of the teaching tool 2 only needs to be expressed so that it can be uniquely determined in the gripping system 1.
  • the position of the teaching tool reference point 24 relative to the reference point of the gripper 16 described above may be represented relatively, or the position of the teaching tool reference point 24 relative to the reference point of the camera 18 may be represented relatively. .
  • the posture of the teaching tool 2 is detected by reading the marker 22. That is, the posture (R, P, Y) is detected as the roll angle R, the pitch angle P, and the yaw angle Y with reference to the longitudinal direction of the teaching tool body 20 around the teaching tool reference point 24. For example, how much the lateral direction is inclined with respect to the longitudinal direction of the teaching tool body 20 (R), how much the longitudinal direction is inclined from the horizontal direction (P), and the longitudinal and lateral directions are horizontal. It is detected by how much it is rotating (Y).
  • the teacher data generation unit 102 determines the tilt of the marker 22 in each direction by obtaining a perspective transformation matrix with reference to the three-dimensional direction of the teaching tool 2 installed in a predetermined posture on the horizontal plane. Is calculated, the information of the image of the teaching tool 2 taken by the camera 18 is converted into posture information.
  • FIG. 4 is a diagram illustrating an example of a learning model in the present embodiment.
  • the learning model is configured by FCN (Fully Convolutional Network).
  • FCN is a type of convolutional network (hereinafter referred to as CNN: Convolutional Neural Network), and refers to learning in which operations between all layers are performed by convolutional operations. That is, it is a network in which there is no pooling layer and no layer to be fully connected.
  • CNN Convolutional Neural Network
  • the learning model is not limited to the FCN, and other networks may be used.
  • This learning model is a position map (PLM: Predicted Location) that is predicted to be graspable when three images of RGB of 200 ⁇ 200 pixels and one image of a depth map are input as input images. Map) and posture / depth map (PCM: Predicted Configuration Map) are output. PLM and PCM are information indicating whether or not each pixel photographed by the camera 18 can be gripped.
  • the PLM is a map indicating whether or not there is a possibility that the target object can be gripped when the gripper 16 is present at the two-dimensional position (x, y).
  • each pixel of the PLM has a value close to 1 if the target object can be grasped if the gripper 16 is present at the position (x, y) corresponding to the pixel, and 0.5 otherwise. It is a map that is close or less than 0.5. This is because, as will be described later, the output PLM and PCM data are in the (0, 1) region via the sigmoid function.
  • the PCM converts the four-dimensional depth and posture information into the two-dimensional position (x, y) that the target object may be grasped by operating the gripper 16 in the depth and posture (z, R, P, Y). It is a mapping. Specifically, this PCM is generated as follows. First, among the data detected by the camera 18, the four-dimensional information that can actually be gripped is clustered, for example, in 300 ways and prepared as teacher data. The PCM may actually grasp the estimated depth and posture of the gripper 16 for each teacher data, that is, at each clustered depth and posture by referring to the clustered teacher data. Is a mapping of a certain two-dimensional position (x, y).
  • the combinations of depth and posture are clustered in the above 300 ways to alleviate them. Use the results.
  • the k-means method is used, but other general clustering methods may be used.
  • the PCM is generated by using 301 kinds of teacher data including teacher data when the object cannot be gripped.
  • each layer represents a stride at the time of convolution to the layer.
  • S1 indicates that the stride is 1
  • S2 indicates that the stride is 2.
  • a 3 ⁇ 3 convolution kernel is used for the layer represented by S1
  • a 4 ⁇ 4 convolution kernel is used for the layer represented by S2.
  • the numbers 16, 32, 64, and 302 described below each layer indicate the number of channels in each layer.
  • the leftmost layer is an input layer, and data obtained by photographing an object of 200 ⁇ 200 (pixels) ⁇ 4 (channels) is input.
  • the next layer (hereinafter, except for the input layer and the output layer, in order from the left, the first layer, the second layer,%) Is the 4 channel data input to this input layer and 3 ⁇ 3.
  • a convolution operation is performed on the kernel of the size, and data of the same size of 16 channels is generated. That is, the first layer is a 200 ⁇ 200 ⁇ 16 layer.
  • the padding at the time of convolution is 1.
  • a convolution operation is performed on each channel of the input image using 16 3 ⁇ 3 size kernels to generate 16-channel first layer data. That is, kernels for R (Red), G (Green), B (Blue), and D (Depth) images exist as a set of kernels, and kernels corresponding to the respective channels for each channel of the input image. Convolve and. Then, the result of convolution integration is synthesized as one image.
  • the composition is executed, for example, by adding a weight to the images of each channel with a predetermined weight.
  • a weighting coefficient may be included in each kernel.
  • an output channel is generated by adding the output of each channel.
  • batch normalization is performed after the convolution operation, and ReLU (Rectified Linear Unit) is applied as an activation function.
  • the batch normalization indicates a process of normalizing so that the average of each channel is 0 and the variance is 1.
  • ReLU indicates conversion in which a negative value in data is zero.
  • layer1 chainer.functions.relu (chainer.functions.BatchNormalization (layer1)) It is what.
  • the second layer is a data layer of 100 ⁇ 100 ⁇ 32 in which the first layer and a 4 ⁇ 4 size kernel are convolved and the number of channels is 32.
  • layer2 chainer.functions.relu (chainer.functions.BatchNormalization (layer2)) Normalize and activate as follows.
  • Upsampling is performed by performing the reverse operation of downsampling.
  • the network estimates (x, y, z, R, P, Y) and outputs it to the output layer. For example, 200 ⁇ 200 ⁇ 1 (x, y) data is output as PLM, and a total of 200 ⁇ 200 ⁇ 300 data that can be gripped as PCM and 200 ⁇ 200 ⁇ 1 data that cannot be gripped is combined. ⁇ 200 ⁇ 301 (z, R, P, Y) data is output.
  • the PCM is output as an image as shown at the bottom of FIG.
  • This image is mapping data indicating a two-dimensional position (x, y) at which the target object can be gripped at the depth and posture indicated by the teacher data for each clustered teacher data.
  • the mapping data corresponding to each teacher data may be synthesized and output as an image showing one PCM by coloring with different colors.
  • each position (x, y) may be colored with a color indicating a cluster having the highest output value.
  • the PLM is a one-channel output, for example, the value output from the last layer may be converted into an image by a gray scale or other color-based scaling method and output.
  • learning model is shown as an example, and learning and optimization by other networks may be performed.
  • learning may be performed by a network including a pooling layer and a fully connected layer as in a general CNN.
  • FIG. 5 is a flowchart showing learning processing in the present embodiment.
  • step S10 the object photographed by the camera 18 and the image data of the teaching tool 2 are collected (step S10).
  • This image data is acquired by inputting a plurality of positions and postures at which each of a plurality of objects can be gripped by using the teaching tool 2 via the camera 18.
  • image data for conversion to teacher data a plurality of gripping positions and gripping postures are input for each of a plurality of objects.
  • the acquired teacher data is input to the teacher data generation unit 102 via the input unit 100.
  • each acquired image data is converted into teacher data (step S11).
  • the teacher data generation unit 102 converts the input image data and generates teacher data.
  • the generated teacher data is stored in the teacher data storage unit 110. Further, for example, when a large amount of data is acquired as described above, the information on the position and orientation at which the output target object can be gripped is almost infinite. Therefore, the teacher data generation unit 102 uses a clustering technique such as k-means to obtain the four-dimensional information of the position (z) and the posture (R, P, Y) at which the teaching tool 2 can grip an object, for example, The information is classified into 300 types of grippable position and posture information. These clustering results may also be stored in the teacher data storage unit 110.
  • One set of teacher data can grasp a four-dimensional (eg, R, G, B, D) object image and a six-dimensional (eg, x, y, z, R, P, Y) object.
  • This data includes data associated with position and orientation information. That is, data including a plurality of sets of the teacher data is stored in the teacher data storage unit 110 for a plurality of objects.
  • step S12 learning is performed (step S12).
  • Adam Adaptive Moment Estimation
  • the learning optimization method is not limited to Adam, and other optimization methods such as NAG, Adagrad, RMSprop, and Addelta may be used.
  • pre-learning may be performed. The pre-learning may be performed using, for example, a VGG16 model.
  • data may be artificially generated by a label-preserving transformation.
  • this method for example, artificial data obtained by locally changing data that has been labeled as grippable is created, and it is assumed that the data is also position and orientation information that can be gripped. It is a technique.
  • the position and posture information in the middle of these data is information on the position and posture that can be gripped.
  • the above 8400 data may be increased by about three times.
  • the learning model is optimized using the following evaluation function. Specifically, supervised learning is performed using the following evaluation function, for example, optimization of a kernel used for convolution between layers.
  • evaluation function for example, optimization of a kernel used for convolution between layers.
  • a is the magnification
  • n is the total number of learning data
  • W / H is the width / height of the image used for learning
  • t is the target PLM
  • y is the output.
  • the magnification a is 200, for example.
  • C is the number of classes
  • is 200, for example.
  • the evaluation function may be any function that can evaluate PLM and PCM, and is not limited to the above.
  • the teacher data may be divided into two groups and cross validation may be performed.
  • the learned learning model is stored in the learning model storage unit 112.
  • FIG. 6 is a flowchart showing an estimation process in the present embodiment.
  • the estimation unit 106 acquires an image of the target object photographed by the camera 18 via the input unit 100 (step S20).
  • this image when the camera 18 is an RGB-D camera, an image of each color component R, G, and B shown on the plane and an image indicating each depth in the photographed image are acquired.
  • the estimation unit 106 inputs the image acquired in step S20 to the learning model stored in the learning model storage unit 112 as an input image, and the position of the gripper 16 that can grip the target object and PLM and PCM indicating the posture are acquired (step S21).
  • the image of the target object acquired by the camera 18 is input to the leftmost input layer shown in FIG.
  • the PCM and PLM for the target object are output by the learning model including the convolution network to which the image is input.
  • the outputs of the PCM and PLM may be output as an image via the output unit 108 as shown in FIG.
  • the PLM image outputs the position of the gripper 16 where the gripper 16 is likely to grip the target object as a set of points.
  • the PCM collates with the result of clustering the four-dimensional data (z, R, P, Y) of the gripper depth (vertical distance from the camera 18) and posture at each point in 300 ways, and is output as an image. . For example, as described above, each class is output as a different color on the image.
  • the estimation unit 106 selects information with a high score from the depth and posture data of the grippable gripper 16 output by the learning model, and outputs the information via the output unit 108 (step S22).
  • the score for example, the output PLM and PCM maps are referred to.
  • the robot 14 can grip the target object using the gripper 16 by operating the gripper 16 that has received the information of the position and orientation that can be gripped from the computer 10 via the output unit 108 (step S1). S23).
  • FIG. 7A is an example of a target object.
  • the target object is, for example, a bottle.
  • 7B and 7C are diagrams illustrating the gripping position and posture of the target object estimated by the learning model described above.
  • a learning model is optimized using seven types of teaching data objects, and target objects that are not used as teaching data objects are applied to the learning model.
  • FIG. 7B shows the position and posture for gripping the target object from above
  • FIG. 7C is a cross-sectional view taken along the line A-A ′ of FIG. 7B.
  • the solid line indicates the position and posture of the gripper 16 on the basis of information on the grippable position and posture with the highest score, followed by the score in the order of broken line and one-dot chain line. Indicates a high value.
  • the gripper 16 can grip the target object when the position and posture are based on the position and posture information that can be gripped with the highest score. That is, it is read that the gripper 16 is positioned in the horizontal direction shown in FIG. 7B and the vertical direction shown in FIG. 7C, and the posture of the gripper 16 is set so as to sandwich the target object in each figure. Can do. Similarly, it can be read that the target object can be grasped with respect to the broken line and the alternate long and short dash line.
  • a point (x, y) having the highest PLM output value is extracted, and the PCM score at the point (x, y) is in descending order.
  • the information on the three grippable positions and postures is shown.
  • the extraction of the grippable position and orientation is not limited to this, and it may be performed by evaluating the output values of PLM and PCM using a predetermined evaluation function.
  • the position and orientation with the highest product of the output values of PLM and PCM may be simply output, or the position and orientation with the highest weighted average value of PLM and PCM with a predetermined weight may be output. It may be.
  • the present embodiment by using a learning model optimized based on multidimensional, for example, 6-dimensional teacher data, it is adapted to a high degree of freedom, in other words, a multidimensional degree of freedom. It is possible to estimate information on the position and posture that can be gripped.
  • a learning model optimized based on multidimensional for example, 6-dimensional teacher data
  • it is assumed that there are six dimensions.
  • teacher data based on other parameters such as the degree of bending at the joints of the claws of the gripper 16 and the distance between the claws, higher dimensions can be obtained.
  • higher dimensions can be obtained.
  • information indicating a grippable state with respect to the degree of freedom By making the degree of freedom high in this way, the learning method according to the present embodiment can be employed even when gripping means having various shapes are used.
  • the teaching tool when learning the movement of the joint of the gripper 16 and outputting it as grippable information, the teaching tool may be deformed according to the shape of the gripper 16.
  • the nail portion of the teaching tool may have one or a plurality of joints, and the movement of the joints can also be photographed by the camera 18 and used as teacher data.
  • the distance between the claws of the teaching tool when it is desired to limit the distance between the claws of the gripper 16, the distance between the claws of the teaching tool may be equal to the distance between the claws of the gripper 16.
  • the degree of freedom of the posture of the gripper 16 is 2, for example, another degree of freedom such as the distance between the claws and the length of the nails is added to learn as a degree of freedom of 6 dimensions or more.
  • the grippable data may be output.
  • the learning device performs learning with six or more degrees of freedom and makes it possible to estimate data.
  • the teaching tool 2 having a shape different from that of the gripper 16 as in the above-described embodiment may be used, or as another example, a teaching tool having the same shape as the gripper 16 may be used.
  • a teaching tool having the same shape as the gripper 16 may be used.
  • teacher data may be collected by a human operating the robot 14 using the operation system of the robot 14.
  • the gripper 16 as a teaching tool is moved to a position and posture where an object can actually be gripped,
  • the state of the position and posture may be used as teacher data.
  • the position and orientation of the gripper 16 that is a teaching tool may be acquired based on what is photographed by the camera 18 as in the above-described embodiment.
  • the camera 18 not only captures the gripper 16 with the camera 18, but also captures the position and
  • the posture information may be acquired via the robot 14 and may be used as teacher data by associating the image information of the object with the grippable position and posture information.
  • the object information is captured by the camera 18 and the object is virtually detected using VR (Virtual Reality) technology or AR (Augmented Reality) technology.
  • VR Virtual Reality
  • AR Augmented Reality
  • it may be defined in an expanded manner so that a person can operate the teaching tool 2 or the gripper 16 to acquire information on a position and posture at which the virtual object or the expandable object can be gripped. In this way, it is possible to reduce the cost of routine construction for teaching to acquire teacher data and to facilitate the teaching of multiple people to the same object situation. It is possible to suppress the bias in teaching.
  • the position and orientation information estimated by the learning model is output as an image, thereby estimating the position and orientation information that can be automatically gripped with respect to the target object photographed by the camera 18. Later, it becomes possible to select position and orientation information that can be easily grasped from the candidates that the user has output.
  • this embodiment since it is a learning model based on FCN, it is possible to perform calculations at high speed, and it is possible to reduce the time cost particularly in the learning phase. This is also effective when, for example, new teacher data is used to determine whether or not the information on the estimated position and orientation can actually be grasped.
  • the gripping system 1 may be used when picking a large quantity or various kinds of objects, for example, picking goods in a distribution warehouse or picking in a factory. Further, for example, when the user is difficult to approach the object, such as picking an object in a clean room, or when the user does not want to approach the object, it may be used for remote operation. Furthermore, when the robot 14 performs work using a tool, the robot 14 may be applied to hold the tool.
  • words indicating directions such as vertical, horizontal, and vertical are used. However, these may be defined in any way as long as they can be relatively determined in the gripping system 1. .
  • the camera 18 may be photographed in a direction horizontal to the gravity in the gripping system 1.
  • the x axis is parallel to the photographing surface of the camera 18 and the direction of gravity is The horizontal axis may be defined
  • the y axis may be defined as an axis parallel to the imaging plane and perpendicular to the x axis
  • the z axis may be defined as an axis perpendicular to the imaging plane of the camera 18.
  • the axes do not need to be orthogonal in a strict sense.
  • the coordinate system is not limited to the orthogonal coordinate system according to the situation to be mounted, and other coordinate systems such as a cylindrical coordinate system can also be used.
  • the posture is expressed using Euler angles, declination angles, or direction cosines. It may be done.
  • any one can be used as long as the position and posture of the teaching tool 2 and the gripper 16 can be uniquely determined by the three-dimensional position and the three-dimensional posture, and the one that is easy to use in system design is selected. It is possible.
  • the gripping system 1 may be configured by hardware, or may be configured by software, and the CPU or the like may be implemented by software information processing.
  • the gripping system 1 and a program for realizing at least a part of the functions may be stored in a storage medium such as a flexible disk or a CD-ROM and read and executed by a computer.
  • the storage medium is not limited to a removable medium such as a magnetic disk or an optical disk, but may be a fixed storage medium such as a hard disk device or a memory. That is, information processing by software may be specifically implemented using hardware resources.
  • the processing by software may be implemented in a circuit such as a digital circuit, an analog circuit, or an FPGA (Field-Programmable Gate Array) and executed by hardware.
  • a control circuit is provided, and some or all functions may be controlled by these circuits.
  • the generation of the learning model and the processing after inputting the learning model may be performed using an accelerator such as a GPU, for example.
  • the learning model according to the present embodiment can be used as a program module that is a part of the artificial intelligence software. That is, based on the model stored in the learning model storage unit 112, the CPU of the computer 10 performs an operation on the image data captured by the camera 18 input to the input layer of the convolution network, and the convolution network Operates to output results from the output layer.
  • Grasping system 10 Computer 100: Input unit 102: Teacher data generation unit 104: Learning unit 106: Estimation unit 108: Output unit 110: Teacher data storage unit 112: Learning model storage unit 12: Controller 14: Robot 16: Gripper 18: Camera 2: Teaching tool 20: Teaching tool body 22: Marker 24: Teaching tool reference point

Landscapes

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

Abstract

コンピュータ上の画像から物体を把持する位置及び姿勢を適切に決定するための学習を行う学習装置を提供する。一実施形態によれば、学習装置は、物体の存在する位置と、当該物体を把持している教示ツールの情報を検知する、検知手段と、前記検知手段により検知された前記教示ツールの情報を前記教示ツールの位置及び姿勢の情報へと変換し、前記物体の存在する位置情報と当該物体を把持している前記教示ツールの位置及び姿勢の情報とを紐付けたデータである教師データを生成する、教師データ生成手段と複数の層を備えるニューラルネットワークモデルで表される学習モデルであって、前記検知手段を介してターゲット物体の存在する位置情報が入力されると、前記ターゲット物体を把持可能な把持手段の位置及び姿勢の情報を出力する学習モデルを、前記教師データを用いて学習する、学習部と、を備える。

Description

学習装置、学習方法、学習モデル、推定装置及び把持システム
 本発明は、学習装置、学習方法、学習モデル、推定装置及び把持システムに関する。
 現在、様々な用途についてロボットを用いた自動化がされており、それぞれの用途に応じて広く研究開発が行われている。ロボットに付属したアームを用いて物体を把持する研究も広く行われている。ロボットのグリッパ部分で物体を把持するためには、ロボットのグリッパの位置及び向きを、物体の検知装置、例えば、RGB-Dカメラを用いて検知された物体の位置から決定する必要がある。このグリッパの位置及び向きを推定する手法として、他分野でも広く用いられているニューラルネットワークやディープラーニングを利用する手法が開発されている(特開2016―132086号公報参照)。
 しかしながら、従来の手法では、高次元の把持姿勢を求めること、特に、コンピュータ上の画像においてアノテーションすることが難しい情報を予測することが困難である。CADを用いて3次元物体を認識する手法もあるが、CADモデルが必要となる上、物体を認識した後に把持姿勢を決定しなければならず、経済的及び時間的コストが高い。さらに、従来の手法においては、グリッパが直上から物体を把持する以外の把持方法を学習している例が見受けられない。
 そこで、本発明は、コンピュータ上の画像から物体を把持する位置及び姿勢を適切に決定するための学習を行う学習装置を提供する。
 一実施形態に係る学習装置は、物体の存在する位置と、当該物体を把持している教示ツールの情報を検知する、検知手段と、
 前記検知手段により検知された前記教示ツールの情報を前記教示ツールの位置及び姿勢の情報へと変換し、前記物体の存在する位置情報と当該物体を把持している前記教示ツールの位置及び姿勢の情報とを紐付けたデータである教師データを生成する、教師データ生成手段と
 複数の層を備えるニューラルネットワークモデルで表される学習モデルであって、前記検知手段を介してターゲット物体の存在する位置情報が入力されると、前記ターゲット物体を把持可能な把持手段の位置及び姿勢の情報を出力する学習モデルを、前記教師データを用いて学習する、学習部と、
 を備える。
 本発明に係る学習装置によれば、コンピュータ上の画像から物体を把持する位置及び姿勢を適切に決定するための学習を行うことが可能となる。
一実施形態に係る把持システムの概略を示す図。 一実施形態に係るコンピュータの機能を示すブロック図。 一実施形態に係る教師データ取得のための教示ツールを模式的に示す図。 一実施形態に係る学習モデルの層を示す図。 一実施形態に係る学習フェーズの処理を示すフローチャート。 一実施形態に係る推定フェーズの処理を示すフローチャート。 一実施形態に係るターゲット物体の一例を示す図。並びに推定された把持位置及び姿勢の例を示す図。 一実施形態に係るターゲット物体の推定された把持位置の一例を示す図。 一実施形態に係るターゲット物体の推定された姿勢の一例を示す図。
 以下、図面を参照して、本発明の実施形態についてより詳しく説明する。本実施形態は、本発明を限定するものではない。なお、各図において同等の機能を有する構成要素には同一の符号を付し、同一の構成要素の詳しい説明は繰り返さない。
 本実施形態に係る学習装置は、例えば、ロボットに付属された又はロボットの構成要素であるグリッパによりターゲットとなる物体(以下、ターゲット物体と記載する)を把持する場合において、ターゲット物体をキャプチャするように備えられたカメラにより撮影された画像を利用し、物体を把持することが可能なグリッパの位置及び向きの情報を出力するモデルを学習しようとするものである。
 図1は、本実施形態に係る学習装置により学習された学習モデルを用いたロボットによる物体の把持システムである。把持システム1は、コンピュータ10と、コントローラ12と、ロボット14と、グリッパ16と、カメラ18と、を備える。
 コンピュータ10は、コントローラ12、グリッパ16及びカメラ18に接続され、把持システム1全体の制御を行うコンピュータであり、例えば、CPU(Central Processing Unit)、各種メモリ及びユーザインターフェースを有する。このコンピュータ10内に、学習装置により学習された学習モデルが格納されている。学習装置は、コンピュータ10内に搭載されていてもよい。また、学習をするため及び学習モデルに実測値を当てはめるための演算を行うGPU(Graphical Processing Unit)等のアクセラレータを搭載していてもよい。
 コントローラ12は、コンピュータ10からの信号を受信し、ロボット14を制御するための信号をロボット14へと送信する制御装置である。コンピュータ10から受信した信号をコントローラ12は、ロボット14を制御するための信号へと変換し、ロボット14に動作をさせるための信号を送信する。
 なお、このコントローラ12は、コンピュータ10内で信号の変換等を行う場合には省略可能である。さらには、コンピュータ10及びコントローラ12がロボット14に搭載されているものとしてもよい。すなわち、コンピュータ10、コントローラ12及びロボット14をまとめて一体のロボットとして構成してもよい。資源やコスト等その他の要因に基づいて、これらの構成は可変である。
 ロボット14は、物体を把持するグリッパ16を支持する筐体である。本実施形態の説明においては、ロボット14を主にグリッパ16の支持筐体として説明するが、これには限られず、他の機能を有し、他の用途に用いるものであってもよい。
 グリッパ16は、コンピュータ10からの把持可能な位置及び姿勢の情報を受信し、ターゲット物体を把持するための装置(把持手段)であり、例えば、3本の可動な爪部を備える把持装置である。爪部は、例えば、1又は複数の関節を有し、それぞれの関節ごとに操作できるように制御可能となっている。グリッパ16は、コンピュータ10、コントローラ12又はロボット14により制御される。すなわち、グリッパ16は、制御部により制御される。ターゲット物体を把持する場合には、コンピュータ10から受信した位置及び姿勢の情報に基づいて制御される。
 なお、グリッパ16の構成としては爪タイプだけではなく、スライドタイプやレバータイプであってもよいし、爪の本数も3本には限られず、2本又は4本以上であってもよい。このグリッパ16は、例えば、アーム(図示しない)を介してロボット14と物理的又は電気的に接続されていてもよい。
 また、グリッパ16は、コンピュータ10と接続されていなくてもよい。この場合、グリッパ16は、コントローラ12及びロボット14を介してターゲット物体を把持するための位置及び姿勢(3次元的な方向)の情報を取得するようにしてもよい。
 以下の説明において、グリッパ16の位置とは、グリッパ16の基準点に対する位置である。グリッパ16の基準点とは、グリッパ16に位置情報を与えた場合に、把持システム1内においてグリッパ16の位置を一意的に決定できるようにするための点である。例えば、3本の爪を有するグリッパである場合、これらの爪の初期位置(例えば、最も伸びている状態の位置)における爪の先の中心点(重心でもよい)をグリッパ16の基準点としてもよいし、これらの爪が設置されている点をグリッパ16の基準点としてもよい。または、ロボット14のアームとグリッパ16とが接続されている点をグリッパ16の基準点としてもよいし、これらには限られない。
 さらに、グリッパ16の位置を調整するには、ロボット14のアームの動作により調整する場合があるが、以下の説明においては、グリッパ16の位置及び姿勢の制御は、グリッパ16の位置又は姿勢の制御及びロボット14のアームの動作の制御を含む概念であるとする。
 カメラ18は、コンピュータ10と接続され、物体の画像を所定の位置及び方向から捕捉するためのキャプチャ装置である。このカメラ18は、例えば、物体を鉛直方向から撮影するRGB-Dカメラであり、所定の点を基準(以下、カメラ18の基準点と記載する)としたカメラ18の撮像面に対して水平な位置(x,y)における物体のRGB値と、物体の各位置(x,y)におけるカメラ18の撮像面に対して垂直な位置z(深度)とを捕捉する。
 カメラ18は、このように、物体が存在する位置(x,y,z)が捕捉可能な装置であれば、RGB-Dカメラには限られず、他の物体の3次元の位置を検知できるような検知装置であってもよい。例えば、2方向又は3方向から物体を捕捉するように複数のカメラを備え、物体の3次元の位置を捕捉できるような装置であってもよい。また、可視光を撮影するためのカメラではなく、物体を3次元で計測できるその他の検知装置であってもよい。
 なお、図1においてカメラ18は、コンピュータ10とのみ接続されているが、これには限られない。例えば、コンピュータ10に搭載されているものであってもよいし、ロボット14等に設置又は搭載されているものであってもよい。この場合、カメラ18は、直接コンピュータ10と接続されていてもよいし、ロボット14等を介してコンピュータ10と接続されていてもよい。
 カメラ18の基準点は、例えば、カメラ18の位置又はグリッパ16の初期位置とすることもできる。これには限られず、計測された物体において一意的に位置(x,y,z)を決定できる点をカメラ18の基準点としてもよい。この場合、原則的に、カメラ18は、把持システム1内において固定された位置にある。すなわち、教師データを撮影するシステムと、ターゲット物体を撮影するシステムは、同じシステムであることが望ましい。
 または、カメラ18は、例えば、ロボット14のアームにグリッパ16とともに接続され、又は、グリッパ16に取り付けられてもよい。併せて、カメラ18の基準点を、グリッパ16の基準点と同じとすることもできる。あるいは、別途把持システム1において一意的にカメラ18で撮影した物体の各点の位置が決定できる座標系となるように基準点を設定してもよい。この場合、例えば、把持システム1内における物体の存在する位置は、カメラ18の基準点に対するカメラ18の位置と、カメラ18により撮影された画像中における物体の各位置の座標に基づき算出されるものとしてもよい。
 なお、グリッパ16の基準点と、カメラ18の基準点は同じ点であるとしてもよい。この場合、把持システム1内における3次元座標を同じ座標系において扱うことが可能となる。また、グリッパ16等の姿勢は、これらの3次元座標系において、例えば、x-y平面上でx軸と平行である姿勢を基準であるとしてもよい。このように、グリッパ16等の位置及び姿勢は、把持システム1内で一意的に決定できるものであればどのようなものであってもよい。
 教師データを生成する画像を撮影するシステムと、ターゲット物体を把持するシステムは異なっていてもよい。この場合、ターゲット物体を把持するシステムにおいて、例えば、カメラ18と物体までの距離、及び、カメラ18の基準点とグリッパ16の基準点との相対的な位置関係が、教師データを生成する画像を撮影するシステムと同等であることが望ましい。それ以外の場合であっても、入力されたターゲット物体の画像における座標及び出力するグリッパ16の位置及び姿勢情報の補正を行うことにより本実施形態を適用することは可能である。
 カメラ18が把持システム1内において固定されている場合、一例として、カメラ18は、物体が設置される面の70cm×50cmの広さの平面が撮影されるように当該平面から鉛直方向に75cm離れた位置に設置される。これは一例であり、他の設置方法を除外するものではない。
 図2は、コンピュータ10の機能を示すブロック図の一例である。コンピュータ10は、例えば、入力部100と、教師データ生成部102と、学習部104と、推定部106と、出力部108とを備える。さらに、教師データを格納する教師データ格納部110と、教師データに基づいて学習した学習モデルを格納する学習モデル格納部112とを備える。CPU等の構成については、図示しない。図中の実線は学習フェーズにおけるデータの流れを示し、破線は把持情報の推定フェーズにおけるデータの流れを示す。
 入力部100を介して、コンピュータ10へデータ等が入力される。入力されるデータは、学習フェーズであれば、教師データとなるカメラ18において撮影された物体を把持する図3に示される教示ツール2の画像である。推定フェーズであれば、把持する目的となるターゲット物体の画像である。また、図示しないユーザインターフェースを介して、学習する旨のリクエストや把持情報の推定をするためのリクエストが入力される。
 教師データ生成部102は、入力部100を介してコンピュータ10に教示ツール2の画像が入力された場合に、入力された画像データを変換し教師データを生成する。入力された画像から教師データに備えられる3次元位置及び3次元姿勢への変換の詳細については、後述する。
 学習部104は、教師データ格納部110に格納されている教師データを用いて把持情報の推定のための学習モデルを生成する。学習部104は、ユーザからのリクエストにしたがい、この教師データ格納部110に格納されているデータに基づいて学習モデルを生成し、生成された学習モデルを学習モデル格納部112へと格納する。なお、学習部104は、学習中であるステータス状態や、学習が終了したという情報を出力部108に出力するようにしてもよい。
 推定部106は、ターゲット物体を把持するための位置及び姿勢の情報を学習モデルに基づいて推定する。例えば、入力部100を介して把持情報を推定するようなリクエストを受信すると、推定部106は、学習モデル格納部112に格納されている学習モデルに基づいて、入力されたターゲット物体の画像についてグリッパ16が当該ターゲット物体を把持することが可能である位置(3次元位置)及び姿勢(3次元方向)の情報を推定する。推定された情報は、例えば、出力部108に表示するようにしてもよいし、出力部108を介してロボット14あるいはグリッパ16へと送信されてもよい。
 なお、推定部106が推定した情報を新たな教師データとしてフィードバックすることもできる。一点鎖線で示された矢印のように、推定部106において推定された情報と、実際にグリッパ16がターゲット物体を把持できたか否かの情報又はユーザが情報を確認してターゲット物体が把持可能であるかどうかを予測した結果を教師データとして、教師データ格納部110へと出力してもよい。
 図2においては、学習部104と推定部106が同じコンピュータ10内にあるとして説明したが、これには限られない。すなわち、共通した学習モデル格納部112に基づいて、別々のコンピュータ内に学習部104と推定部106が備えられていてもよい。さらに、教師データ格納部110及び学習モデル格納部112は、コンピュータ10内に備えられていなくてもよく、例えば、ネットワークを介したデータベースサーバ等を備え当該データベースサーバ内に備えられていてもよい。
 図2に示すような構成である場合、コンピュータ10は、グリッパ16がターゲット物体を把持可能な位置及び姿勢情報を取得するための学習モデルを最適化する学習装置であるとともに、当該学習モデルに基づいてグリッパ16がターゲット物体を把持可能な位置及び姿勢情報を推定する推定装置でもある。
 図3は、本実施形態に係る学習モデルを作成するために用いる教示ツール2の例を示す図である。教示ツール2は、教示ツール本体20と、マーカ22とを備える。
 教示ツール本体20は、教師データを作成する際に人間が操作するツールであり、この教示ツール本体20により物体を把持することにより、物体を把持することが可能な教示ツール2の位置及び姿勢を教師データとして蓄積することが可能となる。
 マーカ22は、教示ツール本体20に固定されているマーカである。カメラ18により撮影された教示ツール2の位置は、教示ツール本体20の位置を抽出することにより求めることが可能であるが、教示ツール2の姿勢は教示ツール本体20の画像を取得するだけでは抽出することが困難であることが多い。
 そこで、マーカ22を教示ツール本体20へと固定することにより、画像からマーカ22を検出し、マーカ22の3次元空間における位置(x,y,z)又は姿勢(R,P,Y)を推定することにより、教示ツール2の姿勢を推定することが可能となる。なお、図3においてマーカ22は、3つの異なるものから構成されているが、これには限られず、読み取りの精度を確保できるものであれば1つ又は2つのマーカにより構成されるものであってもよい。精度を高めるために、教示ツール本体20の長手方向及び短手方向の2本のベクトルを基底とした方向を検出するようにしてもよい。
 また、マーカ22を用いることには限られず、例えば、3軸センサ、6軸センサ、光、電波、音波等を用いて教示ツール2の位置又は姿勢を抽出するようにしてもよい。さらに、上記では教師データとして把持可能なデータを取得するものとしたが、これには限られず、教示ツール2を用いて把持できないデータをも収集するようにしてもよい。このようにすることにより、ポジティブデータのみならずネガティブデータを用いた学習を行うことも可能となる。
 教示ツール基準点24は、教示ツール2の位置及び姿勢の基準となる点である。教示ツール2の3次元の位置(x,y,z)は、この教示ツール基準点24の位置を基準として計測される。例えば、教示ツール2の位置は、教師データ生成部102がマーカ22の位置に基づいて、教示ツール基準点24の位置を求めることにより決定される。より単純には、教示ツール2の2つの端点の中心の位置を教示ツール2の位置(x,y)としてもよい。位置zについては、カメラ18がRGB-Dカメラである場合には、その計測結果から求めるものとしてもよい。
 なお、教示ツール2の位置は、把持システム1内で一意的に決定できるように表現されるものであればよい。例えば、上述したグリッパ16の基準点に対する教示ツール基準点24の位置を相対的に表したものでもよいし、カメラ18の基準点に対する教示ツール基準点24の位置を相対的に表したものでもよい。
 教示ツール2の姿勢は、マーカ22を読み取ることにより検出される。すなわち、教示ツール基準点24を中心に教示ツール本体20の長手方向を基準として、ロール角R、ピッチ角P及びヨー角Yとして姿勢(R,P,Y)が検出される。例えば、教示ツール本体20の長手方向に対して短手方向がどれだけ傾いているか(R)、長手方向が水平方向からどれだけ傾いているか(P)、長手方向と短手方向が水平面状でどれだけ回転しているか(Y)により検出される。この際、教師データ生成部102により、例えば、水平面上の所定の姿勢で設置された状態の教示ツール2の3次元方向を基準とし、透視変換行列を求めることによりマーカ22の各方向への傾きを算出することにより、カメラ18が撮影した教示ツール2の画像の情報が姿勢情報へと変換される。
 次に、各フェーズにおける動作について説明する。まず、グリッパ16がターゲット物体を把持できる位置及び姿勢の情報を推定するための学習モデルについて説明する。
 図4は、本実施形態における学習モデルの一例を示す図である。この図4に示すように、学習モデルは、FCN(Fully Convolutional Network)により構成される。FCNとは、畳み込みネットワーク(以下CNN:Convolutional Neural Networkと記載する)の一種であり、全ての層間の演算が畳み込み演算で行われる学習のことを言う。すなわち、プーリング層及び全結合となる層間が存在しないネットワークである。FCNを利用することにより、構成が複雑でなく、計算コストが低いネットワークを構成することが可能となる。なお、学習モデルは、FCNに限られず、他のネットワークを利用してもよい。
 この学習モデルは、入力画像として、200×200ピクセルのRGBの3枚の画像と、デプスマップの1枚の画像が入力されると、把持可能であると予測された位置マップ(PLM:Predicted Location Map)と、姿勢・深度マップ(PCM:Predicted Configuration Map)が出力される。PLM及びPCMは、カメラ18で撮影されたピクセルごとに把持可能か否かを示す情報である。
 より具体的には、PLMは、2次元位置(x,y)にグリッパ16が存在する場合にターゲット物体を把持できる可能性があるか否かを示すマップである。例えば、PLMの各ピクセルは、そのピクセルに対応する位置(x,y)にグリッパ16が存在すればターゲット物体が把持可能である場合には1に近い値、そうでない場合には0.5に近い値又は0.5以下の値であるようなマップである。後述するように、出力されるPLM及びPCMのデータが、シグモイド関数を介して(0,1)の領域になるためである。
 PCMは、深度及び姿勢(z,R,P,Y)にグリッパ16を操作すればターゲット物体を把持できる可能性があるという深度及び姿勢の4次元の情報を2次元位置(x,y)にマッピングしたものである。このPCMは、具体的には、以下のように生成される。まず、カメラ18において検知されたデータのうち、実際に把持可能な当該4次元の情報を、例えば、300通りにクラスタリングし、教師データとして準備する。PCMは、推定されたグリッパ16の深度及び姿勢の4次元の情報をこのクラスタリングされた教師データを参照することにより、教師データ毎、すなわちクラスタリングされた各々の深度及び姿勢で実際に把持できる可能性がある2次元位置(x,y)をマッピングしたものである。
 ターゲット物体に対してグリッパ16が当該ターゲット物体を把持できる可能性のある当該4次元の情報は、ほぼ無限通りあるため、これらを緩和するために深度及び姿勢の組合せを上記の300通りにクラスタリングした結果を用いる。このクラスタリングには、一例として、k-means法が用いられるが、他の一般的なクラスタリング手法を用いてもよい。なお、本実施形態においては、物体を把持できない場合の教師データを含めて、301通りの教師データを使用することによりPCMを生成する。
 図4における各層についての説明をする。各層の上方に記載しているS1又はS2は、当該層への畳み込み時におけるストライドを表す。S1であれば、ストライドが1であることを示し、S2であれば、ストライドが2であることを示す。ここでは、一例として、S1で表される層には、3×3のコンボリューションカーネルを用い、S2で表される層には、4×4のコンボリューションカーネルを用いる。各層の下方に記載している16、32、64、302の数字は、各層のチャネル数を示す。
 一番左の層は、入力層であり、200×200(ピクセル)×4(チャネル)の物体が撮影されたデータが入力される。次の層(以下、入力層及び出力層を除き、左から順に、第1層、第2層、・・・とする。)は、この入力層に入力された4チャネルのデータと3×3サイズのカーネルとを畳み込み演算し、16チャネルの同じサイズのデータを生成する。すなわち、第1層は、200×200×16の層となる。畳み込み時のパディングは、1とする。Chainer(登録商標)の擬似コードで表すと、
 layer1 = chainer.functions.Convolution2d(4, 16, 3, stride=1, pad=1)(input)
としたものである。
 より具体的には、入力画像の各チャネルに対して16通りの3×3サイズのカーネルを用いて畳み込み演算を行い16チャネルの第1層のデータを生成する。すなわち、1つのカーネルのセットとしてR(Red)、G(Green)、B(Blue)、D(Depth)画像用のカーネルが存在し、入力画像の各チャネルに対してそれぞれのチャネルに対応するカーネルを畳み込み積分する。そして、畳み込み積分した結果を1つの画像として合成する。
 合成は、例えば、所定の重み付けにより各チャネルの画像を荷重加算することにより実行される。重み付けの係数を各カーネルに含むこともでき、この場合、各チャネルを対応するカーネルで畳み込んだ後に、各チャネルの出力を加算することにより出力のチャネルが生成される。16通りのこのようなカーネルのセットを入力画像に適用することにより、4チャネルから16チャネルへの変換が行われる。
 さらに、最終層(第11層)を除く全ての層において、畳み込み演算後に、バッチ正規化を行い、活性化関数としてReLU(Rectified Linear Unit)を適用する。ここで、バッチ正規化とは、各チャネルの平均が0、分散が1となるように正規化をする処理を示す。ReLUとは、データ中の負値を0とする変換を示す。擬似コードで表すと、
 layer1 = chainer.functions.relu(chainer.functions.BatchNormalization(layer1))
としたものである。
 第2層は、第1層と4×4サイズのカーネルとを畳み込み演算し、チャネル数を32とした、100×100×32のデータの層である。同様に擬似コードで表すと、
 layer2 = chainer.functions.Convolution2d(16, 32, 4, stride=2, pad=1)(layer1)
としたものである。ダウンサンプリングは、25×25×64の第6層まで、3×3サイズのカーネルによるストライド1の畳み込み(サイズ変更なし)と、4×4サイズのカーネルによるストライド2の畳み込み(ダウンサンプリング)とを交互に行うことにより実行される。さらに、上記と同様に、
 layer2 = chainer.functions.relu(chainer.functions.BatchNormalization(layer2))
として正規化及び活性化を行う。
 その後、アップサンプリングの過程に移行する。アップサンプリングは、ダウンサンプリングの逆の操作を行うことにより実行される。例えば、第7層は、
 layer7 = chainer.functions.Deconvolution2d(64, 64, 4, stride=2, pad=1)(layer6)
と表される。そして、200×200×16のサイズである第11層まで、ダウンサンプリングと逆の操作を行うことにより、アップサンプリングが実行される。アップサンプリングの過程においても同様に正規化及び活性化が実行され、例えば、
 layer7 = chainer.functions.relu(chainer.functions.BatchNormalization(layer7))
と表される。
 最終層では、上記の活性化の代わりに、シグモイド関数を用いて活性化を行う。そして、ターゲット物体が把持可能である位置及び姿勢の情報をクラスタリングした結果を教師データとして入力しておくことにより、最終層において得られた結果をターゲット物体が把持可能な6次元の位置及び姿勢情報(x,y,z,R,P,Y)をネットワークが推定し、出力層へと出力する。例えば、PLMとして200×200×1の(x,y)データが出力され、PCMとして把持可能な200×200×300のデータ及び把持不可能な200×200×1のデータとを合わせた計200×200×301の(z,R,P,Y)データが出力される。
 最終層においてPCMは、例えば、図4の最下段に示されるような画像として出力される。この画像は、クラスタリングされた各教師データに対して、当該教師データが示す深度及び姿勢において、ターゲット物体が把持可能である2次元位置(x,y)を示すマッピングデータである。各教師データに対するマッピングデータに対して、例えば、それぞれ別の色により彩色したものを1枚のPCMを示す画像として合成して出力してもよい。これらの画像を1枚の画像に合成する場合、各位置(x,y)に対して、最も高い出力値を有するクラスタを示す色で彩色してもよい。一方、PLMは、1チャネルの出力であるので、例えば、最終層から出力された値をグレースケールや他の彩色によるスケール方法により画像に変換して出力してもよい。
 なお、上記の学習モデルは、一例として示したものであり、他のネットワークによる学習及び最適化を行ってもよい。例えば、一般的なCNNのように、プーリング層や全結合層を含むネットワークによる学習を行ってもよい。
 次に、当該学習モデルを生成する学習フェーズについて説明する。図5は、本実施形態における学習処理を示すフローチャートである。
 まず、カメラ18により撮影された物体及び教示ツール2の画像データを収集する(ステップS10)。この画像データは、カメラ18を介し、教示ツール2を用いて複数の物体のそれぞれいついて、把持可能な複数の位置及び姿勢を入力することにより取得する。教師データへの変換用の画像データとして、複数の物体のそれぞれについて、複数の把持位置及び把持姿勢を入力する。取得された教師データは、入力部100を介して教師データ生成部102へと入力される。
 一例として、物体の数が7である場合、各物体を12の任意の位置及び任意の姿勢に配置し、各配置に対して100の把持可能な位置及び姿勢を設定すると、各物体に対して12×100=1200通りの画像データが収集され、全体としてとして、7×12×100=8400通りの画像データが収集される。
 次に、取得された各画像データについて、教師データへの変換処理を行う(ステップS11)。教師データ生成部102は、入力された画像データを変換し、教師データを生成する。生成された教師データは、教師データ格納部110へと格納される。また、例えば、上記のように大量のデータを取得した場合、出力されるターゲット物体を把持可能な位置及び姿勢の情報は、ほぼ無限通りとなってしまう。そこで、教師データ生成部102は、教示ツール2が物体を把持可能な位置(z)及び姿勢(R,P,Y)の4次元の情報をk-means等のクラスタリング手法を用いて、例えば、300通りの把持可能な位置及び姿勢の情報へと分類する。これらのクラスタリングの結果も、教師データ格納部110に格納されてもよい。
 1セットの教師データは、4次元(例えば、R,G,B,D)の物体の画像と、6次元(例えば、x,y,z,R,P,Y)の当該物体を把持可能な位置及び姿勢の情報と、が紐付けられたデータを備えるデータである。すなわち、複数の物体に対して、それぞれ複数セットの上記の教師データを備えるデータが教師データ格納部110に格納される。
 次に、学習を行う(ステップS12)。学習の最適化には、例えば、Adam(Adaptive Moment Estimation)を用いる。Adamを用いる場合の学習パラメータとして、α=0.0004、バッチサイズを80等としてもよい。なお、学習の最適化手法は、Adamには限られず、NAG、Adagrad、RMSprop、Adadelta等、他の最適化手法を用いてもよい。また、学習する際の初期値を求めるために事前学習をしてもよい。事前学習は、例えば、VGG16モデルを用いて実行されてもよい。
 また、オーバーフィッティングを抑制するために、Label-preserving transformationの手法により、人工的にデータを生成してもよい。この手法は、例えば、把持可能であるとラベリングされたデータに対して、局所的に変更を加えた人工的なデータを作成し、当該データも把持可能な位置及び姿勢の情報であると仮定する手法である。
 例えば、グリッパ16の位置及び姿勢が近い2つの教師データがある場合、これらのデータの中間にある位置及び姿勢の情報は、把持可能である位置及び姿勢の情報であると仮定して、新たな教師データを生成する。このようにすることにより、例えば、上述した8400通りのデータを3倍ほどに増強してもよい。このようにサンプルを補強することにより、例えば、ある位置及び姿勢の情報において把持可能であるが、当該位置及び姿勢の情報からロール角のみを微少にずらした場合に把持不可能であるように判定されるようなオーバーフィッティングを起こす可能性を抑制することが可能となる。
 学習においては、例えば、以下の評価関数を用いて学習モデルの最適化を行う。具体的には、下記の評価関数を用いて教師あり学習を行い、例えば、各層間において畳み込みに使用されるカーネルの最適化を行う。なお、下記において、出力される画像は上述したようにシグモイド関数の出力となるので、出力画像の画素値が0及び1になることはない。
 PLMの評価関数として
Figure JPOXMLDOC01-appb-M000001
 ここで、aは、倍率、nは、学習データの総数、W/Hは、それぞれ学習に用いる画像の幅/高さ、tは、ターゲットとなるPLM、yは、出力を示す。倍率aは、例えば、200である。
 PCMの評価関数として
Figure JPOXMLDOC01-appb-M000002
 ここで、Cは、クラス数、Sは、t (i,j)=1となるピクセルの総数、uは、ターゲットとなるPCM、yは、出力を示す。
 学習は、PCMの評価関数とPLMの評価関数とで表される評価関数L=LPLM+λLPCMを用いてバックプロパゲーションにより学習モデルを最適化することにより実行される。ここで、λは、例えば、200である。このような学習を行うことにより、例えば、畳み込みを行う各カーネルを最適化する。なお、評価関数は、PLM及びPCMを評価可能な関数であればよく、上記のものには限られない。また、学習フェーズにおいて、教師データを2グループに分け、クロスバリデーションを行ってもよい。学習された学習モデルは、学習モデル格納部112へと格納される。
 上記のような学習を行うことにより、図4に示す学習モデルが生成される。次に、ターゲット物体の画像が撮影された場合における把持可能位置及び姿勢の情報の推定フェーズについて説明する。図6は、本実施形態における推定処理を示すフローチャートである。
 まず、推定部106は、入力部100を介してカメラ18により撮影されたターゲット物体の画像を取得する(ステップS20)。この画像は、カメラ18がRGB-Dカメラである場合、平面上に示されたR、G、Bの各色の成分の画像と、撮影された画像中におけるそれぞれの深度を示す画像とが取得される。
 次に、推定部106は、学習モデル格納部112に格納されている学習モデルにステップS20で取得された画像を入力画像として入力し、当該ターゲット物体を把持することが可能なグリッパ16の位置及び姿勢を示すPLM及びPCMを取得する(ステップS21)。カメラ18により取得されたターゲット物体の画像は、図4に示す一番左の入力層に入力される。画像が入力された畳み込みネットワークを備える学習モデルにより、当該ターゲット物体に対するPCMとPLMが出力される。
 なお、PCMとPLMの出力は、図4に示すように画像として出力部108を介して出力するようにしてもよい。PLMの画像は、グリッパ16がターゲット物体を把持できる可能性が高いグリッパ16の位置を点の集合として出力する。PCMは、各点におけるグリッパの深度(カメラ18からの鉛直方向の距離)及び姿勢の4次元データ(z,R,P,Y)を300通りにクラスタリングした結果と照合し、画像として出力される。例えば、上述したように、画像上において、それぞれのクラスが異なる色として出力される。
 次に、推定部106は、学習モデルにより出力された把持可能なグリッパ16の深度及び姿勢のデータからスコアの高い情報を選択し、出力部108を介して当該情報を出力する(ステップS22)。スコアとして、例えば、出力されたPLM及びPCMのマップ自体を参照する。
 次に、出力部108を介してコンピュータ10から把持可能な位置及び姿勢の情報を受信したグリッパ16を操作することにより、ロボット14は、グリッパ16を用いてターゲット物体を把持することができる(ステップS23)。
 図7Aは、ターゲット物体の一例である。この図7Aに示すように、ターゲット物体は、例えば、ボトルである。図7B及び図7Cは、上述した学習モデルにより推定されたターゲット物体の把持位置及び姿勢を示す図である。これらの図においては、7種類の教師データ用の物体を用いて学習モデルを最適化し、教師データ用の物体として用いられなかったターゲット物体を当該学習モデルに適用した例である。
 図7Bは、ターゲット物体を把持する位置及び姿勢を上面から示したものであり、図7Cは、図7BのA-A’断面図である。これら図7B及び図7Cにおいて、実線は、最もスコアが高い把持可能な位置及び姿勢の情報に基づいて、グリッパ16の位置及び姿勢を示すものであり、続いて、破線、一点鎖線の順でスコアが高いものを示す。
 最もスコアの高い把持可能な位置及び姿勢の情報に基づいた位置及び姿勢であるとき、グリッパ16は、ターゲット物体を把持することが可能であることがこれらの図から読み取ることができる。すなわち、図7Bに示す水平方向及び図7Cに示す鉛直方向の位置にグリッパ16が位置しており、それぞれの図において、ターゲット物体を挟むようにグリッパ16の姿勢が設定されていることを読み取ることができる。破線、一点鎖線についても同様に、ターゲット物体が把持可能であることを読み取ることができる。
 なお、図7B及び図7Cに示される例においては、スコアとして、まず、PLMの出力値が最も高い点(x,y)を抽出し、当該点(x,y)におけるPCMのスコアが高い順に3つの把持可能な位置及び姿勢の情報を図示している。把持可能な位置及び姿勢の抽出は、これには限られず、PLMとPCMの出力値とを所定の評価関数により評価することにより抽出するようにしてもよい。例えば、単純にPLM及びPCMの出力値の積が最も高い位置及び姿勢を出力するようにしてもよいし、所定の重み付けによるPLM及びPCMの加重平均の値が最も高い位置及び姿勢を出力するようにしてもよい。
 以上のように、本実施形態によれば、多次元、例えば、6次元の教師データに基づき最適化した学習モデルを用いることにより、自由度の高い、言い換えると、多次元の自由度に適応した把持可能な位置及び姿勢の情報を推定することが可能となる。上述した実施形態においては、6次元であるとしたが、例えば、グリッパ16の爪の関節における曲がり具合や、爪同士の距離等、他のパラメータに基づいた教師データを用いることにより、より高次元の自由度に対しても把持可能な状態を示す情報を推定可能である。このように自由度を高次元とすることにより、様々な形状の把持手段を利用する場合においても、本実施形態に係る学習方法を採用することが可能となる。
 例えば、グリッパ16の関節の動きを学習し、把持可能な情報として出力させる場合、教示ツールをグリッパ16の形状に合わせて変形してもよい。例えば、教示ツールの爪部分において1又は複数の関節を有するようにし、関節の動きをもカメラ18により撮影し、教師データとすることも可能である。別の例として、グリッパ16の爪同士の距離を限定したい場合、教示ツールの爪同士の距離をグリッパ16の爪同士の距離と同等にするようにしてもよい。また、グリッパ16の姿勢の自由度が、例えば、2であるような場合、これらの爪同士の距離や、爪の長さ等の別の自由度を追加し6次元以上の自由度として学習し、把持可能データを出力するようにしてもよい。このように、本実施形態における学習装置は、6次元以上の自由度の学習を行い、データの推定をすることを可能とする。
 教師データの作成手法としては、上述した実施形態のようにグリッパ16とは異なる形状の教示ツール2を用いてもよいし、別の例として、グリッパ16と同じ形状の教示ツールを用いることもできる。この場合、教示ツール2とグリッパ16との形状の誤差を無くす、又は、小さくすることが可能となり、教師データにおいて教示ツール2では把持できるが、実際のグリッパ16では把持できないといった問題を回避することが可能となる。このようなグリッパ16と同形状の教示ツールを用いる場合、人間がロボット14を実際にロボット14の操作系統を用いて操作することにより教師データを収集するようにしてもよい。
 さらには、協働ロボットのように、人間が外部から物理的な力を与えることにより変形可能なロボットを用いて、教示ツールとしてのグリッパ16を実際に物体が把持できる位置及び姿勢まで動かし、当該位置及び姿勢の状態を教師データとするようにしてもよい。この場合、教示ツールであるグリッパ16の位置及び姿勢は、上述した実施形態と同様に、カメラ18で撮影されたものに基づいて取得するようにしてもよい。また、ロボット14を介してグリッパ16の位置及び姿勢の情報が取得できる場合には、カメラ18でグリッパ16の撮影をすることのみならず、カメラ18は物体の撮影を行い、把持可能な位置及び姿勢の情報は、ロボット14を介して取得し、当該物体の画像情報と把持可能な位置及び姿勢の情報とを紐付けて教師データとするようにしてもよい。
 さらにまた、教師データを取得する場合に、実際の物体を把持するのではなく、物体の情報をカメラ18で取り込み、VR(Virtual Reality)技術やAR(Augmented Reality)技術を用いて物体を仮想的又は拡張的に定義し、人間が教示ツール2又はグリッパ16を操作し、当該仮想的物体又は当該拡張的な物体を把持できる位置及び姿勢の情報を取得するようにしてもよい。このようにすることにより、教師データを取得するための教示用の慣用構築のコストの削減を可能とするとともに、同一の物体の状況に複数人が教示を行うことを容易にすることから、主観による教示の偏りを抑制することができる。
 さらに、本実施形態においては、学習モデルにより推定された位置及び姿勢の情報を画像として出力することにより、カメラ18により撮影されたターゲット物体について自動的に把持可能な位置及び姿勢の情報を推定した後に、ユーザが出力された候補から容易に把持可能である位置及び姿勢の情報を選択することが可能となる。
 また、本実施形態においては、FCNに基づいた学習モデルであるので、高速に演算を行うことが可能であり、特に学習フェーズにおいての時間的なコストを削減することが可能となる。これは、例えば、推定された位置及び姿勢の情報に対して実際に把持可能であったか否かを新たな教師データとする場合などにおいても有効である。
 本実施形態に係る把持システム1は、例えば、物流倉庫における商品のピッキングや、工場におけるピッキング等、大量及びまたは多品種の物体をピッキングする際に用いられてもよい。また、例えば、クリーンルーム内における物体のピッキング等、ユーザが物体に近づくことが困難な場合又はユーザが物体に近づくことが望まれない場合において、遠隔操作をする際に用いられてもよい。さらに、ロボット14が道具を使用して作業をする場合において、当該道具を把持するために応用されてもよい。
 なお、上述した実施形態の説明において、垂直、水平、鉛直等の方向を示す単語を用いたが、これらは把持システム1内において相対的に決定できる方向であればどのように定義してもよい。例えば、カメラ18を把持システム1内において重力に対して水平な方向を撮影するようにしてもよく、この場合、一例として、x軸をカメラ18の撮影面に平行であり且つ重力方向に対して水平な軸と定義し、y軸を撮影面に平行であり且つx軸と垂直な軸と定義し、z軸をカメラ18の撮影面と垂直な軸と定義してもよい。さらには、把持システム1内における3次元の位置が一意的に決定できる一次独立な軸であれば、各軸は、厳密な意味で直交している必要も無い。
 座標系についても、実装するシチュエーションに合わせて直交座標系に限られず、他の座標系、例えば、円柱座標系等を用いることもできる。姿勢についても同様であり、把持システム1内において一意的に決定できるものであれば、上述したR,P,Yには限られず、例えば、オイラー角、又は、偏角や方向余弦を用いて表されるものであってもよい。このように、3次元位置及び3次元姿勢により一意的に教示ツール2及びグリッパ16の位置及び姿勢が決定できるものであればどのようなものでもよく、システムの設計において使用しやすいものを選択することが可能である。
 上記の全ての記載において、把持システム1の少なくとも一部はハードウェアで構成されていてもよいし、ソフトウェアで構成され、ソフトウェアの情報処理によりCPU等が実施をしてもよい。ソフトウェアで構成される場合には、把持システム1及びその少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD-ROM等の記憶媒体に収納し、コンピュータに読み込ませて実行させるものであってもよい。記憶媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記憶媒体であってもよい。すなわち、ソフトウェアによる情報処理がハードウェア資源を用いて具体的に実装されるものであってもよい。さらに、ソフトウェアによる処理は、デジタル回路、アナログ回路、又は、FPGA(Field-Programmable Gate Array)等の回路に実装され、ハードウェアが実行するものであってもよい。制御回路を備え、一部又は全ての機能はこれらの回路により制御されてもよい。学習モデルの生成や、学習モデルに入力をした後の処理は、例えば、GPU等のアクセラレータを使用して行ってもよい。
 また、本実施形態に係る学習モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとして利用することが可能である。すなわち、コンピュータ10のCPUが学習モデル格納部112に格納されているモデルに基づいて、畳み込みネットワークの入力層に入力されたカメラ18により撮影された画像データに対して演算を行い、当該畳み込みネットワークの出力層から結果を出力するように動作する。
 上記の全ての記載に基づいて、本発明の追加、効果又は種々の変形を当業者であれば想到できるかもしれないが、本発明の態様は、上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更及び部分的削除が可能である。
1:把持システム
10:コンピュータ
100:入力部
102:教師データ生成部
104:学習部
106:推定部
108:出力部
110:教師データ格納部
112:学習モデル格納部
12:コントローラ
14:ロボット
16:グリッパ
18:カメラ
2:教示ツール
20:教示ツール本体
22:マーカ
24:教示ツール基準点

Claims (13)

  1.  物体の存在する位置と、当該物体を把持している教示ツールの情報を検知する、検知手段と、
     前記検知手段により検知された前記教示ツールの情報を前記教示ツールの位置及び姿勢の情報へと変換し、前記物体の存在する位置情報と当該物体を把持している前記教示ツールの位置及び姿勢の情報とを紐付けたデータである教師データを生成する、教師データ生成手段と
     複数の層を備えるニューラルネットワークモデルで表される学習モデルであって、前記検知手段を介してターゲット物体の存在する位置情報が入力されると、前記ターゲット物体を把持可能な把持手段の位置及び姿勢の情報を出力する学習モデルを、前記教師データを用いて学習する、学習部と、
     を備える学習装置。
  2.  前記検知手段は、少なくとも物体の存在する位置及び前記教示ツールの位置を3次元データとして検知し、
     前記教師データは、少なくとも前記教示ツールの3次元の位置情報を含む6次元以上の自由度のデータを備えるデータである、
     請求項1に記載の学習装置。
  3.  前記学習モデルは、畳み込みニューラルネットワークモデルである請求項2に記載の学習装置。
  4.  前記学習モデルは、各層間に全結合層が存在せず、全ての層間が畳み込み演算により接続される畳み込みニューラルネットワークモデルである請求項3に記載の学習装置。
  5.  前記検知手段は、物体の存在する位置及び前記教示ツールの位置を3次元データとして検知し、
     前記教師データに含まれる前記教示ツールの位置は、所定の基準点に対する前記教示ツールの垂直位置及び2次元で表した水平位置の3次元で表された位置であり、
     前記教師データに含まれる前記教示ツールの姿勢は、所定の基準姿勢に対する前記教示ツールのロール角、ピッチ角及びヨー角の3次元で表された姿勢であり、
     前記教師データは、物体の存在する位置と、教示ツールが当該物体を把持することができる前記3次元で表された位置及び前記3次元で表された姿勢のデータである6次元データと、を備え、
     前記学習モデルが出力する前記把持手段の位置及び姿勢のデータは、前記把持手段の前記3次元で表された位置及び前記3次元で表された姿勢である、
     請求項2乃至請求項4のいずれかに記載の学習装置。
  6.  前記教師データのうち前記6次元データとして、前記検知手段が検知した前記教示ツールに設置されたマーカの情報に基づいて取得する、教師データ生成部をさらに備える請求項5に記載の学習装置。
  7.  前記学習部は、前記教示ツールが物体を把持することができる複数の位置及び姿勢の情報のうち、前記検知手段が検知した当該物体までの深度情報及び前記教示ツールの姿勢情報に基づいた複数の情報をクラスタリングした情報を教師データとして用いる請求項5に記載の学習装置。
  8.  物体の存在する位置を検知する、検知手段と、
     前記物体を把持する、把持手段と、
     複数の層を備えるニューラルネットワークモデルで表される学習モデルであって、物体の存在する位置情報が入力されると、前記物体を把持可能な前記把持手段の位置及び姿勢の情報を出力する学習モデルを記憶する、記憶部と、
     前記学習モデルに、前記検知手段により検知された物体の存在する位置情報を入力し、前記把持手段が前記物体を把持可能な位置及び姿勢の情報を推定する、推定部と、
     を備える、推定装置。
  9.  前記推定部が推定した前記把持手段が前記物体を把持可能な位置及び姿勢の情報を、画像として出力する、出力部、
     をさらに備える請求項8に記載の推定装置。
  10.  前記出力部が出力する画像は、
     前記把持手段が前記物体を把持可能な2次元位置情報であって、前記検知手段の検知面に対して平行な平面における位置を示す2次元位置情報を示す画像と、
     前記把持手段が前記ターゲット物体を把持可能な3次元姿勢情報及び前記検知手段の検知面に対して垂直方向である深度情報を示す画像と、
     の2つの画像を備える画像である請求項9に記載の推定装置。
  11.  請求項8乃至請求項10のいずれかに記載の推定装置と、
     前記所定の基準点及び前記所定の基準姿勢に対する前記推定部が推定した前記位置及び姿勢の情報に基づいた位置及び姿勢へと前記把持手段を制御し、前記把持手段に前記物体を把持させる、制御部と、
     を備える把持システム。
  12.  検知手段が、物体の存在する位置と、当該物体を把持している教示ツールの情報を検知するステップと、
     教師データ生成手段が、前記検知手段により検知された前記教示ツールの存在する位置情報を前記教示ツールの位置及び姿勢の情報へと変換し、前記物体の存在する位置情報と当該物体を把持している前記教示ツールの位置及び姿勢の情報とを紐付けたデータである教師データを生成するステップと、
     学習部が、複数の層を備えるニューラルネットワークモデルで表される学習モデルであって、前記検知手段を介してターゲット物体の存在する位置情報が入力されると、前記ターゲット物体を把持可能な把持手段の位置及び姿勢の情報を出力する学習モデルを、前記教師データを用いて学習するステップと、
     を備える学習方法。
  13.  検知手段が検知した、物体の存在する位置と、当該物体を把持している教示ツールの情報に基づいて、教師データ生成手段が生成した前記物体の存在する位置情報と、当該物体を把持している前記教示ツールの位置及び姿勢の情報と、を紐付けたデータである教師データに基づいて、学習手段により学習された複数の層を備えるニューラルネットワークモデルで表される学習モデルであって、
     前記検知手段を介してターゲット物体の存在する位置情報が入力されると、前記複数の層間において学習結果に基づいた演算を行い、前記ターゲット物体を把持可能な把持手段の位置及び姿勢の情報を出力するようにコンピュータを機能させる学習モデル。
PCT/JP2018/020816 2017-05-31 2018-05-30 学習装置、学習方法、学習モデル、推定装置及び把持システム WO2018221614A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP18809575.6A EP3633610A4 (en) 2017-05-31 2018-05-30 LEARNING DEVICE, LEARNING METHOD, LEARNING MODEL, APPRAISAL DEVICE AND GRIPPING SYSTEM
CN201880035634.7A CN110692082B (zh) 2017-05-31 2018-05-30 学习装置、学习方法、学习模型、推算装置以及夹持系统
US16/698,177 US11034018B2 (en) 2017-05-31 2019-11-27 Learning device, learning method, learning model, detection device and grasping system
US17/326,250 US11565407B2 (en) 2017-05-31 2021-05-20 Learning device, learning method, learning model, detection device and grasping system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017108550A JP6546618B2 (ja) 2017-05-31 2017-05-31 学習装置、学習方法、学習モデル、検出装置及び把持システム
JP2017-108550 2017-05-31

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/698,177 Continuation US11034018B2 (en) 2017-05-31 2019-11-27 Learning device, learning method, learning model, detection device and grasping system

Publications (1)

Publication Number Publication Date
WO2018221614A1 true WO2018221614A1 (ja) 2018-12-06

Family

ID=64455443

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/020816 WO2018221614A1 (ja) 2017-05-31 2018-05-30 学習装置、学習方法、学習モデル、推定装置及び把持システム

Country Status (5)

Country Link
US (2) US11034018B2 (ja)
EP (1) EP3633610A4 (ja)
JP (1) JP6546618B2 (ja)
CN (1) CN110692082B (ja)
WO (1) WO2018221614A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111553949A (zh) * 2020-04-30 2020-08-18 张辉 基于单帧rgb-d图像深度学习对不规则工件的定位抓取方法
WO2020166401A1 (ja) * 2019-02-14 2020-08-20 日本電信電話株式会社 学習データ生成装置、方法及びプログラム
JP2021517681A (ja) * 2018-12-12 2021-07-26 達闥机器人有限公司 ロボットの目標物体把持位置の検出方法

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11007648B2 (en) * 2017-09-05 2021-05-18 Abb Schweiz Ag Robotic system for grasping objects
JP6695843B2 (ja) 2017-09-25 2020-05-20 ファナック株式会社 装置、及びロボットシステム
JP6911798B2 (ja) * 2018-03-15 2021-07-28 オムロン株式会社 ロボットの動作制御装置
JP2020069144A (ja) * 2018-10-31 2020-05-07 株式会社三洋物産 遊技機
JP2020069145A (ja) * 2018-10-31 2020-05-07 株式会社三洋物産 遊技機
JP2020093012A (ja) * 2018-12-15 2020-06-18 株式会社三洋物産 遊技機
JP2020093009A (ja) * 2018-12-15 2020-06-18 株式会社三洋物産 遊技機
JP2020093020A (ja) * 2018-12-15 2020-06-18 株式会社三洋物産 遊技機
JP2020093019A (ja) * 2018-12-15 2020-06-18 株式会社三洋物産 遊技機
JP2020093015A (ja) * 2018-12-15 2020-06-18 株式会社三洋物産 遊技機
JP2020093006A (ja) * 2018-12-15 2020-06-18 株式会社三洋物産 遊技機
JP2020093013A (ja) * 2018-12-15 2020-06-18 株式会社三洋物産 遊技機
JP2020093018A (ja) * 2018-12-15 2020-06-18 株式会社三洋物産 遊技機
JP2020093008A (ja) * 2018-12-15 2020-06-18 株式会社三洋物産 遊技機
JP2020093016A (ja) * 2018-12-15 2020-06-18 株式会社三洋物産 遊技機
JP2020093007A (ja) * 2018-12-15 2020-06-18 株式会社三洋物産 遊技機
JP2020093014A (ja) * 2018-12-15 2020-06-18 株式会社三洋物産 遊技機
JP2020093011A (ja) * 2018-12-15 2020-06-18 株式会社三洋物産 遊技機
JP2020093017A (ja) * 2018-12-15 2020-06-18 株式会社三洋物産 遊技機
JP2020093010A (ja) * 2018-12-15 2020-06-18 株式会社三洋物産 遊技機
JP6978454B2 (ja) 2019-02-22 2021-12-08 ファナック株式会社 物体検出装置、制御装置及び物体検出用コンピュータプログラム
JP2020146302A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146313A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146304A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146318A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146297A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146310A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146301A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146298A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146314A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146311A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146307A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146308A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146309A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146317A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146316A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146315A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146306A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146312A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146300A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146303A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146299A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP2020146305A (ja) * 2019-03-14 2020-09-17 株式会社三洋物産 遊技機
JP7290454B2 (ja) * 2019-04-17 2023-06-13 アルパイン株式会社 深度算出システム
JP7179672B2 (ja) * 2019-04-24 2022-11-29 株式会社日立製作所 計算機システム及び機械学習方法
US20220063098A1 (en) * 2019-05-20 2022-03-03 Russell Aldridge Remote robotic welding with a handheld controller
JP7263920B2 (ja) * 2019-05-23 2023-04-25 トヨタ自動車株式会社 演算装置、制御プログラム、機械学習器及び把持装置
JP7273692B2 (ja) * 2019-11-01 2023-05-15 株式会社東芝 制御装置、制御方法およびプログラム
US20210217194A1 (en) * 2020-01-13 2021-07-15 Samsung Electronics Co., Ltd. Method and apparatus with object information estimation and virtual object generation
CN111461014B (zh) * 2020-04-01 2023-06-27 西安电子科技大学 基于深度学习的天线姿态参数检测方法、装置及存储介质
CN111507408B (zh) * 2020-04-17 2022-11-04 深圳市商汤科技有限公司 图像处理方法及装置、电子设备和存储介质
CN111523486B (zh) * 2020-04-24 2022-05-17 重庆理工大学 一种基于改进CenterNet的机械臂抓取检测方法
TW202147181A (zh) * 2020-06-10 2021-12-16 淡江大學 三指式機械夾爪系統及其訓練方法
CN112372641B (zh) * 2020-08-06 2023-06-02 北京航空航天大学 一种基于视觉前馈与视觉反馈的家庭服务机器人物品抓取方法
KR20220033924A (ko) * 2020-09-10 2022-03-17 삼성전자주식회사 증강 현실 장치 및 그 제어 방법
EP4349544A1 (en) 2021-05-28 2024-04-10 Kyocera Corporation Hold position determination device and hold position determination method
CN113362388A (zh) * 2021-06-03 2021-09-07 安徽芯纪元科技有限公司 一种用于目标定位和姿态估计的深度学习模型
CN117794709A (zh) 2021-08-04 2024-03-29 京瓷株式会社 握持参数估计设备和握持参数估计方法
NL2029461B1 (en) * 2021-10-19 2023-05-16 Fizyr B V Automated bin-picking based on deep learning
WO2023120728A1 (ja) * 2021-12-24 2023-06-29 京セラ株式会社 ロボット制御装置及びロボット制御方法
JP2024019852A (ja) * 2022-08-01 2024-02-14 株式会社東芝 ハンドリング装置、ハンドリング方法及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016034269A1 (en) * 2014-09-02 2016-03-10 Mark Oleynik Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with electronic minimanipulation libraries
JP2016132086A (ja) 2015-01-22 2016-07-25 三菱電機株式会社 ワーク供給装置およびワーク把持姿勢計算方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5673367A (en) * 1992-10-01 1997-09-30 Buckley; Theresa M. Method for neural network control of motion using real-time environmental feedback
JPH06203166A (ja) 1993-01-06 1994-07-22 Fujitsu Ltd 多次元位置測定,制御装置,及び、学習方法
US6445964B1 (en) 1997-08-04 2002-09-03 Harris Corporation Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine
JP3805310B2 (ja) 2003-01-30 2006-08-02 ファナック株式会社 ワーク取出し装置
CN101396829A (zh) 2007-09-29 2009-04-01 株式会社Ihi 机器人装置的控制方法以及机器人装置
JP5044582B2 (ja) * 2009-02-06 2012-10-10 日本放送協会 撮影カメラ学習装置及びそのプログラム
JP5623358B2 (ja) 2011-09-06 2014-11-12 三菱電機株式会社 ワーク取り出し装置
US9324190B2 (en) * 2012-02-24 2016-04-26 Matterport, Inc. Capturing and aligning three-dimensional scenes
CN103271784B (zh) * 2013-06-06 2015-06-10 山东科技大学 基于双目视觉的人机交互式机械手控制系统和控制方法
JP6660102B2 (ja) * 2014-08-27 2020-03-04 キヤノン株式会社 ロボット教示装置およびその制御方法、ロボットシステム、プログラム
CN104626206B (zh) * 2014-12-17 2016-04-20 西南科技大学 一种非结构环境下机器人作业的位姿信息测量方法
CN106030495B (zh) * 2015-01-30 2021-04-13 索尼深度传感解决方案股份有限公司 利用单个感测系统的基于多模式姿势的交互系统及方法
CN104924313B (zh) * 2015-05-13 2017-03-01 北京工业大学 具有模仿学习机制的手把手示教机械臂系统及方法
CN105069413B (zh) * 2015-07-27 2018-04-06 电子科技大学 一种基于深度卷积神经网络的人体姿势识别方法
JP6240689B2 (ja) 2015-07-31 2017-11-29 ファナック株式会社 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法
DE102016009030B4 (de) * 2015-07-31 2019-05-09 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
JP6219897B2 (ja) 2015-09-28 2017-10-25 ファナック株式会社 最適な加減速を生成する工作機械

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016034269A1 (en) * 2014-09-02 2016-03-10 Mark Oleynik Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with electronic minimanipulation libraries
JP2016132086A (ja) 2015-01-22 2016-07-25 三菱電機株式会社 ワーク供給装置およびワーク把持姿勢計算方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP3633610A4
WEN SU,ZENGFU WANG: "Regularized Fully Convolutional Networks for RGB-D Semantic Segmentation", 2016 IEEE VISUAL COMMUNICATIONS AND IMAGE PROCESSING, 27 November 2016 (2016-11-27) - 30 November 2016 (2016-11-30), XP055636686, DOI: 10.1109/VCIP.2016.7805508 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021517681A (ja) * 2018-12-12 2021-07-26 達闥机器人有限公司 ロボットの目標物体把持位置の検出方法
JP7085726B2 (ja) 2018-12-12 2022-06-17 達闥機器人股▲分▼有限公司 ロボットの目標物体把持位置の検出方法
US11878433B2 (en) 2018-12-12 2024-01-23 Cloudminds Robotics Co., Ltd. Method for detecting grasping position of robot in grasping object
WO2020166401A1 (ja) * 2019-02-14 2020-08-20 日本電信電話株式会社 学習データ生成装置、方法及びプログラム
JP2020135092A (ja) * 2019-02-14 2020-08-31 日本電信電話株式会社 学習データ生成装置、方法及びプログラム
JP7095616B2 (ja) 2019-02-14 2022-07-05 日本電信電話株式会社 学習データ生成装置、方法及びプログラム
CN111553949A (zh) * 2020-04-30 2020-08-18 张辉 基于单帧rgb-d图像深度学习对不规则工件的定位抓取方法

Also Published As

Publication number Publication date
US11565407B2 (en) 2023-01-31
JP2018205929A (ja) 2018-12-27
US20200094406A1 (en) 2020-03-26
JP6546618B2 (ja) 2019-07-17
CN110692082B (zh) 2023-07-11
CN110692082A (zh) 2020-01-14
US11034018B2 (en) 2021-06-15
US20210276182A1 (en) 2021-09-09
EP3633610A4 (en) 2021-02-24
EP3633610A1 (en) 2020-04-08

Similar Documents

Publication Publication Date Title
WO2018221614A1 (ja) 学習装置、学習方法、学習モデル、推定装置及び把持システム
JP6921151B2 (ja) ロボットの把持のための深層機械学習方法および装置
Wan et al. Teaching robots to do object assembly using multi-modal 3d vision
CN111695562B (zh) 一种基于卷积神经网络的机器人自主抓取方法
US7664571B2 (en) Controlling a robot using pose
WO2022017131A1 (zh) 点云数据的处理方法、智能行驶控制方法及装置
JP2013193202A (ja) 人間援助型タスクデモンストレーションを使用してロボットを訓練するための方法およびシステム
CN108748149B (zh) 一种复杂环境下基于深度学习的无标定机械臂抓取方法
CN109048918B (zh) 一种轮椅机械臂机器人的视觉引导方法
JP7051751B2 (ja) 学習装置、学習方法、学習モデル、検出装置及び把持システム
CN114387513A (zh) 机器人抓取方法、装置、电子设备及存储介质
JP2018169660A (ja) オブジェクト姿勢検出装置、制御装置、ロボットおよびロボットシステム
CN114851201A (zh) 一种基于tsdf三维重建的机械臂六自由度视觉闭环抓取方法
JP7349423B2 (ja) 学習装置、学習方法、学習モデル、検出装置及び把持システム
US11964400B2 (en) Device and method for controlling a robot to pick up an object in various positions
CN114882113A (zh) 基于同类物体形状对应性的五指机械灵巧手抓取迁移方法
JP7277116B2 (ja) 情報処理装置、情報処理方法及びプログラム
KR20220067719A (ko) 딥러닝과 마커를 이용한 비전인식을 통한 로봇 제어장치 및 그 방법
WO2022114042A1 (ja) 情報処理装置及びピッキング装置
JP2024001876A (ja) 物体を操作するロボット、特に物体を受容するロボットを制御するための方法
CN116141318A (zh) 物体的抓取方法、装置、电子设备和存储介质
JP2024005599A (ja) データ収集装置および制御装置
Zeller et al. Vision-based robot motion planning using a topology representing neural network
JP2023148859A (ja) 制御方法、制御システム及び保持制御プログラム
CN116894988A (zh) 一种基于Transformer的抓取位姿检测方法

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2018809575

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2018809575

Country of ref document: EP

Effective date: 20200102