Abstract
Currently, industrial robotic manipulators are applied in many manufacturing applications. In most cases, an industrial environment is a cluttered and complex one where moving obstacles may exist and hinder the movement of robotic manipulators. Therefore, a robotic manipulator not only has to avoid moving obstacles, but also needs to fulfill the manufacturing requirements of smooth movement in fixed tact time. Thus, this paper proposes a virtual velocity vector-based algorithm of offline collision-free path planning for manipulator arms in a controlled industrial environment. The minimum distance between a manipulator and a moving obstacle can be maintained at an expected value by utilizing our proposed algorithm with established offline collision-free path-planning and trajectory-generating systems. Furthermore, both joint space velocity and Cartesian space velocity of generated time-efficient trajectory are continuous and smooth. In addition, the vector of detour velocity in a 3D environment is determined and depicted. Simulation results indicate that detour velocity can shorten the total task time as well as escaping the local minimal effectively. In summary, our approach can fulfill both safety requirements of collision avoidance of moving obstacles and manufacturing requirements of smooth movement within fixed tact time in an industrial environment.
Keywords
Introduction
Industrial robotic manipulators are commonly used to complete various tasks in manufacturing plants. In a dynamic industrial environment, there are moving obstacles such as AGVs, parts on the conveyor, overhead cranes or other robotic manipulators. This means that the working space of a manipulator is constrained. On the one hand, a robotic manipulator has to avoid moving obstacles in consideration of safety requirements. On the other hand, it needs to fulfill the manufacturing requirements of working speed, positioning accuracy and smoothness of movement within tact time. Therefore, this paper proposes a virtual velocity vector-based algorithm and establishes corresponding offline collision-free path-planning and trajectory-generating systems. As a result, the minimum distance between a manipulator and a moving obstacle is maintained at the expected value while time-efficient, continuous and smooth task space paths and joint space trajectories are generated which can satisfy the requirements of real manufacturing applications.
The majority of collision-free path-planning algorithms for robotic manipulators can be classified into three categories.
The first approach is to use the collision map. This method generally assumes a moving robot or obstacle with higher priority moving along a predefined path, which the other robots with lower priority should avoid through waiting or speed modification, preventing the path searching from entering the collision areas on the collision map. This approach is based on geometry calculation with decent visualization of the collision map and is applied in collision avoidance of mobile robots [1], planner articulated manipulators [2] and six-degrees of freedom (DoF) manipulators [3–5].
An alternative method for collision avoidance of manipulators is to transform obstacles from task space to configuration space (C-space) and then to map a valid path within the configuration space. This method is generally utilized with robot arms rather than mobile robots, such as planner articulated manipulators [6–8] or three-DoF [9]/six-DoF robot arm [10] avoiding fixed obstacles, and collision-free path planning between articulated robot arms [8,11].
The third possible approach is the potential field-based method, usually called artificial potential field (APF) [12] or virtual force field (VFF) [13]. The establishment of APF/VFF is simple and fast, which makes it popular for collision-free path planning of mobile robots [14,15] and articulated manipulators [12,16,17]. The APF/VFF approach is a force-actuated method that assumes there are two types of potential field/force applied on a robot, namely attractive potential field/virtual force and repulsive potential field/virtual force, with active regions around each obstacle. The attractive potential field/virtual force is active and constantly applied on the robot towards the goal, while the repulsive potential field/virtual force is only activated when the robot enters the obstacle's active region. The robot is actuated towards the destination by the superimposed force of both types of potential field/virtual force while the robot avoids the obstacles on the path.
Although the APF/VFF approach is simple and fast, with this approach robot dynamics usually need to be considered and the torque control mode employed for joint servomotors. Commercial industrial robotic manipulators rarely provide torque control mode [18] but actuate the joints instead by position or velocity signal. For this reason, some researchers have used the potential field function to calculate correction of position in task space, utilizing robotic kinematics for robot control [19–21], Other researchers have constructed virtual velocity functions and utilized velocity control mode to actuate mobile robots [22–24] and articulated robot arms [25] in an environment with moving obstacles. Fn [26–28], the potential field function is used to calculate the correction of velocity in task space. The redundancy of planner multi-link robot arms is utilized to avoid obstacles or other robots. Bosscher P. and Wu P.W.et al. established virtual velocity function and utilized the Jacobin matrix for real-time collision-free path planning and motion control for six-DoF robotic manipulators [29, 30]. But another issue is that the potential field-based method may trap in local minimal [13] when attractive and repulsive forces confront each other on the same line; this is also termed as collinear condition [31]. Traditional methods for escaping local minimal include the wall-following method [32], simulated annealing [33], and modification of repulsive field function [34]. A tangential field has also been proposed and added to the repulsive field [13]. This tangential field helps the robot to detour around the obstacle. Similarly, Zeng L.Q. and Bone G.M. [31,35] used virtual tangential force to escape collinear condition, terming this virtual force “detour force”. Tangential field/detour force is a simple and direct method that performs perfectly in escaping local minimal [25,36].
The three methods described above are capable of providing collision avoidance of robotic manipulators. However, there are still various limitations for each method in practical applications. First, the collision map requires the robot to avoid obstacles by waiting or decreasing speed, which can only be effective when the path is known a priori and cannot be modified – this is invalid when the path is unknown or obstacles block the path. This deadlock problem was researched for a two-manipulator situation in [5]. Second, the C-space collision-free path lacks intuitive-ness, so it is more difficult to understand compared with the task-space path. The full construction of high-dimensional configuration space such as a six-DoF manipulator is complex and expensive, with complexity rising exponentially due to the increase of DoFs. Efficiency improvement of the C-space algorithm is researched in [6, 9], Finally, industrial robot arms equipped in manufacturing plants generally execute predefined repetitive motion in fixed tact time, and the manufacturing requirements of working speed, positioning accuracy and smoothness of movement need to be fulfilled. The force-actuated potential field-based method needs to deploy the torque control mode of joint motors when it is applied on articulated manipulators [12, 13, 16, 17], but the accuracy of torque control mode highly relies on the accuracy of the dynamics equation – this is difficult to achieve with industrial manipulators working in severe environments. Additionally, operators are required to understand robot dynamics. As a result, the position or velocity-actuated potential field-based method is far preferable in satisfying the requirements of high speed and positioning accuracy in manufacturing applications.
The real-time/online collision avoidance technologies of manipulators [12, 17, 28–30] calculate and generate the paths and joint trajectories in real time, but the shape, length, and destination of path and total task time are indeterminate, so it is impossible to guarantee the repetitive positioning accuracy and tact time. Even more, the online-generated trajectory is not smooth and optimal, such that the joint velocity may suddenly change or reach the upper/lower limits, which may result in oscillation or unstable movement. Therefore, offline and optimized path-planning and trajectory-generating approaches are more appropriate for industrial manipulators executing rapid and repetitive work with high positioning accuracy.
In summary, based on the safety requirements of collision avoidance and manufacturing requirements of working speed and smoothness of movement in reality, this paper presents a virtual velocity vector-based method with corresponding collision-free path-planning and trajectory-generating systems for six-DoF industrial manipulators, which is based on existing artificial potential field and virtual velocity methods, in controlled industrial environments with moving obstacles. The tool-end velocities of manipulators and velocities of moving obstacles are assumed to be constant and known. Our proposed method has the following advantages.
The organization of this paper is as follows. In Section 2, the method for establishing the bounding box model of a six-DoF industrial manipulator is explained. The virtual attractive and repulsive velocity functions are designed in Section 3 together with the improvement of functions. The offline collision-free path-planning and trajectory-generating systems are presented in Section 4. In Section 5, the determination of the directional vector of detour velocity for escaping local minimal in a 3D environment is described, and an updated repulsive velocity function with detour velocity is presented. The simulations are done in section 6, with a discussion of the results. Finally, we end with conclusions and discussion of future work in section 7.
Establishment of the bounding box model
The geometry of the manipulators and obstacles in reality is complex; therefore, before we start to design the virtual attractive and repulsive velocity functions for the manipulator avoiding moving obstacles, it is important to construct the bounding box representation and choose the algorithm of collision detection and distance calculation. Swept Sphere Volumes (SSV) bounding box representation together with a distance calculation algorithm [37], which is popular in polyhedron approximation, is chosen in this paper since it is a simple and systematic method with a good balance between cost and accuracy. It is suitable for robot arm modelling [5]. There are three basic bounding boxes of SSV: Point Sphere Volumes (PSS), Line Sphere Volumes (LSS) and Rectangular Sphere Volumes (RSS) [38], as shown in Figure 1. These are related to the point, line and rectangular feature, respectively. The SSV algorithm is a feature-based algorithm that computes the distances between a pair of features. The distance between two bounding boxes is equal to the distance between two features minus the radius of each bounding box. We will not explain this method in detail, but refer readers to [37, 38] for a systematic overview.

