# Patent

## Title
Model predictive control with uncertainties

## Abstract

A method controls a system for a multiple control steps according to the reference trajectory of a task of the operation to produce an actual trajectory of the system completing the task of the operation. For each control step, a control input to the system is determined using a model predictive control (MPC) having at least one parameter of uncertainty. The method determines a value of a learning cost function of a distance between the reference trajectory and the actual trajectory and determines, using a model free optimization, a value of the parameter of uncertainty reducing the value of the learning cost function. Next, the method determines a set of control inputs for completing the task according to the reference trajectory using the MPC with the updated parameter of uncertainty.

## Background
FIELD OF THE INVENTION
This invention relates generally to controlling an operation of a system, and more particularly to controlling the operation using a model predictive control (MPC) over a receding horizon.
BACKGROUND OF THE INVENTION
Many advanced control techniques are formulated as optimization problems, which can be solved by mathematical programming. One class of such techniques is optimization-based receding horizon control, such as model predictive control (MPC). There are MPC formulations for both linear and nonlinear systems. Nonlinear MPC solves nonlinear mathematical programs in real-time, which can be a challenging task due to a limitation on computing resources, the complexity of the problem to solve, or the time available to solve the problem. Therefore, most of the practical applications are based on a linearity assumption or approximation. The linear MPC typically solves a quadratic programming problem.
The MPC is based on an iterative, finite horizon optimization of a model of a system and has the ability to anticipate future events to take appropriate control actions. This is achieved by optimizing the operation of the system over a future finite time-horizon subject to constraints, and only implementing the control over the current timeslot. For example, the constraints can represent physical limitation of the system, legitimate and safety limitations on the operation of the system, and performance limitations on a trajectory. A control strategy for the system is admissible when the motion generated by the system for such a control strategy satisfies all the constraints. For example, at time t the current state of the system is sampled and an admissible cost minimizing control strategy is determined for a relatively short time horizon in the future. Specifically, an online or on-the-fly calculation determines a cost-minimizing control strategy until time t+T. Only the first step of the control strategy is implemented, then the state is sampled again and the calculations are repeated starting from the now current state, yielding a new control and new predicted state path. The prediction horizon keeps being shifted forward and for this reason MPC is also called receding horizon control.
The MPC can be used to generate the actual trajectory of the motion of the system based on a model of the system and the desired reference trajectory by solving an optimal control problem over a finite future time horizon subject to various physical and specification constraints of the system. The MPC aims for minimizing performance indices of the system motion, such as the error between the reference and the actual motion of the system, the system energy consumption, and the induced system vibration.
Because the MPC is a model-based framework, its performance inevitably depends on the quality of the prediction model used in the optimal control computation. However, in many applications the model of the controlled system is partial unknown or uncertain. In such cases the application of the MPC on the uncertain model can lead to suboptimal performances or even to instability of the controlled system.
Accordingly, there is a need for a method for controlling an operation of a system using the MPC that includes uncertainty.
SUMMARY OF THE INVENTION
Some embodiments of the invention provide a system and a method for controlling an operation of a system according to a trajectory that includes tasks of operation repeated multiple times. The segment of the trajectory representing the task is a reference trajectory of the task. The task usually can be completed over a multiple control steps. An example of such task is a robot arm moving between two points multiple times according to the reference trajectory. Additionally or alternatively, the trajectory can be partitioned into segments representing substantially similar tasks. For example, the trajectory of the movement of a train can be partitioned into an acceleration task, deceleration task and a coasting task.
Some embodiments control the system using an optimization-based receding horizon control. An example of the receding horizon control is a model predictive control (MPC). In various embodiments of the invention, the MPC includes at least one parameter of uncertainty. For example, the MPC of the movement of the arm of the robot can include an uncertainty about a mass of the arm carrying an object. The control of the movement of the train can include an uncertainty about a friction between the wheels and the rails.
Various embodiments of the invention update the parameter of uncertainty of the MPC during the control itself. Specifically, it is recognized that the similarities of the control for performing the task of the operation can be used to update the uncertainty of the MPC for subsequent completions of the tasks. The uncertainty of the MPC can be updated based on the performance of the system for current completion of the task. In some embodiments, the uncertainty of the MPC is updated iteratively over multiple completion of the task to estimate the true value of the parameter of the uncertainty of the MPC.
Some embodiments of the invention are based on another realization that the parameter of the uncertainty of the MPC can be updated using various model free optimizations methods. For example, one embodiment uses an extremum seeking method, e.g., multivariable extremum seeking (MES). Another embodiment uses a reinforcement learning optimization. Those model free optimizations methods are usually used for optimizing the control by analyzing the real-time changes of the output of the system. However, some embodiments of the invention replace the optimized control with the parameter of uncertainty, and, also, replace the analyses of the future reaction of the system with analyses of previous outputs of the system for completion of the task.
Such replacements allow combining the performance of the MPC and a model-free optimization for simultaneous identification and control of linear systems with uncertainties which can be time-varying or constants. While regulation and identification are seemingly conflicting objectives, by identifying or re-identifying the system dynamics online and updating the parameter of uncertainty of the MPC, the performance of the MPC is improved.
In various embodiments of the inventions, the parameters of uncertainty of the MPC can vary. In some embodiments, the parameter of uncertainty includes a structural uncertainty of a model of the system. In alternative embodiments, the parameter of uncertainty includes a feedback gain of the MPC or a cost function of the MPC.
Accordingly, one embodiment discloses a method for controlling an operation of a system according to a reference trajectory of a task of the operation. The method includes controlling the system for a multiple control steps according to the reference trajectory of the task of the operation to produce an actual trajectory of the system completing the task of the operation, wherein, for each control step, a control input to the system is determined using a solution of a model predictive control (MPC) over a receding horizon, wherein the MPC includes at least one parameter of uncertainty; determining a value of a learning cost function of a distance between the reference trajectory and the actual trajectory; determining, using a model free optimization, a value of the parameter of uncertainty reducing the value of the learning cost function to produce an updated parameter of uncertainty; and determining a set of control inputs for completing the task according to the reference trajectory using the MPC with the updated parameter of uncertainty. The steps of the method are performed by at least one processor.
Another embodiment discloses a controller for controlling an operation of a system according to a reference trajectory of a task of the operation. The controller includes at least one processor for controlling the system for a multiple control steps according to the reference trajectory of the task of the operation to produce an actual trajectory of the system completing the task of the operation, wherein, for each control step, a control input to the system is determined using a solution of a model predictive control (MPC) over a receding horizon, wherein the MPC includes at least one parameter of uncertainty; determining a value of a learning cost function of a distance between the reference trajectory and the actual trajectory; determining, using a model free optimization, a value of the parameter of uncertainty reducing the value of the learning cost function to produce an updated parameter of uncertainty; and determining a set of control inputs for completing the task according to the reference trajectory using the MPC with the updated parameter of uncertainty.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of an exemplar system controlled according to some embodiments of the invention;
FIG. 2 is a block diagram of a controller according to some embodiments of the invention;
FIG. 3 is a block diagram of a method for controlling an operation of a system according to a reference trajectory of a task of the operation according to some embodiments of the invention;
FIG. 4 is a schematic illustrating one of the differences between the learning cost function and a cost function of MPC used to determine a control input;
FIG. 5 is a block diagram of a method for iterative update of the parameter of uncertainty of the MPC according to one embodiment of the invention;
FIG. 6A is a flow chart of a method for an adaptive MPC according to some embodiments of the invention. FIG. 6B shows a pseudo code for implementation of the method of FIG. 6A in one embodiment that uses MES as the model-free optimization;
FIG. 7 is a schematic of a real task repeated multiple times according to a reference trajectory; and
FIG. 8 is a schematic of a method for determining a reference trajectory for a virtual task according to one embodiment of the invention.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
FIG. 1 shows an exemplar system 120 connected to controller 110, e.g., an MPC controller, according to some embodiments of the invention. The controller 110 is programmed according to a model 102 of the system. The model can be a set of equations representing changes of a state 121 and output 103 of the system 120 over time as functions of current and previous inputs 111 and previous outputs 103. The model can include constraints 104 that represent physical and operational limitations of the system.
During the operation, the controller receives a command d 101 indicating, the reference operation of the system. The command can be, for example, a motion command. In response to receiving the command 101, the controller generates input u 111 for the system. In response to the input, the system updates the output y 103 and the state x 121 of the system.
In some embodiments, the command 101 is for controlling the system for a multiple control steps according to a trajectory that includes tasks of operation repeated multiple times. The segment of the trajectory representing the task is referred herein as a reference trajectory of the task. The task is usually can be completed over a multiple control steps. An example of such task is a robot arm moving between two points multiple times according to the reference trajectory. Additionally or alternatively, the trajectory can be partitioned into segments representing substantially similar tasks. For example, the trajectory of the movement of a train can be partitioned into an acceleration task, deceleration task and a coasting task.
In response to the control according to the reference trajectory of the task, the output and/or the state of the system produce an actual trajectory of the system completing the task of the operation. For example, if the reference trajectory represents the desired motion of the arm of the robot, the actual trajectory represents the actual motion of the arm, which can differ from the reference trajectory due to, e.g., uncertainty of a model of the control system. Various embodiments of the invention determines 106 the uncertainty to reduce the difference between the reference and the actual trajectories.
The system, as referred herein, is any device that can be controlled by certain manipulation input signals (inputs), possibly associated with physical quantities such as voltages, pressures, forces, and to return some controlled output signals (outputs), possibly associated with physical quantities such as currents, flows, velocities, positions. The output values are related in part to previous system output values, and in part to previous and current input values. The dependency of previous inputs and previous outputs is encoded in the system state. The operation of the system, e.g., a motion of the system, can include a sequence of output values generated by the system following the application of certain input values.
One embodiment expresses the mode 102 as a linear difference equation

