License: CC BY-NC-ND 4.0
arXiv:2404.05404v1 [eess.SY] 08 Apr 2024

Contouring Error Bounded Control for Biaxial Switched Linear Systems

Meng Yuan, Member, IEEE, Ye Wang, Member, IEEE, Chris Manzie, Senior Member, IEEE, Zhezhuang Xu, Member, IEEE, Tianyou Chai, Life Fellow, IEEE This work is supported in part by European Union (EU)-funded Marie Sklodowska-Curie Actions (MSCA) Postdoctoral Fellowship under grant number 101110832, in part by the Australian Research Council via the 2022 Discovery Early Career Researcher Award (DECRA) under grant number DE220100609, in part by National Natural Science Foundation of China under projects number 61973085 and 61991404, and in part by the Research Program of the Liaoning Liaohe Laboratory under number LLL23ZZ-05-01. Meng Yuan is with the Department of Electrical Engineering at Chalmers University of Technology, Gothenburg 41296, Sweden. ([email protected]) Ye Wang and Chris Manzie are with the Department of Electrical and Electronic Engineering, The University of Melbourne, Parkville, VIC 3010, Australia. Zhezhuang Xu is with the College of Electrical Engineering and Automation, Fuzhou University, Fuzhou 350108, China. Tianyou Chai is with the State Key Laboratory of Synthetical Automation for Process Industries, Northeastern University, Shenyang 110819, China.
Abstract

Biaxial motion control systems are used extensively in manufacturing and printing industries. To improve throughput and reduce machine cost, lightweight materials are being proposed in structural components but may result in higher flexibility in the machine links. This flexibility is often position dependent and compromises precision of the end effector of the machine. To address the need for improved contouring accuracy in industrial machines with position-dependent structural flexibility, this paper introduces a novel contouring error-bounded control algorithm for biaxial switched linear systems. The proposed algorithm utilizes model predictive control to guarantee the satisfaction of state, input, and contouring error constraints for any admissible mode switching. In this paper, the switching signal remains unknown to the controller, although information about the minimum time the system is expected to stay in a specific mode is considered to be available. The proposed algorithm has the property of recursive feasibility and ensures the stability of the closed-loop system. The effectiveness of the proposed method is demonstrated by applying it to a high-fidelity simulation of a dual-drive industrial laser machine. The results show that the contouring error is successfully bounded within the given tolerance.

Index Terms:
Motion control, bounded contouring error, predictive control, switched system

I Introduction

Control of biaxial machining systems, such as laser cutters and water-jet machines, involves precise and coordinated movement of the end-effector in two-dimensional space [1]. The contouring error, defined as the minimum distance between the end-effector position and desired path, directly quantifies the machining accuracy of manufactured products [2, 3, 4]. While minimizing contouring error remains a fundamental objective in biaxial motion control, ensuring bounded contouring error offers a comprehensive solution that maintains quality assurance, operational safety and process reliability [5]. It guarantees that the manufacturing process not only achieves high precision but also operates within well-defined and acceptable error limits. Achieving bounded contouring error poses practical challenges, particularly in contemporary applications where manipulators are designed for faster movements using lighter materials. While reduced weight enhances agility, it introduces position-dependent structural flexibility, making the movement of both axes coupling. This results in a system with high nonlinearity, which makes the controller design problem challenging [6].

Modelling the dynamics with sufficient fidelity, and incorporating the model into the controller has been shown previously to improve contouring performance, ranging from cantilever beams to dual-drive machines [7, 8, 9]. In [7], the Lagrangian equations were used to describe the dynamics of the gantry machine system. In [8], an Euler-Bernoulli beam model was presented with the truncated mode method to represent the dynamics of a machine with the cantilever beam structure. To capture the coupling in both axes, virtual springs are introduced in modeling process to approximate the effect of ball bearings between motors and linear guides [9].

The presence of structural flexibility introduces discrepancies between the end-effector and actuator positions, leading to adverse effects on the accuracy of manufactured products, especially in high-acceleration scenarios. To address this challenge, detailed modeling becomes essential in controller design. One effective method to enhance modeling accuracy is by incorporating the rotation angle as an additional state, resulting in interconnected and complex control dynamics [10]. To simplify the subsequent controller design process, the nonlinear system model is normally linearized at different operating points and accommodating bounded disturbances. This simplification process leads to a switched linear system with a state-dependent switching signal. While the time-dependent reference is typically provided in advance to offer information on the minimum duration the system can stay in each mode, the exact switching signal remains unknown to the controller.

To minimize the contouring errors when a reference trajectory is specified, the cross-coupled control (CCC) was first developed to determine control action by sending the weighted contour error equally to axis controllers and forcing the axial tool position onto the path [11]. However, the constant compensator value and cross-coupling gains make the conventional CCC ineffective in dealing with nonlinear contours and can also lead to oscillation for linear contours when steady-state error tends to zero [12]. To deal with this drawback in the conventional CCC, methods including variable gain approach [12] and sliding mode control combined with CCC [13] were introduced. In [14], several CCC methods were reviewed and each method combines a specific contour error estimation algorithms and a set of control laws for directly reducing the contouring error. The coordinate transformation-based control is an alternative method to improve the contouring performance, where decoupled controllers are designed to reduce the transformed errors [3]. In [15], the error dynamics are represented in tangential and normal components, and the controller is designed to reduce the normal component of errors. Instead of estimating the contouring error, an equivalent error-based contouring control was presented in [16]. The reduction of the equivalent error leads to a reduced contouring error. While coordinate transformation-based control schemes simplify the controller design, the contouring performance deteriorates significantly when dealing system with nonlinearities [17]. In addition, the state, input and contouring error-related constraints are not considered in the above-discussed methods. Model predictive control (MPC), due to its advanced capabilities in real-time trajectory tracking, has become a prevalent choice in industrial motion control [18, 19, 20, 21]. Its inherent advantages in handling complex systems by explicitly addressing state, input, and performance constraints make it particularly well-suited for the intricate requirements of biaxial contouring control. In [22], a time-varying MPC was proposed, aiming to concurrently maximize contouring accuracy and minimize traverse time. The design of this controller also takes into account factors such as friction and other disturbances by incorporating a disturbance model in the prediction model of MPC. In [23], a generalized MPC was developed based on a unified model to simplify the modeling process. This approach introduces tracking error, contouring error, and input increment into the cost function, enabling the determination of optimal control through multi-step prediction.

For linear time-invariant systems, the constraints of states and contouring errors can be guaranteed by enforcing the states within a designed control invariant (CI) set [24]. However, satisfying constraints for any possible switching sequence is challenging considering the feasibility of MPC can be lost when dynamics change. To ensure the constraints for the switched linear system, an MPC-based algorithm for a discrete-time switched linear system with known switching signals was proposed [25]. The terminal cost and constraints that depend on the terminal mode of the system are designed to ensure persistent feasibility and asymptotic stability under dwell-time restrictions. Later, the algorithm was extended to an unknown mode switching case in [26], where the switching signal is subject to dwell time and mode transition restrictions.

In this work, we aim to propose a contouring error-bounded control algorithm tailored for biaxial industrial systems with position-dependent flexibility. The main objective is to ensure that the end-effector can follow a desired trajectory while adhering to a prescribed contouring error tolerance. If the reference is not admissible, the controller can steer the system to the closest admissible points. To achieve this, we initiate the discussion by considering an approximated switched linear system. hen, we propose an algorithm for computing switch CI sets, incorporating set propagation and mode transition restrictions that can guarantee state, input and contouring error constraints during the manufacturing process. To tackle the challenge of computing switch CI sets from non-compact feasible sets, we develop an optimization-based algorithm for approximating feasible sets while reducing the computational complexity from an implementation viewpoint. Theoretical results on the recursive feasibility and closed-loop stability of the proposed method are presented. Finally, the efficacy of the proposed approach is validated through comprehensive testing on a high-fidelity model of an industrial laser machine.

Notation: \mathbb{R}blackboard_R, +limit-from\mathbb{Z}{+}blackboard_Z +, and \mathbb{N}blackboard_N denote the sets of real, positive integer and natural numbers, respectively. The closed integer set with a range from m𝑚mitalic_m to n𝑛nitalic_n is denoted by [m,n]subscript𝑚𝑛\mathbb{Z}_{[m,n]}blackboard_Z start_POSTSUBSCRIPT [ italic_m , italic_n ] end_POSTSUBSCRIPT. For a matrix 𝐗n×n𝐗superscript𝑛𝑛\mathbf{X}\in\mathbb{R}^{n\times n}bold_X ∈ blackboard_R start_POSTSUPERSCRIPT italic_n × italic_n end_POSTSUPERSCRIPT, 𝐗0succeeds𝐗0\mathbf{X}\succ 0bold_X ≻ 0 and 𝐗0succeeds-or-equals𝐗0\mathbf{X}\succeq 0bold_X ⪰ 0 signify positive and semi-positive definiteness, respectively. A diagonal matrix with main diagonal elements a𝑎aitalic_a and b𝑏bitalic_b is represented as 𝐗=diag(a,b)𝐗diag𝑎𝑏\mathbf{X}=\mathrm{diag}(a,b)bold_X = roman_diag ( italic_a , italic_b ). The vector 𝐱(k)𝐱𝑘\mathbf{x}(k)bold_x ( italic_k ) denotes the value of 𝐱𝐱\mathbf{x}bold_x at the sampling instant k𝑘kitalic_k, and the vector 𝐱(i|k)𝐱conditional𝑖𝑘\mathbf{x}(i|k)bold_x ( italic_i | italic_k ) stands for the predicted value of 𝐱𝐱\mathbf{x}bold_x at time instant k+i𝑘𝑖k+iitalic_k + italic_i based on the data sampled at time k𝑘kitalic_k. For a vector 𝐱n𝐱superscript𝑛\mathbf{x}\in\mathbb{R}^{n}bold_x ∈ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT with a matrix P0n×nsucceeds𝑃0superscript𝑛𝑛P\succ 0\in\mathbb{R}^{n\times n}italic_P ≻ 0 ∈ blackboard_R start_POSTSUPERSCRIPT italic_n × italic_n end_POSTSUPERSCRIPT, we use 𝐱2subscriptnorm𝐱2\|\mathbf{x}\|_{2}∥ bold_x ∥ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and 𝐱Psubscriptnorm𝐱𝑃\|\mathbf{x}\|_{P}∥ bold_x ∥ start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT to denote 2-norm and weighted 2-norm, respectively.

II Problem statement

In this section, we establish the necessary preliminaries for the problem formulation, covering aspects from the definition of a switched linear system to contouring error.

II-A Switched linear system

The biaxial industrial system generally consists of components such as end-effector motors and dual drive motors as shown in Fig. 1a. The inherent structural flexibility in biaxial systems introduces the coupling of lateral and longitudinal motions, with the rotation angle serving as an additional state when describing the system dynamics. The behavior of system under steady-state conditions (dotted grey line) and moving motion (solid black line) are illustrated in Fig. 1b, revealing synchronization imperfections of dual drives.

Refer to caption
(a)
Refer to caption
(b)
Figure 1: Industrial dual drive machine: (a) photo of industrial laser machine from our partner ANCA Motion; (b) schematic diagram of dual drive machine (top view).

As the end-effector moves, the system dynamics become state-dependent, forming a direct correlation between the system behavior and the end-effector position. Through linearization at various operating points, an approximation of initial nonlinear system is represented by a switched discrete-time linear system as:

𝐱(k+1)𝐱𝑘1\displaystyle\mathbf{x}(k+1)bold_x ( italic_k + 1 ) =Aσ(k)𝐱(k)+Bσ(k)𝐮(k),absentsubscript𝐴𝜎𝑘𝐱𝑘subscript𝐵𝜎𝑘𝐮𝑘\displaystyle=A_{\sigma(k)}\mathbf{x}(k)+B_{\sigma(k)}\mathbf{u}(k),= italic_A start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT bold_x ( italic_k ) + italic_B start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT bold_u ( italic_k ) , (1a)
𝐲(k)𝐲𝑘\displaystyle\mathbf{y}(k)bold_y ( italic_k ) =Cσ(k)𝐱(k),absentsubscript𝐶𝜎𝑘𝐱𝑘\displaystyle=C_{\sigma(k)}\mathbf{x}(k),= italic_C start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT bold_x ( italic_k ) , (1b)

