Tải bản đầy đủ (.docx) (11 trang)

Bài báo KỸ THUẬT CẮT LỚP VÀ TÁI TẠO CÁC BỀ MẶT KHÔNG GIAN TRÊN MÁY PCMM

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 (1.05 MB, 11 trang )

KỸ THUẬT CẮT LỚP VÀ TÁI TẠO CÁC BỀ MẶT KHÔNG GIAN TRÊN MÁY PCMM
TOMOGRAPHY TECHNIQUE AND REPRODUCTION OF 3D SURFACE ON PCMM
Phạm Thành Long(1), Trần Nam Thắng(2)
TÓM TẮT
Bài báo này giới thiệu cơ sở thiết kế máy đo biên dạng 3D kiểu tay robot dựa trên một tay đo 2D(XY)
đã có sẵn. Yêu cầu với phần cứng là nhận diện được linh kiện điện tử với năng lực vừa đủ đáp ứng các
yêu cầu về độ chính xác nhằm tiết kiệm chi phí đầu tư. Quá trình thiết kế đã bổ sung thêm bàn trượt
trục Z, bộ điều khiển trục Z, chế tạo đầu đo tiêu chuẩn và viết phần mềm xử lý số liệu để tổng hợp mặt
cong 3D. Thiết bị sau khi kiểm tra cho thấy đảm bảo độ chính xác kích thước theo yêu cầu đặt ra cũng
như độ chính xác về hình dáng hình học. Phương pháp tiếp cận qua kiểm chứng cho thấy sự phù hợp để
phát triển các máy có độ chính xác cao hơn nữa.
ABSTRACT
This newspaper introduces the basis of designing 3D contour mesuring machine of robot hand type
based on one available 2D (XY) measuring hand. Requirement for hardware is identified electronic
components with sufficient capacity to meet the requirements of accuracy in order to save investment
costs . The process of design has added the Z-axis slide,Z -axis controller, standard probe manufaction
and written the software of data processing for synthesizing 3D curved surface. It is showed that there
is the accuracy of dimension and geometry as well according to the requirement after testing. Via
proven approach, it is presented to be pertinent to develop more high-precision machine.
Keywords: Máy đo CMM kiểu robot, phương pháp số, tái tạo ngược, cảm biến đo góc
CMM of robot type, numerical method, reverse engineering, encoder.
I. ĐẶT VẤN ĐỀ
Nhu cầu đo kiểm tra hoặc đo với mục đích số hóa tạo đường dịch dao cho các máy công cụ điều khiển
số là rất phổ biến. Tuy nhiên do máy đo CMM thuộc dạng đặc chủng nên lý thuyết thiết kế máy, đặc
biệt là phần đảm bảo độ chính xác phép đo không được công bố. Đây là thách thức phải vượt qua trong
các thiết kế giải mã sản phẩm.
Trong một số công bố trước đây chúng tôi đã trình bày cách giải quyết vấn đề độ chính xác của các
contuor 2D. Để xây dựng mặt 3D từ dữ liệu 2D cần có một giải thuật sắp xếp các contuor riêng lẻ theo
thứ tự đo được. Các dữ liệu này cần được định dạng thích hợp để biểu diễn đồ họa trên các phần mềm
đồ họa có hỗ trợ CAM nhằm sử dụng được tính năng liên kết với máy công cụ.
II. SƠ LƯỢC VỀ KHẢ NĂNG TẠO HÌNH 2D CỦA MÁY


Như đã nói ở trên, máy CMM 3D mà chúng tôi chế tạo được phát triển từ một máy CMM 2D, do đó sẽ
kế thừa dữ liệu đo dạng 2D. Vấn đề cần giải quyết là phải xây dựng được mặt cong từ tập hợp các
đường cong đó. Trước tiên, phải xử lý dữ liệu đo ở dạng 2D thu được. Trích đoạn tọa độ điểm 2D đo
được như sau (hình 1):

Hình 1: Tọa độ 2D (xy)
Các tọa độ này tạo nên biên dạng nhấp nhô, nếu phóng to lên nhiều lần sẽ thể hiện như hình dưới.


