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à cuộc 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 các môi trường làm việc khó khăn Robot ngày càng trở nên phổ biến, đặc biệt trong các ngành sản xuất dây chuyền và công nghệ cao, nhờ vào khả năng đảm bảo tính chính xác và liên tục mà con người và máy móc khó có thể đạ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.
Hình 1.1: Dây chuyền sản xuất ô tô tự động bằng Robot
Nhận thức được vai trò quan trọng của Robot trong cuộc sống, các quốc gia phát triển đang cạnh tranh để nghiên cứu và chế tạo các thế hệ Robot tiên tiến nhất Nhiều công ty trên toàn cầu đang tích cực sản xuất và phát triển Robot với khả năng tư duy như con người, khiến lĩnh vực này ngày càng thu hút sự quan tâm từ các nhà nghiên cứu và xã hội Dự đoán rằng trong tương lai, Robot sẽ trở thành trung tâm của một cuộc cách mạng lớn, tương tự như sự phát triển của Internet, mở ra một thị trường Robot rộng lớn và đầy tiềm năng.
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”.
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 xử lý ảnh trong phân loại sản phẩm tự động không chỉ nâng cao năng suất và chất lượng sản phẩm mà còn giúp giải phóng sức lao động cho con người trong quá trình sản xuất.
Mục tiêu chính là làm chủ công nghệ chế tạo Robot để phục vụ cho việc học tập và nghiên cứu tại 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 để xây dựng mô hình cánh tay Robot đạt mục tiêu đề ra, đồng thời nâng cao khả 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 dưới sự điều khiển của máy tính hoặc vi mạch điện tử Robot công nghiệp được lập trình theo trình tự cụ thể để hỗ trợ lắp ráp, sản xuất và chế biến sản phẩm Chúng mang lại nhiều lợi ích cho con người, đặc biệt trong môi trường khắc nghiệt và nguy hiểm Với độ chính xác cao và hiệu quả vượt trội, robot công nghiệp là giải pháp tối ưu so với 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 (IR) lần đầu tiên được giới thiệu tại Mỹ bởi công ty AMF (Americal Machine and Foundry Company), khi họ quảng bá thiết bị Versatran, mô phỏng hình dáng và chức năng của bàn tay con người, được điều khiển tự động để thực hiện các thao tác sản xuất.
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ờ vào sự áp dụng rộng rãi các tiến bộ trong 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ả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 hiệu quả mạnh mẽ 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 ở 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 được xem là một thành 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í được tạo thành từ 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ủa robot Cổ tay của cánh tay robot mang lại sự khéo léo và linh hoạt, trong khi bàn tay thực hiện các thao tác trực tiếp trên đối tượng.
Nguồn động lực cho tay máy bao gồm các độ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 cho hoạt động của tay máy.
Dụng cụ thao tác là phần gắn trên khâu cuối của Robot, có thể bao gồm nhiều kiểu khác nhau, chẳng hạn như bàn tay để nắm bắt đối tượng hoặc các công cụ làm việc như mỏ hàn, đá mài, và đầu phun sơn.
Thiết bị dạy-học (Teach-Pendant) là công cụ quan trọng giúp lập trình Robot thực hiện các thao tác cần thiết theo yêu cầu công việc Sau khi được dạy, Robot có khả năng tự động lặp lại các động tác đã được hướng dẫn, 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ó khả năng 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 làm việc, cũng như điều khiển băng tải hoặc cơ cấu cấp phôi để hoạt động phối hợp với Robot.
1.2.2.2 Kết cấu của tay máy
Tay máy là yếu tố then chốt quyết định khả năng hoạt động của Robot, cho phép chúng di chuyển và thực hiện các thao tác Nhiều thiết kế tay máy hiện nay được lấy cảm hứng từ cấu trúc và chức năng của tay người, nhưng cũng có nhiều kiểu dáng khác biệt 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 bao gồm nhiều khâu được kết nối bằng các khớp, tạo thành một chuỗi động học hở từ thân đến đầu công tác Hai loại khớp phổ biến được sử dụng là khớp trượt và khớp quay Số lượng và cách bố trí của các khớp này quyết định kiểu tọa độ của từng loại 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ự phối hợp của ba trục chuyển động cơ bản, sau đó được bổ sung thêm các bậc chuyển động để nâng cao độ linh hoạt Không gian làm việc của robot được xác định bởi vùng giới hạn tầm hoạt động của nó.
- 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 loại hình, mức độ điều khiển và khả năng nhận diện thông tin, robot trên toàn cầu có thể được phân loại thành các thế hệ IR sau đây.
- 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ệ trí tuệ nhân tạo tiên tiến, sở hữu khả năng nhận biết thông tin và bắt đầu thể hiện một số chức năng lý trí tương tự 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, chủ yếu phục vụ cho công việc lắp ráp Đây là một loại tay máy Scara đặc biệt với cấu trúc gồm hai khớp quay và một khớp trượt, tất cả đều có trục song song, giúp tăng cường độ cứng cáp theo phương thẳng đứng, mặc dù độ vững chắc theo phương ngang không cao Loại robot này thường được sử dụng để lắp ráp các linh kiện có tải trọng nhỏ theo phương thẳng đứng.
Robot Scara, viết tắt của "Selective Compliance Articulated Robot Actuator", được nhiều hãng sản xuất như Hitachi, Mitsubishi, IBM, MOTOMAN, EPSON, PANASONIC và SONY thiết kế để phục vụ nhiều mục đích khác nhau như hàn, lắp ráp, vận chuyển, khoan và doa Hiện nay, các công ty này tiếp tục cải tiến bộ điều khiển và cấu trúc cơ khí của Robot Scara để tăng tính linh hoạt và hiệu suất hoạt động.
Hình 1.14: Robot SCARA của hãng MITSUBISHI
Robot Scara có vùng hoạt động hình trụ và sử dụng cấu hình khớp nối bản lề và khớp trượt, giúp thực hiện các thao tác dễ dàng Loại robot này phổ biến trong công nghiệp nhờ khả năng tích hợ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, phục vụ cho việc gắp, nhả vật, lắp ráp và 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 được 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 được phối hợp để đạt được hiệu quả tối ưu.
ĐỐ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 này tập trung vào việc ứng dụng công nghệ xử lý ảnh cho Robot, nhằm phát triển một 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 tại các trường cao đẳng, đại học Trong khuôn khổ luận văn, tôi sẽ xây dựng mô hình Robot Scara có khả năng sử dụng công nghệ xử lý ảnh để xác định màu sắc và hình dạng của đố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ẽ dành cho máy tính PC, được thiết kế để hỗ trợ các 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 trong quá trình xử lý dữ liệu.
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 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 phép toán 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 hơn 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 biểu tượng.
Ngôn ngữ Matlab là một ngôn ngữ lập trình cao cấp 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 cùng cấu trúc dữ liệu vào Matlab cũng hỗ trợ lập trình hướng đối tượng, mang lại sự linh hoạt và hiệu quả trong việc phát triển ứng dụng.
- Đồ 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 các 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, 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 giữ lại các dòng lệnh và biến, cho phép người dùng dễ dàng sử dụng lại chúng bằng cách nhấp chuột vào các lệnh hoặc biến đã lưu.
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, cùng với các biến được giải phóng sau mỗi lần tắt chương trình 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 nút bên trái cạnh nút lưu.
Khi chọn biến (giả sử là biến b) và nhấn vào nút cạnh nút "save", bạn sẽ thấy cửa sổ Variable Editor Tiêu đề của cửa sổ này sẽ hiển thị tên biến b, trong khi định dạng dữ liệu được ghi trong ô "Numeric format", với mặc định là dạng short và kích thước là 1 by 3.
Để thay đổi kích thước của một bảng có 1 hàng và 3 cột, bạn cần điều chỉnh giá trị trong ô kích thước (size) Cửa sổ này cho phép bạn lưu các biến, trong đó biến b có thể được thay đổi thông qua các ô dữ liệu tương ứng Tất cả các biến sẽ được lưu trong Workspace, bao gồm thông tin về kích thước, số Bytes và kiểu dữ liệu (class) Cụ thể, mỗi phần tử dữ liệu kiểu double chiếm 8 bytes, với b tổng cộng 24 bytes và a là 8 bytes.
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 bằng cách nhập tên file trong cửa sổ Commandwindow 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 vào hoặc biến lấy giá trị ra.
+ Dạng hàm function: Có biến dữ liệu vào và biến ra
Giao diện đồ họa (GUI) là một công cụ tương tác giữa người dùng và chương trình, được xây dựng từ các thanh công cụ do lập trình viên thiết kế Mỗi chương trình có giao diện riêng, thực hiện các chức năng cụ thể mà lập trình viên đã định sẵn Matlab nổi bật với khả năng lập trình giao diện người dùng mạnh mẽ và dễ dàng, cho phép tạo ra các giao diện tương tự như trong Visual Basic (VBB) và C++.
Giao diện người dùng (GUI) tích hợp đầy đủ 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, cũng như khả năng đọc và hiển thị dữ liệu Nó cho phép người dùng tương tác thông qua hình ảnh và các nút nhấn thực thi, mang lại trải nghiệm trực quan và dễ sử dụng.
Hầu hết giao diện người dùng đồ họa (GUI) đáp ứng 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 dùng thực hiện mà không cần hiểu cấu trúc chương trình GUI hoạt động dựa trên 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 còn lại cho phép khởi động GUI với các giao diện đã được tạo 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