Patent Description:
Vehicle such as submarines and aircraft are being designed and manufactured with greater and greater percentages of composite materials. Composite materials are used in submarines. For example, submarine hulls, bow domes, periscope fairings, and other components can be manufactured using composite materials. Submarine hulls fabricated from composite materials can withstand large amounts compressive pressure. Further, less issues are present with corrosion using composite materials.

As another example, composite materials are used in aircraft to decrease the weight of the aircraft. This decreased weight improves performance features such as payload capacity and fuel efficiency. Further, composite materials provide longer service life for various components in an aircraft.

Composite materials may be tough, light-weight materials created by combining two or more functional components. For example, a composite material may include reinforcing fibers bound in a polymer resin matrix. The fibers may be unidirectional or may take the form of a woven cloth or fabric. The fibers and resins may be arranged and cured to form a composite structure.

Manufacturing composite parts such as hollow composite bodies for submarine hulls or aircraft fuselages can be challenging. For example, obtaining desire levels of smoothness for hollow composite bodies can be more difficult than desired.

<CIT> states, in accordance with its abstract, that a novel method designs and analyzes composite parts including optimal manufacturing strategies. The disclsoure analyzes part design including curvatures and other surface topology to formulate an optimal strategy for material layup, number of plies, initial orientation angle, and towpath steering vectors. The method computes an optimum starting point for each fiber path and a stagger offset for each successive fiber path to as to eliminate or minimize gaps and overlaps between adjacent plies. Intermediate surfaces are generated by a polynomial discretization method which generates large computational time savings and enhances blending of adjacent zones to control surface smoothness. The method further calculates a variable steering path for the layer taking into account material parameters and limitations such that plies originating in the same location have a variable orientation angle and follow any reference curve generated by the method to maximize strength and minimize weight of the component.

<CIT> states, in accordance with its abstract, that that components and methods for forming components are provided. For example, a method for forming a component includes laying up a plurality of plies to form a component preform that defines an axis of symmetry and a circumferential direction. Laying up the plurality of plies includes overlapping ends of the plurality of plies to define overlap regions and offsetting the overlap regions along the circumferential direction such that any radial line drawn from the axis of symmetry through the plies passes through only one overlap region. In another embodiment, a component includes a body that is symmetric about an axis of symmetry and that defines a circumferential direction and a radial direction. The body is formed from a plurality of plies and has a substantially uniform thickness. Ends of the plurality of plies are overlapped to define a plurality of overlap regions, which are offset along the circumferential direction.

For example, it would be desirable to have a method and apparatus that overcome a technical problem with manufacturing hollow composite bodies.

According to the present disclosure, and methods as defined in the independent claims <NUM>, <NUM> and <NUM>, as well as systems as defined in the independent claims <NUM> to <NUM> are provided. Further embodiments of the invention are defined in the dependent claims. Although the claimed invention is only defined by the claims, the following text is presented for aiding in understanding the background and advantages of the invention.

There is disclosed a method for designing a composite hollow body. A computer system selects ply layers for the hollow composite body. The ply layers comprise courses having course edges. The computer system positions the course edges between the ply layers throughout the hollow composite body to create a staggering of the course edges between the ply layers for a design of the hollow composite body. According to other illustrative embodiments, an apparatus, a computer system, and a computer program product for designing a composite hollow body are provided.

Also, there is disclosed a method for designing a composite hollow body. A method for designing a hollow composite body. A computer system selects a ply layer in ply layers in a design for the hollow composite body to form a selected ply layer. The computer system staggers in an iterative manner course edges between the selected ply layer in the ply layers and other ply layers in the ply layers, wherein a result of increased staggering of the course edges between the ply layers occurs and the result is used in a next iteration with another selected ply layer until a desired level of staggering occurs. According to other illustrative embodiments, an apparatus, a computer system, and a computer program product for designing a composite hollow body are provided.

Further, there is disclosed a method for designing a hollow composite body comprising:.

Advantageously, the method is one wherein positioning, by the computer system, the course edges between the ply layers throughout the hollow composite body to create the staggering of the course edges between the ply layers for the design of the hollow composite body comprises:
rotating, by the computer system, a selected ply layer in the ply layers such that the course edges have an increased staggering between the ply layers to create the design of the hollow composite body.

Preferably, the method is one wherein positioning, by the computer system, the course edges between the ply layers throughout the hollow composite body to create the staggering of the course edges between the ply layers for the design of the hollow composite body comprises:
changing, by the computer system, a width of the courses in a selected ply layer such that the course edges have an increased staggering between the ply layers.

Preferably, the method is one wherein changing, by the computer system, the width of the courses in the selected ply layer such that the course edges in the selected ply layer have the increased staggering of the course edges between the ply layers comprises:.

Preferably, the method is one wherein adding, by the computer system, the number of tows to the first course in the selected ply layer comprises:.

Preferably, the method is one wherein removing, by the computer system, the number of tows from the second course in the selected ply layer comprises:
selecting, by the computer system, the second course having a second course edge in the selected ply layer that has a maximum staggering from another course edge in the course edges in the other ply layers; and
removing, by the computer system, the number of tows from the second course that is selected.

Preferably, the method is one wherein positioning, by the computer system, the course edges between the ply layers throughout the hollow composite body to create the staggering of the course edges between the ply layers for the design of the hollow composite body comprises:.

Preferably, the method is one wherein repeating the rotating and alternating steps, by the computer system, for a next ply layer in the ply layers in response to the desired level of staggering being absent.

Preferably, the method is one wherein positioning, by the computer system, the course edges between the ply layers throughout the hollow composite body to create the staggering of the course edges between the ply layers for the design of the hollow composite body further comprises:.

Preferably, the method further comprises:.

Preferably, the method is one wherein laying the composite materials in the courses using the design to create the ply layers for the hollow composite body comprises:
laying up tows in the courses using the design to create the ply layers for the hollow composite body.

Preferably, the method is one wherein an overlap between the course edges for in the courses throughout the ply layers is absent.

Preferably, the method is one wherein an overlap between the course edges for the courses throughout the ply layers occurs every n layers.

Preferably, the method is one wherein the ply layers have a same orientation selected from a group comprising <NUM> degrees and <NUM> degrees.

Preferably, the method is one wherein the course edges between the courses in a ply layer form at least one of a gap, an overlap, or an abutted edge.

Preferably, the method is one wherein the hollow composite body is selected from a group comprising a submersible hull, a submarine hull, a wing, rocket, and an fuselage.

According to another aspect of the present disclosure, a method for designing a hollow composite body comprises:.

Advantageously, the method is one wherein staggering, by the computer system, in the iterative manner course edges between the selected ply layer in the ply layers and the other ply layers in the ply layers comprises:.

Preferably, the method is one wherein staggering, by the computer system, in the iterative manner course edges between the selected ply layer in the ply layers and the other ply layers in the ply layers comprises:.

Preferably, the method is one wherein the selected ply layer is a newly added ply layer.

Preferably, the method is one wherein the selected ply layer is an existing ply layer within the ply layers.

Further, there is disclosed a composite manufacturing system comprising:.

Advantageously, the system further comprises:
fabrication equipment, wherein the composite structure manager controls the fabrication equipment to:
layup composite materials in the courses using the design to create the ply layers for the hollow composite body having.

Preferably, the system is one wherein positioning the course edges between the ply layers throughout the hollow composite body to create the staggering of the course edges between the ply layers for the design of the hollow composite body comprises:
rotate a selected ply layer in the ply layers such that the course edges have an increased staggering between the ply layers to create the design of the hollow composite body.

Preferably, the system is one wherein positioning the course edges between the ply layers throughout the hollow composite body to create the staggering of the course edges between the ply layers for the design of the hollow composite body comprises:
change a width of the courses in the selected ply layer such that the course edges have an increased staggering between the ply layers.

Preferably, the system is one wherein changing the width of the courses in the selected ply layer such that the course edges in the selected ply layer have the increased staggering of the course edges between the ply layers comprises:.

Preferably, the system is one wherein adding the number of tows to the first course in the selected ply layer comprises:.

Preferably, the system is one wherein removing the number of tows from the second course in the selected ply layer comprises:.

Preferably, the system is one wherein positioning the course edges between the ply layers throughout the hollow composite body to create the staggering of the course edges between the ply layers for the design of the hollow composite body comprises:.

Preferably, the system is one wherein repeating the rotating and alternating steps for a next ply layer in the ply layers in response to the desired level of staggering being absent.

Preferably, the system is one wherein positioning the course edges between the ply layers throughout the hollow composite body to create the staggering of the course edges between the ply layers for the design of the hollow composite body further comprises:.

Preferably, the system further comprises:
laying up composite materials in the courses using the design to create the ply layers for the hollow composite body.

