Lắp ráp tủ điện cho mơ hình

Một phần của tài liệu Thiết kế và chế tạo hệ thống nhận diện mối hàn cho robot tự động (Trang 92)

Sau khi gia công, lắp ráp và kết nối các phần của mơ hình với nhau, mơ hình được hồn thiện như hình 4.6 bên dưới.

84

4.2. Lập trình hệ thống

Hình 4.7: Các bước chính trong q trình xử lý ảnh 4.2.1. Tiền xử lý ảnh

Sau khi thu nhận được ảnh từ camera, ảnh cần được nâng cao chất lượng để quá trình nhận dạng được tốt nhất. Quá trình này bao gồm hai bước là chuyển đổi ảnh xám, tăng độ tương phản và làm mịn ảnh.

85

Chuyển đổi ảnh xám là q trình chuyển đổi hình ảnh từ khơng gian màu

RGB (Red – Green – Blue) sang không gian xám. Bản chất của việc này là tổng hợp 3 ma trận màu R-G-B thành một ma trận duy nhất, điều đó sẽ giúp cho việc tính tốn với các giá trị màu trong ảnh được nhanh chóng hơn. Trong thư viện OpenCV, quá trình này được thực hiện bằng cách sử dụng hàm cv::cvtColor().

Hình 4.9: Ảnh đã chuyển sang không gian xám

Tăng độ tương phản mục đích nhầm làm nổi bật phần cần nhận diện so với

màu nền. Cụ thể trong trường hợp này, phần bề mặt kim loại ta dùng để hàn (phần nền) có tính chất phản xạ ánh sáng khiến chúng “trắng” hơn so với phần đường hàn. Do vậy ta sẽ nhân toàn bộ các điểm ảnh với một hệ số alpha, điều này sẽ làm cho

phần nền được đẩy lên mức sáng thuần (255) còn phần đường hàn (gần bằng 0) nên sẽ ít bị ảnh hưởng hơn (vẫn giữ được mức “đen” cần thiết). Quá trình này được thực hiện bằng hàm cv::addWeight().

86

Hình 4.10: Ảnh đã được tăng độ tương phản

Làm mịn ảnh là công việc quen thuộc trong xử lý ảnh. Nó giúp loại bỏ các

dữ liệu không cần thiết như hạt nhiễu (noise). Ta sử dụng hàm cv::Blur() để thực hiện thao tác này.

87

4.2.2. Lấy khung xương

Q trình lấy khung xương nhằm mục đích tái cấu trúc là hình dáng các chi tiết có trong ảnh. Đây là q trình quan trọng để có thể xác định được đường hàn dựa trên dạng hình học của nó. Q trình này được thực hiện thơng qua 2 bước: Nhị phân hóa và làm mỏng hóa.

Nhị phân hóa là quá trình biến một ảnh xám thành ảnh nhị phân. Ảnh nhị

phân chỉ chứa hai giá trị 0 và 255. Theo đó, giá trị 0 sẽ là giá trị ứng với những điểm đen trên ảnh và giá trị 255 sẽ là giá trị ứng với những điểm trắng. Công thức để nhị phân ảnh là đặt tất cả các giá trị của ảnh xám về 0 nếu chúng bé hơn một ngưỡng T cho trước và về 255 nếu chúng lớn hơn ngưỡng T đó. Vấn để ở đây là với ngưỡng T như thế nào thì cho ta được tấm ảnh nhị phân như ý muốn, nghĩa là ảnh làm nổi các vùng đối tượng và nền. Việc xác định giá trị T là rất khó vì chúng phụ thuộc vào từng điều kiện chiếu sáng khác nhau của môi trường. Với môi trường này T nhận một giá trị, môi trường khác lại một giá trị khác. Để tránh khó khăn trong việc chọn ngưỡng T như đã nói ở trên ta có thêm một sự lựa chọn là dùng phương pháp lấy ngưỡng động.

Thuật tốn nhị phân hóa với ngưỡng động hay cịn gọi là nhị phân hóa với ngưỡng thích nghi là cách ta nhị phân một ảnh xám với những ngưỡng khác nhau trên từng vùng ảnh khác nhau của một tấm ảnh. Trong OpenCV, để nhị phân hóa với ngưỡng động ta có thể sử dụng hàm cv::AdaptiveThreshold().

