Systems and methods described herein may perform force and/or torque control and/or estimation for a rotary electric motor using only a high resolution position sensor. These systems and methods may be used for power-autonomous mobile robots, for example. Accordingly, such robots may require a single position transducer per joint to give the rotor's state (position/velocity), and may not require any other sensors for this task (including but not limited to high-side/low-side current sensors, per-phase current sensors, spring deflection sensors, or end-effector force/torque sensors).
The methodology described herein may depend on minimizing the motor controller, motor, transmission, and manipulator dynamics through purposeful design, taking advantage of the specifics of low-end-effector-speed servo control regime as may be found in robotic manipulators. These approximations may allow high-accuracy forward models of the behavior of each subsystem to be defined. Moreover, the resulting composition may provide an analytical mapping between forces produced at the end-effector and command signals.
The system may be rigid (no mechanical springs etc.) so the compliance may be dictated completely by a control law in software if necessary, using a joint encoder already included for commutation. Accordingly, the system may be programmable on the fly and may allow arbitrary stiffness and damping (e.g., up to actuator torque limits and control bandwidth). A direct-drive or low gear ratio motor may be used to minimize unwanted actuator dynamics (e.g., reflected inertia, frictions, backlash, etc.) so that the commanded signals dominate the interaction forces.
The systems and methods described herein may provide precise feed-forward control of motor output force (or torque) based only on an input defining the desired output force (or torque). In some embodiments, the input may be in terms of desired force, using force units, and in other embodiments, the input may be in terms of desired torque, using torque units. In other embodiments, the input may be in terms of multiple desired forces and torques for a system comprising multiple motors. For example, precision may be great enough that the real output force (or torque) matches the desired output force(or torque) within 5-20% error for stationary applications and/or within 10-30% error throughout a motor's velocity/acceleration range. This may be accomplished without any force or current feedback. Some embodiments may use position feedback only to provide certain additional features.
Control system 500 may control motor 200. As detailed below, to control motor 200, control system 500 may start with an input desired force (or torque). Control system 500 may translate the input desired force (or torque) to a control signal that controls motor 200 to generate an output force (or torque) that is substantially the desired force (or torque) (e.g., within 5-20% error for stationary applications and/or within 10-30% error throughout a motor's velocity/acceleration range). The desired force (or torque) is achieved as the output force (or torque) by selecting a control value (i.e., the input desired force) without feedback. Motor systems may accordingly operate without force, torque, or current feedback sensors.
Table 1 provides a listing of symbols and their meanings that are used herein to describe the processing performed by control system 500.
Control system 500 may perform commutation. Unlike with brushed motors, as the rotor in a brushless motor spins, the control system 500 may adjust the winding currents in a frame moving with the rotor. This may rely on a position sensor attached to the rotor (e.g., hall sensor, encoder, or estimator from phase voltages). For low-speed applications such as servo control, for example, an encoder may be used. In sinusoidal commutation, commutation may be performed first and may be followed by tracking of the resulting sinusoidal current command signals. Reference signals may be time-varying (and hence affected by bandwidth phase lag in the current control process). Some embodiments may use sinusoidal commutation, as discussed in the examples herein, but other embodiments may use other techniques such as field oriented control or ideal commutation.
Sinusoidally commutated brushless motor controllers 500 may attempt to drive the three motor windings with three currents that vary smoothly and sinusoidally as motor 200 turns. The relative phases of these currents may be chosen to provide a smoothly rotating current space vector that is substantially always in the quadrature direction with respect to the rotor and has substantially constant magnitude. These characteristics may reduce or substantially eliminate torque ripple and commutation spikes.
In order to generate smooth sinusoidal modulation of the motor currents as motor 200 turns, sinusoidal commutation module 510 may require an accurate measurement of rotor position. Accordingly, angle feedback may be provided by encoder 240 or a similar device.
Control system 500 of
Position information from encoder 240 may be used to synthesize two sinusoids, one 120 degrees phase shifted from the other. These signals may be multiplied by the torque command so that the amplitudes of the sinewaves are proportional to desired torque. Two sinusoidal current command signals appropriately phased to produce a rotating stator current space vector in the quadrature direction may result. The sinusoidal current command signals may be provided as inputs to a pair of controllers (e.g., voltage controller module 240) that may regulate current in the two motor windings. The current in the third motor winding may be the negative sum of the currents in the controlled windings and may not be separately controlled. The output from each voltage controller module 240 may be fed to PWM module 530 and then to the output bridge and two motor terminals. Voltage applied to the third motor terminal may be derived as the negative sum of the signals applied to the first two windings, as appropriate for three sinusoidal voltages each separated by 120 degrees. To the extent that the actual output current waveform accurately tracks the sinusoidal current command signals, the resulting current space vector may be smoothly rotating, constant in magnitude, and oriented in the quadrature direction.
The sinusoidal commutation implementation may rely on the following assumptions:
μs. In some embodiments, the motor controller PWM switching frequency may be chosen to be 19 KHz, resulting in a switching time of tpwm=52 μs, and the FET switching time may be ≈100 ns. We see that tmot>>tpwm, justifying this assumption. If motor 200 with smaller inductance is used, an inductor may be incorporated in series with motor 200.
With these assumptions, a standard lumped parameter model for an electric motor may be as follows. Sinusoidal commutation system may be a simple RL circuit with two voltage sources, the phase voltage and the back EMF caused by the permanent magnets in the stator. Phase currents may be output. Consequently, all other electromagnetic effects of the stator and permanent magnets may be ignored and may be considered in the next step of control. The back EMF voltage source may depend linearly on rotor speed {dot over (q)}r,
Note that there may be two distinct sources of
one due to the rotation of the rotor, causing time-variation in the current reference (described above), which is referred to as
and another as a result of changing current passing through the entire motor, which is referred to as
See Rambabu, S. Modeling and control of a brushless DC motor. Diss. National Institute of Technology Rourkela, 2007, the entirety of which is incorporated by reference herein.
Control system 500 may perform current control. In order that a desired torque, u, be produced, control system 500 may adjust the voltage set to the windings (by adjusting the duty cycle of the PWM signal) in order to produce a desired current. The relation of the current induced to the voltage supplied may depend on the motor electrical parameters (resistance R, inductance L, back-EMF constant ke) and its electrical state (speed {dot over (q)}r, rate of current change
An example standard for motor electrical dynamics is described below.
Voltage controller module 520 may generate a voltage space vector corresponding to a desired current space vector as follows, for example. The standard model for the current control may use a PI controller to track the reference current signal. This may require at least two phase current sensors to be incorporated into the electrical design. These current sensors and their A/D converters may be expensive (in terms of cost), may require expensive processor time to sample in synchrony with the PWM signal, and may require either processor time or hardware filters to reject noise. A mathematical model for this is
v=k
F
u+k
p
e+k
l
∫e dt, # (2)
where
is the current tracking error, kF is a constant feedforward coefficient which may be used in the embodiments described below, and kp, kl are PI gains that are used in standard implementation and tuned by hand.
Some embodiments may use the following approximate model for current control. In a high-transparency robotic manipulator, the following assumptions specific to the regime of operation may apply:
Given a) and b), the time-variation in the reference current signals due to motor rotation may be expected to be in the same order-of-magnitude as the time-variation in the desired input. This suggests that the benefits of FOC (minimizing the impact of
in current control) may be irrelevant in this regime. Consequently, FOC may be dropped in favor of sinusoidal commutation, which in return allows for a large reduction in computational complexity.
Second, in some embodiments,
in (2) above, resulting in the simple voltage controller
Note that this formulation may justify not using any current sensors,. This simplification may be justified since the closed-loop tracking error becomes (from (1) and (2)),
Since ke=kt.
Given a) and c), the second and third summand on the right may be small. The first term may provide rapid stabilization of the error, and the last term may be a “disturbance” to this system that may not be modeled apriori (task-dependent). Minimizing this term may be difficult in any implementation, and thus the controller (3) may be adequate for near-perfect current tracking, i.e. e→0 and subsequently
Lastly, whereas PI controllers can be tricky to stabilize in the presence of rapidly changing reference signals (high |{dot over (u)}|), the previous approximation may minimize or eliminate this avenue of possible instability.
PWM module 530 may convert desired voltage space vector to PWM duty cycles. Details of space vector modulation for PWM can be found in: Ahmed, Waheed, and Syed M. Usman Ali. “Comparative study of SVPWM (space vector pulse width modulation) & SPWM (sinusoidal pulse width modulation) based three phase voltage source inverters for variable speed drive.”IOP Conference Series: Materials Science and Engineering. Vol. 51. No. 1. IOP Publishing, 2013, the entirety of which is incorporated by reference herein. While example embodiments herein use PWM to generate the control signals for motor 200, other embodiments may use other techniques such as analog control.
The above-described motor control may utilize a special operating regime (low-speed servo control) that allows for a good forward model of phase current i produced from input signal u, and the ability to take advantage of this model by reducing complexity of both the hardware and software components of this block as compared with traditional approaches, while still retaining good performance.
Specific details of motor construction may relate the current in the phases to the theoretical torque of the motor. The simplifications in the following description may provide that the motor torque may be assumed to be linearly related to motor current.
Starting with Faraday's law (induced voltage is linearly related to the velocity of the windings with respect to the permanent magnets) and Lorentz's law, (force is linear with the current in the windings) the standard model may consider the torque produced in a single lumped winding as τ=4Fr, where F is the force produced by a single winding pass. This force may be multiplied by two since the loop must go up the stator tooth, then back again, and multiplied by two again because there are two active phases in a 3-phase motor. The force may be broken down further as: F=mnlrBi according to the exact winding specifications of the winding and the strength of the permanent magnetic field, B. This magnetic field may be a function of the magnet grade (for typical Neodymium Iron Boron chemistry), temperature, permeability, and magnetic field strength, all of which may be shown in a B-H curve. All this complexity may be lumped into the magnet permeability, so B=p(c,H,T)H.
In this embodiment, the permanent magnets may be at a temperature and field strength corresponding with the linear portion of the BH curve, meaning B=pH. These embodiments may use magnets of grade N35SH, which has a maximum working temperature of 150° C. and a Curie temperature of 340° C., ensuring linear operation for a large fraction of the field strength range (e.g., in some examples, nonlinearity was only empirically noticeable starting at 2.5× continuous torque). This assumption may provide the following model:
τm=4mnlrBi=kti, so kt=4mnlrB.
Example standard models for rotational dynamics of the motor, gearbox dynamics, and arm/leg linkages may be as follows. These elements may be simplified as described with respect to the “full mechanical system and implementation justification” below.
The standard model for the rotational dynamics of the motor is τr=τm−Jr{umlaut over (q)}r−br{dot over (q)}r−μr({dot over (q)}r), where the dynamics include the rotor inertia, viscous friction (assumed to be linear with velocity), and dry friction (either static or kinetic friction depending on motor velocity).
The gearbox dynamics may be a significant source of friction and may scale the motor dynamics, as seen at the output, τg.The standard model for the gearbox dynamics is τg=Gτr−Jg{umlaut over (q)}g−bg{dot over (q)}g−μg({dot over (q)}g).
In cases where multiple actuators are used, they may be combined into an arm or leg using a linkage. The standard model for linkages may include rigid body dynamics and various frictions in matrix form, e.g., τ=JTF=τ0−M(q){umlaut over (q)} −C(q,{dot over (q)}){dot over (q)}+g(q)−bm{dot over (q)}−μm({dot over (q)}).
The remaining discussion describes a full mechanical system and implementation justification according to an embodiment of the invention. Combining the motor mechanics, gearbox, series-elastic element, and arm/leg linkage dynamics may yield the following:
τ=JTF=τm−(G3Mr+Mg+M){umlaut over (q)}−(G2br+bg+C+b){dot over (q)}−(Gμr+μg+μ)−ks(q−q*)−kd({dot over (q)}−{dot over (q)}*)+g
The encoders used for commutation may be differentiated numerically to obtain an estimate of velocity and acceleration. Consequently, given sufficient characterization of the dynamic properties, all the terms on the right side may be estimated. Embodiments described herein may minimize the inertia and frictions so that small errors in velocity and acceleration map to very small errors in torque. The strategy employed may minimize the actuator, transmission, and linkage dynamics.
To minimize gear ratio and actuator dynamics, a high-transparency actuator may either be direct-drive (no gearbox) or have a small gear reduction (e.g., less than 30:1). Since the gearbox is either small or non-existent, the following terms may also be small, with the first three being zero in the case of direct-drive: {G3Mr, G2br, Gμr, Mg, bg, μg}. For example, the mechanical properties of an example implementation lacking a series elastic element (T-Motor U8, DD, no series elastic element (SEA)) may give the results in Table 2.
it is clear that the above terms in the direct drive implementation may be small enough to be neglected. Moreover, the accelerations and velocities of the motor may be small (linear in G) with the joint velocity/acceleration (which may be small by motor standards), and the product may be small, and hence the magnitude of the estimator error may be small. This high-transparency actuator may be accomplished by the following design strategies, which may serve to decrease the necessary mechanical reduction (gear ratio, etc.) for a given torque or force requirement:
1) To improve mass-specific torque, brushless outrunner (rotor on the outside) motors with a large gap radius and minimal thickness may be used. For example, the ratio of gap radius to thickness may be 1 or more (e.g., an example embodiment may have a gap radius of 43 mm and thickness of 26 mm for a small 250 g motor). The larger the mass-specific torque of the motor, the smaller the necessary gear ratio for a given torque requirement.
2) By monitoring the temperature of the motor windings, the torque may be safely brought above its thermally continuously sustainable limit. Because it may be difficult to instrument the motor windings directly, a thermal observer may be used to estimate winding temperature.
3) As large as possible mass fraction of the machine may be devoted to the actuators to improve the full system's mass-specific torque.
4) An actuator may be selected with good thermal specific torque (Nm/(kg °C.0.5)), for example a thermal specific torque to gap radius (in meters) greater than 4 (Nm/(kg °C.0.5))/m. A further advantage, alongside the desirable geometric traits for a motor, may be that lightweight construction can be prioritized by using lower density structural materials such as aluminum or composites for the rotor and most of the stator (the exception may be inside the windings, where high flux density may be preferable). An open-back design may be employed, as it may be attached to a frame or heatsink for improved heat dissipation, in addition to the active convection provided by the spinning rotor. Good winding wire packing density and many pole pairs may be desirable.
5)
by up to a factor of 4.
6) When a linkage with multiple degrees of freedom is used, actuated degrees of freedom (n) may be minimized, as mass-specific torque decreases ∝n−1 in parallel and ∝n−2 in series.
7) For a parallel linkage such as the symmetric five bar 802 shown in
A light linkage with low-friction joints may be used to minimize {M, C, b, μ, g}. This may be aided by using as few active degrees of freedom as possible (for example 2/leg instead of 3+), and/or by using tubular or composite structures.
As discussed above, the disclosed systems and methods may perform feed-forward motor control based only on a desired force (or torque) input to drive motor output force (or torque) to be substantially the same as the desired force (or torque). Some embodiments may use position information to perform commutation. Some embodiments may further use the position information to include the following additional features. Note that current feedback, torque feedback, and/or force feedback are not required for the additional features.
Desired impedance may be achieved through virtual compliance (having the motors mimic arbitrary spring-damper systems) instead of by using mechanical springs and dampers. This strategy may be possible if the reflected inertia of the motor and transmission is small, achieved by the above strategies, thereby eliminating the following terms completely: {ks, kd}.
Microcontroller 300 may compute a voltage signal 301 that may be sent back to the motor, Vc, depending on the specifics of the active compliance law (kp, kd, θr). Voltage signal 301 may be the voltage control signal that is converted into a control signal for motor 200 by PWM module 530 (i.e., the output of voltage controller 520), for example. The external torque, τ, acting on the motor shaft may be decomposed into lost torque information, for example due to friction, τf, and the estimated torque, τe, based on readings from the position sensor and programmed active compliance parameters.
While various embodiments have been described above, it should be understood that they have been presented by way of example and not limitation. It will be apparent to persons skilled in the relevant art(s) that various changes in form and detail can be made therein without departing from the spirit and scope. In fact, after reading the above description, it will be apparent to one skilled in the relevant art(s) how to implement alternative embodiments. For example, other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Accordingly, other implementations are within the scope of the following claims.
In addition, it should be understood that any figures which highlight the functionality and advantages are presented for example purposes only. The disclosed methodology and system are each sufficiently flexible and configurable such that they may be utilized in ways other than that shown.
Although the term “at least one” may often be used in the specification, claims and drawings, the terms “a”, “an”, “the”, “said”, etc. also signify “at least one” or “the at least one” in the specification, claims and drawings.
Finally, it is the applicant's intent that only claims that include the express language “means for” or “step for” be interpreted under 35 U.S.C. 112(f). Claims that do not expressly include the phrase “means for” or “step for” are not to be interpreted under 35 U.S.C. 112(f).
This application claims the benefit of priority from U.S. Provisional Application No. 62/292,128, filed Feb. 5, 2016, the entirety of which is incorporated by reference herein.
This invention was made with government support under grant no. W911NF-10-2-0016 awarded by the U.S. Army. The government has certain rights in the invention.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2017/016151 | 2/2/2017 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62292128 | Feb 2016 | US |