Patent Description:
Computer-aided design (CAD) software is often used in creating, modifying, or analyzing a design for an object. The object may be, for example, an aircraft, a flight deck, a landing gear system, an engine housing, or some other suitable object.

A designer may generate a computer-aided design of an object such as the flight deck of an aircraft using specifications, preliminary drawings, and other input. The computer-aided design is contained in a model of the object.

An analysis of the design may be performed. For example, an engineer may perform a finite element analysis on the design of the flight deck. The finite element analysis may be used to determine how the object will handle stress, temperatures, and other environmental factors.

Another person, an ergonomic specialist, may analyze the model with respect to ergonomics. For example, the person may review the human factors in the design of the flight deck to determine whether a pilot may interact efficiently with different components in the flight deck.

For example, the ergonomic specialist may review the dimensions for parts of the flight deck such as a seat, a flight stick, switches, and other parts that a pilot may interact with in the flight deck. The review of these dimensions may be used to determine whether sufficient ergonomics are present in the design of the flight deck to perform operations for the aircraft. The dimensions may also be reviewed to determine whether a desired level of comfort would be present for the flight of the aircraft. In some cases, the creation of some parts of the flight deck may be needed for the ergonomic analysis.

The engineer and the ergonomic specialist send feedback to the designer. The feedback may be a report sent by email or a hard copy that may be sent by regular mail or overnight delivery.

The designer may then make changes to the model of the object using the feedback. Further testing and analysis may be performed and further modifications to the model may be made in this manner until the flight deck has a desired level of performance.

This type of process, however, involves multiple people interacting with each other and may take more time than desired to perform iterations in testing, analysis, and modifying design changes. For example, scheduling between the designer, the engineer, and the ergonomic specialist to analyze and modify the design may take more time than desired. Also, the engineer may need to schedule a time to run the finite element analysis on the model of the flight deck.

The ergonomic specialist may not need the results of the finite element analysis, but may have other reviews for other designs in models of other objects to perform prior to evaluating the design for the flight deck. The analysis performed by the ergonomic specialist may require fabrication of physical parts of the flight deck as needed. Also, each time a change in the model occurs, additional parts may be fabricated to evaluate the change in the model. The fabrication of the parts for the analysis also may take more time and expense than desired.

For example, it would be desirable to have a method and apparatus that overcome a technical problem with managing design changes in models of objects.

The paper of <NPL>,relates to "touch and see" approach for interactive teaching of dynamic stress/strain distribution in engineering education using Augmented Reality.

The paper of <NPL>, relates to a Virtual Reality system used in domestic and other uncontrolled settings.

The paper of <NPL>, relates to an interaction system aimed at hands-on manipulation of digital models through natural hand gestures.

An embodiment of the present disclosure is defined in claim <NUM>. It provides an object testing system comprising a motion capture system and a model manager. A further embodiment is defined in claim <NUM> as a corresponding method for testing an object.

The illustrative embodiments recognize and take into account one or more different considerations. For example, the illustrative embodiments recognize and take into account that it would be desirable to reduce the number of people involved in designing and testing objects or reduce the effort needed in performing iterations in testing, analysis, and design modifications.

Thus, the illustrative embodiments provide a method and apparatus for testing an object. In one illustrative example, which is not part of the claimed invention but improves its understanding, a model manager creates an avatar representing the human operator and places the avatar in a three-dimensional environment with a model of the object. The model manager displays the three-dimensional environment with the model of the object and the avatar from a viewpoint relative to the avatar on a display system. An interaction between the avatar and the model of the object is identified by the model manager in real time using the information about the motions of the human operator detected in real time from a motion capture system.

The interaction changes a group of dimensions in the model of the object. As used herein, a "group of," when used with reference to items, means one or more items. For example, a "group of dimensions" is one or more dimensions. The model manager displays the interaction between the avatar and the model of the object in the three-dimensional environment on the display system, enabling design changes in the model of the object made by a human operator. As a result, the same person evaluating the design of an object may also make changes to the model of the object.

With reference now to the figures and, in particular, with reference to <FIG>, an illustration of a block diagram of an object immersion environment is depicted in accordance with an illustrative embodiment. In this illustrative example, object immersion environment <NUM> may be used to perform at least one of designing or analyzing object <NUM> using model <NUM>.

As used herein, the phrase "at least one of," when used with a list of items, means different combinations of one or more of the listed items may 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 may be a particular object, thing, or category.

Of course, any combinations of these items may be present. In some illustrative examples, "at least one of" may be, for example, without limitation, two of item A; one of item B; and ten of item C; four of item B and seven of item C; or other suitable combinations.

In the illustrative example, model <NUM> represents object <NUM>. Model <NUM> is an electronic representation of object <NUM>.

As depicted, model <NUM> is a two-dimensional or three-dimensional design of object <NUM>. For example, model <NUM> of object <NUM> may be selected from one of a computer-aided design (CAD) model, a finite element method (FEM) model, a computer-aided (CAM) model, and some other type of model.

Object <NUM> may be a current object already in production or an object that may be produced at a future point in time. As depicted, object <NUM> also may represent another object such as a prop, mockup, or prototype. Object <NUM> may take various forms. For example, object <NUM> may be selected from one of a mobile platform, a stationary platform, a land-based structure, an aquatic-based structure, a space-based structure, an aircraft, a surface ship, a tank, a personnel carrier, a train, a spacecraft, a space station, a satellite, a submarine, an automobile, a power plant, a bridge, a dam, a house, a manufacturing facility, a building, a wing, a beam, an engine housing, a seat, a stabilizer, and other suitable objects.

In this illustrative example, model manager <NUM> manages model <NUM> and is a component in object management system <NUM>. Model manager <NUM> is located in computer system <NUM> and is used in managing, designing, and testing object <NUM>. When object <NUM> is an aircraft, object management system <NUM> may be an aircraft design system implementing model manager <NUM>.

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