88

Hình 4.12: Ảnh sau khi nhị phân hóa

Làm mỏng hóa là thao tác tập trung vào việc loại bỏ các điểm ảnh thừa trong

các cụm điểm ảnh sao cho vẫn bảo toàn được sự liên kết giữa các điểm ảnh đóng vai trị tạo thành hình dạng cho chi tiết. Làm mỏng hóa chủ yếu được sử dụng để tạo khung xương, giảm đầu ra trong các thuật tốn nhận diện cạnh với các đường có độ rộng 1 pixel. Thư viện OpenCV hỗ trợ hàm cv::ximgproc::thinning() để làm cơng

việc này.

Hình 4.13: Ảnh sau khi mỏng hóa 4.2.3. Xác định đường hàn 4.2.3. Xác định đường hàn

Trong phạm vi nghiên cứu của mình, nhóm tập trung vào việc phát hiện các đường hàn có sự thay đổi quỹ đạo khơng q đột ngột. Những đường này khi chia thành các khoảng nhỏ sẽ có hình dạng như những đường thẳng. Dựa trên đặc điểm

89 này nhóm thiết kế giải thuật dựa trên việc tìm kiếm đường thẳng trong ảnh. Một trong những phương pháp kinh điển trong việc phát hiện đường thẳng trong xử lý ảnh là phương pháp biến đổi Hough.

Biến đổi Hough: Trên mỗi điểm ảnh biên, ta lần lượt thử các phương trình

đường thẳng đi qua điểm ảnh đó. Số phương trình đường thẳng ta thử càng nhiều thì sẽ cho ra kết quả phát hiện đường thẳng càng tốt (ít bỏ lỡ đường thẳng có trong ảnh hơn). Điểm ảnh biên đó sẽ tăng thêm 1 giá trị vào ma trận thống kê. Sau khi duyệt hết tất cả các điểm ảnh cạnh, ta sẽ lọc theo một giá trị ngưỡng (xác định trước) trên ma trận thống kê để giữ lại các phương trình đường thẳng có trong ảnh. Hàm được sử dụng trong trường hợp này là cv::HoughLine().

Dựng lại đường thẳng: Dựa trên các giá trị trả về từ hàm cv::HoughLine() ta

tiến hành vẽ lại biên dạng của đường hàn như một đường thẳng bằng hàm cv::Line(). Việc này khơng chỉ có ý nghĩa trong việc làm nổi bật đối tượng cần phát hiện mà còn dùng làm cơ sở cho việc xác định vị trí của từng điểm ảnh tthuộc đường. Đường thẳng được vẽ sử dụng mã màu (255,0,0) theo thang RGB với độ dày của nét là 1 pixel.

Hình 4.14: Ảnh sau quá trình xác định đường hàn 4.2.4. Xác định vị trí điểm lấy mẫu trên đường hàn 4.2.4. Xác định vị trí điểm lấy mẫu trên đường hàn

Q trình này trích xuất các điểm thuộc đường thẳng tại thời gian t. Dựa trên kết quả trả về từ khâu xác định đường hàn, chương trình sẽ tìm kiếm điểm thuộc đường thẳng y = 240 có mã màu là (R = 255, G = 0, B = 0) và trả về tọa độ (x, y) của

90 điểm đó. Tọa độ (x, y) của điểm sẽ giúp xác định vị trí của điểm trong không gian ảnh và sẽ được chuyển đổi thành vị trí của điểm trong khơng gian thực ở bước tiếp theo.

4.2.5. Tính tốn vị trí của điểm trong khơng gian thực

Để có thể chuyển đổi vị trí của điểm trong khơng gian thực, nhóm sử dụng phương pháp gần giống với phương pháp đo kích thước của vật thể trong ảnh. Theo đó để có thể biết được kích thước thực của một vật thể trong ảnh hay cụ thể trong trường hợp này là một khoảng cách trong ảnh, nhóm cần xác định một hệ số tỉ lệ gọi là ppm (pixels per metric). Cụ thể về cách xác định hệ số tỉ lệ ppm và phương thức chuyển đổi nhóm xin phép trình bày ngay sau đây.

