DISTURBANCE COMPENSATING ELECTRIC ACTUATOR POSITION AND SPEED CONTROLLER

Information

  • Patent Application
  • 20240356471
  • Publication Number
    20240356471
  • Date Filed
    April 20, 2023
    a year ago
  • Date Published
    October 24, 2024
    2 months ago
Abstract
A method of controlling an actuator includes transmitting a drive signal to an actuator motor to move a device, including automatically compensating for and rejecting uncertain and unmodeled torque disturbances of the actuator motor. A controller for an actuator includes a processing device configured to transmit a drive signal to an actuator motor to move a device, including automatically compensating for and rejecting uncertain and unmodeled torque disturbances of the actuator motor to perform the method.
Description
BACKGROUND
1. Field

The present disclosure relates to an actuator controller, and more particularly to a controller that provides for disturbance compensation for an actuation system.


2. Description of Related Art

Electric driven motors are used in a wide variety of applications including both commercial and military applications. A motor is used to drive a moveable 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 mechanisms 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. Torque disturbances act on motors due to effects such as torque ripple, cogging torque, friction, and reaction torque from external loads, among other effects. The torque disturbances are assumed to be unknown and time-varying but bounded. In order to maintain stability, performance, and robustness of the system under varying types and levels of torque disturbances, it is important to be able to detect and provide compensation for such disturbances.


The conventional techniques have been considered satisfactory for their intended purpose. However, there is an ever present need for improved systems and methods for disturbance compensation for actuation systems. This disclosure provides a solution for this need.


SUMMARY

A method of controlling an actuator includes transmitting a drive signal to an actuator motor to move a device, including automatically compensating for and rejecting uncertain and unmodeled torque disturbances of the actuator motor.


Automatically compensating for and rejecting uncertain and unmodeled torque disturbances can include detecting and compensating for the torque disturbances to maintain accurate position and speed of the actuator motor. Automatically compensating for and rejecting uncertain and unmodeled torque disturbances can include using an extended high gain observer to specifically estimate and compensate for high frequency disturbances in the actuator motor.


The high gain observer can incorporate angular wrap-around to permit unlimited integration of motor rotor position for the actuator motor. The high frequency disturbances can include at least one of time varying load torques, friction, cogging torque, and torque ripple. Transmitting a drive signal can include commanding the actuator motor for at least one of speed control of the actuator motor or position control of the actuator motor.


The method can further include rate limiting speed of the actuator motor by imposing saturation limits on motor position error of the actuator motor. The method can further include receiving surface position and surface speed commands for the actuator motor, receiving motor position feedback for the actuator motor, receiving direct current feedback from the actuator motor, and receiving quadrature current feedback from the actuator motor. The method can include using a high gain observer receiving the motor position feedback and quadrature current feedback to determine a position estimate, a torque estimate, and a speed estimate. The method can further include using a surface position/speed controller receiving the position estimate, the torque estimate, the speed estimate, and the surface position and surface speed commands to determine a quadrature current command. The method can include using a d-q current controller receiving the quadrature current command, the speed estimate, the quadrature current feedback, and the direct current feedback to output a command for direct current voltage and a command for quadrature voltage for controlling the actuator motor.


The d-q current controller can output the direct current voltage command and the quadrature voltage command to the actuator motor as three-phase, pulse width modulated (PWM) signals. The actuator motor can be connected to actuate a control surface of an airborne platform.


A controller for an actuator includes a processing device configured to transmit a drive signal to an actuator motor to move a device, including automatically compensating for and rejecting uncertain and unmodeled torque disturbances of the actuator motor as described above.


These and other features of the systems and methods of the subject disclosure will become more readily apparent to those skilled in the art from the following detailed description of the preferred embodiments taken in conjunction with the drawings.





BRIEF DESCRIPTION OF THE DRAWINGS

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, preferred embodiments thereof will be described in detail herein below with reference to certain figures, wherein:



FIG. 1 is a block diagram of an embodiment of an electric motor actuator constructed in accordance with the present disclosure, showing the controller and motor;



FIG. 2 is a block diagram of an embodiment of permanent magnet synchronous motors (PMSMs) electro-mechanical model constructed in accordance with the present disclosure, showing a d-q current model and motor rotor model;



FIG. 3 is a block diagram of an embodiment of a controller algorithm showing the high gain observer, the surface position/speed controller, and the d q current controller;



FIG. 4 is a set of graphs for cogging torque disturbance with low gain observer showing a graph for control surface position, a graph for control surface position error, a graph for control surface speed, and a graph for total torque disturbance at the motor;



FIG. 5 is a set of graphs for torque ripple and cogging torque disturbance with low gain observance showing a graph for control surface position, a graph for control surface position error, a graph for control surface speed, and a graph for total torque disturbance at the motor;



FIG. 6 is a set of graphs for cogging torque disturbance with high gain observer showing a graph for control surface position, a graph for control surface position error, a graph for control surface speed, and a graph for total torque disturbance at the motor;



FIG. 7 is a set of graphs for torque ripple and cogging torque disturbance with high gain observer showing a graph for control surface position, a graph for control surface position error, a graph for control surface speed, and a graph for total torque disturbance at the motor;



FIG. 8 is a set of graphs for speed control with sudden load torque disturbance showing a graph for control surface position, a graph for control surface position error, a graph for control surface speed, and a graph for total torque disturbance at the motor; and



FIG. 9 is a set of graphs for speed control with sudden load torque disturbance and torque ripple and cogging torque showing a graph for control surface position, a graph for control surface position error, a graph for control surface speed, and a graph for total torque disturbance at the motor.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference will now be made to the drawings wherein like reference numerals identify similar structural features or aspects of the subject disclosure. For purposes of explanation and illustration, and not limitation, a partial view of an embodiment of a system in accordance with the disclosure is shown in FIG. 1 and is designated generally by reference character 100. Other embodiments of systems in accordance with the disclosure, or aspects thereof, are provided in FIGS. 2-9, as will be described. The systems and methods described herein can be used to provide precision position and/or speed control of actuators in the presence of unknown, nonlinear, time varying torque disturbances such as time varying load torques, friction, torque ripple, and cogging torque.


