Design Hybrid Iterative Learning Controller for Directly Driving the Wheels of Mobile Platform against Uncertain Parameters and Initial Errors

: In this paper, we develop a hybrid iterative learning controller (HILC) for a non-holonomic wheeled mobile platform to achieve trajectory tracking with actual complex constraints, such as physical constraints, uncertain parameters, and initial errors. Unlike the traditional iterative learning controller (ILC), the control variable selects the rotation speed of two driving wheels instead of the forward speed and the rotation speed. The hybrid controller considers the physical constraints of the robot’s motors and can effectively handle the uncertain parameters and initial errors of the system. Without the initial errors, the hybrid controller can improve the convergence speed for trajectory tracking by adding other types of error signals; otherwise, the hybrid controller achieves trajectory tracking by designing a signal compensation for the initial errors. Then, the effectiveness of the proposed hybrid controller is proven by the relationship between the input, output, and status signals. Finally, the simulations demonstrate that the proposed hybrid iterative learning controller effectively tracked various trajectories by directly controlling the two driving wheels under various constraints. Furthermore, the results show that the controller did not signiﬁcantly depend on the system’s structural parameters.


Introduction
Due to the simple structure design and strong movement ability, mobile platforms have been extensively applied in various fields, including agricultural production [1], environmental detection [2], and industrial production [3]. Due to the differences in the number of motors and the structure shape, differential mobile robots controlled by two driving wheels have become the mainstream mobile robot. In the movement of the mobile platform, there are two actual input control variables: the speeds of the driving wheels on the left side and the right side [4].
However, the actual positioning of the mobile platform requires three parameters: the position of the xy plane and the rotation angle of the z axis [5]. Therefore, a differential mobile robot with two driving wheels is a typical non-holonomic constraint system [6]. In solving various problems associated with this mobile robot, trajectory tracking is an important research problem with a high application value in many fields.
Compared with the kinematic controller, the dynamic controller has more uncertain parameters, a more complex construction, and worse adaptability to different environments. The kinematic controller also needs to be designed before the dynamic controller can be designed for realizing trajectory tracking. However, the design of most kinematic controllers is based on the structural parameters of the mobile robot. Therefore, designing a simple kinematic controller and reducing the disturbance due to uncertain parameters remains a significant research challenge.
In various kinematics controllers, an iterative learning controller can ignore the robot's structure parameters and realizes high-precision trajectory tracking by continuously adjusting the input control signals and optimizing the output result. Furthermore, iterative learning controllers mainly focus on specific task requirements and movement characteristics instead of the basic parameters of the system.
As an advanced control theory, iterative learning controllers have been widely applied to various robots, such as a parallel Delta robot [24], manipulator robot [25], mobile platform, and self-balancing mobile robot [26]. Additionally, iterative learning controllers have demonstrated effectiveness in solving many research problems, such as trajectory tracking problems [27,28], and trajectory planning problems [29,30]. Currently, the typical iterative learning controllers mainly include the P-type, PD-type, and PID-type [31,32]. In addition, iterative learning controllers have widely used in solving the trajectory tracking problems of mobile platforms.
The authors in [33] first applied the P-type iterative learning controller to realize the sine-type trajectory tracking of a mobile platform. Another article [34] revised the design of P-type iterative control into the typical PD-type control design for realizing rectangular trajectory tracking. Chong [35] proposed different error signals to optimize the P-type iterative learning controller for completing various types of trajectory tracking control with mobile platforms. Then, researchers [36] added the PID coefficient in the iterative learning controller to improve the effectiveness of arc-shaped trajectory tracking. At the same time, researchers [37] changed the forgetting factor to reduce the correction of the error parameters at the initial moment of each iteration process.
Due to the many limitations not considered in the actual modeling and controller design, these iterative learning controllers produced in the above studies are not fully suitable for trajectory tracking with mobile platforms. These shortcomings can be summarized as follows: (1) The discrete kinematics model does not conform to the actual physical model of the mobile robot. The gravity center may not wholly coincide with the midpoint of the driving wheels in the actual mobile robot. Therefore, the previous modeling methods and iterative learning controllers based on the gravity center are different from the actual model and control of the mobile platform. (2) The output variables of the iterative controller cannot directly control the motion of the mobile platform. The actual control variable of the mobile platform is the rotation speed of the driving wheels, whereas the output variables in these literatures are the forward speed and rotation speed of the mobile robot. The output variables produced by the above controllers need to be converted into the rotation speed of the driving wheels. (3) The solution speed may not meet the actual physical constraints of the motor. Since the selected control parameters are the mobile robot's forward speed and rotation speed in these literatures, they cannot be effectively limited by the driving wheels. Therefore, the solution in the above-described studies cannot be converted into the actual rotation speed of two wheels considering the actual physical constraints. (4) The above-mentioned studies did not analyze the influence of the various parameters of the iterative controller on the trajectory tracking task of the mobile robot. These researchers only analyzed and verified the effectiveness of the designed controller, but did not study the influence of the controller parameters, such as the parameter uncertainty, speed limitation, structural parameter uncertainty, and initial error. It is necessary to conduct in-depth research so that the iterative controller can be more widely used in trajectory tracking.
To overcome the shortcomings in earlier studies, we established a new discrete kinematic model of a mobile platform to directly choose the speed of the driving wheels as the control variable for trajectory tracking, instead of controlling the forward speed and angular rotation speed. Furthermore, we explicitly analyzed multiple constraints in actual trajectory tracking tasks, and established a new type of iterative learning controller in the presence or absence of the initial error. With the initial error, a corresponding compensatory mechanism was designed for the learning controller to correct the error at the start time; otherwise, the other error signals were added in the iterative learning law to improve the effectiveness of the controller.
According to the theoretical analysis, the proposed controller has convergence and stability under certain conditions. In the simulation experiment, the effectiveness of the proposed controller was verified using various typical trajectories, such as a circular trajectory, a combination trajectory of arc and straight, a cardioid-like trajectory, and a spiral-like trajectory. Then, in-depth research on the iterative learning controller was specifically conducted by comparing the performance of the circular trajectory tracking task with different control parameters, which mainly included the selection of the control coefficient, the choice of various error signals, and the impact of speed constraints. This paper is organized as follows: Section 2 describes the specific structure and basic assumptions of a non-holonomic wheeled mobile platform, establishes the discrete kinematics of the differential drive mobile platform, and analyzes the control constraints of the drive wheels. In Section 3, we explicitly design the iterative learning controller and prove the effectiveness and robustness of the new controller through theoretical analysis. In Section 4, numerical simulations illustrate the effectiveness of the new controller's trajectory tracking with a mobile platform by controlling the driving wheels, and we describe our in-depth research on the new iterative learning controller. Finally, Section 5 summarizes the content of the article and explains future work.

