Motion control of nonholonomic robots at low speed

Many applications in robotics require precise tracking of the prescribed path. The aim of this article is to develop and verify by computer simulation a control design method which ensures that the “output” of the robot will move along a prescribed path. A virtual vehicle approach algorithm was used to track a predefined vehicle path. The idea behind this algorithm is that the movement of a virtual vehicle on a predefined path is controlled by a differential equation whose input is a control deviation representing the distance between a real and a virtual vehicle. The main advantage of the path-following approach is that, based on this approach, the feedback realized is invariant to the path.


Introduction
Advances in remotely controlled robots have made their applications possible in a variety of useful areas. This is due to the fact that in the last 20 years, there has been significant activity in the field of designing control algorithms for nonlinear dynamic systems, including different classes of mechanical systems, which also represent remotely controlled nonholonomic mobile robots.
Particularly extensive literature is devoted to the problems of movement with nonholonomic constraints with application to kinematic models of mobile robots. On the other hand, there are few works dealing with control in the presence of parametric uncertainty in the kinematic models of the robot.
Traditionally, the tasks of the robots are specified by the temporal parameterization of the path in the workspace to be monitored by the robot at each time point. However, in many applications, the path time parameter is not important compared to coordination and synchronization requirements between different degrees of freedom. Shape tracking role, for example, for a robot to draw an image in a Cartesian system, belongs to this category. In the traditional approach based on time parameterization of the shape, the desired shape is parameterized as a function of time Q(t). The current trajectory is q(t). The goal of the trajectory tracking controller is to achieve a control deviation Q(t) À g(t) to converge to zero if t ! 1. As stated by Chiu 1 and also in other sources, the control deviation Q(t) À g (t) does not indicate well how the desired path shape is observed.
The basic problems of controlling mobile autonomous robots can be divided into three groups 2 : point stabilization-the aim is to stabilize the vehicle in the desired configuration; trajectory tracking-the aim is for the vehicle to track the parameterized setpoints over time; path following, maneuver regulation-the goal is for the vehicle to track and converge at the same time.
It is important to understand the difference between path following and trajectory tracking. Anguiar et al. 3 outlined the basic difference between path following and trajectory tracking.
In the tracking problem, the main task of the controller is to follow the path if, a priori, its time parameterization is not known. In the problem of trajectory tracking, the role of the controller is to follow the path with a known time parameterization. Thus, trajectory tracking can be considered a special case of path following. One obvious advantage of path following is that there are cases, where the trajectory tracking problem is unsolvable, and there is a solution for path following. 4 However, the main advantage of the path-following approach is that, based on this approach, the feedback realized is invariant to the path. This means that if a mobile robot is initialized on a track with a suitable orientation, track independence guarantees that it will never leave the track. The trajectory tracking controller cannot ensure the track's invariance and thus cannot guarantee that the mobile robot will never leave the track. 2 Path following can even be used if the system has unstable zero dynamics. In the case of path following for a linear system with zero dynamics, better control quality can be achieved compared to trajectory tracking. 3 A common approach to the path-following problem is to parameterize the geometric path y d by a path variable q and then select a timing law for q. [5][6][7][8][9] In a path-following problem, the basic assumption is that the desired forward speed of the vehicle follows the desired speed profile, while the controller determines the direction of the vehicle speed so that the vehicle approaches the track. This control approach eliminates the trajectory tracking controller's aggressiveness by forcing the vehicle to converge smoothly (in a mathematical sense as a smooth function) to the track. 4 In the case of trajectory tracking, both the position and the speed of the vehicle along the desired path are controlled. Compared to trajectory tracking, path following has a smoother convergence to track and action signals are less pushed to saturation.
There are many examples of mechanical and robotic systems in which it is advisable to use controllers for path following as compared to trajectory track controllers. Examples include: walking robots, rehabilitation and exercise machines, teleoperators, bypassing obstacles, robotic manipulators, human-robot interaction.
Precise path following is useful for robots when welding, cutting, and drawing in indoor and outdoor navigation. If in these processes the controller is invariant on the track, this means that if the tool is set on the track, it will always remain on it even if it faces rough locations that can cause the tool to slow down.
The problem of path following deals with the design of a control algorithm that controls a controlled object (robot arm, mobile robot, ship, aircraft, etc.) to achieve following of the geometric track. The general approach to the pathfollowing problem is based on the parameterization of the geometric path y d by the path variable s.
The intuitive interpretation of the tracking problem is as follows: to determine the distance of the vehicle to the desired track, to determine the angle between the vehicle speed vector and the path tangent, and to reduce both data to zero without considering the time specification. This is done by controlling the forward speed so that it converges to the setpoint (constant in our case) and by acting on the orientation of the vehicle to get on the track.
Pioneering works in this area can be considered. 2,3 Feedback control strategies are important for mobile robots to compensate for fault variables and errors in initial conditions. Path following, trajectory tracking, and stabilization around constant configuration problems are treated as separate problems for nonholonomic mobile robots. This state is due to the lack of smooth static feedback state control algorithms.
A virtual vehicle approach algorithm was used to track a predefined vehicle path. 10,11 An intuitive interpretation of this algorithm is that the robot is controlled to move to a point on a predefined path in which the virtual vehicle is currently located.
The idea of this algorithm is that the movement of a virtual vehicle on a predefined path is controlled by a differential equation, whose input is a control deviation representing the distance between a real and a virtual vehicle. [12][13][14][15][16][17][18][19][20][21][22][23][24][25] Motion control of nonholonomic mobile robots at low speed Wheeled mobile robots constitute a class of mechanical systems characterized by kinematic constraints that are not integrable and cannot, therefore, be eliminated from the model equations. 14 Automatic control of nonholonomic robots has attracted the attention of the scientific and research community since the early 1980s. Already at the outset of this activity, Brockett 12 defined the necessary conditions for such systems, concluding that these systems are controllable in the case of an open control system but cannot be stabilized using smooth timeinvariant feedback. A number of time-varying control feedback algorithms have been developed to stabilize such systems.
The chosen path-following algorithm was tested for a four-wheel drive, where the two rear wheels were driving and the two front wheels were steerable. It is assumed that the conditions of nonautonomy are met.
The kinematic model of a four-wheeled robot was described as follows: where is the orientation angle of the robot relative to the x-axis ( Figure 1) and v is the forward speed of the robot, L is the distance between the axes of rotation of the front and rear wheels. The robot was tested to follow a path in the form of a semicircle with a radius r ¼ 5 m. The initial configuration of the virtual vehicle is given in polar coordinates, namely the radius of the circle r and the angle a. Control objectives are set by the constant d r . This is the maximum permitted distance between the robot and the virtual vehicle, and according to the above theory, for t !1, the following applies The last entered data at this stage are the constants of the controller that executes its own control algorithm. In our case, we used a proportional control algorithm according to equation (3) where q is an action variable and the difference d À ð Þ represents the control deviation.
The execution phase operates iteratively in a loop that ends when the virtual vehicle reaches the end of the predefined path. The first operation in this phase is to determine the actual distance between the robot and the virtual vehicle according to the following relation where X, Y and X V , Y V are Cartesian coordinates of the robot and the virtual vehicle, respectively. Furthermore, the socalled smoothness parameter k s is used to prevent the virtual vehicle speed from being changed by a jump and to determine the current reference angle d according to the relation For a four-wheeled robot, the new configuration is determined by equation (6) X For a virtual vehicle, the new configuration is determined as follows: The structure of the steering system is shown in Figure 2, and the given algorithm for following the robot path is shown in a clear form in the form of a flowchart in Figure 3.