This disclosure relates to the design of a multivariable feedback controller to provide accurate position and speed control of an electric actuator motor with automatic compensation and rejection of uncertain and unmodeled torque disturbances. An extended high-gain observer is used to estimate the position and speed of the motor, and to estimate the total torque disturbance acting on the motor due to effects such as: torque ripple, cogging torque, friction, and reaction torque from external loads. It is assumed that a permanent magnet synchronous motor (PMSM) is used to precisely position an external control surface, or other device, attached to a rotational shaft that is driven by the motor through a set of gears. Feedback sensors are assumed to provide only the position of the motor shaft and the current from the motor windings. The torque disturbances are assumed to be unknown and time-varying but bounded. Simulation results confirm the stability, performance, and robustness of the system under varying types and levels of torque disturbances.



FIG. 1 shows the components of an electric motor-controlled actuator that is used to control the position or speed of an external control surface. A very common application would be to control the position of a robotic limb or robotic tool, or to control the position of an aerodynamic surface or effector such as an aileron, stabilizer, fin, or canard. In this context it is assumed herein that the goal is to control the angular position of the external surface, however the results could apply equally well to controlling the linear position of an external surface or the angular speed of a rotating device with appropriate assumptions for the gearing mechanisms. It is also assumed herein that the motor is in the class of permanent magnet synchronous motors (PMSMs) which are popular due to their efficiency, small size, power density, low maintenance, and light weight relative to DC and induction motors.


PMSM's however present challenging control problems due to their time-varying nonlinear dynamic behavior and significant torque disturbances caused by torque ripple and cogging torque effects. Torque ripple is a variation in EM torque produced by the motor as a function of the motor current and rotor angle, and cogging torque is an effect caused by attraction of the permanent magnets to the physical windings. Cogging torque is thus a function of motor rotor angle only and is present with or without electrical current to the motor. Both torque ripple and cogging torque are functions of the number of poles of the PMSM. Additional non-linear and time-varying disturbances due to friction in the motor, gears, and bearings, plus load dependent reaction torques reflected to the motor contribute to the challenges of achieving desired performance and robustness. Proportional plus Integral (PI) or proportional plus integral plus derivative (PID) controllers have been commonly used in PMSM drives. However, PI or PID controllers are seen to be not a great choice in applications where high performance and high precision are required.



FIG. 2 presents a block diagram of the electro-mechanical model of the PMSM motor system. The motor operates on 3-phase current represented by Va, Vb, Vc bridge voltages that are supplied in synch with the motor rotor rotational angle by a Pulse Width Modulator (PWM) driving a 3-phase inverter circuit. The PWM switching occurs at very high speed and may be controlled digitally by a Field Programmable Gate Array (FPGA) operating at 10's of Mega Hz. It is assumed that current sensors, such as Hall Effect sensors are sampled at a high rate and provide measurements of the bridge currents iA, iB, iC back to the FPGA controller board. The position of the motor rotor shaft is also provided back to the FPGA controller board by a sensor such as an optical encoder.


To simplify the development and implementation of a position controller, we shall use the d-q coordinate model for the electrical current dynamics that is common in the literature. The d-q current model allows the three phase currents to be converted from the rotating A, B, C frame to a stationary frame of reference relative to the rotor, and vice versa. The current measurements are converted from iA, iB, iC to id and iq by the Clark and Park transforms at a high sample rate on the FPGA board, and the Vd and Vq voltage commands produced by the controller algorithm are converted to Va, Vb, Vc commands by the inverse Park and inverse Clark transforms. Since these algorithms are described in many places in the literature and are not part of the controller algorithms included in this invention, the details of these conversions will be omitted.


D-Q Current Model

The differential equations representing the electrical current in d-q frame are as follows:











di
d

dt

=



-

(

R

L
d


)




i
d


-


(


L
q


L
d


)


ω


i
d


-


(

1

L
d


)



v
d







(
1
)








di
q

dt

=



-

(

R

L
q


)




i
q


-


(


L
d


L
q


)


ω


i
d


-


(

1

L
q


)



v
q


-


(


k
T


L
q


)


ω






(
2
)









    • Where:

    • id is the direct current in amps,

    • iq is the quadrature current in amps,

    • vd is the direct input voltage in volts,

    • vq is the quadrature input voltage in volts,

    • ω is the mechanical rotor speed in rad/sec,

    • R is the stator winding resistance in ohms,

    • Ld is the direct stator inductance in Henries,

    • Lq is the quadrature stator inductance in Henries,

    • kTis the motor torque constant in Newton meters per amp.





The motor resistance, inductance, and torque constant parameters above can be converted to the d-q frame from the line-to-line measurements taken from the motor by the following:







R
=


(

1
/
2

)



R
bldc







L
d

=


L
q

=


(

2
/
3

)



L
bldc








k
T

=


k

T
bldc


/

3







Where Rbldc, Rbldc, Lbldc, kTbIdc are the line-to-line measurements.


Motor Mechanical Model

The differential equations representing the motor mechanical model are:







R
=


(

1
/
2

)



R
bldc







L
d

=


L
q

=


(

2
/
3

)



L
bldc








k
T

=


k

T
bldc


/

2









    • Where:

    • θm θm, is the angular position of the motor rotor in rad,

    • θS θS is the angular position of the surface in rad,

    • N N is the gear ratio,

    • ω is the mechanical rotor speed in rad/sec,

    • J J is the total inertia at motor in kg m2,

    • B is the total viscous friction (damping),

    • kTis the motor torque constant in N m/amp,

    • T is the total disturbance torque in N m, and

    • ? indicates the dynamics of the disturbance torque are unknown.





The systems and methods in the present disclosure, rely on the use of an extended high gain observer, and incorporates significant improvements in actuator control. Position Control, not just Speed Control is achieved with the present disclosure. Further, with minor modification, the present disclosure can be used for either position control or speed control. Angular wrap-around functions are implemented in the present disclosure to permit unlimited integration of the motor rotor position. Rate limiting of the motor speed is achieved by imposing saturation limits on the motor position error. Anti-windup logic is imposed on integrators to prevent integrator wind-up when certain outputs are saturation limited. The present disclosure has been demonstrated to achieve robust performance for precision position and precision speed control in the presence of significant disturbances caused by cogging torque and torque ripple effects.