Hệ số tỉ lệ ppm

Để xác định được hệ số tỉ lệ ppm (hệ số ppm), nhóm cần một đối tượng tham chiếu với hai tiêu chí quan trọng:

- Đối tượng tham chiếu cần phải được xác định rõ kích thước theo một đơn vị đo lường (millimeter, inch).

- Đối tượng tham chiếu có thể dễ dàng tìm thấy trong ảnh, dựa trên vị trí, hình dạng, màu sắc. Hay nói cách khác, đối tượng tham chiếu nên là duy nhất, nổi bật và dễ dàng nhận diện trên ảnh.

Để đảm bảo hai tiêu chí như trên, nhóm sử dụng đối tượng tham chiếu là các hình trịn có đường kính là 10mm. Đối tượng tham chiếu được in kỹ thuật số trên giấy decal với độ chính xác tốt nhất có thể.

91 Nhằm thuận tiện cho việc xác định hệ số ppm, nhóm có viết một chương trình đơn giản với mục tiêu là nhận diện đối tượng dựa trên màu sắc và tính diện tích đối tượng.

Hệ số ppm sẽ được tính theo cơng thức:

𝒑𝒑𝒎 = √𝒐𝒃𝒋𝒆𝒄𝒕 𝒂𝒓𝒆𝒂

𝒌𝒏𝒐𝒘 𝒂𝒓𝒆𝒂 (4.1)

Trong đó:

 Object area: là diện tích của đối tượng trong hình ảnh (pixel x pixel).  Know area: là diện tích thực tế của đối tượng (mm2). Ở đây diện tích

thực tế của đối tượng là 25π (với π = 3,141592654).

92

Phương thức chuyển đổi

Gọi (i, j) là tọa độ của một điểm trong không gian ảnh, (i, j) được tính bằng pixel. (xdis, ydis) là tọa độ của một điểm trong khơng gian thực, cũng chính là tham số cần thiết để điều khiển vị trí trong phần mềm Mach3, (xdis, ydis) được tính bằng mm. Sự tương quan giữa vị trí của một điểm trong khơng gian ảnh (i, j) và vị trí của điểm đó trong khơng gian thực (xdis, ydis) được mơ tả như hình bên dưới.

Hình 4.17: Mơ tả các khơng gian

Theo đó, để chuyển đổi i thành xdis sẽ tuân theo công thức sau: 𝒙𝒅𝒊𝒔 = 𝒙𝒐𝒇𝒇𝒔𝒆𝒕+ 𝒊

𝒑𝒑𝒎 (4.2)

Do camera được đặt cố định, nên xoffset là các đại lượng khơng đổi và giá trị được tính tốn thơng qua thực nghiệm.

93 Với j và ydis có sự khác biệt, vì j được chọn cố định (mục 4.2.4), yoffset không đổi nhưng cả không gian bàn máy sẽ được dịch chuyển theo phương y với một vận tốc không đổi v. Do vậy ydis sẽ được xác định như sau:

𝒚𝒅𝒊𝒔 = 𝒚𝒐𝒇𝒇𝒔𝒆𝒕+ 𝒋

𝒑𝒑𝒎+ 𝒗. 𝒕 (4.3)

Trong đó:

 v: là vận tốc dịch chuyển của bàn máy (mm/ms)  t: là thời gian lấy mẫu (ms)

4.2.6. Tạo lệnh G-Code và lưu trữ

Dựa trên (xdis, ydis) tính tốn được, phần mềm sẽ tự động xây dựng các lệnh G- Code để dịch chuyển đầu công tác từ điểm (xdis, ydis)t ở thời gian lấy mẫu t đến điểm (xdis, ydis)t+1 ở thời điểm lấy mẫu (t+1). Lệnh G-Code sử dụng trong thuật toán là lệnh G1 – di chuyển theo đường thẳng. Các điểm liền kề khi được nối với nhau bằng các đoạn thẳng ngắn sẽ tái tạo lại một cách gần chính xác nhất hình dạng thực tế của đối tượng.

Tồn bộ lệnh G-Code sau khi xử lý xong sẽ được lưu trữ trên máy tính dưới định dạng – text (.txt). Các tập tin này có thể dùng để vận hành trực tiếp với phần mềm Mach3.

