A Revision of the Navigation Path Based on Different Objects

This study is about a mobile robot navigation. Navigation algorithms are needed to move mobile robots. Thanks to these algorithms, the navigation of robots from the specified starting point to the target point is provided. However, avoiding obstacles while navigating the robot is one of the requirements that a standard navigation algorithm need. For obstacle avoidance, a navigation path is created by taking into account the obstacles on a known map. Another method is to actively scan during navigation and choose the paths without obstacles. On the other hand, classical obstacle detection or obstacle avoidance algorithms ignore whether objects are human or nonliving. Thus, all obstacles are seen the same and the robot follows its path by avoiding these obstacles. On the other hand, treating people as a classic obstacle is one of the most important shortcomings of current navigation algorithms. In such a situation, people may be disturbed by the presence of robots. Especially after a Covid-19 pandemic, people need more space even between other humans. For this reason, obstacle avoidance algorithms encountered in classical navigation algorithms should be revised based on the presence of people so that a better navigation scheme will be created. In this context, a distinction is made between humans and other objects in this study. The robot updates the navigation paths by taking into account a social distance to people based on the proxemics theory. Thus, by providing the social distance people need, it has been able to create a navigation that will make people feel more comfortable.


Introduction
The use of robots has been increasing day by day in every aspect of our daily life. In particular, robots that can perform repetitive tasks have become a standard choice for industrial use. By choosing robots instead of humans in factories, faster, safer and better results can be produced. In addition, the use of mobile robot technology is still in its infancy. It is obvious that as mobile robots and their features develop, they will find more applications in our daily lives [6][7]. The use of robots of this type traditionally requires more care than robots that are fixed to a point and make certain movements. For example, specific steps will be indispensable for a robot that will move from one location to another. Some of these steps are that the robot should recognize its environment, locate itself in the environment, create a motion plan, make revisions accordingly in case of any interruption or roughness in the motion plan it creates. In general, these features are discussed in the literature under titles such as sensing, localization, motion planning, and obstacle avoidance in mobile robots. This study deals with the motion planning problem of a mobile robot from a different aspect.
Motion planning examines which path a mobile robot is to follow between its starting and target points. The robot tries to find the most suitable path for it from free zones on an existing map (global planning). While performing its movement on the found path, it may encounter possible obstacles that are not previously specified on the map. In such situations, it also uses the local planning module to avoid obstacles. There are many algorithms developed in the literature in accordance with the mentioned scheme [11][12].
On the other hand, the movement of mobile robots between humans involves different difficulties compared to the classical navigation scheme [8]. One of the main reason for these difficulties that the fact humans are a dynamic object. Furthermore, one of the important facts that should be taken into account when moving mobile robots in human environments is human-robot interaction. People can easily move around in the community without hitting or disturbing each other. This is an easy and ordinary function for human beings. However, a similar situation is not the case for robots. In a classical navigation scheme, people are perceived as ordinary objects and the robot passes them without crashing [6]. However, this is not appropriate considering the interaction of people with robots. People have difficulty in predicting the action of different types of things that are not similar to them, and this causes discomfort.
When addressing these types of problems, mobile robots must consider whether the obstacle is human or not, in addition to the path planning or obstacle avoidance scenarios required for moving in environments where they can also encounter with humans. When robots perform their movements on the planned paths, they should aim not to disturb people by following a different strategy while passing people. Accordingly, the waypoints obtained by the path planning algorithm must be updated according to the object information on the existing area.

Related Works
Mobile robots offer many advantages to users thanks to their different features. With the inclusion of mobile robots more in our lives, tasks such as elderly care and package delivery has started to become possible. One of the indispensable features required for mobile robots to perform different tasks is path planning / navigation schemes. With navigation schemes, robots can reach the desired target point by avoiding obstacles. Sensor-based random tree (SRT) approach improved in [1]. The algorithm tested on Player/Stage and MRDS platforms. [2] Nie & Zhao studied Dijkstra algorithm to find efficient path for the robot. They also offered Ant Colony Optimization method for their approach. The improved algorithm was tested on the Matlab platform.
As a social being, humans are also in a social relationship with their environment. This relationship is determined by written or unwritten rules and is carried out by people reciprocally. Similarly, these rules are shaped by different characteristics such as age, gender, and culture. For example, it is a cultural diversity for a person to choose the right or left side while walking on the road. Similarly, in different societies, the distance between people means different things. While interpersonal distance is farther in western societies, this distance may be shorter in eastern cultures. Physical distance between humans, on the other hand, can be standardized by an approach known as proxemics theory [9]. In this approach, there are different distances in human relations according to different social cases. People know and apply these unwritten distance rules. However, this distance can be violated if robots treat humans like a classical obstacle. In this case, the question arises whether classical path planning algorithms should be updated in a human-aware manner. This question has recently appeared in the literature as human aware navigation (HAN) or socially acceptable navigation. The main purpose of these algorithms is to operate robots at a more acceptable social level in human environments.  [4]. They used well-known Turtlebot to perform their algorithm and called their system as TutrtleSeek. A comprehensive review about HAN was presented in [5].
Furthermore, HAN studies have been improving with social scenarios. Those scenarios usually involve a group of people instead of one person. Besides, further investigations have been developing for different type of human passing scenarios or approaches to humans. Those studies generally referred as socially aware navigation schemes. In [6], Tung et al. emphasized the safe and social navigation of a robot in environments where human beings are present. They offered a proactive social model for robot navigation and tested their algorithms both in simulation and real-time environments. Che et al. [7] combined haptic technology with robot movements in order to develop robot-human communication. It is possible to avoid potential collisions with their compound approach. A detailed study that shows the recent trend in socially aware robot navigation was presented in [8].