In the illustrative examples, the hardware may take the form 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 may be configured to perform the number of operations. The device may be reconfigured at a later time or may be permanently configured to perform the number of operations. Programmable logic devices include, for example, a programmable logic array, programmable array logic, a field-programmable logic array, a field-programmable gate array, and other suitable hardware devices. Additionally, the processes may be implemented in organic components integrated with inorganic components and may be comprised entirely of organic components, excluding a human being. For example, the processes may be implemented as circuits in organic semiconductors.

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

As depicted, model manager <NUM> immerses human operator <NUM> into three-dimensional environment <NUM> in a manner that allows human operator <NUM> to interact with three-dimensional environment <NUM> and, in particular, with model <NUM> of object <NUM>. The immersion of human operator <NUM> is such that human operator <NUM> is provided with a virtual reality experience such that three-dimensional environment <NUM> is virtual reality environment <NUM>.

During operation, model manager <NUM> creates avatar <NUM>, representing human operator <NUM>, and places avatar <NUM> into three-dimensional environment <NUM> with model <NUM> of object <NUM>. In the illustrative example, avatar <NUM> has dimensions <NUM> substantially matching human operator <NUM>. In other words, avatar <NUM> may have dimensions <NUM> that represent human operator <NUM> in three-dimensional environment <NUM>.

In another illustrative example, which is not part of the claimed invention but improves its understanding, avatar <NUM> may have dimensions <NUM> of a person that performs ergonomic testing of object <NUM>, rather than matching human operator <NUM>. Ergonomic testing is testing the manner in which a human interacts with object <NUM>. Ergonomic testing is used to refine object <NUM> to optimize for human use. Ergonomic testing may include testing for at least one of usability, comfort, likelihood of injury, fatigue, discomfort, productivity, or other suitable factors relating to a human operator using object <NUM>.

For example, testing of object <NUM> may be based on an average-sized pilot. Avatar <NUM> may have dimensions <NUM> selected for a person such as an average-sized pilot, when human operator <NUM> is taller than the average-sized pilot.

In this manner, ergonomic testing may be performed in a desired manner. For example, when object <NUM> is an aircraft, interaction <NUM> of avatar <NUM> with controls in the aircraft tests usability of the controls as part of ergonomic testing. The usability may be, for example, how well avatar <NUM> can reach and move the controls from a seat in the flight deck.

Model manager <NUM> displays three-dimensional environment <NUM>. Model <NUM> of object <NUM> and avatar <NUM> are displayed by model manager <NUM> in three-dimensional environment <NUM> from viewpoint <NUM> relative to avatar <NUM> on display system <NUM> viewed by human operator <NUM>.

In the illustrative example, viewpoint <NUM> relative to avatar <NUM> may be, for example, a distance from avatar <NUM> or the eyes of avatar <NUM>. When viewpoint <NUM> is a point that is a distance from avatar <NUM>, that distance is fixed, and moves and turns as avatar <NUM> moves and turns. The distance may be changed based on a command from human operator <NUM> or some other source. Further, viewpoint <NUM> may switch between the fixed distance and the eyes of avatar <NUM>.

Model manager <NUM> identifies interaction <NUM> between avatar <NUM> and model <NUM> of object <NUM> in real time. Interaction <NUM> is detected using information <NUM> about motions <NUM> of human operator <NUM> detected in real time by motion capture system <NUM>. Motion capture system <NUM> is a component in object management system <NUM>.

In the illustrative example, display system <NUM> is selected from at least one of a display device, a computer monitor, glasses, a head-mounted display device, a tablet computer, a mobile phone, a projector, a heads-up display, a holographic display system, a virtual retinal display, or some other suitable display device. As depicted, motion capture system <NUM> may take different forms. For example, motion capture system <NUM> may include at least one of an optical motion capture system, an inertial motion capture system, a mechanical motion capture system, a magnetic motion capture system, a camera, an infrared camera, a laser scanner, an accelerometer system, a gyroscope, a motion capture suit, or some other suitable device.

In the illustrative example, which is not part of the claimed invention but improves its understanding, interaction <NUM> may take a number of different forms. As depicted, interaction <NUM> may be selected from one of moving a portion of model <NUM> of object <NUM> that is designed to be movable and displacing the portion of model <NUM> of object <NUM>. In the illustrative example, a displacement, with respect to model <NUM>, occurs when a portion of model <NUM> of object <NUM> that is not designed to be moveable is moved.

For example, a displacement occurs when interaction <NUM> increases or decreases a bend in a wing. A displacement also occurs when interaction <NUM> increases the length of a rod. As another example, a displacement occurs when interaction <NUM> forms an indentation in the surface of an aircraft skin.

When interaction <NUM> moves or displaces a portion of model <NUM> of object <NUM>, interaction <NUM> changes a group of dimensions <NUM> in model <NUM> of object <NUM>. The change in the group of dimensions <NUM> reflects the displacement caused by human operator <NUM> through avatar <NUM>.

In this manner, human operator <NUM> may make design changes <NUM> to model <NUM> of object <NUM>. These and other types of interaction <NUM> that move a portion of model <NUM> of object <NUM> is not designed to move are a displacement of model <NUM> that changes a group of dimensions <NUM>.

As depicted, model manager <NUM> displays interaction <NUM> between avatar <NUM> and model <NUM> of object <NUM> in three-dimensional environment <NUM> on display system <NUM>, enabling human operator <NUM> to make design changes <NUM> in model <NUM> of object <NUM>. In the illustrative example, model manager <NUM> updates file <NUM> storing model <NUM> of object <NUM> such that file <NUM> reflects change <NUM> in the group of dimensions <NUM> in model <NUM> of object <NUM>, enabling human operator <NUM> to make design changes <NUM> in model <NUM> of object <NUM>. As depicted, file <NUM> may be, for example, a computer-aided design (CAD) file, a finite element method (FEM) file, a computer-aided (CAM) file, or some other suitable file.

