Content uploaded by Yongxue Chen
Author content
All content in this area was uploaded by Yongxue Chen on Sep 02, 2023
Content may be subject to copyright.
1
Toolpath Generation for Robotic Flank Milling via
Smoothness and Stiffness Optimization
State Key Laboratory of Mechanical System and Vibration, School of Mechanical Engineering, Shanghai Jiao
Tong University, Shanghai 200240, China
School of Electromechanical Engineering, Guangdong University of Technology, Guangzhou 510006, China
Emails: cyxsjtu@sjtu.edu.cn, luyaoan@gdut.edu.cny.ding@sjtu.edu.cn
Abstract:
Keywords:
2
1. Introduction
3
4
lexicographic order of
arrays,
2. Background for robotic flank milling
2.1 Kinematic model of the robotic flank milling system
x
y
z
1
2
3
4
5
6
Design surface
{BCS}
{WCS}
{FCS}
{TCS}
()uC
5
( )
( ) ( ) FCS
FCS
BCS BCS
WCS TCS
uu=TθT C T
661,, T
=
θ
S
WCS
BC
T
S
FCS
BC
T
S
TCS
FC
T
2.2 Representation of the toolpath
( ) SE(3)uC
( ) ( )
() 1
uu
u
=
Rp
C0
3
()up
( ) SO(3)uR
()up
1
m
pw
R
( )
exp [ ]=Rω
3
31 2
, , ][ T
= ω
R
2
31
2
3
1
0
[ ] 0
0
−
−
=
−
ω
exp
()uR
( )
0
( ) exp [ ( )]uu=R R o
3
()uo
0SO(3)R
22
12
[ , , , ] m
T
oo
m
oo
w w w=w
()uo
()uR
i
o
w
( )
02
exp [ ( )]
() , 1,2, ,
ii
oo
u
uim
ww
=
o
RR
6
( ) ( )
exp [ ( )] ()
exp [ ( )] ( ( ))
ii
oo
uu
uu
ww
=
oo
o A o
2
2 3
1 cos ( ) ( ) sin ( )
( ( )) ( ) ( )
( ) ( )
u u u
u I u u
uu
−−
= − +
o o o
A o o o
oo
12
pmm
o
+
=
w
ww
2.3 Singularity and stiffness index of the robot
J
1
1
6FF
−
=JJ
F
vL
=
J
JJ
L
v
J
J
J
( ) ( )
1
Tr Tr
TT
−−
=J J J J
( )
Tr
3det(1)
tt
K=C
7
11
11 11 11 2212 12
TT
tt
−−
=+C J K J J K J
11
J
12
J
v
J
11
K
22
K
11
12
=
K0
K0K
K
)det( tt
=C
2.4 Smooth criterion for toolpaths
u
n
12
{ , , , }
n
u u u
1221 ( ) ( )kk = +ww
( )
1
1
6
1
2
1
ij
i
n
ij
ds
==
=
( )
6
22
11
2
ij
i
n
ij
ds
==
=
( )
21
1
1
1
11
1
2 2 2 2
11
11
, 1
,
() , 2, , 1
ij
i i i i
ii
j
i
i
jj
j
nn
n
i
j j j
ii
s
s
s s s s
i
in
s s s i
sn
−
−
−−+
−−
−
−=
−
==
+ − −
=−
+
( ) ( )
2
11
22
1
11
3
2
11
212
2 1 1
21
11
, 1
,
2 2 2 , 2, , 1
jj jj
j j j j
n n n n
n
ij
n
i i i i i i i i
n
j j j
i i i
ss s
ss s
s s s s i
s s s
i
n
s
i
n
− − −
−−
−+
−
− − − −
−−
+=
−−
= + =
−−
+
+=
+
8
( )
1
1
1
2, 1
2,
2, 2, , 1
n
ii
i
d n
si
si
s s i n
s−
−
=
=
=+ −
=
1
( ) ( )
i i i
uus+
=−pp
()
j
i i
ju
=
1
k
2
k
1
k
2
k
1
2
1 1,min 2,min
1,max 1,min 2, max 2, min
2
( ) ( )
+
− −
= − −
ww
0
1,min
1,max
1
w
2,min
2,max
2
3. Geometric deviation evaluation
Design surface
Envelope
surface li
pi
ni
qi
d
Envelope surface
Design surface
d
Envelope surface
Design surface
d
9
3.1 Iterative solving algorithm
( , )uvX
design
X
design
X
, 1,2, , qi
p i n=
i
p
design
X
,
define the normal line of the surface which passes through
i
p
as
i
l
, and define the intersection between
i
l
and
( , )uvX
as
i
q
. Then the normal distance
,
i
pX
d
between
i
p
and
( , )uvX
is equal to the
distance between
i
p
and
i
q
.
design
X
i
p
i
n
i
l
i i i
l p e
= n
i
q
i
l
0
ii
lq=
( , )
i i i
q X u v=
( , ) 0
i
f u v =
10
( , ) ( , )
ii
f u v l X u v=
( , )X u v
( , )uvX
Algorithm 1
i
q
Input
( , )X a t
i
l
0 0 0
( , )
i i i
q X u v=
[ , ]T
low low
uv
[ , ]T
high high
uv
Output
i
q
X
i
l
1
step
k
0k
00
0( , )
i i i
f u v
while
>
k
step
k
do
k
im
[ v ]T
kk
u
11
[ , ] [ , ] [ ]
k k T k k T
i i i i step k k
u v u v k u v
++
+
if
11
[ , ] [ , ] [ , ]
T k T T
ilo iw low high high
k
u v u v u v
++
do
11
1( , )
k
i
k
kii
f u v
++
+
if
1kk
+
do
0.5
step step
kk=
else do
1kk+
end if
else do
0.5
step step
kk=
end if
end while
return
( , )
kk
i i i
q X u v=
i
q
( , )
k k k
i i i
q X u v=
X
k
i
T
( , ) ( , )
uv
k k k k k k
i i i i i i
T q u v u v e
= XX
u
X
v
X
( , )uvX
u
v
i
l
k
i
T
11
( ) ( )
**
*kk
i i i
F l T=
k
i
q
1
ik
q+
i
q
i
p
i
l
k
i
T
X
0
i
q
k
i
m
k
i
F
k
i
m
kk
ii
F m e
=
k
i
m
( )
3
0
10.5
k
j
k
i i j j
F e e e e
=
= −
m
[ ]T
kk
uv
[ ( , ) ( , )][ ]
k k k k T k k
i i i iuu k k i i
u v u v u v = −X X m q
k
i
q
k
i
q
step
k
11
[ , ] [ , ] [ ]
k k T k k T
i i i i step k k
u v u v k u v
++
= +
1 1 1
( , )
k k k
i i i
q X u v
+ + +
=
( , )
i i i
q X u v=
i
l
X
0
i
q
step
k
i
p
( )
ii ii
d= − q p n
i
p
i
q
i
p
i
q
3.2 The first-order differential increment
i
d
12
12
12
[ , , , ]
mm
w w w +
=w
w
( ; , )uvXw
( ; , )X u vw
i
q
w
()
i
qw
()
i
qw
()
i
qw
( ; , )uvXw
12
1
()
( ; , ) ( ; , ) ( , ; , ) ( ; , )
,
m
i
T
m
u v u v u v u v
u v w
uv w+
+
w
qw
X w X w X w X w
12
1,, T
mm
ww
+
=
w
( ; , )
i i i
f u vw
12
1
( ; , )
( ; , ) ( ; , ) ( ; , ) ( ; , )
, , i
m
i i i
T
i i i
m
f u v
fu u
v f u v f u v f u v
vv
u w w +
+w
w
w w w w
i
f
0 1 2
e e e e
013
e e e e
20 3
e e e e
1 2 3
e e e e
,
, ( ; ) T
i i i
uv
i
w
i
f u v uv + MwM w
, 4 2uv
i
M
( )
12
4
i
mm
w +
M
w
, ) 0(
i i i
ufv=
( ; , ) 0
i i i
f u v=w
X
( ) ( )
1
, , ,
TT
Tu v u v u v w
i i i i
uv −
= −
wM M M M
( ) ( )
12
1
,
1
,,
()
, ,
i
TT
u v u v u v w
m
i i i i
i
m
u v w w
−
+
−
=
+
M M M M w
Mw
qw
X X X X
i
d
13
iii
T
ii
d
=
=
Mw
qn
n
4. Toolpath optimization model and algorithm
4.1 Optimization model
Problem 1:
min
max min
}
m= max{
in i
−
−
+
w
subject to ( 1,2, , , 1,2, , )
q
i n j n==
( )
1( ), ( )
i i i
f u u
−
=poθ
min maxi
θ θ θ
32
ii
LU
PP
−
min maxj
d d d
i
0
1 6
,,() T
i i i i
u
= =
θ θ
( )
ii
=θ
min
max
w
( )
1
f−
min
θ
max
θ
U
P
L
P
min
d
max
d
()
ii
=θ
14
Problem 2:
min
ma
,x min
min
−
−
+
w
subject to ( 1,2, , , 1,2, , )
q
i n j n==
i
4.2 Local approximation
k
1k−
=ww
i
θ
12
1j
ij
j
i
mm
i
dw
wd
+
=
==
θ θ
wθw
i j
wθ
1
TCP
i
j
w
−
=
J
θt
TCP
J
6
=
ω
v
t
j
w
[]
[] 00
=
v
tω
1()
[ ] ( )
j
i
i
u
uw
−
=
C
tC
[ ] so(3)ω
( ) ( )
()
0
jj
j
w
w
uuw
u
=
Rp
C
0
() j
wuR
w
2
TT
c = + +w H w wf
H
15
f
c
j
d
i
i
j
d
i
T
i
d = nMw
1, ,6j=
1
Tr
i tt
tt
jj
ii
−
=
C
C
j
tt i
C
11 j
i
J
12 j
i
J
j
i
J
11 j
i
J
12 j
i
J
dd
dd
TT
i i i
ii
ii
d
d
==
w
θ
θw
θ
θ
1 6
d d , , T
i i i i
=
θ
( ) ( )
1
1
Tr Tr Tr Tr
TT
TT
i
j j j
i i i
−−
−−
+
=
J J J J
J J J J
1, ,6j=
1j
i
−
J
j
i
J
111
jj
ii
−−−
=−
JJ
JJ
j
i
J
j
vi
J
j
i
J
j
i
J
dd
dd
TT
i i i
ii
ii
d
d
==
w
θ
θw
θ
θ
1 6
d d , , T
i i i i
=
θ
1k−
w
16
Problem 3
( )
ax min
,m
m 2in TT
+ + −
ww H w wf
subject to ( 1,2, , , 1,2, , )
q
i n j n==
11
d
) ( ) d
(
T
ii
k i k
i
d
d
−−
+ +
w w w
w
θ
θ
min max1
() i
ik
d
d
−
+
θw
wθwθ θ
32
32
i
LU
i
iPP
i
d
d
d
d
− + −
w
ww
min 1 max
()
T
j k i i
d d d
− + Mwwn
1
d
()
d
T
ii
ik
id
d
−
+
θ
ww
w
θ
lower upper
w w w
w
1k−
w
upper
w
lower
w
4.3 Solving process
Problem 2
4.3.1 Generating the initial solution
0
w
0
w
4.3.2 Obtaining the approximate boundary values
1,min
1,max
2,min
2,max
min
max
17
0
w
1
2
, 1, ,
iin
=
4.3.3 SQP based on the lexicographic order of arrays
1,min
1,max
2,min
2,max
min
max
lexicographic order of arrays
1i
f
2i
f
i
1k
lexicographic order
11 12 1
( , , , )
k
f f f
21 22 2
( , , , )
k
f f f
( ) ( )
( ) ( )
11 12 1 21 22 2
11 12 21 22 1 2
1 1 2 1
11 12 21 22 1 2
1 1 2 1
12
( , , , ) ( , , , )
( , , , ) ( , , , ), if , 0
( , , , ) ( , , , ), if
, otherwise
kk
kk
kk
kk
kk
kk
f f f f f f
f f f f f f f f
f f f f f f f f
ff
−−
−−
=
11 12 11 12
( ) ( )f f f f
18
Algorithm 2
Input
0
w
0
R
n
q
n
max
d
min
d
upper
w
lower
w
Output
w
i
θ
i
i
1, ,in=
j
d
1, , q
jn=
( )
1
21
old
= −
0k=
max min
1 max max{ } , min{ }
jj
flag d d d d= − −
m x{ }2 a i
flag
= −
while
( )
1old old
−
or
max 1 , 2 0
old old
flag flag
do
old
=
11
old
flag flag=
22
old
flag flag=
1kk=+
dd
i
θw
dd
ii
θ
dd
ii
θ
H
f
i
M
while
2
min , lup oper wer
ww
do
w
1kk−
= +w w w
i
θ
( )
1;i
fu
−
k
w
1, ,in
2
upper upper
=ww
2
lower lower
=ww
i
i
1, ,in=
j
d
1, , q
jn=
max min
1 max max{ } , min{ }
jj
flag d d d d= − −
m x{ }2 a i
flag
= −
if
( , 2, 1) ( , 2 , 1 )
old old old
flag flag flag flag
do
1,min
1,max
2,min
2,max
min
max
old
w
upper
w
lower
w
upper
w
lower
w
(1 )
+
else do
2
upper upper
=ww
2
lower lower
=ww
end if
end while
2
min , lup oper wer
ww
end while
return
k
=ww
lexicographic order of the arrays consisting of the objective and constraint functions, not just the values
of the objective function. (2) The objective function is updated iteratively. (3) When the elements in the
19
resulting optimization variables
w
upper
w
lower
w
5. Simulations and experimental validations
5.1 Comparison methods
5.2 Validation of the geometric deviation
0
T
1
T
2
T
0
B
1
B
2
B
20
()Tu
()Bu
15
Maximum undercut: 0.17mm
Maximum overcut: 0mm
Maximum undercut: 0.26mm
Maximum overcut: 0mm
Maximum undercut: 0.02mm
Maximum overcut: 0.02mm
Maximum undercut: 0.03mm
Maximum over cut: 0.03mm
Maximum undercut: 0.02mm
Maximum overcut: 0.42mm
Maximum undercut: 0.81mm
Maximum overcut: 0.93mm
21
5.3 Simulation verification of the optimization algorithm
6.25mm
30mm
10
The robot used is ABB IRB-6660. The DenavitHartenberg (DH) parameters of it is
illustrated in . The diagonal elements of the joint stiffness matrix are
6
[1.47,1.69,1.33,0.36,0.22,0.14] 10
.
The fixed rotation matrix
0
R
is set as the rotation matrix at the starting CL of the initial solution.
22
30 60
q
n=
points are sampled from the design surface, and both
curves
()up
and
()uo
have 10 control points. The toolpath is sampled to
50n=
CLs.
max
d
and
min
d
are 0.085mm and -0.085mm respectively. The singularity threshold
xpansion factor
is set to 0.05.
10.005
=
, and
5
210
−
=
. In DE, the number of iterations is set to 40, and the size of the population is
set to 50. The crossover probability is 0.5. Note that according to our tests, a larger iteration number does
not improve the optimization results further.
a
d
1
2
−
22
−
23
−
2
−
4
2
5
2
−
6
+
5.2410-3
7.1810-3
1
2.0310-6
10-6
2
SQP
DE
3.1110-18
3.1510-18
max{ }
i
Maximum undercut: 0.075mm
Maximum overcut: 0.087mm
Maximum undercut: 0.085mm
Maximum overcut: 0.085mm
Maximum undercut: 0.076mm
Maximum overcut: 0.039mm
23
Both optimization methods are executed on MATLAB 2022b. It shows that SQP is much more
efficient with an execution time of 5.55 minutes, while DE takes 53.00 minutes.
The iterative optimization process is illustrated in . It shows that the three indices
1
,
2
, and
max{ }
i
all decrease in both methods, but DE is less effective.
( )
11
6
1
2
j
ij
=
=
( )
6
22
1
2
j
ij
=
=
1
2
010 20 30 40 50
Sampling cutter location index
3.04
3.06
3.08
3.1
3.12
3.14
3.16
10-18
The initial solution
SQP
DE
(2, 3.1610-18)
(1,31110-18)
(4, 3.1510-18)
i
i
1
3
4.99 10−
3
5.30 10−
3
5.26 10−
3
7.18 10−
2
6
1.75 10−
6
2.14 10−
6
2.05 10−
6
6.47 10−
max{ }
i
18
3.08 10−
18
3.11 10−
18
3.10 10−
18
3.15 10−
24
5.4 Experimental validations of the optimization algorithm
Worktable Workpiece
Cutter
Spindle
ABB
IRB6660
1 2 3 4
[ , , , ]q q q q
()up
and
()uo
have 30 control points.
18 70
q
n=
25
points are sampled from the design surface.
max
d
and
min
d
are 0.025mm and -0.025mm respectively.
The time of iteration in DE is set to 20. All other parameters are the same as in Section 5.3.
3.5910-3
6.2910-3
1
3.5910-5
1310-5
2
4.112510-18
110-18
max{ }
i
Both optimization methods are executed on MATLAB 2022b. SQP shows greater efficiency with an
execution time of 2.11 minutes, while DE takes 21.16 minutes.
The iterative optimization process of DE and SQP is illustrated in , proving the effectiveness
of SQP. Note that as the initial solution does not satisfy the constraints, the large increase in
2
in the
third iteration step of DE leads to a feasible solution.
ii
1
26
max{ }
i
K
1
2
max{ }
i
max{ }
i
max j
d
3
6.60 10−
5
5.91 10−
18
4.1230 10−
3
6.40 10−
5
5.51 10−
18
4.1217 10−
3
6.29 10−
5
10.34 10−
18
4.1225 10−
3
3.59 10−
5
3.59 10−
18
4.1125 10−
1
2
i
i
27
1
17.40 17.56
Sa=3.50m
Sa=5.18m
Sa=4.75m
0.1000
-0.1000
0.000
0.05
-0.05
Measured mach ining error (mm)
Average: -0.0005mm
Interval with an error below 0.05mm: 95.5048%
0.1000
-0.1000
0.000
0.05
-0.05
Measured mach ining error (mm)
Average: -0.0016mm
Interval with an error below 0.05mm: 92.0547%
Average: -0.0019mm
Interval with an error below 0.05mm: 88.2967%
0.1000
-0.1000
0.000
0.05
-0.05
Measured mach ining error (mm)
(f) Machining error distribution
with the two-step method
28
6. Conclusion
29
Acknowledgments
Appendix: Basics of conformal geometric algebra
1 2 3
{ , , }e e e
0 1 2 3
{ , , , , }e e e e e
a
b
ab a b a b= +
000
,
00, 1, 0
, 0, 0
i j i
i
ij
e e e e e e
e e e e e e
= = − =
= = =
, 1, 2,3ij
,
1,
0,
ij
ij
ij
=
=
ab
2 2 3 311
x e x e x e= + +x
2
02x e e
= + +xx
1 2 3
{ , , }e e e
30
x
F x e
=
*
13
*0 2
( ) ( ) ( )e e e e e
= −
l
x
*
0
0
xl
xl
=
=
A
B
*
C
* * *
C A B=
References
31
32
∗