Problem Formulation
In this section, a discrete kinematic model of a non-holonomic wheeled mobile robot is presented, which was used in designing a new type of iterative learning controller for completing trajectory tracking tasks. The parametric uncertainty and other practical constraints are formulated at the end of this section.

System Description
Currently, most mobile platforms use different wheels as driving and supporting mechanisms. However, mobile platforms with many driving wheels require more complicated synchronization control, are more expensive, and have fewer applications in daily life. Therefore, a typical mobile robot only uses the front wheels or the rear wheels as the driving wheels. The mobile robot is controlled by the rotation speed of the driving wheels. In general, the mobile platform's rotational movement and forward movement can be precisely controlled by the driving wheels' rotation speed. However, the basic movement of the mobile robot needs to avoid forward sliding and lateral slipping during movement.
Some coordinate frames need to be established in the working environment and on the mobile platform for positioning and trajectory tracking. These frames are as follows: (1) The world frame O W : Establish the system's global coordinate system at a fixed position in the inertial coordinate system; it is used to describe the position and posture of the mobile robot. (2) The driving-fixed frame O D : Select the midpoint of the driving wheels as the origin of this local coordinate system, the x-axis direction is the same as the forward movement direction, the z-axis direction is the vertical direction of the movement plane, and the corresponding y-axis direction is established according to the right-hand rule direction. (3) The gravity-fixed frame O C : The origin of the gravity-fixed frame is established at the gravity center of the mobile platform, the x-axis direction is the same as the forward direction, the z-axis direction is the vertical direction of the movement plane, and the corresponding y-axis direction is established according to the right-hand rule direction.
During movement, some structural parameters must be determined by measurement instead of using the values provided by the manufacturer to solve the positioning problem and achieve trajectory tracking with a mobile platform including the following: (1) Basic structure parameters: The length of the mobile platform is L c , the width of the mobile platform is B c , the radius of the wheels of the mobile platform is R c , and the distance from the midpoint of the driving wheels to the gravity center of the mobile platform is (D cx , D cy , D cz ). (2) Vehicle positioning parameters: The initial position and initial posture of the midpoint of the driving wheels are (P dx0 , P dy0 , Q dz0 ). In the trajectory tracking task, the structural parameters are fixed values, and the position and posture of the mobile platform are constantly changing. However, the distance from the midpoint of the driving wheels to the gravity center of the mobile platform is also a fixed value. The specific description of the structural parameters is shown in Figure 1.  For an ideal mobile platform, the midpoint of the driving wheels coincides with the gravity center of the mobile platform on the xy plane. Assuming the robot is moving on the xy plane, the linear velocity and angular velocity can be expressed as follows: whereṖ xc ,Ṗ yc is the linear velocity of the mobile platform along the x axis or the y axis of the world frame,θ zc is the angular velocity of rotation around the z axis of the world frame, V c is the linear velocity of the mobile platform, and W c is the rotation angle velocity of the mobile platform.
Considering control by two driving wheels, the linear velocity and angular velocity of the system can be directly described by the rotation speed of two driving wheels, which is explicitly expressed as follows: where W L and W R are the actual rotational speed of the left and right driving wheels, respectively; R c is the radius of two driving wheels; and B c is the distance between two driving wheels of the mobile platform.
To control the mobile platform, we performed the kinematic modeling by combining Formulas (1) and (2) for directly driving the wheels, which can be expressed as follows: In the actual movement, we need to convert continuous motion into discrete motion for controlling the mobile platform. In this case, the rotation speeds of the left wheel and the right wheel are regarded as the control variables; the linear velocity along the x axis and y axis of the world frame is denoted asṗ xc (k) andṗ yc (k), respectively; and the angular velocity around the z axis of the world frame isq zc (k). Thus, the linear velocity and the angular velocity of the mobile platform can be expressed as follows: where q zc is the rotation angle of the mobile platform at this time;q cl andq cr are the rotation velocity of the left and right wheel at this time, respectively. When the rotation velocity of the driving wheels is regarded as the mobile platform's control variable, p xc and p yc are the position of the mobile platform along the x axis and the y axis of the world frame, respectively; and q zc is the rotation angle of the z axis. Therefore, the discrete kinematics model of the mobile platform at (k + 1) time can be described as follows: where d k is the sampling time during the movement of the mobile platform.
(2) Practical kinematics discrete model For a practical mobile platform, the midpoint of the two driving wheels cannot wholly coincide with the actual gravity center of the mobile platform. As shown in Figure 1, an offset may be created between the midpoint of the driving axis and the gravity center of the mobile platform, D cz is the offset at the vertical height (the z axis of the driving-fixed frame), D cx is the offset at the horizontal direction (the x axis of the driving-fixed frame), and D cy is the offset at the y axis of the driving-fixed frame.
Assuming that the mobile platform is moving in the horizontal plane, the impact of D cx needs to be considered, but that of D cz should be ignored in the kinematic modeling of the mobile platform. Therefore, if the gravity center coincides with the midpoint of the driving wheels, Formula (6) can be used to describe the position and posture of the gravity center of the mobile platform at (k + 1) time, which is expressed as follows: where p xd and p yd indicate the midpoint location of the driving wheel axis in the xy plane, and q zd indicates the angle rotation around the z axis of the driving-fixed frame. Suppose the gravity center does not coincide with the midpoint of the two driving wheels. In this case, to the actual position of the gravity center, the corresponding offset needs to be added to the kinematics model, which is expressed as follows: where p xc and p yc are the position of the gravity center of the mobile robot in the xy plane, and q zc is the rotation angle of the mobile robot.