Three geometry primitives of SSV bounding box [37]
The robotic manipulator model employed in this paper is illustrated in Figure 2 a); the link parameters, joint angle, velocity and acceleration limits are shown in Table 1. The length of the manipulator's end tool is 210 mm. The whole manipulator is divided and represented by 12 bounding boxes with the unit number, as displayed in Figures 2 b) and c). The arrows on the bounding boxes are related to the detour velocity calculation, which will be explained in section 5.

Models of manipulator and bounding boxes
The virtual velocity function introduced in section 3 utilizes the Jacobian relationship of serial manipulators. The corresponding “partial Jacobian matrix” [29] depends on which robot link is located in the closest point, and will be explained in section 4. Therefore, the 12 bounding boxes are classified into three categories as follows and a three-link model is established. The units of the bounding boxes are illustrated in Figure 2.
Parameters of robotic manipulator
Link 1: Units 4, 5 and 6.
Link 2: Units 7, 8, 9 and 10.
Link 3: Units 11 and 12.
In order to realize velocity-actuated movement of the manipulator while avoiding moving obstacles, the virtual velocity vectors and corresponding control functions are presented.
Virtual velocity vectors
Virtual velocity vectors include virtual attractive and repulsive velocity vectors. There is an illustration of these two virtual velocity vectors for a manipulator M avoiding a moving obstacle O
j
in Figure 3. The links and end tool of the manipulator are represented by LSS bounding boxes while the moving obstacle is represented by an RSS bounding box. The radii of each bounding box are r
M
and r
Oj
, respectively. D
j
is the minimum distance between the manipulator and the obstacle. The base coordinate system of manipulator