Also, there is disclsoed a composite manufacturing system comprising:.

Furthermore, there is disclosed a computer program product for designing a hollow composite body, the computer program product comprising a computer readable storage media having program instructions embodied therewith, the program instructions executable by a computer system to cause the computer system to perform a method of:.

Last but not least there is disclosed a computer program product for designing a hollow composite body, the computer program product comprising a computer readable storage media having program instructions embodied therewith, the program instructions executable by a computer system to cause the computer system to perform a method of:.

The illustrative embodiments recognize and take into account one or more different considerations. For example, the illustrative embodiments recognize and take into account designing and manufacturing hollow composite bodies can involve the presence of gaps between course edges for courses in ply layers. The illustrative embodiments recognize and take into account that the overlap gaps between courses through the ply layers four a hollow composite body can lead to the formation of wrinkling when curing composite materials light up for the hollow composite body.

The illustrative embodiments recognize and take into account that current techniques for generating designs for composite hollow bodies do not adequately control staggering between courses through the ply layers. The illustrative embodiments recognize and take into account that with current designs using starting points can cause applies to overlap locally as he circumference of the cylindrical hollow composite body increases. The illustrative embodiments recognize and take into account that current techniques only take into account a previous ply and do not take into account overlaps between course edges throughout the ply layers for the composite hollow body.

Thus, the illustrative embodiments provide a method, apparatus, system, and computer program product for manufacturing a composite hollow body with a desired level staggering between course edges throughout the ply layers. In the illustrative example, the staggering is performed iteratively in a manner that can enable convergence on and optimize design for laying up composite materials for courses imply layers for a hollow composite body.

In one illustrative example, course edges are identified throughout ply layers in a composite hollow body. The alignment of course edges are staggered throughout the ply layers. At least one of a rotation of apply layer or the change of course widths for courses within a ply layer can be performed to increase the staggering of the course edges throughout the ply layers. This type of adjustment can be performed iteratively for each ply layer throughout the thickness of the composite hollow body to obtain a design of the composite hollow body that has increased staggering in which the increased staggering can meet a desired tolerance for staggering of course edges in the composite hollow body.

With reference now to the figures and, in particular, with reference to <FIG>, a pictorial representation of a network of data processing systems is depicted in which illustrative embodiments may be implemented. Network data processing system <NUM> is a network of computers in which the illustrative embodiments may be implemented. Network data processing system <NUM> contains network <NUM>, which is the medium used to provide communications links between various devices and computers connected together within network data processing system <NUM>. Network <NUM> may include connections, such as wire, wireless communication links, or fiber optic cables.

In the depicted example, server computer <NUM> and server computer <NUM> connect to network <NUM> along with storage unit <NUM>. In addition, client systems <NUM> are physical hardware systems that connect to network <NUM>. As depicted, client systems <NUM> include client computer <NUM>, client computer <NUM>, and client computer <NUM>. Client systems <NUM> can be, for example, computers, workstations, network computers, a data processing system, a building, or a warehouse, a manufacturing floor, or some other structure that implements data processing systems.

In the depicted example, server computer <NUM> provides information, such as boot files, operating system images, and applications to client systems <NUM>. Further, client systems <NUM> can also include other types of client devices such as mobile phone <NUM>, tablet computer <NUM>, and manufacturing facility <NUM>. In this illustrative example, server computer <NUM>, server computer <NUM>, storage unit <NUM>, and client systems <NUM> are network devices that connect to network <NUM> in which network <NUM> is the communications media for these network devices. Some or all of client systems <NUM> may form an Internet of things (IoT) in which these physical devices can connect to network <NUM> and exchange information with each other over network <NUM>.

Client systems <NUM> are clients to server computer <NUM> in this example. Network data processing system <NUM> may include additional server computers, client computers, and other devices not shown. Client systems <NUM> connect to network <NUM> utilizing at least one of wired, optical fiber, or wireless connections.

Program instructions located in network data processing system <NUM> can be stored on a computer-recordable storage media and downloaded to a data processing system or other device for use. For example, program instructions can be stored on a computer-recordable storage media on server computer <NUM> and downloaded to client systems <NUM> over network <NUM> for use on client systems <NUM>.

In the depicted example, network data processing system <NUM> is the Internet with network <NUM> representing a worldwide collection of networks and gateways that use the Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers consisting of thousands of commercial, governmental, educational, and other computer systems that route data and messages. Of course, network data processing system <NUM> also may be implemented using a number of different types of networks. For example, network <NUM> can be comprised of at least one of the Internet, an intranet, a local area network (LAN), a metropolitan area network (MAN), or a wide area network (WAN). <FIG> is intended as an example, and not as an architectural limitation for the different illustrative embodiments.

As used herein, "a number of" when used with reference to items, means one or more items. For example, "a number of different types of networks" is one or more different types of networks.

Further, the phrase "at least one of," when used with a list of items, means different combinations of one or more of the listed items can be used, and only one of each item in the list may be needed. In other words, "at least one of" means any combination of items and number of items may be used from the list, but not all of the items in the list are required. The item can be a particular object, a thing, or a category.

In this illustrative example, composite part manager <NUM> can create design <NUM> for composite hollow bodies such as a submarine hull or an aircraft fuselage. Manufacturing facility <NUM>. The creation of design <NUM> by composite part manager <NUM> can be performed with input <NUM> received from user <NUM> at client computer <NUM>. For example, user <NUM> can provide specifications in input <NUM> for design <NUM>. The specifications can include, for example, a number of ply layers for the composite hollow body, compressive strength, dimensions, ply directions, and other specifications for the composite hollow body.

In this illustrative example, design <NUM> for the composite hollow body can include ply layers <NUM> having courses <NUM> with course edges <NUM>. Composite part manager <NUM> can assist in creating design <NUM> or optimize design <NUM> through reducing overlaps between course edges <NUM> in different ply layers in ply layers <NUM>.

In other words, composite part manager <NUM> can increase the staggering of ply layers <NUM> in design <NUM> in a manner that reduces undesired inconsistencies such as wrinkling, depressions, or other undesired inconsistencies that may be out of tolerance for design <NUM>. In this illustrative example, tolerances can be specified in design <NUM> for input <NUM> and an undesired consistency is an inconsistency is out of tolerance for design <NUM>.

Composite part manager <NUM> can send instructions <NUM> to manufacturing facility <NUM> to manufacture hollow composite body <NUM> using design <NUM>. In this illustrative example, instructions <NUM> can be at least one of program code, data, design <NUM>, or other information that can be used by manufacturing facility <NUM> to manufacture hollow composite body <NUM>.

With reference now to <FIG>, a block diagram of a composite manufacturing environment is depicted in accordance with an illustrative embodiment. In this illustrative example, composite manufacturing environment <NUM> includes components that can be implemented in hardware such as the hardware shown in network data processing system <NUM> in <FIG>.

As depicted, composite manufacturing system <NUM> can generate design <NUM> for composite part <NUM>. Composite part <NUM> can take the form of hollow composite body <NUM>. Hollow composite body <NUM> can take a number of different forms. For example, hollow composite body <NUM> can be selected from a group comprising a submersible hull, a submarine hull, a wing, a rocket, a, aircraft fuselage, and other suitable composite structures having a hollow section. In this illustrative example, hollow composite body <NUM> can have a cross-section in the form of a circle, an oval, a racetrack, an airfoil, a teardrop, or some other suitable cross-sectional shape.

In this illustrative example, composite manufacturing system <NUM> comprises computer system <NUM> and composite structure manager <NUM>. Composite structure manager <NUM> is located in computer system <NUM>.

Composite structure manager <NUM> can be implemented in software, hardware, firmware or a combination thereof. When software is used, the operations performed by composite structure manager <NUM> can be implemented in program code configured to run on hardware, such as a processor unit. When firmware is used, the operations performed by composite structure manager <NUM> can be implemented in program code and data and stored in persistent memory to run on a processor unit. When hardware is employed, the hardware can include circuits that operate to perform the operations in composite structure manager <NUM>.

In the illustrative examples, the hardware can take a form selected from at least one of a circuit system, an integrated circuit, an application specific integrated circuit (ASIC), a programmable logic device, or some other suitable type of hardware configured to perform a number of operations. With a programmable logic device, the device can be configured to perform the number of operations. The device can be reconfigured at a later time or can be permanently configured to perform the number of operations. Programmable logic devices include, for example, a programmable logic array, a programmable array logic, a field programmable logic array, a field programmable gate array, and other suitable hardware devices. Additionally, the processes can be implemented in organic components integrated with inorganic components and can be comprised entirely of organic components excluding a human being. For example, the processes can be implemented as circuits in organic semiconductors.

