Next Article in Journal
Analysis of Synchronous Generator Self-Excitation under Capacitive Load Condition in Variable-Frequency Aviation Power System
Previous Article in Journal
Digital Twins Utilizing XR-Technology as Robotic Training Tools
Previous Article in Special Issue
Application of the Gray Wolf Optimization Algorithm in Active Disturbance Rejection Control Parameter Tuning of an Electro-Hydraulic Servo Unit
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Advanced Motor Control for Improving the Trajectory Tracking Accuracy of a Low-Cost Mobile Robot

by
Luis Mérida-Calvo
1,
Andrés San-Millán Rodríguez
2,
Francisco Ramos
3 and
Vicente Feliu-Batlle
3,*
1
Instituto de Investigaciones Energéticas y Aplicaciones Industriales, Universidad de Castilla-La Mancha, 13071 Ciudad Real, Spain
2
Centre for Applied Dynamics Research, School of Engineering, University of Aberdeen, Aberdeen AB24 3UE, UK
3
Escuela Técnica Superior de Ingeniería Industrial de Ciudad Real, Universidad de Castilla-La Mancha, 13071 Ciudad Real, Spain
*
Author to whom correspondence should be addressed.
Machines 2023, 11(1), 14; https://doi.org/10.3390/machines11010014
Submission received: 8 November 2022 / Revised: 15 December 2022 / Accepted: 17 December 2022 / Published: 23 December 2022
(This article belongs to the Special Issue Advances in Automatic Control)

Abstract

:
Accurate trajectory tracking is a paramount objective when a mobile robot must perform complicated tasks. In high-speed movements, time delays appear when reaching the desired position and orientation, as well as overshoots in the changes of orientation, which prevent the execution of some tasks. One of the aspects that most influences the tracking performance is the control system of the actuators of the robot wheels. It usually implements PID controllers that, in the case of low-cost robots, do not yield a good tracking performance owing to friction nonlinearity, hardware time delay and saturation. We propose to overcome these problems by designing an advanced process control system composed of a PID controller plus a prefilter combined with a Smith predictor, an anti-windup scheme and a Coulomb friction compensator. The contribution of this article is the motor control scheme and the method to tune the parameters of the controllers. It has been implemented in a well-known low-cost small mobile robot and experiments have been carried out that demonstrate the improvement achieved in the performance by using this control system.

1. Introduction

For any technical application, having a deep knowledge of the model of a system leads to highly precise and accurate results. The more information you gather about a system, the better control schemes you can design to achieve your aim. This is even more decisive when we think of robotic systems, where precision, velocity and robustness are extremely important goals. However, the information on commercial parts comes at a cost: accurate models are only provided by expensive, high-end brands, while low (middle)-cost manufacturers generally sell their products with few (if any) details on their characteristic parameters. Moreover, their behaviour is usually far from optimal or even non-linear, degrading the controllers performance for most applications. Hence, when we operate systems that contain low-cost parts, a first identification stage must be carried out to effectively design a control scheme. Then, to cope with system non-linearities during operation, a number of control strategies can be applied simultaneously, so that the overall control scheme achieves good performance.
In this work, we present a robotic system consisting of a mecanum-wheeled mobile robot (MWMR) equipped with a two-dof whisker sensor for haptic applications. One of the pursued applications is object recognition, in which the whisker touches several points of the surface of an object estimating their 3D coordinates. Then, a cloud of points on the surface of the object is formed, which allows its recognition by matching these points with the information contained in a data base of objects. The quicker and more accurate the MWMR moves, the more points can be collected in a given period of time, which allows to improve the recognition task. However, a common MWMR has some low-cost parts whose parameters are unknown, or whose behaviour exhibits severe non-linearities. For instance, friction is one of the most common non-linearities in the DC motors used to actuate MWMRs, which can cause tracking errors at low speeds or stick–slip phenomena during start and stop stages. It has, therefore, been extensively studied in the literature [1,2] and its identification and compensation is key to improving the robot motion control [2], especially at low speeds or in the presence of ground surface changes. This is of paramount importance to our application, as we need to perform manoeuvers between short distances to automatically reposition the whisker for continuing the measurements. Many identification techniques, such as least-squares [3], neural networks [4] or algebraic estimation [5,6], have also been applied to estimate friction or other robot parameters.
During the last two decades, many different strategies have been proposed to improve the position control of mobile robots, such as input-output linearization [7], linear optimal control [8], model predictive control [9,10], sliding-mode control [11] or neural network control [12]. These controllers are designed to cope with the complete robot dynamics [13,14]. However, as they do not use low-cost parts in their setups, most of these works do not consider effects such as motor friction in their dynamic models, and the controllers have to deal with this phenomena implicitly. In [15], a low-cost hardware MWMR is controlled using a variation of sliding mode control for trajectory tracking, but they still neglect motor friction.
In this paper, we take a different approach to the position control problem. We focus on the low-level control of the DC motors actuating the MWMR to improve the precision of the movement, as a preliminary step prior to designing a robot position controller, which will be carried out in future works. Because of the low-cost nature of our platform, we found the following problems for its rapid, precise positioning: insufficient data provided from the DC motors manufacturer; non-linear friction of the motors; saturation of the motor control signal in fast manoeuvers; overshoot in the Point-To-Point (PTP) motion; and hardware-induced delay (HID) in the control loop. We have not found any other previous work in the literature that addresses all these phenomena in the control of DC motors for mobile robots applications, but they are studied separately. For instance, friction non-linearities are dealt with in [16,17]. The work in [16] presents a nonlinear friction observer for viscous and Coulomb frictions that can be used in the feedback control loop. In [17], two nested loops are used for position control of the MWMR using a quantitative feedback control strategy, and the authors focus on the low-level control of the DC motors. They take friction into account in the controller design, but they ignore saturation of the motor control signals or the delay in the communications. On the other hand, control signal saturation for Euler-Lagrange systems is studied in [18] using a leakage-type adaptive sliding-mode controller, which reduces chattering while also tracks the reference signal in presence of saturation.
However, we intend to model and deal with all mentioned drawbacks by combining several Advanced Control Process (ACP) techniques that are common in industry. Specifically, the techniques proposed to cope with the problems we found are, respectively, a step-based thorough system identification [19]; estimation of a feed-forward compensation term for Coulomb friction; an anti wind-up scheme for saturation prevention [20,21]; a prefilter combined with the inner loop to avoid overshoot [17]; and a Smith predictor to compensate the HID [22].
We also identify some other problems that have not been addressed in the control scheme, but have been quantified for the definition of a small error gap in the goal achievement. These are: non-zero backlash in the reduction gears, low precision of the equipped encoders and low material quality of the mecanum wheels that induces, for example, stick–slip phenomena during acceleration/deceleration manoeuvers, degrading movement accuracy.
This article is organized as follows. Section 2 describes the robot prototype. Section 3 characterizes the dynamics of this robot. Section 4 is devoted to develop the control system. Section 5 shows some experimental results and conclusions are given in Section 6.

2. Robot Setup