Remark 1.
When selecting the position and posture of the gravity center as the output variable, the offset between the midpoint of driving wheels and the gravity center of the mobile platform needs to be considered. To reduce the complexity of the trajectory tracking problem, the position and posture of the midpoint of driving wheels in the world frame are regarded as the desired output variables.

State Equation of the Mobile Platform (1) Ideal state equation without disturbance
Converting the discrete kinematics model into the state equation, we redefine various variables of the mobile platform, where u(k) = [q cl (k)),q cr (k)] T is the input control variable, y(k) = p xc (k), p yc (k), q zc (k) T is the output variable, and q(k) is the state variable of the system. Therefore, the discrete state equation of the mobile platform can be expressed as follows: where B(q k ) is the the control matrix of the mobile platform, which can be expressed as follows: (2) Practical state equation with disturbance The primary parameters of the state equation include the wheel radius and the width of the mobile platform. However, the above parameters can only be obtained through actual measurement, and the specific error between the measured parameters and the actual parameter cannot be ignored. Therefore, the exact state equation of the mobile platform can be expressed as follows: whereB(q k ) is the estimated parameter of the corresponding mobile platform. The external disturbances of various signals need to be added to the actual state equation,where β(k) is the random disturbance in the state parameters of the system, and α(k) is the random disturbances in the initial parameters of the system. Considering the above disturbance parameters in Formula (10), we can express the practical state equation with disturbance as follows: is the sum of the state disturbance and the system, andα(k) = α(k) is the combination of the output disturbance and the measurement error of the system.