Hình 2: Biên dạng phóng đại biên dạng sau khi đo được
Đây không phải là biên dạng thực tế của đường cong, sự nhấp nhô này là do phát xung không đồng bộ
của 2 encoder vào thời điểm lấy mẫu đã định trước. Để giải quyết hiện tượng này có thể thay các
encoder có độ phân giải cao hơn. Đây là cách làm tốn kém về kinh tế và không phát huy được vai trò
của phần mềm trên sản phẩm cơ điện tử. Thường biên dạng thực tế sẽ nằm ở giữa các tọa độ ghi nhận
được. Dữ liệu điểm sau khi thu được sẽ chuyển sang xử lý bằng cách nối trung điểm của 2 đoạn thẳng
kề nhau, quá trình cứ lặp đi lặp lại như vậy cho đến khi có được biên dạng đủ chính xác. Với dữ liệu
đám mây như hình 1 có thể mô tả chính xác các bề mặt kỹ thuật mà không cần nội suy.
A2
I1
A1

A6
A4

I2
A3

I3

I4


I6

I5
A5

A7

Hình 3: Phương pháp xử lý dữ liệu 2D đo được trên máy
Sử dụng VBA (Visual Basic Application) trong Excel để viết chương trình Add-in, kết quả xử lý như
hình 4.

Hình 4: Biên dạng đã xử lý hoàn thiện với 1000 vòng lặp (đường màu đỏ)
Để đối chứng độ chính xác kết quả đo, chúng tôi đã sử dụng một dưỡng mẫu chuẩn đã được xác nhận
trên một máy CMM khác. Căn cứ vào khả năng phát hiện được các kích thước chuẩn của dưỡng mẫu
khi đo trên máy mà chúng tôi chế tạo để kết luận:
- Kết quả đo ở vùng xa gốc máy sai số trung bình là 0.009 (mm);
- Kết quả đo ở vùng gần gốc máy có sai số trung bình là 0.006 (mm).
Các biên dạng 2D nêu ở trên tiếp tục xử lý để tạo hình mặt trong các nghiên cứu dưới đây.
III. XÂY DỰNG MẶT CONG 3D
Mặt cong là tập hợp của nhiều đường sinh sắp xếp theo một trật tự , do đó cần thiết phải bổ sung một
bộ trượt trục Z để dịch chuyển vị trí của vật mẫu (cắt lớp).

Hình 5: Bố trí bàn trượt và gá đặt chi tiết cần đo


Thực chất mỗi lần đo máy sẽ đo các biên dạng 2D nhưng khi tổng hợp chúng lại với nhau và cách
bằng một khoảng cách (zi-z(i-1)) giữa hai đường thì sẽ hình thành nên bề mặt 3D. Nhiệm vụ của bài toán
là tìm ra phương pháp sắp xếp chúng lại với nhau và tạo ra được các file phục vụ cho quá trình gia
công.

Bước 1: Sau khi đo được biên dạng 2D tiến hành làm mịn và chèn tọa độ Z vào cột C trong bảng
tính Excel bằng Add-in. Quy ước với lần đo đầu tiên nhập giá trị là 0 (ứng với tọa độ Z=0). Những lần
đo sau sẽ nhập vào 0.25; 0.5; 1 tùy vào người điều khiển muốn đo khoảng cách giữa 2 đường là
0.25mm; 0.5mm hay 1mm. Kết quả ta thu được dữ liệu xyz của các đường sinh. Lưu các file có đánh
số thứ tự vào trong một folder.

Hình 6: Kết quả các tọa độ sau khi làm mịn và thêm tọa độ Z
Bước 2: Sử dụng chức năng lập trình giao diện GUI trong Matlab 2007 để viết phần mền tổng hợp
và vẽ biên dạng 3D là “SoHoa3D_Matlab”. Thuật toán chương trình vẽ 3D và kết quả thu được như
hình dưới:


Bắt đầu
Chọn đường dẫn lưu file 3D
Nhập số đường cần dựng: n
i=1
i = i+1

Kết thúc

S
Đ
Truy cập WorkBook Excel
i≤n

Tạo các véc-tơ (nx1):
x{i} = a(1,i).Sheet1(:,1)
y{i} = a(1,i).Sheet1(:,2)
z{i} = a(1,i).Sheet1(:,3)
Plot3(x{i},y{i},z{i})

Hold on

Hình 6: Sơ đồ thuật toán và phần mền dựng mặt cong 3D
Bước 3: Tiến hành tạo file và lưu dữ liệu dạng *.xyz, *.txt bằng cách nối dài các véc-tơ
x{i},y{i},z{i}) theo thứ tự bằng công cụ Vertcat và DlmWrite trong Matlab2007.
b{i} = [x{i} y{i} z{i}];
c = vertcat(b{:});
dlmwrite('pointcloud.xyz',c,'delimiter',',','newline','pc');

Trích đoạn file tạo ra như sau:


Hình 8: File *.xyz
Đây là dạng file mở bằng Notepad nên thuận tiện cho việc đưa vào các máy CNC hay mở bằng các
chương trình đồ họa như SolidWorks, Catia để chỉnh sửa hoàn thiện biên dạng.

Hình 8: Mở file *.xyz trong Solidworks và bề mặt đã chỉnh sửa
IV. TÍNH CHỌN ĐỘ PHÂN GIẢI ENCODER
Encoder là linh kiện điện tử cơ bản nhất dùng trên máy đo của chúng tôi, nó quyết định khả năng phân
biệt các dịch chuyển nhỏ của máy. Do vậy trong quá trình thiết kế phải tính toán và lựa chọn độ phân
giải phù hợp đảm bảo yếu tố kinh tế và kỹ thuật của máy. Giả sử bước di chuyển đơn vị của đầu đo
được cho trước, cần xác định độ phân giải của các encoder trang bị cho mỗi khớp.
- Bài toán ngược:
Từ hệ phương trình động học của robot đã xây dựng được dưới dạng:
f i (q1, q2 ,..., q6 ) = 0
i = 1÷ n
(1)
Với n là số tọa độ suy rộng đủ để xác định vị trí và hướng của khâu cuối.
Gọi vị trí hiện tại điểm đang xét trong vùng làm việc (không gian công tác) của tay đo là:
pi = ( xi , yi , zi ,α i , β i , γ i )

(2)

Trong đó:
(xi,yi,zi) mô tả vị trí khâu tác động cuối
(αi,βi,γi) mô tả hướng khâu tác động cuối
Giá trị chỉ thị của encoder cho trạng thái này được tìm thấy từ việc giải hệ phương trình sau:


fi (q1, q2 ,..., q6 ) = pi
i =1÷ n
(3)
Giả sử điểm pi trong không gian khớp tại trạng thái hiện thời đo được bởi các encoder:
pi = (q1, q2 ,..., q6 ) (i )
(4)

Hình 9: Chuyển động với bước bé nhất của đầu đo giữa hai điểm trong không gian
Chọn trục có độ phân giải nhỏ hơn trong hai trục X và Y của máy để tính ra bước di chuyển bé nhất
của đầu đo theo hướng bất kỳ mà máy cần nhận biết, trên cơ sở đó tính ra tọa độ của điểm tiếp theo
đầu đo sẽ di chuyển đến trong vùng làm việc là:
pi +1 = ( xi +1 , yi +1 , zi +1, α i +1 , β i +1, γ i +1 )
(5)
pix + dx
pi +1 = piy + dy
piz + dz
Hay:
(6)
Tọa độ này khi cập nhật vào (3) sẽ nhận được giá trị chỉ thị tương ứng của các encoder:
pi +1 = (q1 , q2 ,..., q6 ) (i +1)
(7)


Như vậy mỗi encoder đã thực hiện một di chuyển là:
δe1 = q1(i +1) − q1(i )



(i +1)
− q6 (i )
δe6 = q6
(8)
Gọi nj là độ phân giải (n là số xung/1 vòng quay), nj được xác định từ bất phương trình:
360
n j ≥ (i +1)
qj
− q j (i )
(9)
Sau khi tính ra nj và tham khảo các loại cảm biến từ nhà sản xuất để chọn loại encoder có độ phân giải
lớn hơn giá trị tính được.
Đối với việc giải quyết động học bài toán trên, ta cần mô hình hóa cấu hình thực tế của thiết bị và tính
toán trên lý thuyết. Ta được robot 3 khâu như hình vẽ:


O2
x1

O1

d1

z0
O0

y0

x0

Hình 10: Sơ đồ động học tay đo dưới dạng 3D
Ma trận T3 có dạng như sau:
a3 .S 2 .C3 + a3 .C2 .S3 + a2 .S 2 
 S 2 .C3 + C2 .S3 − S 2 .S3 + C2 .C3 0
− C .C + S .S C .S + S .C 0 − a .C .C + a .S .S − a .C − a 
2 3
2 3
2 3
3 2 3
3 2 3
2 2
1
T3 =  2 3


0
0
1
d1


0
0
0
1



Sử dụng phương pháp số [5, 11, 12] để xác định các biến khớp d1,q2,q3. Phương pháp này sẽ làm bộc
lộ quan hệ di chuyển nhỏ giữa ngõ vào (các encoder) và ngõ ra (đầu đo) thay cho việc dùng ma trận
Jacobian truyền thống. Trên cơ sở đó tính toán được độ phân giải của encoder cho từng khớp. Giả sử
sai số đo mô tả bởi mặt cầu có đường kính là 0.06 mm và số điểm khảo sát là 1,2,3,4,5,6.

