Compensating torque ripples in a coarse pointing mechanism for free-space optical communication A Gaussian process repetitive control approach

Actuators that require commutation algorithms, such as the switched reluctance motor (SRM) considered in this paper and employed in the coarse pointing assembly (CPA) for free-space optical communication, often have torque-ripple disturbances that are periodic in the commutation-angle domain that deteriorate the positioning performance. The aim of this paper is to model the torque ripple as a Gaussian Process (GP) in the commutation-angle domain and consequently compensate for it at arbitrary velocity. The approach employs repetitive control (RC) at a constant velocity. A spatial GP with a periodic kernel is trained using data that is obtained from the RC step resulting in a static non-linear function for compensation at arbitrary velocity. Stability conditions are provided for both steps. The approach is successfully applied to a CPA prototype to improve the tracking performance for laser communication, where the torque ripple is compensated at arbitrary velocity.


Introduction
Many future technological advances, including scientific earth observations, 5G and 6G connectivity, and the Internet-of-Things, rely heavily on high-throughput and secure data communication with worldwide coverage.This calls for new advances in communication technology between satellites and from satellites to ground stations, well beyond the possibilities of the current radio-frequency (RF) standard.Recent developments in (inter-)satellite communication exploit free-space optical communication (FSOC), where a transmitter points a laser beam towards a receiver over a very long distance.Distances range from several hundreds of kilometers from lower-earth orbit (LEO) to ground, to thousands of kilometers between LEO satellites, up to tens-of-thousands of kilometers for links between ground stations and satellites in a geostationary orbit (GEO).FSOC terminals can be much faster and lighter than their RF counterparts, partly because all the transmitted power can be condensed in a single beam with very small divergence, which on the other hand requires pointing accuracies in the order of micro-radians or even sub-micro-radians to cover such large distances.At the same time, FSOC terminals need to point their lasers over very large angular ranges due to the relative motion between transmitter and receiver.
To enable a large-stroke rotation for tracking moving objects, a socalled coarse pointing assembly (CPA) is commonly used, in which its size, weight, and cost are critical aspects for commercial (large series) space applications.Traditional CPAs are quite often relatively large, heavy, and expensive compared to the rest of the FSOC terminal, therefore, in [1] a novel CPA actuation concept has been developed, see Fig. 1, which offers a low-cost, low-power alternative for accurate long-stroke laser pointing for satellite-based FSOC.This CPA concept, developed by the Netherlands Organisation of Applied Scientific Research (TNO), uses a switched reluctance motor concept [2] consisting of three motor phases and a commutation strategy to rotate a toothed disk and is relatively cost-effective to manufacture.
The positioning performance of the CPA depends on the interplay between the commutation functions and the mechanical tolerances; imperfect commutation easily leads to a torque ripple, e.g., due to misalignment of the three motor phases.Compensating this torque ripple disturbance can thus significantly improve the CPA performance.https://doi.org/10.1016/j.mechatronics.2023.103107Received 13 January 2023; Received in revised form 25 October 2023; Accepted 22 November 2023 The commutation strategy is typically a trade-off between minimizing the torque ripple on one hand, and improving the power efficiency on the other hand [2,3], which are both key aspects for commercial spacebased FSOC.Moreover, the torque ripple that appears is repeating in the commutation-angle domain.In particular, if the CPA operates with a constant velocity, then this disturbance is periodic in the time domain, and it is non-periodic otherwise.The optimal torque-ripple compensation will also differ from CPA to CPA, due to manufacturing and assembly tolerances, which calls for automated routines to keep this CPA a cost-effective alternative.
Data-driven learning of a torque ripple compensation function can significantly improve control performance, see, e.g., [4], alternative model-based approaches require more modeling effort [5].Repetitive control (RC) enables asymptotic rejection of time-domain periodic disturbances with a known period, by learning an internal model from data [6][7][8].In [9], a Gaussian process (GP)-based internal model is developed to incorporate prior knowledge for RC, which can be used to enable torque ripple compensation at constant velocity.Moreover, a spatial GP RC approach is presented in [10,11] for spatially-periodic disturbances that can be non-periodic in the time domain such as the torque ripple disturbance at varying velocity.However, this latter spatial approach updates continuously, requiring a substantial computational load, whereas an automated routine to compensate for the commutation-induced torque ripple does not necessarily require continuous updating, since it principally does not change over time.To avoid computational complexity in a low-power space-based environment, it is therefore preferred to learn a static compensation function that compensates for the torque ripple for arbitrary velocities.
Although recent developments in temporal RC can improve the positioning performance of the CPA for constant velocities, an approach that is computationally attractive and that allows compensating for the torque ripple at arbitrary velocity is not yet developed.The aim of this paper is to compensate for the torque ripple at arbitrary velocities by learning a static GP-based function in the position domain.The approach consists of two steps; first, time-domain GP-based RC [9] is applied for compensation at a constant velocity, and second, a spatial GP with a periodic kernel and data from step one is trained, resulting in a continuous compensation function that is periodic in the commutation-angle domain for compensation at arbitrary velocities.For the first step, identifying a correct compensation signal that correlates with the commutation position, alternative approaches such as iterative learning control (ILC) [12] or adaptive robust control (ARC) [13,14] could in principle also be considered, but the unified and versatile GP-based RC approach of [9] is considered to be most effective, due to its simplicity in tuning and implementation, and the non-resetting nature of the commutation disturbances.Moreover, it easily allows to only compensate for disturbances with the correct periodicity; as desired, non-periodic disturbances are not learned, allowing for extrapolation to arbitrary velocities in the next step.For this second step, generating the compensation function for arbitrary velocities, the GP approach provides a non-parametric way to create a continuous function, which allows for accurate evaluation at any position.As such it avoids discretization and interpolation effects in traditional approaches such as look-up tables [11].Summarizing, the following contributions are identified: C1 analysis of the torque-ripple disturbance in the CPA to show that it is periodic in the commutation-angle domain, and modeling of the CPA as a linear system with a static non-linearity that represents the torque ripple (Sections 2 and 3), C2 a two-step approach for learning of a static GP for torque ripple compensation at arbitrary velocity, including stability analysis for both steps (Section 4); and C3 experimental validation of the two-step approach for arbitrary velocity, including experimental validation of GP-based RC in [9] for constant velocity, on the CPA (Section 5).
The application of this method enables over 300% performance improvement in the CPA by suppressing a substantial part of the torque ripple at arbitrary velocity.Finally, conclusions are presented in Section 6.