Remark 2.
The kinematics model is mainly used to construct the basic control model of the mobile platform. The control signal needs to be directly input to the actual mobile platform in trajectory tracking. Therefore, we did not need to perform high-precision tests on the above-mentioned physical structural parameters.

Actual Limitations
To obtain the actual physical limitations of the mobile platform, some constraints on the input variables and output variables must be described by formulas before performing the trajectory tracking task. Therefore, we specifically express various constraints as follows: (1) Structure parameter limitations: The measurement error cannot be ignored when obtaining the radius of the driving wheels and the width of the mobile platform, which may be caused by the limitation of the measurement tool and the surveyor's experience. Therefore, the measurement error must be in a particular range, which can be expressed as follows: max where b Bc , b Rc is the maximum error of the actual estimated parameters, and b B is the maximum error of the control object.
(2) Signal disturbance limitations: The external environment is one of the key factors that cause other disturbances in the system. Therefore, the random disturbance of the state parameters and the output variable of the system are also within a specific constraint range, defined as follows: where b β is the maximum disturbance of the system state variable, and b α is the maximum disturbance of the output signal.
(3) Motor physical limitations: Due to the limitations of the motor and the voltage of the driving wheels, the rotation speed of the driving wheels must have a maximum speed limitation, expressed as follows: where b w is the maximum speed of the two driving wheels, and b u d is representing the maximum norm of the two-wheel drive speed matrix. The driving wheels were produced as one model to improve the control accuracy of the mobile platform.
(4) Initial error limitations: During the trajectory tracking task, the initial position of the robot and the starting position of the given trajectory are kept within a certain error range, which can be expressed as follows where, q k (0) represents the initial position and posture of the robot in each iteration learning, q d (0) represents the starting position and posture of a given trajectory, and C q 0 is the maximum norm of the initial error matrix of the system.
(5) Kinematics limitations: In the robot state Equation (11), the B matrix needs to meet max B(q k ) < b B . Meanwhile, the function needs to satisfy the global Lipschitz condition (16) where d k is a constant that represents the sampling time, and C B is the maximum value.

Design of the Hybrid Learning Iteration Controller for Mobile Platform
The hybrid controller has a two-layer hybrid structure that involves an iterative learning controller without initial error and an iterative learning controller with initial error; the basic structure of the hybrid controller is shown in Figure 2. To determine the choice of the corresponding controller, we designed the switch function based on the initial error of the mobile platform in different trajectory tracking tasks. When the initial error of the robot is equal to zero, the hybrid controller first uses the iterative controller without initial error to complete the assigned task. When the initial error exists in the system, it proceeds to the second type of iterative learning controller through the switching function. The specific design steps are as follows: Figure 2. Framework for the hybrid iterative learning controller ("+" represents the input, "−" represents the feedback).
Step 1: Design the learning iteration controller without initial error. The basic aim of the iterative learning controller is to correct the actual input signal by iteratively learning the error between the ideal output signal and the actual input signal to perform the specified trajectory tracking task. Due to the different types of error parameters obtained, we can optimize the typical P-type learning control law by increasing different types of error signals. The optimized iterative learning controller can be expressed as follows: where u a i+1 (k) indicates the control speeds at k time in the next iteration, e i (k + 1) indicates the error at (k + 1) time in the current iteration, e i+1 (k) indicates the error at k time in the next iteration, e i+1 (k − 1) indicates the error at (k − 1) time in the next iteration, and L 1 (k), L 2 (k), L 3 (k) indicate the gain matrix of iterative learning in different error categories, and these gain matrices need to meet Theorem 1. For the mobile robot described by Formula (11), in addition to satisfying the given kinematic characteristics and the specified constraint, the robot still satisfies the following conditions: By using the iterations learning law (17), the output signal of the mobile system can be converted to the desired trajectory y d (k)(0 ≤ k ≤ n), namely Proof. The proof of Theorem 1 is shown in Section 3.2 of the article.
Step 2: Design the learning iteration controller with initial error. To achieve trajectory tracking, the initial error of the typical iterative control law (17) needs to be equal to zero. In the actual movement of the mobile platform, error may exist between the initial position of the mobile platform and the given trajectory. In this case, the iterative learning controller needs to compensate for the corresponding error in the initial moment to achieve trajectory tracking. Therefore, the iterative learning controller can be expressed as follows: where e i (0) represents the initial error of each iteration learning process, and θ(k) represents the corresponding compensation function, which can be expressed as follows: Theorem 2. For the mobile robot described by Formula (11), in addition to satisfying the given kinematic characteristics and the specified constraint, the robot still satisfies the following conditions: By using the iterations learning law (21), the output signal of the mobile system can be converted to the desired trajectory y d (k)(0 ≤ k ≤ n), namely Proof. The proof of Theorem 2 is very similar as the proof of Theorem 1, but it is simpler than Section 3.2. The proof process can refer to the literature [38].
Step 3: Optimize the control speeds. The input control signals of the driving wheels can be obtained through the above two types of iterative controllers. Due to the limitation on the voltage and structural design of the drive motor in the actual robot system, the maximum speed of the motor movement is a given value, which can be expressed as b w . Then, we need to optimize the control speeds solved by the iterative controller. To ensure the rotation movement of the mobile platform, the optimization signal needs to ensure the rotation speed ratio of the two driving wheels is the same as the solution result. Therefore, the optimized control speeds can be expressed as follows: where u c (k) represents the optimized system control signal, b w represents the maximum speed of the two driving wheels,q cl (k) represents the speed of the left drive wheel, anḋ q cr (k) represents the speed of the right drive wheel of the system.