x(k+1)=Ax(k)+Bu(k),

y(k)=Cx(k)+Du(k),  (1)

where k is a time instant when the signals are sampled, u is the system input, y is the system output, x is the state of the system, and A, B, C, are parameters of the model of the system.

The system can be subject to physical and specification constraints limiting the range where the outputs, the inputs, and also possibly the states of the system are allowed to operate.
These constraints can be formulated as

xmin≦x(k)≦xmax,

umin≦u(k)≦umax,

ymin≦y(k)≦ymax,  (2)

where xmin, xmax, umin, umax, and ymin, ymax are the lower and upper bounds on the state, input, and output, respectively.

Some embodiments control the system using an optimization-based receding horizon control. An example of the receding horizon control is a model predictive control (MPC). At every control step k, the controller of the MPC solves the finite horizon optimal control problem




  
    
      
        
          
            
              min
              
                U
                ⁡
                
                  (
                  k
                  )
                
              
            
            ⁢
            
              
                ∑
                
                  i
                  =
                  0
                
                
                  N
                  -
                  1
                
              
              ⁢
              
                
                  
                  
                    x
                    ⁡
                    
                      (
                      
                        i
                        ❘
                        k
                      
                      )
                    
                  
                  
                
                
                  Q
                  M
                
                2
              
            
          
          +
          
            
              
              
                u
                ⁡
                
                  (
                  
                    i
                    ❘
                    k
                  
                  )
                
              
              
            
            
              R
              M
            
            2
          
          +
          
            
              
              
                x
                ⁡
                
                  (
                  
                    N
                    ❘
                    k
                  
                  )
                
              
              
            
            
              P
              M
            
            2
          
        
        ,
        
          

        
        ⁢
        
          
            s
            .
            t
            .
            
              

            
            ⁢
            
              x
              ⁡
              
                (
                
                  
                    i
                    +
                    1
                  
                  ❘
                  k
                
                )
              
            
          
          =
          
            
              Ax
              ⁡
              
                (
                
                  i
                  ❘
                  k
                
                )
              
            
            +
            
              Bu
              ⁡
              
                (
                
                  i
                  ❘
                  k
                
                )
              
            
          
        
        ,
        
          

        
        ⁢
        
          
            y
            ⁡
            
              (
              
                i
                ❘
                k
              
              )
            
          
          =
          
            
              Cx
              ⁡
              
                (
                
                  i
                  ❘
                  k
                
                )
              
            
            +
            
              Du
              ⁡
              
                (
                
                  i
                  ❘
                  k
                
                )
              
            
          
        
        ,
        
          

        
        ⁢
        
          
            x
            min
          
          ≤
          
            x
            ⁡
            
              (
              
                i
                ❘
                k
              
              )
            
          
          ≤
          
            x
            max
          
        
        ,
        
          i
          ∈
          
            Z
            
              [
              
                1
                ,
                
                  N
                  c
                
              
              ]
            
          
        
        ,
        
          

        
        ⁢
        
          
            u
            min
          
          ≤
          
            u
            ⁡
            
              (
              
                i
                ❘
                k
              
              )
            
          
          ≤
          
            u
            max
          
        
        ,
        
          i
          ∈
          
            Z
            
              [
              
                0
                ,
                
                  
                    N
                    cu
                  
                  -
                  1
                
              
              ]
            
          
        
        ,
        
          

        
        ⁢
        
          
            y
            min
          
          ≤
          
            y
            ⁡
            
              (
              
                i
                ❘
                k
              
              )
            
          
          ≤
          
            y
            max
          
        
        ,
        
          i
          ∈
          
            Z
            
              [
              
                0
                ,
                
                  N
                  c
                
              
              ]
            
          
        
        ,
        
          

        
        ⁢
        
          
            u
            ⁡
            
              (
              
                i
                ❘
                k
              
              )
            
          
          =
          
            
              K
              f
            
            ⁢
            
              x
              ⁡
              
                (
                
                  i
                  ❘
                  k
                
                )
              
            
          
        
        ,
        
          i
          ∈
          
            Z
            
              [
              
                
                  N
                  u
                
                ,
                
                  N
                  -
                  1
                
              
              ]
            
          
        
        ,
        
          

        
        ⁢
        
          
            x
            ⁡
            
              (
              
                0
                ❘
                k
              
              )
            
          
          =
          
            x
            ⁡
            
              (
              k
              )
            
          
        
        ,
      
    
    
      
        (
        3
        )
      
    
  




