A Smooth Tour Construction Approach for a Mobile Robot with Kinematic Constraints

Mobile robots are increasingly used for service-like applications in which the service points are known and the mobile robot starts from a starting location, visits all the service points requested and returns to the starting location. The tour construction problem in these applications can be treated as a Travelling Salesman Problem (TSP). Classical tour construction algorithms that are proposed for the TSP find tours do not consider robot kinematic constraints. These tours may have sharp turns at some service points. When a mobile robot follows such a tour, it stops, turns and speeds up again. Therefore, the robots waste a considerable amount of power and time. In these cases, tour smoothing can be used to overcome this problem. However, smoothing an existing tour may result in unnecessarily long tours. In this study, a Smooth Tour Construction (STC) approach is proposed for mobile robots with kinematic constraints. The STC approach considers tour construction and tour smoothing concurrently. The logic behind the tour construction part of the approach is based on the Savings Algorithm (SA). The tour smoothing is based on Dubins' arc-line approach. Experiments are conducted for P3-DX robots in a laboratory environment. Comparisons are also drawn with various tour smoothing algorithms in simulation environments to demonstrate the effectiveness of the proposed STC approach.


Introduction
Nonholonomic mobile robots are increasingly used in environments such as offices, hospitals, houses and outdoors ( [1], [2]) for service-type applications.In these applications, the service points are known, and the mobile robot starts from a starting location, visits all the service asking points and returns to the starting location.This problem is a tour construction problem and can be treated as a Travelling Salesman Problem (TSP) [3] that finds a tour for a salesman who starts from a home location, visits a prescribed set of cities and returns to the original location via the minimum possible distance [4].
In the literature, there are studies which apply TSP to mobile robot path planning problems ( [5], [6]).In their work, Yu et al. [5] described how to apply a genetic algorithm to find a globally sub-optimal path for a robot group.They formulized the path planning problem for the robot group as a multiple Travelling Salesman Problem that employs either total-path-shortest or longest-pathshortest as the evaluating criterion.In [6], a heuristic-based TSP approach is applied to the tour construction problem of a mobile robot in a dynamic environment.In this study, a method that is a combination of the Savings and Dijkstra algorithms is proposed to construct tours in real time.It was shown through simulations and experiments that tours are constructed in real time.The proposed method also constructs a tour in cases of changes in the network structure.However, the works mentioned above do not consider mobile robot kinematic constraints during tour construction.Because the resulting tour of a classical TSP has sharp turns, when the mobile robot follows such a tour, it must slow down, orient itself and then accelerate.These turns take a significant amount of time.Therefore, smooth tours are preferred for real applications.Smooth tour construction which considers kinematic constraints is a difficult problem.
A similar problem is widely studied ( [8], [9], [10]) for classical start-goal oriented path planning problems, which differ from the TSP.In [8], a smooth path planning method for a car-like vehicle is presented.In [9], a smooth motion planning for differential driving mobile robots is presented.In [10], a smooth path planning approach is proposed and compared with path smoothing for a differential driving mobile robot with kinematic constraints.As mentioned before, start-goal oriented path planning differs from the tour construction problem considered in this paper.
There are a few approaches that consider mobile robot kinematic constraints for a Travelling Salesman Problem.In [11], the authors defined tour construction problems for mobile robots with kinematic constraints.They proposed an algorithm to smooth a constructed tour for a mobile robot.The tour smoothing is achieved using the circular arcs-lines [7] approach based alternating algorithm.Therefore, tour construction and smoothing are decoupled.
In this study, tour construction and smoothing are coupled for service-like problems, considering mobile robot kinematic constraints.Finding the optimal solution of a TSP is time-consuming because of the NP-Hard nature of the TSP.For this reason, the heuristic approach used in [6] is extended to take the mobile robot kinematic constraints into consideration.
In the following section, the mobile robot kinematic model, the Travelling Salesman Problem and the tour smoothing are briefly presented.In section 3, the proposed smooth tour construction approach is explained.An application of the proposed method for dynamic environments is also described.Experimental results for P3-DX robots in a laboratory environment and comparisons with various tour smoothing algorithms in simulation environments are described in Section 4. The conclusions are given in the last section.

Preliminaries
The problem considered in this paper is composed of two main components: the mobile robot kinematic constraints and the tour construction problem.In the following subsection, the kinematic model of a differential-drive mobile robot used in our laboratory is presented.Next, the basics of the tour construction problem, the Travelling Salesman Problem and the solution approach are given.

