Computer-Controlled 3D Freeform Surface Weaving

Xiangjia Chen Lip M. Lai Zishun Liu Chengkai Dai Isaac C.W. Leung Charlie C.L. Wang Yeung Yam Department of Mechanical and Automation Engineering, The Chinese University of Hong Kong, Shatin, Hong Kong, China Centre for Perceptual and Interactive Intelligence (CPII) Limited, Hong Kong, China Digital Manufacturing Lab, School of Engineering, The University of Manchester, United Kingdom
Abstract

In this paper, we present a new computer-controlled weaving technology that enables the fabrication of woven structures in the shape of given 3D surfaces by using threads in non-traditional materials with high bending-stiffness, allowing for multiple applications with the resultant woven fabrics. A new weaving machine and a new manufacturing process are developed to realize the function of 3D surface weaving by the principle of short-row sha**. A computational solution is investigated to convert input 3D freeform surfaces into the corresponding weaving operations (indicated as W-code) to guide the operation of this system. A variety of examples using cotton threads, conductive threads and optical fibres are fabricated by our prototype system to demonstrate its functionality.

keywords:
3D surface weaving, non-traditional material, weaving hardware, computational fabrication.

1 Introduction

The history of textile fabrication is probably as old as human history[1]. With the development of civilization, the function of textile products has been extended from kee** warmth to smart wearable devices in applications such as aerospace engineering [2] and biomedical engineering [3, 4]. There are growing demands for 3D sha** new composite materials [5] and e-textile [6, 7], where the geometry of fabrics could possibly be formed by four different methods including knitting [8, 9, 10, 11], weaving [12, 13, 14], felting[15] and robotic deposition / winding  [16, 17, 18].

In the fabrics formed by felting, threads / fibres are randomly distributed (see the right of Fig.1) – i.e., not controllable. The approaches of robotic direct deposition can only fabricate structures with weakly bonded threads / fibres – i.e., the threads are ‘stitched together’ by chemical but not mechanical bonding in a manner similar to filament based 3D printing [16, 17], and the winding technique is mainly limited to the surfaces obtained by revolution [18, 19]. To overcome these problems, a new technology needs to be developed for fabricating woven structures with controllable locations of threads on 3D surfaces. Note that, for the sake of explanation, we simply call each unit structure of woven fabrics as a stitch in the rest of this paper. Fig.1 shows the stitch structures in weaving (left), in knitting (middle), and the unstructured threads in felting (right). Generally, all structured stitches need to be mapped into the elements of a two-dimensional grid layout to enable the manufacturing process. Such a map is named as weaving map (see Fig.2(b) for an example). Weaving process results in interlaced warp and weft threads that are nearly perpendicular to each other [1] – fabrics can therefore be formed by threads with high bending-stiffness. This enables many applications using threads with advanced physical functions such as carbon fibres, optical fibres, and conductive wires (ref. [5, 6, 7]).

Refer to caption
Figure 1: An illustrations of woven structures using non-traditional materials with high bending-stiffness, which can neither be realized by the knitting process (i.e., highly bent loops are formed) nor the felting process (i.e., none woven structure is formed). The width swsubscript𝑠𝑤s_{w}italic_s start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT of a woven structure is determined by the mechanical components as reed and the height shsubscript𝑠s_{h}italic_s start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT can be controlled by the motors & gears of warp beams.

Three-dimensional freeform shapes can be formed in knitting by the operations to increase or decrease the number of stitches, which has been commonly adopted in hand knitting for simple shapes such as a rounded cap since the 16th century [20]. Different from weaving, the inter-looped stitches in knitting are formed by war** a continuous filling thread throughout the whole fabric-forming process. More complicated geometry was considered in computer graphics by employing increase-decrease sha** for hand knitting [11] or short-row sha** for machine knitting [21]. Increase / decrease sha** changes the local width of the fabric by adding an extra loop in a row of stitches (or trap** a loop to more than one loop in the previous row). Short-row sha** changes the local height of the fabric by knitting partial rows in regions needing more stitches. Modern computational techniques have been developed to generate knitting code for realizing desired shapes on knitting machines, including the compiler [8], the visual programming tool [22], and the algorithm for controlling the distribution of elasticity [21]. However, highly curved loops formed in knitting make it challenging to use materials with high bending-stiffness (see the middle of Fig.1). An alternative manufacturing method is needed.

We aim at develo** a new technology for computer-controlled fabrication of 3D freeform shapes by woven structures. Different from the existing works on weaving 3D solid geometry like height-fields (ref. [23]), the weaving technique developed in our work focuses on producing 3D surface geometry. 3D surface weaving products can be widely seen in our daily life (e.g., woven baskets and woven chairs), which however are mainly hand-made. Ren et al.[14] presented an optimization-based approach to design woven structures by an algorithm to compute the ribbon’s planar geometry. However, the manufacturing process has not been considered. The challenges for realizing a computer-controlled 3D surface weaving process include:

  • 1.

    To form a 3D surface patch, different numbers of stitches should be produced in different rows on the resultant woven structures – therefore, a new manufacturing process different from flat weaving needs to be developed.

  • 2.

    A new machine to realize the 3D weaving process needs to be developed to enable the length control of warp threads and weft threads in different columns and rows.

  • 3.

    A new algorithm is also demanded to convert an input 3D freeform surface into the machine instruction of weaving operations.

To the best of our knowledge, these do not exist in literature although the demanded algorithm shares some similarity to our earlier work of knitting map generation (ref. [21]). Considering the requirements that 1) the first row and the last row of weaving are located on the boundary of 3D surface patches and 2) only one weft thread is allowed to travel during the process, the 3D surface patch utilized in this paper should be an oriented 2-manifold with disk-like topology.

Refer to caption
Figure 2: Given the 3D surface of a vest’s front piece, the 3D woven structures (c) are formed by controlling (a) the lengths of warp threads in different columns – e.g., Wisubscript𝑊𝑖W_{i}italic_W start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and Wjsubscript𝑊𝑗W_{j}italic_W start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT have different lengths and (b) the different starting / ending positions of the weft thread to form short rows – see the regions circled by dash lines. Fabricating the 3D woven structures is supervised by a weaving map as shown in (d). The result of fabrication by cotton threads are shown in (e, f) with red for warp threads and blue for weft threads.

2 Weaving 3D Freeform Surface

To enable the new manufacturing process of 3D surface weaving, both the new hardware and the new algorithm are developed in our work. Basically, a 3D surface of woven structures can be formed by controlling the lengths of warp threads in different columns and the different starting / ending positions of the weft thread as illustrated in Fig.2(a, b).

Jacquard device[24] on a flat weaving machine, which is originally used to product flat embossed patterns on fabrics, is first modified to enable the function of partial weaving by controlling different up and down states of warp threads (i.e., those along the column directions). As a result, different numbers of warp threads can be woven by the weft thread (i.e., along the row direction) starting from / ending at different locations – see Fig.2(b, c) for an example and Sec. 3.1 for more details. Secondly, considering that the shape of 3D woven fabric is determined according to the lengths of the warp threads in different columns, different warp threads need to be controlled to ‘tighten’ or ‘release’ individually (Sec. 3.2). A new mechanism as a matrix of warp beams is developed to realize this function (see the right of Fig.3). How to effectively form the desired pulling operation while kee** the warp threads tight all the time during the weaving process is one of the most challenging tasks. A weaving mechanism is designed for this purpose (Sec. 3.3). The other challenging task is weft length control, which is realized in our system by dual robotic-arms equipped with camera together with a camera mounted above the weaving region (Sec. 3.4).