In one illustrative example, object management system <NUM> may include computer-aided design system <NUM>. In this example, some of the operations performed by model manager <NUM> may be performed using computer-aided design system <NUM> under the direction of model manager <NUM>. For example, computer-aided design system <NUM> displays model <NUM> in three-dimensional environment <NUM>. With this example, which is not part of the claimed invention but improves its understanding, model manager <NUM> directs movement of avatar <NUM> and identifies changes to group of dimensions <NUM> based on interaction <NUM> of avatar <NUM> with model <NUM>.

Model manager <NUM> may generate and send avatar <NUM> to computer-aided design system <NUM> for display. Computer-aided design system <NUM> displays model <NUM> of object <NUM> in three-dimensional environment <NUM> with avatar <NUM>.

In this example, model manager <NUM> identifies movement of avatar <NUM> occurring through identifying motions <NUM> of human operator <NUM> from motion capture system <NUM>. Model manager <NUM> controls movement of avatar <NUM> and may direct computer-aided design system <NUM> on how avatar <NUM> moves when object management system <NUM> includes computer-aided design system <NUM>.

Thus, one or more technical solutions are present that overcome a technical problem with managing design changes in models of objects. As a result, one or more technical solutions using model manager <NUM> may provide a technical effect of reducing time needed to make design changes to models of objects.

The illustrative embodiments also recognize and take into account that part of designing objects often includes testing of the objects. For example, objects are often tested in an environment that subjects the objects to different conditions to determine how the objects perform. After the testing, the performance may be analyzed by an engineer to determine how the object performed as compared to specifications defining a desired performance for the object.

In some cases, further testing may be needed. The illustrative embodiments recognize and take into account that additional testing may require working out logistics for performing the new tests. Further, in some cases, a new object may be needed for the test. The object tested may have developed inconsistencies as a result of the test and, as a result, may not be suitable for further testing.

Therefore, the illustrative embodiments recognize and take into account that it would be desirable to have a method and apparatus that take into account at least some of the issues discussed above. For example, it would be desirable to have a method and apparatus that overcome a technical problem with the time and cost of testing objects.

Thus, in another illustrative example, object immersion environment <NUM> may be applied to immerse human operator <NUM> in three-dimensional environment <NUM> during testing of object <NUM>. For example, three-dimensional environment <NUM> may be used to manage testing of object <NUM> in live environment <NUM> as an immersive object testing system.

For example, test <NUM> may be performed on object <NUM>. In other words, test <NUM> is performed on object <NUM> as a physical object, rather than using a simulation of test <NUM> on object <NUM>.

During operation, model manager <NUM> creates avatar <NUM> representing human operator <NUM> and places avatar <NUM> in three-dimensional environment <NUM> with model <NUM> of object <NUM>. Model manager <NUM> displays three-dimensional environment <NUM> with model <NUM> of object <NUM> and avatar <NUM> from viewpoint <NUM> relative to avatar <NUM> on display system <NUM> viewed by human operator <NUM>.

Further, model manager <NUM> receives live information <NUM> about object <NUM> that is under testing in live environment <NUM>. In the illustrative example, live information <NUM> includes at least one of modulation data, temperature, acceleration, velocity, translation, temperature, vibration data, force, acoustic data, or other suitable data.

Model manager <NUM> identifies change <NUM> in object <NUM> from applying live information <NUM> to model <NUM> of object <NUM> and displays change <NUM> in model <NUM> of object <NUM> as seen from viewpoint <NUM> relative to avatar <NUM>. In the illustrative example, live information <NUM> may be applied to model <NUM> using analyzer <NUM>. For example, analyzer <NUM> may be a finite element analysis system or some other suitable type of process.

In other words, model manager <NUM> receives live information <NUM> from live environment <NUM> for the object <NUM>; identifies an effect of live information <NUM> on model <NUM> of object <NUM> based on live information <NUM>, and displays effect on model <NUM> of object <NUM> in the three-dimensional environment <NUM>. Live environment <NUM> may be one in which object <NUM> is used during operation of object <NUM>. In another example, live environment <NUM> may be a test environment, such as a laboratory, a test chamber, a wind tunnel, or some other location.

In one example, model manager <NUM> displays a group of colors <NUM> on model <NUM> of object <NUM> in three-dimensional environment <NUM> as seen from viewpoint <NUM> relative to avatar <NUM> in which the group of colors <NUM> indicates amounts of a group of parameters <NUM> for object <NUM>. For example, the group of parameters <NUM> may be selected from at least one of stress, strain, displacement, acoustics, computational fluid dynamics (CFD), temperature, or some other suitable parameter for object <NUM>.

In the illustrative example, sensor system <NUM> generates live information <NUM> about object <NUM> under testing in live environment <NUM>. As depicted, sensor system <NUM> is selected from at least one of a laser scanner, a strain gauge, an accelerometer, a force sensing resistor, a vibration sensor, a temperature sensor, an impact detector, a gyroscopic sensor, an inertial measurement unit, or some other suitable sensor device.

As depicted, change <NUM> is displacement of object <NUM> and model <NUM> is a finite element method model. In identifying change <NUM> in object <NUM> from applying live information <NUM> to model <NUM> of object <NUM>, model manager <NUM> performs a finite element analysis on model <NUM> using live information <NUM> about the displacement of object <NUM> and identifies the stress in object <NUM> from the finite element analysis.

In this illustrative example, human operator <NUM> and object <NUM> do not need to be in the same location. For example, human operator <NUM> may be in first location <NUM>, and object <NUM> that is under testing may be in second location <NUM>. For example, first location <NUM> may be a computer lab, while second location <NUM> may be an airspace over a desert.

With respect to testing of object <NUM>, the illustrative embodiments recognize and take into account that during testing of object <NUM>, the data from the test are often reviewed after the test has completed. For example, measurements of displacement may be made during testing of object <NUM> with those measurements analyzed after testing is completed.