Mobile Robot Kinematic model and path tracking problem
Most Wheeled Mobile Robots (WMRs) have differential drives.The P3-DX mobile robot is an example of this type of robot (Fig. 1   In the compact form, the kinematics of the robot can be modelled by the equation where, in general, v and ω are the linear and the angular velocity of the mobile robot, respectively.These velocities are related to the wheel velocities ( , R L ν ν ) and can be expressed as where D is the width of the mobile robot from the centre of the left wheel to the centre of the right wheel and r is the wheel radius.Based on the kinematics model, it is obvious that the location and the orientation of the WMR body changes according to a differential drive by means of the voltages applied to the right and left wheels.If both the left and right wheels of the WMR move at the same speed (  In Fig. 2, R is the radius of a path followed by the mobile robot.The relationship between this radius and the two wheel velocities is given as follows: Note that under the assumption , 0 If a tour and its first derivative are continuous (e.g., combinations of lines and arcs of circles with a minimum turning radius that are tangent at some defined points), then a car-like or differential-drive mobile robot can track such a tour with zero tracking error [12].However, if the tour is continuous without a continuous derivative (e.g., just a combination of straight lines), only a differentialdrive mobile robot can track the tour with zero tracking error.However, in the case of such a tour, a differential mobile robot should stop, reorient itself and then accelerate at line-intersection points.During the application, these turns take a significant amount of time [13].Therefore, for differential-drive mobile robots, a continuous first derivative is preferable for tracking.The differential-drive mobile robot can track such a smooth tour using the following kinematic controller [14]: where , x y K K are positive controller parameters and v w are the linear and angular reference velocities, respectively.The linear reference velocity can be defined by the user, and the reference angular velocity can be calculated using the reference path curvature.The right and left wheel velocities can be found using the results of equation ( 4) and equation (2).

The Travelling Salesman Problem and tour smoothing
In the tour construction problems, the robot is required to visit a set of points and return to the starting location.This can be considered as a Travelling Salesman Problem (TSP).The TSP involves finding a route for a salesman who starts from a home location, visits a prescribed set of cities and returns to the original location in such a way that the total distance travelled is minimized and each city is visited exactly once [4].The TSP is one of the most widely studied combinatorial optimization problems [15].It requires a network modelling of the problem.A network can be represented as a graph G=(N, A), where N is a set of n nodes (vertices) and A is a set of arcs (edges).
Nodes describe places to visit, and arcs describe links between nodes in the network.The distance from node i to node j is denoted by dij.The nxn matrix is composed of distances between all the pairs of nodes.It is called the distance matrix where n is the number of nodes.This matrix is symmetric if dij=dji, otherwise it is asymmetric.The distance matrix is complete if each node is connected to the others, i.e. dij>0 i=1,..,n, j=1,…,n otherwise it is sparse.The number of possible tours exponentially increases by n; therefore, TSP is an NP-hard problem.Due to the NP-hard nature of the TSP, finding the optimal solution is either impossible or takes a very long time.In problems in which the real-time solution of the problem is necessary, heuristics, rather than exactsolution methods, are preferred.
The Savings Algorithm (SA) [16] is a typical tour construction method.It is flexible enough to handle a wide range of practical constraints [17].Although the Savings Algorithm does not guarantee the optimal solution, it constructs a tour very fast.It is shown that, on average, the results of the Savings Algorithm are 6.71% away from the optimal solution [18].It starts with a subset of points linked in a cycle and adds the others one by one until the cycle is complete.Therefore, it is a complete algorithm.The complexity of the algorithm is 3 ( ) n Ο [19].The aim of the SA is to maximize the cost saved over a previous tour at each step.The SA is flexible because of its applicability to various types of problems.
In [6], the SA was used to solve a real-time dynamic tour construction problem for a differential-drive mobile robot.A typical tour, T, constructed using SA for a given set of fully connected nodes is shown in Figure 3.Note that a differential-drive mobile robot can follow the tour in Figure 3 with zero tracking error.However, it will decelerate, stop and accelerate at each node, as in [6].These turns take a significant amount of time and cause errors in the sensors' perception of the environment.Note that the initial and final orientations of the mobile robot are also not considered in this tour.Assuming that the robot starts with an initial orientation of Step 1: Set Step 2: If not defined, set SA R and the arc-line approach in [7] and calculate the smooth Note that the approach in [7] finds the minimal length path between two points with described initial and terminal positions and tangents.In step 2, the orientations at each node can be directly assigned by the user.These can also be set to the value of the slope of the line between before-current nodes, current-after nodes or before-after nodes.The resulting tour obtained by the SA (Figure 3) is smoothed using the TS algorithm as in Figure 4.a.In figure 4.b., the Alternating Algorithm (AA) [11] is also used to smooth the tour constructed by the SA.In either case, smoothing a constructed tour may result in a longer tour depending on the radius of the smoothing arc.In this study, a coupled tour construction and smoothing are proposed for mobile robots with kinematic constraints.The proposed approach is given in the next section.

The proposed smooth tour construction approach
A mobile robot with kinematic constraints (i.e., a minimum turning radius) that starts from a node, visits the required nodes and returns to the same location can be treated as a Dubins TSP; it is still NP-hard [11].It can be solved using the approach in [11], but smoothing an existing tour may result in an unnecessarily long tour.A coupled tour construction and tour smoothing may reduce the tour.Therefore, a Smooth Tour Construction (STC) approach is proposed for mobile robots with kinematic constraints.The STC approach considers tour construction and tour smoothing concurrently.The logic behind the tour construction part is based on the SA tour construction method [6].Additionally, it uses the TS algorithm given in section 2.2.The proposed approach also considers the mobile robot's initial and final orientation., where i j ≠ .
iii-Sort the savings in a non-increasing order.Select the first i,j pair from the list and construct an initial Remove nodes i and j from k k t t + of tour T and calculate the savings for each inserted node j using one of the following cases:

ST in
Step 3 of the Main Step.
The STC algorithm adds one of the eligible nodes to the tour at each step by considering the smooth transitions in the tour.This is repeated until there are no nodes left in active N .It means that all the service requested active nodes were added in the planned smooth tour.Because of this property, the STC algorithm is complete.The STC algorithm uses the logic behind the Savings Algorithm in the tour construction part.As mentioned before, it is shown that, on average, the results of the Savings Algorithm are 6.71% away from the optimal solution [18].The STC algorithm differs from the Savings Algorithm during the cost calculations in Step 1 of the Main step.Note that the cost calculation of these smooth-sub-paths is independent of the problem dimension n.Therefore, this does not change the complexity of the algorithm; the , like the SA [19].
When the robot starts the tour from the home location, the proposed STC algorithm is used to construct the tour.If changes in service requests and/or arc status occur while following the tour, the current position of the robot is assumed to be connected to the home location.This is firstly handled in the Initialization Step.In Step 1, the unvisited remaining nodes are stored in ST .This is realized by omitting the case of k=1 in Step 1 of the Main Step.Therefore, the proposed approach can also be used for smooth tour construction in a dynamic environment as in [6].

Applications
Experiments and simulations were performed to show the effectiveness of the proposed approach.Experiments were conducted of the smooth tour construction of Pioneer 3-DX (P3-DX) mobile robots.Simulations were performed for test problems.

Experimental results for the tour construction of P3-DX Mobile Robots
A platform at the Eskisehir Osmangazi University (ESOGU) Artificial Intelligence & Robotic Laboratory [20] (Figure 5) was used as a test bed.The nodes and a picture of the laboratory environment are given in Figure 5.a-b.The laboratory is a 25-node test environment and is assumed to be fully connected without loss of generality.This platform was also used to test various planning algorithms on P3-DX robots ([6], [13]).
The P3-DX robot used in the studies has an on-board P3-800 computer with Linux OS.The sensors on the robot include a SICK LMS laser range finder, sonar sensors, a camera, and a compass.A wireless network is set for communication with other robots and computers.There are cameras on the ceiling for the localization.The location of each robot is calculated and sent to the robots via the wireless network.The low-level control of the robot is carried out using a behaviour-based control approach.The necessary behaviours, such as obstacle avoidance, wandering, moving toward the goal, tracking a reference path, etc. are developed.The mobile robot uses the "moving toward the goal" behaviour to track any tour with sharp turns.In this case, the robot decelerates, stops and accelerates at each node.
The acceleration and deceleration values are 300 2 / mm s , the translational velocity is 100 / mm s , and the angular velocity is 30°/ s during the tracking of such a path.The robot uses the "tracking a reference path" behaviour to track a given smooth tour.This behaviour uses the controller given in equation ( 4).During the experiments, it is observed that the mobile robot can track a smooth path with a radius of 35 cm with a translational speed of 100 / mm s without tracking errors.Higher translational speeds require a higher circular arc radius to move without slipping.A maximum translational speed versus the smoothing arc radius graph is observed as shown in Figure 6 for nonslip conditions.
In the experimental part, the algorithms SA, SA-TS and the proposed STC are compared in terms of travel distance and travel time.In the first application, the robot is assumed to be at node 1 (starting Node S) with an initial orientation angle of 0° and visits only nodes 1-14 and 17 and then returns to the charging point with an orientation angle of 90°.The SA plans the tour and the robot visits the nodes in the following order T= [1,2,3,4,12,5,6,7,10,17,8,9,11,14,13,1] as shown in Figure 7.a.The length of this tour is 2309.89cm, and the robot can complete this tour in 271.06 s.In the second application, when the robot arrives at node 5, nodes 15-16 and 18-25 request service after the robot has visited nodes 2,3,4,1 and 2. The cost of the completed tour is 727.23 cm, which was travelled in 82.6 s.In this case, the SA given in [6] is able to find a tour in such a dynamic case.The required remaining nodes are used to plan a tour T=[1, 2,3,4,12,5,6,7,10,17,8,9,11,14,13,1] as shown in Figure 7.b.The length of this tour is 2399.25 cm and the robot can complete this in 288.9 s.Note that these tours are followed by the mobile robot using the "moving toward the goal" behaviour; therefore, the WMR decelerates, stops and accelerates at each node.
In the third application, the SA-Tour Smoothing (TS) and Smooth Tour Construction (STC) are compared.The experimental settings are the same as in the previous applications (see Figure 7).Both SA-TS and STC have the same results as in Figure 8.a for a smoothing radius of 35 SA R cm

=
. In this case, the length of this tour is 2417.21cm and the robot can complete this tour in 241.7 s.For the case shown in Figure 8.b., the length of this tour is 2639.5 cm and the robot can complete this tour in 263.9 s.Although the tour lengths are increased compared with Figure 7, there is a decrease in travel time.Note that the tours are followed with the mobile robot using the "tracking a reference path" behaviour.
In the fourth application, the effect of the tour smoothing radius is examined.Considering the same experimental settings of Figure 7.a, the SA-TS and STC have different results, as shown in Figure 9.a-b, for a smoothing radius of 45 SA cm R = . The tour lengths are 2734.12cm and 2677.07 cm for the SA-TS and STC, respectively.The travel times are 141.4 s and 138.4 s for SA-TS and STC, respectively.Note for the radius of 45 cm that the linear translational velocity is increased to 193 mm/sec.For this linear velocity, the completion time of the tour produced by SA in Figure 7.a would be 164.2s, which is still higher than SA-TS or STC.

Comparisons of the SA, SA-ST, SA-AA, and STC methods
In this subsection, the results of the SA, SA-TS, SA-AA and STC are compared for all possible initial start nodes for the environment in Figure 6.During the simulations, the start node is changed and the planner is asked to visit all the nodes in Figure 6 and then return to node 1 again.Comparisons are made for the smoothing radius of 35 cm and 45 cm in Table 1 and Table 2, respectively.In these tables, the first column shows the initial start node, and TD and TT after the methods denotes the travel distance and travel time, respectively.The last row shows the average values of these values for all possible initial start nodes.
Note that in each table, the SA-TS, SA-AA or STC approaches increase the total travel distance.The average travel distance and travel time of SA-TS and SA-AA are higher than the proposed STC approach.
The STC also has a better average travel time than the SA approach.For the 25 node problem, the SA calculation time is approximately 3ms for all the initial start nodes.The STC method calculates the tours at approximately 0.3s.The travel time cost benefit is acceptable.For the lower values of the smoothing radius ( SA R ), the travel distance and travel time are almost the same for SA-TS and STC.The SA-AA has a higher travel distance and travel time.As the value of the SA R increases, the SA-AA values become better compared to SA-TS.It is the expected result, as given in [11].For the higher values of the SA R , the travel distance increases in SA-AA more than in the STC method.In terms of the travel time, the SA-AA has higher values compared with STC (Fig. 10.b).Although all the methods use the same translational speeds for the same smoothing radius, the STC outperforms the other methods for the travel time criterion.This is due to the logic behind the methods.In the SA-TS and SA-AA approaches, an existing tour is smoothed.Therefore, the same tour (i.e., the same order of the nodes is also used for a larger smoothing radius.On the other hand, the STC approach calculates different tours depending on the smoothing radius, i.e., the order of the nodes to be visited changes.

Start
The STC has the minimum average travel time value for a smoothing radius of approximately 90 cm.This can also be used to find the optimum tour smoothing radius value for the minimum time completion of a task in a given environment.

Comparison of SA-TS, SA-AA and STC on test problems from TSPLIB
The methods are compared with Eil51 and Eil76 TSP-test problems from TSPLIB [21] in terms of the average travel distance ( Fig 11).Considering the dimensions of the test problems, the range of the radius is selected between 0-5 units.Because they are test problems, no velocity is defined.
Considering Figure 11.a.b, the SA-TS and STC distances are almost the same at a radius interval of 0-2 units.They have the same cost values when 0 SA R → .The SA-TS has a better travel distance compared to SA-AA, the average travel distance of SA-TS increases more than the average travel distance for the STC method.This is also expected for the travel time in real applications.For Eil76, the tour calculation time is 0.1 s and 10 s for the SA-TS/SA-AA and STC methods, respectively.The drawback of the STC method is the tour calculation time cost.However, considering the acceptable durations of high-level planning [2] and the cost benefit of the STC, the calculation time is not a drawback for real-time applications.
As a result, the proposed STC method has an advantage over smoothing an existing tour for higher smoothing radius ( SA R ) values.The proposed approach can also be used as a decision support tool to determine the tour smoothing radius for a given specific environment for better travel time.

Conclusion
In this study, a smooth tour construction algorithm is proposed and tested for P3-DX robots and TSPLIB test problems.As the radius of the smoothing-arc increases, smoothing an existing tour leads to longer travel distances and travel times.Therefore, smooth tour construction is needed for efficient travel distance and travel time tours.The proposed approach can be used to find the optimal tour radius of the smoothing-arc for a minimum time tour for a given task environment.The proposed approach is also tested for dynamic cases.In future works, multi-robot applications will be considered.

Acknowledgements
This work was partially supported by the Research Fund of Eskişehir Osmangazi University under Contract 201215013.
(a)); the P3-DX has two main wheels attached to its motors and a caster wheel placed in the rear.Let R R (x ,y ) be the position of the robot, and R θ the heading of the robot.

Figure 1 .
Figure 1.a) Pioneer P3-DX mobile robot b) Representation of velocities and robot position the robot follows a straight line.If R L υ υ ≠ , then the robot turns in a clockwise or counterclockwise direction based on the velocities of the two wheels.In this way, this rotation generates a curvature, the centre of which is at the ICC (Instantaneous Centre for Curvature), as shown in Fig. 2.

