Methods and apparatus for providing servo torque control with load compensation for pilot in the loop

A method for operating a mechanical flight control system is provided. The method provides a torque command to a servo torque control loop, wherein the servo torque control loop comprises at least one position control servo; receives at least one feedback signal from the position control servo, during operation of the position control servo; detects user external load disturbance input to the servo torque control loop, based on the at least one feedback signal; and adjusts operation of the position control servo, based on the detected user external load disturbance input.

TECHNICAL FIELD

Embodiments of the subject matter described herein relate generally to the utilization of torque controlled servos with user input, provided by a flight crew member, in the actuation loop during aircraft flight envelope protection operation. More particularly, embodiments of the subject matter relate to providing load compensation to the servo controller when a flight crew member is aiding the torque controlled servo through a position controlled command.

BACKGROUND

An aircraft is generally associated with a flight envelope that describes its safe performance limits. Flight envelope protection (FEP) design can deter or prevent the pilot from making control inputs that would put the aircraft outside of these predefined, safe performance limits. In fly-by-wire controlled aircraft, various forms of envelope protection have been implemented in both military and commercial aircraft. The FEP systems in fly-by-wire controlled aircraft are unsuited for mechanically controlled aircraft because the mechanical link between the control yoke and control surfaces of the aircraft does not allow for independent movement of the yoke or surface. In a mechanical flight control system, it is desirable to provide the pilot with a resistance force that can be felt via the pilot's hand on one or more control mechanisms, using a torque controlled servo when the pilot is manually flying the aircraft outside the flight envelope. This torque controlled servo should provide little or no resistance force that may be felt by the pilot when the pilot is intentionally performing the recovery maneuver and bringing the aircraft back inside the flight envelope.

One example of a servo is a flight control actuation servo, such as that used by a typical autopilot system on an aircraft. Flight control actuation servos used by most autopilots are typically designed with very high mechanical advantage in order to supply sufficient torque on the control surfaces while using the smallest and lightest direct current (DC) motor possible within the servo. In these designs, when the autopilot is engaged, the autopilot servo alone will drive the control surfaces, and is not back-drivable by the pilot. In order to contribute to manipulation of the flight control surfaces, the pilot must either disengage the autopilot or forcibly overpower it. In older actuation servos, overpowering the servo caused a slip-clutch to slip or a shear pin to break. In newer actuation servos, overpowering the servo results in electronic clutch disengagement when the sensed motor current monitored by a current loop within the servo exceeds a predefined threshold. Under normal flight operations, the aircraft flight control actuation servo, after engaged, is operated exclusively by the autopilot, with no commanding force being provided by the pilot through the mechanical linkage. Here, the pilot is “not in the loop,” and the pilot is not operating the aircraft flight control system. A flight control actuation servo is generally a position controlled device with aircraft control surface displacement (position) being the feedback signal or equivalently servo pushrod travel displacement as feedback. Thus, the position loop control is the basic operating mode for most of the flight control actuation servos when operating on the aircraft primary control surfaces, e.g., aileron, elevator, and rudder. In this design, the sensed motor current is utilized to produce an additional torque controlled operating mode for the servo.

For purposes of this application, the actuation servo is used as the torque controlled device while the pilot is providing control torque to the aircraft control surfaces, thus the “pilot in the loop” condition. In this case, the surface control is not an either/or proposition, (either the pilot or autopilot, but not both) but rather, both the servo's applied torques and the pilot's manually applied torque contribute to the deflection of the flight control surfaces. There are two potential interactions between the pilot and an actuation servo under this pilot in the loop condition: (1) the pilot's torque resists the servo torque; or (2) the pilot's torque aids the servo torque. Furthermore, when the pilot's torque aids the servo torque under condition (2) and when the actuation servo's motion starts lagging behind the pilot induced surface motion, the servo generates a significant resistance torque induced by a back electromotive force (EMF). It is known that the motor torque produced by back EMF is in the opposite direction with the turning direction of the servo and that the magnitude of back EMF increases with rotational speed. This back EMF force feels like a “kick back” on a control mechanism in the pilot's hands, creating difficulty for a pilot to perform a recovery maneuver.

Accordingly, it is desirable to provide a system for compensating this pilot aiding load and mitigating this back EMF force, which may be felt by the pilot's hands, when the pilot is intentionally performing a recovery maneuver to bring the aircraft within the constraints of the flight envelope. Furthermore, other desirable features and characteristics will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.

