Tải bản đầy đủ (.doc) (22 trang)

tóm tắt luận văn thạc sĩ kỹ thuật sử DỤNG THUẬT TOÁN PARTICLE SWARM OPTIMIZATION ĐÁNH GIÁ độ TRỤ từ dữ LIỆU đo TRÊN máy CMM c544

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.16 MB, 22 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
HOÀNG THỊ QUYÊN
ĐỀ TÀI:
SỬ DỤNG THUẬT TOÁN PARTICLE SWARM OPTIMIZATION
ĐÁNH GIÁ ĐỘ TRỤ TỪ DỮ LIỆU ĐO TRÊN MÁY CMM C544
TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
KHOA ĐT SAU ĐẠI HỌC NGƯỜI HD KHOA HỌC HỌC VIÊN
PGS.TS Nguyễn Đăng Hòe Hoàng Thị Quyên
THÁI NGUYÊN - 2011
I. Tính cấp thiết của đề tài.
Cơ sở khoa học:
Trong nền sản xuất hiện đại, các hệ thống sản xuất có tích hợp máy tính đòi hỏi độ chính xác cao của các
phương pháp kiểm tra kích thước. Các phương pháp kiểm tra kích thước truyền thống khó đáp ứng được nhu cầu
ngay càng cao này và do đó sức cạnh tranh của sản phẩm trên thị trường bị hạn chế. Trước thực tế đó, hệ thống
kiểm tra kích thước có tích hợp máy tính được sử dụng, trong đó máy đo tọa độ ba chiều (CMM) là lựa chọn
hàng đầu của các nhà sản xuất.
Hiện nay, với sự suất hiện ngày càng nhiều của máy đo tọa đọ CMM, kỹ thuật đo bằng máy CMM đã
nhận được nhiều sự quan tâm. Các máy CMM tích hợp máy tính và phần mềm phù hợp để phân tích và xử lý kết
quả đo. Điều làm nhiều người dùng băn khoăn là cùng một bộ dữ liệu về tọa độ nhưng các máy CMM khác nhau
lại cho các kết quả khác nhau. Điều này được giải thích là do thuật toán xử lý dữ liệu khác nhau.
Xác định các thông số chuẩn cho hình trụ là một trong những tính năng quan trọng nhất trong thiết kế,
sản xuất và lắp ráp cơ khí. Nó là điều kiện cần thiết để xây dựng một thuật toán để đánh giá sai số hình trụ. Độ
trụ là sai lệch lớn nhất giữa bề mặt thực đến bề mặt trụ áp (là mặt trụ lý thuyết bao lấy mặt trụ thực). Đã có nhiều
nghiên cứu để đánh giá sai số độ trụ [1-3]. Murthy [1] đã nâng cao một phương pháp với các đa thức trực giao,
có nghĩa là chiếu dữ liệu của hình trụ lên một số mặt phẳng và sau đó nhận được sai số của hình trụ bằng
phương pháp bằng phẳng. X Qian [2] đã sử dụng hàm mục tiêu để đánh giá sai số hình trụ. Các sai số được tối
ưu hóa bằng thuật toán genetic algorithm (GA), phương pháp này cho phép giảm không gian tìm kiếm mà vẫn
hội tụ đến các giải pháp tối ưu toàn cục. Mặc dù vậy tốc độ hội tụ của phương pháp này là quá chậm bởi các quá
trình lai ghép và đột biến trong quá trình tiến hóa. J Mao [3] phát triển một phương pháp để đánh giá sự không
chắc chắn của các sai số hình trụ. Phương pháp này dựa trên thuật toán tối ưu hóa bầy đàn particle swarm


