This invention relates generally to optimization of a control of an operation of a system, and more particularly to determining a control trajectory by solving a multi-boundary value problem.
Optimal control problems apply to a wide range of applications such as minimum fuel landing in aerospace, and time optimal operation in manufacturing. As an example, a time optimal motion control system is widely used in positioning applications, e.g., single-axis positioning or multiple-axis positioning. A single-axis positioning motion control system includes a motion controller, a servo amplifier, and a motor. Optimal control of the motion system is generally solved in two steps to reduce a complexity of the design. The first step determines a control trajectory for the motor to control states or control constraints of the motion system, i.e., acceleration, velocity, jerk. The second step designs a controller to ensure that the motor tracks the control trajectory.
The control trajectory can also be determined to reduce the vibration induced by the motion of the motor, as well as other performance metrics, such as positioning time or energy consumption of a specific task. Due to the impact of the control trajectory on the performance of the motion control system, the determination of the control trajectory that optimizes multiple conflicting objectives is difficult.
Dynamic programming and a minimum principle are two main techniques used to solve optimal control problems. The dynamic programming reduces the optimal control problem to a set of partial differential equations; called Hamiltonian-Jacobi-Bellman equations. The minimum principle yields a set of differential equations with conditions on boundary values, i.e., a boundary value problem. The boundary value problem is a set of differential equations together with a set of boundary conditions. A solution to the boundary value problem is a solution to the differential equations which also satisfies the boundary conditions.
Solving a boundary value problem is difficult, and usually resorts to solving an initial value problem (IVP) with guessed initial conditions of the differential equations. The IVP is a set of differential equations together with specified values, called the initial condition, of the unknown function at a given point in the domain of the solution. To solve the boundary value problem using IVP, the initial values are iteratively updated until the trajectory, corresponding to the initial values, satisfies the boundary conditions.
When the operation of the system is subject to state or control constraints, a constrained optimal control problem results in multi-point boundary value problems (MBVPs). A multi-point boundary value problem is a set of ordered piecewise differential equations and corresponding boundary conditions. Typically, the boundary conditions are specified for at least three points in the domain of the solution of the MBVP. MBVPs are one of the most difficult subset of boundary value problems.
The MBVP can take the following form
where x is a vector of state variables, λ is a vector of co-state variables, u is a vector of control variables, H is an appropriately defined Hamiltonian operator, μ, ν, π are Lagrange multipliers, m is a constant, t0 and tm represent the initial and final time respectively, and f, g, H are piecewise functions. To simplify the disclosure, x, λ, u are called state, co-state, and control variables respectively. The differential equations define how the state and costate variables evolve over time. The algebraic equations specify the value of the state and costate variables at time instants tk, and the control variable as a function of x, λ, and t. The initial time is t0=0 and the final time is tm=T.
Shooting methods, including single and multiple shooting, are classic but effective methods to solve the MBVP as an initial value problem.
Single Shooting Method
The method for searching the true state and costate values at the point A is as follows. First, the method estimates an initial position A′ 330 of the trajectory, implying the initial value of x(0) and λ(0). Next, the MBVP is reduced to an initial value problem whose solution, represented by the curve A′B′ 320, can be obtained by the integration of the differential equations. The solution of the initial value problem starting with A′ ends up with the final position B′ 340, which is a distance δF from the expected position B. The shooting error δF is used to update the estimate of the position of A′.
The single shooting method defines parameters at one time instant, usually the costate value at the initial time, and the boundary condition are imposed at another time instant, usually the combination of the state and costate values at the final time. As an example, the MBVP in
The single shooting method also does not make full use of the optimal trajectory implied by the necessary conditions, and thus relies more on the quality of the initial estimate of the unknown parameters. Due to the sensitivity of the boundary conditions with respect to parameters, a solution for the single shooting method only works for a limited class of boundary value problems, for example, the linear boundary value problems, or boundary value problems defined over very short time interval. A usual observation when using a single shooting method to solve an MBVP is the singular gradient issue.
Multiple Shooting Method
Multiple shooting methods address some limitations of the single shooting method, and are generally more accurate, given the initial guess, nonlinearity in the differential equations, and large time intervals, than single shooting methods. The multiple shooting methods ameliorate the poor convergence property of the single shooting method.
As shown in
In contrast with the single shooting method, the multiple shooting method performs integration over a much shorter time interval [tk,tk+1], and the gradient of the boundary conditions, with respect to estimated parameters, can be approximated much accurately by sensitivity equations. The multiple shooting method has better convergence property than the single shooting methods. However, this improvement is achieved at the expenses of introducing additional parameters, which decreases the computation efficiency. The multiple shooting method can also handle a state constrained optimal control problem. However, the multiple shooting method transforms the MBVP into a large nonlinear programming problem, and the corresponding solver is computationally complex. Thus, the multiple shooting method cannot always meet a target completion time for high speed industrial applications, e.g., trajectory planning for motion control systems.
It is an object of various embodiments of an invention to provide a method for controlling an operation of a system such that a cost of the operation is optimized. Typically, the cost of the operation is subject to various constraints of the operation, such as dynamic constraints, acceleration and velocity constraints. The optimization of the operation of the system is formulated as an open loop optimal control problem, which is further reduced to a solution of a multi-boundary value problem (MBVP) corresponding to a control trajectory optimizing the cost function subject to the constraints.
Some embodiments disclose a mixed shooting method to reduce processing time for the solution of the MBVP. In one embodiment, the method is applied to design a control trajectory for an energy efficient motion control system, which consumes the minimal energy while carrying out a specific positioning task.
The mixed shooting method according to some embodiments of the invention is based on a realization that parameters and boundary conditions of the MBVP have various types with respect to, e.g., a structure of the MBVP. Thus, the parameters and the boundary conditions can be partitioned into two or more sets and each set can be separately determined. For example, each set can be determined iteratively and alternately based on values of another set fixed for a current iteration. For example, a first set of parameters is updated until the first set of boundary conditions is satisfied, then a second set of parameters is adjusted to satisfy the second set of boundary conditions.
For example, in one embodiment, the first set of parameters include state and costate values of a motion system at certain time instants, and the second set of parameters includes switch times of differential equations.
The mixed shooting method overcomes the convergence issue of the conventional methods remarkably because of sensitivity of boundary conditions with respect to the switch times, and the coupling effects of the state and costate values, and switch times on the boundary conditions. The mixed shooting method reduces the number of parameters to optimize processing time, and to improve the convergence property by incorporating the structure of the optimal trajectory as a priori condition.
Some embodiments of the invention are motivated by the need of an effective trade-off between energy consumption and productivity of the motion control system, such that the overall cost of the operations of the motion control system is reduced. Among various factors, an energy efficient trajectory that a servo motor follows to reduce the energy consumption of the motion control system is determined. Furthermore, the energy efficient trajectory considers various constraints of the motion control system including velocity, acceleration, and current constraints. Various embodiments of the invention determine the energy efficient trajectory of the energy efficient motion control system as an optimal control problem, which can be formulated as a class of the MBVPs, and solve the MBVPs using the mixed shooting method.
Accordingly, one embodiment of the invention discloses a method for controlling an operation of a system according to a control trajectory represented by a solution of a set of differential equations satisfying boundary conditions, wherein the set of differential equations includes ordered piecewise differential equations. The method includes parameterizing the set of differential equations to produce a first set of parameters representing values of the solution at switching times and a second set of parameters representing values of the switching times; determining alternately the first and the second sets of parameters until the boundary conditions are satisfied to produce the solution; and generating the control trajectory based on the solution to control the operation of the system, wherein steps of the method are performed by a processor.
For example, in one variation of this embodiment the system is a motion control system including a motor, wherein the operation of the system is subject to constraints, wherein the values of the first set of parameters represent state and costate of the system, and wherein the set of differential equations and the boundary conditions form a multi-boundary value problem (MBVP) having the solution satisfying the constraints and optimizing a cost function representing energy consumption of the system during the operation.
Another embodiment of the invention discloses a method for solving a multi-boundary value problem (MBVP) formed by a set of differential equations satisfying boundary conditions, wherein the set of differential equations includes ordered piecewise differential equations, and wherein a solution of the MBVP represents a control trajectory. The method includes parameterizing the set of differential equations to produce a first set of parameters representing values of the solution at switching times and a second set of parameters representing values of the switching times; determining values of the first set of parameters satisfying a first set of boundary conditions by solving the set of differential equations having the values of the second set of parameters fixed; determining the values of the second set of parameters satisfying a second set of boundary conditions by solving the set of differential equations having the values of the first set of parameters fixed; and repeating the determining values of the first and the second set of parameters until both the first and the second sets of boundary conditions are satisfied, wherein steps of the method are performed by a processor.
Yet another embodiment discloses a motion controller for controlling a system based on a control signal. The motion controller includes a processor configured to execute a trajectory generation module and a control module, wherein the trajectory generation module determines a control trajectory by solving a multi-boundary value problem (MBVP) using a mixed shooting method; and the control module generates the control signal based on the control trajectory.
Steps of the method can be executed by a processor 699. An operational cost of the system 600 is represented by a cost function 601, and a physical structure and limitations of the system, and details about a specific task of the system are represented by constraints 602 of the operation. The constraints 602 include but not limited to dynamic constraints representing a model of the system, state and control constraints, execution time and distance of the task.
In one embodiment, the state constraint includes at least one of acceleration and velocity constraints. Based on the cost function 601 and the constraints 602, a multi-boundary value problem (MBVP) is determined 603, such that a solution of the MBVP produces the control trajectory optimizing the cost function 601, while satisfying the constraints 602.
The MBVP is solved 604 using a mixed shooting method to produce a solution 609. The mixed shooting method is described in more details below. The solution can be optionally processed 605, e.g., using a low-pass filter to remove high frequency components of the solution, to generate a control trajectory 610.
In one embodiment, a system that implements at least part of the method of
As an example, in the motion control system, the control trajectory 610 can include one or combination of acceleration, velocity, and position trajectories of motors. The control module 606 generates the control signal 612 based on the control trajectory 610 and outputs the control signal to actuators 607 of the system thus controlling the optimal operation of the system.
In one embodiment, the cost function represents the energy consumption of the system during the operation. For example, the cost function can be an integral
wherein E is the energy consumption of the system during time of the operation T, P(x, u) is an instantaneous energy consumption of the system, x is a state of the motor, u is a control input to the motor, wherein the instantaneous energy consumption P results from at least one of a copper loss of the resistance windings of the motor, a switching loss of an amplifier, and a mechanical work of the motor.
Determining MBVP
The order of the differential equations, defined over time intervals, is equivalent to a structure of the solution of the MBVP. As used herein, the structure of the MBVP defines an order of various types of differential equations. Switch times indicate switching from one type of differential equations to another. Typically, one type of differential equations corresponds to one segment of the control trajectory. Examples of the types of the differential equations include, but not limited to, acceleration or deceleration constrained type, a velocity constrained type, a zero power type, an unconstrained type of the differential equations.
Due to the presence of constraints, the control trajectory satisfying the necessary conditions includes one or more segments. Each segment of the control trajectory may satisfy different set of differential equations and boundary conditions. The control trajectories corresponding to different constraints may comprise of different segments. For example, for one problem data, one constraint is not active along the optimal control trajectory; on the other hand, for another problem data, the same constraint is active along the optimal control trajectory. Hence, the necessary conditions in general result in a set of MBVPs 701 corresponding to various types of control trajectories having distinctive structures. As an example, MBVPs 701 can include M MBVPs, and each MBVP corresponds to a class of control trajectories having a particular structure.
For example, one embodiment controls a particular class of motion control systems, where the model of the servo motor is
where x=(x1,x2)T=(θ,ω)T is a state of the motor representing a position and angular velocity of the motor, respectively, d is a viscous friction coefficient, c is a Coulomb friction, u is a control input (current) to the servo motor, a single dot indicates the first derivative, and double dots the second derivative. The control input to the motor depends on the type of the motor. In one embodiment, the control input to the motor includes a current input into the motor. Additionally or alternatively, the control input can include control signal of a voltage into the motor.
For example, the operational cost of the motion control system is the cost of power, i.e., the energy consumed. Thus, one embodiment determines the control trajectory such that the energy consumption of the motion control system is minimized. The gross energy consumption of the motion control system performing a point to point tracking task within a time interval is abstracted by the following cost function
E=∫0T(Ru2+Ks|u|+Kτx2u)dt, (3)
where T is the execution time of the task and is usually specified by users, R is a resistance of windings of the motor and, Ks is a constant coefficient of the switching loss due to the switch of the amplifier, Kτ is a torque constant of the motor. The cost function in Equation (3) represents the energy consumption for a large class of motion control systems by including the copper loss Ru2, amplifier loss Ks|u|, and mechanical work Kτx2u.
The motion control system can also includes various constraints: dynamic constraint is described by Equation (2), the constraint on the angular acceleration of the motor is described by |{dot over (x)}2|≦αmax with αmax a positive constant, the constraint on the angular velocity of the motor is described by 0≦x2≦νmax with νmax a positive constant, the constraint on the initial position of the motor x(0)=(0,0), the constraint on the final position of the motor x(T)=(r,0), and the execution time of the task T. The consideration of the constraints in the trajectory generation can remove the limitations introduced by absence of the constraints in the design stage, thus improve the energy efficiency of the motion control system.
Given the cost function and constraints, the piecewise Hamiltonian operator H is
The Lagrange multiplier λ is also called the costate variable and corresponds to the dynamic constraint. The Lagrange multipliers μ, ν correspond to the velocity and acceleration constraints, respectively.
Block 700 determines the control on constrained segments by minimizing the Hamiltonian operator
The unconstrained positive and negative controls can be determined by minimizing the Hamiltonian, equivalently from a ∂H11/∂u=0,∂H12/∂u=0
Given the state x and the costate λ, the control signal u and the x-dynamics are well-defined. Since the partial derivative of H w.r.t. x is well-defined, the costate dynamics is
Block 700 further determines the values of the Lagrange multipliers μ,ν along the trajectory to derive the differential equations defining the evolution of the costate over time. When the control trajectory is along unconstrained segments, μ=ν=0.
If an acceleration constraint is active, then ν is solved by
H11u|u=u
H12u|u=u
whose solutions are
For the velocity constraint x2−νmax≦0, the Lagrange multiplier μ is determined from H11u=0 with u=upvel
Block 700 further determines the necessary conditions that the control trajectory has to satisfy at the initial and final times of the task, and at the time instants tk, 1≦k≦m−1 when the control trajectory switches. Necessary conditions of the control trajectory at the initial and final time are
x(0)=(0,0),x(T)=(r,0), (12)
at the time instant tk when the switch time where trajectory switches is
Block 700 finally derives the necessary conditions 702 including according Equations (4)-(13).
Given the necessary conditions in Equations (4)-(13), block 701 determines the set of MBVPs. For example, the Equations (4)-(13) can be rearranged to the form of Equation (1). Because the control variable u and the Lagrange multipliers μ,ν are defined, and the costate dynamics are derived, the differential Equations (1) is established.
Necessary conditions of Equations (12)-(13) also fit the form
h(x(tk−),x(tk+),λ(tk−),λ(tk+),tk,π,μ,ν)=0
By analyzing the necessary conditions, the block 701 determines the control trajectory that can include various segments: the unconstrained positive control segment (U+) where the control is unconstrained and positive, the unconstrained negative control segment (U−) where the control is unconstrained and negative, the zero control segment (U0) where the control takes zero, the positive acceleration constrained control segment (A+) where the positive acceleration constraint is active, the negative acceleration constrained control segment (A−) where the negative acceleration constraint is active, and the velocity constrained control segment (V+) where the maximum velocity constraint is active.
Given the identification of types of segments, block 701 further analyzes the necessary conditions and derives the set of MBVPs, which can include one or combination of the MBVP corresponding to the control trajectory including unconstrained positive control segment, zero control segment, and unconstrained negative control segment; the MBVP corresponding to the control trajectory including positive acceleration constrained segment, unconstrained positive control segment, zero control segment, and unconstrained negative control segment; the MBVP corresponding to the control trajectory including positive acceleration constrained segment, unconstrained positive control segment, zero control segment, unconstrained negative control segment, and negative acceleration constrained segment sequentially; the MBVP corresponding to the control trajectory including unconstrained positive control segment, velocity constrained segment, unconstrained positive control segment, zero control segment, and unconstrained negative control segment; the MBVP corresponding to the control trajectory including positive acceleration constrained segment, unconstrained positive control segment, velocity constrained segment, unconstrained positive control segment, zero control segment, and unconstrained negative control segment; the MBVP corresponding to the control trajectory including positive acceleration constrained segment, unconstrained positive control segment, velocity constrained segment, unconstrained positive control segment, zero control segment, unconstrained negative control segment, and negative acceleration constrained segment.
If any constraint is violated, the selecting of the MBVP is repeated. For example, the structure of the MBVP is updated 803 by, e.g., adding constrained segments corresponding to one of violated constraints 807 to the current structure of the MBVP to produce a new structure 808 of the selected MBVP for the next iteration. Otherwise, if no constraints are violated 809, the iterations are stopped and the solution of the MBVP is assigned 804 to represent the control trajectory.
This embodiment is advantageous, because MBVP is solved for boundary conditions. The control trajectory represented by the MBVP naturally satisfies the boundary conditions, but still can violate constrains in other points in the domain of the solution. Thus, this embodiment ensures that the control trajectory with simplest structure satisfied both boundary conditions and the constraints.
Mixed Shooting Method
A mixed shooting method is a method for solving the MBVP based on parameterization of the set of differential equations into a first set of parameters representing values of the solution at switching times and a second set of parameters representing values of the switching times. In one embodiment, the values of the solution include state and costate values of a motion system. The MBVP can be represented by ordered piecewise differential equations, and the switching times can represent a change in the structure of the MBVP, i.e., switching, e.g., according to the order, from one set of differentiation equations corresponding to one segment of the control trajectory to another set of differentiation equations corresponding to another segment of the control trajectory.
The mixed shooting method determines alternately the values of the first and the second sets of parameters until the set of boundary conditions are satisfied. The mixed shooting method overcomes the convergence issue of the conventional methods remarkably because of the sensitivity of boundary conditions with respect to the switching times, and the coupling effects of the state and costate values, and switching times on the boundary conditions. The mixed shooting method reduces the number of parameters to optimize processing time, and to improve the convergence property. Various combinations of steps of the mixed shooting method are described in more details below.
In some embodiments, the mixed shooting method parameterizes the set of differential equations to produce a first set of parameters representing values of the solution at switching times and a second set of parameters representing values of the switching times. For example, in the example of
Similarly, the boundary conditions can also be partitioned into the first set of boundary conditions corresponding to the first set of parameters and the second set of boundary conditions corresponding to the second set of parameters. For example, the boundary conditions for the switch times
The parameterizations of the set of differential equations according to various embodiments allows a fast computation of the solution of the MBVP compared to conventional multiple shooting methods due to reducing the number of used parameters. Also, the parameterization improves the convergence property by exploring the knowledge of the structure of the solution to solve the differential equations over shorter time intervals.
For example, a parameterized MBVP 1000 is represented by ordered differential equations 1001, boundary conditions 1002, and unknown parameters 1003. The boundary conditions 1001 are partitioned into the first set of boundary conditions BC1 1004, and the second set of boundary conditions BC2 1005. The parameters 1003 are partitioned into two different sets, i.e., the first set of parameters β1 1006, and the second set of parameters β2 1007.
In the embodiment shown in
In various embodiments of the invention, the first and the second sets of parameters are determined alternately until the first set and the second set of boundary conditions are satisfied. For example, the parameters can be determined recursively, where, for each iteration, the first set of parameters is determined based on fixed values of the second set of parameters, and the second set of parameters is determined based on fixed values of the first set of parameters.
As shown in
The block 1103 checks the first set of boundary conditions. If the first set of parameters satisfies the first set of boundary conditions, then the block 1105 evaluates the second set of boundary conditions. Otherwise, the first set of parameters is updated 104. For example, the block 1104 determines a gradient 1111 of the first set of boundary conditions with respect to the first set of parameters, and updates the first set of parameters based on the gradient 1111. The gradient 1111 of the first set of boundary conditions can be determined analytically, if the sensitivity equations are linear time invariant. Otherwise, the gradient 1111 can be determined by integrating sensitivity equations, if the sensitivity equations are time variant.
If the second set of boundary conditions in block 1105 is satisfied, a block 1107 outputs the control trajectory, otherwise, the block 1106 updates the second set of parameters by various methods for solving zeros of an algebraic equation. For example, the block 1106 determines a gradient 1113 of the second set of boundary conditions with respect to the second set of parameters and updates the second set of parameters based on the gradient 1113. The first and second sets of parameters are alternately updated until the first and second sets of boundary conditions are satisfied.
As an example, assume that the structure of the solution of the MBVP includes in segments. The solution of the MBVP switches at time instants tk,1≦k≦m−1, and t0=0 and tm=T are the initial and the final times of the task, respectively. Parameters for the kth segment are (βk1, βk2), for 1≦k≦m. Let
β1=(β11, . . . ,βm1),
β2=(β12, . . . ,βm2),
where, in one embodiment, the first set of parameters β1 includes state and costate values at time instants when the control trajectory switches, and the second set of parameters β2 includes the parameters of switch times of the solution. Denote β=(β1,β2) the entire set of parameters. Similarly, the boundary conditions for the kth segment are denoted by (BCk1,BCk2), which correspond to two sets of parameters βk1 and βk2 respectively. The boundary conditions of the MBVP, denoted by BC, is the union of (BCk1,BCk2) for 1≦k≦m, as
BC=(BC11,BC12, . . . ,BCm1,BCm2).
Accordingly, the boundary conditions BC can be partitioned into two sets of boundary conditions BC1 and BC2 corresponding to parameter sets β1 and β2 respectively, i.e.,
BC1=(BC11, . . . ,BCm1), and
BC2=(BC21, . . . ,BCm2),
The residual values corresponding to BCk1 and BCk2, denoted by Fk1 and Fk2, can be obtained from the solution 1110 computed by the block 1102. Residuals correspond to β1,β2 are
F1=(F11, . . . ,Fm1), and
F2=(F12, . . . ,Fm2),
The mixed shooting method alternately updates two sets of parameter β1,β2 on the basis of two sets of boundary conditions BC1 and BC2, respectively. This is improves the convergence of the solution. The purpose of the iterative process is to determine the parameter set, β*=(β1*,β2*) such that F1(β1*)=0,F2(β2*)=0, which are a set of algebraic equations. In one embodiment, Newton's method is used to update the estimate of β on the basis of the residuals and its gradient with respect to parameters
where βki, k={1, 2} are the estimated values of parameter sets βk at the i the iteration, ρ1, ρ2 are step lengths of parameter updates, and ∂Fk/∂βk, k={1, 2} are gradients of the boundary condition set BCk with respect to the parameter set βk. Given ∂x/∂β, ∂λ/∂β, the computation of the gradient of F1,F2, with respect to parameters, is straightforward for those skilled in the art.
In one embodiment, the procedure to determine parameters satisfying BCs includes the computation of the gradient of BCs with respect to parameters β, which include the following components
The gradient of BCs with respect to parameters β can be obtained from sensitivity equations. As an example, for the k th segment, the sensitivity equations of x(tk) w.r.t. λ(tk−1) are
where ƒx and ƒu are the partial derivative of the function ƒ with respect to the state x and the control u respectively, and ux, uλ are the partial derivative of the control u with respect to the state and the costate respectively. The sensitivity equations of λ(t) with respect to λ(tk−1) can be similarly derived. The initial conditions of sensitivity equations are straightforward for those skilled in this art and therefore omitted in this disclosure for clarity purposes.
Embodiments of the invention use various method to determine ∂x/∂β2, ∂λ/∂β2. In one embodiment, the second set of parameters are the switch times tk, 1≦k≦m−1, and the embodiment determines
In another embodiment, the gradient of BCs with respect to β2 is approximated as
where HxT is the transpose of the partial derivative of the Hamiltonian operator with respective to the state.
Compared to the multiple shooting method, the mixed shooting method reduces the number of parameters to reduce processing time. Compared to the single shooting method, the mixed shooting method improves the convergence property of the solver by incorporating the structure of the optimal trajectory as an a priori condition. To remedy the convergence problem in single shooting method, the two-step recursion is used by some embodiments to decouple the effects of different sets of parameters on the boundary conditions.
For example, an iteration of the recursion 1250 updates 1270 values of the first set of parameters until the first set of boundary conditions is satisfied, and updates 1280 values of the second set of parameters to satisfy the second set of boundary conditions. The iterations are repeated recursively until both the first and the second sets of boundary conditions are satisfied 1260. In one embodiment, the first set of parameters includes state and costate values of the current control trajectory and the second set of parameters includes switching times of the current control trajectory.
Trajectory Planning for an Energy Efficient Motion Control System
Some embodiments of the invention are motivated by the need of an effective trade-off between the energy consumption and the productivity of the motion control system, such that the overall cost of the operations of the motion control system is reduced. Among various factors, an energy efficient trajectory that a servo motor follows to reduce the energy consumption of the motion control system is determined. Furthermore, the energy efficient trajectory considers various constraints of the motion control system including velocity, acceleration, and current constraints. Various embodiments of the invention determine the energy efficient trajectory of the energy efficient motion control system as an optimal control problem, which can be formulated as a class of MBVPs, and solve the MBVPs using the mixed shooting method.
For example, piecewise differential equations of MBVPs are defined as the combination of Equations (2), (7), (5), and (6). As described above, the optimal control trajectory may include various segments, and its structure depends on problem data such as T, r, αmax, νmax. Different structures correspond to distinctive MBVPs.
The use of the mixed shooting method to determine the energy efficient trajectory is illustrated by solving the MBVP corresponding to the following problem data (PDATA),
PDATA1: T=0.608 s,r=164 m,νmax=314.1 m/s,αmax=3620 m/s2,umax=8 A,d=−3.8258 Ns/m,c=−241.2879 N,b=1031.4 N/A,
where umax is the maximum of the input current of the motor. The structure of the solution associated with the problem data PDATA1 can be determined, e.g., based on the method shown in
Given the structure of the optimal control trajectory and following the definition of parameters and boundary conditions of the mixed shooting method, one embodiment defines parameters for the k th segment for 1≦k≦7,
and the first and second sets of parameter as
β1=(λ0,x(t1),λ(t1), . . . ,x(t6),λ(t6)),
β2(t1, . . . ,t6)εR6.
BCs for the k th segment, 1≦k≦7, are
BC1: corresponds to state and costate parameterset
φx(x(tk−1),λ(tk−1),tk−1,tk)=x(tk+),1≦k≦6
φλ(x(tk−1),λ(tk−1),tk−1,tk)=λ(tk+),k≠2,1≦k≦6
x2(t2−)=νmax,
λ1(t2−)=λ1(t2+),
φx(x(t6+),λ(t6+),t6,T)=xƒ,k=7
BC2: corresponds to the switch time parameter set
u(tk−)=u(tk+),1≦k≦6,
where φx(•) and φλ(•) are the state and costate trajectory, and
x(t0)=x0,λ(t0)=λ0. The MBVP has 30 parameters and BCs. Alternatively, the number of parameters can be reduced by removing the costate at the entry of constrained segments. Thus, the parameter sets and boundary conditions can be simplified.
The sensitivity equations are to be defined to compute the gradient of BCs with respect to β1 and β2, i.e.,
The sensitivity equations corresponding to Equation (16) are summarized as follows
The functions ƒx, ƒu, ux, uλ, HxλT, HxuT, HxxT, HxμT, HxνT, μx, μλ, μu, νx, νλ, νu can be readily derived from the dynamic constraints and necessary conditions by those skilled in the art. Thus α1, . . . , α4 can be computed from x and λ. The sensitivity of BC2 with respect to switch times can be readily computed as well.
Given the definitions and partitions of parameters and boundary conditions, and the sensitivity equations, the two-step method of
The optimal control trajectory is shown in
Additionally, one embodiment uses the mixed shooting method to solve the trajectory of an energy efficient motion control system which minimizes the following cost function
E=∫0T max(0,Ru2+Ks|u|+Kτx2u)dt.
wherein E is the energy consumption of the system, u is a control input to the motor, R is a resistance of windings of the motor, x2 is a second component of the state of the motor x representing an angular velocity of the motor, Ks is a constant coefficient of the switching loss at an amplifier, and Kτ is a torque constant of the motor. In some embodiments, the switching loss is not considered, e.g., Ks=0.
The above-described embodiments of the present invention can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers. Such processors may be implemented as integrated circuits, with one or more processors in an integrated circuit component. Though, a processor may be implemented using circuitry in any suitable format.
Further, it should be appreciated that a computer may be embodied in any of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop computer, minicomputer, or a tablet computer. Also, a computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens for visual presentation of output and speakers or other sound generating devices for audible presentation of output. Examples of input devices that can be used for a user interface include keyboards, and pointing devices, such as mice, touch pads, and digitizing tablets. As another example, a computer may receive input information through speech recognition or in other audible format.
Such computers may be interconnected by one or more networks in any suitable form, including as a local area network or a wide area network, such as an enterprise network or the Internet. Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
Also, the 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.
In this respect, the invention may be embodied as a computer readable storage medium or multiple computer readable media, e.g., a computer memory, compact discs (CD), optical discs, digital video disks (DVD), magnetic tapes, and flash memories. Alternatively or additionally, the invention may be embodied as a computer readable medium other than a computer-readable storage medium, such as a propagating signal.
The tennis “program” or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects of the present invention as discussed above.
Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.
Also, the embodiments of the invention 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 simultaneously, even though shown as sequential acts in illustrative embodiments.
Use of ordinal terms such as “first,” “second,” in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.
Although the invention has been described by way of examples of preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the invention. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the invention.
Number | Name | Date | Kind |
---|---|---|---|
8700190 | Wang | Apr 2014 | B2 |
8816627 | Wang | Aug 2014 | B2 |
20030018400 | Tuttle | Jan 2003 | A1 |
Entry |
---|
Allan, Fathi M. and Mohamed Ali Hajji, “Multi-layer parallel shooting method for multi-layer boundary value problems,” International Conference on Innovations in Information Technology, 2009. |
Trent, A., Venkataraman, R., and Doman, D., “Trajectory Generation Using a Modified Simple Shooting Method,” Proc. of the 2004 IEEE Aerospace Conference, vol. 4, pp. 2723-2729, Mar. 2004. |
Zhang, Weidong, “Improved Implementation of Multiple Shooting for BVPs”, 2012. |
R.W. Holsapple, R. Venkataraman, and D. Doman, “New, Fast Numerical Method for Solving Two-Point Boundary-Value Problems,” Journal of Guidance, Control, and Dynamics, vol. 27, No. 2, pp. 301-304, 2004. |
Hamilton, Franz, “Parameter Estimation in Differential Equations: A Numerical Study of Shooting Methods”, 2011. |
Number | Date | Country | |
---|---|---|---|
20130261787 A1 | Oct 2013 | US |