The robotic platform studied here can be divided in two main systems: the MWMR platform and the robotic whisker sensor. A 3D visualization of the complete robotic platform is displayed in Figure 1a while the real platform is depicted in Figure 1b.
The main components of the MWMR are the following:
  • The chassis, which is equipped with four DC motors with incremental encoders and reduction gears that drive four mecanum wheels (Swedish wheels with rollers at 45 ). The motors (model GM25-370-24140-75-14.5D10) operate at a voltage control signal within ±9 V, and their reduction gear ratio is 1:75. The encoder resolution is 4 pulses per turn of the motor axle, which corresponds to around 300 pulses per turn of the omni wheel. Hence, the wheel angular position can be measured with an accuracy of ± 1 . 2 .
  • A National Instruments Field Programmable Gate Array (FPGA) compactRIO control board, model sbRIO-9631. This card is used to command the motor controllers of the robot (four for the MWMR and two for the whisker), read sensor measurements (encoders and force-torque sensor) and communicate with a host computer via W i F i .
  • Four servo controller boards Maxon ESCON Module 24 / 2 . These controllers are mounted on a shield board connected on top of the FPGA and close the inner current loops of the motors, so that the electrical model of each motor can be reduced to a Thevenin equivalent, and the electrical dynamics can be neglected because they are much faster than the mechanical dynamics. They receive the control signals from the FPGA through digital ports and provide the power needed by the motors to operate.
  • A router W i F i (model GL.iNet GL-MT300N-V2). This is used to establish wireless communication between the FPGA and an external host computer using a T C P / I P protocol.
  • Two 3500 mAh, 3-cell (11.1 V) L i P o batteries connected in series to deliver nominal 22.2 V. They supply the power to the FPGA, the ESCON modules and, using step-down converter from 22 to 5 V, the W i F i router.
The robotic whisker has been defined in previous works [23], and it has been used as a tactile sensor to detect objects surrounding the whisker [24]. Previous whisker setup was static, allowing for a small range of object detection. In order to carry out the already mentioned object recognition application, the sensing range of the whisker has to be increased. This is achieved by mounting it aboard the MWMR which is the object of this study. This poses three main problems: low accuracy and/or precision of the MWMR pose, which significantly degrades sensor measurements; low speed of the MWMR positioning, which reduces the efficiency of the task of collecting points on the surface of the object; and the induction of vibrations to the whisker, which complicates its precise control. Present work deals with the first and second problems, aiming for a precise positioning of the MWMR while using some low-cost parts. Henceforth, the whisker and its servoposition system, that are shown in Figure 1b at the top of the MWMR, will be hereafter omitted.
All work related to data analysis, identification, control design, simulations and data representation have been carried through with Matlab and Simulink R2022a software. Robot hardware is programmed, via the National Instruments Control board with and external computer, using LabView 2019 software.

3. Modeling and Identification

The first obstacle to design the actuator control is the lack of information about the DC motor physical constants: rotor inertia, viscous friction, electromechanical constant and non-linear friction. Therefore, a thorough identification process must first be performed to obtain a mathematical model of the actuators.

3.1. Analytical Model

The dynamic model of each DC motor with 1:n reduction gear ratio is:
Γ ( t ) = n · K m · V ( t ) = J m · θ ¨ ( t ) + ν · θ ˙ ( t ) + Γ f ( t ) + Γ c o u p ( t )
where Γ ( t ) is the motor torque, V ( t ) the input voltage signal to the motor, J m and ν the total inertia and viscous friction of the motor, respectively, θ ( t ) the angle of the motor, Γ f ( t ) the non-linear friction term and Γ c o u p ( t ) the coupling torque.
The coupling torque Γ c o u p ( t ) is the torque that the robot transmits to the wheels and the motors due to its mass and inertia, that this, due to robot dynamics. The moments and forces that robot dynamics induce to the wheels are produced by changes in robot velocity, that is, accelerations. So, neglecting friction terms and considering perfect grip between the wheels and the ground we can approximate the coupling torque (and hence, robot dynamics) to a function of the angular acceleration of the motors for the sake of simplicity:
Γ c o u p ( t ) J R · θ ¨ ( t )
where J R is the inertia of the robot that the motors need to overcome. This approximation allow us to simplify (1) and introduce the mass and inertia of the robot in a new inertia term, J:
Γ ( t ) = n · K m · V ( t ) = J · θ ¨ ( t ) + ν · θ ˙ ( t ) + Γ f ( t )
where J is the total inertia: J = J m + J R .
The voltage V ( t ) is the input voltage signal to the motor, which is the control variable of the system. Voltage is the input to a servo amplifier (the servo controller board Maxon ESCON Module) which controls the input current to the motor by means of an internal loop control, as it is represented in Figure 2a, where V is the input voltage, R is the input resistance of the amplifier circuit, k ˜ is the gain of the amplifier and i m is the armature circuit current. The electrical dynamic of this scheme is much faster than the mechanical dynamics of the motor. Thus, electrical dynamics can be rejected and the servo amplifier can be considered as a constant relation k e between the voltage and the current to the motor: i m = V · k e where k e includes k ˜ and R, as it is represented in Figure 2b. The total torque given to the motor Γ T is directly proportional to the armature circuit in the form Γ T = k m · i m , where k m is the electromechanical constant of the motor. Thus, the electromechanical constant of the motor servo amplifier system is K m = k e · k m .
This model considers simplified robot dynamics as expressed in (2) assuming perfect grip between the wheels and the ground and all the variables are referred to the output of the reduction gear. The transfer function between V ( t ) and θ ( t ) can be obtained by removing Γ f ( t ) from (3)—because it is considered as a disturbance—and taking Laplace transforms:
G ^ ( s ) = θ ( s ) V ( s ) = n · K m J s 2 + ν J · s = A s · ( s + B )
where A and B comprehend the motor parameters which have to be characterized. Then, an identification process is carried out. First, the linear model (4) is identified. Second, taking into account the previous results, a model of the non-linear effects will be identified.

3.2. Identification of the Linear Model