Materials and Methods
This study handles a mobile robot and its navigation according to the path planning algorithm. As a motion model of the mobile robot, it is benefitted from a differential drive model which is frequently used to design the mobile robots. PRM algorithm is used for path planning and determining the waypoints.

Robot Model
Mobile robots can be designed based on different types of motion mechanisms. These vary from a unicycle or bicycle models to differential drive or Ackermann type models. Nevertheless, it is widespread to use differential drive kinematics for mobile robot design. In this type of robot, the rear two wheels can move forward or backward independently. These wheels are connected to each other via an axle. Classically, it has one or two ball caster in front (Fig. 1).

Fig. 1. The robot model used in the study
Within an O-centred, x-y coordinate 2D plane, the pose information of the mobile robot based on a differential drive kinematics can be described as (x,y,θ) parameters. (x,y) is a translation of the robot centre from the O-centre, (θ) is the heading angle of the robot. The parameters, which is necessary to design of this type of vehicles, (L), is a distance between the wheels and (r) is a radius of the wheels. The speeds of the right and left wheels are represented by u_R and u_L, respectively. While performing robot rotation operations, the right and left wheels' speeds can be calculated based on the common turning point Instantaneous Centre of Curvature (ICC) [10].

Probabilistic Road Map (PRM)
Mobile robots need a path plan to reach the final destination from a starting point. Thanks to these path plans, the robot's waypoints are defined. These paths should be in accordance with the constraints of the robot and on free zones on the map. There are many algorithms in the literature for path planning. Some of the well-knowns are A*, Dijkstra, PRM, RRT. These algorithms have some advantages and disadvantages compared to each other. A detailed comparison of path planning algorithms can be seen in [11]. In this study, PRM algorithm has been chosen as a path planner due to its prominent features such as computational speed on finding the waypoints, covering the whole map etc.
PRM algorithm selects random sampling points in the existing map and establishes links between these points. Variables such as the link distance, the number of random points can be considered as the basic inputs of this algorithm. The points selected in the sample environment are called nodes (V), and the connection of these points to each other is called the edges (E). Thus, a G=(V,E) graph can be created. On this graph, the shortest path connecting the starting and ending points is accepted as a path plan for the robot [12].

Implementation
A robot with a differential motion model is used in the study. The robot has been given start and target positions. Thanks to the PRM algorithm, the most suitable path has been obtained between the starting and target points. A map with different obstacles and free spaces is used to realize the mentioned scenario. The map used in the study is a type of occupancy grid. Free zones are represented by 0, and zones with obstacles referred as 1.
A 60x60 map with different obstacles is given to the PRM algorithm. According to the results of a series of trials, the number of nodes of the PRM algorithm is chosen as 200, and the connection distance between nodes (edges) is chosen as 10. These selected values can be updated according to different environments and conditions. In these conditions, the robot is asked to reach the target point from the start. Starting and target points is defined as to According to the PRM algorithm, different waypoints are first obtained as in Figure 2. If Figure 2 is examined carefully, the obstacle on the map, known to be human, is considered as a standard object and a path plan has been made so that the robot will pass near this object. However, this situation will possibly disturb the person. In this context, considering the proxemics theory, if a transition point is defined next to human objects, these transition points should be updated. The algorithm to determine and update the waypoints is as follows (Algorithm 1).

Algorithm 1. Waypoints determination and update
According to the algorithm and implementation, the path found by PRM and revised version of it as in Figures 3 and 4. During the navigation process robot pose information for each iteration is as in Figure 5  When these results are examined, the robot first considered the situation of being a human close to the waypoints on the path it planned. If necessary, the algorithm has updated the waypoints according to the human.

Conclusion and Future Works
This study is about revising the navigation path of a mobile robot according to the type of obstacles. The environment map, which involves the obstacles with their information is accepted as known initial conditions. Thus, the navigation algorithm creates a path for itself by making an appropriate selection from the free zones that the robot can go. However, the algorithm sees all obstacles equally and does not consider whether the obstacle is a human or any object. In this case, people may be disturbed by the presence of robots. In order to prevent this, the navigation algorithm has been updated based on social distance in the parts where people are. In this way, the robot tried to reach the target point by considering a certain distance in the sections where there are people. The navigation algorithm developed in the study is tested on a map where parts representing humans and other obstacles are present. The robot moves based on the proxemics theory requirements when it encounters with a person.
As a future works, it has been planning to implement the mentioned navigation plan for a different type of path planning algorithms.