Computer system <NUM> is a physical hardware system and includes one or more data processing systems. When more than one data processing system is present in computer system <NUM>, those data processing systems are in communication with each other using a communications medium. The communications medium can be a network. The data processing systems can be selected from at least one of a computer, a server computer, a tablet computer, or some other suitable data processing system.

As depicted, computer system <NUM> includes a number of processor units <NUM> that are capable of executing program code <NUM> implementing processes in the illustrative examples. As used herein a processor unit in the number of processor units <NUM> is a hardware device and is comprised of hardware circuits such as those on an integrated circuit that respond and process instructions and program code that operate a computer. When a number of processor units <NUM> execute program code <NUM> for a process, the number of processor units <NUM> is one or more processor units that can be on the same computer or on different computers. In other words, the process can be distributed between processor units on the same or different computers in a computer system. Further, the number of processor units <NUM> can be of the same type or different type of processor units. For example, a number of processor units can be selected from at least one of a single core processor, a dual-core processor, a multi-processor core, a general-purpose central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), or some other type of processor unit.

In this illustrative example, design <NUM> is a planner specification for the construction of an object or system such as composite part <NUM>. Design <NUM> can include at least one of geometries, materials, processes for manufacturing, computer numerical control instructions, or any other information used to manufacture composite part <NUM>, such as hollow composite body <NUM>. In these illustrative examples, design <NUM> is in a form usable by computer system <NUM>. For example, design <NUM> can be stored in a digital form such as in an electronic file or other data structure that is readable by computer system <NUM>. In one illustrative example, design <NUM> is implemented as a computer-aided design (CAD).

In this illustrative example, composite structure manager <NUM> can analyze and adjust design <NUM> for hollow composite body <NUM>. For example, composite structure manager <NUM> can operate to select ply layers <NUM> for hollow composite body <NUM>. In this illustrative example, ply layers <NUM> comprise courses <NUM> having course edges <NUM>.

In this example, a course edge in course edges <NUM> is parallel to fibers that form courses <NUM>. Courses <NUM> also have course ends <NUM>. The course end in course ends <NUM> is an end or edge where the fibers terminate or are cut. A course edge is longer than a course end in these illustrative examples.

In the illustrative example, course edges <NUM> are parallel to the fibers <NUM> that form courses <NUM> regardless of the orientation of courses <NUM>. For example, if courses <NUM> an orientation of <NUM> degrees, the fibers in courses <NUM> have an orientation of <NUM> degrees. Course edges <NUM> are parallel to the fibers extending through courses <NUM> and also have an orientation of <NUM> degrees.

If the orientation of courses <NUM> are at <NUM> degrees, fibers <NUM> forming courses <NUM> also extend in a direction of <NUM> degrees. Course edges <NUM> are at <NUM>° and parallel to the direction of fibers <NUM> forming courses <NUM>. In other words, course edges <NUM> remain in parallel to fibers <NUM> when the orientations of courses <NUM> are changed in different designs for hollow composite body <NUM>.

Ply layers <NUM> are comprised of composite materials <NUM>. These composite materials can be, for example, a fiber reinforced polymer or fiber reinforced plastic comprising a polymer matrix reinforced with fiber. Composite materials <NUM> can be arranged in courses <NUM>. In this illustrative example, tows <NUM> can be laid up to form courses <NUM>. A course in courses <NUM> is a group of composite materials laid down. In the illustrative example, a course comprises a group of tows laid down by an automated fiber placement (AFP) machine in a single motion. In another illustrative example, a course can comprise a group of composite tapes laid down.

In this illustrative example, composite structure manager <NUM> positions course edges <NUM> between ply layers <NUM> throughout hollow composite body <NUM> to create staggering <NUM> of course edges <NUM> between ply layers <NUM> for design <NUM> of hollow composite body <NUM>. Course edges <NUM> between courses <NUM> in a ply layer in ply layers <NUM> can form at least one of a gap, an overlap, or an abutted edge.

In this illustrative example, ply layers <NUM> can have the same orientation. For example, ply layers <NUM> can have an orientation selected from <NUM> degrees, <NUM> degrees, or some other orientation. A <NUM> degree orientation can result in courses <NUM> extending in a direction concentric to an axis extending centrally through hollow composite body <NUM>.

In this illustrative example, additional ply layers <NUM> can be present in design <NUM> for hollow composite body <NUM>. Additional ply layers <NUM> have a different orientation from ply layers <NUM>. For example, ply layers <NUM> may have an orientation of <NUM> degrees, while additional ply layers <NUM> may have an orientation of <NUM> degrees or <NUM> degrees. Additional ply layers <NUM> can be interspersed within ply layers <NUM>.

In the depicted example, a level of staggering <NUM> of course edges <NUM> between ply layers <NUM> reduces undesired inconsistencies <NUM> in fabricating the hollow composite body <NUM>. Undesired inconsistencies <NUM> can be at least one of a wrinkle, a depression, a ridge, or some other inconsistency that is out of tolerance for hollow composite body <NUM>. The tolerance specified in a specification, design <NUM>, in some other location. In this illustrative example, staggering <NUM> of course edges <NUM> between ply layers <NUM> does not include course edges <NUM> in the same ply layer. In other words, staggering <NUM> is not determined with respect to course edges <NUM> in the same ply layer in ply layers <NUM>.

In one illustrative example, positioning of course edges <NUM> between ply layers <NUM> throughout hollow composite body <NUM> in design <NUM> can be performed in a number of different ways. For example, the positioning of course edges <NUM> can be performed by composite structure manager <NUM> rotating selected ply layer <NUM> in ply layers <NUM> such that course edges <NUM> have increased staggering of between ply layers <NUM> in creating design <NUM> for hollow composite body <NUM>. The rotating of selected ply layer <NUM> causes all of course edges <NUM> in selected ply layer <NUM> to change position or move relative to course edges <NUM> in other ply layers <NUM> in ply layers <NUM>.

As another example of positioning, composite structure manager <NUM> can change width <NUM> of the courses <NUM> in selected ply layer <NUM> such that course edges <NUM> in selected ply layer <NUM> have an increased staggering of course edges <NUM> between ply layers <NUM>. By changing with <NUM> of courses <NUM>, a finer granularity in adjusting course edges <NUM> and selected ply layer <NUM> can be performed as compared to rotating selected ply layer <NUM>. In other words, by adjusting width <NUM> of course edges <NUM> in selected ply layer <NUM>, one or more of course edges <NUM> can be moved or adjusted in selected ply layer <NUM> relative to course edges <NUM> in other ply layers <NUM> in ply layers <NUM>.

In the different illustrative examples, selected ply layer <NUM> can be selected any number of different ways. For example, selected ply layer <NUM> can be the innermost ply layer and ply layers <NUM>. In another illustrative example, selected ply layer <NUM> can be the outermost by layer in ply layers <NUM>. For example, selected ply layer <NUM> can be a newly added ply layer. In another illustrative example, selected ply layer <NUM> can be an existing ply layer within ply layers <NUM>.

In the illustrative example, changing width <NUM> in selected ply layer <NUM> can be performed by composite structure manager <NUM> in a number of different ways. Composite structure manager <NUM> can add a number of tows <NUM> to first course <NUM> in selected ply layer <NUM>. Composite structure manager <NUM> can remove the number of tows <NUM> from second course <NUM> in selected ply layer <NUM>. This changing of the two courses, course edges <NUM> in selected ply layer <NUM> have increased staggering of course edges <NUM> between ply layers <NUM>.

The selection of first course <NUM> for adding a number of tows <NUM> and second course <NUM> for removing the number of tows <NUM> can be performed in a number of different ways. For example, first course <NUM> can be selected by composite structure manager <NUM> as a course having first course edge <NUM> in selected ply layer <NUM> that has a minimum staggering <NUM> from another course edge <NUM> in course edges <NUM> in other ply layers <NUM> in ply layers <NUM>. Composite structure manager <NUM> can add the number of tows <NUM> to first course <NUM> that is selected.

Further, the iteration does not necessarily need to be made for every ply layer in ply layers <NUM>. For example, this iterative process can be halted if staggering <NUM> of course edges <NUM> in ply layers <NUM> meet some desired level or value for staggering <NUM>. The desired level of staggering <NUM> can be based on when undesired inconsistencies <NUM> do not occur at an undesired level during fabrication of hollow composite body <NUM>. The desired level staggering can be performed based on empirical data from fabricating hollow composite bodies with different levels of staggering <NUM>. In another illustrative example, the desired level of staggering <NUM> can be determined through simulations.

In this example, the selection of second course <NUM> for removing the number of tows <NUM> can be performed in a number of different ways. For example, second course <NUM> can be selected by composite structure manager <NUM> as a course having second course edge <NUM> in selected ply layer <NUM> that has maximum staggering <NUM> from another course edge <NUM> in course edges <NUM> in other ply layers <NUM>. Composite structure manager <NUM> can remove the number of tows <NUM> from second course <NUM> that is selected.