In some cases, the displacement may result in undesired inconsistencies to occur in object <NUM>. For example, if object <NUM> is a wing, cracks, delamination, breaks, or other inconsistencies may occur. As a result, a new object is manufactured for further testing. Manufacturing new objects for testing may result in more time and expense for testing objects than desired.

With displaying changes in in model <NUM> of object <NUM> during testing, test process <NUM> used in testing object <NUM> may be changed based on change <NUM> identified in model <NUM> of object <NUM> as seen from viewpoint <NUM> relative to avatar <NUM>. The change in test process <NUM> may be made during a time selected from at least one of during a test of object <NUM> or after the test of object <NUM>.

In one illustrative example, one or more technical solutions are present that overcome a technical problem with a method and apparatus that overcome a technical problem with managing design changes in models of objects. As a result, one or more technical solutions may provide a technical effect of reducing time needed to make design changes in models of objects.

As a result, computer system <NUM> operates as a special purpose computer system in which model manager <NUM> in computer system <NUM> enables human operator <NUM> to interact with and make design changes <NUM> in model <NUM> through avatar <NUM>. For example, changes were made in a group of dimensions <NUM> in model <NUM> that may be saved in file <NUM> for later use in analysis, prototype fabrication, product manufacturing, or some other suitable operation using model <NUM>. In other words, the change is not merely a graphical change that is displayed on display system <NUM>. These changes may be made in a manner to manage at least one of the design, testing, or production of object <NUM> in an illustrative example.

In particular, model manager <NUM> transforms computer system <NUM> into a special purpose computer system as compared to currently available general computer systems that do not have model manager <NUM>. With model manager <NUM>, changes to test process <NUM> may be made for test <NUM> of object <NUM>. Change in test process <NUM> may occur during testing of object <NUM> through receiving live information <NUM> and immersing human operator <NUM> into three-dimensional environment one <NUM> to obtain a visualization of a group of parameters <NUM> of object <NUM> that is currently being tested. The visualization is performed in real time in the illustrative example, and may be used to refine test process <NUM> during or after test <NUM> with use of model manager <NUM>.

The illustration of object immersion 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, a group of objects in addition to or in place of object <NUM> may be placed into three-dimensional environment <NUM> using models for the group of objects. Human operator <NUM> may interact with the group of models for the group of objects in the same manner as with model <NUM> for object <NUM>.

In another illustrative example, three-dimensional environment <NUM> may be viewed by another human operator in addition to human operator <NUM>. The view may be from the same viewpoint or another displayed to human operator <NUM>. In still another illustrative example, another avatar for another human operator may be placed into three-dimensional environment <NUM> in addition to avatar <NUM> for human operator <NUM>. In this manner, multiple human operators may be immersed into three-dimensional environment <NUM> and interact with object <NUM>.

In yet another illustrative example, three-dimensional environment <NUM> may take other forms other than virtual reality environment. For example, three-dimensional environment <NUM> may be an augmented reality environment.

With reference now to <FIG>, an illustration of an object immersion environment is depicted in accordance with an illustrative embodiment. Object immersion environment <NUM> is an example of one implementation of object immersion environment <NUM> shown in block form in <FIG>.

In this illustrative example, object immersion environment <NUM> includes model manager <NUM> and optical system <NUM>. As depicted, model manager <NUM> is implemented in a computer and is an example of one implementation for model manager <NUM> shown in block form in <FIG>. Optical system <NUM> is an example of one implementation for motion capture system <NUM> shown in block form in <FIG>.

As depicted, optical system <NUM> includes camera <NUM> and camera <NUM>. These cameras individually or cooperatively capture data that may be used to obtain the three-dimensional position of human operator <NUM> using a marker or markerless tracking system.

In this illustrative example, human operator <NUM> is an example of human operator <NUM> shown in block form in <FIG>. In this illustrative example, human operator <NUM> wears head-mounted display <NUM> and marker suit <NUM>.

Head-mounted display <NUM> is an example of a device that may be used to implement display system <NUM> shown in block form in <FIG>. As depicted, marker suit <NUM> may have reflective markers, light emitting diodes, or other types of passive or active markers that are detectable by optical system <NUM> to identify motions of human operator <NUM>.

Turning now to <FIG>, an illustration of a display of a three-dimensional environment to a human operator is depicted in accordance with an illustrative embodiment. In this illustrative example, display <NUM> is an example of a display seen by human operator <NUM> on head-mounted display <NUM> in <FIG>.

In this illustrative example, display <NUM> is a display of a three-dimensional environment generated by model manager <NUM> in Figure <FIG>. Display <NUM> shows avatar <NUM> with model <NUM> of a flight deck.

As depicted, display <NUM> is from a viewpoint relative to avatar <NUM>. The viewpoint in this example is from a point that is a distance away from avatar <NUM>, such as a third person viewpoint. Avatar <NUM> represents human operator <NUM>. For example, avatar <NUM> has dimensions that correspond to human operator <NUM> in this particular example.

As depicted, human operator <NUM> may move with the motion being translated into corresponding movement of avatar <NUM> with respect to model <NUM> of the flight deck. Thus, human operator <NUM> may be immersed in the virtual reality environment with movements of human operator <NUM> being translated into corresponding movements of avatar <NUM>.

In this illustrative example, the flight deck in model <NUM> includes seat <NUM>, seat <NUM>, and controls <NUM>. For example, controls <NUM> include, switches <NUM>, flight stick <NUM>, and flight stick <NUM>. Other controls are present in model <NUM> of the flight deck, but are not described to avoid obscuring the description of the manner in which model manager <NUM> operates to provide display <NUM>.

Turning now to <FIG>, an illustration of a display of a three-dimensional environment to a human operator 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 view, motions of human operator <NUM> have caused avatar <NUM> to move into seat <NUM> in model <NUM> of the flight deck.

With reference now to <FIG>, an illustration of a display of a three-dimensional environment to a human operator is depicted in accordance with an illustrative embodiment. In this figure, display <NUM> is a viewpoint from the eyes of avatar <NUM> and is a first person point of view. With this viewpoint, a more realistic view and immersion into the three-dimensional environment with model <NUM> of the flight deck is provided to human operator <NUM>.