q2


Hình 11: Xê dịch trong phạm vi cho phép của đầu đo
Bảng 1: Trích dữ liệu tính toán encoder của tay máy
a1

a2

a3

px

py

pz

O1

45

180

204


163

27

1

1

45

180

204

163.03

27

1

2

45

180

204

163


27.03

1

3

45

180

204

162.97

27

1

4

45

180

204

163

26.97


1

5

45

180

204

163

27

0.97

6

45

180

204

163

27

1.03


d1
1.000009
4
1.000009
4
1.000009
3
1.000009
4
1.000009
4
0.970009
4
1.030009
3

q2

q3

Mục tiêu

f1

f2

f3

0.774925


2.183983

3.2906E-09

6E-11

3E-09

9E-11

0.774962

2.18382

3.1827E-09

5E-11

3E-09

9E-11

0.775125

2.183911

3.3492E-09

6E-11


3E-09

9E-11

0.774888

2.184146

3.3961E-09

7E-11

3E-09

9E-11

0.774724

2.184055

3.2306E-09

6E-11

3E-09

9E-11

0.774925


2.183983

3.3092E-09

6E-11

3E-09

9E-11

0.774925

2.183983

3.2745E-09

6E-11

3E-09

9E-11

O2

45

180

204


155

30

2

2.0001146

0.786583

2.219447

2.6303E-08

1E-08

2E-09

1E-08

1

45

180

204

155.03


30

2

2.0001145

0.786611

2.219288

2.6078E-08

1E-08

2E-09

1E-08

2

45

180

204

155

30.03


2

2.0001146

0.78679

2.21937

2.6365E-08

1E-08

2E-09

1E-08

3

45

180

204

154.97

30

2


2.0001146

0.786555

2.219606

2.6534E-08

1E-08

2E-09

1E-08

4

45

180

204

155

29.97

2

2.0001146


0.786376

2.219524

2.6244E-08

1E-08

2E-09

1E-08

5

45

180

204

155

30

1.97

1.9701141

0.786583


2.219447

2.6233E-08

1E-08

2E-09

1E-08

6

45

180

204

155

30

2.03

0.786583

2.219447

2.6364E-08


1E-08

2E-09

1E-08

O3

45

180

204

76

48

10

1.00642

2.517381

9.0848E-09

5E-09

2E-09


2E-09

1

45

180

204

76.03

48

10

1.006313

2.517275

9.9309E-09

6E-09

2E-09

2E-09

2


45

180

204

76

48.03

10

1.006684

2.517251

1.0557E-08

6E-09

2E-09

3E-09

3

45

180


204

75.97

48

10

2.030115
9.999955
1
9.999951
9
9.999949
8
9.999958
6

1.006526

2.517487

8.2758E-09

5E-09

2E-09

2E-09


4

45

180

204

76

47.97

10

1.006155

2.517511

7.7943E-09

5E-09

2E-09

2E-09

5

45


180

204

76

48

9.97

1.00642

2.517381

9.5016E-09

6E-09

2E-09

2E-09

6

45

180

204


76

48

10.03

1.00642

2.517381

8.6723E-09

5E-09

2E-09

2E-09

O4

45

180

204

22

44


26

7.587071

2.675645

7.2962E-08

4E-08

7E-09

2E-08

1

45

180

204

22.03

44

26

7.586795


2.675605

6.5025E-08

3E-08

9E-09

2E-08

2

45

180

204

22

44.03

26

9.9999611
9.969953
7
10.02995
7

25.99984
2
25.99984
8
25.99984
4

7.587319

2.675483

9.4459E-08

7E-08

4E-09

2E-08

3

45

180

204

21.97

44


26

7.587347

2.675685

8.3304E-08

5E-08

6E-09

3E-08

4

45

180

204

22

43.97

26

7.586823


2.675807

5.9894E-08

3E-08

1E-08

2E-08

5

45

180

204

22

44

25.99984
25.99985
3
25.96984
2

7.587071


2.675645

7.3095E-08

4E-08

7E-09

2E-08

25.97


6

45

180

204

22

44

26.03

26.02984
2


7.587071

2.675645

7.2829E-08

4E-08

7E-09

2E-08

Dựa vào kết quả ở các cột d1, q2,q3 tại điểm khảo sát O1 ta tính được độ phân giải tại khớp 2 và 3:
Bảng 2: Kết quả tính toán encoder
d1(max-min)
0.059999844

