Luận văn ứng dụng công nghệ xử lý ảnh cho Robot SCARA để phân loại sản phẩm theo màu sắc và hình dạng từ đó đưa ra quyết định cho cánh tay.
TỔNG QUAN
Tổng quan đề tài
Ngày nay, sự phát triển nhanh chóng của khoa học kỹ thuật đã thúc đẩy việc ứng dụng công nghệ Robot trong sản xuất và đời sống, nhằm nâng cao chất lượng cuộc sống và giảm bớt sức lao động trong môi trường làm việc khó khăn Robot được sử dụng phổ biến trong các ngành sản xuất dây chuyền và công nghệ cao nhờ khả năng đảm bảo độ chính xác và tính liên tục mà con người và máy móc khó đạt được Hơn nữa, Robot còn có khả năng thay thế con người trong những công việc nặng nhọc, độc hại và ở nhiệt độ cao, góp phần cải thiện hiệu suất lao động.
Hình 1.1: Dây chuyền sản xuất ô tô tự động bằng Robot
Nhận thức được tầm quan trọng của Robot trong đời sống con người, các quốc gia phát triển đang cạnh tranh khốc liệt trong nghiên cứu và chế tạo Robot thế hệ mới Nhiều công ty trên toàn cầu đang nỗ lực sản xuất và phát triển Robot với khả năng tư duy giống như con người Lĩnh vực Robot ngày càng thu hút sự quan tâm của các nhà nghiên cứu và xã hội, dự đoán sẽ trở thành tâm điểm của một cuộc cách mạng lớn sau Internet Với xu hướng này, thị trường Robot hứa hẹn sẽ vô cùng rộng lớn trong tương lai.
Dựa trên nhu cầu thực tế và niềm đam mê với robot, cùng với sự hướng dẫn của thầy Đường Khánh Sơn, em đã quyết định chọn đề tài "Robot SCARA ỨNG".
DỤNG XỬ LÝ ẢNH PHÂN LOẠI SẢN PHẨM THEO MÀU SẮC VÀ HÌNH DẠNG” cho luận văn tốt nghiệp của mình
Hình 1.2: Robot Scara phân loại sản phẩm
Thiết kế và chế tạo mô hình Robot SCARA hoàn chỉnh Từ đó, thiết kế bộ điều khiển và giao diện điều khiển cho Robot
Việc áp dụng công nghệ xử lý ảnh trong phân loại sản phẩm tự động giúp nâng cao năng suất và chất lượng sản xuất, đồng thời giảm bớt gánh nặng lao động cho con người trong quy trình sản xuất.
Mục tiêu của việc làm chủ kỹ thuật chế tạo Robot là phục vụ cho việc học tập và nghiên cứu trong các phòng thí nghiệm của trường cao đẳng, đại học, đồng thời ứng dụng hiệu quả trong sản xuất công nghiệp.
Vận dụng và củng cố kiến thức đã học để phát triển mô hình cánh tay Robot đạt mục tiêu đề ra Đồng thời, nâng cao kỹ năng sử dụng các phần mềm hỗ trợ như Inventor, Matlab, và Arduino IDE.
1.1.3 Giới hạn đề tài Đề tài “ Thiết kế và chế tạo mô hình Robot Scara phân loại sản phẩm theo màu sắc và hình dạng” dùng một camera đặt cố định để thu nhận ảnh, ảnh thu được sắc và hình dạng từ đó điều khiển cánh tay Robot Scara thực hiện chuyển động gắp và phân loại sản phẩm ở bất kỳ vị trí nào trong phạm vi hoạt động của nó.
Giới thiệu sơ lượt về Robot công nghiệp
Robot là máy móc tự động hoạt động nhờ vào lập trình từ máy tính hoặc vi mạch điện tử Chúng được sử dụng trong công nghiệp để lắp ráp, sản xuất và chế biến sản phẩm theo trình tự đã được lập trình sẵn Robot mang lại nhiều lợi ích cho con người, đặc biệt trong các môi trường khắc nghiệt, độc hại và nguy hiểm Với độ chính xác cao và hiệu quả vượt trội, robot công nghiệp ngày càng thay thế các phương pháp sản xuất thủ công.
Hình 1.3: Cánh tay Robot 5 bậc tự do của hãng YASKAWA MOTOMAN
1.2.1 Lịch sử hình thành và phát triển
Thuật ngữ Robot xuất hiện vào năm 1920 trong một tác phẩm văn học của nhà văn tiệp khắc có tên là Karel Capek
Thuật ngữ "Robot công nghiệp" (Industrial Robot - IR) lần đầu tiên được giới thiệu tại Mỹ bởi công ty AMF (American Machine and Foundry Company), với quảng cáo về một thiết bị tự động mô phỏng hình dáng và chức năng của tay người, có khả năng thực hiện các thao tác trong quá trình sản xuất Thiết bị này được gọi là Versatran.
Quá trình phát triển của IR được tóm tắt như sau:
- Từ những năm 1950 ở Mỹ xuất hiện viện nghiên cứu đầu tiên
- Vào đầu những năm 1960 xuất hiện sản phẩm đầu tiên có tên gọi là Versatran của công ty AMF
- Ở Anh người ta bắt đầu nghiên cứu và chế tạo IR theo bản quyền của Mỹ từ những năm 1967
- Ở các nước Tây Âu khác như: Đức, Ý, Pháp, Thuỵ Điển thì bắt đầu chế tạo IR từ những năm 1970
- Châu á có Nhật Bản bắt đầu nghiên cứu ứng dụng IR từ năm 1968
- Nhất là vào những năm 1990 số lượng Robot công nghiệp đã gia tăng với nhiều tính năng vượt bậc
Ngày nay, trên thế giới có khoảng 200 công ty sản xuất IR, trong đó ở Nhật có
Số lượng robot công nghiệp đã tăng nhanh chóng nhờ áp dụng các tiến bộ khoa học kỹ thuật về vi xử lý, tin học và vật liệu mới, với giá thành giảm đáng kể và tính năng được cải tiến Tại các nước Tây Âu, tỷ lệ sử dụng robot công nghiệp đạt 90%, trong khi ở Mỹ là 30% Robot công nghiệp phát huy thế mạnh trong các lĩnh vực như hàn hồ quang, đúc, lắp ráp, sơn phủ và trong các hệ thống điều khiển liên hợp.
1.2.2 Cấu trúc cơ bản của Robot công nghiệp
1.2.2.1 Các thành phần chính của Robot công nghiệp
Hình 1.4: Sơ đồ khối của Robot công nghiệp
Robot công nghiệp bao gồm các thành phần chính như cánh tay Robot, nguồn động lực, dụng cụ gắn lên khâu chấp hành cuối, cảm biến, bộ điều khiển, thiết bị dạy học và máy tính Ngoài ra, phần mềm lập trình cũng là một phần quan trọng trong hệ thống Robot.
Hình 1.5: Các thành phần chính của hệ thống Robot
Cánh tay Robot, hay tay máy, là một cấu trúc cơ khí bao gồm các khâu liên kết qua các khớp động, cho phép thực hiện những chuyển động cơ bản Cổ tay mang lại sự khéo léo và linh hoạt, trong khi bàn tay đảm nhiệm vai trò trực tiếp trong việc thao tác trên các đối tượng.
Nguồn động lực cho tay máy bao gồm các loại động cơ điện như động cơ DC, động cơ servo và động cơ step, cùng với hệ thống xi-lanh khí nén và thủy lực, giúp tạo ra sức mạnh cần thiết để vận hành.
Dụng cụ thao tác trên robot, thường được gắn ở khâu cuối, có nhiều kiểu dáng khác nhau, bao gồm bàn tay để nắm bắt đối tượng và các công cụ như mỏ hàn, đá mài, hay đầu phun sơn.
Thiết bị dạy-học (Teach-Pendant) là công cụ quan trọng giúp dạy Robot các thao tác cần thiết cho quá trình làm việc Sau khi được lập trình, Robot có khả năng tự động lặp lại các động tác đã được dạy, nâng cao hiệu quả làm việc.
Hệ thống cảm biến bao gồm các cảm biến và thiết bị chuyển đổi tín hiệu cần thiết để nhận biết trạng thái của các cơ cấu robot cũng như tình trạng môi trường xung quanh.
Hệ thống điều khiển: Máy tính hay vi xử lý để giảm sát và điều khiển hoạt động của Robot
Các phần mềm để lập trình và các chương trình điều khiển Robot: Được cài đặt trên máy tính, dùng điều khiển Robot thông qua bộ điều khiển (controller)
Một bộ điều khiển có thể kết nối với nhiều thiết bị khác nhau thông qua các cổng vào-ra (I/O port), như cảm biến giúp Robot nhận biết trạng thái và xác định vị trí của đối tượng, cũng như điều khiển băng tải và cơ cấu cấp phôi hoạt động đồng bộ với Robot.
1.2.2.2 Kết cấu của tay máy
Tay máy là thành phần quan trọng quyết định hiệu suất làm việc của Robot, cho phép chúng di chuyển và thực hiện các thao tác Nhiều tay máy được thiết kế dựa trên cấu trúc và chức năng của tay người, nhưng hiện nay có nhiều kiểu dáng khác nhau Khi thiết kế và sử dụng tay máy, cần chú ý đến các thông số như tầm với, số bậc tự do, độ cứng vững, tải trọng vật nâng và lực kẹp để đảm bảo hiệu quả làm việc của Robot.
Các tay máy thường có cấu trúc gồm nhiều khâu liên kết với nhau qua các khớp, tạo thành một chuỗi động học từ thân đến đầu công tác Các loại khớp phổ biến bao gồm khớp trượt và khớp quay Sự khác biệt về số lượng và cách bố trí các khớp cho phép tạo ra nhiều kiểu tọa độ khác nhau cho các tay máy.
1.2.2.3 Phân loại theo hình dạng hình học của không gian hoạt động
Robot được phân loại dựa trên sự kết hợp của ba trục chuyển động cơ bản, sau đó được cải tiến để tăng cường bậc chuyển động, nhằm nâng cao độ linh hoạt Không gian làm việc của robot là vùng giới hạn tầm hoạt động của chúng.
- Robot khớp bản lề (Articular Robot) : Có ba bậc chuyển động cơ bản gồm ba trục chuyển động quay
- Robot toạ độ trụ (Cylindrical Robot) : Có ba bậc chuyển động cơ bản gồm hai trục chuyển động tịnh tiến và một chuyển động trục quay
- Robot toạ độ cầu (Spherical Robot) : Có ba bậc chuyển động cơ bản gồm một trục chuyển động tịnh tiến và hai trục chuyển động quay
- Robot Scara (Scara Robot): Có ba bậc chuyển động cơ bản gồm một trục chuyển động tịnh tiến và hai trục chuyển động quay
- Robot toạ độ vuông góc (Cartesian Robot) : Có ba bậc chuyển động cơ bản gồm ba chuyển động tịnh tiến dọc theo ba trục vuông góc
Hình 1.6: Phân loại Robot theo hình dạng hình học của không gian hoạt động
1.2.2.4 Phân loại theo thế hệ
Theo phân loại dựa trên chủng loại, mức độ điều khiển và khả năng nhận biết thông tin, robot trên toàn thế giới có thể được chia thành các thế hệ IR khác nhau.
- Thế hệ 1: Thế hệ có kiểu điều khiển theo chu kỳ dạng chương trình cứng không có khả năng nhận biết thông tin
- Thế hệ 2: Thế hệ có điều khiển theo chu kỳ dạng chương trình mềm bước đầu đã có khả năng nhận biết thông tin
Thế hệ 3 là thế hệ có khả năng điều khiển thông minh, có khả năng nhận biết thông tin và đã phát triển một số chức năng lý trí tương tự như con người.
1.2.2.5 Phân loại theo hệ thống truyền động
Giới thiệu sơ lượt về Robot Scara
Robot Scara, được phát triển vào năm 1979 tại trường đại học Yasamaski, Nhật Bản, là một loại tay máy đặc biệt với hai khớp quay và một khớp trượt, tất cả đều có trục song song Kết cấu này giúp tay máy trở nên cứng cáp hơn theo phương thẳng đứng nhưng lại kém vững hơn theo phương ngang Robot Scara chủ yếu được sử dụng trong các ứng dụng lắp ráp với tải trọng nhỏ theo phương đứng.
Robot Scara, viết tắt của “Selective Compliance Articulated Robot Actuator”, được thiết kế bởi nhiều hãng nổi tiếng như Hitachi, Mitsubishi, IBM, MOTOMAN, EPSON, PANASONIC và SONY để phục vụ cho các mục đích như hàn, lắp ráp, vận chuyển, khoan và doa Hiện nay, các nhà sản xuất đang không ngừng cải tiến bộ điều khiển và kết cấu cơ khí của Robot Scara nhằm tăng cường tính linh hoạt và hiệu suất làm việc.
Hình 1.14: Robot SCARA của hãng MITSUBISHI
Robot Scara có vùng hoạt động hình trụ, với cấu hình khớp nối bản lề và khớp trượt, là loại dễ thực hiện nhất Chúng rất phổ biến trong công nghiệp nhờ khả năng sử dụng trực tiếp các cơ cấu chuyển động quay như động cơ điện và khí nén Với hai khớp xoay song song, Robot Scara có khả năng thao tác trên mặt phẳng, thường được dùng để gắp, nhả vật, lắp ráp hoặc cầm nắm máy công cụ.
Hình 1.15: Robot SCARA trong dây chuyền sản xuất linh hoạt
- Mặc dù chiếm diện tích làm việc ít nhưng tầm vươn khá lớn, tỉ lệ kích thước/tầm vươn được đánh giá cao
Cấu hình khớp nối bản lề với ba trục quay theo phương thẳng đứng là giải pháp hình học đơn giản và hiệu quả nhất cho việc lắp đặt chi tiết theo phương thẳng Trong trường hợp này, bài toán tọa độ hoặc quỹ đạo chuyển động của robot chỉ cần giải quyết ở hai phương x và y, trong khi ba chuyển động quay quanh ba trục song song với trục z sẽ được phối hợp.
ĐỐI TƯỢNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU
Đối tượng nghiên cứu
Đề tài “Thiết kế và chế tạo Robot Scara phân loại sản phẩm theo màu sắc và hình dạng” bao gồm các thành phần chính:
- Thiết kế mô hình cho Robot Scara bằng phần mềm Inventor 3D
- Tìm hiểu cách liên kết Matlab với Inventor 3D
- Xây dựng mô hình Matlab Simulink và tiến hành mô phỏng
- Thiết kế mạch điện điều khiển cho Robot
- Xây dựng chương trình điều khiển cánh tay Robot
- Áp dụng giải thuật điều khiển PID cho động cơ DC
- Tìm hiểu giao tiếp I2C giữa các board mạch Arduino
- Thiết kế giao diện người dùng trên trên phần mềm Matlab
- Tìm hiểu cách giao tiếp Matlab với Arduino thông qua cổng COM
- Xây dựng phương trình động học thuận, động học ngược cho Robot
- Ứng dụng công nghệ xử lý ảnh vào mô hình Robot Scara để phân loại sản phẩm
- Chạy mô hình thực tế
Đề tài luận văn tập trung vào ứng dụng công nghệ xử lý ảnh cho Robot, nhằm xây dựng cánh tay Robot công nghiệp hoàn chỉnh phục vụ ngành sản xuất Ngoài ra, nghiên cứu còn hỗ trợ mục đích học tập và nghiên cứu trong các phòng thí nghiệm của trường cao đẳng, đại học Luận văn sẽ phát triển mô hình Robot Scara, có khả năng sử dụng công nghệ xử lý ảnh để nhận diện màu sắc và hình dạng đối tượng, từ đó đưa ra quyết định cho cánh tay Robot.
Phương pháp nghiêm cứu
Matlab là phần mềm mạnh mẽ trên máy tính PC, chuyên hỗ trợ tính toán khoa học và kỹ thuật, với các ma trận là yếu tố cơ bản.
Matlab, viết tắt của Matrix và Laboratory, tập trung vào các phép toán vector và ma trận Chương trình này bao gồm các hàm toán học, chức năng xuất nhập và khả năng điều khiển mạnh mẽ.
Hình 2.1: Phần mềm Matlab
2.2.1.2 Hệ thống làm việc của Matlab
Hệ thống giao diện của Matlab được chia thành 5 phần:
Môi trường phát triển là không gian chứa các thanh công cụ và phương tiện hỗ trợ người dùng trong việc thực hiện lệnh và quản lý file Một số thành phần quan trọng trong môi trường này bao gồm Desktop, Command Window, Command History và các trình duyệt để xem hướng dẫn.
Thư viện toán học cung cấp nhiều hàm hữu ích, bao gồm các cấu trúc cơ bản như tính tổng, sin, cos, atan, và atan2 Ngoài ra, nó còn hỗ trợ các phép tính phức tạp như tính ma trận nghịch đảo, trị riêng, cũng như các phép biến đổi Fourier và Laplace, cùng với thư viện xử lý ký hiệu.
Ngôn ngữ Matlab là một ngôn ngữ lập trình mạnh mẽ chuyên về ma trận và mảng, cho phép người dùng thực hiện các dòng lệnh và sử dụng các hàm linh hoạt Với khả năng xử lý cấu trúc dữ liệu đầu vào và hỗ trợ lập trình hướng đối tượng, Matlab trở thành công cụ lý tưởng cho các ứng dụng khoa học và kỹ thuật.
- Đồ hoạ trong Matlab: Bao gồm các câu lệnh thể hiện đồ họa trong môi trường
2D và 3D, tạo các hình ảnh chuyển động, cung cấp các giao diện tương tác giữa người sử dụng và máy tính
- Giao tiếp với các ngôn ngữ khác: Matlab cho phép tương tác với các ngôn ngữ khác như C, Fortran,…
2.2.1.3 Giao diện làm việc của Matlab
Hình 2.2; Giao diện làm việc của Matlab
Cửa sổ Command Window là giao diện chính của Matlab, nơi người dùng có thể nhập giá trị biến, hiển thị và tính toán biểu thức, cũng như thực thi các hàm có sẵn hoặc do người dùng lập trình trong M-file Các lệnh được nhập sau dấu nhắc “>>”, và nếu có sai sót trong quá trình nhập, người dùng chỉ cần nhấn phím Enter cho đến khi nhận được dấu nhắc “>>” để tiếp tục Để thực thi lệnh, chỉ cần nhấn phím Enter.
- Cửa sổ Command History: Các dòng mà bạn nhập vào trong cửa sổ Command
Cửa sổ Command History lưu trữ các dòng lệnh và biến, cho phép người dùng dễ dàng tái sử dụng chúng bằng cách nhấp chuột vào các lệnh hoặc biến đã thực hiện.
Cửa sổ Workspace hiển thị tên các biến, kích thước vùng nhớ (số bytes) và kiểu dữ liệu (lớp) mà bạn sử dụng Nó cũng cho phép bạn thay đổi giá trị và kích thước của biến bằng cách nhấp chuột vào các biến hoặc nhấn vào nút bên trái cạnh nút lưu Các biến sẽ được giải phóng sau mỗi lần tắt chương trình.
Khi chọn biến (giả sử là biến b) và nhấn nút bên cạnh nút "save", bạn sẽ mở ra cửa sổ Variable Editor Tiêu đề của cửa sổ sẽ hiển thị tên biến b, trong khi định dạng dữ liệu được ghi trong ô "Numeric format", với giá trị mặc định là dạng short và kích thước là 1 by 3.
Trong cửa sổ này, chúng ta có thể thay đổi kích thước của một hàng và ba cột bằng cách điều chỉnh giá trị trong ô kích thước size Dữ liệu của biến b được lưu trữ dưới dạng các biến có thể thay đổi thông qua các ô tương ứng Tất cả các biến đều được lưu trong Workspace, nơi thể hiện kích thước (size), số Bytes và kiểu dữ liệu (class), với 8 bytes cho mỗi phần tử dữ liệu kiểu double, cụ thể là 24 bytes cho biến b và 8 bytes cho biến a.
Cửa sổ M-file là công cụ dùng để soạn thảo và thực thi chương trình ứng dụng Để chạy chương trình trong M-file, người dùng chỉ cần nhập tên file vào cửa sổ Command window Chương trình trong M-file có thể được viết dưới dạng Script file, bao gồm tập hợp các câu lệnh liệt kê mà không có biến dữ liệu đầu vào hoặc đầu ra.
+ Dạng hàm function: Có biến dữ liệu vào và biến ra
GUI (Giao diện đồ họa người dùng) là một hệ thống giao diện cho phép người dùng tương tác thông qua các thanh công cụ được lập trình sẵn Mỗi chương trình đều có giao diện riêng, thực hiện các chức năng cụ thể do lập trình viên thiết kế Matlab là một công cụ mạnh mẽ cho việc lập trình giao diện, cho phép tạo ra các giao diện người dùng tương tự như trong Visual Basic (VB) hoặc C++.
Giao diện người dùng (GUI) cung cấp các chương trình hỗ trợ thực hiện phép toán logic, mô phỏng không gian 2D và 3D, hiển thị và đọc dữ liệu, cũng như liên kết đa phương tiện Nó tương tác với người dùng thông qua hình ảnh và các nút nhấn thực thi, tạo nên trải nghiệm sử dụng trực quan và hiệu quả.
Hầu hết các giao diện người dùng đồ họa (GUI) thực hiện lệnh của người dùng thông qua các tương tác trực tiếp, cho phép người sử dụng không cần hiểu cấu trúc chương trình mà vẫn có thể thao tác dễ dàng Các chức năng của GUI được thực hiện thông qua các hàm CALLBACK, được kích hoạt khi người dùng tương tác với giao diện theo nhiều cách khác nhau.
2.2.2.2 Khởi động GUI Để khởi động GUI tại cửa sổ Command Window gõ lệnh “guide” và nhấn enter, lập tức cửa sổ GUIDE Quick Start xuất hiện
Hình 2.3: Cửa sổ GUIDE Quick Start
Tại tab "Create New GUI", chọn "Blank GUI (Default)" để bắt đầu tạo một giao diện người dùng trống Các tùy chọn khác cho phép khởi động GUI với giao diện đã được thiết lập sẵn.
Tại tab Open Existing GUI là nơi bạn có thể mở các GUI mà bạn đã làm và lưu trước đó, file này có đuôi là fig
Nhấp chọn “OK” để tạo một GUI bắt đầu với giao diện trống Ta được giao diện Blank GUI mặc định như sau:
Hình 2.4: Giao diện Blank GUI mặc định
2.2.2.3 Chức năng của các công cụ trong GUI
Chức năng các công cụ cơ bản
1 Nhấp chuột vào để thay đổi độ rộng của giao diện
2 Là nơi để cân chỉnh các nút, biểu tượng trên giao diện
3 Là nơi để tạo giao diện con liên kết với giao diện chính
4 Nút Play (Run) để thực thi chương trình
Chức năng nhóm các công cụ bên trái
- Push Button: Là nút nhấn, khi nhấn vào sẽ thực thi lệnh
- Slider: Là thanh trượt cho phép người dùng di chuyển thanh trượt để thực thi lệnh
- Check box: Sử dụng để đánh dấu tích (thực thi) vào và có thể check nhiều ô để thực thi