As depicted in this example, which is not part of the claimed invention but improves its understanding, human operator <NUM> may have arm and hand movement such that right arm <NUM> with right hand <NUM> of avatar <NUM> reaches and operates one or more of switches <NUM> as part of testing ergonomics of the flight deck. As a result, human operator <NUM> is immersed such that the operation of switches <NUM> appears to be those performed by human operator <NUM>.

With reference next to <FIG>, an illustration of a display of a three-dimensional environment to a human operator is depicted in accordance with an illustrative embodiment, which is not part of the claimed invention but improves its understanding. Human operator <NUM> is focused on flight stick <NUM> shown in display <NUM> from the viewpoint of the eyes of avatar <NUM>.

In illustrative this example, avatar <NUM> grips flight stick <NUM> with left hand <NUM> and right hand <NUM>. Human operator <NUM> initiates a command to change dimensions for flight stick <NUM>. In this illustrative example, the command may be verbal commands such that human operator <NUM> does not need to manipulate an input device and may focus on flight stick <NUM>.

As depicted, human operator <NUM> moves left hand <NUM> in the direction of arrow <NUM>. Further, human operator also moves right hand <NUM> in the direction of arrow <NUM>. This movement, in essence, stretches flight stick <NUM>. As a result, the dimensions of model <NUM> change and, in particular, the dimensions for flight stick <NUM> in model <NUM>.

With reference next to <FIG>, an illustration of a display of a three-dimensional environment to a human operator is depicted in accordance with an illustrative embodiment. In this illustration, flight stick <NUM> has changed in dimensions based on left hand <NUM> and right hand <NUM> pulling on flight stick <NUM>.

These changes in dimensions in model <NUM> may be stored in the file containing model <NUM>. As a result, the update to model <NUM> may be used for further testing, fabricating a prototype of the flight deck, manufacturing an actual flight deck in an aircraft, or other suitable operations in designing the flight deck.

With reference next to <FIG>, an illustration of a live environment is depicted in accordance with an illustrative embodiment. In this illustrative example, object immersion environment <NUM> includes model manager <NUM>, optical system <NUM>, and human operator <NUM> in first location <NUM>.

Additionally, aircraft <NUM> is shown in live environment <NUM> in second location <NUM>. In this example, aircraft <NUM> includes a deformation sensor system in the form of strain gauges <NUM> on wing <NUM> and wing <NUM>.

Strain gauges <NUM> measure deformation in wing <NUM> and wing <NUM>. These measurements form live information that is sent to model manager <NUM> as quickly as possible without intentional delay during testing of aircraft <NUM>. For example, live information is sent in real time from strain gauges <NUM> to model manager <NUM>. The live information may be sent over wireless connection <NUM> from aircraft <NUM> to model manager <NUM>.

With reference now to <FIG>, an illustration of a display of a three-dimensional environment to a human operator using live information is depicted in accordance with an illustrative embodiment. Display <NUM> is an example of a display seen by human operator <NUM> on head-mounted display <NUM> in <FIG>.

In this illustrative example, display <NUM> is a display of a three-dimensional environment generated by model manager <NUM> in Figure <FIG> using live information generated in live environment <NUM> in <FIG>. In this illustrative example, avatar <NUM> is shown in display <NUM> with model <NUM> of aircraft <NUM> in live environment <NUM>.

As depicted, display <NUM> is from a viewpoint relative to avatar <NUM>. The viewpoint in this example is from a point that is a distance away from avatar <NUM>.

In this illustrative example, the live information is used to identify stress in wing <NUM> and wing <NUM> for aircraft in <FIG>. As depicted, the stress is shown in display <NUM> using graphical indicators <NUM> on wing <NUM> and wing <NUM> in model <NUM> of aircraft <NUM>.

As depicted, graphical indicators <NUM> take the form of colors. The colors for graphical indicators <NUM> show where stress has been identified from the live information. The color is used to indicate the amount of stress in this illustrative example. For example, the color blue indicates low stress, while the color red indicates high stress. The low stress may be stress that is within design tolerances, while the high stress may be a stress that is greater than a design tolerance for the wing.

Turning next to <FIG>, an illustration of a display of a three-dimensional environment to a human operator using live information is depicted in accordance with an illustrative embodiment. In this example, human operator <NUM> has moved in a manner that caused avatar <NUM> to move towards wing <NUM>. Display <NUM> changes to an enlarged view of a portion of wing <NUM> based on movement of avatar <NUM> closer to wing <NUM> in model <NUM> of aircraft <NUM>.

With reference now to <FIG>, an illustration of a display of a three-dimensional environment to a human operator is depicted in accordance with an illustrative embodiment. In this figure, display <NUM> is from a first person viewpoint from the eyes of avatar <NUM>.

As depicted, human operator <NUM> may view the stress through graphical indicators <NUM>. Human operator <NUM> may view this information when examining the actual object under test if examining the object under stress in person may be infeasible or does not have a desired level of safety.

Further, if other operators are viewing the three-dimensional environment, human operator <NUM> may point to the location, such as location <NUM>, as the location of interest based on viewing graphical indicators <NUM>. In this example, human operator <NUM> points to location <NUM> through motions that translate into right hand <NUM> pointing to location <NUM>. In another illustrative example, human operator <NUM> may graphically mark location <NUM> for additional analysis. The marking may be made through highlighting, coloring, a graphic, text, or some other suitable marking mechanism.

The illustration of the object immersion environment and the live environment in <FIG> have been provided for purposes of illustrating one illustrative example. The illustrations are not meant to limit the manner in which other illustrative examples may be implemented. For example, other types of display systems may be used instead of a head-mounted display. Examples of other types of display systems include a display monitor, a holographic display system, or some other suitable type of display system that may be used depending on the implementation and the desired level of immersion for a human operator.

