#### Abstract

This paper proposes a new kind of computational approach of three-dimensional (3D) braiding simulation based on matrix theory and symbol operation, which is suitable for batch integral calculation. The approach can be used to calculate braiding matrix at any step. Different braiding matrices fully reflect yarn carrier position changes. Using the braiding matrix calculation, the approach can provide data for storing yarn carrier paths, also termed braiding paths. The 3D braiding paths study was conducted to better visualization and thereby analyse the carrier’s movement characteristics and principles of operation. Finally, a program was designed to provide a reference for the mathematical model in further research.

#### 1. Introduction

In recent years, much research on 3D braiding algorithm has advanced the technology and achieved outstanding success. However, most algorithms mainly focus on the description of one or only a few aspects of yarn carrier movement with some program language. This paper uses matrix theory and symbol calculation for modeling the 3D braiding process to formulate an algorithm that has the ability to compute all carrier paths as a whole.

On the basis of the analysis and through characterisation of the braiding process [1], a matrix algorithm was established to predict braiding matrix and path. The braiding matrix can be used to represent all yarn carrier positions on a machine bed by rows and columns as a whole. Braiding path, also called yarn carrier movement path, can be stored in a queue from a series of braiding matrices, and these paths can be used to form a path table, which provides coordinate data for 3D braiding path visualization. A simulation program has been designed and is presented at the end of the paper.

We present the algorithm as favorable for 3D braiding manufacture automation, capable of ushering significant advances by optimizing technological processes, shortening the design cycle, and improving design and product quality.

#### 2. Three Dimensional Braiding Process

3D braided preforms are fabricated by traditional maypole braiding (slotted horn gear matrix) or innovative four-step braiding (track and column) or more recently by 3D rotary braiding [2, 3]. This paper mainly focuses on the research of four-step square braiding; four-step braiding [1] is the most widely used. In this process, all of the yarn carriers take part in braiding simultaneously, each one moving along a specific track. The yarns thus intertwine to form a 3D fabric.

As shown in Figure 1, yarn carriers have been arranged in a regular fashion according to the fabric cross section on the 3D braided machine bed [4]. The preform is suspended over the machine bed. In square-oriented braiding process, the main body yarns, which are arranged by rows and columns on the machine bed, determine the shape of the composite. Some yarns may be situated on the outside of a gap along the outer edge of the main body, and these are called edge yarns or additional yarns. The yarn carrier arrangement can be represented by “,” indicates row number, and indicates column number of the carriers. For example, 4 8 indicates that the main body yarns have 4 rows and 8 columns on the machine bed.

In the four-step braiding process, shown in Figure 2, yarn carriers are arranged in an array. In the first step, line 1 (top row) and line 3 move left by one unit; line 2 and line 4 move right by one unit. In the second step, columns 1 (far left) and 3 move down by one unit; columns 2 and 4 move up by one unit. In third step, rows are staggered to move toward the opposite direction of the first step. In the fourth step, columns are staggered to move toward the opposite direction of the second step. Together, all four steps are considered one machine cycle, and the carriers return to the original location after one cycle. As the process continues repeatedly, yarns intertwine to form an unstratified fabric, which, after strict tightening, is called 3D braided preform.

Braiding matrix refers to the arrangement of the yarn carriers on the machine bed; Figure 2 illustrates a 4 4 braiding matrix. Braiding path refers to the carrier’s movement, which guides a specific yarn to follow a certain path [5]. For example, in Figure 2, the number 21 carrier’s braiding path begins with the carrier first moving right one unit; then it moves down one unit, and the position remains unchanged. Finally the carrier moves up one unit. A braiding path table compiles all of the carrier braiding paths into a 3D space coordinate for braiding path visualization.

#### 3. Models and Discussion

##### 3.1. Matrix Algorithm Design

With the 4 4 braiding process as our research object, we used matrix theory and a symbolic operation to model yarn carrier movement to form a theoretical foundation for further study [6], and we carried out a study of a braiding matrix calculation method. Based on the mathematical model, we can predict braiding matrix and path table. Finally, the matrix algorithm was created based on the inductive modeling method.

It was necessary to first define some related concepts:(1) is matrix element; it represents a yarn carrier, indicates the row number beginning from the bottom, , and indicates the column number beginning from the left, .(2) is braiding matrix; it represents the yarn carriers arrangement after machine cycles and steps, , .(3) is row vector; it represents the number row vector beginning from the bottom, .(4) is column vector; it represents the number column vector beginning from the left, .

##### 3.2. 4 × 4 Braiding Matrix Model

(1) The initial braiding matrix was established.

Matrix represents the carrier arrangement of the main body for braid, in which each element , … indicates a yarn carrier in a two-dimensional coordinate system.

(2) The matrix after Step 1 braiding was established.

Row vectors of matrix are , , , , , and . Right multiply and by unit matrix so that carrier positions remain unchanged. The rest of the row vectors are staggered to be right multiplied by the transform matrix or . This obtains the 3D braiding matrix for a row move of one unit to the left or the right, and thus the matrix has been established. The above matrix transformations in Step 1 can be expressed by the function .

(3) The matrix after Step 2 braiding was established.

Column vectors of the matrix are , , , , , and . Left multiply and by unit matrix so that carrier positions remain unchanged. The rest of the column vectors are staggered to be left multiplied by transform matrix or . This obtains the 3D braiding matrix column move of one unit up or down, and the matrix has been established. The above matrix transformations in Step 2 can be expressed by the function .

(4) The matrix after Step 3 braiding was established.

Thus far, the 3D braiding process has completed half of one machine cycle. Row vectors of the matrix are still represented by , , , , , and . Right multiply and by unit matrix so that carrier positions remain unchanged. The rest of the row vectors are staggered to be right multiplied by transform matrix or in the reverse order of step 1, and thus the matrix has been established. The above matrix transformations in Step 3 can be expressed by the function .