In this example, tows are added and removed from two courses in selected ply layer <NUM>. In other illustrative examples, tows <NUM> can be added or removed from other number courses in selected ply layer <NUM>. For example, courses can be added or removed from three courses, five courses, or some other number courses in selected ply layer <NUM>.

In the illustrative of example, at least one of rotating selected ply layer <NUM> or changing width <NUM> of courses <NUM> and selected ply layer <NUM> can be performed by composite structure manager <NUM> to increase staggering <NUM> of course edges <NUM> between ply layers <NUM>. In other words, staggering <NUM> can be increased throughout the different ply layers in ply <NUM> by composite structure manager <NUM> using one or both of these operations.

The steps of rotating a ply layer and adding and removing tows <NUM> from the ply layer can be repeated for next ply layer <NUM> in ply layers <NUM> in response to a desired level of staggering <NUM> being absent between course edges <NUM> in design <NUM> for hollow composite body <NUM>. For example, composite structure manager <NUM> can select next ply layer <NUM> in ply layers <NUM> for processing. Composite structure manager <NUM> can rotate next ply layer <NUM> to increase staggering of course edges <NUM> between ply layers <NUM>. Composite structure manager <NUM> can alternate the number of tows <NUM> between courses <NUM> in next ply layer <NUM> to increase staggering <NUM> of course edges <NUM> between ply layers <NUM> in response to rotating next ply layer <NUM> not resulting in the desired level of staggering <NUM> of course edges <NUM> between ply layers <NUM>.

Composite structure manager <NUM> can repeat the selecting next ply layer <NUM>, rotating next ply layer <NUM>, and alternating the number of tows <NUM> between courses <NUM> in next ply layer <NUM> until all of ply layers <NUM> have been processed. In another illustrative example, composite structure manager <NUM> can halt repeating these steps when a desired level of staggering <NUM> is present in course edges <NUM> between ply layers <NUM>.

In another illustrative example, composite structure manager <NUM> can iteratively process ply layers <NUM> to obtain a desired level of staggering <NUM> in ply layers <NUM> for hollow composite body <NUM>. For example, composite structure manager <NUM> can select a ply layer in ply layers <NUM> in design <NUM> for hollow composite body <NUM> to form selected ply layer <NUM>. Composite structure manager <NUM> can then stagger in an iterative manner course edges <NUM> between selected ply layer <NUM> in ply layers <NUM> and other ply layers <NUM> in ply layers <NUM>. In other words, staggering or repositioning of course edges <NUM> in selected ply layer <NUM> is made with respect to course edges <NUM> in other ply layers <NUM>.

This staggering is performed by composite structure manager <NUM> such that a result of increased staggering of the course edges <NUM> between ply layers <NUM> occurs. This result is used in a next iteration with another selected ply layer until a desired level of staggering to third occurs. This type of iterative process can be performed to stagger course edges <NUM> through rotation of selected ply layer <NUM>, changing width <NUM> of courses <NUM> and selected ply layer <NUM>, or a combination of the two.

When design <NUM> is completed, composite structure manager <NUM> can use design <NUM> to fabricate hollow composite body <NUM>. In this illustrative example, composite structure manager <NUM> can control fabrication equipment <NUM> to fabricate hollow composite body <NUM>. For example, fabrication equipment <NUM> can include automated fiber placement (AFP) machine <NUM> which is controlled by composite structure manager <NUM> to lay up composite materials <NUM> such as tows <NUM> in courses <NUM> using design <NUM> to create ply layers <NUM> for hollow composite body <NUM>. In this illustrative example, a course in courses <NUM> is formed by each pass of automated fiber placement machine <NUM>.

In this illustrative example, fabrication equipment <NUM> can also include autoclave <NUM>. Composite structure manager <NUM> can control autoclave <NUM> to cure ply layers <NUM> laid up using design <NUM> to create hollow composite body <NUM>. In this depicted example, staggering of course edges <NUM> between ply layers <NUM> results in a reduction in undesired inconsistencies <NUM> in the hollow composite body occurring of the ply layers.

In this illustrative example, composite structure manager <NUM> can control the operation of fabrication equipment <NUM> using sensor system <NUM>. As depicted, sensor system <NUM> is a physical hardware system that detects information about fabrication equipment <NUM>, the environment around fabrication equipment <NUM>, or both, to generate sensor data <NUM>. Sensor system <NUM> can be comprised of at least one of a camera system, a laser sensor, an ultrasonic sensor, a light detection and ranging scanner, an encoder, a rotary encoder, a temperature sensor, a pressure sensor, an accelerometer, or some other suitable type of sensor.

Sensor system <NUM> can generate sensor data <NUM> about the operation of fabrication equipment <NUM>. As depicted, sensor data <NUM> can be used by fabrication controller <NUM> in composite structure manager <NUM> to control the operation of fabrication equipment <NUM>. In this illustrative example, a portion or all of sensor system <NUM> can be associated or connected to fabrication equipment <NUM>.

In this illustrative example, fabrication controller <NUM> can use sensor data <NUM> to generate instructions <NUM>. Instructions <NUM> can be used to cause fabrication equipment <NUM> to perform a number of manufacturing operations <NUM>. In this illustrative example, instructions <NUM> can comprise at least one of commands, data, or other information that can control the operation of fabrication equipment <NUM>.

In one illustrative example, one or more technical solutions are present that overcome a technical problem with reducing undesired inconsistencies in hollow composite bodies. As a result, one or more technical solutions can provide a technical effect reducing the time and effort needed to obtain a level of staggering between course edges imply layers to reduce undesired inconsistencies for fabricating composite hollow bodies.

Computer system <NUM> can be configured to perform at least one of the steps, operations, or actions described in the different illustrative examples using software, hardware, firmware or a combination thereof. As a result, computer system <NUM> operates as a special purpose computer system in which composite structure manager <NUM> in computer system <NUM> enables a process for obtaining a desired level of staggering in a design for a composite part such as a hollow composite body. In particular, composite structure manager <NUM> transforms computer system <NUM> into a special purpose computer system as compared to currently available general computer systems that do not have composite structure manager <NUM>.

In the illustrative example, the use of composite structure manager <NUM> in computer system <NUM> integrates processes into a practical application for method designing a composite hollow body that increases the performance of computer system <NUM>. In other words, composite structure manager <NUM> in computer system <NUM> is directed to a practical application of processes integrated into composite structure manager <NUM> in computer system <NUM> enables designing a composite hollow body in a manner that obtains staggering of course edges in a manner that reduces undesired inconsistencies when fabricating a composite hollow body as compared to current techniques. In this illustrative example, composite structure manager <NUM> in computer system <NUM> enables reducing the time needed to create a design for composite hollow body that produces undesired inconsistencies. The use of composite structure manager <NUM> can reduce or avoid the amount of rework may be needed when undesired inconsistencies occur. Further, the use of composite structure manager <NUM> in computer system <NUM> can reduce the need for a human operator to go back and revise a design.

The illustration of composite manufacturing environment <NUM> in <FIG> is not meant to imply physical or architectural limitations to the manner in which an illustrative embodiment may be implemented. Other components in addition to or in place of the ones illustrated may be used. Some components may be unnecessary. Also, the blocks are presented to illustrate some functional components. One or more of these blocks may be combined, divided, or combined and divided into different blocks when implemented in an illustrative embodiment.

For example, composite structure manager <NUM> can be used to manufacture other composite parts in addition to hollow composite body <NUM>. As another illustrative example, fabrication equipment <NUM> can include other equipment in addition to automated fiber placement machine <NUM> and autoclave <NUM> and other types of composite materials can be used in addition to or in place of tows <NUM>. For example, composite tape can be laid up in courses <NUM> by automated tape laying (ATL) machine in fabrication equipment <NUM>.

As another example, inlaying up ply layers for manufacturing hollow composite body <NUM>. A first portion of ply layers <NUM> can be laid up and cured. Then a second portion of the ply layers <NUM> can be laid up and cured using design <NUM>.

In other words, the layout and curing of ply layers can occur all at once or incrementally.

With reference next to <FIG>, an illustration of a cross-section of ply layers in a design for a submersible hull is depicted in accordance with an illustrative embodiment. In this depicted example, the design for submersible hull <NUM> is an example of hollow composite body <NUM> shown in block form in <FIG>. In this illustrative example, submersible hull <NUM> is comprised of ply layers <NUM>, such as ply layer <NUM>, ply layer <NUM>, ply layer <NUM>, ply layer <NUM>, and ply layer <NUM>.

As depicted, ply layers <NUM> have an orientation of <NUM> degree. Courses in ply layers <NUM> extend in a direction parallel with axis <NUM> that extends centrally within submersible hull <NUM>. For example, ply layer <NUM> is comprised of courses such as course <NUM> and course <NUM>. Ply layer <NUM> has, for example, courses such as course <NUM>. In this illustrative example, each course is formed from a single pass of a head of an automated fiber placement (AFP) machine used to lay up composite materials such as tows.

Each course is comprised of a number of tows, which also have a <NUM> degree orientation. For example, course <NUM> has tow <NUM>, tow <NUM>, tow <NUM>, and tow <NUM>.

As depicted, the courses have course edges in which gaps are present between the course edges. For example, course <NUM> has course edge <NUM>, and course <NUM> has course edge <NUM> with gap <NUM> present between these two course edges. In other illustrative examples, an overlap can be present between course edges or course edges may abut or touch each other.

In this illustrative example, the staggering of course edges is not at a desirable level. In this illustrative example, when gaps are present between course edges, the measurement of the staggering ply edges can be measured based on the arcs of gaps measured relative to each other in different ply layers from axis <NUM>.

For example, the staggering of these course edges result in an overlap between gaps. For example, an undesired overlap of gaps is present in section <NUM> and section <NUM>. For example, an overlap is present between gap <NUM> and gap <NUM>. As another example, an overlap is present between gap <NUM> in gap <NUM>.

In this illustrative example, the staggering between course edges or gaps can be determined based on the angle or arc between two course edges or two gaps relative to axis <NUM>. For example, the staggering between course edge <NUM> and course edge <NUM> can be arc <NUM> or angle <NUM> between ray <NUM> and ray <NUM> extending from axis <NUM>.

These overlaps, such as in section <NUM> and section <NUM>, can result in undesired inconsistencies when ply layers <NUM> are laid up and cured to form submersible hull <NUM>. For example, the undesired consistency can involve one or more wrinkles (not shown) on surface <NUM> of submersible hull <NUM>. Composite structure manager <NUM> (not shown) in <FIG> can operate increase the staggering of course edges that result in less overlap between gaps in the different ply layers. As depicted in this example, the circumference for each ply layer is greater than for ply layer closer to axis <NUM>. For example, ply layer <NUM> has a greater circumference than ply layer <NUM>. In other words, the circumference of ply layers increases as the ply layers progress radially outward away from axis <NUM>.

Additionally, course edges extend in parallel with the fibers in the tows laid up to form the courses. For example, course edge <NUM> and course edge <NUM> for course <NUM> extends longitudinally in parallel to axis <NUM> as well as in parallel to fibers in tow <NUM>, tow <NUM>, tow <NUM>, and tow <NUM> laid up longitudinally in parallel to axis <NUM>. As depicted in this view, course <NUM> has course end <NUM>, which is a side of course <NUM> where the fibers terminate. In the illustrative examples, course edges are greater in length and course ends.

Turning next to <FIG>, an illustration of a cross-section of rotated ply layers in design for a submersible hull is depicted in accordance with an illustrative embodiment. In the illustrative examples, the same reference numeral may be used in more than one figure. This reuse of a reference numeral in different figures represents the same element in the different figures.

In this illustrative example, ply layers <NUM> and been rotated relative to each other to increase the staggering of ply edges. This increase in the staggering of course edges has resulted in a reduction in the overlap of gaps such as those previously seen in section <NUM> and section <NUM> in <FIG>. Although the staggering of course edges has been increased, some overlap of gaps between course edges still remains as depicted in this figure. For example, a staggering of gaps is still present in section <NUM>, section <NUM>, section <NUM>, section <NUM>, section <NUM>, section <NUM>, and section <NUM>. The depth of the overlap of gaps is reduced in a manner that can reduce undesired inconsistencies as compared to the overlap of gaps depicted in <FIG>. Depending on the particular design and desired level staggering, additional operations can be performed to further increase the staggering of ply layers <NUM>.

With reference to <FIG>, an illustration of rotated courses and manipulated tows for ply layers in a design for submersible hull is depicted in accordance with an illustrative embodiment. With this reduced staggering from rotating ply layers <NUM> in <FIG>, composite structure manager <NUM> can further reduce staggering through changing course widths as depicted in this figure.

In this illustrative example, the width of courses within ply layers <NUM> have been changed to increase the staggering of ply edges between ply layers <NUM>. The width of courses can be adjusted by increasing the width or decreasing the width of courses in a manner that maintains a consistent circumference for each ply layer in ply layers <NUM>. This adjustment can be used to shift the location of ply edges in one or more courses. This type of adjustment provides a greater granularity in adjusting course edges as compared to rotating a ply layer. In other words, this type of adjustment may adjust the position of one or more course edges in a ply layer while rotating the ply layer adjust the position of all of the course edges in the ply layer.

For example, a tow has been removed from course <NUM> and added to course <NUM> in ply layer <NUM>. As a result, course <NUM> has three tows, while course <NUM> has five tows. This adjustment to these two courses results in moving the position of course edge <NUM> and course edge <NUM>, which in turn causes this position of gap <NUM> to move. As a result, if other tows are not moved, only these.

For example, one or more tows can be removed from one course and added to another course in a ply layer. When gaps are present between ply edges, a tow in a course in a ply layer may be in some cases added to a course without removing a tow from another course depending on the size of gaps. In another example, a tow may be removed from a course without adding a tow to another course in the ply layer.

As depicted, the design of submersible hull <NUM> in this figure now has a desired level of staggering of course edges between the ply layers. The staggering of ply edges and gaps between ply edges are such that undesired overlaps have been reduced to a level that reduces undesired inconsistencies when submersible hull <NUM> is fabricated using the design as depicted in this figure.

Illustration of the design for submersible hull <NUM> in <FIG> and provided as an illustration of one manner in which a submersible hull can be implemented. This illustration is not meant to limit the manner in which other illustrative examples can be implemented. For example, other number of ply layers can be used in addition to six ply layers. In the depicted example, six ply layers were selected to illustrate features of the illustrative example. In other illustrative examples, a submersible hull may have <NUM>, <NUM>, <NUM>, or some other number of ply layers.

Further, other ply layers can be present but not shown in addition to ply layers <NUM>. For example, other ply layers in other directions other than <NUM>° can be present in the design for submersible hull <NUM>. These ply layers are not shown to avoid obscuring the presentation of features in the illustrative of examples.

Further, the staggering can be performed for ply layers laid up in another orientation other than <NUM> degrees. In another illustrative example, the courses be laid up at <NUM> degrees rather than longitudinally at <NUM> degrees as depicted in <FIG>. With this orientation, course edges are oriented at <NUM> degrees and are still in parallel with the fibers forming the courses. In other words, tows for disorientation of the courses are laid up at <NUM> degrees such that the fibers are oriented at <NUM> degrees in parallel with the course edges that are also oriented at <NUM> degrees. The staggering perform for course edges can be performed in the same manner for this and other orientations of course edges.

Turning next to <FIG>, an illustration of a flowchart of a process for designing a hollow composite body is depicted in accordance with an illustrative embodiment. The process in <FIG> can be implemented in hardware, software, or both. When implemented in software, the process can take the form of program code that is run by one of more processor units located in one or more hardware devices in one or more computer systems. For example, the process can be implemented in composite structure manager <NUM> in computer system in <FIG>.

The process begins by selecting ply layers for the hollow composite body (operation <NUM>). In operation <NUM>, the ply layers comprise courses having course edges. The process positions the course edges between the ply layers throughout the hollow composite body to create a staggering of the course edges between the ply layers for a design of the hollow composite body (operation <NUM>). The process terminates thereafter.

In operation <NUM>, a level of the staggering of the course edges between the ply layers reduces undesired inconsistencies in fabricating the hollow composite body. In one illustrative example, an absence of any overlap between course edges or gaps may be standard for a desired level of staggering that reduces undesired inconsistencies. In another illustrative example, an overlap between the course edges for the courses throughout the ply layers occurring every n layers may be acceptable depending on the amount of reduction in undesired consistencies. This overlap may also be determined based on gaps between course edges.

With reference to <FIG>, an illustration of a flowchart of a process for positioning course edges is depicted in accordance with an illustrative embodiment. The process in <FIG> is an example of an implementation for operation <NUM> in <FIG>.

The process rotates a selected ply layer in the ply layers such that the course edges have an increased staggering between the ply layers to create the design of the hollow composite body (operation <NUM>). The process terminates thereafter.

Turning now to <FIG>, an illustration of a flowchart of a process for positioning course edges is depicted in accordance with an illustrative embodiment. The process in <FIG> is an example of an implementation for operation <NUM> in <FIG>.

The process changes a width of the courses in a selected ply layer such that the course edges have an increased staggering between the ply layers (operation <NUM>). The process terminates thereafter.