As another example, the human operator may also use tactile feedback devices. For example, the human operator may wear cyber gloves that provide a force feedback to the human operator when interacting with an object. This type of feedback may provide increased immersion into the three-dimensional environment with the object.

In still other illustrative examples, the objects may be platforms other than an aircraft. For example, the objects may be a consumer electronic device, an office, or some other suitable type of object for which object immersion is desired. In yet another example, marker suit <NUM> may be omitted when features on human operator <NUM> are used in place of actual markers.

In still another illustrative example, other types of parameters other than stress may be shown for model <NUM> of aircraft <NUM>. For example, temperature may be shown in addition to or in place of stress.

Turning next to <FIG>, an illustration of a flowchart of a process for managing an object is depicted in accordance with an illustrative embodiment, which is not part of the claimed invention but improves its understanding. The process illustrated in <FIG> may be implemented in object immersion environment <NUM> in <FIG>. In particular, the process may be implemented using model manager <NUM> in object management system <NUM>.

The process begins by displaying a three-dimensional environment with a model of an object and an avatar representing a human operator from a viewpoint relative to the avatar on a display system (operation <NUM>). The process detects a motion of the human operator (operation <NUM>). The process identifies an interaction between the avatar and the model of the object in real time using the information about the motions of the human operator that are detected in real time (operation <NUM>).

A determination is made as to whether the interaction displaces a portion of the object that is not designed to be movable (operation <NUM>). If the interaction moves a portion of an object not designed to be movable, the interaction is a displacement.

If the interaction displaces a portion of the object, a group of dimensions in the model of the object is changed (operation <NUM>). The process displays the interaction between the avatar and the model object in the three-dimensional environment on the display system (operation <NUM>). With reference again to operation <NUM>, if the interaction moves a portion of the object that is designed to be movable, the process proceeds directly to operation <NUM> from operation <NUM>. In this case, a group of dimensions in the model of the object are not changed.

A determination is made as to whether use of the three-dimensional environment is completed (operation <NUM>). If the use of the three-dimensional environment is not completed, the process returns to operation <NUM>.

Otherwise, the process determines whether a change has been made to a group of dimensions in the model of the object (operation <NUM>). If a change has been made to the group of dimensions of the model of the object, the process updates a file storing the model of the object such that the file reflects the change in the group of dimensions in the model of the object (operation <NUM>) with the process terminating thereafter. Otherwise, the process terminates without updating the file.

Turning now to <FIG>, an illustration of a flowchart of a process for testing an object is depicted in accordance with an illustrative embodiment. The process illustrated in <FIG> may be implemented using object immersion environment <NUM> and live environment <NUM> in <FIG>. In particular, one or more operations in this flowchart may be implemented using model manager <NUM>.

The process begins by testing an object in a live environment (operation <NUM>). The process generates the live information about the object under testing in the live environment with a sensor system (operation <NUM>).

The process displays a three-dimensional environment with a model of an object and an avatar from a viewpoint relative to the avatar on a display system viewed by the human operator (operation <NUM>). The process generates information about motions of a human operator that are detected (operation <NUM>). The process receives live information about the object that is under testing in the live environment (step <NUM>).

The process identifies a change in the object from applying the live information to the model of the object (operation <NUM>). The process displays the change in the model of the object on the display system as seen from a viewpoint relative to the avatar in the three-dimensional environment (operation <NUM>). In this example, operation <NUM> may comprise displaying a group of colors on the model of the object as seen from the point of view relative to the avatar in which the group of colors indicates amounts of stress for the object.

A determination is made as to whether testing of the object is complete (operation <NUM>). If the testing is completed, the process is terminated. Otherwise, the process returns to operation <NUM>.

With the process in <FIG>, change in a test process used in testing the object may be made based on the change identified in the object as seen from the viewpoint of the avatar. The change in the test process is performed during a time selected from at least one of during a test of the object or after the test of the object. In this manner, more efficient testing may occur.

The increased efficiency in testing may result in performing additional tests during the testing session if a determination is made that the initial test is completed as desired. In another illustrative example, a particular test may be halted if the change displayed for the model indicates that an undesired result may occur. For example, the undesired result may be an inconsistency being introduced into the object. For example, if the object is an aircraft, and a bank angle changing at a particular rate indicates that a wing of the aircraft may begin to incur inconsistencies such as delamination or fractures, that maneuver may be halted. In a similar fashion, if forces are applied to a composite wing in a laboratory, the display of the change in the model of the composite wing may indicate that the amount of stress may cause delamination in the composite wing. The test may then be halted prior to delamination occurring in the composite wing. In this manner, further testing may be performed without fabricating another composite wing.

With reference next to <FIG>, an illustration of a flowchart of a process for identifying a change in an object from applying live information is depicted in accordance with an illustrative embodiment. The process in <FIG> is an example of one implementation for operation <NUM> in <FIG>. In this example, the change is a displacement in the object being tested.

The process begins by performing a finite element analysis on the model using the live information about the object (operation <NUM>). The process identifies the stress in the object from the finite element analysis (step <NUM>) with the process terminating thereafter.

With reference next to <FIG>, an illustration of a flowchart of a process for placing an avatar into computer-aided design software is depicted in accordance with an illustrative embodiment. The process illustrated in <FIG> may be used to add avatar <NUM> in <FIG> into three-dimensional environment <NUM> when three-dimensional environment <NUM> is generated by computer-aided design system <NUM>.

The process begins by generating information about the human operator through a motion capture system (operation <NUM>). The information may include at least one of the location of features or markers on the human operator in three dimensions.

The process creates a skeleton model of the human operator (operation <NUM>). The skeleton model includes an identification of joint locations and dimensions that are substantially the same as the human operator in this example.

A determination is made as to whether the computer-aided design software currently includes an avatar (operation <NUM>). If the computer-aided design software currently includes an avatar, the skeleton model is sent to the computer-aided design software (operation <NUM>) with the process terminating thereafter.