The control algorithm of the present disclosure involves three modules as illustrated in FIG. 3, a high bandwidth current controller, a high bandwidth extended high-gain observer, and a lower bandwidth position tracking controller. The position tracking controller is derived from the motor mechanical model in equations (3)-(6) and computes the quadrature current, iq, required to track a desired surface position command, θSd θSd, and/or a surface speed command {dot over (θ)}Sd {dot over (θ)}Sd.


THE current controller is derived from the d-q current model equation (1)-(2). Since the direct current, id, does not produce torque to control the motor the current controller module is designed as a servo loop to provide the quadrature current, iq, required by the position controller and a regulator loop to control the direct current to zero. The extended high gain observer receives the measurements of motor position and current measurements, id and iq, and provides estimates of the position of the motor and surface, the speed of the motor and the torque disturbance acting on the motor for use by the other two modules.


The bandwidth of the current controller module can be on the order of 200-400 Hz to keep up with the fast dynamics of the current loop, while the bandwidth of the position controller can be on the order of 20-40 Hz based on the much slower dynamics of the surface position mechanics. Although the motor speed may be several hundred Hz, the surface position is related by the inverse of the gear ratio in equation (6), and the gear ratio may be on the order of 50-100:1.


The bandwidth of the high-gain observer module depends largely on the dynamics of the torque disturbance. Torque disturbances dominated by load torques on the external control surface may be reliably estimated by an observer bandwidth only slightly larger than the bandwidth of the position control module. However significant torque disturbances due to torque ripple, cogging torque and motor friction dictate an observer bandwidth on the order of the current controller bandwidth.


Assuming these control algorithm modules are implemented in digital computations, either conventional computer processor chips or FPGA's, the sample rates of the three modules must be sufficiently high to support the bandwidths of the control algorithms. A good rule-of-thumb is to choose a digital sample rate of at least 20 times the bandwidth of the embedded control algorithm. It may be possible to execute the 3 controller modules at different sample rates based on different bandwidths in a multi-rate processing architecture, or perhaps preferable to execute all at the highest bandwidth of the group.


Design of the Surface Position Controller

Using recursive backstepping design, and assuming full state feedback, we can map the dynamics of the control surface and motor mechanical model to the desired dynamics of a second order system with specified bandwidth Ωp and damping ζp. Let θSd θSd be the desired surface position, and if known {dot over (θ)}Sd {dot over (θ)}Sd the desired surface speed. Formulate the error dynamics as:










θ
S

=


(

1
N

)



θ
m






(
3
)








θ
.

m

=
ω




(
4
)







ω
.

=



-

(

B
J

)



ω

+


(


k
T

J

)



i
q


+

(

T
f

)






(
5
)







T
.

=
?




(
6
)







Noting that








θ
S

=


(

1
N

)



θ
m



,



θ
.

S

=



(

1
N

)




θ
.

m


=


(

1
N

)


ω



,


and




θ
¨

S


=


(

1
N

)



ω
.



,


θ
S

=


(

1
N

)



θ
m







we can substitute the actual dynamics of the control surface into the desired dynamics of equation (7):












θ
¨

S

+

2


ζ
p




Ω
p

(



θ
.

s

-


θ
.

s
d


)


+


Ω
p
2

(


θ
s

-

θ
s
d


)


=
0




(
7
)







Then solving for {dot over (ω)} and replacing it with equation (4):









(

1
N

)



ω
.


+

2

p



Ω
p

(



(

1
N

)


ω

-


θ
.

s
d


)


+


Ω
p
2

(



(

1
N

)



θ
m


-

θ
s
d


)


=
0




Solving equation (8) for iq gives the control input to the surface position controller that will provide the desired tracking dynamics. This becomes the desired reference input iqref iqref for the current controller.












-

(

B
J

)



ω

+


(


k
T

J

)



i
q


+

(

T
J

)


=



-
2


p



Ω
p

(

ω
-

N



θ
.

s
d



)


-


Ω
p
2

(


θ
m

-

N


θ
s
d



)






(
8
)







If all the states and parameters are known, equation (9) will provide zero steady state tracking error for a constant input θSd or a ramp input given by {dot over (θ)}Sd. Note that near perfect tracking of a sinusoidal input can be achieved by setting θSd=A sin(wt), {dot over (θ)}Sd=Aw cos(wt) in equation (9). Since direct measurements are not available for ω and T, these values will be replaced by their estimated values, {circumflex over (ω)} and {circumflex over (T)} from the high-gain observer. The estimated motor position, {circumflex over (θ)}m from the high gain observer provides a smooth interpolation of the motor position encoder measurements and will also be used in equation (9) in place of θm.


Replacing the states with their estimates in equation (9) and rearranging to get a gain times feedback form for the controller:










i
q
ref

=



(

B

k
T


)


ω

-


(

1

k
T


)


T

-

2

p



Ω
p

(

J

k
T


)



(

ω
-

N



θ
.

s
d



)


-


(

J

k
T


)




Ω
p
2

(


θ
m

-

N


θ
s
d



)







(
9
)









    • Where:

    • θSd=desired angular position of the surface,

    • N=the gear ratio,

    • {circumflex over (ω)}=estimated mechanical motor rotor speed,

    • {dot over (θ)}Sd=desired angular rate of the surface,

    • {circumflex over (θ)}Sd=estimated angular position of the motor rotor,

    • {circumflex over (T)}=estimated total disturbance torque

    • and the gains are calculated as:











k

c

1


=


-

(

J

k
T


)





Ω
p
2



,


k

c

2


=


-
2



(

J

k
T


)


p


Ω
p



,


k

c

3


=

(

B

k
T


)


,


k

c

4


=

-

(

1

k
T


)







to give the desired bandwidth, Ωp, and damping, ζp, of the transient response.


Design of the D-Q Current Controllers

The DQ current model given by equations (1) and (2) is a coupled nonlinear Multiple-Input Multiple-Output system. The goal is to achieve output tracking of the state variable iq while simultaneously regulating the state variable id to zero, by the two input control variables vd and vq. The method of the present disclosure will be to use Feedback Linearization to map the error between the desired states and actual feedback measurements for id and iq to two decoupled PI systems, and then solve for the input voltages required to achieve stable systems with desired dynamics.