Problem definition
The CPA depicted in Fig. 1 is the main motivation for the work in this paper and is used for experimental validation.In this section, the setup is further introduced and the formal control problem is outlined.

Application motivation
The purpose of a CPA, such as the single-axis prototype depicted in Fig. 1, is to accurately rotate the last mirror in the optical path of a moving terminal, so as to accurately point the exiting laser towards a receiving moving object.In control terms, this means that the rotary stage carrying the mirror needs to track a reference signal that depends on the relative position, orientation, and velocity between the two moving objects; in the general case the rotational velocity of this stage thus varies over time.Fig. 2 shows an example of such satellite-level angular velocities for a 500 km LEO-to-ground link; the right plot is indicative for typical CPA velocities, although the exact numbers per axis will depend on the geometry and optical layout in a particular CPA design.The CPA presented here uses a switched reluctance motor (SRM) containing three motor phases to drive a toothed disk with 131 teeth [1].A cross-section of the coils and the toothed disk is schematically shown in Fig. 3; by alternating the current between the three coils (through commutation functions) a continuous rotating motion can be generated.Important benefits of this actuator concept are the absence of physical contact between the coils and the rotating disk to reduce wear and the associated contamination, and the absence of cogging disturbances.However, due to possible imperfect commutation between the different coil currents (see Section 3.1), there is a torque ripple present that could hamper performance.Fig. 2. Illustration of the look angle evolution between a LEO satellite at 500 km height and a ground station during a satellite overpass (left plot) and its time derivative (right plot), ranging from overpasses nearly directly above the ground station ( ) to overpasses 200 km away ( ).
Fig. 3. CPA actuation principle with three coils to drive the toothed disk (rotor).For the depicted rotor position, a current through the first coil will give no torque, through the second coil a negative torque (to the right), and through the third coil a positive torque (to the left).This torque distribution will change as the rotor moves along the coils.Note that this SRM actuation concept is fully non-contact, hence mechanical abrasion and wear of the teeth or coils are highly unlikely.

Fig. 4.
Torque ripple compensation strategy where the aim is to learn the compensation function f () from data.The CPA is modeled as P with non-linearity d() that is spatially periodic such that () represents a torque ripple or commutation-induced disturbance, and additional non-repeating disturbances d.

Control setting
The relevant control setting for the CPA is depicted in Fig. 4, where the goal in this paper is to design the static function f () to compensate for the torque ripple disturbance d(), with  the rotor position.The non-linear system P represents the CPA including an existing commutation strategy and  fb is a stabilizing feedback controller.It is assumed that the non-linear system P is composed of a linear time-invariant (LTI) part  in conjunction with the static non-linearity d() ∶ R ↦ R that is a function of the rotor position.The resulting signal that acts on the input to  () = d(()), (1) represents the torque ripple or commutation-induced disturbance to be compensated.Additional non-repeating disturbances, denoted by d, may appear in the CPA.Since it is reasonable to assume that these do not correlate with the position, they have very little influence on the presented approach and are therefore considered out of the scope of this paper.The notation ⋅ refers to spatial functions.Ideally, the compensation function to be designed f () is an exact model of d(), i.e., if then the commutation-induced disturbance () is perfectly compensated.To show this, assume that the reference is suppressed, e.g., with an additive feedforward  f f ≈  −1  on   , then the commutationinduced error is given by where  = ( +  fb ) −1 is the sensitivity function.If f satisfies (2), then () =   () and the error (3) is zero for arbitrary velocity variations.
For the remainder of this paper the following properties of the non-linear function d are considered.Definition 1.The unknown static commutation-induced non-linearity d() is periodic, i.e., with spatial period  that is equal to the tooth pitch in the CPA.
Assumption 1.The unknown static non-linearity d() is sector bounded, i.e., for some Assumption 1 is required to provide stability conditions in the remainder of this paper and is experimentally validated in Section 3. Definition 1 implies that () is inherently non-periodic in the timedomain, unless the angular position () increases linearly, i.e., when the rotational velocity is constant.It is therefore similar to a torque ripple disturbance that appears periodic in time with a constant rotational velocity, and non-periodic otherwise.The approach presented in this paper utilizes this to identify d() at constant velocity, to derive a compensation () for arbitrary and non-constant velocities.

