1. Introduction
Industrial robots are becoming more and more prevalent. The interaction between robots and humans has gone through four stages: competition, coexistence, collaboration, and co-working [
1]. A new generation of collaborative robots with related application technologies has emerged to adapt to the manufacturing and service industries’ changing trends. These robots facilitate a new stage of collaboration between humans and robots [
2,
3,
4]. Currently, businesses are increasingly showing interest in using flexible production and collaborative robots to improve their manufacturing processes. Collaborative robots, particularly lightweight and flexible ones, boost work efficiency by complementing human labor with machine precision and capacity [
5,
6]. Human-robot collaboration requires critical research in robot motion planning. Robotics motion planning is a highly active research area in the field of human-robot collaboration [
7]. Real-time robot path planning is vital to ensure that robots can efficiently and safely avoid obstacles and reach their target destinations. This can be achieved either by maintaining the continuity of velocity and acceleration or by minimizing the trajectory re-planning. These algorithms often face issues such as intricate calculations and unstable search paths. Currently, most path-planning algorithms operate in static low-dimensional environments. Fewer algorithms are suitable for high-dimensional environments due to their limitations, such as complex calculations or unstable search paths [
8,
9]. Consequently, it is crucial to conduct research into real-time robot path planning to ensure safe navigation and obstacle avoidance, while maintaining both smooth and continuous velocity and acceleration and minimizing the need for trajectory re-planning to enhance planning efficiency [
10,
11,
12].
Robot path planning is a crucial research domain in robotics, as robots can perform a plethora of tasks efficiently, via both offline teaching and online autonomous planning, without depending on path-planning technologies. However, as robots move towards collaborating with humans, including in domestic scenarios, the necessity for local path planning is accentuated. The necessity for path planning has, therefore, become a vital research area in robotics. Common path-planning algorithms include A* [
13,
14], PRM [
15,
16], fast extended random tree (RRT) [
17,
18], and APF [
19,
20,
21]. APF guides the manipulator to reach the target or circumvent obstacles through virtual potential fields, force, or velocity potential fields. The artificial potential field (APF) algorithm is a classical method for robot trajectory planning, which is characterized by good real-time performance and minimal computational consumption. Hence, numerous academics have improved the APF algorithm. To accomplish joint-limit and obstacle avoidance, Ye et al. [
22] integrated the quadratic programming-based control strategy with the APF approach. Yang et al. [
23] modified the action range of the gravitational field and the direction of the original algorithm. When the UAV is caught in a local minimum, a rectangular model centered around the initial target and the corner point is selected as a temporary target based on the evaluation function, thereby the local minima problem is solved. The artificial velocity potential field approach was utilized by Christoff et al. [
24] to execute the movements and trajectory planning of two 6-DoF surgical manipulators. Min et al. [
25] proposed an experience-based modified potential field method that uses previous experience to achieve obstacle avoidance when the type of obstacle is identified as a known type, or using the modified artificial potential field method otherwise.
As one of the branches of APF, the VPF offers the advantages of a simple potential field, more efficiency, and easier computation. In the manipulator’s path planning, the VPF is more frequently utilized. It is worth noting that the elastic band methods which are based on curve shortening flows in a potential field also adopt the idea of the potential field method. However, compared to the VPF method, the VPF has a simpler algorithmic function construction method and higher algorithmic efficiency. However, the VPF still suffers from the problems of quickly falling into local minima and oscillating in the presence of obstacles. Hence, numerous academics have improved the VPF algorithm. Xu et al. [
26] established a saturation function in the attraction velocity potential field function and designed a spring-damping mechanism in the repulsion velocity potential field. This strategy makes the obstacle-avoidance procedure smoother and eliminates the vibration issue around the obstacles. Zhang et al. [
27] presented a method to apply the velocity potential field method to the obstacle avoidance strategy of a dual-arm robot. The attraction and repulsion functions are mapped onto the joint space, and a difference function is employed to address the collision avoidance problem between two manipulators in the context of the dual-arm robot. The modified VPF algorithm tackles the drawbacks of being prone to local minima and lack of relevance in confronting dynamic impediments. The VPF can also be utilized to achieve stable target tracking for spray robots. Xia et al. [
19] used the VPF to ensure that the target loading of spray robots is at the same relative velocity as the target, which enhances the robustness of the target positioning and tracking control of the spray robot. Zhao et al. [
28] used the VPF to ensure that the spray robot’s target loading is at the same relative velocity as the target, boosting the robustness of the spray robot’s targeting and tracking control. Ouyang et al. [
29] incorporated virtual velocity vectors into the classic VPF method for the manipulator’s path planning in industrial contexts. The efficiency of trajectory generation may be enhanced by employing this method, while the joint space velocity and the right-angle coordinate space velocity are continuously smooth, which meets the requirements for application in industrial settings.
Numerous researchers have improved the VPF; however, current methods do not deal with the dynamic obstacle-avoidance problem of manipulators in human-robot collaboration well. These methods cannot match the real-time and safety criteria for manipulator obstacle avoidance in robot collaboration scenarios. Hence, in this research, an improved VPF algorithm is proposed for the dynamic obstacle-avoidance problem of manipulators in human-robot collaboration settings. This method eliminates the local oscillation problem in the standard VPF method and makes the path smoother. It addresses the safety and real-time criteria of dynamic obstacle avoidance in human-robot collaboration situations, thereby increasing the efficiency of human-robot cooperation. The rest of this paper is structured as follows. In
Section 2, a path-planning algorithm for a manipulator in 3D space based on the velocity potential field is proposed. The performance of the proposed algorithm and the results will be analyzed in
Section 3. The whole discussion is summarized, and a conclusion is presented in
Section 4.
2. Improved Velocity Potential Field for Local Oscillation
The current path-planning algorithm utilized for autonomous obstacle-avoidance research in static obstacle situations is suited more towards two-dimensional objects, such as unmanned aerial vehicles, unmanned vehicles, and mobile robots. As space dimensions increase, this algorithm becomes increasingly complex, and it becomes difficult to ensure real-time performance. To overcome these constraints, this paper proposes a path- planning algorithm for manipulators in dynamic environments founded on the principles of potential field methods. This algorithm guarantees the safety of the manipulator’s driving path while allowing the speed to be well-controlled or minimizing the speed re-planning process to ensure efficient operations.
2.1. Implementation of the Velocity Potential Field Method on the Manipulator
The core ideal of path planning using the velocity potential field is to convert the distance between the manipulator, target, or obstacle into a spatial velocity in Cartesian coordinates. This spatial velocity is then mapped to the robot’s joint space to obtain the joint velocity required to control the robot. This process is accomplished using the Jacobi matrix.
The spatial velocity transformation for a manipulator typically requires a Jacobi non-square form, which consequently needs a solution via a non-square format Jacobi matrix [
26]. Currently, the most popular method used in practical applications to obtain the pseudo-inverse solution is the Singular Value Decomposition (SVD) algorithm, which is used in this paper. This paper adopts an attractive velocity potential field as the global potential field, which defines the maximum attractive velocity boundary around the target object. Additionally, a local repulsive velocity potential field is established, centered around the obstacles. The manipulator in space is influenced by the attractive velocity
and moves towards the target object. If the manipulator enters the range of the local potential field, it is influenced by the repulsive velocity
and moves away from the obstacles. Finally, the overall path planning is completed. The overall potential field model is depicted in
Figure 1.
2.2. Improved Velocity Potential Field
The attraction velocity potential field function is defined as a vector that extends from the end point of the robot to the target, and points in the direction of attraction velocity. The magnitude of the attraction velocity is determined by the distance between the target and the end of the manipulator. The direction of the attraction velocity remains from the end of the manipulator pointing to the target, with a size that follows the principle of “Slow-Fast-Slow”. The magnitudes of the velocity components in the
x,
y and
z directions are determined as the respective percentages of
. The result is shown in Equation (1).
The distance separating the end of the manipulator from the target point determines three distinct zones: acceleration section
, uniform speed section
, and deceleration section
. For the
x-direction, the attraction velocity function can be defined as:
In the x-direction, represents the positive and negative values of velocity, represents the attraction velocity intensity factor, and represents the maximum attraction velocity boundary radius. The product of and is significant as it defines the maximum velocity the robot can achieve.
By introducing trigonometric functions, the manipulator can accelerate the attraction speed from zero to the maximum speed allowed while moving away from the target point. Once the maximum speed is achieved, the manipulator moves at a uniform speed for a specified distance.
As the manipulator approaches the target point, the attraction speed gradually decreases to zero. This S-curve-like velocity design scheme adjusts its velocity amplitude to approach the target in almost a straight line when there are no obstacles, avoiding the problem of oversized initial velocity or limited velocity, which fails to solve the problem of sudden change in initial speed while ensuring the mission’s efficiency.
Figure 2a shows the Cartesian velocity profile model in the x-direction. During the operation of a manipulator, there is a situation in which a repulsive speed potential field is simultaneously applied to the manipulator by multiple obstacles, as shown in
Figure 3. When multiple obstacle points generate repulsion speed potentials for the manipulator, the priority obstacle avoidance lies in selecting the speed of the joint closest to the obstacle, as outlined in
Figure 3. Abrupt entry or exit from the repulsive velocity potential field will cause a sudden change in the total velocity imparted on the manipulator, which may cause an impact. The repulsive velocity potential field is partitioned around each obstacle. The repulsion zone is within the potential field with
representing its radius, while the buffer zone outside the potential field is established with
as the radius. The buffer velocity function alters the repulsion velocity close to zero when the control point enters the buffer zone but remains outside the repulsion zone, minimizing the effects on the manipulator caused by sudden velocity changes. The entrance into the repulsion zone is subjected to normal repulsive velocity.
The repulsive velocity function for the
x-direction can be defined as:
The distance between the obstacle and the closest control point of the manipulator is denoted by
, while
represents the intensity factor of the repulsive velocity. The repulsive velocity model is depicted in
Figure 2b. After being converted through the Jacobi matrix, the attraction and repulsion velocities are used to obtain the velocities in the joint space, as shown below:
2.3. Local Oscillation and Virtual Target Point
Since the artificial potential field method is based on the idea of the potential field method, whether the force potential field method or the velocity potential field method is utilized, the direction of the force control or velocity control of the manipulator is unidirectional and abrupt. Therefore, the speed of the manipulator will oscillate with the appearance and disappearance of the repulsive speed. When the manipulator experiences repulsion from an obstacle in a direction opposite to the attraction of a target object, or when the angle between the two directions is excessively large, it can result in the manipulator repeatedly leaving the repulsive velocity potential field range during obstacle avoidance and re-entering due to the attraction, causing local oscillation, as depicted in
Figure 4. The virtual target-point-based processing technique is one of the key strategies to cope with the local oscillation problem created by the artificial potential field method. Other processing strategies have certain inherent issues. For example, the computation is more complicated, the real-time performance is not acceptable, and it generates a huge instantaneous force or velocity on the robotic arm, which compromises the safety of the operation of the robotic arm. Therefore, in this study, the virtual target-point-based processing technique, which is widely utilized in this research area, is employed to solve the local oscillation problem. This paper proposes a strategy for mitigating the oscillation in single-point obstacle path planning by using virtual target points.
The method of velocity potential field is employed to control the manipulator’s velocity directly in this paper. The extremely few time steps between velocities are implemented to attain smooth velocity interpolation. However, an oscillation path may generate a locally unsmooth trajectory, often along the edge of the repulsive potential field. Thus, a virtual target point method is utilized to guide the manipulator to quickly identify a location point outside the oscillation path and start a new path-planning process [
30].
To begin with, it is necessary to distinguish the oscillation section. In this study, the manipulator receives velocity data with an interval of 0.5 s to avoid any interference with real-time processing speed. To ensure efficient processing, a three-step over-planning method is employed, in which the manipulator calculates three sets of joint angles backward after calculating one set, and if the rejection speed appears repeatedly twice, an oscillation situation is confirmed. Once the manipulator confirms the onset of oscillation, a new virtual target point, G, is established to guide the manipulator out of the oscillation section. The positioning method of the virtual target point G is indicated in
Figure 5.
In
Figure 5, points
denote the end coordinates of the manipulator upon entering the oscillation region, the center point coordinates of the obstacle and the target point coordinates, respectively. As the three points do not fall on the same straight line, they determine a plane, designated as
. This plane serves as the tangent of the sphere in the repulsion potential field, as seen in
Figure 5. Connecting the points
and the outer circle intersect at points
and
. A tangential plane
is formed, which is perpendicular to the plane
. Connect
and the outer circle to intersect at point
, and make a tangent plane perpendicular to the plane of
over
, defined as
. Make a tangent plane to the outer circle over point
, and define the tangent plane where
is located as
. The intersection point of
,
, and
is the virtual target point. The coordinates of the virtual target point G can be determined by correlating the three-plane equations. The manipulator moves to the virtual target point G from its initial position of oscillation. Once reaching the virtual target point, the manipulator moves straight towards the real target point. In this process, the path planning of the manipulator will be re-run. The virtual target point will be used as the starting point for re-planning, the original target point will be used as the termination point for planning, and the path planning will be performed using the improved VPF algorithm. The manipulator will continue to move towards the original target point.