Theoretical Proof
To prove Theorem 1, we need to solve the error between the desired control signal and the actual control signal and analyze the error between the expected trajectory and the actual trajectory. The convergence of the controller is proved as follows: Step 1: In solving the error between the desired control signal and the actual control signal, we need to use the state error of the system. Assuming q d represents the expected motion state of the system, the state error can be expressed as follows: According to the formula constraint expression, the state error of the system can be effectively scaled, which can be expressed as follows: If we set h 2 = (1 + C B b u d ) , the state error (27) can be simplified again, which can be expressed as follows: Solving the state error by iteration method from the state error at the initial moment to the current moment, we obtain the state error expression: where b B represents the maximum error of the control object,b β is the maximum disturbance of the state variable, and b q 0 indicates the error of the system at the initial time.
Step 2: Assuming that u d as the desired control signal can control the mobile platform to track the desired trajectory. The error between the actual control signal and the desired control signal can be expressed as follows: Considering physical constraints, Formula (30) can be simplified to the following: If we set (31) can be simplified again as follows: The Formula (32) contains the system output error function and the system state error function; however, we need to eliminate the system state error to obtain the output error function. Substitute the status error (29) into the above system Formula (32) to obtain the following: Multiply the left and right sides of the above Formula (33) by 1 λ k , which can, thus, be solved to obtain the following: If we set λ > max{1, h 2 , b B (b L2 + b L3 )} , we can obtain the following: Then, the above inequality (35) can be simplified as follows: where Iterating the output error from the initial moment to the current moment, the output error at any moment can be obtained: If we set λ to be very large and the system parameter A ≈ ρ < 1, Formula (38) can be simplified as follows: When the output disturbance b α = 0, the initial error b q 0 = 0 and the state disturbance signal b β = 0 are brought into Formulas (37) and (39), the output error of the controller is proved to approach zero asymptotically. Namely, the actual output of the controller is infinitely close to the desired control signal.
Step 3: In analyzing the error between the actual trajectory and the expected trajectory, we need to use the state error of the system. According to Formulas (29) and (39), we can find the expression of the state error. To analyze the output error of the system, we also need to multiply the state error by (λ) −k . Then, the expression can be simplified as follows: After infinite iterations, the state error of system can be simplified to the following: where b B represents the maximum norm of the control matrix, b β represents the maximum norm of the state disturbance, and b q 0 represents the initial error of the system. Assuming the initial error in the Formula (41) is b α = 0, b β = 0, b q 0 = 0, the actual state output of the system is consistent with the expected state output.
Step 4: To prove that the controller can track the desired trajectory, we need to analyze the output error of the system, which can be expressed as follows: After infinite iterations, the output error can be simplified to the following: where b α represents the maximum norm of the output disturbance signal of the system. If the maximum norm of output disturbance signal is b α = 0, the output error of the system is close to the state error. When the state error of the third step is lim i→∞ ∆q i λ = 0, the actual trajectory of the robot can follow the expected trajectory.
Comparing the output error signal of the controller (39), the state error (41), and the output error (43) of the system, we can find that: (1) When the output disturbance b α = 0, the initial error b q 0 = 0 and the state disturbance signal b β = 0, the actual control signal will converge to the desired control signal. (2) When the output disturbance b α = 0, the initial error b q 0 = 0 and the state disturbance signal b β = 0, the output signal of the system will converge to the expected trajectory.