Two step control approach
A two-step design method is developed to learn the spatially periodic function f from data.In the first step, data is collected to learn f () in the second step.To collect data for learning, recap that () is periodic in the time-domain with a known period if the rotational velocity is constant.However, due to imperfect commutation, among others, the velocity might vary slightly in practice.In this situation, asymptotic rejection of () can be obtained through a robust repetitive control (RC) approach [7,9,15] in the setting in Fig. 5, i.e.,  enables to asymptotically learn a model    () of the periodic disturbance () in a time-domain buffer, even in the presence of a non-perfect model.
Compensation at an arbitrary velocity is done in the second step in the setting in Fig. 4. It requires that the function f () is defined for all  ∈ R, i.e., as a continuous function.Hence, the continuous and periodic function f () is learned in the commutation domain  based on the time-domain data from step one, containing discrete points at various positions ().Hence, interpolation and extrapolation of the data are required which is done by Gaussian process (GP) regression with a smooth and periodic prior as outlined in the remainder of this paper.

CPA disturbance analysis
In this section, the existing commutation strategy that is designed for the CPA is briefly discussed, which serves as a starting point for the work presented in this paper.Moreover, it is shown that the CPA can indeed be modeled as in Fig. 4, i.e., that a disturbance is present that is periodic in the commutation-angle domain.

CPA commutation strategy
The CPA setup with the commutation strategy for the three motor phases is schematically depicted in Fig. 6.A brief explanation of the commutation strategy is shortly summarized below for background, details can be found in [1].The system P in Fig. 4 contains the commutation strategy and CPA dynamics; the physical CPA setup without commutation, i.e., from the squared current of each of the coils  2   to the rotor position  is given by     () with  T () = diag(  ,1 ,   ,2 ,   ,3 ) a position dependent function from coil current to torque output, and   ∈  ∞ the mechanical part that is proper and stable.Moreover,   , () ∶ R ↦ R for  = 1, 2, 3 is a non-linear function of  that maps  2  to the torque generated by coil where  ∈ R is the inductance and while neglecting magnetic saturation, see, e.g., [16,Chapter 5].These   , are principally unknown, but have been estimated via dedicated torque measurements as described in [1].The commutation strategy contains an approximate inverse of  T denoted by f −1 T such that ideally  T () =  for all  ∈ [0, ) with  the tooth pitch, and  C () ∶ R ↦ R 3 are the functions that distribute the required torque  ∈ R over the three individual motor phases.The functions  C and f −1  for this specific setup are developed in [1] and used throughout the paper.
Due to imperfections in the CPA setup and the commutation strategy, e.g., the requested torque per coil   is not equal to the actual torque   , there is a torque ripple disturbance present that depends on the position output  as in Fig. 4.Moreover, it is assumed that this torque ripple is repeating in the commutation-angle domain with a single tooth as in Definition 1.