First create the error states:








ϵ
d

=


i
d

-

i
d
ref



,


ϵ
q

=


i
q

-

i
q
ref







Adding an integrator to each control loop, we create the integral error “wiggle” systems, which we would like to map to a stable second order linear systems with bandwidth, Ωc, and damping, ζc:












ϵ
~

¨

+

2


ζ
c



Ω
c




ϵ
~

.


+


Ω
o
2



ϵ
~



=
0




(
11
)







We define the states of the “wiggle” system:






=∫∈dt, {tilde over ({dot over (∈)})}=∈, {tilde over ({umlaut over (∈)})}={dot over (∈)}


Substituting the two D-Q current model equations (1) and (2), into the integral error “wiggle” system of equation (11):












-

(

R

L
d


)




i
d


+


(


L
q


L
d


)


ω


i
q


+


(

1

L
d


)



v
d


+

2


ζ
c




Ω
c

(


i
d

-

i
d
ref


)


+


Ω
c
2






(


i
d

-

i
d
ref


)


dt




=
0




(
12
)









-

(

R

L
q


)




i
q


+


(


L
d


L
q


)


ω


i
d


+


(

1

L
q


)



v
q


+


-

(


k
Y


L
q


)



ω

+

2


ζ
c




Ω
c

(


i
q

-

i
q
ref


)


+


ω
c
2






(


i
q

-

i
q
ref


)


dt




=
0




(
13
)







We can then solve equations (12) and (13) for the required motor control input voltages:










v
d

=


Ri
d

-


L
q


ω


i
q


-

2


L
d



ζ
c




Ω
c

(


i
d

-

i
d
ref


)


-


L
d



Ω
c
2






(


i
d

-

i
d
ref


)


dt








(
14
)







v
q

=


Ri
q

-


L
d


ω


i
d


+


k
T


ω

-

2


L
q



ζ
c




Ω
c

(


i
q

-

i
q
ref


)


-


L
q



Ω
c
2






(


i
q

-

i
q
ref


)


dt








(
15
)







Equations (14) and (15) are nonlinear functions of the overall system because of the products of the motor speed co times the current states id and iq. When these nonlinear feedback equations are substituted back into the nonlinear current state equations (1) and (2), “Feedback Linearization” results in the closed loop current dynamics behaving like the desired pair of decoupled linear equations in the error states:










ϵ
~

¨

d

+

2


ζ
c



Ω
c





ϵ
~

.

d


+


Ω
c
2




ϵ
~

d



=
0




and










ϵ
~

¨

q

+

2


ζ
c



Ω
c





ϵ
~

.

q


+


Ω
c
2




ϵ
~

q



=
0




Equations (14) and (15) can be written in the form of two PI controllers to track the current reference signals with state feedback gains applied to the measured currents and estimated motor speed:










v
d

=


Ri
d

-


L
q


ω


i
q


-

2


L
d



ζ
c




Ω
c

(


i
d

-

i
d
ref


)


-


L
d



Ω
c
2






(


i
d

-

i
d
ref


)


dt








(
16
)







v
q

=


Ri
q

-


L
d


ω


i
d


+


k
T


ω

-

2


L
q



ζ
c




Ω
c

(


i
q

-

i
q
ref


)


-


L
q



Ω
c
2






(


i
q

-

i
q
ref


)


dt








(
17
)







and the gains are calculated as:








k
di

=


-

L
d




Ω
c
2







k
qi

=


-

L
q




Ω
c
2







k
dp

=


-
2



L
d



ζ
c



Ω
c







k
qp

=


-
2



L
q



ζ
c



Ω
c








k

dq

11


=
R

,



k

dq

21


=

L
d







k

dq

12


=

-

L
q







k

dq

22


=
R





k
dqw

=

k
T






Equations (16) and (17) compute the voltage commands to the motor in the D-Q frame. As previously discussed, these commands are converted to the bridge voltages, Va, Vb, Vc, which drive the PWM switching commands to the 3-phase inverter circuit at a high sample rate.


Design of the Extended High Gain Observer

The bandwidth of the current controllers is chosen to be much higher than the bandwidth of the surface position controller (100's of Hz vs 10's of Hz), and therefore the combined system can be considered as a two-time scale system. This in turn allows us to design an extended high gain observer by considering only the dynamics of the motor mechanical model in equations (3)-(6).


Although the total torque disturbance, T, acting on the motor is unknown, as is its dynamic rate of change, {dot over (T)}, we will include the torque disturbance in the observer equations and derive an estimate of the total disturbance from the model and the measurements of the motor position and current. In practical applications, significant torque disturbances arise from the load torque caused by moments on the control surface, friction on the motor caused by the shaft, bearings and gears, torque ripple effects from the back EMF of the motor and cogging torque due to the permanent magnets. A very simple model of the torque disturbance is to assume the load torque is proportional to the displacement of the control surface, so that:









T
=




κ

(

1
N

)



θ
m





=



κ

(

1
N

)




θ
.

m


=


κ
.


ω







(
18
)







If it is practical to provide a reasonable approximation of κ or {acute over (κ)}, then it may be beneficial to use equation (18) in place of equation (5) in the observer model, otherwise it will suffice to just set {dot over (T)}=0. Writing equations (3), (4) and (18) then in state space form, we define:






x=[θ
m
ωT]
T
, u=i
q


then








x
.

=



[



0


1


0




0



-

B
J





1
J





0



κ
.



0



]


x

+


[



0






k
T

J





0



]


u



,

y
=


[

1


0


0

]


x






Which conforms to the standard linear model:








x
.

=


Ax
+

Bu



x
.



=

Ax
+
Bu



,

y
=
Cx





We can then write the standard Luenberger observer equation:











x
^

.

=


A


x
^


+
Bu
+


K
ob

(

y
-

C


x
^



)






(
19
)







Where {circumflex over (x)} is the estimated state vector:







x
^

=


[



θ
^

m




ω
^



]

T





and y is the measurement of the rotor position.


To design the observer gain vector, Kob,. first, let the observer gains take the form:







K
ob

=

[




K

ob
s







K

ob
z







K

ob
s





]





The closed loop system matrix for the observer is:







A
cl

=


A
-


K
ob


C


=

[




-

K

ob
1





1


0





-

K

ob
2






a
22




a
23






-

K

ob
s






a
32



0



]










with



a
22


=

-

N
J



,


a
23

=

1
J


,


a
32

=

κ
.


,


b
2

=


k
T

J






The characteristic equation of the closed loop observer system is found from:









"\[LeftBracketingBar]"


sI
-

A
cl




"\[RightBracketingBar]"


=



"\[LeftBracketingBar]"


[




s
+

K

ob
1






-
1



0





K

ob
2





s
-

a
22





-

a
23







K

ob
3





-

a
32




s



]



"\[RightBracketingBar]"






Expanding the determinant:









"\[LeftBracketingBar]"


sI
-

A
cl




"\[RightBracketingBar]"


=


s
3

+


(


K

ob
1


-

a
22


)



s
2


+


(



K

ob
2


-

K

ob
1



,


a
22

-


a
23



a
32




)


s

+


K

ob
2




a
23


-


k

ob
1




a
23



a
32







We can now design the observer gains to control the eigenvalues of the closed loop observer system. One control solution is to equate the coefficients of the characteristic polynomial to those of a 3rd order Butterworth polynomial with bandwidth W:







P
3

=


s
3

+

2


Ws
2


+

2


W
2


s

+

W
3






We then solve for the observer gains in terms of the desired bandwidth, W, of the closed loop observer system:








k

ob
s


=


2

W

+

a
22







K

ob
a


=


2


W
2


+

2


Wa
22


+

a
22
2

+


a
23



a
32








K

ob
s


=



1

a
23




W
3


+

2


Wa
32


+


a
23



a
32








The observer equations can then be written:











θ
^

m

=


ω
^

+


K

ob
1


(


θ
m

-


θ
^

m


)






(
20
)








ω
^

.

=



a
22



ω
^


+


a
23



T
^


+


b
2



i
q


+


K

ob
2


(


θ
m

-


θ
^

m


)






(
21
)







T
^

=



a
32



ω
^


+


K

ob
3


(


θ
m

-


θ
^

m


)






(
22
)







Where {circumflex over (θ)}m is the estimate of the motor rotor position, {circumflex over (ω)}, is the estimate of the motor speed, and {circumflex over (T)} is the estimate of the torque disturbance. The estimate of the torque disturbance provided by equation (22) is capable not only of estimating the reaction torque at the motor due to an external load, but also the total disturbance at the motor including torque ripple, cogging torque and friction. Co-designing the surface position controller to take advantage of this estimate provides additional robustness to disturbances and uncertainty in the system.


A special modification to the observer equations above allows the motor rotor position to increase without limit, which is useful for testing the motor controller in the laboratory independently from the gears and control surface, and to utilize the same observer equations for speed control of the motor. The modification is to replace the motor position error term in equations (20), (21), and (22), with an angular error wraparound function defined as:







θ

err
wrap


=

{






(


θ
m

-


θ
^

m


)

-

2

π


if



(


θ
m

-


θ
^

m


)



>
π









(


θ
m

-


θ
^

m


)



if

-
π




(


θ
m

-


θ
^

m


)


π








(


θ
m

-


θ
^

m


)

+

2

π


if



(


θ
m

-


θ
^

m


)



<

-
π





}





This ensures that the error function driving the observer equations remains in the region:





{−π≤(θm−{circumflex over (θ)}m)≤π}.


Furthermore, the integration of {circumflex over ({dot over (θ)})}m in the solution of equation (20) is accomplished with an internal wraparound limit that also maintains the position estimate within the region





{−π≤θm≤π}.


Speed Control Using Velocity Error Tracking

The versatility of this design can be further illustrated by the simplicity of converting the position control loop to a speed control loop. Recalling the position control design equation (7) and removing the position error term:









θ
¨

s

+

2


ζ
p




Ω
p

(



θ
.

s

-


θ
.

s
d


)



=
0




We can rewrite this as a first order differential equation in the control surface speed:












ω
.

s

+


Ω
s

(


ω
s

-

ω
s
d


)


=
0




(
23
)







where ωsd desired control surface rotational speed, and Ωs is the desired bandwidth of the first order speed controller. Again, relating the speed of the control surface to the speed of the motor divided by the gear ratio:







ω
s

=



(

1
N

)


ω


and




ω
.

S


=


(

1
N

)




ω
.

.







We then write the speed control design equation in terms of the motor dynamics:









(

1
N

)



ω
.


+


Ω
s

(



(

1
N

)


ω

-

ω
s
d


)


=
0




then again solving the above equation for of and replacing it with equation (4):












-

(

B
J

)



ω

+


(


k
T

J

)



i
q


+

(

T
J

)


=

-


Ω
s

(

ω
-

N


ω
s
d



)






(
24
)







Solving equation (24) for iq gives the control input to the surface speed controller that will provide the desired speed tracking dynamics. This replaces the position controller as the desired reference input iqref for the d-q current controller module.


Once again replacing the states with their estimates in in equation (24) and rearranging to get a gain times feedback form for the controller, we can arrive at an identical form to equation (10):










i
q
ref

=



k

c

1


(



θ
~

m

-

N


θ
s
d



)

+


k

c

2


(


ω
^

-

N


ω
S

a
¨




)

+


k

c

3




ω
^


+


k

c

4




T
^







(
25
)









Where
:






    • θSd=0

    • ωSd=desired angular rate of the surface,

    • N=the gear ratio,

    • {circumflex over (θ)}m=estimated angular position of the motor rotor,

    • {circumflex over (ω)}=estimated mechanical motor rotor speed

    • {circumflex over (T)}=estimated total disturbance torque

    • and the gains are calculated to give the desired bandwidth, Ωs, of the first order speed controller:











k

c

1


=
0

,


k

c

2


=


-

(

J

k
T


)




Ω
s



,


k

c

2


=

(

B

k
T


)


,


k

c

4


=

-

(

1

k
T


)







