DESIGN OF ROBOT GRIPPERS AND FIXTURES FOR ROBOTIC MANUFACTURING
20210197409 · 2021-07-01
Inventors
- Norbert KRÜGER (Odense N, DK)
- Lukas Cristoffer, Malte, Wiuf SCHWARTZ (Odense M, DK)
- Lars-Peter ELLEKILDE (Odense S, DK)
Cpc classification
B25J11/00
PERFORMING OPERATIONS; TRANSPORTING
G05B17/00
PHYSICS
B25J19/007
PERFORMING OPERATIONS; TRANSPORTING
International classification
B25J19/00
PERFORMING OPERATIONS; TRANSPORTING
Abstract
The invention relates to a method for designing grippers and fixtures for handling objects in robotic manufacturing and pick-and-place tasks. To achieve this a method for determining a shape of the holding or support surface of the gripper or fixture is presented. This method includes steps of determining an initial shape of the support surface based on an outer shape of the object, applying a shaping function to different locations of the initial shape, determining modified shape points at locations of the initial shape by comparing the applied shaping function with the initial shape. If the application of the shaping function results in an extension of the initial shape G(xi,yj) at the neighbour location (xi, yj) this extension forms part of a modified support surface for the gripper or fixture. A method for determining an optimum shape of the support surface with respect to optimization conditions is also presented.
Claims
1. A method for determining a shape Gm(x,y) of a support surface of a robot-gripper (111) or fixture (131) used for supporting an object picked up by a robot during robotic manufacturing, the method comprises determining an initial shape G(x,y) of the support surface for the robot-gripper or the fixture based on an outer shape of the object, where the initial shape is a function of locations (x,y) on a reference surface, providing a shaping function F(q) being a function of at least a parameter q determined relative to a selected location (xs,ys) selected among the locations (x,y), applying the shaping function F(q) to a plurality of the selected locations (xs,ys), at a plurality of neighbour locations (xi,yj) to the selected locations (xs,ys), determine modified shape points Gm(xi, yj) based on the applied shaping function F(q) and the initial shape G(xi, yj), if a modified shape point Gm(xi, yj) provides an extension of the initial shape G(xi,yj) at the neighbour location (xi, yj), use the modified shape point Gm(xi, yj) as a shape point in the shape Gm(x,y) of the support surface.
2. A method according to claim 1, where the parameter q is indicative of a distance from the selected location (xs, ys) to one of the locations (xi, yi).
3. A method according to claim 1, where the method comprises determining different shapes Gm(x,y) of the support surface based on variations of an optimization input.
4. A method according to claim 3, where the variations of the optimization input comprises variations of the shaping function F(q).
5. A method according to claim 1, where the same shaping function F(q) is used for determining a shape Gm(x,y).
6. A method according to claim 1, where the shaping function F(q) is dependent on the locations (x,y).
7. A method according to claim 3, where variations of the optimization input comprises variations of geometric constraints (tx, ty) of the shape Gm(x,y) or of the robot-gripper or fixture.
8. A method according to claim 1, where the method further comprises determining an optimized shape Gm(x,y) based on an optimization condition.
9. A method according to claim 8, where the optimization condition is determined based on a final orientation and/or position of the supported object determined for different initial orientations and/or positions of the object before being picked up or oriented relative to the fixture (131), where the final orientation and/or position is determined by use of the determined shape Gm(x,y) of the support surface.
10. A method according to claim 8, where determining the optimized shape Gm(x,y) comprises evaluating different candidate shapes of the determined different shapes Gm(x,y).
11. A method according to claim 8, where the variations of an optimization input are determined based on the optimization condition.
12. A method according to claim 1 for determining a shape Gm(x,y) of a support surface of a robot-gripper or fixture used for supporting two or more different objects, where the initial shape G(x,y) of the support surface is based on an outer shape of a combination of the two or more different objects.
13. A method according to claim 12, where the optimization condition is determined based on final orientations and/or positions of the two or more supported objects determined for different initial orientations and/or positions of the two or more objects before being picked up or oriented relative to the fixture (131), where the final orientations are determined by use of the shape Gm(x,y) of the support surface.
14. A robot-gripper (111) or fixture (131) for supporting an object (121, 122) picked up by a robot (101, 102) during robotic manufacturing, where the robot-gripper (111) or fixture (131) has a cut-out (141) with a support surface (142) for providing the support to the object, where the support surface has a shape Gm(x,y) obtained by the method according to claim 1.
15. A computer program product directly loadable into a memory accessible by a computing system, the computer program product comprises instructions for performing the steps of the method according to claim 1 when the computer program product is run on the computer system.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0037] Embodiments of the invention will be described, by way of example only, with reference to the drawings, in which
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
DETAILED DESCRIPTION OF EMBODIMENTS
[0044]
[0045]
[0046] During the assembly process, the objects must be held with an orientation and position that enables correct assembly. Particularly, when the robot 101, 102 has to pick the object 121, 122 from a source of arbitrary oriented objects, it may happen that the object 121, 122 are held inappropriately with an orientation or position which deviates from the desired orientation and/or position. Due to this, the assembly may be impossible or lead to an unsatisfactory assembly quality.
[0047] In general, embodiments can be used for robotic manufacturing such as assembly, material processing and other robotic processes where a gripper 111, 112 or fixture 131 is used for supporting an object 111 picked up by a robot 101 during the robotic manufacturing.
[0048]
[0049]
[0050] The alignment or re-orientation capabilities of the gripper 111 with a cut out 141 is therefore higher than the gripper without a cut out 141. Good alignment capabilities decrease the risk of the object not being picked up or being poorly aligned, in an attempted grasp, directly improving the success-rate of the grasps and the assembly. This is of high value in industries where the failure of a grasp cannot only result in reduced throughput, but potentially result in destruction of products and equipment.
[0051] In general, the cut-out 141 and support surface 142 is designed so that the object 111 is correctly grasped by the gripper 111 for a range of different initial orientations and/or positions of the object 111.
[0052] The same principles applies to the design of a fixture 131 and its support surface (not shown) which may be shaped so that an object 111, 112 is reoriented and/or repositioned, if necessary, from an initial orientation/position into a desired orientation.
[0053] The support surface 142 of the gripper or fixture 131 comprises a surface which contacts the object 111 during the initial grasp and during the re-orientation to the final orientation/position.
[0054]
[0055] The initial shape is a function of locations x,y on a reference surface 202. The reference surface 202 may the plane spanned by the x and y axes in
[0056] The initial shape G(x,y) has an opening 203 corresponding to the opening of the cut-out 141. The deepest point of the initial shape, i.e. the largest vertical distance from the opening 203 to a surface point of the initial shape G(x,y), is denoted h. The vertical distance from the reference surface 202 to the initial shape G(x,y) could represent a material thickness from a surface of the gripper 111 or fixture 131 to the initial shape G(x,y).
[0057] The locations x,y may be discretised into a discretised grid, e.g. a 2D grid as illustrated with x-locations discretised into x-locations 1-19. The resolution of the discretisation is given the discretisation intervals Δx and Δy. For convenience the discretisation in only shown for the x-axis, and the initial shape G(x,y) which is a 3D surface which is represented by a cross-section of the 3D-shape.
[0058] The initial shape G(x,y) may be discretised into a discretised initial shape. This discretisation may be performed by mapping the lowest point (i.e. the deepest point with respect to the opening 203) within a given 2D discretisation interval Δx, Δy to the discretised initial shape at the discretisation point x, y. The discretised initial shape corresponds to the initial shape G(x,y) and is therefore also denoted by G(x,y).
[0059] In order to determine a support surface 142 of a robot-gripper or fixture, a shape Gm(x,y) of a support surface 142 is determined based on the initial shape G(x,y). The shape Gm(x,y) or modified shape Gm(x,y) is determined as a modification of the initial shape by use of a shaping function F(q).
[0060]
[0061] The shaping function F(q) may be any function where q is defined dependent on a distance from the selected location (xs, ys) to neighbour locations (xi, yj), i.e. neighbour locations (xi,yj) to selected locations (xs,ys). The distance may be a scaled distance or other value indicative of a distance between the locations.
[0062] For example, the distance may be scaled distance, i.e. a weighted distance, determined as q=√(tx_i{circumflex over ( )}2+ty_k{circumflex over ( )}2), where tx_i and ty_k are obtained by dividing predetermined profile widths tx and ty into a set of steps tx_i and ty_k. The size of the steps tx_i and ty_k may be given by the discretisation of the initial shape G(x,y) so that it is equal to a multiple of the discretisation intervals Δx and Δy, respectively.
[0063] The shaping function F(q) may be an exponential function, e.g. a function F(q)=q{circumflex over ( )}b, where b can be any positive real number. Accordingly, the shaping function F(q) may be a linear function for b=1. The shaping function F(q) may be monotonically increasing or substantial monotonically increasing as a function of the parameter q. For example, the substantial monotonically increasing function F(q) may be non-increasing, e.g. constant or even slightly decreasing, in small local ranges, e.g. unimportant ranges.
[0064] The shaping function F(q) may be scaled by the height h being the maximum height of the initial shape G(x,y) of the support surface 142. Accordingly, the scaled or non-scaled version of the shaping function F(q) may be applied,
[0065]
[0066] For a plurality of neighbour locations (xi,yj) to the selected locations (xs,ys), modified shape points Gm(xi, yj) are determined based on the applied shaping function F(q) and the initial shape G(xi, yj) at the neighbour locations (xi,yj). This determination comprises a step of determining if a modified shape point Gm(xi, yj) provides an extension of the initial shape G(xi,yj) at the neighbour location (xi, yj). If an extension is provided, the initial shape G(xi,yj) is modified in the sense that the modified shape point Gm(xi, yj) is used as a shape point in the shape Gm(x,y) of the support surface. The resulting shape Gm(x,y) is illustrated by the 2D surface 250 which is a representation of the resulting 3D surface 250. The surface 250 corresponds to the support surface 142.
[0067] The extension is understood as an increase of the depth of the initial shape G(xi,yj) at the neighbour location (xi, yj), i.e. presence of an increase of the vertical distance (perpendicular to the xy plane) from the opening 203 to the modified shape point Gm(xi, yj) as compared with the initial shape point G(xi, yj). Alternatively, the extension can be understood as a decrease of the vertical height between modified shape point Gm(xi, yj) and the reference surface 202 as compared with the vertical height relative to the initial shape G(xi, yj).
[0068] In
[0069] The dots 204 indicate the lowest value of the object 121 within discretisation intervals Δx, Δy in the discretised grid. For example, G(4,y) is modified to the value of G(x,y) at the intersection of the vertical discretisation line 252 and surface 201.
[0070] The shaping function F(q) is applied to every dot 204 or discretised value of G(x,y), as illustrated with profile lines 253 going out of the dot. These profile lines are shown for G(4,y), G(16,y) and other points.
[0071] The initial shape G(x,y) or initial cut-out 141 is then modified so that the new values of the modified shape Gm(x,y) corresponds to the lowest value within each discretisation interval Δx, Δy. In this way, modified shape points Gm(xi, yj) are determined for locations (xi,yj) based on the shaping function F(q), e.g. the profile lines 253, so that Gm(xi, yj) is set to the lowest value of the shaping function F(q) within each discretisation interval of locations (xi,yj).
[0072] If the shaping function F(q) provides an extension of the initial shape G(xi,yj) at the neighbour location (xi, yj), or equivalently, if a shape point Gm(xi, yj) modified by shaping function F(q) provides an extension of the initial shape G(xi,yj) at the neighbour location (xi, yj), the shape point Gm(xi, yj) modified by shaping function F(q) is used as a shape point in the shape Gm(x,y) of the support surface.
[0073] As shown in
[0074] The updating of G with the value of the profile line may be performed so that the curve 250 is piecewise linear or so that the curve 250 is a stepped curve. The stepwise linear curve 250 may be obtained by connecting discretisation values of Gm(xi, yj) for neighbour coordinates xi or yj, or by extrapolating the curve 250 according to the profile line 253 over one or more coordinates xi, yj. The stepped curve, may be obtained by assigning values of Gm(xi, yj) to the curve 250 which are determined for a given coordinate xi or yj.
[0075] The resulting 3D surface 250 may be obtained by connecting the 2D curves in x and y directions by suitable surfaces. This is done taking the 2D position on the grid x, y, as the equivalent x and y coordinates in the 3D space and the value of G(x, y) as the remaining z component. Thereafter each point is connected to its surrounding neighbours to form small triangle meshes which form the final support surface Gm(x,y).
[0076] As noted above the step of obtaining a discretised version of the initial shape G(x,y) is optional. Accordingly, the shaping function F(q) may be applied for determining modified shape points Gm(xi, yj) by comparing the shaping function with the discretised or non-discretised initial shape function G(x,y) for locations (xi, yj) thereof.
[0077] In an embodiment, the obtained shape Gm(x, y) comprises a plurality of modified shape points Gm(xi, yj) and at least one unmodified shape point of the initial shape G(x,y). For example, the value for x=12, corresponding to the deepest point in the x and y directions may not be modified.
[0078] Examples for determining the updated profile Gm(x,y) include: [0079] The updated profile for Gm(6,y) is updated based on the profile line to the right of the dot and is updated according to the discretisation principle to the left of the dot. This corresponds to the principles explained above. [0080] The updated profile for Gm(7,y) is updated based on the profile line for the dot of Gm(8,y) since the profile line is lower than the dot for Gm(7,y). [0081] The updated profile for Gm(4,y) is updated by connecting dots 204 for Gm(4,y) and Gm(5,y).
[0082] In order to determine an optimum shape Gm(x,y) of a support surface of a robot-gripper 121 or fixture 131 different candidate shapes Gm(x,y) may be determined based on variations of an optimization input.
[0083] The optimum shape may be a shape which satisfies a predetermined optimization condition.
[0084] The optimum shape Gm(x,y) may be determined based on an optimization function, i.e. a function which determines the variations by use of methods such as gradient methods or other suitable optimization method. In this case, the variations of an optimization input are determined based on the optimization condition so that the optimal input are those which satisfies the optimization condition.
[0085] Alternatively, the optimum shape Gm(x,y) may be determined by iterative variations of the optimization input, e.g. according to a predetermined sequence of variations. The optimum shape Gm(x,y) may be the shape which meets the optimization condition in the best way. Accordingly, the optimized shape Gm(x,y) could be determined by evaluating candidate shapes Gm(x,y) of the determined different shapes Gm(x,y) relative to the optimization condition.
[0086] As an example, the shaping function F(q) may be used as an optimization input which is varied in order to find the shaping function which provides the best or most suitable shape Gm(x,y) given the optimization condition.
[0087] As mention above, the shaping function F(q) could be a parametrised function, e.g. the function q{circumflex over ( )}b parametrised in b, or other function parametrised in one or more parameters. Variations of the parametrised function F(q) could be obtained by varying the one or more parameters, iteratively or by use of the optimization function.
[0088] Alternatively, a set of predetermined different shaping functions may be applied iteratively in order to find the shaping function which provides the most optimum shape of the support surface 142.
[0089] According to an embodiment, the same shaping function F(q) is used for determining a shape Gm(x,y). That is, the same shaping function F(q) may be applied to all dots 204 of the discretised initial shape G(x,y) or other computation points of the numerical representation of the initial shape G(x,y).
[0090] According to another embodiment, different shaping functions F(q) or variations of the shaping function F(q) is applied to the initial shape G(x,y). For example, the parameter b in q{circumflex over ( )}b could be varied as a function of the location where the shaping function F(q) is applied, or as a function of the variable q. Thus, in general the shaping function F(q) may be dependent on the locations (x,y).
[0091] In addition to or alternatively to generating variations of the shaping function F(q), one or more other optimization input may be varied in order to determine an optimum shape Gm(x,y) of a support surface of a robot-gripper 121 or fixture 131.
[0092]
[0093] Geometric constraints for use as an optimization input may include one or more dimensions of the finger 301 such as the length L or height H which are varied during the process of determining the shape Gm(x,y) which may be optimized with respect to the optimization condition.
[0094] The optimization condition may be determined based on one or more scores.
[0095] The capability of a determined shape Gm(x,y) of the support surface 142 of a gripper 111 to alignment or re-orientate the object 121 from one specific initial pose to a final stable pose can be determined by use for known methods. Such methods may utilize friction, clamping force and geometric properties of the robot-gripper 111 or fixture 131.
[0096] Similarly, the capability of a determined shape Gm(x,y) of the support surface 142 of a fixture 131 to align an object 121 from a specific initial pose to a final stable pose can be determined. The determination may simulate the fall of the object 121 above the fixture 131.
[0097] One score of the optimization condition for a given shape Gm(x,y) of the support surface 142 may be determined based on determinations of deviations of final poses of a given object 121 from a desired pose. The final poses are determined for a plurality of different initial poses of the object. The different initial poses could be obtained from a random process, e.g. a random process which simulates a likely random distribution of different orientations and positions of objects 121 in a bin from which the objects are intended to be picked by a gripper 111. Similarly, the random process could simulate a random distribution of different orientations and positions of an object 111 relative to a fixture 131.
[0098] The optimization condition or one of the scores of the optimization condition may be determined as the angular and/or linear distance between the final pose of the object 121 and the desired pose.
[0099] Thus, in general the optimization condition may be determined based on a final orientation and/or position of the supported object 121 determined for different initial orientations and/or positions of the object before being picked up or oriented relative to the fixture 131, where the final orientation is determined by use of the determined shape Gm(x,y) of the support surface 142 of the gripper 111 or fixture 131.
[0100] The optimization condition may be determined each time a new shape Gm(x,y) has been determined and used for determining a variation of the optimization input, e.g. by use of known numerical optimization methods.
[0101] Embodiments of the method for determining the shape Gm(x,y) of a support surface 142 is generally applicable for supporting one or more different objects. The shape Gm(x,y) can be designed to support two or more different objects, by use of an initial shape G(x,y) of the support surface which is based on an outer shape of a combination of the two or more different objects.
[0102]
[0103] The outer shapes 381, 382 of the different objects 371, 372 can be combined in various ways.
[0104] For example, the combination or merging of different objects can be performed as an optimization method which determines the relative position and orientation of the objects 371, 372 which provides the best match of similar exterior structural features of the different feature. The optimised relative position and orientation provides a match where e.g. protruding structures of the two objects are aligned. For example, the match may be obtained by looking on the outer surface of an object from a specific point of view. The distance from the surface of the one object compared to that of the next object, using a predetermined view vector/direction provides a value for how similar they are if computed and added over the full region of the two objects.
[0105] In another example, the combination or merging of different objects is performed as an optimization method which determines the relative position and orientation of the objects 371, 372 which optimises overlap of the objects. As an advantage, this ensures that the cut-out generated will be as small as possible.
[0106] While these examples are based on an optimisation method, the combination of the objects 371, 372 may be performed in other ways including a manual merging of the outer shapes based on experience for a suitable merging.
[0107] When the shape Gm(x,y) of a support surface 142 is determined for supporting two or more different objects, the optimization condition used for determining the optimized shape Gm(x,y) is determined based on final orientations of the two or more supported objects for different initial orientations and/or positions of the two or more objects before being picked up or oriented relative to the fixture 131. In this case, the final orientations for the different objects are determined by use of the common shape Gm(x,y) for the different objects.
[0108] In summary the invention relates to a method for designing grippers and fixtures for handling objects in robotic manufacturing and pick-and-place tasks. To achieve this a method for determining a shape of the holding or support surface of the gripper or fixture is presented. This method includes steps of determining an initial shape of the support surface based on an outer shape of the object, applying a shaping function to different locations of the initial shape, determining modified shape points at locations of the initial shape by comparing the applied shaping function with the initial shape. If the application of the shaping function results in an extension of the initial shape G(xi,yj) at the neighbour location (xi, yj) this extension forms part of a modified support surface for the gripper or fixture. A method for determining an optimum shape of the support surface with respect to optimization conditions is also presented.
[0109] Although the present invention has been described in connection with the specified embodiments, it should not be construed as being in any way limited to the presented examples. The scope of the present invention is to be interpreted in the light of the accompanying claim set. In the context of the claims, the terms “comprising” or “comprises” do not exclude other possible elements or steps. Also, the mentioning of references such as “a” or “an” etc. should not be construed as excluding a plurality. The use of reference signs in the claims with respect to elements indicated in the figures shall also not be construed as limiting the scope of the invention. Furthermore, individual features mentioned in different claims, may possibly be advantageously combined, and the mentioning of these features in different claims does not exclude that a combination of features is not possible and advantageous.