Implementation of a robust data-driven control approach for an ommi-directional mobile manipulator based on koopman operator

The dynamic modeling and control of omni-directional mobile manipulators (OMM) are challenging since they are highly nonlinear, strongly coupled, and multi-input multi-output uncertainty systems. Koopman operator theory can provide an explicit linear dynamic model for OMM, only based on input-output data. However, the derived dynamic model usually has modeling errors and cannot capture external unknown disturbances. In this paper, a robust data-driven control scheme is designed and implemented for an OMM, based on Koopman operator and a disturbance observer. Firstly, a data-driven Koopman model of OMM is constructed, solely using the collected input-output data. Then a disturbance observer is designed to online estimate the inherent modeling error of the Koopman model as well as external disturbances. The controller is designed by combining linear MPC with feedback compensation of the estimated disturbances. Finally, both simulations and experimental tests are conducted to verify the effectiveness and robustness of the proposed control scheme.


Introduction
Mobile manipulators are composed of a mobile platform and at least one manipulator fixed on it. Compared with fixed-base manipulators, mobile manipulators have much larger workspace. 1 Specially, for omnidirectional mobile manipulators (OMMs), the omnidirectional mobile platform can simultaneously and independently carry out translational and rotational motion. Therefore, OMMs are suitable for applications with confined spaces, such as factories. Meanwhile, OMM is a highly nonlinear, strongly coupled, and multi-input multi-output uncertainty system.
In the literature, trajectory tracking control of OMMs is always a challenging problem. The dynamic analysis and control design were given by Watanabe et al. 2 for an OMM with three lateral orthogonal wheel assemblies, wherein computed torque control and resolved acceleration control were used. Viet et al. 3 has proposed a tracking control method for a three-wheeled OMM considering disturbance and friction, in which sliding mode controller was employed. A hybrid control strategy for trajectory-tracking control of wheeled mobile robotic manipulators was proposed by Shafei et al. 4 in the presence of model uncertainties and external disturbances. A robust neural network-based sliding mode controller was designed by Xu et al. 5 for trajectory tracking problem for a redundantly actuated OMM in the presence of uncertainties and disturbances. Li et al. 6 presented a non-singular terminal 1 School of Mechanical Engineering, Hebei University of Technology, Tianjin, China 2 School of Electrical and Information Engineering, Tianjin University, Tianjin, China 3 School of Transportation Science and Engineering, Civil Aviation University of China, Tianjin, China sliding mode control method for an OMM based on extended state observer, wherein the nominal dynamic model is used. An experimental mobile manipulator assembled on an omnidirectional platform with a dualarm torso with a human-like structure was presented by Sua´rez et al. 7 A controller based on constrained optimization was developed for tracking problems of mobile manipulation by Avanzini et al. 8 However, for the research works mentioned above, the controller design completely or partially depends on the nominal dynamic model. Note that the dynamic modeling for OMMs is complicated and time-consuming, due to high nonlinearity, strong coupling, and complex uncertainty.
Koopman operator theory offers a way that allows one to transform a nonlinear dynamical system into an infinite-dimensional linear system, solely using inputoutput data of the dynamical system. 9,10 In other words, the Koopman methodology is capable of discovering the underlying dynamics and control of a given system from data alone. More specifically, the basic idea is to lift of the state-space to a higher dimensional space, where the evolution of this lifted state is approximately linear. This makes it an attractive data-driven control architecture for OMM control design. Koopman operator theory has been applied in many fields, for example, fluid analysis, 11 robotics, 12-14 power system, 15 etc.
Since the Koopman operator is an infinitedimensional operator, it makes practical use prohibitive. In recent works, dynamic mode decomposition (DMD) 16 and extended dynamic mode decomposition (EDMD) 17 are popular methods to obtain finitedimensional linear models. This linear representation allows one to control the nonlinear system using tools from linear control methods, for example, linear model predictive control (MPC), Linear Quadratic Regulator (LQR). However, three main aspects influence the modeling accuracy of the Koopman operator based linear representation (Koopman model), that is, dimensionality, basis functions and data quality. Unless a finite-dimensional invariant subspace exists, 14 the Koopman operator is infinite-dimensional. Thus, finite-dimensional approximation usually introduces modeling error. Moreover, there has not been a systematic way of choosing the Koopman basis functions for general nonlinear systems. Lastly, the quality of the collected data significantly influences the modeling error. Also, the Koopman model cannot capture unknown external disturbances during system operation.
Disturbance observer is one of the most popular robust control tools due to its simplicity, flexibility, and efficacy. 18 The basic idea is to estimate both internal (i.e. modeling errors) and external disturbances, and to compensate them in the control signals. Several linear and nonlinear observers have been independently developed in the literature, such as perturbation observer, 19 equivalent input disturbance (EID) estimator, 20 uncertainty and disturbance estimator (UDE), 21 generalized proportional integral observer (GPIO), 22 extended state observer (ESO). 23 Disturbance observers have been widely applied in various fields, such as robotics, [24][25][26] to name a few.
In this paper, a robust data-driven control scheme is designed and implemented for an OMM, based on Koopman operator and disturbance observer. Firstly, a data-driven Koopman model of OMM was constructed, solely using the collected input-output data. Then a disturbance observer is designed to online estimate the inherent modeling error of the Koopman model as well as external disturbances. The controller is designed by combining linear MPC with feedback compensation of the estimated total disturbances. Finally, both simulations and experimental tests are conducted to verify the effectiveness and robustness of the proposed control scheme.
Finite-dimensional Koopman representations cannot well capture nonlinear effects inherent in many robotic systems. The main contribution of this work is that a robust data-driven MPC scheme is proposed by combining Koopman operator and disturbance observer, without using any model information. Extensive simulations and experimental tests are carried out to verify the effectiveness and robustness of the proposed control scheme, against typical Koopman operator based MPC.
This paper is organized as follows. Firstly, Koopman operator-based dynamic modeling is presented. Then, the proposed control scheme is developed. Next, the simulation and experiment are introduced respectively. Finally, the conclusion is drawn.