In <FIG>, an illustration of a flowchart of a process for changing course widths is depicted in accordance with an illustrative embodiment. The process in <FIG> is an example of an implementation for operation <NUM> in <FIG>.

The process begins by adding a number of tows to a first course in the selected ply layer (operation <NUM>). The process removes the number of tows from a second course in the selected ply layer, wherein the edges in the selected ply layer have increased staggering of the course edges between the ply layers (operation <NUM>). The process terminates thereafter.

With reference to <FIG>, an illustration of a flowchart of a process for changing course widths is depicted in accordance with an illustrative embodiment. The process in <FIG> is an example of an implementation for operation <NUM> in <FIG>.

The process selects the first course having a first course edge in the selected ply layer that has a minimum staggering from another course edge in the course edges in other ply layers (operation <NUM>). The process adds the number of tows to the first course that is selected (operation <NUM>). The process terminates thereafter.

Turning to <FIG>, an illustration of a flowchart of a process for changing course widths is depicted in accordance with an illustrative embodiment. The process in <FIG> is an example of an implementation for operation <NUM> in <FIG>.

The process begins by selecting the first course having a first course edge in the selected ply layer that has a minimum staggering from another course edge in the course edges in other ply layers (operation <NUM>). The process adds the number of tows to the first course that is selected (operation <NUM>).

The process selects the second course having a second course edge in the selected ply layer that has a maximum staggering from another course edge in the course edges in the other ply layers (operation <NUM>). The process removes the number of tows from the second course that is selected (operation <NUM>). The process terminates thereafter.

The process begins by rotating a selected ply layer in the ply layers to increase staggering of the course edges between the ply layers (operation <NUM>). The process alternates a number of tows between courses in the selected ply layer to increase the staggering of the course edges of course edges in the other the ply layers in response to rotating the selected ply layer not resulting in a desired level of staggering of the course edges between the ply layers (operation <NUM>). This process can be repeated for the next ply layer in the file layers in response to a desired level of staggering being absent between the course edges. In the illustrative example, the next ply level layer is the ply layer that touches the ply layer that has been processed by rotating or alternating tows.

With reference next to <FIG>, an illustration of a flowchart of a process for positioning course edges is depicted in accordance with an illustrative embodiment. The process in <FIG> is an example of an implementation for operation <NUM> in <FIG>.

The process begins by selecting a next ply layer in the ply layers for processing (operation <NUM>). The process rotates the next ply layer to increase staggering of the course edges between the ply layers (operation <NUM>). The process alternates the number of tows between the courses in the next ply layer to increase the staggering of the course edges between the ply layers in response to rotating the next ply layer not resulting in the desired level of staggering of the course edges between the ply layers (operation <NUM>).

The process repeats the selecting the next ply layer, rotating the next ply layer, and alternating the number of tows between the courses in the next ply layer until all of the ply layers have been processed (operation <NUM>). The process terminates thereafter.

Turning to <FIG>, an illustration of the flowchart of a process for manufacturing a hollow composite body is depicted in accordance with an illustrative embodiment. The process illustrated in <FIG> is an example of additional steps that can be performed after the design of the composite hollow body is completed in the process in <FIG>.

The process begins by laying up composite materials in the courses using the design to create the ply layers for the hollow composite body (operation <NUM>). In operation <NUM>, the composite materials laid out can be, for example, tows.

The process cures the ply layers laid up using the design to create the hollow composite body, wherein staggering of the course edges between ply layers results in a reduction in undesired inconsistencies in the hollow composite body occurring of the ply layers (operation <NUM>). The process terminates thereafter.

The process begins by selecting a ply layer in ply layers in a design for the hollow composite body to form a selected ply layer (operation <NUM>). The process staggers in an iterative manner course edges between the selected ply layer in the ply layers and other ply layers in the ply layers, wherein a result of increased staggering of the course edges between the ply layers occurs and the result is used in a next iteration with another selected ply layer until a desired level of staggering occurs (operation <NUM>). The process terminates thereafter.

In this illustrative example, iteration moves from one ply layer to the adjacent next ply layer. In other words, the process does not skip over ply layers during processing as long as the ply layers have the same orientation. In the design, other ply layers are present in addition to the one-day process in <FIG>, those ply layers are not considered during this process.

With reference now to <FIG>, an illustration of a flowchart of process for staggering in an iterative manner course edges is depicted in accordance with an illustrative embodiment. The process illustrated in <FIG> is an example of an implementation for operation <NUM> in <FIG>.

The process begins by rotating the selected ply layer such that the course edges such that the result of increased staggering of the course edges between the selected ply layer and the course edges in the other ply layers occurs (operation <NUM>). The process repeats rotating for each ply layer in the other ply layers based on the result of increased staggering until the desired level of staggering occurs (operation <NUM>). The process terminates thereafter.

In <FIG>, an illustration of a flowchart of process for staggering in an iterative manner course edges is depicted in accordance with an illustrative embodiment. The process illustrated in <FIG> is an example of an implementation for operation <NUM> in <FIG>.

The process begins by changing a width of the courses in the selected ply layer such that the result of increased staggering of the course edges between the selected ply layer and the other ply layers occurs (operation <NUM>). The process repeats changing the width of the courses for each other ply layer in the other ply layers based on staggering resulting from changing the width until the desired level of staggering occurs (operation <NUM>). The process terminates thereafter.

With reference to <FIG>, an illustration of a flowchart of process for staggering in an iterative manner course edges is depicted in accordance with an illustrative embodiment. The process illustrated in <FIG> is an example of an implementation for operation <NUM> in <FIG>.

The process begins by rotating the selected ply layer such that the course edges such that the result of increased staggering between the selected ply layer and the course edges in the other ply layers occurs (operation <NUM>). The process changes a width of the courses in the selected ply layer such that the result of increased staggering of the course edges between the selected ply layer and the other ply layers occurs (operation <NUM>).

The process repeats repeating rotating and changing for each other ply layer in the other ply layers in until the desired level of staggering occurs (operation <NUM>). The process terminates thereafter.

Turning next to <FIG> and <FIG>, an illustration of a flowchart of process for creating a design for a hollow composite body is depicted in accordance with an illustrative embodiment. The process in <FIG> and <FIG> can be implemented in hardware, software, or both. When implemented in software, the process can take the form of program code that is run by one of more processor units located in one or more hardware devices in one or more computer systems. For example, the process can be implemented in composite structure manager <NUM> in computer system in <FIG>.

In creating the design, the process has a number of different sections. In section <NUM>, the process identifies information and calculates values for creating the design. In section <NUM>, the process lays down a ply for the design. The process optimizes ply based on previous applies in section <NUM>. In this phase, the goal is to maximize the average and minimum mark distance between course edges throughout the thickness of the ply layers. In section <NUM>, the process iterates to each ply that has been laid down and optimize.

The process begins in section <NUM> by inputting plies to lay, tool information, ply information, and machine tolerances (operation <NUM>). The process determines the circumference and radiance for each ply (operation <NUM>).

The process proceeds to section <NUM> and determines how many courses consisting of the optimal tow count can fit on each ply (operation <NUM>). This operation takes into account that some conference increases with ply numbers. In other words, the outermost ply as a larger circumference than innermost ply in the design.

In the illustrative example, the optimal tow count can be determined by the limitations of the compaction roller in the automated fiber placement (AFP) machine that lays up the tows and the ability this compaction roller to conform to the contour. For zero orientation plies on a small curvature, the number of tows can be reduced to ensure proper compaction.

Also, for larger contours that are not limited by roller compliance, the optimal number of tows can as many of tows as possible by the head in automated fiber placement (AFP) machine. This number can be reduced by one or more tows to provide flexibility to choose when to add tows to a course.

Optimal tow count can also be the number of whole tows that is required to cover the circumference without causing an overlap. This selection of the number of tows can result in a gap up to a tow width wide. The gap is evenly distributed as smaller equal gaps between individual courses in the illustrative example.

The process determines the portion of the circumference for each ply layer not filled by courses with optimal tow counts; determines how many additional tows can be added; and distributes the additional tows around the courses (operation <NUM>). In one illustrative example, if the last course is less than the optimal course width, the remainder of tows can be distributed between the other courses. For example, if <NUM> tows are optimal per course, and the last course to close-out the ply only requires <NUM> tows, those <NUM> tows can be be distributed evenly around the circumference by adding a tow to <NUM> different courses. The distribution of additional toes can keep the stagger pattern generally equal.

The process distributes the gap length not fillable by additional tows as gaps between courses (operation <NUM>). In this operation, space may still be present in the circumference of a ply layer after adding additional tows. Is the gap length. If a gap length is absent, gaps are not present between the course edges.

The process determines how effective the first attempt was in staggering course edges (operation <NUM>). In operation <NUM>, the amount staggering between course edges between different ply layers is determined in operation <NUM> and can be compared to a tolerance or standard for a desired level staggering. This illustrative example, the average and the minimum arc distance between course edges for courses are determined throughout the thickness of the ply layers. In this illustrative example, calculations may also be made with respect to gaps between course edges.

The process proceeds to section <NUM> and determines if the iterations for the current ply layer have been exhausted (operation <NUM>). In other words, operation <NUM> determines whether the number of iterations for the ply layer has been performed. The number of iterations performed for a ply layer can be selected in a number of different ways. For example, the number of iterations for a ply layer can be selected based on determining how many iterations may be needed optimize particular ply layer. As the number by layers increase in a design, this number also increases. For example, <NUM> iterations may be selected for a design having <NUM> ply layers.

If the number of iterations for the current play layer have not been performed, the process determines whether the current ply location has the best staggering for all of the iterations performed (operation <NUM>). This illustrative example, the current ply layer location is the location of the ply layer relative to other ply layers in the design. In the illustrative example, this ply layer location includes the location of courses and course edges. This ply layer location may also include the location of gaps. The location of these different features may be based on polar coordinates relative to an axis extending through the design for the hollow composite body.

If the current ply layer location is the best location of all of the iterations, the process stores the current ply location as the best one (operation <NUM>). The process rotates the ply layer to an angular location that has the optimal staggering (operation <NUM>). In operation <NUM>, the optimal staggering is the best staggering of course edges with respect to course edges in other ply layers. The process then determines whether the stagger quality has changed (operation <NUM>). In operation <NUM>, the measure can be the minimum distance. A larger number of minimum distance be mean a better deigns. In one example, the stagger quality can be measured using the arc length between course edges (comparing to the layers beneath). The minimum arc length to another course edge through the thickness is maximized in this example.

If stagger quality did not change, the process switches a tow between the course with the maximum staggering distance to a course edge through the thickness and the course with the minimum standard distance to another course edge through the thickness (operation <NUM>). The process then returns to operation <NUM>. In this illustrative example, the stagger distance can be an arc length, or a number of degrees separated two course edges.

With reference again to operation <NUM>, if it did not change, the process returns directly to operation <NUM>. With reference back to operation <NUM>, if the number of iterations set for the ply layer have been performed, the process moves to section <NUM> and determines whether the previous ply layers have been re-optimized now that the current ply layer has been optimized (operation <NUM>). This illustrative example, the process also proceeds to operation <NUM> from operation <NUM> if all the iterations had been performed for the current ply layer being optimized.

If the previous ply layers have not been reoptimized, the process iterates back through the previous ply layers by selecting another ply layer for processing (operation <NUM>). The process then proceeds to operation <NUM>.

With reference again to operation <NUM>, if the previous ply layers have been reoptimized, the process determines whether every ply layer has been laid down (operation <NUM>). This operation is used to determine whether the design has been completed.

If all of the ply layers have not been laid down, the process switches to the next ply layer (operation <NUM>). The process then proceeds to operation <NUM> described above.

With reference to operation <NUM>, if all of the ply layers have been laid down, the process plots the gap locations of the ply layers (operation <NUM>). The process terminates thereafter. Operation <NUM> provides a visualization of the staggering to a human operator.

The flowcharts and block diagrams in the different depicted embodiments illustrate the architecture, functionality, and operation of some possible implementations of apparatuses and methods in an illustrative embodiment. In this regard, each block in the flowcharts or block diagrams can represent at least one of a module, a segment, a function, or a portion of an operation or step. For example, one or more of the blocks can be implemented as program code, hardware, or a combination of the program code and hardware. When implemented in hardware, the hardware can, for example, take the form of integrated circuits that are manufactured or configured to perform one or more operations in the flowcharts or block diagrams. When implemented as a combination of program code and hardware, the implementation may take the form of firmware. Each block in the flowcharts or the block diagrams can be implemented using special purpose hardware systems that perform the different operations or combinations of special purpose hardware and program code run by the special purpose hardware.

In some alternative implementations of an illustrative embodiment, the function or functions noted in the blocks may occur out of the order noted in the figures. For example, in some cases, two blocks shown in succession may be performed substantially concurrently, or the blocks may sometimes be performed in the reverse order, depending upon the functionality involved. Also, other blocks may be added in addition to the illustrated blocks in a flowchart or block diagram.

With reference next to <FIG>, an illustration of locations for ply layers is depicted in accordance with an illustrative embodiment. In this illustrative example, graph <NUM> is an example of a graphic be generated by plotting applications in operation <NUM> in the flowchart <FIG>. In this illustrative example, graph <NUM> represents a plot of a design having <NUM> ply layers for a submersible hall. The orientation of these ply layers <NUM> degrees indisposed example. I Lines <NUM> extend radially from axis <NUM> to a centerline for gaps in the ply layers. As depicted, axis <NUM> extends centrally through the submersible hull design. The length of lines <NUM> identify the ply layer in which a gap is present between course edges for courses in the ply layer. Arcs or angles can be determined between lines for different ply layers to identify the staggering of course edges between ply layers in the design.

Turning now to <FIG>, an illustration of a block diagram of a data processing system is depicted in accordance with an illustrative embodiment. Data processing system <NUM> can be used to implement server computer <NUM>, server computer <NUM>, client systems <NUM>, in <FIG>. Data processing system <NUM> can also be used to implement computer system <NUM> in <FIG>. In this illustrative example, data processing system <NUM> includes communications framework <NUM>, which provides communications between processor unit <NUM>, memory <NUM>, persistent storage <NUM>, communications unit <NUM>, input/output (I/O) unit <NUM>, and display <NUM>. In this example, communications framework <NUM> takes the form of a bus system.

Processor unit <NUM> serves to execute instructions for software that can be loaded into memory <NUM>. Processor unit <NUM> includes one or more processors. For example, processor unit <NUM> can be selected from at least one of a multicore processor, a central processing unit (CPU), a graphics processing unit (GPU), a physics processing unit (PPU), a digital signal processor (DSP), a network processor, or some other suitable type of processor. Further, processor unit <NUM> can may be implemented using one or more heterogeneous processor systems in which a main processor is present with secondary processors on a single chip. As another illustrative example, processor unit <NUM> can be a symmetric multi-processor system containing multiple processors of the same type on a single chip.

Memory <NUM> and persistent storage <NUM> are examples of storage devices <NUM>. A storage device is any piece of hardware that is capable of storing information, such as, for example, without limitation, at least one of data, program code in functional form, or other suitable information either on a temporary basis, a permanent basis, or both on a temporary basis and a permanent basis. Storage devices <NUM> may also be referred to as computer-readable storage devices in these illustrative examples. Memory <NUM>, in these examples, can be, for example, a random-access memory or any other suitable volatile or non-volatile storage device. Persistent storage <NUM> can take various forms, depending on the particular implementation.

For example, persistent storage <NUM> may contain one or more components or devices. For example, persistent storage <NUM> can be a hard drive, a solid-state drive (SSD), a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above. The media used by persistent storage <NUM> also can be removable. For example, a removable hard drive can be used for persistent storage <NUM>.

Communications unit <NUM>, in these illustrative examples, provides for communications with other data processing systems or devices. In these illustrative examples, communications unit <NUM> is a network interface card.

Input/output unit <NUM> allows for input and output of data with other devices that can be connected to data processing system <NUM>. For example, input/output unit <NUM> can provide a connection for user input through at least one of a keyboard, a mouse, or some other suitable input device. Further, input/output unit <NUM> can send output to a printer. Display <NUM> provides a mechanism to display information to a user.

Instructions for at least one of the operating system, applications, or programs can be located in storage devices <NUM>, which are in communication with processor unit <NUM> through communications framework <NUM>. The processes of the different embodiments can be performed by processor unit <NUM> using computer-implemented instructions, which can be located in a memory, such as memory <NUM>.

These instructions are program instructions and are also referred to as program code, computer usable program code, or computer-readable program code that can be read and executed by a processor in processor unit <NUM>. The program code in the different embodiments can be embodied on different physical or computer-readable storage media, such as memory <NUM> or persistent storage <NUM>.

Program code <NUM> is located in a functional form on computer-readable media <NUM> that is selectively removable and can be loaded onto or transferred to data processing system <NUM> for execution by processor unit <NUM>. Program code <NUM> and computer-readable media <NUM> form computer program product <NUM> in these illustrative examples. In the illustrative example, computer-readable media <NUM> is computer-readable storage media <NUM>.

Computer-readable storage media <NUM> is a physical or tangible storage device used to store program code <NUM> rather than a media that propagates or transmits program code <NUM>. Computer readable storage media <NUM>, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.