Analysis of the disturbance
In this section, Definition 1 and Assumption 1 are experimentally validated to show that the torque ripple disturbance indeed repeats  ), 0.1 rad/s ( ), 0.12 rad/s ( ) and 0.14 rad/s ( ), which are all periodic but with different period.
with a single tooth.Experiments are performed with a feedback controller at several constant rotational velocities ranging from 0.08 rad/s up to 0.14 rad/s with 0.02 rad/s increments.Note that this is roughly a factor 10 faster than the satellite-level angular velocities shown in Fig. 2; this is partly to incorporate sufficient margin in the translation of these indicative velocities to single-axis CPA velocities, and partly to speed up the data collection process.The resulting error is shown in Fig. 8 as a function of time.
Under the assumption that the CPA can be modeled as in Fig. 4 with error (3), an estimate of the disturbance d can be obtained from the measured error as where is an approximate inverse model of the process sensitivity  .The first transient part of the measurement data is omitted.A model P  of   is obtained with the measured frequency response function of the CPA in Fig. 7, using the existing commutation functions discussed in Section 3.1.Consequently, a stable inverse P  −1 is computed with zero-phase-error-tracking-control (ZPETC) [17,18].The resulting disturbance estimate is shown in Fig. 9 as a function of .The following observations can be made.
• The dominant part of the error in Fig. 8 is periodic in time for each velocity but the time-domain periods vary as the velocity changes.• The disturbance estimates, i.e., filtered errors, as a function of the position in Fig. 9 are all periodic with a single tooth 2 131 = 0.048 rad, independent of the velocity.Moreover, the disturbance estimates are similar for each velocity which motivates that the  CPA can be modeled as in Fig. 4 and validates Definition 1. however additional disturbances visible in Fig. that are not repetitive with  (originating from e.g. the or small differences in tooth geometry); this paper only addresses the compensation of the common commutation-induced or tooth periodic disturbance.
• Based on the representation of the measurement data in Fig. 10, which is a zoom of Fig. 9 around  = 8.01 rad, it can be concluded that the sector bound condition in Assumption 1 is valid for  2 = − 1 = 1, since all estimated d() remain within the gray sector-bounded areas.
Moreover, the zoomed inset in Fig. 9 shows that the data points are sampled differently for each velocity, i.e., non-equidistant in the rotorposition domain for a varying velocity.This yields that indeed the function f () for compensation must be defined for all  to compensate for arbitrary velocity.The design of f () as a GP is outlined in the remainder of this paper.
Remark 2. The measured error can be used directly to approximate d using a model P , however, the equality of this estimate can be poor depending on the model quality.For this reason, in the developed twostep approach, RC [9] is used that is robust for modeling errors up to 100% and for slight velocity variations [15].

Gaussian process torque ripple compensation
In this section, the two design steps to learn the compensation function f () in Fig. 4 are presented.It is shown first, how the continuous compensation function f () is learned given a data set with discrete observations of the disturbance through GP regression and suitable kernel design, which is the main contribution.This allows to evaluate f (  ) at arbitrary   ∈ R, i.e., also outside of the discrete training points.Thereafter, an RC approach is presented to generate the data set at constant velocity in the setting in Fig. 5, i.e., including the non-linearity.Stability conditions are provided for both design steps.

Torque ripple compensation through GP regression
For compensation at arbitrary velocity, the compensation function d() must be a continuous function, i.e., known for all .This section outlines how a continuous function is generated based on a set of discrete observations of the disturbance through GP regression.
Suppose that a data set   (  , d ) is available where   ∈ R  and d ∈ R  contain  ∈ N noisy data points ( d(()), ()) that give information about the true spatial disturbance d(), i.e., and assume that ) is additive independent identically distributed (i.i.d.) Gaussian noise.The data set   is generated in a separate RC experiment at constant velocity as outlined in Section 4.4.The aim is to learn a continuous and periodic function based on   that is also defined in-between the positions   .
Many approaches exist to interpolate between discrete data points by assuming an underlying structure or basis functions, e.g., linear interpolation or least-squares regression.In this paper, f is obtained using GP regression, which does not require to specifically define basis functions.GP regression combines the data   with prior knowledge, e.g., smoothness and periodicity, to determine a posterior distribution over functions [19,20].The mean of the posterior distribution, i.e., the most likely sample, is the continuous function f () that is used for compensation.
Suppose that the spatial disturbance function is a Gaussian process which is completely characterized by the mean function () that is assumed to be zero, and the covariance function (,  ′ ).The design of (,  ′ ) is outlined in Section 4.2.By conditioning the GP, i.e., performing inference on the basis of   and the prior (9), a posterior distribution is obtained.The posterior distribution at any position  * ∈ R can be computed by defining the correlation between  * and the data   which is generated in a separate experiment, i.e., ] , where  ∈ R × is the covariance function (  ,   ) evaluated at all combinations of (  ,   ), and similar for  * = (  ,  * ) ∈ R ×1 and  * * = ( * ,  * ) ∈ R [19].As a result, the spatial disturbance model f ( * ) is given by the mean of the posterior distribution for the full posterior distribution, see, e.g., [10,19].Note that the vector  is completely determined by the data   (  , d ), thus the implementation of ( 11) can be done efficiently in step 2 since the inversion in ( 12) can be computed a priori in step 1.
The compensation signal   () is obtained by evaluating the GPbased spatial disturbance model (11) at the current position  * = (), i.e.
The following section presents the design of a suitable covariance function .