Koopman operator theory
Consider a discrete uncontrolled dynamical system: where, x(k) 2 M is the n-dimensional system state on a smooth manifold M, and M & R N is the state space. k is the discrete time step. f is the function of state evolution in state space. The Koopman operator theory provides a method to transform a nonlinear dynamic system into an infinitedimensional linear system. The Koopman operator K : F ! F is an infinite-dimensional linear operator, which advances the evolution of observables C 2 F. F is an invariant function space (usually called observable space) under the action of Koopman operator. Thus, where C(x) = c 1 (x), c 2 (x), . . . , c N (x) ½ T , c i : M ! R, (i = 1 . . . N) are user-specified (typically nonlinear) lifting functions. It is important that the operator completely captures all the properties of the underlying dynamical system, as long as the space of the observation F contains the components of the state x(k).
Combining equations (1) and (2), it has In this way, Koopman operator represents a nonlinear system by lifting the state-space to an infinitedimensional space of observables. Note that (1) is a uncontrolled system, several works have been proposed to extend the Koopman operator to controlled systems. [27][28][29][30] Data-driven finite-dimensional approximation to Koopman operator Since the Koopman operator is infinite-dimension, obtaining finite-dimensional approximations are necessary in practical applications. Extended dynamic mode decomposition (EDMD) is an effective method to obtain the finite-dimensional approximation of the Koopman operator. Specially, EDMD is extended to the controlled system to construct a matrix K, as the finite-dimensional approximation of the Koopman operator K. 30 In the following, we directly give the results from Milan Korda. Consider a discrete-time nonlinear controlled dynamical system: where, u(k) & R m is the control input. For simplicity, one can choose C(x(k), u(k)) = ½C T x (x(k)), C T u (u(k)). Since there is no need to predict the future control input, choose C u (u(k)) = u(k). The lifted states are defined as: Then the constructed Koopman model is in the following discrete linear form as: where z(k) 2 R N is the lifted state, N is the lifted dimensionality,x(k) is an estimate of the original nonlinear system state x(k), and The matrices A, B, and C in (6) can be obtained by: The data set formed by the system states and control input of the original nonlinear system is defined as follows: which satisfy x(k + 1) = f(x(k), u(k)). To obtain the matrixs A, B, C, the collected data are lifted as: The numerical solutions of the matrices A, B, C are obtained by substituting the lifted data into (7) and (8): So far, the data-driven Koopman model of the original nonlinear system (4) is obtained as (6) and (12).