Experimental Results
To validate the performance of the hybrid controller, we designed some experiments with various tracking trajectories by directly control the driving wheels. To enable the general use of the controller, we selected a personal computer to simulate the performance. The computer was equipped with an Intel(R) Core(TM) i5-7500, CPU @3.4HZ, RAM @8G, and the basic configuration was the a medium type in terms of computing performance. The basic parameters of the mobile platform are specifically expressed as follows: The flowing subsection summarizes the processes and the results of these typical simulations.

Basic Performance Test
To test the basic performance of the iterative controller proposed in this paper, we conducted the first simulation experiment for various trajectory tracking tasks by directly driving the two wheels of the mobile robot shown in Figure 3. Four typical trajectory tracking tasks were used in the first simulation: circular trajectory, combination trajectory of arc and straight, cardioid-like trajectory, and spiral-like trajectory.
Trajectory 1: The circular trajectory is a closed path composed of a single arc. The circle's center is P C1 (0, 0), the radius length is R 1 = 10 m, and the initial point is P 0 (0, 10). The mobile platform needs to return to the initial position by rotating 360 • in the counterclockwise direction of the circular trajectory, the total time of the trajectory is t s = 2 s, the sampling time is d t = 0.001 s, and the initial position and posture of the mobile platform is (0, 10, π/2). Trajectory 2: The combination trajectory of arc and straight is also a closed path composed of two arcs and two straight lines. In this path, the center of first arc is P C1 (0, 0), and the radius is R 1 = 5 m; the center of second arc is P C2 (0, −10), the radius is R2 = 5 m; the two straight lines connect the upper points and the lower points of the two arcs. The mobile platform needs to rotate 360 • in the counterclockwise direction along the combination trajectory and return to the initial position. The time of each arc is t C1 = t C2 = 0.5 s, the time of each straight line is t L1 = t L2 = 1 s, the total time of the combination trajectory is t s = 3 s, the sampling time is d t = 0.001 s, and the initial position and posture of the mobile platform are (0, 5, π/2). Trajectory 3: The cardioid-like trajectory is a closed path composed of multiple semicircles. In this path, the center of the first semicircle is P C1 (0, 0), the radius is R 1 = 2.5 m, and the starting point of the first semicircle is (2.5,0). The mobile platform arrives at the endpoint of the first semicircle trajectory by rotating 180 • in the counterclockwise direction.
The starting point of the second semicircle is set as the first endpoint, the center of the second semicircle is P C2 (2.5, 0), and the radius is R 2 = 5 m. The mobile robot rotates 180 • in the counterclockwise direction to the endpoint of the second semicircle trajectory. The starting point of the third semicircle is set as the second endpoint, the center of the third semicircle is P C3 (5, 0), and the radius is R 3 = 2.5 m. The mobile robot returns to the initial position of the cardioid-like trajectory by rotating 180 • in the counterclockwise direction. The duration for first and third semicircle is t C1 = t C3 = 0.5 s, the time of the second semicircle is t C2 = 1 s, the total time is t s = 2 s, the sampling time is d t = 0.001 s, and the initial position and posture of the mobile platform are (2.5, 0, π/2). Trajectory 4: The spiral-like trajectory is an open path composed of multiple semicircles. In this path, the center of the first semicircle is P C1 (0, 0), the radius is R 1 = 3 m, and the starting point of first semicircle is (2.5, 0). The mobile platform arrives at the endpoint of the first semicircle trajectory by rotating 180 • in the counterclockwise direction. The starting point of the second semicircle is set as the first endpoint, the center of the second semicircle is P C2 (0.5, 0), and the radius is R 2 = 3.5 m. The mobile platform rotates 180 • in the counterclockwise direction to the endpoint of the second semicircle trajectory. The starting point of the third semicircle is set as the second endpoint, the center position of the third semicircle is P C3 (0, 0), and the radius is R 3 = 4 . Then, the mobile platform needs to rotate 180 • in the counterclockwise direction to the endpoint of the third semicircle trajectory. The starting point of the fourth semicircle is set as the third endpoint, the center position of the forth semicircle is P C4 (0, 0), and the radius is R 4 = 4 m.
Then, the mobile robot reaches the endpoint of the spiral trajectory by rotating 180 • in the counterclockwise direction. The time of each semicircle is t C1 = t C2 = t C3 = t C4 = 0.5 s, the total time of the spiral trajectory is t s = 2 s, the sampling time is d t = 0.001 s, and the initial position and posture of the mobile platform is (3, 0, π/2).

