Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
OPTIMALLY POSITIONING A REFUELING BOOM
Document Type and Number:
WIPO Patent Application WO/2010/065036
Kind Code:
A1
Abstract:
A method, apparatus, and computer program product for positioning a refueling boom (316) is present. A command (344) for a desired position (321) for the refueling boom is identified (900). A position (319) of the refueling boom is sensed (902) to form a current position (834). Acceleration errors (735) for a plurality of axes (313) for the refueling boom are identified to form identified acceleration errors. Commands (314) to a force generator system (341) for the refueling boom are substantially continuously generated (906) to move the refueling boom from the current position to the desired position in a manner that reduces the identified acceleration errors for the plurality of axes.

Inventors:
SPEER THOMAS EDWARD (US)
MUSGRAVE JEFFREY L (US)
HATCHER JUSTIN CLEVE (US)
Application Number:
US2008/085587
Publication Date:
June 10, 2010
Filing Date:
December 04, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOEING CO (US)
SPEER THOMAS EDWARD (US)
MUSGRAVE JEFFREY L (US)
HATCHER JUSTIN CLEVE (US)
International Classes:
B64D39/00
Foreign References:
EP1705116A22006-09-27
EP1762492A22007-03-14
Attorney, Agent or Firm:
HALPERIN, Brett, L. et al. (P.o. Box 2515Mc 110-sd5, Seal Beach CA, US)
Download PDF:
Claims:
CLAIMS :

What is claimed is:

1. A method for positioning a refueling boom (316), the method comprising: identifying (900) a command (344) for a desired position (321) for the refueling boom (316); sensing (902) a position (319) of the refueling boom (316) to form a current position (834); identifying (904) acceleration errors (735) for a plurality of axes (313) for the refueling boom (316) to form identified acceleration errors (735) ; and substantially continuously generating (906) commands (314) to a force generator system (341) for the refueling boom (316) to move the refueling boom (316) from the current position (834) to the desired position (321) in a manner that reduces the identified acceleration errors (735) for the plurality of axes (313) . 2. The method of claim 1, wherein the step of substantially continuously generating (906) commands (314) to the force generator system (341) for the refueling boom (316) to move the refueling boom (316) from the current position (834) to the desired position (321) in a manner that reduces the identified acceleration errors (735) for the plurality of axes (313) comprises: imposing rate limits (743) on the commands (314) to the force generator system (341), wherein the commands (314) do not exceed rate performance capabilities (744) of the force generator system (341); and imposing position limits (745) on the commands (314) to the force generator system (341), wherein the commands (314) do not exceed a range of motion capabilities (746) of the force generator system (341) .

3. The method of claim 1, wherein the step of identifying (904) acceleration errors (735) for a plurality of axes (313) for the refueling boom (316) to form identified acceleration errors (735) comprises: identifying (1006) acceleration errors (735) for the plurality of axes (313) for the refueling boom (316) using the command (344), position information (722) of the refueling boom (316), and acceleration information (726) for the refueling boom (316) . 4. The method of claim 1, wherein the plurality of axes (313) comprises an elevation axis (347) and an azimuth axis (349) .

5. The method of claim 1, wherein the command (344) for the desired position (321) for the refueling boom (316) is received from a control stick (342) .

6. The method of claim 1, wherein the position (319) of the refueling boom (316) is received from a number of position sensors (337) .

7. The method of claim 1, wherein the step of identifying (904) acceleration errors (735) for a plurality of axes (313) for the refueling boom (316) to form identified acceleration errors (735) comprises: assigning (1008) priorities (741) to the acceleration errors (735) for the plurality of axes (313) , wherein an acceleration error associated with an axis in the plurality of axes (313) has a highest priority in the priorities (741) .

8. The method of claim 7, wherein the step of assigning (1008) priorities to the acceleration errors (735) for the plurality of axes (313) comprises: weighting (1008) the identified acceleration errors (735) for the plurality of axes (313) to assign the priorities (741) .

9. The method of claim 1, wherein the force generator system (341) comprises a first ruddevator (506) and a second ruddevator (508) in a V configuration (510) .

10. The method of claim 1, wherein the commands (314) compensate for changes in at least one of angular position (724), aircraft speed (303), and aircraft altitude (305) .

11. A method for positioning a refueling boom (316) for an aircraft (301), the method comprising: receiving (1000) a command (344) from a control stick (342) in the aircraft (301); identifying (1002) a command (344) for a desired position (321) for the refueling boom (316); sensing (1004) a position (319) of the refueling boom (316) from a number of position sensors (337) to form a current position (834) ; identifying (1006) acceleration errors (735) for an elevation axis (347) and an azimuth axis (349) for the refueling boom (316) from the command (344), the position (319) of the refueling boom (316), and acceleration information (726) for the refueling boom (316) to form identified acceleration errors (735) ; assigning (1008) priorities (741) to the acceleration errors (735) for the elevation axis (347) and the azimuth axis (349) by weighting the acceleration errors (735), wherein an acceleration error associated with an axis in the plurality of axes (313) has a highest priority in the priorities (741); and substantially continuously generating (1010) commands (314) to a first ruddevator (506) and a second ruddevator (508) for the refueling boom (316) to move the refueling boom (316) from the current position (834) to the desired position (321) in a manner that reduces the identified acceleration errors (735) for the elevation axis (347) and the azimuth axis (349), wherein the commands (314) compensate for changes in at least one of angular position (724), aircraft speed (303), and aircraft altitude (305) .

12. An apparatus comprising: a control process (705) capable of identifying (900) a command (344) for a desired position (321) for a refueling boom (316); sensing (902) a position (319) of the refueling boom (316) to form a current position (834); identifying (904) acceleration errors (735) for a plurality of axes (313) for the refueling boom (316) to form identified acceleration errors (735); and substantially continuously generating (906) commands (314) to a force generator system (341) for the refueling boom (316) to move the refueling boom (316) from the current position (834) to the desired position (321) in a manner that reduces the identified acceleration errors (735) for the plurality of axes (313); and a computer (338), wherein the control process (705) is located on the computer (338) .

13. The apparatus of claim 12, wherein the control process (705) is a control mixer (348) and further comprising: a sensor system (716), wherein the sensor system (716) is capable of sending position information (722) of the refueling boom (316) and acceleration information (726) for the refueling boom (316) to the computer (338) .

14. The apparatus of claim 12, wherein in identifying (904) the acceleration errors (735) for the plurality of axes (313) for the refueling boom (316) to form the identified acceleration errors (735) , the control process (705) is capable of identifying the acceleration errors (735) for the plurality of axes (313) for the refueling boom (316) using the command (344), position information (722) of the refueling boom (316), and acceleration information (726) for the refueling boom (316) . 15. The apparatus of claim 12, wherein the plurality of axes (313) comprises an elevation axis (347) and an azimuth axis (349) .

16. The apparatus of claim 12, wherein the command (344) for the desired position (321) for the refueling boom (316) is received from a control stick (342) .