BRIEF SUMMARY OF EMBODIMENTS

Some embodiments provide a method for operating a mechanical flight control system. The method provides a torque command to a servo torque control loop, wherein the servo torque control loop comprises at least one position control servo; receives at least one feedback signal from the position control servo, during operation of the position control servo; detects user external load disturbance input to the servo torque control loop, based on the at least one feedback signal; and adjusts operation of the position control servo, based on the detected user external load disturbance input.

Some embodiments provide a system for operating a servo torque control loop of an aircraft. The system includes a flight envelope protection (FEP) module, configured to provide a set of FEP limits for the operation of the aircraft, wherein the servo torque control loop comprises at least one position control servo; a feedback analysis module, configured to receive and analyze a feedback signal from the position control servo during operation of the position control servo; and a servo control module, configured to operate the position control servo in the aircraft within the set of FEP limits provided by the FEP module, and to adjust operation of the position control servo based on analysis of the feedback analysis module.

Some embodiments provide a non-transitory, computer-readable medium containing instructions thereon, which, when executed by a processor, perform a method. The method analyzes a feedback signal from a position control servo of a servo torque control loop of an aircraft to determine whether a user has provided external load disturbance input to the servo torque control loop, wherein the feedback signal is analyzed during operation of the position control servo; and adjusts operation of the position control servo, based on user external load disturbance input indicated by the feedback signal.

DETAILED DESCRIPTION

The subject matter presented herein relates to apparatus and methods for providing servo torque control with load compensation for a flight crew member in the loop. More specifically, the subject matter relates to a torque controlled servo with load compensation utilized in flight envelope protection. In certain embodiments, the servo of a mechanical flight control system, during operation, provides current and position feedback signals that are analyzed to determine whether a flight crew member has provided torque input which has induced excessive (derived) acceleration and/or undesired back electromotive force (EMF). Commands of the servo are then adjusted to provide load compensation accordingly.

Turning now to the figures,FIG. 1is a schematic block diagram representation of a load compensation system100for an aircraft, according to some embodiments. The load compensation system100may be implemented using any desired platform, and will generally be implemented in conjunction with an aircraft having a mechanical flight control system108operating in conjunction with one or more torque controlled servos110. For example, the load compensation system100could be realized as any of the following, without limitation: a specialized piece of equipment, an embedded processor-based device or system, or any other device that includes a processor architecture102and system memory104.

The load compensation system100may include, without limitation: a processor architecture102; system memory104; a flight crew interface106; a mechanical flight control system108; one or more torque controlled, electromechanical servos110; a flight envelope protection (FEP) module112; a torque control module114; a feedback analysis module116; and a servo command augmentation module118. In practice, various embodiments of the load compensation system100may include additional or alternative elements and components, as desired for the particular application. These elements and features of the load compensation system100may be operatively associated with one another, coupled to one another, or otherwise configured to cooperate with one another as needed to support the desired functionality—in particular, providing features specific to load compensation for a mechanical flight control system, as described herein. For ease of illustration and clarity, the various physical, electrical, and logical couplings and interconnections for these elements and features are not depicted inFIG. 1. Moreover, it should be appreciated that embodiments of the load compensation system100will include other elements, modules, and features that cooperate to support the desired functionality. For simplicity,FIG. 1only depicts certain elements that relate to the load compensation features described in more detail below.

The processor architecture102may be implemented using any suitable processing system, such as one or more processors (e.g., multiple chips or multiple cores on a single chip), controllers, microprocessors, microcontrollers, processing cores and/or other computing resources spread across any number of distributed or integrated systems, including any number of “cloud-based” or other virtual systems. Alternatively, the processor architecture102is not implemented using a microcontroller or processor; in this case, the load compensation system100utilizes microcontroller and/or processor components relevant to a particular application.

The processor architecture102is configured to communicate with system memory104. The system memory104represents any non-transitory short or long term storage or other computer-readable media capable of storing programming instructions for execution on the processor architecture102, including any sort of random access memory (RAM), read only memory (ROM), flash memory, magnetic or optical mass storage, and/or the like. It should be noted that the system memory104represents one suitable implementation of such computer-readable media, and alternatively or additionally, the processor architecture102could receive and cooperate with external computer-readable media realized as a portable or mobile component or application platform, e.g., a portable hard drive, a USB flash drive, an optical disc, or the like.

