The taxi function

This paper investigates the lane keeping control and the lateral control of autonomous ground vehicles, robots or the like considering the road agency formation unit (RAFU) functions. A strategy based knowing the real position of several points of the trajectory is proposed to achieve the lateral control purpose and maintain the lane keeping errors within the prescribed performance boundaries. The RAFU functions are applied to achieve these goals. The stability of these functions, their applicability to approach any arbitrary trajectory and the easy control of the possible error made on the approximation are useful advantages in practice.

INTRODUCTION Intelligent transport systems (ITS) vary in technologies applied: basic traffic signal control systems, automatic number plate recognition, speed cameras to monitor security systems and the like. Mechatronics systems (MS) include a combination of mechanical, electrical, telecommunications, control and computer science technologies. The robotics (R) involves design, construction and use of robots and draws on the achievement of computer, mechanical or electronic engineering and mathematics.
In particular ITS, MS and R include management metods such as automatic navigation systems, vehicle control and automatic driving. There are a multitude of papers about this topic. Here we cite some of them as example [1]- [5]. This work is conncerned about these topics, specifically about lane keeping control and lateral control.
There is a wide of literature on current developments in the field of lateral and lane keeping control of autonomous vehicle motions [6]- [8]. In robotics, for example, the concept of lane-keeping motion planning algorithms for mobile robots in order that the robot does not leave the lane if collision-free motion is available introduced in [9]. The road agency formation unit (RAFU) functions have been studied in Approximation Theory (the interested reader can see [10]- [17]). In this paper, the RAFU functions will be called the Taxi functions.
As when we use a taxi, the taxi driver take us to the destination, from knowledge of the exact positions of several points of the road centerline and a width of the route, our main goal in this work is to obtain RAFU continuous functions that connect the initial point with the final point of a certain trajectory without touching the sides of the road. To achieve this aim, we only need that the robot has the necessary technology to know the exact positions of some points of the route that it needs to follow at any time.
In this work we are not concerned about what the machine must do in case of any obstacle appears ❒ ISSN: 2089-4856 on the road. On this subject one can see for instance, [18]- [22]. Until now, RAFU functions have not been employed for this purpose. But given the ease and the accuracy with which these continuous functions approximate any step function and, therefore, any continuous trajectory, we think that the use of these functions in ITS, MS and R could be useful, specifically in lane keeping and lateral control. Moreover, the easy control of the possible error made on the approximation of the exact route is another advantage in practice.
In section 2 we solve the lane keeping and lateral control problems in case of the routes are straight and perpendicular all of them. Section 3 is devoted to solve the same problems in case that the trajectory is a continuous function. The lane keeping and lateral control problems in case of an arbitrary trajectory on the plane is studied in section 4. Concluding remarks are in section 5. This paper is illustrated with some examples.

2.
TRAJECTORY WHERE ALL ROUTES ARE STRAIGHT AND PERPENDICULAR Definition 1 Given an arbitrary function f defined in [a, b] and let P s = {x 0 = a, x 1 , ..., x s = b} be a partition, we define the RAFU Method on approximation to the function function f to all approximation procedure that uses functions C n defined in [a, b] to approach the function f where the functions C n (x) are defined by (1).
with p ≥ 1 a natural number. The functions C n (x), n ∈ N are called RAFU Functions.
, (x s , k s ) are the exact positions of the vertices of a trajectory E s (x) in which all streets are straight and perpendicular and suppose that it verifies that x i < x j for all 0 ≤ i < j ≤ s. With this notation, the following Proposition can be established.
with k i real numbers and where M s and m s are the maximum and the minimum of the k i , α x ∈ (0, 1) is a real number which depends only on x and (C n ) n is the sequence of RAFU functions associated to E s according with (1) and defined as (4).
A proof of Proposition 1 can be seen in [17].
The expression Error (n) = 2 K (Ms−ms) give us the maximum distance between the Taxi Function C n (x) and the real trajectory E s (x) along the road centerline. In this sense, fixed a certain K, for any n ≥ 2 we can know Error (n) and reciprocally.
In practice we would work in this way: first consider a maximum error bound Error (n), then we calculate δ(s) and K = Int[log 2 δ(s) ] and finally we find the value of n in order to determine the Taxi function C n (x) that the robot must follow.
Example 1 Suppose that the trajectory that a car must follow consists of 13 straight and perpendicular streets of 2275m long in total and it is given by means the step function In this case δ (s) = 100 and holds for all n ≥ 2 when K = 6 According to Proposition 1, for all x ∈ [20, 1400], In Figure 1 we represent the exact trajectory E 7 (x) (red color) and its continuous approximations C 40 (x) respectively (blue color). In section 2 we have applied the result to the particular case in which the journey is defined by a step function, but in [10] we studied how the RAFU functions can be used to approach an arbitrary discontinuous function.

TRAJECTORY DEFINED BY A CONTINUOUS FUNCTION
Suppose that inside a machine we know the exact positions of some points (x 0 , f (x 0 )), (x 1 , f (x 1 )), ..., (x n−1 , f (x n−1 )) and (x n , f (x n )) of a continuous trajectory f (x).
Definition 2 Let f be a function defined in [a, b]. The modulus of continuity of f , ω (f, h), is the maximum of |f (x) − f (y)| for all a ≤ x, y ≤ b, |x − y| ≤ h .