q2(max-min)
0.000400813
Độ phân giải q2

15668.14545

q3(max-min)
0.000325663
Độ phân giải q3

19283.73223


Nếu lấy độ di động tự do của tâm bàn tay không quá một mặt cầu đường kính 0.06 (mm), cần sử dụng
hai encoder có số xung đã làm tròn lên khoảng 20.000 (xung/vòng). Tính đến cả việc nhân xung 4 lần
trong bản thiết kế này chúng tôi chọn hai encoder 5000 (xung/vòng), model E40S6 – 5000 – 3 – 24 của
Autonic. Đồng thời với lượng dịch chuyển d1 = 0.059999844 ta hoàn toàn tính chọn được bộ trượt
vít-me bi và mô-tơ dẫn động.
V. KẾT LUẬN
Với mục tiêu đặt ra là thiết kế, chế tạo và thử nghiệm thiết bị số hóa biên dạng 3D. Chúng tôi đã phát
triển một phương pháp thiết kế ngược từ độ chính xác biết trước của phép đo gián tiếp tính ra độ chính
xác của các phép đo trực tiếp. Bài toán ngược về độ chính xác trong đo lường gián tiếp được giải bằng
phương pháp số với độ chính xác cao và có tính tổng quát, áp dụng được cho các tay đo có cấu hình
khác nhau.
Các hạn chế về phần cứng của máy đo đã được bù lại trên phần mềm, phương pháp tính toán đã đảm
bảo được cả hai yêu cầu là tính kinh tế và tính kỹ thuật. Máy chế tạo thành công đã thử nghiệm tính
năng đo có độ chính xác tương đương với các máy thương mại, phần cứng và phần mềm đang sử dụng
cũng như phương pháp tính toán hoàn toàn thích hợp để tạo ra các máy có độ chính xác rất cao. Điều
này cũng đúng khi sử dụng các cấu trúc song song hoặc các cấu trúc có số bậc tự do lớn hơn máy thử
nghiệm trong bài báo này.
TÀI LIỆU THAM KHẢO
[1] Mitutoyo Corporation, Linear Gage, Dimension sensors offering superb durability and
environmental resistance suitable for in-line measurements, Catalog No. E4174-542/572/575.
[2] Kosaka Labotory Ltd, Contour Measuring Instrument Formcoder EF650 Standard Specifications,
Specifications No E-0201ER2.
[3] Wu.C.H. “Robot Accuracy Analysis based on Kinematics” IEEE Journal of robotics and
Automation 2. 1986.
[4] Nguyễn Thiện Phúc, Nghiên cứu, thiết kế, chế tạo các robot thông minh phục vụ các ứng dụng
quan trọng, nhóm sản phẩm robot RE. Đề tài KC 03-08. Hà Nội 2006.
[5] Phạm Thành Long, A New Method to Solve the Reverse Kinematic Robot Problem, ISTS
Thailand 2012.
[6] Qiu Zurong, Shi Zhaoyao and Li Yan, “The Research of Machinery Manufacturing Measurement
Technology,” China Engineering Science, vol. 12, pp. 13-19,October, 2010.

[7] Wei Peng, Xuegang Wang, Bin Tang, and Hongang Wu, “A novel analytical method and error
criterion of the synthetic range profile, IEEE Transl,” vol. 2, pp. 1648-1651, October 2010.
[8] Weckenmann A, Peggs G, Hoffmann J, (2006). Probing systems for dimensional micro- and
nano-metrology. Meas. Sci. Technol. 17, 504–509.
[9] "Coordinate Measuring Machine History – Fifty Years of CMM History leading up to a Measuring
Revolution", COORD3 Metrology. Accessed 23 August 2013.
[10]M.B. Bauza, R.J Hocken, S.T Smith, S.C Woody, (2005). The development of a virtual probe tip
with application to high aspect ratio microscale features. Rev. Sci Instrum, 76 (9) 095112.
[11] Phạm Thành Long, Lý Thanh Minh, Thiết kế, chế tạo và ứng dụng máy đo PCMM kiểu robot,
tạp chí cơ khí Việt Nam số 11-2014.


[12] Phạm Thành Long, Lý Thanh Minh, Báo cáo tổng kết đề tài nghiên cứu khoa học cơ sở - ĐH
KTCN Thái Nguyên, mã số T2014-16, Thiết kế, chế tạo và thử nghiệm máy PCMM kiểu tay robot,
năm 2015.




×