Building a linear model based on Koopman operator
The OMM prototype consists of a three-wheeled omnidirectional mobile platform and a parallelogram manipulator. The structure of the OMM is shown in Figure 1. Define the state vector of OMM at k time as is the position and posture of OMM, where x(k), y(k) and u(k) represents the x-coordinate, y-coordinate, and orientation angle of the mobile platform in the world coordinate system, respectively, while u 1 (k) and u 2 (k) are the two joint angles of the manipulator. _ q(k) = q(k)Àq(kÀ1) Dt 2 R 5 is the velocity state of the OMM, Dt is the sampling time. u(k) = u 1 (k), u 2 (k), u 3 (k), u 4 (k), u 5 (k) ½ T 2 R 5 is the control input vector consisting of the voltages of five motors.
In real applications, when the control input sequence u(k) is applied to the OMM, the state of OMM x(k) can then be obtained. By collecting the input/output data, the Koopman model for the OMM can be obtained in the form of (6).

Control system design
As mentioned before, inherent modeling errors are between the Koopman model and the robot, including the unknown external disturbances. In this section, a robust data-driven MPC framework is proposed for the OMM, wherein a disturbance observer is employed to estimated the modeling errors of the Koopman model.

Design of disturbance observer
The Koopman model for OMM with uncertainty can be written as: where A and B are the matrix solved by equation (12), w 2 R 531 is the modeling errors between the Koopman model and the robot. C is the first five rows of C. Actually, many disturbance observers in the literature can be selected to estimate the modeling errors. In this paper, the disturbance observer proposed by Yang et al. 31 is employed, and the discrete form is designed as: where T s is the sampling period, b w(k) is the estimated value of the disturbance w(k), b(k) is the state variable of the disturbance observer, L is the gain of the disturbance observer, p(k) is the function to be designed related to the system states and is simply set as p(k) = ry(k), r is the coefficient vector. Actually, the selection of disturbance observer is not limited to the proposed by Yang et al., 31 and many disturbance observers can be selected in the proposed control scheme, such as UDE, 21 GPIO, 22 and ESO. 23

Controller design
The designed controller u(k) includes two parts: where u d (k) represents the control efforts for disturbance compensation, and u t (k) denotes the control efforts for the trajectory tracking control. u d (k) is designed as: Combining (13) and (16), the system is reduced as: where u t (k) can be designed under MPC framework. The prediction equation of the future states can be described as: The equation (17) can be written compactly as follows: wherein: The reference trajectory in the prediction domain is: The goal of controller design is to minimize the following performance index functions: where Q and R are positive diagonal matrices. The above formula can be transformed as follows: Since the first term on the right side of the above formula has no relation with u t (k), thus: where Finally, the designed controller can be obtained as: where, u t (k) is solved by (26).

Remark 1:
In the literature, many disturbance observers have been proposed in the past 30 years. Actually, the estimation performance of all disturbance observers depends on the modeling accuracy of the plant. In other words, if the plant model is accurate, a disturbance observer can well estimate the disturbances. In our manuscript, the internal modeling errors of Koopman model (e.g. parameter uncertainties) and external unknown disturbances (such as payload changes) are viewed as lumped disturbances. Therefore, the estimation performance of modeling errors for a disturbance observer depends on the model accuracy of the obtained Koopman model.

