Next Article in Journal
Flexible Ring Sensor Array and Machine Learning Model for the Early Blood Leakage Detection during Dialysis
Next Article in Special Issue
Ground Risk Assessment for Unmanned Aircraft Focusing on Multiple Risk Sources in Urban Environments
Previous Article in Journal
Investigation of Hydroxyl Radical Yield in an Impact-Jet Hydraulic Cavitator
Previous Article in Special Issue
A T-S Fuzzy Quaternion-Value Neural Network-Based Data-Driven Generalized Predictive Control Scheme for Mecanum Mobile Robot
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

S-Velocity Profile of Industrial Robot Based on NURBS Curve and Slerp Interpolation

1
School of Mechanical and Electrical Engineering, China Jiliang University, Hangzhou 310018, China
2
Henan Power Transmission and Transformation Construction Co., Ltd., Zhengzhou 450003, China
*
Author to whom correspondence should be addressed.
Processes 2022, 10(11), 2195; https://doi.org/10.3390/pr10112195
Submission received: 7 September 2022 / Revised: 2 October 2022 / Accepted: 21 October 2022 / Published: 26 October 2022
(This article belongs to the Special Issue Intelligent Techniques Used for Robotics)

Abstract

:
This paper presents a novel algorithm for industrial robot trajectory planning based on the NURBS(Non-Uniform Rational B-Spline) curve and Slerp interpolation aiming at the problems that the trajectory of a six-axis industrial robot is not smooth enough in the operation process, the posture planning process is non-uniform, and the six-axis industrial robot starts and stops frequently. Firstly, aiming at the first problem, the trajectory planning algorithm based on the NURBS curve is presented to improve the smoothness of the trajectory curve. Combined with Slerp posture planning based on quaternion description, which realizes the uniform change of posture on the robot’s end-effector. Secondly, aiming at the second problem, the S-velocity planning algorithm is presented in the interpolation interval of the robot, which realizes the operation process of complex curves continuously, and improves the operation quality. Finally, this paper uses Bernoulli’s lemniscate as the incentive trajectory, and the contrast experiment of trajectory planning between two incentive profiles is designed, which are the NURBS curve and the five-order polynomial curve. The result of the experiment indicates that the planning algorithm proposed in this paper could effectively improve the smoothness of trajectory in a Cartesian workspace, decrease the impact and tremulous in a Cartesian workspace, and effectively improve the performance of the robot working process. The results drawn from this paper lay a certain foundation for the future high-precision control of industrial robots.

1. Introduction

In the working process of industrial robots, the smoothness of the end-effector’s trajectory is one of the important indexes to evaluate the robot working quality [1,2]. In order to make the robot move along the given trajectory, generally speaking, it usually goes through three stages: trajectory planning, velocity planning and real-time interpolation [3].
The end-effector’s trajectory of industrial robots refers to the coordinate position and posture of the robot’s end-effector, which is the function of the working process time respectively; Therefore, the trajectory planning of the robot’s end-effector includes the position and posture planning [4]. The position planning of the robot’s end-effector could be taken in two steps. Firstly, determine the trajectory curve, i.e., the geometric equation, which is a three-dimensional curve in Cartesian space. Then determine the function between the components of the x, y and z axes and time t in the Cartesian coordinate frame [5]. When it comes to the end-effector posture planning, the posture planning algorithm should be selected corresponding to the way of posture description [6].
For the trajectory planning of the robot’s end-effector, determine all the critical points first, then construct the trajectory curve through real-time interpolation [7]. Generally speaking, the basic interpolation algorithm of the robot includes linear interpolation and arc interpolation [8], and other interpolation algorithms are based on the two basic interpolation algorithms above. Among the interpolation algorithm above, the way of connecting adjacent critical points with tiny straight line segments [9] is simple, namely the form of a "straight line and transition curve" iteratively. However, at the intersection point of two adjacent line segments, there exist abrupt changes in direction, which leads to many unsmooth points in the whole working process, thus affecting the quality of the whole process. Based on the interpolation algorithms above, the form of parabolic transition adopted near the critical points [10] could ensure the smoothness of the trajectory at every trajectory point. Furthermore, polynomial curves with good smoothness could be applied near critical points [11], such as arc transition [12] and high-order polynomial transition [13], which could also ensure the smoothness of the trajectory at every trajectory point. However, such a local smoothing algorithm does not have a unified form for the description of the entire working trajectory, the algorithm solution is complicated, and the computation is large.
Different from the above local smoothing algorithm, the global smoothing algorithm adopts a smooth curve to construct the trajectory according to all the trajectory points. The commonly seen global smoothing curves include the Bézier curve [14], PH curve [15] and NURBS curve [16,17]. The common feature of the above global smoothing curves is that they are all structural curves, which could be constructed according to the boundary conditions, i.e., position, velocity and acceleration at trajectory points. Among the above global smoothing curves, the NURBS curve proposed in the literature [16] could be used as control vertices based on a series of critical points, and different weight factors corresponding to different points could construct a unified curve model. Meanwhile, due to the differentiability of the NURBS curve, it meets the requirement of end-effector trajectory smoothness in the robot working process [18].
The above interpolation algorithms are mainly aimed at the situation where the end-effector posture remains unchanged during the whole working process. If the end-effector posture changes, the corresponding planning algorithm should be selected corresponding to the way of the end-effector posture description [19]. The Robot’s end-effector posture could be described with RPY angle [20], universal rotation transformation algorithm [21], quaternion [22,23] and other description algorithms. Among the end-effector posture description algorithm above, the RPY angle describes the rotation in a simple way, but there exists coupling between RPY angles, which may lead to the problem of universal joint locking, and the rotation around x, y and z axes may lose a degree of freedom. As for the universal rotation transformation algorithm, when the rotation angle around any vector in the Cartesian space is close to 0° or 180°, it is difficult to determine the rotation axis, and the transition discontinuity of the posture will occur when the adjacent posture is rotated around the fixed axis while using quaternion to describe the posture rotation could effectively avoid the above problems.
The above trajectory planning algorithms in the robot Cartesian space solve the problem of which trajectory the end-effector moves along with, while the velocity planning algorithm solves the problem of how to move along the planned trajectory in the working process of the robot. The velocity planning algorithm could be categorized as non-flexible and flexible velocity planning. The trapezoidal velocity planning [24], as a typical non-flexible velocity planning algorithm, could be applied to a variety of working conditions due to its simple model and easy implementation. However, the velocity change is not smooth enough, and there exists a mutation of the acceleration during the motor start and stop processes, which is likely to lead to the impact of the joint motor, and it is hard to meet the requirements of high accuracy in working conditions, while the flexible velocity planning could avoid the impact of joint motor and improve the flexibility of the working process. The commonly used flexible velocity planning algorithms include exponential velocity profile [25], trigonometric velocity profile [26], polynomial acceleration and deceleration velocity profile [27], S-Velocity planning [28,29], etc. Among the above flexible velocity planning algorithm, S-Velocity planning ensures the continuity of acceleration profile, which effectively reduces the impact of joint motor, and the algorithm complexity is moderate, could be taken into account the real-time requirements of the system, and is widely used. In the meanwhile, the velocity profile of exponential velocity planning is smooth and has high-order derivatives, but the algorithm complexity is high, and there are still some mutations at the two endpoints. Trigonometric velocity planning uses a single sinusoidal curve to construct the velocity profile. During the acceleration and deceleration process, there only exists one point which could reach the maximum value of acceleration or jerk, and the abrupt change of jerk will occur at the end of the acceleration and deceleration sections. Polynomial velocity planning further improves the smoothness of the S-velocity profile, but the algorithm is complicated and difficult to meet real-time requirements. Theoretically, exponential velocity planning, trigonometric velocity planning and high-order polynomial velocity planning have higher derivatives and better compliance, but the complexity of such algorithms cannot guarantee the real-time performance of the algorithm, and the application in engineering is affected to a certain extent.
This paper presents the trajectory planning algorithm based on the NURBS curve with well-smoothness to improve the smoothness of the trajectory curve. Combined with Slerp posture planning based on quaternion description, which realizes the uniform change of posture on the robot’s end-effector. Then the S-Velocity planning algorithm is presented in the interpolation interval of the robot, which realizes the operation process of complex curves continuously, and improves the operation quality. Finally, this paper uses Bernoulli’s lemniscate as the incentive trajectory, and the contrast experiment of trajectory planning between two incentive profiles is designed, which are the NURBS curve and the five-order polynomial curve. Through the analysis and comparison between the two incentive profile, the velocity profile with the planning algorithm proposed in this paper becomes more smooth, and the acceleration won’t change dramatically, which indicates that the planning algorithm proposed in this paper could effectively improve the smoothness of trajectory in a Cartesian workspace, decrease the impact and tremulous in a Cartesian workspace, and effectively improve the performance of robot working process.
The main contributions of this paper could be summarized as follows:
(1)
Aiming at the problem that the trajectory is not smooth enough in the traditional working process, a NURBS curve planning algorithm based on a unified curve model is proposed in this paper, and the global smoothing of the trajectory curve is realized; At the same time, the Slerp posture planning based on quaternion description is combined to achieve uniform posture change in the planning process;
(2)
Aiming at the problem of frequent start and stop in the traditional working process, this paper proposes an S-Velocity planning algorithm in the interpolation interval of the robot based on the trajectory planning algorithm in (1), which realizes the continuous working process of complex curves and improves the quality of robot working process;
(3)
Bernoulli’s lemniscate is used as the incentive trajectory, and the contrast experiment of trajectory planning between two incentive profiles is designed, which are the NURBS curve and the five-order polynomial curve. Through the analysis and comparison between the two incentive profile, the velocity profile with the planning algorithm proposed in this paper becomes more smooth, and the acceleration won’t change dramatically, which indicates that the planning algorithm proposed in this paper could effectively improve the smoothness of trajectory in a Cartesian workspace, decrease the impact and tremulous in a Cartesian workspace, and effectively improve the performance of robot working process.
This paper is organized as follows. In Section 2, the NURBS curve planning algorithm based on the unified curve model and Slerp posture planning based on the quaternion description is proposed. In Section 3, based on the above trajectory planning algorithm, this paper proposes an S-Velocity planning algorithm in the interpolation interval of the robot. In Section 4, based on the trajectory planning and velocity planning algorithms, the implementation process of the algorithm is proposed in this paper, and the implementation process of robot operation is designed. In Section 5, a comparison experiment based on the proposed programming algorithm and the five-order polynomial planning algorithm is designed to demonstrate the effectiveness of the proposed programming algorithm in improving the working quality. In Section 6, this paper arrives at some discussion and conclusions.

2. Construction of Robot’s End-Effector Trajectory

2.1. NURBS Curve

Generally speaking, a k-order NURBS curve could be expressed in Formula (1):
p ( u ) = i = 0 n ω i d i N i , k ( u ) i = 0 n ω i N i , k ( u )
where d i stands for n + 1 control points, i.e., all the critical points, i = 0, 1, …, n; ω i is the weight factor corresponding to the control point, ω 0 > 0 , ω n > 0 , the rest ω i 0 ω 0 > 0 ; When the ω i values are not equal, it is the inhomogeneity of the NURBS curve. U = [u0, u1, …, un+k+1] is the node vector, and all the ui values do not decrease; 0 ≤ u ≤ 1 is the normalization factor, u0 = u1 = … = uk = 0, un+1 = un+2 = … = un+k+1 = 1; the step size between the rest of the ui values is 1/(n + 1 − k), i.e., uk+1 = 1/(n + 1 − k), uk+2 = 2/(n + 1 − k), … un = (nk)/(n + 1 − k); Ni,k(u) is the k-order B-spline basis function, which is defined as in the following Formula (2):
{ N i , 0 ( u ) = { 1 ,   u i u u i + 1 0 ,   e l s e N i , k ( u ) = u u i u i + k u i N i , k 1 ( u ) + u i + k + 1 u u i + k + 1 u i + 1 N i + 1 , k 1 ( u ) d e f i n e 0 0 = 0
Formula (2) is the Cox-de-Boor recursive formula described in the literature [17].
Remark 1.
For the trajectory of the robot’s end-effector, d i could be the RPY point to describe the position and posture of the end-effector, but in order to simplify the calculation, d i is taken as the three-dimensional coordinate point of the end position. Each control vertex  d i corresponds to a k-order B-spline basis function.
Let the numerator and denominator in Formula (1), respectively, be:
A ( u ) = i = 0 n ω i d i N i , k ( u )
w ( u ) = i = 0 n ω i N i , k ( u )
p ( u ) = A ( u ) w ( u )
Apply the Leibniz formula to calculate the nth-derivative of A(u):
A ( n ) ( u ) = [ w ( u ) p ( u ) ] ( n ) = i = 0 n C n i w ( i ) ( u ) p ( n i ) ( u ) = w ( u ) p ( n ) ( u ) + i = 1 n C n i w ( i ) ( u ) p ( n i ) ( u )
It could be obtained from Formula (6) that:
p ( n ) ( u ) = A ( n ) ( u ) i = 1 n C n i w ( i ) ( u ) p ( n i ) ( u ) w ( u )
It could be obtained from Formulas (3) and (4) that:
A ( n ) ( u ) = i = 0 n ω i d i N i , k ( n ) ( u )
w ( n ) ( u ) = i = 0 n ω i N i , k ( n ) ( u )
It could be obtained from the literature [17] that:
N i , k ( n ) ( u ) = k [ N i , k 1 ( n 1 ) ( u ) u i + k u i N i + 1 , k 1 ( n 1 ) ( u ) u i + k + 1 u i + 1 ]
The first and second derivatives of the NURBS curve could be obtained from Formulas (6)–(10) as follows:
p ( u ) = A ( u ) w ( u ) p ( u ) w ( u )
p ( u ) = A ( u ) 2 w ( u ) p ( u ) w ( u ) p ( u ) w ( u )
In addition, the NURBS curve in Formula (1) could be expressed as:
p ( u ) = x ( u ) i + y ( u ) j + z ( u ) k ,   0 u 1
Therefore, for the first and second derivative formulas of the NURBS curve described in Formulas (11) and (12), corresponding to the NURBS curve form in Formula (13), the velocity and acceleration of three component directions at every point could be obtained.
When the NURBS curve is used for interpolation, it is necessary to know the arc length at the current moment to carry out velocity planning. NURBS curve length L from point p ( u 1 ) to point p ( u 2 ) is:
L = u 1 u 2 d p ( u ) d u d u = u 1 u 2 f ( u ) d u = u 1 u 2 ( d x ( u ) d u ) 2 + ( d y ( u ) d u ) 2 + ( d z ( u ) d u ) 2 d u
Generally speaking, it is difficult to get the primitive function of the integrand function in Formula (14), so the numerical integration is used to calculate the length of the NURBS curve. Among them, Simpson adaptive integration algorithm could adjust the step size of numerical integration according to the change rate of the integrated function in the integral interval, and the principle is as follows:
L = u 1 u 2 f ( u ) d u = S ( u 1 , u 2 ) u 2 u 1 180 ( h 2 ) 4 f ( 4 ) ( η ) ,   η ( u 1 , u 2 )
{ h = u 2 u 1 S ( u 1 , u 2 ) = h 6 [ f ( u 1 ) + 4 f ( u 1 + u 2 2 ) + f ( u 2 ) ]
R [ f ] = u 2 u 1 180 ( h 2 ) 4 f ( 4 ) ( η ) ,   η ( u 1 , u 2 )
Formula (17) is the remainder of the Simpson formula.

2.2. Robot’s End-Effector Posture Planning Based on Quaternion

As shown in Section 2, the robot’s end-effector posture could be described by RPY angle, universal rotation transformation algorithm, quaternion and other algorithms. RPY angle posture description algorithm is first rotated by angle γ around the x-axis, then by angle β around the y-axis, and then by angle α around the z-axis to obtain the transformation matrix described in Formula (18):
R P Y ( α , β , γ ) = R o t ( z , α ) R o t ( y , β ) R o t ( x , γ ) = [ cos α cos β cos α sin β sin γ sin α cos γ cos α sin β cos γ + sin α sin γ 0 sin α cos β sin α sin β sin γ + cos α cos γ sin α sin β cos γ cos α sin γ 0 sin β cos β sin γ cos β cos γ 0 0 0 0 1 ]
When β = π/2, there exists that:
R P Y ( α , π 2 , γ ) = [ 0 sin ( α γ ) cos ( α γ ) 0 0 sin ( α + γ ) sin ( α γ ) 0 1 0 0 0 0 0 0 1 ]
At this point, the rotation angle γ around the x-axis is equivalent to the rotation angle around the z-axis, which results in the loss of degrees of freedom. This is the universal lock described in the literature [21].
The universal rotation transformation algorithm is to rotate θ angle around any unit vector f = f x i + f y i + f z k in Cartesian space, and obtain the rotation matrix described in Formula (20):
R o t ( f , θ ) = [ f x f x ( 1 cos θ ) + cos θ f x f y ( 1 cos θ ) f z sin θ f x f z ( 1 cos θ ) + f y sin θ 0 f y f x ( 1 cos θ ) + f z sin θ f y f y ( 1 cos θ ) + cos θ f y f z ( 1 cos θ ) f x sin θ 0 f z f x ( 1 cos θ ) f y sin θ f z f y ( 1 cos θ ) + f x sin θ f z f z ( 1 cos θ ) + cos θ 0 0 0 0 1 ]
In the above rotation process, the counterclockwise rotation angle is positive, and the clockwise angle is negative.
Generally speaking, the robot’s end-effector posture could be described by the matrix described in Formula (21):
T = [ n x o x a x 0 n y o y a y 0 n z o z a z 0 0 0 0 1 ]
The unit quaternions could be described in the following 2 ways:
q = s + a i + b j + c k
q = cos θ 2 + f x sin θ 2 i + f y sin θ 2 j + f z sin θ 2 k
The rotation axis in Formula (23) is f = f x i + f y i + f z k of the universal rotation transformation.
Combining Formula (22) with (23), there is:
s = cos θ 2 , a = f x sin θ 2 , b = f y sin θ 2 , c = f z sin θ 2
The posture matrix corresponding to the quaternion in Formula (22) could be expressed as:
T = [ 1 2 ( b 2 + c 2 ) 2 a b 2 s c 2 s b + 2 a c 0 2 a b + 2 s c 1 2 ( a 2 + c 2 ) 2 s a + 2 b c 0 2 s b + 2 a c 2 s a + 2 b c 1 2 ( a 2 + b 2 ) 0 0 0 0 1 ]
Combining Formula (20) with (21) and (24), there is:
n x + o y + a z = ( 1 cos θ ) ( f x 2 + f y 2 + f z 2 ) + 3 cos θ = 1 + 2 cos θ
{ cos θ = 1 2 ( n x + o y + a z 1 ) 1 + cos θ = 2 cos 2 θ 2 = 1 2 ( n x + o y + a z + 1 )
s = cos θ 2 = ± 1 2 n x + o y + a z + 1
{ o z a y = 2 f x sin θ , f x = o z a y 2 sin θ a = f x sin θ 2 = o z a y 4 cos θ 2 = o z a y 4 s
{ s = cos θ 2 = ± 1 2 n x + o y + a z + 1 a = f x sin θ 2 = o z a y 4 s b = f y sin θ 2 = a x n z 4 s c = f z sin θ 2 = n y o x 4 s
According to Formula (30), the corresponding quaternion could be directly calculated from the robot’s end-effector posture matrix. Since the rotation direction is not specified, it corresponds to two conjugate quaternions. In addition, Formulas (20) and (25) are completely equivalent according to the above derivation process.
Remark 2.
The robot’s end-effector trajectory planning based on quaternion could obtain smooth rotation by interpolation, which effectively solves the problem of unsmooth rotation in RPY angle linear interpolation.
For any 2 postures q0 and q1 described by quaternions, generally, there are two interpolation algorithms, Lerp and Slerp [24]. Lerp is linear interpolation, i.e.,
L e r p ( q 0 , q 1 , h ) = q 0 ( 1 h ) + q 1 h
where h could be understood as the parameter in the NURBS curve, 0 ≤ h ≤ 1.
In Figure 1, the linear interpolation is interpolated along a line from q0 to q1. This interpolation algorithm is along the chord from q0 to q1 on the arc of the unit circle, so the quaternion interpolated by linear interpolation is not the unit quaternion. The linear interpolation could be further improved, and the quaternion obtained by interpolation could be normalized as Nlerp, normalized linear interpolation. The Nlerp algorithm is as follows:
N l e r p ( q 0 , q 1 , h ) = q 0 ( 1 h ) + q 1 h q 0 ( 1 h ) + q 1 h
In the above interpolation algorithm, when h is uniformly distributed within the interval [0, 1], the interpolation segments obtained are not uniformly distributed, i.e., linear interpolation only has formally "linear interpolation".
Slerp, i.e., spherical linear interpolation, which is linear interpolation on the sphere, which is a linear interpolation of angles, i.e.,
θ = ( 1 h ) θ 1 + h θ 1
In addition, Slerp could be expressed as:
q h = S l e r p ( q 0 , q 1 , h ) = α q 0 + β q 1
When Formula (34) is multiplied with q0 and q1 (as shown in Figure 2), there are:
q 0 q h = α + β q 0 q 1
q 1 q h = α q 1 q 0 + β
q0 and q1 are unit quaternions, then:
cos ( h θ 1 ) = α + β cos θ 1
cos ( ( 1 h ) θ 1 ) = α cos θ 1 + β
Combining Formula (37) with (38) gives:
α = sin ( ( 1 h ) θ 1 ) sin θ 1 , β = sin ( h θ 1 ) sin θ 1
Combining Formula (34) with (39), there is:
S l e r p ( q 0 , q 1 , h ) = sin ( ( 1 h ) θ 1 ) sin θ 1 q 0 + sin ( h θ 1 ) sin θ 1 q 1
Remark 3.
Slerp gives the shortest interpolation curve between two points on a sphere described by quaternions, and the rotation angle varies uniformly. In order to improve the efficiency of quaternion posture planning and to avoid redundant posture changes, the Slerp within q1 or −q1 with a smaller angle between q0 is selected, i.e.,
S l e r p ( q 0 , q 1 , h ) = { sin ( ( 1 h ) θ 1 ) sin θ 1 q 0 + sin ( h θ 1 ) sin θ 1 q 1 , if q 0 · q 1 0 sin ( ( 1 h ) θ 1 ) sin θ 1 q 0 + sin ( h θ 1 ) sin θ 1 ( q 1 ) , e l s e
The first derivative of Slerp with respect to h is:
d d h S l e r p ( q 0 , q 1 , h ) = { cos ( ( 1 h ) θ 1 ) sin θ 1 θ 1 q 0 + cos ( h θ 1 ) sin θ 1 θ 1 q 1 , if q 0 · q 1 0 cos ( ( 1 h ) θ 1 ) sin θ 1 θ 1 q 0 + cos ( h θ 1 ) sin θ 1 ( θ 1 q 1 ) , e l s e
d 2 d h 2 S l e r p ( q 0 , q 1 , h ) = { sin ( ( 1 h ) θ 1 ) sin θ 1 θ 1 2 q 0 + sin ( h θ 1 ) sin θ 1 θ 1 2 q 1 , if q 0 · q 1 0 sin ( ( 1 h ) θ 1 ) sin θ 1 θ 1 2 q 0 sin ( h θ 1 ) sin θ 1 ( θ 1 2 q 1 ) , e l s e
d 2 d h 2 S l e r p ( q 0 , q 1 , h ) = θ 1 2 S l e r p ( q 0 , q 1 , h )

3. S-Velocity Planning for Industrial Robots

Remark 4.
As described in Section 2, S-velocity planning could ensure the continuity of the acceleration curve and effectively avoid the impact of joint motors in the robot working process. Therefore, the S-velocity profile could be used for velocity planning. The working space of the robot could be categorized as joint space and Cartesian space. In joint space, S-Velocity planning could be carried out for each joint angle respectively. In Cartesian space, S-Velocity planning could be used for six components of the end-effector posture, respectively.
In the seven-segment S-Velocity planning, there are seven stages of the acceleration and deceleration process, including acceleration, uniform acceleration, deceleration, uniform deceleration, uniform deceleration, acceleration and deceleration segments, as is shown in Figure 3.
In Figure 3, the end time of each segment could be recorded as t1~t7, every segment lasts T1~T7, and the displacement is s, there exists:
T 1 = T 3 = T 5 = T 7 , T 2 = T 6
Given the following two displacements:
s 1 = J v max 2 + v max a max 2 2 J a max
s 2 = a max 3 J 2
s1 and s2 are, respectively, the displacements achieved by the maximum speed of the acceleration segment, the uniform acceleration segment and the deceleration segment, and the displacements completed by the maximum velocity of the acceleration segment and the deceleration segment.
(1)
If:
v max a max 2 J & & s > 2 v max v max J
Then the maximum velocity, vmax, could be achieved within a given distance s, while the maximum acceleration, amax, couldn’t be achieved. The velocity planning is in five segments, and there is no uniform acceleration and deceleration segment.
Revised:
{ a max = v max J T 1 = T 3 = T 5 = T 7 = a max J T 2 = T 6 = 0 T 4 = s v max 2 v max J
(2)
If s > 2s1, then the maximum velocity vmax and maximum acceleration amax could be achieved within a given distance s, and the velocity planning is in seven-segment.
Respectively, the seven segments are:
{ T 1 = T 3 = T 5 = T 7 = a max J T 2 = T 6 = v max a max a max J T 4 = s 2 s 1 v max
v ( t ) = { 1 2 J t 2 , t < t 1 1 2 J t 1 2 + a max ( t t 1 ) , t 1 < t < i = 1 2 t i v max 1 2 J ( t 1 + t 2 + t 3 t ) 2 , i = 1 2 t i < t < i = 1 3 t i v max , i = 1 3 t i < t < i = 1 4 t i v max 1 2 J ( t i = 1 4 t i ) 2 , i = 1 4 t i < t < i = 1 5 t i v max 1 2 J t 5 2 a max ( t i = 1 5 t i ) , i = 1 5 t i < t < i = 1 6 t i 1 2 J ( i = 1 7 t i t ) 2 , i = 1 6 t i < t < i = 1 7 t i
d ( t ) = { J t 3 6 , t < t 1 d 1 + J 2 t 1 2 ( t t 1 ) + a max 2 ( t t 1 ) 2 , t 1 < t < i = 1 2 t i d 2 + v max ( t t 1 t 2 ) + J 6 ( t 1 + t 2 + t 3 t ) 3 J 6 t 3 3 , i = 1 2 t i < t < i = 1 3 t i d 3 + v max ( t t 1 t 2 t 3 ) , i = 1 3 t i < t < i = 1 4 t i d 4 + v max ( t i = 1 4 t i ) 1 6 J ( t i = 1 4 t i ) 3 , i = 1 4 t i < t < i = 1 5 t i d 5 + ( v max 1 2 J t 5 2 ) ( t i = 1 5 t i ) a max 6 ( t i = 1 5 t i ) 2 , i = 1 5 t i < t < i = 1 6 t i d = s 1 6 J ( i = 1 7 t i t ) 3 , i = 1 6 t i < t < i = 1 7 t i
{ d 1 = a max 3 6 J 2 d 2 = d 1 + J 2 t 1 2 t 2 + a max t 2 2 2 d 3 = d 2 + v max a max J a max 3 6 J 2 = v max 2 2 a max + v max a max 2 J = s 1 d 4 = s d 3 d 5 = s d 2 d 6 = s d 1
If s ≥ 2s2 and s < 2s1, then the maximum acceleration, amax, could be achieved within a given distance s, while the maximum velocity vmax couldn’t be achieved.
The velocity planning is in six segments, and there is no constant velocity segment.
Revised:
{ v max = a max 4 + 4 J 2 a max s a max 2 2 J T 1 = T 3 = T 5 = T 7 = a max J T 2 = T 6 = v max a max a max J T 4 = 0
If s < 2s1, then neither the maximum velocity vmax nor the maximum acceleration, amax, could be achieved within a given distance s. The velocity planning is in four segments, and there is no uniform acceleration, uniform velocity and uniform deceleration segment.
Revised:
{ a max = s J 2 2 3 , v max = J T 1 2 T 1 = T 3 = T 5 = T 7 = a max J T 2 = T 6 = 0 T 4 = 0
The S-velocity planning algorithm flow chart is shown in Figure 4.

4. The Implementation of the Robot Trajectory Planning Algorithm

4.1. The Execution Flow of the Trajectory Planning Algorithm

Remark 5.
The robot trajectory planning algorithm proposed in this paper could be taken as follows.
  • Step 1. Construct the end-effector trajectory.
As shown in Section 2, the end-effector trajectory of the robot consists of the coordinate position and posture, which are the function of the operation process time, t, respectively. Therefore, the position and posture could be planned, respectively. According to Section 3, the end-effector position of the robot adopts NURBS curve planning, and the posture adopts quaternion description-based Slerp planning.
  • Step 2. Ensure all the critical points and read point information of critical points.
The robot‘s end-effector trajectory constructed in Step 1 is divided into n segments according to the robot’s interpolation period, and n + 1 critical trajectory points are obtained, which contain the position and posture information. All the critical points are entered in the form of instructions. Then read all the trajectory points shown in the teaching pendant as the parameters of the planning function, and read the number of trajectory points n. Next, input the order of NURBS curve k, and calculate the node vector U = [u0, u1, …, un+k+1] according to the definition of the NURBS curve in Section 2.1. Also, the weight vector ωi is the input parameter, i = 0, 1, …, n. According to Formula (2), calculate the k-order B-spline basis functions Ni,k(u) at all control vertices. Based on the above input parameters, the k-order NURBS curve p ( u ) could be calculated according to Formula (1).
  • Step 3. Calculate the inverse solution corresponding to all the critical points, and select the optimal inverse solution.
The workspace of industrial robots could be categorized as joint space and Cartesian space. In joint space, a group of end-effector positions corresponding to joint angles could be obtained by forward kinematics. On the other hand, the corresponding joint angles could be obtained in Cartesian space through the inverse kinematics of the robot, and the joint angles obtained by the inverse kinematics solution are usually not unique, so the inverse solution needs to be optimized.
It could be obtained by the DH parameter method described in the literature [30] that:
T i = R o t ( Z i 1 , θ i ) T r a n s ( 0 , 0 , d i ) T r a n s ( a i , 0 , 0 ) R o t ( X i , α i )
where Ti is the link transformation matrix, i = 1, 2, …, 6. In Formula (55), ai is the link length, αi is the torsional angle, di is the link offset, and θi is the joint angle.
The forward kinematics equation of the robot is:
T = T 1 T 2 T 3 T 4 T 5 T 6 = [ n x o x a x p x n y o y a y p y n z o z a z p z 0 0 0 1 ]
Formula (56) could also be expressed as:
x = x ( θ )
where x = [x y z rx ry rz]T is the posture at the end-effector of the robot, which could be described by the posture matrix at the right of Formula (56). The forward kinematics equation of the robot is the function of 6 joint angles.
The derivative of Formula (57) with respect to time, t, is:
x ˙ = i = 1 6 j = 1 n x i θ j θ ˙ j = J ( θ ) θ ˙
{ J ( θ ) = [ J i j ( θ ) ] i × j = [ x i θ j ] i × j i = 1 , 2 , , 6 ; j = 1 , 2 , , n
For 6-DOF industrial robot, n = 6, and J(θ) is a 6 × 6 matrix. Therefore, Formula (58) could also be expressed as:
[ v ω ] = [ J 11 J 12 J 16 J 21 J 22 J 26 J 61 J 62 J 66 ] [ θ ˙ 1 θ ˙ 2 θ ˙ 6 ]
The derivative of Formula (60) with respect to time t is:
x ¨ = J ( θ ) θ ¨ + J ˙ ( θ ) θ ˙
For posture planning, Slerp planning based on quaternion description could be adopted, as is described in Section 2.2.
The inverse kinematics of robots could be solved by the KDL [31], IKFAST, and other motion planning libraries. KDL, i.e., the kinematics and dynamics library, uses the Newton–Raphson iterative algorithm [32] to solve the numerical solution of the inverse kinematics. IKFAST, i.e., fast inverse kinematics, solves the analytic solution of the inverse kinematics for the robot that satisfies Pieper’s principle [33]. In the process of robot trajectory planning, the solving speed of robot inverse kinematics directly affects the real-time performance of robot trajectory planning. Therefore, it is of great significance to select a fast and accurate motion algorithm library for robot trajectory planning.
When solving the inverse kinematics, because some end-effector positions and postures of the robot correspond to multiple sets of different joint angles, the inverse kinematics usually has multiple solutions. Therefore, the inverse solution needs to be optimized. The optimal principle of inverse solution is usually that the motion variation of each joint is the least; that is, the motion posture variation is the mildest. Here we could define the displacement in joint space by referring to the definition of displacement in Cartesian space, i.e.,
Δ θ = i = 1 6 ( Δ θ i ) 2
That is to say, Δθ is the smallest in Formula (62), or Δθi is the smallest.
  • Step 4. Apply S-Velocity planning in the interpolation interval between adjacent trajectory points.
According to Section 2 of this paper, S-velocity planning could ensure the continuity of acceleration and effectively avoid the impact of joint motors in the robot working process. Therefore, the S-Velocity profile could be selected for planning in the end-effector Cartesian space.
  • Step 5. In all the interpolation intervals, after the interpolation of the ith segment completes, enter the next segment interpolation until the last segment, and store all the interpolation points of all segments in the .txt file.
The flow chart of the above robot’s end-effector trajectory planning can be shown in Figure 5.

4.2. Trajectory Planning Algorithm Implementation

Remark 6.
The trajectory planning of industrial robots needs strong support from the control system. Generally speaking, the robot system consists of a robot body, a robot electric control cabinet, a teaching device and other parts. Among all the components, the robot body is the servo mechanism, which is composed of six joint motors, through the robot link coordinate system, which could achieve the complex operation of the robot. The robot electric control cabinet is composed of a controller and matching electrical components. As an input device, the teaching pendant undertakes the functions of point input and teaching program analysis in the online teaching process.
In the robot working process, after teaching all the trajectory points on the teaching pendant, analyze the user program, then execute the user program when the instruction parsing is complete. In the user program execution process, call the trajectory planning function, then we could get the joint angles corresponding to all the interpolation points. Next, send all the joint angles to every joint motor encoder, and the work of the robot is completed. The whole working process could be named as teaching, planning and execution. This is the whole online teaching process of robot operation, as shown in Figure 6.

5. Analysis of Simulation Experiment Results

5.1. The Kinematic Model of Industrial Robot

To solve the forward and inverse kinematics of the robot, it is necessary to establish the link coordinate frame of the robot, i.e., to solve the DH parameters of the robot first. SR4C robot is selected as the research object in this paper, and its DH parameters are shown in Table 1.
In the DH parameter table shown in Table 1, ai (mm) is the link length, αi (deg) is the torsional angle, di (mm) is the link offset, and θi (deg) is the joint angle. The six joints of the SR4C robot are rotational joints, so the joint angle could be arbitrarily set within the limit range.
The link coordinate frame of the SR4C industrial robot could be established according to the DH parameters shown in Table 1, as shown in Figure 7.
The forward kinematics model of the robot in Formula (56) could be obtained from the DH parameters shown in Table 1.

5.2. Analysis of Simulation Experiment Results

In order to demonstrate the effectiveness of the proposed algorithm, Bernoulli’s lemniscate, which is commonly used in robots, is selected as the incentive trajectory to construct the NURBS curve. The equation of Bernoulli’s lemniscate is:
( x 2 + y 2 ) 2 = 2 a 2 ( x 2 y 2 )
Let the focus length a = 50 2 mm; The parametric equation is:
{ x = a 2 cos 2 θ cos θ y = a 2 cos 2 θ sin θ θ [ 0 , π 4 ] [ 3 π 4 , 5 π 4 ] [ 7 π 4 , 2 π ]
The incentive trajectory is shown in Figure 8.
NURBS curve parameters are as follows: the curve order k = 3; the node vector is U = [0,0,0,0,1/313,2/313,…,312/313,1,1,1,1]; The control vertex is determined by Formula (65).
{ x i = 420 y i = 100 cos θ i cos 2 θ i z i = 715 + 100 sin θ i cos 2 θ i r x i = 0 r y i = 90 i 316 r z i = 90 i 316
where i = 0, 1, …, 315; The step size of θi is 0.01 rad. The control factor is ω = [1,1…,1]; The number of control vertices is n + 1 = 316. The constructed NURBS curve is the coordinate of the robot base coordinate frame when the robot end-effector is working along Bernoulli’s lemniscate.
The Slerp planning described in Section 2.2 of this paper is adopted for the planning of the robot’s end-effector posture, i.e., the rotation angle varies uniformly. The corresponding posture matrix could be obtained from the kinematics of the robot, and the corresponding quaternion could be obtained by combining it with Formula (30).
In this paper, the S-Velocity planning of robots based on NURBS and Slerp interpolation could obtain the incentive trajectory during the planning process. The simulation experiment could be taken by referring to the planning process described in Section 3.
In order to demonstrate the effectiveness of the proposed algorithm, the five-order polynomial curve is used for the trajectory planning contrast expriment. Since there are too many trajectory points for manual teaching when teaching path points are input according to Formula (65); therefore, nine representative critical points are selected, and the trajectory point distribution is shown in Figure 9.
In Figure 9, the robot moves according to P1 → P2 → … → P9, working along the desired trajectory, and P1, P5, and P9 coincide with each other. The coordinate information of every critical point is shown in Table 2, and in the second column of Table 2, the unit of the first three measurements is mm, and the unit of the last three measurements is deg.
With the help of the AT403 absolute laser tracker, a target ball is installed at the end-effector of the SR4C robot, and the camera of the laser tracker can track the movement of the robot’s end trajectory in real-time.
Remark 7.
The data point tracking and acquisition block diagram based on the laser tracker is shown in Figure 10.
The steps of laser tracker data point collection are as follows:
(1)
Set the laser tracker, robot controller, and teaching pendant in the same network IP address segment;
(2)
Calibrate the position of the laser tracker, and adjust the camera angle to the center of the robot end-effector target ball. Then we could obtain the transformation matrix of the laser tracker to the world coordinate frame;
(3)
When the position of the laser tracker is calibrated, Posideal, the theoretical position and posture value at the center of the target ball is calculated. Then the robot moves along the trajectory planned according to the teaching points, and the laser tracker obtains the robot’s end-effector position and posture value in real-time, namely the measured value Postrack.
(4)
When the robot working process is completed, the Postrack of all measured values could be exported, and the trajectory could be drawn in MATLAB.
According to the above step (4), the data derived from the laser tracker are processed to obtain the comparison diagram of the trajectory obtained by the NURBS planning algorithm and the five-order polynomial planning algorithm, as shown in Figure 11.
According to the trajectory planning process in Figure 5, the displacement, velocity and acceleration curves of each joint planned by the algorithm in this paper could be obtained, as shown in Figure 12.
Remark 8.
In Figure 12, the angular acceleration of each joint changes continuously with time without mutation, which ensures the smoothness of angular velocity and joint angle curve, reduces the impact during the operation of the joint motor, and extends the service life of joint motors. At the same time, with the improvement of the smoothness of the joint motor angle curve, the quality of the working process is also improved.
The curvature diagram of the incentive trajectory based on the proposed algorithm and five-order polynomial planning is shown in Figure 13.
The calculation of curvature at any point on the NURBS curve could be determined by the following formula:
k = | p ( u ) × p ( u ) | | p ( u ) | 3 = ( y z y z ) 2 + ( x z x z ) 2 + ( x y x y ) 2 ( x 2 + y 2 + z 2 ) 3
Remark 9.
It can be seen from Figure 14 that the curvature value of the incentive trajectory obtained by using the five-order polynomial planning is not 0 only at a limited number of points, indicating that the incentive trajectory of the five-order polynomial planning is composed of multiple straight lines, and the smoothness of the incentive trajectory needs to be improved, while the proposed algorithm is based on the NURBS curve construction algorithm. whose curvature of the entire incentive trajectory is not 0, and the curvature value is lower than the original incentive trajectory, that is to say, a relatively gentle NURBS curve is constructed, which effectively improves the smoothness of the incentive trajectory.
The data points obtained in the laser tracker are derived as incentive trajectories in Adams and imported into the SR4C simulation model. The results are shown in Figure 14.
In Figure 14, the trajectory of the robot better fits with the designed incentive trajectory, and the robot runs smoothly during the working process. The joint angle, angular velocity and angular acceleration curves shown in Figure 12 fully prove the effectiveness and rationality of the algorithm in Section 5, and improves the working quality.

6. Conclusions

Firstly, The NURBS curve planning algorithm based on the unified curve model proposed is used in this manuscript, and the detailed process is also given. This algorithm realizes the global fairing of the trajectory curve. The Slerp curve equation described by quaternion is deduced in detail, and on this basis, the robot’s posture is planned. Then, in the interpolation interval of the robot, the S-type speed planning algorithm is used to realize the speed planning of complex curves. Finally, the data points of the planned excitation trajectory are used as the input parameters of the teaching program and run on the SR4C robot platform. During the operation process, the laser tracker is used to obtain the trajectory points at the end of the robot in real-time. By analyzing the data of the laser tracker, the actual trajectory map is drawn and compared with the five-degree polynomial planning method. The experimental results show that the algorithm proposed in this manuscript can better improve the flexibility of the trajectory, avoid frequent starting and stopping in the operation process, and improve the operation quality compared with the five-degree polynomial programming method. The research results of this manuscript provide practical application value for the high precision and stable operation of industrial robots.

Author Contributions

Conceptualization, G.W.; methodology, G.W.; software, G.W. and K.Z.; validation, Z.P.; formal analysis, F.X.; investigation, F.X.; resources, Z.P.; data curation, K.Z.; writing-original draft preparation, G.W.; writing-review and editing, F.X.; visualization, G.W.; supervision, Z.P.; project administration, G.W. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Natural Science Foundation of Zhejiang Province, grant number LGG22F030001.

Conflicts of Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

References

  1. Rodriguez-Linan, A.; Lopez-Juarez, I.; Zalapa-Elias, A.; Chinas-Sanchez, P. An Approach to Acquire Path-Following Skills by Industrial Robots From Human Demonstration. IEEE Access 2021, 9, 82351–82363. [Google Scholar] [CrossRef]
  2. Wang, G.; Arora, H. Research on Continuous Trajectory Planning of Industrial Welding Robot Based on CAD Technology. Comput. Aided Des. Appl. 2022, 19, 74–87. [Google Scholar] [CrossRef]
  3. Hua, Y. Review of Trajectory Planning for Industrial Robots. In Proceedings of the 242nd ECS Meeting, Atlanta, GA, USA, 9–13 October 2021. [Google Scholar]
  4. Lu, Y.; Wang, K. Kinematics Analysis and Trajectory Planning of Polishing Six-axis Robot. In Proceedings of the IOP Conference Series: Earth and Environmental Science, Digital Meeting, 30 May–3 June 2021. [Google Scholar]
  5. Gümbel, P.; He, X.; Dröder, K. Precision Optimized Pose and Trajectory Planning for Vertically Articulated Robot Arms. Procedia CIRP 2022, 106, 185–190. [Google Scholar] [CrossRef]
  6. Tian, S.; Chen, M.; Li, Y. Research on the Trajectory Planning and Control Technology of Industrial Robots Guided by Computer Visualization. In Proceedings of the 242nd ECS Meeting, Atlanta, GA, USA, 9–13 October 2021. [Google Scholar]
  7. Gleeson, D.; Jakobsson, S.; Salman, R.; Ekstedt, F.; Sandgren, N.; Edelvik, F.; Carlson, J.S.; Lennartson, B. Generating Optimized Trajectories for Robotic Spray Painting. IEEE Trans. Autom. Sci. Eng. 2022, 19, 1380–1391. [Google Scholar] [CrossRef]
  8. Bhardwaj, G.; Mishra, U.A.; Sukavanam, N.; Balasubramanian, R. Planning Adaptive Brachistochrone and Circular Arc Hip Trajectory for a Toe-Foot Bipedal Robot going Downstairs. In Proceedings of the 239th ECS Meeting with IMCS18, Digital Meeting, 30 May–3 June 2021. [Google Scholar]
  9. Wang, S.D.; Luo, X.; Xu, S.J.; Luo, Q.S.; Han, B.L.; Liang, G.H.; Jia, Y. A Planning Method for Multi-Axis Point-to-Point Synchronization Based on Time Constraints. IEEE Access 2020, 8, 85575–85604. [Google Scholar] [CrossRef]
  10. Dantam, N.; Stilman, M. Spherical Parabolic Blends for Robot Workspace Trajectories. In Proceedings of the 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, Chicago, IL, USA, 14–18 September 2014. [Google Scholar]
  11. Santina, C.D.; Rus, D. Control Oriented Modeling of Soft Robots: The Polynomial Curvature Case. IEEE Robot. Autom. Lett. 2020, 5, 290–298. [Google Scholar] [CrossRef]
  12. Xu, J.; Liu, J.; Sheng, J. Arc Path Tracking Algorithm of Dual Differential Driving Automated Guided Vehicle. In Proceedings of the 2018 11th International Congress on Image and Signal Processing, BioMedical Engineering and Informatics, Beijing, China, 13–15 October 2018. [Google Scholar]
  13. Campos, J.A.F.; Flores, J.A.R.; Montufar, C.P. Robot Trajectory Planning for Multiple 3D Moving Objects Interception: A Polynomial Interpolation Approach. In Proceedings of the 2008 Electronics, Robotics and Automotive Mechanics Conference, Cuernavaca, Mexico, 30 September–3 October 2008. [Google Scholar]
  14. Lu, T.C.; Chen, S.L. Real-Time Local Optimal Bézier Corner Smoothing for CNC Machine Tools. IEEE Access 2021, 9, 152718–152727. [Google Scholar] [CrossRef]
  15. Li, D.; Zhang, L. Corner Smoothing Interpolation Algorithm Based on PH Curve. In Proceedings of the 2019 3rd International Conference on Electronic Information Technology and Computer Engineering, Xiamen, China, 18–20 October 2019. [Google Scholar]
  16. Annoni, M.; Bardine, A.; Campanelli, S.; Foglia, P.; Prete, C.A. A Real-time Configurable NURBS Interpolator with Bounded Acceleration, Jerk and Chord Error. Comput. Aided Des. 2012, 44, 509–521. [Google Scholar] [CrossRef]
  17. Shi, X.; Fang, H.; Gang, P.; Xu, X.; Chen, H. Time-Energy-Jerk Dynamic Optimal Trajectory Planning for Manipulators Based on Quintic NURBS. In Proceedings of the 2018 3rd International Conference on Robotics and Automation Engineering, Guangzhou, China, 17–19 November 2018. [Google Scholar]
  18. Shi, X.; Fang, H.; Guo, L. Multi-objective Optimal Trajectory Planning of Manipulators Based on Quintic NURBS. In Proceedings of the 2016 IEEE International Conference on Mechatronics and Automation, Harbin, China, 7–10 August 2016. [Google Scholar]
  19. Liu, Y.; Jiang, D.; Tao, B.; Qi, J.; Jiang, G.; Yun, J.; Huange, L.; Tong, X.; Chen, B.; Li, G. Grasping Posture of Humanoid Manipulator Based on Target Shape Analysis and Force Closure. Alex. Eng. J. 2022, 61, 3959–3969. [Google Scholar] [CrossRef]
  20. Huanga, Q.; Enomoto, R. Hybrid Position, Posture, Force and Moment Control of Robot Manipulators. In Proceedings of the 2008 IEEE International Conference on Robotics and Biomimetics, Bangkok, Thailand, 22–25 February 2009. [Google Scholar]
  21. Liu, B.; Zhang, F.; Qu, X.; Shi, X. A Rapid Coordinate Transformation Method Applied in Industrial Robot Calibration Based on Characteristic Line Coincidence. Sensors 2016, 16, 239. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  22. Jiang, B.; Li, J.; Du, X.; Duan, P. Attitude Interpolation Algorithm for Industrial Robot Based on Quaternion Method. In Proceedings of the 2021 International Conference on Mechanical Engineering Intelligent Manufacturing and Automation Technology, Guilin, China, 15–17 January 2021. [Google Scholar]
  23. Wang, G.; Liu, X.; Han, S. A Method of Robot Base Frame Calibration by Using Dual Quaternion Algebra. IEEE Access 2018, 6, 74865–74873. [Google Scholar] [CrossRef]
  24. Martínez, J.R.G.; Reséndiz, J.R.; Prado, M.Á.M.; Miguel, E.E.C. Assessment of Jerk Performance S-curve and Trapezoidal Velocity Profiles. In Proceedings of the 2017 XIII International Engineering Congress, Santiago de Queretaro, Mexico, 15–19 May 2017. [Google Scholar]
  25. Rymansaib, Z.; Iravani, P.; Sahinkaya, M.N. Exponential Trajectory Generation for Point to Point Motions. In Proceedings of the 2013 IEEE/ASME International Conference on Advanced Intelligent Mechatronics, Wollongong, Australia, 9–12 July 2013. [Google Scholar]
  26. Huang, J.; Zhu, L.M. Feedrate Scheduling for Interpolation of Parametric Tool Path Using the Sine Series Representation of Jerk Profile. Proc. Inst. Mech. Eng. Part B J. Eng. Manuf. 2016, 231, 2359–2371. [Google Scholar] [CrossRef]
  27. Wu, C.; Chiu, Z.Y.; Liu, J.; Trabia, M.B. Time-Optimal Trajectory Planning along Parametric Polynomial Lane-Change Curves with Bounded Velocity and Acceleration: Simulations for a Unicycle Based on Numerical Integration. Model. Simul. Eng. 2018, 2018, 9348907. [Google Scholar] [CrossRef]
  28. Li, J.; Liu, Y.; Li, Y.; Zhong, G. S-Model Speed Planning of NURBS Curve Based on Uniaxial Performance Limitation. IEEE Access 2019, 7, 60837–60849. [Google Scholar] [CrossRef]
  29. Shi, B.H.; Jiang, T. NURBS Piecewise Interpolation Algorithm Based on Discrete S-Type Velocity Planning. In Proceedings of the 2019 Chinese Control And Decision Conference, Nanchang, China, 3–5 June 2019. [Google Scholar]
  30. Craig, J.J. Introduction to Robotics: Mechanics and Control; Pearson Education: New York, NY, USA, 2005; pp. 62–134. [Google Scholar]
  31. Soetens, P. A Software Framework for Real-Time and Distributed Robot and Machine Control. J. Appl. Phys. 2006, 70, 1991–2000. [Google Scholar]
  32. Lee, S.; Lee, J.; Bang, J.; Lee, J. 7 DOF Manipulator Construction and Inverse Kinematics Calculation and Analysis using Newton-Raphson Method. In Proceedings of the 2021 18th International Conference on Ubiquitous Robots (UR), Gangneung, Korea, 12–14 July 2021. [Google Scholar]
  33. Peiper, D.L. The Kinematics of Manipulators Under Computer Control. Ph.D. Thesis, Stanford University, School of Humanities and Sciences, Stanford, CA, USA, 1968. [Google Scholar]
Figure 1. Linear interpolation between 2 postures.
Figure 1. Linear interpolation between 2 postures.
Processes 10 02195 g001
Figure 2. Spherical linear interpolation between 2 postures.
Figure 2. Spherical linear interpolation between 2 postures.
Processes 10 02195 g002
Figure 3. Seven-segment S-Velocity planning.
Figure 3. Seven-segment S-Velocity planning.
Processes 10 02195 g003
Figure 4. S-velocity planning algorithm flow chart.
Figure 4. S-velocity planning algorithm flow chart.
Processes 10 02195 g004
Figure 5. Flow chart of robot’s end-effector trajectory planning.
Figure 5. Flow chart of robot’s end-effector trajectory planning.
Processes 10 02195 g005
Figure 6. Online teaching flow chart.
Figure 6. Online teaching flow chart.
Processes 10 02195 g006
Figure 7. The link coordinate frame of the SR4C robot.
Figure 7. The link coordinate frame of the SR4C robot.
Processes 10 02195 g007
Figure 8. Incentive trajectory.
Figure 8. Incentive trajectory.
Processes 10 02195 g008
Figure 9. Critical point distribution.
Figure 9. Critical point distribution.
Processes 10 02195 g009
Figure 10. Laser tracker data point acquisition.
Figure 10. Laser tracker data point acquisition.
Processes 10 02195 g010
Figure 11. NURBS and five-order polynomial.
Figure 11. NURBS and five-order polynomial.
Processes 10 02195 g011
Figure 12. Joint space curve under NURBS planning; (a) Angle curves of six joints under NURBS planning; (b) Angular velocity curves of six joints under NURBS planning; (c) Angular acceleration curves of six joints under NURBS planning.
Figure 12. Joint space curve under NURBS planning; (a) Angle curves of six joints under NURBS planning; (b) Angular velocity curves of six joints under NURBS planning; (c) Angular acceleration curves of six joints under NURBS planning.
Processes 10 02195 g012aProcesses 10 02195 g012b
Figure 13. Curvature graph of NURBS and five-degree polynomial planning algorithms.
Figure 13. Curvature graph of NURBS and five-degree polynomial planning algorithms.
Processes 10 02195 g013
Figure 14. Simulation result.
Figure 14. Simulation result.
Processes 10 02195 g014
Table 1. The DH parameter of the SR4C robot.
Table 1. The DH parameter of the SR4C robot.
Link a i α i d i θ i Limit (deg)
14090330 θ 1 −180~180
231500 θ 2 −130~80
370900 θ 3 −70~160
40−90310 θ 4 −240~240
50900 θ 5 −30~200
60070 θ 6 −360~360
Table 2. Coordinate information of every critical point.
Table 2. Coordinate information of every critical point.
Coordinate in Cartesian Space (mm, deg)Coordinate in Joint Space (deg)
P 1 (420, 100, 715, 0, 0, 0)(−166.61, 29.83, 129.9, 0, 20.27, −103.39)
P 2 (420, 61.74, 750.4, 0, 11.25, −11.25)(−171, 26.75, 127.2, 4.79, 36, −112.7)
P 3 (420, 0, 715, 0, 22.52, −22.49)(−178.5, 22.16, 139.94, 11.4, 38.08, −119.42)
P 4 (420, −61.74, 679.6, 0, 33.78, −33.81)(174.1, 20.81, 147, 20.16, 40.97, −127.3)
P 5 (420, −100, 715, 0, 44.96, −45.01)(−9.58, −6.1, −2.61, −152.5, 27.52, −130.24)
P 6 (420, −61.74, 750.4, 0, 56.19, −56.3)(−1.97, −6.87, 6.63, 50.4, 151.17, 21.98)
P 7 (420, 0, 715, 0, 67.52, −67.45)(−171.4, 24.37, 129.94, 74.54, 21.5, 160.05)
P 8 (420, 61.74, 679.6, 0, 78.72, −78.81)(−162.39, 79.05, 27.91, 80.56, 8.92, 107.07)
P 9 (420, 100, 715, 0,90, −90)(−157.96, 43.32, 94.59, 74.82, −16.17, 135.74)
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Wang, G.; Xu, F.; Zhou, K.; Pang, Z. S-Velocity Profile of Industrial Robot Based on NURBS Curve and Slerp Interpolation. Processes 2022, 10, 2195. https://doi.org/10.3390/pr10112195

AMA Style

Wang G, Xu F, Zhou K, Pang Z. S-Velocity Profile of Industrial Robot Based on NURBS Curve and Slerp Interpolation. Processes. 2022; 10(11):2195. https://doi.org/10.3390/pr10112195

Chicago/Turabian Style

Wang, Guirong, Fei Xu, Kun Zhou, and Zhihui Pang. 2022. "S-Velocity Profile of Industrial Robot Based on NURBS Curve and Slerp Interpolation" Processes 10, no. 11: 2195. https://doi.org/10.3390/pr10112195

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