The present disclosure relates to motion errors and, more particularly, relates to the use of filtered basis functions derived from a uniform or non-uniform rational B-spline curve to compensate for servo-induced motion errors.
This section provides background information related to the present disclosure which is not necessarily prior art. This section provides a general summary of the disclosure, and is not a comprehensive disclosure of its full scope or all of its features.
The present teachings provide an approach for minimizing tracking errors in dynamic systems (including those with non-minimum phase (NMP)) zeros by using filtered basis splines (B-splines). The output of the tracking controller is represented as a linear combination of B-splines having unknown coefficients. The basis functions are forward filtered using the dynamics of the system and their coefficients selected to minimize the errors in tracking a given trajectory. Among many other benefits, the use of B-splines allows: (i) constraints to be imposed on the input and outputs of the system as linear functions of the spline coefficients; (ii) non-zero initial conditions to be imposed; (iii) tracking of higher order derivatives; and (iv) the use of limited look ahead capabilities in the filtering process.
Further areas of applicability will become apparent from the description provided herein. The description and specific examples in this summary are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.
The drawings described herein are for illustrative purposes only of selected embodiments and not all possible implementations, and are not intended to limit the scope of the present disclosure.
Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings.
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments are provided so that this disclosure will be thorough, and will fully convey the scope to those who are skilled in the art. Numerous specific details are set forth such as examples of specific components, devices, and methods, to provide a thorough understanding of embodiments of the present disclosure. It will be apparent to those skilled in the art that specific details need not be employed, that example embodiments may be embodied in many different forms and that neither should be construed to limit the scope of the disclosure. In some example embodiments, well-known processes, well-known device structures, and well-known technologies are not described in detail.
The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. As used herein, the singular forms “a,” “an,” and “the” may be intended to include the plural forms as well, unless the context clearly indicates otherwise. The terms “comprises,” “comprising,” “including,” and “having,” are inclusive and therefore specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. The method steps, processes, and operations described herein are not to be construed as necessarily requiring their performance in the particular order discussed or illustrated, unless specifically identified as an order of performance. It is also to be understood that additional or alternative steps may be employed.
Tracking of Dynamic Systems Including Input or Output Constraints
The goal of tracking control is to force the output of a system to follow a desired trajectory as closely as possible. Consider a linear time-invariant (LTI) dynamic system with transfer function G, as shown in
Furthermore, consider a specific example where G represents the dynamics of the feed axis of a CNC machine with unwanted vibration modes, given by
where M represents the number of modes, while ∝i and βi are the residue constants, ζi is the damping ratio and ωn,i is the natural frequency of the ith mode in rad/s. Using tracking control, it is desired to generate χdm*, a modified and optimized version of desired position trajectory χd, such that, when applied to the feed axis in place of χd, minimizes the tracking errors caused by G while satisfying the kinematic limits of the machine axis.
For a B-spline of degree m, having n+1≤E+1 control points, p0, p1, . . . , pn, and knot vector, [g0g1 . . . gm+n+1]T, Nj,m(ξ) are real-valued basis functions given by
where j=0,1, . . . , n and ξ∈[0,1] is the spline parameter, representing normalized time, which is discretized in Eq. (2) into E+1 uniformly spaced points, ξ0,ξ1, . . . , ξE. The knot vector can be selected to be uniform, such that
Notice that if χdm given in Eq. (2) is applied as the motion command to the CNC feed axis of
χ=ÑP (5)
e=χd−χ=χd−Ñp (6)
One useful mathematical property of B-splines is that the derivative of a B-spline curve is also a B-spline curve that can be expressed linearly in terms of the control points of the original curve. Hence, the rth derivative of χdm can be written as
where Nr is the basis function matrix for the rth derivative of position; its elements can be calculated readily from those of N. Therefore, to achieve the stated objective of the present teachings, χdm*=Np* can be generated using optimal control points, p*, calculated to minimize the objective function given by
where Lr represents the kinematic limit associated with the rth derivative of χdm (e.g., its velocity, acceleration and jerk limits), while ∥·∥∞ denotes the infinity norm (i.e., the maximum absolute value of the elements) of a vector.
Note that constraints can be similarly placed on the output, χ, and its derivatives by swapping Nr in Eq.(8) with Ñr (i.e., the filtered version of Nr).
Notice that, if the kinematic constraints are not considered, the solution to Eq. (8) reduces to a traditional least-squares fitting problem where
p*=((ÑTÑ)−1ÑT)χd (9)
However, with the constraints included, Eq. (8) becomes a least squares problem with inequality constraints, which has a guaranteed solution as long as the constraints are feasible. The solution is unique if the matrix Ñ is full rank (i.e., if the filtered basis functions are linearly independent). The present method achieves trajectory parameterization, constraint enforcement and optimization simultaneously using industry-standard B-splines and basic least squares techniques, making it easy to use. Notice also that both χd and χdm* have the same length (i.e., E+1), meaning that the proposed method does not sacrifice motion speed. Though the method has been discussed for a single axis (i.e., χ), it is readily applicable to multiple axes of a CNC machine by treating each axis separately; therefore, it is very systematic and scalable.
Handling of Non-Zero Initial Conditions
In tracking control, the trajectory to be tracked could have non-zero initial conditions associated with the trajectory itself, as well as with its higher-order derivatives. This is realized through the linear relationship between the control points and the higher order derivatives in Eq. (7). For example, the first derivative of χdm at initial time ξ0 (i.e., when ξ=ξ0) is expressed as
xdm′(ξ0)=m(n−m+1)(p1−p0) (10)
Higher order derivatives of Eq. (7) can be obtained in a similar manner. Note that the value of the first derivative at ξ=ξ0 depends on the first two control points. The value of second derivative will depend on the first three control points and so on. Consequently, an initial condition on the rth derivative of a given trajectory constraints the first r+1 control points associated with the trajectory (where r<m). Hence, the initial conditions of xd (which are the same as those of xdm) can be expressed as
Qp=z (11)
where z is a vector of initial conditions and Q is a matrix comprising the coefficients obtained from Eqs. (7) and (10), and similar equations derived for higher order derivatives. Accordingly, Eqs. (9) and (11) can be combined to obtain
where is a vector of Lagrange multipliers. The solution of Eq. (12) (in a manner similar to Eq. (9)) results in minimum tracking error while satisfying the conditions given by Eq. (11).
Enhanced Tracking of Higher Order Derivatives
In certain tracking applications, e.g., position tracking in robots and CNC machines, it may be of interest to also maintain close tracking of higher order derivatives of the desired trajectory, e.g., velocity and acceleration. The B-spline framework is very useful in this regard.
Filtering N1,N2, . . . Nr using G gives, Ñ1, Ñ2, . . . , Ñr, respectively. Consequently, accurate tracking of χd and its first r derivatives can be achieved by solving the composite equation given by
where α1, α2, . . . αr are user-defined weights attached to each derivative of χd to indicate its importance relative to position tracking. The solution of Eq.(14) can be obtained using least squares in a manner similar to Eq.(9).
Limited Look Ahead
In explaining the proposed method so far, it has been assumed that all E+1 points of the trajectory, xdm, is known, and that the optimal coefficients p* have been solved using all E+1 points of xdm. Basically, complete (total) look ahead capability has been assumed.
However, in practice xdm may not be known in its entirety; instead it may be available in smaller batches (subsets) which sequentially combine to form xdm in its entirety. Even when all of xdm is available, it may be computationally prohibitive (e.g., for real time implementation) to use all of xdm at once for generating p*.
In such cases, the application of the proposed method can be performed sequentially (recursively) using smaller subsets of xdm, thus provided limited look ahead as opposed to complete look ahead capability.
One way of doing this is to generate matrices N and Ñ as described above and then partition them into smaller submatrices correctly sized to match any subset of xdm that is available. A corresponding subset of the optimal coefficient vector p* is then solved for using the smaller submatrices. This process is repeated sequentially for subsequent subsets of xdm (as they become available).
Continuity between solutions from each batch of xdm can be assured by creating some overlap between the submatrices and coefficients of successive subsets of xdm.
Experimental Examples
Experimental results are presented in this section to compare the proposed technique to the uncompensated case. The biaxial (X-Y) linear motor driven stage (Aerotech ALS 25010) shown in
For each axis, the lower mode is a mode from the stage while the higher mode is from the flexible fixture (whose natural frequencies are different in the x and y directions because the mounting rod has a rectangular cross section). However, not obvious in
The position trajectories from the uncompensated and the proposed methods are applied to the X and Y axes of the stage as motion commands.
Examples on Limited Look Ahead Simulation
This application is a U.S. National Phase Application under 35 U.S.C. 371 of International Application No. PCT/US2016/044491 filed on Jul. 28, 2016 and published in English as WO 2017/019869 A1 on Feb. 2, 2017. This application claims the benefit of U.S. Provisional Application No. 62/197,682, filed on Jul. 28, 2015. The entire disclosures of the above applications are incorporated herein by reference.
This invention was made with government support under CMMI1350202 awarded by the National Science Foundation. The Government has certain rights in the invention.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2016/044491 | 7/28/2016 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2017/019869 | 2/2/2017 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5726896 | Jia et al. | Mar 1998 | A |
6505085 | Tuttle | Jan 2003 | B1 |
6782306 | Yutkowitz | Aug 2004 | B2 |
8515701 | Swaringen | Aug 2013 | B2 |
20030018400 | Tuttle et al. | Jan 2003 | A1 |
20050237325 | Motter et al. | Oct 2005 | A1 |
20070179685 | Milam et al. | Aug 2007 | A1 |
20080133982 | Rawlins | Jun 2008 | A1 |
20100063603 | Chandhoke | Mar 2010 | A1 |
20130249905 | Matthews | Sep 2013 | A1 |
Number | Date | Country |
---|---|---|
1235126 | Aug 2002 | EP |
Entry |
---|
International Search Report and Written Opinion of the International Searching Authority issued in PCT/US2016/044491, dated Oct. 26, 2016; ISA/KR. |
Dimitry Gorinevsky. “Learning Approximation of Feedforward Control Dependence on the Task Parameters with Application to Direct-Drive Manipulator Tracking.” IEEE Transactions on Robotics and Automation, vol. 13, No. 4. Aug. 1997. |
Extended European Search Report of the European Patent Office issued in EP 16831354.2, dated Mar. 18, 2019. |
Number | Date | Country | |
---|---|---|---|
20180217575 A1 | Aug 2018 | US |
Number | Date | Country | |
---|---|---|---|
62197682 | Jul 2015 | US |