Nội dung chính của khoá luận: Thiết kế 3D mô hình, xây dựng mô hình robot song song Delta; Tổng quan về trí tuệ nhân tạo, Mobilenet V2; Tìm hiểu về ngôn ngữ Python trong ứng dụng
Nội dung chính của khoá luận
Thiết kế 3D mô hình, xây dựng mô hình robot song song Delta;
Tổng quan về trí tuệ nhân tạo, Mobilenet V2;
Tìm hiểu về ngôn ngữ Python trong ứng dụng xử lý ảnh và xây dựng mô hình học máy;
Viết chương trình điều khiển mô hình robot song song Delta phân loại cà chua dựa trên xử lý ảnh và trí tuệ nhân tạp.
Kết quả đạt được
Đề tài đã hoàn thành thiết kế và hiện hệ thống phân loại đang hoạt động ổn định, tương thích tốt với các cảm biến và chức năng Qua quá trình thực hiện, nhóm đã tích lũy được kiến thức thực tiễn quý báu và nâng cao kinh nghiệm làm việc nhóm.
Thời gian giao – nộp
CƠ SỞ LÝ THUYẾT
Robot có cấu trúc dạng song song
2.1.1 Giới thiệu về robot có cấu trúc dạng song song
Robot có cấu trúc song song được nghiên cứu và phát minh bởi Gough và Whitehall vào năm 1962, sau đó được Stewart ứng dụng vào năm 1965 Thiết kế ban đầu của robot này là một buồng mô phỏng thiết bị bay, dựa trên các cơ cấu chuyển động song song.
Cơ cấu chuyển động song song điển hình bao gồm bệ di động kết nối với bệ cố định qua nhiều nhánh song song, tương ứng với số bậc tự do của robot Các robot này thường được trang bị động cơ điện có moment lớn, lắp đặt trực tiếp trên bệ cố định, có thể có hoặc không có bộ giảm tốc Với cấu trúc song song, robot có khả năng chịu tải trọng lớn và quán tính nhỏ, nên thường được ứng dụng trong các lĩnh vực sản xuất yêu cầu tốc độ và độ chính xác cao.
Ngày nay, trong nhiều lĩnh vực đời sống và sản xuất các ứng dụng của robot có dạng song song này cũng ngày càng được ứng dụng mạnh mẽ:
Trong ngành vật lý: được ứng dụng làm giá đỡ kính hiển vi, giá đỡ các thiết bị đo, mô phỏng thiết bị bay,…
Trong ngành cơ khí chế tạo: được ứng dụng trong máy tiện, hàn, các máy công cụ cần độ chính xác cao,…
Trong ngành chế tạo lắp ráp ô tô: được đặt trong các dây chuyền lắp ráp các bộ phận, phụ tùng ô tô,…
2.1.2 So sánh robot dạng song song và robot dạng nối tiếp
Sử dụng robot trong sản xuất mang lại nhiều ưu điểm vượt trội, bao gồm việc đảm bảo chất lượng và tính nhất quán tốt hơn, cùng với các thao tác chính xác giúp giảm thời gian giám sát và cải thiện hiệu suất Robot có khả năng nâng cao năng suất và tăng tốc độ quy trình sản xuất, cho phép hoạt động liên tục và giảm thời gian thực hiện nhiệm vụ so với con người Hơn nữa, việc sử dụng robot cho các nhiệm vụ lặp đi lặp lại không chỉ giảm thiểu rủi ro và thương tích cho công nhân, đặc biệt trong môi trường làm việc khắc nghiệt, mà còn cho phép người giám sát theo dõi hoạt động trực tuyến mà không cần kiểm tra thực tế Cuối cùng, việc áp dụng robot giúp giảm chi phí lao động trực tiếp, tối ưu hóa nguồn lực và nâng cao hiệu quả sản xuất.
Cấu trúc động học đặc biệt của các khớp liên kết cho phép chuyển đổi tất cả lực tác dụng thành lực kéo/nén của các khâu, giúp thực hiện các thao tác phức tạp với độ chính xác cao Với cấu trúc song song, các sai số chỉ phụ thuộc vào sai số dọc trục của các cụm cơ cấu riêng lẻ, đồng thời các sai số không bị tích lũy.
Bên cạnh những ưu điểm vượt trội của robot song song dạng nối tiếp, cũng tồn tại một số nhược điểm cần nghiên cứu:
Hành trình bị giới hạn bởi chiều dài của các khâu robot
Với kích thước nhỏ nhẹ nên các kết cấu robot không thể hỗ trợ tải lớn
Hầu hết các robot ở dạng song song này buộc phải được đặt cố định trên cao, nên bị hạn chế sự linh hoạt ở vị trí lắp đặt
Các robot song song hoạt động với tốc độ cao, do đó có nguy cơ hư hỏng theo thời gian Việc theo dõi và bảo trì thường xuyên là cần thiết để đảm bảo hiệu suất và tuổi thọ của chúng.
2.1.3 Ứng dụng của robot dạng song song
Kết cấu động học song song không gian đầu tiên được ứng dụng trong công nghiệp là robot sơn 5 bậc tự do do L.W.Willard thiết kế, tuy nhiên, thiết kế này chưa được thực hiện trong thực tế Sau đó, một cơ cấu động học song song khác đã được phát triển và trở nên nổi tiếng, với hàng nghìn phiên bản được chế tạo, đó chính là thiết bị kiểm tra lốp dựa trên nguyên lý hexapod của Eric Gough.
Hình 2 1 Robot song song Hexapod của Eric Gough
Robot Delta, được phát minh bởi Reymond Clavel vào những năm 1980, là một loại robot song song được ứng dụng rộng rãi trong công nghiệp Với thiết kế dựa trên hình bình hành, robot này có ba bậc tự do chuyển động tịnh tiến và một bậc chuyển quay Robot Delta thường được sử dụng trong dây chuyền đóng gói thực phẩm, đóng vai trò quan trọng như thiết bị nâng gắp.
Hình 2 2 Sơ đồ và ứng dụng đóng gói bánh quy của robot song song Delta
Cuối năm 1999, công ty Elekta, chuyên về phẫu thuật, đã sản xuất robot song song để mang kính hiển vi, với tổng khối lượng khoảng 20kg.
Hình 2 3 Robot SurgiScope đang hoạt động tại Đại học Humboldt, Đức
Robot có cấu trúc song song đã được nâng cấp để trở thành thiết bị mô phỏng, chẳng hạn như thiết bị mô phỏng xe đạp do viện KAIST ở Hàn Quốc phát triển Ngoài ra, Motek cũng đã chế tạo Caren, một thiết bị hỗ trợ huấn luyện thể thao và phục hồi chức năng cho người khuyết tật.
Hình 2 4 Robot mô phỏng xe đạp của viện KAIST và sản phẩm của Motek
Robot song song Delta
Robot song song khác với robot nối tiếp ở chỗ nó bao gồm nhiều chuỗi động vòng kín, với các trục và cơ cấu tác động cuối được mắc song song Một ví dụ điển hình là bàn máy động kết nối với giá cố định, dẫn động qua nhiều nhánh song song, thường tương ứng với số bậc tự do của robot Các robot này được điều khiển bởi nguồn phát động đặt trên giá cố định, hay còn gọi là robot có bệ Nhờ vào cơ cấu tác động điều khiển tải ngoài, cơ cấu chấp hành song song thường có khả năng chịu tải lớn.
Robot song song Delta, được phát triển lần đầu bởi nhóm nghiên cứu Thụy Sĩ do Reymond Clavel dẫn dắt vào năm 1980, đã chính thức được thương mại hóa và đưa vào sử dụng trong các nhà máy từ năm 1987.
Số bậc tự do của robot có cơ cấu dạng song song được xác định theo công thức sau:
(2.1) Trong đó: : số bậc tự do của vùng làm việc robot l : số khâu của cơ cấu robot
9 j: số khớp của cơ cấu robot f i : số bậc tự do của khớp thứ i
I d : số bậc tự do thừa của cơ cấu
Robot Delta là một loại robot sử dụng cơ cấu ghép nối song song, với các khâu dẫn động nối tiếp được kết nối qua các khớp động như khớp bi cầu Công thức tính số bậc tự do của robot Delta dựa trên cấu trúc này cho phép xác định khả năng hoạt động và linh hoạt của robot.
Robot song song Delta có thiết kế với số ràng buộc của khâu chấp hành cuối là 3, do đó số bậc tự do của robot được tính theo công thức F = n + 3 - n - 3, dẫn đến F = 6.
Robot song song Delta là một loại robot có ba cánh tay kết nối với các khớp quay trên bệ cố định Thiết kế độc đáo của robot này sử dụng các khâu hình bình hành, giúp duy trì sự định hướng và cân bằng cho khâu đầu cuối Với khả năng hoạt động nhanh chóng, robot song song Delta thường được ứng dụng rộng rãi trong ngành công nghiệp thực phẩm, đặc biệt trong các quy trình gắp thả và đóng gói.
Hình 2 5 Cơ cấu cơ bản của robot song song Delta
Robot Delta sử dụng các khâu hình bình hành để tạo ra chuyển động cho khâu đầu cuối theo các hướng x, y, z mà không làm xoay hướng Bệ cố định của robot đảm bảo sự ổn định và chính xác trong quá trình hoạt động.
Trên không gian làm việc của robot, có 10 động cơ điều khiển cánh tay được bố trí, với ba cánh tay trung gian gắn kết vào động cơ và khâu hình bình hành Những cánh tay này mở rộng vùng làm việc của robot, trong khi khâu hình bình hành kết nối cánh tay trung gian với bệ di động, cho phép bệ di chuyển theo ba trục x, y, z.
Hình 2 6 Robot song song Delta TR008 – PT1200 – TOPSTAR
Việc truyền động từ bệ cố định đến bệ di động có thể thực hiện thông qua động cơ hoặc servo, với hoặc không có bộ giảm tốc Trong nghiên cứu này, tác giả chọn sử dụng động cơ truyền động trực tiếp mà không cần bộ giảm tốc.
Robot song song Delta có thiết kế nhẹ, giúp giảm thiểu quán tính trong các chuyển động, mang lại tính linh hoạt cao trong quá trình hoạt động Với tốc độ làm việc nhanh, robot Delta không chỉ nâng cao năng suất mà còn có khả năng chịu tải trọng lớn nhờ vào cấu trúc thiết kế tối ưu của nó.
Robot song song Delta được ứng dụng rộng rãi trong các ngành công nghiệp như đóng gói, y tế và dược phẩm nhờ vào tốc độ cao Với độ cứng vững vượt trội, robot Delta còn được sử dụng trong phẫu thuật Ngoài ra, nó cũng phù hợp cho các hoạt động lắp ráp độ chính xác cao trong môi trường phòng sạch, đặc biệt là trong lĩnh vực linh kiện điện tử Cấu trúc đặc biệt của robot Delta mang lại nhiều lợi ích cho các ứng dụng công nghiệp hiện đại.
11 để tạo bộ điều khiển haptic Gần đây các biến thể của robot song song Delta còn được ứng dụng vào công nghệ in 3D.
Tổng quan về xử lý ảnh
2.3.1 Giới thiệu xử lý ảnh
Xử lý ảnh là quá trình áp dụng thuật toán và phương pháp tính toán để biến đổi, tạo ra, trích xuất và phân tích hình ảnh Quá trình này bao gồm nhiều tác vụ như điều chỉnh độ sáng, cân bằng màu sắc, cắt ảnh, lọc nhiễu, nhận diện đối tượng và phân tích ảnh.
Xử lý ảnh là một lĩnh vực quan trọng trong khoa học máy tính, với nhiều ứng dụng thiết thực trong cuộc sống Nó bao gồm xử lý ảnh y học, như hình ảnh từ thiết bị chẩn đoán y tế, cũng như trong ngành công nghiệp sản xuất để kiểm tra chất lượng sản phẩm Bên cạnh đó, xử lý ảnh còn được áp dụng trong các lĩnh vực trực quan, như phim ảnh và trò chơi điện tử.
Trong lĩnh vực xử lý ảnh, Python và MATLAB thường được sử dụng cùng với các thư viện như OpenCV và scikit-image Các kỹ thuật xử lý ảnh bao gồm cả phương pháp truyền thống như lọc thông thấp, lọc thông cao, biến đổi Fourier và phân tích thành phần chính, bên cạnh các phương pháp hiện đại như mạng nơ-ron và học sâu (deep learning).
Xử lý ảnh là kỹ thuật quan trọng dùng để cải thiện và xử lý hình ảnh từ các thiết bị như camera và webcam Kỹ thuật này đã được ứng dụng rộng rãi và phát triển trong nhiều lĩnh vực thiết yếu.
Xử lý ảnh y học đóng vai trò quan trọng trong việc phân tích các hình ảnh y tế như X-quang, MRI, CT và siêu âm Công nghệ này giúp bác sĩ chẩn đoán và điều trị bệnh lý một cách hiệu quả hơn.
Xử lý ảnh trong công nghiệp đóng vai trò quan trọng với nhiều ứng dụng, bao gồm kiểm tra chất lượng sản phẩm, phát hiện lỗi sản phẩm, nhận diện đối tượng và đo lường kích thước cũng như hình dạng của sản phẩm.
Xử lý ảnh trong lĩnh vực an ninh đóng vai trò quan trọng trong việc giám sát và phát hiện các hoạt động bất thường Công nghệ này cho phép nhận diện khuôn mặt và giọng nói, từ đó nâng cao hiệu quả trong việc bảo vệ an toàn công cộng.
Xử lý ảnh là một yếu tố quan trọng trong hệ thống xe tự hành, giúp phát hiện, nhận dạng và theo dõi các vật thể trên đường như người đi bộ, xe đạp và ô tô.
Xử lý ảnh trong trò chơi và đồ họa máy tính đóng vai trò quan trọng trong việc tạo ra hình ảnh chân thực, nâng cao trải nghiệm người chơi và tối ưu hóa hiệu suất cho các ứng dụng đồ họa.
Xử lý ảnh trong truyền thông đóng vai trò quan trọng trong việc tạo ra hình ảnh và hiệu ứng hấp dẫn cho phim ảnh, quảng cáo, tạp chí và sách báo Công nghệ này giúp nâng cao tính chân thực và thẩm mỹ của các sản phẩm truyền thông.
2.3.2 Quy trình xử lý ảnh
Hình 2 7 Các bước xử lý ảnh
Bước đầu tiên trong quy trình xử lý ảnh là thu thập hình ảnh từ nhiều nguồn khác nhau, như máy ảnh, máy quét, camera, cảm biến và các thiết bị khác.
Tiền xử lý là bước quan trọng trong quá trình xử lý ảnh, bao gồm việc loại bỏ nhiễu và cân bằng độ sáng Mục tiêu của bước này là loại bỏ các thông tin không cần thiết, giúp cải thiện chất lượng ảnh và chuẩn bị cho các bước xử lý tiếp theo.
Để cải thiện chất lượng ảnh, bước đầu tiên là phân tích kích thước và định dạng của ảnh Điều này giúp đảm bảo rằng ảnh đang ở kích thước và định dạng phù hợp cho các quy trình xử lý tiếp theo.
Phân tích ảnh là quá trình quan trọng trong việc phát hiện và nhận dạng đối tượng, tìm kiếm đặc trưng, phân tích cấu trúc và thu thập thông tin Các phương pháp chính trong phân tích ảnh bao gồm phân đoạn, nhận dạng đối tượng, phát hiện chuyển động và phân tích hình dạng Những kỹ thuật này giúp cải thiện khả năng hiểu và xử lý hình ảnh một cách hiệu quả.
Xử lý ảnh bao gồm nhiều công đoạn quan trọng như chuyển đổi màu sắc, khôi phục ảnh, nén ảnh, cắt ảnh, gộp ảnh, làm mịn và làm nổi bật Mỗi công đoạn này sử dụng các phương pháp và thuật toán riêng biệt Chẳng hạn, trong nén ảnh, phương pháp nén mất mát thường được áp dụng để loại bỏ thông tin không quan trọng, giúp giảm dung lượng tập tin hiệu quả.
Mô hình Mobilenet V2
MobileNet V2 là một kiến trúc CNN tối ưu hóa cho việc xử lý hình ảnh trên thiết bị di động, mang lại tốc độ xử lý nhanh chóng và kích thước nhỏ gọn, phù hợp với các ứng dụng di động.
Nó là phiên bản cải tiến của MobileNet v1 với các cải tiến đáng kể về độ chính xác và tốc độ xử lý [4]
MobileNet V2 là phiên bản cải tiến của MobileNet V1, sử dụng cấu trúc tương tự nhưng tích hợp các khối inverted residual với tính năng bottlenecking Phiên bản này có số lượng tham số ít hơn đáng kể so với MobileNet gốc MobileNet V2 hỗ trợ các kích thước đầu vào lớn hơn 32 x 32, và kích thước hình ảnh lớn hơn sẽ mang lại hiệu suất tốt hơn.
Các khối inverted residual trong MobileNetV2 được thiết kế tương tự như các khối residual của mạng nơ-ron sâu, nhưng với tính năng bottlenecking bổ sung Tính năng này không chỉ giúp giảm số lượng tham số mà còn tăng tốc độ tính toán của mô hình.
Một số đặc trưng của MobileNet v2 bao gồm:
Tốc độ xử lý nhanh và kích thước nhỏ gọn
Độ chính xác cao so với các mô hình CNN khác có kích thước tương đương
Sử dụng các khối mới để tăng cường thông tin và giảm số lượng tham số
Có khả năng chuyển đổi sang nhiều kiến trúc khác nhau với độ phức tạp khác nhau để phù hợp với nhu cầu sử dụng
Mô hình MobileNet V2 là một công cụ hiệu quả trong nhận dạng và phân loại đối tượng, được áp dụng rộng rãi cho các bài toán như nhận diện trái cây, bệnh về da và xe cộ Trong báo cáo này, nhóm chúng tôi đã sử dụng MobileNet V2 để phân loại cà chua thành ba nhóm riêng biệt: quả chín đỏ, quả chín vừa và quả xanh Hình ảnh mô tả mô hình MobileNet V2 sẽ được trình bày dưới đây.
Tổng quan TensorFlow
TensorFlow là thư viện mã nguồn mở phổ biến cho việc xây dựng và huấn luyện mô hình Machine Learning, được phát triển bởi Google Thư viện này được sử dụng rộng rãi trong cộng đồng khoa học dữ liệu và trí tuệ nhân tạo, cung cấp nhiều tính năng hữu ích cho việc phát triển các kiểu mô hình như mạng neuron nhân tạo, deep learning và các thuật toán khác.
TensorFlow, được phát triển bởi đội ngũ Google Brain, ban đầu phục vụ cho mục đích nghiên cứu và sản xuất của Google Sau đó, nó đã được phát hành dưới giấy phép mã nguồn mở Apache.
2.0 vào ngày 9/11/2015 [5] Đây là một thư viện có năng lực không hề thua kém Chainer, cấu trúc API rõ ràng hơn cộng với sữ dụng rất nhiều kĩ thuật trong Machine Learning nên rất phù hợp trong quá trình học ở mức cơ bản
Tensor là cấu trúc dữ liệu trong TensorFlow, đại diện cho tất cả các loại dữ liệu Mọi kiểu dữ liệu đưa vào TensorFlow đều được gọi là Tensor Do đó, TensorFlow có thể được hiểu là một thư viện mô tả và điều chỉnh dòng chảy của các Tensor Tensor có ba thuộc tính cơ bản: rank, shape và type.
Rank: là số bậc của tensor
Shape: là chiều của tensor
The Type refers to the data format of the elements within a Tensor Each Tensor has a single Type, which implies that all elements contained within the current Tensors share this unique Type.
CNN(Convolutional Neutral Network)
Mạng nơ-ron tích chập (CNN) là một công nghệ quan trọng trong xử lý và nhận dạng hình ảnh CNN tự động học các đặc trưng cần thiết để phân loại hoặc nhận diện ảnh đầu vào, sử dụng các lớp tích chập để trích xuất tính năng và các lớp giảm kích thước (pooling) để tối ưu hóa dữ liệu Cuối cùng, các lớp kết nối đầy đủ (fully connected) được áp dụng để thực hiện phân loại hoặc nhận diện hình ảnh.
Tích chập (convolution) lần đầu tiên được áp dụng trong xử lý tín hiệu số, nhờ vào nguyên lý biến đổi thông tin Kỹ thuật này cho phép các nhà khoa học cải thiện khả năng phân tích và xử lý dữ liệu, từ đó nâng cao hiệu suất trong nhiều ứng dụng công nghệ.
Tích chập là một phương pháp quan trọng trong xử lý ảnh và video số, có thể được hình dung như một cửa sổ trượt áp dụng lên một ma trận Cơ chế hoạt động của tích chập có thể được minh họa rõ ràng qua các hình ảnh.
Hình 2 12 Single Shot Detector (SSD) architecture
Quy trình train SSD với Tensorflow 2
SSD MobileNet là một mô hình mạng neural hiệu quả cho việc phát hiện đối tượng trong ảnh và video, được phát triển bởi Google Mô hình này kết hợp kiến trúc MobileNet, tối ưu hóa cho thiết bị có tài nguyên tính toán hạn chế như điện thoại di động, với phương pháp Single Shot Detector (SSD) để cải thiện khả năng phát hiện đối tượng.
Wei Liu, Dragomir Anguelov, và các nhà nghiên cứu khác tại Đại học California, Berkeley
SSD MobileNet là sự kết hợp giữa kiến trúc MobileNet và SSD, tạo ra một mô hình nhỏ gọn và hiệu quả cho việc phát hiện đối tượng Mô hình này được đào tạo trên tập dữ liệu COCO (Common Objects in Context), cho phép nhận diện nhiều loại đối tượng như người, xe hơi, động vật và các vật thể trong gia đình.
SSD MobileNet có khả năng triển khai trên nhiều nền tảng, từ điện thoại di động đến máy tính để bàn Để huấn luyện mô hình này trên TensorFlow 2, người dùng có thể sử dụng tập dữ liệu COCO hoặc tạo tập dữ liệu tùy chỉnh Quá trình huấn luyện bao gồm các bước chuẩn bị dữ liệu, định nghĩa mô hình, thiết lập hàm mất mát và tối ưu hóa, cùng với việc huấn luyện và đánh giá mô hình.
Mô hình SSD MobileNet đã được áp dụng phổ biến trong nhiều ứng dụng thực tế, bao gồm phát hiện đối tượng trong video giám sát an ninh và trong ảnh y tế Để huấn luyện mô hình SSD MobileNet bằng TensorFlow 2, bạn cần thực hiện một số bước quan trọng.
Để huấn luyện mô hình hiệu quả, việc chuẩn bị tập dữ liệu là rất quan trọng Tập dữ liệu cần bao gồm các hình ảnh cùng với thông tin chi tiết về các đối tượng trong ảnh, như vị trí, kích thước và nhãn Điều này giúp đảm bảo mô hình được đào tạo và kiểm tra chính xác.
Để bắt đầu, bạn cần tạo một tệp cấu hình cho mô hình của mình Tệp này sẽ bao gồm thông tin quan trọng về kiến trúc của mô hình, số lượng lớp đầu ra, cũng như các tham số khác như tỷ lệ học tập, số lần lặp lại, số lần lưu trữ và vị trí lưu trữ mô hình.
Chuẩn bị mô hình: Tạo một mô hình SSD Mobilenet sử dụng TensorFlow 2 và khởi tạo các trọng số ngẫu nhiên
Để nâng cao hiệu quả huấn luyện mô hình, việc tạo một bộ tối ưu là rất cần thiết Các bộ tối ưu như Adam hoặc SGD giúp cập nhật trọng số của mô hình một cách hiệu quả trong quá trình huấn luyện.
Trong quá trình huấn luyện mô hình, việc sử dụng tập dữ liệu huấn luyện và bộ tối ưu là rất quan trọng Mô hình sẽ được cập nhật trọng số liên tục nhằm giảm thiểu sai số, đảm bảo hiệu suất tốt nhất.
Kiểm tra mô hình: Sau khi huấn luyện xong, kiểm tra mô hình với tập dữ liệu kiểm tra để đánh giá hiệu suất của nó
Triển khai mô hình: Cuối cùng, triển khai mô hình đã huấn luyện trên một ứng dụng thực tế để nhận diện đối tượng trong ảnh
Lưu đồ giải thuật
Hình 2.15 Lưu đồ giải thuật
Bật hệ thống bao gồm băng tải và camera để chuẩn bị cho quá trình phân loại
Cà chua được đưa từ băng tải đến điểm quét của camera để tiến hành quá trình nhận dạng và phân loại
Hệ thống sử dụng mô hình machine learning đã được huấn luyện trước đó để xác định loại cà chua
Nếu cà chua được xác định là chín, tay robot di chuyển đến vị trí cà chua và gắp lấy nó
Nếu cà chua chín, tay robot đặt cà chua vào ô số 1
Nếu cà chua chín vừa, tay robot đặt cà chua vào ô số 2
Nếu cà chua chưa chín, tay robot đặt cà chua vào ô số 3
Nếu cà chua không được xác định là chín, hệ thống có thể xử lý nó theo cách khác hoặc bỏ qua
Sau khi phân loại và xử lý tất cả các cà chua, hệ thống kết thúc và dừng hoạt động.
Sơ đồ khối hệ thống điện
Khối nguồn Khối xử lý tín hiệu đầu ra Khối xử lý tín hiệu đầu vào
Hình 2.16 Sơ đồ hệ thống
GIỚI THIỆU SƠ LƯỢC VỀ CÁC THIẾT BỊ ĐIỆN
Vi điều khiển Arduino Mega 2560
Vi điều khiển Arduino Mega2560 là phiên bản nâng cấp của Arduino Uno, sở hữu nhiều chân giao tiếp, ngoại vi và bộ nhớ hơn Mạch Mega 2560 sử dụng IC nạp ATmega16U2, hoàn toàn tương thích với phiên bản gốc Chức năng chính của Arduino Mega2560 là nhận tín hiệu từ máy tính để xử lý và phát tín hiệu điều khiển cho Driver động cơ Thông số kỹ thuật chi tiết của vi điều khiển này được trình bày trong bảng 3.1.
IC nạp và giao tiếp UART ATmega16U2 Điện áp hoạt động 5V - DC Điện áp cấp vào 7V ~ 20V - DC
Cường độ dòng điện trên mỗi chân I/O 20 (mA)
Cường độ dòng điện trên chân 3,3 V 50 (mA)
Tần số hoạt động 16 (MHz)
Bảng 3 1 Thông số kỹ thuật vi điều khiển Arduino Mega2560
Hình 3 1 Vi điều khiển Arduino Mega2560
Mạch điều khiển Ramps
Mạch điều khiển Ramps 1.4 (RepRap Arduino Mega Pololu Shield phiên bản 1.4) là một board mở rộng được kết nối với Arduino Mega2560, chuyên dùng để điều khiển các động cơ bước Với 5 khay lắp đặt cho các module điều khiển động cơ bước như A4988 hoặc DRV8825, Ramps 1.4 mang lại sự linh hoạt và dễ dàng trong việc bảo trì, thay thế, sửa chữa và nâng cấp với chi phí thấp cho các máy móc sử dụng.
Mạch điều khiển Ramps 1.4 kết nối vi điều khiển Arduino Mega2560 với driver động cơ DRV8825, đồng thời giới hạn góc quay của động cơ thông qua các công tắc hành trình.
Hình 3 2 Mạch điều khiển Ramps 1.4
Module điều khiển động cơ bước DRV8825
Module điều khiển động cơ bước DRV8825 là một driver chuyên nghiệp, hoạt động hiệu quả trong dải điện áp từ 8,2V đến 45V Nó có khả năng đạt xấp xỉ 1,8A trên mỗi phase mà không cần tản nhiệt và tự động ngắt nguồn khi nhiệt độ vượt quá mức an toàn Module hỗ trợ nhiều chế độ điều khiển linh hoạt như full step, half step, 1/4 step, 1/8 step, 1/16 step và 1/32 step, mang lại sự đa dạng trong việc điều khiển động cơ.
Module DRV8825 là một bộ điều khiển động cơ bước được kết nối trực tiếp với mạch Ramps 1.4, có chức năng nhận tín hiệu từ vi điều khiển Arduino Mega2560 để điều khiển động cơ bước theo các thông số đã được lập trình.
Hình 3 3 Module điều khiển động cơ bước DRV8825
Thông số kỹ thuật Module DRV8825:
Điện áp hoạt động: 8,2V ~ 45V (DC)
Dòng điện điều khiển trung bình: 1,5 (A)
Dòng điện điều khiển lớn nhất: 2,5 (A)
Động cơ bước Vexta 246PA
Động cơ bước (Step motor) là một loại động cơ điện đặc biệt, hoạt động dựa trên nguyên lý khác biệt so với các động cơ điện thông thường Động cơ này là loại đồng bộ, có khả năng biến đổi các tín hiệu điều khiển thành chuyển động góc quay hoặc chuyển động của roto thông qua các xung điện rời rạc.
Động cơ bước hoạt động với độ chính xác cao nhờ vào cơ chế quay đặc biệt, sử dụng các bộ chuyển mạch điện tử để đưa tín hiệu điều khiển vào stato theo thứ tự và tần số nhất định Điều này cho phép cố định roto vào các vị trí cần thiết một cách hiệu quả.
Trong luận văn này, tác giả sử dụng loại động cơ bước của hãng Vexta mang số hiệu C9330 – 9012P – C1 với các thông số được trình bày trong bảng 3.2
Dòng tiêu thụ mỗi pha (A/phase) Điện áp (V)
PK246A 1,8° 0,93 0,85 10 42x42 Điện trở từng pha
(Ω) Điện cảm suất từng pha (mH/phase)
Lực quán tính rotor (J/ kgm 2 )
Bảng 3 2 Thông số động cơ bước Vexta PK246PA
Hình 3 4 Động cơ bước Vexta PK246A
Camera logitech C930e
Camera là thiết bị thu nhận ảnh, có chức năng chụp hình ảnh của vật thể và truyền tải dữ liệu về máy tính để xử lý, nhằm đưa ra kết luận về màu sắc và hình dáng của vật.
Thông số kỹ thuật camera logitech C930e:
Độ phân giải/khung hình trên giây : Full HD 1080p/30 HD 720p/30
Thu phóng kỹ thuật số HD: 4x
Tự động điều chỉnh ánh sang: RightLight™ 2
Nguồn xung 12V – 20A
Nguồn xung, hay còn gọi là nguồn tổ ong, là thiết bị chuyển đổi điện xoay chiều thành điện một chiều thông qua chế độ dao động xung và biến áp xung Loại nguồn này được sử dụng phổ biến trong nhiều ứng dụng công nghiệp và dân dụng như lắp đặt tủ điện, đèn, camera giám sát, máy tính, và loa đài Nguồn tổ ong đóng vai trò quan trọng trong các mạch ổn áp, giúp cung cấp dòng điện ổn định và ngăn ngừa hiện tượng sụt áp, đảm bảo hoạt động hiệu quả cho các thiết bị sử dụng nguồn một chiều.
Tác giả sử dụng nguồn xung có công suất 120W với điện áp 12V làm nguồn điện cung cấp cho toàn bộ hệ thống hoạt động của robot
Nguồn điện được thiết kế với các cổng điện áp vào và ra dễ sử dụng, với thông số kỹ thuật chi tiết trong bảng 3.3 Điện áp đầu vào có thể là 110V AC hoặc 220V AC, trong khi điện áp đầu ra dao động từ 9V đến 14V DC.
Dòng điện ra tối đa 20A
Tần số điện áp vào 50 – 60 Hz
Bảng 3 3 Thông số kỹ thuật nguồn xung 12V – 20A.
Bơm hút chân không 555
Hình 3 7 Relay trung gian 14 chân 4 cặp tiếp điểm NO/NC
- Điện áp định mức: DC 12V
- Độ chân không tối đa: ≤-50Kpa (-375mmHg)
- Áp suất dương tối đa: ≥70Kpa (525mmHg)
Điện từ khí nén 2/2
Van điện từ khí nén, hay còn gọi là van điều hướng khí nén, là thiết bị quan trọng dùng để đóng, mở hoặc phân chia luồng khí nén Chức năng chính của loại van này là kiểm soát dòng khí nén, giúp cung cấp hoặc ngắt nguồn khí nén cho các thiết bị hoạt động hiệu quả.
Hình 3 8 Van điện từ khí nén 2/2 AIRTAC
Thông số kỹ thuật van điện từ khí nén AIRTAC:
Phạm vi áp suất vận hành: 0,05 – 1,0 (Mpa)
Loại van: thường đóng (NC), 2 cửa 2 vị trí
Nhiệt độ môi trường khi hoạt động: -20 o ~ 70 o C
Thời gian đáp ứng: 30 – 40 (ms)
Giới thiệu ngôn ngữ lập trình Python
Python là ngôn ngữ lập trình bậc cao, đa năng, được Guido van Rossum phát triển và ra mắt lần đầu vào năm 1991 Với thiết kế dễ đọc, dễ học và dễ nhớ, Python trở thành lựa chọn lý tưởng cho người mới bắt đầu lập trình Ngôn ngữ này nổi bật với cấu trúc rõ ràng, cho phép viết mã lệnh với số lần gõ phím tối thiểu Python được ứng dụng rộng rãi trong phát triển trí tuệ nhân tạo, thiết kế trang web, và tạo nguyên mẫu phần mềm Ngoài ra, Python còn hỗ trợ nhiều thư viện lớn trong lĩnh vực khoa học máy tính, xử lý ảnh và thị giác máy tính, cũng như trong các dự án IoT và Blockchain.
32 hay trong các lĩnh vực liên quan đến Machine Learning, AI do có hệ thống cơ sở dữ liệu lớn
Hình 4 1 Ngôn ngữ lập trình python
Các tính năng chính của ngôn ngữ lập trình python
Ngôn ngữ lập trình Python được thiết kế đơn giản và dễ hiểu, với cấu trúc rõ ràng, giúp lập trình viên viết mã lệnh với số gõ phím tối thiểu.
Python là một ngôn ngữ lập trình mã nguồn mở hoàn toàn miễn phí, cho phép người dùng sử dụng và phát triển mọi phần mềm cũng như chương trình mà không tốn chi phí Với một cộng đồng đông đảo, Python không chỉ hỗ trợ người mới bắt đầu mà còn cung cấp nhiều tài nguyên hữu ích cho các lập trình viên kinh nghiệm.
Python có khả năng tương thích tốt với nhiều nền tảng, bao gồm Windows, MacOS và Linux, cho phép người dùng dễ dàng di chuyển giữa các hệ điều hành mà không gặp khó khăn.
Khả năng nhúng và mở rộng: Có thể kết hợp cùng các ngôn ngữ lập trình khác để phát triển các ứng dụng phức tạp
Python tự động chuyển đổi code sang ngôn ngữ máy tính, giúp người dùng không phải lo lắng về quản lý bộ nhớ và dọn dẹp dữ liệu Điều này mang lại sự tiện lợi và hiệu quả trong quá trình lập trình.
Thư viện lớn: Nhờ số lượng thư viện khổng lồ của mình Python hoàn toàn đáp ứng được mọi nhu cầu lập trình khác nhau
Ngôn ngữ lập trình Python, mặc dù được thiết kế đơn giản cho người mới học, vẫn giữ nguyên bản chất hướng đối tượng, giúp giải quyết các vấn đề lập trình một cách trực quan và dễ hiểu.
Giới thiệu môi trường lập trình Pycharm
Pycharm là một IDE đa nền tảng được phát triển bởi JetBrains, chuyên dành cho lập trình viên Python với sự hỗ trợ trên Windows, Linux và Mac OS IDE này cung cấp nhiều tiện ích cho Python developers như hỗ trợ extensions, môi trường ảo (Virtual Environment), và các tính năng thông minh như code completion, tự động thụt lề, phát hiện văn bản trùng lặp và kiểm tra lỗi Ngoài ra, Pycharm còn có khả năng tìm kiếm mã nguồn thông minh, giúp người dùng tìm kiếm từ một cách nhanh chóng và hiệu quả.
Các tính năng đặc biệt của môi trường pycharm:
Trình chỉnh sửa mã thông minh hỗ trợ lập trình viên trong việc tạo ra mã chất lượng cao, giúp xác định lỗi một cách dễ dàng Nó cung cấp tính năng tự động hoàn thiện và hướng dẫn hoàn thiện mã, nâng cao hiệu suất làm việc của người dùng.
Điều hướng mã: lập trình viên có thể xác định vị trí của một phần tử, một ký hiệu hoặc một biến trong mã nguồn trong thời gian ngắn
Tái cấu trúc cho phép thực hiện các thay đổi hiệu quả và nhanh chóng đối với cả biến cục bộ và biến toàn cục, đồng thời hỗ trợ phân chia các lớp với chức năng mở rộng hơn.
Hình 4 2 Môi trường lập trình pycharm
Giới thiệu về Tkinter
Thư viện Tkinter là thư viện đồ họa giao diện người dùng (GUI) mặc định của Python, cung cấp công cụ và lớp để tạo và quản lý các thành phần như cửa sổ, nút bấm, hộp văn bản và nhãn Tkinter được phát triển dựa trên toolkit đồ họa Tk, một dự án mã nguồn mở ban đầu do Tcl (Tool Command Language) phát triển.
Tkinter có trên tất cả nền tảng hệ điều hành từ UNIX, MS-DOS, Mac OS, Windows và Linux
Tkinter cung cấp khả năng sửa lỗi trực tiếp cho các đoạn mã, cho phép người dùng sử dụng Python một cách linh hoạt và tùy chỉnh các công cụ để tối ưu hóa hiệu suất công việc Dưới đây là một số tính năng nổi bật của Tkinter:
Tkinter cho phép người dùng tạo và quản lý cửa sổ với các lớp và phương thức, bao gồm việc thiết lập tiêu đề, kích thước, màu nền và hình ảnh cho cửa sổ.
Xử lý sự kiện: Tkinter cho phép xử lý sự kiện người dùng như nhấp chuột, nhấn phím và di chuyển con trỏ chuột
Tkinter là một thư viện mạnh mẽ cho việc thiết kế giao diện người dùng, cung cấp nhiều thành phần giao diện giúp người dùng dễ dàng sắp xếp và tạo ra các giao diện đẹp mắt, dễ tương tác.
Tkinter cung cấp các phương pháp quản lý bố cục hiệu quả như gói (pack), xếp chồng (grid) và cắt lát (place), giúp sắp xếp các thành phần giao diện người dùng (GUI) một cách linh hoạt trong cửa sổ ứng dụng.
Tkinter tích hợp hiệu quả với Python, cho phép người dùng truy cập các tính năng khác của ngôn ngữ này Điều này giúp kết hợp với các thư viện khác, từ đó xây dựng các ứng dụng phức tạp hơn.
Giới thiệu thư viện xử lý ảnh OpenCV
OpenCV (Thư viện mã nguồn mở cho thị giác máy tính) là một thư viện phổ biến trong lĩnh vực Computer Vision và Machine Learning, hiện đã tích hợp tính năng tăng tốc GPU cho các tác vụ thời gian thực Dự án OpenCV được khởi xướng vào năm 1999 tại Intel bởi Gary Bradsky.
Thư viện mã nguồn mở Opencv, được phát hành theo giấy phép BSD, hoàn toàn miễn phí cho học tập và có thể được sử dụng cho mục đích thương mại Opencv hỗ trợ nhiều ngôn ngữ lập trình như Python, C++, Java và tương thích với các hệ điều hành như Linux, Windows, iOS, macOS, và Android Thư viện này được thiết kế để hỗ trợ tính toán trong các ứng dụng thời gian thực, nhờ đó đã thu hút một cộng đồng người dùng lớn trên toàn thế giới Nhu cầu sử dụng Opencv ngày càng tăng khi con người ngày càng chú trọng đến công nghệ Computer Vision.
Hình 4 3 Thư viện mã nguồn mở OpenCV
Hiện nay, Opencv được ứng dụng khá rộng trong nhiều lĩnh vực với nhiều mục đích khác nhau cả trong công nghệ và đời sống
Thư viện OpenCV được ứng dụng rộng rãi trong nhiều lĩnh vực như xử lý ảnh, xây dựng giao diện người dùng (GUI), phân tích video, tái tạo 3D, phát hiện và nhận dạng đối tượng, phân tích hình dạng, nhận diện khuôn mặt, phát hiện và nhận dạng văn bản, cũng như trong nhiếp ảnh điện toán và học máy.
Hình 4 4 Ứng dụng của thư viện OpenCV nhận dạng đối tượng trong ảnh
Giới thiệu môi trường lập trình Arduino IDE
Arduino IDE là phần mềm mã nguồn mở, chủ yếu dùng để viết và biên dịch mã cho module Arduino, bao gồm cả phần cứng và phần mềm Phần cứng có tới 300,000 board mạch thiết kế sẵn với các cảm biến và linh kiện, trong khi phần mềm cho phép sử dụng chúng một cách linh hoạt Arduino IDE hỗ trợ ngôn ngữ lập trình C/C++, giúp lập trình viên dễ dàng nhận diện và thiết kế chương trình cho các bo mạch Arduino.
Hình 4 5 Phần mềm lập trình Arduino IDE
Arduino IDE cung cấp một thư viện phong phú với hơn 700 thư viện được phát triển và chia sẻ bởi Arduino Software cùng cộng đồng Phần mềm này tương thích với ba hệ điều hành phổ biến nhất: Windows, MacOS và Linux.
Arduino cung cấp một module quản lý bo mạch, cho phép người dùng chọn và thay đổi bo mạch thông qua Menu Quá trình sửa đổi lựa chọn tự động cập nhật, đảm bảo dữ liệu trên bo mạch và dữ liệu sửa đổi đồng nhất Bên cạnh đó, Arduino IDE hỗ trợ người dùng phát hiện lỗi trong code, giúp sửa chữa kịp thời để tránh tình trạng bo mạch hoạt động với code lỗi, dẫn đến hư hỏng hoặc giảm tốc độ xử lý.
Giới thiệu phần mềm thiết kế 3D Solidworks
SolidWorks là phần mềm thiết kế 3D được phát triển bởi Dassault Systèmes SolidWorks Corp từ năm 1997, chạy trên hệ điều hành Windows Hiện nay, SolidWorks được sử dụng bởi hơn 2 triệu kỹ sư và nhà thiết kế tại hơn 165,000 công ty trên toàn cầu Năm 2011, phần mềm này đạt doanh thu 483 triệu đô la.
SolidWorks hiện đang trở thành phần mềm phổ biến trên toàn cầu, đặc biệt tại Việt Nam Phần mềm này không chỉ được áp dụng rộng rãi trong lĩnh vực cơ khí mà còn mở rộng sang các ngành khác như điện, khoa học ứng dụng và cơ mô phỏng.
Phần mềm SolidWorks nổi bật với các tính năng thiết kế chi tiết 3D, lắp ráp các bộ phận máy móc và xuất bản vẽ 2D, mang lại sự tiện lợi cho người dùng Ngoài những tính năng phổ biến này, SolidWorks còn hỗ trợ phân tích động học và động lực học, giúp tối ưu hóa quy trình thiết kế Đặc biệt, phần mềm tích hợp modul Solidcam, cho phép gia công CNC hiệu quả với khả năng phay và tiện đa trục Bên cạnh đó, modul 3Dquickmold hỗ trợ thiết kế khuôn, nâng cao khả năng sản xuất.
Khả năng thiết kế mô hình 3D hoàn hảo:
Một trong những tính năng nổi bật của phần mềm SolidWorks là khả năng thiết kế các biên dạng 2D để tạo ra các khối 3D theo yêu cầu Tính năng này dễ học thông qua tài liệu thiết kế có sẵn, nhưng để ghi nhớ lâu và vận dụng linh hoạt các lệnh, bạn cần thực hành nhiều bài tập.
Tính năng lắp ráp chi tiết trong phần mềm CAD/CAM cho phép người dùng kết hợp các mô hình 3D đã thiết kế thành bộ phận máy hoặc máy hoàn chỉnh Chức năng này hỗ trợ xây dựng các đường dẫn thể hiện quy trình lắp ghép, giúp tối ưu hóa quy trình thiết kế và sản xuất.
Xuất bản vẽ trên phần mềm SolidWorks:
Phần mềm Solidworks cho phép người dùng tạo hình chiếu vuông góc cho các chi tiết và bản lắp với tỉ lệ và vị trí tùy chỉnh mà không làm thay đổi kích thước Ngoài ra, công cụ này hỗ trợ tạo kích thước tự động cũng như kích thước theo yêu cầu của người sử dụng.
Phân tích động lực học trên SolidWorks:
SolidWorks Simulation cung cấp công cụ mô phỏng mạnh mẽ giúp kiểm tra và nâng cao chất lượng thiết kế Trong quá trình thiết kế, các thuộc tính vật liệu, mối ghép và quan hệ hình học được cập nhật đầy đủ trong mô phỏng Sản phẩm được kiểm tra về độ bền, hệ số an toàn và phân tích động học một cách toàn diện Hơn nữa, tất cả các dạng hình học đều được hỗ trợ, cho phép mô phỏng tính toán chính xác với các tính năng về kết cấu, thành mỏng và khối solid.
TÍNH TOÁN VÀ THIẾT KÊ MÔ HÌNH
Động học robot song song Delta
Bài toán động học thuận của robot Delta yêu cầu xác định tọa độ tâm của bệ di động (x, y, z) dựa trên các góc xoay (θ1, θ2, θ3) của cánh tay trung gian gắn cố định trên trục động cơ Tọa độ tâm của bệ di động được coi là một điểm quan trọng trong quá trình tính toán.
E x y z được trình bày khái quát theo hình 5.1 [11, 12, 13]
Hình 5 1 Các thông số tính toán cơ bản của robot Delta
Đầu tiên, cần xác định tọa độ các khớp J1, J2, J3 bằng cách nội suy từ tọa độ góc O đến các khớp F1, F2, F3, dựa vào các góc θ1, θ2, θ3 đã biết Các khâu hình bình hành J1E1, J2E2, J3E3 có thể xoay quanh tâm J1, J2, J3, tạo thành ba hình cầu với bán kính bằng độ dài khâu hình bình hành re.
Hình 5 2 Phương trình ba đường tròn cắt nhau tại E 0 x y z 0 , 0 , 0
Tịnh tiến các vector khâu hình bình hành J E J E J E 1 1, 2 2, 3 3 theo vector E E E E E E 1 0, 2 0, 3 0 sẽ tạo ra ba hình cầu cắt nhau tại điểm E0 Để xác định tọa độ x0, y0, z0, ta cần giải ba phương trình đường tròn có tâm J J J 1', 2', 3' và bán kính bằng chiều dài khâu hình bình hành Việc tìm tọa độ các khớp sau khi tịnh tiến là bước cần thiết trong quá trình này.
J J J trước khi giải các phương trình đường tròn
Hình 5 3 Hệ tọa độ của bệ cố định robot
Dựa vào phân hình học không gian robot theo sơ đồ hình 5.3, tiến hành tính toán tọa độ tại các khớp J J J 1 ' , 2 ' , 3 ' như được trình bày dưới đây:
2 / 2 3 f cos 2 cos 30 ; / 2 3 f cos 2 sin 30 ; f sin 2
3 / 2 3 f cos 3 cos 30 ; / 2 3 f cos 3 sin 30 ; f sin 3
Phương trình đường tròn tâm J J J 1 , 2 , 3
Thay (4.6) và (4.8) vào , ta có một phương trình theo ẩn z
Giải phương trình trên, ta tìm được z Thay z vào (4.6) và (4.7) ta được tạo độ tâm bệ di động E 0 x y z 0 , 0 , 0 cần tìm
Bài toán động học ngược của robot song song Delta yêu cầu xác định ba góc 1, 2, 3 dựa trên tọa độ tâm E0 (x0, y0, z0) của bệ di động Tâm hệ tọa độ O (0, 0, 0) được đặt tại tâm của bệ cố định Theo sơ đồ hình 5.4, tọa độ z0 tại tâm bệ di động luôn âm, do đó vùng hoạt động của robot sẽ hướng xuống dưới.
Hình 5 4 Các thông số thiết kế robot song song Delta
Robot có thiết kế đặc biệt với một khâu cánh tay trung gian, cho phép xoay trong mặt phẳng YZ, tạo thành một đường tròn có tâm tại khớp F1 và bán kính r_f.
Hình 5 5 Đường tròn tâm E 1 ' và có bán kính bằng chiều dài đoạn E J 1 1 '
Khâu hình bình hành E J 1 1 có khả năng xoay tự do, tạo thành hình cầu với tâm tại khớp E1 và bán kính tương ứng với chiều dài khâu r e, như minh họa trong hình 5.1.
Giao của hình cầu với mặt phẳng YZ tạo thành một đường tròn có tâm tại E’1, với bán kính bằng chiều dài đoạn E J 1 1 ' E’1 là hình chiếu của điểm E lên mặt phẳng YZ.
Hai đường tròn với tâm E1' và F1, cùng bán kính E J1' và rf, cắt nhau tại điểm J1 như hình 5.6 Từ điểm J1, ta có thể xác định tọa độ của nó và tính toán góc 𝜃1 cần tìm.
Hình 5 6 Hình chiếu của E lên mặt phẳng YZ
Tọa độ tâm của bệ di động: E 0 x y z 0 , 0 , 0 (4.9)
Chiều dài đoạn EE 1: EE1 tan 30
Xét hai phương trình đường tròn tâm F1 bán kính rf và đường tròn tâm E 1 ' bán kính
Khi đó góc 1 được tính như sau:
Sau khi tính được góc theta thư nhất 𝜃 1 , ta xoay hệ trục tọa độ góc quanh trục Z một góc
120 o ngược chiều kim đồng hồ Khi đó tọa độ tâm mới của bệ di động là:
Bằng cách tính tương tự như trên, ta cũng tìm được góc 2 :
Sau khi xác định được góc 𝜃 2, chúng ta tiếp tục xoay hệ trục tọa độ quanh trục Z một góc 120 độ theo chiều kim đồng hồ Kết quả là tọa độ tâm mới của bệ di động sẽ được điều chỉnh tương ứng.
Calibration camera cho Robot
Hiệu chuẩn (Calibration) là quá trình cấu hình một công cụ để đảm bảo kết quả đo lường nằm trong phạm vi chấp nhận được Việc loại bỏ hoặc giảm thiểu các yếu tố gây sai lệch trong phép đo là yếu tố cốt lõi trong thiết kế thiết bị đo Mặc dù quy trình hiệu chuẩn có thể khác nhau giữa các sản phẩm, nó thường bao gồm việc sử dụng thiết bị để kiểm tra các mẫu của một hoặc nhiều giá trị chuẩn, được gọi là “mẫu chuẩn”.
47 là một trong những quy trình chính được sử dụng để duy trì độ chính xác của camera
Các phương pháp hiệu chỉnh (calibration) truyền thống dựa trên mô hình hiệu chỉnh đặc biệt, cho phép xác định kích thước và vị trí của đối tượng trong một hệ tọa độ nhất định Các đặc trưng khác như góc và đường được tách ra từ hình ảnh của mô hình hiệu chỉnh camera Tác giả áp dụng lý thuyết về ma trận chuyển đổi thuần nhất để tính toán các giá trị tọa độ của camera so với tọa độ thực tế của robot.
Hình 5 7 Mối quan hệ tọa độ giữa Camera và Robot
Hình 5.7 minh họa mối quan hệ giữa tọa độ của robot O R (X Y Z R, R, R) và tọa độ của camera O C (X Y Z C, C, C) trong không gian Do hệ tọa độ của robot và camera không đồng nhất, cần thực hiện chuyển đổi để đảm bảo chúng cùng phương và cùng hướng.
Ma trận chuyển đổi hệ tọa độ từ camera về hệ tọa độ cơ sở của robot
Tiến hành xoay hệ tọa độ của robot O R theo trục Z một góc bằng -90 độ Khi đó, ma trận xoay là H 1 :
Sau đó tiếp tục xoay hệ tọa của robot theo trục Y một góc bằng -180 độ và tịnh tiến một đoạn 20,130, 130 được ma trận xoay là H 2 :
Hình 5 8 Mối quan hệ tọa độ của Camera và Robot khi đã chuyển đổi
Sau khi tìm được các ma trận xoay, tiến hành nhân lại với nhau để có được ma trận tổng quát H C R :
Để xác định vị trí của một vật trong hệ tọa độ robot, bạn chỉ cần nhân tọa độ tâm của vật với ma trận chuyển đổi H C R Phép toán này sẽ cho ra tọa độ của vật trong không gian của robot.
Kiểm nghiệm với một vị trí bất kỳ trong hệ tọa độ của camera
Giả sử, điểm cần xét có tọa độ E 0 144, 56, 310 nằm trong khung ảnh của camera, từ đó xác định tọa độ điểm E x y z 1 1 , 1 , 1 trong không gian robot như sau:
Chuyển đổi từ tọa độ pixel về milimet
Trong đó: k 0, 36 là hệ số tỷ lệ của độ dài pixel trên ảnh so với độ dài trên thực tế
Khi đó, tọa độ điểm cần tìm là:
Qua thực nghiệm nhận thấy tọa độ robot ở vị trí E 0 144, 56, 310 trên thực là E 1 ' 58, 58, 240 Vậy sai số tọa độ của robot trong tọa độ camera khoảng
Thiết kế và chế tạo mô hình
4.3.1 Thiết kế 3D mô hình robot song song Delta a Thiết kế bệ cố định robot
Bệ cố định được tác giả thiết kế trên phần mềm thiết kế 3D Solidwords với hình dáng thiết kế của bệ được trình bày qua hình 5.9
Hình 5 9 Thiết kế bệ cố định robot song song Delta
Thông số bệ cố định robot song song Delta:
Kích thước tổng thể: 233x100x15 (mm)
Phương pháp gia công: cắt cnc b Thiết kế cụm động cơ robot
Cụm động cơ bao gồm một động cơ bước, khớp nối mặt bích của trục động cơ và gá động cơ, tất cả được liên kết chặt chẽ bằng bulong đai ốc, như thể hiện trong hình 5.10.
Hình 5 10 Cụm động cơ robot
Thông số cụm động cơ robot:
Kích thước tổng thể: 42x50x42 (mm)
Phương pháp gia công: lắp ráp – bulong đai ốc c Thiết kế khâu cánh tay trung gian robot
Khâu cánh tay trung gian là thành phần đầu tiên trong cơ cấu của robot Delta, có chức năng truyền động xoay từ động cơ đến khâu tiếp theo Khâu này được gắn chặt với mặt bích động cơ bằng bulong đai ốc, đảm bảo tính cứng vững và ngăn chặn sự trượt trong quá trình hoạt động Để đạt được độ cứng vững và khả năng chịu tải ổn định, khâu được thiết kế theo hình dáng như hình 5.11.
Với thiết kế trên các thông số cần có của khâu cánh tay trung gian là:
Kích thước tổng thể: 163x35x6 mm
Phương pháp gia công: cắt, CNC
Hình 5 11 Thiết kế khâu cánh tay trung gian của robot d Thiết kế khâu hình bình hành robot
Khâu hình bình hành là một phần thiết yếu trong cơ cấu của robot, giúp duy trì sự cân bằng cho bệ di động trong quá trình hoạt động Hai đầu khâu được kết nối với các cánh tay trung gian và bệ di động thông qua các khớp bi cầu Để đáp ứng yêu cầu về độ nhẹ, độ bền và độ cứng vững, tác giả đã thiết kế khâu với hình dạng đặc biệt.
Hình 5 12 Thiết kế khâu hình bình hành robot
Các thông số cần cho khâu hình bình hành là:
Kích thước tổng thể: dài 300 (mm)
Đường kính lỗ bi cầu: 4 (mm)
Loại ren khớp bi cầu: ren trong M4 e Thiết kế bệ di động robot
Bệ di động là phần quan trọng cuối cùng của robot, nơi lắp đặt các cơ cấu chấp hành Để đảm bảo robot hoạt động ổn định và tránh hiện tượng trượt bước do quá tải động cơ, bệ di động cần được thiết kế với trọng lượng nhẹ tối ưu.
Nhóm em sử dụng vật liệu là nhựa ABS và công nghệ in 3D làm phương pháp chế tạo
Hình 5 13 Thiết kế bệ di động của robot
Các thông số tổng quát của bệ di động là:
Kích thước tổng thể: 62,549x17x72.112 (mm)
Phương pháp gia công: in 3D
54 f Thiết kế khung ngoài robot
Khung ngoài của robot được chế tạo bằng cách lắp ghép các thanh nhôm định hình thông qua ke góc và bulong đai ốc, tạo thành một cấu trúc hình chữ nhật Thiết kế này không chỉ giúp tăng cường khả năng chịu tải trọng của robot mà còn đảm bảo an toàn cho vật thể trong suốt quá trình hoạt động.
Hình 5 14 Thiết kế khung ngoài robot
Các thông số sơ bộ của khung ngoài robot:
Kích thước tổng thể: 500x500x500 (mm)
Vật liệu: nhôm định hình 20x20
55 g Thiết kế hệ thống băng tải
Băng tải (băng truyền) là thiết bị quan trọng trong công nghiệp, giúp vận chuyển hàng hóa hiệu quả giữa các vị trí So với các phương pháp truyền thống như sức người hay xe máy, băng tải mang lại nhiều lợi ích vượt trội, bao gồm nâng cao công suất dây chuyền và giảm thiểu các tác động tiêu cực từ môi trường bên ngoài.
Hình 5 15 Cấu tạo băng tải
Băng tải là thiết bị quan trọng trong dây chuyền sản xuất và các công trình thi công, được ứng dụng rộng rãi trong nhiều ngành nghề như ô tô, điện tử, y tế, hóa chất, thực phẩm và dược phẩm Hiện nay, các loại băng tải phổ biến bao gồm băng tải cao su, băng tải xích, băng tải con lăn, băng tải đứng, băng tải góc cong, băng tải xoắn ốc và băng tải mini.
Sau khi tìm hiểu, mô phỏng tính toán chọn cách tính toán thiết kế theo loại băng tải con lăn, với mô hình như sau:
Hình 5.9 Thiết kế mô hình băng tải h Thiết kế mô hình hoàn chỉnh
Hình 5.10 Tổng quan mô hình được thiết kế trên phần mềm SOLIDWORKS
Hình 5.11 Các góc nhìn khác của mô hình
4.3.2 Chế tạo mô hình robot song song Delta a Chế tạo bệ cố định robot
Gia công máy CNC với vật liệu nhôm 6061, một hợp kim có độ bền cao, khả năng chống ăn mòn tốt và tính hàn hiệu quả, cho phép cắt nhôm theo kích thước đã tính toán Kết quả thu được được thể hiện trong hình 5.18.
Hình 5 16 Bệ cố định robot b Chế tạo khâu cánh tay trung gian
Chọn nhôm tấm 6061 làm vật liệu cho khâu cánh tay trung gian, sau đó cắt nhôm theo kích thước thiết kế trên máy CNC để đảm bảo độ chính xác cho khâu.
Hình 5 17 Khâu cánh tay trung gian robot c Chế tạo khâu hình bình hành
Khâu hình bình hành được cấu tạo từ một thanh dẫn động và hai khớp bi cầu, được liên kết chắc chắn bằng thanh ren Để đảm bảo tính chắc chắn, nhẹ và cứng vững, tác giả đã lựa chọn ống carbon làm vật liệu cho thanh dẫn động.
Hình 5 18 Khâu hình bình hành robot d Chế tạo bệ di động robot
Bệ di động cần có diện tích phù hợp và trọng lượng nhẹ để lắp đặt các cơ cấu chấp hành, đồng thời đảm bảo góc lật của các khớp bi cầu được duy trì hiệu quả.
Hình 5 19 Bệ di động robot e Tính toán vận tốc, chế tạo băng tải
Với mẫu sản phẩm có khối lượng chênh lệch không nhiều nên lấy vật có khối lượng lớn nhất là 0,1 (kg) để xác định vận tốc băng tải
Chọn các thông số theo yêu cầu như sau:
Độ rộng băng tải B = 120 (mm) = 0,12 (m)
Năng suất băng tải: 30 (phôi/phút) 1800 (phôi/giờ)
Khối lượng 1 phôi: 100 (gram) Qt = 0,18 (tấn/giờ)
Khối lượng riêng tính toán của sản phẩm: 0,82 (tấn/m 3 )
Diện tích mặt cắt ngang sản phẩm
AK 0,9 B0, 05 2 0, 09060,9.0,12 0, 05 2 3, 04.10 4 ( m 2 ) (4.29) Trong đó: A là diện tích mặt cắt ngang của dòng vận chuyển ( m 2 )
K là hệ số tính toán Chọn K = 0,0906
B là độ rộng của băng tải (m)
Vận tốc băng tải được xác định theo công thức sau
Trong đó: Qt là lưu lượng vận chuyển (tấn/giờ)
A là diện tích mặt cắt của dòng chảy (m 2 )
𝛾 là khối lượng riêng tính toán của vật liệu (tấn/m 3 )
V là vận tốc băng tải (m/phút) s là hệ số ảnh hưởng của góc nghiêng của băng tải
Thiết kế đường kính trục rulo kéo là 40 mm, điều này có nghĩa là mỗi vòng quay của trục rulo sẽ giúp băng tải di chuyển được 40π x 10^-3 m Do đó, khi trục rulo quay 96 vòng, băng tải sẽ di chuyển được tổng cộng 12,03 m.
Để đáp ứng yêu cầu, cần tìm động cơ có số vòng quay sau hộp giảm tốc hoặc các bộ truyền đạt vận tốc từ 96 vòng/phút trở lên.
Sau khi tìm hiểu nghiên cứu, chọn loại động cơ giảm tốc 550, có các thông số đạt yêu cầu được trình bày trong bảng 5.1
Bảng 5 1 Thông số động cơ giảm tốc băng tải
Thông số Giá trị Đường kính động cơ (mm) 37 Đường kính trục D (mm) 6
Chiều dài trục động cơ (mm) 15
Bộ giảm tốc hệ số 16,4:1 Điện áp hoạt động (V – DC) 12 - 24
Số vòng quay ở 12V (vòng/phút) 160
Số vòng quay ở 24V (vòng/phút) 220
Hình 5 20 Động cơ giảm tốc 550 cho băng tải
Thiết kế hệ thống điều khiển
4.4.1 Thiết kế hệ thống điện
Hệ thống điện điều khiển được thiết kế, kết nối các linh kiện theo sơ đồ hình 5.21
Hình 5 21 Hệ thống điện điều khiển robot
4.4.2 Thiết kế hệ thống gắp thả phôi
Hình 5 22 Hệ thống điều khiển khí nén gắp thả phôi
4.5 Thiết kế giao diện hiển thị Để dễ dàng quan sát cũng như trích xuất thông tin trong quá trình robot hoạt động, thiết kế giao diện hiển thị các thông số như tọa độ của sản phẩm trên băng tải, loại sản phẩm mà robot đang gắp/thả và hiển thị vùng camera đang hoạt động Giao diện được thiết kế trên phần mềm lập trình pycharm và sử dụng thư viện hỗ trợ Tkinter
Hình 5 23 Giao diện hiển thị hoạt động của robot
Hình 6 1 Thi công băng tải
Hình 6 2 Lắp ráp gối đỡ và khâu trung gian
Hình 6 3 Lắp ráp các chi tiết
Hình 6 4 Thi công hệ thống điện
Hình 6 5 Mô hình sau khi hoàn thiện
Hình 6 6 Góc nhìn khác của mô hình
4.7 Kết quả huấn luyện model nhận dạng cà chua
Hình 6 7 Các biểu đồ được xuất ra sau khi huấn luyện model
Hình 6 8 Các thông số của model
Kết quả robot nhận dạng phân loại cà theo màu sắc được trình bày tại hình 6.9, hình 6.10 và hình 6.11
Hình 6 9 Kết quả phân loại quả cà chua chín đỏ
Hình 6 10 Kết quả phân loại quả cà chua chín vừa
Hình 6 11 Kết quả phân loại quả cà chua xanh
4.9 Kết quả phân loại mô hình
Hệ thống đã đáp ứng đầy đủ các yêu cầu của đề tài, thực hiện các chức năng với tốc độ cao như mong muốn, vượt trội hơn so với động cơ hiện tại.
Thông số hoạt động của robot Delta và băng tải:
Điện áp hoạt động của robot Delta và băng tải bao gồm khí nén là: 12v5A
Sai số hoạt động ± 2.0mm
Về phần xử lý ảnh và phân loại cà chua:
Nhận diện được và di chuyển đúng vị trí của cà chua
Tốc độ gắp sản phẩm là 30 sản phẩm/ phút
Sau 75 lần thử nghiệm cho cấp phôi ngẫu nhiên trên băng tải, robot phân loại theo mức độ chín của quả cà chua cho ra kết quả tương đối cao, hệ thống hoạt động ổn định, robot nhận dạng đúng màu sắc và thả sản phẩm vào đúng vị trí quy định Kết quả thực nghiệm được trình trong bảng 6.1 Tuy nhiên ở đây chỉ thực hiện khoảng 25 lần trên
Trong điều kiện ánh sáng ổn định, sản phẩm đạt độ chính xác cao, nhưng sự thay đổi lớn về ánh sáng có thể làm nhòe hình ảnh và dẫn đến sai số lớn Thêm vào đó, việc vận hành lâu dài có thể khiến các cơ cấu cơ khí không còn hoạt động hiệu quả như ban đầu Các nguyên nhân khác bao gồm tốc độ cấp phôi không ổn định, giới hạn cơ khí của robot, mật độ sản phẩm lớn khiến robot không thể gắp hết kịp thời, và phạm vi camera hạn chế làm giảm tầm nhìn của robot.
Bảng 6.1 Kết quả thực nghiệm robot phân loại sản phẩm mức độ chín
Sản phẩm Chín đỏ Chín vừa Xanh
Kết quả 24/25 20/25 22/25 Độ chính xác 96% 80% 88%