The flight crew interface106is configured to receive input from one or more flight crew members, and to convey the received user input to a mechanical flight control system108. The flight crew interface106is generally implemented as a control wheel or column in the cockpit of the aircraft. In certain embodiments, the flight crew interface106may further include left and/or right control pedals. A flight crew member may use the cockpit control wheel or column of the mechanical flight control system108, to push forward, pull backward, or rotate left or right. In addition, a flight crew member may exert pressure to push down one or more control pedals. In certain embodiments, received user input may result in an external load disturbance, requiring additional functionality of the load compensation system100, described in more detail below.

Generally, a load compensation system100includes a mechanical flight control system108with flight envelope protection (FEP) functionality provided by means of one or more torque controlled servos110. A mechanical flight control system108may be defined as a flight control system that is mechanically linked, including but not limited to, coupled cables and pulleys between a flight crew interface106in an aircraft and apparatus located next to the control surfaces of an aircraft (e.g., aileron, elevator, rudder, etc.), which utilize deflections to produce aircraft motion. A mechanical flight control system108does not include physical parts or functionality associated with a “fly-by-wire” system or a hydromechanics system. One potential embodiment of a mechanical flight control system108, including an FEP servo and flight crew member input “in the loop,” is depicted inFIG. 2.

FIG. 2is a schematic diagram representation of a mechanical flight control system200(see reference108inFIG. 1), according to some embodiments. As described above with regard toFIG. 1, a torque-controlled servo204is mechanically coupled to the hands of a flight crew member via one or more cockpit control mechanisms202(e.g., control wheels and/or columns) through a mechanical linkage of pulleys208and cables210in an aircraft mechanical flight control actuation loop. As shown, the mechanical flight control system200is a force-reversible flight actuation system which has the following potential input elements: (i) force212exerted by a flight crew member on the one or more cockpit control mechanisms202(e.g., control wheels and/or columns), (ii) servo204torque214, and/or (iii) aerodynamic hinge moment216exertion on the control surface. During any flight period, (i) and/or (ii) may exert control torque summed on the mechanical flight control system200control linkage and/or the aircraft surface during a continuously present (iii) aerodynamic hinge moment.

The aerodynamic hinge moment216is the rotational torque about the pivot point206shown inFIG. 2. The aerodynamic hinge moment216is always present during the flight period and is considered the resistant load in the flight control system. When compared to the flight crew's input torque212and the resultant induced back EMF force from the servo, the aerodynamic hinge moment216(in its capacity as a resistant load) is a more smooth and consistent load exerted on the control surface and felt in the hands of the flight crew. Thus, this consistent aerodynamic hinge moment216is not the focus of the load compensation techniques described in more detail with regard toFIGS. 1 and 3-7.

Here, the mechanical flight control system200is configured to receive input from a flight crew member “in the loop” via the one or more cockpit control mechanisms202in the cockpit. These input commands are not forecasted, and are categorized into two potential interactions between the flight crew member and the actuation servo204under this “pilot in the loop” condition: either (1) the input torque212resists the servo torque214; or (2) the input torque212aids the servo torque214. When the input torque212resists the servo torque214, there is no induced back electromotive force (EMF). This resistant input torque212is consistent for intended FEP function and, in this case, load compensation is not required. However, when the input torque212aids the servo torque214under condition (2) and when the motion of the actuation servo204starts lagging behind the pilot induced surface motion, the servo204generates a significant resistance torque214induced by back EMF. It is known that the motor torque produced by back EMF is in the opposite direction with the turning direction of the servo204, and that the magnitude of back EMF increases with rotational speed. This back EMF force feels like a “kick back” on a control mechanism202in the hands of a flight crew member, creating difficulty for the flight crew member to perform a recovery maneuver.

Returning toFIG. 1, the mechanical flight control system108is configured to operate in conjunction with one or more torque controlled servos110. In certain embodiments, the torque controlled servos110may be implemented using electromechanical servos, each consisting of a brushless Permanent Magnet Direct Current (PMDC) motor. When the flight envelope protection module112is invoked, the mechanical flight control system108is engaged with at least one torque controlled servo110. Each torque controlled servo110is mechanically coupled to the hands of a flight crew member, via the flight crew interface106, in an aircraft mechanical flight control actuation loop.