If an avatar is not available in the computer-aided design software, the process adds a model of the avatar to the skeleton model (operation <NUM>). The model includes a mesh for skin and attachments such as clothing and items that may be worn by the avatar or otherwise attached to the avatar. In operation <NUM>, a mesh for the avatar is placed onto the skeleton model to form the avatar. The process then sends the completed avatar to the computer-aided software (operation <NUM>) with the process terminating thereafter. In this manner, an avatar representing the human operator may be added for use with the computer-aided design software.

With reference now to <FIG>, an illustration of a flowchart of a process for applying live information to a model is depicted in accordance with an illustrative embodiment. The process illustrated in <FIG> may be implemented in model manager <NUM>.

The process begins by receiving the live information (operation <NUM>). Thereafter, the process formats the live information for use in an analyzer (operation <NUM>). In operation at <NUM>, the analyzer may be, for example, the finite element analysis process or some other suitable type of analysis process. In the illustrative example, currently used analysis processes may be used with the live data formatted for use by the process. Thereafter, the process forms a simulation using live information (operation <NUM>). The process then displays the results of the analysis on the model (operation <NUM>) with the process returning to operation <NUM>.

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 may 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 may be implemented as program code, in hardware, or a combination of the program code and hardware. When implemented in hardware, the hardware may, 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.

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.

For example, the process in <FIG> enables a human operator to make design changes to the model of the object. As a further enhancement, the process in <FIG> may include operations in which live information is displayed. For example, the process may receive live information from an environment of intended use for the object, identify a change in the model from applying the live information to the model of the object, and display the change in the model of the object in the three-dimensional environment. In another illustrative example, in <FIG>, operation <NUM> and operation <NUM> may be performed at substantially the same time as operation <NUM> and <NUM>.

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> may 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, communication framework may take the form of a bus system.

Processor unit <NUM> serves to execute instructions for software that may be loaded into memory <NUM>. Processor unit <NUM> may be a number of processors, a multi-processor core, or some other type of processor, depending on the particular implementation.

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, may be, for example, a random access memory or any other suitable volatile or non-volatile storage device. Persistent storage <NUM> may 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> may be a hard drive, 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 may be removable.

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 may be connected to data processing system <NUM>. For example, input/output unit <NUM> may 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> may 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 may be located in storage devices <NUM>, which are in communication with processor unit <NUM> through communications framework <NUM>. The processes of the different embodiments may be performed by processor unit <NUM> using computer-implemented instructions, which may be located in a memory, such as memory <NUM>.

These instructions are referred to as program code, computer-usable program code, or computer-readable program code that may be read and executed by a processor in processor unit <NUM>. The program code in the different embodiments may 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 may 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 one example, computer-readable media <NUM> may be computer-readable storage media <NUM> or computer-readable signal media <NUM>. In these illustrative examples, computer-readable storage media <NUM> is a physical or tangible storage device used to store program code <NUM>, rather than a medium that propagates or transmits program code <NUM>.

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

The different components illustrated for data processing system <NUM> are not meant to provide architectural limitations to the manner in which different embodiments may be implemented. The different illustrative embodiments may 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 may be implemented using any hardware device or system capable of running program code <NUM>.

Illustrative embodiments of the disclosure may be described in the context of aircraft manufacturing and service method <NUM> as shown in <FIG> and aircraft <NUM> as shown in <FIG>. Turning first to <FIG>, an illustration of a block diagram of an aircraft manufacturing and service method is depicted in accordance with an illustrative embodiment. During pre-production, aircraft manufacturing and service method <NUM> may include specification and design <NUM> of aircraft <NUM> and material procurement <NUM>.

During production, component and subassembly manufacturing <NUM> and system integration <NUM> of aircraft <NUM> takes place. Thereafter, aircraft <NUM> may go through certification and delivery <NUM> in order to be placed in service <NUM>. While in service <NUM> by a customer, aircraft <NUM> in is scheduled for routine maintenance and service <NUM>, which may include modification, reconfiguration, refurbishment, and other maintenance or service.

Each of the processes of aircraft manufacturing and service method <NUM> may be performed or carried out by a system integrator, a third party, an operator, or some combination thereof.

With reference now to <FIG>, an illustration of a block diagram of an aircraft is depicted in which an illustrative embodiment may be implemented. In this example, aircraft <NUM> is produced by aircraft manufacturing and service method <NUM> in <FIG> and may include airframe <NUM> with a plurality of systems <NUM> and interior <NUM>. Examples of systems <NUM> include one or more of propulsion system <NUM>, electrical system <NUM>, hydraulic system <NUM>, and environmental system <NUM>. Any number of other systems may be included. Although an aerospace example is shown, different illustrative embodiments may be applied to other industries, such as the automotive industry. Apparatuses and methods embodied herein may be employed during at least one of the stages of aircraft manufacturing and service method <NUM>.

As yet another example, one or more apparatus embodiments, method embodiments, or a combination thereof may be utilized during design and production stages. For example, model manager <NUM> in Figure <FIG> may be used to create and refine a design of aircraft <NUM> in which the design is represented by a model, such as a computer-aided design model. The model may be updated using model manager <NUM> during component and subassembly manufacturing <NUM> and system integration <NUM> based on information received during these stages.

One or more apparatus embodiments, method embodiments, or a combination thereof may be utilized while aircraft <NUM> is in service <NUM> in <FIG>, during maintenance and service <NUM>, or both. For example, model manager <NUM> may be used to change the design of parts needed during maintenance of aircraft <NUM>. The use of a number of the different illustrative embodiments may substantially expedite the assembly of aircraft <NUM>, reduce the cost of aircraft <NUM>, or both expedite the assembly of aircraft <NUM> and reduce the cost of aircraft <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> may include at least one of manufacturing system <NUM> or maintenance system <NUM>. In the illustrative example, object management system <NUM> in <FIG> may be used with product management system <NUM> to produce objects, such as aircraft <NUM> in <FIG>.

