SHEET HANDLING METHOD AND APPARATUS

Abstract: A mass-production system for garment manufacture comprises gantry robots (4) which feed pieces (8,10) of fabric over a work table (1) to sewing and manipulating stations (2,3). In order to obtain close tolerance on seam positions, the outline of a shaped piece of fabric (10) is viewed by a vision system (11,12), and a notional "template" (15) of coordinates of ideal seam positions is "located" in an acceptable position relative to the outline. The robot shaft then lowers a gripper on to the fabric in accordance with that template position and moves the fabric to the work station. If the template will not fit the piece of fabric, the piece is discarded.

Description: This invention relates to a method and apparatus for handling flexible sheets, and particularly for moving pieces of fabric over a work table in a garment manufacturing system. Garments, such as underclothes and blouses, have previously been manufactured by passing suitably-shaped pieces of fabric ("cut parts") to a machinist, who then overlays and/or folds them as required, and passes them manually through a sewing machine. The machinist forms seams, binds the edges of the cut parts and adds lace and elasticated waistbands, where necessary. The accuracy of the positioning of the seams relies on the machinist's skill, and nominally-identical garments can finish up having quite a wide range of different sizes and shapes. Systems have been proposed for automating at least a part of the manufacturing process by using a robot to move a cut part to a work station, such as a sewing machine. The movement of the cut part is effected by a "gripper" which is mounted on the output shaft of the robot, and which makes contact with the upper surface of the cut part. Due to the flexible nature of the fabric, the sizes of cut parts which are cut simultaneously from a thick stack comprising many plies of fabric are not accurate. Furthermore, known automatic means for separating the plies and feeding the cut parts in turn on to the work table are not able to position the cut parts accurately on the work table. These factors act against the possibility of accurate location of the gripper on the cut part by the robot, and hence act against the possibility of producing garments of accurate sizes and shapes. GB-A-2 106 272 discloses a programming device for an automatic sewing machine in which sewing instructions corresponding to a required curved stitch line are stored. The fabric is clamped between two frames which are moved as an assembly relative to the sewing needle. No provision is made for the accurate positioning of a gripper on a fabric workpiece. It is an object of the present invention to provide an improved method and apparatus for positioning a gripper on a cut part, whereby the actual size of the cut part, and the required positions of all seams, are taken into account in said positioning. According to one aspect of the invention there is provided a method of positioning a gripper on a piece of fabric which is to be fed subsequently to one or more sewing machines for sewing a plurality of seams at different positions on said piece of fabric, the method comprising storing data representing a pattern of coordinates which accurately defines the required positions of all of said seams; viewing the outline of said piece of fabric on which the gripper is to be located and generating data relating to said outline; determining from the outline data and the pattern data a notional acceptable location for the pattern of coordinates relative to said outline so that accurate sewing of all of said seams can be achieved; and locating the gripper on said piece of fabric at a position determined in dependence upon said notional location. The piece of fabric is rejected if a satisfactory notional location relative to the outline cannot be determined. According to another aspect of the invention there is provided apparatus for positioning a gripper on a piece of fabric which is to be fed subsequently to one or more sewing machines for sewing a plurality of seams at different positions on said piece of fabric; the apparatus comprising means to store data representing a pattern of coordinates which accurately defines the required positions of all of said seams; means to view the outline of said piece of fabric on which the gripper is to be positioned and to generate data relating to said outline; means responsive to the outline data and the pattern data to determine a notional acceptable location for the pattern of coordinates relative to said outline so that accurate sewing of all of said seams can be subsequently achieved; and robot means for locating the gripper on said piece of fabric at a position determined in dependence upon said notional location. Embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings, in which Figures 1 and 2 are schematic plan and side views, respectively, of part of a garment manufacturing system incorporating gripper positioning apparatus in accordance with the invention, Figure 3 is a plan view of a cut part for manufacturing a garment, showing a seam tolerance band, Figure 4 is a diagram illustrating a notional template of ideal seam positions of a garment to be made from the cut part, Figure 5 illustrates critical regions of the tolerance band of Figure 3 with the notional template located thereon, Figure 6 illustrates the calculation of distance from the edge of the cut part to the notional template line, and Figure 7 is a diagram illustrating allowable seam position tolerances for use in determining a notional template position in an alternative embodiment of the invention. Referring to Figure 1, a garment manufacturing system includes a smooth flat work table 1, over which cut parts are to be moved between work stations, such as a manipulator 2 and a sewing machine 3, by a robot 4. The robot is of the gantry type, i.e. it is suspended over the table 1 from rails 5, 6 along which it moves in x and y directions. An output shaft 7 of the robot can move upwards and downwards (z motion) and can rotate about its vertical axis (ϑ motion). Cut parts are produced in batches, and such a batch 8 is shown positioned alongside the table so that a ply separator and feeder 9 can pick the top cut part off the pile and feed it on to the table. A cut part 10 is shown on the table after it has been placed there by the device 9. The cut part on the table 1 is viewed by a video camera 11, which may be mounted above the table or may be built into the surface of the table. In Figures 1 and 2 the camera is shown in the latter position for clarity of the figures. The camera may comprise an array of pixels (e.g. 512 x 512), but is preferably a line scan camera, in which case relative movement between the camera and the cut part is necessary so that the whole of the cut part is scanned. A line scan camera arrangement is capable of giving better resolution than a matrix camera, and takes up less space, but means for producing the relative movement must be provided. The output of the camera is fed to an image processing system 12. A gripper 13 is mounted on the bottom of the robot shaft for moving the cut part to the manipulator 2, where the cut part is folded, or to the sewing machine 3. The gripper is a flat plate of suitable shape, which bears down on the cut part so that the cut part can be slid over the table with a speed, orientation and direction of movement which are continuously determined by a robot controller 14 which controls the movements of the robot 4. The image processing system 12 includes a data store into which is entered an ideal theoretical "template" of co-ordinates which define all of the seam lines for the garment which is to be made from a cut part 10 of Figure 3. The template 15 is shown in Figure 4. From the information given by the camera, the image processing system determines an acceptable position for the template, orientated where necessary, to fit on to the cut part with the amount of material required for each seam extending beyond the template at the respective side. For some seams, such as those where binding is necessary, the template must be notionally located on the cut part 10 such that the amount of material extending beyond it at that edge lies between predetermined accurate maximum and minimum values. At other seams, such as those where excess material is automatically cut off during sewing, the amount of material must lie between an accurate minimum and a maximum which does not have to be so accurate. If the image processing system determines that it is not possible to fit the template to the particular cut part which has been scanned, the cut part cannot be used satisfactorily and is discarded. Otherwise, the template is notionally "fitted" in the required position and the robot is moved in accordance with that template position, by the robot controller, so that the gripper comes down on to the cut part in its correct position relative to the template for the first manufacturing operation to be carried out. For example, if the first operation involves binding of an edge, the gripper will be placed the required distance in from that edge so that the sewing machine 3 to which the robot 4 feeds the edge sews the binding in the correct position. Once the template has been initially fitted to the cut part, the controller can control all future operations, assuming that the cut part has not been allowed to slip relative to the gripper 13 or a subsequent gripper or manipulator, so that every fold and seam is made in exactly the right position in accordance with the initial seam pattern. An accurately-dimensioned garment therefore results from every cycle of operation of the system. The template location routine uses a thresholded image to produce the cut part edge outline. The outline is stored as an array of coordinates corresponding to the cut part edge position for each line of the image. Referring to Figure 5, the corners 16-21 of the cut part are located by calculating the second order differential, i.e. the rate of change of gradient, for each point on the outline. At a corner the gradient passes through a discontinuity, and each corner can therefore be recognised. This technique produces spurious corner data which can be eliminated by matching the found corners with previously defined expected corner positions. The seam tolerance bands 22-27 are found for respective edges of the cut part, between pairs of corners, using previously defined margins. When the required seam is straight between adjacent corners, an equation for the cut part edge is calculated using a best fit line through several outline points. This is shifted by the maximum and minimum seam distances from the cut part edge, to give equations defining the boundaries of the seam tolerance band. For curved edges, the best fit line is calculated using several points in the vicinity of the corner. At each corner, pairs of seam tolerance bands intersect forming critical regions 28-33. If the corners 34-39 of the ideal seam template 15 can all be located within critical regions, then it follows that the cut part seams can be sewn within the tolerance distances from the edges of the cut part, and the template will therefore be in an acceptable position. To attempt to place the seam template within the critical regions, the template corner (for example the corner 35) corresponding to the smallest critical region (for example the region 29) is located at the centre of that region. The minimum and maximum distances between the centre of the smallest critical region and the other critical region boundaries are calculated. The fixed distances between seam template corners must lie within these calculated minimum and maximum distances, for the centre of the smallest critical region to be a valid position for the corresponding template corner. If the centre of the smallest critical region is not acceptable, then the validity of the boundary corners of the smallest critical region is considered. If none of these are valid, then it is not possible to fit the seam template on the cut part and it is rejected. When the smallest critical region template corner has been located satisfactorily, then the minimum and maximum rotations required about the smallest critical region template corner, to rotate the other template corners into their corresponding critical regions are calculated. If the largest minimum rotation is greater than the smallest maximum rotation, then it is not possible to fit the seam template on the cut part and it is rejected. Otherwise the seam template is rotated by a mid value between the largest minimum rotation and the smallest maximum rotation. All the corners of the template will now be satisfactorily located. A check is made to ensure that the edges of the template also fit within the respective tolerance band. If an edge does not fit, the template position is adjusted again and the checks and repositioning are repeated. The distance L of an edge of the template 15 from the corresponding edge of the cut part 10 is determined, in accordance with Figure 6, from the equation This template location routine allows easy location relative to curved edges of a cut part. An alternative template location routine will now be described. The routine locates a number of points on the cut part. These points can either be corners, or specific points such as the midpoint between two corners, the centroid, or the intersection of two centre lines. Each edge (or seam) is assigned a weighting function, which is dependent on the accuracy required for that edge, and the associated point will thus have a weighting factor determined by the adjacent edges. A point or edge which has a very small tolerance will in subsequent operations be assigned a high weighting function. Referring to Figure 7, an angle ϑ and a distance S1 are derived from the sewing tolerances for each edge or centre line. Each edge, such as edges 40 and 41 in Figure 7, has a minimum tolerance and a maximum tolerance for sewing operations, and an average tolerance is calculated for each edge (midway between the minimum and maximum tolerances). For a corner, such as a corner 42, the values S1 and ϑ refer to the intercept 43 of the average tolerances for the two adjacent edges 40, 41. (This will be defined as the average tolerance intercept). S1 is the displacement from the corner to the intercept and ϑ is the angle of a line 44 joining the corner 42 and the intercept 43, referred to the cut part centroid. For each point, the x and y translation and the rotation relative to the centroid to move from the theoretical position of the average intercept on the template (x′ ave , y′ ave ) to (x ave ,y ave ) is calculated. This will depend on the actual orientation and shape of the cut part and is equivalent to the required centroid translation/rotation to match the template to that point on the cut part. The weighted average of the centroid translation/rotation found for each point is then calculated to yield the desired gripper centroid location. From these values the translation/rotation of the gripper attachment point can be calculated. Location of a corner may be performed by a variety of methods, dependent on the type of corner. One method is to find the intersection of several lines with the edge of the fabric near the corner, and then extrapolate the corner position. Centre lines can be found by interpolation from two edges. There are a number of possible routines to find particular features of interest within a cut part. For example, a corner may be found directly by using a convolution. Corners can be found by convolving the image of the cut part with specified corner shapes and searching for the best fits. For an ideal cut part, this method is not infallible and typically only one or two corners can be found. However, the gripper location algorithm still gives an acceptable match between the template and the cut part. In practice, the corners of the cut parts are not perfect and so errors could occur in the matching. For components with straight edges, the edges can be found by locating a number of points on each edge and fitting a line to the points. The corner location can then be calculated using the intercept of two adjacent edges. For components with curved edges, a number of points can be located on the edge and a predefined curve fitted to the points. The corner location can then be calculated using the intercept of two adjacent edges. Centre lines can be found from the equations for two edges. The location of each point used by the gripper location algorithm is identified and stored in the image processing system. The required translation of the gripper centroid to move each point separately to its ideal position is then calculated using S1 and 0. The image processing system calculates the weighted average of these values to produce the desired gripper centroid translation. The robot controller 14 (Figure 2) requires a translation/rotation for the gripper attachment point, which can be a different position from the gripper centroid. The image processing system 12 therefore calculates the required translation/rotation for the gripper attachment point from the values for the centroid and offsets for the gripper attachment point. A suitable algorithm is set out below. The corresponding distances and angles are shown in Figure 7. 1) For corners - window around corner. 2) Find corner and store location in matrix in vision processing system. 3) Repeat 1 and 2 for all defined features. 4) For each point calculate required centroid translation/rotation using the following equations. cos γ = t₂/S₁ or S₁ = t₂/cos γ and the optimum centroid location is (x′ ave -x ave ), (y′ ave -y ave ) The optimum centroid location for the point will be :- 5) From average centroid translations/rotation take weighted average to calculate required gripper location. 6) Calculate translation/rotation for gripper attachment point from centroid offset and set-up data. 7) Transmit gripper attachment point offset and axis rotation to robot controller. The vision processing system is required to find the offset of the actual gripper centroid position from the theoretical template centroid position. The routine initially calculates the offset of the actual average tolerance intercept (x ave , y ave ) from the cut-part point (x act ,y act ) using the equations derived below. M = [(x c - x act )² + (y c - y act )²] ½ cos α = [ x act - x ave ]/S₁ sin α = [y act - y ave ]/S₁ and sin (ϑ + α) = [y c - y act ]/M cos (ϑ + α) = [x c - x act ]/M also sin (ϑ + α) = sin ϑ cos α + cos ϑ sinα cos (ϑ + α) = cos ϑ cos α - sin ϑ sinα Therefore cos α = [sin (ϑ + α) - cos ϑ sin α] / sin ϑ and sin α = [cos ϑ cos α - cos (ϑ + α)] / sin ϑ ie cos α sin ² ϑ = sin (ϑ+α)sin ϑ - cos² ϑ cosα + cos(ϑ+α)cosϑ ∴x act - x ave = [S₁(x c -x act )cosϑ]/M + [S₁(y c -y act )sinϑ]/M and ∴ y act - y ave = [S₁(y c - y act )cosϑ]/M - [S₁(x c -x act )sinϑ]/M The optimum location for the gripper centroid at this point will be the offset from the theoretical intercept position (x′ ave , y′ ave ) to the actual intercept position (x ave ,y ave ). The actual offset of the gripper centroid position from the template centroid position is calculated by taking the weighted average of the optimum gripper centroid offsets. i.e. optimum centroid offset = (x′ ave - x ave ), (y′ ave - y ave ) The angle of rotation (⊘) for the centroid at each point must then be calculated from the following equations. The change in rotation between the theoretical gripper centroid orientation and the actual orientation of the gripper centroid can be found by taking the weighted average of ⊘ for each point. From the gripper centroid translation and rotation offsets, the offsets for the gripper attachment point can be calculated. By use of the invention, all of the seams of the garments will be accurately sewn at the correct positions, despite differences in sizes and shapes of the cut parts and despite the fact that the ply separator and feeder does not position the cut parts accurately on the table. Hence, greatly improved consistency between nominally-identical garments can be achieved.