Virtual attractive and repulsive velocity vector
Manipulator M is actuated towards the goal by the superimposed velocity of virtual attractive velocity vector
There are active regions outside each manipulator link or tool with a safety radius Ds. The virtual attractive velocity vectors
On the basis of the virtual velocity vector model established in section 3.1, the control functions of virtual attractive velocity and virtual repulsive velocity are designed and improved in this section.
Attractive velocity function
It is assumed that the tool end
The proposed repulsive velocity function Eq. (7) is a function of the minimum distance D j and the approaching velocity D j along the direction of D j . ΔD j and D j indicate the position error and the approaching velocity along the direction of D j , which are defined in Eqs. (2,3).
On the one hand,
In order to maintain the minimum distance D j between a manipulator and a moving obstacle at the expected value Ds, the control function of position modification χrepj is designed and can be computed by Eq. (5) during sampling interval ts. Moreover, the position modification during sampling interval ts can be transformed into velocity modification by Eq. (6).
kd and kv are the proportional and differential coefficient, respectively. The repulsive velocity function can be computed by Eq. (7).
Finally, the synthesized virtual velocity function can be obtained based on
It is important to note that when multiple obstacles enter the active region of the manipulator simultaneously, the superimposed joint velocity modification is computed by Eq. (10).
ω in Eqs. (8–10) expresses the angular velocity vector of manipulator tool end, ω
att
is set according to the requirements of the task, and ωrepj can be set to (0,0,0) in Eqs. (8,9) if collision avoidance is conducted only by modifying the linear velocity vector. Finally, the synthesis of
In the case of a serial manipulator,
A step and a sine signal of approaching velocity are used for testing in order to verify the control performance of the minimum distance D j of the proposed virtual repulsive velocity function in Eq. (7) when a moving obstacle enters the active region of the manipulator. T, t and t s indicate time length of simulation, time variable and sampling interval when T=10s, ts=0.2s and Ds=50 mm.
When the approaching velocity is a step signal (vatt_M+vOj_n = −150 mm/s), repulsive velocity function calculated in Eq. (7) can maintain the minimum distance between a manipulator and a moving obstacle at the expected value Dg, as plotted in Figure 4.
When the approaching velocity is a sine signal (vatt_M+vOj_n = | sin(πt/10) | (−150) mm/s), the repulsive velocity function cannot keep the minimum distance D j between a manipulator and a moving obstacle at the expected value Ds, but drops below Ds, as Figure 5 shows.

