Patent ID: 12246699

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.

DETAILED DESCRIPTION OF THE PREFERRED 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 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.

FIG.1shows an example of a controlled machine, such as a machine, controlled by a previously designed legacy controller capable of tracking desired references109, according to some embodiments. Together, we refer to the machine and the legacy controller as the legacy control system101. The legacy system101can be a mechanical system, chemical system, or electrical system such as a motor drive, robot, automobile, or the like. The controlled machine101, owing to wear and tear or external environmental factors such as temperature or wind resistance variation, contains parametric uncertainties such as unknown physical parameters or unmodeled dynamics, which can lead to constraint violation when using the legacy controller alone. Examples of unknown physical parameters include loads on a robotic manipulator while unmodeled dynamics include nonlinear friction effects during tire skidding. To enforce constraint satisfaction, in some implementations, an adaptive reference governor (ARG)103adjusts the desired reference109to a constraint-admissible reference107using the data105obtained during the operation of the machine101. The data105can include state, output, and/or references obtained at the current time or stored from previous times.

FIG.2describes the components of the data-driven adaptive reference governor103interfaced with a machine controlled by a legacy control system101. The machine201, as used herein, is any apparatus that can be controlled to a desired reference input signal (reference). The desired reference signal109can be associated with physical quantities, such as desired voltages, pressures, forces, etc. The machine produces an output signal (output). The output can represent a motion of the machine and can be associated with other physical quantities, such as currents, flows, velocities, positions. Typically, the output is related to a part or all of the previous output signals, and to a part or all of the previous and current input signals. However, the outputted motion of the machine may not be realizable due to constraints on the machine during its operation. The input and output are processed by a controller.

The operation of the machine201can be modeled by a set of equations representing changes of the output over time as functions of current and previous inputs and previous outputs. During the operation, the machine201can be defined by a state of the machine. The state of the machine is any set of information, in general time varying, that together with the model and future inputs, can define future motion. For example, the state of the machine201can include an appropriate subset of current and past inputs and outputs.

The legacy tracking controller205can be implemented in hardware or as a software program executed in a processor (hardware processor), e.g., a microprocessor, which at fixed or variable control period sampling intervals receives the estimated state203of the machine201and the adjusted reference input107and determines, using this information, the inputs to the actuator207used for operating the machine. The sensor203, at fixed or variable period sampling intervals, receives the outputs of the machine201and sends this output data209to the ARG103via the interface105. Examples of the interface105includes network control interface configured to accept data transmitted thorough wired or wireless communication channel. These outputs can be one or a combination of measurements, states, and references of the legacy control system101at the current time or stored in memory at some previous time instants.

In some embodiments, the ARG103has the following modules: a parameter estimation module231, a constraint-admissible invariant set (CAIS) learning module221, and a reference generation module211.

The parameter estimator231estimates the parametric uncertainty in the machine using the output data209or some transformation of this data. The parameter estimator231usually consists of estimation algorithms deployed on a processor235that uses stored data in memory233, including stored previous state estimates, parameter estimates, covariance matrices, and so on. Examples of parameter estimator231can include: linear and nonlinear observers or Kalman filters with state augmentation, and recursive least squares filters when full state feedback is available. Estimated parameters could include a mass of a vehicle, an inertia of a vehicle, a tire friction coefficient of at least one tire mounted on a vehicle, or viscous damping coefficients in servomotors.

The machine201and control system is designed to satisfy constraints227that arise from safety considerations, physical limitations, and/or specifications, limiting the range where the outputs, the inputs, and also possibly the states of the machine are allowed to operate. The constraints227are defined in continuous space. For example, state constraints are defined in continuous state space of the machine and reference input constraints are defined in continuous reference input space. The CAIS learning module221takes outputs of the parameter estimator231, along with features and labels stored in the memory223to generate constraint-admissible sets using the CPU/GPU or combination thereof in the processor225for use in the reference generator module211.

Given a desired reference input109such as a desired velocity to be tracked in cruise control, or a desired torque in a servomotor, the reference generator unit211adjusts this desired reference input r to an adjusted reference input v using the CAIS generated by the CAIS learner221. The adjusted reference input belongs to a set of admissible references217, such as limits on velocities in highway driving between 50 and 80 miles per hour. The reference generator accesses its memory213to find the adjusted reference in the previous time instant and updates that to compute the new adjusted reference using computations in the processor215. The adjusted reference input is connected with the legacy controlled machine via the interface107and is guaranteed to enforce constraints227without altering the structure of the legacy control system101.

FIG.3illustrates some embodiments of a dynamical machine with uncertain parameters and legacy controllers. A general structure of the dynamical model of the legacy control system103is given by the dynamical model301, where t is the time index, x∈⊂nxdenotes the system state, u∈nuis the control input from the legacy controller κ(y, v) which depends on the output y∈nyand the adjusted reference input v∈⊂nv. The output function is given by h and the legacy controller is designed so that the output y tracks the reference v. The uncertain parameters of the model are denoted by θ∈Θ⊂nθ. In one embodiment, the uncertain parameter acts linearly in the dynamical model representation311but the measured output is a nonlinear transformation of the state and adjusted reference (output-feedback). In another embodiment of a dynamical model321, the uncertain parameter acts linearly in the dynamics, but the output is the full state of the system (state-feedback).