optimization (PSO). Với phương pháp này cho tốc độ hội tụ nhanh và kết quả chính xác, phù hợp hơn với tiêu
chuẩn vùng tối thiểu, tuy nhiên trong tính tường minh của thuật toán còn chưa rõ. Dhanish [4] đã đưa ra thuật
toán rất tường minh để tìm giá trị nhỏ nhất của các sai số độ tròn cho bất kỳ bộ dữ liệu nào và được Vũ Thị Tâm
[5] nghiên cứu ứng dụng thuật toán này xác định sai số độ tròn trên máy CMM, nhưng chưa xét trên mặt cắt dọc
để đánh giá độ bóng và độ kín khít bề mặt. Trên cơ sở đó tác giả tiếp tục nghiên cứu phát triển ứng dụng thuật
toán PSO để xác định sai lệch về độ trụ từ dữ liệu tọa độ các điểm đo trên máy CMM C544 Mitutoyo. Hi vọng
thành công của đề tài sẽ là đóng góp mới cho việc phát triển mô hình đo lường và kiểm tra khác trong chế tạo
máy.
Cơ sở thực tiễn
Xuất phát từ thực tế trường Đại học Kỹ thuật công nghiệp Thái Nguyên đã đầu tư máy đo tọa độ 3 chiều
CMM và nhiều cơ sở sản xuất có khả năng đã và đang trang bị máy CMM thay thế cho các thiết bị đo cũ và
không đáp ứng được yêu cầu sản xuất hiện đại. Việc khai thác có hiệu quả và tin cậy máy CMM là cần thiết. Hi
vọng chương trình xây dựng dựa trên các thuật toán xác định sai lệch về độ trụ từ dữ liệu đo trên máy CMM sẽ
hữu ích cho việc sử dụng máy đo để tự động hóa xác định sai lệch độ trụ trong nghiên cứu và sản xuất thực tiễn.
2
Từ những cơ sở phân tích trên việc nghiên cứu “Sử dụng thuật toán Particle Swarm Optimization
đánh giá độ trụ từ dữ liệu đo trên máy CMM C544” là cấp thiết và có ý nghĩa khoa học và thực tiễn.
II. Mục đích của đề tài
- Sử dụng thuật toán Particle Swarm Optimization xác định sai lệch độ trụ từ dữ liệu đo trên
máy CMM.
- Thiết lập chương trình xử lý dữ liệu.
- Ứng dụng kết quả nghiên cứu trong đo lường kiểm tra chi tiết họ trục/lỗ.
III. Nội dung của đề tài
- Đánh giá tổng quan về các phương pháp đo trên các máy CMM.
- Cơ sở toán học và các công cụ toán về phép đo và xử lý dữ liệu.
- Tổng quan về thuật toán Particle Swarm Optimization (PSO).
- Mô hình bài toán xác định sai số độ trụ.
- Sử dụng thuật toán PSO đánh giá độ trụ và lập trình ứng dụng thuật toán này bằng phần mền Matlab
để tính toán sai số độ trụ.
- Đánh giá kết quả và so sánh kết quả của bằng phương pháp PSO với phương pháp xác định độ tròn

theo Dhanish.
Chương 1
CÁC KIẾN THỨC CƠ BẢN VỀ ĐO ĐỘ TRỤ
I. Các khái niệm cơ bản trong kỹ thuật đo.
1.1. Đo lường.
1.2. Đơn vị đo - Hệ thống đơn vị đo.
1.3. Phương pháp đo.
1.4. Kiểm tra - phương pháp kiểm tra.
1.5. Phương tiện đo - Phân loại phương tiện đo.
1.6. Các chỉ tiêu đo lường cơ bản.
1.7. Các nguyên tắc cơ bản trong đo lường.
1.7.1. Nguyên tắc Abbe.
1.7.2. Nguyên tắc chuỗi kính thước ngắn nhất.
1.7.3. Nguyên tắc chuẩn thống nhất.
1.7.4. Nguyên tắc kinh tế.
1.8. Các thông số chất lượng của hệ thống đo.
1.8.1. Độ nhạy.
1.8.2. Độ phân giải.
1.8.3. Độ chính xác đo.
1.8.4. Độ chính xác lặp lại.
3
1.8.5. Khoảng chết.
1.8.6. Khả năng lặp.
1.8.7. Khả năng tuyến tính hóa.
1.8.8. Sai số gắn với mô hình hóa hệ thống đo.
1.8.9. Phương pháp tính sai số tổng.
II. Phương pháp đo các thông số hình học.
2.1. Phương pháp đo kích thước.
2.1.1. Phương pháp đo hai tiếp điểm.
2.1.2. Phương pháp đo ba tiếp điểm.

2.1.3. Phương pháp đo tọa độ.
2.2. Phương pháp đo độ trụ.
Độ trụ được định nghĩa là sai lệch lớn nhất giữa bề mặt thực đến bề mặt trụ áp, đó là mặt trụ lý thuyết
bao lấy mặt trụ thực. Thông số quy định sai số bề mặt được nêu trong tiêu chuẩn Việt Nam TCVN-11-74 được
ghi trong bảng 1.1
Bảng 1.1:
Tên sai lệch hình dáng Ký hiệu
Gọi tắt Gọi đầy đủ Trên bản vẽ Viết tắt
Độ trụ Sai lệch về độ trụ: độ không trụ EFZ
Hình 1.14 mô tả hiện tượng sai lệch về độ trụ. Đó là tổng hợp các sai lệch cả trên tiết diện ngang như
độ tròn và trên tiết diện dọc như độ côn, độ phình thắt, độ cong trục,…
4
Hình 1.14 Sai lệch về độ trụ
mặt trụ ngoại tiếp
ax min
EF
2
m
D D
Z

=
D
max
- đường kính mặt trụ ngoại tiếp;
D
min
- đường kính mặt trụ nội tiếp với bề mặt thực, đồng tâm với mặt trụ áp.
III. Một số mô hình toán học áp dụng khi đo 3D
3.1. Cơ sở khoa học của phép đo tọa độ.