Response curve of D j with step signal input

Response curve of Dj with sine signal input
It is clear in Figure 5 that when the approaching velocity is a sine signal (vatt_M+vOj_n = | sin(πt/10)|(−150) mm/s), the repulsive velocity function fails to maintain the minimum distance D
j
at expected value Ds. The reason for this is that the magnitude of
In addition, in Eq. (11), there are four magnitude combinations between D j and Ds. Only if D j Ds for two adjacent sampling intervals, is the modification made. Dj(t-1) is defined as the minimum distance at last time moment t−1, while D j is still that at time moment t.
kr is a coefficient that needs to be set according to the maximum changing rate of approaching velocity: the greater the maximum rate of change, the larger kr should be. In this section, kr is set to 2. On the one hand, for step signal input of approaching velocity, the response curve of D j is the same as in Figure 4. On the other hand, for sine signal input of approaching velocity, the response curve of Dj is as displayed in Figure 6. Graphically, after the modification, the error adjustment of minimum distance D j can be figured out precisely by repulsive velocity function Eq. (7). The minimum distance D j is maintained steady at expected value Ds.

Response curve of Dj after modification
However, coefficient kr is generally unknown in advance in reality. One possible approach to determine kr is to set an estimated value (e.g., kr=1) in advance and to increase the value until the response curve of D j is satisfied.
The industrial articulated manipulator needs to fulfill not only the safety requirements of collision avoidance, but also the manufacturing requirements of smooth movement in fixed tact time. To satisfy these requirements, an offline collision-free path-planning system and a trajectory-generating system are presented in this section. These two systems work together in such a way that, at first, the offline collision-free path-planning system searches and outputs a collision-free path termed “raw path”, based on the proposed virtual velocity vectors and control functions presented in section 3, and then the trajectory-generating system generates the joint angular displacement with continuous and smooth joint velocity. We will introduce how these two systems work in detail in the following sections.
Collision-free path-planning system in Cartesian space
The established offline collision-free path-planning system is shown in Figure 7. It is a discrete system with sampling interval ts.
The virtual attractive velocity vector

Overview of offline collision-free path-planning system
Θ˙4 is the superimposed joint velocity vector of Θ˙0, Θ˙1, Θ˙2 and Θ˙3, which is inputted to the tool posture compensation module. The module output Θ˙5, which is regarded as the final joint velocity signal, is sent to the joint actuators of the manipulator model.
When the collision-free path planning is finished, series data of discrete joint angle vector Θ versus time t are recorded and saved. The Cartesian space tool end path of the manipulator can be computed by the forward kinematics of Θ. This path is termed the “raw path”, and is illustrated in Figure 8. The trajectory generation system in the next sectin takes advantage of the raw path and generates joint space trajectory with continuous and smooth joint velocity.
In Figure 8,
The raw path adopts a relatively larger value of sampling interval ts, while the generated path and corresponding joint space trajectory adopt smaller ts values since the generated trajectory is used for joint motor actuation. Usually, the sampling interval ts of generated trajectory should comply with the sampling interval set-up of the motion control card.