Performance Test of the Hybrid Controller without Initial Error
Assuming there is no initial error in the various trajectories, the typical iterative learning controller (17) directly controls the rotation speed of the two wheels to solve the trajectory tracking problem.
Situation 1: The control law of the corresponding gain matrix is described as follows: where R rs = R c represents the actual radius of the wheels, and B rs = B c represents the actual distance between the driving wheels. The trajectory tracking process and the final result of the mobile platform after 100 iteration process are shown in Figure 3. By comparing the tracking results, we found the following: (1) The system can directly control two driving wheels to track the specified trajectories without initial error using the iterative learning controller. (2) Selecting the midpoint of the two driving wheels as the control variable can effectively achieve different trajectory tracking tasks.

Performance Test of Hybrid Controller with Initial Error
The above tasks were simulated without the initial error; however, the initial position of the mobile platform maybe not completely coincide with the starting of the given trajectory during actual movement. To test the novel-type controller in the initial error state, we effectively compared the previous control law and controller against the circular trajectory's initial error. We assumed the initial position and posture of the mobile platform are expressed as (9, 0, π/2), which does not coincide with the initial position of the trajectory in this task. The specific controllers were as follows:

Situation 2:
There is an uncompensated control law with a speed constraint, which can be expressed explicitly as follows: Situation 3: The iterative learning controller (21) directly controls the rotation speed of the two wheels to solve the trajectory tracking problem, which can be expressed as follows: where L s2 1 (k) is the gain of the controller, which can be expressed as L s2 1 (k) = 0.5 · L 1 (k); the coefficient of h was chosen as 200; and the corresponding trajectory tracking effect was obtained, as shown in Figure 4. To illustrate the adaptability of the novel-type controller, we also tested the novel-type controller on other trajectories with initial errors. For example, the initial position and posture of the robot in the combination trajectory of arc and straight task is defined as (4, 0, π/2), the initial position and posture of the robot in the cardioid-like trajectory task is defined as (2, 0, 14π/15), and the initial position and posture of the robot in the spiral-like trajectory task is defined as (2.5, 0, 31π/30). Using the novel-type controller with a speed constraint, the following experimental results were obtained, as shown in Figure 5.
Comparing the above experimental results, we found the following: (1) Without the initial error compensation in Figure 4a1-a3 , the control law (17) can achieve closed-loop motion, but the actual trajectory has a relatively fixed deviation from the given trajectory. Therefore, the previous controller cannot control the tracking of the various trajectories with the initial error. (2) With the initial error compensation in Figure 4a2,a3,b2,b3, the control law (21) can effectively achieve the circular trajectory tracking with initial error. Additionally, the controller with a velocity constraint must meet the actual physical limitations of the mobile platform. (3) According to various trajectory tracking results with initial error in Figure 5, the error compensation controller designed in this paper has good adaptability to various trajectories. (a1)

The Influence of the Control Coefficients and the Error Signals
To study the influence of the error signals and the control coefficients on the trajectory tracking problem, we selected the circular path as the research task for the trajectory tracking with the mobile platform. In the second task, the modified iterative learning control law was selected as the basic controller, and different error signals and the control coefficients were taken as variable parameters. The specific controller settings were as follows: Situation 4: The e i (k + 1) only uses as the feedback error signal, and the control law (17) is selected as the basic controller. The corresponding gain parameters are described as follows: Situation 5: The e i (k + 1) and e i+1 (k) are used as the feedback error signal, and the control law (17) is selected as the basic controller. The corresponding gain parameters are specifically expressed as follows: (49)