3.1.2. Các phép biến đổi tọa độ
3.2 . Thuật toán xác định tâm và bán kính đường tròn.
3.2.1. Xác định đường tròn qua tọa độ 3 điểm đo
3.2.2. Xác định đường tròn qua tọa độ nhiều điểm đo.
Chương 2
GIỚI THIỆU VỀ THOẬT TOÁN TỐI ƯU BẦY ĐÀN
PARTICLE SWARM OPTIMIZATION (TỐI ƯU HÓA BẦY ĐÀN)
2.1 Tổng quan về thuật toán Particle Swarm Optimization (PSO).
Phương pháp tối ưu bầy đàn là một trong những thuật toán xây dựng dựa trên khái niệm trí tuệ bầy đàn
để tìm kiếm lời giải cho các bài toán tối ưu hóa trên một không gian tìm kiếm nào đó.
2.1.1 Giới thiệu
Phương pháp tối ưu bầy đàn là một dạng của các thuật toán tiến hóa quần thể, với sự tương tác giữa các
cá thể trong một quần thể để khám phá một không gian tìm kiếm. PSO là kết quả của sự mô hình hóa việc đàn
chim bay đi tìm kiếm thức ăn cho nên nó thường được xếp vào các loại thuật toán có sử dụng trí tuệ bầy đàn.
Được giới thiệu vào năm 1995 tại một hội nghị của IEEE bởi James Kennedy và Russell C.Eberhart.
Để hiểu rõ thuật toán PSO ta cùng xem một ví dụ đơn giản về quá trình tìm kiếm thức ăn của một đàn
chim. Không gian tìm kiếm thức ăn lúc này là toàn bộ không gian ba chiều mà chúng ta đang sinh sống. Tại thời
điểm bắt đầu tìm kiếm tìm kiếm cả đàn bay theo một hướng nào đó, có thể là rất ngẫu nhiên. Nhưng sau một thời
gian tìm kiếm một số cá thể trong đàn bắt đầu tìm ra được nơi có chứa thức ăn. Tùy theo số lượng thức ăn vừa
tìm kiếm mà các cá thể gửi tín hiệu đến các cá thể khác đang tìm kiếm ở vùng lân cận. Tín hiệu này lan truyền
trên toàn quần thể. Dựa vào thông tin nhận được mỗi cá thể điều chỉnh hướng bay và vận tốc theo hướng về nơi
có nhiều thức ăn nhất. Cơ chế truyền tin như vậy thường được xem như là một kiểu hình của trí tuệ bầy đàn. Cơ
chế này giúp cả đàn chim tìm ra nơi có nhiều thức ăn nhất trên không gian tìm kiếm vô cùng rộng lớn.
Như vậy đàn chim đã dùng trí tuệ, kiến thức và kinh nghiệm của cả đàn để nhanh chóng tìm ra nơi chứa
thức ăn. Bây giờ chúng ta tìm hiểu làm cách nào mà một mô hình trong sinh học như vậy có thể áp dụng trong
tính toán và sinh ra thuật toán PSO mà ta nhắc đến. Việc mô hình hóa này thường được gọi là quá trình phỏng
sinh học mà chúng ta thường thấy trong các ngành khoa học khác. Một thuật toán được xây dựng dựa trên việc
mô hình hóa các quá trình trong sinh học được gọi là thuật toán phỏng sinh học.
5
2.1.2 Thuật toán PSO

PSO được khởi tạo bằng một nhóm cá thể ngẫu nhiên và sau đó tìm nghiệm tối ưu bằng cách cập nhật
các thế hệ. Trong mỗi thế hệ, mỗi cá thể được cập nhật theo hai vị trí tốt nhất. Giá trị thứ nhất là vị trí tốt nhất
mà nó đã từng đạt được cho tới thời điểm hiện tại, gọi là P
best
. Một nghiệm tối ưu khác mà cá thể này bám theo là
nghiệm tối ưu toàn cục G
best
, đó là vị trí tốt nhất trong tất cả quá trình tìm kiếm từ trước tới thời điểm hiện tại.
Nói cách khác, mỗi cá thể trong quần thể cập nhật vị trí của nó theo vị trí tốt nhất của nó và của cả quần thể tính
tới thời điểm hiện tại như (hình 2.1).

Hình 2.1.Sơ đồ một điểm tìm kiếm bằng phương pháp PSO
Trong đó:
X
i
k
: Vị trí cá thể thứ i tại thế hệ thứ k
V
i
k
: Vận tốc cá thể thứ i tại thế hệ thứ k
X
i
k+1
: Vị trí cá thể thứ i tại thế hệ thứ k+1
V
i
k+1
: Vận tốc cá thể thứ i tại thế hệ thứ k+1
P