From Equation (4) we can obtain the transfer function between V ( t ) and the motor velocity θ ˙ ( t ) :
θ ˙ ( s ) V ( s ) = G ^ ( s ) = s · G ^ ( s ) = A s + B
Applying step signals V ( t ) of different amplitudes to the motor and measuring the encoder data θ ( t ) , the motor parameters of (5) can be determined by using well-known relations of first order systems [25]:
B = 3 t s , A = P m · B
where t s is the settling time (that is, the time needed for the system to enter the ±5% error band of the steady-state value), and P m is the system gain, which is the relation between the applied voltage and the angular velocity reached in steady-state. Both t s and P m are easily obtained from experimental data.
Thus, a series of step signals are generated from 0 to different values between 6 V and + 6 V. This range has been chosen so that it does not become close to the motor limit voltage of 9 V and high and dangerous accelerations of the robot are avoided. The experiments are carried out four times to gather enough data. They were performed simultaneously in all the motors with the robot placed in the ground, allowing it to move along its longitudinal axis. In this way, the parameters of the motor are estimated taking into account the global inertia of the robot. Figure 3 shows some experimental results of the front-left motor.
Figure 3a represents the motor angular velocities against time. These responses indicate that there is a time delay that must be considered to properly identify the motor parameters. Each of the four experiments will provide four models, one for each motor. Then, sixteen transfer functions will be obtained. Since our objective is to obtain a unique model for all four motors, mean values of the identified parameters A and B will be calculated. The identification of the linear model starts obtaining the values of P m and t s . Firstly, the parameter P m is obtained for each experiment and motor from the data collected, as shown in in Figure 3b, which represents the steady-state motor angular velocities—measured in encoder pulses/s—against the supplied voltages. To do that, the steps within the ±1 V region are discarded to focus only in the linear part, where P m is the slope. There is a slight difference in between the P m obtained for positive and negative voltage values. This can be blamed on the low quality of the components, because this effect is also observed when running the motors without any load—that means robot dynamics has no influence. Nevertheless, it is such a small error that can be neglected. Secondly, the settling time t s is obtained from data collected, as shown in Figure 3a. The mentioned time delay is removed in order to obtain the real settling time. Finally, the motor parameters A and B are obtained for every experiment and motor using (6), and the means of the identified sixteen values of A and B yield an average model (4).
The time delay L that appears in the responses of Figure 3a is caused by the speeds of the control board and the ESCON combined with the reduction gears backlash. This parameter is calculated by measuring the time passed by between the instant at which the voltage step is applied and the first instant at which the encoder has a value different from zero. An average value of the time delays obtained in all the experiments is also considered here. Then, the linear dynamics (4) has to be modified to the transfer function
G ( s ) = G ^ ( s ) · e L · s = A s · ( s + B ) · e L · s

3.3. Identification of Non-Linearities

Once the linear model is obtained, the non-linear effects are modelled and identified. Non-linear friction, saturation of the motors and resolution of the encoder are characterized in this subsection.

3.3.1. Friction Phenomena

Figure 3b shows a discontinuity in between ±1 V approximately, which means that the motor did not move in the experiments in which the step signals where lower than 1 V. This effect is caused by motor internal frictions. This figure shows that the motors have static friction (also known as motor dead-zone) and dynamic friction.
Friction is a well-known phenomena that has been extensively studied [26,27]. Specifically, when using motors to develop high-precision positioning systems, the need to determine friction behaviour and mitigate its effect is of utmost importance. There are several effects related with friction that could appear in DC motors [28]:
  • The viscous friction, which is proportional to θ ˙ through the viscous friction coefficient ν . It is a linear effect that has already been included in the linear model (7).
  • The static friction (stiction) and break-away force. This effect has been observed in Figure 3b, where a discontinuity in θ ˙ appears near ±1 V. It occurs when the applied motor torque Γ ( t ) —expressed in terms of the supplied voltage as expressed in (3)—is lower than the maximum torque generated by the static motor and gearbox internal frictions. This causes the motor to remain stuck without movement. Once Γ ( t ) is big enough, the motor starts moving. That is the point where the break-away force is overcome. This phenomenon defines a region called motor dead-zone in which the motor remains stuck when applying torques lower than the break-away torque.
  • The Coulomb friction. This friction force appears when the motor is running with non-zero velocity. Its magnitude, which is denoted as the kinetic friction, is constant and its direction is opposite to the motion.
  • The Stribeck friction, which is the transition between the stiction and the Coulomb friction. When Γ ( t ) overcomes the break-away value, the motor starts running at very low speed and the friction value decreases rapidly. The rapid decrease in the friction value causes an increase in motor velocity, what again causes a friction decrease. This is repeated until the Coulomb friction value is reached. This phenomenon is continuous, depends on the velocity, and occurs in a very short range of velocities.
Dry friction models can be classified in two types [29]: static friction models, which describe the dependence of the friction force on the relative sliding velocity; and dynamic friction models, which take the form of differential equations to not only describe the friction during sliding but also in the stick phase of the frictional elements, i.e., when the measured relative sliding velocity is equal to zero. In practice, the choice between all existing models is strongly influenced by factors such as the available actuators, sensors, and hardware/software control architecture, as well as by constraints on the real-time computational burden [2]. Our MWMR presents some drawbacks related with this factors: lack of information, non-linear behaviour of the actuators, low-precise measures of the sensors and high sample time due to the control board capacity. Therefore, although dynamic models are more precise, we propose a static model because it is much simpler and its parameters are easier to identify. In particular, we chose the Coulomb friction model because it is good enough for the used hardware and the friction coefficients can be identified directly from the experimental data presented in Figure 3b, without further experimentation being required.
Since Γ ( t ) is proportional to V ( t ) , all the friction torques will be hereafter represented by their equivalent voltages. In this way it is avoided having to determine the constant K m , that would have to be used in the implementation of the controller if the model were expressed in function of torques (note that we can obtain parameters A and B from identification, but we cannot obtain K m neither from identification or from A and B).
The Coulomb friction model Γ f ( t ) , expressed in terms of its equivalent voltage V f ( t ) , is represented in Figure 4a and is modeled through the piecewise function:
V f ( t ) = V ( t ) , | θ ˙ ( t ) | = 0 a n d | V ( t ) | V f S V f S · s i g n ( V ( t ) ) , | θ ˙ ( t ) | = 0 a n d | V ( t ) | > V f S V f K · s i g n ( θ ˙ ( t ) ) , | θ ˙ ( t ) | 0
where V f S is the stiction brake-away equivalent voltage, V f K is the kinetic friction equivalent voltage and V f S > V f K . Then, the load torque, i.e., the torque that moves the robot, if expressed in terms of its equivalent voltage, is V l ( t ) = V ( t ) V f ( t ) .
Figure 4 shows how friction magnitudes V f S and V f K are identified from the data of Figure 3b. First, these experimental results are represented in Figure 4c as the steady-state velocity against V ( t ) . Second, in Figure 4b V f ( t ) is represented against V ( t ) . In addition, friction magnitudes V f S and V f K are easily identified in the model of the Coulomb friction represented at the left in Figure 4a.

3.3.2. Saturation

There are slight differences between velocities of the motors when running under the same voltage signal. This causes a manoeuvrability problem that impedes the robot to follow a determined trajectory. This problem has been solved in our robot by adjusting a particular saturation voltage for each motor to get all of them to saturate at the same angular velocity, so that the slower motor is the one who determines that maximum speed. Then, a virtual saturation has been established calculating the voltage at which the model identified in (5) runs at the established maximum speed, obtaining the following saturation value V s a t = 8.7 V (saturation voltage of the motors were established by the provider in 9 V).

3.3.3. Encoder Resolution

The incremental encoders only read a change in the motor position when one of the poles is activated. As it was explained before, the encoder has a resolution of 4 pulses each turn of the motor. The relation between the wheel angular position and the measure of the encoder is given by the reduction gear, which was dissembled to find out the exact ratio value. This means that each turn of the wheel corresponds to around 300 pulses, i.e., one encoder pulse is equal to 1 . 2 . This jump is quite high when controlling the position of the wheels. Thus, to replicate this phenomenon in the model, the signal θ ( t ) will be truncated in the simulations yielding the signal θ q ( t ) . This will allow us to assess the impact of this quantization in the control system.

3.4. Identification Results