Refer to caption
Figure 3: Our computer-controlled 3D weaving system can fabricate woven structures to form a target 3D surface shape and it mainly consists of four hardware parts: 1) jacquard device, 2) warp beams, 3) weaving mechanism, and 4) shuttle moving mechanism. The weaving process can be completed automatically with the help of two robotic arms equipped with camera together with a camera mounted above the weaving region. The weaving result as a hemisphere with embedded optical fibres is shown in the right-upper corner.

In the software aspect, an algorithm is developed to generate weaving maps for controlling the operations of our weaving machine (see Fig.2(d) for an example). The algorithm is based on first generating a knittable stitch mesh by using the geodesic field based method in [21]. The stitch mesh for knitting is converted into a weaving map by considering the jacquard device and the weaving mechanism employed in our system. Each weaving map is later converted into a set of operations defined as W-code to govern the machine weaving. Details of the algorithm can be found in Sec. 4.2.

In summary, the technical contributions of our work include:

  • 1.

    A new manufacturing process for three-dimensional surface weaving that can employ warp / weft threads with high bending-stiffness;

  • 2.

    The novel design of a computer-controlled machine for 3D surface weaving that enables the length control of warp and weft threads in different columns and rows;

  • 3.

    A computational solution that can convert an input 3D freeform surface into the corresponding weaving operations.

The performance of our technology has been tested and verified on a variety of examples in 3D freeform shape. Its potential applications will be demonstrated by woven surfaces fabricated by our prototype implementation with embedded conductive threads and optical fibres.

3 Process and Hardware Design

We present the manufacturing process and the hardware design of our 3D surface weaving system in this section. The following design parameters are adopted for the prototype of our machine to aim at the proof-of-concept applications. The dimensions of our machine are 1.0m (length) ×\times× 1.2m (width) ×\times× 1.2m (height) – see Fig.3. The maximal width of fabrics supported by our machine is designed as 198mm, which is formed by 100 warp threads with a fixed stitch width swsubscript𝑠𝑤s_{w}italic_s start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT as 2mm. The length of woven fabrics is theoretically unlimited, and the stitch height shsubscript𝑠s_{h}italic_s start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT can be controlled by the warp beams in our design. The minimal stitch height is determined according to the material and the dimension of the weft threads used in weaving.

Refer to caption
Figure 4: The jacquard device (a, b) contains 13 components to lift the selected warp threads under computer control. The parsing motions of two heddle lifters with drop** and lifting commands are shown as: (c) the initial state, (d) the hanging-up state, and (e) the lifted state.

3.1 Partial weaving by Jacquard device

One major idea for forming the woven structure on a 3D freeform surface is to ‘partially’ form stitches on different rows during the weaving process. Woven structures are formed by lifting up and pulling down warp threads in an interlaced way. Specifically, woven stitches will only be formed in the region where different up / down statuses are given to the neighboring warp threads so that they are inter-weaved with the weft thread. When neighboring warp threads are in the same statue of up (or down), the weft thread will bypass them to ‘skip’ the stitch. Stitches are selectively added into the resultant fabrics by this partial weaving process – therefore 3D surface can be form in a way similar to the short-row sha** technique in knitting.

A jacquard device is employed in our system to selectively lift up warp threads to form a shed so that the shuttle holding the weft thread can travel through. Such a device is commonly found in traditional flat weaving machines to realize embossed patterns on woven fabrics. Differently, a jacquard device is introduced in our system to realize partial weaving on our machine. As illustrated in Fig.4, a lifting platform with 10 knives is driven by a pair of screws to move up and down to lift (or drop) the selected heddle threads synchronously (the red arrows in Fig.4(c) and (d)). Each hook can be individually controlled by a push or a pull motion (as indicated by the green arrow in Fig.4(c)) with the help of a needle connected to an electronic solenoid. This controls whether a hook will be hung on the corresponding knife to move together. The solenoid can become shortened when receiving a control command. As a result, the attached needle will position the corresponding hook to the location to be lifted by a knife.

The parsing motions are given in Fig.4(c)-(e) to illustrate how to form a shed by two hooks holding two neighboring warp threads. In this example, the right hook is selected to lift its corresponding warp thread while the left hook keeps drop**. First of all, the hooks are all hanging on their corresponding needles when the lifting platform is at a higher level in the initial state (see Fig.4(c)). When a command is received, the lifting platform moves down to the height where the hooks can hang over the knives by shortening the solenoids to move the needles (as indicated by the green arrow in Fig.4(c)). After pulling the right hook to the hanging position (as Fig.4(d)), the lifting platform moves up. As a result, the knife has lifted the right hook together with the warp thread. A shed is formed by the lifted warp thread and the warp thread held by the left hook (see Fig.4(e)).

Refer to caption
Figure 5: Each warp beam is compounded of a frame ⓐ, a coil of warp thread ⓑ, a motor ⓒ, and a pair of driving gears ⓓ and ⓔ.

3.2 Warp beams for thread length control