Thus, with no structural changes, the position controller of equation (10) can be converted to a speed controller of equation (25), simply by recomputing the gains. The implementations of the d-q Current Controller and the High Gain Observer remain the same, with the following caveats. To maintain good speed control in the presence of high frequency torque disturbances caused by torque ripple and cogging torque effects when the motor is spinning at high speeds, higher bandwidths may be required for the observer, d-q current controller and the surface speed control loop than were necessary for the position control implementation. In addition, a higher digital sample rate may be necessary to support the higher controller bandwidths.


Simulation Performance Results

For purpose of simulation and to demonstrate non-limiting example, the motor mechanical and electrical parameters were arbitrarily defined for a hypothetical actuator design as shown in Table 1. Computation sample rates, bandwidths, and other parameters necessary for the surface position controller, d-q current controllers and high-gain observer are shown in Table 2.









TABLE 1







Motor Parameters










Parameter
Value















Maximum Voltage
25.0
Volts



Maximum Current
5.0
Amps



Maximum Motor Speed
200
Hz










Gear Ratio N
100:1











Total Inertia at Motor J
1.4925e−7
kg · m2



Total Viscous Friction B
3.0e−7
N · m/rad/s



Stator Resistance Rbldc
5.0
Ohms



Stator Inductance Lbldc.
0.4e−3
Henries



Motor Torque Constant kTbldc
2.0
in · oz/amp

















TABLE 2







Controller Design Parameter










Parameter
Value















Controller Sample Rate
6000
Hz



d-q Current Controller BW ΩC
250
Hz










d-q Current Controller damping ζC
1.0











Low-Gain Observer BW W
30
Hz



High-Gain Observer BW W
250
Hz



Surface Load Torque Spring
0
N · m/rad



Constant (A Priori Estimate) κ



Position Controller BW Ωp
25
Hz










Position Controller damping ζp
1.0










Position Control Examples


FIG. 4 shows the simulation results for a square wave position command with a low gain observer bandwidth of 30 Hz when cogging torque is added to the “spring constant” load torque reflected at the motor. In this case the low gain observer is not able to keep up with the higher frequency dynamics of the cogging torque, resulting in significant oscillations on the order of +/−0.3 deg of surface position error.



FIG. 5 shows the simulation results for a square wave position command with a low gain observer bandwidth of 30 Hz when torque ripple and cogging torque are added to the “spring constant” load torque reflected at the motor. Again, as in the previous case, the low gain observer cannot keep up with the dynamics of the torque disturbances, resulting in significant surface position error oscillations.



FIG. 6 shows the simulation results for a square wave position command with a high gain observer bandwidth of 250 Hz when cogging torque is added to the “spring constant” load torque reflected at the motor. In contrast to FIG. 4, the high gain observer can estimate the dynamics of the cogging torque disturbance and the co-designed position controller correctly compensates resulting in nearly zero steady state error with no oscillations.



FIG. 7 shows the simulation results for a square wave position command with a high gain observer bandwidth of 250 Hz when torque ripple and cogging torque are added to the “spring constant” load torque reflected at the motor. In contrast to FIG. 5 the high gain observer can estimate the combined disturbance torques so that the position controller achieves near zero steady state error with no oscillations.


Speed Control Examples


FIGS. 8 and 9 provide illustrative simulation examples of speed control. The figures each show plots of the surface position, surface speed, surface speed error, and total disturbance torque at the motor. Of interest is the ability of the speed controller to react to a sudden change in load torque and recover to maintain a desired speed.


For the purpose of simulation and to demonstrate a non-limiting example, the following simulation results for speed control, the controller parameters were used as shown in Table 3. Note that sample rates and bandwidths were increased to maintain accurate speed control. Both examples were performed with a high gain observer.









TABLE 3







Controller Design Parameter










Parameter
Value















Controller Sample Rate
24000
Hz



d-q Current Controller BW ΩC
1000
Hz










d-q Current Controller damping ζC
1.0











High-Gain Observer BW W
1000
Hz



Surface Load Torque Spring
0
N · m/rad



Constant (A Priori Estimate) κ



Speed Controller BW Ωs
250
Hz











FIG. 8 shows results for a constant speed control command of 10 deg/second with friction and an instantly changing load torque, but without torque ripple or cogging torque disturbances. The bottom subplot shows that the torque estimate accurately tracks the torque disturbance, and that speed control is accurately maintained before and quickly recovers after the instantaneous change in load torque



FIG. 9 shows results for a constant speed control command of 10 deg/second with friction and an instantly changing load torque, and with torque ripple or cogging torque disturbances. The torque ripple and cogging torque cause significant oscillations in the total torque disturbance at the motor. Nevertheless, the bottom subplot shows that the torque estimate accurately tracks the torque disturbance, and that speed control is accurately maintained before and quickly recovers after the instantaneous change in load torque.


As shown in FIG. 1, an actuator 100 is shown. The actuator 100 is included in an airborne system, such as an aircraft, or missile, or guided projectile. Control surface 130 can be a fin, canard, stabilator, flap, aileron, rudder elevator, or other device of an airborne system that can be moved by an actuator motor 102 of the actuator 100, such as landing gear. The actuator 100 can be included within an airborne, waterborne, land borne, or subterranean system, such as a vehicle or pump, without limitation. When the control surface is moved, its position is changed at a rate of position change. When being moved, the control surface can be subjected to an external loading force. External 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 may also be nonlinear or vary with external factors, for example flight condition. External loads applied to the control surface 130 in turn cause a reaction torque which must be overcome by transmission torque applied to the control surface 130 by the actuator 100.


Actuator 100 includes motor controller 106 which estimates in real time a reaction torque input to the actuator 100. Motor controller 106 receives load position commands from one or more external system controllers, such as an autopilot or a user interface. Motor controller 106 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 142 of actuator 100 receives energy from an electric voltage source (not shown), such as a battery or generator. Actuator motor 102 receives current signals 146 from inverter 142 and converts the current signals 146 into a mechanical force, which is applied to a transmission unit 144. Transmission unit 144 can provide a gear to move the control surface 130. Transmission unit 144 relates a position of control surface 130 to the position of actuator motor 102, such as through a gear ratio, 1/N. Control surface 130 applies a load reaction torque to the transmission unit 144, wherein the load reaction torque is a reaction to a loading torque applied to the control surface 130 by external loading forces. The transmission torque applied by transmission unit 144 is configured to be sufficient to compensate for the load reaction torque applied by control surface 130.