best
: Vị trí tốt nhất của cá thể thứ i
G
best
: Vị trí tốt nhất trong quần thể
Vận tốc và vị trí của cá thể trong quần thể được tính như sau:
( ) ( )
k
ibest
k
ibest
k
i
k
i
XGrcXPrcVV −+−+=
+

2211
1
ω
(2.1)
11 ++
+=
k
i
k
i
k
i

VXX
(2.2)
Trong đó:
w: là trọng số quán tính
c
1,
c
2
: Các hệ số gia tốc
r
1,
r
2
: Số ngẫu nhiên giữa 0 và 1
6
X
i
k+1
Gbest
i

i
V
i
Gbest
V
i
k+1
V
i

k
X
i
k
V
i
Pbest
Pbest
i
Lưu đồ giải thuật:
7
Khởi tạo các cá thể với vị trí và vận tốc ngẫu nhiên
Bắt đầu
Khởi tạo
- Kích thước quần thể N
- Trọng số quán tính w
- Hệ số gia tốc c
1
, c
2
Tính hàm thích nghi
Tính P
best
và G
best
Cập nhập vị trí, vận tốc, P
best
và G
best
của các cá thể

T.chuẩn hội tụ
Dừng
Thỏa
Chưa
2.1.3 Sự khác biệt của thuật toán PSO so với các thuật toán tối ưu khác.
2.1.4 Tính chất của thuật toán PSO.
2.1.5 Ưu nhược điểm của thuật toán PSO.
2.1.6 Ứng dụng của thuật toán PSO.
2.2. Thuật toán PSO song song và PSO nối tiếp.
2.2.1. Thuật toán PSO song song.
2.2.2. Thuật toán PSO nối tiếp.
2.3. Các bước quan trọng trong việc áp dụng thuật toán PSO:
Chương 3
ÁP DỤNG THUẬT TOÁN PSO ĐỂ ĐÁNH GIÁ ĐỘ TRỤ
Trong phần này sẽ trình bầy nội dung nghiên cứu chính của luận văn, từ yêu cầu đặt ra cho bài toán đánh
giá sai lệch hình trụ ta đi xây dựng hàm mục tiêu tìm kiếm. Trên cơ sở đó phát biểu bài toán dưới dạng tối ưu
hàm một biến và dùng kỹ thuật tối ưu hóa bầy đàn (PSO) để giải quyết bài toán.
3.1 Yêu cầu đặt ra cho bài toán đánh giá độ trụ.
3.2. Đánh giá độ trụ dựa trên thuật toán PSO.
Như đã trình bầy ở chương 2, tối ưu hóa bầy đàn tương tự như thuật toán di truyền - cho phép giảm
không gian tìm kiếm của bài toán mà vẫn hội tụ đến giải pháp tối ưu toàn cục - nhưng không có quá trình lai
ghép và đột biến nên chúng hội tụ nhanh hơn. Sử dụng PSO đánh giá độ trụ là tối ưu hóa các giá trị (a, b, l, m )
trên tập dữ liệu đo.
Với tập dữ liệu các điểm đo, mục tiêu là xác định các giá trị (a, b, l, m) để f (a, b, l, m) = min(d
max
-
d
min
).Thuật toán dựa trên kỹ thuật tối ưu hóa theo bầy đàn dưới đây sẽ mô tả quá trình này.
a, Biểu diễn của một phần tử.

Để áp dụng được thuật toán PSO cho bài toán thì việc đầu tiên chúng ta phải tìm được cách biểu diễn
của các phần tử sao cho mỗi phần tử là một giải pháp của bài toán. Thông thường, có ba phương pháp mã hóa:
mã hóa số thực, mã hóa số nguyên, mã hóa bít nhi phân. Trong luận văn này, phương pháp được sử dụng là
phương pháp mã hóa số thực. Mỗi phần tử là một vectơ d chiều (d là số biến được tối ưu).
Cụ thể, ký hiệu tập dữ liệu đo là N gồm L điểm trên bề mặt trụ: N
j
= {(x
1
, y
1
, z
1
), , (x
j
, y
j
, z
j
), , (x
L
, y
L
,
z
L
)}; j = 1, , L, trong đó x
j
, y
j
, z

j
lần lượt là hoành độ, tung độ, cao độ của điểm đo thứ j thuộc hình trụ cần đo.
Quần thể S gồm s cá thể (hay s phần tử): S
i
= {X
1
, , X
i
, , X
s
}; i = 1, , s. Phần tử i trong thuật toán PSO được
biểu diễn bởi vectơ d chiều hay còn là một giải pháp của bài toán và được mô tả là X
i
= (x
i1
, x
i2
, x
i3,
, x
id
), với i
= 1, , s. Vận tốc của phần tử này được biểu diễn bởi vectơ d chiều khác là V
i
= (v
i1
, v
i2
, v
i3

, , v
id
). Vị trí tốt nhất
của phần tử thứ i mà nó đã từng đạt được là P
i
= (p
i1
, p
i2
, p
i3
, , p
id
) (còn gọi là P
best
). Vị trí tốt nhất trong tất cả
quá trình tìm kiếm từ trước đến bây giờ cho mọi phần tử là P
g
= (p
g1
, p
g2
, p
g3
, , p
gd
) (còn gọi là G
best
). Khi đó vị
8

trí và vận tốc của phần tử sẽ được cập nhật theo công thức (2.1) và (2.2). Gọi khoảng cách từ điểm N
j
đến X
i
là:
( )
ij
j
i
XNdd →=

( )
[ ]
( )
[ ]
22

ijijijij
j
i
bzmyazlxd
+−++−=
Giả sử, các biến tối ưu có giá trị là a, b, l, m (tức d = 4).Vậy ta có:
( ) ( )
iiiiiiiii
mlbaxxxxX ,,,,,,
4321
==
( )
4321

,,,
iiiii
vvvvV
=

( )
4321
,,,
iiiii
ppppP
=

( )
4321
,,,
ggggi
ppppP
=
Đầu vào thuật toán:
• X
i
nhận giá trị ngẫu nhiên, với i = 1, , s.
• N
j
đo bằng thực nghiệm, với j = 1, , L.
• V
i
nhận giá trị ngẫu nhiên, với i = 1, , s.
Khi đó quá trình xác định sai số hình trụ từ một phần tử (hay một cá thể) thứ i sẽ được thực hiện như
sau:

{Thuật toán giải mã đối với một phần tử}
Bước 1:
• Khởi tạo ngẫu nhiên k
max
, c
1
, c
2
, m, r
1
, r
2
, w. Và khởi tạo ngẫu nhiên vectơ vận tốc của phần tử: v
j
0
với 0

i
v
0

max
0
v
,
max
0
v

là vận tốc lớn nhất một phần tử có thể đạt được. Khởi tạo ngẫu nhiên tập X

i
Đặt k = 1
Bước 2:
• Với mỗi cá thể
k
i
X
ta đi tính:
( )
k
ij
kj
i
XNdd →=
,
, với i = 1, , s
j = 1, , L

( ) ( )
kj
i
kj
i
k
i
ddf
,,
minmax −=
Nếu
1−

<
k
i
k
i
ff
thì
k
i
k
i
xp =
(Tính các giá trị của hàm
k
i
f
theo các phần tử
k
i
x
ứng với các tọa độ trong tập dữ liệu đo. So sánh và
đánh giá hàm mục tiêu của các cá thể với vị trí tốt nhất của phần tử thứ i:
i
best
f
. Nếu giá trị hiện tại tốt
hơn so với
i
best
f

thì thiết lập
i
best
f
bằng giá trị hiện hành. Xác định vị trí phần tử trong vùng lân cận
đạt được là tốt nhất cho tới thời điểm hiện tại
g
best
f
.)
9
• Tìm
( ) ( ){ }
kj
i
kj
i
k
i
ddf
,,
minmaxminmin
−=
; với i = 1, , s
j = 1, , L
• Vì PSO là một quá trình ngẫu nhiên, nên chúng ta phải định nghĩa điều kiện dừng cho bài toán. Thuật
toán chỉ dừng khi giá trị của P
best
và G
best

không thay đổi hoặc sau k thế hệ (k là một tham số thiết kế).
Nếu trái lại điều kiện dừng ta cập nhập:
• Quá trình tiến hóa: Các phần tử trong mỗi thế hệ dược cập nhật theo công thức:
( ) ( )
k
id
k
gd
k
id
k
id
k
id
k
id
xprcxprcvv −+−+=
+

1111
1
ω
11 ++
+=
k
id
k
id
k
id

vxx
Trong đó
k
id
v

k
id
x
lần lượt là tốc độ và vị trí cá thể thứ i trong quần thể thuộc thế hệ đang xét k. Trong
ngữ cảnh của bài toán đang xét,
k
id
v

k
id
x
đều là các vectơ d chiều. Nhắc lại d chính là số biến tối ưu.
• Tăng k =k + 1
Bước 3: Quay lại bước 2.
3.3. Lưu đồ thuật toán.
10
11
Đo bề mặt ngoài của mẫu hình trụ có đường kính
φ
26 dài 28mm được đo bởi máy đo CMM, nhóm các
dữ liệu đo được trong bảng 3.1:
Bảng 3.1: Bộ dữ liệu đo bất kỳ trên bề mặt trụ.
x y z x y z

1 -0.004 13.038 3.0034 17 -0.003 13.040 22.0107
2 8.900 9.545 3.0136 18 8.862 9.573 22.0133
3 13.027 0.796 3.0008 19 13.020 0.778 22.0054
4 10.045 -8.313 3.0125 20 10.025 -8.339 22.0124
5 1.563 -12.942 3.0189 20 1.517 -12.949 22.0219
6 -7.699 -10.515 3.0291 22 -7.688 -10.524 22.0131
7 -12.840 -2.249 3.0006 23 -12.836 -2.289 22.0068
8 -11.139 6.784 3.0188 24 -11.144 6.784 22.0136
9 -0.009 13.037 6.0213 25 0.005 13.032 25.0139
10 8.890 9.552 6.0157 26 8.872 9.547 25.0228
11 13.026 0.760 6.0105 27 13.015 0.752 25.0259
12 9.686 -8.726 6.0312 28 10.024 -8.345 25.0063
13 1.522 -12.946 6.0064 29 1.491 -12.958 25.0006
14 -7.724 -10.499 6.0159 30 -7.739 -10.498 25.0194
15 -12.844 -2.230 6.0106 31 -12.858 -2.210 25.0291
16 -11.136 6.795 6.0138 32 -11.149 6.775 25.0219
Chương 4
XỬ LÝ KẾT QUẢ THỰC NGHIỆM
Mô hình tính toán độ trụ bằng chương Matlab như sau:
12
SỐ LIỆU ĐẦU VÀO
- Tọa độ các điểm trên
biên dạng lỗ/trục
- Các thông số: w, c
1
, c
2
,
r
1

, r
2
, v
max
, s, …
- Thuật toán
Chương trình
SỐ LIỆU ĐẦU RA
- Các giá trị a, b, l, m.
- Sai lệch độ trụ nhỏ nhất
- Biểu đồ biểu diễn sai số
của các điểm
Số liệu đầu vào là số liệu tọa độ các điểm trên biên dạng lỗ/ trục được lấy từ máy đo CMM. Chương
trình với thuật toán sẽ tự động xử lý dữ liệu sẽ cho ra các thông số a, b, l, m và sai số độ trụ, biểu đồ biểu diễn sai
số của các điểm đến trục của hình trụ lý tưởng.
4.1. Lập cơ sở dữ liệu
4.1.1. Máy đo tọa độ 3 chiều CMM
4.1.2. Tạo bộ dữ liệu cho chương trình.
Tiến hành đo mẫu thử là một con lăn cán thép trên máy đo CMM 544 Mitutoyo của trung tâm thí
nghiệm trường ĐH Kỹ thuật công nghiệp Thái Nguyên. Mẫu thử được gá đặt chắc chắn trên bàn máy. Khởi động
máy CMM, máy nén khí cùng phàn mềm MCOSMOS và tiến hành thiết lập đầu đo, xây dựng hệ tọa độ cho mẫu
thử.
Hình 4.6. Mẫu thử đo trên máy CMM
4.2. Giới thiệu về phần mềm matlab.
4.3. Ứng dụng phần mềm matlab chạy chương trình PSO ứng dụng.
- Nhấp chuột vào biểu tượng chương trình matlab, xuất hiện hộp thoại:
Hình 4.18. Giao diện chương trình.
- Vào File, chọn: Set path. Xuất hiện hộp thoại:
13
Hình 4.19. Hộp thoại Set path.

-Click chuột vào Add Foder, xuất hiện hộp thoại: Browse For Folder.
Hình 4.20. Hộp thoại Browse For Folder.
- Chọn đường dẫn đến nơi để chương trình thuật toán rồi click chuột vào OK. Sau đó click chuột vào
Save để lưu lệnh.
14
Hình 4.21. Hộp thoại Set path khi đã chọn xong
- Click vào close để đóng hộp thoại set path.
- Khi hộp thoại Set path đóng lại thì màn hình trở về giao diện chương trình ban đầu. Để chạy chương
trình ta gõ lệnh pso

.
Hình 4.22. Hiển thị kết quả.
Kết quả của chương trình sau khi chạy thuật toán PSO là các giá trị (a, b, l, m) tương ứng ở dòng Result
và sai số độ trụ nhỏ nhất ở dòng Cylindricity. Và hiển thị hộp thoại Fugure1 biểu diễn trụ kết quả và các điểm đo
từ thực nghiệm, hình 4.23.
15
Hình 4.23. Hình trụ kết quả và các điểm đo.
Hình trụ mầu xanh là hình trụ kết quả phù hợp nhất với bộ dữ liệu được đo (mầu vàng) từ thực nghiệm
để sai số độ trụ là nhỏ nhất.
Hình 4.24. Hình chiếu kết quả các điểm đo.
16
Kết quả:
Sau nhiều lần chạy chương trình ta có kết quả của thuật toán đạt được khi giá trị kết quả không thay đổi
hoặc có giá trị gần nhau.
Bảng 4.1: Kết quả của PSO (đơn vị: mm)
Các thông số Giá trị
a 0.0052
b 0.0057
l -0.0002
m - 0.0003

Cylindricity 0.0068
Hình 4.25. Các lần lặp của PSO
4.4. So sánh thuật toán PSO với thuật toán Dhanish.
4.4.1. Thuật toán Dhanish xác định độ không tròn.
4.4.2. Kết quả của việc ứng dụng thuật toán Dhanish.
4.4.3. Chuyển dữ liệu trên mặt trụ về một mặt phẳng.
Chiếu bộ dữ liệu các điểm đo trong bảng 3.1 xuống một mặt phẳng như trong hình 4.24 ta được bộ tọa
độ gồm 32 điểm nằm trên đường tròn có số liệu như bảng 4.3: Khi đó ta có bài toán xác định độ không tròn là
trường hợp đặc biệt của bài toán xác định độ không trụ.
17
Bảng 4.3: Bộ dữ liệu chiếu xuống mặt phẳng oxy.
x y x y x y
1 -0.004 13.038 12 9.686 -8.726 23 -12.836 -2.289
2 8.900 9.545 13 1.522 -12.946 24 -11.144 6.784
3 13.027 0.796 14 -7.724 -10.499 25 0.005 13.032
4 10.045 -8.313 15 -12.844 -2.230 26 8.872 9.547
5 1.563 -12.942 16 -11.136 6.795 27 13.015 0.752
6 -7.699 -10.515 17 -0.003 13.040 28 10.024 -8.345
7 -12.840 -2.249 18 8.862 9.573 29 1.491 -12.958
8 -11.139 6.784 19 13.020 0.778 30 -7.739 -10.498
9 -0.009 13.037 20 10.025 -8.339 31 -12.858 -2.210
10 8.890 9.552 20 1.517 -12.949 32 -11.149 6.775
11 13.026 0.760 22 -7.688 -10.524
Xuất bộ dữ liệu này vào file định dạng text, xem hình 4.28:
Hình 4.28. Dữ liệu dạng text trong mặt phẳng.
Giao diện làm việc của chương trình xác định độ tròn bằng thuật toán Dhanish:
18
Hình 4.29. Giao diện chương trình thuật toán Dhanish
- Click chuột vào nút Browse và chọn đường dẫn đến bộ dữ liệu dạng Notebad cần kiểm tra, xem hình
vẽ:

Hình 4.30. Chọn file chứa mẫu.
- Sau khi chọn xong mẫu ta click chuột vào nút Run ở giao diện của chương trình. Khi đó trong giao
diện nay cho ta kết quả là tọa độ tâm, bán kính và sai số độ tròn nhỏ nhất, xem hình 4.31.
19
Hình 4.31. Kết quả chạy bộ dữ liệu 32 điểm.
Hình 4.32. Kết quả các vòng lặp.
Kết quả cuối cùng: Tọa độ tâm: (X
0
, Y
0
) = (0.00290 , - 0.00196)
Sai số nhỏ nhất: H = 0.01761mm
4.4.4. Đánh giá kết quả.
a. Kết quả chạy bộ dữ liệu các điểm đo trên mặt trụ khi chiếu xuống mặt Oxy bằng thuật toán PSO
Tọa độ tâm: (a , b) = (0.0029 , - 0.0020)
Sai số nhỏ nhất: f = 0.0088 mm.
b. Đánh giá
- Với cùng một bộ dữ liệu ta thấy khi xét trên một mặt cắt để xác định độ không tròn thì thuật toán PSO
cho kết quả tốt hơn.
20
Bảng 4.4: So sánh kết quả của hai thuật toán: PSO và Dhanish.
(mm)
Thuật toán PSO
Thuật toán Dhanish
x (a) 0.0029 0.00290
y (b) - 0.0020 - 0.00196
Sai số nhỏ nhất 0.0088 0.01761
KẾT LUẬN
Đánh giá kết quả nghiên cứu:
Luận văn này đã trình bày một cách tiếp cận ứng dụng thuật PSO cho bài toán viết phương trình đường