Identification results are presented in Table 1. Mean values, standard deviations and percentage variances—defined as the maximum difference between the mean value and the most deviated registered data—are provided of both linear and non linear parameters. Note that the maximum variation registered in model parameters is about 14 % . This data will be used later in the evaluation of the control robustness.

3.5. Complete Model of the System

A block diagram representation of the fully identified motor model is shown in Figure 5. The input V ( t ) goes first through a saturation block that limits its maximum absolute value to V s a t , yielding a voltage signal V s ( t ) . After that, the friction block FB ( V , θ ˙ ) generates the friction voltage V f ( t ) following the identified model (8). Substracting this value from V s ( t ) gives V l ( t ) which is the voltage equivalent to the torque that moves the linear part of the system. The corresponding nominal transfer function, i.e., transfer function (7) in which the parameters of Table 1 are used, is:
G 0 ( s ) = θ ( s ) V l ( s ) = A 0 s · ( s + B 0 ) · e L 0 · s = 1631 s · ( s + 19.97 ) · e 0.0539 · s
whose output is θ ( t ) . This signal is later differentiated to obtain the velocity θ ˙ ( t ) . Finally, the block ER replicates the encoder resolution yielding a signal θ q ( t ) by truncating θ ( t ) .

4. Control Scheme Design

A control scheme for the motor angle θ ( t ) that combines a PID regulator with a prefilter, a Smith predictor, an antiwindup and a Coulomb friction compensator is proposed. Simulated results will be presented along this section in order to illustrate the problems addressed and how the components that we include in the control system overcome them. Though the analyses will be carried out feeding back the motor angle θ ( t ) , the quantized signal θ q ( t ) will be fed back in the simulations.

4.1. PID Regulator with Prefilter

First, a control system is designed for the linear part of the plant in which the time delay has been removed. A loop is closed using a PID regulator, and a prefilter is added to reduce the overshoot of the response. This scheme is shown in Figure 6, where G ^ 0 ( s ) is the linear model (4) with nominal values, θ ( t ) is the desired trajectory, P ( s ) is the prefilter, θ f ( t ) is the output of the prefilter (and the reference of the closed-loop) and C ( s ) is the PID controller:
C ( s ) = a 2 · s 2 + a 1 · s + a 0 s · ( s + μ )
The characteristic equation of the closed-loop system is:
1 + C ( s ) · G ^ 0 ( s ) = 0 1 + a 2 · s 2 + a 1 · s + a 0 s · ( s + μ ) · A 0 s · ( s + B 0 ) s 4 + ( B 0 + μ ) · s 3 + ( μ · B 0 + A 0 · a 2 ) · s 2 + A 0 · a 1 · s + A 0 · a 0 = 0
Since (11) is a fourth order equation, the closed-loop system has four poles, p 1 , p 2 , p 3 , p 4 , which are placed in the same position p . Then, the characteristic equation is factorized as
( s + p ) 4 = 0
and the PID parameters are obtained in terms of p equating coefficients of the same order of (11) and (12):
μ = 4 · p B 0 a 2 = 6 · p 2 μ · B 0 A 0 a 1 = 4 · p 3 A 0 a 0 = p 4 A 0
The resulting closed-loop transfer function is
M ^ 0 ( s ) = θ ( s ) θ ^ ( s ) = C ( s ) · G ^ 0 ( s ) 1 + C ( s ) · G ^ 0 ( s ) = A 0 · ( a 2 · s 2 + a 1 · s + a 0 ) ( s + p ) 4
whose zeros are the zeros of the regulator. This produces an undesired overshoot in the step response of M ^ 0 ( s ) . For this reason, a prefilter P ( s ) is designed. Objectives of the prefilter design are to cancel these zeros to improve the transient response, and to obtain a unit gain response of the closed-loop system to make the response θ ( t ) follow closely the reference θ ( t ) . Then, the prefilter
P ( s ) = p 2 · ( s + p ) 2 A · ( a 2 · s 2 + a 1 · s + a 0 )
is used, which cancels two poles of the closed-loop system, reducing the order of the overall system. The resulting transfer function is
M 0 ( s ) = P ( s ) · M ^ 0 ( s ) = p 2 ( s + p ) 2
Parameter p is set as big as possible to make the response as fast as possible, but taking into account the limitation of the saturation of the motors. Simulations carried out using a step command θ ( t ) of amplitude π radians as reference (it is a very demanding command signal) suggest that an adequate value is p = 10 . This value provides a fast response minimizing the saturation problem. Therefore, the regulator and prefilter parameters are calculated for p = 10 using (13) and (15), respectively:
C ( s ) = 0.1226 · s 2 + 2.452 · s + 6.13 s · ( s + 20.03 ) P ( s ) = 0.0613 · s 2 + 0.613 · s + 6.13 0.1226 · s 2 + 2.452 · s + 6.13

4.2. Antiwindup

Since we want to perform very fast trajectories, the control signal may produce motor saturation. In this condition, the control system works in open loop mode because the motor runs at its limit independently of the signal that is being fed back. Furthermore, when the control scheme incorporates an integral action as the one of the designed PID, the error signal keeps being integrated and the integral term of the controller keeps growing. This causes undesired overshoots and increases the time required to reach the desired position. This problem can be alleviated including an antiwindup term in the control system. The control scheme including the PID and the Antiwindup is represented in Figure 7.
Let us express the PID controller (10) in the standard form
C ( s ) = K + K s T i + s K T d 1 + s T d N
where the equations of the conversion from (10) are
N = μ · a 2 + a 0 μ a 1 a 1 a 0 μ K = a 2 1 + N T d = N μ T i = K N a 0 · T d
Then the antiwindup term A W ( s ) of Figure 7 is K A W / s , where the antiwindup coefficient is [30] K A W = 1 / T i T d . Considering the PID with parameters (17), the theoretical antiwindup coefficient is K A W = 19.9 . However, simulations indicate that the faster response is obtained using K A W = 7 . Figure 8 shows simulated responses to a 2 π radians reference input signal using controller (17) with an antiwindup of K A W = 7 , K A W = 19.9 and without antiwindup.

4.3. Smith Predictor

Even though the identified time delay is not a high value, closed-loop simulations of G 0 ( s ) with controller (17) and an antiwindup show that it deteriorates the control performance causing overshoot in the motor response. Then, the Smith predictor is developed to improve this response and implemented in the scheme as shown in Figure 9. Figure 10 plots simulated closed-loop step responses with and without a Smith predictor, showing that the overshoot is removed.

4.4. Friction Compensator