where QM>0, PM, RM>0 are symmetric weight matrices of appropriate dimensions, N is the prediction horizon, Nu<N is the control horizon (the number of free control moves), Ncu<N, Nc<N−1 are the input and output constraint horizons along which the constraints are enforced.

The controller is hardware or a software program executed in a processor, e.g., a microprocessor, which at fixed or variable period sampling intervals receives the system outputs and the reference operation of the system motion, and determines, using this information, the inputs for operating the system. The processor is suitably programmed to perform the steps of the methods according to various embodiments.
FIG. 2 shows a block diagram of the controller 110 according one embodiment of the invention. The controller 110 includes a processor 201 connected to a memory 202 for storing the model 102 and the constraints 104, such as constraints of the system, e.g., physical and specification constraints, constraints on a transient of the reference trajectory and constraints on the operation of the system.
In various embodiments of the invention, the MPC includes at least one parameter of uncertainty. For example, the MPC of the movement of the arm of the robot can include an uncertainty about a mass of the arm caring an object. The control of the movement of the train can include an uncertainty about a friction of the wheels with the rails in current weather conditions. In some embodiments, the processor 201 is used to determine the uncertainties of the control. Additionally or alternatively, a different processor can be used to determine the uncertainties.
Although the optimal control problem (3) does not explicitly include a reference trajectory, tracking the difference between the actual and the reference trajectories can be achieved by including the reference prediction dynamics