17. The apparatus of claim 12, wherein the position (319) of the refueling boom (316) is received from a number of position sensors (337) .

18. The apparatus of claim 12, wherein in identifying (904) the acceleration errors (735) for the plurality of axes (313) for the refueling boom (316) to form the identified acceleration errors (735) , the control process (705) is capable of identifying the acceleration errors (735) for the plurality of axes (313) for the refueling boom (316) using the command (344), the position (319) of the refueling boom (316), and acceleration information (726) for the refueling boom (316) . 19. The apparatus of claim 12, wherein in identifying

(904) the acceleration errors (735) for the plurality of axes (313) for the refueling boom (316) to form the identified acceleration errors (716), the control process (705) is capable of assigning (1008) priorities (741) to the acceleration errors (735) for the plurality of axes (313) , wherein an acceleration error associated with an axis in the plurality of axes (313) has a highest priority in the priorities (741) .

20. The apparatus of claim 19, wherein in assigning (1008) the priorities (741) to the acceleration errors (735) for the plurality of axes (313) the control process (705) is capable of weighting (1008) the identified acceleration errors (735) for the plurality of axes (313) to assign the priorities (741) .

21. An apparatus for positioning a refueling boom (316) for an aircraft (301), the apparatus comprising: a control mixer (348) capable of receiving (1000) a command (344) from a control stick (342) in the aircraft (301); identifying (1002) a command (344) for a desired position (321) for the refueling boom (316); sensing (1004) a position (319) of the refueling boom (316) from a number of position sensors (337) to form a current position (834); identifying (1006) acceleration errors (735) for an elevation axis (347) and an azimuth axis (349) for the refueling boom (316) from the command (344), position information (722) of the refueling boom (316), and acceleration information (726) for the refueling boom (316) to form identified acceleration errors (735); assigning (1008) priorities (741) to the acceleration errors (735) for the elevation axis (347) and the azimuth axis (349) by weighting (1008) the acceleration errors (735), wherein an acceleration error associated with an axis in a plurality of axes (313) has a highest priority in the priorities (741); and substantially continuously generating (1010) commands (314) to a first ruddevator (506) and a second ruddevator (508) for the refueling boom (316) to move the refueling boom (316) from the current position (834) to the desired position (321) in a manner that reduces the identified acceleration errors (735) for the elevation axis (347) and the azimuth axis (349), wherein the commands (314) compensate for changes in at least one of angular position (724), aircraft speed (303), and aircraft altitude (305); a computer (338), wherein the control mixer (348) is located on the computer (338); and a sensor system (716), wherein the sensor system (716) is capable of sending position information (722) of the refueling boom (316) and acceleration information (726) for the refueling boom (316) to the computer (338) .

22. A computer program product (220) for positioning a refueling boom (316), the computer program product (220) comprising: a computer recordable storage medium (219); program code (216), stored on the computer recordable storage medium (219), for identifying (900) a command (344) for a desired position (321) for the refueling boom (316); program code (216), stored on the computer recordable storage medium (219), for sensing (902) a position (319) of the refueling boom (316) to form a current position (834); program code (216), stored on the computer recordable storage medium (219), for identifying (904) acceleration errors (735) for a plurality of axes (313) for the refueling boom (316) to form identified acceleration errors (735) ; and program code (216), stored on the computer recordable storage medium (219), for substantially continuously generating (906) commands (314) to a force generator system (341) for the refueling boom (316) to move the refueling boom (316) from the current position (834) to the desired position (321) in a manner that reduces the identified acceleration errors (735) for the plurality of axes (313) . 23. The computer program product (220) of claim 22, wherein the program code (216), stored on the computer recordable storage medium (219), for identifying (904) acceleration errors (734) for a plurality of axes (313) for the refueling boom (316) to form identified acceleration errors (735) further comprises: program code (216), stored on the computer recordable storage medium (219), for identifying (1006) acceleration errors (735) for the plurality of axes for the refueling boom (316) using the command (344), position information (722) of the refueling boom (316), and acceleration information (726) for the refueling boom (316) .

24. The computer program product (220) of claim 22, wherein the plurality of axes (313) comprises and elevation axis (347) and an azimuth axis (349) . 25. The computer program product (220) of claim 22, wherein the command (344) for the desired position (321) for the refueling boom (316) is received from a control stick (342) .

26. The computer program product (220) of claim 22, wherein the position (319) of the refueling boom (316) is received from a number of position sensors (337) .

Description:
OPTIMALLY POSITIONING A REFUELING BOOM

BACKGROUND INFORMATION

1. Field:

The present disclosure relates generally to aircraft and in particular, to refueling aircraft. Still more particularly, the present disclosure relates to a method, apparatus, and computer usable program code for controlling a refueling boom.

2. Background:

Aerial refueling may be a process of transferring fuel from one aircraft to another aircraft. The aircraft from which the fuel originates may be referred to as a tanker, while the other aircraft receiving the fuel may be referred to as a receiver. This type of process may be applied to various types of aircraft, including, for example, without limitation, fixed wing aircraft and/or helicopters.

One common approach for refueling may involve a boom and receptacle system. With a boom, a fixed tube and/or a telescoping tube may be present on the tanker aircraft. These tubes may also be referred to as a refueling boom or telescoping refueling boom. The refueling boom may be attached to the rear of the tanker aircraft and may be a flexible refueling boom allowing movement along an x-axis and a y-axis relative to the tanker. The x-axis may be a horizontal axis with respect to the aircraft; the y-axis may be a vertical axis with respect to the aircraft. An operator may extend and/or position the refueling boom for insertion into a receptacle on the receiving aircraft to transfer fuel to the receiving aircraft.

Further, a refueling boom operator may control the ruddevators for a refueling boom to control the pitch and yaw of the refueling boom. The flexibility of the refueling boom may add a challenge to positioning the refueling boom when a refueling boom operator manipulates a control stick to operate the refueling boom. The refueling boom may have the flexibility to, for example, without limitation, bend, twist, vibrate, and/or flex in some other suitable manner. Movement of the ruddevators may be performed individually or together since the refueling boom may use a pitch and yaw pivot. The ruddevators of the refueling boom may be in a V configuration. Coordinating the movement of the left and right ruddevators in a V configuration to move the refueling boom rectilinearly along the x-axis and y-axis relative to the tanker may be difficult.

Existing solutions may use a mechanical pantograph that sums the positive position feedback and control stick inputs to combine the feedback and the mixing of the elevation and azimuth axes into the ruddevator deflections. Also, in some aircraft, the control surfaces may be in the same direction as the axes of motion. This type of solution for positioning a refueling boom may be tied to a specific configuration and may not be easily adapted to new configurations. Further, the existing solutions may couple the handling qualities of the control laws with the control effectiveness resulting from the ruddevator placement and orientation. It may be advantageous to define boom handling and performance independent of the means to maneuver the boom allowing universal feel and operation of the refueling boom. Otherwise, the existing solutions may make it more difficult to adapt control laws to new configurations.