Simulation
In this section, effectiveness of the proposed control scheme is compared with Koopman model based MPC (K-MPC) via Matlab. Firstly, a Koopman model is derived from input/output data. Then two typical reference trajectories are selected to compare the two control schemes.

Simulation setup
For data collection in the Koopman modeling, 47 randomly generated trajectories are selected and each trajectory runs for 5s, that is, each trajectory generates 500 data points (sampling time is 0.01 s). Thus, the total number of data pairs is 23,500. The dimension of the lifting function is set as 50 dimensions, wherein the first 10 dimensions are the position and speed of the robot. The control signals for the mobile platform are randomly generated and uniformly distributed motor voltages between À20V and 20V. The control signals for the manipulator are randomly generated and uniformly distributed motor voltages between À8V and 8V. The basis functions are selected as C Since both control schemes are designed based on MPC, the control parameters for MPC are set as the same for both control schemes: Q a = 0:1I 10310 , Q N p = 100I 10310 , R c = 1310 À6 I 535 , N p = N c = 5. The parameters for the disturbance observer are set as: p(k) = 0:001x(k), 0:001y(k), 0:001u(k), 0:01u 1 (k), 0:01u 2 (k) ½ T , L = diag(50, 50, 50, 10, 10). The sampling period of the control system is 0:01s.
Two typical reference trajectories are selected in the simulations. For the first trajectory, the mobile platform tracks a circle with a radius of 0:8m, and the joint angles of the manipulator respectively track two sinusoidal trajectories. The initial position and posture of the robot were set as q 0 = ½0:8 m, 0 m, 0 rad, 0 rad, 0 rad T . And the simulation time is 60s. In order to verify the robustness of the proposed control scheme against external disturbances, an external step disturbance d 1 = [2000, 2000, 500, 50, 50] T was added within 5-15s and an external time-varying disturbance d 2 = [2000sin(t), 2000cos(t), 1000sin(t), 50sin(t), 50cos(t)] T was added within 40-50s. The first reference trajectory is as follows: In the second trajectory, the mobile platform tracks a square trajectory, and the joint angles of the manipulator respectively track two sinusoidal trajectories. The initial position of the robot is as q 0 = ½0m, 0m, 0rad, 0rad, 0rad T in the world coordinate system, and the simulation time is 40s. Similarly, an external disturbance d 3 = [1000, 1000, 500, 50, 50] T was added within 10-15s and d 4 = [1000sin(t), 1000cos(t), 1000sin(t), 50sin(t), 50cos(t)] T was added within 25-30s, respectively. The second reference trajectory is as follows: x d m ½ = 0:1t In order to quantitatively compare the control performance of the two control algorithms, this paper uses the absolute error integral (IAE) as the evaluation index, which is defined as follows: Simulation results The simulation results are shown in Figures 2 and 3, respectively. The IAE of simulation results is shown in Tables 1 and 2, respectively. It can be seen that the proposed control scheme can achieve much better performance than Koopman-based MPC, especially when the external disturbances were added. More specifically, the control performance of the proposed control scheme keeps almost unchanged and shows strong robustness against external disturbances. This is because the external disturbances can be online estimated and compensated in the proposed control scheme. Figures 2(d) and 3(d) show the disturbance estimation performance.

Experiment
In this section, two experimental scenarios are carried out. In the first experimental scenario, the proposed control scheme is compared with Koopman model based MPC scheme, to verify the effectiveness in terms of compensation of modeling error. To further compare the robustness of the two control schemes, a payload is added at the end of the manipulator in the second experimental scenario. Figure 4 shows the robot prototype. The experimental setup is shown in Figure 5. MATLAB is used on a personal computer (Intel(R) Core(TM) i7-4770 CPU@3.40 GHz) to generate the control input signal (motor voltages). The control signal is sent to the control board on the OMM via a WIFI module. The position and posture feedback in this paper is realized by OptiTrack real time tracking system. As show in Figure 4, four markers are fixed on the top of the OMM mobile platform, and three markers are fixed on the manipulator.