GP prior design for torque ripple disturbances
Since the spatial non-linearity is periodic as in Definition 1, the prior on d() must reflect this periodicity.Therefore, the covariance function in ( 9) is a periodic covariance function with hyperparameters   = {  , ,   } .The hyperparameters can be interpreted as follows, •  ∈ R is the spatial period of d() equal to the tooth pitch ; •  ∈ R is the smoothness; and •   ∈ R is a gain relative to the noise variance  2  .
Now consider the following illustrating example.
Example 1. periodic function d() = sin(2) + 1 2 sin(6 + 1 2 ) with period 1 is used as true function, from which 10 random samples ( d(  ),   ) for  = 1, 2, … , 10 are taken, see Fig. 11.A periodic covariance function is used for GP regression, with the hyperparameters:  = 1 equal to the period,   = 1 and  = 1 as in Fig. 12.This shows that the covariance (,  ′ ) is large when  −  ′ is either small (smoothness) or approximately equal to  (periodicity).GP regression is performed with the 10 data samples and periodic prior.The posterior mean and variance are shown in Fig. 11 together with the true function.The posterior mean, i.e., the most likely sample from the posterior, is a continuous function that corresponds well with the true function also in-between the data points.Moreover, the variance increases where the estimate is less reliable.
Example 1 shows that with smooth and periodic prior in GP regression, an accurate estimate of the true periodic function can be obtained based on a limited number of discrete data points.This is used to interpolate and extrapolate the time-domain disturbance model for compensation at any velocity.Remark 3. The periodic kernel ( 14) is also used in GP-based RC to learn a time-domain periodic function [9], or spatially periodic function [11].

Stability
To analyze stability of the interconnection in Fig. 4 with compensation function f , it is reformulated in the standard feedback interconnection of a linear system in feedback with a static nonlinearity as in Fig. 13.Consequently, a passivity-based stability analysis is used to provide stability conditions.Lemma 1 (Circle Criterion).Consider the standard feedback interconnection in Fig. 13 with the linear system  ∈  × ∞ and the memoryless function  () as in [21,Theorem 7.2] and [22, p. 140].If  is asymptotically stable and  () satisfies the sector bound condition for some  1 ,  2 ∈ R with  1 < 0 <  2 , then the interconnection is uniformly asymptotically stable, i.e., the output converges asymptotically to a stable steady-state trajectory, for all  () that satisfy (15) if the Nyquist plot of  lies in the interior of the circular disk ( 1 ,  2 ), with 1∕ 1 and 1∕ 2 the intersections of ( 1 ,  2 ) with the real axis.
Theorem 1.Consider the setting in Fig. 4 with linear system  , static unknown non-linearity d(), non-linear function f () in (11), and suppose that Assumption with  ∈ R, and f () is sector bounded, where  can be shifted by  where  ∈ Z, and for  ≥ 0, such that with  = − 1 =  2 ≥ 0 in Assumption 1, then the interconnection is asymptotically stable.
The proof of Theorem 1 is given in the appendix.

Remark 4.
In Lemma 1 with  1 = − 2 , the condition (17) in Theorem 1 is similar to a small gain condition [21,Theorem 5.6].For  1 ≠ − 2 more general results can be obtained by following the same reasoning as in Theorem 1.
Remark 5.The sector-bound condition (A.2) in Theorem 1 requires that f (0) = 0.If f (0) ≠ 0 then it is of the form f () = f 0  () +  for some constant  ∈ R such that f 0  (0) = 0.In this case replace f () by f 0  () in (A.2) and the results in Theorem 1 remain valid, as  can be interpreted as a constant disturbance.Theorem 1 implies that the reciprocal of the  ∞ -norm of   imposes the sector bound condition (A.2) and thereby an upper bound on the slope of f () around the origin.Moreover, the conditions in Theorem 1 can be checked on the basis of measurement data and the pre-designed function f () as shown in the following application on the CPA.

Repetitive control for constant velocity
The data set   that is used to train the GP in Section 4.1 contains observations of the disturbance which are obtained through an a priori performed RC experiment at constant velocity.The RC approach in [9] with a GP-based buffer is used, as it can easily be tuned to be robust for small period variations and does not impose restrictions on the buffer size (i.e. it does not require the periodicity to be an integer amount of samples); moreover, even in the presence of modeling errors, RC can asymptotically learn the periodic part of the error.
The repetitive controller  in the setting in Fig. 5 is shown in Fig. 14 and is given by where   =    is a GP-based buffer that is a FIR filter,  is a delay line of size , and   ∈ R are coefficients that are computed as follows with and   is the sample time.The same periodic kernel function ( 14) is used, where  is the expected time-domain period.
To incorporate period-time robustness, e.g., if the velocity varies slightly, a larger buffer size  can be used in combination with a locally-periodic kernel, for details, see [9].Moreover,  is a stable learning filter to ensure stability.Remark 6. Conceptually, alternative RC approaches such as [15] that are robust to period-time variations can also be used for this step, however, the presented GP-based approach yields more design freedom.Moreover, the buffer size  in the presented approach does not have to be exactly equal to the number of samples in a single period, as the period is provided in the kernel function and can be any real number.Furthermore, the presented approach does not require an explicit robustness filter , since robustness for e.g.modeling errors in  is covered by tuning the smoothness  in the kernel (14), as explained in [9].Theorem 2. The system in Fig. 5 with repetitive controller  in Fig. 14 and unknown non-linearity d() that is sector bounded as in Assumption 1 is asymptotically stable if the following conditions hold, for all  ∈ [0, ], with  R = ( +  ) −1 the modifying sensitivity.Modifying sensitivity function  R with  designed for the CPA with rotational velocity 0.14 rad/s, such that the disturbance fundamental period equals  = 2 0.14⋅131 = 0.343 s.The periodic kernel has equal period, such that  suppresses disturbances at 1 0.343 ≈ 2.9 Hz and its harmonics.
The proof of Theorem 2 is given in the appendix.The condition in Theorem 2 can also be checked a priori on the basis of a measured frequency response function of  .Moreover, by designing the learning filter  in (19) as the stability condition in ( 21) is satisfied.Many approaches exist to invert the process sensitivity  , e.g., using stable inversion or zerophase-error-tracking-control (ZPETC).Note that this choice of  is naturally in agreement with (7), i.e. its output    directly approximates the periodic disturbance that needs to be attenuated by the compensation f .As such the learning filter , being an approximate inverse of Fig. 7, incorporates the dynamic characteristics of the closed loop, including the dynamics of the CPA itself, in the presented approach.