where 𝐱nx𝐱superscriptsubscript𝑛𝑥\mathbf{x}\in\mathbb{R}^{n_{x}}bold_x ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT represents the state, 𝐮nu𝐮superscriptsubscript𝑛𝑢\mathbf{u}\in\mathbb{R}^{n_{u}}bold_u ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT end_POSTSUPERSCRIPT is the input. The output is the end-effector position in the biaxial system, i.e. 𝐲=[xe,ye]2𝐲superscriptsubscript𝑥𝑒subscript𝑦𝑒topsuperscript2\mathbf{y}=\left[x_{e},y_{e}\right]^{\top}\in\mathbb{R}^{2}bold_y = [ italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. The switching signal σ::𝜎\sigma:\mathbb{Z}\rightarrow\mathcal{M}italic_σ : blackboard_Z → caligraphic_M is a piece-wise constant function with time k𝑘kitalic_k that switches the system dynamics between a finite number of modes, m={1,,M}𝑚1𝑀m\in\mathcal{M}=\{1,\cdots,M\}italic_m ∈ caligraphic_M = { 1 , ⋯ , italic_M }. For the biaxial contouring problem, the switching signal is state-dependent, and the system mode σ(k)𝜎𝑘\sigma(k)italic_σ ( italic_k ) is known at time instant k𝑘kitalic_k. The state and input are required to stay within polytopic sets:

𝐱𝒳,𝐮𝒰.formulae-sequence𝐱𝒳𝐮𝒰\mathbf{x}\in\mathcal{X},\mathbf{u}\in\mathcal{U}.bold_x ∈ caligraphic_X , bold_u ∈ caligraphic_U . (2)
Assumption 1.

The pair (Am,Bm)subscript𝐴𝑚subscript𝐵𝑚(A_{m},B_{m})( italic_A start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT , italic_B start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) is stabilizable and the pair (Am,Cm)subscript𝐴𝑚subscript𝐶𝑚(A_{m},C_{m})( italic_A start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) is observable for all m𝑚m\in\mathcal{M}italic_m ∈ caligraphic_M.

The motion of the end-effector is expected to track a desired curve denoted by a finite number of reference sequence 𝐫¯={𝐫1,,𝐫j,,𝐫Nr}¯𝐫subscript𝐫1subscript𝐫𝑗subscript𝐫subscript𝑁𝑟\bar{\mathbf{r}}=\{\mathbf{r}_{1},\cdots,\mathbf{r}_{j},\cdots,\mathbf{r}_{N_{% r}}\}over¯ start_ARG bold_r end_ARG = { bold_r start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , ⋯ , bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , ⋯ , bold_r start_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_POSTSUBSCRIPT } with 𝐫j[xe*,ye*]subscript𝐫𝑗superscriptsuperscriptsubscript𝑥𝑒superscriptsubscript𝑦𝑒top\mathbf{r}_{j}\triangleq[x_{e}^{*},y_{e}^{*}]^{\top}bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≜ [ italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT satisfying f(𝐫j)=0𝑓subscript𝐫𝑗0f(\mathbf{r}_{j})=0italic_f ( bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) = 0 for j[1,Nr]𝑗subscript1subscript𝑁𝑟j\in\mathbb{Z}_{[1,N_{r}]}italic_j ∈ blackboard_Z start_POSTSUBSCRIPT [ 1 , italic_N start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ] end_POSTSUBSCRIPT, where f()𝑓f(\cdot)italic_f ( ⋅ ) is the function that represents the desired reference.

For the investigated switched system (II-A), the switching sequences are required to be admissible, adhering to dwell-time and mode transition restrictions. We begin by defining dwell time of a mode m𝑚m\in\mathcal{M}italic_m ∈ caligraphic_M as the minimal time between switches [25]:

dwellm(σ)=min{τs+1τs|σ(τs)=m,s},subscriptdwell𝑚𝜎subscript𝜏𝑠1conditionalsubscript𝜏𝑠𝜎subscript𝜏𝑠𝑚𝑠\textrm{dwell}_{m}(\sigma)=\min\{\tau_{s+1}-\tau_{s}\,|\,\sigma(\tau_{s})=m,s% \in\mathbb{N}\},dwell start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_σ ) = roman_min { italic_τ start_POSTSUBSCRIPT italic_s + 1 end_POSTSUBSCRIPT - italic_τ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT | italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) = italic_m , italic_s ∈ blackboard_N } ,

where the switching instant τssubscript𝜏𝑠\tau_{s}\in\mathbb{N}italic_τ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∈ blackboard_N is the discrete time when the switching sequence changes mode σ(τs)σ(τs1)𝜎subscript𝜏𝑠𝜎subscript𝜏𝑠1\sigma(\tau_{s})\neq\sigma(\tau_{s}-1)italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) ≠ italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT - 1 ).

With given reference 𝐫¯¯𝐫\bar{\mathbf{r}}over¯ start_ARG bold_r end_ARG, the minimum dwell-time for each mode i.e., dmsubscript𝑑𝑚d_{m}italic_d start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT can be inferred, and dwellm(σ)dmsubscriptdwell𝑚𝜎subscript𝑑𝑚\textrm{dwell}_{m}(\sigma)\geq d_{m}dwell start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_σ ) ≥ italic_d start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT holds. In each mode σ(k)𝜎𝑘\sigma(k)italic_σ ( italic_k ), the remaining dwell-time δ(k)𝛿𝑘\delta(k)italic_δ ( italic_k ) is computed as

δ(k+1)={max{δ(k)1,0},if σ(k+1)=σ(k),dσ(k+1),otherwise.𝛿𝑘1cases𝛿𝑘10if 𝜎𝑘1𝜎𝑘subscript𝑑𝜎𝑘1otherwise.\delta(k+1)=\begin{cases}\max\{\delta(k)-1,0\},&\text{if }\sigma(k+1)=\sigma(k% ),\\ d_{\sigma(k+1)},&\text{otherwise.}\end{cases}italic_δ ( italic_k + 1 ) = { start_ROW start_CELL roman_max { italic_δ ( italic_k ) - 1 , 0 } , end_CELL start_CELL if italic_σ ( italic_k + 1 ) = italic_σ ( italic_k ) , end_CELL end_ROW start_ROW start_CELL italic_d start_POSTSUBSCRIPT italic_σ ( italic_k + 1 ) end_POSTSUBSCRIPT , end_CELL start_CELL otherwise. end_CELL end_ROW

The condition dwellm(σ)dmsubscriptdwell𝑚𝜎subscript𝑑𝑚\textrm{dwell}_{m}(\sigma)\geq d_{m}dwell start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_σ ) ≥ italic_d start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ensures that the switched system (II-A) in each mode m𝑚m\in\mathcal{M}italic_m ∈ caligraphic_M can be effectively stabilized using linear controllers of the form u(k)=Kmx(k)𝑢𝑘subscript𝐾𝑚𝑥𝑘u(k)=K_{m}x(k)italic_u ( italic_k ) = italic_K start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT italic_x ( italic_k ), where Kmnu×nxsubscript𝐾𝑚superscriptsubscript𝑛𝑢subscript𝑛𝑥K_{m}\in\mathbb{R}^{n_{u}\times n_{x}}italic_K start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT × italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT represents the controller gain [27].

Remark 1.

In practice, the time of system that dwells in each mode may be unknown, but it is possible to infer a lower bound dmsubscript𝑑𝑚d_{m}italic_d start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT for the dwell time of each mode m𝑚mitalic_m based on the information from given reference 𝐫(k)𝐫𝑘\mathbf{r}(k)bold_r ( italic_k ). The lower bound always exists considering the special case dm=1subscript𝑑𝑚1d_{m}=1italic_d start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT = 1 when system mode switches. This lower bound signifies that the system is expected to remain in mode m𝑚mitalic_m for at least dmsubscript𝑑𝑚d_{m}italic_d start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT time steps.

Assumption 2.

Given a known reference, the minimum dwell time dmsubscript𝑑𝑚d_{m}italic_d start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT of each mode m𝑚m\in\mathcal{M}italic_m ∈ caligraphic_M can be pre-determined for the design of the controller.

For contouring applications, the admissible mode transition is enforced when a reference is given. This admissible mode transition can be represented by a graph 𝔾=(,)𝔾\mathbb{G}=(\mathcal{M},\mathcal{E})blackboard_G = ( caligraphic_M , caligraphic_E ). The graph nodes represent the modes \mathcal{M}caligraphic_M of the switched system (II-A) and the edge (m,n)𝑚𝑛(m,n)\in\mathcal{E}( italic_m , italic_n ) ∈ caligraphic_E means the mode transition from σ(τs)=m𝜎subscript𝜏𝑠𝑚\sigma(\tau_{s})=mitalic_σ ( italic_τ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) = italic_m to σ(τs+1)=n𝜎subscript𝜏𝑠1𝑛\sigma(\tau_{s+1})=nitalic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 1 end_POSTSUBSCRIPT ) = italic_n is allowed.

The switching sequence σ𝜎\sigmaitalic_σ is drawn from the set:

Σ={σ:|(σ(τs),σ(τs+1)),s}.Σconditional-set𝜎formulae-sequenceconditional𝜎subscript𝜏𝑠𝜎subscript𝜏𝑠1for-all𝑠\Sigma=\{\sigma:\mathbb{N}\rightarrow\mathcal{M}\,|\,\left(\sigma(\tau_{s}),% \sigma(\tau_{s+1})\right)\in\mathcal{E},\forall s\in\mathbb{N}\}.roman_Σ = { italic_σ : blackboard_N → caligraphic_M | ( italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) , italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 1 end_POSTSUBSCRIPT ) ) ∈ caligraphic_E , ∀ italic_s ∈ blackboard_N } .

II-B Bounded contouring error

As shown in Fig. 2, the contouring error ϵ(xe,ye)italic-ϵsubscript𝑥𝑒subscript𝑦𝑒\epsilon(x_{e},y_{e})italic_ϵ ( italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) by its definition is the shortest distance between the actual position of the end effector and the desired contour, while the tracking error is the difference between the actual position and its time-dependent reference.

Refer to caption
Figure 2: Contouring errors and tracking errors.

Recognizing that contouring error significantly impacts product surface quality, our objective is to achieve bounded contouring control in manufacturing processes. It is essential to note that, in certain applications, meeting predefined contouring error tolerances may be more critical than striving for absolute minimization. Hence, our focus is on maintaining contouring error within specified tolerances to ensure high-quality manufacturing outcomes, as denoted by

ϵ(xe,ye)ϵc,italic-ϵsubscript𝑥𝑒subscript𝑦𝑒subscriptitalic-ϵ𝑐\epsilon(x_{e},y_{e})\leq\epsilon_{c},italic_ϵ ( italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) ≤ italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT , (3)

where ϵc0subscriptitalic-ϵ𝑐0\epsilon_{c}\geq 0italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ≥ 0 is a given tolerance of contouring error. With a given trajectory reference 𝐫¯¯𝐫\bar{\mathbf{r}}over¯ start_ARG bold_r end_ARG and admissible switching sequence σΣ𝜎Σ\sigma\in\Sigmaitalic_σ ∈ roman_Σ, this work is dedicated to solve the following problem:

Problem 1.

For biaxial systems in the form of (II-A) and reference 𝐫¯normal-¯𝐫\bar{\mathbf{r}}over¯ start_ARG bold_r end_ARG with a given tolerance ϵcsubscriptitalic-ϵ𝑐\epsilon_{c}italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT, design a contouring control law 𝐮(k)=κ(𝐫,𝐱,σ,δ)𝐮𝑘𝜅𝐫𝐱𝜎𝛿\mathbf{u}(k)=\kappa(\mathbf{r},\mathbf{x},\sigma,\delta)bold_u ( italic_k ) = italic_κ ( bold_r , bold_x , italic_σ , italic_δ ) such that the output follows the reference 𝐫¯normal-¯𝐫\bar{\mathbf{r}}over¯ start_ARG bold_r end_ARG while the system constraints (2) and contouring error bound (3) are always satisfied.

III Switched Model Predictive Controller for Bounded Contouring Error

In this section, we present a control framework based on an MPC controller that effectively ensures bounded contouring error for a switched linear system. It is followed by the analysis of the closed-loop properties of the system.

III-A Computation of switch control invariant set

We start by defining a feasible set of states that satisfies state and contouring error constraints as

𝒮={𝐱nx|𝐱𝒳,ϵ(xe,ye)ϵc}.𝒮conditional-set𝐱superscriptsubscript𝑛𝑥formulae-sequence𝐱𝒳italic-ϵsubscript𝑥𝑒subscript𝑦𝑒subscriptitalic-ϵ𝑐\mathcal{S}=\{\mathbf{x}\in\mathbb{R}^{n_{x}}\,|\,\mathbf{x}\in\mathcal{X},% \epsilon(x_{e},y_{e})\leq\epsilon_{c}\}.caligraphic_S = { bold_x ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT | bold_x ∈ caligraphic_X , italic_ϵ ( italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ) ≤ italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT } . (4)

In the following, we introduce two important set definitions that will be used to construct the switch CI sets.

