Nghiên cứu xây dựng phương pháp nội suy theo thời gian thực các biên dạng tự do trong tạo hình bề mặt chi tiết gia công trên máy công cụ CNC 3 trụcNghiên cứu xây dựng phương pháp nội suy theo thời gian thực các biên dạng tự do trong tạo hình bề mặt chi tiết gia công trên máy công cụ CNC 3 trụcNghiên cứu xây dựng phương pháp nội suy theo thời gian thực các biên dạng tự do trong tạo hình bề mặt chi tiết gia công trên máy công cụ CNC 3 trụcNghiên cứu xây dựng phương pháp nội suy theo thời gian thực các biên dạng tự do trong tạo hình bề mặt chi tiết gia công trên máy công cụ CNC 3 trụcNghiên cứu xây dựng phương pháp nội suy theo thời gian thực các biên dạng tự do trong tạo hình bề mặt chi tiết gia công trên máy công cụ CNC 3 trụcNghiên cứu xây dựng phương pháp nội suy theo thời gian thực các biên dạng tự do trong tạo hình bề mặt chi tiết gia công trên máy công cụ CNC 3 trụcNghiên cứu xây dựng phương pháp nội suy theo thời gian thực các biên dạng tự do trong tạo hình bề mặt chi tiết gia công trên máy công cụ CNC 3 trụcNghiên cứu xây dựng phương pháp nội suy theo thời gian thực các biên dạng tự do trong tạo hình bề mặt chi tiết gia công trên máy công cụ CNC 3 trục
Trang 1i
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Tất cả các số liệu và kết quả nghiên cứu trong luận án là trung thực và chưa từng được công bố trong bất kỳ công trình nghiên cứu nào khác
Người hướng dẫn khoa học
GS TSKH Bành Tiến Long
Nghiên cứu sinh
Nguyễn Hữu Quang
Trang 2ii
LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn chân thành và sâu sắc nhất tới GS TSKH NGND Bành Tiến Long,
người Thầy đã hết lòng hướng dẫn và động viên tôi hoàn thành luận án này
Tôi xin chân thành cảm ơn Bộ môn Gia công vật liệu và Dụng cụ công nghiệp, Viện Cơ khí, Trường Đại học Bách khoa Hà Nội đã tạo mọi điều kiện thuận lợi và giúp đỡ tôi hoàn thành luận án này
Tôi xin gửi lời cảm ơn tới gia đình, bạn bè, đồng nghiệp, những người đã luôn luôn giúp đỡ
và ủng hộ tôi
Hà nội, ngày … tháng … năm 2017
Nghiên cứu sinh
Nguyễn Hữu Quang
Trang 3iii
MỤC LỤC
DANH MỤC CÁC CHỮ VIẾT TẮT vi
DANH MỤC CÁC KÝ HIỆU vii
DANH MỤC CÁC BẢNG ix
DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ x
MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN 5
1.1 Khái quát về hệ thống điều khiển số CNC và phương pháp nội suy NURBS 5
Cấu trúc bộ điều khiển số CNC 5
Chức năng nội suy trên máy công cụ điều khiển số CNC 7
Gia công CNC các chi tiết với biên dạng và bề mặt tự do 10
Phương pháp nội suy biên dạng tự do NURBS theo thời gian thực (nội suy NURBS) 14
1.2 Tổng quan tình hình nghiên cứu phương pháp nội suy biên dạng tự do NURBS theo thời gian thực trên các hệ thống điều khiển số CNC 16
Kết luận chương 1 23
CHƯƠNG 2 PHƯƠNG PHÁP BIỂU DIỄN ĐƯỜNG VÀ MẶT TRONG CÁC HỆ CAD/CAM SỬ DỤNG PHƯƠNG TRÌNH THAM SỐ NURBS 24
2.1 Đường NURBS 24
Hàm cơ sở B-spline 24
Định nghĩa đường NURBS 26
Một số trường hợp đặc biệt của đường NURBS 28
Đường NURBS và phép chiếu xuyên tâm 30
2.2 Thuật toán chèn nút và thuật toán DeBoor 31
2.3 Đạo hàm cấp một và cấp hai của đường NURBS 35
2.4 Một số tính chất hình học vi phân của đường NURBS 37
2.5 Phương pháp tham số biểu diễn bề mặt trong hệ CAD/CAM 39
Kết luận chương 2 41
CHƯƠNG 3 XÂY DỰNG PHƯƠNG PHÁP NỘI SUY THEO THỜI GIAN THỰC CÁC BIÊN DẠNG TỰ DO NURBS 43
3.1 Giới thiệu 43
Trang 4iv
3.2 Nguyên lý cơ bản nội suy biên dạng tự do NURBS theo thời gian thực 43
3.3 Đánh giá sai số nội suy 46
3.4 Yêu cầu điều khiển tốc độ tiến dao khi nội suy biên dạng tự do NURBS theo thời gian thực 48
3.5 Các điều kiện giới hạn tốc độ tiến dao trong chuyển động nội suy 49
Điều kiện giới hạn sai số nội suy 49
Điều kiện đảm bảo giới hạn gia tốc hướng tâm 50
Điều kiện đảm bảo giới hạn gia tốc tiếp tuyến 50
Điều kiện tổng hợp giới hạn tốc độ tiến dao 51
Khó khăn khi điều khiển tốc độ tiến dao qua vùng giới hạn 53
3.6 Phương pháp điều khiển tốc độ tiến dao 53
Những vị trí “quan trọng” trên biên dạng tự do NURBS 54
So sánh miền ảnh hưởng của hai điểm “quan trọng” 56
Tiền xử lý biên dạng tự do NURBS 57
Thuật toán tính tốc độ tiến dao theo thời gian thực 59
3.7 Đề xuất phương pháp nội suy biên dạng tự do NURBS theo thời gian thực 61
3.8 Tính chiều dài đường NURBS 62
3.9 Kết quả mô phỏng 63
Mô phỏng nội suy biên dạng chữ alpha 63
Mô phỏng nội suy biên dạng NURBS phức tạp - biên dạng hình cánh bướm 69
Mô phỏng nội suy biên dạng đường tròn theo phương pháp nội suy NURBS 71
Kết luận chương 3 74
CHƯƠNG 4 NGHIÊN CỨU PHÁT TRIỂN PHẦN MỀM NỘI SUY BIÊN DẠNG TỰ DO NURBS THEO THỜI GIAN THỰC DỰA TRÊN HỆ ĐIỀU KHIỂN CÓ KIẾN TRÚC MỞ 75
4.1 Giới thiệu về hệ điều khiển có kiến trúc mở (OAC - Open Architecture Controller) 75
4.2 Hệ điều khiển số có kiến trúc mở - LinuxCNC 77
4.3 Phát triển phần mềm nội suy biên dạng tự do NURBS theo thời gian thực 80
Xây dựng các cấu trúc dữ liệu 81
Xây dựng các hàm xử lý mức thấp 82
Xây dựng các hàm xử lý mức cao 86
Mã lệnh nội suy NURBS: G6.2 87
Trang 5v
Kết quả phát triển phần mềm nội suy NURBS 88
4.4 Giao diện CAD/CAM cho phần mềm nội suy NURBS 88
4.5 Kết quả thử nghiệm phần mềm nội suy NURBS 91
Thử nghiệm 1: Gia công biên dạng phức tạp biểu diễn bằng một đường NURBS 93
Thử nghiệm 2: Gia công biên dạng phức tạp biểu diễn bằng nhiều đường NURBS 97
Thử nghiệm 3: Gia công biên dạng đường thân khai 99
Kết luận chương 4 103
KẾT LUẬN VÀ KIẾN NGHỊ 105
TÀI LIỆU THAM KHẢO 108
DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA LUẬN ÁN 111
PHỤ LỤC 112
Phụ lục 1: Thông số NURBS của biên dạng hình cánh bướm 112
Phụ lục 2: Chương trình mô phỏng trên phần mềm Matlab 113
Phụ lục 3: Chương trình xuất file NC sử dụng định dạng G6.2 để mô tả biên dạng NURBS, được phát triển trong môi trường RhinoScript của phần mềm Rhinoceros 116
Phụ lục 4: Một số cấu trúc dữ liệu và chương trình con được phát triển cho phần mềm nội suy NURBS 118
Trang 6vi
DANH MỤC CÁC CHỮ VIẾT TẮT
2D, 3D, 2.5D Các chữ viết tắt chỉ số chiều trong công nghệ gia công CNC
CAD/CAM Computer Aided Design / Computer Aided Manufacturing
Thiết kế / Sản xuất với sự hỗ trợ của máy tính
Điều khiển số CNC Computerized Numerical Control
Điều khiển số trên nền tảng máy tính DNC Direct Numerical Control
NCK Numerical Control Kernel
Lõi điều khiển số MMI Man Machine Interface
Giao diện người máy PLC Programmable Logic Controller
Bộ điều khiển logic khả trình BLU Basic Length Unit
Độ phân giải vị trí của hệ thống điều khiển số DDA Digital Differential Analyzer
Mạch tích phân cứng, được sử dụng trong thời kỳ đầu của bộ nội suy OAC Open Architecture Controller
Hệ điều khiển số có kiến trúc mở
STEP STandard for the Exchange of Product model data
Tiêu chuẩn về định dạng dữ liệu mô hình sản phẩm STEP-NC Mô hình trao đổi dữ liệu giữa hệ CAD/CAM và CNC tương thích với
chuẩn STEP SERCOS SErial Realtime COmmunication System
Hệ thống truyền thông số phục vụ trao đổi dữ liệu giữa bộ điều khiển CNC và thiết bị điều khiển truyền động
NURBS Non-Uniform Rational B-Spline
Một mô hình tham số biểu diễn đường và mặt trong các hệ CAD/CAM ADCBI Accelleration/Deccelleration Control Before Interpolation
Điều khiển tăng tốc, giảm tốc trước nội suy ADCAI Accelleration/Deccelleration Control After Interpolation
Điều khiển tăng tốc, giảm tốc sau nội suy
Vị trí tiếp xúc của dụng cụ và phôi
Vị trí tâm dụng cụ APT Automatically Programmed Tool
Ngôn ngữ định nghĩa đường dụng cụ trên các máy CNC
Trang 7vii
DANH MỤC CÁC KÝ HIỆU
Các đại lượng vector được ký hiệu bằng các chữ cái in đậm (ví dụ, P, C, …)
Các đại lượng vô hướng được ký hiệu bằng các chữ cái in thường (ví dụ, V, A,…)
A Phép tính biên độ của một vector
A Phép tính chuyển vị của một vector
a Phép tính giá trị tuyệt đối của một đại lượng vô hướng
d
dt Phép tính đạo hàm theo biến thời gian, t
d
du Phép tính đạo hàm theo biến tham số, u
m Đơn vị đo chiều dài: mét
mm Đơn vị đo chiều dài: mili-mét (10-3 m)
µm Đơn vị đo chiều dài: micro-mét (10-6 m)
s Đơn vị đo thời gian: giây
ms Đon vị đo thời gian: mili-giây
mm/min Đơn vị đo tốc độ: mili-mét/phút
mm/s Đơn vị đo tốc độ: mili-mét/giây
mm/s2 Đơn vị đo gia tốc: mili-mét/giây bình phương
1/mm Đơn vị đo độ cong
V Tốc độ tiến dao được lập trình trong chương trình NC (đã nhân với hệ số điều
chỉnh của người vận hành máy) ( )
r
V u Giá trị nhỏ nhất trong các giá trị V chord( )u , V acc( )u , V max
Trang 8L u Chiều dài đường NURBS từ vị trí bắt đầu tới vị trí ( )C u
T Chu kỳ nội suy (ms)
Trang 9ix
DANH MỤC CÁC BẢNG
Bảng 1.1: Chức năng nội suy đường NURBS trên các bộ điều khiển CNC thương mại 22 Bảng 3.1: Các thông số NURBS của biên dạng chữ alpha 63 Bảng 3.2: Các tham số của chương trình mô phỏng nội suy biên dạng chữ alpha 64 Bảng 3.3: Giá trị tham số của các điểm “quan trọng” và các điểm có độ cong lớn nhất cục
bộ trên biên dạng chữ alpha khi V max 50(mm/s) 64
Bảng 3.4: Các tham số sử dụng trong chương trình mô phỏng nội suy NURBS với biên dạng hình cánh bướm 70 Bảng 3.5: Các thông số NURBS của biên dạng đường tròn 71 Bảng 3.6: Các tham số sử dụng trong chương trình mô phỏng nội suy NURBS với biên dạng đường tròn 72 Bảng 4.1: Quy ước cách đặt tên một số biến được sử dụng bởi các hàm xử lý mức thấp 83 Bảng 4.2: Thời gian gia công biên dạng cánh bướm theo phương pháp nội suy NURBS (mã G6.2) và phương pháp nội suy tuyến tính (mã G01) 97 Bảng 4.3: Thời gian gia công biên dạng thân khai theo phương pháp nội suy NURBS (mã G6.2) và phương pháp nội suy tuyến tính (mã G01) 102
Trang 10x
DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ
Hình 1.1: Các thành phần cơ bản của hệ thống điều khiển số 5
Hình 1.2: Luồng thông tin trong hệ thống điều khiển số CNC 6
Hình 1.3: Hai phương án thực hiện chuyển động điểm-điểm từ vị trí A tới vị trí B 7
Hình 1.4: Phối hợp tốc độ của các trục thành phần trong chuyển động nội suy 8
Hình 1.5: Minh họa chuyển động nội suy tuyến tính và nội suy cung tròn 8
Hình 1.6: Xấp xỉ biên dạng phức tạp bằng chuỗi đoạn thẳng 9
Hình 1.7: Biểu đồ hình thang (a) Tốc độ tiến dao; (b) Gia tốc tiếp tuyến; (c) Biểu đồ hình thang suy biến thành biểu đồ tam giác 9
Hình 1.8: Một số kiểu đường dụng cụ khi gia công bề mặt tự do trên máy công cụ CNC 10
Hình 1.9: Độ phân giải của dữ liệu đường dụng cụ 11
Hình 1.10: Giao diện STEP-NC trên một bộ điều khiển CNC, cho phép xử lý nhiều thông tin hơn của chi tiết gia công 13
Hình 1.11: So sánh phương pháp nội suy tuyến tính xấp xỉ và phương pháp nội suy NURBS 14
Hình 1.12: Giao diện phần mềm chuyển đổi từ chương trình NC do phần mềm CAM thông dụng tạo ra (với mã G1) thành chương trình NC sử dụng định dạng NURBS được công bố trong [50] 16
Hình 1.13: Cấu trúc bộ nội suy NURBS trong [16] 19
Hình 1.14: Biểu đồ tốc độ tại vị trí xung đột trình bày trong [20] 21
Hình 1.15: Tổng hợp các kết quả nghiên cứu về phương pháp nội suy biên dạng tự do NURBS theo thời gian thực 22
Hình 2.1: Các hàm cơ sở B-spline bậc 1 với vector tham số nút U={0,0,1,2,3,4,4} 25
Hình 2.2: Các hàm cơ sở B-spline bậc 2 với vector tham số nút U={0,0,0,1,2,3,4,4,4} 25
Hình 2.3: Các hàm cơ sở B-spline bậc 3 với vector tham số nút U={0,0,0,0,1,2,3,4,4,4,4} 25
Hình 2.4: Minh họa việc hình thành đường NURBS 26
Hình 2.5: Điều chỉnh hình dạng đường NURBS thông qua điểm điều khiển và trọng số 27
Hình 2.6: Biểu diễn góc phần tư đường tròn dưới dạng đường Bezier phân thức 29
Hình 2.7: Minh họa đường Bezier với bậc khác nhau 29
Hình 2.8: Ứng dụng đường Bezier trong việc thiết kế font chữ 30
Hình 2.9: Quan hệ giữa đường NURBS và phép chiếu xuyên tâm 31
Hình 2.10: Các điểm điều khiển được tính trong thuật toán DeBoor 34
Hình 2.11: Minh họa thuật toán DeBoor 35
Trang 11xi
Hình 2.12: Các đường tham số tiêu chuẩn (isoparametric curves) trên bề mặt 40
Hình 3.1: Nguyên lý cơ bản nội suy biên dạng tự do NURBS theo thời gian thực 45
Hình 3.2: Chuyển động của dụng cụ trong một chu kỳ nội suy biên dạng tự do NURBS 45
Hình 3.3: Ước lượng sai số dây cung trong phương pháp nội suy NURBS 46
Hình 3.4: Đường giới hạn tốc độ tiến dao phụ thuộc vào độ cong 47
Hình 3.5: Cấu trúc thuật toán nội suy biên dạng tự do NURBS với khả năng điều khiển tốc độ tiến dao theo thời gian thực 48
Hình 3.6: (a) Minh họa biên dạng tự do NURBS có các vùng giới hạn tốc độ tiến dao;
(b) Dạng biểu đồ tốc độ tiến dao cho phép khi đi qua một vùng giới hạn 52
Hình 3.7: Vị trí của bộ tiền xử lý đường NURBS 54
Hình 3.8: Miền ảnh hưởng của điểm “quan trọng” 55
Hình 3.9: So sánh miền ảnh hưởng của hai điểm “quan trọng” 56
Hình 3.10: Minh họa các điểm “quan trọng” phân chia đường NURBS thành các phân đoạn 59
Hình 3.11: Tính tốc độ tiến dao trên một phân đoạn đường NURBS 60
Hình 3.12: (a) Biên dạng chữ alpha (nét liền) và đa giác điều khiển (nét đứt); (b) Biểu đồ độ cong của biên dạng chữ alpha (nét liền) và một số giá trị độ cong giới hạn (nét đứt) 64
Hình 3.13: (a),(c),(e) Các điểm “quan trọng” được xác định bởi bước tiền xử lý;
(b),(d),(f) Tốc độ tiến dao bị giới hạn theo điều kiện (3.17) 65
Hình 3.14: Kết quả mô phỏng tốc độ tiến dao khi nội suy biên dạng chữ alpha theo thời gian thực 66
Hình 3.15: Kết quả mô phỏng gia tốc tiếp tuyến khi nội suy biên dạng chữ alpha theo thời gian thực 67
Hình 3.16: Kết quả mô phỏng sai số dây cung khi nội suy biên dạng chữ alpha 68
Hình 3.17: Biên dạng hình cánh bướm 69
Hình 3.18: Biểu đồ độ cong của biên dạng hình cánh bướm 69
Hình 3.19: Kết quả mô phỏng nội suy NURBS với biên dạng hình cánh bướm 70
Hình 3.20: Biên dạng đường tròn (R = 25 mm) 72
Hình 3.21: Kết quả mô phỏng nội suy NURRBS với biên dạng đường tròn 73
Hình 4.1: Xu hướng thay đổi tỉ lệ giá trị giữa phần cứng và phần mềm 75
Hình 4.2: Cấu trúc cơ bản của hệ điều khiển số sử dụng phần mềm LinuxCNC 77
Hình 4.3: Kiến trúc module hóa của phần mềm LinuxCNC 78
Hình 4.4: Giao diện phần mềm Eclipse được sử dụng để phát triển chức năng nội suy NURBS 80
Hình 4.5: Minh họa cách sử dụng mã lệnh G6.2 để định nghĩa đường NURBS 87
Trang 12xii
Hình 4.6: (a) Giao diện phần mềm Rhinoceros; (b) Chương trình viết bằng ngôn ngữ
RhinoScript để vẽ biên dạng chữ alpha 89
Hình 4.7: Chương trình CreateNurbsCode() để sinh ra file NC sử dụng mã G6.2 90
Hình 4.8: Giao diện CAD/CAM cho phần mềm nội suy NURBS 91
Hình 4.9: Hệ thống thiết bị được sử dụng để thử nghiệm thuật toán nội suy NURBS 91
Hình 4.10: (a) Biên dạng cánh bướm được thiết kế trên phần mềm Rhinoceros;
(b) Chương trình gia công biên dạng cánh bướm sử dụng mã lệnh G6.2 92
Hình 4.11: Giao diện AXIS của phần mềm LinuxCNC cho phép xem trước đường dụng cụ được mô tả bằng mã G6.2 93
Hình 4.12: Kết quả gia công biên dạng hình cánh bướm theo phương pháp nội suy NURBS 93
Hình 4.13: Giao diện phần mềm Rhinoceros và RhinoCAM 94
Hình 4.14: Tọa độ các điểm nội suy trong phương pháp nội suy NURBS và nội suy tuyến tính xấp xỉ (kết quả thực nghiệm) 96
Hình 4.15: So sánh tốc độ tiến dao khi nội suy NURBS và nội suy tuyến tính xấp xỉ
(kết quả thực nghiệm) 96
Hình 4.16: Đồ thị so sánh thời gian gia công biên dạng cánh bướm theo phương pháp nội suy NURBS và nội suy tuyến tính xấp xỉ 97
Hình 4.17: Biên dạng gia công gồm nhiều đoạn đường NURBS 98
Hình 4.18: Gia công biên dạng phức tạp biểu diễn bằng nhiều đường NURBS: (a) Giao diện của phần mềm điều khiển số; (b) Kết quả gia công 98
Hình 4.19: Nguyên lý hình thành đường thân khai của đường tròn 99
Hình 4.20: Cặp bánh răng trụ thân khai 99
Hình 4.21: Thiết kế biên dạng thân khai bằng công cụ đường NURBS trên phần mềm Rhinoceros 100
Hình 4.22: Chương trình gia công biên dạng thân khai sử dụng mã lệnh G6.2 101
Hình 4.23: Giao diện AXIS của phần mềm điều khiển số khi nạp chương trình gia công biên dạng thân khai theo phương pháp nội suy NURBS 102
Hình 4.24: Kết quả gia công biên dạng thân khai theo phương pháp nội suy NURBS 102
Hình 4.25: Đồ thị so sánh thời gian gia công biên dạng thân khai theo phương pháp nội suy NURBS và nội suy tuyến tính xấp xỉ 103
Trang 13hệ thống máy tính và vi xử lý ngày càng có năng lực tính toán mạnh, các hệ thống điều khiển
số ngày nay có nhiều tính năng tiên tiến và ngày càng trở nên “thông minh hơn” Xu hướng hiện nay trong các hệ thống điều khiển số là tăng tỉ lệ phần mềm và giảm tỉ lệ phần cứng Đồng thời các hệ thống điều khiển số đang được phát triển theo hướng “mở” hơn, linh hoạt hơn, có khả năng đáp ứng những yêu cầu chuyên biệt hơn
Chức năng nội suy là một trong những chức năng thuộc phần lõi điều khiển số
(numerical control kernel), có ý nghĩa rất quan trọng đối với việc tạo nên sự chính xác và linh hoạt của các máy CNC Trong hệ thống điều khiển số, chức năng nội suy được định nghĩa là quá trình tổng hợp chuyển động của dụng cụ theo một quỹ đạo xác định từ các
chuyển động theo bước cơ sở (Basic Length Unit - BLU) của các trục thành phần Mỗi bước
cơ sở có giá trị rất bé, thường là 0.001 mm Các hệ thống điều khiển CNC thông thường hỗ trợ hai thuật toán nội suy cơ bản là nội suy tuyến tính và nội suy cung tròn Các thuật toán này đáp ứng tốt trong các trường hợp mà đường dụng cụ là đường thẳng hoặc cung tròn Trong những trường hợp đường dụng cụ là những đường cong phức tạp thì phương pháp phổ biến hiện nay là xấp xỉ đường dụng cụ bằng chuỗi các đoạn thẳng để đưa về việc sử dụng thuật toán nội suy tuyến tính Quá trình xấp xỉ như vậy gặp phải vấn đề mâu thuẫn sau đây: Một mặt, số lượng đoạn thẳng cần phải đủ lớn để sai số xấp xỉ nằm trong giới hạn cho phép, cũng như làm giảm ảnh hưởng của chuyển động không liên tục giữa các đoạn thẳng Mặt khác, số lượng đoạn thẳng lớn lại dẫn tới nhiều nhược điểm không mong muốn, như kích thước lớn của file G-code, sự không ổn định và suy giảm tốc độ tiến dao dẫn tới giảm chất lượng bề mặt chi tiết và tăng thời gian gia công, …[26]
Vấn đề mâu thuẫn nói trên càng trở nên quan trọng khi xuất hiện ngày càng nhiều nhu cầu gia công các chi tiết phức tạp với các biên dạng và bề mặt tự do (free-form curve, free-
form surface) Điều này đặt ra yêu cầu cần phải nghiên cứu và đề xuất các thuật toán nội suy mới nhằm loại bỏ việc xấp xỉ các đường dụng cụ phức tạp bằng chuỗi đoạn thẳng Hiện nay
nhiều nhà nghiên cứu trên thế giới đã tập trung phát triển các thuật toán nhằm tổng hợp
chuyển động của dụng cụ theo các biên dạng tự do Các thuật toán này tổng quát và phức
tạp hơn nhiều so với các thuật toán nội suy tuyến tính và nội suy cung tròn Các biên dạng
tự do thường được mô tả bởi các phương trình tham số, như Bezier, B-spline, NURBS,
Mỗi phương trình tham số biểu diễn các hình dạng khác nhau thông qua một tập hợp các
thông số hình học, như bậc, điểm điều khiển, trọng số, tham số nút, Các thuật toán nội suy
biên dạng tự do cần phải xử lý trực tiếp các thông số hình học của phương trình tham số để
tính toán theo thời gian thực các giá trị đặt cho các vòng điều khiển vị trí của các trục máy
Đây là các thuật toán nội suy tiên tiến, có thể mang tới những khả năng mới cho hệ điều khiển số, giúp nâng cao hơn nữa năng suất và chất lượng bề mặt chi tiết
Hiện nay, công nghệ CAD/CAM/CNC đã được ứng dụng rộng rãi trong nền sản xuất của nước ta Do những hiệu quả mà các công nghệ này mang lại nên các vấn đề thuộc lĩnh vực CAD/CAM/CNC luôn được quan tâm và theo dõi Tuy nhiên, các nghiên cứu trong
Trang 14“Nghiên cứu xây dựng phương pháp nội suy theo thời gian thực các biên dạng tự do trong tạo hình bề mặt chi tiết gia công trên máy công cụ CNC 3 trục”
2 Mục đích nghiên cứu
Nghiên cứu phương pháp nội suy theo thời gian thực các biên dạng tự do nhằm đáp ứng các yêu cầu ngày càng cao về năng suất và chất lượng khi gia công tạo hình bề mặt các chi tiết phức tạp trên máy công cụ CNC
3 Đối tượng, phạm vi và phương pháp nghiên cứu
Luận án nghiên cứu phương pháp nội suy theo thời gian thực các biên dạng tự do trong tạo hình bề mặt chi tiết gia công trên máy công cụ CNC Các biên dạng tự do thường được
mô tả bởi các phương trình tham số, như Bezier, B-spline, NURBS, Trong đó, phương trình tham số NURBS là tổng quát nhất, phương trình Bezier hay B-spline đều có thể xem
là các trường hợp đặc biệt của NURBS Trong luận án, phương trình tham số NURBS được lựa chọn làm công cụ biểu diễn các biên dạng tự do Như vậy, đối tượng nghiên cứu của luận
án được xác định là phương pháp nội suy theo thời gian thực các biên dạng tự do NURBS, hay phương pháp nội suy NURBS trong hệ thống điều khiển số
Phạm vi nghiên cứu được giới hạn ở các hệ thống CNC 3 trục, với dụng cụ cắt không
thay đổi hướng khi di chuyển trên quỹ đạo Do đó, thuật toán nội suy theo thời gian thực chỉ
có nhiệm vụ tính toán vị trí của dụng cụ trong không gian tọa độ Đề-các, và vị trí này có thể chuyển đổi một cách tự nhiên thành vị trí các trục thành phần X, Y, Z của máy công cụ trong không gian khớp mà không cần giải bài toán động học ngược
Phương pháp nghiên cứu là kết hợp giữa nghiên cứu lý thuyết với mô phỏng kiểm
chứng trên phần mềm Matlab/Simulink và nghiên cứu thực nghiệm trên hệ thống thiết bị và phần mềm cụ thể
4 Ý nghĩa khoa học và thực tiễn của đề tài
Ý nghĩa khoa học
- Đã phát triển được một phương pháp nội suy theo thời gian thực các biên dạng tự
do được biểu diễn bằng phương trình tham số NURBS (gọi ngắn gọn là biên dạng
tự do NURBS, hoặc biên dạng NURBS)
- Đã đặt ra và giải quyết được các vấn đề quan trọng khi thực hiện chuyển động tạo hình theo các biên dạng tự do NURBS, đó là: vấn đề giới hạn sai số nội suy và vấn
đề điều khiển tốc độ tiến dao trong giới hạn của máy công cụ về gia tốc tiếp tuyến
và gia tốc hướng tâm
- Các nội dung nghiên cứu của luận án góp phần làm phong phú và sâu sắc thêm các kiến thức chuyên ngành trong lĩnh vực điều khiển số các máy công cụ
Trang 153
Ý nghĩa thực tiễn
- Phương pháp nội suy theo thời gian thực các biên dạng tự do NURBS có ý nghĩa quan trọng đối với việc nâng cao năng suất và chất lượng khi gia công tạo hình bề mặt các chi tiết phức tạp trên máy công cụ CNC Do đó các kết quả nghiên cứu của luận án mang ý nghĩa thực tiễn, có nhiều tiềm năng ứng dụng trong công nghiệp và nền sản xuất tự động hóa
- Ngoài ra, luận án cũng đã nghiên cứu hệ điều khiển số có kiến trúc mở (OAC - Open Architecture Controller) và dựa trên nền tảng mở để cài đặt và thử nghiệm các thuật toán nội suy mới Kết quả là đã phát triển được một phần mềm điều khiển số kiểu PC-based với khả năng nội suy các biên dạng tự do NURBS theo thời gian thực Phần mềm hoạt động trên nền tảng máy tính PC và có thể tích hợp với các hệ truyền động servo thông dụng để tạo thành một hệ thống điều khiển CNC hoàn chỉnh
5 Những kết quả đạt được và đóng góp mới của luận án
Những kết quả chính và cũng là những đóng góp mới của luận án như sau:
- Đã nghiên cứu những nguyên lý cơ bản của phương pháp nội suy theo thời gian thực các biên dạng tự do NURBS và nêu lên những ưu điểm nổi trội của phương pháp trong việc nâng cao chất lượng bề mặt chi tiết và năng suất gia công, đặc biệt là khi gia công với tốc độ tiến dao lớn
- Đã đề xuất được một phương pháp điều khiển tốc độ tiến dao khi thực hiện chuyển động nội suy theo biên dạng tự do NURBS Phương pháp đề xuất bao gồm hai bước: bước tiền xử lý đường NURBS (offline) và bước tính tốc độ tiến dao theo thời gian thực (online) Với phương pháp đề xuất, sai số nội suy được đảm bảo nằm trong giới hạn cho phép, đồng thời tốc độ tiến dao trong chuyển động nội suy được tự động điều chỉnh, phù hợp với các giới hạn động học của máy công cụ (về gia tốc tiếp tuyến và gia tốc hướng tâm)
- Đã phát triển được một phần mềm nội suy biên dạng tự do NURBS theo thời gian thực dựa trên hệ điều khiển số có kiến trúc mở Phần mềm hoạt động trên nền tảng máy tính PC (PC-based controller) và có thể tích hợp với các hệ truyền động servo thông dụng để tạo thành một hệ thống điều khiển CNC hoàn chỉnh
- Đã xây dựng được một hệ thống thiết bị để phục vụ cho các thử nghiệm trong thực
tế của phương pháp nội suy NURBS Hệ thống thiết bị gồm có máy phay CNC mini
3 trục NOVAMILL với phần điện và phần điều khiển số được thiết kế lại hoàn toàn theo hướng sử dụng máy tính PC làm bộ điều khiển trung tâm (PC-based)
- Đã gia công thử nghiệm được một số biên dạng phức tạp theo phương pháp nội suy NURBS, dựa trên hệ thống thiết bị được xây dựng trong luận án Các kết quả ghi nhận được trong quá trình gia công thực tế đã làm sáng rõ thêm các ưu điểm của phương pháp nội suy NURBS
6 Bố cục của luận án
Sau phần Mở đầu với các mục theo quy định, các nội dung nghiên cứu của luận án được trình bày trong 4 chương như sau:
Chương 1: Tổng quan
Trang 16Phần cuối cùng là Kết luận và Kiến nghị sẽ tổng kết các kết quả nghiên cứu của đề tài
và đề xuất một số hướng nghiên cứu tiếp theo
Trang 175
CHƯƠNG 1 TỔNG QUAN
1.1 Khái quát về hệ thống điều khiển số CNC và phương pháp nội suy NURBS
Cấu trúc bộ điều khiển số CNC
Các máy CNC là những sản phẩm cơ điện tử điển hình, có cấu tạo cơ bản gồm có máy công cụ với các thành phần cơ khí và hệ thống điều khiển số Mục đích khi phát triển các máy CNC là để gia công chính xác các chi tiết phức tạp Ban đầu hệ thống điều khiển số chủ yếu được áp dụng cho các máy phay (milling machines) và máy doa (boring machines) Sau
đó, việc ứng dụng công nghệ điều khiển số được mở rộng cho các loại máy công cụ khác, như máy tiện, máy tạo ren, trung tâm gia công, Hiện nay, công nghệ điều khiển số còn được ứng dụng cho cả các máy gia công phi truyền thống, như máy gia công tia lửa điện, máy cắt dây, máy cắt laser, máy cắt tia nước, máy cắt plasma, …, bên cạnh các máy gia công truyền thống [7, 11, 42]
Hình 1.1: Các thành phần cơ bản của hệ thống điều khiển số [42]
Cấu trúc cơ bản của hệ thống điều khiển số bao gồm ba thành phần chính, đó là:
- Thành phần giao diện người-máy, MMI (Man Machine Interface) Thành phần này
thực hiện chức năng giao diện giữa người và máy, tiếp nhận các thao tác điều khiển máy từ người vận hành, hiển thị thông tin trạng thái của máy, cũng như cung cấp các chức năng cho phép người vận hành nhập và chỉnh sửa các chương trình gia công NC
- Thành phần lõi điều khiển số, NCK (Numerical Control Kernel) Đây là thành phần
quan trọng nhất, quyết định chất lượng của một hệ điều khiển số Thành phần này thực hiện các chức năng cơ bản, như dịch các mã lệnh trong chương trình gia công (NC code interpreter), thực hiện các thuật toán nội suy (interpolator), điều khiển vị trí các trục máy (position control) và bù sai số (error compensation), … Tín hiệu từ
Trang 186
NCK được đưa tới hệ thống điều khiển truyền động để thực hiện các chuyển động chính xác của máy CNC
- Thành phần điều khiển logic, PLC (Programmable Logic Controller) Thành phần
này thực hiện các chức năng điều khiển logic trên máy, như điều khiển tuần tự quá trình thay dao tự động, thay phôi tự động, điều khiển tốc độ trục chính, điều khiển
hệ thống bôi trơn, làm mát, hệ thống đèn tín hiệu cảnh báo, chức năng dừng khẩn cấp E-STOP, …
Các thành phần của hệ thống điều khiển số được minh họa trên Hình 1.1
Trên Hình 1.2 minh họa luồng thông tin trong hệ thống điều khiển số CNC Chương
trình gia công NC khi truyền tới bộ điều khiển CNC được xử lý qua bộ dịch mã (interpreter)
Với các lệnh chuyển động nội suy (G01/G02/G03), bộ dịch mã sẽ trích xuất dữ liệu đường
dụng cụ và tốc độ tiến dao để gửi tới bộ nội suy Tại đây, bộ nội suy tính giá trị đặt cho các vòng điều khiển vị trí của các trục máy Các chức năng dịch mã, nội suy và điều khiển vị trí
thường được tích hợp trong phần lõi điều khiển số của bộ điều khiển CNC
Hình 1.2: Luồng thông tin trong hệ thống điều khiển số CNC
Tín hiệu ra từ module điều khiển vị trí thường là giá trị đặt tốc độ cho từng trục, và được đưa tới hệ thống truyền động servo để thực hiện chuyển động của máy công cụ Ban đầu, tín hiệu giá trị đặt tốc độ thường được truyền từ bộ điều khiển CNC tới hệ thống điều khiển truyền động dưới dạng điện áp tương tự (analog velocity command) Tuy nhiên, giải pháp này có nhược điểm là dễ bị nhiễu, dẫn tới yêu cầu phát triển các giao diện truyền thông số SERCOS là chuẩn truyền thông số phổ biến nhất được sử dụng cho mục đích giao tiếp giữa
hệ thống điều khiển số và hệ thống truyền động servo Các giao diện số có ưu điểm là có khả năng chống nhiễu tốt hơn, đồng thời có khả năng mang nhiều thông tin hơn, nên cho phép thực hiện các chức năng tiên tiến, như cài đặt tham số của hệ truyền động từ trên hệ thống điều khiển số, giám sát trạng thái hệ truyền động, …
Trang 197
Chức năng nội suy trên máy công cụ điều khiển số CNC
Các máy CNC thường có một số trục chuyển động thẳng hoặc tròn, được điều khiển vị
trí và tốc độ chính xác nhờ ứng dụng các loại động cơ servo và công nghệ điều khiển truyền động Các chuyển động trên máy CNC có thể chia thành hai dạng cơ bản: chuyển động điểm- điểm (point-to-point) và chuyển động nội suy (còn gọi là chuyển động theo quỹ đạo, contour
motion) Chuyển động điểm-điểm có chức năng đưa dụng cụ (hoặc phôi) tới vị trí công tác Trong chuyển động điểm-điểm, chỉ có vị trí cuối là quan trọng, các vị trí trung gian có thể thay đổi tùy theo thuật toán khác nhau Hình 1.3 minh họa hai phương án thực hiện chuyển động điểm-điểm từ vị trí A tới vị trí B được hỗ trợ trên các bộ điều khiển số của hãng Fanuc
Trong phương án 1, cả hai trục X và Y đều chuyển động với tốc độ chạy nhanh (rapid rate)
Do hành trình theo trục Y ngắn hơn hành trình theo trục X, nên chuyển động theo trục Y sẽ kết thúc trước tại vị trí trung gian C Sau đó trên đoạn từ C tới B chỉ còn chuyển động theo trục X Trong phương án 2, chuyển động được thực hiện theo đường thẳng từ A tới B Do hành trình theo trục Y ngắn hơn hành trình theo trục X nên chuyển động theo trục X được thực hiện với tốc độ chạy nhanh, còn chuyển động theo trục Y được thực hiện với tốc độ được điều chỉnh giảm đi theo tỉ lệ hành trình trên mỗi trục
Hình 1.3: Hai phương án thực hiện chuyển động điểm-điểm từ vị trí A tới vị trí B
Chuyển động nội suy là chuyển động phối hợp của một số trục máy, nhằm tạo ra chuyển
động tổng hợp của dụng cụ (so với phôi) bám theo một quỹ đạo xác định Khác với chuyển
động điểm-điểm, tốc độ của các trục máy trong chuyển động nội suy được phối hợp sao cho từng trục di chuyển đến vị trí đích trong cùng một khoảng thời gian Ngoài ra, sự phối hợp tốc độ của các trục máy còn phải tạo ra vector vận tốc tổng hợp của dụng cụ luôn có phương tiếp tuyến với quỹ đạo chuyển động, đồng thời có độ lớn được lập trình trong chương trình gia công NC Yêu cầu phải phối hợp tốc độ của các trục thành phần trong chuyển động nội suy được minh họa trên Hình 1.4 Để thực hiện chuyển động nội suy theo đường thẳng từ vị
trí A tới vị trí B với tốc độ tiến dao yêu cầu là V thì tốc độ của trục X là V , còn tốc độ của x
trục Y là V y Hai trục X và Y đồng thời chuyển động trong cùng một khoảng thời gian Trên các máy CNC 3 trục, chuyển động nội suy là chuyển động phối hợp của các trục vuông góc X, Y, Z Các máy CNC thông thường hỗ trợ hai dạng chuyển động nội suy cơ bản, đó là nội suy tuyến tính và nội suy cung tròn (Hình 1.5) Với dạng nội suy tuyến tính,
Trang 208
chuyển động của dụng cụ được thực hiện theo đường thẳng, với tọa độ điểm đầu, tọa độ điểm cuối và tốc độ tiến dao được xác định trong chương trình NC Với dạng nội suy cung tròn, chuyển động của dụng cụ bám theo một cung tròn có tọa độ tâm hoặc bán kính, cùng với tọa độ điểm đầu, tọa độ điểm cuối và tốc độ tiến dao xác định Ta có nhận xét rằng, mặc
dù trên các hệ thống điều khiển số CNC tiên tiến, nhưng các dạng chuyển động nội suy được
hỗ trợ vẫn là những chuyển động theo các biên dạng rất cơ bản (đường thẳng và cung tròn)
Hình 1.4: Phối hợp tốc độ của các trục thành phần trong chuyển động nội suy
Hình 1.5: Minh họa chuyển động nội suy tuyến tính và nội suy cung tròn
trên các hệ điều khiển số
Trong khi đó, các chuyển động tạo hình cần được thực hiện trên các máy công cụ CNC không chỉ gồm có chuyển động thẳng và chuyển động tròn Với các chuyển động tạo hình phức tạp hơn, thông thường đường dụng cụ được xấp xỉ thành chuỗi các đoạn thẳng hoặc cung tròn (như minh họa trên Hình 1.6), để phù hợp với khả năng thực hiện chuyển động nội suy của hệ thống điều khiển số
Trang 219
Hình 1.6: Xấp xỉ biên dạng phức tạp bằng chuỗi đoạn thẳng
Thành phần trên hệ thống điều khiển số thực hiện chức năng nội suy được gọi là bộ nội suy, và là thành phần rất quan trọng, quyết định tới độ chính xác và chất lượng của hệ thống
Các bộ nội suy có thể thực hiện bằng phần cứng hoặc phần mềm Trong giai đoạn đầu của công nghệ điều khiển số, bộ nội suy được thực hiện bằng phần cứng, với việc sử dụng các mạch tích phân DDA (Digital Differential Analyzer) [42] Hiện nay, các bộ nội suy thường được thực hiện bằng phần mềm, sử dụng các thuật toán khác nhau Theo [25, 27, 33, 42], các phương pháp thực hiện bộ nội suy (bằng phần mềm) có thể chia thành hai nhóm: các
phương pháp nội suy kiểu xung tham chiếu (reference pulse interpolator) và các phương pháp nội suy kiểu từ tham chiếu (reference word interpolator) Trong đó, phương pháp nội
suy kiểu từ tham chiếu là phương pháp phổ biến hơn trong các hệ thống điều khiển số hiện đại [42] Trong phương pháp nội suy kiểu từ tham chiếu, thuật toán nội suy được thực hiện
theo chu kỳ, gọi là chu kỳ nội suy
Hình 1.7: Biểu đồ hình thang (a) Tốc độ tiến dao; (b) Gia tốc tiếp tuyến;
(c) Biểu đồ hình thang suy biến thành biểu đồ tam giác
Trang 2210
Ngoài ra, cần lưu ý trong chuyển động nội suy không chỉ có vị trí của điểm công tác cần bám theo đường dụng cụ với độ chính xác nhất định, mà tốc độ và gia tốc của các trục
máy cũng phải được xem xét sao cho không vượt quá các giới hạn động học (kinematics
limits) của máy công cụ Do đó, các hệ thống điều khiển số thường phối hợp bộ nội suy với
chức năng điều khiển tăng tốc/giảm tốc (acceleration/decceleration control) Biểu đồ tốc độ hình thang (trapezoidal velocity profile) là dạng biểu đồ tốc độ thường được sử dụng trong
các hệ điều khiển chuyển động Trên Hình 1.7 minh họa biểu đồ tốc độ dạng hình thang, gồm có một khoảng thời gian tăng tốc, khoảng thời gian tốc độ bằng hằng số và khoảng thời gian giảm tốc Với một tốc độ yêu cầu là V max, chiều dài quãng đường cần phải đủ lớn thì biểu đồ hình thang mới có đầy đủ ba phần như vậy Trong trường hợp quãng đường dịch chuyển ngắn thì biểu đồ tốc độ dạng hình thang có thể mất đi phần tốc độ bằng hằng số và suy biến thành biểu đồ hình tam giác (như Hình 1.7(c))
Gia công CNC các chi tiết với biên dạng và bề mặt tự do
Hiện nay, nhu cầu gia công CNC các chi tiết phức tạp với các biên dạng và bề mặt tự
do (sculptured surface, free-form surface) xuất hiện ngày càng nhiều, đặc biệt trong một số ngành sản xuất như công nghiệp ô-tô, công nghiệp hàng không, tàu thủy, gia công khuôn mẫu, … Các bề mặt tự do được sử dụng trong các thiết kế nhằm tạo ra tính thẩm mỹ hoặc
do yêu cầu về tính năng của sản phẩm Trên các phần mềm CAD, bề mặt tự do thường được
biểu diễn dưới dạng tham số (parametric models), hoặc dạng dữ liệu tam giác hóa (tessellated
models) Sau khi được thiết kế trên phần mềm CAD, bề mặt tự do thường được đưa sang
phần mềm CAM để thực hiện công việc sinh đường dụng cụ (toolpath generation) Kết quả
của bước tính toán này là dữ liệu đường dụng cụ (Cutter Location Data), biểu diễn dưới dạng
mã lệnh G-code (hoặc mã lệnh APT), và có thể gửi tới máy CNC để thực hiện quá trình gia
công Dữ liệu đường dụng cụ do phần mềm CAM tính toán bao gồm hai khía cạnh: tô-pô và
độ phân giải Trong đó, dạng tô-pô mô tả chiến lược sử dụng một tập hợp các đường chạy
của dụng cụ để phủ hết một bề mặt Trên Hình 1.8 minh họa hai trong số rất nhiều dạng
tô-pô được sử dụng trên các phần mềm CAM hiện nay, đó là dạng zigzag (Hình 1.8(a)) và dạng contour (Hình 1.8(b)) Từ một dạng tô-pô xác định, bề mặt tự do được rời rạc hóa thành một
tập hợp các đường chạy của dụng cụ
Hình 1.8: Một số kiểu đường dụng cụ khi gia công bề mặt tự do trên máy công cụ CNC
(a) Kiểu zigzag; (b) Kiểu contour
Trang 2311
Tiếp theo, mỗi đường chạy lại được xấp xỉ bằng một chuỗi các đoạn thẳng Kích thước
và số lượng các đoạn thẳng được quyết định bởi bước tính (forward step) khi xấp xỉ Bước
tính và khoảng cách giữa hai đường chạy liên tiếp xác định độ phân giải của dữ liệu đường dụng cụ và có ảnh hưởng quyết định tới sai số khi gia công 3D các bề mặt tự do trên máy CNC (minh họa trên Hình 1.9)
Hình 1.9: Độ phân giải của dữ liệu đường dụng cụ
(a) Bước tính; (b) Khoảng cách giữa hai đường dụng cụ liên tiếp
Trong trường hợp gia công 2D và/hoặc 2.5D, dụng cụ có thể được yêu cầu chuyển động theo các biên dạng phức tạp (biên dạng tự do) Khi đó, biên dạng phức tạp thông thường cũng được xử lý trên phần mềm CAM để xấp xỉ bằng một chuỗi đoạn thẳng trước khi gia công trên máy CNC Sai số khi xấp xỉ một biên dạng phức tạp bằng chuỗi đoạn thẳng phụ thuộc vào giá trị bước tính được lựa chọn
Như vậy, các biên dạng và bề mặt tự do sau khi được thiết kế trên phần mềm CAD, thường phải được xấp xỉ bằng chuỗi đoạn thẳng thông qua các bước tính toán trên phần mềm CAM, trước khi được gia công trên máy CNC với mã lệnh G01 Đây là phương pháp đang
được sử dụng phổ biến hiện nay Tuy nhiên, phương pháp này (trong luận án gọi là phương pháp nội suy tuyến tính xấp xỉ) có một số nhược điểm quan trọng, đặc biệt là trong những
trường hợp gia công với tốc độ tiến dao lớn Các nhược điểm đó như sau:
Nhược điểm thứ nhất là kích thước chương trình gia công NC rất lớn
Để đạt được độ chính xác yêu cầu thì số lượng đoạn thẳng cần thiết để xấp xỉ đường dụng cụ thường rất lớn, dẫn tới kích thước chương trình gia công NC rất lớn Kích thước lớn của chương trình NC thường vượt quá khả năng lưu trữ của bộ nhớ trên các bộ điều khiển CNC, nên phải chia thành một số chương trình nhỏ hơn, hoặc sẽ phải lưu chương trình trên
bộ nhớ ngoài và sử dụng phương pháp DNC để tiếp tục truyền dữ liệu ngay trong lúc đang thực hiện một phần chương trình đã có trong bộ nhớ đệm của bộ điều khiển CNC Tuy nhiên, phương pháp DNC cũng có nhược điểm là khi các đoạn thẳng quá nhỏ và quá trình gia công
được thực hiện với tốc độ tiến dao lớn thì có thể xảy ra trường hợp máy CNC thực hiện xong
các lệnh trong bộ nhớ đệm trước khi các lệnh mới được gửi đến, dẫn tới có thời điểm máy
bị dừng do không còn lệnh trong bộ nhớ Điều này không những làm giảm năng suất gia công, mà còn ảnh hưởng tới chất lượng bề mặt chi tiết Ngoài ra, khi truyền chương trình
NC từ bộ nhớ ngoài tới bộ điều khiển CNC sẽ có xác suất xảy ra sai lệch dữ liệu trên đường truyền khi kích thước file rất lớn
Trang 2412
Nhược điểm thứ hai là không đạt được tốc độ tiến dao như yêu cầu trong chương trình gia công NC
Mỗi đoạn thẳng xấp xỉ được mã hóa thành một dòng lệnh (block) với mã G01 Trên bộ
điều khiển CNC, các mã lệnh G-code được thực hiện lần lượt theo từng dòng Với mỗi dòng lệnh đều phải thực hiện cơ chế điều khiển tăng tốc/giảm tốc, và việc này sẽ làm tăng thời
gian gia công Quá trình điều khiển tăng tốc/giảm tốc thường thực hiện theo biểu đồ hình thang Nếu chiều dài mỗi đoạn thẳng rất nhỏ (điều này thường xảy ra khi số lượng đoạn thẳng tăng lên), biểu đồ hình thang bị suy biến thành biểu đồ tam giác, tức là tốc độ tiến dao khi tăng tốc chưa đạt tới tốc độ yêu cầu thì đã bắt đầu phải giảm tốc để dừng lại chính xác tại vị trí cuối của đoạn thẳng Trong trường hợp như vậy, tốc độ tiến dao trung bình bị suy giảm đáng kể, và không thể đạt được tốc độ yêu cầu trong chương trình gia công NC Hiện tượng này càng trở nên quan trọng khi tốc độ yêu cầu trong chương trình có giá trị lớn, thậm chí nó chính là yếu tố cản trở việc thực hiện gia công CNC với tốc độ tiến dao lớn
Nhược điểm thứ ba là tốc độ tiến dao không ổn định
Mỗi đoạn thẳng xấp xỉ được xử lý bởi thuật toán nội suy tuyến tính Thuật toán nội suy hoạt động theo chu kỳ Trong một chu kỳ nội suy, thuật toán nội suy tính toán và gửi tín hiệu
đặt tới các vòng điều khiển vị trí của các trục máy dưới dạng các xung tham chiếu (reference pulses) hoặc từ nhị phân (binary word) [26] Nếu tốc độ là V và chu kỳ là T, thì bước dịch
chuyển của dụng cụ trong một chu kỳ là L VT Gọi L là chiều dài của một đoạn thẳng xấp xỉ Thế thì, để đi hết chiều dài L cần số chu kỳ tối thiểu là:
Trong (1.1), int(.) chỉ phép lấy phần nguyên Nếu chiều dài L không phải là một số
nguyên lần của L thì sau N chu kỳ nội suy, vẫn còn lại một phần dư Thông thường phần
dư này sẽ được thực hiện trong một chu kỳ nội suy tiếp theo nữa Tức là, đoạn thẳng với
chiều dài L sẽ được thực hiện trong (N+1) chu kỳ nội suy Trong đó, khoảng dịch chuyển trong chu kỳ cuối không đều, tùy thuộc vào khoảng chiều dài còn lại sau N chu kỳ đầu Hiện
tượng này làm cho tốc độ tiến dao không ổn định Nếu chiều dài của đoạn thẳng xấp xỉ không quá bé thì hiện tượng này không gây ảnh hưởng nghiêm trọng Nhưng khi chiều dài của mỗi
đoạn thẳng xấp xỉ rất bé (để tăng độ chính xác) thì hiện tượng này sẽ dẫn tới suy giảm chất lượng bề mặt chi tiết gia công [26, 34]
Nhược điểm thứ tư là khó theo dõi quá trình gia công
Chương trình gia công NC có kích thước rất lớn, nhưng chỉ mang thông tin về các đoạn thẳng xấp xỉ các biên dạng và bề mặt chi tiết Do đó, người vận hành máy rất khó theo dõi quá trình gia công khi quan sát các dòng lệnh với mã G01 được thực hiện trên máy công cụ điều khiển số
Các nhược điểm kể trên có nguồn gốc từ việc các bộ điều khiển CNC chỉ hỗ trợ các dạng chuyển động nội suy cơ bản là nội suy tuyến tính và nội suy cung tròn Chính vì vậy, một đường dụng cụ phức tạp phải xấp xỉ thành chuỗi các đoạn thẳng có chiều dài rất bé, để phù hợp với khả năng nội suy trên bộ điều khiển CNC Nhằm khắc phục các nhược điểm và
Trang 2513
cho phép gia công CNC với tốc độ tiến dao lớn và độ chính xác cao các chi tiết phức tạp với nhiều biên dạng và bề mặt tự do, nhiều nhà nghiên cứu trên thế giới đã tập trung vào việc đề
xuất các thuật toán nội suy theo thời gian thực các biên dạng tự do
Hình 1.10: Giao diện STEP-NC trên một bộ điều khiển CNC, cho phép xử lý
nhiều thông tin hơn của chi tiết gia công
Các biên dạng tự do thường được biểu diễn bằng các phương trình tham số Từ những năm 1950, các đường tham số (parametric curves) như Bezier, B-spline và NURBS đã được phát triển Trong đó, đường NURBS là tổng quát nhất, các loại đường Bezier và B-spline đều là những trường hợp đặc biệt của NURBS NURBS có nhiều ưu điểm, như có khả năng biểu diễn mạnh, có thể biểu diễn cả các biên dạng cơ bản (như đường tròn, e-lip, …) và các biên dạng tự do (free-form curves); các thuật toán xử lý có hiệu năng tốt và ổn định; linh hoạt trong biểu diễn các biên dạng phức tạp thông qua lựa chọn các điểm điều khiển, các trọng số và vector tham số nút, [36] NURBS được xem là công cụ biểu diễn tiêu chuẩn cho các đường và mặt tự do từ khoảng năm 1991 [28] Gần đây, ngôn ngữ lập trình máy công cụ mới STEP-NC được thiết kế nhằm thay thế cho ngôn ngữ G-code, với mục đích cung cấp nhiều thông tin hơn về quá trình gia công, cũng như về sản phẩm cho các bộ điều khiển CNC, thay vì chỉ cung cấp thông tin về chuyển động của các trục máy (Hình 1.10) Trong STEP-NC, NURBS cũng được lựa chọn như giao diện tiêu chuẩn cho trao đổi dữ liệu giữa các hệ thống CAD/CAM và bộ điều khiển CNC Chính vì thế, xu hướng chính hiện nay khi nghiên cứu đề xuất các thuật toán nội suy mới là sử dụng phương trình tham số NURBS làm công cụ biểu diễn các biên dạng tự do, và phát triển các thuật toán để nội suy theo thời gian thực các biên dạng NURBS Nội dung của luận án cũng nằm trong xu hướng này
Trang 2614
Phương pháp nội suy biên dạng tự do NURBS theo thời gian thực (nội suy NURBS)
Phương trình tham số NURBS (Non-Uniform Rational B-Spline) biểu diễn các biên
dạng tự do thông qua các thông số hình học gồm có: (n+1) điểm điều khiển (control points), (n+1) trọng số (weights), (m+1) tham số nút (knot values) và bậc p (degree), với điều kiện
1
m n p Thông qua điều chỉnh các thông số hình học, phương trình NURBS có khả năng biểu diễn các hình dạng rất phong phú, bao gồm các đường cơ bản (đường thẳng, đường tròn, các đường conic, ) và các dạng đường tự do (free-form curves)
Phương pháp nội suy NURBS có mục đích thực hiện các tính toán trong thời gian thực
để tổng hợp chuyển động của dụng cụ theo một biên dạng phức tạp mô tả bằng phương trình tham số NURBS Trong phương pháp này, ta sẽ không thực hiện trước một bước xấp xỉ trên phần mềm CAM để chuyển đổi biên dạng tự do thành chuỗi đoạn thẳng Thay vào đó, ta truyền trực tiếp các thông số NURBS (điểm điều khiển, trọng số, tham số nút và bậc) biểu diễn biên dạng tự do tới bộ điều khiển CNC, sau đó bộ điều khiển sẽ sử dụng các dữ liệu này
để tính toán và đưa ra tín hiệu điều khiển các trục máy Quá trình này cũng tương tự như khi
ta truyền thông số hình học của một đoạn thẳng (tọa độ điểm đầu, điểm cuối) tới thuật toán
(a) Phương pháp nội suy tuyến tính xấp xỉ
(b) Phương pháp nội suy NURBS
Hình 1.11: So sánh phương pháp nội suy tuyến tính xấp xỉ và phương pháp nội suy NURBS
Trang 27suy, sao cho thuật toán luôn được hoàn thành trước khi kết thúc chu kỳ nội suy, và kịp thời
cập nhật tín hiệu đưa tới các thiết bị chấp hành Hình 1.11 minh họa và so sánh phương pháp nội suy tuyến tính xấp xỉ (sử dụng phần mềm CAM) với phương pháp nội suy NURBS Phương pháp nội suy NURBS có thể khắc phục các nhược điểm đã trình bày trong mục 1.1.3 của phương pháp nội suy tuyến tính xấp xỉ vì những lý do sau:
- Đường NURBS biểu diễn đường dụng cụ trên một chiều dài lớn hơn nhiều so với mỗi đoạn thẳng xấp xỉ, do đó một đoạn đường NURBS sẽ thay thế cho rất nhiều đoạn thẳng, nhờ đó kích thước chương trình gia công NC sẽ giảm đi rất nhiều Trong phương pháp nội suy NURBS, chương trình gia công có thể đủ nhỏ để lưu trữ hoàn toàn trên bộ nhớ của bộ điều khiển CNC Trong trường hợp chương trình vẫn lớn
và phải sử dụng giải pháp truyền DNC, thì khả năng các lệnh trong bộ nhớ đã thực hiện hết mà chưa kịp nhận lệnh tiếp theo, dẫn tới chuyển động trên máy công cụ có thời điểm bị tạm dừng cũng khó xảy ra, do chiều dài lớn của đường NURBS so với các đoạn thẳng xấp xỉ
- Do chiều dài đường NURBS lớn hơn các đoạn thẳng xấp xỉ, hệ thống điều khiển số
có đủ hành trình để đưa tốc độ tiến dao tới giá trị yêu cầu trong chương trình NC, trước khi phải giảm tốc để dừng ở cuối đường NURBS Do đó, các hiện tượng suy giảm tốc độ, cũng như hiện tượng suy giảm chất lượng bề mặt chi tiết gia công do tốc độ không ổn định sẽ được hạn chế Đặc biệt, đặc điểm này rất quan trọng trong các trường hợp gia công với tốc độ tiến dao lớn
- Với phương pháp nội suy NURBS, hệ thống điều khiển số có thể thực hiện nhiều chức năng mới, tiên tiến, do trong khi thực hiện thuật toán nội suy NURBS, hệ thống
có thông tin về quãng đường dài hơn so với khi nội suy các đoạn thẳng xấp xỉ (hệ thống có khả năng “nhìn trước” - look ahead - xa hơn)
- Người vận hành máy có thể nhận biết được chuyển động của dụng cụ đang được thực hiện trên đoạn đường NURBS nào, nên sẽ thuận lợi hơn trong việc giám sát quá trình gia công
Một câu hỏi được đặt ra đó là làm sao để có dữ liệu mô tả đường dụng cụ biểu diễn dưới dạng phương trình tham số NURBS, để truyền tới các bộ điều khiển CNC với khả năng nội suy NURBS đã được tích hợp ? Mặc dù chưa phổ biến, một số phần mềm CAM hiện nay đã
hỗ trợ khả năng sinh dữ liệu đường dụng cụ theo định dạng NURBS Chẳng hạn, phần mềm
Catia V5 hỗ trợ khả năng này cho một số nguyên công như phay contour (profile contouring), phay mặt theo chế độ iso-parametric, phay theo biên dạng (curve machining), Ngoài ra, một phương án khác cũng được các nhà nghiên cứu đặt ra, đó là hậu xử lý (post-processor)
chương trình NC do các phần mềm CAM thông dụng tạo ra, và sử dụng các thuật toán xấp
xỉ (NURBS curve fitting) để gộp một số lượng đoạn thẳng lại thành một đường NURBS tùy theo yêu cầu về sai số cho phép Một số nghiên cứu theo hướng này đã cho kết quả khả quan,
Trang 2816
như [48, 50] Trên Hình 1.12 là giao diện phần mềm chuyển đổi từ chương trình NC do các phần mềm CAM thông dụng tạo ra (sử dụng mã G01) thành chương trình NC sử dụng định dạng NURBS được công bố trong bài báo [50]
Hình 1.12: Giao diện phần mềm chuyển đổi từ chương trình NC do phần mềm CAM thông dụng
tạo ra (với mã G1) thành chương trình NC sử dụng định dạng NURBS được công bố trong [50]
1.2 Tổng quan tình hình nghiên cứu phương pháp nội suy biên dạng tự do NURBS theo thời gian thực trên các hệ thống điều khiển số CNC
Tổng quan tình hình nghiên cứu trong nước
Các công nghệ CAD/CAM/CNC đã được ứng dụng trong nền sản xuất của nước ta từ khá lâu Do những hiệu quả mà các công nghệ này mang lại, nên các vấn đề thuộc lĩnh vực CAD/CAM/CNC luôn được quan tâm và theo dõi Cũng đã có một số luận án tiến sĩ được
thực hiện trong lĩnh vực này Một số đề tài luận án đã nghiên cứu về chế độ cắt trên máy
CNC, như [5, 9, 10] Đề tài luận án [6] nghiên cứu về ứng dụng công nghệ CAD/CAM trong tạo hình bề mặt các bánh răng côn răng cong - một dạng chi tiết quan trọng trong ngành Cơ
khí Đề tài luận án [14] thì đã nghiên cứu vấn đề tính toán đường dụng cụ trong tạo hình bề mặt, cũng như vấn đề mài mòn dụng cụ cắt (cho trường hợp dao phay đầu bằng) khi gia công
khuôn mẫu trên máy phay CNC Nhằm nâng cao khả năng công nghệ của máy công cụ điều
khiển số, đề tài luận án [12] đã đề xuất một mô hình điều khiển thích nghi dựa trên việc giám
sát lực cắt để tự động hiệu chỉnh tham số công nghệ (cụ thể là lượng chạy dao) khi gia công
trên máy CNC Có thể nhận xét rằng các đề tài kể trên thuộc nhóm các đề tài nghiên cứu ứng dụng công nghệ CNC, và chưa đề cập tới các thuật toán tiên tiến bên trong hệ thống điều
khiển số
Chức năng nội suy NURBS được đề cập tới trong bài báo [4] Trong bài báo này các
tác giả đã sử dụng đường NURBS để xử lý trơn láng đường chạy dao Cụ thể, các tác giả đã
sử dụng đường NURBS bậc 3 để tạo đường chạy dao chuyển tiếp, kết nối hai đường chạy
Trang 2917
dao gia công không liên tục thành đường chạy dao trơn láng Nội dung nghiên cứu của bài báo đề cập tới việc ứng dụng hệ điều khiển số có trang bị chức năng nội suy NURBS, và đã gợi mở một hướng ứng dụng chức năng nội suy NURBS trong việc “đảm bảo ổn định động lực học, chất lượng và năng suất cho quá trình gia công tốc độ cao” [4] Ngoài ra, cũng đã
có một số nghiên cứu khác về ứng dụng chức năng nội suy NURBS trong gia công các bề mặt chi tiết phức tạp, chẳng hạn [8] Tuy nhiên, các nghiên cứu này đều chưa đi sâu vào bản chất và các vấn đề phức tạp của thuật toán nội suy NURBS
Cũng quan tâm tới vấn đề “gia công các quỹ đạo phức hợp”, bài báo [13] đã xem xét việc thực hiện quỹ đạo gia công trên robot hàn, với minh họa cho trường hợp quỹ đạo gia công là giao tuyến giữa mặt trụ và mặt nón Nội dung bài báo [13] về cơ bản chưa đề cập tới vấn đề nội suy theo thời gian thực các biên dạng phức tạp trên các máy CNC
Nhìn chung, có thể đánh giá rằng các nghiên cứu trong nước đã đề cập tới nhiều khía cạnh khác nhau của việc ứng dụng công nghệ CAD/CAM/CNC, hoặc ứng dụng chức năng nội suy NURBS Nhưng vẫn chưa có nhiều kết quả nghiên cứu được công bố liên quan tới các thuật toán để thực hiện chức năng nội suy NURBS, cũng như các thuật toán tiên tiến khác bên trong hệ thống điều khiển số CNC
Tổng quan tình hình nghiên cứu trên thế giới
Phương pháp nội suy biên dạng tự do NURBS theo thời gian thực đã thu hút sự quan
tâm của rất nhiều nhà nghiên cứu trên thế giới Gọi u là tham số độc lập trong phương trình
NURBS biểu diễn một biên dạng tự do, mỗi vị trí trên đường NURBS đều tương ứng với
một giá trị xác định của tham số u Do đó, các thuật toán nội suy biên dạng tự do NURBS trước hết đều cần phải tính giá trị của tham số u trong mỗi chu kỳ nội suy Trong công trình
nghiên cứu [15], Bedi và cộng sự đã đề xuất thuật toán nội suy đường B-spline (trường hợp
riêng của đường NURBS), trong đó giá trị tham số u được tăng đều sau mỗi chu kỳ, hay nói cách khác bước tham số (parametric step size) được giữ là hằng số Đây là thuật toán nội suy
đơn giản, vì không đòi hỏi phải thực hiện các phép tính đạo hàm phức tạp Tuy nhiên, do không có mối liên hệ giữa bước tham số và biến thời gian nên phương pháp này không có khả năng xử lý tốc độ tiến dao Vì vậy, trong trường hợp các biên dạng cần nội suy rất phức tạp thì tốc độ tiến dao có thể dao động lớn, gây ra ảnh hưởng xấu đối với chất lượng bề mặt chi tiết gia công cũng như tới tuổi thọ của máy và dụng cụ cắt
Shpitalni, Koren và Lo trong bài báo [39] đã nghiên cứu vấn đề nội suy theo thời gian thực một đường cong tổng quát Các tác giả này đã đề xuất các thuật toán nội suy cho trường
hợp đường cong được biểu diễn dưới dạng ẩn và dạng tham số, trong đó dạng tham số được
chỉ ra là có nhiều ưu điểm hơn so với dạng ẩn Với thuật toán nội suy đường cong tham số,
Shpitalni, Koren và Lo nêu quan điểm rằng, bước dịch chuyển của dụng cụ trong một chu
kỳ nội suy cần phải được giữ ổn định, chứ không phải bước tham số được giữ ổn định Khi bước dịch chuyển của dụng cụ trong một chu kỳ được giữ ổn định thì tốc độ tiến dao sẽ được giữ ổn định Phương pháp của Shpitalni, Koren và Lo là sử dụng phép xấp xỉ Taylor bậc
nhất hoặc bậc hai để xây dựng công thức truy hồi tính giá trị tham số u Trong trường hợp
chu kỳ nội suy nhỏ và đường cong không có những vị trí mà bán kính cong rất bé thì chỉ cần
sử dụng phép xấp xỉ Taylor bậc nhất [39] Tốc độ tiến dao trong thuật toán của Shpitalni, Koren và Lo được giữ không đổi và lấy từ giá trị yêu cầu trong chương trình gia công NC
Trang 30đa thức, nên việc tính đạo hàm tương đối đơn giản
Một số tác giả đã tiếp nối ý tưởng sử dụng phép xấp xỉ Taylor khi xây dựng công thức
cập nhật giá trị tham số u và quan tâm tới việc giảm sai lệch giá trị tham số do việc xấp xỉ
gây ra Yeh và Hsu trong bài báo [51] đã sử dụng phép xấp xỉ Taylor bậc nhất để xây dựng
công thức cập nhật giá trị tham số u, và đề xuất một phương pháp để tính giá trị bù sai lệch
của phép xấp xỉ bậc nhất Các kết quả mô phỏng cho thấy phương pháp của Yeh và Hsu giữ được tốc độ tiến dao ổn định hơn so với khi chỉ sử dụng phép xấp xỉ Taylor bậc nhất hoặc bậc hai Tuy nhiên, phương pháp của Yeh và Hsu có nhược điểm là khá phức tạp, và chỉ thuận lợi trong những trường hợp đường cong có bán kính cong không quá bé
Các bài báo [17] và [44] đã trình bày thuật toán nội suy NURBS sử dụng phương pháp tính lặp (PCI, Predictor-Corrector Interpolator), trong đó từ một giá trị ước lượng ban đầu
(predictor), giá trị tham số u được hiệu chỉnh (corrector) cho tới khi sai lệch giữa giá trị tính
toán của tốc độ tiến dao và giá trị yêu cầu trong chương trình gia công nằm trong giới hạn cho phép Phương pháp tính lặp có ưu điểm trong việc giảm sai lệch tốc độ tiến dao, nhưng lại có nhược điểm là tốc độ hội tụ không ổn định và thường đòi hỏi thời gian tính toán lâu hơn so với các phương pháp sử dụng phép xấp xỉ Taylor Ngoài ra, trong bài báo [17], Cheng
và các cộng sự đã so sánh các thuật toán nội suy NURBS được xây dựng theo các phương xấp xỉ Taylor bậc nhất, xấp xỉ Taylor bậc hai và phương pháp tính lặp, và đưa ra nhận xét rằng phương pháp xấp xỉ Taylor bậc hai là sự lựa chọn thích hợp, do có thể dung hòa giữa mức độ chính xác và tốc độ tính toán
Erkorkmaz và Altintas trong bài báo [23] đã nghiên cứu trường hợp nội suy đường
B-spline bậc 5, và đưa ra khái niệm đa thức điều chỉnh tốc độ (feed correction polynomial) để xấp xỉ quan hệ phi tuyến giữa giá trị tham số u và chiều dài của đường B-spline Đa thức
điều chỉnh tốc độ là một đa thức bậc 7 được xác định theo phương pháp bình phương tối thiểu, dựa trên một tập dữ liệu giá trị tham số và chiều dài tương ứng (tính xấp xỉ theo phương pháp số), và được sử dụng trong thuật toán nội suy để ước lượng chính xác giá trị tham số theo bước dịch chuyển của dụng cụ trong chu kỳ Cũng có ý tưởng tương tự, Lei và cộng sự
trong bài báo [29] đã xấp xỉ quan hệ giữa tham số u và chiều dài đường NURRBS bằng một tập hợp các hàm ILF (Inverse Length Functions) Mỗi hàm ILF là một đa thức Hermite bậc
3 mô tả quan hệ giữa tham số và chiều dài đường NURBS trong một khoảng tham số Số
lượng hàm ILF cho một đường NURBS phụ thuộc vào quá trình tính chiều dài theo phương pháp Simpson thích nghi [29] Phương pháp của Lei và cộng sự có ưu điểm là các hàm ILF được tính offline từ trước, nên thuật toán nội suy NURBS trở nên đơn giản, vì không phải
tính đạo hàm của đường NURBS trong mỗi chu kỳ Tuy nhiên, dữ liệu các hàm ILF có thể tương đối lớn, gây khó khăn cho việc lưu trữ và xử lý
Các nghiên cứu kể trên chủ yếu tập trung vào phương pháp tính giá trị tham số u của đường NURBS theo thời gian thực, để từ giá trị tham số u xác định được tọa độ điểm nội suy Một số vấn đề quan trọng khác như giới hạn sai số nội suy, và đảm bảo khả năng động
học của máy công cụ chưa được xem xét Yeh và Hsu trong bài báo [52] đã lần đầu tiên đặt
ra vấn đề giới hạn sai số khi nội suy đường NURBS theo thời gian thực, và đưa ra phương
Trang 3119
pháp điều chỉnh thích nghi tốc độ tiến dao (adaptive feedrate interpolation) tại các vị trí có
độ cong lớn (tức là có bán kính cong nhỏ) trên đường NURBS Phương pháp của Yeh và Hsu dựa trên việc thiết lập được biểu thức xấp xỉ thể hiện quan hệ giữa sai số dây cung với tốc độ tiến dao và độ cong tại một vị trí trên đường NURBS Đây là một công bố rất quan trọng, và được trích dẫn nhiều trong các công trình nghiên cứu về sau Ý nghĩa của nó là đã nêu lên vấn đề: tốc độ tiến dao không nên được giữ không thay đổi trong suốt quá trình nội
suy một đường NURBS, việc điều chỉnh tốc độ tiến dao online trong quá trình nội suy có
thể mang đến những khả năng mới cho phương pháp nội suy NURBS so với phương pháp nội suy tuyến tính xấp xỉ Đồng thời, công thức điều chỉnh tốc độ tiến dao theo độ cong nhằm giới hạn sai số nội suy mà Yeh và Hsu trình bày trong bài báo [52] cũng được kế thừa trong nhiều công trình nghiên cứu khác Tiếp nối Yeh và Hsu, Tikhon và cộng sự đã sử dụng ý
tưởng điều chỉnh thích nghi tốc độ tiến dao để đưa ra thuật toán làm ổn định tốc độ bóc tách vật liệu khi nội suy đường NURBS theo thời gian thực, qua đó gián tiếp làm ổn định lực cắt
[43] Choi và cộng sự thì đã xem xét khả năng điều chỉnh thích nghi tốc độ tiến dao nhằm nâng cao chất lượng bề mặt chi tiết gia công [18] Tuy các kết quả nghiên cứu này rất thú vị, nhưng vẫn có hạn chế là chưa xét tới khả năng động học của máy Chẳng hạn, phương pháp của Yeh và Hsu trình bày trong [52] thực hiện giảm tốc độ tiến dao tại các vị trí có độ cong lớn để giới hạn sai số nội suy, nhưng nếu độ cong thay đổi quá nhanh, thì việc điều chỉnh giảm tốc độ cũng diễn ra đột ngột, dẫn tới vượt quá khả năng gia tốc của máy công cụ Một vấn đề quan trọng trong khi thực hiện chuyển động nội suy là vấn đề điều khiển tăng tốc/giảm tốc: tốc độ tiến dao cần phải được điều khiển tăng dần (với giá trị gia tốc bị giới hạn) khi bắt đầu vào đường NURBS và giảm dần ở cuối đường NURBS Cheng và Tsai trong bài báo [16] đã thực hiện điều khiển tăng tốc/giảm tốc trước nội suy (ADCBI - Accelleration/Deccelleration Control Before Interpolation), qua đó đảm bảo khả năng động học của máy khi tăng tốc/giảm tốc ở đầu và cuối đường NURBS Cấu trúc bộ nội suy đường
NURBS của Cheng và Tsai bao gồm hai phần: phần xử lý offline và phần xử lý thời gian
thực, như trên Hình 1.13 Trong phần xử lý offline, chiều dài đường NURBS được tính xấp
xỉ theo phương pháp số Dựa trên dữ liệu chiều dài đường NURBS đã có, biểu đồ tốc độ tiến dao được lên kế hoạch từ trước khi bắt đầu thực hiện thuật toán nội suy theo thời gian thực Các biểu đồ tốc độ tiến dao được xem xét trong bài báo [16] bao gồm: biểu đồ hình thang,
biểu đồ hình chuông và biểu đồ hàm mũ Trong phần xử lý thời gian thực, tham số u được
cập nhật sau mỗi chu kỳ theo công thức xây dựng từ phép xấp xỉ Taylor Từ giá trị tham số
Hình 1.13: Cấu trúc bộ nội suy NURBS trong [16]
Trang 3220
u, tọa độ điểm nội suy mới được tính và gửi tới hệ truyền động của các trục máy Tốc độ tiến
dao trong bài báo [16] không được xem là hằng số, mà đã được xử lý như một hàm của biến
thời gian t Do đó, công thức cập nhật tham số u cho kết quả chính xác hơn khi đang tăng
tốc hoặc giảm tốc Tuy nhiên, kết quả nghiên cứu của Cheng và Tsai vẫn có nhược điểm là các biểu đồ tốc độ tiến dao không xét tới sự biến đổi độ cong trên biên dạng đường NURBS,
và không điều chỉnh được trong khi đang thực hiện thuật toán nội suy theo thời gian thực Yong và Narayanaswami trong bài báo [53] đã xem xét vấn đề giới hạn gia tốc tiếp tuyến khi điều chỉnh giảm tốc độ tiến dao nhằm giữ sai số nội suy không vượt quá một giá
trị cho phép Phương pháp được đề xuất là sử dụng một bước tiền xử lý đường NURBS để
xác định các vị trí cần bắt đầu giảm tốc và vị trí bắt đầu tăng tốc trở lại khi đi qua các đoạn
có độ cong lớn Bước tiền xử lý của Yong và Narayanaswami lại bao gồm hai bước con Trong bước con thứ nhất, đường NURBS được “quét” từ vị trí đầu tới vị trí cuối cùng và tốc
độ tiến dao cho phép tại mỗi vị trí được xác định từ điều kiện giới hạn sai số nội suy (như trình bày trong bài báo của Yeh và Hsu [52]) Sau đó, các vị trí liên tiếp có tốc độ tiến dao cho phép giảm dần rồi tăng dần được lưu lại trong một cấu trúc dữ liệu dạng ma trận Mỗi
ma trận như vậy tương ứng với một vùng có độ cong lớn trên đường NURBS mà tốc độ tiến dao cần phải điều chỉnh giảm nhỏ hơn giá trị yêu cầu trong chương trình gia công NC Trong bước con thứ hai, mỗi ma trận tìm được từ bước con thứ nhất được xử lý để xác định điểm bắt đầu giảm tốc và điểm bắt đầu tăng tốc trở lại Các kết quả mô phỏng cho thấy phương pháp của Yong và Narayanaswami có thể giới hạn được sai số nội suy và gia tốc tiếp tuyến Tuy nhiên, nhược điểm của phương pháp này là thuật toán tương đối phức tạp và chưa đề cập tới vấn đề điều khiển tăng tốc/giảm tốc khi bắt đầu và kết thúc đường NURBS, cũng như vấn đề giới hạn gia tốc hướng tâm
Một số công trình nghiên cứu, chẳng hạn [20–22, 45, 47] đã đề xuất sử dụng kỹ thuật
look-ahead để giải quyết đồng thời vấn đề giới hạn sai số nội suy và đảm bảo các giới hạn
động học của máy Trong đó, phương pháp được Du và các cộng sự trình bày trong [20, 21]
là tường minh hơn cả Ý tưởng của các phương pháp này là luôn duy trì một khoảng vượt trước so với vị trí điểm nội suy hiện tại trên đường NURBS, và trong khoảng vượt trước, tốc
độ tiến dao cho phép được tính toán và lưu trong một vùng nhớ đệm (memory buffer) Chiều dài khoảng vượt trước được xác định từ điều kiện tốc độ tiến dao có thể thay đổi từ tốc độ yêu cầu V max về 0 mà không vi phạm điều kiện giới hạn về gia tốc tiếp tuyến Sau mỗi chu
kỳ nội suy, tọa độ điểm nội suy được cập nhật, đồng thời khoảng vượt trước cũng được cập nhật Mỗi khi một vị trí mới được cập nhật vào trong khoảng vượt trước thì tốc độ tiến dao cho phép tại đó được phân tích Nếu tốc độ tiến dao cho phép tại vị trí mới giảm quá nhanh
so với tốc độ tại điểm cuối cùng được lưu trong vùng nhớ đệm thì một quá trình tính lùi
(trace back) được thực hiện để tìm ra một điểm đứng trước, sao cho nếu bắt đầu giảm tốc từ điểm đó thì có thể đưa tốc độ tiến dao tới giá trị cho phép tại vị trí mới mà gia tốc tiếp tuyến không vượt quá giá trị giới hạn Từ vị trí cần bắt đầu giảm tốc tới vị trí mới, tốc độ tiến dao cho phép được tính toán lại và cập nhật lại vào trong vùng nhớ đệm Hình 1.14 minh họa phương pháp tính tốc độ tiến dao trong khoảng vượt trước được trình bày trong bài báo [20] Trên Hình 1.14, [0]P là tọa độ điểm nội suy hiện tại và
2 ,2
max min
t max
V S
A
là độ dài của khoảng vượt trước [ ]Pn là điểm được cập nhật cuối cùng trong khoảng vượt trước Khi tốc độ tiến
Trang 33quãng đường cần thiết để tốc độ tiến dao có thể thay đổi từ giá trị yêu cầu V max tới V N
Hình 1.14: Biểu đồ tốc độ tại vị trí xung đột trình bày trong [20]
Kết quả trình bày trong [20] là tương đối rõ ràng, và cho thấy nhiều tiềm năng trong việc ứng dụng thực tế Tuy nhiên, việc duy trì một khoảng tính trước đòi hỏi hệ vi xử lý phải
có khả năng tính toán mạnh Ngoài ra, phương pháp trình bày trong [20] cũng chưa đề cập tới vấn đề điều khiển tăng tốc/giảm tốc khi bắt đầu và kết thúc đường NURBS, và vấn đề giới hạn gia tốc hướng tâm
Nhìn chung, các nghiên cứu về phương pháp nội suy đường NURBS theo thời gian thực
đã tập trung giải quyết các vấn đề khó khăn nằm trong hai khía cạnh chính, đó là tính tham
số u và điều khiển tốc độ tiến dao Vấn đề tính tọa độ điểm nội suy từ giá trị tham số u thì
hầu hết các nghiên cứu đều dựa trên thuật toán DeBoor, do ưu điểm về tính ổn định và hiệu năng tốt của thuật toán Để dễ đưa ra định hướng nghiên cứu cho luận án, NCS đề xuất chia
các phương pháp đã được công bố thành hai nhóm: nhóm phương pháp cơ bản và nhóm phương pháp tiên tiến Trong đó, tiêu chí để xem một phương pháp thuộc nhóm tiên tiến là
phải xét tới các yêu cầu điều khiển tốc độ tiến dao, giới hạn sai số nội suy và đảm bảo các điều kiện động học của máy (chẳng hạn, gia tốc tiếp tuyến và gia tốc hướng tâm bị giới hạn,
…) Theo tiêu chí này thì các phương pháp trình bày trong [20–22, 45, 47, 53] được xếp vào nhóm các phương pháp tiên tiến Nhóm các phương pháp tiên tiến có mức độ phức tạp cao hơn so với nhóm các phương pháp cơ bản, tuy nhiên các vấn đề được đặt ra và giải quyết toàn diện hơn, do đó đã gần với thực tiễn hơn Hai xu hướng chính của việc điều khiển tốc
độ tiến dao ở nhóm các phương pháp tiên tiến là sử dụng một bước tiền xử lý để phân tích trước biên dạng tự do NURBS và sử dụng kỹ thuật look-ahead Các xu hướng này vẫn cần phải được nghiên cứu kỹ lưỡng hơn Trên Hình 1.15 là tổng hợp các kết quả nghiên cứu
Trang 3422
quan trọng nhất đã được công bố về phương pháp nội suy đường NURBS theo thời gian thực
Hình 1.15: Tổng hợp các kết quả nghiên cứu về phương pháp nội suy
biên dạng tự do NURBS theo thời gian thực
Về phía các hãng công nghệ, họ cũng đã có những nghiên cứu về phương pháp nội suy các đường tham số nói chung, và nội suy đường NURBS nói riêng, từ khá lâu Chẳng hạn, hãng Fanuc đã đăng ký một bằng sáng chế về giải pháp nội suy các biên dạng tự do từ năm
1998 [35] Trong bằng sáng chế này, họ đã đưa ra mã lệnh G06.2 để mô tả chức năng nội suy NURBS Ngoài hãng Fanuc, chức năng nội suy các đường tham số hoặc đường NURBS cũng đã xuất hiện trên một số sản phẩm bộ điều khiển CNC thương mại cao cấp nhất của một số hãng hàng đầu, như Siemens, Mitsubishi, … Bảng 1.1 tóm tắt các sản phẩm bộ điều khiển CNC của các hãng có hỗ trợ các chức năng nội suy tiên tiến này Tuy nhiên, chi tiết
về cách thức thực hiện các thuật toán nội suy tham số trên các bộ điều khiển thương mại của
Bảng 1.1: Chức năng nội suy đường NURBS trên các bộ điều khiển CNC thương mại [42]
các hãng thì không được công bố rõ ràng Do đó, các nghiên cứu về phương pháp nội suy các biên dạng tự do NURBS vẫn đang thu hút sự quan tâm lớn của các nhà nghiên cứu trên
Trang 35- Nhìn chung có thể đánh giá rằng các phương pháp nội suy NURBS đã được công
bố, mỗi phương pháp đều có những ưu điểm, nhưng vẫn còn những nhược điểm cần phải được cải tiến Hơn nữa, các công bố đều rất cô đọng và không đề cập nhiều đến các chi tiết của việc thực hiện các thuật toán nội suy NURBS trên một hệ thống cụ thể Các hệ thống thử nghiệm thuật toán nội suy NURBS trong các công bố thường
là các hệ DSP được thiết kế chuyên biệt cho mục đích thử nghiệm thuật toán, mà chưa xem xét tới vấn đề tích hợp thuật toán trong một hệ điều khiển số với đầy đủ tính năng Điều này khiến cho các kết quả nghiên cứu này vẫn còn có khó khăn khi đưa vào ứng dụng
- Các vấn đề còn tồn tại chủ yếu thuộc nhóm các phương pháp tiên tiến, trong đó đòi hỏi việc thực hiện thuật toán nội suy phải được đặt song song với một giải pháp điều khiển tốc độ tiến dao thích hợp
Nội dung luận án nhằm giải quyết các vấn đề cụ thể sau đây:
1 Nghiên cứu đề xuất phương pháp nội suy theo thời gian thực các biên dạng tự do NURBS với các yêu cầu:
- Giới hạn được sai số nội suy;
- Giới hạn được gia tốc tiếp tuyến và gia tốc hướng tâm, để phù hợp với khả năng của các hệ truyền động của các trục máy;
- Có giải pháp để tự động điều chỉnh tốc độ tiến dao theo thời gian thực trên toàn bộ chiều dài đường NURBS, từ điểm đầu tới điểm cuối
- Có giải pháp thực hiện biểu đồ tốc độ tiến dao “mềm”, tức là có khoảng thời gian tăng tốc ở đầu đường NURBS, và khoảng thời gian giảm tốc ở cuối đường NURBS
2 Phát triển và cài đặt thuật toán nội suy các biên dạng tự do NURBS trên một hệ thống thiết bị và phần mềm cụ thể Hướng tiếp cận đối với vấn đề này là nghiên cứu và tìm giải pháp tích hợp thuật toán dựa trên các hệ thống điều khiển số có kiến trúc mở
3 Làm sáng tỏ các vấn đề liên quan tới phương pháp nội suy NURBS thông qua các kết quả mô phỏng và kết quả thực nghiệm trên hệ thống thiết bị và phần mềm cụ thể
Trang 36và mặt trong các hệ CAD/CAM sử dụng phương trình tham số NURBS, làm tiền đề cho các nội dung trình bày trong các chương tiếp theo của luận án
0 , ,
i i i
i i
i p i
Các nút có thể lặp lại, khi đó ta có nút bội Ngược lại ta có nút đơn
Trên các Hình 2.1, Hình 2.2, Hình 2.3 minh họa các hàm cơ sở B-spline không suy biến (không đồng nhất bằng 0) bậc 1, bậc 2 và bậc 3
Các hàm cơ sở B-spline có một số tính chất như sau [36]:
- Trên từng khoảng tham số nút có độ dài khác 0, hàm cơ sở B-spline N i p, ( )u là một
đa thức bậc p của tham số u (tính chất đa thức từng đoạn)
- Tính chất không âm: N i p, ( )u 0, i p u, ,
- Tính chất điều chỉnh cục bộ: N i p, ( )u 0 , u [ ,u u i i p 1]
- Trong mọi khoảng [ ,u u i i1) chỉ có nhiều nhất (p+1) hàm cơ sở B-spline khác 0, là
các hàm N i p p , ( ), ,u N i p, ( )u
Trang 3725
Hình 2.1: Các hàm cơ sở B-spline bậc 1 với vector tham số nút U={0,0,1,2,3,4,4}
Hình 2.2: Các hàm cơ sở B-spline bậc 2 với vector tham số nút U={0,0,0,1,2,3,4,4,4}
Hình 2.3: Các hàm cơ sở B-spline bậc 3 với vector tham số nút U={0,0,0,0,1,2,3,4,4,4,4}
Trang 38N u có đạo hàm liên tục tới cấp (p-s), với s là hệ số bội của nút
Định nghĩa đường NURBS
Đường NURBS được định nghĩa dựa trên bậc (degree), các điểm điều khiển (control points), các trọng số (weights) và tham số nút (knot values) Cụ thể, phương trình đường NURBS bậc p với tham số u trong không gian 3D được định nghĩa như sau [36]:
, 0
n
i p i i
Số lượng tham số nút là (m+1), số lượng điểm điều khiển là (n+1) Từ (2.3) ta có nhận
xét m n p 1 Ngoài ra, vector tham số nút U có (p+1) phần tử đầu tiên và (p+1) phần
tử cuối có giá trị lặp lại Đặc điểm này của vector tham số nút làm cho đường NURBS đi qua điểm điều khiển đầu tiên P0 và điểm điều khiển cuối cùng P Các phần tử của vector n
tham số nút có giá trị tăng dần và chia miền giá trị của tham số u thành các đoạn nút (knot
span)
Hình 2.4: Minh họa việc hình thành đường NURBS
Trang 3927
Theo tính chất của các hàm cơ sở B-spline, trên mỗi đoạn nút có đúng (p+1) hàm cơ sở B-spline có giá trị khác 0, nên cũng chỉ có đúng (p+1) điểm điều khiển tham gia vào việc hình thành đường NURBS Mỗi khi tham số u chuyển sang một đoạn nút mới, một điểm
điều khiển mới bắt đầu có ảnh hưởng, đồng thời một điểm điều khiển khác kết thúc ảnh hưởng của nó tới đường NURBS Hình 2.4 minh họa việc hình thành đường NURBS từ giá
trị của tham số u, cũng như các tham số nút, điểm điều khiển và trọng số
, 0
( )( )
( )
i p i
i p i i
n
i p i i
R u được gọi là hàm cơ sở, hay hàm trộn, của đường NURBS Từ (2.4) ta có nhận
xét tọa độ một điểm nằm trên đường NURBS là tổ hợp tuyến tính của tọa độ các điểm điều khiển, trong đó hệ số của mỗi điểm điều khiển chính là giá trị của hàm cơ sở R i p, ( )u Hàm
cơ sở R i p, ( )u có đặc điểm là hàm phân thức trên từng đoạn nút
Các điểm điều khiển là công cụ để hiệu chỉnh hình dạng của đường NURBS Khi thay đổi vị trí của một điểm điều khiển sẽ làm thay đổi một phần đường NURBS nằm trong phạm
vi ảnh hưởng của điểm điều khiển đó (tính chất điều chỉnh cục bộ) Đây là tính chất có ý
nghĩa rất quan trọng đối với các kỹ sư thiết kế, vì họ có thể giữ những phần đường NURBS
đã được thiết kế tốt, trong khi tiếp tục điều chỉnh những phần còn chưa hoàn chỉnh
Hình 2.5: Điều chỉnh hình dạng đường NURBS thông qua điểm điều khiển và trọng số
Ngoài tọa độ điểm điều khiển, giá trị trọng số có tác dụng làm thay đổi mức độ ảnh hưởng của điểm điều khiển, nên cũng có thể sử dụng để điều chỉnh hình dạng đường NURBS
Cụ thể, khi tăng giá trị trọng số sẽ làm đường NURBS có xu hướng được “kéo” gần hơn về
Trang 4028
phía điểm điều khiển Ngược lại, việc giảm giá trị trọng số có tác dụng “đẩy” đường NURBS
ra xa điểm điều khiển Khả năng điều chỉnh hình dạng đường NURBS thông qua điểm điều khiển và trọng số được minh họa trên Hình 2.5 Trong Hình 2.5(a), khi điểm điều khiển P 1
được điều chỉnh sang vị trí mới là P thì làm cho một phần đường NURBS thay đổi thành 1phần màu đỏ, trong khi các phần khác vẫn được giữ nguyên Trong Hình 2.5(b), tọa độ của các điểm điều khiển không thay đổi, nhưng trọng số w của điểm điều khiển 6 P được điều 6
chỉnh và nhận các giá trị khác nhau lần lượt là 0, 0.3, 1, 3 và 100 Khi đó, một phần của đường NURBS bị ảnh hưởng và chuyển đổi dần từ phần nét mảnh sang phần nét đậm, với
xu hướng được “kéo” về gần P 6
Một số trường hợp đặc biệt của đường NURBS
n
i p i
n
i p i i
Phương trình (2.6) là phương trình tham số của đường B-spline [36] Như vậy, khi tất
cả các trọng số có giá trị bằng nhau thì đường NURBS suy biến thành đường B-spline Đường B-spline cũng là một dạng đường tham số được sử dụng trong nhiều phần mềm CAD/CAM Do N i p, ( )u là các hàm đa thức, thay vì là các hàm phân thức như R i p, ( )u , nên công việc xử lý đường B-spline đơn giản và thuận lợi hơn nhiều so với đường NURBS Tuy nhiên, đường B-spline có khả năng biểu diễn hạn chế hơn so với đường NURBS, chẳng hạn đường B-spline không biểu diễn được các đường conic như đường e-lip, đường tròn, …