Remark 7.
If   contains non-minimum phase zeros or delays, then the inverse can be non-causal, i.e., in the case of ZPETC  =  −    with   ∈ N the number of samples preview and   the causal part of .If  is non-causal then GP-based RC is also applicable, for implementation details see [9].
To show the attenuation properties of  in the setting in Fig. 14, the disturbance induced error   can be written as where   represents the closed-loop suppression of  in addition to the feedback controller.Consider the following example where  R is shown for the CPA.

Example 2.
A repetitive controller  is designed for the CPA that rotates with a constant velocity.The periodic kernel ( 14) is used with the period  seconds that corresponds with the time-domain period of the error, e.g., for 0.14 [rad/s] the period equals  = 2 0.14⋅131 = 0.343.The resulting modifying sensitivity is shown in Fig. 15.This shows that  has high disturbance attenuation properties at 1  ≈ 2.9 Hz and its harmonics corresponding with the period of the torque ripple at this specific velocity, in-between these frequencies the repetitive controller can slightly amplify disturbances.
Example 2 shows that indeed  R is small at frequencies where the disturbance is expected and corresponds with the kernel period  .This is used to asymptotically reject the disturbance  for constant rotational velocity, even if the model P  is non-perfect, resulting in the signal    that equals , i.e., a time-domain model of the disturbance.Together with  during the same experiment, this gives the data set   for GP regression.

Procedure
The following procedure summarizes implementation of the twostep approach that is introduced in this paper.

Procedure 1
Step 1) Constant velocity learning: (a) Identify a model P  of   and obtain  in (23).(b) Compute   with Eq. ( 20), with the period in  equal to  = 2 ⋅131 for the CPA, where  is the velocity in rad/s.(c) Verify stability with Theorem 2. (d) Perform an RC experiment at constant velocity  and collect data   .
Step 2) GP regression and compensation with f : (a) Compute  with (12) and data   (  , d ) obtained with step 1d, and a set of hyperparameters where  is the spatial period,  a given smoothness and   the variation around the mean.(b) Verify stability with Theorem 1. (c) Apply (13) online, i.e., at each sample , to compensate the disturbance for any given ().

Remark 8.
Multiple RC experiments at different velocities can be combined in   to compute  in (12).This allows to average over nonrepeating disturbances that are present in   , i.e., similar to employing a learning gain in traditional RC [23].However, taking more data can be time consuming, hence to demonstrate that our proposed method does not require such averaging techniques, only a single velocity is used to experimentally obtain   in the next

Application to the CPA
In this section, the experimental results on the CPA are presented.First, the results of applying GP-based RC to the CPA with constant velocity are shown.Second, the GP-based spatial compensation function f that is computed on the basis of the time-domain RC model is shown.Third, the resulting performance for other constant and varying velocities are presented.

RC results at constant velocity
The GP-based repetitive controller  is designed for 3 different velocities to, (i) experimentally validate that it rejects the disturbance for constant velocities, and (ii) generate training data for GP regression.Each RC is designed with the periodic kernel function (14) where the period  is modified correspondingly as in Step 2 of Procedure 4.5, and the buffer size  is such that one period easily fits in the buffer.
The resulting cumulative amplitude spectra (CAS) are shown in Fig. 17   ), 0.1 rad/s ( ), and 0.12 rad/s( ), for feedback (dotted), GP RC (solid) and the spatial GP compensation (dashed).commutation and a simple feedback controller; the solid lines show the obtained performance after convergence of the repetitive controllers.This shows that the repetitive controller  removes the repeating parts of the error that correspond with 1 tooth −1 and its harmonics for constant velocity.Note that the existing commutation already performs quite well, with errors of only 30 μrad RMS, but the GP-RC still manages to improve this with about a factor 3.