Manufacturing system <NUM> is configured to manufacture objects or products, such as aircraft <NUM>. 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 may be used to fabricate components for parts used to form aircraft <NUM>. For example, fabrication equipment <NUM> may include machines and tools. These machines and tools may be at least one of a drill, a hydraulic press, a furnace, a mold, a composite tape laying machine, a vacuum system, a lathe, or other suitable types of equipment. Fabrication equipment <NUM> may 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 aircraft <NUM>. In particular, assembly equipment <NUM> may be used to assemble components and parts to form aircraft <NUM>. Assembly equipment <NUM> also may 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, a robot, or other suitable types of equipment. Assembly equipment <NUM> may be used to assemble parts such as seats, horizontal stabilizers, wings, engines, engine housings, landing gear systems, and other parts for aircraft <NUM>.

In this illustrative example, maintenance system <NUM> includes maintenance equipment <NUM>. Maintenance equipment <NUM> may include any equipment needed to perform maintenance on aircraft <NUM>. Maintenance equipment <NUM> may include tools for performing different operations on parts on aircraft <NUM>. These operations may include at least one of disassembling parts, refurbishing parts, inspecting parts, reworking parts, manufacturing placement parts, or other operations for performing maintenance on aircraft <NUM>. These operations may 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, or other suitable devices. In some cases, maintenance equipment <NUM> may include fabrication equipment <NUM>, assembly equipment <NUM>, or both to produce and assemble parts that may be 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>. For example, control system <NUM> may control operation of manufacturing system <NUM> using model <NUM> in <FIG>. In particular, control system <NUM> may control the operation of at least one of fabrication equipment <NUM>, assembly equipment <NUM>, or maintenance equipment <NUM> using model <NUM>.

In the illustrative example, object management system <NUM>, including model manager <NUM>, may communicate with control system <NUM> as part of a process to manufacture objects, such as aircraft <NUM> or parts of aircraft <NUM>. Model manager <NUM> in <FIG> may allow for changes in the design of aircraft <NUM> to be made more quickly and more efficiently with less cost, and send model <NUM> to control system <NUM> for use in manufacturing or performing maintenance for aircraft <NUM>. A design for aircraft <NUM> may be supplied to control system <NUM> to manufacture aircraft <NUM> or parts for aircraft <NUM> by manufacturing system <NUM>. Also, adjustments to aircraft <NUM> may be identified in model <NUM> for use in maintenance system <NUM> using model manager <NUM>.

The hardware in control system <NUM> may use 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 may be controlled by control system <NUM>. In other illustrative examples, control system <NUM> may manage operations performed by human operators <NUM> in manufacturing or performing maintenance on aircraft <NUM>. For example, control system <NUM> may assign tasks, provide instructions, display models, or perform other operations to manage operations performed by human operators <NUM>. In these illustrative examples, model manager <NUM> in <FIG> may be in communication with or may be implemented in control system <NUM> to manage at least one of the manufacturing or maintenance of aircraft <NUM>.

In the different illustrative examples, human operators <NUM> may operate or interact with at least one of manufacturing equipment <NUM>, maintenance equipment <NUM>, or control system <NUM>. This interaction may be performed to manufacture aircraft <NUM>.

Of course, product management system <NUM> may be configured to manage other products other than aircraft <NUM>. Although aircraft management system <NUM> has been described with respect to manufacturing in the aerospace industry, aircraft management system <NUM> may be configured to manage products for other industries. For example, aircraft management system <NUM> may be configured to manufacture products for the automotive industry as well as any other suitable industries.

Thus, one or more of the illustrative examples provide one or more technical solutions that overcome a technical problem with managing design changes in models of objects. As a result, one or more technical solutions using model manager <NUM> may provide a technical effect of reducing time needed to make design changes in models of objects. As depicted, model manager <NUM> may be used to provide immersion into a virtual reality environment that allows for ergonomic testing. Further, changes to a design of an object during this testing or for other reasons may be made by the human operator making motions translated into those of the avatar to change dimensions in the model of the object.

In yet another illustrative example, live information may be obtained from testing of the object in a live environment. This data may be received in real time such that changes in the testing procedures may occur while the testing is in progress. In this manner, the time and expense needed to test objects may be reduced and additional tests may be avoided by changing the current test. For example, parameters to be tested in a second test may be during the first test if the first test is successful in time, and resources designated for the first test are still present for testing the object.

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 may be configured to perform the action or operation described. For example, the component may 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.

Claim 1:
An object testing system comprising:
a motion capture system (<NUM>) having:
at least one storage device for storing program code; and
at least one processor for processing the program code to detect motions of a human operator and generate information about the motions, the human operator being immersed in a virtual reality environment with a movement of the human operator being translated into a corresponding movement of an avatar; and
a model manager (<NUM>) having:
at least one storage device for storing program code; and
at least one processor for processing the program code to:
create the avatar (<NUM>) representing the human operator;
place the avatar in a three-dimensional environment with a model of an object;
display the three-dimensional environment with the model of the object and the avatar from a viewpoint relative to the avatar on a display system (<NUM>), wherein the information about the motions is used to control movements of the avatar;
receive, using a first test process to test the object in a live environment, a first set of live data about the object that is under testing in the live environment;
determine, based on the first set of live data, whether there is a change in the object, wherein determining whether there is a change in the object includes performing a finite element analysis on the model of the object using the first set of live data about the object to identify stress or strain in the object;
apply the change to the model of the object in response to determining that there is a change to the object;
display the change in the model of the object on the display system in response to determining that the change can be seen in the model of the object from the viewpoint relative to the avatar in the three dimensional environment; and
change the first test process used in testing the object based on the change identified in the model of the object as seen from the viewpoint relative to the avatar to a second test process to receive a second set of live data;
wherein the first test process and the second test process are configured to test a parameter of the object, the parameter including stress or strain of the object; and
wherein the first set and the second set of live data about the object include deformation data.