Abstract
This article presents a non-collision trajectory planning algorithm in three-dimensional space based on velocity potential field for robotic manipulators, which can be applied to collision avoidance among serial industrial robots and obstacles, and path optimization in multi-robot collaborative operation. The algorithm is achieved by planning joint velocities of manipulators based on attractive, repulsive, and tangential velocity of velocity potential field. To avoid oscillating at goal point, a saturated function is suggested to the attractive velocity potential field that slows down to the goal progressively. In repulsive velocity potential field, a spring damping system is designed to eliminate the chattering phenomenon near obstacles. Moreover, a fuzzy logic approach is used to optimize the spring damping coefficients for different velocities of manipulators. Different from the usual tangential velocity perpendicular to the repulsive velocity vector for avoiding the local minima problem, an innovative tangential velocity potential field is introduced that is considering the relative position and moving direction of obstacles for minimum avoidance path in three-dimensional space. In addition, a path priority strategy of collision avoidance is taken into account for better performance and higher efficiency when multi-robots cooperation is scheduled. The improvements for local minima and oscillation are verified by simulations in MATLAB. The adaptabilities of the algorithm in different velocities and priority strategies are demonstrated by simulations of two ABB robots in Robot Studio. The method is further implemented in an experimental platform with a SCARA and an ABB robot cooperation around a stationary obstacle and a moving object, and the result shows real time and effectiveness of the algorithms.
Introduction
To meet the requirements of flexible and agile manufacture, multi-robot cooperation that enables the completion of tasks faster, cheaper, and more reliable is drawing more attention. However, the working environment as well as tasks for robots will be more complex and diverse. Therefore, it becomes particularly important in many applications for robots in avoiding collision with each other and other objects, such as cooperative assembly, 1 coordinated handling, 2 and remote monitoring. 3
Currently, there are lots of studies on robots collision avoidance mainly with the following solution. (1) A* algorithm
A* algorithm is one of the best known path planning algorithms, which can be applied on metric or topological configuration space. This algorithm uses a combination of heuristic searching and searching based on the shortest path. However, these results were not entirely satisfactory and good, and the computational time was very large.
4
So some modifications of A* algorithm or accelerated search strategy are suggested.
4
–7
(2) Configuration space
The configuration space or C-space in robot path planning is defined as the set of all possible configurations of a robot. C-space is N-dimensional where N is the number of degrees of freedoms of the robot.
8
Each point in it uniquely represents one position of the robot, for example, the position and orientation of a mobile robot or the joint angles of an industrial manipulator.
9
This method is generally utilized to avoid stationary obstacles.
10
(3) Grid modeling
Grid method uses grid to be units of environmental information during path planning, and environment is quantified as grid having a certain resolution. It can avoid the complex calculations when dealing with the boundaries of the obstacles.
11
This method can be applied to path planning in three-dimensional (3-D) environment.
12
The size of the grid has a direct impact on the length of the planning and precision, so it will also take up a lot of storage space if the working area is large and planning path is very accurate.
13
(4) Probabilistic road maps (PRMs) and rapidly-exploring random trees (RRTs)
The most well-known sampling-based algorithms include PRM and RRT. However, PRMs tend to be inefficient when obstacle geometry is not known beforehand.
14
RRTs have the advantage that they expand very fast and bias toward unexplored regions of the configuration space and so covering a wide area in a reduced time.
15
Although the RRT algorithm quickly produces candidate feasible solutions, it tends to converge to a solution that is far from optimal.
16
(5) Artificial potential field
In collision-free algorithms, the artificial potential field (APF) method firstly introduced by Khatib 17 is particularly attractive due to its simplicity and efficiency. The basic concept of APF is that robot moves from a starting point to a goal point with the action of attractive potential function and repulses away from the obstacles with the action of repulsive potential function. The establishment of APF is simple and fast, which makes it popular for collision-free path planning of mobile robots and articulated manipulators.
For the original APF, robot under the action of virtual force moves from the starting point to the goal point without colliding with obstacles. 18 –21 So the method is also called force potential field (FPF).
However, Barbara 22 presents that the FPF method based on the force or torque mode is difficult to carry out on practical industrial robot. Jaryani 23 proposes the concept of velocity potential field (VPF). Unlike the traditional force control approach, VPF transforms distances into the velocity of robot and has no concern of dynamic issues. The attractive velocity is assigned the vector of making the robot head toward an identified goal. In contrary to the attractive field, the repulsive velocity has inverse effect on the robot and it generates a differential motion vector that points the robot backward to the obstacle.
APF method may suffer from local minima problem when attractive and repulsive forces/velocities confront each other on the same line. Many solutions, such as using virtual target 24 –26 or introducing a tangential potential field, 19,27 have been put forward on it. To bypass obstacles, a tangential potential field is usually applied normal to the repulsive potential field.
VPF is a simple and direct method and is applied in collision-free trajectory planning of mobile robots, articulated robot manipulators, and unmanned aerial vehicle.
Kitts 28 defines the attractive velocity as a constant from the current point to the target point. The repulsive field includes a repulsive translational velocity and an angular velocity. The repulsive velocity magnitude may be a constant or changes in strength with an inverse proportion of the r-th power of distance between the robot and obstacle, where r is greater than or equal to one. The angular velocity component can solve the local minima problem. To make sure robots arrive at the target quickly, the attractive function usually sets a higher speed. When approaching the goal, the robot may pass the goal in the next periodic interval with the speed that may result in oscillation near the goal. Huang 29 defines that attractive velocity is proportional to the distance between the robot and the target. For the repulsive velocity, a radius of the influence of the repulsive field is suggested. Within the circle of influence, the magnitude of the vector grows from zero (outside or on the edge of the circle of influence) to a speed in inverse proportion to the distance between the robot and the obstacle. Jaryani 23 introduces a radius of influence of the attractive field, outside of this circle of extent, the vector magnitude keeps a constant and higher value. Within this circle of extent, the vector magnitude is set proportional to the distance between the robot and the goal. When the robot reaches the goal, the attractive velocity is reduced to zero. The repulsive potential has the same definition as in the study by Kitts et al. 29
The abovementioned studies are VPF-based collision avoidance happened in two-dimensional (2D) space.
Hu 30 proposes a method based on velocity vector field for unmanned aerial vehicle path planning. Actually, the path is planned in 2-D space for the projection of terrain. Attractive velocity function is defined as a constant speed. The repulsive velocity is inversely proportional to the square of the distance between planning points and threat points. The tangential velocity has the same value as the repulsive velocity, whose direction is perpendicular to the repulsive velocity pointing to the side of the target point. OuYang and Zhang 31 have a study on collision avoidance with industrial manipulators. Attractive velocity function is defined as a constant speed. An approaching velocity of the manipulator and the obstacle is introduced for repulsive velocity function (RVF). The repulsive velocity is active when the distance between the manipulator and the obstacle falls within the circle of influence and the approaching velocity is less than zero, which indicates the manipulator is approaching the obstacle. The smaller the distance and/or the approaching velocity is, the higher the repulsive velocity is. A detour velocity is deployed to escape local minimal here. The vector of detour velocity is calculated by the vector cross-product without the consideration of obstacle relative position to the robot or moving direction. Wu 32 studies the method to grasp a static or moving object with collision avoidance in dynamic environments. Attractive vector contains the translation and rotation information to approach the target. The translation part has a linear relationship with the distance between the end-effector and the target, the rotation part relates to the rotation of the target. Repulsive vector magnitude is evaluated using the exponential of robot–obstacle distances, and the direction relies on all obstacle points. According to the final attractive vector and repulsive vector, the local minima escaping strategy is determined to apply or not. The potential vector is generated by attractive and repulsive vectors that are different in various cases.
In this article, a more applicable algorithm is proposed based on VPF in 3-D working space of robot collaboration around obstacles. Based on the form in the study by Jaryani, 23 VPF is improved by introducing a saturation function at attractive VPF and designing a fuzzy spring damping system in repulsive VPF for a more smooth and time-efficient trajectory. Furthermore, an innovative tangential VPF is proposed for minimum avoidance path in 3-D space that is considering more factors, such as the current position relations of obstacles, target, and robots, and moving direction of the obstacle. In addition, a path priority strategy of collision avoidance is introduced for better performance and higher efficiency when multi-robots cooperation is scheduled.
The architecture of robots collaboration with collision avoidance is shown in Figure 1.