rr(k+1)=Arrr(k),  (4)

in the model (1), and an additional output in (1) represents the tracking error

ye(k)=Cx(k)−Crrr(k),  (5)

which is accounted for in the cost function in (3). At time step of the control k, the MPC problem (3) is initialized with the current state value x(k) by (3) and solved to obtain the optimal sequence U(k). Then, the control input u(k)=[I 0 . . . 0]U(k) is applied to the system.

Various embodiments of the invention update the parameter of uncertainty of the MPC during the control itself. Specifically it is recognized that the similarities of the control for performing the task of the operation can be used to update the uncertainty of the MPC for subsequent completions of the tasks. The uncertainty of the MPC can be updated based on the performance of the system for current completion of the task. In some embodiments, the uncertainty of the MPC is updated iteratively over multiple completion of the task to estimate the true value of the parameter of the uncertainty of the MPC.
FIG. 3 shows a block diagram of a method for controlling an operation of a system according to a reference trajectory of a task of the operation according to some embodiments of the invention. The method can be implemented using a suitably programmed processor, such as the processor 201.
The method controls 310 the system for a multiple control steps, e.g., three or more, according to the reference trajectory 305 of the task of the operation to produce an actual trajectory 315 of the system completing the task of the operation. For each control step, a control input to the system is determined using a solution of the MPC over a receding horizon, wherein the MPC includes at least one parameter of uncertainty.
In various embodiments of the inventions, the parameters of uncertainty of the MPC can vary. In some embodiments, the parameter of uncertainty includes a structural uncertainty of a model of the system. In alternative embodiments, the parameter of uncertainty includes a feedback gain of the MPC (for a closed-loop control) or a cost function of the MPC.
Next, the method determines 320 a value 325 of a learning cost function of a distance between the reference trajectory and the actual trajectory. The method for determining the value 325 can vary among embodiments. For example, one embodiment uses Euclidian distances between corresponding samples of the trajectories to determine the value. The sum of the Euclidian distances can be normalized to determine the value 325. Other method for determining a tracking error can also be used.
Knowing the value 325, the method uses a model free optimization 350 to determine 330 a value of the parameter of uncertainty reducing the value of the learning cost function to produce an updated parameter of uncertainty 335. Next, the method determines 340 a set of control inputs 345 for completing the task according to the reference trajectory 305 using the MPC with the updated parameter of uncertainty 335.
For example, in one embodiment of the invention, the parameter of uncertainty includes a structural uncertainty of a model of the system, such that