R
of the mobile robot.

Figure 3 .
Figure 3.A typical TSP tour

init θ and finishes
the tour with a final orientation final θ , a typical tour of a SA can be smoothed using the following Tour-Smoothing (TS) algorithm , as in Figure 4.a. of smoothing arc SA R Output of the Algorithm: smooth tour ST, smooth tour cost cos SA R t ST .

Figure 4 .
Figure 4. Smoothing of a tour of a SA using a) the TS Algorithm or b) The alternating algorithm[11] Assume a mobile robot starts from a node with an initial orientation of start θ , is required to visit a set of nodes N and return to the same location with a final orientation of final θ .Let s T denote a whole tour or part of a tour and cost ( ) SA R s ST T denote the cost of the smoothing that results after applying the TS algorithm to tour s T .A detailed explanation of the STC algorithm that combines SA and TS is given below.Initialization Step: i-Set the robot's initial orientation +d -d for all pairs of i,j active N ∈ location is denoted by node 0. The value of index i is fixed to the current node of the robot in Step 2 and the initial smooth tour segment SA R ST is found in Step 3. Later, in the Main Step, the index value is kept as a second term in the smooth tour SA R

Figure 5 .
Figure 5.The ESOGU-AIRLAB: a) The placement of the nodes and b) A representative photo.