Therefore, it would be desirable to have a method, apparatus, and computer program code that may overcome one or more of the issues described above, as well as other possible issues . SUMN[ARY

In one advantageous embodiment, a method for positioning a refueling boom may be present. A command for a desired position for the refueling boom may be identified. A position of the refueling boom may be sensed to form a current position. Acceleration errors for a plurality of axes for the refueling boom may be identified to form identified acceleration errors. Commands to a force generator system for the refueling boom may be substantially continuously generated to move the refueling boom from the current position to the desired position in a manner that may reduce the identified acceleration errors for the plurality of axes.

In another advantageous embodiment, a method for positioning a refueling boom for an aircraft may be present. A command from a control stick in the aircraft may be received. A command for a desired position for the refueling boom may be identified. A position of the refueling boom may be sensed from a number of position sensors to form a current position. Acceleration errors for an elevation axis and an azimuth axis for the refueling boom may be identified from the command, position information of the refueling boom, and acceleration information for the refueling boom to form identified acceleration errors. Priorities may be assigned to the acceleration errors for the elevation axis and the azimuth axis by weighting the acceleration errors. An acceleration error associated with an axis in the plurality of axes may have a highest priority in the priorities. Commands to a first ruddevator and a second ruddevator for the refueling boom may be substantially continuously generated to move the refueling boom from the current position to the desired position in a manner that may reduce the identified acceleration errors for the elevation axis and the azimuth axis, wherein the commands may compensate for changes in at least one of angular boom position, aircraft speed, and aircraft altitude.

In yet another advantageous embodiment, an apparatus may comprise a control process and a computer, wherein the control process may be located on the computer. The control process may be capable of identifying a command for a desired position for the refueling boom. The control process may be capable of sending a position of the refueling boom to form a current position. The control process may also be capable of identifying acceleration errors for a plurality of axes for the refueling boom to form identified acceleration errors. Further, the control process may be capable of substantially continuously generating commands to a force generator system for the refueling boom to move the refueling boom from the current position to the desired position in a manner that may reduce the identified acceleration errors for the plurality of axes.

In still yet another advantageous embodiment, an apparatus for positioning a refueling boom for an aircraft may comprise a control mixer, a computer, and a sensor system. The control mixer may be located on the computer. The control mixer may be capable of receiving a command from a control stick in the aircraft. The control mixer also may be capable of identifying a command for a desired position for the refueling boom. The control mixer may be capable of sensing a position of the refueling boom from a number of position sensors to form a current position. The control mixer also may be capable of identifying acceleration errors for an elevation axis and an azimuth axis for the refueling boom from the command, position information of the refueling boom, and acceleration information for the refueling boom to form identified acceleration errors. In addition, the control mixer may be capable of assigning priorities to the acceleration errors for the elevation axis and the azimuth axis by weighting the acceleration errors. An acceleration error may be associated with an axis in a plurality of axes. The acceleration error may have a highest priority in the priorities. Further, the control mixer may be capable of substantially continuously generating commands to a first ruddevator and a second ruddevator for the refueling boom to move the refueling boom from the current position to the desired position in a manner that reduces the identified acceleration errors for the elevation axis and the azimuth axis. The commands may compensate for changes in at least one of angular boom position, aircraft speed, and aircraft altitude. The sensor system may be capable of sending the position of the refueling boom and acceleration information for the refueling boom to the computer.

In another advantageous embodiment, a computer program product for positioning a refueling boom may comprise a computer recordable storage medium and program code stored on the computer recordable storage medium. Program code may be present for identifying a command for a desired position for the refueling boom. Program code also may be present for sensing a position of the refueling boom to form a current position. Program code may be present for identifying acceleration errors for a plurality of axes for the refueling boom to form identified acceleration errors. Further, program code may be present for substantially continuously generating commands to a force generator system for the refueling boom to move the refueling boom from the current position to the desired position in a manner that may reduce the identified acceleration errors for the plurality of axes.

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 advantageous embodiments are set forth in the appended claims. The advantageous 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 advantageous embodiment of the present disclosure when read in conjunction with the accompanying drawings, wherein:

Figure 1 is a diagram of an aircraft in which an advantageous embodiment may be implemented;

Figure 2 is a diagram of a data processing system in accordance with an illustrative embodiment;

Figure 3 is a diagram of a refueling environment in accordance with an advantageous embodiment; Figure 4 is a diagram of one implementation for a refueling environment in accordance with an advantageous embodiment;

Figure 5 is a more detailed illustration of a refueling boom in accordance with an advantageous embodiment;

Figure 6 is an exposed view of a refueling boom unit in accordance with an advantageous embodiment;

Figure 7 is a control data flow diagram of a refueling boom control environment in accordance with an advantageous embodiment;

Figure 8 is a diagram of a control mixer in accordance with an advantageous embodiment;

Figure 9 is a flowchart of a process for positioning a refueling boom in accordance with an advantageous embodiment; and

Figure 10 is a flowchart of a process for positioning a refueling boom for an aircraft in accordance with an advantageous embodiment.

DETAILED DESCRIPTION

Referring more particularly to the drawings, embodiments of the disclosure may be described in the context of an aircraft, such as, for example, aircraft 100 as shown in Figure 1.

With reference now to Figure 1, a diagram of an aircraft is depicted in which an advantageous embodiment may be implemented. In this example, aircraft 100 in Figure 1 may include airframe 102 with a plurality of systems 104 and interior 106. Examples of systems 104 include one or more of propulsion system 108, electrical system 110, hydraulic system 112, environmental system 114, and refueling system 116. Any number of other systems may be included. Different advantageous embodiments may be implemented within refueling system 116 in these depicted examples. Although an aerospace example is shown, different advantageous embodiments may be applied to other industries, such as the automotive industry.

Turning now to Figure 2, a diagram of a data processing system is depicted in accordance with an illustrative embodiment. Data processing system 200 is an example of the data processing system that may be located within aircraft 100 in Figure 1. For example, data processing system 200 may be part of electrical system 110 and/or refueling system 116 in Figure 1. Data processing system 200 may implement different processes for managing movement of a refueling boom. In this illustrative example, data processing system 200 includes communications fabric 202, which provides communications between processor unit 204, memory 206, persistent storage 208, communications unit 210, input/output (I/O) unit 212, and display 214.

Processor unit 204 serves to execute instructions for software that may be loaded into memory 206. Processor unit 204 may be a set of one or more processors or may be a multiprocessor core, depending on the particular implementation. Further, processor unit 204 may be implemented using one or more heterogeneous processor systems in which a main processor is present with secondary processors on a single chip. As another illustrative example, processor unit 204 may be a symmetric multiprocessor system containing multiple processors of the same type.

Memory 206 and persistent storage 208 are examples of storage devices. A storage device is any piece of hardware that is capable of storing information either on a temporary basis and/or a permanent basis. Memory 206, in these examples, may be, for example, without limitation, a random access memory or any other suitable volatile or non-volatile storage device.

Persistent storage 208 may take various forms depending on the particular implementation. For example, persistent storage 208 may contain one or more components or devices. For example, without limitation, persistent storage 208 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 208 also may be removable. For example, without limitation, a removable hard drive may be used for persistent storage 208.

Communications unit 210, in these examples, provides for communications with other data processing systems or devices. In these examples, communications unit 210 is a network interface card. Communications unit 210 may provide communications through the use of either or both physical and wireless communications links.

Input/output unit 212 allows for input and output of data with other devices that may be connected to data processing system 200. For example, input/output unit 212 may provide a connection for user input through a keyboard and mouse. Further, input/output unit 212 may send output to a printer. Display 214 provides a mechanism to display information to a user.

Instructions for the operating system and applications or programs are located on persistent storage 208. These instructions may be loaded into memory 206 for execution by processor unit 204. The processes of the different embodiments may be performed by processor unit 204 using computer implemented instructions, which may be located in a memory, such as memory 206. 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 204. The program code in the different embodiments may be embodied on different physical or tangible computer readable media, such as memory 206 or persistent storage 208.

Program code 216 is located in a functional form on computer readable media 218 that is selectively removable and may be loaded onto or transferred to data processing system 200 for execution by processor unit 204. Program code 216 and computer readable media 218 form computer program product 220 in these examples. In one example, computer readable media 218 may be in a tangible form, such as, for example, without limitation, an optical or magnetic disc that is inserted or placed into a drive or other device that is part of persistent storage 208 for transfer onto a storage device, such as a hard drive that is part of persistent storage 208. In a tangible form, computer readable media 218 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 200. The tangible form of computer readable media 218 may be computer recordable storage medium 219. In some instances, computer readable media 218 may not be removable .

Alternatively, program code 216 may be transferred to data processing system 200 from computer readable media 218 through communications link 222 to communications unit 210 and/or through connection 224 to input/output unit 212. Communications link 222 and/or connection 224 may be physical or wireless in the illustrative examples. Computer readable media 218 also may take the form of non-tangible media, such as communications links or wireless transmissions containing program code 216. In some illustrative embodiments, program code 216 may be downloaded over a network to persistent storage 208 from another device or data processing system for use within data processing system 200. 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 200. The data processing system providing program code 216 may be a server computer, a client computer, or some other device capable of storing and transmitting program code 216. The different components illustrated for data processing system 200 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 200.

Other components shown in Figure 2 can be varied from the illustrative examples shown. The different embodiments may be implemented using any hardware device or system capable of executing 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, without limitation, a storage device may be comprised of an organic semiconductor . As another example, a storage device in data processing system 200 may be any hardware apparatus that may store data. Memory 206, persistent storage 208 and computer readable media 218 may be examples of storage devices in a tangible form.

In another example, a bus system may be used to implement communications fabric 202 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, without limitation, memory 206 or a cache such as found in an interface and memory controller hub that may be present in communications fabric 202.

The different advantageous embodiments recognize that the flexibility of a refueling boom may make it difficult to position the refueling boom when the refueling boom operator manipulates a control stick to operate the refueling boom. The refueling boom may have the flexibility to, for example, without limitation, bend, twist, vibrate, and/or flex in some other suitable manner. Bending, twisting, and/or vibrating of the boom may due to factors such as, for example, without limitation, contact with an object, wind, and/or some other suitable factor.

The different advantageous embodiments recognize that the flexibility of the refueling boom may result in nearly constant changes in the position of the refueling boom. These changes may be caused by airflow over the refueling boom, vibrations, and/or other factors. The different advantageous embodiments also recognize that converting from the motion of the refueling boom to directions controlled by ruddevators of the refueling boom may make it difficult to achieve effective positioning when moving the refueling boom.

Further, currently available mechanisms for positioning a refueling boom may not accommodate changes to the internal model of control effectiveness for the force generator system of a refueling boom. The different advantageous embodiments recognize that currently available mechanisms may provide challenges in adapting to new configurations. Further, an operator may find it difficult to minimize errors when positioning the refueling boom. Thus, the different advantageous embodiments provide a method, apparatus, and computer program code for positioning a refueling boom. A command may be identified for a desired position for the refueling boom. A position of the refueling boom may be sensed to form a current position. Acceleration errors for a plurality of axes for the refueling boom may be identified to form identified acceleration errors. Commands to a force generator system for the refueling boom may then be substantially continuously generated to move the refueling boom from the current position to the desired position in a manner that reduces the identified acceleration errors for the plurality of axes.

With reference now to Figure 3, a diagram of a refueling environment is depicted in accordance with an advantageous embodiment. In this example, refueling environment 300 may be implemented in a portion or all of aircraft 100 in Figure 1.

Refueling environment 300 may include aircraft 301. Aircraft 301 may have aircraft speed 303 and aircraft altitude 305 while in flight. Aircraft 301 may include operator refueling station 302, refueling boom unit 304, refueling control system 308, and/or other suitable components. In these illustrative examples, operator refueling station 302, refueling boom unit 304, and refueling control system 308 may be part of refueling system 116 in Figure 1. The different components may be implemented using one or more data processing systems such as, for example, without limitation, data processing system 200 in Figure 2.

Operator refueling station 302 may provide a location for operator 312 to control refueling boom unit 304. Operator refueling station 302 may send operator input 311 to refueling control system 308. In turn, refueling control system 308 may generate commands 314. Commands 314 may be sent to refueling boom unit 304 to control refueling boom 316. For example, without limitation, command 315 within commands 314 may move refueling boom 316.

Refueling boom unit 304 may include refueling boom 316, sensors 306, cable system 327, and actuator system 323. Refueling boom 316 may have fixed tube 317, telescoping tube 318, nozzle 320, and positioning system 322. In this illustrative example, positioning system 322 may be a number of force generators. A number of items, as used herein, refers to one or more items. For example, a number of force generators may be one or more force generators . In this particular example, positioning system 322 may take the form of force generator system 341. In these illustrative examples, force generator system 341 may take the form of ruddevators 329. Of course, in other advantageous embodiments, force generator system 341 may take the form of other force generators such as, for example, without limitation, control surfaces, other aerodynamic force generators, and/or some other suitable force generators. Ruddevators 329 may be arranged in a V shape on fixed tube 317 in these examples.

Actuator system 323 may move refueling boom 316 with respect to aircraft 301 on which refueling boom unit 304 is attached. In these examples, actuator system 323 may contain actuators 325. Refueling boom 316 may move to change position 319 of refueling boom 316 and boom length 330 under the control of actuator system 323. Position 319 of refueling boom 316 may include boom angle 343. Boom angle 343 may represent a combination of both elevation 326 and azimuth 328.

In these illustrative examples, elevation 326 may be a value within elevation axis 347. Elevation axis 347 may be a vertical axis that may be normal with respect to the plane of the aircraft. Azimuth 328 may be a value within azimuth axis 349. Azimuth axis 349 may be a horizontal axis that may be parallel with respect to the plane of the aircraft. Elevation 326 also may be referred to as pitch, while azimuth 328 also may be referred to as yaw. Pitch and yaw may be positions within elevation axis 347 and azimuth axis 349, respectively.

Actuators 325 may control ruddevators 329 in positioning system 322 to change boom angle 343 of refueling boom 316. Further, cable system 327 may be activated to change boom angle 343 of refueling boom 316. In these examples, cable system 327 may change boom angle 343 of fixed tube 317 with respect to elevation 326.

In these illustrative examples, boom length 330 may be the length of fixed tube 317 plus the length of telescoping tube 318. Latch 331 may be used to hold refueling boom 316 against aircraft 301. In these illustrative examples, sensors 306 may include latch enabled sensor 345, which may indicate when refueling boom 316 is against aircraft 301 and when latch 331 may be operated safely. Telescoping tube 318 may move with respect to fixed tube 317 to provide extension 332 for telescoping tube 318 in refueling boom 316. Extension 332 for telescoping tube 318 may be controlled by actuators 325 within actuator system 323 in these illustrative examples. Extension 332 of telescoping tube 318 may change. When extension 332 changes, boom length 330 of refueling boom 316 changes. Boom length 330 may change by changing extension 332 in a manner that may reduce boom length 330 or increase boom length 330. Boom length 330 may be identified using sensors 306. Sensors 306 may include, for example, without limitation, inertial measurement unit 335, position sensors 337, latch enabled sensor 345, and/or other suitable sensors. Inertial measurement unit 335 may identify accelerations and rates in elevation axis 347 and azimuth axis 349 for refueling boom 316. Position sensors 337 may be used to identify elevation 326 and azimuth 328 of refueling boom 316. Further, position sensors 337 also may be used to identify the length of extension 332 of refueling boom 316. Position sensors 337 may be implemented using position sensors in the form of, for example, without limitation, a potentiometer, or some other suitable position sensor. Further, sensors 306 may also include air data system 351, which may be used to measure dynamic pressure 353 for the aircraft. In these examples, computer 338 in refueling control system 308 may have processes 333 that execute on computer 338. Control laws unit 339 may have control laws, which may be examples of processes 333 that may execute on computer 338 within refueling control system 308 to control refueling boom unit 304. Refueling control system 308 may send information back to operator refueling station 302 for display on display 340 in operator refueling station 302. Operator refueling station 302 also may include control stick 342 to generate operator input 311. Operator input 311 may include command 344, which may be sent to refueling control system 308 for processing.

Command 344 may be a command from operator 312 indicating a desired position, such as, for example, without limitation, desired position 321, for refueling boom 316. Refueling control system 308 may process command 344 using control laws unit 339 to generate commands 314. Commands 314 may be a result of modifications and/or limits to command 344 generated at operator refueling station 302. Control laws unit 339 may control refueling boom unit 304 by using acceleration errors unit 346 and control mixer 348. Acceleration errors unit 346 may compute acceleration errors for refueling boom 316 in both elevation axis 347 and azimuth axis 349. Control mixer 348 may use the acceleration errors generated by acceleration errors unit 346 to generate actuator commands to control actuator system 323 to control the movement of ruddevators 329 for refueling boom 316 in both elevation axis 347 and azimuth axis 349. Control mixer 348 may be used to substantially continuously optimize the movement of refueling boom 316 in a manner such that the acceleration errors computed by acceleration errors unit 346 may reach at or around a value of zero. Optimized means that movement of refueling boom 316 may be at or as close as possible to a movement identified by command 344 for refueling boom 316. Further, computer 338 may control the movement of ruddevators 329 to move refueling boom 316 in both elevation axis 347 and azimuth axis 349 in a manner that not only minimizes acceleration error but also refueling boom position error and rate error.

The illustration of refueling environment 300 is not meant to imply physical or architectural limitations to the manner in which different refueling environments may be implemented. For example, other components in addition to or in place of the ones illustrated may be used. Also, in some advantageous embodiments, fewer components than those illustrated for refueling environment 300 may be used.

As one example, in some advantageous embodiments, operator refueling station 302 and refueling control system 308 may be integrated as a single component or system. In yet other advantageous embodiments, a number of additional refueling boom units may be deployed in addition to refueling boom unit 304.

With reference now to Figure 4, a diagram of one implementation for a refueling environment is depicted in accordance with an advantageous embodiment. In this example, refueling environment 400 is an example of one implementation for refueling environment 300 in Figure 3.

In this illustrative example, aircraft 402 is shown in an exposed view. Aircraft 402 may have fuselage 404, wing 406, wing 408, tail 410, engine 412, and engine 414. In this example, aircraft 402 may contain operator refueling station 416, auxiliary fuel tank 418, auxiliary fuel tank 420, and refueling boom 422. In the different advantageous embodiments, an operator at operator refueling station 416 may control refueling boom 422 to perform refueling operations.

Refueling control system 424 may generate appropriate commands to refueling boom 422 in response to operator commands generated by an operator at operator refueling station 416. The different operations that refueling control system 424 may command include, for example, without limitation, movement of refueling boom 422 about different axes, automatically retracting refueling boom 422, controlling the length of refueling boom 422, and/or automatically deploying and/or stowing refueling boom 422. Refueling control system 424 may command refueling boom 422 to move about elevation axis 426 and/or azimuth axis 427. Elevation axis 426 may be a vertical axis with respect to plane 425 of aircraft 402; azimuth axis 427 may be a horizontal axis with respect to plane 425 of aircraft 402.

With reference now to Figure 5, a more detailed illustration of a refueling boom is depicted in accordance with an advantageous embodiment. In this illustrative example, a more detailed view of refueling boom 422 is illustrated. Refueling boom 422 may include fixed tube 500, telescoping tube 502, nozzle 504, ruddevator 506, and ruddevator 508. Telescoping tube 502 may extend or retract along the direction of arrow 514. Refueling boom 522 also may move in an azimuth direction as indicated by arrow 516. The movement of refueling boom 422 in elevation and along the azimuth direction may be controlled using ruddevators 506 and 508. In these examples, ruddevators 506 and 508 may be examples of ruddevators 329 for positioning system 322 in Figure 3. Ruddevators 506 and 508 may be configured in V configuration 510 in these depicted examples. With reference now to Figure 6, an exposed view of a refueling boom unit is depicted in accordance with an advantageous embodiment. Refueling boom unit 600 may be one example of an implementation of refueling boom unit 304 in Figure 3. In this illustrative example, refueling boom unit 600 may include refueling boom 601, which may be one example of an implementation of refueling boom 316 in Figure 3. Refueling boom 601 may have force generators or control surfaces such as, for example, without limitation, ruddevator 602 and ruddevator 604. The movements of ruddevators 602 and 604 may be controlled by actuator system 606, which may include one or more actuators capable of moving and/or positioning ruddevators 602 and 604.

Further, refueling boom unit 600 may also include sensors such as, for example, without limitation, inertial measurement unit 608 and position sensors 610. Inertial measurement unit 608 may be one example of an implementation of inertial measurement unit 335 in Figure 3, and position sensors 610 may be one example of an implementation of position sensors 337. Inertial measurement unit 608 and position sensors 610 may provide acceleration and position information of refueling boom 601 with respect to elevation axis 612 and azimuth axis 614.

The illustration of refueling boom unit 600 in Figure 6 is not meant to imply physical and/or architectural limitations to the manner in which refueling boom units may be implemented.

For example, in other advantageous embodiments, refueling boom unit 600 may have more than two ruddevators or control surfaces. In still other advantageous embodiments, position sensors 610 and inertial measurement unit 608 may be combined as one component rather than as two separate components.

With reference now to Figure 7, a control data flow diagram of a refueling boom control environment is depicted in accordance with an advantageous embodiment. In these illustrative examples, refueling boom control environment 700 may represent one example of an implementation of refueling environment 300 in Figure 3.

Refueling boom control environment 700 may include control stick 702, control computer 704, actuator system 706, and refueling boom unit 708. Control stick 702 may be one example of control stick 342 in operator refueling station 302. Control computer 704 may be one example of an implementation of computer 338 and may have control process 705 executing on control computer 704. Further, control process 705 may be one example of a process within processes 333 in Figure 3. Actuator system 706 may be one example of an implementation of actuator system 323. Refueling boom unit 708 may be one example of an implementation of refueling boom unit 304.

In these illustrative examples, refueling boom unit 708 may include refueling boom 710, which may have force generator system 711. Force generator system 711 may include control surfaces 712. Control surfaces 712 may take the form of ruddevators 714, which may be controlled by actuator system 706. Refueling boom unit 708 may also include sensor system 716, attached to and/or mounted onto refueling boom 710. Sensor system 716 may include position sensors 718 and inertial measurement unit (IMU) 720.

Sensor system 716 may send acceleration and positional information to control computer 704. Specifically, in this example, position sensors 718 may send position information 722 to control computer 704, and position information 722 may include angular position 724. Angular position 724 may be one example of boom angle 343 in Figure 3, with elevation 326 and azimuth 328. Further, inertial measurement unit 720 may send acceleration information 726 to control computer 704, with acceleration information 726 including angular rate 728 and linear acceleration 730.

Position information 722 and acceleration information 726 may be sent to control computer 704 as inputs for acceleration errors unit 732 within control computer 704. Acceleration errors unit 732 may be an example of one implementation for acceleration errors unit 346 in Figure 3.

In these illustrative examples, control stick 702 may be a flight control stick that may be used by an operator to generate operator commands such as, for example, without limitation, operator command 734. Operator command 734 may be sent as input into acceleration errors unit 732 within control process 705. Acceleration errors unit 732 may use operator command 734, position information 722, and acceleration information 726 to generate acceleration errors 735 in both the elevation and azimuth axes. For example, acceleration errors 735 may be generated for elevation axis 347 and azimuth axis 349 in Figure 3. In these examples, an acceleration error may be the difference between the desired angular acceleration and the actual angular acceleration of refueling boom unit 708. Further, in these examples, elevation axis 347 may be represented by pitch, and azimuth axis 349 may be represented by yaw.

Acceleration errors unit 732 may generate the acceleration error in elevation axis 347 as pitch error 736 and the acceleration error in azimuth axis 349 as yaw error 738. Pitch error 736 and yaw error 738 may be sent as input to control mixer 740, which also may be within control process 705.

Control mixer 740 may be an example of one implementation of control mixer 348 in Figure 3.

Control mixer 740 may process pitch error 736 and yaw error 738 to generate actuator commands 742 to control actuator system 706. Actuator system 706 may be part of, attached to, and/or mounted onto refueling boom unit 708 to control ruddevators 714 to move refueling boom 710 as desired. The new acceleration and position of refueling boom 710 may be sensed by sensor system 716 and may be sent as position information 722 and acceleration information 726 to acceleration errors unit 732. In response to receiving this information, acceleration errors unit 732 may generate acceleration errors 735 for processing by control mixer 740, which in turn may generate new actuator commands 742. As a result, sensor system 716 may substantially continuously sense and send position and acceleration information to acceleration errors unit 732. In these examples, substantially continuously means that the information may be sent as soon as sensor system 716 may detect a position and/or acceleration without any intended delays in sending the information. Further, control mixer 740 may assign priorities 741 to acceleration errors 735 by weighting acceleration errors 735. Control mixer 740 may also impose rate limits 743 and position limits 745 on actuator commands 742 generated by control mixer 740 so that actuator commands 742 may not exceed rate performance capabilities 744 and range of motion capabilities 746 of force generator system 711.

In this manner, control mixer 740 may use pitch error 736 and yaw error 738 to control ruddevators 714 to reduce acceleration errors 735 and thus bring the difference between the desired angular acceleration and the actual angular acceleration close to around zero. The processes within control process 705 allow for actuator commands 742 to change substantially continuously as acceleration errors 735 change. In other words, actuator commands 742 may be substantially continuously generated to reduce and/or minimize acceleration errors 735 in both the elevation and azimuth axes.

With reference now to Figure 8, a diagram of a control mixer is depicted in accordance with an advantageous embodiment. In this illustrative example, control mixer 800 may be one example of an implementation for control mixer 740 in Figure 7.

Control mixer 800 may include weighting matrix 802, transposed control effectiveness matrix 804, gain matrix 806, limiting integrator 808, adder 810, adder 812, proportional gain 814, proportional gain 816, and limiter 818.

In these illustrative examples, acceleration errors 820, which may be the acceleration errors for the elevation and azimuth axes, may be sent into control mixer 800 for processing. Acceleration errors 820 may be an example of acceleration errors 735 in Figure 7. Pitch error 822 may be the acceleration error in the elevation axis and yaw error 824 may be the acceleration error in the azimuth direction. Pitch error 822 and yaw error 824 may be sent into weighting matrix 802 within control mixer 800. Weighting matrix 802 may be a 2 x 2 weighting matrix that may establish a priority for processing and reducing the error for one axis over the other axis. Weighting matrix 802 may be W(i,j), where i and j may represent the rows and columns in weighting matrix 802, respectively. In other words, W(I, 1) may represent the entry in the first row and first column of weighting matrix 802, W (1,2) may represent the entry in the first row and second column of weighting matrix 802, W (2,1) may represent the entry in the second row and first column of weighting matrix 802, and W (2, 2) may represent the entry in the second row and second column of weighting matrix 802.

In one example, weighting matrix 802 may establish a priority for pitch error 822 such that control mixer 800 may generate actuator commands to reduce and/or minimize pitch error 822 before or more quickly than yaw error 824. In another example, weighting matrix 802 may establish a priority for yaw error 824 such that control mixer 800 may generate actuator commands to reduce and/or minimize yaw error 824 before or more quickly than pitch error 822. In yet other examples, weighting matrix 802 may establish equal priority for both pitch error 822 and yaw error 824 such that both acceleration errors may be processed and reduced at the same time in the same manner. The priority as established by weighting matrix 802 may be determined by the designer of control mixer 800. In one advantageous embodiment, weighting matrix 802 may be a diagonal matrix with off axis elements W(i,j) taking values of zero and on axis elements W(i,j) taking positive values in the range [0,1000] inclusive. These positive values may be used to establish priority with higher values indicating higher priority. In these examples, matrix elements of i=l,2 with j = 1 may indicate pitch and matrix elements of i=l,2 with j = 2 may indicate yaw.

After priority is established, weighted pitch error 826 and weighted yaw error 828 may be sent from weighting matrix 802 to transposed control effectiveness matrix 804. Weighted pitch error 826 and weighted yaw error 828 may be computed as follows: E 1 = W(I, 1) *AE[1] + W (1,2) *AE [2] , and E 2 = W(2,1)*AE[1] + W (2, 2) *AE[2] , where Ei may represent weighted pitch error 826, E 2 may represent weighted yaw error 828, AE[I] may represent pitch error 822, and AE [2] may represent yaw error 824.

In these illustrative examples, transposed control effectiveness matrix 804 may be a 2 x 2 transposed control effectiveness matrix that may be a function of dynamic pressure 829, elevation position 830, and azimuth position 832. Elevation position 830 and azimuth position 832 may be components of current position 834 of the refueling boom. Current position 834 may be angular position 724 in Figure 7. Transposed control effectiveness matrix 804 may allow for acceleration errors 820 to be translated into equivalent ruddevator deflections. In other words, transposed control effectiveness matrix 804 may use weighted pitch error 826 and weighted yaw error 828 to determine the left and right ruddevator deflections required to reduce and/or minimize acceleration errors 820. Transposed control effectiveness matrix 804 may represent the physical behavior of the actuators and their influence on acceleration errors 820.

Transposed control effectiveness matrix 804 may be the transpose of a control effectiveness matrix that may determine the required left and right ruddevator deflections required to create acceleration errors 820. By taking the transpose of this matrix, transposed control effectiveness matrix 804 may allow for determining the required left and right ruddevator deflections to counter and/or negate acceleration errors 820.

Transposed control effectiveness matrix 804 may be B τ , where B may represent the control effectiveness matrix and where T may indicate a transpose. Transposed control effectiveness matrix 804 may represent the transpose matrix of the ruddevator control effectiveness matrix derived from wind tunnel testing, flight testing, or some other form of analysis.

More specifically, forces and moments for ruddevator control deflections may be measured through wind tunnel testing of model ruddevators . Processing the derivative of moments with respect to ruddevator control deflections may allow for determining the control effectiveness of the ruddevators being tested. In other words, transposed control effectiveness matrix 804 may allow for taking into account the variation in ruddevator control effectiveness over the flight envelope and the range of refueling boom motion.

Transposed control effectiveness matrix 804 may be constructed by taking the transpose of the control effectiveness matrix, which may be computed as follows:

1 ^iRD - J " άRD " 2 άRC ά d 1 β

3s 2.2 S = i DynPrεssvs 5 i D:&mεtsr i i Length i" \ - j^ € yb - -^ C y . - -—

where B may be the control effectiveness matrix, DynPressure may be a dynamic pressure, RC may represent collective ruddevator deflection, RD may represent differential ruddevator deflection, and Cp] 3 , Cp 1 , C yb , and Cy 1 may be the ruddevator aerodynamic coefficients. C pb may be pitch basic; C pi may be pitch interference; C yb may be yaw basic; and C yi may be yaw interference. These aerodynamic coefficients may be constructed as differentiable analytic functions from wind tunnel testing or analysis. In these examples, collective ruddevator deflection (RC) may refer to the deflection of both the left and right ruddevators together relative to the airstream. Collective ruddevator deflection may be computed as follows:

RC = 1 ^ * (α_left + α_right) , where α_left may be the angle of attack for the left ruddevator of refueling boom 316 and α_right may be the angle of attack for the right ruddevator of refueling boom 316. Differential ruddevator deflection (RD) may refer to moving the ruddevators differentially relative to the free airstream and may be computed as follows: RD = α_left - α_right where α_left may be the angle of attack estimate for the left ruddevator on refueling boom 316 and α right may be the angle of attack estimate for the right ruddevator on refueling boom 316. These ruddevator angle of attack estimates may be developed from wind tunnel testing of refueling boom 316 at various boom angles and deflections of ruddevators collective and differential. Diameter may represent a measured diameter of a refueling boom, such as, for example, refueling boom 316 in Figure 3. Length may represent a measured length of refueling boom 316. DynPressure may be, for example, without limitation, a dynamic pressure such as dynamic pressure 353 measured by an aircraft air data system such as air data system 351.

Left ruddevator deflection 834 and right ruddevator deflection 836 may be the outputs of transposed control effectiveness matrix 804. Left ruddevator deflection 834 and right ruddevator deflection 836 may represent the ruddevator deflections required to counter acceleration errors 820. These outputs may be computed by multiplying weighted pitch error 826 and weighted yaw error 828 by transposed control effectiveness matrix 804 as follows:

F 1 = B T (1,1)*E! + B T (1,2)*E 2 , and F 2 = B τ (2, l)*Ei + B T (2,2)*E 2 , where Fi may represent left ruddevator deflection 834, and F 2 may represent right ruddevator deflection 836. Multiplication of weighted pitch error 826 and weighted yaw error 828 by transposed control effectiveness matrix 804 may transform weighted pitch error 826 and weighted yaw error 828 to left ruddevator deflection 834 and right ruddevator deflection 836.

Left ruddevator deflection 834 and right ruddevator deflection 836 may be sent to gain matrix 806. Gain matrix 806 may be a 2 x 2 gain matrix, which may act as a design parameter for control law stability and performance. Gain matrix 806 may be used to determine the required rate of response of the ruddevators to reduce and/or minimize acceleration errors 820. By applying a gain for each of the left and right ruddevators, gain matrix 806 may be used to control the rate at which the left and right deflections occur. Gain matrix 806 may be a diagonal matrix K(i, j) . In one example, gain matrix 806 may take K(i,j) elements of zero with K(I, 1) and K(2,2) taking positive values in the range [0,10] inclusive. K(I, 1) may represent the gain that may be applied for the left ruddevator, while K (2, 2) may represent the gain that may be applied for the right ruddevator. The elements of gain matrix 806 may be selected by the designer of control mixer 800.