Actuator 100 includes current sensors 146 and one or more current monitors 148 to measure and monitor each phase of current output by inverter 142. Output of the current monitors 148 is converted to the d-q frame by the Clark and Park transforms and provided to the motor controller 106 as id and iq current feedbacks (114). Actuator 100 further includes a position encoder 112 configured to measure motor position, e.g., in terms of angular rotation or linear translation. Output of the position encoder 112 is provided to motor controller 106 as motor position feedback.


A method of controlling an actuator 100, as shown in FIG. 1, includes transmitting a drive signal to an actuator motor 102, as shown in FIG. 1-2, to move a device 130 such as a control surface for an airborne platform such as an airplane, guided munition, or the like. The method includes automatically compensating for and rejecting uncertain and unmodeled torque disturbances of the actuator motor 102. Those skilled in the art will readily appreciate that the method does not need to be applied to a control surface but may be applied in any suitable application where disturbances may affect motor control in an actuator.


Automatically compensating for and rejecting uncertain and unmodeled torque disturbances can include detecting and compensating for the torque disturbances to maintain accurate position and speed of the actuator motor 102. In certain embodiments, automatically compensating for and rejecting uncertain and unmodeled torque disturbances can include using an extended high gain observer 104, as shown in FIG. 3, to specifically estimate and compensate for high frequency disturbances in the actuator motor.


The high gain observer 104 can incorporate angular wrap-around to permit unlimited integration of motor rotor position for the actuator motor 102. In certain embodiments, the high frequency disturbances can include at least one of time varying load torques, friction, cogging torque, and torque ripple. In certain embodiments, transmitting a drive signal can include commanding the actuator motor 102 for at least one of speed control of the actuator motor or position control of the actuator motor 102.


The method can further include rate limiting speed of the actuator motor 102 by imposing saturation limits on motor position error of the actuator motor 102.


With reference, to FIG. 2, the motor controller 106 receives position commands, e.g., control surface, position, and speed commands, shown by arrow 108. The motor controller 106 receives motor position feedback, shown by arrow 110, from a position encoder 112. Motor controller 106 receives quadrature current and direct current feedback, iq and id, shown by arrow 114, from d-q current model 116. Motor controller 106 sends quadrature voltage and direct voltage feedback, V and vd, shown by arrow 118, to the d-q current model 116. The d-q current model receives voltage feedback, vq and vd, 118 commands and motor position speed 124 feedback, and sends a torque command, shown by arrow 120, to a motor rotor model 122. The motor rotor model 122 receives torque 120 feedback and sends a motor position/speed command, shown by arrow 124, to a transmission 126. The transmission 126 physically transmits surface position and speed, shown by arrow 128, to a control surface 130.


With reference to FIG. 3, the method can further include receiving surface position and surface speed commands 108 for the actuator motor 102, as indicated in FIG. 3 by the arrow 110. The method includes receiving motor position feedback for the actuator motor 102. Receiving direct current feedback from the actuator motor 102, and receiving quadrature current feedback from the actuator motor 102, shown by arrows 114. The method can further include using a high gain observer 104 receiving the motor position feedback 110 and quadrature current feedback 114 to determine a position estimate 136, a torque estimate 138, and a speed estimate 140. The method can further include using a surface position/speed controller 134 receiving the position estimate 136, the torque estimate 138, the speed estimate 140, and the surface position 108 and surface speed 108 commands to determine a quadrature current command. The d-q current controller 132 receives the quadrature current command, the speed estimate 140, the quadrature current feedback, and the direct current feedback to output a command for direct current voltage and a command for quadrature voltage for controlling the actuator motor 102.


The d-q current controller 132 can output the direct current voltage command and the quadrature voltage command 118 to the actuator motor 102 as three-phase, pulse width modulated (PWM) signals. The actuator motor 102 can be connected to actuate a control surface 130 of an airborne platform. A controller 102 as shown in FIG. 1-2 for an actuator 100 includes a processing device configured to perform the methods disclosed herein.


Embodiments can include any suitable computer hardware and/or software module(s) to perform any suitable function (e.g., as disclosed herein). As will be appreciated by those skilled in the art, aspects of the present disclosure may be embodied as a system, method or computer program product. Accordingly, aspects of this disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.), or an embodiment combining software and hardware aspects, all possibilities of which can be referred to herein as a “circuit,” “module,” or “system.” A “circuit,” “module,” or “system” can include one or more portions of one or more separate physical hardware, firmware and/or software components that can together perform the disclosed function of the “circuit,” “module,” or “system”, or a “circuit,” “module,” or “system” can be a single self-contained unit (e.g., of hardware and/or software). Furthermore, aspects of this disclosure may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.


Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a field programmable gate array (FPGA), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.


A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.


Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.


Computer program code for carrying out operations for aspects of this disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language, or firmware programming language such as HDL, or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).


Aspects of this disclosure may be described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of this disclosure. It will be understood that each block of any flowchart illustrations and/or block diagrams, and combinations of blocks in any flowchart illustrations and/or block diagrams, 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 any flowchart and/or block diagram block or blocks.


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 flowchart 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 steps 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 herein.


Those having ordinary skill in the art understand that any numerical values disclosed herein can be exact values or can be values within a range. Further, any terms of approximation (e.g., “about”, “approximately”, “around”) used in this disclosure can mean the stated value within a range. For example, in certain embodiments, the range can be within (plus or minus) 20%, or within 10%, or within 5%, or within 2%, or within any other suitable percentage or number as appreciated by those having ordinary skill in the art (e.g., for known tolerance limits or error ranges).


The articles “a”, “an”, and “the” as used herein and in the appended claims are used herein to refer to one or to more than one (i.e., to at least one) of the grammatical object of the article unless the context clearly indicates otherwise. By way of example, “an element” means one element or more than one element.


The phrase “and/or,” as used herein in the specification and in the claims, should be understood to mean “either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and/or” should be construed in the same fashion, i.e., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and/or” clause, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, a reference to “A and/or B”, when used in conjunction with open-ended language such as “comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc.