Definition 1 (Control Invariant Set).

For each individual mode m𝑚m\in\mathcal{M}italic_m ∈ caligraphic_M, a set m𝒳subscript𝑚𝒳\mathcal{R}_{m}\subseteq\mathcal{X}caligraphic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ⊆ caligraphic_X is called control invariant set for the system 𝐱(k+1)=Am𝐱(k)+Bm𝐮(k)𝐱𝑘1subscript𝐴𝑚𝐱𝑘subscript𝐵𝑚𝐮𝑘\mathbf{x}(k+1)=A_{m}\mathbf{x}(k)+B_{m}\mathbf{u}(k)bold_x ( italic_k + 1 ) = italic_A start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT bold_x ( italic_k ) + italic_B start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT bold_u ( italic_k ) if

𝐮(k)𝒰,Am𝐱(k)+Bm𝐮(k)m,𝐱(k)m,k.formulae-sequence𝐮𝑘𝒰formulae-sequencesubscript𝐴𝑚𝐱𝑘subscript𝐵𝑚𝐮𝑘subscript𝑚formulae-sequencefor-all𝐱𝑘subscript𝑚𝑘\exists\mathbf{u}(k)\in\mathcal{U},A_{m}\mathbf{x}(k)+B_{m}\mathbf{u}(k)\in% \mathcal{R}_{m},\forall\mathbf{x}(k)\in\mathcal{R}_{m},k\in\mathbb{N}.∃ bold_u ( italic_k ) ∈ caligraphic_U , italic_A start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT bold_x ( italic_k ) + italic_B start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT bold_u ( italic_k ) ∈ caligraphic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT , ∀ bold_x ( italic_k ) ∈ caligraphic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT , italic_k ∈ blackboard_N .

Then a modified backward reachable set is defined as follows:

Definition 2 (Backward Reachable Set).

The set of all states 𝐱𝒮𝐱𝒮\mathbf{x}\in\mathcal{S}bold_x ∈ caligraphic_S that can be steered into a given set nxsuperscriptsubscript𝑛𝑥\mathcal{I}\in\mathbb{R}^{n_{x}}caligraphic_I ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT in one step under dynamics pair (Am,Bm)subscript𝐴𝑚subscript𝐵𝑚(A_{m},B_{m})( italic_A start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT , italic_B start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) is the backward reachable set (BRS) of \mathcal{I}caligraphic_I under mode m𝑚m\in\mathcal{M}italic_m ∈ caligraphic_M :

𝖡m(𝒮,)={𝐱𝒮|𝐮𝒰,Am𝐱+Bm𝐮}.subscript𝖡𝑚𝒮conditional-set𝐱𝒮formulae-sequence𝐮𝒰subscript𝐴𝑚𝐱subscript𝐵𝑚𝐮\mathsf{B}_{m}(\mathcal{S},\mathcal{I})=\{\mathbf{x}\in\mathcal{S}\,|\,\exists% \mathbf{u}\in\mathcal{U},A_{m}\mathbf{x}+B_{m}\mathbf{u}\in\mathcal{I}\}.sansserif_B start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( caligraphic_S , caligraphic_I ) = { bold_x ∈ caligraphic_S | ∃ bold_u ∈ caligraphic_U , italic_A start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT bold_x + italic_B start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT bold_u ∈ caligraphic_I } .

By Definition 2, the i𝑖iitalic_i-step BRS of set \mathcal{I}caligraphic_I under mode m𝑚mitalic_m is defined as

𝖡mi(𝒮,)={,i=0,𝖡m(𝒮,𝖡mi1(𝒮,)),i+.superscriptsubscript𝖡𝑚𝑖𝒮cases𝑖0subscript𝖡𝑚𝒮subscriptsuperscript𝖡𝑖1𝑚𝒮𝑖subscript\mathsf{B}_{m}^{i}(\mathcal{S},\mathcal{I})=\begin{cases}\mathcal{I},&i=0,\\ \mathsf{B}_{m}(\mathcal{S},\mathsf{B}^{i-1}_{m}(\mathcal{S},\mathcal{I})),&i% \in\mathbb{Z}_{+}.\end{cases}sansserif_B start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ( caligraphic_S , caligraphic_I ) = { start_ROW start_CELL caligraphic_I , end_CELL start_CELL italic_i = 0 , end_CELL end_ROW start_ROW start_CELL sansserif_B start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( caligraphic_S , sansserif_B start_POSTSUPERSCRIPT italic_i - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( caligraphic_S , caligraphic_I ) ) , end_CELL start_CELL italic_i ∈ blackboard_Z start_POSTSUBSCRIPT + end_POSTSUBSCRIPT . end_CELL end_ROW

For each mode m𝑚m\in\mathcal{M}italic_m ∈ caligraphic_M, a CI set m𝒮subscript𝑚𝒮\mathcal{R}_{m}\subseteq\mathcal{S}caligraphic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ⊆ caligraphic_S can be computed based on the set propagation algorithm in [28]. For a linear time-invariant system, state and contouring error constraints can be satisfied by enforcing the system state within the computed CI set. For cases with mode switches (m,n)𝑚𝑛(m,n)\in\mathcal{E}( italic_m , italic_n ) ∈ caligraphic_E, we adapt the idea of switch control invariant sets in [26] and extend it for satisfying contouring error bound. The definition of switch CI sets is given in the following.

Definition 3 (Switch Control Invariant Sets).

The sets 𝒞msubscript𝒞𝑚\mathcal{C}_{m}caligraphic_C start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT, mfor-all𝑚\forall m\in\mathcal{M}∀ italic_m ∈ caligraphic_M, are said to be switch control invariant if each set 𝒞msubscript𝒞𝑚\mathcal{C}_{m}caligraphic_C start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT is control invariant, and for each mode m𝑚m\in\mathcal{M}italic_m ∈ caligraphic_M with any admissible switch (m,n)𝑚𝑛(m,n)\in\mathcal{E}( italic_m , italic_n ) ∈ caligraphic_E it also holds 𝒞mPrendn(𝒞n)subscript𝒞𝑚superscriptsubscriptnormal-Pre𝑛subscript𝑑𝑛subscript𝒞𝑛\mathcal{C}_{m}\subseteq\mathrm{Pre}_{n}^{d_{n}}(\mathcal{C}_{n})caligraphic_C start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ⊆ roman_Pre start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( caligraphic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ), where dnsubscript𝑑𝑛d_{n}italic_d start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is the minimum dwell-time of mode n𝑛nitalic_n.

These switch CI sets are essential in subsequent MPC formulation in ensuring the constraints satisfaction for any admissible switching σΣ𝜎Σ\sigma\in\Sigmaitalic_σ ∈ roman_Σ. The detailed steps of computing these sets are summarized in Algorithm 1, where the computation is initialized with feasible set 𝒮𝒮\mathcal{S}caligraphic_S.

Algorithm 1 Switch Control Invariant Sets Computation
1:  Initialization: i0𝑖0i\leftarrow 0italic_i ← 0, m0Ssuperscriptsubscript𝑚0𝑆\mathcal{I}_{m}^{0}\leftarrow Scaligraphic_I start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ← italic_S, mfor-all𝑚\forall m\in\mathcal{M}∀ italic_m ∈ caligraphic_M
2:  while TRUE do
3:     mi+1mi𝖡m(mi)(m,n)𝖡ndn(𝒮,ni)superscriptsubscript𝑚𝑖1superscriptsubscript𝑚𝑖subscript𝖡𝑚superscriptsubscript𝑚𝑖𝑚𝑛superscriptsubscript𝖡𝑛subscript𝑑𝑛𝒮superscriptsubscript𝑛𝑖\mathcal{I}_{m}^{i+1}\leftarrow\mathcal{I}_{m}^{i}\cap\mathsf{B}_{m}(\mathcal{% I}_{m}^{i})\underset{(m,n)\in\mathcal{E}}{\cap}\mathsf{B}_{n}^{d_{n}}(\mathcal% {S},\mathcal{I}_{n}^{i})caligraphic_I start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i + 1 end_POSTSUPERSCRIPT ← caligraphic_I start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ∩ sansserif_B start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( caligraphic_I start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ) start_UNDERACCENT ( italic_m , italic_n ) ∈ caligraphic_E end_UNDERACCENT start_ARG ∩ end_ARG sansserif_B start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( caligraphic_S , caligraphic_I start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT ), mfor-all𝑚\forall m\in\mathcal{M}∀ italic_m ∈ caligraphic_M
4:     if mi+1=mi,mformulae-sequencesuperscriptsubscript𝑚𝑖1superscriptsubscript𝑚𝑖for-all𝑚\mathcal{I}_{m}^{i+1}=\mathcal{I}_{m}^{i},\,\forall m\in\mathcal{M}caligraphic_I start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i + 1 end_POSTSUPERSCRIPT = caligraphic_I start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT , ∀ italic_m ∈ caligraphic_M then
5:        return  𝒞(m,n)misubscript𝒞𝑚𝑛superscriptsubscript𝑚𝑖\mathcal{C}_{(m,n)}\leftarrow\mathcal{I}_{m}^{i}caligraphic_C start_POSTSUBSCRIPT ( italic_m , italic_n ) end_POSTSUBSCRIPT ← caligraphic_I start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT
6:        break
7:     else
8:        ii+1𝑖𝑖1i\leftarrow i+1italic_i ← italic_i + 1
9:     end if
10:  end while

Based on known reference 𝐫¯¯𝐫\bar{\mathbf{r}}over¯ start_ARG bold_r end_ARG, the switch CI sets {𝒞(m,n)}msubscriptsubscript𝒞𝑚𝑛𝑚\{\mathcal{C}_{(m,n)}\}_{m\in\mathcal{M}}{ caligraphic_C start_POSTSUBSCRIPT ( italic_m , italic_n ) end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_m ∈ caligraphic_M end_POSTSUBSCRIPT can be computed using Algorithm 1 and stored offline.

III-B Model Predictive Controller Formulation

At each time instant k𝑘kitalic_k, the value of 𝐫¯jsubscript¯𝐫𝑗\bar{\mathbf{r}}_{j}over¯ start_ARG bold_r end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is assigned to 𝐫(k)𝐫𝑘\mathbf{r}(k)bold_r ( italic_k ) if jNr𝑗subscript𝑁𝑟j\leq N_{r}italic_j ≤ italic_N start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT to determine a time dependent reference. Let σ(τs)=σ(k)𝜎subscript𝜏𝑠𝜎𝑘\sigma(\tau_{s})=\sigma(k)italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) = italic_σ ( italic_k ) stands for the mode at time instant k𝑘kitalic_k, and σ(τs+1)𝜎subscript𝜏𝑠1\sigma(\tau_{s+1})italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 1 end_POSTSUBSCRIPT ) be the subsequent mode. The time dependent reference 𝐫(k)𝐫𝑘\mathbf{r}(k)bold_r ( italic_k ), current system mode σ(τs)𝜎subscript𝜏𝑠\sigma(\tau_{s})italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ), subsequent mode σ(τs+1)𝜎subscript𝜏𝑠1\sigma(\tau_{s+1})italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 1 end_POSTSUBSCRIPT ) and remaining dwell-time δ(k)0𝛿𝑘0\delta(k)\geq 0italic_δ ( italic_k ) ≥ 0 are assumed to be known at time instant k𝑘kitalic_k.

For the case that the reference may not be admissible, the proposed controller should steer the system to the closest admissible reference by introducing a pair of steady output and input (𝐲s,𝐮s)subscript𝐲𝑠subscript𝐮𝑠(\mathbf{y}_{s},\mathbf{u}_{s})( bold_y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , bold_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) as:

(𝐲s(k),𝐮s(k))subscript𝐲𝑠𝑘subscript𝐮𝑠𝑘\displaystyle(\mathbf{y}_{s}(k),\mathbf{u}_{s}(k))( bold_y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_k ) , bold_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_k ) ) =argmin𝐲s,𝐮s𝐫(k)𝐲sQs2,absentsubscript𝐲𝑠subscript𝐮𝑠superscriptsubscriptnorm𝐫𝑘subscript𝐲𝑠subscript𝑄𝑠2\displaystyle=\underset{\mathbf{y}_{s},\mathbf{u}_{s}}{\arg\min}\left\|\mathbf% {r}(k)-\mathbf{y}_{s}\right\|_{Q_{s}}^{2},= start_UNDERACCENT bold_y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , bold_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_UNDERACCENT start_ARG roman_arg roman_min end_ARG ∥ bold_r ( italic_k ) - bold_y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT italic_Q start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , (5a)
subject to 𝐱s=Aσ(k)𝐱s+Bσ(k)𝐮s,subscript𝐱𝑠subscript𝐴𝜎𝑘subscript𝐱𝑠subscript𝐵𝜎𝑘subscript𝐮𝑠\displaystyle\;\;\mathbf{x}_{s}=A_{\sigma(k)}\mathbf{x}_{s}+B_{\sigma(k)}% \mathbf{u}_{s},bold_x start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = italic_A start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT bold_x start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT + italic_B start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT bold_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , (5b)
𝐲s=Cσ(k)𝐱s,subscript𝐲𝑠subscript𝐶𝜎𝑘subscript𝐱𝑠\displaystyle\;\;\mathbf{y}_{s}=C_{\sigma(k)}\mathbf{x}_{s},bold_y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = italic_C start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT bold_x start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , (5c)
(𝐱s,𝐮s)(𝒳×𝒰),subscript𝐱𝑠subscript𝐮𝑠𝒳𝒰\displaystyle\;\;(\mathbf{x}_{s},\mathbf{u}_{s})\in(\mathcal{X}\times\mathcal{% U}),( bold_x start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , bold_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) ∈ ( caligraphic_X × caligraphic_U ) , (5d)