Gain matrix 806 may generate as outputs, left actuator rate command 838 and right actuator rate command 840, which may represent the actuator rate commands in both the elevation and azimuth axes, respectively. Left actuator rate command 838 and right actuator rate command 840 may be computed by multiplying left ruddevator deflection 834 and right ruddevator deflection 836 by gain matrix 806 as follows:

U d i = K(I, 1) *Fi + K(1,2)*F 2 , and U d2 = K(2,l)*Fi + K(2,2)*F 2 , where U d i may represent left actuator rate command 838, and U d 2 may represent right actuator rate command 840. In this manner, gain matrix 806 multiplied by left ruddevator deflection 834 and right ruddevator deflection 836 may result in the required ruddevator rate commands to reduce and/or minimize acceleration errors 820 to around zero.

Thereafter, left actuator rate command 838 and right actuator rate command 840 may be sent through both an integral and/or a proportional path to construct an actuator command for the ruddevators for the refueling boom. The integral path may provide for zero steady state acceleration error. The proportional path may allow for rapid response of the ruddevators to a sudden increase in acceleration errors 820. Both the integral and proportional paths may use rate limits with values derived from the rate performance capabilities of actuator system 858 controlling the ruddevators. In other words, these paths may impose limits to the performance rate capabilities of the ruddevators or rates at which the ruddevators may be capable of moving. The integral path may use limiting integrator 808. Left actuator rate command 838 and right actuator rate command 840 may be sent to limiting integrator 808 for integration by limiting integrator 808 to form actuator position commands such as, for example, left actuator position command 842 and right actuator position command 844. Further, limiting integrator 808 may impose a limit on the generated left actuator position command 842 and right actuator position command 844 such that left actuator position command 842 and right actuator position command 844 may not exceed the range of motion capabilities of actuator system 858.