Architecture of robots collaboration with collision avoidance.
The geometry and parameters of robots are built offline. Joint angles of robots are retrieved from their encoders. The location and geometry of obstacles are known here by a binocular vision system that was introduced in the study by Huang. 33 All these information are shared in local area network (LAN) in real time. 34 Based on a simplified model of robots and obstacles, the nearest distance is estimated among robots and obstacles. Then a set of joint velocities is generated by collision-free algorithms and the robot motion control commands are sent to the controller to operate the manipulators, which are updated at a specified time interval until the manipulator reaches the goal.
The article is organized as follows: The “Simplified model and distance estimating” section describes the simplified models of objects by swept sphere volumes (SSVs) and the estimation of the minimum distance. An improved collision avoidance algorithm based on VPF is presented in the “An improved collision-free algorithm based on VPF” section. The “Simulations and experimentation” section expounds the implementation of simulation and experiments and the “Conclusions” section devotes to the conclusions.
Simplified model and distance estimating
The effectiveness of the proposed algorithm largely depends on the method of estimate of distance between objects. Using SSV bounding box technology that can be applied to construct a hierarchical tree and approach the object geometry gradually to represent complex objects, the minimum distance detection can be performed more efficiently and accurately.
Swept sphere volumes
If Q denotes swept path, S denotes primitive, then the collection of points can be formed by S swept Q as follows
where Sc denotes S at location c. Q has three geometric primitives which are points, line segments, and rectangles.
The swept spheres formed by primitives are point swept spheres (PSSs), line segments swept spheres (LSSs), and rectangle swept spheres (RSSs). As a result, the geometric model of the manipulator can be simplified by a list of SSVs.
Hierarchies of simplified model
According to the characteristics of manipulators, a method of two-layer hierarchies of simplified model is proposed as follows:
Step 1: Layer one
As shown in Figure 2(a), the manipulator is only represented by a RSS.

The simplified model of robot. (a) Layer one. (b) Layer two.
Step 2: Layer two
Layer two will be checked when the potential collision is not eliminated in layer one. In this layer, the manipulator is represented by mixed SSVs, as shown in Figure 2(b).
Distance checking
As shown in Figure 3, there are two SSVs (two LSSs in Figure 3(a), one LSS and one RSS in Figure 3(b) in the space. Ci and Cj are SSVs, Li and Lj are geometric primitives, ri and rj are the radius of Li and Lj, respectively. The approximate distance between the two SSVs is
where

Distance estimate of SSVs. SSVs: swept sphere volumes. (a) LSS to LSS. (b) LSS to RSS.
Assuming object #p is represented by mp SSVs and they are
where
The minimum distance
An improved collision-free algorithm based on VPF
VPFs in 3-D space
VPFs are defined in 3-D workspace of manipulators as shown in Figure 4. Attractive velocity function (AVF)

The velocity potential fields. (a) Static obstacle. (b) Moving obstacle.
RVF
A safe area of sphere O with a radius ds is set. OP is a circle-shaped cross section of the sphere O in the plane P that is formed by

Tangential velocity field. (a) Static obstacle. (b) Moving obstacle:
For stationary obstacle, if η > 180°, the direction of
AVF with saturation function
When approaching the goal, the robot may pass the goal in the next periodic interval with a large velocity. Therefore, a saturation function is suggested to AVF to reduce the chattering as the robot gets closer to the goal. Assume that there is a boundary layer of radius da around the goal. Attractive velocity is defined as a constant outside of the boundary layer, and the distance between the robot and the goal decreases in the boundary layer. Hence, the attractive velocity va is defined as
where K is the strength of the attractive velocity potential function and it is a constant that can be set to maximum possible value.
Now, the AVF is defined as
where
For robotic manipulator operating in 3-D space, the reference vector is related to location and orientation of the end-effector in operational space. Therefore, both linear velocity and angular velocity need to be controlled.
According to the manipulator end-effector orientation based on job task, the angular velocity of the robot is defined as
where
In most cases, the Jacobian matrix is not a square matrix when translating velocity in Cartesian space into velocity in joint space. Therefore, pseudoinverse Jacobian matrix piv(J) needs to be constructed, which is defined as
Using the inverse Jacobian relationship, we will have the joint velocities
where J is Jacobian matrix,
RVF based on fuzzy spring damping system
As the same reason of the oscillation near the goal, the trajectory of the robot at the edge of RVF will be rough. In order to make the robot have a smooth trajectory when it repels the edge of repulsive VPF, a virtual spring damping system is introduced into RVF, whose coefficients are kp and kd around an obstacle as shown in Figure 6; the system generates a repulsive velocity vr when robot enters into the repulsive potential field. No matter the robot entering or leaving repulsive potential field, the damping system will “dissipate” the robot’s energy (velocity). Affected by damping, the oscillation of the robot will be reduced near the obstacle.

Virtual spring damping system.
Based on the spring damping system, the repulsive velocity vr, within the distance of influence dr, is defined as
where d0 is the closest distance between the robot and the obstacle
The coefficient
The velocity v of a manipulator moving toward an obstacle is chosen as input and

v’s membership function.

kp's membership function.

kd's membership function.
The following fuzzy control rules shown in Table 1 are designed.
Fuzzy control rules.
VS: Very Slow; SL: Slow; M: Medium; FA: Fast; VF: Very Fast; BG: Big; VB: Very Big; VSL: Very Small; SM: Small; ME: Medium.
Then RVF can be expressed as follows
where M denotes a large positive number
The repulsive velocity is zero outside of influence of repulsive potential field. Within the influence, the velocity is determined by the spring damping system. If a manipulator and an obstacle are very close, the repulsive velocity would be infinite.
In order to get joint velocities, partial Jacobian matrix J′ is created. Point R is assumed that locates on the joint m as the end-effectors of the manipulator, so only the effects of joints between R and the robot base are considered. 36 Then J′ is defined as
where
Thus joint velocities can be expressed by “partial Jacobian matrix” relationship for
where
Then joint velocities
Tangential velocity function
TVF is defined as
where

γ’s membership function.
Similarly,
where
Real-time collision avoidance with path priority strategy
Different from one manipulator avoiding an obstacle, robots can avoid each other for multiple robots. For this issue in the study by OuYang F and Zhang, 31 all robots are seen as moving obstacles. The manipulators apply 0.6 times of the repulsive velocity when all the repulsive velocity needs to be added up in two robots’ avoidance collision.
Actually, different priorities should be considered in path planning of multiple robots for process optimization or synergetic work. For example, if two robots are requested to arrive at a place for collaboration, the best choice is to let the robot with longer distance have the shorter path with little waiting time and the other robot should give way to avoid collisions with each other, so the robot with longer distance should have higher priority and the other behave as “subordinates.”
Therefore, a variable α (
For mo obstacles and mr robots in the workspace, according to equations (9), (14), and (16), the velocity vector of the kth(1 ≤ k ≤ mr) robot joint space that added priority factor is defined as
where
In addition, joint angle limits and joint velocity limits existed in all actual manipulators should be taken into account.
The output of the algorithm is a set of joint velocities that command the robot to move during the following time interval. However, some manipulators are position controlled and in this case the joint velocities can be converted into joint positions at the end of each time interval, that is
where ql(t) is the position of joint l at time t, Δt is the time interval.
If the robot is in a singular position (
Simulations and experimentation
The simulation environment and experimental setup are constructed to demonstrate the capability and effectiveness of the proposed method. The simulations are conducted in MATLAB and Robot Studio (developed by ABB) environment, respectively. The experimental setup consists of two manipulators, one robot is ABB (IRB120) and the other is SCARA (developed by Googol). The control software is written in Microsoft Visual Studio.
Simulations in MATLAB
AVF with saturation function
In this simulation, a comparison of the proposed AVF in the article with other two algorithms is implemented, and the result is shown in Figure 11. AVF1 is derived from the studies by Kitts et al., 28 Hu and Li, 30 and OuYang and Zhang 31 that keeps with a fixed speed to a goal. AVF2 from the studies by Huang 29 and Wu 32 will decrease as the distance between the robot and the target with a directly proportional relationship.

Performance of the different AVFs. AVFs: attractive velocity functions.
The robot begins to move toward the target at the same speed. When approaching the goal with AVF1, the robot moves backward and forward again and again, which makes the robot oscillate near the goal. AVF2 and the proposed function make the robot smoothly get closer and closer to the target. Compared with AVF2, the robot reaches the goals faster in the proposed velocity because the robot begins to slow down near the goal.
RVF based on fuzzy spring damping system
In this simulation, the robot moves from starting point A (100, 380) to goal point B (400, 0), while a static obstacle of radius 30 mm is located at O (200,200). dr is 50 mm. A comparison of different RVFs with robot speed of 10 and 50 mm/s is shown in Figure 12(a) and (b), respectively.

Trajectories with different RVFs. (a) Robot with a speed of 10 mm/s. (b) Robot with a speed of 50 mm/s. RVFs: repulsive velocity functions.
Repulsive velocities in the literature
23,28
–30
are related to
As shown in Figure 12, the trajectories of robot are oscillating near the obstacle at different levels when applied in the RVF1, RVF2, RVF3, and RVF4, although the oscillation can be improved as the robot speed increases for the RVF3. For the proposed function in this article, the trajectories of the robot keep the shortest and smoothest path while avoiding the obstacle whether the robot speed is low or high.
TVF with different directions
In this simulation, an obstacle of cylinder with 50 mm radius and 100 mm height is located at O (200, 200, 0). Plane L is perpendicular to

TVF with different directions.
The robot moves from point S (0, 400, 0) to point G (400, 0, 100). The simulation results are shown in Figure 14 that the path of the robot keeps the shortest by applying

Trajectories with different TVFs. (a) 3-D map. (b) Top view. TVFs: tangential velocity functions. 3-D: three-dimensional.
Simulations in Robot Studio
Collision avoidance in different velocity
This simulation is carried out in Robot Studio with two ABB robots,
The simulation results are indicated in Figures 15 to 17. As shown in Figure 15, the distance between the two robots always keeps positive which means the collision never occurs. The collision avoidance processes between the two robots are shown in Figure 16 (v = 50 mm/s). At around t = 2 s, the robots enter repulsive potential field and begin to mutual repulsion. At approximately t = 5 s, the robots leave repulsive potential field and move to their own goals. Figure 17 presents the smooth trajectories of the robot joints.

Time diagram of the distance between the two robots.

Collision avoidance processes (down: front view, up: top view). (a) t = 0 s. (b) t = 2 s. (c) t = 2.5 s. (d) t = 3 s. (e) t = 3.8 s. (f) t = 5 s. (g) t = 6 s. (h) t = 9 s.

Time-joint angle curve of robot #1.
Path priority strategies in process of collision avoidance
In this simulation, there are five priority levels for robot #1 and robot #2 in which
The trajectories of end-effectors of robot #1 and robot #2 are shown in Figure 18. If robot #1 is required to arrive at the goal as quickly as possible, it would be given the highest priority (α1 = 0) which means robot #1 has the shortest path from the starting point to the goal point. In order to avoid collisions, robot #2 behaves as a “subordinate” robot (α2= 1) and thoroughly gives way to robot #1. If robot #1 owns higher priority than robot #2 at a level of α1 = 0.25 and α2 = 0.75, the paths of two robots are plotted in the yellow line where robot #1 has shorter path. And vice versa while the robot #2 has the highest or higher priority level as in purple or green lines. The magenta line represents the paths of the two robots with identical priority.

Trajectories of the two robots with different priorities.
Experiment
In this experiment, robot ABB (IRB120) and SCARA working in an overlapped working envelope are set up. The collision avoidance algorithm is implemented on two robots with two obstacles of which one is stationary and the other is moving. The base coordinate of SCARA is defined as global coordinate frame. ABB robot moves from A(480, 240, 200) to B(380, −240, 200) at a speed of 10 mm/s. Starting point and goal point of SCARA are C(100, 400, 100) and D(400, 0, 100) with a speed of 25 mm/s. Static obstacle represented by a LSS (radius: 40, length: 180) is located at (200, 180, 50). An object staying on a moving belt at a speed of 20 mm/s which is represented by a LSS (radius: 70, length: 200) can be considered as a dynamic obstacle. In this scenario, SCARA and ABB robot have the same priority level.
Figure 19 records the behaviors of collision avoidance in different time intervals. The trajectories of the two robots and a moving obstacle at the projection of XY plane are shown in Figure 20, which are denoted in the same color at the same time. Figure 19(a) is in the initial state. Figure 19(b) shows the two robots are moving toward their own goal without obstacles. Figure 19(c) and (d) shows the process of SCARA avoiding the static obstacle and ABB robot avoiding the dynamic obstacle, which correspond to ① and ② in Figure 20(a). When t = 25 s as shown in Figure 19(e), SCARA robot almost arrives to the goal D and ABB robot prepares to avoid SCARA. Figure 19(f) and (g) show that the two robots are avoiding collision with each other, which correspond to ③ in Figure 20(a). As shown in Figure 19(h), the two robots are succeeded in reaching their own goals without any collisions. From Figure 20(b), which magnifies the trajectories in Figure 20(a), it can be found that the trajectories are very smooth when the robots enter or leave repulsive potential field. Experiment results show the two robots successfully avoid collision with each other and the two obstacles.

Collision avoidance process among robots and obstacles. (a) t = 0. (b) t = 5 s. (c) t = 10 s. (d) t = 20 s. (e) t = 25 s. (f) t = 30 s. (g) t = 35 s. (h) t = 46 s.

Trajectories of robots and moving obstacle. (a) Trajectories at the projection of XY plane. (b) Magnification of trajectories near obstacles.
Conclusions
In this article, a real-time algorithm based on VPF is introduced to coordinate collision-free trajectories for robotic manipulators in 3-D space. The robot velocity is modeled by AVF, RVF, and TVF, which plan an optimal collision-free trajectory. Compared with the applications of the current methods based on VPF, the AVF with a saturation function makes the robot reach the goal faster without oscillation, the RVF with a fuzzy spring damping system has enhanced the optimum trajectories as well as the adaptability to different velocities while avoiding the obstacle. A new method of TVF is created to get the shortest path in 3-D space, considering the moving direction of the obstacle and the relative positions of obstacles, target, and robots currently. The control algorithm of multi-robots cooperation takes robot priority strategies into avoiding collision among robots that makes it more flexible in path planning and gets more coordinating paths based on the task importance and the time spent of every robot working.
The desired outcomes of the algorithms are verified in the simulations, which not only solve the problems of local minima around obstacle and oscillation near the obstacle and goal but also show better performances in trajectory or path planning. An experiment of the two robots working around a stationary obstacle and a moving obstacle is executed, and the results illustrate the effectiveness of the proposed method in real-time collision avoidance among robots and stationary or moving obstacles. Future works on this algorithm include optimizing the collision path further in consideration of moving obstacle velocity magnitude, and investigating its feasibility in narrow channels.
Footnotes
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work has been supported by the Science and Technology Planning Projects of Guangdong Province (2014B090920001).
