Next Article in Journal
Mechanical Design of a Biped Robot FORREST and an Extended Capture-Point-Based Walking Pattern Generator
Next Article in Special Issue
Coordinating Tethered Autonomous Underwater Vehicles towards Entanglement-Free Navigation
Previous Article in Journal
Variable Damping Actuator Using an Electromagnetic Brake for Impedance Modulation in Physical Human–Robot Interaction
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Experiments on the Artificial Potential Field with Local Attractors for Mobile Robot Navigation

by
Matteo Melchiorre
1,*,
Laura Salamina
1,
Leonardo Sabatino Scimmi
2,
Stefano Mauro
1 and
Stefano Pastorelli
1
1
Department of Mechanical and Aerospace Engineering, Politecnico di Torino, 10129 Torino, Italy
2
Brooks Automation Inc., Chelmsford, MA 01824, USA
*
Author to whom correspondence should be addressed.
Robotics 2023, 12(3), 81; https://doi.org/10.3390/robotics12030081
Submission received: 3 May 2023 / Revised: 30 May 2023 / Accepted: 5 June 2023 / Published: 7 June 2023
(This article belongs to the Special Issue Collection in Honor of Women's Contribution in Robotics)

Abstract

:
Obstacle avoidance is a challenging task in robot navigation, as it requires efficient and reliable methods to avoid collision and reach the desired goal. Artificial potential field methods are widely used for this purpose, as they are efficient, effective, and easy to implement. However, they are limited by the use of only one global attractor at the goal. This paper introduces and evaluates experimentally a novel technique that enhances the artificial potential field method with local attractors. Local attractors can be positioned around the obstacle so as to guide the robot detouring through preferred regions. Thus, the side the robot will pass by can be determined in advance, making the collision-free path predictable. The technique is formulated by modelling local attractors as optimal inflections, i.e., regions that do not show local minima, which coexist with the potential field generated by the obstacle and the global attractor. The method is validated using a laboratory setup that employs a camera and markers to track the poses of the robot, the obstacle, and the target. A series of experiments are conducted to examine the effect of the local attractor under different test conditions, obtained by varying the obstacle pose, the attraction intensity, and the robot velocity. The experimental results demonstrate the effectiveness of the proposed technique and highlight the aspects that require further investigation for its improvement and application.

1. Introduction

In 1986, Khatib proposed the use of potential fields for real-time collision avoidance for manipulators [1]. The idea was based on a control law designed from a scalar function, the so-called Artificial Potential Field (APF), that shows high-potential regions nearby the obstacles and low-level potential at the goal: by choosing the negative gradient as the command vector in terms of virtual force, the robot is attracted by the goal and pushed away from the obstacles. In contrast with global methods, where the collision-free path is computed based on prior information on the environment, APF was soon recognized as a local planner, because the trajectory is adjusted according to what is detected in the robot’s proximity. The method was so easy, effective, and efficient that made the APF one of the most researched topics in robot navigation for decays afterwards.
Over the years, findings have mainly focused on improved versions of the original algorithm. In particular, the local minimum problem has received a lot of attention. A local minimum represents a region where the robot gets stuck, as the gradient goes to zero. One possible solution is formulating the potential field by means of functions that do not suffer from local minima under certain conditions, such as the superquadratic potential function [2], the navigation function [3], and the evolutionary APF [4]. Another approach consists in temporarily moving the goal, that is, if the robot gets trapped in a local minimum, the global goal is suppressed until the robot reaches a sub-goal. Studies distinguish the way the subgoal is selected. For example, [5] calculates the subgoal by preference functions that identify a convenient collision-free direction; [6] considers virtual targets using random samples from feasible space; [7] appoints local targets by geometrical rules that take into account relative positions between robot, obstacle, and global goal. Alternative methods consider applying virtual forces nearby local minima in order to escape. In [8] a force in a random direction is added at the local minimum in order to break the equilibrium; the modified APF proposed by [9] uses an additional force pointing towards a guide point that is obtained according to robot, obstacle, and target positions; ref. [10] consider inflating the repulsive potential field around the obstacle to deviate from local minima and to avoid narrow passages.
Another drawback of APF is the oscillation at the goal or in correspondence of the discontinuity of the potential field [11]. For instance, if the robot undergoes a virtual force, a dissipative term may be considered for asymptotic stabilization [1]. However, there are cases in which an obstacle is so close to the target that makes it unreachable due to repulsive effects. This issue can be dealt with by scaling the potential field of the obstacle as the robot approaches the target [8,12,13]. It is also important to smooth the active region of the repulsive potential to avoid a discontinuity at the contour [14].
Some studies moved towards a more practical interpretation of APF, that considers a velocity vector as a robot command. As for virtual forces, one can combine attractive and repulsive velocities to obtain the desired robot motion. For example, in [15] the repulsive velocity is obtained directly as a function of the distance from the obstacle; similarly, in [16] the robot is driven towards a dynamic target by adjusting the direction and the magnitude of the velocity command; the work [17] uses attractive and repulsive velocities calculated from geometries around the obstacles to influence the robot path. Another option is computing the gradient of the APF [18]. In fact, by tracking gradient lines, the robot follows collision-free paths. More in general, gradient lines can be adjusted with additional terms to generate convenient paths, for example using tangential fields [19,20], or selective attraction [21].
To overcome the drawbacks of APF, more recent studies employ hybrid approaches, which use potential fields in combination with optimization techniques. For example, particle swarm optimization [22] or membrane structures [23] can find the best parameters of the APF for a feasible and safe path; similarly, optimization problems are proposed by [24] to select the direction of motion that gives the shortest path; in [25], reinforcement learning is exploited to train the robot how to deal with different local-stable points.
In the end, the overview of APF-based techniques shows that there is plenty of literature to improve potential fields with a single goal and multiple obstacles, but there is a lack of contribution on how to deal with multiple attractors at the same time. For example, assume that the robot must reach the target by passing through a strategic point. The trend is to move the global attractor from the target, so as to have the global minimum at the strategic point. Once the point is reached, the global minimum is set again at the target. It is the case with the subgoal [5] and the virtual target [6,7].
A novel potential field with local attractors has been formulated by [26]: the target, i.e., the global attractor, is modelled as a quadratic function, while local attractors coexist as inflections of the potential field, without being local minima. The role of local attractors is to influence the robot to go through specific areas. In particular, local attractors can be placed around the obstacle to influence the collision-free path. The motivation of [26] was to find a simple and effective solution to deal with obstacles in a predictable manner. In this case, the word “predictable” indicates the possibility to define a priori the side the robot will pass by. This can be fundamental when there are preferred collision-free paths with respect to the obstacle.
For instance, if the obstacle is a human, there are additional challenges because of emotional reactions. In [27] it was observed that the robot should not block the human path; for this purpose, a virtual force is used to cause the robot to detour around behind the human. Moreover, socially acceptable pre-collision criteria suggest that choosing a certain side when crossing the human path can improve the legibility of robot motion [28]. At the same time, in a shared environment, legibility is related to effective locomotion, as it implies minimum effort for all agents [29]. Similar aspects arise in human-robot collaboration, where controlling the robot trajectory toward predictable regions may result in more fluent interaction [30].
The work [26] has taken the first step in theoretical modelling of the artificial potential field with local attractors. Simulations with a mobile robot showed that it can avoid the obstacle of choosing the local attractor side, even considering different approaching directions. This paper extends the results of [26] to a real robot. The key contributions can be summarized by the following points:
  • validation of the potential field with local attractors through laboratory tests;
  • proposal of an essential experimental setup that can run the potential field with local attractors in real-time;
  • experimental analysis of the influence of obstacle pose, local attractor intensity, and robot velocity;
  • analysis of the strengths and limitations of the proposed method on the base of the experimental results.
The paper is organized as follows. In the next section, a summary of the theory behind the potential field with local attractors is given. The third section is dedicated to the experimental setup. The result section, which reports laboratory tests, is followed by an in-depth discussion on important observations that arise from the analysis of the measured robot paths. The work concludes with future works, which are dictated by a synthesis of what has been found.

2. Artificial Potential Field with Local Attractors

In this section, an overview of APF principles is presented, paying particular attention to how local attractors can influence the path of the robot. For further details on the mathematical formulation, it is recommended to refer to [26]. The objective is to drive the robot to a target position, passing through a preferred side of an obstacle, and preventing local minima by local attractors. After a brief presentation of the theoretical framework, the implementation of the case of a mobile robot is described.

2.1. Theoretical Formulation

Consider the robot as a point in two-dimensional cartesian space, whose task is to reach a target position x d from a starting position x s . Target position can be seen as an attractive potential field U d , modelled with a quadratic function [1].
Assume the presence of an obstacle in the potential field, centred on position x o . The obstacle could have different geometries. However, it is convenient to approximate it with simple shapes, such as spheres, cylinders, and disks. In this work, only a disk in the plane is accounted. The radius of the disk surrounding the obstacle, which identifies the region that the robot must not surpass, is denoted with R o . The obstacle generates a repulsive potential field U o , modelled with an exponential function, as in [31].
The idea consists of the introduction of an attractive source x a , placed with respect to the obstacle. The attractive source is called a local attractor, so to distinguish it from the target position x d , that is the global attractor. The local attractor potential field U a can be modelled with a negative exponential function [26,31].
The resulting total potential field U t is the sum of the three contributions:
U t x = U d x + U o x + U a x = 1 2 σ x x d 2 + β o e γ o 2 x x o 2 α a e γ a s x x a 2
where σ is the parameter that controls the intensity of the global attractive potential field, β o and γ o are respectively the peak value and the exponential decay of the Gaussian around the obstacle in the repulsive potential field, α a and γ a are respectively the intensity and the decay of the local attractive potential field. In Figure 1 an example of the resulting total potential field is shown. In the same figure, a generic problem is depicted on the bottom plane, where also the contours of the potential field are projected. If the intensity of the local attractor is not limited in some way, there is the possibility that the sum with the quadratic curve of the global attractor causes a local minimum, as shown in Figure 1a. However, as discussed in the previous work [26], there exists a solution for α a so that the local minimum is prevented, as in Figure 1b.
To recall the steps for the analytical solution of this problem, it is convenient to define active regions. Let U o * denote the active region of the obstacle, i.e., the region centred in x o and having radius R o * , outside which the gradient of U o goes to zero. With the same meaning, the active region U a * of the potential field of the local attractor is centred in x a and has radius R a * . The size of active regions can be obtained with the formulas:
R o * = 1 γ o W 1 s ϵ 2 β o 2 γ o 1 / 2 ,   R a * = 1 γ a W 1 s ϵ 2 α a 2 γ a 1 / 2
where W 1 is the solution corresponding to the lower branch of the Lambert function and s ϵ is a small positive value that defines the zero threshold, i.e., the region outside of the active region where the gradient of the respective potential field is less than s ϵ [26]. Moreover, two constraints are needed to simplify the analysis and to handle the coexistence of the attractors. First, the local attractor should be sufficiently far from the active region U o * :
x a x o > R o * + ε ~
where ε ~ is a length that depends on the relative position between x a , x o and x d , as will be discussed later in this section. Second, it is desirable that the global minimum is not perturbed by the presence of the local attractor, which translates in:
x a x d R a *
In Figure 2, a configuration that satisfies constraints (3) and (4) is shown.
The local minimum problem can be dealt with by studying the saddle point in the proximity of the local attractor. By increasing α a the total potential starts bending. However, if α a is less than a limit value, denoted as α ~ a , the local minimum does not show. This limit is identified by the case in which a saddle point appears.
For the study of the saddle point, it is convenient to consider only the potential field U d a , which is the sum of U d and U a . In fact, if constraint (3) is satisfied, the saddle point will be outside of U o * , where U t U d a . Moreover, the study can be further simplified by writing the potential U d a ( x , y ) in the auxiliary reference frame O x y , centred in O x d and having axis x aligned with x a , as shown in Figure 2.
In this reference frame, the first partial derivative of the potential field U d a is considered and it is set equal to zero. As σ , α a and γ a are positive, it can be demonstrated that the saddle point lies on the x axis [26]. This translates into considering U d a for y = 0 , that is the curve in Figure 2b, resulting from the intersection of the surface U t U d a and the plane y = 0 . Thus, the equation becomes:
δ δ x U d a x , 0 = σ x + α a γ a x x a e γ a 2 x x a 2
Let the superscript indicate a point (or the coordinates of that point) observed in the auxiliary frame, e.g., x a = [ x a y a ] T denotes x a = [ x a y a ] T observed in the auxiliary frame O x y . For small α a , (5) has one solution, which is the global minimum at x = 0 . As α a increases, the potential field bends around x = x a , till it presents a saddle in x = x ~ . The value of α a for which the saddle appears, denoted as α ~ a , is then the upper bound. For higher α a , a local minimum appears, in the range 0 < x < x a .
To find the value of α ~ a , i.e., the condition for which the saddle generates, the first and the second derivative of the potential field must vanish. It results then:
x ~ x a , γ a = 2 3 x a cos θ + 4 π 3 + 1
θ x a , γ a = cos 1 27 2 γ a x a 2 1
α ~ a = σ , x a , γ a = σ x ~ γ a x ~ x a e γ a 2 x ~ x a 2
In general, even if U a is centred in x a , the sum with U d causes the saddle not to appear exactly in correspondence of x a . In fact, the saddle appears in x ~ = x ~ 0 T , which is slightly shifted from x a in the negative direction of the x axis, see Figure 2a. The shifting can be quantified by calculating the distance x a x ~ = x a x ~ = ε . This aspect has been considered in (3), so to have the saddle point that falls outside U o * . Two possibilities arise. In a first one, the segment between the attractor and the target position x a x d ¯ does not intersect U o * , and so the saddle point lays outside U o * . In the second one, x a x d ¯ passes through U o * ; in this case, if (3) does not hold, the saddle point of U d a could overlap the obstacle and the approximation U t U d a no longer applies. Instead, if (2) holds, this will not happen. It derives that the value of ε ~ in (2) for the two scenarios is:
ε ~ = 0 i f x a x d ¯ U o * = 0
ε ~ = ε i f x a x d ¯ U o * 0

2.2. Application to Mobile Robot

The artificial potential field with a local attractor is applied to a differential wheeled robot. The method chosen for controlling robot motion is the gradient tracking method [18]. It considers the velocity vector of the robot as the control variable.
Consider the mobile robot having pose χ r = [ x r , ϑ r ] , where x r is its position and ϑ r its orientation. The mobile robot requires commands in terms of linear velocity v and angular velocity ω . The angular velocity is set proportional to the angular error φ r between the target direction v d , and the direction of the actual velocity v r :
ω = K v d v r = K φ r
where K is the proportional gain, while v d is the negative gradient:
v d = U t
The magnitude of the linear velocity command, when v = 0 at starting and target position, is defined as [32]:
v = min ( a m a x t , v m a x , 2 a m a x d r t 1 2 )
with a m a x the maximum acceleration, v m a x the maximum velocity and d r t = x d x r ( t ) the position error.
Figure 3a shows the fundamental parameters introduced so far, while Figure 3b indicates the dimension of the robot on the xy-plane.

3. Experimental Tests

In the previous work [26] tests were performed in the Gazebo simulation environment, using odometry information as position feedback for velocity command. In this work, tests have been performed in the real world using a Turtlebot3 burger [33], a Realsense D435 camera [34], and Aruco markers for position feedback [35] (Figure 4). Aruco markers are popular in computer vision applications since their pose is easily detectable by a camera. They are squared markers, with a black border in which a binary matrix, which identifies its ID number, is integrated. Aruco library, available in OpenCV, allows one to read the pose of the marker in the environment. In Figure 4b an example of an Aruco marker, with its reference frame, is shown. Different dictionaries, i.e., collections of markers having shared peculiarities, exist. Aruco markers are used to individuate the poses of Turtlebot, obstacle, and target. Markers have been detected and identified in the frame captured by the Realsense through the OpenCV Aruco library.

3.1. Laboratory Setup

Tests have been performed in the laboratory of the Mechanical and Aerospace Department of Politecnico di Torino. Figure 5 shows the laboratory setup. The obstacle is a box, with the Aruco marker placed on it. Let O - X Y Z denote the obstacle Aruco frame. A red arrow, attached to the obstacle, allows for the individuation of the Y-axis of the obstacle immediately. The attractor is not physical but is defined by software. It is positioned on the Y-axis, at a distance that can be chosen during test set-up, i.e., before tests run. Once the position of the local attractor is defined, since it is fixed in the obstacle Aruco frame, even if the obstacle is moved during the test set-up, the Y-axis always indicates the side of the obstacle that the robot will choose for collision avoidance. In this sense, the side is decided in advance.
The workspace of the tests is set by the field of view of the camera. The camera is placed on a 2-meter-high tripod, and the working area is 2.5 × 1 m. The distance between the robot and the target is about 2 m, and the obstacle is in between. Several tests have been performed to identify the dimension and the dictionary of the Aruco to use. The dictionary chosen is DICT_6x6_100, with Aruco of 0.067 m side. DICT_6x6_100 is the dictionary containing 100 Aruco markers, whose internal matrix is a 6 × 6 matrix. Each Aruco marker is identified by an ID number between zero and 99. In this working condition, the precision of position measurement was estimated to be 0.01 m.
ROS Noetic Ninjemys running on Ubuntu 20.04 was used to program the Turtlebot and OpenCV4.2.0 library was used for detection of Aruco markers.
The aim of the task is to drive the Turtlebot from its starting position to the target, avoiding the obstacle on the side where the local attractor is placed. In the experiments the target and the obstacle are stationary, and their positions are recorded at the beginning of the tests. Aruco markers used for the robot, obstacle, and target position have three different IDs.
The output of the algorithm is the velocity command to the Turtlebot. The velocity command is sent to the robot using the ROS topic cmd_vel, which needs linear velocity and angular velocity information. A Python code manages the data from the Realsense, that is the position of Turtlebot, obstacle, and target, computes the potential field, calculates reference velocity, and sends it to the robot. The main code handles the calculation of the attractive field and generates velocity command, while a thread code deals with reading Aruco data from the Realsense and making them available to the main code. A scheme of the code is shown in Figure 6.
The Camera Thread, in purple, is responsible for detecting Aruco Markers and defining the pose of the Turtlebot. This information is written on a file, which is accessible by the main thread, in orange. A lock is shared between the two threads to ensure atomic access to the file. The position of the local attractor is calculated starting from the obstacle pose. With the information on the positions of the obstacle, the local attractor, and of the target, the Sculptor block routine, in the main thread, calculates the potential field the robot moves in. Once the field is defined, the robot control loop starts, until the position error of the robot d r becomes smaller than a threshold value d t . The gradient of the potential field is evaluated at the robot position. Using the Gradient Tracking Method, which needs the pose χ r of the robot in input, the values of the velocities of the robot are computed. The cmd_vel vector is built, and the velocity command is sent to the Turtlebot. The part of the code related to the Turtlebot, in blue, regards the communication between the software and the robot.

3.2. Results

In this section, the results of different tests are proposed. The reader is also referred to the accompanying videos published as Supplementary Material.
In the various tests, the parameters of the potential field, introduced in Section 2.1, have been set equal to the values of previous work [26], as they revealed to be effective also during the experimental set-up; only the robot velocity and the value of α a have been varied in order to study the robot’s behaviour in different conditions.
The obstacle x o is modeled as a disk of radius R = 0.25   m . In Figure 7 the setup from the point of view of the Realsense is shown. In the same figure, the robot’s pose x r ( t ) is depicted with different transparency to give an idea of the robot’s motion. The reference frames of each Aruco marker are also shown.
The Realsense camera reads the positions x s , x d , and x o . Some slight differences can result from the experimental tests since the elements are located by hand. However, the resulting positioning error is comparable with the error in position estimation by the camera. In the following figures, the starting position of the robot is represented by a yellow point, the target position by a magenta cross, and the path by black dots, the repulsive potential field and the obstacle are represented in red, while the attractive potential field is represented in green and the isolines of the resulting potential field are projected in blue.
The first test shows what happens when there is no attractive source, and the robot is subject to the repulsive potential field and global attractive potential field only. By the datasheet, Turtlebot can run up to 0.2   m / s . For this test, it is chosen v m a x = 0.1   m / s . The obstacle is placed in line between starting and target positions. In Figure 8a, the results are shown. The robot goes straight till encounters the potential field of the obstacle, following the gradient lines of the resulting potential field, and reaches the target.
In Figure 8b the results of Test S2 are shown: the behaviour of the Turtlebot when the attractor is added on the Y-axis of the obstacle reference frame at a distance of 0.75 m, is presented. The intensity of the attractive potential field is α a = 0.9 α ~ a . The Turtlebot turns on the left side of the obstacle, according to the positioning of the attractive source, and reaches the desired position following the gradient lines of the total potential field.
It is interesting to verify what happens when the obstacle is moved on the same side of the preferred approaching direction, in a less favourable configuration, since as seen in Test S1, the robot would turn on the right side of the obstacle without the local attractive field. In Test S3, Figure 9a, the obstacle is displaced by 0.05   m in the positive y-axis of the world reference frame, and the intensity of the attractive potential field is left α a = 0.9 α ~ a . As can be seen, the robot moves smoothly and passes on the desired side of the obstacle. It is worth showing the effect of the velocity of the robot on the performance. In Figure 9a the results of Test S4, performed with the same configuration, but with v m a x = 0.2   m / s , are shown; the relative path is represented by grey dots. Moving at higher velocity, the path of the robot bends around the obstacle, where the gradient lines of the potential field change abruptly direction: the robot does not decelerate properly and risks hitting the obstacle.
Test S5, in Figure 9b, shows what happens when the obstacle is displaced by 0.1 m on the positive y-axis. Furthermore, in this case, the value of the intensity of the attractive potential field is α a = 0.9 α ~ a and the Turtlebot motion is influenced by the attractive source. In this condition, despite the obstacle being placed on the side of the preferred path region, the robot turns gently in the left direction.
An equivalent test has been performed, with the obstacle moved in the same direction of 0.15 m, Test S6 in Figure 9c. As can be seen, the robot turns on the left side of the obstacle, but the resulting path is wavering. This outcome derivers directly from the shape of the resulting potential field, whose gradient lines are visible in Figure 9c.
To explore the effects of the intensity of the local attractor potential field, Test S7 has been performed. Setting α a = 0.7 α ~ a , the resulting gradient lines in the same conditions as the previous test did not lead the robot to turn on the left and desired side of the obstacle as if the robot does not feel the influence of the attractive source, as shown in Figure 9d.

4. Discussion

Experimental tests confirm the results that were obtained by simulations of the previous work [26] and give additional information on hardware and software integration to control the robot in the real world. The experimental set-up showed itself to be suitable for robot control according to the designed algorithm. Finally, several points can be developed to improve the proposed method.

4.1. Obstacle Modelling

The first aspect regards the zero threshold of the active region. The obstacle is modelled with the exponential function, as in [31]. This has the advantage of being smooth over the entire domain of the potential field. At the same time, by choosing a zero threshold, one can still define the region where the gradient of the repulsive function keeps over a certain value. This gives a metric to identify the active region. The zero thresholds can be guessed as a small value and then verified experimentally by carrying out tests with α a = 0.99 α ~ a ; in this case, if the robot does not stop at the saddle point, it means that the approximation U t U d a outside U o * , thus the solution (8), is consistent. In this work, it has been assumed a zero-threshold equal to 10 2 and the solution (8) was consistent for each test.
Another aspect regards the physical meaning of the active region. By definition (2), outside the active region, the gradient of the repulsive potential goes to zero. However, the distance where the repulsive effect significantly bends the gradient lines is located between R o * and R o , as can be seen from the gradient lines of Test S1, Figure 8a. This has been tuned by simulation in the previous work [26], selecting pairs of β o and γ o and observing the potential field resulting from the sum of U o and U d . In fact, as the control law is based on gradient tracking, it is possible to predict the robot’s path by following the gradient lines from the starting position. Further theoretical developments may involve a more precise formulation that allows to calculate β o and γ o in function of the distance from the obstacle where the gradient lines deviate in the tangential direction with respect to the circle with radius R o .
Moreover, the presented method only considers circular repulsive fields. This can be used to handle even more complex obstacles, by surrounding its shape with the circle. However, also the possibility to use more accurate functions to better fit the obstacle can be considered. For example, an idea could be to employ generalized sigmoid functions [36].

4.2. Dynamic Environment

The current version of the algorithm considers static obstacles and attractors only. As the method is based on APF, it is straightforward to extend the application to dynamic obstacles. However, formulating dynamic local attractors requires a more detailed analysis. The first aspect regards the optimal value of α a , which must be adjusted dynamically, as it depends on the distance between the local attractor and the global one. Another aspect is related to the constraint (4). If the local attractor gets close to the global one, R a * have to be scaled in order to satisfy the constraint. Further developments should consider the possibility to employ dynamic obstacles and attractors to extend the algorithm to a dynamic environment.

4.3. Multiple Agents

Only one robot, one obstacle, and one local attractor have been considered. To extend the theory to multiple agents, it is required to revise the geometrical constraints (3) and (4). For instance, in a case with more than one obstacle and local attractors, an initial idea can be to extend these constraints to all obstacles and local attractors. In this way, the local attractor can still be decoupled from repulsive potential fields and the solution to the optimal α a would be the same.

4.4. Gradient Tracking

As can be seen from the results of Test S1, Figure 8a, and Test S4, the grey-dot path in Figure 9a, when there is a sudden change in the direction of the gradient lines, the robot path oscillates. This is an aspect that can be refined with a different formulation of the control gain K and of the magnitude of the linear velocity v . For example, with the current formulation, K is fixed at the beginning of the run, while v is constant for most of the trajectory. An alternative way to better handle this case is to consider adjustable gain and adaptive velocities. In this way, one can slow down the robot in the proximity of a sudden deviation of the gradient lines. This would lead a better gradient tracking, as suggested by the comparison between Tests S3 and S4, both in Figure 9a.

4.5. Attractor Modelling

The R o is related to the physical meaning of the contour of the obstacle, i.e., the region that the robot must not surpass. This is used to locate the deviation of the gradient lines in the proximity of the obstacle, in such a way that it lies outside R o . Unfortunately, for local attractors, there is no physical contour. An idea could be to introduce an attractive radius R a with a similar interpretation to the one of R o , so that when the robot enters the circle centred in x a with radius R a , it is certain that the robot passes on the side of x a . Further work is required to quantify this effect. For example, Test S7, in Figure 9d, shows that by decreasing α a , the robot cannot pass on the attractor side anymore, even if it is involved in the active region U a * .

5. Conclusions

The study presented an experimental analysis of a mobile robot navigation technique that employs an improved artificial potential field with a local attractor. The method was validated through various tests, in which the robot moved under the influence of the improved potential field, by exploiting gradient tracking as a control law, so as to follow the gradient lines. Results demonstrated that local attractors could influence the potential field at a level that affects the robot’s motion. Specifically, with the highest value of the intensity of the local attractor, the robot can circumvent obstacles, towards the predicted side, even when the obstacle was displaced by about 60% of its radius. This indicates that the robot is driven on the desired side for a significant range of approaching directions. The effects of the intensity of the local attractor and of the maximum velocity of the robot were also taken into account to analyse how they may affect the resulting path. In the end, the results proved the validity of the proposed method. Future works will consider the aspects highlighted in the discussion section and the application of the method to industrial cases.

Supplementary Materials

The following supporting information can be downloaded at: https://www.mdpi.com/article/10.3390/robotics12030081/s1, Video: Tests S1–S7.

Author Contributions

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

Funding

This research received no external funding.

Data Availability Statement

Not Applicable.

Acknowledgments

The authors thank Technology for Waste Management srl for its support to this research.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Khatib, O. Real-time obstacle avoidance for manipulators and mobile robots. Int. J. Robot. Res. 1986, 5, 90–98. [Google Scholar] [CrossRef]
  2. Volpe, R.; Khosla, P. Manipulator control with superquadratic artificial potential functions: Theory and experiments. IEEE Trans. Syst. Man. Cybern. 1990, 20, 1423–1436. [Google Scholar] [CrossRef] [Green Version]
  3. Rimon, E.; Koditschek, D.E. Exact Robot Navigation using Artificial Potential Functions. IEEE Trans. Robot. Autom. 1992, 8, 501–518. [Google Scholar] [CrossRef] [Green Version]
  4. Vadakkepat, P.; Tan, K.C.; Ming-Liang, W. Evolutionary artificial potential fields and their application in real time robot path planning. In Proceedings of the 2000 Congress on Evolutionary Computation, CEC 2000, La Jolla, CA, USA, 16–19 July 2000; pp. 256–263. [Google Scholar] [CrossRef]
  5. Paromtchik, I.E.; Nassal, U.M. Reactive Motion Control for an Omnidirectional Mobile Robot. In Proceedings of the Third European Control Conference, Rome, Italy, 5–8 September 1995; pp. 5–8. [Google Scholar]
  6. Long, Z. Virtual target point-based obstacle-avoidance method for manipulator systems in a cluttered environment. Eng. Optim. 2020, 52, 1957–1973. [Google Scholar] [CrossRef]
  7. Zou, X.; Zhu, J. Virtual local target method for avoiding local minimum in potential field based robot navigation. J. Zhejiang Univ. Sci. 2003, 4, 264–269. [Google Scholar] [CrossRef]
  8. Azzabi, A.; Nouri, K. An advanced potential field method proposed for mobile robot path planning. Trans. Inst. Meas. Control 2019, 41, 3132–3144. [Google Scholar] [CrossRef]
  9. SRostami, M.H.; Sangaiah, A.K.; Wang, J.; Liu, X. Obstacle avoidance of mobile robots using modified artificial potential field algorithm. EURASIP J. Wirel. Commun. Netw. 2019, 2019, 70. [Google Scholar] [CrossRef] [Green Version]
  10. Jung, J.H.; Kim, D.H. Local path planning of a mobile robot using a novel grid-based potential method. Int. J. Fuzzy Log. Intell. Syst. 2020, 20, 26–34. [Google Scholar] [CrossRef]
  11. Patle, B.K.; Babu, L.G.; Pandey, A.; Parhi, D.R.K.; Jagadeesh, A. A review: On path planning strategies for navigation of mobile robot. Def. Technol. 2019, 15, 582–606. [Google Scholar] [CrossRef]
  12. Ge, S.S.; Cui, Y.J. New potential functions for mobile robot path planning. IEEE Trans. Robot. Autom. 2000, 16, 615–620. [Google Scholar] [CrossRef] [Green Version]
  13. Sfeir, J.; Saad, M.; Saliah-Hassane, H. An improved Artificial Potential Field approach to real-time mobile robot path planning in an unknown environment. In Proceedings of the ROSE 2011-IEEE International Symposium on Robotic and Sensors Environments, Proceedings 2011, Montreal, QC, Canada, 17–18 September 2011; pp. 208–213. [Google Scholar] [CrossRef]
  14. Duhé, J.F.; Victor, S.; Melchior, P. Contributions on artificial potential field method for effective obstacle avoidance. Fract. Calc. Appl. Anal. 2021, 24, 421–446. [Google Scholar] [CrossRef]
  15. Scimmi, L.S.; Melchiorre, M.; Troise, M.; Mauro, S.; Pastorelli, S. A Practical and Effective Layout for a Safe Human-Robot Collaborative Assembly Task. Appl. Sci. 2021, 11, 1763. [Google Scholar] [CrossRef]
  16. Scimmi, L.S.; Melchiorre, M.; Mauro, S.; Pastorelli, S. Experimental Real-Time Setup for Vision Driven Hand-Over with a Collaborative Robot. In Proceedings of the 2019 International Conference on Control, Automation and Diagnosis, ICCAD 2019-Proceedings 2019, Grenoble, France, 2–4 July 2019. [Google Scholar] [CrossRef]
  17. Melchiorre, M.; Scimmi, L.S.; Mauro, S.; Pastorelli, S. A Novel Constrained Trajectory Planner for Safe Human-robot Collaboration. In Proceedings of the ICINCO 2022, Lisbon, Portugal, 14–16 July 2022. [Google Scholar] [CrossRef]
  18. Güldner, J.; Utkin, V.I. Tracking the gradient of artificial potential fields: Sliding mode control for mobile robots. Int. J. Control 1996, 63, 417–432. [Google Scholar] [CrossRef]
  19. De Medio, C.; Oriolo, G. Robot Obstacle Avoidance Using Vortex Fields. In Advances in Robot Kinematics; Springer: Berlin/Heidelberg, Germany, 1991; pp. 227–235. [Google Scholar] [CrossRef]
  20. Masoud, A.A. Decentralized self-organizing potential field-based control for individually motivated mobile agents in a cluttered environment: A vector-harmonic potential field approach. IEEE Trans. Syst. Man Cybern. Part A Syst. Hum. 2007, 37, 372–390. [Google Scholar] [CrossRef] [Green Version]
  21. Murphy, R.R. Introduction to AI Robotics; The MIT Press: Cambridge, MA, USA, 2000. [Google Scholar]
  22. Zhou, Z.; Wang, J.; Zhu, Z.; Yang, D.; Wu, J. Tangent navigated robot path planning strategy using particle swarm optimized artificial potential field. Optik 2018, 158, 639–651. [Google Scholar] [CrossRef]
  23. Montiel, O.; Orozco-Rosas, U.; Sepúlveda, R. Path planning for mobile robots using Bacterial Potential Field for avoiding static and dynamic obstacles. Expert. Syst. Appl. 2015, 42, 5177–5191. [Google Scholar] [CrossRef]
  24. Bayat, F.; Najafinia, S.; Aliyari, M. Mobile robots path planning: Electrostatic potential field approach. Expert. Syst. Appl. 2018, 100, 68–78. [Google Scholar] [CrossRef]
  25. Yao, Q.; Zheng, Z.; Qi, L.; Yuan, H.; Guo, X.; Zhao, M.; Liu, Z.; Yang, T. Path Planning Method with Improved Artificial Potential Field—A Reinforcement Learning Perspective. IEEE Access 2020, 8, 135513–135523. [Google Scholar] [CrossRef]
  26. Melchiorre, M.; Scimmi, L.S.; Salamina, L.; Mauro, S.; Pastorelli, S. Robot collision avoidance based on artificial potential field with local attractors. In Proceedings of the ICINCO 2022, Lisbon, Portuga, 14–16 July 2022. [Google Scholar] [CrossRef]
  27. Zeng, L.; Bone, G.M. Mobile robot collision avoidance in human environments. Int. J. Adv. Robot. Syst. 2013, 10, 41. [Google Scholar] [CrossRef]
  28. Qian, K.; Ma, X.; Dai, X.; Fang, F. Socially acceptable pre-collision safety strategies for human-compliant navigation of service robots. Adv. Robot. 2010, 24, 1813–1840. [Google Scholar] [CrossRef]
  29. Carton, D.; Olszowy, W.; Wollherr, D. Measuring the Effectiveness of Readability for Mobile Robot Locomotion. Int. J. Soc. Robot. 2016, 8, 721–741. [Google Scholar] [CrossRef]
  30. Koppenborg, M.; Nickel, P.; Naber, B.; Lungfiel, A.; Huelke, M. Effects of movement speed and predictability in human–Robot collaboration. Hum. Factors Ergon. Manuf. Serv. Ind. 2017, 27, 197–209. [Google Scholar] [CrossRef]
  31. Beard, R.; McClain, T. Motion Planning Using Potential Fields. Brigham Young University, BYU Scholars Archive, Faculty Publications 1313. 2003. Available online: http://www.et.byu.edu/~beard/papers/preprints/BeardMcLain03-potential.pdf (accessed on 1 May 2023).
  32. Guldner, J.; Utkin, V.I. Sliding Mode Control for Gradient Tracking and Robot Navigation Using Artificial Potential Fields. IEEE Trans. Robot. Autom. 1995, 11, 247–254. [Google Scholar] [CrossRef]
  33. Robotis, Turtlebot3. 2023. Available online: https://emanual.robotis.com/docs/en/platform/turtlebot3/overview/ (accessed on 1 May 2023).
  34. Intel, RealSense d435. Available online: https://www.intelrealsense.com/depth-camera-d435/ (accessed on 1 May 2023).
  35. ArUco Library for OpenCV, Detection of ArUco Markers. Available online: https://docs.opencv.org/4.x/d5/dae/tutorial_aruco_detection.html (accessed on 1 May 2023).
  36. Ren, J.; Mcisaac, K.A.; Patel, R.V.; Peters, T.M. A potential field model using generalized sigmoid functions. Construction 2007, 37, 477–484. [Google Scholar] [CrossRef]
Figure 1. Total potential field: (a) case with the local minimum generated by the local attractor; (b) the local attractor produces a hollow region that is not a local minimum.
Figure 1. Total potential field: (a) case with the local minimum generated by the local attractor; (b) the local attractor produces a hollow region that is not a local minimum.
Robotics 12 00081 g001
Figure 2. Example of obstacle and attractive potential field. Edges of active regions are traced by circles. (a) Sketch of the problem, with the relevant points. (b) Same problem, where the potential field is also represented.
Figure 2. Example of obstacle and attractive potential field. Edges of active regions are traced by circles. (a) Sketch of the problem, with the relevant points. (b) Same problem, where the potential field is also represented.
Robotics 12 00081 g002
Figure 3. (a) Fundamental parameters of Turtlebot3 mobile robot. (b) Size of the robot in the xy-plane, given in mm.
Figure 3. (a) Fundamental parameters of Turtlebot3 mobile robot. (b) Size of the robot in the xy-plane, given in mm.
Robotics 12 00081 g003
Figure 4. (a) Realsense D435 camera. (b) Example of Aruco marker, with the reference frame.
Figure 4. (a) Realsense D435 camera. (b) Example of Aruco marker, with the reference frame.
Robotics 12 00081 g004
Figure 5. Laboratory setup. The Turtlebot, the obstacle, the target position, and the Realsense camera are highlighted.
Figure 5. Laboratory setup. The Turtlebot, the obstacle, the target position, and the Realsense camera are highlighted.
Robotics 12 00081 g005
Figure 6. Scheme of the code. The data are reported on the arrows, while the functions are enclosed in the blocks. The black box contains the control loop of the code.
Figure 6. Scheme of the code. The data are reported on the arrows, while the functions are enclosed in the blocks. The black box contains the control loop of the code.
Robotics 12 00081 g006
Figure 7. Setup from the point of view of the camera.
Figure 7. Setup from the point of view of the camera.
Robotics 12 00081 g007
Figure 8. Comparison between the classical APF and the proposed method. (a) Test S1: application of classical APF, i.e., without the local attractor. (b) Test S2: application of APF with the addition of the local attractor.
Figure 8. Comparison between the classical APF and the proposed method. (a) Test S1: application of classical APF, i.e., without the local attractor. (b) Test S2: application of APF with the addition of the local attractor.
Robotics 12 00081 g008
Figure 9. Results of the tests performed in different conditions. (a) Comparison between Tests S3 and S4. Test S3: Obstacle displaced of 0.05 m on the positive y-axis, α a = 0.9 α ~ a , v m a x = 0.1   m / s (black dots); Test S4: Obstacle displaced of 0.05 m on the positive y-axis, α a = 0.9 α ~ a , v m a x = 0.2   m / s (grey dots). (b) Test S5: Obstacle displaced of 0.1 m on the positive y-axis, α a = 0.9 α ~ a , v m a x = 0.1   m / s . (c) Test S6: Obstacle displaced of 0.15 m on the positive y-axis, α a = 0.9 α ~ a , v m a x = 0.1   m / s . (d) Test S7: Obstacle displaced of 0.15 m on the positive y-axis, α a = 0.7 α ~ a , v m a x = 0.1   m / s .
Figure 9. Results of the tests performed in different conditions. (a) Comparison between Tests S3 and S4. Test S3: Obstacle displaced of 0.05 m on the positive y-axis, α a = 0.9 α ~ a , v m a x = 0.1   m / s (black dots); Test S4: Obstacle displaced of 0.05 m on the positive y-axis, α a = 0.9 α ~ a , v m a x = 0.2   m / s (grey dots). (b) Test S5: Obstacle displaced of 0.1 m on the positive y-axis, α a = 0.9 α ~ a , v m a x = 0.1   m / s . (c) Test S6: Obstacle displaced of 0.15 m on the positive y-axis, α a = 0.9 α ~ a , v m a x = 0.1   m / s . (d) Test S7: Obstacle displaced of 0.15 m on the positive y-axis, α a = 0.7 α ~ a , v m a x = 0.1   m / s .
Robotics 12 00081 g009
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

Melchiorre, M.; Salamina, L.; Scimmi, L.S.; Mauro, S.; Pastorelli, S. Experiments on the Artificial Potential Field with Local Attractors for Mobile Robot Navigation. Robotics 2023, 12, 81. https://doi.org/10.3390/robotics12030081

AMA Style

Melchiorre M, Salamina L, Scimmi LS, Mauro S, Pastorelli S. Experiments on the Artificial Potential Field with Local Attractors for Mobile Robot Navigation. Robotics. 2023; 12(3):81. https://doi.org/10.3390/robotics12030081

Chicago/Turabian Style

Melchiorre, Matteo, Laura Salamina, Leonardo Sabatino Scimmi, Stefano Mauro, and Stefano Pastorelli. 2023. "Experiments on the Artificial Potential Field with Local Attractors for Mobile Robot Navigation" Robotics 12, no. 3: 81. https://doi.org/10.3390/robotics12030081

APA Style

Melchiorre, M., Salamina, L., Scimmi, L. S., Mauro, S., & Pastorelli, S. (2023). Experiments on the Artificial Potential Field with Local Attractors for Mobile Robot Navigation. Robotics, 12(3), 81. https://doi.org/10.3390/robotics12030081

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