The proportional path may use proportional gain 814 and proportional gain 816. Proportional gain 814 and proportional gain 816 may apply a gain that may be used to improve the speed of the actuator response to rapid control stick input.

Proportional gain 814 and proportional gain 816 may apply proportional gains to left actuator rate command 838 and right actuator rate command 840, respectively, to generate proportionally compensated left actuator rate command 846 and proportionally compensated right actuator rate command 848, respectively.

The integral and proportional paths may be rejoined and their outputs combined using adders 810 and 812 to generate a proportional plus integral compensation for the actuator commands. Left actuator position command 842 and right actuator position command 844 may be combined with proportionally compensated left actuator rate command 846 and proportionally compensated right actuator rate command 848 to generate left actuator command 850 and right actuator command 852, respectively. Left actuator command 850 and right actuator command 852 may be sent to limiter 818 to be limited in a manner such that the actuator commands may not exceed the range of motion capabilities for the ruddevators and actuator system 858. Limiter 818 may generate limited left actuator command 854 and limited right actuator command 856 for actuator system 858 to control the ruddevators for the refueling boom. Left actuator command 854 may be used to control the left ruddevator and right actuator command 856 may be used to control the right ruddevator. Thus, in this manner, control mixer 800 may provide a process for generating optimal ruddevator actuator commands based on proportional plus integral compensation and rate and position limiting. The actuator commands may be position limited so as not to conflict with the aircraft when the refueling boom is stowed or with potential mechanical stops when the refueling boom is deployed.