x(k+1)=(A+ΔA)x(k)+(B+ΔB)u(k)

y(k)=(C+ΔC)x(k)+(D+ΔD)u(k),  (6)

wherein A, B, C, D are parameters of the model of the system, e.g., weight matrices of the model of the system, and ΔA, ΔB, ΔC, and ΔD represents the uncertainties of the corresponding weight matrices.

The a learning cost function of the distance between the reference trajectory and the actual trajectory can be defined as

Q({circumflex over (Δ)})=F(ye({circumflex over (Δ)})),  (7)

wherein {circumflex over (Δ)} is the parameter of uncertainty, e.g., a vector obtained by concatenating all the elements of the estimated uncertainty matrices ΔÂ, Δ{circumflex over (B)}, ΔĈ and Δ{circumflex over (D)}, F: →, F(0)=0, F(ye)>0 for ye≠0, wherein ye is a tracking error, i.e., the distance between the reference trajectory and the actual trajectory, and Q({circumflex over (Δ)}) is the value of a learning cost function.

Some embodiments of the invention update the value of the parameter of uncertainty to reduce the value of the learning cost function. Because the parameter of uncertainty implicitly influences the value of the learning cost function, the standard optimization methods are not used by the embodiments. Instead, some embodiments use various model free optimizations methods to update the parameter of uncertainty.
For example, one embodiment uses an extremum seeking method, e.g., a multivariable extremum seeking (MES). Another embodiment uses a reinforcement learning optimization. Those model free optimizations methods are usually used for optimizing the control by analyzing the real-time changes of the output of the system. Some embodiments of the invention, however, replace the optimized control with the parameter of uncertainty, and, also, replace the analyses of the future reaction of the system with analyses of previous outputs of the system for completion of the task.
FIG. 4 shows a schematic illustrating one of the differences between the learning cost function and a cost function of MPC used to determine a control input 111. Both functions are determined based on a performance 410, e.g., output and/or state of the system over time of control. However, the MPC cost function is determined for a control step at time 420 based on the estimation of the future performance 430 of the system. In contrast, the learning cost function is determined for the control step at time 420 based on the past performance 440 of the system.
For example, one embodiment uses the MES according to




  
    
      
        
          
            
              z
              .
            
            i
          
          =
          
            
              a
              i
            
            ⁢
            
              sin
              ⁡
              
                (
                
                  
                    
                      ω
                      i
                    
                    ⁢
                    t
                  
                  +
                  
                    π
                    2
                  
                
                )
              
            
            ⁢
            
              Q
              ⁡
              
                (
                
                  Δ
                  ^
                
                )
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            
              
                Δ
                ^
              
              i
            
            =
            
              
                z
                i
              
              +
              
                
                  a
                  i
                
                ⁢
                
                  sin
                  ⁡
                  
                    (
                    
                      
                        
                          ω
                          i
                        
                        ⁢
                        t
                      
                      -
                      
                        π
                        2
                      
                    
                    )
                  
                
              
            
          
          ,
          
            i
            ∈
            
              {
              
                1
                ,
                ...
                ⁢
                
                  
                
                ,
                
                  N
                  p
                
              
              }
            
          
        
      
    
    
      
        (
        3
        )
      
    
  




with Np≦nn+nm+pn+pm is the number of uncertain elements, ωi≠ωj, ωi+ωj≠ωk, i, j, kε{1, . . . , Np}, and ωi>ω*, ∀iε{1, . . . , Np}, with ω* large enough, converges to the local, minima of Q, wherein zi, iε{1, . . . , Np} are intermediate learning variables, ωi, iε{1, . . . , Np} are given learning frequencies, ω* is a lower limit of the learning frequencies, t is the time variable, and αi, iε{1, . . . , Np} are learning amplitudes.

Some embodiments are based on recognition that if the learning cost function is determined for repeated tasks of the MPC, the parameter of uncertainty can be iteratively updated to its true value. Accordingly, some embodiments repeat the steps of the method of FIG. 3 a plurality of times, such that the task of the operation is performed the plurality of times, until the value of the learning cost function is below a threshold.
FIG. 5 shows a block diagram of a method for iterative update of the parameter of uncertainty of the MPC according to one embodiment of the invention. The embodiment solves 520 the MPC of Equation (3), wherein the MPC includes a parameter of uncertainty according to a model (6). The MPC is solved for multiple steps of control to complete a task of the operation. The control inputs determined by MPC are applied 530 to the controlled system. The output of the controlled system is used to determine 550 the value of the learning cost function, to determine 540 and update 510 the parameter of uncertainty. Next, the MPC with updated parameter of uncertainty is solved 520 again to repeat the task of operation.
Some embodiments of the invention determine various parameters of the MPC and model-free optimization methods to ensure stability of operation and conversion of the parameters of uncertainty to their true value. Such selections ensure merging of the MPC and the model free optimization to result in an adaptive MPC.
FIG. 6A shows a flow chart of a method for an adaptive MPC according to some embodiments of the invention. FIG. 6B shows a pseudo code for implementation of the method of FIG. 6A in one embodiment that uses MES as the model-free optimization.
The method initializes 610 various parameters of the MPC, such as MPC sampling time and/or a length of the horizon. The method also initializes various parameters of MES, such as amplitude and frequency of dither signal. The method also initializes a threshold for the value of the learning cost function. The learning cost function is analytic and admits at least a local minimum in the search domain.
The embodiment can also optionally determine bounds of a safety region 615 for the state of the system. The bounds 615 are used to force the model of the system with updated parameters of uncertainty to remain within the safety region to ensure the safety of operation of the system, since the learning is done online while the system is operating. This safety region is defined in such a way for the MPC problem to be feasible within the constraints of the system. Thus, in this embodiment, the determining of the updated parameter of uncertainty is subject to bounds of a safety region.
For example, one variation of this embodiment updates the parameters of uncertainty in such a way that the search of the updated model is done within the safety region. Alternative variation of the embodiment restricts the updated models to the safety set by projecting the values of the updated parameters of uncertainty into the safety set, using a projection operator. Another variation uses searches for the updated parameters of uncertainty under constraints bounded in the desired safety region.
After the initialization, the method solves 620 the MPC with initialized parameters and applies 630 the control inputs determined by the MPC to the system to complete the task of the operation. After completion of the task the value Q of the learning cost function is determined 640 and compared 650 with the threshold. If the value Q is less than the threshold, the MPC 620 is repeated without the update. Otherwise, the parameter of uncertainty of the MPC is updated 660 using model-free optimization, and the subsequent control 620 is performed using the updated parameter.
In various embodiments of the inventions, the parameters of uncertainty of the MPC can vary. In some embodiments, the parameter of uncertainty includes a structural uncertainty of a model of the system. In alternative embodiments, the parameter of uncertainty includes a feedback gain of the MPC or a cost function of the MPC, such as final cost or coefficients of the MPC cost function.
Some embodiments of the invention provide a system and a method for controlling an operation of a system according to a trajectory that includes tasks of operation repeated multiple times. The segment of the trajectory representing the task is referred herein as a reference trajectory of the task. The task is usually can be completed over a multiple control steps. Some embodiments of the invention work with real or virtual tasks.
FIG. 7 shows an example of a real task repeated multiple times 720-723 according to a reference trajectory 710. An example of such task is a robot arm moving a mass between two points multiple times.
Additionally or alternatively, the trajectory can be partitioned into segments representing substantially similar tasks. For example, the trajectory of the movement of a train can be partitioned into an acceleration task, deceleration task and a coasting task. In this case, the acceleration, deceleration and coasting tasks are virtual tasks.
FIG. 8 shows an example of determining a reference trajectory according to the virtual tasks. For example, the entire trajectory 810 of the system is partitioned into a set of segments, wherein each segment in the set represents the task of operation. In this example, the trajectory is partitioned into three set of segments, i.e., a set of segment T1 representing, e.g., an acceleration of the system, a set of segment T2 representing, e.g., a deceleration of the system, and a set of segments T3 representing, e.g., a steady state of the system. The reference trajectory is determined separately for each set of segments. For example, the reference trajectory is determined as a trajectory of the segment T1, and the parameter of uncertainty is updated for performance of the task according trajectories of the segments T1.
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. 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.
Also, the embodiments of the invention may be embodied as a method, of which an example has been provided. The steps 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.
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.

