HCM, ngày tháng năm 2024 LỜI CAM ĐOAN Tôi xin cam kết đề tài “Nghiên cứu xây dựng mô hình và điều khiển robot phân loại sản phẩm trên băng tải” là do nhóm tôi tự thực hiện dựa vào một s
TỔNG QUAN
ĐẶT VẤN ĐỀ
Trong kỷ nguyên công nghiệp 4.0, tự động hóa và ứng dụng công nghệ tiên tiến trong sản xuất là yếu tố quyết định nâng cao hiệu suất và sức cạnh tranh Sự phát triển của robot hiện đại và công nghệ xử lý hình ảnh mở ra tiềm năng mới cho tự động hóa Phân loại sản phẩm theo màu sắc, kích thước và hình dạng trên băng tải là rất quan trọng trong nhiều ngành Việc phân loại theo màu sắc trong ngành thực phẩm không chỉ đảm bảo tính thẩm mỹ mà còn ảnh hưởng đến chất lượng và độ chín Trong sản xuất linh kiện điện tử, phân loại màu sắc giúp phân biệt nhanh chóng và chính xác các thành phần Hệ thống robot có khả năng phân loại liên tục với tốc độ và độ chính xác cao, giảm thiểu phụ thuộc vào lao động thủ công, từ đó giảm chi phí và rủi ro Nhận thấy tầm quan trọng của việc tích hợp robot vào băng tải để phân loại sản phẩm, nhóm sinh viên chúng tôi quyết định nghiên cứu đề tài "Nghiên cứu xây dựng mô hình và điều khiển robot phân loại sản phẩm trên băng tải" với mục tiêu tham khảo và ứng dụng rộng rãi.
MỤC TIÊU
Thiết kế mô hình robot trên Solidworks có khả năng hoạt động một cách chính xác và hiệu quả
Xây dựng mô hình cơ khí và cấu trúc của robot phù hợp với hệ thống phân loại sản phẩm trên băng tải
Nghiên cứu về phân loại sản phẩm theo màu sắc như đỏ, vàng, xanh và hồng trong các điều kiện ánh sáng và môi trường khác nhau Điều khiển robot để phân loại sản phẩm một cách chính xác thông qua hệ thống nhận diện màu sắc.
Thực hiện việc tích hợp hệ thống robot với băng tải đảm bảo hoạt động đồng bộ và hiệu quả
Vận hành mô hình theo yêu cầu đã đặt ra: phân loại sản phẩm theo màu đỏ, màu xanh, màu vàng và màu hồng.
NỘI DUNG NGHIÊN CỨU
Đề tài nghiên cứu "Nghiên cứu xây dựng mô hình và điều khiển robot phân loại sản phẩm trên băng tải" bao gồm 6 chương, mỗi chương được trình bày với phạm vi cụ thể nhằm phát triển và tối ưu hóa quy trình phân loại sản phẩm.
Chương 1: Tổng quan đề tài
Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung nghiên cứu và các giới hạn của đề tài
Chương 2: Cơ sở lý thuyết
Chương 3: Tính toán và thiết kế
Chương 4: Thi công hệ thống
Chương 5: Kết quả thực hiện
Chương 6: Kết luận và hướng phát triển.
GIỚI HẠN
Hệ thống được thiết kế nhằm nhận diện và phân loại các màu sắc cụ thể Để đạt hiệu quả cao, màu sắc của sản phẩm cần phải rõ ràng và ít bị tác động bởi ánh sáng hay điều kiện môi trường.
Do hạn chế về thời gian và tài chính, nghiên cứu chỉ phát triển một mô hình nhỏ gọn thay vì dây chuyền sản xuất, với kết quả hiển thị trên màn hình Các thử nghiệm và đánh giá sẽ tập trung vào những tình huống cụ thể, có thể không phản ánh đầy đủ mọi tình huống thực tế phức tạp.
CƠ SỞ LÝ THUYẾT
CƠ SỞ LÝ THUYẾT ĐỘNG HỌC CÁNH TAY MÁY
2.1.1 Phương trình động học thuận
Robot được cấu tạo từ các khâu (links) liên kết qua các khớp (joints), mỗi khâu có một hệ tọa độ riêng Thông qua phép biến đổi thuần nhất, chúng ta có thể mô tả vị trí và hướng tương đối giữa các hệ tọa độ này Denavit đã định nghĩa phép biến đổi này, gọi là ma trận A, thể hiện mối quan hệ giữa hai khâu liền kề Ma trận A mô tả phép biến đổi bao gồm cả phép quay và tịnh tiến giữa hai hệ tọa độ Cụ thể, ma trận A1 biểu diễn vị trí và hướng của khâu đầu tiên, trong khi ma trận A2 mô tả vị trí và hướng của khâu thứ hai so với khâu đầu tiên, từ đó cho phép xác định vị trí và hướng của khâu thứ hai so với hệ tọa độ gốc.
Cũng như vậy, A 3 mô tả khâu thứ ba so với khâu thứ hai là:
Theo Denavit, ma trận A được gọi là ma trận T và thường được ký hiệu bằng hai chỉ số: chỉ số trên và chỉ số dưới Chỉ số trên thể hiện tọa độ tham chiếu và có thể bỏ qua nếu bằng 0 Trong khi đó, chỉ số dưới thường chỉ các khâu chấp hành cuối cùng Ví dụ, nếu một robot có 6 khâu, ta sẽ có các chỉ số tương ứng cho từng khâu.
T6 mô tả mối quan hệ giữa hướng và vị trí của khâu chấp hành cuối cùng so với hệ tọa độ gốc Robot 6 khâu có 6 bậc tự do, cho phép xác định vị trí và hướng trong không gian làm việc Ba bậc tự do xác định vị trí, trong khi ba bậc còn lại xác định hướng mong muốn Ma trận T6 biểu diễn cả hướng và vị trí của robot Hình 2.1 minh họa mối quan hệ này cho bàn tay robot, với gốc tọa độ đặt tại điểm giữa các ngón tay, được xác định bởi vector p, thể hiện vị trí của bàn tay Ba vector đơn vị mô tả hướng của bàn tay được xác định rõ ràng.
• Vector có hướng theo đó bàn tay sẽ tiếp cận đối tượng, gọi là vector a
• Vector có hướng mà các ngón tay của bàn tay nắm vào nhau khi cầm nắm đối tượng, gọi là vector o (occupation)
• Vector cuối cùng là vector pháp tuyến n (normal), do đó ta có: n o a= Chuyển vị T 6 như vậy sẽ bao gồm các phần tử:
Tổng quát, ma trận T6 có thể biểu diễn gọn hơn như sau:
Điểm p có kích thước 2x1 biểu thị mối quan hệ giữa tọa độ vị trí của gốc hệ tọa độ gắn trên khâu chấp hành cuối và hệ tọa độ cơ bản.
Robot được cấu tạo từ nhiều khâu liên kết với nhau qua các khớp động, trong đó khâu gốc (Base) được gọi là khâu số 0 và không được tính vào tổng số khâu Khâu 1 kết nối với khâu gốc qua khớp 1, trong khi khâu cuối cùng không có khớp ở đầu mút.
Mỗi khâu được xác định bởi hai thuộc tính chính:
• Độ dài pháp tuyến chung: a n
• Góc giữa các trục trong mặt phẳng vuông góc với a a n : n
Thông thường, người ta gọi 𝑎 𝑛 là chiều dài và 𝛼 𝑛 là góc xoắn của khâu (Hình 2.1)
Hình 2.1 Chiều dài và góc xoắn của một khâu Thường thấy hai khâu liên kết với nhau qua trục chính của khớp (Hình 2.2)
Vị trí tương đối của hai khâu liên tiếp được xác định bởi:
• Khoảng cách d n giữa hai pháp tuyến theo trục khớp 𝑛
• Góc n giữa hai pháp tuyến trong mặt phẳng vuông góc với trục
Thường người ta gọi d n là khoảng cách và và n là góc giữa các khâu
Để mô tả mối quan hệ giữa các khâu trong hệ thống, cần gắn một hệ tọa độ cho mỗi khâu Việc gắn hệ tọa độ này tuân theo một nguyên tắc cụ thể nhằm đảm bảo tính chính xác và nhất quán trong việc phân tích các thông số như , , d và .
Gốc của hệ tọa độ được xác định tại điểm giao giữa pháp tuyến chung và khớp thứ n+1 Nếu các trục khớp cắt nhau, gốc tọa độ sẽ đặt tại điểm cắt Trong trường hợp các trục khớp song song, gốc tọa độ sẽ được chọn trên trục khớp của khâu tiếp theo tại một điểm phù hợp.
• Trục z của hệ tọa độ sẽ được gắn vào khâu thứ n, hướng dọc theo trục khớp thứ n+1
Trục x thường được định hướng dọc theo đường pháp tuyến chung, từ khớp n đến khớp n+1 Trong trường hợp các trục khớp cắt nhau, trục x sẽ có hướng theo tích của vector Z Z n n − 1.
Trường hợp khớp quay thì n là các biến khớp, trong trường hợp khớp tịnh tiến thì d n là biến khớp và a n bằng 0
Các thông số a n , n , d n và n được gọi là bộ thông số D-H [2]
Để xác định các thông số DH cho robot hai khâu phẳng, chúng ta cần gắn hệ tọa độ lên các khâu Các trục z0, z1 và z2 được thiết lập vuông góc với mặt phẳng của tờ giấy, như minh họa trong hình vẽ.
Hệ tọa độ gốc O(x, y, z) được thiết lập tại điểm O(0, 0, 0) với trục x hướng từ O(0) đến O(1) Sau khi thiết lập, hệ tọa độ O(x, y, z) được định hướng như trong hình vẽ, với gốc tọa độ O(1) nằm tại trung tâm của khớp 2 Hệ tọa độ O(x, y, z) thứ hai có gốc tọa độ O(2) được đặt tại điểm cuối của khâu 2.
Hình 2.3 Tay máy có hai khâu phẳng (vị trí bất kỳ) Bảng 2.1 Bảng thông số Denavit – Hartenbert của cánh tay máy
2.1.1.3 Đặc trưng của ma trận
Dựa trên hệ tọa độ đã được xác định cho tất cả các khâu nối của Robot, chúng ta có thể thiết lập mối quan hệ giữa các hệ tọa độ kế tiếp (n-1) và (n) thông qua các phép quay và tịnh tiến.
• Quay quanh trục z n − 1 một góc n
• Tịnh tiến dọc theo trục z n − 1 một khoảng d n
• Tịnh tiến dọc theo trục x n − 1 (đã trùng với z n ) một khoảng a n
• Quay quanh trục x n một góc xoắn a n
Các phép biến đổi đơn giản mô tả mối quan hệ giữa hệ tọa độ của khâu thứ n và khâu thứ n−1, với tích của chúng được thể hiện qua ma trận A.
A n =Rot z Trans d Trans a Rot x a (2.6) cos sin 0 0 1 0 0 1 0 0 0 sin cos 0 0 0 1 0 0 0 cos sin 0
(2.7) cos sin cos sin sin cos sin cos cos cos sin sin
(2.8) Đối với khớp tịnh tiến (a=0 và i =0) thì ma trận có dạng:
Trong khớp quay, ma trận A phụ thuộc vào góc quay θ và được xác định bởi các hằng số d, a và α Ngược lại, trong khớp tịnh tiến, ma trận A là hàm số của khoảng dịch d, sử dụng các hằng số θ và α.
Khi các biến số này được xác định, giá trị của các ma trận A tương ứng cũng được xác định
2.1.1.4 Trình tự thiết kế phương trình động học [3]
- Bước 1: Chọn hệ tọa độ gốc, gắn các hệ tọa độ mở rộng lên các khâu
- Bước 2: Xây dựng bảng thông số DH ( Denavit Hartenberg )
- Bước 3: Dựa vào bảng thông số DH, xác định ma trận A
- Bước 4: Tính toán các ma trận T và lập phương trình động học của robot
2.1.2 Phương trình động học nghịch
Khi giải bài toán động học nghịch của robot cần thõa mản 2 điều kiện cơ bản sau:
- Điều kiện tồn tại nghiệm:
Nếu robot có đủ bậc tự do và điểm tác động cuối cùng nằm trong không gian làm việc, thì chắc chắn tồn tại một bộ giá trị (*, d*) cho phép robot đạt được vị trí và hướng của điểm tác động đó.
- Điều kiện duy nhất của tập nghiệm:
Trong quá trình giải bài toán động học nghịch, chúng ta thu được một tập nghiệm, gọi là nghiệm toán, bao gồm 12 phương trình động học Dựa trên các ràng buộc vật lý như ràng buộc tịnh tiến và góc xoay, một tập nghiệm duy nhất được chọn ra, gọi là lớp nghiệm vật lý, để áp dụng vào điều khiển robot Do đó, tập nghiệm vật lý là một tập con của tập nghiệm toán.
CƠ SỞ LÝ THUYẾT XỬ LÝ ẢNH
2.2.1 Tổng quan xử lý ảnh
Gần đây, sự tiến bộ vượt bậc trong phần cứng máy tính và thiết bị liên quan đã nâng cao đáng kể tốc độ tính toán, sức mạnh xử lý và dung lượng lưu trữ Giá thành của công nghệ này cũng giảm mạnh, khiến máy tính và thiết bị xử lý ảnh trở nên phổ biến hơn, không còn chỉ dành cho ứng dụng đặc biệt Với sự phát triển của ảnh kỹ thuật số, việc sử dụng thiết bị cá nhân hoặc chuyên dụng để chụp và xử lý ảnh kỹ thuật số trở nên dễ dàng và thịnh hành.
Con người chủ yếu tiếp nhận thông tin qua các giác quan, với thị giác là quan trọng nhất Sự phát triển mạnh mẽ của phần cứng máy tính và công nghệ xử lý ảnh đã mang lại những tiến bộ lớn, hiện diện trong mọi khía cạnh của cuộc sống hàng ngày Xử lý ảnh và đồ họa đóng vai trò thiết yếu trong tương tác giữa con người và máy tính.
Quá trình xử lý ảnh là thao tác các ảnh đầu vào nhằm tạo ra kết quả mong muốn, có thể là bức ảnh được cải thiện hoặc kết luận cụ thể dựa trên nội dung của ảnh.
Quá trình xử lý ảnh bao gồm nhiều bước cơ bản, dưới đây mô tả các bước cơ bản trong quy trình xử lý ảnh:
Hình 2.4 Quy trình xử lý ảnh cơ bản
2.2.2 Các vấn đề cơ bản trong xử lý ảnh Ảnh và điểm ảnh: Ảnh là một tập hợp các điểm ảnh được biểu thị với mức xám phù hợp, dùng để tái hiện một cảnh thực tế hoặc một đối tượng Mỗi điểm ảnh trong ảnh được xác định bởi một tọa độ (x, y) Điểm ảnh là đơn vị cơ bản nhất trong quá trình tạo thành một hình ảnh kỹ thuật số Độ phân giải của bức ảnh phụ thuộc vào số lượng pixel có trong đó, có nhiều pixel sẽ cung cấp chi tiết hình ảnh cao hơn [5]
Phân loại ảnh dựa trên mức xám của điểm ảnh, thể hiện cường độ sáng qua các giá trị cụ thể tại mỗi điểm ảnh Các mức xám phổ biến bao gồm 16, 32, 64 và 128.
256 Mức phổ biến nhất là 256, sử dụng 1 byte để biểu diễn mức xám [5]
- Ảnh nhị phân: Là loại ảnh chỉ có hai mức trắng và đen, chỉ sử dụng 1 bit dữ liệu cho mỗi điểm ảnh
- Ảnh đen trắng: Là loại ảnh chỉ sử dụng hai màu đen và trắng (không chứa màu khác), với mức xám có thể khác nhau ở từng điểm ảnh
Ảnh màu là loại hình ảnh được tạo ra từ sự kết hợp của ba màu cơ bản, mang đến một thế giới sắc màu phong phú Để mô tả các mức màu, người ta thường sử dụng 3 byte, cho phép tạo ra khoảng 16,7 triệu sắc thái khác nhau.
Phân đoạn ảnh là một bước quan trọng trong xử lý ảnh, nhằm chia ảnh thành các vùng có cùng tính chất dựa trên biên hoặc các vùng kết nối Tiêu chuẩn xác định các vùng kết nối có thể bao gồm cùng mức độ xám, cùng màu sắc hoặc cùng đặc tính nhất định Quá trình này giúp tách các đối tượng quan trọng ra khỏi nền, giữ lại thông tin cần thiết cho ứng dụng, và loại bỏ những phần không cần thiết Nhiều phương pháp khác nhau có thể được áp dụng trong phân đoạn ảnh, chẳng hạn như sử dụng ngưỡng xám để phân chia ảnh thành các vùng đối tượng và nền.
Phép toán hình thái (Morphology) trong xử lý ảnh số là công cụ quan trọng để trích xuất các thành phần từ ảnh nhị phân, đồng thời biểu diễn và mô tả chúng dưới dạng các vùng, đường biên, xương và bao lồi Các phép toán cơ bản của Morphology áp dụng cho ảnh nhị phân bao gồm Dilation, Erosion, Opening và Closing.
- Phép giãn (Dilation) là thao tác giãn nở hoặc phình to các đối tượng ảnh đơn sắc.
- Phép co (Erosion) là thao tác xói mòn hoặc co hẹp các đối tượng ảnh đơn sắc
Phép giãn là quá trình mở rộng các đối tượng trong ảnh bằng cách thêm điểm ảnh, giúp tăng kích thước và làm mượt ranh giới của chúng Ngược lại, phép co giảm kích thước đối tượng bằng cách loại bỏ điểm ảnh ở biên, tạo ra sự thay đổi rõ rệt trong hình ảnh.
Hình 2.5 Phép biến đổi erode và dilate
2.2.3 Phương pháp nhận dạng màu sắc
Không gian màu RGB là một trong những không gian màu phổ biến nhất trong đồ họa máy tính và các thiết bị kỹ thuật số Nó dựa trên sự pha trộn của ba màu cơ bản: đỏ (R), xanh lá cây (G) và xanh dương (B), từ đó tạo ra tất cả các màu sắc khác.
Hình ảnh kỹ thuật số được mã hóa với 24 bit cho phép mỗi kênh màu R, G và B có 8 bit, với giá trị từ 0 đến 255 Sự kết hợp của các giá trị này tạo ra một dải màu sắc phong phú, với tổng cộng 16.777.216 màu khác nhau (256 x 256 x 256).
Màu đen được biểu diễn bởi giá trị (0, 0, 0) cho ba kênh màu, trong khi màu trắng có giá trị (255, 255, 255) Màu vàng được tạo ra với R và G đều là 255, còn B bằng 0, tức là (255, 255, 0) Tương tự, màu tím đậm có thể được biểu diễn bởi giá trị (64, 0, 128) cho các kênh R, G và B.
Sử dụng 16 bit để mã hóa cho mỗi kênh màu, tổng cộng 48 bit cho ba kênh, cho phép biểu diễn lên đến 196,608 giá trị khác nhau cho mỗi kênh, tạo ra một số lượng màu sắc khổng lồ.
Không gian màu HSV (Hue, Saturation, Value) là một công cụ phổ biến trong chỉnh sửa và phân tích ảnh, cũng như trong lĩnh vực máy tính Nó mô tả màu sắc thông qua ba thành phần chính: Hue (màu sắc), được biểu diễn từ 0 đến 360 độ; Saturation (độ bão hòa), thể hiện mức độ thuần khiết của màu trong khoảng từ 0 đến 1; và Value (giá trị cường độ sáng), phản ánh độ sáng của màu từ 0 (tối nhất) đến 1 (sáng nhất).
Hình 2.6 Không gian màu HSV
Mô hình HSV được hình dung như một hình nón hoặc hình trụ trong không gian màu, cho phép điều khiển trực tiếp sắc độ và ánh sáng, phù hợp cho thiết kế đồ họa và xử lý ảnh Nó nổi bật trong các thuật toán xử lý ảnh nhờ khả năng tiêu chuẩn hóa màu sắc và tập trung vào hai yếu tố chính: màu sắc và cường độ Với sự phân chia rõ ràng giữa ánh sáng và màu sắc, mô hình HSV là lựa chọn lý tưởng cho phân tích và so sánh sự tương đồng màu sắc giữa các hình ảnh, đặc biệt trong tìm kiếm hình ảnh dựa trên màu sắc.
Công thức chuyển đổi giữa RGB và HSV:
NGÔN NGỮ PYTHON VÀ THƯ VIỆN OPENCV
Python là một ngôn ngữ lập trình phổ biến, được ứng dụng rộng rãi trong nhiều lĩnh vực từ giáo dục đến các dự án quy mô lớn Ngôn ngữ này cho phép phát triển nhiều loại ứng dụng, bao gồm chương trình cho máy tính cá nhân, máy chủ và ứng dụng web Với cú pháp đơn giản và dễ đọc, Python trở thành lựa chọn lý tưởng cho người mới bắt đầu lập trình Ngay cả những người không có kinh nghiệm cũng có thể hiểu rõ mã nguồn nhờ tính rõ ràng của nó Hơn nữa, Python hỗ trợ chạy trên nhiều hệ điều hành như Windows, macOS và Linux, mang lại tính linh hoạt cho các ứng dụng phát triển từ ngôn ngữ này.
OpenCV (Thư viện Thị giác Máy tính Mã nguồn Mở) là một thư viện mã nguồn mở phổ biến, được sử dụng rộng rãi trong cộng đồng học thuật và nghiên cứu nhờ tính miễn phí Thư viện này có ứng dụng đa dạng trong các lĩnh vực như thị giác máy tính, xử lý hình ảnh và học máy OpenCV hỗ trợ nhiều ngôn ngữ lập trình như C++, C, Python và Java, và có khả năng chạy trên nhiều hệ điều hành như Windows, Linux, macOS, iOS và Android.
OpenCV là một thư viện mạnh mẽ cho phép thực hiện nhiều tác vụ phức tạp như nhận diện hình ảnh, khôi phục video và xử lý hình ảnh cho thực tế ảo Bài viết này sẽ tập trung vào việc sử dụng OpenCV kết hợp với Python để thực hiện xử lý và nhận diện hình ảnh đầu vào.
Một số tính năng chính của OpenCV bao gồm:
OpenCV là một thư viện mạnh mẽ cho xử lý hình ảnh, cho phép người dùng đọc, lưu và ghi tệp hình ảnh dễ dàng Nó cung cấp các công cụ hữu ích để lọc nhiễu, chuyển đổi định dạng và thực hiện nhiều thao tác khác nhau trên hình ảnh, giúp nâng cao chất lượng và tính ứng dụng của chúng.
Xử lý video: Thư viện hỗ trợ các chức năng tương tự đối với video, bao gồm đọc và ghi tệp video
Thư viện có khả năng nhận diện và phân tích các đặc điểm cụ thể trong hình ảnh, bao gồm các hình dạng và đối tượng riêng lẻ.
Phát hiện đối tượng: OpenCV có thể xác định các đối tượng cụ thể như khuôn mặt, mắt, và các phương tiện trong hình ảnh hoặc video
Phân tích video: Thư viện hỗ trợ các tác vụ như ước lượng chuyển động, tách nền, và theo dõi đối tượng trong video.
CHUẨN GIAO TIẾP TRUYỀN THÔNG UART
UART (Universal Asynchronous Receiver/Transmitter) là vi mạch tích hợp trong vi điều khiển và thiết bị điện tử, dùng để truyền và nhận dữ liệu nối tiếp Chức năng chính của UART là kết nối hai thiết bị qua hai phương thức: truyền dữ liệu nối tiếp, nơi thông tin được gửi từng bit một, và truyền dữ liệu song song, nơi nhiều bit được truyền đồng thời Trong giao tiếp dữ liệu nối tiếp, dữ liệu được truyền qua một dây hoặc cáp với chỉ hai dây: một dây TX (truyền) và một dây RX (nhận) Giao tiếp dữ liệu nối tiếp thường tiết kiệm chi phí hơn so với giao tiếp song song, do yêu cầu ít mạch và dây hơn.
Hình 2.7 Giao tiếp UART Ưu điểm:
- Cần chỉ hai dây để truyền dữ liệu
- Không cần tín hiệu CLK để đồng bộ hóa
- Bao gồm bit kiểm tra chẵn lẻ để phát hiện lỗi
- Có thể điều chỉnh được thứ tự truyền gói dữ liệu vì cả TX và RX đều có thể được cấu hình
- Khung dữ liệu có kích thước tối đa là 9 bit
- Không hỗ trợ nhiều hệ thống phụ thuộc
- Tốc độ truyền của UART không thể đạt mức cao như một số giao thức khác
2.4.2 Giao tiếp Serial (UART) trên Arduino
Chuẩn giao tiếp truyền thông nối tiếp UART trên Arduino, còn được gọi là Serial, là một chuẩn giao tiếp phổ biến trong các ứng dụng hệ thống nhúng
Hình 2.8 Giao tiếp UART trên Arduino
Có hai phương pháp để khai báo và sử dụng UART trên Arduino, nhưng phổ biến nhất là lệnh Serial.begin(9600) Lệnh này thiết lập tốc độ baud ở mức 9600 bit mỗi giây và sử dụng khung truyền 8-N-1, bao gồm 8 bit dữ liệu, không có bit kiểm tra chẵn/lẻ và 1 bit kết thúc Đồng thời, lệnh này cấu hình chân digital 0 và digital 1 trên Arduino để thực hiện chức năng truyền và nhận dữ liệu, với chân digital 0 kết nối với bộ nhận dữ liệu và chân digital 1 kết nối với bộ truyền dữ liệu trong vi điều khiển.
Khi sử dụng Board Arduino để giao tiếp với máy tính, bạn không cần thêm linh kiện nào, vì Board Arduino đã tích hợp sẵn chức năng này Chỉ cần kết nối cáp USB là bạn có thể thực hiện việc giao tiếp dễ dàng.
Arduino cung cấp bộ đệm UART tích hợp 256 byte trên Mega 2560, tự động lưu mỗi ký tự nhận được Điều này giúp người dùng dễ dàng đọc dữ liệu từ bộ đệm có sẵn Tuy nhiên, bộ đệm UART sẽ mất dữ liệu ngay sau khi được đọc, vì vậy cần lưu vào một biến để tiếp tục xử lý.
TÍNH TOÁN VÀ THIẾT KẾ
YÊU CẦU ĐIỀU KHIỂN
3.1.1 Điều khiển vị trí (Position Control) Điều khiển vị trí là một yêu cầu cơ bản đối với mọi loại robot, kể cả SCARA Điều này bao gồm:
- Điều khiển vị trí của các khớp (Joint Position Control): Điều chỉnh các góc của từng khớp để đạt được vị trí mong muốn
Điều khiển vị trí của đầu cuối là quá trình điều chỉnh vị trí của đầu cuối để đạt được tọa độ mong muốn trong không gian làm việc.
3.1.2 Điều khiển Mô-men (Torque Control)
Trong nhiều ứng dụng, việc điều khiển mô-men là yếu tố quan trọng để đảm bảo rằng các khớp của robot có thể tạo ra đủ lực cần thiết cho việc thực hiện các nhiệm vụ cụ thể, như nâng một vật thể.
3.1.3 Điều khiển Trajectory (Trajectory Control) Điều khiển quỹ đạo liên quan đến việc lập kế hoạch và thực hiện lộ trình mà robot sẽ theo để di chuyển từ điểm này đến điểm khác Lộ trình này cần được tính toán để tránh va chạm và tối ưu hóa thời gian di chuyển
3.1.4 Điều khiển Động Học và Động Lực Học (Kinematics and Dynamics Control) Động học (Kinematics): Xác định vị trí và vận tốc của đầu cuối dựa trên các góc và vận tốc của các khớp Động lực học (Dynamics): Xác định lực và mô-men cần thiết để thực hiện các chuyển động theo yêu cầu
3.1.5 Điều khiển phản hồi (Feedback Control)
Việc sử dụng cảm biến để thu thập dữ liệu về vị trí, tốc độ và lực là rất quan trọng, vì nó cho phép điều chỉnh điều khiển theo thời gian thực Điều này không chỉ nâng cao độ chính xác của robot mà còn tăng cường độ tin cậy của hệ thống.
Hệ thống điều khiển robot phân loại sản phẩm trên băng tải ứng dụng công nghệ xử lý ảnh cần có những quy chuẩn sau:
Bảng 3.1 Bảng yêu cầu điều khiển của hệ thống
Quy trình Yêu cầu điều khiển
Vận chuyển sản phẩm - Sản phẩm giữ được cân bằng ổn định trên băng tải
- Hệ thống vận hành trơn tru Điều khiển Robot
- Robot vận hành ổn định
- Khả năng di chuyển chính xác đến các vị trí cụ thể trong không gian làm việc
- Nhận diện màu sắc chính xác, nhanh chóng
- Gửi tín hiệu và điều khiển robot phân loại sản phẩm đúng khu vực yêu cầu
Phân loại - Phân loại được các sản phẩm liên tục
- Sản phẩm được phân loại hoàn toàn tự động
YÊU CẦU THIẾT KẾ
Nhóm đã quyết định thiết kế robot SCARA 3 bậc tự do nhằm đáp ứng các yêu cầu về điều khiển và mục đích sử dụng, với những lý do cụ thể sau đây.
Robot Scara 3 bậc tự do sở hữu khả năng di chuyển linh hoạt trong không gian ba chiều, nhờ vào khả năng xoay 360 độ của khớp nối cơ bản và trục Z thẳng đứng Điều này giúp robot thực hiện các nhiệm vụ gắp thả sản phẩm trên băng tải một cách hiệu quả, đặc biệt khi cần xử lý các vị trí khác nhau với độ chính xác cao.
Robot Scara nổi bật với tốc độ hoạt động nhanh và độ chính xác cao, cho phép thực hiện các nhiệm vụ phân loại sản phẩm trên băng tải một cách hiệu quả Với khả năng mang tải trọng nhẹ, robot này đáp ứng tốt các yêu cầu công việc, góp phần nâng cao hiệu suất sản xuất.
Scara có thiết kế đơn giản và nhỏ gọn với cấu trúc 3 bậc, phù hợp cho các môi trường làm việc hạn chế không gian Thiết kế này không chỉ giảm thiểu sự phức tạp trong việc triển khai mà còn dễ dàng hơn trong việc điều khiển so với các loại robot có cấu trúc phức tạp hơn.
Chi phí hợp lý và dễ bảo trì: So với nhiều loại robot công nghiệp khác, Scara
Cấu trúc 3 bậc tự do có chi phí lắp đặt và bảo trì thấp, đồng thời đảm bảo tuổi thọ cao, rất phù hợp cho sinh viên thực hiện đồ án tốt nghiệp Yếu tố chi phí và khả năng vận hành ổn định là những tiêu chí quan trọng mà sinh viên cần xem xét.
Việc lựa chọn robot Scara 3 bậc tự do không chỉ đáp ứng yêu cầu đề tài mà còn mang lại hiệu quả cao trong thực tế Với cấu trúc linh hoạt, độ chính xác cao và chi phí hợp lý, robot Scara trở thành lựa chọn tối ưu cho đồ án tốt nghiệp của nhóm.
ĐỀ XUẤT PHẦN CƠ
- Chọn vật liệu: Chọn Mica để làm kết cấu chính của Robot
• Dễ dàng thiết kế, gia công, lắp ráp
Nhóm đã quyết định gắn động cơ điều khiển khớp thứ nhất vào khâu 1 - phần xoay, nhằm tạo ra chuyển động mượt mà hơn cho hệ thống khi quay quanh khớp 1, so với việc đặt động cơ tại đế - phần đứng.
Hình 3.1 Thiết kế phần đế của robot
- Tiếp theo đến khâu 1, đây là sẽ là trục tịnh tiến lên và xuống Động cơ nhóm chọn đặt ở trên đỉnh để tránh va chạm khi di chuyển
Hình 3.2 Thiết kế khâu 1 của robot
Cuối cùng, trong khâu 2 và 3, cần xem xét trục Vitme của khâu 1 như một trục đối xứng, đồng thời đặt động cơ ở phía bên kia của khâu để đảm bảo hệ thống được cân bằng.
Hình 3.3 Thiết kế khâu 2 và 3 của robot Bảng 3.2 Bảng vật liệu các khâu
KHÂU VẬT LIỆU KHỐI LƯỢNG (KG) Đế Mica + Nhựa ABS 1.319
Vật Formex ( 7.5cm × 7.5cm × 0.8cm) 0.036
3.3.2 Đề xuất chọn động cơ
Khi sử dụng bộ điều khiển TB6600 cho động cơ bước, việc điều chỉnh hệ số chia bước (microstepping) thấp sẽ ảnh hưởng đến hiệu suất hoạt động của động cơ Sự thay đổi này có thể tác động đến độ chính xác, momen xoắn và độ rung của động cơ, từ đó ảnh hưởng đến chất lượng công việc và tuổi thọ của thiết bị.
Mô-men xoắn của động cơ sẽ tăng lên vì động cơ không cần thực hiện các chuyển động nhỏ và chính xác như ở mức chia bước cao hơn, cho phép cung cấp nhiều lực hơn.
• Động cơ có thể hoạt động hiệu quả hơn ở tốc độ cao và sinh nhiệt ít hơn vì các bước lớn hơn
• Tốc độ tối đa của động cơ có thể tăng lên vì động cơ cần ít bước hơn để hoàn thành một vòng quay
- Bên cạnh đó nếu tăng hệ số chia bước thì sẽ dẫn đến:
• Mỗi bước của động cơ sẽ di chuyển một góc nhỏ hơn, điều đó giúp cho độ phân giải vị trí cao hơn và chuyển động mịn hơn
• Động cơ sẽ hoạt động êm hơn và ít rung động hơn vì các bước di chuyển nhỏ hơn và mượt mà hơn
Việc tăng mức độ chia sẻ trong động cơ bước dẫn đến độ phân giải cao hơn, khiến động cơ phải thực hiện nhiều bước hơn giữa hai cực, điều này gián tiếp làm tăng tỷ lệ trượt bước Do đó, nhóm quyết định sử dụng hộp số với tỷ số truyền kết hợp hệ số chia thấp ở TB6600 thay vì chọn hệ số chia bước cao.
ĐỀ XUÂT PHẦN ĐIỆN
Hình 3.4 Các thành phần chính của hệ thống
Camera: có chức năng thu thập hình ảnh từ thực tế và gửi dữ liệu về cho máy tính
Máy tính: nhận dữ liệu và hiển thị ảnh từ webcam và kết quả từ khối điều khiển
Chương trình giao tiếp và điều khiển: giao tiếp giữa người vận hành với hệ thống điều khiển và thực hiện các nguyên lý đề ra
Bộ điều khiển có chức năng truyền nhận dữ liệu điều khiển từ máy tính và gửi tín hiệu điều khiển đến các driver để điều khiển động cơ Ngoài ra, bộ điều khiển còn nhận tín hiệu phản hồi từ các công tắc hành trình và cảm biến.
Khối cảm biến: có chức năng gửi tín hiệu điện cho khối điều khiển khi có vật cản đi qua
Dụng cụ thao tác: gắn trên khâu cuối của robot, dùng để hút và thả sản phẩm trên băng tải
Hình 3.5 Sơ đồ kết nối mạch điều khiển động cơ
Hình 3.6 Sơ đồ kết nối điện của hệ thống Các thành phần chính trong sơ đồ:
- Nguồn tổ ong 24V: dùng để cung cấp nguồn 24V cho toàn bộ hệ thống
- Khối điều khiển động cơ bước TB6600: nhận tín hiệu điều khiển từ Arduino Mega 2560 để điều khiển các động cơ bước
- Driver động cơ DC: điều khiển động cơ bơm hút chân không và động cơ băng tải
- Khối cảm biến: cảm biến cấp tín hiệu cho Arduino để Sethome cho Robot
- Arduino Mega 2560: là bộ điều khiển chính của hệ thống, điều khiển các module động cơ bước TB6600 cũng như module điều khiển động cơ DC L298N
- Nút nhấn ON, OFF và EMERGENCY
- Các đèn báo chỉ thị trạng thái của hệ thống, cho biết hệ thống đang bật hay tắt
Hình 3.7 Lưu đồ thuật toán xử lý ảnh
Chương trình đầu tiên thu thập khung hình từ camera và chuyển đổi từ không gian màu RGB sang không gian màu HSV bằng cách sử dụng thư viện OpenCV Việc chuyển đổi này giúp dễ dàng phân đoạn các màu sắc cụ thể trong hình ảnh.
Sau khi thực hiện chuyển đổi, chúng ta sẽ xác định các dải màu HSV cho các màu cần theo dõi như đỏ, xanh dương, hồng và vàng Những dải màu này sẽ được sử dụng để tạo ra các mặt nạ nhị phân, giúp xác định các vùng màu trong khung hình một cách chính xác.
Chương trình sẽ nhận diện và theo dõi các vùng màu đỏ, xanh dương và vàng trong khung hình Khi phát hiện các vùng màu, nó tính toán và hiển thị tọa độ của chúng Nếu diện tích vùng màu đủ lớn, chương trình sẽ vẽ hình chữ nhật bao quanh và hiển thị tọa độ lên màn hình.
- Chương trình sau đó so sánh vị trí của các vùng màu để đưa ra kết luận về sự di chuyển
Quy trình này được thực hiện liên tục cho đến khi chương trình dừng lại, giúp theo dõi và cập nhật vị trí màu sắc trong thời gian thực.
Hình 3.8 Lưu đồ hoạt động của hệ thống
Trước khi khởi động, hệ thống cần xác định vị trí gốc cho robot, điều này giúp robot nhận biết điểm khởi đầu và có khả năng quay lại vị trí này sau mỗi chu kỳ hoạt động.
Khi hệ thống hoạt động, sản phẩm được vận chuyển trên băng tải, và camera sẽ nhận diện chúng, liên tục cập nhật vị trí trong thời gian thực.
Máy tính sẽ xử lý dữ liệu từ camera để xác định vị trí và màu sắc của các sản phẩm, sau đó gửi tín hiệu điều khiển đến vi điều khiển của robot dựa trên thông tin đã phân tích.
Robot Scara nhận lệnh từ vi điều khiển để gắp sản phẩm từ băng tải Các sản phẩm có màu đỏ, xanh dương, hồng và vàng sẽ được phân loại và chuyển đến các vị trí đích khác nhau theo yêu cầu.
Sau khi đặt các sản phẩm vào vị trí tương ứng, robot sẽ trở về vị trí chờ ban đầu để chuẩn bị cho chu kỳ hoạt động tiếp theo.
Chu trình này sẽ diễn ra liên tục, bao gồm các bước nhận diện, gắp và phân loại sản phẩm, cho đến khi chế độ tự động (Auto) được tạm dừng.
THIẾT KẾ PHẦN MỀM VÀ LỰA CHỌN THIẾT BỊ
Hình 3.9 Giao diện giới thiệu
Hình 3.10 Giao diện điều khiển Dùng thư viện Tkinter của Python để tạo giao diện điều khiển
- On Enable: cho phép chân enable trên arduino để động cơ được hoạt động
- Auto và Manual: chuyển chế độ Auto – tự động phát hiện gắp, thả vật và chế độ Manual – chạy FK ( Forward Kinematics), IK ( Inverted Kinematics) bằng thủ công
- Set Home và Stop: set điểm bắt đầu của Robot và dừng hệ
- Off BT và On BT: chạy và dừng băng tải
- Pick và Place: hút và thả
- 3 thanh kéo để điều chỉnh giá trị theta1, d2 và theta3 ở chế độ Manual
- Thanh kéo để điều chỉnh giá trị tốc độ băng tải
- Set Mode: chọn bộ nghiệm để tính động học nghịch
- Set FK, Solve: cho phép chạy thuận và nghịch lúc ở chế độ Manual
- Bên cạnh khung camera có các ô hiển thị tọa độ của vật
Bảng 3.3 Lựa chọn thiết bị trong hệ thống
- Dây đai GT2 300mm,610mm
Cảm biến quang chữ U ngõ ra TTL:
- Điện áp sử dụng: 3.3 - 5VDC
- Khoảng cách giữa hai mắt phát và thu: 5mm
- Tiếp điểm: 2NO + NC Mạch 8 relay kích High/Low 24VDC:
- Điện áp sử dụng: 24VDC
- Mức kích: High 24VDC , Low 0VDC
Mạch điều khiển động cơ DC L298N:
- IC chính: L298 – Dual Full Bridge Driver
- Điện áp đầu vào: 5 – 30VDC
- Dòng tối đa cho mỗi cầu H: 2A
- Công suất tối đa: 25W 1 cầu
Mạch điều khiển động cơ bước TB6600:
- Ngõ vào có cách ly quang, tốc độ cao
- Có tích hợp đo quá dòng quá áp
Mạch điều khiển Arduino Mega 2560:
- Vi điều khiển chính: ATmega2560
- Điện áp hoạt động: 5VDC
- Số chân Digital: 54 (15 chân PWM)
- Dòng DC trên mỗi chân: 40mA
- Bộ nhớ Flash 256Kb, 8Kb sử dụng cho Bootloader
- Tần số xung clock: 16 MHz Động cơ bước giảm tốc:
- Độ phân giải bước: 1.8 độ
- Điện áp cấp tối đa: 24VDC
- Dòng sử dụng tối đa: 1.5A
- Momen xoắn: 74N.cm Động cơ DC giảm tốc:
- Điện áp định mức: 24VDC
- Dòng định mức không tải: 0.3A
- Tốc độ định mức: 48RPM
- Đường kính trục đầu ra: 6mm Động cơ bơm hút chân không:
- Điện áp định mức: 24VDC
- Áp suất tối đa: 70Kpa
- Lực hút tối đa: -50Kpa
- Độ phân giải tối đa: 720p/30fps
- Chất liệu: PVC màu xanh
- Đầu vào: 110VAC – 220VAC (chỉnh bằng công tắc gạt)
TÍNH TOÁN
Hình 3.11 Hệ trục tọa độ cho robot Dựa vào mô hình đặt trục tọa độ cho robot, ta có bảng thông số DH như sau:
Bảng 3.4 Bảng thông số D-H Scara i a i − 1 i − 1 d i i
Từ đó ta có các ma trận chuyển đổi đồng nhất:
Ta có điểm đầu cuối:
Dựa vào điểm đầu cuối của động học thuận, ta có:
Bình phương và cộng ( ) 1 và ( ) 2 , ta có:
Dựa vào mô phỏng lại mô hình thực trong Simscape, nhóm đã thấy được giá trị torque cao nhất mà động cơ ở khớp 1 đạt được là 0.4 N m
Sau đó nhân với hệ số an toàn, ở đây nhóm chọn hệ số là 1.5 :
0.4 1.5 =0.6 N m (3.11) Tiếp theo thì chọn động cơ có giá trị Torque cao hơn thông số vừa tìm được để bảo đảm an toàn
Hình 3.12 Torque động cơ 1 Tương tự với động cơ khớp thứ 3 Ta lấy Torque cao nhất nhân với hệ số an toàn:
Hình 3.13 Torque động cơ 3 Đối với động cơ thứ 2, đây là trục Vitme nên ta sẽ tính toán torque dựa theo công thức dưới đây
• Tải ở đây sẽ là tổng khối lượng khâu 2, 3 và vật
Trong đó: m: Khối lượng tải ( ) kg g: Gia tốc trọng trường ( m s / 2 )
Trong đó: F: Lực tác động ( ) N
P: Khoảng cách mà đai ốc di chuyển được khi trục vitme quay một vòng ( ) m
F 0: Lực ma sát bên trong (quy ước bằng 1
0: Hệ số ma sát trong
Ta lấy Torque nhân với hệ số an toàn:
Ta có đường kính của các Puly:
- Đường kính Puly nhỏ ( động cơ ): D 1 =12 mm
- Đường kính Puly lớn ( trục xoay ): D 2 =37.76 mm
Khoảng cách giữa 2 tâm Puly:
- Từ trục động cơ khớp 1 đến trục xoay khớp 1: C 1 =109 mm
- Từ trục động cơ khớp 3 đến trục xoay khớp 3: C 2 =268 mm
Gọi chiều dài dây đai khớp 1 là L 1 , khớp 2 là L 2 :
Chọn đai thứ nhất dài 300mm, đai thứ hai dài 610mm
3.6.5 Tính toán vận tốc băng tải
- Với đường kính rulo chủ động D@mm
- Động cơ giảm tốc 24V tốc độ 48 vòng/phút
- Ta có tốc độ truyền động trên băng tải:
Sử dụng mạch cầu H L298 để điều chế xung PWM giúp điều chỉnh tốc độ động cơ băng tải dài 50cm Nhóm đã sử dụng đồng hồ bấm giờ để đo thời gian cho vật di chuyển hết băng tải Qua nhiều lần thực nghiệm và hiệu chỉnh, nhóm đã xác định được vận tốc và hệ số PWM tương ứng, chọn ra 3 mốc vận tốc thực hiện trên mô hình là 4cm/s, 6cm/s và 8cm/s.
THI CÔNG HỆ THỐNG
GIỚI THIỆU
Phần thi công hệ thống là bước thiết yếu để chuyển đổi thiết kế và lý thuyết thành hiện thực trong dự án xây dựng robot SCARA Mục tiêu chính là triển khai giải pháp kỹ thuật, lắp ráp các thành phần cơ khí và điện tử, lập trình điều khiển, và kiểm tra tính năng của robot trong thực tế.
THI CÔNG HỆ THỐNG
Trong giai đoạn này, chúng tôi đã xây dựng một kế hoạch chi tiết cho việc thi công hệ thống, bao gồm lịch trình công việc cụ thể và phân công nhiệm vụ cho từng thành viên Kế hoạch tập trung vào các công đoạn chính như mua sắm linh kiện, lắp ráp cơ khí, lắp đặt hệ thống điện tử, lập trình và kiểm tra.
Thiết kế cơ khí của Robot Scara được thực hiện theo các bản vẽ kỹ thuật đã chuẩn bị trước đó Quá trình lắp ráp bao gồm:
Lắp ráp khung chính và các cánh tay Robot từ nhựa Mica và trục đồng giúp đảm bảo độ bền và tiết kiệm chi phí.
Cơ cấu truyền động được thiết kế với việc lắp đặt các động cơ step đi kèm hộp số và hệ thống bánh răng, nhằm đảm bảo chuyển động của các khớp diễn ra một cách chính xác và mượt mà.
4.2.3 Lắp đặt hệ thống điện - điện tử
Phần điện - điện tử của robot bao gồm các bước sau:
- Bộ điều khiển: Lựa chọn và lắp đặt bộ điều khiển chính (Arduino Mega) để điều khiển các động cơ và xử lý dữ liệu cảm biến
- Cảm biến: Lắp đặt các cảm biến (cảm biến quang hồng ngoại ) để thu thập dữ liệu và phản hồi về bộ điều khiển
- Đi dây và kết nối: Thiết kế và đi dây các kết nối điện tử giữa các thành phần, đảm bảo an toàn và hiệu quả
4.2.4 Lập trình và kiểm tra
Lập trình điều khiển là quá trình viết và tải chương trình điều khiển lên bộ điều khiển, bao gồm việc phát triển các thuật toán điều khiển chuyển động và xử lý phản hồi từ cảm biến.
Kiểm tra và hiệu chỉnh robot là bước quan trọng để đảm bảo hoạt động chính xác và ổn định Quá trình này bao gồm việc kiểm tra độ chính xác của chuyển động, khả năng chịu tải và khả năng hoạt động liên tục của robot Việc hiệu chỉnh các thông số cần thiết giúp tối ưu hóa hiệu suất và độ tin cậy của thiết bị.
KẾT QUẢ
4.3.1 Thi công trên phần mềm
Hình 4.1 Mô hình robot Scara 3 bậc
Hình 4.2 Mô hình Simscape của robot
Hình 4.3 Mô phỏng Matlab Simulink
Hình 4.4 Không gian làm việc của robot
Hình 4.5 Mô hình thực tế
KẾT QUẢ THỰC HIỆN
MÔ PHỎNG
Cho Scara đi từ điểm A( X = 32, Y = 5) đến điểm B ( X = 2, Y 0 ), giữ nguyên độ cao Z Đơn vị cm
Hình 5.1 Đồ thị vị trí Px
Hình 5.2 Đồ thị vị trí Py
Từ hình 5.1 và hình 5.2, ta có thể thấy được robot đi theo 1 đường thằng từ điểm A đến B, Px và Py tiến dần từ giá trị A đến B
Giá trị mẫu được xử lý qua khối nghịch để chuyển đổi thành giá trị góc, sau đó chuyển sang giá trị xung nhằm so sánh với giá trị thực Cuối cùng, giá trị này được đưa vào khối thuận để tính toán giá trị vị trí Kết quả cho thấy Px và Py theo sát tín hiệu mẫu, chứng tỏ phương trình thuận nghịch đã được xác nhận đúng.
Hình 5.3 Đồ thị vận tốc Px
Vận tốc bắt đầu và kết thúc ở mức 0, trong quá trình chuyển đổi giữa các vị trí (Px, Py), giá trị vận tốc thay đổi nhẹ và theo tín hiệu đã được đặt.
Hình 5.5 minh họa sự biến đổi góc của động cơ 1 và động cơ 3 trong quá trình robot theo dõi quỹ đạo đã được quy hoạch.
Tổng thể qua Simscape thể hiện:
Hình 5.6 Mô phỏng quy hoạch quỹ đạo robot
KẾT QUẢ XỬ LÝ ẢNH
Hình 5.7 a) Ảnh ban đầu của vật màu đỏ b) Ảnh nhị phân của vật màu đỏ c) Ảnh phân vùng của vật màu đỏ
Hình 5.8 a) Ảnh ban đầu cùa vật màu xanh b) Ảnh nhị phân của vật màu xanh c) Ảnh phân vùng của vật màu xanh
Hình 5.9 a) Ảnh ban đầu cùa vật màu hồng b) Ảnh nhị phân của vật màu hồng c) Ảnh phân vùng của vật màu hồng
Hình 5.10 a) Ảnh ban đầu cùa vật màu vàng b) Ảnh nhị phân của vật màu vàng c) Ảnh phân vùng của vật màu vàng
MÔ HÌNH THỰC TẾ
Hình 5.11 Giao diện điều khiển khi robot chưa phát hiện vật
Hình 5.12 Robot ở vị trí chờ khi chưa có vật
Hình 5.13 Giao diện điều khiển khi phát hiện sản phẩm màu xanh
Hình 5.14 Robot di chuyển tới vị trí sản phẩm và hút
Hình 5.16 Giao diện điều khiển khi phát hiện sản phẩm màu đỏ
Hình 5.17 Robot di chuyển tới vị trí sản phẩm và hút
Hình 5.18 Robot di chuyển tới vị trí thả sản phẩm màu đỏ
KẾT QUẢ THỐNG KÊ
5.4.1 Thống kê độ chính xác
Xét 1 loại vật thể, chạy nhiều lần mẫu để kiểm tra độ chính xác trong việc nhận diện phân loại vật của xử lý ảnh
5.4.1.1 Trường hợp ánh sáng môi trường cao
Bảng 5.1 Bảng thống kê độ chính xác môi trường ánh sáng cao
Số lần nhận dạng chính xác
Số lần nhận dạng sai Độ chính xác (%) Đỏ 70 70 0 100%
5.4.1.2 Trường hợp ánh sáng môi trường thấp
Bảng 5.2 Bảng thống kê độ chính xác môi trường ánh sáng thấp
Số lần nhận dạng chính xác
Số lần nhận dạng sai Độ chính xác (%) Đỏ 70 63 7 90%
Hệ thống của nhóm đã đạt hiệu suất chính xác mục tiêu hơn 97%, tuy nhiên, trong điều kiện ánh sáng thấp, ánh sáng môi trường ảnh hưởng đến pixel màu trong xử lý ảnh, dẫn đến việc phân tích màu bị nhiễu và tỷ lệ chính xác giảm xuống còn 91.06%.
5.4.2 Thống kê độ ổn định
Xét 1 vật cụ thể, chạy nhiều lần thử nghiệm để kiểm tra độ ổn định của mô hình
5.4.2.1 Trường hợp tốc độ băng tải thấp nhất (4cm/s)
Bảng 5.3 Bảng thống kê độ ổn định tốc độ băng tải thấp Màu Số lần thử Số lần gắp chính xác Số lần gắp sai Độ ổn định (%) Đỏ 70 69 1 98.57%
5.4.2.2 Trường hợp tốc độ băng tải cao nhất (8cm/s)
Bảng 5.4 Bảng thống kê độ ổn định tốc độ băng tải cao Màu Số lần thử Số lần gắp chính xác Số lần gắp sai Độ ổn định (%) Đỏ 70 65 5 92.85%
Hệ thống của nhóm đã đạt hiệu suất ổn định hơn 98%, tuy nhiên, khi băng tải hoạt động với tốc độ cao, độ ổn định giảm xuống còn 93.35% Nguyên nhân chính của sự giảm sút này là do giới hạn phần cứng, khi tốc độ động cơ không kịp theo kịp với tốc độ băng tải, cùng với hiện tượng trượt bước của Step dẫn đến độ chính xác khi gắp bị lệch.