Different from the flat weaving machines, all warp threads in our system can be individually pulled and released by the warp beams (see a matrix of warp beams shown at the right of Fig.3. As a result, the length of each individual warp thread can be precisely controlled according to the stitch height shsubscript𝑠s_{h}italic_s start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT to form the desired 3D freeform shape of fabrics.

The mechanical design of a warp beam is as shown in Fig.5. A warp thread is held by a pair of driving gears and can be released from the coil through the two spacing holes. The releasing and pulling motions of the warp thread are precisely controlled by the engaged step motor with the help of the driving gears. To control 100 warp threads, a matrix of 100 warp beams is used in our prototype machine. This is a scalable design that can be extended to many more warp beams when needed.

3.3 Weaving mechanism

Refer to caption
Figure 6: A novel weaving mechanism (a) is invented in our system to form required ‘push’ of weaved stitches on the fabric by operating 15 components together. Specifically, the front piece \tiny{12}⃝ and the back piece \tiny{14}⃝ of the reed are fixed while the middle piece \tiny{13}⃝ can shift a bit along the weft direction driven by a pair of eccentric wheels \tiny{15}⃝. The detailed structure of the reed is given in (b).

As the most important part of our hardware system, the weaving mechanism presented in this sub-section involves more parts and complicated motions. After forming the shed by the jacquard device and releasing the corresponding threads by the warp beams, the weaving machine completes the rest operations to form the required woven structures on the fabric.

During the weaving process, the newly formed woven stitches are pushed to the previous rows. With the strategy of short-row sha**, the desired 3D surface can be realized effectively. Note that the woven structures are formed partially on each row for realizing the 3D surface shape. This pushing function for woven stitches is jointly realized by the new reed design with three pieces and the weaving motions for shifting the different lengths of threads, where the warp threads in different lengths are released by the warp beams according to the designed weaving map (from the beam side to the fabric side). The components of our weaving mechanism and the detailed structure of the reed with three pieces of blades are as shown in Fig.6. The other important components include the limiters and the fabric clamp. The two limiters work like a ‘sliding door’ that moves up and down. When the ‘door’ is closed, all warp threads are fixed at the same level. Located above the collection platform, the fabric clamp can move down to press and hold the already completed woven structures on the fabric.

Refer to caption
Figure 7: The change of the woven fabric and the configurations of the weaving mechanism while fabricating a few rows as indicated by the weaving map (i.e., the colorful grids – the meaning of different color can be found in Sec. 4.2): (a) the status after weaving the first row, (b-i) the parsing motions for weaving the second row, (j, k) the states when and after weaving the third row, and (l) the state after weaving the fourth row.

The parsing motions for weaving a row of woven stitches are explained below with the help of Fig.7.

  • 1.

    After weaving one row (see Fig.7(a)), we are about to lift / drop the heddle threads to realize a new jacquard pattern of warp threads according to the second row of the weaving map. The changed up / down states of warp threads are as shown in Fig.7(b). At the same time, we release the warp threads by the warp beams according to the pattern shown in the second row of the weaving map.

  • 2.

    The reed is placed to a location near the heddle board while the limiters are open and the fabric clamp is pressing the fabric on the collection platform. This forms a shed with the largest area to ease the travel of the shuttle that carries the weft thread moving from one side to the other side of the loom (see Fig.7(c, d)).

  • 3.

    After the shuttle’s travel, woven structures of the second row in the weaving map have already been formed on the fabric but in a loose way. We move the reed to the middle position that is slightly ahead of the limiters (see Fig.7(d, e) – indicated by the red arrow).

  • 4.

    The limiters are then closed to ensure all warp threads are fixed at the same height before catching them by the reed (see Fig.7(e, f) – indicated by the blue arrows). Meanwhile, the loosely formed woven structures are ‘pushed’ onto the previously produced fabric by (i) shifting the middle blade of the reed to hold all warp threads (Fig.7(f)), (ii) lifting up the fabric clamp(Fig.7(f, g)), and (iii) tightening the loosely formed woven structures by pushing the reed forward to the position below the fabric clamp (Fig.7(g, h)).

  • 5.

    Lastly, as shown in Fig.7(h), the fabric clamp is dropped to hold the newly formed stitches on the fabric (shown as the green arrow), the reed releases the warp threads (indicated by the orange arrows), and the limiters are opened (see the blue arrows). The reed is moved back to the initial position to prepare for weaving the next row (Fig.7(i, j)).

These motions are repeatedly applied for every row to complete the weaving process – e.g., see Fig.7(j, k) for the third row and Fig.7(l) for the fourth row. As a result, the woven fabric can be formed according to the designed 3D shape after weaving all rows.

3.4 Weft length control with the help of robotic manipulation

After using the warp beams and the weaving mechanism to control the lengths of warp threads, we now start to tackle the other challenge of weft length control for 3D weaving. When the weft threads are longer than the length determined by the number of demanded stitches, loose loops will be formed at the end of a row. If the weft threads are too short, it will lead to unwanted distortion and lateral tension on the warp threads (also the formed stitches) at the end of a row.

First of all, a shuttle moving mechanism (see Fig.8(b)) is designed for moving the shuttle of weft thread automatically. Two linear guide rails are installed on the left and right sides of the reed. Two rods driven by stepper motors are mounted on these guide rails to push the shuttle from left to right (by the left rod) or from right to left (by the right rod). The heads of the rods are designed in a hexagonal shape so that can engage with the shuttle and drive its rotation. While pushing the shuttle from one side to the other side by a rod, the motor of the rod will drive to rotate the shuttle so that the length of weft thread is changed. Shuttle limiters are designed to capture the shuttle at both ends, which enables the return of a rod.

Refer to caption
Figure 8: Our system employs two robotic arms (a) to realize the length control of weft thread by working together with the shuttle moving mechanism (b). The loosely formed loop of weft thread at the end of a row will be tightened by the hook driven by a robotic arm – see (c) and (d) for the weft thread before and after tightening. The tightening operation is driven by a camera mounted on the top of fabric clamp. The camera captured images and their results of edge extraction represented by binary images – as vision-feedback of robotic manipulation are shown in the window views at the upper-left corner of (c) and (d), where the blue dash line indicates the target turning position of weft thread after tightening.

Although the rotation of shuttle while traveling can release the weft thread and control its length, the resultant weft thread used for a row can be imprecise considering the diameter change of shuttle by wrapped thread. To solve this problem, we employed two robotics arms with vision-feedback control to hook onto the weft thread and pull its turning point to a demanded position as illustrated in Fig.8(c) and (d).

In our implementation, we mount a camera on the top of fabric clamp to capture the position of the weft thread using the edge extraction based algorithm – see the window views at the upper-left corner of Fig.8(c) and (d). Two TM900 robotic arms are used to drive the slender hooks as their end effector, where the camera mounted on a robotic arm can help to successfully capture the weft thread by the hook. The robotic arms are placed in positions by checking the reachability map to ensure that the entire motion process avoids encountering the singularity poses. This robot-assisted tightening operation can help form stitches with better dimension control on the resultant fabrics. Note that using two robotic arms here is primarily for the sake of flexibility in implementation. The similar function can be realized by using either a single robotic arm or a well-designed sophisticated mechanism, which however could be restricted by the working envelope or the possible motion flexibility.

3.5 Control system

The prototype of our 3D surface weaving system consists of 112 step motors (100 for warp beams, 1 for the jacquard device, and 11 for the weaving mechanism), 100 electronic solenoids (for the warp threads), and 6 position sensors. It is important to control these actuators and sensors in a stable and synchronized way. As over 300 IO channels are required, the IO extension chip (i.e., PCA9535) is employed to connect the sensors / actuators to the Micro Control Unit (MCU – i.e., F103ZET6) through the Inter-Integrated Circuit (IIC). The diagram is as shown in Fig.9, where we use three sets of IIC to communicate with 24 PCA9535 to complete the control tasks – considering that the maximal number of chips for each IIC is 8. The firmware of our control system was developed in C programming language and all circuits are designed by using EasyEDA. Detailed schematics and PCB layouts have been provided in Appendix A.

Refer to caption
Figure 9: A diagram of the control system used in our approach.
Refer to caption
Figure 10: Given a target surface, we first generate a geodesic distance-field by using the central line of the piece as source (a). A stitch mesh for short-row sha** based knitting as shown in (b) can be generated from the isocurves of the geodesic distance-field by optimized quadrangles / triangles (details can be found in [21]). The stitch mesh can directly map into (c) a knitting map K(,)𝐾K(\cdot,\cdot)italic_K ( ⋅ , ⋅ ), which is converted into (d) a weaving map W(,)𝑊W(\cdot,\cdot)italic_W ( ⋅ , ⋅ ) and the machine code with its structure / syntax as explained in (e) to supervise the operations of our weaving machine.

4 Machine Code Generation

Given a 3D freeform surface to be fabricated by our weaving machine, we first generate a short-row based stitch mesh that can result in a knitting map. After that, the knitting map is converted into machine code including both the information of jacquard pattern and the instructions for weaving operations. The whole pipeline of machine code generation has been illustrated in Fig.10.

4.1 Knitting map generation

A geodesic distance-field is first computed from the user-defined source (point or curve) on the input surface, where the isocurves of the field with the distance as the target stitch width swsubscript𝑠𝑤s_{w}italic_s start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT are extracted to serve as the column boundaries of stitches (see Fig.10(a) for an example). The isocurves are then sampled into segments with lengths equal to the target stitch height shsubscript𝑠s_{h}italic_s start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT. Lastly, the stitch meshes are constructed by connecting segments on neighboring isocurves with optimized quadrangles / triangles. The following rules are applied to generate the knitting maps considering manufacturing constraints:

  1. 1.

    The stitches are organized row by row;

  2. 2.

    All stitches in the same row are neighboring connected;

  3. 3.

    Stitches in the same row are formed in an alternating left-to-right and right-to-left order;

  4. 4.

    The ending stitch of the current row should be neighboring to the starting stitch of the next row.

The stitch mesh generated by the algorithm in [21] can satisfy all these requirements. As a result, every stitch can be mapped to a location in the 2D knitting map by its row index and its location in the row – see Fig.10(b, c) for an example.

A knitting map presents the operational information about how to form stitches while traveling in the alternated left-to-right and right-to-left ways by the carriers holding yarns. Three different blocks displayed in different colors are defined in a knitting map (see Fig.10(c)). The cyan / yellow blocks are the stitches formed by loops of yarns in knitting, where the cyan ones are stitches formed by the carrier traveling from right to left and the yellow blocks represent those formed by traveling from left to right. No stitch will be formed for the white or the gray blocks. That means the carrier will not travel into the white / gray regions. Due to the short-row sha** technique, the stitches below and above the gray blocks will be connected to locally change the length of fabrics. As a result, 3D surfaces are produced by the connected stitches.

4.2 Converting knitting map into weaving code

Different from knitting, every stitch of the woven structure is formed together by two neighboring warp threads and two neighboring weft threads. Therefore, for a knitting map K()𝐾K(\cdot)italic_K ( ⋅ ) with M𝑀Mitalic_M columns and N𝑁Nitalic_N rows, it will be converted into a weaving map W𝑊Witalic_W with (M+1)𝑀1(M+1)( italic_M + 1 ) columns and (N+1)𝑁1(N+1)( italic_N + 1 ) rows. When fabricating the i𝑖iitalic_i-th row of the woven structure, Wi,jsubscript𝑊𝑖𝑗W_{i,j}italic_W start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT provides information for both the Jacquard configuration of the j𝑗jitalic_j-th warp thread and the corresponding warp beam’s operation.

Unlike the short-row sha** of knitting that the carrier’s travel is only conducted in a limited range for each row (e.g., only the region with yellow or cyan blocks in Fig.10(c)), the carrier holding the weft thread always travels from the head to the tail of each row on the loom. When two neighboring warp threads have the same Jacquard configuration (i.e., both up or both down as Wi,j=Wi,j+1subscript𝑊𝑖𝑗subscript𝑊𝑖𝑗1W_{i,j}=W_{i,j+1}italic_W start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT = italic_W start_POSTSUBSCRIPT italic_i , italic_j + 1 end_POSTSUBSCRIPT), no woven structure can be formed between them. On the other aspect, two different results can be obtained by using different operations of the warp beam for the j𝑗jitalic_j-th thread when Wi,j=Wi+1,jsubscript𝑊𝑖𝑗subscript𝑊𝑖1𝑗W_{i,j}=W_{i+1,j}italic_W start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT = italic_W start_POSTSUBSCRIPT italic_i + 1 , italic_j end_POSTSUBSCRIPT:

  • 1.

    If the beam releases the j𝑗jitalic_j-th thread with a unit length shsubscript𝑠s_{h}italic_s start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT (i.e., woven stitch height) as usual, it will become a floating thread between the i𝑖iitalic_i-th row and (i+1)𝑖1(i+1)( italic_i + 1 )-th row;

  • 2.

    If the beam keeps holding the thread, the already formed woven stitch before the i𝑖iitalic_i-th row will be tightly ‘sewn’ to the later stitch after the (i+1)𝑖1(i+1)( italic_i + 1 )-th row.

The first situation happens for the white regions in the knitting map, and the second case occurs in the gray regions.

An algorithm is developed to generate W()𝑊W(\cdot)italic_W ( ⋅ ) from K(i,j)𝐾𝑖𝑗K(i,j)italic_K ( italic_i , italic_j ) with i=1,,N𝑖1𝑁i=1,\ldots,Nitalic_i = 1 , … , italic_N as row index (starting from the bottom) and j=1,,M𝑗1𝑀j=1,\ldots,Mitalic_j = 1 , … , italic_M as column index (starting from the left). For the sake of explanation, colors are used while introducing the algorithm below (with Fig.10(c, d) as an example).

  • 1.

    Step 1: Create a new weaving map as W(i,j)𝑊𝑖𝑗W(i,j)italic_W ( italic_i , italic_j ) with (N+1)𝑁1(N+1)( italic_N + 1 ) rows and (M+1)𝑀1(M+1)( italic_M + 1 ) columns and fill all blocks of W(i,j)𝑊𝑖𝑗W(i,j)italic_W ( italic_i , italic_j ) by green.

  • 2.

    Step 2: We check the color of every block K(i,j)𝐾𝑖𝑗K(i,j)italic_K ( italic_i , italic_j ) in the knitting map so that 1) W(i+1,j)𝑊𝑖1𝑗W(i+1,j)italic_W ( italic_i + 1 , italic_j ) is assigned as magenta when K(i,j)𝐾𝑖𝑗K(i,j)italic_K ( italic_i , italic_j ) is yellow or cyan or 2) W(i+1,j)𝑊𝑖1𝑗W(i+1,j)italic_W ( italic_i + 1 , italic_j ) is assigned as blue when K(i,j)𝐾𝑖𝑗K(i,j)italic_K ( italic_i , italic_j ) is gray.

  • 3.

    Step 3: For every row W(i,)𝑊𝑖W(i,\cdot)italic_W ( italic_i , ⋅ ) (i1𝑖1i\neq 1italic_i ≠ 1), if the last non-green block is located at W(i,j)𝑊𝑖superscript𝑗W(i,j^{\prime})italic_W ( italic_i , italic_j start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ), we assign W(i,j+1)=W(i,j)𝑊𝑖superscript𝑗1𝑊𝑖superscript𝑗W(i,j^{\prime}+1)=W(i,j^{\prime})italic_W ( italic_i , italic_j start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT + 1 ) = italic_W ( italic_i , italic_j start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) – i.e., one column is extended.

  • 4.

    Step 4: For the first row W(1,)𝑊1W(1,\cdot)italic_W ( 1 , ⋅ ), we copy it from the second row as W(1,j)=W(2,j)𝑊1𝑗𝑊2𝑗W(1,j)=W(2,j)italic_W ( 1 , italic_j ) = italic_W ( 2 , italic_j ) for every blocks.

  • 5.

    Step 5: For a magenta block W(i,j)𝑊𝑖𝑗W(i,j)italic_W ( italic_i , italic_j ), we convert its color to green when 1) both i𝑖iitalic_i and j𝑗jitalic_j are odd numbers or 2) both i𝑖iitalic_i and j𝑗jitalic_j are even numbers.