Alternatively, program code <NUM> can be transferred to data processing system <NUM> using a computer-readable signal media. The computer-readable signal media are signals and can be, for example, a propagated data signal containing program code <NUM>. For example, the computer-readable signal media can be at least one of an electromagnetic signal, an optical signal, or any other suitable type of signal. These signals can be transmitted over connections, such as wireless connections, optical fiber cable, coaxial cable, a wire, or any other suitable type of connection.

Further, as used herein, "computer-readable media <NUM>" can be singular or plural. For example, program code <NUM> can be located in computer-readable media <NUM> in the form of a single storage device or system. In another example, program code <NUM> can be located in computer-readable media <NUM> that is distributed in multiple data processing systems. In other words, some instructions in program code <NUM> can be located in one data processing system while other instructions in program code <NUM> can be located in one data processing system. For example, a portion of program code <NUM> can be located in computer-readable media <NUM> in a server computer while another portion of program code <NUM> can be located in computer-readable media <NUM> located in a set of client computers.

The different components illustrated for data processing system <NUM> are not meant to provide architectural limitations to the manner in which different embodiments can be implemented. In some illustrative examples, one or more of the components may be incorporated in or otherwise form a portion of, another component. For example, memory <NUM>, or portions thereof, can be incorporated in processor unit <NUM> in some illustrative examples. The different illustrative embodiments can be implemented in a data processing system including components in addition to or in place of those illustrated for data processing system <NUM>. Other components shown in <FIG> can be varied from the illustrative examples shown. The different embodiments can be implemented using any hardware device or system capable of running program code <NUM>.

Turning now to <FIG>, an illustration of a block diagram of a product management system is depicted in accordance with an illustrative embodiment. Product management system <NUM> is a physical hardware system. In this illustrative example, product management system <NUM> includes at least one of manufacturing system <NUM> or maintenance system <NUM>.

Manufacturing system <NUM> is configured to manufacture products, such as submersible vehicle, and aircraft, spacecraft, or other suitable platforms. As depicted, manufacturing system <NUM> includes manufacturing equipment <NUM>. Manufacturing equipment <NUM> includes at least one of fabrication equipment <NUM> or assembly equipment <NUM>.

Fabrication equipment <NUM> is equipment that used to fabricate components for such as composite parts for a product, such as a composite hollow body. For example, fabrication equipment <NUM> can include machines and tools. These machines and tools can be at least one of a drill, a hydraulic press, a furnace, an autoclave, a mold, a composite tape laying machine, an automated fiber placement (AFP) machine, a vacuum system, a robotic pick and place system, a flatbed cutting machine, a laser cutter, a computer numerical control (CNC) cutting machine, a lathe, or other suitable types of equipment. Fabrication equipment <NUM> can be used to fabricate at least one of metal parts, composite parts, semiconductors, circuits, fasteners, ribs, skin panels, spars, antennas, or other suitable types of parts.

Assembly equipment <NUM> is equipment used to assemble parts to form a platform. In particular, assembly equipment <NUM> is used to assemble components and parts to form a platform. Assembly equipment <NUM> also can include machines and tools. These machines and tools may be at least one of a robotic arm, a crawler, a faster installation system, a rail-based drilling system, or a robot.

In this illustrative example, maintenance system <NUM> includes maintenance equipment <NUM>. Maintenance equipment <NUM> can include any equipment needed to perform maintenance a platform. Maintenance equipment <NUM> may include tools for performing different operations on parts the product. These operations can include at least one of disassembling parts, refurbishing parts, inspecting parts, reworking parts, manufacturing replacement parts, or other operations for performing maintenance on a platform. These operations can be for routine maintenance, inspections, upgrades, refurbishment, or other types of maintenance operations.

In the illustrative example, maintenance equipment <NUM> may include ultrasonic inspection devices, x-ray imaging systems, vision systems, drills, crawlers, and other suitable devices. In some cases, maintenance equipment <NUM> can include fabrication equipment <NUM>, assembly equipment <NUM>, or both to produce and assemble parts that needed for maintenance.

Product management system <NUM> also includes control system <NUM>. Control system <NUM> is a hardware system and may also include software or other types of components. Control system <NUM> is configured to control the operation of at least one of manufacturing system <NUM> or maintenance system <NUM>. In particular, control system <NUM> can control the operation of at least one of fabrication equipment <NUM>, assembly equipment <NUM>, or maintenance equipment <NUM>.

The hardware in control system <NUM> can be implemented using hardware that may include computers, circuits, networks, and other types of equipment. The control may take the form of direct control of manufacturing equipment <NUM>. For example, robots, computer-controlled machines, and other equipment can be controlled by control system <NUM>. In other illustrative examples, control system <NUM> can manage operations performed by human operators <NUM> in manufacturing or performing maintenance on aircraft A200. For example, control system <NUM> can assign tasks, provide instructions, display models, or perform other operations to manage operations performed by human operators <NUM>. In these illustrative examples, composite structure manager <NUM> in <FIG> can be implemented in control system <NUM> to manage at least one of the manufacturing or maintenance of a product.

In the different illustrative examples, human operators <NUM> can operate or interact with at least one of manufacturing equipment <NUM>, maintenance equipment <NUM>, or control system <NUM>. This interaction can occur to manufacture a product such as a submersible vehicle or an aircraft.

Of course, product management system <NUM> may be configured to manage other products other than a submersible vehicle or an aircraft. For example, other products can include, for example, a spacecraft, a rocket, a land vehicle, or some other suitable platform that implements a hollow composite button. Although product management system <NUM> has been described with respect to manufacturing in the aerospace industry, product management system <NUM> can be configured to manage products for other industries. For example, product management system <NUM> can be configured to manufacture products for the automotive industry as well as any other suitable industries.

Thus, the illustrative embodiments provide a method, apparatus, system, and computer program product for designing a composite hollow body. A computer system selects ply layers for the hollow composite body. The ply layers comprise courses having course edges. The computer system positions the course edges between the ply layers throughout the hollow composite body to create a staggering of the course edges between the ply layers for a design of the hollow composite body, wherein a level of the staggering of the course edges between the ply layers reduces undesired inconsistencies in fabricating the hollow composite body.

As a result, one or more illustrative examples enable reducing undesired inconsistencies in a composite hollow body fabricated using a design having reduced staggering through at least one of rotating or changing the width of courses in ply layers these changes can increase the amount of staggering course edges between ply layers throughout the design of the composite hollow body. In one or more illustrative examples, techniques with different levels of granularity for adjusting course edges can be used. For example, rotating apply layer provides one level of adjusting the position of course edges while changing course widths provides a higher level of granularity in adjusting the position of course edges. These techniques can be used in an iterative fashion that can reduce the overlap of course edges to level that reduces undesired inconsistencies.

The description of the different illustrative embodiments has been presented for purposes of illustration and description and is not intended to be exhaustive or limited to the embodiments in the form disclosed. The different illustrative examples describe components that perform actions or operations. In an illustrative embodiment, a component can be configured to perform the action or operation described. For example, the component can have a configuration or design for a structure that provides the component an ability to perform the action or operation that is described in the illustrative examples as being performed by the component. Further, To the extent that terms "includes", "including", "has", "contains", and variants thereof are used herein, such terms are intended to be inclusive in a manner similar to the term "comprises" as an open transition word without precluding any additional or other elements.

Claim 1:
A method for designing a hollow composite body (<NUM>) comprising:
selecting (<NUM>), by a computer system (<NUM>), ply layers (<NUM>, <NUM>, <NUM>) for the hollow composite body (<NUM>), wherein the ply layers (<NUM>, <NUM>, <NUM>) comprise courses (<NUM>, <NUM>) having course edges (<NUM>, <NUM>); and
positioning (<NUM>), by the computer system (<NUM>), the course edges (<NUM>, <NUM>) between the ply layers (<NUM>, <NUM>, <NUM>) throughout the hollow composite body (<NUM>) to create a staggering (<NUM>) of the course edges (<NUM>, <NUM>) between the ply layers (<NUM>, <NUM>, <NUM>) for a design (<NUM>, <NUM>) of the hollow composite body (<NUM>);
wherein positioning (<NUM>), by the computer system (<NUM>), the course edges (<NUM>, <NUM>) between the ply layers (<NUM>, <NUM>, <NUM>) throughout the hollow composite body (<NUM>) to create the staggering (<NUM>) of the course edges (<NUM>, <NUM>) between the ply layers (<NUM>, <NUM>, <NUM>) for the design (<NUM>, <NUM>) of the hollow composite body (<NUM>) comprises:
changing (<NUM>), by the computer system (<NUM>), a width of the courses (<NUM>, <NUM>) in a selected ply layer (<NUM>) such that the course edges (<NUM>, <NUM>) have an increased staggering between the ply layers (<NUM>, <NUM>, <NUM>).