Situation 6:
The feedback error signal includes e i (k + 1), e i+1 (k), and e i+1 (k − 1) and the control law (17) is selected as the basic controller. The corresponding gain parameters are specifically expressed as follows: By selecting different controller coefficients and different error parameters, we obtained different dynamic iterative trajectory graphics and the final trajectory result of the mobile platform with 100 iterations, which are shown in Figure 6. To determine the influence of the control coefficient and the error parameter, we compared the various dynamic iterative trajectory graphics, as shown in Figure 6.  (1) Comparing a, b, and c in Figure 6 with different controller coefficients, the number of the iterations required for trajectory tracking can be continuously reduced by increasing the control coefficient within a reasonable range (0.1 to 10). However, if the control coefficient is too small, the controller cannot effectively track the trajectory in a shorter time; if the value of the control coefficient is too large (>20), the controller cannot effectively track the given trajectory caused by increasing the error. Therefore, the system may be unstable.
(2) Comparing a, d, e, g, and h in Figure 6 with different error parameters, if the error at (k + 1) time in the current iteration remains unchanged, the other error parameters can compensate for the error parameter to improve the convergence speed of the newtype controller. The tracking performance may be improved by increasing the other error parameter.
(3) Comparing a, d, e, g, and h in Figure 6 with different error parameters and different controller coefficients, increasing the control coefficients of each error parameter can reduce the number of iterations required for the trajectory tracking by the mobile platform; however, the control coefficients of each error parameter still affect the stability of the system.

The Influence of the Physical Speed Limitation
The rotation speed of the driving wheel has physical limitations. However, previous studies did not analyze the influence of the speed constraint on the actual trajectory tracking process. Therefore, we deliberately added the speed constraint to the novel-type iterative learning controller to study the impact of the physical speed limitation on the trajectory tracking process. The specific controllers were as follows: Situation 7: Hybrid iterative learning controller without speed limitation: Situation 8: Hybrid iterative learning controller with speed limitation: Situation 9: Hybrid iterative learning controller without speed limitation: Situation 10: Hybrid iterative learning controller with speed limitation: We used the above controller law to describe the tracking result and error of the specified trajectory. Comparing the above controllers, we found the following: (1) Comparing Figure 7a2,c2 , the speed solved by the single controller does not meet the physical limitations; however, adding the speed constraint to the controller can meet the physical limitations of the mobile platform.  Figure 7c2,c3,d2,d3, it can be found that the control signal is not smooth with the speed constraint since the control speed at the next moment can be reached considering the speed limitation. However, the velocity limitation can reduce the tracking error to significantly enhance the performance of the controller. (a1)

The Influence of Basic Structure Parameters
To study the influence of the actual structure parameters of the mobile platform on the controller, we compared the controller with the system parameters to that without the system parameters. The specific parameters were as follows: Situation 11: The novel hybrid controller without error in the parameters of the mobile platform: L s11 1 (k) = 0.10 · L 1 (k); L s11 2 (k) = 0.25 · L 1 (k); L s11 3 (k) = 0.25 · L 1 (k); Situation 12: The novel hybrid controller with error in the parameters of the mobile platform: L s12 1 (k) = cos(q) sin(q) 1 cos(q) sin(q) −1 ; L s12 2 (k) = 0.5 · L s12 1 (k); L s12 3 (k) = 0.5 · L s12 1 (k); (56) Situation 13: The other controller without the control matrix parameters of mobile platforms: L s13 1 (k) = 0.1 0.5 0.2 B rs /R rs cos(q) sin(q) −B rs /R rs ; L s13 2 (k) = 2.5 · L s13 1 (k); L s13 3 (k) = 2.5 · L s13 1 (k); By selecting different Iterative learning controllers, we obtained the different dynamic iterative trajectory graphics and the final trajectory result of the mobile platform, as shown in Figure 8.
(1) Comparing Figure 8a1-a3,b1-b3, the controller without the basic system parameters can still track the circular trajectory, which proves that the iterative controller designed in this article does not depend on the actual parameters.
(2) Comparing Figure 8b1-b3,c1-c3, the designed controller cannot effectively track the given trajectory when the gain matrix L 1 (k) does not conform to the movement characteristics of mobile platforms,.

Conclusions
In this study, a new kinematic model of the mobile platform was designed to achieve trajectory tracking by directly controlling the rotation speed of the driving wheels, and the model considers the actual structure and physical constraints of the mobile robot. Different from the typical iterative learning controller of mobile robots, the hybrid controller can directly select the rotation speed of the wheels as the control signal and consider the actual physical constraints of the system.
We theoretically proved the basic performance of the controller , and designed various simulation experiments to analyze the influence of different parameters on the trajectory tracking task, including a speed constraint, the control coefficient, the different error parameters, basic physical parameters, and initial error. Experiments showed that the reference trajectories with or without the initial error can be tracked with the designed hybrid controller, and the system control performance was improved by increasing the other types of error signal in the trajectory tracking task without initial error.
In the future, we aim to develop an iterative controller for mobile platforms to achieve dynamic motion control in various complex environments. In the meantime, we will study the iterative learning method to achieve path planning for mobile platforms with physical limitations in complex environments.