Learned GP compensation and stability
From the GP-based RC experiment at a single velocity of 0.1 rad/s the data set   is generated, where d =    contains 279 data points.Note that this velocity is considered to be around the upperlimit of what can be expected in the CPA application, and can thus be interpreted as a worst case.A GP-fit is made based on these data points with the hyperparameters: smoothness  = 0.4, the period equal to the tooth pitch  = 2 131 ,  2  = 0.001 the approximate amplitude around the mean, and the estimated noise variance  2  = 6 ⋅ 10 −4 such that the confidence bound corresponds with the variance on the data points.The resulting GP-based compensation function that is periodic with a single tooth pitch  is shown in Fig. 18, including the 99.7% confidence bound.
Stability is assessed with condition (18) in Theorem 1. First,  in ( 16) is determined in Fig. 16 yielding that 1∕ = 0.07 and hence  ≈ 14.3.Second, Fig. 10 shows that − 1 =  2 =  = 1 in Assumption 1 is a valid assumption for the unknown non-linear function d().Third, the GP-based compensation function f shown in Fig. 18 satisfies the sector bound condition in (17) for  = 0.5.As a result,  +  = 1.5 ≪  which implies that (18) in Theorem 1 is satisfied and the system is closed-loop stable.

Remark 9. The RC output 𝑑 𝑐
contains noise that is potentially amplified by the learning filter  at high frequencies.Although the GP regression is not sensitive to this noise due to the smoothness parameter , for convenience and visualization reasons (i.e. to keep the spread on the red dots in Fig. 18 limited) the signal    is first pre-processed using an anti-causal zero-phase low-pass filter with a cut-off frequency of 1000 Hz (close to the Nyquist frequency) to remove some of the noise before GP regression.

Results
The learned spatial compensation function is employed at different velocities to compensate for the repeating part of the error.The dashed lines in Fig. 17 show the performance with the GP-based compensation, i.e. with a fixed f () in the implementation of Fig. 4.This clearly shows that the periodic component is almost completely suppressed as desired, although the performance is slightly worse compared to RC for a specific rotational velocity.The RMS errors for each velocity  ), which is trained with data that is obtained with the RC experiment at 0.1 rad/s.The sector bound condition (17) with  = 0.5 is shown in ( ).
Fig. 19.Experiment with a varying velocity in ( ) (scaled), for the state-of-the-art feedback controller ( ) and with the learned GP-based compensation function in ( ).

Table 1
Root Mean Squared (RMS) error in micro-radians and the factor performance improvement with respect to feedback control for the three constant velocities.
Velocity and control strategy are summarized in Table 1, yielding performance improvement up to a factor 2.4 with f .
In addition, a measurement is carried out where the CPA rotates with a varying velocity for which RC is not applicable.The result is shown in Fig. 19, where ( ) shows the error with feedback control and ( ) is the error with the learned spatial compensation.This shows that independently of the velocity, the periodic component in the error that repeats with each tooth is significantly attenuated.The overall RMS value of the error is improved by 60%.Moreover, a substantial part of the remaining error can be attributed to reference-induced errors during acceleration and deceleration which is not compensated for by the present approach.

Conclusion
Automatic learning of a static compensation function for torque ripple disturbances at arbitrary rotational velocity is successfully derived and demonstrated in this paper.By employing a single repetitive control experiment at constant velocity, a time-domain model of the disturbance is obtained.Consequently, a Gaussian process is used to learn, on the basis of discrete time-domain data, a spatially periodic and continuous function.The learned function can be used for compensation at arbitrary rotational velocities where the torque ripple is not periodic.Moreover, stability checks are provided using the circle criterion, taking into account the non-linearity induced by the obtained commutation update function.The method is experimentally validated on the coarse pointing assembly (CPA), resulting in a user-friendly automated routine for an average performance improvement of a factor 2 on the CPA at varying velocity, which could prove to be enabling for FSOC applications.This approach can thus successfully be employed during integration of future CPA production series, saving labor-intense testing and calibration steps, and thereby contributing to the costeffectiveness of the CPA and its applicability in commercial space applications, such as FSOC.Future research focuses on direct learning or updating of the individual commutation functions on the basis of data.

Declaration of competing interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Fig. 1 .
Fig. 1.Picture of the single-axis coarse pointing assembly (CPA) prototype, developed and tested at the Netherlands Organisation of Applied Scientific Research (TNO).

Fig. 5 .Fig. 6 .
Fig. 5.Step 1 of the developed approach: the repetitive controller  is employed to learn the time-domain model    of the torque ripple  with constant velocity.The data    is consequently used to learn f () for compensation at arbitrary velocity in Fig.4.

Fig. 7 .
Fig. 7. Measured frequency response function (FRF) () of the CPA setup with a model fit ().At frequencies  < 4 Hz the friction in the CPA bearings leads to a measurement error.