After running this algorithm, we can generate a weaving map with information stored for both the Jacquard pattern and the warp beams’ operations. Specifically, we have

  1. 1.

    W(i,j)=blue𝑊𝑖𝑗blueW(i,j)=\mathrm{blue}italic_W ( italic_i , italic_j ) = roman_blue: the j𝑗jitalic_j-th warp beam will not release the warp thread and the Jacquard pattern of the j𝑗jitalic_j-th warp thread is kept as ‘down’ state;

  2. 2.

    W(i,j)=magenta𝑊𝑖𝑗magentaW(i,j)=\mathrm{magenta}italic_W ( italic_i , italic_j ) = roman_magenta: the j𝑗jitalic_j-th warp beam will release the thread for a length shsubscript𝑠s_{h}italic_s start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT as woven stitch height and the Jacquard pattern of the j𝑗jitalic_j-th thread is changed to ‘up’ state if it is not;

  3. 3.

    W(i,j)=green𝑊𝑖𝑗greenW(i,j)=\mathrm{green}italic_W ( italic_i , italic_j ) = roman_green: the j𝑗jitalic_j-th warp beam will release the thread and the j𝑗jitalic_j-th thread is dropped to the ‘down’ state for its Jacquard pattern.

An example weaving map can be found in Fig.10(d).