where Qs0succeedssubscript𝑄𝑠0Q_{s}\succ 0italic_Q start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ≻ 0 is the tuning parameter to penalize the tracking error.

Then, the MPC controller is designed as following to solve the Problem 1:

J*(k)=superscript𝐽𝑘absent\displaystyle J^{*}(k)=italic_J start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_k ) = min𝐮i=0N1(𝐲(i|k)𝐲sQ2+𝐮(i|k)𝐮sR2)\displaystyle\underset{\mathbf{u}}{\min}\sum_{i=0}^{N-1}\left(\left\|\mathbf{y% }(i|k)-\mathbf{y}_{s}\right\|_{Q}^{2}+\left\|\mathbf{u}(i|k)-\mathbf{u}_{s}% \right\|_{R}^{2}\right)underbold_u start_ARG roman_min end_ARG ∑ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N - 1 end_POSTSUPERSCRIPT ( ∥ bold_y ( italic_i | italic_k ) - bold_y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT italic_Q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ∥ bold_u ( italic_i | italic_k ) - bold_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT )
+𝐲(N|k)𝐲sPσ(k)2,\displaystyle\qquad+\left\|\mathbf{y}(N|k)-\mathbf{y}_{s}\right\|_{P_{\sigma(k% )}}^{2},+ ∥ bold_y ( italic_N | italic_k ) - bold_y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT italic_P start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , (6a)
subject to
𝐱(i+1|k)=Aσ(k)𝐱(i|k)+Bσ(k)𝐮(i|k),𝐱𝑖conditional1𝑘subscript𝐴𝜎𝑘𝐱conditional𝑖𝑘subscript𝐵𝜎𝑘𝐮conditional𝑖𝑘\displaystyle\mathbf{x}(i+1|k)=A_{\sigma(k)}\mathbf{x}(i|k)+B_{\sigma(k)}% \mathbf{u}(i|k),bold_x ( italic_i + 1 | italic_k ) = italic_A start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT bold_x ( italic_i | italic_k ) + italic_B start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT bold_u ( italic_i | italic_k ) , (6b)
𝐲(i|k)=Cσ(k)𝐱(i|k),𝐲conditional𝑖𝑘subscript𝐶𝜎𝑘𝐱conditional𝑖𝑘\displaystyle\mathbf{y}(i|k)=C_{\sigma(k)}\mathbf{x}(i|k),bold_y ( italic_i | italic_k ) = italic_C start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT bold_x ( italic_i | italic_k ) , (6c)
𝐮(i|k)𝒰,i[0,N1],formulae-sequence𝐮conditional𝑖𝑘𝒰𝑖subscript0𝑁1\displaystyle\mathbf{u}(i|k)\in\mathcal{U},i\in\mathbb{Z}_{[0,N-1]},bold_u ( italic_i | italic_k ) ∈ caligraphic_U , italic_i ∈ blackboard_Z start_POSTSUBSCRIPT [ 0 , italic_N - 1 ] end_POSTSUBSCRIPT , (6d)
𝐱(i+1|k)𝒮,i[0,δ(k)),formulae-sequence𝐱𝑖conditional1𝑘𝒮𝑖subscript0𝛿𝑘\displaystyle\mathbf{x}(i+1|k)\in\mathcal{S},i\in\mathbb{Z}_{[0,\delta(k))},bold_x ( italic_i + 1 | italic_k ) ∈ caligraphic_S , italic_i ∈ blackboard_Z start_POSTSUBSCRIPT [ 0 , italic_δ ( italic_k ) ) end_POSTSUBSCRIPT , (6e)
𝐱(i+1|k)𝒞(σ(τs),σ(τs+1)),i[δ(k),N1],formulae-sequence𝐱𝑖conditional1𝑘subscript𝒞𝜎subscript𝜏𝑠𝜎subscript𝜏𝑠1𝑖subscript𝛿𝑘𝑁1\displaystyle\mathbf{x}(i+1|k)\in\mathcal{C}_{(\sigma(\tau_{s}),\sigma(\tau_{s% +1}))},i\in\mathbb{Z}_{[\delta(k),N-1]},bold_x ( italic_i + 1 | italic_k ) ∈ caligraphic_C start_POSTSUBSCRIPT ( italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) , italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 1 end_POSTSUBSCRIPT ) ) end_POSTSUBSCRIPT , italic_i ∈ blackboard_Z start_POSTSUBSCRIPT [ italic_δ ( italic_k ) , italic_N - 1 ] end_POSTSUBSCRIPT , (6f)
𝐱(0|k)=𝐱(k),𝐱conditional0𝑘𝐱𝑘\displaystyle\mathbf{x}(0|k)=\mathbf{x}(k),bold_x ( 0 | italic_k ) = bold_x ( italic_k ) , (6g)

where (6b) and (6c) are the system model that are used to predict the system evolution along the MPC prediction horizon; (6d) is the input constraint; (6e) requires the state to stay in CI set to employ state and contouring error constraints when system mode does not change; (6f) guarantees the feasible set constraints during mode transition; (6g) updates the system states with latest measurement. The matrices Q,R0succeeds𝑄𝑅0Q,R\succ 0italic_Q , italic_R ≻ 0 are the tuning parameters that are used to penalize the tracking error and control effort, respectively.

The optimal solution of the online optimization problem (III-B) is denoted by 𝐮*(k)={𝐮*(0|k),,𝐮*(N1|k)}superscript𝐮𝑘superscript𝐮conditional0𝑘superscript𝐮𝑁conditional1𝑘\mathbf{u}^{*}(k)=\{\mathbf{u}^{*}(0|k),\cdots,\mathbf{u}^{*}(N-1|k)\}bold_u start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_k ) = { bold_u start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( 0 | italic_k ) , ⋯ , bold_u start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_N - 1 | italic_k ) } and the first element 𝐮*(0|k)superscript𝐮conditional0𝑘\mathbf{u}^{*}(0|k)bold_u start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( 0 | italic_k ) is applied on the plant at each time instant.

With given parameters Q𝑄Qitalic_Q and R𝑅Ritalic_R, the value of Pσ(k)subscript𝑃𝜎𝑘P_{\sigma(k)}italic_P start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT is chosen based on the following assumption.

Assumption 3.

Given Pσ(0)0nx×nxsucceedssubscript𝑃𝜎00superscriptsubscript𝑛𝑥subscript𝑛𝑥P_{\sigma(0)}\succ 0\in\mathbb{R}^{n_{x}\times n_{x}}italic_P start_POSTSUBSCRIPT italic_σ ( 0 ) end_POSTSUBSCRIPT ≻ 0 ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT × italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT, there exist matrices Pσ(k)subscript𝑃𝜎𝑘P_{\sigma(k)}italic_P start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT, k𝑘k\in\mathbb{N}italic_k ∈ blackboard_N such that