The flight envelope protection (FEP) module112is suitably configured to provide a set of constraints to the aircraft dynamic parameters, in order to prevent flight of the aircraft outside of these constraints and to mitigate the risk of the loss of control of the aircraft. More specifically, the FEP module112determines the resistant torque to provide to a flight crew member (e.g., to apply to pilot's hand via the flight crew interface106) based on the excursion level of the flight envelope, when a flight crew member is manually flying the aircraft outside of the flight envelope. In addition, the FEP module112commands little or no resistance torque from the servo110when a flight crew member is performing a recovery maneuver and brings the aircraft back inside the flight envelope parameters. Thus, the FEP module112modulates servo110torque so that the applied torque from a servo110augments the manually applied torque from a flight crew member, to safely and effectively contribute to the deflection of the flight control surfaces.

The FEP module112generates a servo torque command for the torque control module114based on a flight status of the aircraft, including without limitation: roll attitude, pitch attitude, angle of attack, speed, and/or aircraft load. Since in general the PMDC motor torque is proportional to the root mean square values of the current, the control of the servo torque is equivalent to the control of the current. Thus, this servo torque command to the control loop is further derived into the servo current command to the torque control module114(described in more detail inFIG. 5). As an example to illustrate this FEP practice for roll attitude envelope protection, the direction of the servo resistance torque is determined by the direction of the desirable aerodynamic restoring rolling moment to bring the aircraft back into the roll attitude envelope. This rolling moment induces a reduction of the attitude magnitude. The magnitude of servo resistance torque is determined by the difference of the measured aircraft roll attitude compared to the specified roll attitude envelope point. As is well-known to a person of ordinary skill in the art, the aircraft restoring rolling moment is a direct outcome of the operations of ailerons (i.e., the aileron deflection direction and magnitude and duration of the deflection time).

The torque control module114is configured to provide instructions to, and control the operation of, the one or more electromechanical servos110. Since the current is directly related to the torque produced by the one or more electromechanical servos110, the current control loop provides the torque required, based on the FEP module112. The torque control module114, the servo command augmentation module118, or a combination of both, starts from the current command and consists of the outer current control loop and inner position control loop (described in further detail with regard toFIG. 5).

The feedback analysis module116is suitably configured to receive and analyze one or more feedback signals from a servo110of the mechanical flight control system108. The feedback analysis signals may include, without limitation: servo position and/or signals derived from the servo position, current measurement and/or signals derived from the current measurement. In some embodiments, these signals may be equivalently sensed as the load or force measurements using strain gauges. Analysis of the feedback signals may detect user input (in the form of an external load disturbance), or a lack thereof, to the servo110of the mechanical flight control system108, and the feedback analysis module116is further configured to communicate this information to the torque control module114and/or servo command augmentation module118for further use. Additionally, the feedback analysis module116may identify and evaluate the intended and actual performance of the servo110, including without limitation: actual acceleration being performed by the servo110, programmed acceleration values for use by the servo command augmentation module118, or the like.

The servo command augmentation module118is configured to supplement servo commands generated by the torque control module114, based on data obtained by the feedback analysis module116. In certain embodiments, the servo command augmentation module118provides command signal augmentation based on a position measurement signal from a servo110. In some embodiments, the servo command augmentation module118provides signal augmentation based on a current measurement signal from a servo110. Exemplary embodiments of the operation of the servo command augmentation module118are presented with regard toFIGS. 5 and 6.

In practice, the FEP module112, the torque control module114, the feedback analysis module116, and/or the servo command augmentation module118may be implemented with (or cooperate with) the processor architecture102to perform at least some of the functions and operations described in more detail herein. In this regard, the FEP module112, the torque control module114, the feedback analysis module116, and/or the servo command augmentation module118, may be realized as suitably written processing logic, application program code, or the like.

FIG. 3is a flow chart that illustrates an embodiment of a process300for operating a load compensation system. In certain embodiments, a load compensation system is used in a mechanical flight control system, which includes one or more torque controlled servos, and provides load compensation functionality to the position control servos when required. First, the process300provides a torque command to a servo torque control loop, wherein the servo torque control loop comprises at least one position control servo (step302).

Next, the process300receives and analyzes at least one feedback signal from the position control servo (step304). In certain embodiments, a servo feedback signal may comprise servo measurement signals, including position and its derived velocity, acceleration, and servo current signals. The process300then detects user external load disturbance input to the servo torque control loop based on the at least one feedback signal (step306). One suitable methodology for detecting user external load disturbance input to the servo torque control loop is described below with reference toFIG. 4. Generally, one or more feedback signals provide performance data of the servo used for monitoring to ensure the servo is performing within its design limits or as it was commanded. When an external load disturbance is present, the feedback signals might temporarily increase or decrease in magnitude (or some other characteristic), indicating a deviation from the commanded operation and/or performance of the servo.

After detecting user external load disturbance input to the servo torque control loop (step306), the process300adjusts operation of the position control servo, based on the detected user external load disturbance input (step308). Generally, this adjustment in operation of the position control servo comprises servo position command augmentation and servo current command augmentation to provide load compensation. When the process300detects that a flight crew member (i.e., a user) has provided input to the mechanical flight control system (step306), the servo operation commands, including the servo torque command and servo position command, are altered or augmented to provide load compensation. When it is determined that there is no user external load disturbance, the torque commands from (step302) are not altered. One particular embodiment of the torque command is illustrated inFIGS. 5 and 6(see reference502).

FIG. 4is a flow chart that illustrates an embodiment of a process400for detecting user input to a mechanical flight control system. It should be appreciated that the process400described inFIG. 4represents one embodiment of step306described above in the discussion ofFIG. 3, including additional detail. First, the process400identifies a programmed acceleration (step402) and a programmed velocity (step412) for a position control servo. The programmed acceleration and velocity values are values that have been predefined and stored within the system; these are the maximum expected acceleration and velocity values at which the position control servo should operate, under normal conditions, in the absence of any load disturbance from flight crew member input (wherein the position control servo is controlled by the aircraft, until the programmed acceleration and/or programmed velocity is changed/altered by the developer).

Next, the process400determines an actual acceleration (step404) and an actual velocity for the position control servo (step414). The actual acceleration and actual velocity are measured values at which the position control servo is operating, regardless of the programmed acceleration and programmed velocity.

The process400then calculates an acceleration difference between the programmed acceleration value and the actual acceleration value (step406), and a velocity difference between the programmed velocity value and the actual velocity value (step416). The process400then compares the calculated acceleration difference to a predetermined acceleration threshold value (step408), and compares the calculated velocity difference to a predetermined velocity threshold value (step418). If the calculated acceleration difference is not greater than the predetermined threshold, (the “No” branch of410), the process400determines that a user has not provided external load disturbance input to the servo torque control loop. Here, the process400returns to the beginning of the process400to continually seek actual acceleration values that indicate received user external load disturbance input, when compared to a programmed acceleration value.

If the calculated acceleration difference is greater than the predetermined acceleration threshold (the “Yes” branch of410), then the process400determines whether the velocity difference is greater than the predetermined velocity threshold (step420). If the velocity difference is not greater than the predetermined velocity threshold (the “No” branch of420), then the process400determines that a user has not provided external load disturbance input to the servo torque control loop, and the process400returns to the beginning of the process400. However, if the velocity difference is greater than the predetermined velocity threshold (the “Yes” branch of420), then the process400determines that a user has provided user input, in the form of an external load disturbance, to the servo torque control loop (step422).

The various tasks performed in connection with processes300and400(described with regard toFIGS. 3 and 4) may be performed by software, hardware, firmware, or any combination thereof. For illustrative purposes, the preceding descriptions of processes300and400may refer to elements mentioned in connection withFIGS. 1 and 2. In practice, portions of processes300and400may be performed by different elements of the described system. It should be appreciated that processes300and400may include any number of additional or alternative tasks, the tasks shown inFIGS. 3 and 4need not be performed in the illustrated order, and processes300and400may each be incorporated, individually or in combination, into a more comprehensive procedure or process having additional functionality not described in detail herein. Moreover, one or more of the tasks shown inFIGS. 3 and/or 4could be omitted from an embodiment of one or more of the processes300or400as long as the intended overall functionality remains intact.

FIG. 5is an embodiment of a process500for operating a torque controller servo with the current command in a mechanical flight control system, in which flight crew member input is “in the loop”. In certain embodiments, the mechanical flight control system includes one or more torque controlled servos with a position control inner loop, and process500provides load compensation functionality to the servos when required.

At the top level of the process500, the outer current control loop applies a current command502and utilizes the current feedback504with a Proportional-Integral (PI) controller to generate a position control command506. The position control command506is further processed, as illustrated inFIG. 6, to generate a position command508to the servo position control loop which moves the servo and loaded control surface.

First, the process500receives the current command502, and then detects user external load disturbance input to the servo torque control loop through analysis of feedback signals provided by torque controlled servos. One suitable methodology for detecting user external load disturbance input to the servo torque control loop is described as follows: the feedback signal usually includes servo position510, motor current504, and/or servo acceleration514, which can be generated based on the second derivative of measured position with respect to time. However, when a flight crew member provides input (in the form of an external load disturbance) to the servo torque control loop of the mechanical flight control system, the feedback signal is augmented to include the augmented current value based on measured or derived servo acceleration514. After detecting user external load disturbance input to the servo torque control loop (step516), the process500adjusts operation of the commanded current with additional current command518as a load compensation to increase the current command value originally generated.

The process500next receives a current feedback signal504from the servo during operation of the position control servo, wherein the current feedback signal504comprises servo motor current. During normal operation of the position controlled servo, the current feedback signal is compared with the command current and passed through Proportional-Integral (PI) compensation. This compensation provides the position control command506, which can be used for process600(as illustrated inFIG. 6).

FIG. 6is a schematic diagram that illustrates an embodiment of a process600for detecting the need for load compensation to the position control command. It should be appreciated that the process600described inFIG. 6represents one embodiment of steps506and508described above with regard toFIG. 5, including additional detail. At position602, the process600identifies a programmed acceleration value and an actual acceleration value for a position controlled servo. This programmed acceleration value is an acceleration value that has been predefined and stored within the system; this is the acceleration value below which the position controlled servo should operate, under normal conditions. When the need for load compensation is determined, the position control command derived from the commanded current (e.g., as described above with regard to the current control loop ofFIG. 5), is compensated to create a position command and this position command is fed into the servo position command path. With the feedback of the servo derived acceleration514, the load compensation is further determined as described in more detail below.

The process600calculates a difference between the programmed acceleration value and the actual acceleration value514, and compares the calculated difference to a predetermined acceleration threshold value. If the calculated difference is not greater than the predetermined acceleration threshold, the process600determines that the load compensation is not needed for the mechanical flight control system. At the same time, the process600also calculates a difference between a programmed velocity value and a detected, actual velocity value512, and compares the calculated difference to a predetermined velocity threshold value (block604). If the calculated difference is not greater than the predetermined velocity threshold, the process600determines that the load compensation is not needed.

When it has been determined that no load compensation is required, the switch608is off and adds no compensation to the signal614. With the “AND” logic gate606, when both acceleration threshold602and velocity threshold604are exceeded, the process600determines that switch608is on and adds the load compensation signal610to signal614. The load compensation value610is calculated based on the measured acceleration514and velocity512. The added load compensation610to the signal614is passed through a low pass filter616to provide the servo position command508, which is the position command applied to the servo and load in process700(as illustrated inFIG. 7).

InFIG. 6, the position feedback signal510is subtracted from the calculated servo position command signal508, and the difference is further modified with a predetermined position threshold (block620). When the difference is greater than or equal to the threshold, a larger position command bias signal622is generated and added to the position control command506. When the difference is smaller than the threshold, a smaller position command bias signal622is generated and added to the position control command506. Therefore, as described previously, the position command506is modified with load compensation610and position command bias622, depending on the given threshold detection and switch logics. The load compensation functionality described with respect toFIGS. 5 and 6results in a servo position command that is substantially different than the position control command506that would be generated in its absence. The compensated servo position command enables the servo to accelerate faster thereby preventing the back EMF and subsequent resistive force that would interfere with manual operations performed by flight crew members.

FIG. 7is a schematic diagram that illustrates an embodiment of a process700for general control and response of a servo and load mechanism. The position command508(see process500inFIG. 5) is used by the Position Control Loop702to generate the servo voltage signal704which is applied to the electromechanical servo consisting of a brushless permanent magnet direct current (PMDC) motor. This Position Control Loop702can be any standard servo position control design with the position feedback signal712. The voltage signal704will generate the torque to move the servo with its load706. The resulted response of the servo and load is the position response signal708. A resolver or encoder710can be applied to measure the position708to generate the feedback signal712.

Some of the functional units described in this specification have been referred to as “modules” in order to more particularly emphasize their implementation independence. For example, functionality referred to herein as a module may be implemented wholly, or partially, as a hardware circuit comprising custom VLSI circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices, or the like.

Modules may also be implemented in software for execution by various types of processors. An identified module of executable code may, for instance, comprise one or more physical or logical modules of computer instructions that may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified module need not be physically located together, but may comprise disparate instructions stored in different locations that, when joined logically together, comprise the module and achieve the stated purpose for the module.