Based on the above definitions for different colors, we convert the weaving map into a W-code file with a structure as shown in Fig.10(e) to supervise the operations of our 3D surface weaving machine. The syntax of W-code consists of five commands:

  • 1.

    A: The initialization command to reset the hardware for the coming weaving process.

  • 2.

    B: The command is given together with (M+1)𝑀1(M+1)( italic_M + 1 ) binary numbers to instruct the Jacquard device to selectively lift the corresponding warp threads (e.g., Fig.7(b)).

  • 3.

    C: A command followed by (M+1)𝑀1(M+1)( italic_M + 1 ) binary numbers is used to instruct the warp beams for selectively releasing the corresponding warp threads, where the length of release is defined according to the target woven stitch’s height shsubscript𝑠s_{h}italic_s start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT.

  • 4.

    D: A command followed by a boolean value for driving the shuttle (i.e., D0 – from left to right and D1 – from right to left). The command completes the operations of weaving one row as described in Sec. 3.3 (see also Fig.7(c)-(i)).

  • 5.

    E: The end command to stop the weaving process.

Note that this W-code in general can be employed on weaving machines in different configurations with carefully designed controllers. An example W-code file for the weaving map shown in Fig.10(d) can be found in Appendix B.

Refer to caption
Figure 11: We tested our 3D surface weaving machine on four different examples, where their weaving maps are given in (a). The results of physical fabrication are shown in (b). Our weaving system enables the flow of electric current over the freeform surfaces of fabrics by using conductive threads in (c). The measurements obtained with the avometer represent the resistance between two ends of the weft thread, which indicates the continuity of the conductive weft thread.
Table 1: Statistics of Computation
Trgl. Thread Num. Comp. Time (sec.)
Model Num. Fig. Weft Warp Knit Map W-Code
Hemisphere 4000400040004000 3 138138138138 72727272 1.641.641.641.64 0.380.380.380.38
- 276276276276 144144144144 1.671.671.671.67 1.711.711.711.71
Vest-Front 26593265932659326593 2 170170170170 71717171 1.781.781.781.78 0.490.490.490.49
- 340340340340 142142142142 7.017.017.017.01 2.012.012.012.01
Vest-Back 28763287632876328763 11 173173173173 72727272 1.971.971.971.97 0.520.520.520.52
- 346346346346 144144144144 7.757.757.757.75 2.192.192.192.19
Triple-Peak 10016100161001610016 11 190190190190 58585858 0.970.970.970.97 0.450.450.450.45
- 380380380380 116116116116 3.853.853.853.85 1.981.981.981.98

 Tests with different number of threads were conducted to demonstrate the scalability of our computational method although the maximally allowed number of warp threads on our prototype machine is only 100.

 The computing time of W-code generation includes both the step of weaving map generation and the step for converting it into W-code.

5 Results and Discussion

We have made a prototype machine by using off-the-shelf electrical / mechanical components, motors, and 3D printed parts. The software of our system was developed by Python. The experimental tests reported in this section were all run on a desktop PC with AMD Ryzen 7 5800X 3.8GHz CPU and 32GB RAM. Different materials are employed to fabricate examples with a variety of freeform 3D shapes. A supplementary video to demonstrate the function of our work can be accessed at: https://youtu.be/mzdlq5Sk8NQ.

5.1 Statistics of computation and fabrication

We have tested our prototype system in physical experiments by fabricating models as shown in Fig.11. The testing results are quite encouraging although both the machine and the weaving-map generation algorithm can be further optimized. The limitations of our current implementation are discussed in Sec. 5.7

The computational statistics of these examples have been listed in Table 1, where the examples are tested by using threads in two different resolutions. As it can be observed, the computation on all tests can be completed within 10 seconds and the major bottleneck is the step of knitting map generation [21]. The complexity of the knitting map generation algorithm is O(ABlogB)𝑂𝐴𝐵𝐵O(AB\log B)italic_O ( italic_A italic_B roman_log italic_B ) with A𝐴Aitalic_A and B𝐵Bitalic_B being the maximal number of stitches along the row and the column directions on the knitting map respectively.

Refer to caption
Figure 12: Examples to demonstrate the functionality of 3D surface weaving with optical fibres.

We have physically fabricated these example models on our prototype machine by using different materials. While the waxed threads with cotton core are employed for warp threads, both the cotton thread (waxed) and the conductive threads (bare copper with silicone rubber insulation) have been used for weft threads in our tests (see Fig.11). The fabrication of all models can be completed within a reasonable time as listed in Table 2. We have tested the examples by replacing a few warp threads with optical fibres – named as ‘hybrid’ warp threads in Table 2 with the results shown in Figs. 3 & 12. Our weaving process and machine do not have special requirements on the materials to be used as threads for forming woven structures as 3D surfaces. A material can be used as long as it can be successfully extruded by the warp beams and winded by the shuttle.