Results of computer simulations
The objective is to obtain: recording of the path traveled by the robot from the initial configuration compared to the predefined path for the different starting positions of the robot; distance dependence between the robot and the virtual vehicle for different initial positions of the robot in the workspace depending on the number of iterations; obtaining the dependencies of the control deviation represented by the difference of the current desired orientation of the angle d and the current orientation of the angle depending on the number of iterations; and obtaining dependencies of the action variable q for a four-wheeled robot depending on the number of iterations.

Simulation 1
The objective of the simulation is to get information on how the path difference between the robot and the virtual vehicle r in a four-wheel robot converges to the predefined value d r .
The parameters are set as follows: the radius of the predefined arc of the semicircle: r ¼ 5 m, initial virtual vehicle configuration: r ¼ 5 m, a ¼ À60 , distance between axes of the front and the rear wheels: Initial robot configurations: Step of numeral integration: 0.04

Results and discussion
The graphical outputs obtained by the simulation are shown in Figures 4 to 6. The results obtained confirm the theoretical assumptions that the distance between the robot and the virtual vehicle converges to the predefined value d r ¼ 0.2 m (right top Figures 4 to 6). This is consistent with relation (2) presented in the theoretical formulation of algorithm for following of the predefined path. At the end of the followed path, the value d r was in all cases equal to d r ¼ 0.203 m. From the figures, it is clearly seen that the distance between the robot and the virtual vehicle converges to the  predefined value d r . In addition, it will be noted that the control deviation d À shown in section (d) of Figures 4 to 6 also converges with increasing iteration. This fact satisfies the assumption presented in the theoretical description of the path-following algorithm. When using the P-controller, the action variable is a

