Patent Publication Number: US-8982207-B2

Title: Automated visual inspection system

Description:
BACKGROUND INFORMATION 
     1. Field 
     The present disclosure relates generally to inspecting objects and, in particular, to inspecting an aircraft. Still more particularly, the present disclosure relates to a method and apparatus for automatically inspecting an aircraft on the ground. 
     2. Background 
     Aircraft and parts for aircraft are inspected during different phases of the life of the aircraft. For example, when an aircraft is being assembled, the different parts of the aircraft are inspected during various phases of assembly. Further, during testing and certification of an aircraft, inspections are made to determine whether different parts of the aircraft are performing as expected or desired. 
     During use of the aircraft, periodic checks are made after a certain time or usage. For example, a check may be made after about five to about 800 hours or about every three months or about 12 to about 18 months, depending on the type of inspection. The inspection on an aircraft may include a visual inspection of the exterior of an aircraft. In other cases, the inspection may involve removing different parts of the aircraft and inspecting those parts. The inspection may result in maintenance being performed on the aircraft. 
     Currently, these inspections are performed by people using instructions that identify parts and inconsistencies that a person should look for. These people are also referred to as maintenance operators. The results of these inspections are written down or entered into a database by the maintenance operator. 
     For example, in some inspections, an aircraft may be moved into a hangar. A maintenance operator may walk around the aircraft to determine whether any inconsistencies are present on the surface of the aircraft. These inconsistencies may include, for example, without limitation, a dent, a leak, missing rivets, or some other type of inconsistency. 
     This type of inspection requires larger amounts of time than desired. Additionally, the maintenance operators, who perform the inspections, need a level of training and experience that allow for the identification of inconsistencies with a desired level of accuracy. The amount of time, skill, and experience needed for maintenance operators results in a high cost in performing inspections of aircraft. 
     Therefore, it would be advantageous to have a method and apparatus that takes into account one or more of the issues discussed above, as well as other possible issues. 
     SUMMARY 
     In one illustrative embodiment, a method is provided for inspecting an object. In response to a presence of the object in an inspection area, a volume that contains the object is identified. The volume has a plurality of portions. A number of sensor systems is assigned to the plurality of portions of the volume. Each sensor system in the number of sensors systems is assigned to a number of portions in the plurality of portions of the volume based on whether each sensor system is able to generate data with a desired level of quality about a surface of the object in a particular portion in the plurality of portions. The data about the surface of the object is generated using the number of sensor systems assigned to the plurality of portions of the volume. A determination is made as to whether a number of inconsistencies is present on the surface of the object using the data. 
     In another illustrative embodiment, an apparatus comprises a number of sensor systems located in an inspection area and a computer system in communication with the number of sensor systems. The computer system is configured to identify a volume that contains an object. The volume has a plurality of portions. The computer system is configured to assign the number of sensor systems to the plurality of portions of the volume. Each sensor system in the number of sensors systems is assigned to a number of portions in the plurality of portions of the volume based on whether each sensor system is able to generate data with a desired level of quality about a surface of the object in a particular portion in the plurality of portions. The computer system is configured to generate the data about the surface of the object using the number of sensor systems assigned to the plurality of portions of the volume. The computer system is configured to determine whether a number of inconsistencies is present on the surface of the object. 
     The features, functions, and advantages can be achieved independently in various embodiments of the present disclosure or may be combined in yet other embodiments in which further details can be seen with reference to the following description and drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The novel features believed characteristic of the illustrative embodiments are set forth in the appended claims. The illustrative embodiments, however, as well as a preferred mode of use, further objectives, and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment of the present disclosure when read in conjunction with the accompanying drawings, wherein: 
         FIG. 1  is an illustration of an aircraft manufacturing and service method in accordance with an illustrative embodiment; 
         FIG. 2  is an illustration of an aircraft in which an illustrative embodiment may be implemented; 
         FIG. 3  is an illustration of an inspection environment in accordance with an illustrative embodiment; 
         FIG. 4  is an illustration of a data processing system in accordance with an illustrative embodiment; 
         FIG. 5  is an illustration of a sensor system in accordance with an illustrative embodiment; 
         FIG. 6  is an illustration of a testing system in accordance with an illustrative embodiment; 
         FIG. 7  is an illustration of a perspective view of an inspection environment in accordance with an illustrative embodiment; 
         FIG. 8  is an illustration of an enlarged perspective view of a portion of an inspection environment in accordance with an illustrative embodiment; 
         FIG. 9  is an illustration of a front view of an inspection environment in accordance with an illustrative embodiment; 
         FIG. 10  is an illustration of a top view of a volume in an inspection area in accordance with an illustrative embodiment; 
         FIG. 11  is an illustration of a side view of a volume in an inspection area in accordance with an illustrative embodiment; 
         FIG. 12  is an illustration of a perspective view of an inspection environment in accordance with an illustrative embodiment; and 
         FIG. 13  is an illustration of a flowchart of a process for inspecting an object in accordance with an illustrative embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     Referring more particularly to the drawings, embodiments of the disclosure may be described in the context of aircraft manufacturing and service method  100  as shown in  FIG. 1  and aircraft  200  as shown in  FIG. 2 . Turning first to  FIG. 1 , an illustration of an aircraft manufacturing and service method is depicted in accordance with an illustrative embodiment. During pre-production, aircraft manufacturing and service method  100  may include specification and design  102  of aircraft  200  in  FIG. 2  and material procurement  104 . 
     During production, component and subassembly manufacturing  106  and system integration  108  of aircraft  200  in  FIG. 2  takes place. Thereafter, aircraft  200  in  FIG. 2  may go through certification and delivery  110  in order to be placed in service  112 . While in service  112  by a customer, aircraft  200  in  FIG. 2  is scheduled for routine maintenance and service  114 , which may include modification, reconfiguration, refurbishment, and other maintenance or service. 
     Each of the processes of aircraft manufacturing and service method  100  may be performed or carried out by a system integrator, a third party, and/or an operator. In these examples, the operator may be a customer. For the purposes of this description, a system integrator may include, without limitation, any number of aircraft manufacturers and major-system subcontractors; a third party may include, without limitation, any number of venders, subcontractors, and suppliers; and an operator may be an airline, leasing company, military entity, service organization, and so on. 
     With reference now to  FIG. 2 , an illustration of an aircraft is depicted in which an illustrative embodiment may be implemented. In this example, aircraft  200  is produced by aircraft manufacturing and service method  100  in  FIG. 1  and may include airframe  202  with a plurality of systems  204  and interior  206 . Examples of systems  204  include one or more of propulsion system  208 , electrical system  210 , hydraulic system  212 , and environmental system  214 . 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 and/or ship industry. 
     Apparatus and methods embodied herein may be employed during at least one of the stages of aircraft manufacturing and service method  100  in  FIG. 1 . As used herein, the phrase “at least one of”, when used with a list of items, means that 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. For example, “at least one of item A, item B, and item C” may include, for example, without limitation, item A or item A and item B. This example also may include item A, item B, and item C or item B and item C. 
     In one illustrative example, components or subassemblies produced in component and subassembly manufacturing  106  in  FIG. 1  may be fabricated or manufactured in a manner similar to components or subassemblies produced while aircraft  200  is in service  112  in  FIG. 1 . As yet another example, a number of apparatus embodiments, method embodiments, or a combination thereof may be utilized during production stages, such as component and subassembly manufacturing  106  and system integration  108  in  FIG. 1 . A number, when referring to items, means one or more items. For example, a number of apparatus embodiments may be one or more apparatus embodiments. A number of apparatus embodiments, method embodiments, or a combination thereof may be utilized while aircraft  200  is in service  112  and/or during maintenance and service  114  in  FIG. 1 . The use of a number of the different illustrative embodiments may substantially expedite the assembly of and/or reduce the cost of aircraft  200 . 
     The different illustrative embodiments recognize and take into account a number of considerations. For example, the different illustrative embodiments recognize and take into account that the inspection of aircraft may not be as consistent as desired. As one illustrative example, different levels of experience and skill in maintenance operators may result in different maintenance operators identifying different inconsistencies on the same aircraft. In other words, one maintenance operator may not see an inconsistency that another maintenance operator may see, depending on the difference in skill and experience. 
     Even with the same skill and experience, the different illustrative embodiments also recognize that maintenance operators may miss an inconsistency entirely or make a judgment call that an inconsistency is not present. With the same aircraft, another maintenance operator may determine that the inconsistency is present. 
     The different illustrative embodiments recognize and take into account that with maintenance operators performing inspections, it may be difficult to see upper portions of an aircraft, such as the top of an aircraft. As a result, some inconsistencies may not be detected or identified by the maintenance operators. A maintenance operator may be required to climb a ladder or use a lift to see upper portions of an aircraft. The different illustrative embodiments recognize and take into account that this type of process increases the time needed to inspect the aircraft, as well as requires equipment that allows for maintenance operators to see higher portions of the aircraft that cannot be easily seen from the ground. 
     Thus, the different illustrative embodiments provide a method and apparatus for inspecting objects, such as aircraft. In response to the presence of an object in an inspection area, a volume is identified that contains the object. This volume has a plurality of portions. A number of sensor systems are assigned to the plurality of portions of the volume. Each sensor system in the number of sensor systems may be assigned to a number of portions in the plurality of portions of the volume. 
     This assignment of the number of sensors is based on whether each sensor is able to generate data with a desired level of quality about a surface of the object in a particular portion in the plurality of portions. The data is then generated about the surface of the object using the number of sensor systems assigned to the plurality of portions of the volume. A determination is made as to whether a number of inconsistencies is present on the surface of the object. This information may then be used to perform maintenance operations and/or other operations on the object. 
     With reference now to  FIG. 3 , an illustration of an inspection environment is depicted in accordance with an illustrative embodiment. In these illustrative examples, inspection environment  300  may be used during different phases of aircraft manufacturing and service method  100  in  FIG. 1 . 
     Inspection environment  300  in  FIG. 3  is used to inspect object  302  for number of inconsistencies  304 . In these illustrative examples, object  302  is aircraft  306 . Aircraft  306  may be implemented using, for example, aircraft  200  in  FIG. 2 . In these illustrative examples, number of inconsistencies  304  may include, for example, without limitation, at least one of a dent, a crack, a leak, and/or some other type of inconsistency. 
     In these illustrative examples, inspection of aircraft  306  takes place in location  308 . In particular, location  308  may be in hangar  310  in these examples. Location  308  in hangar  310  forms inspection area  312  for inspecting aircraft  306 . 
     Number of sensor systems  314  is associated with inspection area  312  in these illustrative examples. In these depicted examples, number of sensor systems  314  may include mobile sensor system  315 . Mobile sensor system  315  is configured to move along ground  311  or in air  313  in inspection area  312  in hangar  310 . 
     Number of sensor systems  314  may be placed in locations  317  in hangar  310  such that substantially all of surface  321  of object  302  can be detected by number of sensor systems  314 . In this manner, the different illustrative embodiments provide a capability to inspect all of object  302  more thoroughly as compared to currently used methods. This type of improvement may be especially evident when object  302  takes the form of aircraft  306 . 
     Computer system  316 , in these illustrative examples, is in communication with number of sensor systems  314 . Computer system  316  communicates with number of sensor systems  314  through network  318 . Network  318  may include wired communications links, wireless communications links, or a combination of the two. 
     In these illustrative examples, computer system  316  comprises number of computers  320 . Number of computers  320  may be in communication with each other through network  318  or a different network, depending on the particular implementation. 
     Inspection process  322  runs on one or more of number of computers  320 . In other words, inspection process  322  may be distributed among different computers in number of computers  320 . Further, inspection process  322  may run as program code, hardware, or a combination of the two on number of computers  320 . In these illustrative examples, number of sensor systems  314  generates data  324 , which is sent to inspection process  322 . 
     In these illustrative examples, inspection process  322  identifies volume  326  in response to a presence of object  302  in inspection area  312 . This initiation of inspection process  322  may be performed automatically in response to the presence of object  302 . In other illustrative examples, inspection process  322  may begin inspecting object  302  when object  302  is present in inspection area  312  and an input is received to start the inspection. This input may be user input or some other suitable type of input. 
     Volume  326  contains object  302 . In other words, object  302  is located inside of volume  326 . Inspection process  322  assigns number of sensor systems  314  to plurality of portions  328  of volume  326 . The assignment of number of sensor systems  314  to plurality of portions  328  is based on each sensor system being capable of generating data  324  with desired level of quality  332  about surface  321  of object  302  in particular portion  336  in plurality of portions  328 . 
     In these illustrative examples, data  324  generated by number of sensor systems  314  takes the form of number of images  338 . Number of images  338  may include still images, images for a video, a combination of the two, or some other suitable type of image. 
     In these illustrative examples, number of images  338  may be made by number of sensor systems  314  using visual light, infrared light, and/or other suitable types of light. Further, number of images  338  also may be generated by a laser beam directed toward surface  321  of object  302  with data  324  forming measurements about distance to surface  321  to generate images in number of images  338 . Of course, other types of images may be used, depending on the particular implementation. 
     In these depicted examples, inspection process  322  compares data  324  with baseline data  340  in database  342 . Baseline data  340  is obtained for object  302  at a time prior to the generation of data  324 . In other words, baseline data  340  is obtained for object  302  at a time prior to inspection of object  302  for number of inconsistencies  304 . 
     Baseline data  340  may take the form of number of images  344  generated after object  302  was manufactured. In other examples, number of images  344  may be images of object  302  taken before a current use of object  302 . In still other illustrative examples, baseline data  340  may be generated from a model of object  302 . 
     Inspection process  322  determines whether number of inconsistencies  304  is present on surface  321  of object  302  through the comparison of data  324  with baseline data  340 . For example, inspection process  322  may compare data  324  to baseline data  340  to identify number of pixel locations  341  in number of images  338  where data  324  does not match baseline data  340  within a selected threshold. In this manner, number of inconsistencies  304  is identified at number of pixel locations  341  in number of images  338 . 
     In these depicted examples, each pixel location in number of pixel locations  341  is defined using an x-y coordinate system for the pixels in image with the pixel location. Inspection process  322  identifies the locations on surface  321  of aircraft  306  that correspond to the locations in number of images  338 . In this manner, inspection process  322  identifies number of locations  348  that correspond to number of pixel locations  341 . Number of locations  348  includes the actual locations on surface  321  of aircraft  306  for number of inconsistencies  304 . 
     The comparison between data  324  and baseline data  340  may be made using a number of different techniques. For example, at least one of image segmentation, edge detection, image enhancement, geometric pattern matching, wavelet transformation, graph-based algorithms, and other suitable techniques are used to compare data  324  to baseline data  340 . 
     In response to a determination that a number of inconsistencies are present on surface  321  of object  302 , inspection process  322  may identify number of maintenance operations  346  to perform on object  302 . These maintenance operations may include, for example, without limitation, replacements of parts, reworking of parts, additional inspections, and/or other suitable types of maintenance operations. 
     For example, inspection process  322  may control testing system  350  to perform additional inspections in number of locations  348  where number of inconsistencies  304  has been identified. In these illustrative examples, testing system  350  may include number of mobile testing systems  354 . Number of mobile testing systems  354  may travel between number of locations  348  to perform additional inspections on number of inconsistencies  304 . In these illustrative examples, number of mobile testing systems  354  performs non-destructive testing  356  at number of locations  348  where number of inconsistencies  304  have been identified. 
     In these depicted examples, non-destructive testing  356  includes a number of different types of testing techniques that do not generate more inconsistencies or cause undesired changes to object  302 . For example, non-destructive testing  356  may include at least one of testing using ultrasound signals, magnetic particles, liquid penetration, x-rays, eddy currents, and/or other suitable techniques to perform further inspection of object  302 . 
     In this manner, the different illustrative embodiments provide an improved method and apparatus over current inspection systems for identifying inconsistencies in objects, such as aircraft. In these illustrative examples, time and effort may be saved for objects, such as aircraft  306 . In particular, the inspection of object  302  in the form of aircraft  306  may be performed quickly and with more accuracy using number of sensor systems  314  and inspection process  322  than by using human maintenance operators. 
     The illustration of inspection environment  300  in  FIG. 3  is not meant to imply physical or architectural limitations to a manner in which different illustrative embodiments may be implemented. Other components in addition to and/or in place of the ones illustrated may be used. Some components may be unnecessary in some illustrative embodiments. Also, the blocks are presented to illustrate some functional components. One or more of these blocks may be combined and/or divided into different blocks when implemented in different illustrative embodiments. 
     For example, the different illustrative embodiments may be applied to objects other than aircraft  306 . For example, the different illustrative embodiments may be applied to other types of objects, such as, for example, without limitation, a land-based structure, an aquatic-based structure, a space-based structure, and/or some other suitable type of object. More specifically, the different illustrative embodiments may be applied to, for example, without limitation, a submarine, a bus, a personnel carrier, a tank, a train, an automobile, a spacecraft, a space station, a satellite, a surface ship, a power plant, a dam, an engine, a flap, a portion of a fuselage, a manufacturing facility, a building, and/or some other suitable object. 
     Additionally, these inspections may be performed at different times in addition to performing maintenance on an aircraft. For example, the different illustrative embodiments may be applied to parts manufactured for aircraft  306  and during testing and certification of aircraft  306 . Additionally, the different illustrative embodiments may be applied to inspecting the interior of an aircraft. For example, number of sensor systems  314  may be present inside of aircraft  306  or located on mobile platforms that move within aircraft  306  to inspect the surface of the interior of aircraft  306 . 
     Turning now to  FIG. 4 , an illustration of a data processing system is depicted in accordance with an illustrative embodiment. In this illustrative example, data processing system  400  is an example of one implementation for one or more computers in number of computes  320  in computer system  316  in  FIG. 3 . 
     As depicted, data processing system  400  includes communications fabric  402 , which provides communications between processor unit  404 , memory  406 , persistent storage  408 , communications unit  410 , input/output (I/O) unit  412 , and display  414 . Data processing system  400  is an example of a data processing system that may be used to implement number of computers  320  in computer system  316  in  FIG. 3 . 
     Processor unit  404  serves to execute instructions for software that may be loaded into memory  406 . Processor unit  404  may be a number of processors, a multi-processor core, or some other type of processor, depending on the particular implementation. A number, as used herein with reference to an item, means one or more items. Further, processor unit  404  may be implemented using a number of heterogeneous processor systems in which a main processor is present with secondary processors on a single chip. As another illustrative example, processor unit  404  may be a symmetric multi-processor system containing multiple processors of the same type. 
     Memory  406  and persistent storage  408  are examples of storage devices  416 . A storage device is any piece of hardware that is capable of storing information, such as, for example, without limitation, data, program code in functional form, and/or other suitable information either on a temporary basis and/or a permanent basis. Storage devices  416  may also be referred to as computer readable storage devices in these examples. Memory  406 , in these examples, may be, for example, a random access memory or any other suitable volatile or non-volatile storage device. Persistent storage  408  may take various forms, depending on the particular implementation. 
     For example, persistent storage  408  may contain one or more components or devices. For example, persistent storage  408  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  408  also may be removable. For example, a removable hard drive may be used for persistent storage  408 . 
     Communications unit  410 , in these examples, provides for communications with other data processing systems or devices. In these examples, communications unit  410  is a network interface card. Communications unit  410  may provide communications through the use of either or both physical and wireless communications links. 
     Input/output unit  412  allows for input and output of data with other devices that may be connected to data processing system  400 . For example, input/output unit  412  may provide a connection for user input through a keyboard, a mouse, and/or some other suitable input device. Further, input/output unit  412  may send output to a printer. Display  414  provides a mechanism to display information to a user. 
     Instructions for the operating system, applications, and/or programs may be located in storage devices  416 , which are in communication with processor unit  404  through communications fabric  402 . In these illustrative examples, the instructions are in a functional form on persistent storage  408 . These instructions may be loaded into memory  406  for execution by processor unit  404 . The processes of the different embodiments may be performed by processor unit  404  using computer implemented instructions, which may be located in a memory, such as memory  406 . 
     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  404 . The program code in the different embodiments may be embodied on different physical or computer readable storage media, such as memory  406  or persistent storage  408 . 
     Program code  418  is located in a functional form on computer readable media  420  that is selectively removable and may be loaded onto or transferred to data processing system  400  for execution by processor unit  404 . Program code  418  and computer readable media  420  form computer program product  422  in these examples. In one example, computer readable media  420  may be computer readable storage media  424  or computer readable signal media  426 . Computer readable storage media  424  may include, for example, an optical or magnetic disk that is inserted or placed into a drive or other device that is part of persistent storage  408  for transfer onto a storage device, such as a hard drive, that is part of persistent storage  408 . 
     Computer readable storage media  424  also may take the form of a persistent storage, such as a hard drive, a thumb drive, or a flash memory, that is connected to data processing system  400 . In some instances, computer readable storage media  424  may not be removable from data processing system  400 . In these illustrative examples, computer readable storage media  424  is a non-transitory computer readable storage medium. 
     Alternatively, program code  418  may be transferred to data processing system  400  using computer readable signal media  426 . Computer readable signal media  426  may be, for example, a propagated data signal containing program code  418 . For example, computer readable signal media  426  may be an electromagnetic signal, an optical signal, and/or any other suitable type of signal. These signals may be transmitted over communications links, such as wireless communications links, optical fiber cable, coaxial cable, a wire, and/or any other suitable type of communications link. In other words, the communications link and/or the connection may be physical or wireless in the illustrative examples. 
     In some illustrative embodiments, program code  418  may be downloaded over a network to persistent storage  408  from another device or data processing system through computer readable signal media  426  for use within data processing system  400 . For instance, program code stored in a computer readable storage medium in a server data processing system may be downloaded over a network from the server to data processing system  400 . The data processing system providing program code  418  may be a server computer, a client computer, or some other device capable of storing and transmitting program code  418 . 
     The different components illustrated for data processing system  400  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  400 . Other components shown in  FIG. 4  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. As one example, the data processing system may include organic components integrated with inorganic components and/or may be comprised entirely of organic components excluding a human being. For example, a storage device may be comprised of an organic semiconductor. 
     In another illustrative example, processor unit  404  may take the form of a hardware unit that has circuits that are manufactured or configured for a particular use. This type of hardware may perform operations without needing program code to be loaded into a memory from a storage device to be configured to perform the operations. 
     For example, when processor unit  404  takes the form of a hardware unit, processor unit  404  may be a circuit system, 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 is 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. 
     Examples of 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. With this type of implementation, program code  418  may be omitted because the processes for the different embodiments are implemented in a hardware unit. 
     In still another illustrative example, processor unit  404  may be implemented using a combination of processors found in computers and hardware units. Processor unit  404  may have a number of hardware units and a number of processors that are configured to run program code  418 . With this depicted example, some of the processes may be implemented in the number of hardware units, while other processes may be implemented in the number of processors. 
     As another example, a storage device in data processing system  400  is any hardware apparatus that may store data. Memory  406 , persistent storage  408 , and computer readable media  420  are examples of storage devices in a tangible form. 
     In another example, a bus system may be used to implement communications fabric  402  and may be comprised of one or more buses, such as a system bus or an input/output bus. Of course, the bus system may be implemented using any suitable type of architecture that provides for a transfer of data between different components or devices attached to the bus system. Additionally, a communications unit may include one or more devices used to transmit and receive data, such as a modem or a network adapter. Further, a memory may be, for example, memory  406 , or a cache, such as found in an interface and memory controller hub that may be present in communications fabric  402 . 
     With reference now to  FIG. 5 , an illustration of a sensor system is depicted in accordance with an illustrative embodiment. In this illustrative example, sensor system  500  is an example of a sensor system that may be used to implement a sensor system in number of sensor systems  314  in  FIG. 3 . 
     As depicted in this example, sensor system  500  comprises number of cameras  502 . Number of cameras  502  is configured to generate data  504  in the form of number of images  506 . Number of images  506  may be, for example, without limitation, at least one of still images  508 , video  510 , and/or other types of suitable images. 
     In these illustrative examples, number of cameras  502  may generate number of images  506  for area  512 . Number of cameras  502  may be fixed or may be moveable about number of axes  514 . 
     This movement over number of axes  514  is controlled through motor system  516  and controller  518 . Further, the movement about number of axes  514  may be referred to as pan and tilt in these illustrative examples. 
     Although number of cameras  502  may be able to generate number of images  506  over area  512 , data  504  may be generated for only portion  520  of area  512 . Portion  520  of area  512  may provide number of images  506  with desired level of quality  522 . 
     In these illustrative examples, desired level of quality  522  takes the form of resolution  524 . The resolution of a camera in number of cameras  502  may be measured in pixels and is a measure of a quality of an image. The quality of an image may be based on features, such as, for example, without limitation, sharpness, color intensity, color contrast, distortion, compression, noise, dynamic range, and/or other suitable features. As one illustrative example, as the resolution of an image increases, features, such as the sharpness of an image and the ability to make out objects in an image, also increase. 
     With reference now to  FIG. 6 , an illustration of a testing system is depicted in accordance with an illustrative embodiment. In this illustrative example, testing system  600  is an example of one implementation for testing system  350  in  FIG. 3 . 
     In this depicted example, testing system  600  is mobile testing system  602 . As illustrated, mobile testing system  602  comprises platform  604 , propulsion system  606 , controller  608 , and non-destructive testing unit  610 . Platform  604  provides a structure for other components in mobile testing system  602 . Propulsion system  606 , controller  608 , and non-destructive testing unit  610  are associated with platform  604 . 
     Propulsion system  606  is configured to move mobile testing system  602 . Propulsion system  606  may move mobile testing system  602  on the ground, in the air, or a combination of the two. 
     For example, propulsion system  606  may comprise motor  612  and track system  614 . Motor  612  causes track system  614  to move platform  604  on the ground. In other illustrative examples, propulsion system  606  may comprise motor  616  and blades  618 . Motor  616  is configured to rotate blades  618  to provide a lift in movement of mobile testing system  602 . 
     Non-destructive testing unit  610  may comprise at least one of x-ray system  620 , eddy current testing system  622 , ultrasound system  624 , camera system  626 , and/or other suitable types of non-destructive testing systems. In this illustrative example, x-ray systems  620  may be configured to generate images using x-rays. Eddy current testing system  622  may be used to detect inconsistencies in conductive materials through electromagnetic induction. Ultrasound system  624  may be configured to send signals through materials to identify inconsistencies. 
     Camera system  626  may have a higher resolution than cameras in number of sensor systems  314  in  FIG. 3 . By moving camera system  626  to a location of a detected inconsistency, more detail of the inconsistency may be identified. In this manner, camera system  626  may be used to perform additional inspection of the detected inconsistency. 
     Controller  608  may be a data processing system, such as data processing system  400  in  FIG. 4 , or a processor unit. Controller  608  is configured to control mobile testing system  602 . For example, controller  608  may control the movement of mobile testing system  602 . Further, controller  608  may control the generation of data by non-destructive testing unit  610 . The movement and data generated by mobile testing system  602  may be controlled through instructions or commands received from inspection process  322  in  FIG. 3 . 
     With reference now to  FIG. 7 , an illustration of a perspective view of an inspection environment is depicted in accordance with an illustrative embodiment. In this illustrative example, inspection environment  700  is an example of one implementation for inspection environment  300  in  FIG. 3 . 
     As depicted, inspection environment  700  includes inspection area  702  and aircraft  704  in inspection area  702 . Inspection area  702  is in hangar  706  in this illustrative example. As illustrated, sensor systems  708  are located in inspection area  702 . Sensor systems  708  are configured to generate data about surface  710  of aircraft  704 . In some illustrative examples, sensor systems  708  may be configured to generate data about other portions of aircraft  704 , such as inner portions of aircraft  704 . For example, sensor systems  708  may include x-ray systems. 
     In this illustrative example, sensor systems  708  include camera systems  714 ,  716 ,  718 ,  720 ,  722 ,  724 ,  726 ,  728 ,  730 ,  732 ,  734 ,  735 ,  736 ,  762 ,  764 , and  766 . These camera systems may be implemented using, for example, a camera in number of cameras  502  in  FIG. 5 . In this illustrative example, these camera systems generate images for surface  710  of aircraft  704 . In particular, these camera systems generate video. 
     Camera systems  714 ,  716 ,  718 ,  720 ,  722 ,  724 ,  726 ,  728 ,  730 ,  732 ,  734 ,  735 , and  736  are in locations in hangar  706  in this depicted example. For example, camera systems  714 ,  716 ,  718 ,  720 ,  722 ,  724 ,  726 ,  728 ,  730 ,  732 ,  734 ,  735 , and  736  are in locations  738 ,  740 ,  742 ,  744 ,  746 ,  748 ,  750 ,  752 ,  754 ,  756 ,  758 ,  759 , and  760 , respectively, in hangar  706 . These locations are fixed locations for the camera systems in this depicted example. 
     As illustrated, sensor systems  708  also include camera systems  762 ,  764 , and  766 . Camera systems  762 ,  764 , and  766  are connected to robots  768 ,  770 , and  772 , respectively. These robots allow camera systems  762 ,  764 , and  766  to move within inspection area  702 . 
     For example, robot  768  and robot  770  are configured to move camera system  762  and camera system  764 , respectively, on a surface. This surface may be, for example, ground  774  of hangar  706  or surface  710  of aircraft  704 . For example, robot  768  is in location  778  on the surface of a wing for aircraft  704 . 
     In this illustrative example, robot  772  is configured to move camera system  766  in air  776  in hangar  706 . In other words, robot  772  flies such that camera system  766  moves in air  776 . In some illustrative examples, robot  772  may be configured to pick up, carry, and deploy a robot, such as robot  768 , with camera system  762  on surface  710  of aircraft  704 . In this manner, camera systems  762 ,  764 , and  766  are capable of moving to different locations within inspection area  702  to generate images for different portions of surface  710  of aircraft  704 . 
     The images generated by sensor systems  708  may be sent to a computer system, such as computer system  316  in  FIG. 3 , for processing. The images may be used to determine whether inconsistencies are present on surface  710  of aircraft  704 . Portion  780  of inspection environment  700  is illustrated in an enlarged view in  FIG. 8  below. 
     Turning now to  FIG. 8 , an illustration of an enlarged perspective view of a portion of an inspection environment is depicted in accordance with an illustrative embodiment. In this illustrative example, portion  780  of inspection environment  700  from  FIG. 7  is depicted. 
     As depicted, camera system  720  has field of view  800 . Camera system  728  has field of view  802 . Camera system  734  has field of view  804 . Further, camera system  764  has field of view  806 . The locations of camera systems  720 ,  728 ,  734 , and  764  allow images to be generated for different portions of surface  710  of aircraft  704 . 
     With reference now to  FIG. 9 , an illustration of a front view of an inspection environment is depicted in accordance with an illustrative embodiment. In this illustrative example, inspection environment  700  from  FIG. 7  is depicted from a front view of inspection area  702  and aircraft  704  in inspection area  702 . 
     Turning now to  FIG. 10 , an illustration of a top view of a volume in an inspection area is depicted in accordance with an illustrative embodiment. In this illustrative example, volume  1000  is identified within inspection area  702  in inspection environment  700  from  FIG. 7 . 
     In this illustrative example, volume  1000  comprises plurality of portions  1002 . Plurality of portions  1002  is selected to cover substantially all of surface  710  of aircraft  704 . In other words, aircraft  704  is contained within plurality of portions  1002 . 
     As illustrated, each camera system in sensor systems  708  is assigned to a number of portions within plurality of portions  1002 . In this manner, each camera system generates images for surface  710  of aircraft  704  within the field of view of each camera system in the number of portions assigned to each camera system. As one illustrative example, camera system  716  is assigned to portions  1004 ,  1006 ,  1008 ,  1010 ,  1012 ,  1014 ,  1016 , and  1018 . 
     Further, in this depicted example, each camera system is assigned to the number of portions in plurality of portions  1002  based on whether each camera system is able to generate images with a desired level of quality of surface  710  of aircraft  704  in a particular portion in plurality of portions  1002 . The quality of the images generated by each camera system may depend on the distance from each camera system from surface  710  of aircraft  704 . 
     In this illustrative example, camera system  735  and camera system  736  in  FIG. 7  are not shown to provide a clearer view of plurality of portions  1002  in volume  1000 . Camera system  735  in  FIG. 7  is assigned to portion  1016  and portion  1022  in plurality of portions  1002  in this depicted example. Further, camera system  736  in  FIG. 7  is assigned to portion  1018  and portion  1020 . 
     With reference now to  FIG. 11 , an illustration of a side view of a volume in an inspection area is depicted in accordance with an illustrative embodiment. In this illustrative example, a side view of volume  1000  in  FIG. 10  is depicted. As depicted, only a portion of plurality of portions  1002  from  FIG. 10  is depicted. 
     With reference now to  FIG. 12 , an illustration of a perspective view of an inspection environment is depicted in accordance with an illustrative embodiment. In this illustrative example, inspection environment  700  from  FIG. 7  is depicted having rail system  1200 . 
     As depicted, rail system  1200  includes rails  1202 ,  1204 ,  1206 ,  1208 ,  1210 ,  1212 ,  1214 ,  1216 ,  1218 ,  1220 ,  1222 , and  1224 . Camera systems  714 ,  716 ,  718 ,  720 ,  722 ,  724 ,  726 ,  728 ,  730 ,  732 , and  734  are configured to move in the direction of arrow  1227  along rails  1202 ,  1204 ,  1206 ,  1208 ,  1210 ,  1212 ,  1214 ,  1216 ,  1218 ,  1220 ,  1222 , and  1224 , respectively. Camera system  735  and camera system  736  are configured to move in the direction of arrow  1226  along rail  1224 . 
     In this manner, the locations of these camera systems may be changed. The locations of the camera systems may be changed to reassign the camera systems to different portions in a volume identified within an inspection area, such as volume  1000  in  FIG. 10 . The locations of the camera systems may also be changed to account for the size and/or shape of different aircraft and/or other structures located within inspection area  702  in hangar  706 . 
     With reference now to  FIG. 13 , an illustration of a flowchart of a process for inspecting an object is depicted in accordance with an illustrative embodiment. The process illustrated in  FIG. 13  may be implemented in inspection environment  300  in  FIG. 3 . 
     The process begins by identifying a volume that contains an object in response to a presence of the object in an inspection area (operation  1300 ). The volume has a plurality of portions. The volume may be, for example, volume  1000  with plurality of portions  1002  in  FIG. 10 . 
     The process then assigns a number of sensor systems to the plurality of portions of the volume (operation  1302 ). Each sensor system in the number of sensor systems is assigned to a number of portions in the plurality of portions of the volume based on whether each sensor system is able to generate data with a desired level of quality about a surface of the object in a particular portion in the plurality of portions. In this illustrative example, the number of sensor systems may be camera systems configured to generate data in the form of still images and/or video. 
     Thereafter, the process generates the data about the surface of the object using the number of sensor systems assigned to the plurality of portions of the volume (operation  1304 ). The process then determines whether a number of inconsistencies are present on the surface of the object using the data (operation  1306 ). Operation  1306  is performed by comparing the data to baseline data, such as baseline data  340  in  FIG. 3 , in these examples. 
     If a number of inconsistencies are not present on the surface of the object, the process terminates. Otherwise, if a number of inconsistencies are present on the surface of the object, the process identifies a number of maintenance operations to perform on the object (operation  1308 ), with the process terminating thereafter. 
     The number of maintenance operations may include, for example, reworking the surface of the object, repairing the surface of the object, replacing a part associated with the surface of the object, performing additional inspection of the number of inconsistencies, and/or other suitable operations. In this illustrative example, operation  1308  may also include initiating the number of maintenance operations identified. For example, in operation  1308 , if additional inspection of the number of inconsistencies is identified, the process may send commands to a mobile testing system to send the mobile testing system to the number of inconsistencies. 
     The flowchart and block diagrams in the different depicted embodiments illustrate the architecture, functionality, and operation of some possible implementations of apparatus and methods in different illustrative embodiments. In this regard, each block in the flowchart or block diagrams may represent a module, segment, function, and/or a portion of an operation or step. In some alternative implementations, the function or functions noted in the block may occur out of the order noted in the figures. For example, in some cases, two blocks shown in succession may be executed substantially concurrently, or the blocks may sometimes be executed 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. 
     Thus, the different illustrative embodiments provide a method and apparatus for inspecting objects, such as aircraft. In response to the presence of an object in an inspection area, a volume is identified that contains the object. This volume has a plurality of portions. A number of sensor systems are assigned to the plurality of portions of the volume. Each sensor system in the number of sensor systems may be assigned to a number of portions in the plurality of portions of the volume. This assignment of the number of sensors is based on whether each sensor is able to generate data with a desired level of quality about a surface of the object in a particular portion in the plurality of portions. The data is then generated about the surface of the object using the number of sensor systems assigned to the plurality of portions of the volume. A determination is made as to whether a number of inconsistencies is present on the surface of the object. This information may then be used to perform maintenance operations and/or other operations on the object. 
     In this manner, the different illustrative embodiments reduce the time, effort, and/or equipment needed to inspect an object, such as an aircraft. With the use of a number of sensor systems assigned to generate data with a desired quality for particular portions of a volume in an inspection area that contains the object, inspection of the object may be made easier, less time-consuming, more accurate, and/or more consistent as compared to currently available methods of inspection. 
     The different illustrative embodiments can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment containing both hardware and software elements. Some embodiments are implemented in software, which includes, but is not limited to, forms, such as, for example, firmware, resident software, and microcode. 
     Furthermore, the different embodiments can take the form of a computer program product accessible from a computer usable or computer readable medium providing program code for use by or in connection with a computer or any device or system that executes instructions. For the purposes of this disclosure, a computer usable or computer readable medium can generally be any tangible apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. 
     The computer usable or computer readable medium can be, for example, without limitation, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, or a propagation medium. Non-limiting examples of a computer readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk, and an optical disk. Optical disks may include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W), and DVD. 
     Further, a computer usable or computer readable medium may contain or store a computer readable or usable program code such that when the computer readable or usable program code is executed on a computer, the execution of this computer readable or usable program code causes the computer to transmit another computer readable or usable program code over a communications link. This communications link may use a medium that is, for example, without limitation, physical or wireless. 
     A data processing system suitable for storing and/or executing computer readable or computer usable program code will include one or more processors coupled directly or indirectly to memory elements through a communications fabric, such as a system bus. The memory elements may include local memory employed during actual execution of the program code, bulk storage, and cache memories, which provide temporary storage of at least some computer readable or computer usable program code to reduce the number of times code may be retrieved from bulk storage during execution of the code. 
     Input/output or I/O devices can be coupled to the system either directly or through intervening I/O controllers. These devices may include, for example, without limitation, keyboards, touch screen displays, and pointing devices. Different communications adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems, remote printers, or storage devices through intervening private or public networks. Non-limiting examples are modems and network adapters and are just a few of the currently available types of communications adapters. 
     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. Many modifications and variations will be apparent to those of ordinary skill in the art. Further, different illustrative embodiments may provide different advantages as compared to other illustrative embodiments. The embodiment or embodiments selected are chosen and described in order to best explain the principles of the embodiments, the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.