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.
Trang 1KỸ 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
Trang 2A6 A2
I6 I5
A5
I4 A4 A3 I3 A1
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
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
Trang 3Thự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:
Trang 4Kết thúc S Đ
i = i+1
Bắt đầu
Chọn đường dẫn lưu file 3D
Nhập số đường cần dựng: n
i = 1
i ≤ n Truy cập WorkBook Excel
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:
Trang 5
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:
n
i
q
q
q
f i
÷
=
= 1
0 ) , ,
,
(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à:
) , , ,
,
,
( i i i i i i
i x y z
p = α β γ (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:
Trang 6i
p q
q
q
÷
=
= 1
) , ,
,
(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:
) 6 2
1, , , )
p = (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à:
p i+ 1=(x i+ 1,y i+ 1,z i+ 1,αi+ 1,βi+ 1,γi+ 1) (5)
dy p
dx p p
iz iy
ix i
+ +
+
=
(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:
+1=( 1, 2, , 6)(i+1)
p (7)
Như vậy mỗi encoder đã thực hiện một di chuyển là:
−
=
−
=
+
+
) ( 6 ) 1 ( 6 6
) ( 1 ) 1 ( 1 1
i i
i i
q q
e
q q
e
δ
δ
(8)
Gọi n j 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:
( 1) ()
360
i j
i j
j
q q
n
−
(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ẽ:
Trang 7z0
q2
O0
O1
O2
d1
Hình 10: Sơ đồ động học tay đo dưới dạng 3D
Ma trận T3 có dạng như sau:
−
− +
− +
+
−
+ +
+
− +
=
1 0
0 0
1 0
0
0
0
1
1 2 2 3 2 3 3 2 3 3
2 3 2 3 2 3 2
2 2 3 2 3 3 2 3 3
2 3 2 3 2 3 2
a C a S S a C C a C
S S C S S C C
S a S C a C S a C
C S S S C C S
T
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
Trang 8Hì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
1.000009
4 0.774925 2.183983 3.2906E-09 6E-11 3E-09 9E-11
1 45 180 204 163.03 27 1
1.000009
4 0.774962 2.18382 3.1827E-09 5E-11 3E-09 9E-11
2 45 180 204 163 27.03 1 1.0000093 0.775125 2.183911 3.3492E-09 6E-11 3E-09 9E-11
3 45 180 204 162.97 27 1 1.0000094 0.774888 2.184146 3.3961E-09 7E-11 3E-09 9E-11
4 45 180 204 163 26.97 1
1.000009
4 0.774724 2.184055 3.2306E-09 6E-11 3E-09 9E-11
0.970009
4 0.774925 2.183983 3.3092E-09 6E-11 3E-09 9E-11
1.030009
3 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 2.030115 0.786583 2.219447 2.6364E-08 1E-08 2E-09 1E-08
9.999955
1 1.00642 2.517381 9.0848E-09 5E-09 2E-09 2E-09
1 45 180 204 76.03 48 10
9.999951
9 1.006313 2.517275 9.9309E-09 6E-09 2E-09 2E-09
2 45 180 204 76 48.03 10 9.9999498 1.006684 2.517251 1.0557E-08 6E-09 2E-09 3E-09
3 45 180 204 75.97 48 10 9.9999586 1.006526 2.517487 8.2758E-09 5E-09 2E-09 2E-09
4 45 180 204 76 47.97 10 9.9999611 1.006155 2.517511 7.7943E-09 5E-09 2E-09 2E-09
9.969953
7 1.00642 2.517381 9.5016E-09 6E-09 2E-09 2E-09
6 45 180 204 76 48 10.03
10.02995
7 1.00642 2.517381 8.6723E-09 5E-09 2E-09 2E-09
25.99984
2 7.587071 2.675645 7.2962E-08 4E-08 7E-09 2E-08
1 45 180 204 22.03 44 26 25.999848 7.586795 2.675605 6.5025E-08 3E-08 9E-09 2E-08
2 45 180 204 22 44.03 26 25.999844 7.587319 2.675483 9.4459E-08 7E-08 4E-09 2E-08
3 45 180 204 21.97 44 26 25.99984 7.587347 2.675685 8.3304E-08 5E-08 6E-09 3E-08
4 45 180 204 22 43.97 26
25.99985
3 7.586823 2.675807 5.9894E-08 3E-08 1E-08 2E-08
5 45 180 204 22 44 25.97
25.96984
2 7.587071 2.675645 7.3095E-08 4E-08 7E-09 2E-08
Trang 96 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
0.059999844 0.000400813 0.000325663
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
Trang 10[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