Case of a uniform net
Let [a, b] be an interval and suppose the case in which the values x i verify x i = a + i · b−a n for each i = 0, ..., n.
Let C n be the RAFU function associated to E n defined as (4) by C n (x) = k 1 + n j=2 [k j − k j−1 ] · F n,2 (x j−1 , x). Then, for all n ≥ 2 it follows that: and j = 1,..., n − 1 being M n and m n the maximum and the minimum of the k j respectively and α x ∈ (0, 1) a number that depends upon x.
Theorem 1 Let f be a continuous function defined in [a, b] and let P n = {x 0 = a, x 1 , ..., x n = b} be a partition of [a, b] where x i = a + i · h for each i = 0, ..., n and h = b−a n . Then there exists a sequence of radical functions (C n ) n defined in [a, b] as (1) such that for all n ≥ 2 being M and m the maximum and the minimum of f in [a, b] respectively and ω (f, h) its modulus of continuity. The proofs of Proposition 2 and Theorem 2 can be seen in [17]. According to these proofs, we define the functions E n (x) as in Proposition 1 but taking into account that k 1 = f (x 0 ) = f (x 1 ) and k i = f (x i ) for all i = 2, ..., n and then its corresponding Taxi functions C n (x) as in (4). In practice we would work in the same way that we have mentioned in section 2.
Example 2 Given a route defined by the continuous function f (x) Under the hypothesis of Theorem 1, we know that In Figure 2 we show the results for n = 100. It is important to observe that it is not easy to find the error Error (n) in Theorem 1 because of he difficulty to obtain the term ω (f, h). So, what can we do? In practice, we can calculate ∆(f ) = max 1≤i≤n |f (x i+1 ) − f (x i )| and we could take this value instead of ω (f, h). Some advantages of the use of the Taxi functions: • The value of n for the functions E n (x) and C n (x) is the same.
• The stability of the Taxi functions improves the instability of other families of approximating functions and this is an important contibution of this work. This can be inferred from Proposition 2 where we can deduce that between each two consecutive values x r and x r+1 the Taxi functions C n (x) take values between k r and k r+1 . • The functions F n,p in (2) do not depend on the points x i but only on the subindices i (see p. 114 [12]).
So, this reduces the calculations involved. • The Taxi functions C n (x) can be obtained with the only condition that the trajectory to approach is a continuous function. • According to Proposition 2, the maximum error bound made with the Taxi functions depends only on parameters that are known.

Case of a non uniform net
Suppose the case in which the values x i form a non uniform net. In this case an analogous result to the Teorem 3.1 can be obtained.
for all n ≥ 2 and x ∈ [a, b] being M and m the maximum and the minimum of f respectively and ω (f, h) its modulus of continuity.
A proof of Theorem 2 can be seen in [17].
To obtain the Taxi function C n (x) we woul work as in the previous subsection. The same advantages hold in this case too.

CASE OF AN ARBITRARY TRAJECTORY ON THE PLANE
Suppose the information we know inside a machine is the exact position of some values (x 0 , T (x 0 )), (x 1 , T (x 1 )), ..., (x s−1 , T (x s−1 )) and (x s , T (x s )) that belong to a continuous trajectory on the plane (x, T (x)).
Here we study what we can do when this trajectory is not a function.
As (x, T (x)) is not a function, without loss of generality we can suppose that x 0 < ... < x i ⩾ x i+1 for a certain i. There are two possible cases. 1). Case 1. It verifies that x 0 < ... < x i ≥ x i+1 and T (x i+1 ) < T (x i ). Then we use the equations of the rotation around the center (x i , T (x i )) and through the angle α = 90º to turn the points (x i+1 , T (x i+1 )), ..., (x s , T (x s )) into (x i+1,2 , T (x i+1,2 )), ..., (x s,2 , T (x s,2 )) respectively 2). Case 2. It verifies that x 0 < ... < x i ≥ x i+1 and T (x i+1 ) > T (x i ). Then we use the equations of the rotation around the center (x i , T (x i )) and through the angle α = −90º to turn the points (x i+1 , T (x i+1 )), ..., (x s , T (x s )) into (x i+1,2 , T (x i+1,2 )), ..., (x s,2 , T (x s,2 )) respectively ❒ ISSN: 2089-4856 In this way, we will reproduce the cases 1 and 2 as many times as necessary until the initial points (x 0 , T (x 0 )), (x 1 , T (x 1 )), ..., (x s , T (x s )) have been turned into other points (x 0 , T (x 0 )), ..., (x s,q , T q (x s,q )) in which x 0 < ... < x s,q . So, the initial trajectory (x, T (x)) becomes a continuous function F (x) to which we can apply the explained in section 3. After then, we obtain the Taxi function C n (x) associated to F (x) for a certain n and then we recalculate for each x ∈ [a, b] its the corresponding point of the real trajectory according to all the inverse rotations that this x has tested in order to give to the robot the real information to follow.

CONCLUSION
The RAFU method on approximation is an original approximation procedure. In this work we have showed how this method can be used to solve the lane keeping and the lateral control problems in intelligent transport systems, specifically in robot navigation. Given a trajectory on the plane, the Taxi functions can be useful to provide the necessary information to a vehicle in order to go from a place to another one autonomously. The proposed method holds for any trajectory and it does not depend on its regularity. Moreover the error bound that the Taxi function provides does not depend on any unknown parameter or of the regularity of the trajectory. Given the conciseness of the results of this paper, we believe that these avenues of research deserve some attention.