4.3. Thực nghiệm

4.3.1. Thực nghiệm về xử lý ảnh

Thực nghiệm về xử lý ảnh là một bước riêng trước khi tiến hành thực nghiệm toàn bộ hệ thống. Thực nghiệm này giúp nhóm có thể đánh giá riêng được mức độ khả thi và các vấn đề phát sinh từ thuật toán xử lý ảnh trước khi kết hợp với việc vận hành hệ thống. Kết quả của thực nghiệm được đánh giá dựa trên tỉ lệ phát hiện được đường hàn, thuật tốn điều khiển có thể hoạt động tốt khi tỉ lệ phát hiện đường hàn đạt trên 80%.

94 Nhóm thực hiện việc kiểm nghiệm giải thuật xử lý ảnh với mẫu thử là một tấm thép có kích thước 40x20 cm được cắt và hàn đính lại như hình bên dưới.

Hình 4.18: Hình mẫu thử

Sau khi tiến hành áp dụng thuật tốn xử lý ảnh lên mẫu, nhóm thu được một số kết quả rất khả quan.

Tỉ lệ nhận diện thành cơng

Bảng 4.1: Bảng thống kê số khung hình nhận diện thành cơng sau hơn 200 khung

hình

Lần thử Tỉ lệ nhận diện thành công (%)

95 Lần 2 94,62 Lần 3 93,06 Lần 4 94,68 Lần 5 94,0 Lần 6 94,49

Hình 4.19: Các kết quả thực nghiệm nhận diện

Từ kết quả của nhiều lần thực nghiệm, nhóm thấy rằng tỉ lệ nhận diện thành công đạt mức tốt (trên 90%). Tỉ lệ này là vừa đủ để cung cấp số lượng điểm cần thiết cho việc xây dựng quỹ đạo.

Hình dạng quỹ đạo ghi nhận từ thuật tốn

Mục tiêu sau cùng của thuật toán là những lệnh G-Code được tạo ra từ quá trình xử lý ảnh. Những lệnh này sẽ được lưu trữ lại sau mỗi lần thực hiện chương trình dưới dạng tập tin text (.txt).

96

Hình 4.20: G-Code thu nhận được sau khi xử lý ảnh

Nhóm thực hiện mơ phỏng lại biên dạng dựa trên các lệnh G-Code được tạo ra bởi thuật tốn bằng việc sử dụng một cơng cụ mơ phỏng trực tuyến - ncviewer.com.

97 Kết quả mô phỏng cho thấy, quỹ đạo được tạo ra bởi thuật tốn có hình dạng giống với quỹ đạo thực tế của mẫu.

4.3.2. Thực nghiệm toàn bộ hệ thống

Thực nghiệm toàn bộ hệ thống nhằm kiểm chứng lại tồn bộ hệ thống có hoạt động đúng với yêu cầu đề ra ban đầu. Thực nghiệm toàn bộ hệ thống sẽ được thực hiện bằng cách vận hành toàn bộ hệ thống theo đúng quy trình. Kết quả của quá trình này được đánh giá dựa theo ghi nhận về độ lệch biên dạng giữa thuật toán và mẫu.

Điều kiện và cách thức tiến hành thực nghiệm

Nhóm tiếp tục sử dụng mẫu thử là một tấm thép có kích thước 40x20 cm được cắt và hàn đính giống như khi thực nghiệm xử lý ảnh. Hệ thống được được thiết lập với các tham số như sau:

Bảng 4.2: Các thông số thiết lập

Tên tham số Giá trị

ppm 44.06237571 pixel/mm

xoffset 33.6848 mm

(yoffset + j/ppm) 105.6454 mm

v 300 mm/phút

Do giới hạn về hành trình của bàn máy, nhóm khơng thể thực nghiệm với tồn bộ đường hàn, quá trình thực nghiệm được tiến hành với một đoạn của mẫu có độ dài 130 mm theo phương Y. Nhóm sẽ tiến hành thực thi tồn bộ chương trình và kiểm tra các giá trị được ghi nhận trong tập tin G-Code được lưu trữ.