Refer to caption
Figure 13: Examples to demonstrate the problems caused by manual deformation on the fabrics made by flat weaving, where the height of woven stitches shsubscript𝑠s_{h}italic_s start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT cannot be well controlled. The heights are non-uniformly distributed – i.e., larger at the fixed end while shorter at the pushing side.
Refer to caption
Figure 14: Comparison of shape approximation error by the distribution of distances between sample points on the given surfaces to the 3D point clouds scanned from the fitting results of flat woven fabric (2D) and those by our surface weaving (3D), where the errors are displayed by the color maps and the error histograms. From top to bottom, the models are hemisphere (6,575), vest-front (8,220), vest-back (7,989) and triple-peak (4,057), where the numbers of samples for each model are given in the bracket. Regions with large error on the 2D results and their corresponding regions on the 3D results are highlighted by rectangles drawn in red dash lines.
Table 2: Statistics of Physical Fabrication
Thread # Thread Materials Weaving
Model Weft Warp Weft Warp Time (min.)
Cotton Cotton 140140140140
Hemisphere 138138138138 72727272 Conductive Cotton 152152152152
Cotton Hybrid 145145145145
Cotton Cotton 170170170170
Vest-Front 170170170170 71717171 Conductive Cotton 181181181181
Cotton Hybrid 173173173173
Cotton Cotton 174174174174
Vest-Back 173173173173 72727272 Conductive Cotton 183183183183
Cotton Cotton 195195195195
Triple-Peak 190190190190 58585858 Conductive Cotton 211211211211

5.2 Automatic vs. manual deformation based shape forming

One of the major contributions of our hardware design is the warp beams and the weaving mechanism that can precisely control the lengths of warp threads therefore also the height of woven stitch shsubscript𝑠s_{h}italic_s start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT. This is also the reason why our machine can form 3D surfaces automatically. We demonstrate this automatic 3D forming function by comparing with examples that are fabricated by conventional flat weaving.

The weaving map can still be implemented on a commercial flat weaving machine with a jacquard device. Gaps (actually floating threads) will be formed on the fabrics between rows (see the zoom view in the left of Fig.13). Although we can manually pull the end of the warp threads to eliminate these gaps and deform the fabric, these operations cannot accurately control the height distribution of woven stitches along the pulled warp threads. For manual 3D shape forming, we fix one end of the flat woven fabrics while pulling warp threads and pushing weft thread on the other side (see also Fig.13). Note that the pushing force is applied everywhere along the same warp thread and the gaps are eliminated by squeezing neighboring stitches. The result of manual form generally shows larger stitch height at the fixed end but smaller stitch height near the pushing side. As a consequence, the target 3D shape of woven fabrics cannot be accurately formed.

Additionally, for the surface boundary that are next to the large green regions in the weaving map (e.g.,, the bottom left one shown in Fig.11(a)), the manual operation will lead to large distortions – see the waist region for the vest-front model in Fig.13. In short, the manual 3D shape forming cannot well control the boundary shape of fabrics.

5.3 Analysis of geometric errors: 3D shape

One of the most important purposes of this work is to reach a high level of geometric accuracy on the 3D surface shape of the produced woven fabrics. In the conventional textile industry, a flattening algorithm (e.g., [25, 26]) was employed to compute a (trimmed) 2D panel shape to fit onto the desired 3D object (e.g., human bodies in the apparel industry). However, as 3D surfaces are in general not flattenable (or named as developable in geometric modeling), wrinkles will appear at regions where the curvature is large and leftovers are inevitable. For a better fit, smaller pieces of the flat-woven fabric are generated and stitched together, which involved time-consuming sewing processes that are labor-intensive (e.g., [27, 28, 29]).

We conducted experimental tests to study the shape approximation errors on a variety of models. Both the skinned shape by flat woven fabrics and the shape from 3D surface weaving are compared with the target shape (as the ground truth). A structured light based 3D scanner [30] is employed to generate the point clouds for each surface, which is also placed into a well-registered pose w.r.t. the ground truth shape. The shortest distances between the sampled points on the given surface to the scanned point clouds are employed as shape approximation errors, which are visualized as color maps and histograms in Fig.14. From the results of error analysis, we can easily conclude that models fabricated by our 3D surface weaving have much smaller errors in all examples – i.e., mainly less than 1mm as can be observed from the histograms. When the surface to be fabricated becomes more and more complex, the geometric error on fitting results by flat woven fabrics will increase significantly (see the triple-peak model in Fig.14 for an example).

Refer to caption
Figure 15: Experimental test to study the length accuracy of warp / weft threads on the resultant 3D fabrics, where the lengths of every warp and weft threads are measured and compared with the demanded lengths. The error analysis as distribution has been given for both the results with vs. without the robotic tightening manipulations.

5.4 Analysis of geometric errors: lengths of threads

Experiments are conducted to evaluate the performance of our method in the length control for both the warp threads and the weft threads on the resultant 3D fabrics produced by our system. We measure the lengths of every warp and weft threads and compare their lengths with the demanded lengths, which are specified by the weaving map. The tests are given for the hemisphere model as it does not have concave boundaries, considering the lengths of warp threads across concave boundary are difficult to measure accurately.

Ablation study has been conducted to fabricate two hemispherical fabrics with vs. without the robotic manipulation based tightening process after weaving the stitches of each row. Specifically, the fabrics made by our 3D weaving machines are cut into threads at the end of each row and column to measure the lengths of all threads. From the error analysis shown in Fig.15, we find that large variations of length errors for weft threads are observed on the fabric without the robotic tightening process. At the same time, slightly worse length control can also be observed on warp threads. This is mainly because that, without the robotic tightening, the uncontrolled weft lengths near the end of a row will also lead to distorted stitches with varied warp lengths.

5.5 Analysis of geometric errors: thread-paths

Besides of accurate 3D shape, our 3D surface weaving approach has another intrinsic advantage – the warp threads naturally preserve the geodesic distance between each other. This enables the capability to embed functional threads at equal distances when employing them as warp threads. We demonstrate this by using optical fibres in our experiment and comparing them to the results obtained from flat weaving.

As shown in Fig.16, we aim to insert optical fibres with equal distance on the hemisphere and the vest-back models. The ground-truth distribution / locations of these curves are illustrated as blue curves on the 3D models with the distance as 7sw7subscript𝑠𝑤7s_{w}7 italic_s start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT between neighboring curves. For weaving such fabrics, we replace 7 among all warp threads with optical fibres while remaining 6 warp threads between every neighboring optical fibres. Note that the distribution of fibres is selected in a symmetric way with the middle fabric coincident to the symmetric plane of the models. The same setup of fabrication is applied to both flat weaving (2D) and surface weaving (3D). After fitting the resultant fabrics onto the target models (registered by the central-line curve), we measure the light distribution of the optical fibres by photos to evaluate the distribution of the corresponding thread-paths.

Specifically, for each optical fibre, a B-spline curve is fit onto the lighting points extracted from photos and the curve is re-sampled into 1,00010001,0001 , 000 points. The distances between these sample points and the target ground-truth curves are measured and analyzed as shown in the histogram. The tests are conducted on results obtained from both 2D and 3D weaving. Apparently, the fitting from 2D fabrics onto 3D models generates uncontrolled distortion – i.e., the resultant thread-paths of optical fibres present much larger errors.

