Clothing is one of the three basic necessities of human life and a means of personal expression. As such, clothing or garment manufacturing is one of the oldest and largest industries in the world. However, unlike other mass industries such as the automobile industry, the apparel industry is primarily supported by a manual production line. Currently a sewing machine uses what is known as a feed dog to move the fabric through the sewing head relying on the operator to maintain the fabric orientation and keep up with the feed rate, also operator controlled. Previous attempts at automated sewing used the sewing dogs on a standard sewing machine and had a robot perform exactly the operations a human user would perform.
The need for automation in garment manufacturing has been recognized by many since the early 1980s. During the 1980s, millions of dollars were spent on apparel industry research in the United States, Japan and industrialized Europe. For example, a joint $55 million program between the Ministry of International Trade and Industry (MITI) and industry, called the TRAAS program, was started in 1982. The ultimate goal of the program was to automate the garment manufacturing process from start, with a roll of fabric, to finish, with a complete, inspected garment. While the project claimed to be successful, and did demonstrate a method to produce tailored women's jackets, it failed to compete with traditional methodologies.
Draper Laboratories in the U.S. received with $25 million of support from the government and industry with the goal of automating parts of the sewing process, beginning with setting a sleeve into a coat and then moving to automated seaming. In Europe, the BRITE project put millions of dollars towards automated sewing. Neither program resulted in successfully automating the entire process, although some minor gains were made.
Desirable in the art is an improved automated sewing machine that would improve upon the conventional automated sewing designs.
The accompanying drawings illustrate preferred embodiments of the invention, as well as other information pertinent to the disclosure, in which:
This disclosure is related to a system of automation, particularly in the area of placing each stitch near the correct threads of the warp and weft (fill) of the component pieces of fabric, that can be achieved by novel sensing and material handling devices. This can facilitate in achieving an automated garment making machine that produces garments with a proper shape when draped over the wearer's body.
This disclosure is related to refinements useful for automating a sewing process that is a subject of a patent application having U.S. Ser. No. 12/047,103, entitled “Control Method for Garment Sewing”, filed on Mar. 12, 2008 having an inventor, Stephen Lang Dickerson, which is entirely incorporated herein by reference. The '103 patent application discloses a sewing process based on a metric of cloth dimensions that does not change with fabric distortion. This allows control of the sewing or similar connection process that is indifferent to fabric distortions. However, in implementation of automated garment manufacturing, technical challenges include fabric actuation and sensing techniques that have robust accuracy and ability to reliably control multiple sheets of fabric. To address these issues, among others, the disclosed refinements below by which automated sewing can be feasibly realized focus on a subset of automated sewing, for example, the precise actuation and sensing of fabric near and remote from the sewing head during the sewing process.
Exemplary systems are discussed with reference to the figures. Although these systems are described in detail, they are provided for purposes of illustration only and various modifications are feasible. In addition, examples of flow diagrams of the systems are provided to explain the manner in which the making of garments can be accomplished.
The processing device 110 can include any custom made or commercially available processor, a central processing unit (CPU) or an auxiliary processor among several processors associated with the camera 100, a semiconductor based microprocessor (in the form of a microchip), or a macroprocessor. Examples of suitable commercially available microprocessors are as follows: a PA-RISC series microprocessor from Hewlett-Packard Company, an 80X86 or Pentium series microprocessor from Intel Corporation, a PowerPC microprocessor from IBM, a Sparc microprocessor from Sun Microsystems, Inc, or a 68xxx series microprocessor from Motorola Corporation.
The networking devices 120 comprise the various components used to transmit and/or receive data over the network, where provided. By way of example, the networking devices 120 include a device that can communicate both inputs and outputs, for instance, a modulator/demodulator (e.g., modem), a radio frequency (RF) or infrared (IR) transceiver, a telephonic interface, a bridge, a router, as well as a network card, etc. The camera 100 can further includes one or more I/O devices (not shown) that comprise components used to facilitate connection of the camera 100 to other devices and therefore, for instance, comprise one or more serial, parallel, small system interface (SCSI), universal serial bus (USB), or IEEE 1394 (e.g., Firewire™) connection elements.
The vision module 170 can facilitate counting threads of a garment material as well as inspecting for defects on the garment material during a cutting operation. The vision module 170 can further facilitate detecting markings on the garment material before cutting or sewing the garment material. The material actuator 195 facilitates moving the garment materials during the cutting and sewing operations. The cutting and sewing modules 180, 190 facilitate cutting and sewing the garment materials together, respectively. In one embodiment, the sewing module 180 can be configured to sew the perimeter or markings on the garment material based on tracking a pattern that amounts to following a predetermined sequence of thread counts and/or the orientation of threads. Alternatively or additionally, the sewing module 180 can sew two or more pieces of material together based on a predetermined sequence of thread counts and/or the orientation of threads for both parts, resulting in a sewn garment. Alternatively or additionally, the thread count of a cut piece is measured after cutting by the cutting module 190 and used by the sewing module 180 to sew two or more pieces together based on a calculated sequence of thread counts and/or the orientation of threads for both parts resulting in a sewn garment.
The memory 130 can include any one or a combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, etc.)) and nonvolatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.). The one or more user interface devices comprise those components with which the user (e.g., administrator) can interact with the camera 100.
The memory 130 normally comprises various programs (in software and/or firmware) including at least an operating system (O/S) (not shown) and a thread count manager 160. The O/S controls the execution of programs, including the thread count manager 160, and provides scheduling, input-output control, file and data management, memory management, and communication control and related services. The thread count manager 160 facilitates the process for cutting and sewing garment material based on thread counts and/or orientation of the threads. For example, the thread count manager 160 includes instructions stored in the memory 130. The instructions comprise logic configured to instruct the sewing module 180 to sew the garment material based on counting threads of the garment material. Optionally, the instructions comprise logic configured to instruct the sewing module 180 to sew the garment material based on the orientation of the threads. Yet another option, the instructions comprise logic configured to instruct the cutting module 190 to cut the garment material based on counting the threads of the garment material. Further details relating to the thread counting manager 160 is further described in U.S. patent Ser. No. 12/047,103, entitled “Control Method for Garment Sewing”.
The thread count manager 160 can be implemented by any computer-readable medium for use by or in connection with any suitable instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a nonexhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM, EEPROM, or Flash memory) (electronic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
A nonexhaustive list of examples of suitable commercially available operating systems is as follows: (a) a Windows operating system available from Microsoft Corporation; (b) a Netware operating system available from Novell, Inc.; (c) a Macintosh operating system available from Apple Computer, Inc.; (e) a UNIX operating system, which is available for purchase from many vendors, such as the Hewlett-Packard Company, Sun Microsystems, Inc., and AT&T Corporation; (d) a LINUX operating system, which is freeware that is readily available on the Internet; (e) a run time VxWorks operating system from WindRiver Systems, Inc.; or (f) an appliance-based operating system, such as that implemented in handheld computers or personal data assistants (PDAs) (e.g., Palm OS available from Palm Computing, Inc., and Windows CE available from Microsoft Corporation, and Google's desktop OS Chrome). The operating system essentially controls the execution of other computer programs, such as the thread count manager 160, and provides scheduling, input-output control, file and data management, memory management, and communication control and related services.
To sew two pieces of fabric 830 together, a number of processes must be coordinated. The CPU 205 processes the information and facilitates coordinating the various components 210, 215, 220, 225, 230, 235, 240, 245 to sew two pieces of fabric 830 together. An example of the coordinated process is provided below. The individual sheets of fabric 830 can be transported to the sewing machine 235 and placed flat on a table surface 335 (
To efficiently and reliably complete these varied tasks, an integrated system using multiple types of sensors and actuators is proposed as summarized as follows. The overhead gripper 220 or pick-and-place robot with a special end effector can be used to pull individual plies of fabric 830 from a stack of pre-cut fabric pieces. An off-the-counter overhead gripper 220 can be used and is fairly conventional; hence the overhead gripper 220 will not be further described herein.
The fabric transport coordination module 210 can control the conveyance system 225 that can include an array of small, inexpensive “budgers” 300 (
The overhead vision module 240 can provide position feedback of the fabric 830 as the fabric 830 is transported to the sewing head 815. The position feedback of the fabric 830 can be used to control the budger 300 that moves the fabric 830 toward the sewing head 815. Tracking the large motions of a piece of fabric 830 can be used to deliver the fabric 830 to the sewing head 815 accurately. Alternatively or additionally, identifiable markings, or fiducials, can be placed on the fabric 830 to facilitate with tracking the fabric 830, although existing features (e.g., buttons or ornamental designs) on the fabric 830 can also be used. The overhead vision module 240 can track these individual fiducials and estimate the position and wrinkle of the fabric 830.
Estimation can be improved with a suitable model of the fabric behavior. A Kalman filter or Extended Kalman Filter (EKF) is commonly used to estimate the position of a body in the presence of noise based on a model of the fabric 830. An example of the model of the fabric 830 includes a 2-dimensional x, y, and theta displacements and their derivatives of the center of mass of the fabric 830. Another example of the model of the fabric 830 includes a 2-dimensional finite element mesh where the nodes represent the states of the fabric 830.
An experiment was conducted to track the fabric using the overhead vision module 240. In this experiment, the tracking process includes the following events: 1) initialization, 2) state prediction, 3) measurement with data association and 4) state correction. The initialization stage processes the initial frames of the sequence. Background subtraction can be used to identify the fabric 830 (foreground) from the background of the conveyance system 225. Based on the assumption of background subtraction, the region of interest (ROI) can be identified using the overhead vision module 240. The tracking process was implemented in Matlab, a well-known signal processing software, for this experiment.
The estimation process can be carried out based on various assumptions and with various levels of calculation burden. Once the frames are read into Matlab, the algorithm can be run with the following criteria:
For the rigid assumption, errors were reduced by EKF where the error remains in the vicinity of 2 pixels. This experiment shows that the overhead vision module 240 using the above methods, criteria, and processes can be adequate for tracking the fabric 830 unless the fabric 830 is prone to buckling as is the case when the direction of motion is reversed.
At the sewing head 815 of the sewing machine 235, a current sewing machine feed mechanism can be modified to replace the standard sewing dogs and user with servo controlled dogs 230. By using the servo controlled dogs 230 as the method by which to control the fabric 830, the difficulties of fabric feed rate, tension control, and fabric position control can all be more adequately addressed. The budgers 300 provide the large fabric motions that the human would normally provide, and hence the budgers 300 and dogs 230 are coordinated by the fabric transport coordination and fabric sewing coordination modules 210, 215, and monitored for position feedback by the overhead vision and thread-level vision modules 240, 245 to help the process of making a garment.
For the actuators 1005 (
Alternatively or additionally, the driving motor can be placed inside the ball 305. Alternatively or additionally, electro-static force can be used in place of or in addition to vacuum. The voltages used may also be varied, much as with the vacuum. Alternatively or additionally, the budger 300 can be moved from place to place by a separate motion device, usually servo controlled. Thus, the budger 300 can become a type of robotic end of arm tooling and can be positioned above the fabric 830. (Above and below refer to the direction of gravity). Alternatively or additionally, the budger with the robotic end of arm tooling can freeze and thaw liquid to engage and move the fabric 830. The liquid can be water. The budger can include a contact surface that engages the fabric 830 and is maintained by thermo-couple effect close to the freezing temperature so that minimal energy and time is spent to freeze and thaw the liquid. The contact surface of the budger is controlled by provision of a liquid or gas on the side opposite the fabric 830. The liquid that is frozen and thawed is made available by osmosis or similar mechanism with the objective of keeping the surface damp but not dripping and to minimize the amount of liquid that are frozen and thawed.
Alternatively or additionally, the budger can utilize a servo controlled belt (instead of the ball 305) protruding or within a table surface 335 that is in contact with the fabric 830 for the purpose of moving and/or providing force to the fabric 830. Note that in this case the budger may be very low in height relative to the surface contact area. Alternatively or additionally, the budger can utilize a thin arm riding on the table surface for the purpose of moving and/or providing force to the fabric 830, where provision is made to minimize the disturbance of the fabric 830 caused by the arm motion. The arm itself can be a type of robotic arm tooling supported by the table surface 335 and thus can be very thin itself. The thin arm can generate air flow at the tip of the arm for friction minimization, thus, creating an air film between the arm and the fabric 830. The thin arm can include an oscillating plate with provision for preferential direction of motion. Such oscillations are known in the art, for example, a vibratory feeder.
The motors 310 that control the budgers 300 can include position sensors (not shown) in order to follow a given trajectory. However, due to the nonlinear mechanical properties and variety of fabric 830, and noticeable slippage between the budgers 300 and fabric 830, the system 100 can use the overhead vision module 240 to generate position feedback of the fabric 830 that facilitates in monitoring the movement of the fabric 830. The overhead vision module 240 can observe the position, alignment, and shape of the fabric 830 in order for the fabric 830 to remain align during the garment making process.
The ability of a single budger 300 can steer a square piece of cloth to quickly move forward to the left or to the right. With two or more budgers 300 coordinated in their action, near arbitrary translation and rotation including rotating in place can occur. The coordination of two or more balls 305 is similar to the coordination of independent steering of multiple wheels on a vehicle in which the vehicle is upside down and subject to the same holonomic constraints. Driving the balls 305 in a holonomic fashion is also feasible but can complicate the construction of the budger 300.
It should be noted that the cumulative count includes both positive and negative increments. The third criteria above, maintaining at least an approximate angular orientation, can help determine whether the passage of a thread represents a warp or a fill, and whether it is a positive or negative increment. A more precise estimate of angular orientation can be used to rotate the dogs 230 for closed-loop control of stitch patterns at arbitrary angles relative to a warp and/or a fill.
The thread-counting process can include fast imaging devices and moderately priced computational hardware that allow both sensing and computation to be performed in a small unit that can be replicated numerous times throughout a production machine. For example, CMOS imaging devices are now commercially available that are capable of exceeding 1500 frames per second. The imaging device can capture an image, such as that shown in
A high frame rate of the image data 405 is used to recognize very small motion (less than the width of a thread) in successive frames, e.g., to satisfy the Shannon sampling theorem as it applies to the spatial frequencies of the image. The image data 405 is sent to a corner detection unit 410 which extracts corners 415 from the image data 405. Two parallel algorithms can estimate translation and rotation, respectively. Both utilize corner features resulting from, for example, a Harris corner detection algorithm not only because corners are generally strong invariant features, but also because weave patterns exhibit them in abundance. No assumption can be made that all corners will be detected or that the same corners will appear in successive frames. One assumption can be made that only a very large number of the same corners will appear in successive frames. Alternatively or additionally, an intersection detection unit (not shown) can be used to facilitate detecting the position of the fabric 830. It should be noted that any features or characteristics, such the weft and warp, of the fabric 830 can be used to facilitate detecting the position of the fabric 830
A corner track unit 420 is used to detect fabric translation, measured at the center of the image (corresponding to the center of the dog's local coordinate system). The process is illustrated with images in
It is possible to estimate differential rotation as part of the same algorithm that computes translation, such as that shown in
In the examples shown in
Alternatively or additionally, a presser foot 820 can be designed to move up and down in time with the needle 825 so that it can hold the fabric 830 while the needle 825 makes a stitch but release the fabric 830 to allow the servo controlled dogs 230 to push the fabric 830 through the sewing head 815. The fabric sewing section 800 can be effectively addressed and resolved the problem of current automated sewing.
Alternatively or additionally, the servo controlled dogs 230 can use adhesion, viscosity liquid, and viscoelastic on a surface of the dogs 230 that engages the fabric 830 and “grip” the fabric better to move the fabric 830. Alternatively or additionally, the surface of the servo controlled dogs 230 that engages the fabric 830 can include needles that penetrate a portion of the fabric 830 to “grip” and move the fabric 830. Another way to grip the fabric 830 is to freeze liquid to the fabric and surface of the servo controlled dogs 230. To release the fabric 830 from the frozen liquid, the liquid is thawed at the surface of the servo controlled dogs 230.
Alternatively or additionally, a single servo controlled dog 230 can be used to achieve both forward and reverse motion and rotation, resulting in two degrees of freedom. This is sufficient for obtaining in-plane motion but cannot stretch or skew the fabric 830. The entire device can be mounted on an industrial sewing machine 235 that had been modified to allow for the servo controlled dog 230. For out-of-plane motion, the servo controlled dog 230 is mechanically attached to the sewing needle 825 to force proper timing between the contacts of the servo controlled dog 230 and needle 825 with the fabric 830.
The cable drive system shown in
The movement of the servo controlled dog 230 is determined by the travel distance of the stitch length anticipated for an application. Typical sewing speeds for non-autonomous sewing can be up to approximately 5,000 stitches per minute, which translates to approximately 80 stitches per second. Assuming an average stitch length of approximately two (2) millimeters, the servo actuators 1005 can accelerate up to approximately 23 g's or 225 m/s2 in order to simulate the speed of the current manual sewing process. In this example, the accuracy of the dog's motion is proportional to the stitch length of travel because large variations in stitch length and stitch position can cause unacceptably poor seam quality. Hence, the position accuracy should be on the order of fractions of a millimeter.
Although the invention has been described in terms of exemplary embodiments, it is not limited thereto. Rather, the appended claims should be construed broadly to include other variants and embodiments of the invention that may be made by those skilled in the art without departing from the scope and range of equivalents of the invention.
This application is a continuation of copending U.S. utility application entitled, “A FEED MECHANISM THAT ADVANCES FABRIC,” having Ser. No. 13/050,919, filed on Mar. 17, 2011, which claims the benefit of U.S. provisional application entitled, “Refinements in Automated Sewing,” having Ser. No. 61/315,247, filed on Mar. 18, 2010, which is entirely incorporated herein by reference. This application is related to U.S. patent application entitled, “A CONVEYANCE SYSTEM THAT TRANSPORTS FABRIC”, filed on the same date as this application having attorney docket no. 761902.0001USNP02A.