Simulation 2
The objective of the simulation is to find out the influence of parametric uncertainty in following the path of a four-wheeled robot, if the monitored parameter is the length of the robot between the axes of the front and rear wheel L.   The parameters are set as follows: The parameters except length L had the same value as in simulation 1. Only length L was changed, which was set as follows:

Results and discussion
The simulation found that if the length L varies from 0.2 m to 1.0 m, the convergence rate to value d r ¼ 0.2 m changes minimally, namely: for L ¼ 0.2 m, its value at the end of the distance traveled is 0.202 m, for L ¼ 1.0 m, it is 0.212 m.
As the iteration increases, the control deviation d À also converges. These results confirm the theoretical claim that the path-following algorithm under investigation is robust (Figure 7).

Simulation 3
The objective of the simulation is to determine the effect of parametric uncertainty in following the four-wheeled robot path on the distance value r at the end of the traveled path, if the monitored parameter is the robot speed v.
The parameters are set as follows: The parameters, except for the robot speed, had the same value as in simulation 1. Only the robot speed v, which was set as follows, changed:

Results and discussion
The graphical outputs of these four simulations for the indicated robot speeds are shown in Figures 8 and 9. From the graph section (b) of Figures 8 and 9, it can be seen that the change in robot speed compared to the nominal speed v ¼ 1.0 m/s has an impact on the r value read at the end of the path. The smallest deviation was achieved for speed v ¼ 1.2 m/s and the largest for speed v ¼ 0.75 m/s.
Keeping the speed of the robot is therefore important for the path-following algorithm under investigation. If the robot speed exceeded 1.20 m/s, the robot behaviour was unstable.

Conclusions
Three simulations were performed and their results presented. The first simulation focused on detecting convergence to a predefined path in a four-wheel robot. The second and third simulations concerned the determination of the effect of parametric uncertainty in the path following by a four-wheel robot. The monitored parameter was the length of the robot between the front and rear wheel axes and detecting the distance between the robot and the virtual vehicle at the end of the distance path if the uncertainty parameter is the speed of the robot.
The chosen control algorithm for path following enables tracking of a predetermined track by a fourwheeled robot, where the rear wheels are driving and the front wheels are steerable. The control algorithm converges to a predefined distance value between the robot and the virtual vehicle. This is in accordance with the relationship that results from the theoretical analysis of the algorithm. Path following by the robot is possible from any position in the robot workspace.
The control deviation of the robot angular orientation also converges to the desired angle orientation with increasing iteration, which is also in accordance with the conditions imposed on this algorithm.
From the simulations performed, it was found that the distance between the robot and the virtual vehicle after traveling a predetermined distance changes very little with the change in the distance between the axes of the front and rear wheels of the four-wheeled robot. In particular, the simulation found that if the length L varies between 0.2 m and 1.0 m, the convergence rate to d r ¼ 0.2 m changes minimally, namely: for L ¼ 0.2 m, is its value at the end of traveled path is 0.202 m; for L ¼ 1.0 m, it is 0.212 m.
From the simulations performed, it was found that if the specified speed of the four-wheeled robot is not observed during path following, this has a significant effect on the distance between the robot and the virtual vehicle r. In particular, the smallest deviation was achieved for speed v ¼ 1.2 m/s and the largest for speed v ¼ 0.75 m/s. Keeping the speed of the robot is therefore important for the pathfollowing algorithm under investigation. If the robot speed exceeded 1.20 m/s, the robot behavior became unstable.

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