According to some embodiments, the output of the legacy control system103must satisfy constraints described by the set for each instant of time, that is yt∈⊂nyfor every time t≥0. The sets,,and Θ are compact and known by the designer. The sets,,contain the origin in their interiors. The setis convex. The set Θ denotes prior knowledge on the range of system parameters, for example, loads on a robotic manipulator will have a specified range such as [0, 10] lb. In some embodiments, both the reference input and output are scalars.

In the unconstrained setting, that is=ny, the legacy system exhibits good tracking performance. Thus, the legacy system is asymptotically stable and for each r∈, when vt=rt≡r for all t≥0, yt→r as t→∞. The objective of a reference governor is to select vtas close as possible to rtwhile ensuring that the constraints yt∈is enforced.

FIG.4Adescribes a schematic diagram of the parameter estimator231according to some embodiments. The overall function of the estimator is to generate parameter, and if required, state estimates of the machine based on sensor outputs and prior references, along with prior state and parameter estimates. For dynamical models311that do not have full state feedback, one exemplar parameter estimator is a particle filter. For dynamical models with full state feedback321, an exemplar parameter estimator is a Kalman filter. The parameter estimator231uses measurements made during the operation of the system and generates estimates of the system states411and estimates of the uncertain parameters of the system413.

FIG.4Bis a diagram describing the parameter estimates413, according to embodiments of the present disclosure. Depending on the parameter estimator selected, the parameter estimates413can be estimated with stochastic descriptions421, such as a point estimate423like an average or expectation from a Bayesian estimator, along with a probabilistic bound425on the statistics of the estimate such as a confidence interval. Conversely, with deterministic parameter estimators such as unknown input observers or interval observers, one can obtain one or a combination of a deterministic point estimate433along with a robust bound estimate435such as an∞bound on the parameters. The advantage of using confidence intervals instead of point estimates is that they can be made to exhibit certain useful properties such as non-expansivity as more data becomes available. Unlike point estimates, which can be time-varying and unpredictable, confidence intervals can be designed to exhibit predictable dynamics, making them effective for constraint enforcement.

In one embodiment, the machine201with the uncertain dynamics may be given by
xt+1=f(xt,vt)+θTg(xt,vt),yt=xt(1)

An efficient way of determining such confidence intervals for machine with this class of uncertain dynamics is by using Kalman filters and adaptive particle filters. We do this by reformulating the dynamics (1) in a probabilistic framework where θ is treated as an unknown disturbance with stochastic properties. In the current embodiment, since xtis known, we exploit the linearity of the system (1) with respect to θ and use a Kalman filter for estimating θ and its confidence interval Θt. Note that the approach can be extended to the case when the state vector is not completely known and has to be estimated together with the parameter. Specifically, we reformulate (1) as
θt=θt−1+wt,  (2)
yt=g(xt−1,vt−1)Tθt+et,  (3)
whereyt=xtT−fT(xt−1,vt−1), that is, the dynamical system (1) for xtnow plays the role of the measurement (output) equation in the Kalman filter.

The reason to address the parameter estimation problem in a Bayesian framework is that even if the state xtis known, for instance, from measurements, such knowledge is typically imperfect due to inherent noise in the sensors measuring the state, even though we do not model the uncertainties explicitly in (1) for simplicity. Furthermore, a Bayesian framework provides a systematic approach to work with confidence intervals in recursive estimators. In a Bayesian context, we update the uncertainty θt+1:p(θt) andyt:p(θt). We address the parameter estimation problem by recursively estimating the posterior density function of the parameter θt, given by
p(θt|y0:T).  (4)
using the measurement historyy0:T={y0, . . . ,yT}. The Bayesian updates for solving (4) can be summarized in the prediction and update equations

p⁡(θt|y_0:t-1)=∫p⁡(θt|θt-1)⁢p⁡(θt-1|y_0:t-1)⁢d⁢θt-1,(5)p⁢(θt|y_0:t)=p⁡(y_t|θt)⁢p⁡(θt|y_0:t-1)p⁡(y_t|y_0:t-1),(6)
where P(yt|y0:t-1) is a normalization constant. If the process noise and measurement noise are Gaussian distributed, then the Bayesian update recursions (5-6) result in the Kalman filter equations that estimate the parameter mean and associated covariance. Using the covariance, we estimate the confidence interval {circumflex over (Θ)} as
{circumflex over (Θ)}tj=[{circumflex over (θ)}tj−βPtjj,{circumflex over (θ)}tj+βPtjj]
for each element j in the parameter vector θtand β>0.

In order to provide theoretical guarantees on the PARG, some embodiments ensure that the confidence intervals do not expand with more available data, that is, {circumflex over (Θ)}t+1⊆{circumflex over (Θ)}t. While this is a natural consequence of applying Kalman filters to linear-in-parameter systems such as (1), in general, exploration using nonlinear filters such as in particle filters could result in a violation of this condition. In such scenarios, one embodiment explicitly enforces contraction of confidence intervals. Specifically, if the filter computes an updated confidence interval {tilde over (Θ)}t+1, we set

Θ^t+1:={Θ^t⋂Θ~t+1if⁢⁢Θ~t+1⋂Θ^t≠∅Θ^t,otherwise.(7)

This forces non-expansion of {circumflex over (Θ)}tfor all t≥0.

If the state vector is available at every t, one can use a linear estimator to provide the confidence intervals, and, therefore, a more general approach using Bayesian recursions is not needed. However, if the state is unavailable, the updates (5-6) can be employed to generate joint estimates of states and parameters via nonlinear recursive estimators.

FIG.5Aprovides a block representation of the CAIS learner221that leverages the parameter estimate bound413from the parameter estimator and stored state features and constraint-admissibility labels227in order to learn an updated CAIS given the constraints, according to some embodiments.

A tool used to satisfy constraints despite parametric uncertainty is a parameter-robust constraint admissible invariant set, referred to here as CAIS for brevity. More formally, let H={(x, v)∈X×V: h(x, v)∈Y} denote the set of state and reference inputs for which the output y satisfies the constraints. We present the following definition for parameter-robust constraint admissible sets: The set O({circumflex over (Θ)})⊂H is a parameter-robust constraint admissible set for the closed-loop system if, for every initial condition (x, v)∈O({circumflex over (Θ)}) when x0=x and vt=v for all t≥0, (xt, vt)∈H for every θ∈{circumflex over (Θ)} and for all t>0. The set O({circumflex over (Θ)}) is invariant. In order to generate estimates of parameter-robust constraint admissible sets, we will adopt an off-line sampling-driven approach to collect data for learning the sets on-line as operational data becomes available.

An estimate of a parameter-robust constraint admissible set can subsequently be used to evaluate the control law

vt=G_⁡(vt-1,xt,Θ^t,rt)=vt-1+G⁡(vt-1,xt,Θ^t,rt)⁢(rt-vt-1),
by solving for

G⁡(vt-1,xt,Θ^t,rt):=argminγt⁡(vt-rt)2⁢⁢subjectto:(vt,xt)∈O⁡(Θ^t),⁢vt=vt-1+γt⁡(rt-vt-1),⁢0≤γt≤1,⁢vt∈Vɛ⁡(Θ^t)(8)
at each time instant t. Note that Vε({circumflex over (Θ)}t) denotes the set of references v such that a ball of radius ε>0 centered at the corresponding steady state xss(v,θ) and v lies inside O({circumflex over (Θ)}t).

Some embodiments simulate trajectories of the legacy system off-line, from different initial states sampled from, reference inputs sampled from, and parameters within Θ. At the end of each off-line simulation, if an initial condition xi∈tracks a desired reference input vi∈without violating the constraint (3) at any time in the simulation, for a parameter θisampled within Θ, then the feature (xi, vi) is labeled ‘+1’ to indicate it resides within the parameter-robust constraint admissible set(θi). Contrarily, if the constraint is violated at any time point in the simulation, the feature is labeled ‘−1’ to indicate it resides outside O(θi). This sets up a binary classification problem which can be solved via supervised machine learning.

FIG.5Bshows a flowchart of operations (operation method500being a computer executable program) required to generate the offline features and labels according to some embodiments. In this case, the method500extracts Nxunique samples from X and construct grids (not necessarily equidistantly spaced) on V and Θ with Nvand Nθnodes560, respectively. Let xidenote the i-th sampled state, vjthe j-th sampled reference input, and θkthe k-th sampled parameter. For each (xi, vj, θk), the method500simulates561the dynamical model301/311/321forward in time over a finite horizon Tswith a constant reference vjand parameter θk. The horizon Tsis chosen long enough that the tracking error is small (for example, <10−6) by the end of the simulation. For each simulation, we check whether yt∈Y for every simulation time-point562. We set the corresponding label of the sample xias follows:

ℓij,k={+1,if⁢⁢yt∈Y⁢⁢for⁢⁢every⁢⁢t∈{0,1,…⁢⁢Ts},-1,otherwise.(9)

At the end of this off-line data generation procedure, the method500includes a fixed collection of initial {xi}i=1Nx, and each initial condition xihas a corresponding Nv×Nθmatrix of labels563

ℓi=[ℓi1,1…ℓi1,Nθ⋮⋱⋮ℓiNv,1…ℓiNv,Nθ],
from which a labeled set will be generated on-line for robust invariant set estimation using supervised learning. Note that every element in liis either +1 or −1 by (9).

In order to solve the reference generation problem, some embodiments require an estimate of the set O({circumflex over (Θ)}t), which can be obtained using machine learning.

In some embodiments, the learning problem is set up as follows. At time instant t, consider a {circumflex over (Θ)}tprovided by the parameter estimator. Then, for each vj∈{tilde over (V)}tdescribed in (10), and each xi∈{xi}i=1Nxsampled off-line, we assign the label

zi,j⁡(Θ^t)=mink∈i,j⁢(Θ^t)⁢ℓij,k,where⁢i,j⁢(Θ^t):={k:θk∈Θ^t}

is the index set of parameters contained in the current confidence interval {circumflex over (Θ)}t. Taking the minimum ensures that the estimated set is robust to all parameters within {circumflex over (Θ)}t. That is, if even one θtis infeasible for the particular vjand xi, then xidoes not belong to the robust parameter invariant set corresponding to {circumflex over (Θ)}t.

With the training data D:={(xi, vj), zi,j}, we construct classifiers ψj, where j=1, . . . , |{tilde over (V)}t|. For each vj, a classifier is trained on features {xi} and their corresponding labels {zi,j}. These classifiers need to represent inner approximations of the robust parameter invariant sets; to this end, one may select sub-level sets of the decision boundary ψk=0 of the classifier until no infeasible sample is contained in the interior of the sub-level set.

FIG.5Cshows various examples of bi-classification machine learning algorithms that can be used in the CAIS learner module, according to embodiments of the present disclosure.

The figure provides some learning algorithms521that can compute the set O({circumflex over (Θ)}t) up to arbitrary accuracy with careful selection of kernels/activation functions. These include bi-classifiers such as support vector machines531, neural networks534, extreme learning machines535, or probabilistic classifiers such as Bayesian classifiers532or Gaussian process classifiers533.

As an exemplar classification algorithm, consider a 2-norm soft margin support vector machine (SVM) classifier531trained on a dataset D by solving the optimization problem

(wjå,bjå,ξjå):=arg⁢minw,b,ξ⁢wT⁢w+c⁢ξT⁢ξ⁢⁢subjectto:zi,j⁡(wT⁢φ⁡(xi)+b)≥1-ξi,⁢∀i=1,…⁢,Nx.(11)

Here, c>0 is a regularization constant, w quantifies the margin of separation, b is a bias term, ξ are slack variables, and φ is a feature map into a reproducing kernel Hilbert space for a kernel function K. The decision function of the SVM is given by
ψj(x)=sign((wjå)Tφ(x)+bjå),
where the inner product (wjå)Tφ(x) can be expressed efficiently by the kernel function K. Since the classifiers may not be a true inner approximation of a robust parameter invariant set without an infinite number of features, a heuristic that can be employed to ensure constraint satisfaction is by choosing a small ε>0 and checking that ψjå>ε rather than ψjå(xt)>0. This forces the state to lie in the interior of the set rather than on the boundary. In this way, the hyperparameter ε trades-off safety and performance.

In some embodiments, the learner can be updated on-line or incrementally, rather than solving the entire learning problem (11) at each time step.

FIG.5Dprovides an overview of kernels541used in support vector machine based learning531. Different shapes of invariant sets can be constructed by using, for example, polytopic kernels551, quadratic kernels553, or for irregular shapes, radial basis function or polyonmial kernels555.

FIG.6Ashows a schematic of the reference generation module211in the ARG103. The updated CAIS513obtained from the learning module221and the set of admissible reference217are used to computed adjusted references that satisfy the output constraints.

According to one embodiment, a solution to (8) is computed efficiently using machine learning and gridding V. Placing a grid on V, along with the constraints, imply that the solution to (8) is contained within the sub-grid of V defined by
Vt:=[min{rt,k,vt,k},max{rt,k,vt,k}].  (10)

Then, we can recast the problem (8) as a grid search,

vt:=arg⁢minv∈V~t⁡(v-rt)2subjectto:(v,xt)∈O⁡(Θ^t),⁢v∈Vɛ⁡(Θ^t).

Solving the grid search then becomes identical to selecting the node vjon the grid {tilde over (V)}tthat minimizes the cost while ensuring that ψj(xt)>0; that is, the current state is predicted by the j-th classifier to belong to the robust parameter invariant set induced by {circumflex over (Θ)}t.

FIG.6Bshows examples illustrating some dynamics seen during the evolution of the invariant sets, according to embodiments of the present disclosure.FIG.6Bcompares the performance of the learning-based PARG to a non-adaptive RG which assumes a parameter value of {circumflex over (θ)}=45, which is the point estimate {circumflex over (θ)} after 0.1 s (which means 100 data points, since τ=0.001). The output of the parameter estimator is shown in subplot [A] (dotted line) along with the true parameter value (green continuous line). The point estimate {circumflex over (θ)} converges to a small neighborhood around θ within 1 s, and the 99% confidence intervals (blue continuous lines) start contracting to a tight set around θ around 20 s. Note that the contractions of {circumflex over (Θ)}toccur when the desired reference rtjumps and vtvaries. This happens because the vttransient dynamics excite the closed-loop system and parameter estimation is abetted by satisfaction of weak persistence of excitation conditions. In subplot [B] and [C], we illustrate the benefit of the learning-based PARG. In subplot [B], we see that the non-adaptive RG cannot satisfy constraints at all time t≥0 because the constraint admissible set is generated based on an incorrect estimate of θ. Conversely, as evident from subplot [C], the PARG, which uses parameter-robust constraint admissible set, does not violate constraints anywhere.

It is noted that since the system is nonlinear, the invariant sets are non-convex and require local radial basis function kernels to represent their geometries. In subplot [A], we see that, for a fixed vt, the sets expand with time; each updated state shares the same colored dot as the corresponding invariant set. The expansions occur because the intervals {circumflex over (Θ)}tcontract and so the invariant sets can be less conservative for the same vt. When vtchanges, as in subplot [B], the shapes of the sets alter according to how close they are to the constraints. However, as expected, the states always lie within the invariant sets, which is why constraints are never violated.

FIG.7shows examples of updated CAIS based on gradually contracting bounds425around the point estimate423at increasing time instants740,742,744. Since the uncertainty around the time instant740is higher (interval is larger), the corresponding invariant set is tighter741, but as the bounds shrink from740to742to744, the corresponding CAIS expands from741to743to745. In some embodiments, the expansion may completely alter the shape of the CAIS such as743to745.

Some embodiments of the disclosure use the ARG103for enforcing constraint when the coefficient between tire and road is uncertain.FIG.8shows a schematic of different friction functions used by some embodiments to control the motion of a vehicle. The friction functions illustrate how the magnitude of the force on a tire of vehicle traveled on a road varies with the slip for different types of the surface of the road such as dry asphalt810, wet asphalt820, and snow830surfaces. The tire-force relationship is highly nonlinear and also depends on other quantities, such as tire pressure, vehicle mass, tire temperature, and wear on the tire. As used herein, a vehicle can be any type of wheeled vehicle, such as a passenger car, bus, or rover.

FIG.8shows an exemplar situation when all other quantities except the slip are kept fixed. This is a per se method of illustrating the tire-force relationship. The figure can illustrate the longitudinal force, in which case the slip is defined in terms of the difference of the longitudinal velocity and the rotational speed of the wheel normalized by either the rotational speed of the wheel or the longitudinal velocity, whichever one is greater.FIG.8can illustrate the lateral force, in which case the slip is defined in terms of a ratio between the wheel's lateral and longitudinal velocity components.

During normal driving825, in which case the slip is small, the friction function includes an initial slope defining a stiffness of the tire. As used herein, the normal driving is defined as regular driving, e.g., everyday driving in urban areas, where the vehicle avoids emergency braking and evasive steering maneuvers. The normal driving can be contrasted with aggressive driving when extensive force is applied on the wheels of the vehicle. As used herein, the aggressive driving is defined as driving where braking/acceleration and/or steering torque is large enough such that the vehicle operates close to the tire adhesion limits of material of the tires. For example, while the validity of the linear region of the tire force function varies between different surfaces, approximating the tire force function with a linear function is valid for accelerations up to roughly 4 m/s2on asphalt surfaces, i.e., approximately 40% of the total available force on asphalt. As an example, production-type electronic stability control systems (ESC) measure a deviation from a predicted measurement, using a steering wheel angle and a longitudinal velocity, to a vehicle model using the tire force function as a linear approximation. When the deviation is more than a threshold, safety braking is activated. Thus, a measure of normal driving is driving well below these activation thresholds. In other words, if the driving is not aggressive, the driving is normal.

During the aggressive driving835the wheel slips more, which causes a larger force/friction variation. This variation is highly non-linear. For example, regardless of the extent of the force and type of the road, there is a maximum friction for almost all surfaces, which occurs at a point from which the force decreases when applying more braking/steering torque. After this point the increase in wheel slip results in smaller tire forces. For large wheel slip beyond the maximum force it becomes more difficult to maintain a desired wheel slip, since the dynamics becomes unstable beyond the point of maximum force. Therefore, vehicles are often controlled such that the wheel slip stays small enough such that the peak is not exceeded.

Hence, the friction function includes a linear part roughly corresponding to normal driving and a non-linear part corresponding to aggressive driving. During the normal driving, the friction function changes slowly and predictably. In addition, usually, the vehicle is controlled with force consistent with the normal driving. Such a control is safer and gives time and sufficient data allowing learning the linear part of the friction function during the control of the vehicle and to use the learned part of the friction function for vehicle control. For example, some embodiments use a filter configured to determine the current state of the stiffness of the tire by comparing a current state of the vehicle estimated using the stiffness of the tire with measurements of the current state of the vehicle. In other words, it is possible and safe to learn linear part of the friction function in real time during the control of the vehicle.

In contrast, the aggressive driving changes the friction function rapidly and non-linearly. Hence, controlling the vehicle using values of the linear part of the friction function can jeopardize accuracy and safety of vehicle control. In addition, non-linear variations of the friction function during the aggressive driving and relatively short time when a vehicle is driven under a specific style of the aggressive driving make the learning of the non-linear part of the friction function impractical. Hence, there is still a need for a method that can rapidly estimate non-linear part of the friction function during a real-time control of the vehicle.

FIG.9Ashows a block diagram of one iteration of a method901for controlling a vehicle moving on a road, e.g., controlling the vehicle according to a reference trajectory of desired vehicle positions and velocities along the road. This embodiment is based on the recognition that the stiffness determined for normal driving can be used to select from a memory one of the multiple parameters of friction functions. The method can be implemented using a processor of the vehicle.

The method901determines910aa current state of stiffness915aof at least one tire of the vehicle and accesses parameters909aof multiple friction functions stored in a memory. Each friction function describing a friction between a type of surface of the road and a tire of the vehicle as a function of slippage of the vehicle, the parameters of each friction function include an initial slope of the friction function defining a stiffness of the tire and one or combination of a peak friction, a shape factor and a curvature factor of the friction function.

Next, using the determined stiffness915a, the method selects920aa set of parameters925acorresponding to a particular friction function. Using a model of motion of the vehicle927aincluding the selected parameters925a, the method901determines930a, using an ARG103, a modified reference command935a, and submits the reference command935ato a controller of the vehicle to move the vehicle940aon the road.FIG.9Billustrates a general block diagram of a control system899including the ARG103for controlling a vehicle900moving on a road and interacting with the environment950. Different component of the control system899can be implemented using one or several processors operatively connected to a memory and/or various types of sensors of the vehicle. As used herein, a vehicle can mean any wheeled vehicle, including a passenger car, a bus, or a mobile robot. The vehicle can be an autonomous vehicle, semi-autonomous vehicle, or a standard vehicle equipped with active safety systems such as electronic stability control (ESC) and/or ABS. The control system899can be internal to the vehicle900and the implementation of the different components of the control system899can depend on the type of the vehicle. For example, depending on the type of the vehicle, the controllers960that generate the control commands to actuators of the vehicle960can vary.

The control system899includes a signal conditioner920that receives information290and produces estimates of the wheel speed for some or all wheels921. The information990can include wheel-speed measurements from ABS, engine torque and rotation speed, and/or brake pressure. The control system899can also include a sensing system930that measures inertial components of the vehicle, such as rotation rate of the vehicle and acceleration of the vehicle, using an inertial measurement unit (IMU). For example, the IMU can comprise 3-axis accelerometer(s), 3-axis gyroscope(s), and/or magnetometer(s). The IMU can provide velocity, orientation, and/or other position related information to other components of the control system899. The sensing system930can also receive global position information from a global positioning system (GPS) or equivalent.

The control system899also includes a state-of-stiffness estimator940for determining parameters of the state of the stiffness. In some embodiments, the state-of-stiffness estimator includes a filter that iteratively determines the state of the vehicle and the state of stiffness, from a state of the vehicle and a state of stiffness determined during previous iterations. In some implementations, a state of the vehicle includes velocity and heading rate of the vehicle, but can also include a position, heading, and additional quantities related to the motion of the vehicle.

The state-of-stiffness estimator940uses information931from the sensing system and wheel-speed estimates921from the signal conditioner920. If the sensing system930is equipped with an IMU for measuring the longitudinal acceleration of the vehicle, the measurements from the IMU can be used to determine parameters related to the longitudinal friction of the tire. However, if the sensing system930does not possess information about longitudinal acceleration, the signal conditioner920can output an estimate921of the longitudinal acceleration based on the wheel-speed estimates and other quantities according to other embodiments. Additionally, or alternatively, the state-of-stiffness estimator940can determine an estimate of the longitudinal acceleration based on the wheel-speed information921.

In one embodiment, the states of the vehicle and parameters determining the tire to road interaction are estimated iteratively by combining wheel-speed and IMU information. In another embodiment, the friction-estimation system only includes lateral components. In such a case, the information921can include necessary information for the longitudinal motion. The state-of-stiffness estimator940can also receive information961about the vehicle motion from the vehicle-control units960. The information can include a state of the vehicle, such as position, heading, velocity, and is received either from hardware or software, connected directly or remotely to the machine.

For example, the state-of-stiffness estimator can output state of stiffness941including friction values, tire-stiffness values, certainty levels of the tire stiffness, or combinations thereof. The control system899also includes a parameter selector970that uses the state of stiffness941to determine a set of parameters971describing a tire-friction function, where the parameters for multiple tire-friction functions are stored in a memory.

The control system899includes vehicle controllers960that use the selected parameters971to generate control commands to one or multiple actuators of the controlled vehicle. For example, in one embodiment, the parameters are used in a motion model of the vehicle to control the vehicle using a model predictive controller (MPC). The vehicle controllers960can include stand-alone components, such as ABS, ESC, or ADAS, or a combination of vehicle controllers that enable autonomous driving features. For example, the selected parameters can output972a friction coefficient corresponding to the parameters to be displayed on a display910of the vehicle as supervisory components to a driver of the vehicle.

To avoid determining the current friction coefficient and the entire tire friction function, one implementation stores in a database the parameters. In one embodiment, the motion model is modeled as a single-track model with nonlinear

v.x-vy⁢ψ.=1m⁢(Fx,f⁢cos⁡(δ)+Fx,r-Fy,f⁢sin⁡(δ)),⁢v.y+vx⁢ψ.=1m⁢(Fy,f⁢cos⁡(δ)+Fy,r+Fx,f⁢sin⁡(δ)),⁢Izz⁢ψ¨=lf⁢Fy,f⁢cos⁡(δ)-lr⁢Fy,r+lf⁢Fx,f⁢sin⁡(δ),
tire force as, where the nominal forces are modeled using the Pacejka tire model as
F0,ix=μixFizsin(Cixarctan(Bix(1−Eix)λi+Eixarctan(Bixλi))),
F0,iy=μiyFizsin(Ciyarctan(Biy(1−Eiy)αi+Eiyarctan(Biyαi))),
where the nominal forces are the forces under pure slip, i.e., when one of the longitudinal slip and lateral slip are zero.

Some embodiments, instead of determining the tire parameters in the Pacejka model, to be used in the tire friction function, use a linear approximation of the tire forces as Fx≈Csxλ, Fy≈Csyα, for the longitudinal and lateral tire force, where the C constants are the stiffness components. Consequently, one embodiment estimates the stiffness component using a stochastic model of the stiffness as a disturbance to the motion model, Csx=Cs,nx+ΔCsx, Csy=Cs,ny+ΔCsywhere Cs,nis the nominal stiffness value, for example, a priori determined on a nominal surface, and ΔCsis a time-varying, unknown part which is estimated according to one embodiment. One implementation estimates the mean value and variance of the tire stiffness.

Additionally or alternatively, one embodiment estimates the tire stiffness and compares to the tire parameters stored in memory according to a linear approximation of the Pacejka model, Fy≈μiyFizCiyBiiαi, which gives that the tire stiffness and parameters should be equal, μiyFizCiyBii=Ciy. However, since measurement and estimation errors, and nonperfect parameters stored in memory, give tire stiffness estimates that deviate from the ones stored in memory, one embodiment uses the estimated variance of the tire stiffness to determine the best fit according to the parameters, by selecting the parameters maximizing the likelihood of the parameters,

θ*=argmaxθ∈Θ𝒩⁡(μiy⁢FiZ⁢Ci,jy⁢Bi,jy⁢❘"\[LeftBracketingBar]"Ck,∑k).

Yet another embodiment uses a test statistic to determine whether the estimated stiffness can be regarded as outliers or inliers from the parameters. Consequently, one embodiment choose the parameters θ1corresponding to the lowest friction surface if T(μi,1yFizCi,1yBi,1y)>xnr(1), where xn2(1) is the Chi-squared distribution with one degree of freedom and some significance level η. Otherwise, the embodiment proceeds in order of increasing peak friction until a parameter set is found.

In some embodiments, constraints are imposed on the motion of the vehicle. For instance, one embodiment the constraints model a maximum allowed deviation from the middle lane of the road or a maximum heading rate of the vehicle, and one embodiment models a constraint as a maximum steering rate of the steering wheel of the vehicle.

Such constraints and the ability of a controller to satisfy such constraints are heavily dependent on the friction coefficient between at least one tire of the vehicle and the road. For instance, having a controller tuned for the friction coefficient corresponding to asphalt, if that controller is used to control a vehicle on snow, constraints such as maximum allowed deviation from the middle lane of the road are likely to be violated.

In some embodiments, the state-of-stiffness estimator940and subsequent parameter selector970is used to adapt the reference such that exemplified constraints are satisfied.

In one embodiment, the reference r is the velocity profile and steering profile to reach a desired point on the road. In other embodiments, the reference r is a timed path leading to a desired motion on the road. The reference is subject to various constraints, e.g., the velocity should obey speed limits, and the path should not deviate too much from the middle of the desired lane. For example, the steering profile should not except physical limits of the actuators.

In addition, for the reference governor to be able to make sensible decisions, the state-of-stiffness estimator outputs the determined state of stiffness of the vehicle, and the confidence of such stiffness. Referring to Eq. (7), the state-of-stiffness estimator provides the confidence bounds used by the reference governor. In one embodiment the state-of-stiffness estimator ensures contractivity according to other embodiments of the disclosure.

FIGS.10A and10Bshow block diagrams of a motion control system1000according to some embodiments of the present disclosure. The motion control system1000can be configured to perform a single axis positioning task, or a multiple axes positioning tasks. An example of the motion control system is a servo system.

As shown inFIG.10A, the motion control system1000, which can be referred as an ARG-enabled energy efficient motion control system1000that includes one or combination of a motion controller1001, an amplifier1002, and a motor1003. The motion controller1001can further include an ARG-trajectory generation module1010and a control module1020. The ARG-trajectory generation module1010receives constraints1004, tracking time1015, energy model1016, and measured signal1008as inputs and outputs an energy efficient trajectory107, as an example, of a motion of the motor of the motion control system to the control module1020. The energy efficient trajectory can include one or combination of a control trajectory of a current input to the motor, a position trajectory of a position of the motor, a velocity trajectory of a velocity of the motor, and an acceleration trajectory of an acceleration of the motor. Typically, the control, the position, the velocity, and the acceleration trajectories are equivalent to each other, because, given the initial state of the motor, every trajectory uniquely determines the other three trajectories through the dynamics of the motor. As referred herein, the energy efficient trajectory is one or combination of abovementioned trajectories.

In some embodiment, the trajectory generator module1005determines the trajectory1005by minimizing a cost function subject to the constraints1004. The cost function is determined based on an energy model1016of the system1000and a function of a tracking time1015, as described below. The motion controller can be implemented using a processor1011.

The control module1020determines a control signal1006based on the trajectory107and feedback signal1008, and outputs the control signal1006to the amplifier1002which determines and outputs a current or voltage1007to the motor1003. The motor is mechanically coupled with a load1030, and drives the load to achieve specified tasks. In one embodiment, the feedback signal1008describes a current state of the motion control system. In another embodiment, the feedback signal1008describes a motion of the motor1003. For example, in one variation of this embodiment, the feedback signal1008is a position of the motor.

In some embodiment, the constraints1004include a dynamic constraint that the motion system has to satisfy; velocity constraints limiting the speed that the motion system can operate; acceleration constraints limiting the acceleration that the motion system can have; and a control constraint limiting the voltage or current that the motor can accept.

In some embodiment, the constraints1004include a dynamic constraint that the motion system has to satisfy; velocity constraints, and acceleration constraints.

In some embodiments, the trajectory generation module1005determines trajectories according to a dynamic model of motor1003and physical constraint1004. For example, the dynamics of the motor can be defined according to

[x.1x.2]=[010d]⁡[x1x2]+[0b]⁢u+[0c]
where x=(x1, x2)=(θ, ω) is a state of the motor state representing a position of the motor position and an angular velocity respectively, u is the control input to the motor, d, c are the viscous and coulomb friction coefficients of the motor, respectively, b is a constant coefficient, a single dot indicates the first derivative, and double dots the second derivate, x2is a second component of the state of the motor x representing an angular velocity of the motor. The embodiment of 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.FIG.10Bshows an example of an ARG-trajectory generator for a motor positioning system, according to some embodiments of the present disclosure.

In some embodiment, values of parameter d, b, c, in the motor model of the motion control system, reflecting characteristics such as inertia and friction coefficient, of the load1030, are typically unknown in advance. The trajectory generator1005computes a trajectory109according nominal values of these parameters. Because of the mismatches between true parameter values of the nominal values used in1005, the trajectory109is infeasible for the motion system to follow. For example, control input constraint, for example voltage required be applied to the motor exceeds its rated voltage, and thus endangers the safety of the entire motion system, or shorten its lifespan. Adaptive reference governor103estimates point values of parameters d, b, c and their confidence level from signal1008, then reshape the infeasible trajectory109in time domain to produce a new trajectory107by slowing down acceleration or deceleration to enforce that all constraints with estimated parameters d, b, c are satisfied by107.

In some embodiment, the trajectory generator computes a time optimal trajectory satisfying velocity and acceleration constraints to maximize productivity of the motion control system, where the velocity and acceleration constraints restrict the maximal velocity and acceleration that the motor can operate. For example, the velocity constraint is
|x2|≤vmax
where vmaxis the maximum velocity. The acceleration constraint is
dx2+c+bu−amax≤0
−amax−dx2−c−bu≤0,
where amaxis a constant that defines the maximum acceleration. The time optimal trajectory computation does not require the knowledge of values of parameters d, b, c. This is expedient for embedded platforms with limited computing power, and thus the time optimal trajectory109could violate control constraint. ARG103incorporates estimated model parameters and reshapes109to produce a trajectory107with all constraints satisfied.

FIG.11A-11Billustrates time optimal position trajectory and velocity trajectory along time axis. The time optimal trajectory is computed according the velocity and acceleration constraints: by always applying maximal acceleration amaxduring acceleration period or maximal deceleration −amaxduring deceleration period, or zero acceleration during maximal velocity period. The time optimal trajectories satisfy velocity and acceleration constraints.

The motor is typically subject to other physical constraints such as maximal current that can flow into the motor. In some embodiment, the physical constraint on the maximal current is given by
|u|≤umax

FIG.11Cplots the control input trajectory corresponding to the time optimal trajectories. The control input, depending on model parameters d, b, c, in fact violates its constraint, and implies the time optimal trajectory is not feasible for the motor to follow. This is induced by the lack of knowledge of load-dependent model parameters d, b, c. According to some embodiments, ARG can estimate model parameters d, b, c, based on regular operational data, and reshape the time optimal trajectories according to physical constraints to make it feasible for the motor to execute.

In some embodiment, trajectory generator determines trajectories satisfying velocity, acceleration, and physical current/voltage constraints. The trajectory generation algorithm is computational expensive, as well as require a good knowledge of motor parameter values ensure constraint satisfaction and operation efficiency. According to some embodiments of the present disclosure, the adaptive reference governor can estimate model parameter values which can be fed into trajectory generator.

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.