(5) The matrix after Step 4 braiding was established.

Column vectors of the matrix are still represented by , , , , , and . Left multiply and by unit matrix so that carrier positions remain unchanged. The rest of the column vectors are staggered to be left multiplied by transform matrix or in the reverse order of Step 2, and the matrix has thus been established. The above matrix transformations in Step 4 can be expressed by the function .

(6) At this point, one machine cycle in 3D braiding process has been completed, and the initial braiding matrix, , has been sequentially transformed by functions , , , and in a braiding cycle, and that cycle will carry on.

##### 3.3. Braiding Matrix Model

Several functions must first be defined in order to understand the braiding model:(1): it calculates the braiding matrix , where parameter is the machine cycles number and parameter is the step number, , .(2): rows of the matrix are staggered to move left or right by one unit in step 1. Right multiply the first and last row vectors of matrix by matrix so that carrier positions remain unchanged. The rest of the row vectors are staggered to be right multiplied by transform matrix first and then by from top to bottom.(3): columns of matrix are staggered to move up or down by one unit in step 2. Left multiply the first and last column vectors of the matrix by matrix so that the carrier positions remain unchanged. The rest of the column vectors are staggered to be left multiplied by transform matrix first and then by from left to right.(4): rows of matrix are staggered to move left or right by one unit in Step 3. Right multiply the first and last row vectors of matrix by matrix so that the carrier positions remain unchanged. The rest of the row vectors are staggered to be right multiplied by transform matrix first and then by from top to bottom in the reverse order of the function .(5): columns of matrix are staggered to move up or down by one unit in step 4. Left multiply the first and last column vectors of matrix by matrix so that the carrier positions remain unchanged. The rest of the column vectors are staggered to be left multiplied by transform matrix first and then by from left to right in the reverse order of the function .

Based on the analysis of the 3D 4 × 4 braiding process, the matrix algorithm has been designed by using mathematical methods such as induction and recursion, and the function is defined as follows:where parameter is the number of machine cycles and parameter is the remainder from a division of braiding steps number by four. If the machine cycle number is zero, the braiding matrix can be calculated directly by using functions such as , , , and ; if the machine cycle number is something greater than zero, the function itself will be obtained recursively. The flowchart of the algorithm is shown in Figure 3.

##### 3.4. Braiding Path Storage and Braiding Path Table Calculation

All elements, the yarn carriers, in the initial braiding matrix are numbered in accordance with one of the aforementioned rules, and their movement path can be derived by using the function to calculate a sequence of braiding matrices. In the calculation of the function , coordinates of the same element in the matrices are collected and stored in a queue with a linked list or array of sequence, called the braiding path. All path information will be outputted when the carrier’s number is given.

A point on the braiding path is indicated with a 3D coordinate, in which the -axis represents the step number, and its coordinate value is stored in a node with a pointer [7, 8] (Figure 4). The nodes of the same carrier form a long chain with linked list structure, and the header stores the yarn attribute information such as carrier number, yarn material, and thickness.

Consider the 3D 3 × 2 braiding process as an example, with the function to sequentially calculate matrices , generating carrier braiding path data that is stored as long chains. Based on the path coordinates, the 3 × 2 braiding path has been compiled in Table 1.

##### 3.5. Braiding Path Visualization

Popular drawing software programs such as AutoCAD [9], VTK, 3DMax, and MATLAB are currently available. MATLAB has powerful mathematical calculation capability [10, 11], and it can be used to visualize the braiding path [12–14]. Using the 3 × 2 braiding process as an example for visualisation, 3D coordinate points are connected with the image processing function plot 3 in MATLAB according to the braiding path presented in Table 1. The pictures generated by the software are shown in Figure 5; the -axis represents the steps.

**(a)**View from the intersection of -axis and -axis

**(b)**View from -axisIn the sequential braiding process, the braiding paths draw different colored line through the machine bed, and the line travels up along the fold line at the same time. In particular, the coordinate of the edge yarn carrier, is not changed in the first step; its braiding path is shown as a vertical line. This means that the edge yarn carrier will stay a step at the cycle beginning. Beyond helping us to create visual reproductions of the braiding process, braiding path visualization has proved the correctness of the matrix algorithm.

##### 3.6. Simulation Program Design

According to the 3D braiding matrix algorithm, the author developed a computer simulation [15] program named Matrix3DBraid 1.0. The program uses the , coordinate system to indicate yarn carriers and sets the left-bottom corner coordinate as (0, 0), the right-top corner coordinate as . Matrix3DBraid 1.0 can be used to calculate the braiding matrix and path table of any step. A screenshot of the computer simulation program is shown in Figure 6. The figure shows the 4 × 4 braiding matrix after three machine cycles and two steps. A series of braiding matrices can be derived by the simulation program, and different yarn carrier positon changes can be observed in each step. Figure 7 shows the 6 × 5 braiding process as another example; it depicts different braiding matrices from those of 4 × 4.

**(a) Initial matrix**

**(b) First step**

**(c) Second step**

**(d) Third step**

**(e) Fourth step**

**(f) Fifth step**

#### 4. Conclusions

Based on the characteristics and the laws of 3D braiding technology, this study mainly focused on the algorithm design for calculating braiding matrix and the path of any step in the braiding process, and a mathematical model to describe this process was correspondingly devised. The matrix algorithm is suitable for batch computing, as matrices that represent all yarn carriers are transformed step by step. In 3D braiding technology, this article has some reference value for improving manufacturing automation.

#### Competing Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

#### Acknowledgments

This work is supported by the National Natural Science Foundation of China (61403276) and Tianjin Research Program of Application Foundation and Advanced Technology (14JCYBJC42400).