Brake-away and kinetic motor frictions limit the control precision. Precision can be improved by compensating the kinetic friction and maintaining the voltage input outside the motor dead-zone, in such a way that the motor keeps moving until it reaches the desired angle and the error becomes zero. Therefore, a friction compensator FC of the form
V c ( t ) = V r ( t ) + V f K · s i g n ( V r ( t ) ) , | V r ( t ) | + V f K > V f m i n V f m i n · s i g n V r ( t ) , | V r ( t ) | + V f K V f m i n
is proposed where V c ( t ) is the output of the compensator, V r ( t ) is the control signal modified by the antiwindup, and V f m i n = 0.9 V is the minimum voltage provided to the motor, which has been set slightly greater than the stiction brake-away voltage V f S to ensure a value outside the motor dead-zone. Simulations of this control system are shown in Figure 11. It is seen that a permanent oscillation is introduced in the steady-state and the motor is unable to drive the motor to the reference.
An error band of ± e m i n is established to avoid the previous oscillations. e m i n is determined by the minimum angular displacement that the motor can provide. Since V f m i n is the minimum voltage to move the motor, the minimum angular displacement of the motor is obtained when applying V f m i n during the controller sampling time, which is 25 ms. Several experiments yielded that a conservative value of this displacement (we want to avoid motor oscillation at all costs) is ±2 pulses, i.e., e m i n = ±2.4 in each wheel. Note that the quantization error introduced by the encoder is also included in this threshold.
The error band is introduced into the friction compensator (20) as follows:
V c ( t ) = V r ( t ) + V f K · s i g n ( V r ( t ) ) , | e ( t ) | > e m i n a n d | V r ( t ) | + V f K > V f m i n V f m i n · s i g n V r ( t ) , | e ( t ) | > e m i n a n d | V r ( t ) | + V f K V f m i n 0 , | e ( t ) | e m i n
where e ( t ) is the error between the reference θ ( t ) and the encoder measure θ ( t ) . Figure 12 represents complete control scheme including friction compensator (21) and Figure 13 shows the simulated closed-loop step response. Note that the motor response is more precise, faster and without overshoot if the friction compensator is used.

4.5. Stability Analysis