Collision-free path planning and generation
Path
The position coordinates
Step 1 produces a continuous and smooth Cartesian space path
Detour velocity
As mentioned in section 1, the potential field-based method has a drawback in that path planning may be trapped in local minimal; therefore, we deploy detour velocity and update the virtual repulsive velocity function in Eq. (7) to escape local minimal in a 3D environment.
Vector of detour force/velocity in a 2D environment can be calculated by equation
In Figure 10,
Finally, the detour velocity is added into the virtual repulsive velocity function in Eq. (7) to produce the updated repulsive velocity function Eq. (13).

Specification of directional vector

Determination of the vector of detour velocity in 3D environment
In Eq. (13), kdv is the coefficient of detour velocity, which determines the magnitude of detour velocity. The greater the value of kdv, the faster the manipulator detours around the obstacle, which results in shorter total task time and time-optimized path. However, increase in kdv is constrained by joint angle, velocity and acceleration limits. Besides the joint space limits, we define a criterion to acquire a time-efficient path, that is, kdv stops increasing when the total task time T decreases to the predefined task time Td where no obstacle exists. These limits and this criterion should be complied when the time-efficient collision-free path is generated through increasing kdv. In addition, since there are two directional vectors of
Three simulations are executed to verify our proposed virtual velocity algorithm with established offline collision-free path-planning and trajectory-generating systems. Simulation 1 verifies the established offline collision-free path-planning and trajectory-generating systems, introduced in section 4, and the evaluation of the effect of detour velocity presented in section 5. We compare our method with the other three virtual velocity-based methods in simulations 2 and 3. Discussions are also provided at the end of each simulation.
Conditions and setups of simulations
The robotic manipulator model, bounding box model, link parameters, joint angle and velocity limits have already been introduced in section 2. The establishment of the manipulator kinematics model, motion control and simulation are done by Solidworks-Simulink software, based on [39]. In consideration of simulation speed and the convenience of drawing, sampling interval ts of raw path is set to 0.4 s and ts of generated path and trajectory is set to 0.2 s.

Scenario of a manipulator avoiding a moving obstacle
The scenario in simulations 1 and 2 is the same as that illustrated in Figure 11, which shows the collision avoidance between a six-DoF manipulator and a moving obstacle, represented by a LSS bounding box.
The origin of the manipulator (M) base coordinate system {
Simulation 3 is collision avoidance between two six-DoF manipulators. A dual-manipulator model is established with base coordinate system {
Td=20 s, while T is the actual total task time, which indicates the time length when both manipulators reach their respective destinations.

Scenario of collision avoidance between two manipulators
The results of collision-free path planning and trajectory generation are illustrated in Figures 13–16. The total task time of path planning with detour velocity is reduced from 36.4 s to the expected optimal time 20 s when kdv is increased to 1.6.
Figure 13 shows the generated manipulator tool end paths in Cartesian space. Graphically, path

Results of collision-free path planning

Generated joint space velocity with detour velocity
Figure 14 shows that the corresponding joint space velocity of path
Figure 15 shows that the Cartesian space velocity of the whole generated path from starting point
Figure 16 shows that employing

Cartesian space velocity curves of generated paths

Curve of minimum distance Dj
In summary, the joint space trajectory generated by steps 1 and 2 in section 4.2 can ensure the continuity and smoothness of both joint space velocity and Cartesian space velocity. Therefore, the joint space trajectory generated by our proposed trajectory-generating system can be directly sent to the joint servomotors for motion control. Moreover, the addition of detour velocity can greatly shorten the total task time by adjusting and increasing the coefficient of detour velocity kdv. Finally, the safety requirement of D j ≥Ds and the continuity and smoothness of joint space velocity during the movement can be all fulfilled.
In this simulation we compare our method with the other three virtual velocity-based methods. Since the success of collision-free path planning mainly depends on the repulsive velocity, we use the same attractive velocity function Eq. (1) but different repulsive velocity functions for each method. The vector of repulsive velocity
Repulsive velocity function 1 [29]: vai is the maximum allowed approaching velocity and Eq. (14) is the function of vai. The variables in Eq. (14) refer to [29]; we assume
vatt_M+vOj_n is the approaching velocity between the manipulator and the moving obstacle along the direction of minimum distance Dj, which is explained in section 3. The calculation of vrepj is according to Eq. (15).
Repulsive velocity function 2 [23] is according to Eq. (16): Koj is the repulsive coefficient.
Repulsive velocity function 3 [25] is according to Eq. (17): β is the repulsive coefficient.
Two simulations are demonstrated due to normal situation and situation of trapping in local minimal. The results of collision-free path planning for four velocity-based methods are given.
This simulation compares the performance of four virtual velocity-based methods in a normal situation. The results of collision-free path planning for the four methods are illustrated in Figure 17 and Table 2.
The adjustment of the parameters of methods 1, 2 and 3 is made on the basis of two criteria. On the one hand, the parameters should be large enough to “push” the manipulator away outside the active region Ds if the minimum distance D j is less than Ds in consideration of safety requirements. On the other hand, the adjustment of parameters aims at obtaining an optimized path with shortest total task time.

Comparison of four methods in normal situation
Figure 17 shows the manipulator tool end paths of the four methods in Cartesian space. The advantage of our method without detour velocity is not obvious compared with the other three methods. However, addition of detour velocity helps the manipulator to detour the moving obstacle much faster with the shortest length of path. This situation can also be observed from the total task time in Table 2.
Comparison of four methods on total task time
The simulation condition of this section is the same as in section 6.3.1, except that the moving speed ||
Our method with detour velocity successfully reaches the goal and the total task time is reduced to 20 s when kdv = 1.7 so that time-efficient path is obtained. The other three methods, along with our method without detour velocity, fail to reach the end point
In a word, the calculation for directional vector of detour velocity proposed in section 5 is valid and effective. The updated repulsive velocity function with detour velocity Eq. (13) is a simple and fast way of escaping local minimal in a 3D environment.

Comparison of four methods where local minimal exists
In section 6.3, only one manipulator is able to avoid the moving obstacle. However, in this section, both of the two manipulators are able to avoid each other. Applying virtual repulsive velocity function from Eq. (7) and Eq. (13) directly on both manipulators may result in a situation where D
j
is approximately equal to twice Ds, since our method assumes that the moving obstacle is unable to avoid the manipulator. To address this issue, both of the manipulators apply 0.6*
The results of collision-free path planning for four methods are illustrated in Figure 19 and Table 3. Our method with detour velocity outperforms the other three methods at total task time. The corresponding joint space velocities for both manipulators applied with detour velocity in our method are continuous and smooth, but these are not presented due to page limitation.

Generated collision-free paths of two manipulators
In addition, in Table 3 the total task time of time-efficient path T is equal to 21.2 s but not the expected time Td = 20 s. The optimal total task time fails to reach 20 s because increasing kdv can no longer reduce the total task time. This is because detour velocity is only valid within path
Comparison of four methods on total task time of two manipulators collision avoidance
The proposed algorithm with established offline collision-free path-planning and trajectory-generating systems can produce time-efficient trajectory for industrial manipulator arms with continuous and smooth joint space velocity and Cartesian space velocity. The safety requirements of collision avoidance with moving obstacles and the manufacturing requirements of smooth movement in fixed tact time can be both fulfilled within a controlled industrial environment. Future research should focus on the collision avoidance of more complex obstacles and multiple moving obstacles.
Footnotes
8.
Project funded by China Postdoctoral Science Foundation (2014M562169).