Refer to caption
Figure 16: Results to demonstrate the accuracy of warp thread-paths that are formed on the fabrics produced by the flat weaving (2D) vs. the surface weaving (3D). We target on distributing optical fibres on a given freeform surface at an equal distance. The statistical errors are shown in the histogram with the unit as pixels in the image space (i.e., in the resolution of 652×850652850652\times 850652 × 850 for an area of 150mm×195mm150mm195mm150\mathrm{mm}\times 195\mathrm{mm}150 roman_m roman_m × 195 roman_m roman_m).

5.6 Continuity of Threads

Our 3D surface weaving machine can help produce functional fabrics with many interesting applications in mechatronics. When conductive threads are used (as already demonstrated in Fig.11(c)), our 3D surface weaving approach enables the flow of electric current over the surfaces of fabrics so that they can work like soft PCBs. This has many potential applications such as functional garments [31], motion sensing [32], and ‘skin’ of cobot [33]. To enable this function, continuity on both the warp and the weft threads is required. While forming a 3D freeform shape by our surface weaving technique, we use a single thread for weft and multiple continuous threads for warp directions. Continuity is preserved on the resultant woven fabrics.

The following experiment is to demonstrate the problem of discontinuity when flat woven fabrics are employed. First of all, a piece of woven fabric is made by flat weaving by using a conductive thread for weft directions (the left of Fig.17). Because there are excess boundaries and winkle regions when fitting onto the mold (see the middle of Fig.17), the 2D fabric has to be trimmed for a better fit. After fitting and trimming, most of the weft threads are cut and the circuits within the fabric are open which leads to infinity as the measured electrical resistance (the right of Fig.17). Differently, our surface weaving technique can generate a perfect fitting shape while preserving the continuity of the conductive weft thread (see the back-vest example shown in Fig.11).

Refer to caption
Figure 17: Experiment to demonstrate the flat weaving technique cannot achieve both the continuity of conductive thread and the perfect fitting 3D shape together. An infinity is measured as the electrical resistance after trimming the flat fabrics to form a target 3D shape for the vest-back – i.e., the conductive weft thread has been broken.

5.7 Limitations

One major limitation of our current implementation is that two robotic arms are employed for realizing the length control of weft threads. This significantly increases the cost and the complexity of the manufacturing system. A possible future work is to utilize sword bar mechanical structures to control the length and distribution of the weft thread while also using a camera for visual feedback and control.

At present, the weaving speed of our prototype machine is much slower than those flat weaving machines used in industry. We choose very conservative speeds in many steps of motions on our prototy** machine, which can be further tuned and optimized. Although 3D weaving involves steps and motions much more complicated than flat weaving, the mechatronics design of our machine can still be further optimized for improving the efficiency of 3D weaving.

Refer to caption
Figure 18: An example of embedding optical fibres along the weft directions by the technique of in-lay.
Refer to caption
Figure 19: An example of vest-front fabric made by using 1) bare stainless steel wire for warp threads and 2) silicone insulated copper wire for weft threads (left), which can be developed into a touch sensing interface by capacitance [34]. (Middle) the distribution of touch that is sensed by the grid of conductive threads, and (right) the corresponding touch visualized on the 3D surface.

In the examples listed above, the threads with high stiffness (such as optical fibres) are only employed as warp threads. This is because the weft thread needs to form U-turn at the end of each row. However, we can employ the in-lay technique to ‘insert’ an additional thread (with high bending-stiffness) between those neighboring rows formed by a continuous weft thread. An example can be found in Fig.18. Note that the in-lay fabrication needs manual operations on our prototype machine in our current experiment. However, when the U-turn at the end of each row is tolerable on materials with high bending-stiffness (e.g., metal wires), our method can produce fabrics by using these stiff materials in both warp and weft threads – see Fig.19 for an example by using these conductive grids to form a capacitance-based touch sensing interface [34]. Lastly, the abrasion of warp threads caused by the reed’s motion requires the threads to be waxed to prevent damage to its ‘core’.

Refer to caption
Figure 20: An example of failure case. (a) Local maximum will be generated when selecting the middle curves as source of the the geodesic distance field. On a field with local maximum located inside the surface patch, closed loops of isocurves will be formed in which case our algorithm of weaving map generation will fail. (b) Weaving map generation algorithm can only be applied after adding darts from the local maximum to place it on the boundary of a surface patch. This is how the Triple-Peak example shown in Figs.11 and 14 was fabricated.

There are also some limitation on the software aspect. Our current method of weaving-map generation heavily relies on selecting a good curve as source to generate geodesic distance-field. Different maps including failure cases can be generated when using different sources. One failure scenario occurs when the local minimum or maximum appears after applying the geodesic distance field, leading to the generation of isocurves in closed loops for weft threads (see Fig.20(a) for an example). To resolve this issue, we need to cut the given model by adding darts so that pushing the local minimum or maximum to the boundary of a surface patch to successfully generate the weaving map (as shown in Fig.20(b)). One possible future research is to automate the source selection while preventing the failure cases and reducing the distortion of stitch meshes constructed from the geodesic distance-field.

6 Conclusion

This paper presents a new computer-controlled 3D surface weaving method, which is the first approach that automates the fabrication of 3D freeform woven fabrics by using threads in non-traditional materials with high bending-stiffness. The major contributions of this work come from the new process, the mechatronic system design and the computational algorithm to enable the computer-controllable 3D surface weaving process. The performance of our technology has been tested and verified on a variety of 3D freeform models and different applications.

References