Kết quả thực nghiệm

Sau khi tiến hành 5 lần thực nghiệm, nhóm ghi nhận được quỹ đạo điều khiển bởi hệ thống bám sát với đường hàn thực tế. Độ lệch lớn nhất ghi nhận được nằm trong khoảng 0,5 mm theo phương X.

98

99

100

Nhận xét

Sau khi thực nghiệm riêng lẻ xử lý ảnh cũng như thực nghiệm vận hành toàn hệ thống, kết quả cho thấy giải thuật xử lý ảnh hoạt động tốt, có khả năng nhận diện và xác định đường hàn với độ chính xác cao. Tuy nhiên việc kết hợp giữa xử lý ảnh và điều khiển chưa thực sự đồng bộ, dẫn đến có sự sai lệch.

101

Chương 5: KẾT LUẬN 5.1. Kết quả đạt được

Sau thời gian thực hiện đồ án tốt nghiệp, các mục tiêu đề ra đối với đề tài đã được hoàn thành. Một số kết quả đạt được như sau:

- Xây dựng được thuật toán nhận diện đường hàn. - Thiết kế và hồn thiện mơ hình kiểm chứng.

- Xây dựng chương trình điều khiển dựa trên dữ liệu từ xử lý ảnh cho mơ hình. So với mục tiêu ban đầu đề ra, nhóm đã hồn thành đúng như kế hoạch đặt ra. Thuật tốn xử lý ảnh có khả năng nhận diện và trích xuất dữ liệu tương đối hiệu quả, chính xác. Mơ hình phần cứng hoạt động tốt, đáp ứng đủ các tiêu chí đã đề ra trước. Ngồi ra, thơng qua q trình thực hiện đề tài, nhóm có cơ hội vận dụng các kiến thức đã học vào việc thiết kế và giải quyết các vấn đề được đặt ra.

5.2. Những mặt hạn chế

Ngồi những kết quả đạt được thì nhóm cũng ghi nhận một vài hạn chế của hệ thống như sau:

- Thuật tốn điều khiển cịn phụ thuộc nhiều vào phần mềm Mach 3, chưa tối ưu cho việc tích hợp vào một hệ thống hàn tự động hồn chỉnh.

- Chưa có giao diện tương tác và điều khiển.

5.3. Hướng phát triển

Từ những mặt hạn chế của đề tài, để đề tài hoạt động tốt hơn và có thể áp dụng vào thực tế, nhóm xin đề xuất những hướng phát triển như sau: Phát triển riêng hệ thống điều khiển, phát triển giao diện tương tác, điều khiển.

102

TÀI LIỆU THAM KHẢO Tiếng Việt

[1] Lương Mạnh Bá, Nguyễn Thanh Thủy (2006), “Nhập môn xử lý ảnh số”, Nhà

xuất bản khoa học và kỹ thuật.

[2] Trịnh Chất, Lê Văn Uyển (2006), “Tính tốn thiết kế hệ dẫn động cơ khí”, Nhà

xuất bản giáo dục, tập một và hai.

[3] Nguyễn Thúc Hà, Bùi Văn Hạnh, Võ Văn Phong (2006), “Giáo trình cơng nghệ hàn”, Nhà xuất bản giáo dục.

[4] Nguyễn Quang Hoan (2006), “Giáo trình Xử lý ảnh”, Học viện cơng nghệ bưu

chính viễn thơng.

[5] Trần Ngọc Nhuần (2006), “Đai răng – đặc điểm và cấu tạo”, Tạp chí Khoa học

– Cơng nghệ Thủy sản, số 03-04/2006.

[6] Nguyễn Hiền Minh, Phan Thanh Phong (2019), “Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm”, Đại học Sư phạm kỹ thuật Thành phố Hồ Chí Minh. [7] Đỗ Năng Tồn, Phạm Việt Bình (2007), “Giáo trình Xử lý ảnh”, Đại học Thái

Nguyên.

[8] Động cơ bước (STEP), phân loại, ứng dụng và điều khiển. Internet:

Một phần của tài liệu Thiết kế và chế tạo hệ thống nhận diện mối hàn cho robot tự động (Trang 92)

Tải bản đầy đủ (PDF)

(120 trang)