Phương pháp này còn được gọi là chuyển động nội suy. Trong phương pháp này, dao di chuyển theo biên dạng yêu cầu để thực hiện quy trình gia công. Biên dạng bao gồm chuỗi các đường cong, tùy thuộc vào hình dạng các đường cong trong không gian ta có để phân ra nhiều loại đường cong khác nhau.
Các loại đường cong thường gặp trong chuyển động gia công trên máy phay mô hình là :
Đường bậc 1 : đường thẳng.
Đường bậc 2 : cung tròn, elip, parabol, hyperbol. Đường bậc 3 :
Đường bậc cao hơn : được xấp xỉ từ những chuỗi đường cong ở trên.
Trong các thiết bị gia công CNC hiện nay thường thực hiện nội suy ở 2 mức: - Nội suy thô : Xác định tọa độ các điểm đầu và điểm cuối của đoạn biên dạng.
Nguyễn Long Lâm 47 11BCTM.KH - Nội suy tinh : Thực hiện nội suy tuyến tính giữa các điểm trung gian.
Với phương pháp chuyển động nội suy, điều khiển các trục phức tạp hơn và các trục hoạt động đồng thời để đạt được biên dạng yêu cầu.Nhưng phương pháp này lại đem lại kết quả gia công tốt hơn, độ chính xác của biên dạng cao hơn và đường cong trơn hơn phương pháp PTP.
Phương pháp nội suy :
Có 2 phương pháp nội suy thông dụng : - Sử dụng mạch cứng
- Sử dụng chương trình.
Với điều kiện hiện này, máy tính đã trở nên thông dụng và ngày càng mạnh mẽ hơn thì phương pháp sử dụng chương trình càng thể hiện được ưu điểm lớn hơn phương pháp sử dụng mạch cứng. Chi phí thiết bị cũng như bảo dưỡng thấp hơn nhiều so với phương pháp sử dụng mạch cứng.Vì vậy, trong đề tài này tác giả sử dụng phương pháp nội suy sử dụng chương trình.
Phương pháp nội suy đường thẳng :
Xét đoạn thẳng có hệ số góc 0<m<=1 và >0. Với các đọan thẳng dạng này, nếu (xi, yi) là điểm đã được xác định bước thứ i thì điểm kế tiếp (xi+1, yi+1) bước thứ i+1 là một trong hai điểm sau:
Để tìm được điểm đi như thế nào để đường đi gần với đường thẳng nối 2 điểm nhất và tối ưu hóa về mặt tốc độ thì tác giả sử dụng phương pháp “ phân tích vi số” DDA (Digital Differential Analyzer).
Nguyễn Long Lâm 48 11BCTM.KH Hình 2.3. Các điểm gần với điểm trên đường thẳng
Thuật toán DDA là thuật toán tính toán các điểm vẽ dọc theo đường thẳng dựa vào hệ số góc của phương trình đường thẳng y=mx+b.
Trong đó m y, y yi 1 yi, x xi 1 xi
x
Dựa vào hệ tọa độ điểm của dữ liệu trong quá trình đo quét thu được thì tọa độ của điểm x sẽ tăng 1 đơn vị trên mỗi điểm vẽ, còn việc quyết định chọn yi+1 là yi+1 hay yi sẽ phụ thuộc vào giá trị sau khi làm tròn của tung độ y. Tuy nhiên, nếu tính trực tiếp gia trị của y mỗi bước thì phương trình y=mx+b còn một phép nhân và một phép cộng số thực.
1 1 ( 1)
i i i i
y mx b m x b mx b m
Để cải thiện tốc độ người ta khử phép nhân trên số thực: Ta có: yi1 mxi1 b 1 int( 1) i i i y y m y Tóm lại khi 0<m<=1: 1 1 1 1 int( ) i i i i i x x y y m y
Nguyễn Long Lâm 49 11BCTM.KH Trường hợp m>1: chọn bước tăng trên trục y một đơn vị.
1 1 1 1 int( ) 1 i i i i i x x x m y y
Hai trường hợp này dung để vẽ một điểm bắt đầu từ bên trái đến điểm cuối cùng bên phải của đường thẳng.Nếu điểm bắt đầu từ bên phải đến điểm cuối cùng bên trái thì xét ngược lại.
Trường hợp 0<m<=1 1 1 1 1 int( ) i i i i i x x y y m y Trường hợp m>1 1 1 1 1 int( ) 1 i i i i i x x x m y y Hình 2.4. Hai dạng đường thẳng có 0<m<=1 và m>1 Ngoài ra, thuật toán Bresenham cũng thường được sử dụng :
Nguyễn Long Lâm 50 11BCTM.KH Hình 2.5. Nguyên lý chọn điểm của thuật toán Bresenham
Xét dạng đường thẳng có hệ số góc 0<m<=1.
Gọi (xi+1, yi+1) là điểm thuộc đoạn thẳng .Ta có y= m.(xi+1)+b Đặt d1 = yi+1 – yi và d2 = (yi +1)-yi+1
Việc chọn điểm (xi+1, yi+1) là P1 hay P2 phụ thuộc vào việc so sánh d1 và d2 hay dấu của (d1- d2). - Nếu d1-d2<0: chọn điểm P1, tức là yi +1= yi - Nếu d1-d2 ≥0: chọn điểm P2, tức là yi +1= yi +1 Xét Pi = deltax (d1 - d2) Ta có: d1 - d2 = 2 yi+1 - 2yi – 1 = 2.m.(xi+1) + 2b - 2yi - 1 ⇒ Pi = deltax (d1 - d2) = deltax.[2m(xi+1) + 2b - 2yi - 1] = deltax.[2 (xi+1) + 2b - 2yi - 1]
= 2deltay.(xi+1) - 2deltax.yi + deltax(2b - 1) = 2deltay.xi - 2deltax.yi + 2deltay + deltax.(2b - 1) Vậy C = 2deltay + deltax.(2b - 1) = Const
Nguyễn Long Lâm 51 11BCTM.KH Nhận xét rằng nếu tại bước thứ i ta xác định được dấu của Pi thì xem như ta xác định được điểm cần chọn ở bước (i+1). Ta có:
Pi +1 - Pi = (2deltay.xi+1 - 2deltax.yi+1 + C) - (2deltay.xi - 2deltax.yi + C) ⇔ Pi +1 = Pi + 2deltay - 2deltax (yi+1 - .yi)
- Nếu Pi < 0: chọn điểm P1, tức là yi +1= yi và Pi +1 = Pi + 2deltay.
- Nếu Pi ≥ 0: chọn điểm P2, tức là yi +1= yi +1 và Pi +1 = Pi + 2deltay - 2deltax - Giá trị P0 được tính từ điểm vẽ đầu tiên (x0, y0) theo công thức:
P0 = 2deltay.x0 - 2deltax.y0 + C
Do (x0, y0) là điểm nguyên thuộc về đoạn thẳng nên ta có: y0 = m. x0 +b = .x0 +b
Thế vào phương trình trên ta được: P0 = 2deltay - deltax
Phương pháp nội suy cung tròn :
Dao được di chuyển từ điểm đầu tới điểm cuối hành trình theo một cung tròn.Ở đây, phương pháp nội suy DDA vẫn được ứng dụng.
Để nội suy cung tròn từ đến Trong đó :
Nguyễn Long Lâm 52 11BCTM.KH : điểm đích.
P :điểm thuộc đường cong. T : thời gian từ đến . t : thời gian từ đến P.
Từ hình vẽ : Muốn chạy cắt theo đường cong, những điểm trung gian trên biên dạng phải được xác định từ bộ nội suy trong mối quan hệ phụ thuộc vào thời gian chạy cắt.
Theo đó : x =R.cos . y =R.sin . với =2 .t/T;
T: thời gian chạy hết toàn vòng. Thì :
Lấy tích phân theo thời gian, ta có tốc độ thành phần trên từng trục riêng lẻ : ( ) ( ) dx= - (2 /T).y(t)dt ; dy= - (2 /T).x(t)dt
Với độ chính xác đủ dùng, phép tích phân trên có thể thay thế bởi phép cộng các gia số đường dịch chuyển. Do đó:
Nguyễn Long Lâm 53 11BCTM.KH .
. Nội suy xoắn ốc :
Là phương pháp nội suy kết hợp giữa nội suy cung tròn theo hai trục và nội suy tuyến tính theo trục thứ 3.
Nội suy parabol :
Hình 2.6. Nội suy parabol.
Dùng điểm không thẳng hàng để xấp xỉ đường cong có biên dạng tự do.Loại nội suy này thường được dùng trong các đường cong biên dạng tự do thay vì các đường cong có biên dạng chính xác. Ta có thể dùng nội suy parabol để tạo các đường cong bậc cao. So với nội suy đường thẳng, nội suy parabol giảm khoảng 50 lần số điểm cần lưu trữ.
Ta có : ;
.
Với , , u = /N -> /N, n=1:N.
2.8 Phương pháp nội suy bezier
Nguyễn Long Lâm 54 11BCTM.KH Đường và mặt bezier hiện nay được sử dụng nhiều trong kỹ thuật đồ họa. Đường bezier sử dụng vẽ các đường cong trong các phần mềm đồ họa như photoshop, coredow,… tạo cho nét vẽ mềm và mịn hơn, sử dụng vẽ đồ thị, tạo font chữ,… Mặt Bezier ứng dụng trong kỹ thuật tạo hình , điêu khắc, hỗ trợ trong công việc tạo các mặt cong phức tạp.
2.8.1 Phƣơng trình toán học của đƣờng cong và mặt Bezier :
Phương trình toán học của đường Bezier :
Cho 2 điểm ) và ) bằng nội suy tuyến tính ta viết được đoạn thẳng nối hai điểm :
C(u) =(x(u),y(u),z(u))= (1-u). + u. . Với 0 u 1.
Hình 2.7. Đoạn thẳng nối hai điểm
Bằng cách nội suy tương tự từ 3 điểm , ta có đường cong C(u) như sau Dựa trên cặp , ta có (u)
(u)= (1-u). +u. .
Dựa trên cặp ta có (u):
(u) = (1-u). + u. . Từ (u), (u) ta có C(u) :
Nguyễn Long Lâm 55 11BCTM.KH Từ đó ta viết được phương trình của đường cong Bezier cho n điểm nội suy có dạng như sau :
( ) . .
Với là đa thức bernstein, u là tham số và là các điểm điều khiển. Ví dụ viết đường cong cho 4 điểm điều khiển được biểu diễn như hình vẽ :
Hình 2.8. Đường cong Bezier. Các tính chất của đường Bezier :
- [ ]
-
-
-
-
Nguyễn Long Lâm 56 11BCTM.KH Dạng biểu diễn Bezier thực chất là dạng biểu diễn của một đã thức nội suy vì vậy nó không thể biểu diễn chính xác elip, hình tròn … Vì vậy, để biểu diễn các đối tượng này một cách chính xác người ta sử dụng đường Bezier hữu tỉ
Ví dụ đường tròn có tâm ở gốc tọa độ bán kính bằng 1 được biểu diễn dưới dạng Bezier hữu tỉ như sau :
Định nghĩa: Đường cong Bezier hữu tỉ được định nghĩa bằng biểu thức sau. Trong đó là trọng số.
Để thuận tiện khi tính toán giá trị điểm và khảo sát đường Bezier hữu tỉ, ta chuyển về dạng Bezier trong không gian 4 chiều như sau :
Từ tập điểm { } và tập trọng số { } cho trước ta xác định được tập điểm { }
Ta có thể viết :
Nguyễn Long Lâm 57 11BCTM.KH ∑ Tập điểm { } được xác định : {
Sự thay đổi của trọng số
Trọng số thay đổi kéo theo sự thay đổi của đường cong Bezier ta có thể minh họa bằng hình vẽ :
Hình 2.9. Sự phụ thuộc của đường cong vào W_i
càng lớn thì đường cong càng kéo gần điểm điều khiển.Hình minh họa cho 4 đường có các điểm điều khiển như nhau { } những đường có trọng số lớn hơn có độ cong lớn hơn.
Nguyễn Long Lâm 58 11BCTM.KH Đường cong C(u) là một hàm giá trị vecto của tham số u. Nó là ánh xạ của một đường thẳng vào không gian 3 chiều Eculidean, từ đó một hàm bề mặt cũng là một hàm giá trị vecto theo hai tham số u và v, cũng là ánh xạ từ một miền phẳng (u,v) vào không gian Euclidean 3 chiều.
Hình 2.10. Ánh xạ từ (u,v) tới S(u,v)
Định nghĩa : Mặt cong Bezier được định nghĩa theo biểu thức sau ∑ ∑ Với u,v là các tham số
Tương tự đường cong bezier ta cũng có mặt cong Bezier hữu tỉ để biểu diễn các mặt cong phức tạp như hình xuyến, mặt cầu, mặt elip…
Mặt cong Bezier hữu tỉ được định nghĩa như sau :
Nguyễn Long Lâm 59 11BCTM.KH ∑ ∑
Với Wy.j là các trọng số theo phương u và phương v
Hình 2.11. Mặt Bezier hữu tỉ. Đường và mặt cong tự do tổng quát
Một mặt cong tổng quát có thể bao gồm nhiều thành phần, bằng phẳng, lồi, lõm và các góc uốn lượn vô cùng phức tạp, việc biểu diễn đường và mặt dưới dạng Bezier có thể gây ra lỗi khi biểu diễn các đoạn giao nhau của các thành phần này khi cho tham số u, v chạy đều từ 0 1 vì vậy người ta phải phân nhỏ các tham số theo các đoạn để biểu diễn chính xác hơn.
Ví dụ
Người ta có thể phân thành các đoạn nhỏ như sau :
Nguyễn Long Lâm 60 11BCTM.KH
Khi đó giá trị các điểm tại các cặp (u,v) phân ra ta coi như điểm cuối của đường cong hay mặt cong, và đồng thời là điểm đầu của đường cong hay mặt cong tiếp theo. Nhiệm vụ của chúng ta là phân chúng làm sao để các đường cong hay mặt cong tại các điểm nút này là liên tục.
Hình 2.12. Đường cong liên tục
Từ C(u) ta phân nhỏ ra thành 3 đường cong , ,
Hình 2.13. Sự phân nhỏ các đường cong. Định nghĩa một đường cong tổng quát như sau :
∑
Nguyễn Long Lâm 61 11BCTM.KH
{ } là tập điểm điều khiển.
là biểu thức cơ bản được định nghĩa cho các điểm điều khiển Với { [ ]
Tương tự ta có phương trình tham số của đường cong tự do tổng quát biểu diễn dạng hữu tỉ
Với giá trị của u được xác định như sau :
Như vậy, mặt cong tự do tổng quát được biểu diễn như sau :
Nguyễn Long Lâm 62 11BCTM.KH r = n+p+1
s = m+q+1
Hình 2.14. Mặt cong tổng quát.
2.8.2 Thuật toán xây dựng các điểm tiếp xúc của dao với bề mặt gia công của mặt cong (Cutter Contact –CC): mặt cong (Cutter Contact –CC):
Để xây dựng thuật toán tính toán các điểm CC của một mặt cong ta đi từ việc xây dựng thuật toán để tính toán các điểm của một đường cong, ta sử dụng thuật toán de Casteljau.
Cho đường C(u) được viết trên n điểm điều khiển cho trước { } bài toán đặt ra là tính điểm C(u) với u là tham số đã được xác định trước.
Với (2.6.3)
Nguyễn Long Lâm 63 11BCTM.KH C(u) được tính đệ quy tới giá trị cuối cùng
Thuật toán được mô tả như sau :
Với n điểm điều khiển cho trước ta tính được n-1 điểm với k chạy từ 1 đến n-1 theo công thức (2.6.3). Tương tự ta tính được n-2 điểm . Ta tính n bước như thế sẽ được kết quả cuối cùng là . Giá trị cuối cùng này chính là giá trị của
Ta có thể mô tả bằng hình vẽ :
Nguyễn Long Lâm 64 11BCTM.KH Tương tự như đường Bezier ta có thuật toán de Casteljau cho đường Bezier hữu tỉ.
Từ tập { } và tập trọng số { } cho trước ta xây dựng tập điểm : Ta có thể viết : ∑
Và các điểm được tính như sau :
{
Nguyễn Long Lâm 65 11BCTM.KH
CHƢƠNG 3: XÂY DỰNG CHƢƠNG TRÌNH GIA CÔNG PHAY ỨNG DỤNG KẾT QUẢ ĐO QUÉT 3D LASER
3.1 Các thuật toán cần xác định trong đề tài
Dữ liệu đầu vào để tiến hành gia công là dữ liệu mây điểm thu được sau đi khi đo quét, được lưu ở dạng exel, text hoặc định dạng scan 3D .xyz của phần mềm vẽ kỹ thuật như solidwork, matercam…
Nguyễn Long Lâm 66 11BCTM.KH Hình 3.2. Dữ liệu đo quét dạng text.
Dữ liệu đo quét được là các giá trị tọa độ tương ứng trong hệ tọa độ trụ. Cột thứ nhất là bán kính R, cột thứ 2 là giá trị dịch chuyển trục Y, cột thứ 3 là giá trị . Vì vậy, để có thể tiến hành xử lý số liệu này, chương trình sẽ đọc các giá trị tương ứng ra 3 ma trận điểm để tiến hành xử lý số liệu và đưa vào dữ liệu gia công.
3.1.1 Thuật toán xử lý dữ liệu chi tiết gia công :
Dữ liệu thu được sau quá trình đo quét là dạng dữ liệu exel chứa tọa độ các điểm của lưới bề mặt chi tiết gia công. Tuy nhiên, để tăng độ chính xác cũng như làm mịn các bề mặt cong ta sẽ xây dựng thuật toán để xử lý các dữ liệu này. Ở đây, dữ liệu thu quét sẽ thông qua thuật toán de Casteljau để chuyển hóa dữ liệu thu quét thành dữ liệu gia công với tổ hợp các bề mặt Bezier.
Thuật toán này sẽ làm tăng các điểm cần gia công để đạt được chi tiết sau gia công đạt độ chính xác cao nhất so với bề mặt chi tiết được đo quét. Dữ liệu sau xử lý chính là dữ liệu điểm tiếp xúc của dao và bề mặt phôi ( điểm CC) để tạo nên chi tiết.
Nguyễn Long Lâm 67 11BCTM.KH - Bước 1 : Nhập dữ liệu đo quét là các ma trận sau khi đã đọc được từ file exel, text hoặc file .xyz và các trọng số