The stability of the closed-loop system is analysed in this subsection because the antiwindup introduces a nonlinearity that can unstabilize the system. In the following analaysis, we will assume that friction effects are completely removed by compensator (21).
The Smith predictor is a well-known scheme which stability has been proven in previous studies [31]. In the case of the nominal plant, it removes the time delay from the closed-loop. Then, the stability analysis of the combination of the PID, the Smith predictor and the antiwindup reduces to the analysis of the PID (18) with the antiwindup K A W / s applied to the process without the time delay, i.e., to G ^ 0 ( s ) . This system can be expressed in state-space form [32] as follows:
d x d t = ( F Q · H ) · x + ( G r Q · D r ) · θ ( G Q · D ) · θ + Q · V c U = H · x + D r · θ D · θ V c = s a t ( U )
where the values of the aforementioned vectors and matrices for the proposed controller take the following expressions, which correspond to the observer approach [33]:
F = 0 0 0 N T d , G r = K T i N T d , G = K T i N T d H = 1 K · N , D r = K · ( 1 + N ) Q = K A W T i 0 T , D = K · ( 1 + N )
where K A W is the antiwindup coefficient and T i , T d , N and K are the controller parameters expressed in the form of (18) that are calculated from the proposed controller (17) as expressed in (19).
As stated in [32], a system with a saturating actuator can always be reduced to the standard Lur’e system configuration with a linear system having a nonlinear feedback. For time invariant monotonic linearities, such as the saturation, sufficient conditions for stability can be obtained from the off-axis circle criterion [34]. Considering that the nonlinear feedback element is saturation, the linear system G ( s ) is given by:
G ( s ) = G c ( s ) · G ^ 0 W ( s ) 1 + W ( s )
where G c ( s ) and W ( s ) are given by the following expressions:
W ( s ) = H · ( s · I F ) 1 · Q G c ( s ) = H · ( s · I F ) 1 · G + D
being I the identity matrix.
Theorem 1.
If the linear system G ( s ) has all its poles in the left half-plane and a nonlinear feedback is closed with a saturation function, the closed loop is absolutely stable provided that a straight line through the origin can be given a nonzero slope, such that G ( j · ω ) + 1 is strictly to the right of the line. G ( j · ω ) + 1 will be strictly positive real (SPR) if it is situated to the right of the imaginary axis.
Proof. 
The proof can be found in ([34], p. 169). □
It is important to note that this theorem is different from Popov’s criterion [35] because G ( s ) does not need to be asymptotically stable, i.e., it can present a pole in the origin and because the geometric criterion for the asymptotic stability is that G ( i ω ) + 1 lies to the right of a line with a slope q 0 and is not restricted to the right side of a vertical line, as in Popov’s criterion [36].
The linear system G ( s ) for the proposed control scheme is expressed as follows:
G ( s ) = K A W · T d · s 3 + ( ( ( N + 1 ) · A 0 · K · T d · T i + B 0 · K A W · T d + K A W · N ) · s 2 + + ( A 0 · K · N · T i A 0 · K · T d + B 0 · K A W · N ) · s A 0 · K · N T d · T i · s 4 + ( ( B 0 · T d + N ) · T i + K A W · T d ) · s 3 + + ( B 0 · N · T i + B 0 · K A W · T d + K A W · N ) · s 2 + B 0 · K A W · N · s
where it can be seen that the linear system has all its poles in the left half-plane, and hence, the Theorem can be applied. The stability condition can be expressed as follows:
If there exists a constant q 0 such that for all ω 0
q · [ G ( j · ω ) + 1 ] [ G ( j · ω ) + 1 ] > 0
then the closed-loop system is asymptotically stable.
Numerical evaluation of expression (27) allows us to determine if the combination of the controller and the antiwindup gain leads to a stable closed-loop system. Figure 14 shows the Nyquist diagram of G ( s ) (26), and it can be checked that condition (27) is accomplished as the Nyquist plot remains always in the right of the imaginary axis. Therefore, system stability is demonstrated.
Robust stability is subsequently checked. 50 simulations have been carried out in which the nominal parameters of Table 1 have been modified randomly in ± 20 % (it is more demanding than the ± 14 % variation experimentally assessed). Step responses of all these simulations are represented in Figure 15 compared with the response of the identified nominal mean model. Results prove the convergence to the π radians reference in all cases. Moreover, the parameters A and B of the model in Table 1 comprehend robot dynamics (2) as expressed in (4) through the total inertia term J. Then, it is also demonstrated that changes in robot dynamics (variation of A and B) do not affect the control stability of the motors, and therefore, robot dynamics simplification assumed in (2) is considered acceptable for this work.

5. Results

Experimental results are presented in this section. The final control scheme represented in Figure 12 is implemented in the National Instruments control board through LabView software and few experiments are carried out. These results present the contribution of the advanced control schemes proposed to cope the non-linearities. The first part resume the obtained results focusing in the main motor behaviour. Then, the robot performance in accurate trajectories tracking and the influence of the advanced control schemes dealing with non-linearities is analysed.

5.1. Motor Control System

Again, a π radians step reference is used. The experiments are carried out with the robot on the ground, as it was conducted during the identification part, in order to load the motors with the real torque due to the mass and inertia of the robot.
In the first experiments, responses of the back-right wheel using the PID regulator (17) with and without prefilter are obtained. They are plot in Figure 16. Without prefilter, the transient response presents a big overshoot caused by the zeros of the PID. Once the prefilter defined in (17) is implemented along with the PID, this overshoot is significantly reduced. The remaining overshoot is caused by the saturation of the motor in this demanding reference change, which can be observed in the bottom plot of the figure.
Then the antiwindup scheme of Figure 7 is implemented along with the PID and the prefilter. The input reference used here will be twice the previous one, that is: a 2 π radians step reference signal is introduced to the motor control schemes. This reference was used previously during the antiwindup design. It provides better results of the antiwindup behaviour because the motor will saturate for a longer period of time. Thus, Figure 17 compares the response of the back-right wheel without and with the antiwindup, both the angular position and the control voltage. It shows that the antiwindup keeps the motor angle without over passing the reference signal even when introducing higher step reference signals.
However, a slight oscillation before reaching the reference is observed in Figure 17. This effect is caused by the time delay and is even more evident when applying the previous π radians step reference signal. The response of the control system with the inclusion of the Smith predictor scheme of Figure 9 is represented in Figure 18, both the angular position and the control voltage.
Now, the motors follow the trajectory as fast as possible without overshoot nor oscillation. However, when the motor is close to reach the reference signal its movement is discontinuous, that is, sometimes it stops and runs intermittently. Moreover, when it definitely stops, it has a noticeable steady-state error. This is the effect of the motor dead-zone (8). As it was explained before, when the control voltage is lower than a threshold the motors stop. This is shown in the control voltage curve: when the voltage gets inside the dead-zone region, motor stops, and control increases again the voltage until motor starts moving again. Introducing the friction compensator (20) in the scheme of Figure 12 yields the results plotted in Figure 19 in which a steady-state error in the range of the resolution of the encoder is obtained but a very small motor angle oscillation appears. Nevertheless, the mean value of the oscillation signal indicates that the steady-state error has been substantially reduced. However, introducing compensator (21) yields the results of Figure 20. This last experimental result shows how this last compensator avoids the small oscillations produced by the previous one while keeping the steady-state error of the motor angle inside the encoder error band.

5.2. Robot Trajectory Tracking

In the pursued application, the robot must perform fast manoeuvers in short distances to automatically reposition the whisker for continuing the haptic measurements. Then, the ability of the MWMR to track fast Cartesian trajectories is assessed. The fastest and most demanding references that can be requested to the robot are the step input signals, which have been used for all along this work. Nevertheless, it is a non desirable reference because it induces very high accelerations to the robot causing unexpected robot behaviors such as wheel slipping and robot wheelies. Thus, a suitable fast input signal is designed with a limited acceleration.
We design a simple Cartesian trajectory in which the robot displaces a determined distance along its longitudinal axis with a limited acceleration and deceleration value. The input reference (in time) consists in three stages: a first stage with constant acceleration in which the robot speeds up until the Cartesian position reaches half of the demanded path, a second stage of constant deceleration (the deceleration of the same magnitude as the acceleration) in which the robot decreases its velocity until it reaches the desired final position with zero velocity, and a steady-state third stage.
Two Cartesian trajectories were tested: a short move of 0.1 m and a long move of 1 m. The maximum acceleration and deceleration value was obtained by experimentation and it was set to 5 m/s2. Two sets of three experiments were carried out for each trajectory: the first set performs the manoeuver using our complete control system whereas the second set only uses the PID controller that was designed in Section 4.1 (which is a standard control system for these robots).
Figure 21 shows the time responses of one of the motors in these experiments. When the robot performs the Cartesian 1 m trajectory it is seen that the motor saturates and the PID control is not able to avoid the windup phenomenon, causing an oscillation until it reaches the reference signal. In the case of the Cartesian 0.1 m trajectory, the PID control response shows the expected overshoot due to the identified system delay. Moreover, both manoeuvers show a noticeable steady-state error in the final position angle of the motor compared to the input reference. Nevertheless, it is seen that these problems are avoided by our control system in both experiments, keeping the motors controlled when they saturate, cancelling the overshoot and minimising the steady-state error.
The PID control weaknesses are directly translated to the evolution (in time) of the robot position, represented in Figure 22. Robot position is measured by an optical camera-based system called Qualisys. As it can be verified in Figure 22, the results improve drastically when using our complete control scheme, approaching the input reference signal closer, earlier and without overshoot if compared with using only the PID controller. Thus, we can conclude that our control also improves robot tracking of Cartesian trajectories.

6. Conclusions

This article has been devoted to improve the positioning and trajectory tracking of a low-cost mecanum-wheeled mobile robot by developing an advanced process control system for the low-level control of the DC motors actuating the MWMR. We have proven that, by using a more sophisticated control system than a PID, a high performance positioning is achieved that will allow us to carry out our haptic application. In fact, by combining a PID with a prefilter, an antiwindup, a Smith predictor and a friction compensator, typical mechanical and hardware problems of low-cost mobile robots such as control overshoots, motor saturation, encoder quantization, hardware induced time delays and nonlinear friction effects are overcome. These components of the control system are well known typical ingredients of the advanced process control systems, that can be easily designed, and their suitability has been proven in industrial applications. Extensive simulations and experiments have proven the efficiency and robustness of the proposed control.

Author Contributions

Conceptualization, V.F.-B. and F.R.; methodology, V.F.-B., F.R. and A.S.-M.R.; software, A.S.-M.R. and L.M.-C.; validation, L.M.-C.; formal analysis, V.F.-B. and A.SM.; investigation, L.M.-C., V.F.-B. and A.S.-M.R.; resources, A.S.-M.R. and F.R.; data curation, L.M.-C.; writing—original draft preparation, L.M.-C. and F.R.; writing—review and editing, V.F.-B.; visualization, L.M.-C.; supervision, V.F.-B.; project administration, V.F.-B. and F.R.; funding acquisition, V.F.-B. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Grant PID2019-111278RB-C21 funded by MCIN/AEI/ 10.13039/501100011033 and “ERDF A way of making Europe”.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

Abbreviations

The following abbreviations are used in this manuscript:
PIDProportional–Integral–Derivative controller
DCDirect-Current
MWMRMecanum-Wheeled Mobile Robot
dofdegrees-of-freedom
PTPPoint-To-Point
HIDHardware-Induced Delay
ACPAdvanced Control Process
FPGAField Programmable Gate Array
FBFriction Block
EREncoder Resolution block
FCFriction Compensator
SPRStrictly Positive Real
Γ Motor torque
Γ T Motor torque without reduction gear
nReduction gear ratio
K m Motor electromechanical constant
VInput voltage
J m Motor inertia
J R Robot inertia
JTotal inertia
θ Motor angle
ν Motor viscous friction
Γ f Non-linear motor friction
G ^ Motor transfer function between V and θ
A, BMotor identified parameters
G ^ Motor transfer function between V and motor angular velocity
t s Settling time
P m Relation between applied voltage and angular velocity in steady-state
LTime delay
GMotor transfer function including time delay
V f Coulomb friction voltage
V f S Stiction brake-away equivalent voltage
V f K Kinetic friction equivalent voltage
V l Load torque in terms of voltage
V s a t Motor saturation voltage
θ q Encoder measure
V s Saturated input voltage
G 0 Motor nominal transfer function between V and θ
A 0 , B 0 Motor nominal identified parameters
L 0 Nominal time delay
G ^ 0 Motor nominal transfer function between V and θ
θ Motor desired trajectory
PPrefilter
θ f Output signal of the prefilter
CPID controller
a 2 , a 1 , a 0 , μ PID parameters
p 1 , p 2 , p 3 , p 4 , pPoles of the system
M ^ 0 Closed loop transfer function of the system without prefilter
M 0 Closed loop transfer function of the system with prefilter
A W Antiwindup transfer function
N, K, T d , T i PID parameters in standard form
K A W Antiwindup coefficient
V c Compensated input voltage
V r Control signal modified by the antiwindup
V f m i n Minimum voltage provided to the motor
e m i n Minimum motor angular displacement defining the error band
eError signal
F, H, Q, G r , G, D r , DVectors and matrices of the state-space system of PID and antiwindup
G Linearized PID and antiwindup system
W, G c Functions of the linearized system

References

  1. de Wit, C.C.; Lischinsky, P. Adaptive Friction Compensation with Dynamic Friction Model. IFAC Proc. Vol. 1996, 29, 2078–2083. [Google Scholar] [CrossRef]
  2. Bona, B.; Indri, M. Friction compensation in robotics: An overview. In Proceedings of the 44th IEEE Conference on Decision and Control (CDC-ECC ’05), Seville, Spain, 15 December 2005; pp. 4360–4367. [Google Scholar] [CrossRef]
  3. Conceição, A.S.; Moreira, P.A.; Costa, P.J. Practical approach of modeling and parameters estimation for omnidirectional mobile robots. IEEE/ASME Trans. Mechatron. 2009, 14, 377–381. [Google Scholar] [CrossRef]
  4. Rubaai, A.; Kotaru, R. Online Identification and Control of a DC Motor Using Learning Adaptation of Neural Networks. IEEE Trans. Ind. Appl. 2000, 36, 935. [Google Scholar] [CrossRef]
  5. Ramos, F.; Feliu, V. New online payload identification for flexible robots. Application to adaptive control. J. Sound Vib. 2008, 315, 34–57. [Google Scholar] [CrossRef]
  6. Mamani, G.; Becedas, J.; Feliu-Batlle, V.; Sira-Ramírez, H. Open-and closed-loop algebraic identification method for adaptive control of DC motors. Int. J. Adapt. Control Signal Process. 2009, 23, 1097–1103. [Google Scholar] [CrossRef]
  7. Hendzel, Z.; Kolodziej, M. Robust Tracking Control of Omni-Mecanum Wheeled Robot. Adv. Intell. Syst. Comput. 2021, 1390, 219–229. [Google Scholar] [CrossRef]
  8. Tu, K.Y. A linear optimal tracker designed for omnidirectional vehicle dynamics linearized based on kinematic equations. Robotica 2010, 28, 1033–1043. [Google Scholar] [CrossRef]
  9. Bouzoualegh, S.; Guechi, E.H.; Kelaiaia, R. Model Predictive Control of a Differential-Drive Mobile Robot. Acta Univ. Sapientiae Electr. Mech. Eng. 2018, 10, 20–41. [Google Scholar] [CrossRef] [Green Version]
  10. Moreno-Caireta, I.; Celaya, E.; Ros, L. Model Predictive Control for a Mecanum-wheeled Robot Navigating among Obstacles. IFAC-PapersOnLine 2021, 54, 119–125. [Google Scholar] [CrossRef]
  11. Ovalle, L.; Ríos, H.; Llama, M.; Santibáñez, V.; Dzul, A. Omnidirectional mobile robot robust tracking: Sliding-mode output-based control approaches. Control Eng. Pract. 2019, 85, 50–58. [Google Scholar] [CrossRef]
  12. Szeremeta, M.; Szuster, M. Neural Tracking Control of a Four-Wheeled Mobile Robot with Mecanum Wheels. Appl. Sci. 2022, 12, 5322. [Google Scholar] [CrossRef]
  13. Dhaouadi, R.; Hatab, A.A. Dynamic Modelling of Differential-Drive Mobile Robots using Lagrange and Newton-Euler Methodologies: A Unified Framework. Adv. Robot. Autom. 2013, 2, 1–7. [Google Scholar] [CrossRef] [Green Version]
  14. Hendzel, Z.; Rykała, Ł. Modelling of dynamics of a wheeled mobile robot with mecanum wheels with the use of lagrange equations of the second kind. Int. J. Appl. Mech. Eng. 2017, 22, 81–99. [Google Scholar] [CrossRef] [Green Version]
  15. Alakshendra, V.; Chiddarwar, S. Adaptive robust control of Mecanum-wheeled mobile robot with uncertainties. Nonlinear Dyn. 2017, 87, 2147–2169. [Google Scholar] [CrossRef]
  16. Ruderman, M.; Iwasaki, M. Observer of nonlinear friction dynamics for motion control. IEEE Trans. Ind. Electron. 2015, 62, 5941–5949. [Google Scholar] [CrossRef]
  17. Comasolivas, R.; Quevedo, J.; Escobet, T.; Escobet, A.; Romera, J. Modeling and Robust Low Level Control of an Omnidirectional Mobile Robot. J. Dyn. Syst. Meas. Control Trans. ASME 2017, 139, 041011. [Google Scholar] [CrossRef]
  18. Shao, K.; Tang, R.; Xu, F.; Wang, X.; Zheng, J. Adaptive sliding mode control for uncertain Euler–Lagrange systems with input saturation. J. Frankl. Inst. 2021, 358, 8356–8376. [Google Scholar] [CrossRef]
  19. Wu, W. DC motor parameter identification using speed step responses. Model. Simul. Eng. 2012, 2012, 189757. [Google Scholar] [CrossRef] [Green Version]
  20. Rodriguez, A.S.M.; Hosseini, M.; Paik, J. Hybrid Control Strategy for Force and Precise End Effector Positioning of a Twisted String Actuator. IEEE/ASME Trans. Mechatron. 2021, 26, 2791–2802. [Google Scholar] [CrossRef]
  21. Gruzman, M.; Weber, H.I.; Menegaldo, L.L. Time Domain Simulation of a Target Tracking System with Backlash Compensation. Math. Probl. Eng. 2010, 2010, 973482. [Google Scholar] [CrossRef]
  22. Santos, J.; Conceição, A.G.; Santos, T.L. Trajectory tracking of Omni-directional Mobile Robots via Predictive Control plus a Filtered Smith Predictor. IFAC-PapersOnLine 2017, 50, 10250–10255. [Google Scholar] [CrossRef]
  23. Castillo-Berrio, C.F.; Feliu-Batlle, V. Vibration-free position control for a two degrees of freedom flexible-beam sensor. Mechatronics 2015, 27, 1–12. [Google Scholar] [CrossRef]
  24. Mérida-Calvo, L.; Feliu-Talegón, D.; Feliu-Batlle, V. Improving the Detection of the Contact Point in Active Sensing Antennae by Processing Combined Static and Dynamic Information. Sensors 2021, 21, 1808. [Google Scholar] [CrossRef] [PubMed]
  25. Ogata, K. Modern Control Engineering; Prentice Hall: Upper Saddle River, NJ, USA, 2010; Volume 5. [Google Scholar]
  26. Olsson, H.; Åström, K.J.; Canudas De Wit, C.; Gäfvert, M.; Lischinsky, P. Friction Models and Friction Compensation. Eur. J. Control 1998, 4, 176–195. [Google Scholar] [CrossRef] [Green Version]
  27. Pennestrì, E.; Rossi, V.; Salvini, P.; Valentini, P.P. Review and comparison of dry friction force models. Nonlinear Dyn. 2016, 83, 1785–1801. [Google Scholar] [CrossRef]
  28. Virgala, I.; Frankovský, P.; Kenderová, M. Friction Effect Analysis of a DC Motor. Am. J. Mech. Eng. 2013, 1, 1–5. [Google Scholar] [CrossRef] [Green Version]
  29. Olejnik, P.; Awrejcewicz, J.; Fečkan, M. Modeling, Analysis and Control of Dynamical Systems with Friction and Impacts; World Scientific Publishing Co.: Singapore, 2017; pp. 1–262. [Google Scholar] [CrossRef]
  30. Åström, T.K. PID Controllers: Theory, Design, and Tunning, 2nd ed.; Instrument Society of America (ISA): Research Triangle Park, NC, USA, 1995. [Google Scholar]
  31. Bahill, A.T. Simple Adaptive Smith-Predictor for Controlling Time-Delay Systems. IEEE Control Syst. Mag. 1983, 3, 16–22. [Google Scholar] [CrossRef]
  32. Rundqwist, L. Anti-reset Windup for PID Controllers. IFAC Proc. Vol. 1990, 23, 453–458. [Google Scholar] [CrossRef]
  33. Åström, K.J.; Wittenmark, B. Computer-Controlled Systems: Theory and Design; Courier Corporation: Englewood Cliffs, NJ, USA, 2013. [Google Scholar]
  34. Narendra, K.S.; Taylor, J.H. Frequency Domain Criteria for Absolute Stability; Academic Press, Inc.: New York, NY, USA, 1973. [Google Scholar]
  35. Popov, V. Absolute stability of nonlinear systems of automatic control. Autom. Remote Control 1962, 22, 857–875. [Google Scholar]
  36. Cho, Y.S.; Narendra, K.S. An Off-Axis Circle Criterion for the Stability of Feedback Systems with a Monotonic Nonlinearity. IEEE Trans. Autom. Control 1968, 13, 413–416. [Google Scholar] [CrossRef]
Figure 1. Robotic platform: (a) 3D model; (b) real image.
Figure 1. Robotic platform: (a) 3D model; (b) real image.
Machines 11 00014 g001
Figure 2. (a) Complete amplifier scheme. (b) Equivalent amplifier scheme.
Figure 2. (a) Complete amplifier scheme. (b) Equivalent amplifier scheme.
Machines 11 00014 g002
Figure 3. Identification results for front-left motor: (a) motor angular velocity against time for some input voltage steps; (b) steady-state motor angular velocity against voltage supplied for a complete experiment.
Figure 3. Identification results for front-left motor: (a) motor angular velocity against time for some input voltage steps; (b) steady-state motor angular velocity against voltage supplied for a complete experiment.
Machines 11 00014 g003
Figure 4. Friction model identification diagrams: (a) Friction torque against motor angular velocity, (b) Friction torque against motor torque, (c) Steady-state motor angular velocity against motor torque.
Figure 4. Friction model identification diagrams: (a) Friction torque against motor angular velocity, (b) Friction torque against motor torque, (c) Steady-state motor angular velocity against motor torque.
Machines 11 00014 g004
Figure 5. Complete motor model scheme.
Figure 5. Complete motor model scheme.
Machines 11 00014 g005
Figure 6. Linear control scheme.
Figure 6. Linear control scheme.
Machines 11 00014 g006
Figure 7. Antiwindup scheme.
Figure 7. Antiwindup scheme.
Machines 11 00014 g007
Figure 8. Antiwindup scheme responses.
Figure 8. Antiwindup scheme responses.
Machines 11 00014 g008
Figure 9. Smith predictor scheme.
Figure 9. Smith predictor scheme.
Machines 11 00014 g009
Figure 10. Smith predictor scheme response.
Figure 10. Smith predictor scheme response.
Machines 11 00014 g010
Figure 11. System response with friction compensator (20).
Figure 11. System response with friction compensator (20).
Machines 11 00014 g011
Figure 12. Full control scheme.
Figure 12. Full control scheme.
Machines 11 00014 g012
Figure 13. System response with friction compensator and error band (21).
Figure 13. System response with friction compensator and error band (21).
Machines 11 00014 g013
Figure 14. Nyquist diagram of the linear system G ( s ) .
Figure 14. Nyquist diagram of the linear system G ( s ) .
Machines 11 00014 g014
Figure 15. Simulations considering random 20% model parameters variation.
Figure 15. Simulations considering random 20% model parameters variation.
Machines 11 00014 g015
Figure 16. Back-right wheel experimental results with and without prefilter.
Figure 16. Back-right wheel experimental results with and without prefilter.
Machines 11 00014 g016
Figure 17. Back-right wheel experimental results with and without Antiwindup.
Figure 17. Back-right wheel experimental results with and without Antiwindup.
Machines 11 00014 g017
Figure 18. Back-right wheel experimental results with and without Smith predictor.
Figure 18. Back-right wheel experimental results with and without Smith predictor.
Machines 11 00014 g018
Figure 19. Back-right wheel experimental results with and without friction compensator.
Figure 19. Back-right wheel experimental results with and without friction compensator.
Machines 11 00014 g019
Figure 20. Back-right wheel experimental results with and without friction compensator plus error band.
Figure 20. Back-right wheel experimental results with and without friction compensator plus error band.
Machines 11 00014 g020
Figure 21. Motor results during robot trajectory tracking.
Figure 21. Motor results during robot trajectory tracking.
Machines 11 00014 g021
Figure 22. Robot position X results (in time) during robot trajectory tracking.
Figure 22. Robot position X results (in time) during robot trajectory tracking.
Machines 11 00014 g022
Table 1. Identification results.
Table 1. Identification results.
ParametersABL (s) V f S (V) V f K (V)
Mean value1631.3219.970.05390.850.2898
S. deviation68.660.830.0040.000.0163
% variance9.89%10.81%14.44%0%9.19%
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Mérida-Calvo, L.; Rodríguez, A.S.-M.; Ramos, F.; Feliu-Batlle, V. Advanced Motor Control for Improving the Trajectory Tracking Accuracy of a Low-Cost Mobile Robot. Machines 2023, 11, 14. https://doi.org/10.3390/machines11010014

AMA Style

Mérida-Calvo L, Rodríguez AS-M, Ramos F, Feliu-Batlle V. Advanced Motor Control for Improving the Trajectory Tracking Accuracy of a Low-Cost Mobile Robot. Machines. 2023; 11(1):14. https://doi.org/10.3390/machines11010014

Chicago/Turabian Style

Mérida-Calvo, Luis, Andrés San-Millán Rodríguez, Francisco Ramos, and Vicente Feliu-Batlle. 2023. "Advanced Motor Control for Improving the Trajectory Tracking Accuracy of a Low-Cost Mobile Robot" Machines 11, no. 1: 14. https://doi.org/10.3390/machines11010014

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop