Đánh giá độ trụ dựa trên thuật toán PSỌ

Một phần của tài liệ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 (Trang 63 - 99)

V. Công cụ nghiên cứu

3.2.Đánh giá độ trụ dựa trên thuật toán PSỌ

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 đọ

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(dmax - dmin). 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àỵ

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ụ: Nj = {(x1, y1, z1),..., (xj, yj, zj),..., (xL, yL, zL)}; j = 1,..., L, trong đó xj, yj, zj lần lượt là hoành độ, tung độ, cao độ của điểm đo thứ j thuộc hình trụ cần đọ Quần thể S gồm s cá thể (hay s phần tử): Si = {X1,..., Xi,..., Xs}; 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à Xi = (xi1, xi2, xi3, ..., xid ), 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à Vi = (vi1, vi2, vi3, ..., vid). Vị trí tốt nhất của phần tử thứ i mà nó đã từng đạt được là Pi = (pi1, pi2, pi3, ..., pid) (còn gọi là Pbest). Vị trí tốt nhất

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnụedụvn

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à Pg = (pg1, pg2, pg3, ..., pgd) (còn gọi là Gbest). Khi đó vị 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 Nj đến Xi là:

j ij i d N X d     2   2 . . j i j i j i i j j i x l z a y m z b d      

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ó:

i i i i   i i i ii x x x x a b l m X  1, 2, 3, 4  , , ,  i1, i2, i3, i4 i v v v v V   i1, i2, i3, i4 i p p p p P   g1, g2, g3, g4 i p p p p P

Đầu vào thuật toán:

 Xi nhận giá trị ngẫu nhiên, với i = 1, ..., s.  Nj đo bằng thực nghiệm, với j = 1, ..., L.  Vi 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 kmax, c1, c2, m, r1, r2, w. Và khởi tạo ngẫu nhiên vectơ vận tốc của phần tử: vj0 với 0 ≤ i v0 ≤ 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 Xi

 Đặt k = 1 Bước 2:  Với mỗi cá thể k i X ta đi tính:  ki j k j i d N X d ,   , với i = 1,..., s j = 1, ..., L →    jk i k j i k i d d f max , min ,

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnụedụvn Nếu  k1 i k i f f thì k i k i x p  (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 đọ 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 .)  Tìm     jki k j i k i d d

f min max , min ,

min   ; 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 PbestGbest 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:

   kid k gd k id k id k id k id v c r p x c r p x v       . . . . . 1 1 1 1 1  1 1     k id k id k id x v x 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 (adsbygoogle = window.adsbygoogle || []).push({});

v k id

x đều là các vectơ d

chiềụ Nhắc lại d chính là số biến tối ưụ  Tăng k =k + 1

Bước 3: Quay lại bước 2.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnụedụvn

Hình 3.2. Lưu đồ thuật toán

End

Chú thích:

 NJ={x,y,z} là dữ liệu đo thực nghiệm (j=1..L), L là số điểm đo

 fli : là giá trị hàm mục tiêu tốt nhất của cá thể Xi tương ứng tính đến bước k-1  Fi : giá trị của hàm mục tiêu tại bước thứ k của Xi

 fg : là giá trị hàm mục tiêu tốt nhất của quần thể tính đến bước k  PG={a,b,l,m} lưu vị trí tốt nhất trong quần thể tại bước thứ k

 PLi={a,b,l,m} lưu vị trí tốt nhất của cá thể Xi tương ứng tại bước thứ k  s : là số cá thể trong bầy Vi=w*Vi+c1*rand(1)*(PLi-Xi)+c2*rand(1)*(PG- Xi) Xi=Xi+Vi Fi=max(di)-min(di) j=j+1 fg>min(Fi), (i=1..s) fg=min(F(i=1..s)) PG=Xi i=1 i<=s K=k+1 i=i+1 T F F T j<=L i=i+1 i=1 i<=s j=1 i=1 Begin Đọc Nj (j=1,..L) Khởi tạo s,kmax,c1,c2,w,Vmax

Xi=random ,Vi=random (i=1,..s) fli, fg, PLi=Xi, PG=X1,k=1 k<=kmax Result=PG, cylindricity=fg F T F T i<=s fli >Fi fli= Fi, PLi=Xi i=i+1 T F F T T F

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnụedụvn

Đ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

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnụedụvn

Chƣơng 4

XỬ LÝ KẾT QUẢ THỰC NGHIỆM

Ngày nay cùng với việc phát triển của khoa học kỹ thuật trong việc sản xuất ra các dụng cụ đo hiện đại như máy đo tọa độ CMM, đồng thời áp dụng tin học vào việc xây dựng chương trình xử lý số liệu, tác giả đã xây dựng và lập trình chương trình tính toán sai số độ trụ trên cơ sở thuật toán PSO bằng phần mềm MATLAB. * Mô hình tính toán độ trụ bằng chương Matlab như sau:

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

Máy đo tọa độ là tên gọi chung của các thiết bị vạn năng có thể thực hiện việc đo vị trí hình học các điểm đo theo phương pháp tọa độ. Thông số cần đo được tính từ các tọa độ điểm đo so với gốc tọa độ của máỵ Các loại máy này còn được gọi là máy quét hình vì chúng còn được dùng để quét hình dáng của vật thể. Có hai loại máy đo tọa độ thông dụng là máy đo bằng tay (đầu đo được dẫn động bằng tay) và máy đo CNC (đầu đo được điều khiển tự động bằng chương trình số).

Các máy đo tọa độ CMM hoạt động theo nguyên lý dịch chuyển một đầu dò để xác định tọa độ các điểm trên một bề mặt của vật thể. Máy đo tọa độ thường đo

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, c1, c2, r1, r2, vmax, 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ố hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnụedụvn

các tọa độ theo phương chuyển vị X, Y, Z. Bàn đo được làm bằng đá granít, đầu đo được gắn trên giá, giá lắp trên thân trượt theo phương Z, khi đầu đo được điều chỉnh đến một điểm đo nào đó thì đầu đọc sẽ cho ta biết 3 tọa độ X,Y,Z tương ứng với độ chính xác cao, có thể lên đến 0,1 micromét.

Máy CMM thường thiết kế với 4 phần chính: - Thân máy (adsbygoogle = window.adsbygoogle || []).push({});

- Đầu dò

- Hệ thống điều khiển hoặc máy tính. - Phần mềm đọ

Hình 4.1 Cấu tạo máy CMM

Với hệ thống đầu đo cho máy CMM, người ta có thể sử dụng loại đầu dò tiếp xúc hay đo điểm rời rạc, hệ thống đầu đo laser, hoặc camerạ Máy đo CMM đa cảm biến có thể được trang bị nhiều hơn một cảm biến, camera hoặc đầu dò.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnụedụvn Hình 4.2. Các loại đầu dò dùng cho máy CMM

Máy đo bằng tay có chuyển vị rất êm, nhẹ nhàng nhờ dùng dẫn trượt trên đệm khí nén. Để kết quả đo tin cậy, áp suất khi nén cần phải được bảo đảm như điều kiện kỹ thuật của máy đã ghi nhằm đảm bảo đệm khí đủ áp suất và làm việc ổn định. Các máy của hãng Mitutoyo thường có yêu cầu áp suất khi nén là 0,4 MPa với lưu lượng 40 lít/phút ở trạng thái bình thường. Máy phải được vận hành ở nhiệt độ thấp từ 160C đến 260

C.

Máy đo 3D có phạm vi sử dụng lớn. Nó có thể đo kích thước chi tiết, đo profin, đo góc, đo độ sâụ.. Nó cũng có khả năng đo các thông số phối hợp trên một chi tiết như độ song song, độ vuông góc, độ phẳng. ... Đặc biệt máy có thể cho phép đo các chi tiết có biên dạng phức tạp, các bề mặt không gian như: bề mặt khuôn mẫu, cánh turbine, mui xe ô tô...

Để dễ dàng cho việc tính toán kết quả đo, kèm theo máy là phần mềm thiết kế cho từng loại thông số cần đọ Mỗi hãng chế tạo máy CMM đều viết riêng cho các máy của mình những phần mềm khác nhaụ Mỗi phần mềm có thể có nhiều môđun riêng biệt ứng dụng cho từng loại thông số. Ví dụ máy CMM của hãng Mitutoyo có các môdun phần mềm sau đây:

- Geopak : có nhiều cấp độ khác nhau, dùng cho đo lường vật thể 3D, có thể xuất sang file dạng .gws để chuyển đổi dữ liệu đo thành dữ liệu chuỗi điểm cho thiết kế chi tiết bằng phần mềm Pro/Engineer hoặc các phần mềm khác.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnụedụvn

- Scanpak: dùng để số hoá biên dạng 3D của vật thể, chuyên dùng để quét biên dạng và bề mặt 3D dùng cho tái tạo ngược.

- Statpak : chuyên dùng để xử lý số liệu đọ

- Gearpak: chuyên dùng cho đo bánh răng, chuyển dữ liệu từ máy CMM sang máy kiểm tra bánh răng.

- Tracepak: chương trình quét vật thể 3D cho máy CMM vận hành bằng taỵ Máy CMM có nhiều chủng loại khác khác nhau về kích cỡ, thiết kế và công nghệ dò. Máy có thể chỉ có hệ điều khiển bằng tay hoặc có hệ điều khiển CNC/PC. Các máy CMM thường được sử dụng để đo kích thước, đo kiểm mẫu, góc, hướng hoặc chiều sâụ Các tính năng chung của máy CMM là có hệ thống bảo vệ chống va đập, khả năng lập trình on-line, tái tạo ngược.

Các thông số cơ bản được quan tâm của máy là các hành trình đo theo trục X,Y,Z; độ phân giải và trọng lượng vật đọ

Về kết cấu, máy CMM gồm nhiều loại : - Tay gấp

- Kiểu cầu - Kiểu chìa đỡ

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnụedụvn Hình 4.3. Máy đo CMM thông dụng kiểu cầu

Hình 4.4. Máy CMM kiểu Grantry của B&S

Hình 4.5. Máy CMM kiểu Cantiver của Tarrus

Kiểu tay gấp thường là loại máy nhỏ cầm tay, cho phép đầu dò xoay theo nhiều hướng khác nhaụ Máy kiểu cầu là loại có trục đo được lắp thẳng đứng với một dầm ngang đặt trên 2 trụ đỡ. Máy đo kiểu cầu (theo trục X) giúp mở rộng phạm

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnụedụvn

vi đọ Với máy đo kiểu chìa đỡ, trục đo được đỡ bởi một kết cấu đỡ. Máy kiểu giàn có kết cấu khung treo trên các ụ đỡ để có thể mở rộng pham vi trên các vật được đọ Các máy đo kiểu giàn có cấu trúc tương tự như kiểu cầu . Đối với máy đo kiểu trục ngang, trục lắp đầu dò được đặt nằm ngang , một đầu gắn trên giá đỡ thẳng đứng có thể dịch chuyển được . Máy đo CMM cầm tay “Sigma Series” là loại máy thế hệ mới kết nối không dây và sử dụng năng lượng pin. Sigma series hiện có 9 chủng loại với các khoảng đo 1,8; 2,2; 2,5; 2,8; 3,0; 3,3; 3,6; 4,6 và 5,2 mét. Đây là loại máy có dải đo lớn nhất trên thị trường hiện naỵ

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áỵ 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.

Các thao tác tạo bộ dữ liệu đo trên máy CMM:

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnụedụvn

Hình 4.7. Phần mềm GEOPAK (adsbygoogle = window.adsbygoogle || []).push({});

- Kích vào nút: Create a new part xuất hiện hộp thoại Start up wizard.

Hình 4.8. Hộp thoại Start up wizard - Để hiệu chuẩn đầu đo ta kích vào lệnh Exit and calibrate.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnụedụvn

- Tiến hành đo 6 điểm bất kỳ trên quả cầu chuẩn MasterBall, ta được đầu đo chuẩn.

Hình 4.9. Thiết lập thông số tạo đầu đo chuẩn - Chọn đầu đo vừa hiệu chỉnh rồi nhấn OK.

Hình 4.10. Hiệu chỉnh đầu đo - Khi đó xuất hiện hộp thoại:

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnụedụvn

Hình 4.11. Giao diện chương trình sau khi hiệu chỉnh đầu đọ - Đo mặt phẳng chuẩn , dùng lệnh: Element planẹ

Hình 1.12. Hộp thoại Element plane - Chọn mặt phẳng vừa đo làm mặt phẳng chuẩn (XY plane)

Một phần của tài liệ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 (Trang 63 - 99)