Figure 6 .
Figure 6.Maximum translational speed versus the smoothing arc radius

Figure 7 .
Figure 7. Test of the SA a) start Node is 1 and b) the start node is 5

Figure 8 .
Figure 8. Tours for SA-TS and STC for 35 SA conducted to find the effect of the radius of the smoothing arc ( SA R ) on the tour construction quality of SA-TS, SA-AA and STC for SA R values between 35 cm and 250 cm.The average travel distance and travel time values of the SA-TS, SA-AA and STC methods are calculated by considering all possible initial start nodes, as in the last row of Table 1-2.The velocity values for the travel time are calculated using Fig 6.The average travel distance and time versus smoothing radius graphs are drawn in Fig. 10.

Figure 9 .
Figure 9.The result of the tours for 45 SA R cm =

Figure 10 .
Figure 10.a) Average travel distance versus SA R graph, b)

Figure 11 .
Figure 11.Travel Distance versus SA R graph for test problems: a) Eil 51 and b) Eil 76 In the Main Step, the savings values are calculated by considering smooth transitions between the nodes and one of the eligible nodes is added to the tour.Note that there are three different types of savings calculations in Step 1 of the Main Step, depending on the insertion location of node j.If it is inserted just after the SA R

Table 1 .
The results of the methods for a smoothing radius of

Table 2 .
The results of the methods for a smoothing radius of