Pσ(k)(Aσ(k)+Bσ(k)Kσ(k))Pσ(k+1)(Aσ(k)+Bσ(k)Kσ(k))QKσ(k)RKσ(k)0.succeeds-or-equalssubscript𝑃𝜎𝑘superscriptsubscript𝐴𝜎𝑘subscript𝐵𝜎𝑘subscript𝐾𝜎𝑘topsubscript𝑃𝜎𝑘1subscript𝐴𝜎𝑘subscript𝐵𝜎𝑘subscript𝐾𝜎𝑘𝑄superscriptsubscript𝐾𝜎𝑘top𝑅subscript𝐾𝜎𝑘0P_{\sigma(k)}-(A_{\sigma(k)}+B_{\sigma(k)}K_{\sigma(k)})^{\top}P_{\sigma(k+1)}% (A_{\sigma(k)}+B_{\sigma(k)}K_{\sigma(k)})\\ -Q-K_{\sigma(k)}^{\top}RK_{\sigma(k)}\succeq 0.start_ROW start_CELL italic_P start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT - ( italic_A start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT + italic_B start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT italic_K start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_P start_POSTSUBSCRIPT italic_σ ( italic_k + 1 ) end_POSTSUBSCRIPT ( italic_A start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT + italic_B start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT italic_K start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT ) end_CELL end_ROW start_ROW start_CELL - italic_Q - italic_K start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_R italic_K start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT ⪰ 0 . end_CELL end_ROW (7)

From Assumption 3, it can be seen that for a given initial matrix Pσ(0)subscript𝑃𝜎0P_{\sigma(0)}italic_P start_POSTSUBSCRIPT italic_σ ( 0 ) end_POSTSUBSCRIPT, the matrices Pσ(k)subscript𝑃𝜎𝑘P_{\sigma(k)}italic_P start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT can be iteratively computed. The process of running the proposed MPC is summarized in Algorithm 2.

Algorithm 2 Contouring Error Bounded MPC for Switched Linear System
1:  Based on a given contouring error bound ϵcsubscriptitalic-ϵ𝑐\epsilon_{c}italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT and desired reference f(𝐫j)=0𝑓subscript𝐫𝑗0f(\mathbf{r}_{j})=0italic_f ( bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) = 0 for j[1,Nr]𝑗subscript1subscript𝑁𝑟j\in\mathbb{Z}_{[1,N_{r}]}italic_j ∈ blackboard_Z start_POSTSUBSCRIPT [ 1 , italic_N start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ] end_POSTSUBSCRIPT, compute the feasible set 𝒮𝒮\mathcal{S}caligraphic_S
2:  Compute the switch CI sets based on Algorithm 1
3:  Initialization: k0𝑘0k\leftarrow 0italic_k ← 0, j1𝑗1j\leftarrow 1italic_j ← 1
4:  while k0𝑘0k\geq 0italic_k ≥ 0 and jNr𝑗subscript𝑁𝑟j\leq N_{r}italic_j ≤ italic_N start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT do
5:     𝐫(k)𝐫j𝐫𝑘subscript𝐫𝑗\mathbf{r}(k)\leftarrow\mathbf{r}_{j}bold_r ( italic_k ) ← bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT
6:     Compute admissible pair (𝐲s,𝐮s)subscript𝐲𝑠subscript𝐮𝑠(\mathbf{y}_{s},\mathbf{u}_{s})( bold_y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , bold_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) based on optimization problem (III-B)
7:     Measure 𝐱(k)𝐱𝑘\mathbf{x}(k)bold_x ( italic_k ) and set 𝐱(0|k)=𝐱(k)𝐱conditional0𝑘𝐱𝑘\mathbf{x}(0|k)=\mathbf{x}(k)bold_x ( 0 | italic_k ) = bold_x ( italic_k )
8:     Update σ(k)𝜎𝑘\sigma(k)italic_σ ( italic_k ) based on 𝐱(k)𝐱𝑘\mathbf{x}(k)bold_x ( italic_k )
9:     Update Pσ(k)subscript𝑃𝜎𝑘P_{\sigma(k)}italic_P start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT based on Assumption 3
10:     Solve the optimization problem (III-B) to obtain 𝐮*(0|k)superscript𝐮conditional0𝑘\mathbf{u}^{*}(0|k)bold_u start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( 0 | italic_k )
11:     Apply 𝐮*(0|k)superscript𝐮conditional0𝑘\mathbf{u}^{*}(0|k)bold_u start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( 0 | italic_k ) to the plant
12:     if j<Nr𝑗subscript𝑁𝑟j<N_{r}italic_j < italic_N start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT then
13:        jj+1𝑗𝑗1j\leftarrow j+1italic_j ← italic_j + 1
14:     end if
15:     kk+1𝑘𝑘1k\leftarrow k+1italic_k ← italic_k + 1
16:  end while

Note that in Step 1 of Algorithm 2, the feasible set may become non-compact in practical applications, necessitating appropriate set approximation. The detailed procedure for computing the approximated feasible set will be discussed in the Section IV.

III-C Closed-loop properties

We next discuss the closed-loop property of the switched biaxial system (II-A) operated by the proposed MPC controller (III-B). The theoretical result regarding recursive feasibility is given in the following theorem.

Theorem 1 (Recursive Feasibility).

Consider Assumptions 1-3 hold. Given a feasible initial state 𝐱(0)𝐱0\mathbf{x}(0)bold_x ( 0 ), the closed-loop system of (II-A) with the MPC controller (III-B) is recursively feasible for time-varying reference signal 𝐫(k),k𝐫𝑘𝑘\mathbf{r}(k),\;k\in\mathbb{N}bold_r ( italic_k ) , italic_k ∈ blackboard_N.

Proof.

Since the optimization problem (III-B) has a solution at time instant k𝑘kitalic_k, there exists a feasible control input sequence {𝐮*(0|k),,𝐮*(N1|k)}superscript𝐮conditional0𝑘superscript𝐮𝑁conditional1𝑘\{\mathbf{u}^{*}(0|k),\cdots,\mathbf{u}^{*}(N-1|k)\}{ bold_u start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( 0 | italic_k ) , ⋯ , bold_u start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_N - 1 | italic_k ) } that generates state trajectories {𝐱*(1|k),,𝐱*(δ(k)|k)𝒮}superscript𝐱conditional1𝑘superscript𝐱conditional𝛿𝑘𝑘𝒮\{\mathbf{x}^{*}(1|k),\cdots,\mathbf{x}^{*}(\delta(k)|k)\in\mathcal{S}\}{ bold_x start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( 1 | italic_k ) , ⋯ , bold_x start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_δ ( italic_k ) | italic_k ) ∈ caligraphic_S } and {𝐱*(δ(k)+1|k),,𝐱*(N|k)}𝒞(σ(τs),σ(τs+1))superscript𝐱𝛿𝑘conditional1𝑘superscript𝐱conditional𝑁𝑘subscript𝒞𝜎subscript𝜏𝑠𝜎subscript𝜏𝑠1\{\mathbf{x}^{*}(\delta(k)+1|k),\cdots,\mathbf{x}^{*}(N|k)\}\in\mathcal{C}_{(% \sigma(\tau_{s}),\sigma(\tau_{s+1}))}{ bold_x start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_δ ( italic_k ) + 1 | italic_k ) , ⋯ , bold_x start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_N | italic_k ) } ∈ caligraphic_C start_POSTSUBSCRIPT ( italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) , italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 1 end_POSTSUBSCRIPT ) ) end_POSTSUBSCRIPT. This solution is used to construct a feasible solution at k+1𝑘1k+1italic_k + 1. Here, two cases depending on whether mode switch occurs are discussed. (1) Case 1: σ(k+1)=σ(k)𝜎𝑘1𝜎𝑘\sigma(k+1)=\sigma(k)italic_σ ( italic_k + 1 ) = italic_σ ( italic_k ). The input sequence can be chosen as 𝐮(i|k+1)=𝐮*(i+1|k)𝒰𝐮conditional𝑖𝑘1superscript𝐮𝑖conditional1𝑘𝒰\mathbf{u}(i|k+1)=\mathbf{u}^{*}(i+1|k)\in\mathcal{U}bold_u ( italic_i | italic_k + 1 ) = bold_u start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_i + 1 | italic_k ) ∈ caligraphic_U, for i=0,,N2𝑖0𝑁2i=0,\cdots,N-2italic_i = 0 , ⋯ , italic_N - 2, which is feasible. With remaining dwell-time as δ(k+1)=δ(k)1𝛿𝑘1𝛿𝑘1\delta(k+1)=\delta(k)-1italic_δ ( italic_k + 1 ) = italic_δ ( italic_k ) - 1, the states 𝐱(i+1|k+1)=𝐱*(i|k)𝒮𝐱𝑖conditional1𝑘1superscript𝐱conditional𝑖𝑘𝒮\mathbf{x}(i+1|k+1)=\mathbf{x}^{*}(i|k)\in\mathcal{S}bold_x ( italic_i + 1 | italic_k + 1 ) = bold_x start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_i | italic_k ) ∈ caligraphic_S are feasible for i[0,δ(k+1))𝑖subscript0𝛿𝑘1i\in\mathbb{Z}_{[0,\delta(k+1))}italic_i ∈ blackboard_Z start_POSTSUBSCRIPT [ 0 , italic_δ ( italic_k + 1 ) ) end_POSTSUBSCRIPT. And states 𝐱(i+1|k+1)=𝐱*(i|k)𝒞(σ(τs),σ(τs+1))𝐱𝑖conditional1𝑘1superscript𝐱conditional𝑖𝑘subscript𝒞𝜎subscript𝜏𝑠𝜎subscript𝜏𝑠1\mathbf{x}(i+1|k+1)=\mathbf{x}^{*}(i|k)\in\mathcal{C}_{(\sigma(\tau_{s}),% \sigma(\tau_{s+1}))}bold_x ( italic_i + 1 | italic_k + 1 ) = bold_x start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_i | italic_k ) ∈ caligraphic_C start_POSTSUBSCRIPT ( italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) , italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 1 end_POSTSUBSCRIPT ) ) end_POSTSUBSCRIPT are feasible for i[δ(k+1),N1]𝑖subscript𝛿𝑘1𝑁1i\in\mathbb{Z}_{[\delta(k+1),N-1]}italic_i ∈ blackboard_Z start_POSTSUBSCRIPT [ italic_δ ( italic_k + 1 ) , italic_N - 1 ] end_POSTSUBSCRIPT considering σ(k+1)=σ(k)𝜎𝑘1𝜎𝑘\sigma(k+1)=\sigma(k)italic_σ ( italic_k + 1 ) = italic_σ ( italic_k ). Since the state 𝐱(N1|k+1)=𝐱*(N|k)𝒞(σ(τs),σ(τs+1))𝐱𝑁conditional1𝑘1superscript𝐱conditional𝑁𝑘subscript𝒞𝜎subscript𝜏𝑠𝜎subscript𝜏𝑠1\mathbf{x}(N-1|k+1)=\mathbf{x}^{*}(N|k)\in\mathcal{C}_{(\sigma(\tau_{s}),% \sigma(\tau_{s+1}))}bold_x ( italic_N - 1 | italic_k + 1 ) = bold_x start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_N | italic_k ) ∈ caligraphic_C start_POSTSUBSCRIPT ( italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) , italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 1 end_POSTSUBSCRIPT ) ) end_POSTSUBSCRIPT and based on the property of the switch CI set, there exists a feasible control input 𝐮(N1|k+1)𝒰𝐮𝑁conditional1𝑘1𝒰\mathbf{u}(N-1|k+1)\in\mathcal{U}bold_u ( italic_N - 1 | italic_k + 1 ) ∈ caligraphic_U such that 𝐱(N|k+1)=Aσ(k)𝐱(N1|k+1)+Bσ(k)𝐮(N1|k+1)𝒞(σ(τs),σ(τs+1))𝐱conditional𝑁𝑘1subscript𝐴𝜎𝑘𝐱𝑁conditional1𝑘1subscript𝐵𝜎𝑘𝐮𝑁conditional1𝑘1subscript𝒞𝜎subscript𝜏𝑠𝜎subscript𝜏𝑠1\mathbf{x}(N|k+1)=A_{\sigma(k)}\mathbf{x}(N-1|k+1)+B_{\sigma(k)}\mathbf{u}(N-1% |k+1)\in\mathcal{C}_{(\sigma(\tau_{s}),\sigma(\tau_{s+1}))}bold_x ( italic_N | italic_k + 1 ) = italic_A start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT bold_x ( italic_N - 1 | italic_k + 1 ) + italic_B start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT bold_u ( italic_N - 1 | italic_k + 1 ) ∈ caligraphic_C start_POSTSUBSCRIPT ( italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) , italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 1 end_POSTSUBSCRIPT ) ) end_POSTSUBSCRIPT. Thus, problem (III-B) is feasible at k+1𝑘1k+1italic_k + 1 for σ(k+1)=σ(k)𝜎𝑘1𝜎𝑘\sigma(k+1)=\sigma(k)italic_σ ( italic_k + 1 ) = italic_σ ( italic_k ). (2) Case 2: σ(k+1)σ(k)𝜎𝑘1𝜎𝑘\sigma(k+1)\not=\sigma(k)italic_σ ( italic_k + 1 ) ≠ italic_σ ( italic_k ). This implies that there is a mode switch at time k+1𝑘1k+1italic_k + 1. The remaining dwell-time changes from δ(k)=0𝛿𝑘0\delta(k)=0italic_δ ( italic_k ) = 0 to δ(k+1)=dσ(k+1)𝛿𝑘1subscript𝑑𝜎𝑘1\delta(k+1)=d_{\sigma(k+1)}italic_δ ( italic_k + 1 ) = italic_d start_POSTSUBSCRIPT italic_σ ( italic_k + 1 ) end_POSTSUBSCRIPT. Let 𝒞(σ(τs+1),σ(τs+2))subscript𝒞𝜎subscript𝜏𝑠1𝜎subscript𝜏𝑠2\mathcal{C}_{(\sigma(\tau_{s+1}),\sigma(\tau_{s+2}))}caligraphic_C start_POSTSUBSCRIPT ( italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 1 end_POSTSUBSCRIPT ) , italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 2 end_POSTSUBSCRIPT ) ) end_POSTSUBSCRIPT be the switch CI set of mode σ(k+1)𝜎𝑘1\sigma(k+1)italic_σ ( italic_k + 1 ), then we have 𝐱(0|k+1)=𝐱*(1|k)𝒞(σ(τs),σ(τs+1))𝖡σ(k+1)dσ(k+1)(𝒮,𝒞(σ(τs+1),σ(τs+2)))𝐱conditional0𝑘1superscript𝐱conditional1𝑘subscript𝒞𝜎subscript𝜏𝑠𝜎subscript𝜏𝑠1superscriptsubscript𝖡𝜎𝑘1subscript𝑑𝜎𝑘1𝒮subscript𝒞𝜎subscript𝜏𝑠1𝜎subscript𝜏𝑠2\mathbf{x}(0|k+1)=\mathbf{x}^{*}(1|k)\in\mathcal{C}_{(\sigma(\tau_{s}),\sigma(% \tau_{s+1}))}\subseteq\mathsf{B}_{\sigma(k+1)}^{d_{\sigma(k+1)}}\left(\mathcal% {S},\mathcal{C}_{(\sigma(\tau_{s+1}),\sigma(\tau_{s+2}))}\right)bold_x ( 0 | italic_k + 1 ) = bold_x start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( 1 | italic_k ) ∈ caligraphic_C start_POSTSUBSCRIPT ( italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) , italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 1 end_POSTSUBSCRIPT ) ) end_POSTSUBSCRIPT ⊆ sansserif_B start_POSTSUBSCRIPT italic_σ ( italic_k + 1 ) end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d start_POSTSUBSCRIPT italic_σ ( italic_k + 1 ) end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( caligraphic_S , caligraphic_C start_POSTSUBSCRIPT ( italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 1 end_POSTSUBSCRIPT ) , italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 2 end_POSTSUBSCRIPT ) ) end_POSTSUBSCRIPT ). Based on the definition of BRS, this means there exists a sequence of feasible control input 𝐮(i|k+1)𝒰𝐮conditional𝑖𝑘1𝒰\mathbf{u}(i|k+1)\in\mathcal{U}bold_u ( italic_i | italic_k + 1 ) ∈ caligraphic_U that can generate 𝐱(i+1|k+1)𝒮𝐱𝑖conditional1𝑘1𝒮\mathbf{x}(i+1|k+1)\in\mathcal{S}bold_x ( italic_i + 1 | italic_k + 1 ) ∈ caligraphic_S for i[0,δ(k+1)]𝑖subscript0𝛿𝑘1i\in\mathbb{Z}_{[0,\delta(k+1)]}italic_i ∈ blackboard_Z start_POSTSUBSCRIPT [ 0 , italic_δ ( italic_k + 1 ) ] end_POSTSUBSCRIPT. Since 𝐱(δ(k+1)+1|k+1)𝒞(σ(τs+1),σ(τs+2))𝐱𝛿𝑘1conditional1𝑘1subscript𝒞𝜎subscript𝜏𝑠1𝜎subscript𝜏𝑠2\mathbf{x}(\delta(k+1)+1|k+1)\in\mathcal{C}_{(\sigma(\tau_{s+1}),\sigma(\tau_{% s+2}))}bold_x ( italic_δ ( italic_k + 1 ) + 1 | italic_k + 1 ) ∈ caligraphic_C start_POSTSUBSCRIPT ( italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 1 end_POSTSUBSCRIPT ) , italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 2 end_POSTSUBSCRIPT ) ) end_POSTSUBSCRIPT and based on the fact that 𝒞(σ(τs+1),σ(τs+2))subscript𝒞𝜎subscript𝜏𝑠1𝜎subscript𝜏𝑠2\mathcal{C}_{(\sigma(\tau_{s+1}),\sigma(\tau_{s+2}))}caligraphic_C start_POSTSUBSCRIPT ( italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 1 end_POSTSUBSCRIPT ) , italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 2 end_POSTSUBSCRIPT ) ) end_POSTSUBSCRIPT by itself is a switch CI set for mode σ(k+1)𝜎𝑘1\sigma(k+1)italic_σ ( italic_k + 1 ), there exists feasible inputs 𝐮(i|k+1)𝒰𝐮conditional𝑖𝑘1𝒰\mathbf{u}(i|k+1)\in\mathcal{U}bold_u ( italic_i | italic_k + 1 ) ∈ caligraphic_U that can generate 𝐱(i+1|k+1)𝒞(σ(τs+1),σ(τs+2))𝐱𝑖conditional1𝑘1subscript𝒞𝜎subscript𝜏𝑠1𝜎subscript𝜏𝑠2\mathbf{x}(i+1|k+1)\in\mathcal{C}_{(\sigma(\tau_{s+1}),\sigma(\tau_{s+2}))}bold_x ( italic_i + 1 | italic_k + 1 ) ∈ caligraphic_C start_POSTSUBSCRIPT ( italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 1 end_POSTSUBSCRIPT ) , italic_σ ( italic_τ start_POSTSUBSCRIPT italic_s + 2 end_POSTSUBSCRIPT ) ) end_POSTSUBSCRIPT for i[δ(k+1),N1]𝑖subscript𝛿𝑘1𝑁1i\in\mathbb{Z}_{[\delta(k+1),N-1]}italic_i ∈ blackboard_Z start_POSTSUBSCRIPT [ italic_δ ( italic_k + 1 ) , italic_N - 1 ] end_POSTSUBSCRIPT. Thus, optimization problem (III-B) has a feasible solution at time k+1𝑘1k+1italic_k + 1, and the optimal control problem is recursively feasible.

