The present disclosure relates to an actuator controller and more particularly, to a controller that provides variable bandwidth to an actuation system
Electric driven motors are used in a wide variety of applications including both commercial and military applications. A motor is used to drive a movable mechanism, also referred to as a load, by applying a transmission force, which can be linear force or a torque. The motor receives energy from an electric voltage source such as a battery or generator, and provides a transmission force (linear or torque), to move the mechanism. The motor receives position commands from an external system controller and reports back estimates of updated mechanism position and angular rate as the mechanism is moved. The mechanism itself may be subject to external loading forces or torques, which may be constant, or vary linearly or nonlinearly with deflection of the mechanism or with external factors such as situational or environmental conditions. External loading forces, including friction and inductive resistance, or back electromotive force (EMF), associated with movement of the mechanism in turn cause a reaction torque which counteracts the motor's transmission force.
In a proportional-integral-derivative (PID) feedback control design, the motor's control system is unaware of the reaction torque. Gains applied by the motor's control system for actuating the mechanism are designed to be high enough to overcome a worst-case reaction torque while maintaining minimum performance standards. Bandwidth, which is defined as the frequency at which the gain of the closed loop input-output response is relative to, e.g., 3 dB down from, the steady state value and is related to the reciprocal of response time, is maintained high at a fixed value that can meet response requirements for a worst-case reaction torque. Such a high fixed-bandwidth system may be overly responsive and inefficient with respect to power consumption.
While conventional methods and systems have generally been considered satisfactory for their intended purpose.
The purpose and advantages of the below described illustrated embodiments will be set forth in and apparent from the description that follows. Additional advantages of the illustrated embodiments will be realized and attained by the devices, systems and methods particularly pointed out in the written description and claims hereof, as well as from the appended drawings.
To achieve these and other advantages and in accordance with the purpose of the illustrated embodiments, in one aspect, a method is provided for controlling a motor for moving a load. The method includes receiving a selected bandwidth, wherein bandwidth is related to the reciprocal of response time, receiving a command to move the load to a selected position, receiving a feedback of measured motor position, estimating reaction torque or force associated with moving the load in real time, and estimating rotational motor speed and motor position. The method further includes calculating gains for controlling position of the load as a function of the selected bandwidth, wherein in the gain represents an adjustment of at least one of the estimated motor position, motor rotational speed, and reaction torque. The method further includes determining a drive signal to apply to the motor as a function of the estimated reaction torque, the estimated rotational motor speed, the estimated motor position, the gains and the selected position and transmitting the drive signal to the motor to move the load.
In another aspect, a controller for a motor configured to move a load is provided. The controller includes a processing device configured to receive a selected bandwidth, wherein bandwidth is related to the reciprocal of response time, receiving a command to move the load to a selected position, receive a feedback of measured motor position, estimate reaction torque or force associated with moving the load in real time, and estimate rotational motor speed and motor position. The processing device is further configured to calculate gains for controlling position of the load as a function of the selected bandwidth, wherein in the gains represents an adjustment of at least one of the estimated motor position, motor rotational speed, and reaction torque. The processing device is further configured to determine a drive signal to apply to the motor as a function of the estimated reaction torque, the estimated rotational motor speed, the estimated motor position, the gain and the selected position and transmit the drive signal to the motor to move the load.
So that those skilled in the art to which the subject disclosure appertains will readily understand how to make and use the devices and methods of the subject disclosure without undue experimentation, embodiments thereof will be described in detail herein below with reference to certain figures, wherein:
The illustrated embodiments are now described more fully with reference to the accompanying drawings wherein like reference numerals identify similar structural/functional features. The illustrated embodiments are not limited in any way to what is illustrated, as the illustrated embodiments described below are merely exemplary, which can be embodied in various forms, as appreciated by one skilled in the art. Therefore, it is to be understood that any structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representation for teaching one skilled in the art to variously employ the discussed embodiments. Furthermore, the terms and phrases used herein are not intended to be limiting but rather to provide an understandable description of the illustrated embodiments.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this present disclosure belongs. Although any methods and materials similar or equivalent to those described herein can also be used in the practice or testing of the illustrated embodiments, exemplary methods and materials are now described.
It must be noted that as used herein and in the appended claims, the singular forms “a”, “an,” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “the signal” includes reference to one or more signals and equivalents thereof known to those skilled in the art, and so forth.
It is to be appreciated the illustrated embodiments discussed below are preferably a software algorithm, program or code residing on computer useable medium having control logic for enabling execution on a machine having a computer processor. The machine typically includes memory storage configured to provide output from execution of the computer algorithm or program.
As used herein, the term “software” is meant to be synonymous with any code or program that can be in a processor of a host computer, regardless of whether the implementation is in hardware, firmware or as a software computer product available on a disc, a memory storage device, or for download from a remote machine. The embodiments described herein include such software to implement the equations, relationships and algorithms described above. One skilled in the art will appreciate further features and advantages of the illustrated embodiments based on the above-described embodiments. Accordingly, the illustrated embodiments are not to be limited by what has been particularly shown and described, except as indicated by the appended claims.
Turning now descriptively to the drawings, in which similar reference characters denote similar elements throughout the several views,
The actuator controller 102 estimates in real time a reaction torque input to the actuator system 100 by a mechanism 120 (also referred to as load). The reaction torque includes a loading torque applied to the mechanism 120 by external loading 130. The actuator controller 102 decouples bandwidth requirements from requirements for responding on conditions when the reaction torque is at a maximum value, such as due to large external loading 130. This decoupling allows for optimization of energy consumption during operation by allowing for selection of a bandwidth to match response needs as well as expected reaction torque or estimated reaction torque. This decoupling further provides robustness to disturbances that can cause unexpected external loading torques.
In an example scenario, the actuator system 100 is included in an airborne system, such as an aircraft or missile, or guided projectile. Mechanism 120 is a control surface on the airborne system, such as a fin, canard, stabilator, flap, aileron, rudder, elevator, or other device that can be moved by a motor 106 of the actuator system 100, such as a landing gear. The actuator system 100 can be included within an airborne, waterborne, land borne, or subterranean system, such as a vehicle or pump, without limitation. When the mechanism is moved, its position is changed at a rate of position change. When being moved, the mechanism can be subjected to an external loading force. The loading force can be, for example, friction, air resistance, water resistance, etc. The external loading forces can include external loading torques, which may be constant, or vary linearly with deflection of the mechanism. The external loads 130 may also be nonlinear or vary with external factors, for example flight condition. An example of an external load 130 that is affected by external factors for an example aircraft or missile control surface mechanism 120 is a hinge moment loading which is affected by Mach number, dynamic pressure, airframe angle of attack and sideslip, as well as control surface deflection. External loads 130 applied to the mechanism 120 in turn cause a reaction torque which must be overcome by transmission force applied to the mechanism 120 by the actuator system 100.
Controller 102 receives load position commands and selected bandwidth from one or more external system controllers, such as an autopilot or a user interface. Actuator controller 102 further reports feedback to the one or more external system controllers. The feedback includes estimates of the motor position and motor rotational rate. An inverter 104 of actuator system 100 receives energy from an electric voltage source (not shown), such as a battery or generator. Motor 106 receives current signals from inverter 104 and converts the current signals into a mechanical force, which is applied to a transmission unit 114. Transmission unit 114 can provide a gear to move the mechanism 120. Transmission unit 114 relates a position of mechanism 120 to the position of motor 106, such as through a gear ratio, 1/N. Mechanism 120 applies a load reaction torque to the transmission unit 114, wherein the load reaction torque is a reaction to a loading torque applied to the mechanism 120 by external loading 130. The transmission force applied by transmission unit 114 is configured to be sufficient to compensate for the load reaction torque applied by mechanism 120.
Actuator system 100 includes current sensors 108 and one or more current monitors 110 to measure and monitor each phase of current output by inverter 104. Output of the current monitors 110 is provided to the actuator controller 102 as current feedback. Actuator system 100 further includes a position encoder configured to measure motor position, e.g., in terms of angular rotation or linear translation. Output of the position encoder 112 is provided to actuator controller 102 as motor position feedback.
Gain computation module 202, described in greater detail below, receives a selectable load controller bandwidth ΩC (also referred to as command bandwidth) and outputs command gain Kc and limit Llimc, Ulimc values to the load position controller 206. The actuator controller 102 receives the command bandwidth as an input selectable value or as a software setting of the actuator controller 102. The command bandwidth can be set by an administrator or from one or more external load controllers (not shown) that can modify the command bandwidth during operation in response to a condition, such as a sensed condition or at different phases of or times during an operation.
The inner loop motor controller 252, is shown with reference to a conventional d-q motor current model. With reference to the inner loop motor controller 252, the current monitor interface 212 receives current feedback ia, ib, ic as measured at the motor (motor 106 as shown in
Current loop controllers 208 include traditional proportional-integral (PI) controllers that produce outputs voltage vectors vdref and vqref. Motor controller interface 210 rotates the voltage vectors vdref and vqref into the stationary reference frame using {circumflex over (θ)}m (provided by the high gain observer 104) as a transformation angle to obtain quadrature voltage values, Vα and Vβ, and mathematically transforms Vα and Vβ into three phase-voltages va, vb, vc, which are output to the motor 106, e.g., via inverter 104.
With reference to outer loop 250, high gain observer 204 receives motor position feedback θm as measured at the motor (e.g., by a sensor, such as an optical encoder or Hall effects sensor, estimates motor positon {circumflex over (θ)}m, motor speed {circumflex over (ω)}m, and load reaction torque {circumflex over (T)}m. The high gain observer 204 provides the estimated motor positon {circumflex over (θ)}m, motor rotation rate {circumflex over (ω)}m, and load reaction torque {circumflex over (T)}m to the load position controller 206, the estimated motor positon {circumflex over (θ)}m to the motor controller interface 210 and the current monitor interface 212, and the estimated load positon {circumflex over (θ)}load and load rotation rate {circumflex over (ω)}load to the external system controller. The load position controller 206 receives a load position command θref
With reference to
It is envisioned that the externally supplied commanded bandwidth may be either fixed in software settings to provide motors of “selectable bandwidth,” or may actually be modified during operation by an external system controller, to allow the motor to assume a different bandwidth response at different times or phases of system operation. The “selectable bandwidth” option could also be attractive to customers who would like to use the same motor part in different applications. The option to modify the bandwidth in real time could be very beneficial in applications where the response requirements change significantly during its operation, such as for a missile system during mid-course glide versus terminal maneuver. The ability to use a lower bandwidth when appropriate can lead to significant power savings, which can reduce battery size and/or electric generation requirements.
Due to the selectable bandwidth, the same actuator system 100 can be used for different applications. Additionally, since the selectable bandwidth can be modified during operation, e.g., in real time, bandwidth can be changed to accommodate different needs for response times at different phases of an operation. This can be illustrated by an example in which mechanism 120 is a control surface, such as a fin, on a missile. A lower bandwidth, which correlates to a slower response time, can be applied during a mid-course glide phase of missile flight whereas a higher bandwidth, faster response, may be required during the terminal maneuver phase of the missile flight. Power requirements can be reduced when bandwidths are reduced. The ability to use a lower bandwidth when appropriate can lead to significant power savings, which can reduce battery size and/or electric generation requirements.
An important feature of the actuator controller 102, is that the bandwidth requirements of actuator system 100 are decoupled from the maximum load reaction torque {circumflex over (T)}m requirements. This decoupling allows the selectable bandwidth to be lowered even when the mechanism 120 is subjected to relatively high external loading torques.
A further advantage of the ability of the actuator controller 102 to directly compensate for load reaction torque {circumflex over (T)}m is the ability of actuator system 100 to provide a consistent response as specified by the selected bandwidth independent of the external loading torque. This for example, could prevent or reduce asymmetric responses of missile or aircraft control surfaces that are experiencing different aerodynamic loading due to angle of attack or aerodynamic shading. The consistent responses provide more robust and predictable performance of the actuator system 100, which is important when combined with similar actuator systems to control a vehicle.
Another benefit is that the load reaction torque {circumflex over (T)}m that is estimated by the high gain observer 204 and compensated for in the load position controller 206 can further include disturbances due to parameter uncertainties. The estimation of and compensation for these uncertainties improves robustness of the actuator system 100 for responding to disturbances and modeling uncertainties.
Although an example application for controlling a fin mechanism is described, this is for illustrative purposes and in no way is intended to limit the scope of applications of the disclosure. Furthermore, in the example provided the transmission force applied to the fin of a missile was a rotational torque, the disclosure can encompass a transmission force that applies a linear force to the mechanism 120, wherein high gain observer 204 would still provide an estimate of a load reaction torque {circumflex over (T)}m applied at a shaft of motor 106.
Load position controller 206, variable bandwidth gain computations by gain computations 202, and high gain observer design 204 are now described in greater detail.
For illustration purposes, load position controller 206 is described for an example electric motor actuation system 100 that drives a mechanism 120 for controlling a fin control surface on a missile or aircraft. In this case, the load position command θref
θm=Nθfin
Commanded fin position is converted to a motor position command:
θC=Nθref
Then, using simplified mechanical rotational equation of the electric motor:
{dot over (θ)}m=ω
Assuming full state feedback and known external loading torque, a simple position feedback control law can be designed to make the system behave like a second order system with known bandwidth (Ω) and damping (ζ) about a commanded angular position (θC):
{umlaut over (θ)}+2ζΩ{dot over (θ)}+Ω2(θ−θC)=0
Noting that {umlaut over (θ)}={dot over (ω)} and {dot over (θ)}=ω, the motor state equations can be equated to the desired bandwidth second order system:
An equation for the load position controller 206 that can apply a desired bandwidth (denoted as Ω) is found by solving for the input current, iq, which becomes a reference signal to the current loop controller module 208 iqref:
With reference to
A gain multiplier 302 converts the fin position command θref
Gain components K1, K2, K3 applied in
The dynamic limits Llim and Ulim applied to the motor position error signal are also computed in the gain computation module 202 as a function of the selected bandwidth (ΩC) and damping (ζ), to give a maximum motor angular rotation limit specified by ωm,max in rad/s.
The fin controller gains and limits appear in vector form in
K
C=[K1K2K3]T,LimC=[U lim L lim]T
The load position controller 204 is designed to directly compensate for load reaction torque {circumflex over (T)}m in order to maintain a desired system bandwidth in the presence of time varying and uncertain external loading torque conditions. In many instances it is not feasible to have direct measurement of either the motor rotational speed or load reaction torque, such as in an inexpensive actuator system. In these instances, it is desirable to estimate the motor rotational speed and reaction torque from measurements of the motor rotational position. A measurement device, such as a Hall effects sensor or optical encoder, can be used to provide a direct measurement of the motor shaft rotational position, even without an independent measurement of the motor rotational speed.
High gain observer 204 can provide simultaneous estimates of the motor position, motor rate, and motor reaction torque for use by the load position controller 206, even when only the motor rotational position measurement is available. With a sufficiently high bandwidth for high gain observer 204, estimates for motor position, motor rate, and motor reaction torque can converge at a time scale that does not adversely influence robustness of the load position controller 206.
High gain observer 204 is configured with a state to represent load reaction torque in addition to states representing motor position and motor rate, wherein the load reaction torque can be assumed to be constant. State equations for the high gain observer 204 are provided as:
Writing these equations in standard state space form, with z=[θm ω T]T, u=iq
Expansion of a Luenberger observer equation provides:
{dot over ({circumflex over (z)})}=A{circumflex over (z)}+Bu+Kob(y−C{circumflex over (z)}),
where
{circumflex over (z)}=[{circumflex over (θ)}m{circumflex over (ω)}{circumflex over (T)}]T
re estimated state values calculated by the high gain observer 206.
Defining an observer gain matrix for a single input, single output (SISO) system:
A system matrix equation for the high gain observer 206 is:
A characteristic equation for the high gain observer 206 is found from:
where s is the Laplace operator and I is the identity matrix. Expanding the determinant:
|sI−Â|=s3+(Kob1−a22)s2+(Kob2−Kob1a22)s+Kob3a23
Equating the coefficients of the characteristic polynomial to those of a stable 3rd order Butterworth polynomial with bandwidth W:
P
3
=s
3+2Ws2+2W2s+W3
Solving for the gains of the high gain observer 204 in terms of the previously defined motor parameters and the desired bandwidth of the close loop high gain observer 204:
Equations for the high gain observer 204 are then written:
={circumflex over (ω)}+Kob1(θm−)
{dot over ({circumflex over (ω)})}=a22{circumflex over (ω)}+a23{circumflex over (T)}+b2iq+Kob2(θm−)
{dot over ({circumflex over (T)})}=Kob3(θm−)
With reference to
In one or more embodiments, the observer gains could also be calculated from the equations above in the software/firmware implementation of the gain computation module 102 and passed to the high gain observer 204. In this embodiment, bandwidth of the high gain observer 204 would also be supplied by a user interface.
The estimate of load response torque {circumflex over (T)} output by the high gain observer 204 includes not only the load reaction torque {circumflex over (T)} at the motor 206, but also includes an estimate of disturbance {circumflex over (σ)}, such as due to errors in estimates of one or more parameters:
Thus, cancellation of the estimated torque {circumflex over (T)} from the high gain observer 204 provides additional robustness to disturbances and uncertainty in the system.
Starting with block 402 of
At multiplier 416, θerr is combined with (e.g., multiplied by) third observer gain component Kob3. The output of adder 416 is integrated by integrator 418. The output of integrator 418 is output as updated estimated load reaction torque {circumflex over (T)}m, which is provided to the load position controller 206.
At multiplier 412, θerr is combined with (e.g., multiplied by) second observer gain component Kob2. At multiplier 420 estimated motor speed {circumflex over (ω)}m is combined with variable a_22. The output of multipliers 412 and 420 are added at adder 422.
At multiplier 424 estimated load reaction torque {circumflex over (T)}m is combined with (multiplied by) variable a_23. At multiplier 430, measured current iq, meas is combined with variable b_2. The output of multipliers 412 and 420 are added at adder 422. The output of multipliers 424, and 430 and adder 422 are added at adder 426. The output of adder 426 is integrated by integrator 428. The output of integrator 428 is output as updated estimated motor speed {circumflex over (ω)}m, which is provided to the load position controller 206.
Operation 502 includes receiving a selected bandwidth, wherein bandwidth is related to the reciprocal of response time. The selected bandwidth can be fixed or can be variable during operation of the actuator system. Operation 504 includes receiving a command to move the load to a selected position. Operation 506 includes receiving a feedback of measured motor position. Operation 508 includes estimating reaction torque or force associated with moving the load in real time. In one or more embodiments, estimating the reaction torque or force can be an integration of a function of the third observer gain component and the difference between the measured motor position and previous estimated motor position.
Operation 510 includes estimating rotational motor speed and motor position. In one or more embodiments, estimating the motor position can be an integration of a function of the estimated rotational motor speed, the first observer gain component, and a difference between the measured motor position and the previous estimated motor position. In one or more embodiments, estimating the motor speed can be an integration of a function of the estimated rotational motor speed, the estimated reactive torque, the drive signal, the second observer gain component, and a difference between the measured motor position and the previous estimated motor position.
Operation 512 includes calculating gains for controlling position of the load as a function of the selected bandwidth. In one or more embodiments, the first gain component can be a function of the input bandwidth and the torque constant and the rotational inertia of the motor, the second gain component can be a function of the input bandwidth and damping factor, the viscous damping constant of the motor, the torque constant of the motor, and motor rotational inertia, and the third gain component can be a function of a torque constant of the motor.
Operation 514 includes determining a drive signal to apply to the motor as a function of the estimated reaction torque, the estimated rotational motor speed, the estimated motor position, the gain and the selected motor position. In one or more embodiments, determining the drive signal can include multiplying a difference between the selected motor position and the estimated motor position by a first gain component of the gain, multiplying the estimated rotational motor speed by a second gain component of the gain, and multiplying the estimated reactive torque by a third gain component of the gain.
Operation 516 includes transmitting the drive signal to the motor to move the load. In one or more embodiments, transmitting the drive signal can include transmitting the drive signal until an estimated position of the load based on the estimated motor position is within a threshold of the selected position.
Aspects of the present disclosure are described above with reference to block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. Features of the methods described include operations, such as equations, transformations, conversions, etc., that can be performed using software, hardware, and/or firmware. Regarding software implementations, it will be understood that individual blocks of the block diagram illustrations and combinations of blocks in the block diagram illustrations, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block diagram block or blocks.
With reference to
Computing system 600 is shown in the form of a general-purpose computing device. Computing system 600 includes a processing device 602, memory 604, an input/output (I/O) interface (I/F) 606 that can communicate with an internal component 610, and optionally an external component 608.
The processing device 602 can include, for example, a PLOD, microprocessor, DSP, a microcontroller, an FPGA, an ASCI, and/or other discrete or integrated logic circuitry having similar processing capabilities.
The processing device 602 and the memory 604 can be included in components provided in the FPGA, ASCI, microcontroller, or microprocessor, for example. Memory 604 can include, for example, volatile and non-volatile memory for storing data temporarily or long term, and for storing programmable instructions executable by the processing device 602. I/O I/F 606 can include an interface and/or conductors to couple to the one or more internal components 608 and/or external components 610.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flow diagram and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational operations to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the block diagram block or blocks.
Embodiments of the actuator controller 102 (or portions of control circuit 102) may be implemented or executed by one or more computer systems, such as a microprocessor. Each computer system 600 can implement actuator controller 102, or multiple instances thereof. In various embodiments, computer system 600 may include one or more of a microprocessor, an FPGA, application specific integrated circuit (ASCI), microcontroller. The computer system 600 can be provided as an embedded device. All or portions of the computer system 600 can be provided externally, such by way of a mobile computing device, a smart phone, a desktop computer, a laptop, or the like.
Computer system 600 is only one example of a suitable system and is not intended to suggest any limitation as to the scope of use or functionality of embodiments of the disclosure described herein. Regardless, computer system 600 is capable of being implemented and/or performing any of the functionality set forth hereinabove.
Computer system 600 may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types.
While the disclosure has been described with reference to an exemplary embodiment(s), it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the disclosure. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the disclosure without departing from the essential scope thereof. Therefore, it is intended that the disclosure not be limited to the particular embodiment(s) disclosed, but that the disclosure will include all embodiments falling within the scope of the appended claims.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. Although any methods and materials similar or equivalent to those described herein can also be used in the practice or testing of the illustrated embodiments, exemplary methods and materials are now described. All publications mentioned herein are incorporated herein by reference to disclose and describe the methods and/or materials in connection with which the publications are cited.
It must be noted that as used herein and in the appended claims, the singular forms “a”, “an,” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “a stimulus” includes a plurality of such stimuli and reference to “the signal” includes reference to one or more signals and equivalents thereof known to those skilled in the art, and so forth.
While the apparatus and methods of the subject disclosure have been shown and described with reference to embodiments, those skilled in the art will readily appreciate that changes and/or modifications may be made thereto without departing from the spirit and scope of the subject disclosure.