References

  • [1] S. Adanur, Handbook of weaving, CRC press, 2020.
  • [2] A. D. Kelkar, J. S. Tate, R. Bolick, Structural integrity of aerospace textile composites under fatigue loading, Materials Science and Engineering: B 132 (1-2) (2006) 79–84.
  • [3] M. Di Rienzo, F. Rizzo, G. Parati, G. Brambilla, M. Ferratini, P. Castiglioni, Magic system: A new textile-based wearable device for biological signal monitoring. applicability in daily life and clinical setting, in: 2005 IEEE engineering in medicine and biology 27th annual conference, IEEE, 2006, pp. 7167–7169.
  • [4] S. J. Park, K. Choi, H. Rodrigue, C. H. Park, Soft exosuit based on fabric muscle for upper limb assistance, IEEE/ASME Transactions on Mechatronics (2022) 1–12doi:10.1109/TMECH.2022.3194975.
  • [5] A. P. Mouritz, M. K. Bannister, P. Falzon, K. Leong, Review of applications for advanced three-dimensional fibre textile composites, Composites Part A: applied science and manufacturing 30 (12) (1999) 1445–1461.
  • [6] A. Komolafe, B. Zaghari, R. Torah, A. S. Weddell, H. Khanbareh, Z. M. Tsikriteas, M. Vousden, M. Wagih, U. T. Jurado, J. Shi, et al., E-textile technology review–from materials to application, IEEE Access 9 (2021) 97152–97179.
  • [7] A. Levitt, D. Hegh, P. Phillips, S. Uzun, M. Anayee, J. M. Razal, Y. Gogotsi, G. Dion, 3D knitted energy storage textiles using mxene-coated yarns, Materials Today 34 (2020) 17–29.
  • [8] J. McCann, L. Albaugh, V. Narayanan, A. Grow, W. Matusik, J. Mankoff, J. Hodgins, A compiler for 3D machine knitting, ACM Transactions on Graphics 35 (4) (2016) 1–11.
  • [9] V. Narayanan, L. Albaugh, J. Hodgins, S. Coros, J. McCann, Automatic machine knitting of 3D meshes, ACM Transactions on Graphics 37 (3) (2018) 1–15.
  • [10] Y. Liu, L. Li, P. F. Yuan, A computational approach for knitting 3D composites preforms, in: The International Conference on Computational Design and Robotic Fabrication, Springer, 2019, pp. 232–246.
  • [11] Y. Igarashi, T. Igarashi, H. Suzuki, Knitting a 3D model, Computer Graphics Forum 27 (7) (2008) 1737–1743.
  • [12] K. Bilisik, Multiaxis 3D weaving: Comparison of developed two weaving methods (tube-rapier weaving versus tube-carrier weaving) and effects of bias yarn path to the preform properties, Fibers and Polymers 11 (1) (2010) 104–114.
  • [13] R. Wu, C. Harvey, J. X. Zhang, S. Kroszner, B. Hagan, S. Marschner, Automatic structure synthesis for 3D woven relief, ACM Transactions on Graphics 39 (4) (2020) 102–1.
  • [14] Y. Ren, J. Panetta, T. Chen, F. Isvoranu, S. Poincloux, C. Brandt, A. Martin, M. Pauly, 3D weaving with curved ribbons, ACM Transactions on Graphics 40 (2021) 127.
  • [15] X. Chen, Advances in 3D textiles, Elsevier, 2015.
  • [16] B. Shirinzadeh, G. Alici, C. W. Foong, G. Cassidy, Fabrication process of open surfaces by robotic fibre placement, Robotics and Computer-Integrated Manufacturing 20 (1) (2004) 17–28.
  • [17] B. Shirinzadeh, G. Cassidy, D. Oetomo, G. Alici, M. H. Ang Jr, Trajectory generation for open-contoured structures in robotic fibre placement, Robotics and Computer-Integrated Manufacturing 23 (4) (2007) 380–394.
  • [18] L. Sorrentino, M. Marchetti, C. Bellini, A. Delfini, F. Del Sette, Manufacture of high performance isogrid structure by robotic filament winding, Composite Structures 164 (2017) 43–50. doi:https://doi.org/10.1016/j.compstruct.2016.12.061.
    URL https://www.sciencedirect.com/science/article/pii/S026382231632726X
  • [19] H. Li, S. Sueda, J. Keyser, Computation of filament winding paths with concavities and friction, Computer-Aided Design 141. doi:10.1016/j.cad.2021.103089.
  • [20] D. J. Spencer, Knitting technology: a comprehensive handbook and practical guide, CRC press, 2001.
  • [21] Z. Liu, X. Han, Y. Zhang, X. Chen, Y.-K. Lai, E. L. Doubrovski, E. Whiting, C. C. Wang, Knitting 4D garments with elasticity controlled for body motion, ACM Transactions on Graphics 40 (4) (2021) 1–16.
  • [22] V. Narayanan, K. Wu, C. Yuksel, J. McCann, Visual knitting machine programming, ACM Transactions on Graphics 38 (4) (2019) 1–13.
  • [23] R. Wu, C. Harvey, J. X. Zhang, S. Kroszner, B. Hagan, S. Marschner, Automatic structure synthesis for 3D woven relief, ACM Trans. Graph. 39 (4). doi:10.1145/3386569.3392449.
    URL https://doi.org/10.1145/3386569.3392449
  • [24] Y. Miura, Y. Nakajyo, K. Suzuki, The jacquard machine, Journal of the Textile Machinery Society of Japan 10 (4) (1964) 159–164.
  • [25] Y. Zhang, C. C. Wang, Wirewar**++: Robust and flexible surface flattening with length control, IEEE Transactions on Automation Science and Engineering 8 (1) (2011) 205–215.
  • [26] C. C. Wang, K. Tang, B. M. Yeung, Freeform surface flattening by fitting a woven mesh model, Computer-Aided Design 37 (8) (2005) 799–814.
  • [27] Z.-Y. Zhao, M. Li, Z. Zhang, Q. Fang, L. Liu, X.-M. Fu, Evolutionary piecewise developable approximations, ACM Transactions on Graphics 42 (4) (2023) 1–13.
  • [28] X. Zhang, G. Fang, G. G. Melina Skouras, C. C. Wang, E. Whiting, Computational design of fabric formwork, ACM Transactions on Graphics 38 (4) (2019) 1–13.
  • [29] C. C. Wang, Computing length-preserved free boundary for quasi-developable mesh segmentation, IEEE Transactions on Visualization and Computer Graphics 14 (1) (2008) 25–36.
  • [30] K. He, C. Sui, T. Huang, Y. Zhang, W. Zhou, X. Chen, Y. LIU, 3d surface reconstruction of transparent objects using laser scanning with a four-layers refinement process, Optics Express 30. doi:10.1364/OE.449300.
  • [31] H. Krauss, K. Takemura, Stretchable optical waveguide sensor capable of two-degree-of-freedom strain sensing mediated by a semidivided optical core, IEEE/ASME Transactions on Mechatronics 27 (4) (2022) 2151–2157. doi:10.1109/TMECH.2022.3175205.
  • [32] E. Zheng, Y. Li, Z. Zhao, Q. Wang, H. Qiao, An electrical impedance tomography based interface for human–robot collaboration, IEEE/ASME Transactions on Mechatronics 26 (5) (2021) 2373–2384. doi:10.1109/TMECH.2020.3039017.
  • [33] G. Pang, G. Yang, W. Heng, Z. Ye, X. Huang, H.-Y. Yang, Z. Pang, CoboSkin: Soft robot skin with variable stiffness for safer human–robot collaboration, IEEE Transactions on Industrial Electronics 68 (4) (2021) 3303–3314. doi:10.1109/TIE.2020.2978728.
  • [34] J. Lotters, W. Olthuis, P. Veltink, P. Bergveld, A sensitive differential capacitance to voltage converter for sensor applications, IEEE Transactions on Instrumentation and Measurement 48 (1) (1999) 89–96. doi:10.1109/19.755066.

Appendix A: Detailed Schematics and PCB Layout

In this appendix, we provide the detailed schematics and PCB layout of our 3D surface weaving machine’s control system.

Refer to caption
Figure 21: The detailed schematics and PCB layouts for the motherboard (a), the module of motor (b), the module of sensor (c), and the module of solenoid (d).

The whole control system consists of a motherboard, 7 motor modules, 6 solenoid modules, and one sensor module. See Fig.21 for the details. The motherboard with 12V-100A as power input has 14 interfaces for different modules, which allows quick change and further module development. Besides of PCA9535 as the IO extension chip, the driver chip DRV8844 is employed as a power transformer in the solenoid modules.

Appendix B: Example W-Code

We list the example W-code of the back piece of the vest below in Fig.22. The code is corresponding to the weaving map in coarse resolution that has been shown in Fig.8(d).

Refer to caption
Figure 22: The example W-code for the back piece of the vest (listed in three columns from left to right).