We next investigate contouring error boundedness and closed-loop stability. The theoretical results are summarized in the following theorem.

Theorem 2 (Closed-loop Stability).

Consider Assumptions 1-3 hold. The system (II-A) with the MPC controller (III-B) is

  1. (i)

    stable and the contouring error is bounded for every reference 𝐫(k)=𝐫j𝐫𝑘subscript𝐫𝑗\mathbf{r}(k)=\mathbf{r}_{j}bold_r ( italic_k ) = bold_r start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT with 1j<Nr1𝑗subscript𝑁𝑟1\leq j<N_{r}1 ≤ italic_j < italic_N start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT;

  2. (ii)

    asymptotically stable to the admissible output 𝐲ssubscript𝐲𝑠\mathbf{y}_{s}bold_y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT corresponding to the last reference point 𝐫(k)=𝐫Nr𝐫𝑘subscript𝐫subscript𝑁𝑟\mathbf{r}(k)=\mathbf{r}_{N_{r}}bold_r ( italic_k ) = bold_r start_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_POSTSUBSCRIPT, kfor-all𝑘\forall k\in\mathbb{N}∀ italic_k ∈ blackboard_N.

Proof.

(i) This proof is implied by recursive feasibility. From Theorem 1, starting with a feasible initial state 𝐱(0)𝐱0\mathbf{x}(0)bold_x ( 0 ), for any reference 𝐫(k)𝐫𝑘\mathbf{r}(k)bold_r ( italic_k ), the closed-loop system (II-A) with the MPC controller (III-B) is always feasible, which indicates at every time k𝑘kitalic_k all the constraints of (III-B) are satisfied. Therefore, we can know the closed-loop state 𝐱(k)𝒮𝐱𝑘𝒮\mathbf{x}(k)\in\mathcal{S}bold_x ( italic_k ) ∈ caligraphic_S, kfor-all𝑘\forall k\in\mathbb{Z}∀ italic_k ∈ blackboard_Z. Hence, the closed-loop system is stable and ϵ(xe(k),ye(k))ϵcitalic-ϵsubscript𝑥𝑒𝑘subscript𝑦𝑒𝑘subscriptitalic-ϵ𝑐\epsilon(x_{e}(k),y_{e}(k))\leq\epsilon_{c}italic_ϵ ( italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ( italic_k ) , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ( italic_k ) ) ≤ italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT by definition of (4). (ii) When current reference becomes 𝐫(k)=𝐫Nr𝐫𝑘subscript𝐫subscript𝑁𝑟\mathbf{r}(k)=\mathbf{r}_{N_{r}}bold_r ( italic_k ) = bold_r start_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_POSTSUBSCRIPT, it implies proximity between the actual state and the reference point. Then, mode switch is not required, ensuring that the mode remains unchanged, i.e., σ(k+1)=σ(k)𝜎𝑘1𝜎𝑘\sigma(k+1)=\sigma(k)italic_σ ( italic_k + 1 ) = italic_σ ( italic_k ). The MPC problem (III-B) is equivalent to a tracking MPC problem to a constant point. As discussed in Theorem 1, the problem (III-B) is recursively feasible from a time k𝑘kitalic_k to time k+1𝑘1k+1italic_k + 1. Based on the solutions at time k𝑘kitalic_k, a sequence of candidate feasible solutions at time k+1𝑘1k+1italic_k + 1 can be chosen as the shifted sequence shown in the proof of Theorem 1 case 1. Considering the total MPC cost as the Lyapunov function, we know that J*(k)superscript𝐽𝑘J^{*}(k)italic_J start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_k ) is a quadratic function for any time k+𝑘subscriptk\in\mathbb{Z}_{+}italic_k ∈ blackboard_Z start_POSTSUBSCRIPT + end_POSTSUBSCRIPT. We also have that J*(k+1)J*(k)J(k+1)J*(k)superscript𝐽𝑘1superscript𝐽𝑘𝐽𝑘1superscript𝐽𝑘J^{*}(k+1)-J^{*}(k)\leq J(k+1)-J^{*}(k)italic_J start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_k + 1 ) - italic_J start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_k ) ≤ italic_J ( italic_k + 1 ) - italic_J start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_k ), where J*superscript𝐽J^{*}italic_J start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT denotes the optimal MPC cost while J𝐽Jitalic_J denotes the MPC cost with the chosen feasible candidate sequence. Denote the admissible output and input pair (𝐲s,𝐮s)subscript𝐲𝑠subscript𝐮𝑠(\mathbf{y}_{s},\mathbf{u}_{s})( bold_y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT , bold_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) corresponding to the reference 𝐫Nrsubscript𝐫subscript𝑁𝑟\mathbf{r}_{N_{r}}bold_r start_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_POSTSUBSCRIPT. By Assumption 3, we can derive that

J(k+1)J*(k)𝐽𝑘1superscript𝐽𝑘\displaystyle J(k+1)-J^{*}(k)italic_J ( italic_k + 1 ) - italic_J start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_k )
\displaystyle\leq Cσ(k)𝐱(k)𝐲sQ2𝐮*(0|k)𝐮sR2\displaystyle-\left\|C_{\sigma(k)}\mathbf{x}(k)-\mathbf{y}_{s}\right\|_{Q}^{2}% -\left\|\mathbf{u}^{*}(0|k)-\mathbf{u}_{s}\right\|_{R}^{2}- ∥ italic_C start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT bold_x ( italic_k ) - bold_y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT italic_Q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - ∥ bold_u start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( 0 | italic_k ) - bold_u start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT
\displaystyle\leq Cσ(k)𝐱(k)𝐲sQ2superscriptsubscriptnormsubscript𝐶𝜎𝑘𝐱𝑘subscript𝐲𝑠𝑄2\displaystyle-\left\|C_{\sigma(k)}\mathbf{x}(k)-\mathbf{y}_{s}\right\|_{Q}^{2}- ∥ italic_C start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT bold_x ( italic_k ) - bold_y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT italic_Q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT
\displaystyle\leq αl(Cσ(k)𝐱(k)𝐲s),subscript𝛼𝑙normsubscript𝐶𝜎𝑘𝐱𝑘subscript𝐲𝑠\displaystyle-\alpha_{l}\left(\left\|C_{\sigma(k)}\mathbf{x}(k)-\mathbf{y}_{s}% \right\|\right),- italic_α start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ( ∥ italic_C start_POSTSUBSCRIPT italic_σ ( italic_k ) end_POSTSUBSCRIPT bold_x ( italic_k ) - bold_y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ∥ ) ,

where αl()subscript𝛼𝑙\alpha_{l}(\cdot)italic_α start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ( ⋅ ) is a class 𝒦subscript𝒦\mathcal{K}_{\infty}caligraphic_K start_POSTSUBSCRIPT ∞ end_POSTSUBSCRIPT function. Thus, according to the above conditions, we can conclude that the closed-loop system is practically asymptotically stable to 𝐲ssubscript𝐲𝑠\mathbf{y}_{s}bold_y start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT. ∎

IV Synthesis for the proposed MPC

In biaxial contouring applications, the desired contour often consists of linear and/or circular paths, sometimes in combination. It is noteworthy, however, that the feasible set 𝒮𝒮\mathcal{S}caligraphic_S for these paths may be non-compact. The compactness of constraints in the optimization problem is crucial to ensure the infimum of the objective function is reachable [26]. To solve this issue, we present the detail of computing the feasible set 𝒮𝒮\mathcal{S}caligraphic_S and switch CI sets that can be used in the MPC formulation from a practical implementation viewpoint.

IV-A Feasible sets for biaxial applications

We consider two representative contours, as the desired contour can be seen as a combination of linear and circular elements.

IV-A1 Linear contour

In Euclidean space, a linear path can be represented by

f(xe*,ye*)=axe*+bye*+c,𝑓superscriptsubscript𝑥𝑒superscriptsubscript𝑦𝑒𝑎superscriptsubscript𝑥𝑒𝑏superscriptsubscript𝑦𝑒𝑐f\left(x_{e}^{*},y_{e}^{*}\right)=ax_{e}^{*}+by_{e}^{*}+c,italic_f ( italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ) = italic_a italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT + italic_b italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT + italic_c ,

where a𝑎aitalic_a, b𝑏bitalic_b and c𝑐citalic_c are constant scalars that formulate the characteristics of a linear path. For a given contouring error bound ϵcsubscriptitalic-ϵ𝑐\epsilon_{c}italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT, the feasible set of system state with respect to the linear path is represented as

𝒮l={𝐱nx||axe+bye+c|ϵca2+b2}.subscript𝒮𝑙conditional-set𝐱superscriptsubscript𝑛𝑥𝑎subscript𝑥𝑒𝑏subscript𝑦𝑒𝑐subscriptitalic-ϵ𝑐superscript𝑎2superscript𝑏2\mathcal{S}_{l}=\left\{\mathbf{x}\in\mathbb{R}^{n_{x}}\,\middle|\,|ax_{e}+by_{% e}+c|\leq\epsilon_{c}\sqrt{a^{2}+b^{2}}\right\}.caligraphic_S start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT = { bold_x ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT | | italic_a italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_b italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_c | ≤ italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT square-root start_ARG italic_a start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_b start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG } .

Given the compact nature of this feasible set 𝒮lsubscript𝒮𝑙\mathcal{S}_{l}caligraphic_S start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT, the switched CI sets can be computed using Algorithm 1 by initializing the set m0superscriptsubscript𝑚0\mathcal{I}_{m}^{0}caligraphic_I start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT with Slsubscript𝑆𝑙S_{l}italic_S start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT.

IV-A2 Circular contour

Let the pair of point (xo,yo)subscript𝑥𝑜subscript𝑦𝑜(x_{o},y_{o})( italic_x start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT ) be the center and Rcsubscript𝑅𝑐R_{c}italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT be the radius of desired circular contour. The circular path can be represented by given function