Claims: A method of positioning a gripper (13) on a piece of fabric (10) which is to be fed subsequently to one or more sewing machines (3) for sewing a plurality of seams (22-27) at different positions on said piece of fabric, characterised by storing data representing a pattern of coordinates which accurately defines the required positions of all of said seams; viewing the outline of said piece of fabric on which the gripper is to be located and generating data relating to said outline; determining from the outline data and the pattern data a notional acceptable location (15) for the pattern of coordinates relative to said outline so that accurate sewing of all of said seams can be achieved; and locating the gripper on said piece of fabric at a position determined in dependence upon said notional location. A method as claimed in Claim 1, characterised in that if a said acceptable location (15) cannot be determined, the locating of the gripper is inhibited and the piece of fabric (10) is rejected. Apparatus for positioning a gripper (13) on a piece of fabric (10) which is to be fed subsequently to one or more sewing machines (3) for sewing a plurality of seams (22-27) at different positions on said piece of fabric; characterised by means (12) to store data representing a pattern of coordinates which accurately defines the required positions of all of said seams; means (11) to view the outline of said piece of fabric on which the gripper is to be positioned and to generate data relating to said outline; means responsive to the outline data and the pattern data to determine a notional acceptable location (15) for the pattern of coordinates relative to said outline so that accurate sewing of all of said seams can be subsequently achieved; and robot means (4) for locating the gripper on said piece of fabric at a position determined in dependence upon said notional location. Apparatus as claimed in Claim 3, characterised in that the means to view the outline comprises a video camera (11). Apparatus as claimed in Claim 3, characterised in that the means to view the outline comprises a line scan camera (11); and in that there is provided means to cause relative movement between the line scan camera and the piece of fabric (10), whereby the whole of the piece of fabric is viewed. Apparatus as claimed in any one of Claims 3-5, characterised in that the robot means (4) comprises a gantry robot having a substantially vertical output shaft (7), to which the gripper (13) is attached.

Inventors: GILLIAT, JEREMY
Applicants: CEGELEC CONTROLS LTD.
Application year: 1989
Main classification: D05B21
IPC codes: D05B19