As used herein in the specification and in the claims, “or” should be understood to have the same meaning as “and/or” as defined above. For example, when separating items in a list, “or” or “and/or” shall be interpreted as being inclusive, i.e., the inclusion of at least one, but also including more than one, of a number or list of elements, and, optionally, additional unlisted items. Only terms clearly indicated to the contrary, such as “only one of” or “exactly one of,” or, when used in the claims, “consisting of,” will refer to the inclusion of exactly one element of a number or list of elements. In general, the term “or” as used herein shall only be interpreted as indicating exclusive alternatives (i.e., “one or the other but not both”) when preceded by terms of exclusivity, such as “either,” “one of,” “only one of,” or “exactly one of.”


Any suitable combination(s) of any disclosed embodiments and/or any suitable portion(s) thereof are contemplated herein as appreciated by those having ordinary skill in the art in view of this disclosure.


The embodiments of the present disclosure, as described above and shown in the drawings, provide for improvement in the art to which they pertain. While the subject disclosure includes reference to certain 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.






k
T
=k
T

bldc
/√{square root over (3)}Rbldc


The methods and systems of the present disclosure, as described above and shown in the drawings, provide for precision position and/or speed control of actuators in the presence of unknown, nonlinear, time varying torque disturbances such as time varying load torques, friction, torque ripple, and cogging torque. While the apparatus and methods of the subject disclosure have been shown and described with reference to preferred embodiments, those skilled in the art will readily appreciate that changes and/or modifications may be made thereto without departing from the scope of the subject disclosure.

Claims
  • 1. A method of controlling an actuator comprising: transmitting a drive signal to an actuator motor to move a device, including automatically compensating for and rejecting uncertain and unmodeled torque disturbances of the actuator motor.
  • 2. The method as recited in claim 1, wherein automatically compensating for and rejecting uncertain and unmodeled torque disturbances includes: detecting and compensating for the torque disturbances to maintain accurate position and speed of the actuator motor.
  • 3. The method as recited in claim 2, wherein automatically compensating for and rejecting uncertain and unmodeled torque disturbances includes: using an extended high gain observer to specifically estimate and compensate for high frequency disturbances in the actuator motor.
  • 4. The method as recited in claim 3, wherein the high gain observer incorporates angular wrap-around to permit unlimited integration of motor rotor position for the actuator motor.
  • 5. The method as recited in claim 3, wherein the high frequency disturbances include at least one of time varying load torques, friction, cogging torque, and torque ripple.
  • 6. The method as recited in claim 1, wherein transmitting a drive signal includes commanding the actuator motor for at least one of speed control of the actuator motor or position control of the actuator motor.
  • 7. The method as recited in claim 1, further comprising: rate limiting speed of the actuator motor by imposing saturation limits on motor position error used to generate a control signal.
  • 8. The method as recited in claim 1, further comprising: receiving surface position and surface speed commands for the actuator motor;receiving motor position feedback for the actuator motor;receiving direct current feedback from the actuator motor;receiving quadrature current feedback from the actuator motor;using a high gain observer receiving the motor position feedback and quadrature current feedback to determine a position estimate, a torque estimate, and a speed estimate;using a surface position/speed controller receiving the position estimate, the torque estimate, the speed estimate, and the surface position and surface speed commands to determine a quadrature current command; andusing a d-q current controller receiving the quadrature current command, the speed estimate, the quadrature current feedback, and the direct current feedback to output a command for direct current voltage and a command for quadrature voltage for controlling the actuator motor.
  • 9. The method as recited in claim 8, wherein the d-q current controller outputs the direct current voltage command and the quadrature voltage command to the actuator motor as three-phase, pulse width modulated (PWM) signals.
  • 10. The method as recited in claim 9, wherein the actuator motor is connected to actuate a control surface of an airborne platform.
  • 11. A controller for an actuator comprising: a processing device configured to:transmit a drive signal to an actuator motor to move a device, including automatically compensating for and rejecting uncertain and unmodeled torque disturbances of the actuator motor.
  • 12. The controller as recited in claim 11, wherein automatically compensating for and rejecting uncertain and unmodeled torque disturbances includes: detecting and compensating for the torque disturbances to maintain accurate position and speed of the actuator motor.
  • 13. The controller as recited in claim 12, wherein automatically compensating for and rejecting uncertain and unmodeled torque disturbances includes: using an extended high gain observer to specifically estimate and compensate for high frequency disturbances in the actuator motor.
  • 14. The controller as recited in claim 13, wherein the high gain observer incorporates angular wrap-around to permit unlimited integration of motor rotor position for the actuator motor.
  • 15. The controller as recited in claim 13, wherein the high frequency disturbances include at least one of time varying load torques, friction, cogging torque, and torque ripple.
  • 16. The controller as recited in claim 11, wherein transmitting a drive signal includes commanding the actuator motor for at least one of speed control of the actuator motor or position control of the actuator motor.
  • 17. The controller as recited in claim 11, wherein the processing devices is configured to: rate limit speed of the actuator motor by imposing saturation limits on motor position error used to generate a control signal.
  • 18. The controller as recited in claim 11, wherein the processing device is configured to: receive surface position and surface speed commands for the actuator motor;receive motor position feedback for the actuator motor;receive direct current feedback from the actuator motor;receive quadrature current feedback from the actuator motor;use a high gain observer receiving the motor position feedback and quadrature current feedback to determine a position estimate, a torque estimate, and a speed estimate;use a surface position/speed controller receiving the position estimate, the toque estimate, the speed estimate, and the surface position and surface speed commands to determine a quadrature current command; anduse a d-q current controller receiving the quadrature current command, the speed estimate, the quadrature current feedback, and the direct current feedback to output a command for direct current voltage and a command for quadrature voltage for controlling the actuator motor.
  • 19. The controller as recited in claim 18, wherein the d-q current controller is configured to output the direct current voltage command and the quadrature voltage command to the actuator motor as three-phase, pulse width modulated (PWM) signals.
  • 20. The controller as recited in claim 19, wherein the actuator motor is connected to actuate a control surface of an airborne platform.