The partitioning of the gains between weighting matrix 802, transposed control effectiveness matrix 804, and gain matrix 806 may provide a convenient method for trading one axis' response against another to achieve harmony between the elevation and azimuth axes; for adapting control mixer 800 to different configurations; for incorporating flight test derived estimates for control effectiveness; and for tuning control mixer 800 for maximum performance, while considering the stability limitations for rate and position.

In these illustrative examples, the processes described for control mixer 800 may apply to two actuators, a left and a right ruddevator. However, in other advantageous embodiments, any number of actuators may be controlled and positioned using control mixer 800.

With reference now to Figure 9, a flowchart of a process for positioning a refueling boom is depicted in accordance with an advantageous embodiment. This process may be implemented for a refueling boom such as, for example, without limitation, refueling boom 316 in refueling environment 300 in Figure 3 using a control process such as, for example, without limitation, control process 705 in Figure 7. The process may begin by identifying command 344 for desired position 321 for refueling boom 316 (operation 900) . This command may be operator command 734 generated by operator 312 of aircraft 301 using control stick 342. The process may then sense position 319 of refueling boom 316 to form current position 834 in Figure 8 (operation 902) . Current position 834 may be angular position 724 with elevation 326 and azimuth 328. Acceleration errors 735 for a plurality of axes 313 may be identified for refueling boom 316 to form identified acceleration errors 735 (operation 904) . These acceleration errors 735 may include, for example, without limitation, pitch error 736 and yaw error 738 to represent acceleration errors 735 in elevation axis 347 and azimuth axis 349, respectively. The process may then substantially continuously generate commands 314 to force generator system 341 for refueling boom 316 to move refueling boom 316 from current position 834 to desired position 321 in a manner that reduces acceleration errors 735 for the plurality of axes 313 (operation 906) . Command 314 may be actuator commands 742 and may be substantially continuously generated to move refueling boom 316 to reduce pitch error 736 and yaw error 738. The process may then terminate.

With reference now to Figure 10, a flowchart of a process for positioning a refueling boom for an aircraft is depicted in accordance with an advantageous embodiment. This process may be implemented for refueling boom 316 in refueling environment 300 in Figure 3 using a control process such as, for example, without limitation, control process 705 in Figure 7.

The process may begin by receiving command 344 from control stick 342 in aircraft 301 (operation 1000) . Command 344 may be operator command 734 generated by operator 312 of aircraft 301 using control stick 342. The process may then identify command 344 for desired position 321 for refueling boom 316 (operation 1002) . The process may then sense position 319 of refueling boom 316 from a number of position sensors 337 to form current position 834 in Figure 8 (operation 1004) . Current position 834 may be angular position 724 as sensed by position sensors 337 in refueling boom unit 304.

Acceleration errors 735 for elevation axis 347 and azimuth axis 349 for refueling boom 316 may be identified from command 344, position information 722 of refueling boom 316, and acceleration information 726 for refueling boom 316 to form identified acceleration errors 735 (operation 1006) . Identified acceleration errors 735 may be generated by acceleration errors unit 732 using acceleration information 726, position information 722, and operator command 734. The process may then assign priorities 741 to acceleration errors 735 for elevation axis 347 and azimuth axis 349 by weighting acceleration errors 735 (operation 1008) . The acceleration error in elevation axis 347 may be pitch error 736 and the acceleration error in azimuth axis 349 may be yaw error 738. One of pitch error 736 and yaw error 738 may be assigned a highest priority within priorities 341. The process may then substantially continuously generate commands 314 to a first ruddevator and a second ruddevator of ruddevators 329 for refueling boom 316 to move refueling boom 316 from current position 834 to desired position 321 in a manner that may reduce identified acceleration errors 735 for elevation axis 347 and azimuth axis 349 (operation 1010) . Commands 314 may be actuator commands 742 generated by control mixer 348 to control actuator system 323 to control ruddevators 329. Actuator commands 742 may compensate for changes in at least one of angular position 724, aircraft speed 303, and aircraft altitude 305. The process may then terminate.

The flowcharts and block diagrams in the different depicted embodiments illustrate the architecture, functionality, and operation of some possible implementations of apparatus, methods and computer program products. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of computer usable or readable program code, which comprises one or more executable instructions for implementing the specified function or functions. 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.

The different advantageous 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 or remote printers or storage devices through intervening private or public networks. Non-limiting examples are modems and network adapters are just a few of the currently available types of communications adapters.

The description of the different advantageous 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 advantageous embodiments may provide different advantages as compared to other advantageous 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.