Implementation
In the experiments, a total of 57 groups of data were collected, in which 50 groups were used to calculate the Koopman model, and the last 7 groups were used to test the approximation accuracy of the Koopman model. Each group contains 200 sampling points and the sampling time is 0.025 s. That is, the final data set contains 11,400 data points. The basis function is the same as that in the simulations. The second reference trajectory used in the simulations was employed in the experimental tests. The control parameters for both control schemes were set as: (3,5,5,5,5) Q Np = diag(265, 300, 320, 480, 480) R c = 10 À5 diag (8,8,8,5,5) L = diag(1, 1, 1, 0:05, 0:05) p(k) = 0:001½x(k), y(k), u(k), u 1 (k), u 2 (k) T

Experimental scenarios
In the first experimental scenario, the proposed control scheme is compared with Koopman model based MPC scheme without any external payload disturbances, to demonstrate the effectiveness in compensating modeling errors. Experimental results are shown in Figure 6.
It is shown that the proposed control scheme can achieve better control performance than Koopman model based MPC scheme, especially for the mobile platform of OMM. Actually, it is found in our simulations and experiments that the Koopman model can well predict the robot states, if the OMM moves without rotational motion. However, when the OMM moves with rotational motion, the Koopman model results in large modeling errors due to couplings in the dynamics. Moreover, the model accuracy of Koopman model for any systems depends on the selection of basis functions, dimension and data distribution. Therefore, the modeling error of the obtained Koopman model results from both internal uncertainties and external disturbances.
On the other hand, it is known that the performance of MPC scheme depends on the modeling accuracy. However, the disturbance observer can well estimate the modeling errors and compensate them in the control signal. Therefore, the control performance of the proposed control scheme can be guaranteed. Figure  6(d) show the estimated disturbances. Table 3 shows the IAE of experimental results.
In the second experimental scenario, a payload (2.53 kg) is added at the end of the manipulator, as shown in Figure 7. To reduce the shaking of the manipulator in experiments, the reference angle of u 1d was set as 0 rad. The experimental results are shown in Figure  8. Since the payload was added at the end of the manipulator, the payload disturbance is mainly introduced to the dynamics of manipulator (i.e. u 1 and u 2 ). As shown in Figure 8(b), distinct performance improvement is achieved by the proposed control scheme, due to the effective compensation of the external payload. Note that the data collection in the Koopman modeling does not include the case with external payload. Therefore, the derived Koopman model cannot capture the payload information and the control performance cannot be guaranteed against external disturbances. Figure  8(d) show the estimated disturbances. Table 4 shows the IAE of experimental results.
The dimension selection about Koopman model in terms of modeling accuracy is unclear, mainly depending on trial-and-error. Actually, it is found in our simulations that the higher dimension does not mean higher modeling accuracy. Moreover, there has not been a systematic way of choosing the Koopman basis functions for a given nonlinear systems. But the basis functions of Koopman operator are quite important in improving the modeling accuracy of Koopman model. The horizon P in (7) means the number of the collected data pairs. In our experiments, it is found that P should be relative larger. However, the model accuracy of Koopman model does not improve as the increase of the horizon P. The collected data should be rich enough to include the complex nonlinear dynamics. Therefore, the control input and initial states for the data collection are random signals with uniform distributions in our simulations and experiments.

Conclusion
In this paper, a robust data-driven control scheme has been designed and implemented for an OMM, based on Koopman operator and a disturbance observer.   Firstly, a high dimensional Koopman model has been constructed for the OMM, solely using the collected input-output data from experiments. Then a disturbance observer has been selected to online estimate the modeling error as well as external disturbances. The controller has been designed by combining linear MPC with feedback compensation of the estimated disturbances. Finally, both simulations and experimental tests demonstrate that the proposed control scheme    achieves much better control performance, compared with Koopman model based MPC scheme.

Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.

Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.