thẳng là trục hình trụ lý tưởng phù hợp nhất với các tọa độ vừa đo được (cụ thể phải xác định a, b, l, m) và sai số
nhỏ nhất độ trụ bằng máy tính. Các kết quả chính của nghiên cứu này bao gồm:
- Khảo sát, đánh giá một cách toàn diện các phương pháp đo trong kỹ thuật.
- Trình bầy chi tiết về thuật toán PSO: Nguồn gốc phát triển, ưu nhược điểm, đặc điểm, tính chất và ứng
dụng của thuật toán. Và đã phân loại cụ thể hai loại PSO nối tiếp và PSO song song cùng với ưu nhược điểm của
từng loại. Đặc biệt đưa ra cụ thể các bước quan trọng trong việc áp dụng thuật toán PSO.
- Luận văn đã bước đầu đề xuất phương pháp ứng dụng thuật toán PSO vào bài toán xác định độ trụ.
- Chỉ ra được cách giao tiếp về dữ liệu giữa chương trình đo trên máy CMM và chương trình xử lý dữ
liệu tự động trên máy tính.
- Xây dựng được các hàm tính toán cho bài toán và phát biểu bài toán xác định độ trụ để có thể áp dụng
thuật toán PSO. Cài đặt hoàn thiện demos cho giải pháp.
- Thử nghiệm chương trình với bộ dữ liệu đo từ máy CMM C544. Mu đun phần mềm trên nền matlab có
giao diện thân thiện, dễ sử dụng. Mu đun này không những cho phép xử lý dữ liệu đo nhanh chóng, tiện lợi mà
còn hiển thị các kết quả đo một cách trực quan.
- Tìm hiểu và cài đặt thuật toán Dhanish đã xác định độ không tròn, qua đó làm cơ sở để so sánh với kết
quả nghiên cứu của đề tài.
- Các chương trình và kết quả thử nghiệm đã chứng minh hướng tiếp cận thuật toán PSO để giải quyết bài toán
xác định độ trụ là đúng đắn và có hiệu quả. Đặc biệt chương trình cài đặt đã xác định được hình trụ phù hợp nhất
với bộ dữ liệu đo từ máy CMM và sai số độ trụ nhỏ nhất.
21
TÀI LIỆU THAM KHẢO
Để hoàn thiện đề tài này tôi đã tham khảo các tài liệu sau:
[1] Nguyễn Tiến Thọ, Nguyến Thị Xuân Bẩy, Nguyễn Thị Cẩm Tú (2001), Kỹ thuật đo lường và kiểm tra
trong cơ khí, NXB Khoa học & kỹ thuật, Hà Nội.
[2] Bùi Quý Lục, Phương pháp xây dựng bề mặt cho CAD/CAM, NXB Khoa học & kỹ thuật.
[3] Nguyễn Ngọc Tân - Kỹ thuật đo - NXB Khoa học & kỹ thuật.
[4] Ninh Đức Tốn (2000), Dung sai lắp ghép, NXB Giáo dục Hà nội.
[5] Catalog máy CMM 544 của hãng Mitutoyo Nhật bản.
[6] Vũ Thị Tâm (2010), Thuật toán mới và chương trình Matlab xác định sai lệch độ tròn từ dữ liệu đo trên
máy CMM 544, Luận văn thạc sỹ khoa học Chế tạo máy, Đại học Thái Nguyên trường Đại học Kỹ thuật

công nghiệp.
[7] P.B. Dhanish (2002), “A simple algorithm for evaluation of minimum zone circularity error from
coordinate data”, International journal of Machine Tool & Manufacture 42 (2002) 1589-1594.
[8] T.S.R. Murthy (1986), “A comparison of diffenrent algorithms for circularity evaluation”, Precision
Engineering 8-1 19-32.
[9] Jian Mao, Yanlong Cao, Jiangxin Yang (2009), "Implementation uncertainty evaluation of cylindricity errors
based on geometrical product specification(GPS)", Published by Elsevier Ltd.
[10] X Qian, P Lou, G Bei "Research on Cylindricity Error Calculation Based on Improved GA" 27 - 31 August
2008 Hokkaido University, Japan.
[11] International Organnization for Standardization, Geneva, ISO 1101-1983, Technical drawings: Tolerancing
of form, orientation, location, and runout–Generalities, definitions, symbols, indications on drawing.
[12] Jaco F. Schutte (2005), The Particle Swarm Optimization Algorithm, EGM 6365 - Structural Optimization.
[13] Arturo Hernández Aguirre, Angel E. Muñoz Zavala, E. Villa Diharce and S. Botello Rionda (I-07-04/22-
02-2007), COPSO: Constrained Optimization Via PSO Algorithm, Center for Research in Mathematics
(CIMAT), Department of Computer Science, y Department of Statistics.
[14] Marco A. Montes de Oca (May 7, 2007), Particle Swarm Optimization Introduction, IRIDIA-CoDE,
Universit´e Libre de Bruxelles (U.L.B.).
[15] LIN Hu, PENG Yong (2009), “Evaluation of Cylindricity Error Based on an Improved GA with Uniform
Initial Population”, ITA International Conference on Control, Automation and Systems Engineering.
[16] KE ZHANG, Evaluation for cylindricity errors based on a particle swarm optimization algorithm, School
of Mechanical and Automation Engineering, Shanghai Institute of Technology.
[17] Xiu-LanWen, Jia-Cai Huang, Dang-Hong Sheng, Feng-LinWang (2010), “Conicity and cylindricity error
evaluation using particle swarm optimization”, Precision Engineering 34, 338–344.
22

×