[0001] 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.
[0002] 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.
[0003] 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.
[0004] 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.
[0005] 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.
[0006] 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 seweing
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.
[0007] The piece of fabric is rejected if a satisfactory notional location relative to the
outline cannot be determined.
[0008] 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 seweing
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.
[0009] 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.
[0010] 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).
[0011] 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.
[0012] 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.
[0013] 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.
[0014] 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.
[0015] 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.
[0016] 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.
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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.
[0022] 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

[0023] This template location routine allows easy location relative to curved edges of a
cut part.
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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.
[0028] There are a number of possible routines to find particular features of interest within
a cut part.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] Centre lines can be found from the equations for two edges.
[0033] 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.
[0034] 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 -xave), (y′ave-yave) 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.
[0035] 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

∴ y
act - y
ave = [S₁(y
c - y
act)cosϑ]/M - [S₁(x
c-x
act)sinϑ]/M
[0036] 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)
[0037] The angle of rotation (φ) for the centroid at each point must then be calculated
from the following equations.

[0038] 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.
[0039] 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.
1. 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.
2. 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.
3. 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.
4. Apparatus as claimed in Claim 3, characterised in that the means to view the outline
comprises a video camera (11).
5. 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.
6. 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.