f(xe*,ye*)=(xe*xo)2+(ye*yo)2Rc2.𝑓superscriptsubscript𝑥𝑒superscriptsubscript𝑦𝑒superscriptsuperscriptsubscript𝑥𝑒subscript𝑥𝑜2superscriptsuperscriptsubscript𝑦𝑒subscript𝑦𝑜2superscriptsubscript𝑅𝑐2f\left(x_{e}^{*},y_{e}^{*}\right)=\left(x_{e}^{*}-x_{o}\right)^{2}+\left(y_{e}% ^{*}-y_{o}\right)^{2}-R_{c}^{2}.italic_f ( italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ) = ( italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT - italic_x start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT - italic_y start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT .

With respect to this circular path, the set of admissible system states that satisfy the bounded contouring error is expressed as

𝒮c={𝐱nx||Rc(xexo)2+(yeyo)2|ϵc}.subscript𝒮𝑐conditional-set𝐱superscriptsubscript𝑛𝑥subscript𝑅𝑐superscriptsubscript𝑥𝑒subscript𝑥𝑜2superscriptsubscript𝑦𝑒subscript𝑦𝑜2subscriptitalic-ϵ𝑐\mathcal{S}_{c}=\left\{\mathbf{x}\in\mathbb{R}^{n_{x}}\,\middle|\,|R_{c}-\sqrt% {(x_{e}-x_{o})^{2}+(y_{e}-y_{o})^{2}}|\leq\epsilon_{c}\right\}.caligraphic_S start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = { bold_x ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT | | italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT - square-root start_ARG ( italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT - italic_x start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT - italic_y start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG | ≤ italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT } .

The visual representation of 𝒮csubscript𝒮𝑐\mathcal{S}_{c}caligraphic_S start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT is presented in Fig. 3a, highlighting its non-compact nature and the necessity for suitable approximation.

In this paper, we intend to use the polygons for the set approximation. Let nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and nosubscript𝑛𝑜n_{o}italic_n start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT be the side numbers of inner and outer polygons, respectively. The feasible set 𝒮csubscript𝒮𝑐\mathcal{S}_{c}caligraphic_S start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT can be approximated by the area between the two polygons 𝒮^csubscript^𝒮𝑐\hat{\mathcal{S}}_{c}over^ start_ARG caligraphic_S end_ARG start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT, which is partitioned into nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT parts of convex sets:

𝒮^c=p=1niScp,p[1,ni],formulae-sequencesubscript^𝒮𝑐𝑝1subscript𝑛𝑖superscriptsubscript𝑆𝑐𝑝𝑝subscript1subscript𝑛𝑖\hat{\mathcal{S}}_{c}=\underset{p=1}{\overset{n_{i}}{\bigcup}}S_{c}^{p},\,p\in% \mathbb{Z}_{[1,n_{i}]},over^ start_ARG caligraphic_S end_ARG start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = start_UNDERACCENT italic_p = 1 end_UNDERACCENT start_ARG start_OVERACCENT italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_OVERACCENT start_ARG ⋃ end_ARG end_ARG italic_S start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT , italic_p ∈ blackboard_Z start_POSTSUBSCRIPT [ 1 , italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] end_POSTSUBSCRIPT ,

where each Scpsuperscriptsubscript𝑆𝑐𝑝S_{c}^{p}italic_S start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT set is compact, and this estimated feasible set 𝒮^csubscript^𝒮𝑐\hat{\mathcal{S}}_{c}over^ start_ARG caligraphic_S end_ARG start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT can be represented by ni+nosubscript𝑛𝑖subscript𝑛𝑜n_{i}+n_{o}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_n start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT numbers of inequalities. Fig. 3b visually illustrates a set approximation example with ni=6subscript𝑛𝑖6n_{i}=6italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 6 and no=8subscript𝑛𝑜8n_{o}=8italic_n start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT = 8.

Refer to caption
(a)
Refer to caption
(b)
Figure 3: Feasible sets with respect to circular contour: (a) non-compact set 𝒮csubscript𝒮𝑐\mathcal{S}_{c}caligraphic_S start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT (grey shaded area) and desired contour (dot line); (b) approximated sets with partitioned polygons (blue shaded area).

Let lvsubscript𝑙𝑣l_{v}italic_l start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT and lssubscript𝑙𝑠l_{s}italic_l start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT denote the distance from the circular center to the vertices of the inner polygon and to the side of the outer polygon, respectively. Once the radius Rcsubscript𝑅𝑐R_{c}italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT and desired contouring error tolerance ϵcsubscriptitalic-ϵ𝑐\epsilon_{c}italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT have been determined, the value of lvsubscript𝑙𝑣l_{v}italic_l start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT and lssubscript𝑙𝑠l_{s}italic_l start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT are computed as

lvsubscript𝑙𝑣\displaystyle l_{v}italic_l start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT =Rcϵccos(π/ni),absentsubscript𝑅𝑐subscriptitalic-ϵ𝑐𝜋subscript𝑛𝑖\displaystyle=\frac{R_{c}-\epsilon_{c}}{\cos\left(\pi/n_{i}\right)},= divide start_ARG italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT - italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_ARG start_ARG roman_cos ( italic_π / italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_ARG ,
lssubscript𝑙𝑠\displaystyle l_{s}italic_l start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT =(Rc+ϵc)cosπno.absentsubscript𝑅𝑐subscriptitalic-ϵ𝑐𝜋subscript𝑛𝑜\displaystyle=\left(R_{c}+\epsilon_{c}\right)\cos\frac{\pi}{n_{o}}.= ( italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT + italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) roman_cos divide start_ARG italic_π end_ARG start_ARG italic_n start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT end_ARG .

To achieve a reasonable approximation of the feasible set, it is essential that the inequalities lvRcsubscript𝑙𝑣subscript𝑅𝑐l_{v}\leq R_{c}italic_l start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ≤ italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT and lvlssubscript𝑙𝑣subscript𝑙𝑠l_{v}\leq l_{s}italic_l start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ≤ italic_l start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT are satisfied. Additionally, as the number of inequalities ni+nosubscript𝑛𝑖subscript𝑛𝑜n_{i}+n_{o}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_n start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT directly quantifies the complexity of the approximated feasible set, we aim to solve the following problem to minimize computational complexity:

(n¯i,n¯o)=subscript¯𝑛𝑖subscript¯𝑛𝑜absent\displaystyle(\bar{n}_{i},\bar{n}_{o})=( over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT ) = argminni,noni+no,subscript𝑛𝑖subscript𝑛𝑜subscript𝑛𝑖subscript𝑛𝑜\displaystyle\arg\underset{n_{i},n_{o}}{\min}\;n_{i}+n_{o},roman_arg start_UNDERACCENT italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_n start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT end_UNDERACCENT start_ARG roman_min end_ARG italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_n start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT , (8a)
subject to
Rcϵccos(π/ni)Rc,subscript𝑅𝑐subscriptitalic-ϵ𝑐𝜋subscript𝑛𝑖subscript𝑅𝑐\displaystyle\frac{R_{c}-\epsilon_{c}}{\cos\left(\pi/n_{i}\right)}\leq R_{c},divide start_ARG italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT - italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_ARG start_ARG roman_cos ( italic_π / italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_ARG ≤ italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT , (8b)
Rcϵccos(π/ni)(Rc+ϵc)cosπno.subscript𝑅𝑐subscriptitalic-ϵ𝑐𝜋subscript𝑛𝑖subscript𝑅𝑐subscriptitalic-ϵ𝑐𝜋subscript𝑛𝑜\displaystyle\frac{R_{c}-\epsilon_{c}}{\cos\left(\pi/n_{i}\right)}\leq\left(R_% {c}+\epsilon_{c}\right)\cos\frac{\pi}{n_{o}}.divide start_ARG italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT - italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_ARG start_ARG roman_cos ( italic_π / italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_ARG ≤ ( italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT + italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) roman_cos divide start_ARG italic_π end_ARG start_ARG italic_n start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT end_ARG . (8c)
Algorithm 3 Computation of side numbers of inner and outer polygons
1:  Input: Rcsubscript𝑅𝑐R_{c}italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT and ϵcsubscriptitalic-ϵ𝑐\epsilon_{c}italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT
2:  Output: n¯isubscript¯𝑛𝑖\bar{n}_{i}over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and n¯osubscript¯𝑛𝑜\bar{n}_{o}over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT
3:  Compute n¯isubscript¯𝑛𝑖\bar{n}_{i}over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT by solving the optimization problem:
n¯i=subscript¯𝑛𝑖absent\displaystyle\bar{n}_{i}=over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = argminnini,subscriptsubscript𝑛𝑖subscript𝑛𝑖\displaystyle\arg\min_{n_{i}}\;n_{i},roman_arg roman_min start_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ,
subject to Rcϵccos(π/ni)Rc.subscript𝑅𝑐subscriptitalic-ϵ𝑐𝜋subscript𝑛𝑖subscript𝑅𝑐\displaystyle\;\;\;\frac{R_{c}-\epsilon_{c}}{\cos\left(\pi/n_{i}\right)}\leq R% _{c}.divide start_ARG italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT - italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_ARG start_ARG roman_cos ( italic_π / italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_ARG ≤ italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT .
4:  Compute n¯osubscript¯𝑛𝑜\bar{n}_{o}over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT by solving the optimization problem:
n¯o=subscript¯𝑛𝑜absent\displaystyle\bar{n}_{o}=over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT = argminnono,subscriptsubscript𝑛𝑜subscript𝑛𝑜\displaystyle\arg\min_{n_{o}}\;n_{o},roman_arg roman_min start_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_n start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT ,
subject to Rcϵccos(π/n¯i)(Rc+ϵc)cosπno.subscript𝑅𝑐subscriptitalic-ϵ𝑐𝜋subscript¯𝑛𝑖subscript𝑅𝑐subscriptitalic-ϵ𝑐𝜋subscript𝑛𝑜\displaystyle\;\;\;\frac{R_{c}-\epsilon_{c}}{\cos\left(\pi/\bar{n}_{i}\right)}% \leq\left(R_{c}+\epsilon_{c}\right)\cos\frac{\pi}{n_{o}}.divide start_ARG italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT - italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT end_ARG start_ARG roman_cos ( italic_π / over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_ARG ≤ ( italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT + italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) roman_cos divide start_ARG italic_π end_ARG start_ARG italic_n start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT end_ARG .
5:  if {(xe*,ye*)|(xe*xo)2+(ye*yo)2=Rc2}𝒮^cconditional-setsuperscriptsubscript𝑥𝑒superscriptsubscript𝑦𝑒superscriptsuperscriptsubscript𝑥𝑒subscript𝑥𝑜2superscriptsuperscriptsubscript𝑦𝑒subscript𝑦𝑜2superscriptsubscript𝑅𝑐2subscript^𝒮𝑐\{(x_{e}^{*},y_{e}^{*})|\left(x_{e}^{*}-x_{o}\right)^{2}+\left(y_{e}^{*}-y_{o}% \right)^{2}=R_{c}^{2}\}\subseteq\hat{\mathcal{S}}_{c}{ ( italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT , italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ) | ( italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT - italic_x start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( italic_y start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT - italic_y start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT } ⊆ over^ start_ARG caligraphic_S end_ARG start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT then
6:     return  n¯isubscript¯𝑛𝑖\bar{n}_{i}over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and n¯osubscript¯𝑛𝑜\bar{n}_{o}over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT
7:     break
8:  else
9:     n¯on¯o+1subscript¯𝑛𝑜subscript¯𝑛𝑜1\bar{n}_{o}\leftarrow\bar{n}_{o}+1over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT ← over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT + 1
10:     go to Step 5
11:  end if

Considering that the constraint (8b) is independent of nosubscript𝑛𝑜n_{o}italic_n start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT, a suboptimal algorithm is performed first to determine the minimum n¯isubscript¯𝑛𝑖\bar{n}_{i}over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT with the given value of Rcsubscript𝑅𝑐R_{c}italic_R start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT and ϵcsubscriptitalic-ϵ𝑐\epsilon_{c}italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT. Then a suitable number n¯osubscript¯𝑛𝑜\bar{n}_{o}over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT is computed to ensure the existence of approximated feasible sets, and the whole process is summarized in Algorithm 3.

After computing the optimal values n¯isubscript¯𝑛𝑖\bar{n}_{i}over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and n¯osubscript¯𝑛𝑜\bar{n}_{o}over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT using Algorithm 3, the set 𝒮^csubscript^𝒮𝑐\hat{\mathcal{S}}_{c}over^ start_ARG caligraphic_S end_ARG start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT is determined. This set is then utilized to initialize m0superscriptsubscript𝑚0\mathcal{I}_{m}^{0}caligraphic_I start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT in Algorithm 1 for the computation of the switch CI set.

V Simulation results

To assess the efficacy of the proposed approach, we deploy contouring error-bounded control in a high-fidelity simulation based on a dual-drive industrial laser machine model [24]. The state vector, denoted as 𝐱[xm,yN,θ]𝐱superscriptsubscript𝑥𝑚subscript𝑦𝑁𝜃top\mathbf{x}\triangleq[x_{m},y_{N},\theta]^{\top}bold_x ≜ [ italic_x start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT , italic_θ ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT, represents the moving distance of end-effector, the moving distance of the mass center of the gantry beam, and the rotation angle of the gantry beam, respectively. The inputs of system consist of the current inputs to the end-effector motor and dual drives. Further details on system identification and model validation can be found in [24].

By using methods such as feedback linearization, the dynamics of this laser machine can be approximated in a form as (II-A) where the system matrices are state-dependent on the moving distance of the end-effector along the beam. In the contouring control task, we require the end-effector to follow a contour consisting of a circular path and straight lines with 0.10.10.10.1 m/s maximum velocity and 1111 m/s22{}^{2}start_FLOATSUPERSCRIPT 2 end_FLOATSUPERSCRIPT maximum acceleration. The intended path and trajectory along the X and Y-axes are illustrated in Fig. 4, where the desired circle has a center at (0,0)00(0,0)( 0 , 0 ) with a radius of 0.080.080.080.08 m.

Refer to caption
(a)
Refer to caption
(b)
Figure 4: Reference: (a) time-dependent trajectory in X and Y-axis; (b) contour.

The contouring error bound ϵcsubscriptitalic-ϵ𝑐\epsilon_{c}italic_ϵ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT is chosen as 4444 mm, which corresponds to 5%percent55\%5 % of the circular radius. The controller update rate and data sampling rate are 500500500500 Hz. The switched system is divided into five modes based on the linearized operating points at xm={0.075,0.025,0.025,0.075}subscript𝑥𝑚0.0750.0250.0250.075x_{m}=\{-0.075,-0.025,\allowbreak 0.025,0.075\}italic_x start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT = { - 0.075 , - 0.025 , 0.025 , 0.075 } m to achieve a trade-off between model accuracy and computation effort.

The values of n¯i=10subscript¯𝑛𝑖10\bar{n}_{i}=10over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 10 and n¯o=10subscript¯𝑛𝑜10\bar{n}_{o}=10over¯ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT = 10 are determined by Algorithm 3, and 10101010 approximated feasible sets for circular contour are found and shown in Fig. 5.

Refer to caption

Figure 5: Feasible sets for bounded contouring error.

The prediction horizon in MPC formulation (III-B) is chosen as N=3𝑁3N=3italic_N = 3, and the tuning weights are chosen as diagonal matrix Q=diag(105,105)𝑄diagsuperscript105superscript105Q=\mathrm{diag}(10^{5},10^{5})italic_Q = roman_diag ( 10 start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT , 10 start_POSTSUPERSCRIPT 5 end_POSTSUPERSCRIPT ) and R=diag(101,103,102)𝑅diagsuperscript101superscript103superscript102R=\mathrm{diag}(10^{-1},10^{-3},10^{-2})italic_R = roman_diag ( 10 start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT , 10 start_POSTSUPERSCRIPT - 3 end_POSTSUPERSCRIPT , 10 start_POSTSUPERSCRIPT - 2 end_POSTSUPERSCRIPT ). The value of P𝑃Pitalic_P is updated based on Assumption 3.

Refer to caption

Figure 6: Contouring error based on proposed control method.
Refer to caption
(a)
Refer to caption
(b)
Figure 7: End-effector tracking error: (a) X-axis; (b) Y-axis.

The entire contouring error throughout the process is computed and depicted in Fig. 6. The maximum contouring error is 0.4120.4120.4120.412 mm, which falls within the acceptable error tolerance. To provide a more comprehensive view of the performance of the proposed controller, the tracking errors along the X and Y-axes are computed and presented in Fig. 7.

The contouring error graph in Fig. 6 correlates with the three distinct segments of the path. Within the first 0.850.850.850.85 s of the straight-line movement, the contouring error remains insignificant due to the limited X-axis displacement. However, during the circular contour segment, a change in the X-axis reference leads to a spike in tracking error, contributing to the contouring error. After 5.875.875.875.87 s, the straight line becomes the intended contour, with the X-axis tracking error directly influencing the contouring error. Despite a tracking error along the Y-axis, the contouring error stays close to zero due to a minor X-axis tracking error. Notably, even though the maximum tracking error along the X-axis surpasses 6666 mm, the contouring error remains significantly below the desired tolerance.

In Fig. 7, spikes in X-axis tracking error occur around time 1.51.51.51.5 s, 2.12.12.12.1 s, and 4.64.64.64.6 s. These spikes, observed by comparing the tracking error with the time-dependent trajectory and linearization points, can be attributed to changes in system modes within the proposed controller. Regarding the Y-axis, the initial sharp tracking error is a consequence of the trade-off between control effort and tracking error when the contouring error is within tolerance. During the circular contour phase, a change in the system mode induces a similar tracking error spike on the Y-axis. After 5.85.85.85.8 s, the desired contour reverts to a straight line and the Y-axis tracking error begins to decrease as the penalty on tracking error becomes dominant in the cost function. While introducing more system modes could potentially reduce the magnitude of these spikes, it would involve a trade-off between the number of controller switches and the spike magnitude, likely increasing the memory requirements and computational complexity of the proposed algorithm.

VI Conclusion

In this study, we introduce a contouring error-bounded control algorithm designed for biaxial switched linear systems, and evaluate its effectiveness on an industrial laser machine. The proposed algorithm is able to steer the end-effector to the closest admissible reference. We rigorously discuss the recursive feasibility and stability of the closed-loop system. To ensure the contouring error constraints during mode switch, the states are required to stay within a group of designed switch CI sets. Through theoretical proof and high-fidelity simulations, we affirm that our proposed method can successfully achieve contouring error-bounded control for industrial machines, particularly those with position-dependent structural flexibility. In future work, the proposed method can be extended to the systems with disturbances.

Acknowledgments

The authors would like to thank Prof Yutao Chen from Fuzhou University and Prof Iman Shames from Australian National University for their enlightening discussion. We would also like to express our gratitude to the engineers at ANCA Motion for their insightful discussion from a practical perspective.

References

  • [1] M. Yuan, C. Manzie, M. Good, I. Shames, L. Gan, F. Keynejad, and T. Robinette, “A review of industrial tracking control algorithms,” Control Engineering Practice, vol. 102, p. 104536, Sep. 2020, doi: 10.1016/j.conengprac.2020.104536.
  • [2] L. Tang and R. G. Landers, “Multiaxis contour control—the state of the art,” IEEE Transactions on Control Systems Technology, vol. 21, no. 6, pp. 1997–2010, 2013.
  • [3] B. Yao, C. Hu, and Q. Wang, “An orthogonal global task coordinate frame for contouring control of biaxial systems,” IEEE/ASME Transactions on Mechatronics, vol. 17, no. 4, pp. 622–634, 2011.
  • [4] F. Qin, F. Shen, D. Zhang, X. Liu, and D. Xu, “Contour primitives of interest extraction method for microscopic images and its application on pose measurement,” IEEE Transactions on Systems, Man, and Cybernetics: Systems, vol. 48, no. 8, pp. 1348–1359, 2017.
  • [5] M. Chen and Y. Sun, “Contour error–bounded parametric interpolator with minimum feedrate fluctuation for five-axis CNC machine tools,” The International Journal of Advanced Manufacturing Technology, vol. 103, pp. 567–584, 2019.
  • [6] W. Symens, H. Van Brussel, and J. Swevers, “Gain-scheduling control of machine tools with varying structural flexibility,” CIRP Annals, vol. 53, no. 1, pp. 321–324, 2004.
  • [7] C. Teo, K. Tan, S. Lim, S. Huang, and E. Tay, “Dynamic modeling and adaptive control of a H-type gantry stage,” Mechatronics, vol. 17, no. 7, pp. 361–367, 2007.
  • [8] L. Lu, Z. Chen, B. Yao, and Q. Wang, “A two-loop performance-oriented tip-tracking control of a linear-motor-driven flexible beam system with experiments,” IEEE Transactions on Industrial Electronics, vol. 60, no. 3, pp. 1011–1022, 2012.
  • [9] C. Li, B. Yao, and Q. Wang, “Modeling and synchronization control of a dual drive industrial gantry stage,” IEEE/ASME Transactions on Mechatronics, vol. 23, no. 6, pp. 2940–2951, 2018.
  • [10] Z. Chen, C. Li, B. Yao, M. Yuan, and C. Yang, “Integrated coordinated/synchronized contouring control of a dual-linear-motor-driven gantry,” IEEE Transactions on Industrial Electronics, vol. 67, no. 5, pp. 3944–3954, 2019.
  • [11] Y. Koren, “Cross-coupled biaxial computer control for manufacturing systems,” Journal of Dynamic Systems, Measurement, and Control, vol. 102, no. 4, pp. 265–272, 12 1980.
  • [12] Y. Koren and C.-C. Lo, “Variable-gain cross-coupling controller for contouring,” CIRP annals, vol. 40, no. 1, pp. 371–374, 1991.
  • [13] Z. Kuang, H. Gao, and M. Tomizuka, “Precise linear-motor synchronization control via cross-coupled second-order discrete-time fractional-order sliding mode,” IEEE/ASME Transactions on Mechatronics, vol. 26, no. 1, pp. 358–368, 2020.
  • [14] F. Huo and A.-N. Poo, “Improving contouring accuracy by using generalized cross-coupled control,” International Journal of Machine Tools and Manufacture, vol. 63, pp. 49–57, 2012.
  • [15] G.-C. Chiu and M. Tomizuka, “Contouring control of machine tool feed drive systems: a task coordinate frame approach,” IEEE Transactions on Control Systems Technology, vol. 9, no. 1, pp. 130–139, 2001.
  • [16] S.-L. Chen and K.-C. Wu, “Contouring control of smooth paths for multiaxis motion systems based on equivalent errors,” IEEE Transactions on Control Systems Technology, vol. 15, no. 6, pp. 1151–1158, 2007.
  • [17] X. Yang, R. Seethaler, C. Zhan, D. Lu, and W. Zhao, “A novel contouring error estimation method for contouring control,” IEEE/ASME Transactions on Mechatronics, vol. 24, no. 4, pp. 1902–1907, 2019.
  • [18] L. Van den Broeck, M. Diehl, and J. Swevers, “A model predictive control approach for time optimal point-to-point motion control,” Mechatronics, vol. 21, no. 7, pp. 1203–1212, 2011.
  • [19] S. Di Cairano, A. Goldsmith, U. V. Kalabić, and S. A. Bortoff, “Cascaded reference governor–mpc for motion control of two-stage manufacturing machines,” IEEE Transactions on Control Systems Technology, vol. 27, no. 5, pp. 2030–2044, 2018.
  • [20] T. Li, X. Sun, G. Lei, Y. Guo, Z. Yang, and J. Zhu, “Finite-control-set model predictive control of permanent magnet synchronous motor drive systems—an overview,” IEEE/CAA Journal of Automatica Sinica, vol. 9, no. 12, pp. 2087–2105, 2022.
  • [21] E. Picotti, M. Bruschetta, E. Mion, and A. Beghi, “A nonlinear model-predictive contouring controller for shared control driving assistance in high-performance scenarios,” IEEE Transactions on Systems, Man, and Cybernetics: Systems, vol. 53, no. 1, pp. 204–215, 2023.
  • [22] D. Lam, C. Manzie, and M. C. Good, “Model predictive contouring control for biaxial systems,” IEEE Transactions on Control Systems Technology, vol. 21, no. 2, pp. 552–559, 2012.
  • [23] X. Zhang, T. Shi, Z. Wang, Q. Geng, and C. Xia, “Generalized predictive contour control of the biaxial motion system,” IEEE Transactions on Industrial Electronics, vol. 65, no. 11, pp. 8488–8497, 2018.
  • [24] M. Yuan, C. Manzie, L. Gan, M. Good, and I. Shames, “Modelling and contouring error bounded control of a biaxial industrial gantry machine,” in 2019 IEEE Conference on Control Technology and Applications (CCTA).   IEEE, 2019, pp. 388–393.
  • [25] L. J. Bridgeman, C. Danielson, and S. Di Cairano, “Stability and feasibility of MPC for switched linear systems with dwell-time constraints,” in 2016 American Control Conference (ACC).   IEEE, 2016, pp. 2681–2686.
  • [26] C. Danielson, L. J. Bridgeman, and S. Di Cairano, “Necessary and sufficient conditions for constraint satisfaction in switched systems using switch-robust control invariant sets,” International Journal of Robust and Nonlinear Control, vol. 29, no. 9, pp. 2589–2602, 2019.
  • [27] D. Liberzon, Switching in systems and control.   Springer, 2003, vol. 190.
  • [28] M. Yuan, C. Manzie, M. Good, I. Shames, L. Gan, F. Keynejad, and T. Robinette, “Error-bounded reference tracking mpc for machines with structural flexibility,” IEEE Transactions on Industrial Electronics, vol. 67, no. 10, pp. 8143–8154, 2019.