## Claims

1. A method of controlling an operation of a system according to a reference trajectory of a task of the operation to produce an actual trajectory using a model predicative control (MPC), comprising:
determining a control input using a solution of the model predictive control (MPC) over a receding horizon, wherein the MPC includes at least one parameter of uncertainty including a parameter of a model of dynamics of the system;
using the control input, determining a value of a learning cost function of a distance between the reference trajectory and the actual trajectory, wherein the learning cost function is
Q(Δ)=F(Ye(Δ)), wherein Δ is the parameter of uncertainty, ye is the distance between the reference trajectory and the actual trajectory, F(.) is a positive definite function;
determining, using a model free optimization, a value of the parameter of uncertainty reducing the value of the learning cost function to produce an updated parameter of uncertainty, wherein the model free optimization includes a multivariable extremum seeking optimization having an optimized control replaced with a structural uncertainty of the model including a concatenated weight matrices;
determining a set of control inputs, by repeating the determining control input step multiples times, for completing the task according to the reference trajectory using the MPC with the updated parameter of uncertainty, wherein the steps of the method are performed by at least one processor and
using the set of control inputs, completing the task.

2. The method of claim 1, repeating the steps of the method a plurality of times, such that the task of the operation is performed the plurality of times, until the value of the learning cost function is below a threshold.

3. The method of claim 1, wherein a trajectory of the operation of the system includes the reference trajectory repeated multiple times.

4. The method of claim 1, further comprising:
partitioning a trajectory of the operation of the system in a set of segments, wherein each segment in the set represents the task of operation; and
determining the reference trajectory as a trajectory of the segment.

5. The method of claim 1, wherein the learning cost function determines the distance between the entire reference trajectory and the entire actual trajectory.

6. The method of claim 1, wherein the model free optimization includes an extremum seeking optimization having an optimized control replaced with the parameter of uncertainty.

7. The method of claim 1, wherein the model free optimization includes a reinforcement learning optimization.

8. The method of claim 1, wherein the parameter of uncertainty includes a feedback gain of the MPC.

9. The method of claim 1, wherein the parameter of uncertainty includes a parameter of a cost function of the MPC.

10. The method of claim 1, wherein the determining of the updated parameter of uncertainty is subject to bounds of a safety region defining a feasibility of the MPC.

11. A controller to control an operation of a system according to a reference trajectory of a task of the operation to produce an actual trajectory using a model predicative control (MPC), the controller comprising at least one processor for:
determining a control input using a solution of the model predictive control (MPC) over a receding horizon, wherein the MPC includes at least one parameter of uncertainty including a parameter of a model of dynamics of the system;
using the control input, determining a value of a learning cost function of a distance between the reference trajectory and the actual trajectory, wherein the learning cost function is
Q(Δ)=F(Ye(Δ)), wherein Δ is the parameter of uncertainty, ye is the distance between the reference trajectory and the actual trajectory, F(.) is a positive definite function;
determining, using a model free optimization, a value of the parameter of uncertainty reducing the value of the learning cost function to produce an updated parameter of uncertainty, wherein the model free optimization includes a multivariable extremum seeking optimization having an optimized control replaced with a structural uncertainty of the model including a concatenated weight matrices;
determining a set of control inputs, by repeating the determining control input step multiples times, for completing the task according to the reference trajectory using the MPC with the updated parameter of uncertainty and
using the set of control inputs, completing the task.

12. The controller of claim 11, wherein a trajectory of the operation of the system includes the reference trajectory repeated multiple times.

13. The controller of claim 11, wherein the model free optimization includes an extremum seeking optimization having an optimized control replaced with the parameter of uncertainty.

14. The controller of claim 11, wherein the model free optimization includes a reinforcement learning optimization.

15. The controller of claim 11, wherein the parameter of uncertainty includes a structural uncertainty of a model of the system.

16. The controller of claim 15, wherein the structural uncertainty includes concatenated weight matrices of a model of the system.