A controller for controlling a motor comprises a processor and a memory having instructions stored thereon that, when executed by the processor, cause the controller to collect a feedback signal indicative of the current state of an operation of the motor and determine current constraints on parameters of the operation of the motor using model of dynamics of the motor connecting the current state of the motor with the current constraints on the operation. The processor is further configured to determine a control trajectory of the operation of the motor based on the current constraints on parameters of the operation of the motor using a parametrized estimation agnostic to the dynamics of the motor and control the operation of the motor according to the control trajectory.
Legal claims defining the scope of protection, as filed with the USPTO.
collect a feedback signal indicative of a current state of an operation of the motor; determine current constraints on parameters of the operation of the motor using a model of dynamics of the motor connecting the current state of the motor with the current constraints on the operation; determine a control trajectory of the operation of the motor based on the current constraints on parameters of the operation of the motor using a parametrized estimation agnostic to the dynamics of the motor; and control the motor according to the control trajectory. . A controller for controlling a motor, the controller comprising: a processor; and a memory having instructions stored thereon that, when executed by the processor, cause the controller to:
claim 1 . The controller of, wherein the controller controls the motor over a sequence of control steps including a first control step having a first value of the current constraints and a second control step having a second value of the current constraints different from the first value of the current constraints, such that the reference trajectory is updated between the first and the second control step.
claim 1 a motion planner configured to generate a parameterized reference trajectory using predetermined constraints on the operation of the motor; constraint estimator configured to estimate the current constraints on parameters of the operation of the motor; and a motion reshaper configured to reshape the parameterized reference trajectory based on the current constraints to generate the control trajectory. . The controller of, wherein the memory stores executable instructions forming modules of the controller executed by the processor for controlling the motor, the modules comprising:
claim 3 . The controller of, wherein the motion reshaper is implemented as a reference governor accepting dynamically varying constraints on the operation of the motor.
claim 4 determine reference points at each time step of the parameterized reference trajectory, wherein each reference point of the reference points includes a desired velocity at a corresponding time step and a desired acceleration at a next time step; reshape each desired acceleration and a corresponding desired velocity, based on the dynamically varying constraints on the operation of the motor to generate reshaped feasible reference acceleration and reshaped feasible reference velocity for the motor corresponding to each desired acceleration and the corresponding desired velocity; and generate the control trajectory, based on the reshaped feasible reference acceleration and reshaped feasible reference velocity generated for each reference point of the parameterized reference trajectory. . The controller of, wherein the motion reshaper is configured to:
claim 5 generate a reshaped reference trajectory, based on the reshaped feasible reference acceleration and reshaped feasible reference velocity generated for each reference point of the parameterized reference trajectory; and adjust the reshaped reference trajectory, based on the target state to produce the control trajectory. . The controller of, wherein the motion planner is further configured to generate the parameterized reference trajectory, based on a target state of operation of the motor, wherein to generate the control trajectory, the motion reshaper is further configured to:
claim 5 . The controller of, wherein to reshape each desired acceleration and a corresponding desired velocity, the motion reshaper is configured to formulate and solve an optimization problem subject to the dynamically varying constraints on the operation of the motor.
claim 5 formulate a velocity optimization problem with velocity at the next time step being a decision variable; and execute a sequential search over a finite set of solution candidates, subject to the velocity optimization problem. . The controller of, wherein to reshape each desired acceleration and a corresponding desired velocity, the motion reshaper is configured to:
claim 4 determine a next point corresponding to a reference point at current time step on the parameterized reference trajectory, wherein the next point includes a desired velocity at the current time step and a desired acceleration at a next time step subsequent to the current time step; reshape the desired acceleration and the corresponding desired velocity, based on the dynamically varying constraints on the operation of the motor to generate reshaped feasible reference acceleration and reshaped feasible reference velocity for the motor; and generate the control trajectory, based on the reshaped feasible reference acceleration and reshaped feasible reference velocity. . The controller of, wherein the motion reshaper is configured to:
claim 9 generate a reshaped reference trajectory, based on the reshaped feasible reference acceleration and the reshaped feasible reference velocity for the motor; and adjust the reshaped reference trajectory, based on the target state to produce the control trajectory. . The controller of, wherein the motion planner is further configured to generate the parameterized reference trajectory, based on a target state of operation of the motor, wherein to generate the control trajectory, the motion reshaper is further configured to:
claim 3 extract a current state of the motor from the feedback signal; and estimate the current constraints including current torque bounds of the motor defining maximum and minimum torque given the state of the operation of the motor. . The controller of, wherein the constraint estimator is configured to
claim 11 . The controller of, wherein the motion reshaper adjusts the parameterized reference trajectory based on the current torque bounds.
claim 11 . The controller of, wherein the constraint estimator is configured to determine, the current constraints based on an analytical mapping from parameters of a model of dynamics of the motor to the maximum and minimum torque, given the current state of the operation of the motor.
claim 13 . The controller of, wherein the modules further include a dynamics estimator configured to estimate the parameters of the model of dynamics of the motor from a sequence of measurements of the state of the motor.
claim 1 . The controller of, wherein the processor is configured to update the parameters of the model of dynamics of the motor by decreasing an error between a predicted state of operation of the motor and the current state.
claim 3 . The controller of, wherein the predetermined constraints are acquired by a restriction on kinematic variables of the state of the motor.
collecting a feedback signal indicative of the current state of an operation of the motor; determining current constraints on parameters of the operation of the motor using a model of dynamics of the motor connecting the current state of the motor with the current constraints on the operation; determining a reference trajectory of the operation of the motor based on the current constraints on parameters of the operation of the motor using a parametrized estimation agnostic to the dynamics of the motor; and controlling the operation of the motor according to the control trajectory. . A computer implemented method for controlling a motor, comprising:
claim 17 . The method of, further comprising controlling the motor over a sequence of control steps including a first control step having a first value of the current constraints and a second control step having a second value of the current constraints different from the first value of the current constraints, such that the reference trajectory is updated between the first and the second control step.
claim 17 generating a parameterized reference trajectory using predetermined constraints on the operation of the motor; estimating the current constraints on parameters of the operation of the motor; and reshaping the parameterized reference trajectory based on the current constraints to generate the control trajectory. . The method of, further comprising:
claim 19 . The method of, wherein reshaping the parameterized reference trajectory is executed using a reference governor accepting dynamically varying constraints on the operation of the motor.
Complete technical specification and implementation details from the patent document.
The present disclosure relates generally to motion control systems and more particularly to systems and methods for optimizing the performance of motors in such systems.
Controlling a precision motion system requires a real-time control strategy for its associated motor drive. In precision motion systems, such as those based on motor drives, controlling the movement of components of the system with high accuracy and speed is crucial. One approach in this regard employs a control strategy that dictates how the machine's motor should operate. However, developing an effective control strategy presents several challenges, especially when balancing the need for precision with the constraints of limited computational resources.
Conventional control strategies for such systems are mainly of two types: optimization-based approaches and parameterized trajectory control strategies. The optimization-based approach generates optimal motion trajectories that ensure the motor operates within its physical limits. However, they are computationally intensive and time-consuming, making them difficult to implement on machines with limited computational power, especially in real-time applications. The parameterized trajectory control strategies on the other hand are designed to be computationally efficient, generating motion trajectories quickly using predefined parameters. However, they do not fully account for the motor's dynamic constraints, which can result in trajectories that are not physically feasible. To prevent unsafe or infeasible operations, conservative safety margins are applied, which reduce the system's overall speed and productivity.
Accordingly, there is a need for control solutions for precision motion systems that are fast, efficient and can produce feasible trajectories.
Some embodiments are directed towards solutions for faster and more efficient positioning of objects by solving open-loop optimal control problems and reshaping baseline trajectories to fully utilize a motor's capabilities. It is an object of several embodiments to provide a motion control system which can complete a positioning task as quickly as possible.
A motion control system includes one or a combination of a motion planner, (motion) tracking controller, an amplifier, and a motor. The motion planner generates a reference trajectory of the motion of the motor. The tracking controller determines a control signal to ensure the motor follows the reference trajectory. In some embodiments, the control signal may be a torque command. The amplifier converts the control signal to voltage supplied to motor, and the motor drives the load with electromagnetic torque. Some example embodiments are based on the realization that the motion planner, without accurate information about the underlying motor information, might generate a reference trajectory that is not feasible for the motor to follow (dynamically infeasible). In order to prevent occurrence of the dynamical infeasibility, the motion planner tends to introduce an unnecessarily large safety margin during trajectory generation and produces a conservative reference trajectory which does not fully utilize the torque capacity of the motor—something which is a compromise on the productivity of the motion control system.
Some example embodiments provide a fast motion control system and methods to generate a (less conservative) fast dynamically feasible trajectory of the motion of the motor of the motion control system to reduce the conservatism in the baseline method wherein, the torque constraint is not accurately known and thus a large safety margin is introduced to ensure the dynamical feasibility of the generated trajectory.
It is a further object of the invention to provide a method for generating dynamically feasible trajectory of a motion of a motor of the motion control system, by considering various constraints of the motion control system including velocity, acceleration, current, torque, and voltage constraints.
Some embodiments are based on a realization of a hybrid approach for trajectory estimation that uses the dynamics of the motor to generate constraints on the operation of the motor and uses these constraints to generate the trajectory using a parametrized estimation agnostic to the dynamics of the motor. Further, using the generated constraints results in a more accurate parameterized trajectory than using the constraints predetermined in advance, because the constraints change over time. In effect, the embodiments provide a faster and more accurate generation of the reference trajectory via dynamically parameterized trajectory generation.
Accordingly, one embodiment discloses a method for generating a control signal for controlling an operation of a motion control system suitable for positioning a load. The method includes determining parameters of a dynamic model of the motor, constructing torque bounds of the motor; determining a trajectory of the control signal based on the constructed torque bounds; and generating the control signal based on the trajectory and a current state of the system, wherein the steps of the method are performed by a processor.
It is a further object of the invention to provide a method such that the torque bounds (constraints) can be constructed based the dynamic model of motor, where the torque constraints are represented as a lower bound and upper bound functions, wherein both functions are dependent on motor speed. The torque constraint modeling module builds an analytical mapping from the motor's dynamic model parameters to the maximum and minimum torque given the physical characteristics of the motor. The maximum and minimum motor torques are affected by the motor speed and voltage supplied to the motor. Thus, with the motor speed changing, the maximum and minimum motor torque can be different than the empirical value commonly used in the literature. This module can provide realistic information on the motor torque capacity, enabling the generation of dynamically feasible reference trajectories by explicitly taking motor torque capacity information into account.
It is a further object of the invention to provide a method such that values of parameters of the dynamic model of the motor can be estimated based on online measurement of motor operation data. Some embodiments of the invention are based on a realization that given measurements of motor currents and speed, the inductance and permanent magnet flux, a portion of parameters of the dynamic model of the motor, can be estimated by a dynamic parameter estimator. The dynamic parameter estimator estimates the motor parameters while the motor is running with conservative trajectory. The dynamic parameter estimator takes the motor current, voltage, and rotational speed as inputs, updates the estimated parameters by decreasing the error between the predicted currents and the measured currents. Thus, the parameter estimator module estimates the motor's major parameters while the motor is running, which enables the motor constraint modeling module.
In some embodiments, a fast trajectory can be generated by solving open-loop optimal control problem with the constructed torque constraints, velocity constraints, and boundary conditions wherein boundary conditions represent the initial and final position of the motion control system.
In some embodiments, a fast trajectory is determined by a motion reshaper which reshapes a baseline trajectory (output of conventional motion planner) by combining the learned torque bounds with a reference governor, wherein the baseline trajectory is generated by the conventional motion planner based on the rough knowledge of velocity, acceleration and torque constraints, and thus might be dynamically infeasible when the safety margin is small. The motion reshaper takes in the conventional trajectory produced by existing motion planner and returns the closest acceleration to the original one, where the motor torque constraint is explicitly addressed by the motion reshaper. Then the original desired acceleration is reshaped such that the motor toque constraints are satisfied.
Towards these ends, it is an objective of some example embodiments to provide systems, methods and computer program products for controlling a motor.
Accordingly, some example embodiments provide a controller for controlling a motor. The controller comprises a memory storing instructions and a processor configured to execute the instructions to control the motor. In this regard, the controller collects a feedback signal indicative of the current state of an operation of the motor. The controller determines current constraints on parameters of the operation of the motor using dynamics of the motor connecting the current state of the motor with the current constraints on the operation. The controller also determines a reference trajectory of the operation of the motor given the current constraints on parameters of the operation of the motor using a parametrized estimation agnostic to the dynamics of the motor. The controller controls the operation of the motor according to the determined reference trajectory.
In yet another example embodiment, a computer-implemented method for controlling a motor is provided. The method comprises collecting a feedback signal indicative of the current state of an operation of the motor and determining current constraints on parameters of the operation of the motor using dynamics of the motor connecting the current state of the motor with the current constraints on the operation. The method also comprises determining a reference trajectory of the operation of the motor given the current constraints on parameters of the operation of the motor using a parametrized estimation agnostic to the dynamics of the motor and controlling the operation of the motor according to the determined reference trajectory.
In yet some other example embodiments, a non-transitory computer readable medium having stored thereon computer executable instructions for performing a method for controlling a motor is provided. The method comprises collecting a feedback signal indicative of the current state of an operation of the motor and determining current constraints on parameters of the operation of the motor using dynamics of the motor connecting the current state of the motor with the current constraints on the operation. The method also comprises determining a reference trajectory of the operation of the motor given the current constraints on parameters of the operation of the motor using a parametrized estimation agnostic to the dynamics of the motor and controlling the operation of the motor according to the determined reference trajectory.
While the above-identified drawings set forth presently disclosed embodiments, other embodiments are also contemplated, as noted in the discussion. This disclosure presents illustrative embodiments by way of representation and not limitation. Numerous other modifications and embodiments can be devised by those skilled in the art which fall within the scope and spirit of the principles of the presently disclosed embodiments.
The following description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the following description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing one or more exemplary embodiments. Contemplated are various changes that may be made in the function and arrangement of elements without departing from the spirit and scope of the subject matter disclosed as set forth in the appended claims.
Specific details are given in the following description to provide a thorough understanding of the embodiments. However, understood by one of ordinary skill in the art can be that the embodiments may be practiced without these specific details. For example, systems, processes, and other elements in the subject matter disclosed may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known processes, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments. Further, like-reference numbers and designations in the various drawings may indicate like elements.
Also, individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process may be terminated when its operations are completed but may have additional steps not discussed or included in a figure. Furthermore, not all operations in any particularly described process may occur in all embodiments. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, the function's termination can correspond to a return of the function to the calling function or the main function.
Furthermore, embodiments of the subject matter disclosed may be implemented, at least in part, either manually or automatically. Manual or automatic implementations may be executed, or at least assisted, through the use of machines, hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine-readable medium. A processor(s) may perform the necessary tasks.
1 FIG.A 101 108 101 101 101 101 100 shows one embodiment of a controllerdesigned for controlling the operation of a motor. The controllercomprises a processorA and a memoryB having instructions stored thereon. The processorA executes the instructions to perform a series of stepsto effectively manage and regulate the motor's operation, ensuring it operates within defined parameters and under optimal conditions. The steps executed by the controller are described as follows.
101 102 108 108 108 108 108 109 108 The controllerbegins by collectinga feedback signal that is indicative of the current state of the motor's operation. The feedback signal includes measurements such speed of the motor, torque of the motor, position of the motor, current of the motor, voltage of the motor, or inductance of the motor. The feedback signal serves as a real-time representation of the motor's operational state and is essential for subsequent control steps. The feedback signal may be derived from one or more sensorsattached to the motoror from other monitoring systems integrated within the motor's operation framework.
101 103 108 108 108 108 Upon acquiring the feedback signal, the controllerdeterminesthe current constraints on various parameters of the motor's operation. This determination is made using a model of the motor's dynamics. The model of dynamics encapsulates the physical and operational relationships that govern the motor's behaviour, connecting the current state with the potential constraints that are present. These constraints include, limitations speed of the motor, acceleration of the motor, torque of the motor, or inductance of the motor.
101 104 108 108 After establishing the current constraints, the controllerproceeds to determinea control trajectory for the motor's operation. The control trajectory represents a planned sequence of control actions that guide the motorfrom its current state towards a desired target state. The control trajectory is determined based on the previously identified constraints but is calculated using a parametrized estimation that is agnostic to the detailed dynamics of the motor. The parametrized estimation involves in altering the parametrized reference trajectory by reshaping it based on the current constraints.
101 107 108 101 108 101 Finally, the controllercontrolsthe motorbased on the control trajectory by implementing the control trajectory to manage the motor's operation. The control signals generated by the controllerare applied to the motor's drive system, which includes motor control hardware. By following the control trajectory, the motoris guided through its operational states in a manner that respects the identified constraints, thereby achieving the desired trajectory. The control process may be continuous or discrete, with the controllerrepeatedly adjusting the control signals based on updated feedback signals, thus ensuring real-time adaptability to changing conditions.
1 FIG.B 145 150 105 106 106 150 110 115 116 120 147 145 151 150 135 116 121 120 136 140 136 121 140 141 145 150 150 illustrates a block diagram of a motion control system where at least one electric motoris employed as a force or torque actuator to drive a loadfrom an initial state to a target state accurately and quickly. A userspecifies task informationfor example by providing an input through a suitable interface. The task informationdefines a target state for the load. Using the target state, constraints, and model of the electric motor, a motion plannerdetermines a reference trajectory. A sensing modulesenses the stateof the motorand the stateof the load. A tracking controllerreceives the reference trajectoryand signal(indicative of state of the motor system) from the sensing moduleand outputs a command signalto drive unit. With the command signaland the sensed signal, the drive unitdetermines voltagesto power the motorwhich is mechanically coupled with the loadso that the loadis moved towards the target state.
106 150 f In some embodiments, the task informationcomprises the target location and a preferred task completion time tof a machine tool which moves in a task space. In some embodiments, the task space is one dimensional, for example, corresponding to the horizontal x-axis of the Cartesian coordinates, or two dimensional, corresponding to the 2D plane defined by the horizontal x-axis and vertical y-axis of the Cartesian coordinates. To perform a task which requires to move the loadin multiple dimensions, multiple motors may typically be used, wherein each motor is used to drive the movement in an individual dimension.
145 145 150 In some embodiments, the motoris a type of surface-mounted permanent magnet synchronous motor (SPMSM). The dynamics of the motorand the loadin a particular dimension can be modeled as follows
d q d q pm q T 5 T 2 where notations are summarized in Table 1; x≙[iiω s v]∈is the state; u≙[uu]∈is the control; Z>0 is a known gear ratio. Denote τ≙1.5pΦias the motor torque and a ° TZ as the machine tool acceleration. s and v are the motion states. A fact from available knowledge is that v=Zω.
Symbol Description Sym. Description d q L, L inductance in d- and q-axis ω rotor angular velocity d q I, I current in d- and q-axis s machine tool position d q u, u voltage in d- and q-axis v machine tool velocity pm Φ permanent magnet flux J motor rotor inertia + load inertia max V max DC bus voltage p number of pole pairs max I max current R winding resistance
des ˜ Subscriptindicates desired value; hat {circumflex over ( )} indicates value estimate; tildeindicates estimate error.
106 115 150 f f f f f In some embodiments, the target state in taskis parameterized by s(t)=s, v(t)=0 and a given finite final time t. The initial state, without loss of generality, is parameterized by s(0)=0, v(0)=0. The motion planneris configured to generate a reference trajectory to move the loadfrom the initial state to the target state within t.
105 f In some embodiments, the userhopes to accomplish a task as quick as possible, which means the final time tmay not be explicitly given by user.
110 110 115 116 115 1 1 FIGS.D andE The constraintscharacterize the restriction on kinematic variables of the motion control system such as velocity and acceleration of motor (or equivalently load), where the velocity and acceleration are bounded by certain pre-defined curves—typically constant curves or piece wisely linear curves. Alternately, the constraintsmay be represented as pre-defined piece wisely linear functions to characterize the restriction on motor torque capacity. The motion plannerdetermines the reference trajectorybased on the pre-defined constraint functions, whereingive an example of the (angular) position and velocity profiles of the (motor) load over time. To quickly generate the reference trajectory, the motion plannergenerally cannot include any dynamical information or complex constraints which explain the use of constant or piecewise constant constraints.
110 116 110 Some embodiments are based on the realization that the pre-defined functions representing constraintsare not accurately, and thus available solutions have to either 1) introduce a sufficiently large safety margin in the motion planner to ensure the reference trajectoryis always dynamically feasible—i.e., slow down the motion unnecessarily and sacrifice the productivity; or 2) risk the feasibility by imposing a smaller safety margin in the motion planner—i.e., potentially sacrifice the product quality. It is an object of this invention to provide a method to infer the constraintsaccurately and thus reduce the size of safety margin while maintaining dynamic feasibility of the reference trajectory.
110 Some embodiments are based on the realization that the constraintsare not stationary over time, instead they are dependent on the dynamic model, operation history, and operation conditions of the motion control system, wherein the dynamic model parameters change during operation. It is object of some embodiments to learn the constraints online and generate the motion profile accordingly. These pre-defined constraints functions do not faithfully reflect the constraints during operation.
d q pm In some embodiments, the dynamic model parameters β≙[LLφ]T are unknown or change whereas parameters p, R are treated as known.
max max 140 141 In some embodiments, the operation conditions include the maximum voltage Vpowering the drive unitto generate voltageand the maximum current Ithat the motor can sustain. In reality, the operation constraints of the system are given by
dq,max max max m 115 where V≙V/√{square root over (3)}−RI>0 is the maximum voltage dropping to overcome back-EMF (counter-electromotive force); ω(β) is the motor's max angular velocity, which is a function of motor parameters β. Consideration of such constraints in the motion plannerfor reference trajectory generation is time-consuming.
121 145 150 In some embodiments, sensing signalinclude the phase currents of the motor, the angular position of the motor shaft, and the position of the load.
135 121 136 145 In some embodiments, the tracking controller, comparing the sensed signalagainst the reference trajectory, implements a proportional, integral and derivative (PID) control strategy or its variants to determine the command signalin the form of reference torque for the motorto produce.
1 FIG.C 140 140 140 140 136 135 140 1 140 145 141 140 140 1 140 145 140 1 shows one embodiment of the drive unitwhich includes a current controllerA and a power moduleB (also termed voltage source inverter). The current controllerA taking the reference torquefrom the trajectory tracking controller, executes a control algorithm to determine phases voltage commandAthat the power moduleB should supply to the motor. The output phase voltageof the power moduleB tries to track the voltage commandAit receives. In some embodiments, the current controllerA first implements a minimum copper loss control strategy to determine reference currents that the motorshall produce and then another vector control strategy to determine the reference voltageAto ensure the motor current follows the reference currents.
2 FIG.A 1 FIG.B 110 216 205 210 211 215 216 max max discloses a framework of implementing a fast motion control system wherein the constraintsare learned and constructed online and used to generate a fast and dynamically feasible reference trajectory. Description of the components that are common tois not repeated for the sake of brevity. An estimatorestimates the unknown parameters β of the dynamic model and based on the known parameters such as p, R, V, Iand the estimated parameters {circumflex over (β)}, constraint learning moduleconstructs the dynamic torque constraintsfor the motion plannerto use for the generation of the reference trajectory.
2 FIG.B 215 211 106 115 216 illustrates one embodiment of motion planneraccording to some embodiments. Dynamic constraintsand task informationare submitted to a revised motion plannerB which computes the dynamic feasible reference trajectoryby solving a constrained optimal control problem.
2 FIG.C 115 115 116 110 220 116 216 teaches one embodiment of the motion planneraccording to some embodiments, wherein the motion plannerdetermines the reference trajectorywhich may be dynamically infeasible because the constraintsonly considers a small safety margin. A motion reshaperprocesses taskbased on the dynamic constraints to produce the dynamically feasible reference trajectory.
According to some embodiments, although fluctuating by temperature, R is not treated as an unknown parameter. This is because its fluctuation merely contributes to ˜1% of torque capacity uncertainty. This invention discloses the embodiment when the torque load is positive.
3 FIG.A 205 125 121 123 122 130 122 206 123 discloses an embodiment of estimatoraccording to some embodiments. The adaptive estimation blockcollects the sensed signaland the internal estimated signalas input and returns the estimated time derivative signal. Then, the internal estimation update moduletakes in the estimated time derivative signaland returns the estimated motor parametersand the internal estimated signal.
125 In some embodiments, the adaptive estimation blockreparametrizes the motor model parameters β that need to be estimated as
Thus, the motor current dynamics, i.e. the first two rows of (1), can be rewritten in linearly parameterized form, particularly,
d d d q q q q d 1×2 1×3 125 where ψ≙[−Ri+upωi]∈and ψ≙[−Ri+u−pωi−pω]∈. The adaptive estimation blockformulates an adaptive parameter estimation rule as follows:
L d L q d q d q d q d q 2 3 2 3 2×2 3×3 here K, K>0 are some prescribed observer gains, μ∈, μ∈are the states of the observer, representing the adaptive gain vectors, and {circumflex over (θ)}∈and {circumflex over (θ)}∈are the estimation of θ. Γ∈and Γ∈are some positive definite adaptation gain matrices. One can rewrite the dynamics of estimated d- and q-currents, denoted as {circumflex over (ι)}, {circumflex over (ι)}, in (3), as follows:
121 125 125 122 d q d q d q d q d q d q The sensed signalpasses ψ, ψ, μ, μ, i, ito the adaptive estimation block. The adaptive estimation blockreturns the estimated time derivative signal, i.e. {dot over (i)}, {dot over (i)}, {dot over ({circumflex over (θ)})}, {dot over ({circumflex over (θ)})}, {dot over (μ)}, {dot over (μ)}.
130 123 d q d q d q In some embodiments, the internal estimation update moduleupdates the internal estimated signal, i.e. {circumflex over (ι)}, {circumflex over (ι)}, {circumflex over (θ)}, {circumflex over (θ)}, μ, μ, as follows:
130 206 where δ>0 is a prescribed time step. Then, the internal estimation update modulereturns the estimated motor parametersas follows:
d d where {circumflex over (θ)}[1] denotes the first element of the vector {circumflex over (θ)}; the other notations apply the similar rule.
d q 125 In some embodiments for SPMSM motors with L=L, the adaptive estimation blockreparameterizes the motor model parameters β that need to be estimated as
Thus, the motor current dynamics, i.e. the first two rows of (1), can be rewritten in linearly parameterized form, particularly,
d d d q d q d q d q 125 where ψ≙−Ri+uand ψ≙−pω. The adaptive estimation blockformulates the same adaptive parameter estimation rule as above, but with updated definitions of ψ, ψ, θ, θ, μ, μ.
3 FIG.B 205 305 121 312 306 310 306 311 312 315 121 321 316 320 316 321 322 325 311 322 206 d d d d d q q q q q teaches another embodiment of estimatoraccording to some embodiments, which sequentially estimates the motor parameter. First, the adaptive estimation block 1 for θtakes in the sensed signaland the internal estimated signal for θ; and returns the estimated time derivative signal for θ. Second, the internal estimation update module 1 for θtakes inand returns the partial motor parameter estimateand the updated internal estimated signal for θ. Third, the adaptive estimation block 2 for θtakes in the sensed signaland the internal estimated signal for θ; and returns the estimated time derivative signal for θ. Fourth, the internal estimation update module 2 for θtakes inand returns the updated internal estimated signal for θand the partial motor parameter estimate. Finally, the motor parameter estimation merge moduletakes in the partial motor parameter estimateand the partial motor parameter estimate; and returns the estimated motor parameter.
d d d d d 305 306 In some embodiments, the adaptive estimation block 1 for θcalculates the estimated time derivative signal for θ, i.e., {dot over ({circumflex over (ι)})}, {dot over ({circumflex over (θ)})}, {dot over (μ)}, as follows:
d d d d d q q q q q 310 312 311 310 315 316 st rd th The internal estimation update module 1 for θcalculates, i.e., {circumflex over (ι)}, {circumflex over (θ)}, μby the 1, 3and 5equations in (4). The partial motor parameter estimatesreturned byis 1/{circumflex over (θ)}[1]. The adaptive estimation block 2 for θcalculates the estimated time derivative signal for θ, i.e., {dot over ({circumflex over (ι)})}, {dot over ({circumflex over (θ)})}, {dot over (μ)}, as follows:
q q q q q q 320 322 320 325 206 311 322 nd th th The internal estimation update module 2 for θcalculates {circumflex over (ι)}, {circumflex over (θ)}, μby the 2, 4and 6of equations in (4). The partial motor parameter estimatesreturned byis 1/{circumflex over (θ)}[1] and {circumflex over (θ)}[3]/{circumflex over (θ)}q[1]. The motor parameter estimation merge modulegenerates the estimated motor parametergivenandas follows:
311 322 where the first element of {circumflex over (β)} is from, and the second and third element of {circumflex over (β)} is from.
4 FIG. 210 405 206 211 illustrates one embodiment of motor torque capacity constraint learningaccording to this invention. A torque capacity constraint formulation blocktakes the estimated motor parameteras input and returns the dynamic torque constraint.
405 pm d max pm d max m In some embodiment, the torque capacity constraint formulation blockinvolves constructing analytical functions as torque constraints with a common max torque per ampere control (MTPA) strategy for motors. Under this strategy, the motor torque bound can be represented as various analytic functions of speed according to three cases, depending on the sign of Φ/L−I. When Φ/L−I=0, the maximum motor torque function τ(ω, β) is given by
r q,lim max where ωand iare given by (6a) and (6c), respectively; and ωis
r q,lim s where ωand iare given by (6a) and (6c), respectively; ωis given by
q,lim,v and iis given by
211 206 pm d max The dynamic torque constraintfollows one of three sets of equations, i.e. (5), (7), and (8), to generate motor torque capacity as a function of motor speed and estimated motor parameter, depending on the sign of estimated Φ/L−I.
220 220 116 116 505 506 505 506 510 211 510 506 511 515 511 510 116 516 106 516 516 106 520 216 520 135 5 FIG.A k des,k+1 f According to some embodiments, the motion reshaperis implemented as a reference governor accepting dynamically varying constraints on the operation of the motor.discloses a method of implementing motion reshaperaccording to this invention, which reshapes the entire reference trajectory. First, given the reference trajectory, the modulefinds every reference point at each time step k, which includes the desired velocity vat time k and the desired acceleration aat next timestamp k+1. Then the modulepasses every reference point at each time step kto the acceleration and velocity reshaper. Second, given the dynamic torque constraint, the acceleration and velocity reshaperreshapes every desired accelerationand its corresponding velocity as the reshaped feasible reference acceleration and velocity. Third, the modulestores the reshaped acceleration and velocityfrom the acceleration and velocity reshaperfor every point of the entire reference trajectoryand returns a reshaped reference trajectory of acceleration and velocity. To ensure that the target position sinis reached with zero final velocity in the reshaped reference trajectory, the reshaped reference trajectoryand the task informationare then passed to the trajectory adjustment module. Finally, the adjusted and reshaped reference trajectoryis passed from the trajectory adjustment moduleto the tracking controller.
5 FIG.B 220 116 116 550 506 506 510 211 510 506 511 511 106 511 560 560 216 k des,k+1 f discloses another method of implementing motion reshaperaccording to this invention, which reshapes one point of the reference trajectory. First, given the reference trajectory, at every present time k, the next-time reference point identifierfinds the next reference point to be tracked, which includes the desired velocity vat time k and the desired acceleration aat next timestamp k+1. Then the next-time reference point identifier passesto the acceleration and velocity reshaper. Second, given the dynamic torque constraint, the acceleration and velocity reshaperreshapes the desired accelerationand its corresponding velocity as the reshaped feasible reference acceleration and velocity. To ensure that the overall reshaped reference trajectory that consists of every reshaped reference pointcan reach the target position sinwith zero final velocity, each reshaped reference pointis passed to the reference point adjustment module. Then, the reference point adjustment modulereturns every adjusted and reshaped reference acceleration and velocity of the reference trajectory.
6 FIG.A 510 605 506 211 606 610 506 k des,k+1 des,k+1 illustrates one embodiment of the acceleration and velocity reshaperaccording to some embodiments. First, the acceleration optimization formulation moduletakes in the information(i.e. the desired velocity vat time k and the desired acceleration aat next timestamp k+1) and the dynamic torque constraint, formulates an acceleration optimization problem to revise the desired acceleration at next time, and passes one optimization problem instanceto the optimization numerical solver. Given the desired acceleration afrom, the optimization problem finds the closest acceleration subject to the torque constraint at each time k, i.e.
610 606 611 615 k+1 Second, the optimization numerical solversolves the optimization problem instanceand returns a reshaped desired acceleration a*at next timestamp k+1. Third, the reshaped velocity calculatorreshapes the desired velocity
at next timestamp k+1 given
511 515 and returns both the reshaped acceleration and velocityat next timestamp k+1 to the module. The calculation of
is given by
6 FIG.B 510 630 211 506 631 635 k des,k+1 k+1 illustrates another embodiment of the acceleration and velocity reshaperaccording to some embodiments. First, the velocity optimization formulation moduletakes in the dynamic torque constraintand the information(which includes the desired velocity vat time k and the desired acceleration aat next timestamp k+1); formulates a velocity optimization problem with the next timestamp motor velocity being the decision variable; and passes the velocity optimization problem instanceto the sequential search algorithm. The velocity optimization problem is written as follows, where the decision variable is the motor velocity ωat the next timestamp k+1:
635 631 where γ∈(0,1] is a prescribed constant. Second, the sequential search algorithmtakes in the optimization instanceand searches over a finite set of solution candidates to return the optimal and feasible motor velocity
640 Third, the reshaped acceleration and velocity calculatortakes in the optimal motor velocity
and calculates the desired acceleration
and velocity
The calculation is given by
6 FIG.C 520 660 516 106 661 665 641 216 f discloses one embodiment of the trajectory adjustment modulewhich adjusts the entire reshaped reference trajectory to satisfy the boundary condition, i.e., the target position is reached with zero final velocity, according to some embodiments. First, the trajectory midpoint identifier 1takes in the reshaped reference trajectoryand the target position sfrom the task information; and returns the informationthat can identify the temporal midpoints of the reference trajectory where the acceleration changes the sign. Then, the reference trajectory adjustment moduletakes in the informationand returns the reshaped and adjusted reference trajectorysuch that the reference trajectory reaches the target position with zero final velocity.
mid mid 516 In some embodiments, the reference trajectory only contains one temporal midpoint which is identified by the time instance tof the reshaped acceleration reference trajectorywhere the acceleration changes the sign (i.e., from acceleration to deceleration). Then, the desired accumulative position to be traveled until time tis:
rest And the additional traveling distance pthat needs to be compensated is:
516 mid mid mid rest mid Given the reshaped reference trajectory, the desired velocity at time tcan be found as v. Then the additional time duration Δof traveling pwith velocity vis
641 516 645 665 216 135 mid mid mid mid mid mid mid mid The necessary informationincludes t, Δ, v, and the reshaped reference trajectory, which is then passed to the reference trajectory adjustment module. The reference trajectory adjustment moduleinserts an additional segment of the reference trajectory after the time instance t, where the desired acceleration is zero, the desired velocity is v, and the duration is from time tuntil time t+Δ. The adjusted and reshaped reference trajectoryis then passed to the tracking controller.
6 FIG.D 560 680 511 106 116 680 680 f ac illustrates one embodiment of the reference point adjustment moduleaccording to some embodiments. First, the trajectory midpoint identifier 2takes in the reshaped reference point, the target position sfrom the task information, and the reference trajectory. Second,calculates the accumulative desired traveling distance until the present time k as p(k). Third,checks whether the desired reshaped acceleration
at next timestamp k+1 has an opposite sign than the desired reshaped acceleration
680 681 685 681 685 ac k at present time k and generates a logic flag on whether this condition is satisfied. Then, the trajectory midpoint identifier 2passes the necessary information, which includes p(k), the present time k, the logic flag, and the desired velocity vat present time k, to the point-wise adjustment module. Given the necessary information, the point-wise adjustment modulereads the logic flag. If the sign of
is the opposite of the sign of
685 mid records the present time as t, i.e., the temporal midpoint of the reference trajectory. Then the reshaped acceleration
at next time k+1 is adjusted to zero, and the reshaped velocity
k mid mid,2 ac mid,2 f mid,2 685 is adjusted to v. This process is performed for every reference point from time tuntil another timestamp twhere the accumulative desired traveling distance p(t)=0.5s. After reaching the timestamp t, the point-wise adjustment moduledirectly returns the originally reshaped acceleration
and velocity
511 fromwithout any adjustment.
7 FIG. 635 631 211 705 706 illustrates one embodiment of the sequential search algorithmaccording to some embodiments. First, given the velocity optimization problemand the dynamic torque constraint, the root-finding modulefinds two root sets, where one root set is
and the another root set is
706 710 711 Given two root sets, the moduleformulates a solution candidate setby combining the following elements:
711 711 715 716 716 715 where Ω is the solution candidate set. Then, the solution candidate setis passed to the feasible solution candidate filterto generate a feasible candidate set. The feasible solution candidate setis determined by the feasible solution candidate filterchecking the following conditions:
Ω 716 716 720 716 whereis the feasible solution candidate set. The feasible solution candidate setis then passed to the optimal solution sorting module, where each feasible solution candidate ω in the setis evaluated by
716 and sorted by the value of F(ω). Finally, the ω in the setthat has the lowest value of F(ω) is the optimal motor velocity
8 FIG. 800 800 801 803 805 807 809 811 813 815 817 809 819 809 821 809 823 825 827 829 831 809 809 833 835 837 839 841 809 843 809 845 800 shows a schematic diagram of some components of a control systemfor controlling a motor, in accordance with some embodiments of the present disclosure. The control systemincludes a power source, a processor, a memory, a storage device, all connected to a bus. Further, a high-speed interface, a low-speed interface, high-speed expansion portsand low speed connection ports, can be connected to the bus. In addition, a low-speed expansion portis in connection with the bus. Further, an input interfacecan be connected via the busto an external receiverand an output interface. A receivercan be connected to an external transmitterand a transmittervia the bus. Also connected to the buscan be an external memory, external sensors, machine(s), and an environment. Further, one or more external input/output devicescan be connected to the bus. A network interface controller (NIC)can be adapted to connect through the busto a network, wherein data or other data, among other things, can be rendered on a third-party display device, third party imaging device, and/or third-party printing device outside of the control system.
805 800 805 805 805 The memorymay store instructions that are executable by the control systemand any data that can be utilized by the methods and systems of the present disclosure. The memorycan include random access memory (RAM), read only memory (ROM), flash memory, or any other suitable memory systems. The memorycan be a volatile memory unit or units, and/or a non-volatile memory unit or units. The memorymay also be another form of computer-readable medium, such as a magnetic or optical disk.
807 800 807 807 803 The storage devicecan be adapted to store supplementary data and/or software modules used by the control system. The storage devicecan include a hard drive, an optical drive, a thumb-drive, an array of drives, or any combinations thereof. Further, the storage devicecan contain a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid-state memory device, or an array of devices, including devices in a storage area network or other configurations. Instructions can be stored in an information carrier. The instructions, when executed by one or more processing devices (for example, the processor), perform one or more methods, such as those described above.
800 809 847 800 849 851 849 800 The control systemcan be linked through the bus, optionally, to a display interface or user Interface (HMI)adapted to connect the systemto a display deviceand a keyboard, wherein the display devicecan include a computer monitor, camera, television, projector, or mobile device, among others. In some implementations, the systemmay include a printer interface to connect to a printing device, wherein the printing device can include a liquid inkjet printer, solid ink printer, large-scale commercial printer, thermal printer, UV printer, or dye-sublimation printer, among others.
811 800 813 811 805 845 851 849 815 809 813 807 817 809 817 841 800 853 855 800 800 855 The high-speed interfacemanages bandwidth-intensive operations for the control system, while the low-speed interfacemanages lower bandwidth-intensive operations. Such allocation of functions is an example only. In some implementations, the high-speed interfacecan be coupled to the memory, the user interface (HMI), and to the keyboardand the display(e.g., through a graphics processor or accelerator), and to the high-speed expansion ports, which may accept various expansion cards via the bus. In an implementation, the low-speed interfaceis coupled to the storage deviceand the low-speed expansion ports, via the bus. The low-speed expansion ports, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) may be coupled to the one or more input/output devices. The control systemmay be connected to a serverand a rack server. The control systemmay be implemented in several different forms. For example, the control systemmay be implemented as part of the rack server.
The above description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the above description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing one or more exemplary embodiments. Contemplated are various changes that may be made in the function and arrangement of elements without departing from the spirit and scope of the subject matter disclosed as set forth in the appended claims.
Specific details are given in the above description to provide a thorough understanding of the embodiments. However, understood by one of ordinary skill in the art can be that the embodiments may be practiced without these specific details. For example, systems, processes, and other elements in the subject matter disclosed may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known processes, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments. Further, like reference numbers and designations in the various drawings indicated like elements.
Also, individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process may be terminated when its operations are completed but may have additional steps not discussed or included in a figure. Furthermore, not all operations in any particularly described process may occur in all embodiments. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, the function's termination can correspond to a return of the function to the calling function or the main function.
Furthermore, embodiments of the subject matter disclosed may be implemented, at least in part, either manually or automatically. Manual or automatic implementations may be executed, or at least assisted, through the use of machines, hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine readable medium. A processor(s) may perform the necessary tasks.
Various methods or processes outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.
Embodiments of the present disclosure may be embodied as a method, of which an example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts concurrently, even though shown as sequential acts in illustrative embodiments. Although the present disclosure has been described with reference to certain preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the present disclosure. Therefore, it is the aspect of the append claims to cover all such variations and modifications as come within the true spirit and scope of the present disclosure.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
September 11, 2024
March 12, 2026
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.