Fig. 8 .
Fig. 8. Measurement of the error as a function of time for different velocities 0.08 rad/s (), 0.1 rad/s ( ), 0.12 rad/s ( ) and 0.14 rad/s ( ), which are all periodic but with different period.

Fig. 9 .
Fig.9.Representation of the same error in Fig.8, but filtered with an inverse model of   and plotted as a function of the position [rad].Now all measurements d() can be observed to have the same periodicity.Moreover, the zoomed inset shows that the data is sampled differently at each velocity.

Fig. 11 .
Fig. 11.Example 1: Gaussian process regression is performed with 10 random samples ( )[mred] denoted by ( (), ) taken from the true periodic function d() ().The resulting GP  () has posterior mean ( ) and posterior variance ( ), which is a good estimate of d() also in-between training points by selecting appropriate smooth and periodic prior knowledge.

Fig. 13 .
Fig. 13.Standard feedback interconnection with the linear system  and a non-linear memoryless function  ().

N
.Mooren et al.

Fig. 14 .
Fig. 14.Implementation of the repetitive controller  with Gaussian-process buffer   and learning filter .

Fig. 15 .
Fig. 15.Modifying sensitivity function  R with  designed for the CPA with rotational velocity 0.14 rad/s, such that the disturbance fundamental period equals  = 2 0.14⋅131 = 0.343 s.The periodic kernel has equal period, such that  suppresses disturbances at

Fig. 16 .
Fig. 16.Nyquist plot of the process sensitivity   that is enclosed in a circle (−, ) around the origin with radius 1∕ = 0.07.
as a function of the spatial frequency in tooth −1 .The dotted lines show the current state-of-the-art performance with the existing

N
.Mooren et al.

Fig. 18 .
Fig. 18.Learned GP-based compensation function f with 99.7% confidence bound (), which is trained with data that is obtained with the RC experiment at 0.1 rad/s.The sector bound condition(17) with  = 0.5 is shown in ().

Proof of Theorem 2 .
The proof consists of two part, first,(21) is derived in [9,Theorem 2]  for stability of the linear part in Fig.5, i.e., for d() = 0, second, it remains to show that(22) implies stability with d() ≠ 0 under Assumption 1 with Lemma 1.The setting in Fig.5is reformulated in the standard feedback interconnection in Fig.13, yielding that =  (1 +  ( + )) −1 =   R ,and  () = d().Using Lemma 1 and the sector bound condition in Assumption 1 the interconnection is stable if the Nyquist plot of  resides inside the disk (, −).This is equivalent to(22) which completes the proof.Noud Mooren received the B.Sc. degree from Fontys University of Applied Sciences, and the M.Sc.degree (cum laude) and Ph.D. degree (2022) from the Eindhoven University of Technology, Eindhoven, The Netherlands.He is currently a System Engineer at Sioux Technologies, The Netherlands.He is a recipient of the 2020 AMC Best Paper Award.His research interest is in the field of motion control and learning control techniques for applications in mechatronic systems.Max van Meer received the M.Sc.degree (cum laude) in Mechanical Engineering from the Eindhoven University of Technology, Eindhoven, The Netherlands in 2021.He is currently a Ph.D. candidate at the Eindhoven University of Technology in the Department of Mechanical Engineering.His research interests include learning control, real-time systems and machine learning for motion control.Gert Witvoet received the M.Sc.degree (cum laude) and Ph.D. degree from the Eindhoven University of Technology, Eindhoven, The Netherlands.He is a senior dynamics and control specialist at the Netherlands Organisation for Applied Scientific Research (TNO), Delft, The Netherlands, and a part-time associate professor with the Mechanical Engineering department at the Eindhoven University of Technology.He is a recipient of the Unilever Research Prize, and several best Master teacher awards.His research interests are in the application of advanced motion and learning control techniques on high-tech instruments and equipment, with applications in the semiconductor, astronomy, space markets.Tom Oomen received the M.Sc.degree (cum laude) and Ph.D. degree from the Eindhoven University of Technology, Eindhoven, The Netherlands.He is currently a professor with the Department of Mechanical Engineering at the Eindhoven University of Technology.He is also a part-time full professor with the Delft University of Technology.He held visiting positions at KTH, Stockholm, Sweden, and at The University of Newcastle, Australia.He is a recipient of the 7th Grand Nagamori Award, the Corus Young Talent Graduation Award, the IFAC 2019 TC 4.2 Mechatronics Young Research Award, the 2015 IEEE Transactions on Control Systems Technology Outstanding Paper Award, the 2017 IFAC Mechatronics Best Paper Award, the 2019 IEEJ Journal of Industry Applications Best Paper Award, and recipient of a Veni and Vidi personal grant.He is Associate Editor of the IEEE Control Systems Letters (L-CSS), IFAC Mechatronics, and IEEE Transactions on Control Systems Technology.He is a member of the Eindhoven Young Academy of Engineering.His research interests are in the field of data-driven modeling, learning, and control, with applications in precision mechatronics.