Workpiece holding device, workpiece holding method, computer readable medium, and control device
Through the multi-layer information processing of the workpiece holding device, the optimal holding candidate points are selected to avoid attracting other workpieces at the same time, solving the problem of simultaneous attraction of multiple types of workpieces in the prior art, and achieving more efficient workpiece holding.
Patent Information
- Application Number
- CN202211094799.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-09-13
- Filing Date
- 2022-09-08
- Publication Date
- 2025-08-15
- Estimated Expiration
- 2042-09-08
AI Technical Summary
When attracting and retaining workpieces, the prior art can easily attract and retain other workpieces around them at the same time, and it is impossible to effectively avoid the problem of holding multiple types of workpieces.
The workpiece holding device adopts a holding unit, a first information acquisition unit, a candidate calculation unit and a control unit to obtain three-dimensional information of the workpiece and information of other workpieces respectively, and calculate and select the optimal holding candidate point to avoid attracting other workpieces at the same time.
It effectively suppresses the simultaneous attraction and retaining other workpieces while attracting and retaining them, improving the selectivity and accuracy of workpiece retention.
Smart Images

Figure CN115805588B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a workpiece holding device, a workpiece holding method, a program and a control device for holding a workpiece. Background Art
[0002] A technique is known in which a workpiece holding point is determined by pattern matching a pre-created three-dimensional model pattern using three-dimensional workpiece measurement information (see Japanese Patent Application Laid-Open No. 2009-128191). Another technique is known in which a workpiece's maximum height position is detected based on the workpiece's three-dimensional measurement information and that the maximum height position is used as the workpiece holding point (see Japanese Patent Application Laid-Open No. 2016-028836). Summary of the Invention
[0003] However, the technique of Patent Document 1 requires the creation of a three-dimensional model pattern for each workpiece in advance, making it difficult to handle a wide variety of workpieces. Furthermore, the technique of Patent Document 2, for example, cannot handle a wide variety of workpieces if other workpieces are located near the maximum height position. When the workpiece at the maximum height position is sucked in, the other workpieces may also be sucked in simultaneously.
[0004] The present invention has been made to solve such problems, and a main object of the present invention is to provide a workpiece holding device, a workpiece holding method, a program, and a control device that can suppress the simultaneous suction and holding of other workpieces when sucking and holding a workpiece.
[0005] One scheme of the present invention for achieving the above-mentioned purpose is a workpiece holding device, comprising: a holding unit, which attracts and holds workpieces one by one from a plurality of workpieces placed in a three-dimensional space; a first information acquisition unit, which acquires three-dimensional information of the plurality of workpieces; a candidate calculation unit, which calculates a plurality of holding candidate points based on the three-dimensional information of the plurality of workpieces acquired by the first information acquisition unit, the holding candidate points being candidates for the holding points of the workpieces when the holding unit holds each workpiece respectively; a second information acquisition unit, which acquires information of other workpieces that are within a predetermined range from the holding candidate points of the workpieces respectively; and a control unit, which selects one of the plurality of holding candidate points based on the information of the workpiece acquired by the second information acquisition unit, and controls the holding unit in such a manner that the holding unit holds the workpiece at the selected holding candidate point.
[0006] In this aspect, the workpiece information may be information on the presence or absence of the other workpiece, and the control unit may select a candidate holding point among the plurality of candidate holding points where no other workpiece exists within the predetermined range based on the information on the presence or absence of the other workpiece.
[0007] In this scheme, when it is judged based on the three-dimensional information of multiple workpieces obtained by the first information acquisition unit that there is a maximum point whose coordinate value in the height direction becomes maximum outside the holding candidate point within a predetermined range from the holding candidate point of each workpiece, the second information acquisition unit generates information indicating that there are other workpieces within the predetermined range.
[0008] In this embodiment, when the three-dimensional information of the workpiece within the predetermined range is cut at a plurality of different height positions along a horizontal plane perpendicular to the height direction and there is a discontinuous cut surface at at least one of the height positions, the second information acquisition unit generates information indicating that there are other workpieces within the predetermined range.
[0009] In this aspect, the control unit may select one candidate holding point from among a plurality of candidate holding points where no other workpiece exists within the predetermined range, based on a distance between the candidate holding point and the other workpiece outside the predetermined range.
[0010] In this aspect, the workpiece information may be distance information between each candidate holding point and other workpieces within the predetermined range, and the control unit may select one candidate holding point from the plurality of candidate holding points based on the distance information.
[0011] In this aspect, the control unit may select, from the plurality of candidate holding points, the candidate holding point having the largest integrated value of distances between the candidate holding point and other workpieces within a predetermined range based on the distance information.
[0012] In this aspect, the candidate calculation unit may calculate, as the candidate holding point, a maximum point where the coordinate value in the height direction of the workpiece is maximum based on the three-dimensional information of the plurality of workpieces acquired by the first information acquisition unit.
[0013] In this aspect, the candidate calculation unit may set a maximum point having an area equal to or larger than a predetermined area from among the candidate points to be held as the candidate point to be held.
[0014] One scheme of the present invention for achieving the above-mentioned purpose can also be a workpiece holding method, comprising the following steps: obtaining three-dimensional information of multiple workpieces placed in a three-dimensional space; calculating multiple holding candidate points based on the obtained three-dimensional information of the multiple workpieces, the holding candidate points being candidates for the holding points of the workpiece when the holding unit attracts and holds each workpiece; respectively obtaining information of other workpieces that are within a predetermined range from the holding candidate points of the workpieces; and selecting one of the multiple holding candidate points based on the obtained information of the workpiece, and controlling the holding unit in such a manner that the holding unit holds the workpiece at the selected holding candidate point.
[0015] One solution of the present invention for achieving the above-mentioned purpose may also be a program that causes a computer to perform the following processing: obtaining three-dimensional information of a plurality of workpieces placed in a three-dimensional space; calculating a plurality of holding candidate points based on the obtained three-dimensional information of the plurality of workpieces, the holding candidate points being candidates for the holding points of the workpieces when the holding unit attracts and holds the workpieces; respectively obtaining information of other workpieces that are within a predetermined range from the holding candidate points of the workpieces; selecting one of the plurality of holding candidate points based on the obtained information of the workpieces, and controlling the holding unit in such a manner that the holding unit holds the workpiece at the selected holding candidate point.
[0016] One solution of the present invention for achieving the above-mentioned purpose may also be a control device comprising: a first information acquisition unit for acquiring three-dimensional information of a plurality of workpieces placed in a three-dimensional space; a candidate calculation unit for calculating a plurality of holding candidate points based on the three-dimensional information of the plurality of workpieces acquired by the first information acquisition unit, wherein the holding candidate points are candidates for the holding points of the workpieces when the holding unit holds each workpiece respectively; a second information acquisition unit for acquiring information of other workpieces that are within a predetermined range from the holding candidate points of the workpieces respectively; and a control unit for selecting one of the plurality of holding candidate points based on the information of the workpiece acquired by the second information acquisition unit, and controlling the holding unit in such a manner that the holding unit holds the workpiece at the selected holding candidate point.
[0017] According to the present invention, it is possible to provide a workpiece holding device, a workpiece holding method, a program, and a control device capable of suppressing the simultaneous suction and holding of other workpieces when sucking and holding a workpiece.
[0018] The above and other objects, features and advantages of the present disclosure will be more fully understood from the detailed description given below and the accompanying drawings which are given by way of illustration only and thus should not be considered as limiting the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1This is a block diagram showing a schematic system configuration of the workpiece holding device according to the present embodiment.
[0020] Figure 2 This is a block diagram showing a schematic system configuration of the control device according to the present embodiment.
[0021] Figure 3 It is a diagram showing a convex portion of a workpiece.
[0022] Figure 4 It is a diagram for explaining a method of detecting other workpieces within a predetermined range.
[0023] Figure 5 This is a flowchart showing the flow of the workpiece holding method according to this embodiment. DETAILED DESCRIPTION
[0024] Implementation Method 1
[0025] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. Figure 1 This is a block diagram schematically illustrating the system configuration of a workpiece holding device according to this embodiment. The workpiece holding device 1 according to this embodiment can individually attract, hold, and move multiple workpieces arranged in a three-dimensional space. The multiple workpieces can be loose components stored in a box or on a flat surface. It should be noted that the multiple workpieces can include components of any shape, including flat and three-dimensional shapes.
[0026] A workpiece holding device 1 of the present embodiment includes a robot arm 2 , a control device 3 , and a three-dimensional vision sensor 4 .
[0027] The robot arm 2 is a specific example of a holding unit. The robot arm 2 is configured as a multi-jointed arm, for example, having a plurality of links 21, joints (wrist joints, elbow joints, shoulder joints, etc.) 22 that rotatably connect the links 21, and an end effector 23 disposed at its front end for attracting and holding a workpiece.
[0028] Each joint 22 is provided with a rotation sensor such as an encoder that detects rotation information of each joint 22, an actuator such as a servo motor that drives each joint 22, and a force sensor that detects the operating force of each joint 22. The force sensor is, for example, a torque sensor that detects the torque of each joint 22. Each joint 22 is provided with a speed reduction mechanism and the like.
[0029] The end effector 23 attracts and holds the workpiece in a non-contact state using an attractive force such as magnetic force or air pressure. For example, the end effector 23 is configured to electromagnetically attract the workpiece by generating magnetic force and release the electromagnetically attracted workpiece by stopping the generation of magnetic force.
[0030] The control device 3 performs various computational and control processes for the robot arm 2. The control device 3 has a conventional computer hardware configuration, including, for example, a processor 3a such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit), internal memory 3b such as RAM (Random Access Memory) and ROM (Read Only Memory), storage devices 3c such as HDDs (Hard Disk Drives) and SSDs (Solid State Drives), an input / output interface 3d for connecting to peripheral devices such as a display, and a communication interface 3e for communicating with devices outside the device.
[0031] The three-dimensional vision sensor 4 is a specific example of the first information acquisition unit. The three-dimensional vision sensor 4 acquires three-dimensional information of a plurality of workpieces. The three-dimensional information of the workpieces includes information such as the shape, position (three-dimensional coordinates, etc.), and posture of each workpiece.
[0032] The 3D vision sensor 4 is provided on, for example, the end effector 23 or the link 21 of the robot arm 2 . The 3D vision sensor 4 is composed of a camera, a laser sensor, etc. The 3D vision sensor 4 outputs acquired 3D information of the workpiece to the control device 3 .
[0033] Figure 2 1 is a block diagram showing a schematic system configuration of a control device according to this embodiment. The control device 3 according to this embodiment includes a candidate calculation unit 31 , a workpiece information acquisition unit 32 , and a robot control unit 33 .
[0034] The candidate calculation unit 31 is a specific example of a candidate calculation unit. Based on the three-dimensional information of the workpiece acquired by the three-dimensional vision sensor 4, the candidate calculation unit 31 calculates a plurality of candidate holding points. These candidate holding points are candidates for holding points (adsorption points) of the workpiece when the end effector 23 of the robot arm 2 attracts and holds the workpiece.
[0035] For example, the candidate calculation unit 31 calculates depth information indicating the height position of each workpiece based on the three-dimensional information of the workpiece obtained by the three-dimensional vision sensor 4. The candidate calculation unit 31 detects convex portions ( Figure 3 ).
[0036] Based on the calculated depth information, the candidate calculation unit 31 performs binarization, for example, by setting points above a predetermined height to 1 and points below the predetermined height to 0, and detects points that are set to 1 as convex portions. The candidate calculation unit 31 can set the convex portions detected in this manner as candidate holding points. This allows convex portions that are easily attracted and held by the end effector 23 to be set as candidate holding points.
[0037] Furthermore, the candidate calculation unit 31 may select, from among the detected convex portions, convex portions whose end surface area for suction by the end effector 23 exceeds a threshold value as candidate holding points. This allows the end effector 23 to select, among the convex portions that are easily suctioned and held, points with a large suction area, making suction and holding easier, as candidate holding points.
[0038] The candidate calculation unit 31 may also calculate the maximum point where the coordinate value of the workpiece in the height direction is maximized as a candidate holding point based on the three-dimensional information of the workpiece obtained by the three-dimensional vision sensor 4. In this way, the maximum point that protrudes significantly in the height direction and is easily attracted and held by the end effector 23 can be set as a candidate holding point.
[0039] Furthermore, the candidate calculation unit 31 may select, from among the candidate holding points that are the maximum points, a maximum point with an area greater than or equal to a predetermined area as a candidate holding point. Thus, among the maximum points that are easily attracted and held by the end effector 23, points with a large suction area and thus easier to attract and hold can be selected as candidate holding points.
[0040] It should be noted that the candidate calculation unit 31 may further determine whether the workpiece can be held at each of the candidate holding points identified above based on the three-dimensional information about the workpiece acquired by the three-dimensional vision sensor 4. The candidate calculation unit 31 may determine whether the workpiece can be held by determining whether there is interference with other workpieces when the workpiece is held at each candidate holding point. The candidate calculation unit 31 may also set the candidate holding points determined to be holdable as the final plurality of candidate holding points.
[0041] The candidate calculation unit 31 outputs the plurality of holding candidate points calculated as described above to the robot control unit 33 .
[0042] Furthermore, when a conventional workpiece holding device sucks and holds a workpiece at a holding candidate point, it may also suck other surrounding workpieces at the same time.
[0043] In contrast, the workpiece holding device 1 of this embodiment obtains information about other workpieces that are within a predetermined range from the holding candidate point of each workpiece, and selects one of multiple holding candidate points based on the obtained information about other workpieces, so as to control the robot arm 2 in such a manner that the robot arm 2 holds the workpiece at the selected holding candidate point.
[0044] Thus, it is possible to select a holding point that is less likely to attract other workpieces simultaneously by considering the states of other workpieces around the holding point of each workpiece, and to hold the workpiece at the holding point.
[0045] The workpiece information acquisition unit 32 is a specific example of the second information acquisition means and acquires information about other workpieces (hereinafter referred to as other workpiece information) that are located within a predetermined range from the candidate holding point of each workpiece.
[0046] The predetermined range is pre-set for the workpiece information acquisition unit 32. The predetermined range is the range affected by the attractive force (magnetic force, etc.) of the end effector 23 and is set based on this attractive force. For example, the predetermined range is set by taking into account a buffer for the height at which the end effector 23, when approaching the candidate holding point for the workpiece, attracts the workpiece or other workpieces.
[0047] The other workpiece information is, for example, information indicating whether or not other workpieces exist within a predetermined range (presence or absence).
[0048] The workpiece information acquisition unit 32 can determine whether there is a maximum point other than the candidate holding point within a predetermined range from the candidate holding point for each workpiece, based on the three-dimensional information of the plurality of workpieces acquired by the three-dimensional vision sensor 4, at which the coordinate value in the height direction is maximized. If the workpiece information acquisition unit 32 determines that there is a maximum point other than the candidate holding point within the predetermined range, it can generate information indicating that another workpiece exists within the predetermined range.
[0049] When another workpiece exists within the predetermined range, the workpiece has a maximum point protruding in the height direction. Therefore, by detecting the maximum point as described above, the other workpiece within the predetermined range can be easily detected.
[0050] Furthermore, the workpiece information acquisition unit 32 may determine whether a discontinuous cut surface exists at at least one height position when the three-dimensional information of the workpiece within the predetermined range is cut along a horizontal plane perpendicular to the height direction at a plurality of different height positions. If the workpiece information acquisition unit 32 determines that a discontinuous cut surface exists at at least one height position, it may generate information indicating the presence of another workpiece within the predetermined range.
[0051] If other workpieces are within the predetermined range, there will be peaks of other workpieces in the height direction (Z direction) other than the peak of the workpiece containing the candidate retention point. Therefore, if the peak of the workpiece is cut along a horizontal plane perpendicular to the height direction, the cut surface will be discontinuous. By detecting such discontinuous cross-sections, other workpieces within the predetermined range can be easily and accurately detected.
[0052] For example, Figure 4 As shown in (a), when the workpiece is cut at the height position of the first layer, only the peak of the workpiece A including the holding candidate point is cut, so the cut surface only includes the cut surface of the workpiece A and becomes a continuous state.
[0053] Then, if Figure 4 As shown in (b), when the workpiece is cut at a height position of the second layer lower than the first layer, the middle of the peak of the workpiece A including the candidate point and the middle of the peak of the other workpiece B will be cut separately, so the cut surface includes the cut surface of the workpiece A and the cut surface of the other workpiece B, becoming a discontinuous state.
[0054] Moreover, if Figure 4 As shown in (c), when the workpiece is cut at a height position of the third layer lower than the second layer, the peak of the workpiece A including the holding candidate point and the peak of the other workpiece B will be cut, so the cut surface includes the cut surface of the workpiece A and the cut surface of the other workpiece B, but since the workpiece A and the other workpiece B overlap, the cut surface becomes continuous.
[0055] In this way, when there are other workpieces within the predetermined range, if the workpieces are cut while gradually changing their heights along a horizontal plane perpendicular to the height direction, a discontinuous cut surface will be present at at least one height position. By detecting this discontinuous cut surface, other workpieces within the predetermined range can be simply and easily detected.
[0056] It should be noted that the number of cuts and the interval between cuts can be set arbitrarily. For example, increasing the number of cuts and decreasing the interval between cuts improves the accuracy of determining the presence of other workpieces, but the computational complexity increases accordingly. Therefore, it is preferable to consider the accuracy of determining the presence of other workpieces and the computational complexity to determine the optimal number of cuts and interval between cuts.
[0057] The workpiece information acquisition unit 32 outputs the workpiece information indicating the presence or absence of other workpieces acquired as described above to the robot control unit 33 .
[0058] The robot control unit 33 is a specific example of a control unit. It controls the movements of the robot arm 2. For example, the robot control unit 33 performs feedback control of the robot arm 2 by controlling the actuators at each joint based on rotation information (rotation angle, etc.) from the rotation sensors at each joint and the operating force from the force sensors. Furthermore, the robot control unit 33 controls the end effector 23's suction force to control the end effector 23's suction and release of the workpiece. Thus, the robot control unit 33 controls the robot arm 2 to hold and move the workpiece.
[0059] The robot control unit 33 selects one holding candidate point from the plurality of holding candidate points calculated by the candidate calculation unit 31 .
[0060] The robot control unit 33 controls the robot arm 2 so that the end effector 23 of the robot arm 2 holds the workpiece at the holding candidate point based on the three-dimensional information of the workpiece acquired by the three-dimensional vision sensor 4 .
[0061] The robot control unit 33 selects a candidate holding point from a plurality of candidate holding points where no other workpieces are present within a predetermined range based on the workpiece information indicating the presence or absence of other workpieces from the workpiece information acquisition unit 32. This allows the robot to select a candidate holding point where no other workpieces are present, and to attract and hold the workpiece at this candidate holding point, thereby preventing the robot from simultaneously attracting and holding other workpieces.
[0062] Here, if there are multiple candidate holding points within the predetermined range where no other workpieces are located, the robot control unit 33 locks these candidate holding points. For example, the robot control unit 33 selects a candidate holding point from among the multiple candidate holding points where no other workpieces are located within the predetermined range based on the distance between the candidate holding point and any workpieces outside the predetermined range. This allows the robot to select an optimal candidate holding point that minimizes the simultaneous attraction of other workpieces outside the predetermined range and allows for the attraction and retention of only the target workpiece.
[0063] The robot control unit 33 may select a candidate holding point having the largest distance to other workpieces outside the predetermined range from a plurality of candidate holding points where no other workpieces exist within the predetermined range.
[0064] Thus, after locking in a candidate holding point where no other workpiece exists within the predetermined range, it is possible to further select a candidate holding point from among the locked candidate holding points that is most likely to be away from other workpieces outside the predetermined range and least likely to attract and retain other workpieces outside the predetermined range. Therefore, it is possible to more reliably prevent the attraction and retention of other workpieces while the workpiece is being attracted and retained at the candidate holding point.
[0065] For example, the robot control unit 33 selects a candidate holding point using an evaluation function related to the distance between the candidate holding point and other workpieces outside a predetermined range.
[0066] The evaluation function may be defined by the reciprocal of the distance so that the evaluation value decreases as the distance between the candidate point and other workpieces outside the predetermined range increases.
[0067] The distance between the candidate holding point and other workpieces outside the predetermined range is, for example, the integrated value of the distance between the suction and holding surface (bottom surface of the tool) of the end effector 23 and other workpieces outside the predetermined range when holding at the candidate holding point. When the suction and holding surface of the end effector 23 approaches the candidate holding point of the target workpiece in order to attract and hold the workpiece at the candidate holding point, the closer the other workpieces are to the suction and holding surface of the end effector 23, the more they are affected by the suction force. Therefore, the distance is calculated as described above.
[0068] Therefore, it is preferable to select a candidate holding point having the largest integrated value of the distance between the candidate holding point and other workpieces outside the predetermined range, that is, the distance between the suction and holding surface of the end effector 23 and other workpieces outside the predetermined range and having the smallest evaluation value.
[0069] For example, the evaluation function J is defined as follows.
[0070]
[0071] Ω0={(u,v);d(u,v)=0}
[0072] (u, v) is the position of a point (pixel) in the depth image. u is the horizontal coordinate value, and v is the vertical coordinate value. For example, for a 640x480 image, u and v are respectively 0≤u<640 and 0≤v<480.
[0073] d(u,v) is the depth image value (depth) at point (u,v). Specifically, depth is the distance from the camera (3D vision sensor 4) to the object, expressed in meters and taking non-negative values. However, the value 0 is special; it means the camera cannot obtain the depth of the object at that location.
[0074] There are various reasons why this may not be possible, but the most common reason is that the direction of the camera's light source and the direction of the light reflected from the subject and returned to the camera's sensor are different, so the light is blocked by obstacles and does not return.
[0075] d t is the depth of the candidate holding point currently being focused on. D is the distance that the attraction extends downward from the candidate holding point. Δ represents the threshold value of the cut-off height set for binarization of the depth image from d t Change to d t Cut-off interval at +D.
[0076] Ω0 is a set of points in the depth image that cannot be obtained as described above. tIt is a set of points that are in the same area (within a predetermined area) as the holding candidate points and have a depth smaller than dt + D (closer to the camera), that is, d(u, v) < dt + D.
[0077] It should be noted that in the above evaluation function J, by dividing by the total number of pixels after excluding the peaks including the holding candidate points and the holes with depth = 0, the influence per effective pixel is normalized.
[0078] As described above, the robot control unit 33 uses the evaluation function J to calculate the evaluation value obtained by summing up all the points that are not in the same area (outside the predetermined area) as the currently concerned holding candidate point and satisfy 0 < d(u, v) < dt + D.
[0079] Next, the workpiece holding method of the present embodiment will be described. Figure 5 It is a flowchart showing the process of the workpiece holding method of the present embodiment. It should be noted that Figure 5 The control process shown is repeatedly executed at a predetermined time interval.
[0080] The three-dimensional vision sensor 4 acquires the three-dimensional information of the workpiece and outputs it to the control device 3 (step S101).
[0081] The candidate calculation unit 31 of the control device 3 calculates a plurality of holding candidate points of the end effector 23 of the robotic arm based on the three-dimensional information of the workpiece acquired by the three-dimensional vision sensor 4 (step S102).
[0082] The workpiece information acquisition unit 32 acquires the other workpiece information of the other workpieces existing within a predetermined range from each holding candidate point of the workpiece calculated by the candidate calculation unit 31 (step S103).
[0083] The robot control unit 33 selects one holding candidate point from the plurality of holding candidate points based on the other workpiece information from the workpiece information acquisition unit 32 (step S104).
[0084] The robot control unit 33 controls the robotic arm 2 so that the end effector 23 of the robotic arm 2 holds the workpiece at the selected holding candidate point (step S105).
[0085] As described above, the workpiece holding device 1 of the present embodiment respectively acquires the information of the other workpieces existing within a predetermined range from each holding candidate point of the workpiece, selects one holding candidate point from the plurality of holding candidate points based on the acquired information of the other workpieces, and controls the robotic arm 2 so that the robotic arm 2 holds the workpiece at the selected holding candidate point.
[0086] Thus, it is possible to select a holding point where it is difficult to simultaneously attract and hold other workpieces by considering other workpieces around the holding point of each workpiece, and to attract and hold the workpiece at the holding point.
[0087] Implementation Method 2
[0088] In this embodiment, the workpiece information may also be distance information between each candidate holding point and other workpieces within a predetermined range. The workpiece information acquisition unit 32 acquires distance information between each candidate holding point and other workpieces within a predetermined range based on the three-dimensional information of multiple workpieces acquired by the three-dimensional vision sensor 4.
[0089] The robot control unit 33 selects one holding candidate point from the plurality of holding candidate points calculated by the candidate calculation unit 31 based on the distance information between each holding candidate point and other workpieces within a predetermined range acquired by the workpiece information acquisition unit 32 .
[0090] Thus, a holding point where it is difficult to simultaneously attract and hold other workpieces can be selected by considering the distance between the holding point of each workpiece and other workpieces around it, and the workpiece can be attracted and held at the holding point.
[0091] For example, the robot control unit 33 can select the holding candidate point with the largest integrated value of the distances between the holding candidate point and other workpieces within the predetermined range from among the multiple holding candidate points calculated by the candidate calculation unit 31, based on the distance information between each holding candidate point and other workpieces within the predetermined range obtained by the workpiece information acquisition unit 32. In this way, it is possible to select the holding candidate point for each workpiece at which the distance between the holding candidate point and other workpieces in its vicinity is the largest and at which it is difficult to simultaneously attract and hold other workpieces.
[0092] For example, the robot control unit 33 may select a candidate holding point that minimizes the evaluation value of the evaluation function J related to the distance between the candidate holding point and other workpieces within a predetermined range.
[0093] The present invention can also be used, for example Figure 5 The illustrated processing is realized by causing a processor to execute a computer program.
[0094] The program can be stored and supplied to a computer using various types of non-transitory computer readable media. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer readable media include magnetic recording media (e.g., floppy disks, magnetic tapes, hard disk drives), optical magnetic recording media (e.g., magnetic optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (random access memory)).
[0095] The program can also be delivered to the computer via various types of transitory computer-readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable media can deliver the program to the computer via wired or wireless communication channels, such as electrical wires and optical fibers.
[0096] Each component constituting the control device 3 in each of the above-described embodiments can be realized not only by a program but also partially or entirely by dedicated hardware such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array).
[0097] From the disclosure thus described, it will be apparent that the embodiments of the disclosure may be modified in various ways. Such modifications should not be regarded as departing from the spirit and scope of the disclosure, and all such modifications obvious to those skilled in the art are intended to be included within the scope of the appended claims.
Claims
1. A workpiece holding device comprising: a holding unit that attracts and holds the workpieces one by one from a plurality of workpieces placed in a three-dimensional space; a first information acquisition unit, which acquires three-dimensional information of the plurality of workpieces; a candidate calculation unit that calculates a plurality of candidate holding points based on the three-dimensional information of the plurality of workpieces acquired by the first information acquisition unit, the candidate holding points being candidates for holding points of the workpieces when the holding unit holds the workpieces; A second information acquisition unit acquires information of other workpieces that are within a predetermined range from the candidate holding point of each workpiece; and a control unit that selects one of the plurality of candidate holding points based on the workpiece information acquired by the second information acquisition unit, and controls the holding unit so that the holding unit holds the workpiece at the selected candidate holding point. The workpiece information is information on the presence or absence of the other workpieces. The control unit selects a candidate holding point where no other workpiece exists within the predetermined range from among the plurality of candidate holding points based on the information on the presence or absence of the other workpiece. When the three-dimensional information of the workpiece within the predetermined range is cut at multiple different height positions along a horizontal plane perpendicular to the height direction and a discontinuous cut surface exists at at least one of the height positions, the second information acquisition unit generates information indicating that other workpieces exist within the predetermined range.
2. The workpiece holding device according to claim 1, wherein When it is judged based on the three-dimensional information of multiple workpieces obtained by the first information acquisition unit that there is a maximum point whose coordinate value in the height direction becomes maximum outside the holding candidate point within a predetermined range from the holding candidate point of each workpiece, the second information acquisition unit generates information indicating that there are other workpieces within the predetermined range.
3. The workpiece holding device according to claim 1, wherein: The control unit selects one of the plurality of candidate holding points at which no other workpiece exists within the predetermined range based on a distance between the candidate holding point and the other workpiece outside the predetermined range.
4. The workpiece holding device according to claim 2, wherein: The control unit selects one of the plurality of candidate holding points at which no other workpiece exists within the predetermined range based on a distance between the candidate holding point and the other workpiece outside the predetermined range.
5. The workpiece holding device according to any one of claims 1 to 4, wherein: The candidate calculation unit calculates, as the candidate holding point, a maximum point at which the coordinate value in the height direction of the workpiece is maximum based on the three-dimensional information of the plurality of workpieces acquired by the first information acquisition unit.
6. The workpiece holding device according to claim 5, wherein: The candidate calculation unit selects a maximum point having an area greater than or equal to a predetermined area from among the candidate points to be held as the candidate point to be held.
7. A workpiece holding method comprising the following steps: Acquiring three-dimensional information of multiple workpieces placed in a three-dimensional space; Calculating a plurality of candidate holding points based on the acquired three-dimensional information of the plurality of workpieces, the candidate holding points being candidates for holding points of the workpieces when the holding unit attracts and holds the workpieces; acquiring information of other workpieces existing within a predetermined range from the candidate holding point of each workpiece; selecting one of the plurality of candidate holding points based on the acquired information of the workpiece, and controlling the holding unit so that the holding unit holds the workpiece at the selected candidate holding point; The workpiece information is information on the presence or absence of the other workpieces. The workpiece holding method further comprises the following steps: selecting, based on the information on the presence or absence of the other workpiece, a candidate holding point from among the plurality of candidate holding points at which no other workpiece exists within the predetermined range; When the three-dimensional information of the workpiece within the predetermined range is cut at multiple different height positions along a horizontal plane perpendicular to the height direction and a discontinuous cut surface exists at at least one of the height positions, information indicating that other workpieces exist within the predetermined range is generated.
8. A computer-readable medium storing a program for causing a computer to execute the following processing: Acquiring three-dimensional information of multiple workpieces placed in a three-dimensional space; Calculating a plurality of candidate holding points based on the acquired three-dimensional information of the plurality of workpieces, the candidate holding points being candidates for holding points of the workpieces when the holding unit attracts and holds the workpieces; acquiring information of other workpieces existing within a predetermined range from the candidate holding point of each workpiece; selecting one of the plurality of candidate holding points based on the acquired information of the workpiece, and controlling the holding unit so that the holding unit holds the workpiece at the selected candidate holding point; The workpiece information is information on the presence or absence of the other workpieces. The program causes the computer to further execute the following processing: selecting, based on the information on the presence or absence of the other workpiece, a candidate holding point from among the plurality of candidate holding points at which no other workpiece exists within the predetermined range; When the three-dimensional information of the workpiece within the predetermined range is cut at multiple different height positions along a horizontal plane perpendicular to the height direction and a discontinuous cut surface exists at at least one of the height positions, information indicating that other workpieces exist within the predetermined range is generated.
9. A control device comprising: a first information acquisition unit for acquiring three-dimensional information of a plurality of workpieces placed in a three-dimensional space; a candidate calculation unit that calculates a plurality of candidate holding points based on the three-dimensional information of the plurality of workpieces acquired by the first information acquisition unit, the candidate holding points being candidates for holding points of the workpieces when the holding unit holds the workpieces; A second information acquisition unit acquires information of other workpieces that are within a predetermined range from the candidate holding point of each workpiece; and a control unit that selects one of the plurality of candidate holding points based on the workpiece information acquired by the second information acquisition unit, and controls the holding unit so that the holding unit holds the workpiece at the selected candidate holding point. The workpiece information is information on the presence or absence of the other workpieces. The control unit selects a candidate holding point where no other workpiece exists within the predetermined range from among the plurality of candidate holding points based on the information on the presence or absence of the other workpiece. When the three-dimensional information of the workpiece within the predetermined range is cut at multiple different height positions along a horizontal plane perpendicular to the height direction and a discontinuous cut surface exists at at least one of the height positions, the second information acquisition unit generates information indicating that other workpieces exist within the predetermined range.
Citation Information
Patent Citations
Object recognition device and robot device
JP2009128191A
Bulk workpiece pickup transport device
JP2016028836A
Workpiece detector, robot system, method for producing to-be-processed material, method for detecting workpiece
CN104227723A