Thông tin đề tài Tên của đề tài ỨNG DỤNG ROBOT SCARA PHÂN LOẠI RÁC Đồ án tốt nghiệp được thực hiện tại: Bộ môn Tự Động Điều Khiển, Khoa Điện - Điện Tử, Trường Đại Học Sư Phạm Kỹ Thuật T
TỔNG QUAN
Giới thiệu đề tài
Trong những năm gần đây, vấn đề ô nhiễm môi trường ngày càng trở nên nghiêm trọng và thu hút sự quan tâm của toàn xã hội Một trong những nguyên nhân chính dẫn đến tình trạng này là việc quản lý rác thải không hiệu quả Rác thải không được phân loại đúng cách sẽ làm gia tăng khối lượng rác cần xử lý, gây ra sự quá tải cho các bãi rác và các hệ thống xử lý Đồng thời, việc này cũng làm tăng nguy cơ ô nhiễm đất, nước và không khí, ảnh hưởng trực tiếp đến sức khỏe con người và các hệ sinh thái
Hình 1.1 Rác thải gây ô nhiễm tại 1 vùng biển
Phân loại rác tại nguồn là một giải pháp quan trọng nhằm giảm thiểu khối lượng rác thải cần xử lý, đồng thời tạo điều kiện thuận lợi cho việc tái chế và xử lý rác thải một cách hiệu quả hơn Tuy nhiên, việc phân loại rác thủ công đòi hỏi nhiều công sức, thời gian và đôi khi gây nguy hiểm cho những người thực hiện Hơn nữa, quá trình này còn dễ mắc sai sót do yếu tố con người
Với sự phát triển nhanh chóng vượt bậc, thế giới đang trải qua quá trình công nghiệp hóa, hiện đại hóa Robot đang được ứng dụng để thay thế con người làm những công việc tốn sức, lặp đi lặp lại và trong môi trường nguy hiểm Robot có khả năng di chuyển linh hoạt trong không gian hai chiều, với độ chính xác và tốc độ cao
Một trong những công nghệ tiên tiến hỗ trợ đắc lực cho robot trong việc nhận diện và phân loại đối tượng là công nghệ xử lý ảnh, đặc biệt là các mô hình học sâu như YOLO (You Only Look Once) YOLO là một trong những mô hình tiên tiến nhất hiện nay trong lĩnh vực nhận diện đối tượng, với khả năng nhận diện nhanh chóng và chính xác các vật thể trong hình ảnh Sự kết hợp giữa robot Scara và mô hình YOLO mang lại tiềm năng to lớn trong việc tự động hóa quá trình phân loại rác thải, giúp tiết kiệm thời gian, công sức và giảm thiểu sai sót do yếu tố con người
Hình 1.2 Ứng dụng robot và trí tuệ nhân tạo AI phân loại rác
Trong bối cảnh đó, đề tài "Ứng dụng Robot Scara phân loại rác sử dụng xử lý ảnh với mô hình YOLO" ra đời nhằm nghiên cứu và phát triển một hệ thống tự động hóa quá trình phân loại rác thải Hệ thống này không chỉ giúp nâng cao hiệu quả quản lý rác thải mà còn góp phần bảo vệ môi trường và cải thiện chất lượng cuộc sống của con người Thông qua việc áp dụng công nghệ hiện đại, đề tài hướng tới mục tiêu xây dựng một giải pháp tiên tiến và bền vững trong lĩnh vực quản lý rác thải.
Tình hình nghiên cứu
Tại Việt Nam, vấn đề rác thải và xử lý rác thải đang được quan tâm và nghiên cứu mạnh mẽ Nhiều dự án và đề tài nghiên cứu đã được thực hiện nhằm tìm kiếm các giải pháp xử lý rác thải hiệu quả Tuy nhiên, việc ứng dụng AI trong phân loại rác thải vẫn còn hạn chế và chủ yếu dừng lại ở mức thử nghiệm
Một số nghiên cứu đã tập trung vào việc phát triển hệ thống phân loại rác tự động sử dụng công nghệ nhận dạng hình ảnh, tuy nhiên vẫn chưa có hệ thống hoàn
3 chỉnh và hiệu quả cao được triển khai rộng rãi Các trường đại học và viện nghiên cứu đang tích cực tìm kiếm các giải pháp kết hợp giữa AI và các công nghệ mới để cải thiện quy trình xử lý rác thải
Trên thế giới, các nước phát triển như Mỹ, Nhật Bản, và các nước châu Âu đã có nhiều nghiên cứu và ứng dụng thành công robot phân loại rác sử dụng AI Các công ty công nghệ lớn như ABB, IBM, và Siemens đã phát triển các hệ thống phân loại rác thông minh với khả năng nhận diện và phân loại rác thải với độ chính xác cao.
Mục tiêu nghiên cứu
Có 2 mục tiêu mà nhóm hướng đến là: nhận diện được chai và lon trong nhiều vật khác nhau (rác) và thực hiện thành công việc gắp vật trong lúc vật đang chạy trên băng tải Để hoàn thành được mục tiêu đó nhóm chia thành bốn giai đoạn chính để đạt được:
• Thứ nhất, gắp vật ở một vị trí cố định trên băng tải đứng yên, cụ thể chúng tôi sẽ đặt vật tại 1 vị trí đã biết robot sẽ chạy đến và gắp vật một cách chính xác
• Thứ hai, gắp từng vật ở một vị trí cố định trên băng tải đang chạy, cụ thể chúng tôi sẽ dùng camera lấy toạ độ vật tại 1 vị trí cách vị trí cố định 1 khoảng cách x, sau đó dựa vào x, tốc độ băng tải và thời gian robot di chuyển để ước lượng thời gian vật đến vị trí cố định kích robot chạy đến gắp vật chính xác
• Thứ ba, robot chạy gắp và nhớ nhiều vật khi băng tải vẫn đang chạy, cụ thể đặt nhiều vật trên băng tải, camera sẽ đọc và lưu tọa độ của nhiều vật sau đó thực thi gắp từng vật qua băng tải một cách chính xác
• Thứ tư, chúng tôi sẽ chụp, thu thập nhiều dữ liệu nhất có thể, dán nhãn dữ liệu và đưa vào train trên YOLOV8 Sau đó để mô hình có thể detect được chai và lon với hiệu quả cao, chúng tôi sẽ cho chạy kiểm thử mô hình, nếu chưa ổn thì tiếp tục train cho đến khi đạt được những hiệu suất mô hình tối ưu thì dừng.
Nội dung nghiên cứu
Chương 1: Tổng quan Ở chương này đưa ra các vấn đề, lý do chọn đề tài, đưa ra mục tiêu nghiên cứu cũng như giới hạn đề tài
Chương 2: Cơ sở lý thuyết
Chương này trình bày nội dung cơ sở lý thuyết về PLC, PLC Misubishi dòng
Q, động cơ servo, encoder, driver servo, tính toán động học, mô hình nhận diện vật YOLO, truyền thông giữa PLC và PC qua MC-protocol
Chương 3: Thiết kế và thi công mô hình Ở chương này sẽ trình bày các bước thi công phần cứng, lựa chọn thiết bị, sơ đồ đấu dây dựa trên thực tế và bản vẽ thiết kế
Chương 4: Giải thuật và chương trình điều khiển
Chương này trình bày mô tả hệ thống, giải thuật điều khiển và trình bày lưu đồ giải thuật
Chương 5: Vận hành hệ thống và đánh giá kết quả thực nghiệm
Chương này trình bày cách vận hành hệ thống và đánh giá kết quả của mô hình
Chương 6: Kết quả và nhận xét
Chương này sẽ nói về kết quả đại được và sau đó nhận xét về mục tiêu đã đặt ban đầu
Chương 7: Kết luận và hướng phát triển đề tài
Kết luận sau khi hoàn thành mô hình Nêu ra những ưu, nhược điểm và hướng phát triển của đồ án để đưa ra hướng phát triển tiếp theo cho đề tài.
Giới hạn đề tài
Cấp rác lên băng tải bằng phương pháp thủ công
Mô hình xử lý ảnh chỉ nhận diện được lon và chai trong môi trường nhiều rác thải sinh hoạt khác
Trường hợp lượng vật nằm liền kề nhau từ 3 trở lên, robot sẽ bỏ bớt, không gắp một số vật
CƠ SỞ LÝ THUYẾT
Tổng quan vể robot SCARA
Robot SCARA (Selective Compliance Assembly Robot Arm hoặc Selective Compliance Articulated Robot Arm) là một loại robot công nghiệp được thiết kế cho các nhiệm vụ lắp ráp nhanh chóng và chính xác Cấu trúc cơ học của SCARA gồm bốn trục, với ba trục cho chuyển động ngang (XY) và một trục cho chuyển động dọc (Z), cho phép linh hoạt trong mặt phẳng ngang và ổn định theo chiều dọc
Hình 2.1 Robot SCARA đầu tiên phát triển bởi
2.1.2 Ưu và nhược điểm robot SCARA Ưu điểm:
- Tốc độ và độ chính xác cao: SCARA có khả năng di chuyển linh hoạt trong mặt phẳng ngang (XY), đảm bảo độ chính xác và hiệu suất cao
- Thiết kế đơn giản và gọn nhẹ: Dễ dàng lắp đặt, bảo trì và tiết kiệm không gian trong nhà máy
- Chi phí vận hành thấp: Hiệu quả năng lượng, ít tốn kém trong bảo trì và vận hành
- Giới hạn phạm vi làm việc và khả năng tải trọng: Không thể tiếp cận các điểm ngoài vùng hoạt động và không phù hợp cho các nhiệm vụ nâng vật nặng
- Khả năng tải trọng thấp: Không phù hợp cho các nhiệm vụ đòi hỏi nâng vật nặng
- Không thích hợp cho các ứng dụng yêu cầu nhiều bậc tự do: Hạn chế trong các nhiệm vụ phức tạp
- Chi phí đầu tư ban đầu cao
2.1.3 Ứng dụng của robot SCARA
Robot SCARA được sử dụng rộng rãi trong nhiều lĩnh vực công nghiệp nhờ vào tốc độ, độ chính xác và tính linh hoạt của nó Dưới đây là một số ứng dụng cụ thể:
- Lắp ráp linh kiện điện tử: SCARA thường được sử dụng để lắp ráp các linh kiện nhỏ như vi mạch, bo mạch in (PCB) và các thiết bị điện tử tiêu dùng
- Gắp và đặt: gắp đặt sản phẩm từ vị trí cố định hoặc di động sang vị trí khác nhờ robot hoặc cơ cấu chuyền động cơ khí Được sử dụng trong tất cả các giai đoạn của quá trình sản xuất, từ cấp nhiên vật liệu đầu vào đến đóng gói sản phẩm ở đầu ra
- In 3D và khắc laser: dùng để in các mô hình 3D với kích thước nhỏ như đồ trang trí, phụ kiện và có khả năng khắc laser cho bất kỳ robot nhỏ nào
- Hàn: được phổ biến trong ngành công nghiệp điện tử, robot SCARA cung cấp chất lượng hàn động nhất, hoàn toàn có khả năng thay thế hàn tay.
Khái quát về PLC
PLC là thiết bị cho phép lập trình thực hiện các thuật toán điều khiển logic PLC có khả năng thay đổi thuật toán điều khiển tùy biến thông qua một ngôn ngữ lập trình Do vậy, nó cho phép thực hiện linh hoạt tất cả các bài toán điều khiển
Có nhiều ngôn ngữ để lập trình cho PLC như LAD, FBD, STL và nhóm đang sử dụng ngôn ngữ LAD cho đề tài lần này
Nguyên lý hoạt động của PLC:
- PLC nhận thông tin từ các cảm biến và các thiết bị đầu vào được kết nối, xử lý dữ liệu và kích hoạt đầu ra dựa trên các tham số đã được lập trình trước đó
- Các hoạt động bên trong PLC được điều khiển bởi CPU, nó sẽ đọc và kiểm tra chương trình được chứa trong bộ nhớ và thực hiện từng lệnh trong chương trình được lập trình trước đó
- Tùy thuộc vào đầu vào và đầu ra, bộ điều khiển PLC, có thể theo dõi và ghi lại dữ liệu thời gian chạy như năng suất máy và nhiệt độ vận hành, tự khởi động và dừng quy trình, tạo báo thức nếu máy gặp trục trặc và hơn thế nữa…
- Bộ điều khiển lập trình PLC là một giải pháp điều khiển linh hoạt và mạnh mẽ, có thể thích ứng với hầu hết ứng dụng nào
Hình 2.2 Nguyên lí hoạt động của PLC
2.2.2 Ưu điểm và nhược điểm của PLC
Bảng 2-1 Ưu và nhược điểm của PLC Ưu điểm Nhược điểm
- Dễ dàng thay đổi chương trình theo ý muốn, thích hợp để lập trình cho nhiều ứng dụng khác nhau
- Mạch điện gọn nhẹ, dễ dàng trong việc bảo quản, sửa chữa và thay thế
- Độ tin cậy cao, chuẩn hóa được thiết bị
- Thực hiện được các thuật toán phức tạp và độ chính xác cao
- Cấu trúc PLC dạng module, cho phép dễ dàng thay thế, mở rộng đầu vào/ra, mở rộng chức năng khác
- Khả năng chống nhiễu tốt, hoàn toàn làm việc tin cậy trong môi trường công nghiệp
- Giao tiếp được với các thiết bị thông minh khác như: máy tính, nối mạng truyền thông với các thiết bị khác
- Sử dụng tốt trong các loại môi trường như nhiệt độ, độ ẩm cao, dòng điện dao động, …
- Giá thành phần cứng cao: Vì đây là một thiết bị công nghệ cao, tự động hóa cao nên giá trị sẽ cao hơn nhiều so với các lại thiết bị rơ le ON/OFF thông thường
- Một số hãng phải mua thêm phần mềm để lập trình: Các loại PLC sẽ được hãng thiết kế riêng chính vì thế chúng sẽ có sự khác biệt trong khâu lập trình hệ thống - Một số hãng sẽ kèm theo phần mềm, tuy nhiên cũng sẽ có một số hãng bán kèm để chúng ta sử dụng
- Đòi hỏi người sử dụng phải có trình độ chuyên môn cao: hầu hết những người sử dụng được PLC phải được đào tạo rất bài bản Họ phải được trang bị các kiến thức liên quan đến từng loại PLC của từng hãng khác nhau Bởi vì mỗi hãng sẽ có phần mềm lập trình riêng nên để đào tạo thì cần một khoảng thời gian để có thể đảm nhiệm được công việc này Nếu chuyên môn không cao sẽ dẫn dên lập trình sai, gây hư hỏng và tổn thất trang thiết bị và xảy ra các sự cố đáng tiếc
2.2.3 Vai trò và ứng dụng của PLC
Trong ngành công nghiệp hiện đại, bộ lập trình PLC đóng vai trò quan trọng, đặc biệt là công nghiệp sản xuất Với nhiều ưu điểm vượt trội về giá thành lẫn hiệu suất, PLC được ứng dụng rộng rãi, phổ biến trong các tủ bảng điện tự động hóa của các hệ thống như: cấp nước, nhà máy xử lý nước thải, sản xuất chế biến, đóng gói, giám sát dây chuyền sản xuất, công nghiệp nặng
Cụ thể PLC là dùng trong công nghệ điều khiển cánh tay Robot để gắp phôi từ băng tải bỏ qua bàn gia công của máy CNC, hay điều khiển Robot đưa đổ vật liệu vào băng tải, hoặc thực hiện các việc đóng hộp, dán tem nhãn, hệ thống báo động… Ngoài ra, Bộ lập trình PLC còn được dùng trong các ứng dụng giám sát quá trình trong nhà máy mạ, các dây chuyền lắp ráp linh kiện điện tử trong các nhà máy, dây chuyền kiểm tra chất lượng sản phẩm… bằng các công tắc hành trình hoặc các cảm biến.
PLC dòng Q của hãng Mitsubishi
2.3.1 Giới thiệu PLC dòng Q Được phát triển từ dòng sản phẩm AnSH trước đây, dòng PLC
Mitsubishi Q cho phép người dùng phối hợp và lựa chọn sự kết hợp tốt nhất giữa bộxử lý, công cụ truyền thông, mô-đun điều khiển chuyên dụng và I/O trên cùng một giao tiếp.Điều này cho phép người dùng định cấu hình hệ thống theo nhu cầu của họ, khi họ cần và nơi họ cần triển khai.Có thể kết hợp CPU PLC, CPU Motion, bộ
Hình 2.3 Một số ứng dụng PLC trong công nghiệp
9 điều khiển quá trình và thậm chí cả PC vào một hệ thống duy nhất với tối đa 4 CPU khác nhau.Điều này cho phép người dùng lựa chọn hướng điều khiển và ngôn ngữ lập trình, tất cả trên một nền tảng
Bảng 2-2 Các PLC dòng Q và mô tả
Tên PLC Mô tả Mẫu CPU
QnUCPU Các tính năng, phương pháp thiết bị cho lập trình
Mã CPU ứng dụng tổng quát
Các tính năng, phương pháp, thiết bị cho lập trình
Mẫu QCPU cơ bản/ hiệu năng cao/ điều khiển quy trình/ dự phòng
Thông tin cho cấu hình hệ thống đa CPU (cấu hình hệ thống, thông số I/O, liên kế thiết bị vào/ra và tính năng thiết bị thông minh
Mẫu QCPU cơ bản/ hiệu năng cao/ điều khiển quy trình ứng dụng tổng quan
Cấu hình hệ thống dự phòng, tính năng, kết nối với các thiết bị bên ngoài và xử lý xử cố
QnPRHCPU Tính năng liên kết thông qua cổng Ethernet gắn trong
Mã CPU ứng dụng tổng quát
2.3.2 Đặc điểm chung của PLC dòng Q
PLC dòng Q là dòng PLC mạnh nhất chỉ sau dòng iQ-R của hãng Mitsubishi với kích thước nhỏ gọn, hiệu năng cao, loại bỏ các hạn chế của các bộ lập trình truyền thống
Nhờ công nghệ multi-Processor: Cho phép 4 CPU cùng lúc tham gia vào các quá trình điều khiển máy xử lý, điều khiển vị trí, truyền thông nhờ đó chức năng đồng bộ được cải thiện, thời gian phân tích của chương trình giảm xuống chỉ còn 0,5 đến 2 ms Ngoài ra, nó còn cho phép người dùng chọn hướng điều khiển, phối cảnh và ngôn ngữ lập trình, tất cả chỉ trong một nền tảng
Khả năng xử lý tốc độ cao: tốc độ xử lý cho 1 lệnh SD từ 1.9 ns tới 200 ns Cung cấp nhiều giải pháp phù hợp với các ứng dụng điều khiển với độ phức tạp cao.
Động cơ
Servo là thiết bị tự động có cảm biến phản hồi để điều chỉnh hành động Đồng thời, còn là một bộ phận của hệ thống điều khiển và cung cấp lực chuyển động cần
11 thiết khi vận hành của các thiết bị máy móc Có công nghiệp Driver Servo tương tự như Driver máy tính
Bảng 2-3 Động cơ servo 2.4.2 Phân loại động cơ servo Động cơ servo thông thường được chia thành hai loại dựa trên dòng điện:
- Động cơ DC servo: Nguồn cấp cho động cơ là nguồn điện một chiều Được thiết kế để sử dụng trong các hệ thống sử dụng dòng điện thấp hơn Nó là chia thành hai loại: động cơ servo DC có chổi than và không chổi than than Động cơ servo DC thường có thế mạnh về khả năng điều khiển tốc độ Duy trì tốc độ cao cực kỳ ổn định được điều khiển bởi bộ điều khiểnPWM hội nhập
- Động cơ AC servo: Là loại động cơ quay chạy bằng dòng điện xoay chiều
3 giai đoạn Nó hoạt động dựa trên nguyên lý nam châm vĩnh cửu Hệ thống mã hóa phản hồi Rơle này giám sát và cảnh báo vị trí rôto để điều khiển dòng điện cuộn dây một cách chính xác So với DC servo, quán tính rôto rất thấp, Hệ thống điều khiển phức tạp và dòng điện, tần số và pha của stato được điều chỉnh được người lái điều phối để đến được vị trí mong muốn Tốc độ quay của AC servo có thể là đạt 6000 vòng/phút trở lên trong servo chuyên dụng Đối với Mitsubishi, động cơ AC servo của hãng sẽ được phân loại tương ứng ứng dụng động cơ và sẽ được phân biệt dựa trên số sê-ri
- Động cơ quán tính trung bình (Dòng HF): Độ chính xác của động cơ quán tính Chất lượng cao sẽ được đảm bảo Thích hợp cho các máy cần tăng tốc nhanh
- Động cơ quán tính thấp (Dòng HF-KP): thích ứng với trục phụ có yêu cầu khắt khe Yêu cầu định vị tốc độ cao
- Động cơ servo tuyến tính (Series LM-F): Có thể sử dụng trong môi trường sạch sẽ bởi không sử dụng bất cứ vít me bi nào và do đó nhiễm bẩn từ dầu mỡ không phải là vấn đề
- Động cơ servo dẫn động trực tiếp (Series TM-RB): Động cơ kết hợp dẫn động trực tiếp với mô-men xoắn cao với hệ thống điều khiển có độ lợi cao sẽ mang lại khả năng tăng tốc và định vị nhanh chóng, giúp máy quay mượt mà hơn
2.4.3 Cấu tạo Để động cơ AC servo hoạt động cần 3 thành phần:
Bộ điều khiển: Gồm màn hình, nút bấm và các thiết bị nhận và phát thông tin Nó tiếp nhận dữ liệu về tốc độ, vị trí và mô-men xoắn, hiển thị trên màn hình, giúp người dùng dễ dàng điều chỉnh thông số hoặc thiết lập PLC để động cơ hoạt động phù hợp với từng công việc
Bộ khuếch đại servo: Thường gắn chung với bộ điều khiển, tiếp nhận thông tin dưới dạng mã từ bộ mã hóa và chuyển về bộ điều khiển để hiển thị Chức năng chính là liên tục sửa đổi kết quả thực tế để giảm mức chênh lệch và ra lệnh cho động cơ hoạt động, mang lại tính tự động hóa cao và độ chính xác, như trong các sản phẩm của máy cắt CNC
Thiết bị dò và dẫn động: Gồm động cơ và bộ mã hóa, kết nối với bộ điều khiển và bộ khuếch đại bằng dây dẫn Động cơ bao gồm rotor, stator, cuộn dây dẫn, nam châm, phanh điện từ và trục dẫn động Bộ mã hóa (encoder) tiếp nhận thông tin từ động cơ, mã hóa và truyền đi để xử lý Động cơ còn được trang bị phanh tái sinh để giảm tốc và tiết kiệm điện năng, là loại ưu việt nhất hiện nay về tiết kiệm điện
Về quy trình hoạt động: Bộ điều khiển gửi lệnh đến bộ khuếch đại servo, khi nhận được lệnh bộ khuếch đại sẽ truyền lệnh đến động cơ servo để tạo ra lực truyền động Động cơ servo có bộ mã hóa để phát hiện vị trí hiện tại và gửi thông tin này về bộ khuếch đại servo Bộ khuếch đại so sánh lệnh với giá trị hiện tại từ bộ mã hóa và điều chỉnh lệnh để giảm sự khác biệt Quá trình này gọi là điều khiển hồi tiếp
2.4.4 Ưu và nhược điểm của động cơ AC servo Ưu điểm:
- Độ chính xác và tốc độ cao: Động cơ AC Servo có khả năng di chuyển rất nhanh và chính xác, lý tưởng cho các nhiệm vụ đòi hỏi độ chính xác và tốc độ cao
- Tiêu thụ điện năng thấp: Những động cơ này sử dụng ít điện hơn so với các loại khác, giúp tiết kiệm năng lượng
- Bền bỉ và chắc chắn: Chúng được chế tạo để bền lâu, với cấu trúc chắc chắn có thể chịu được sử dụng nặng trong thời gian dài
- Dễ điều khiển: Động cơ AC Servo rất dễ điều khiển, đáp ứng tốt các lệnh và có thể dễ dàng điều chỉnh để phù hợp với các nhu cầu khác nhau
- Phù hợp với các nhiệm vụ phức tạp: Chúng đủ linh hoạt để xử lý các nhiệm vụ phức tạp, phù hợp với nhiều ứng dụng khác nhau
- Chi phí ban đầu cao: Động cơ AC Servo có thể có giá thành khá cao, là một khoản đầu tư đáng kể đối với các doanh nghiệp có ngân sách hạn chế
- Hệ thống điều khiển phức tạp: Chúng có hệ thống điều khiển phức tạp, có thể khó hiểu và vận hành, đặc biệt đối với người mới bắt đầu
- Yêu cầu bảo trì thường xuyên: Động cơ này cần bảo trì định kỳ, có thể tăng chi phí vận hành và yêu cầu nhiều thời gian hơn
- Nhạy cảm với nhiệt: Những động cơ này cũng nhạy cảm với nhiệt Quá nhiệt có thể làm hỏng động cơ, giảm tuổi thọ và hiệu suất của chúng Không phù hợp với các ứng dụng tốc độ cao: Động cơ AC Servo không phải là lựa chọn tốt nhất cho các nhiệm vụ tốc độ cao, hiệu suất của chúng có thể bị giảm trong các ứng dụng này, ảnh hưởng đến năng suất.
Encoder
Bộ mã hóa là thiết bị cảm biến cung cấp phản hồi về chuyển động của một trục nào đó cho hệ thống điều khiển Nguyên lý cơ bản của Encoder bao gồm một đĩa quay quanh một trục Trên đĩa có các lỗ hoặc rãnh để tín hiệu quang chiếu qua đĩa bắt được góc quay của đĩa Khi trục quay làm quay đĩa, tín hiệu quang chiếu qua đĩa sẽ được bật tắt liên tục, tạo ra các xung Bằng cách ghi lại số xung và tốc độ xung, chúng ta có thể thu được góc quay và tốc độ quay của trục được lắp ở Encoder
Incremental Encoder (Encoder tương đối): là một loại thiết bị đo và ghi nhận chuyển động của đối tượng, cung cấp thông tin về tốc độ, hướng quay và vị trí tương đối Cấu trúc của nó bao gồm bánh răng quay gắn trên trục đối tượng và cảm biến, thường là cảm biến quang học, để đọc thông tin từ bánh răng Khi đối tượng quay, bánh răng tạo ra các xung tín hiệu, cho phép tính toán vị trí và tốc độ
14 Để xác định hướng quay, Encoder cần ít nhất hai kênh xung (A và B) được pha điện tử 90 độ với nhau
Hình 2.4 Đĩa Encoder và tín hiệu xung tương ứng
Hình 2.5 Nguyên lí hoạt động của Encoder tương đối
Absolute Encoder (Encoder Tuyệt đối) là một loại encoder cung cấp thông tin vị trí chính xác của đối tượng ngay cả khi mất nguồn điện Nó cho phép đọc giá trị vị trí tuyệt đối mà không cần xác định lại từ điểm ban đầu Cấu trúc cơ bản gồm bánh răng quay gắn trên trục đối tượng và hệ thống mã hóa sử dụng cảm biến, thường là cảm biến quang học, để chuyển đổi thông tin thành tín hiệu số đại diện cho vị trí tuyệt đối Absolute Encoder hoạt động bằng cách chia quỹ đạo chuyển động thành nhiều vị trí khác nhau và cung cấp mã đặc biệt cho mỗi vị trí, cho phép xác định chính xác vị trí tuyệt đối của đối tượng
Hình 2.6 Đĩa Encoder tuyệt đối
Hình 2.7 Nguyên lý hoạt động
Camera độ sâu
2.6.1 Khái niệm về camera nhận diện độ sâu
Camera độ sâu stereo sử dụng ánh sáng hồng ngoại để cải thiện độ chính xác của dữ liệu, và có thể sử dụng bất kỳ nguồn sáng nào để đo độ sâu, khác với các loại camera ánh sáng có cấu trúc hoặc mã hóa Với hai cảm biến được đặt cách nhau, camera chụp hai hình ảnh và so sánh chúng để tính toán độ sâu, tương tự như cách con người sử dụng hai mắt để nhìn thấy độ sâu
Camera stereo hoạt động hiệu quả trong nhiều điều kiện ánh sáng, bao gồm cả ngoài trời, nhờ vào khả năng sử dụng đặc điểm hình ảnh để đo độ sâu Bổ sung máy chiếu hồng ngoại giúp camera vẫn hoạt động chính xác trong điều kiện ánh sáng yếu Các sản phẩm Intel® RealSense™ D400 là ví dụ điển hình của loại camera độ sâu stereo này
Khoảng cách mà camera độ sâu stereo có thể đo được phụ thuộc vào khoảng cách giữa hai cảm biến – càng rộng, camera càng có thể nhìn xa Kỹ thuật này tương tự như cách các nhà thiên văn sử dụng để đo khoảng cách của các ngôi sao xa, bằng cách đo vị trí của chúng trên bầu trời tại các thời điểm khác nhau trong quỹ đạo Trái Đất
Hình 2.8 Nguyên lí hoạt động camera độ sâu
2.6.2 Ứng dụng của camera độ sâu
Camera độ sâu mang lại lợi thế tự nhiên bằng cách cải thiện hiểu biết về cảnh vật mà không cần sự can thiệp nhiều của con người Khác với việc xử lý hình ảnh 2D truyền thống đòi hỏi đầu tư đáng kể và thời gian để huấn luyện mạng học máy phức tạp, camera độ sâu có thể ngay lập tức phân biệt các đối tượng nền và đối tượng chính trong cảnh vật Khả năng này đặc biệt hữu ích trong các nhiệm vụ như phân đoạn nền, giúp làm sạch hình ảnh mà không cần sử dụng màn xanh
Trong lĩnh vực robot học và thiết bị tự động như máy bay không người lái, camera độ sâu đóng vai trò quan trọng Chúng hỗ trợ phát hiện các chướng ngại vật trong thời gian thực trên đường đi của robot, giúp tránh va chạm Ngoài ra, những camera này còn góp phần tạo ra bản đồ hay quét không gian ba chiều, nâng cao khả năng nhận thức không gian và điều hướng của các thiết bị.
Phương pháp điều khiển vị trí động cơ
Thiết lập bộ truyền động:
- Number of pulses per rotation (Số xung trên mỗi vòng quay): Số xung cần cấp để động cơ có thể hoàn thành được một vòng quay Số xung này phụ thuộc vào số xung cố định trên Encoder và hộp số đang gắn trực tiếp vào động cơ đó
- Movement amount per roration (Khoảng di chuyển trên mỗi vòng quay): cài đặt khoảng di chuyển mà cơ cấu cơ khí liên kết với trục động cơ như vít me, linear, bàn xoay…
- Pulse output mode (Chế độ phát xung): cài đặt phương pháp truyền tín hiệu xung lệnh và hướng quay cho phù hợp với bộ điều khiển servo được kết nối
- Bảng 2-4 Chế độ điều khiển của AC servo
Pulse/sigh (xung/tín hiệu)
- Số vòng quay cũng như tốc độ quay phụ thuộc vào tín hiệu xung
- Tín hiệu thuận nghịch độc lập với xung lệnh để điều khiển hướng quay
CW/CCW (clockwise/ counter clockwise)
- Việc quay thuận nghịch không phải cố định mà thường quy ước theo chiều kim đồng hồ
- Có thể điều khiển chiều quay của servo thông qua 2 ngõ nhận xung Khi ngõ A nhận xung thì động cơ quay theo chiều kim đồng hồ, khi ngõ
B nhận xung thì động cơ quay ngược chiều kim đồng hồ
- Việc ngõ nào quay theo chiều nào có thể cài đặt trong thông số hoặc truyền lệnh từ bộ điều khiển xuống driver servo
- Hướng quay điều khiển bởi độ lệch pha giữa hai ngõ phát xung Quay thuận khi pha B trễ hơn so với A một góc 90 độ Quay nghịch khi pha
A trễ hơn so với pha B một góc 90 độ
Output signal logic (Tín hiệu logic đầu ra): có thể lựa chọn một trong hai chế độ Positive logic – nhận lệnh mức High hoặc Negative logic – nhận lệnh mức low
Rotation direction setting (Thiết lập hướng quay): chiều quay thuận nghịch của động cơ servo thực tế là không có mặc định Hướng ngay được chỉ định theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ Chính vì thế ta phải thiết lập hướng quay cho bộ điều khiển servo bằng cách cài đặt động cơ quay theo chiều mà giá trị vị trí báo về là dương nghĩa là quay thuận và ngược lại là quay nghịch
Mô hình nhận diện vật YOLO
2.8.1 Giới thiệu mô hình YOLO (You Only Look Once)
Mô hình YOLO được giới thiệu bởi Redmon vào năm 2016, dự đoán trực tiếp các bounding box và xác suất lớp với một mạng duy nhất trong một lần đánh giá duy nhất Các phiên bản YOLO liên tục được cập nhật
Về độ chính xác, YOLO có thể không phải là thuật toán chính xác nhất, nhưng là thuật toán nhanh nhất trong các mô hình phát hiện đối tượng Nó có thể đạt được tốc độ gần như real-time mà độ chính xác không giảm nhiều
YOLO không chỉ là thuật toán phát hiện và dán nhãn cho bài toán phân loại mà còn xác định được vị trí của vật thể Tính đến thời điểm hiện tại, YOLO đã có tổng cộng 8 phiên bản (v1, v2, v3, v4, v5, v6, v7, v8)
Trong đó, bản v5 đã khắc phục được các nhược điểm của các phiên bản trước như: lỗi về việc xác định vị trí của vật thể, các ràng buộc về không gian trên những bounding box, và mỗi grid cell chỉ có thể dự đoán rất ít bounding box
2.8.2 Kiến trúc và nguyên lí hoạt động của mô hình YOLO
Kiến trúc mô hình YOLO
Mô hình YOLO có tổng cộng 24 lớp tích chập, bốn lớp pooling cực đại, và hai lớp kết nối với nhau
Hình 2.9 Kiến trúc mô hình YOLO
Kiến trúc được hoạt động như sau:
- Đầu vào hình ảnh được thay đổi kích thước thành 448x448 trước khi đi qua mạng tích chập
- Áp dụng tích chập 1x1 để giảm số kênh, sau đó là tích chập 3x3 để tạo đầu ra hình hộp
- Hàm kích hoạt sử dụng là ReLU, ngoại trừ lớp cuối cùng sử dụng hàm kích hoạt tuyến tính
- Một số kỹ thuật bổ sung như batch normalization và dropout được sử dụng để điều chỉnh mô hình và ngăn chặn overfitting
Mô hình YOLO ban đầu được huấn luyện trên ImageNet, một tập dữ liệu rộng lớn và đa dạng chứa hàng trăm hình ảnh thuộc nhiều loại khác nhau Sau khi trải qua quá trình huấn luyện sơ bộ, mô hình được tinh chỉnh để thực hiện nhiệm vụ phát hiện đối tượng Trong cấu trúc của YOLO, lớp kết nối đầy đủ cuối cùng đóng vai trò dự đoán xác suất của các lớp đối tượng cũng như tọa độ của các hộp giới hạn (bounding box)
Hình 2.10 Hình ảnh minh họa cách hoạt động của YOLO
YOLO phân chia hình ảnh đầu vào thành một lưới có kích thước S x S Mỗi ô lưới chịu trách nhiệm phát hiện đối tượng nếu tâm của đối tượng nằm trong phạm vi của ô đó Trong mỗi ô lưới, mô hình sẽ dự đoán hộp giới hạn cùng với các điểm tin cậy tương ứng Điểm tin cậy này biểu thị mức độ chắc chắn của mô hình về việc hộp đó chứa một đối tượng và độ chính xác của dự đoán YOLO tạo ra nhiều dự đoán hộp giới hạn cho mỗi ô lưới và sau đó chọn hộp có chỉ số IOU (Intersection
20 over Union) cao nhất so với thực tế Phương pháp này giúp các dự đoán hộp giới hạn được tối ưu hóa, nâng cao độ chính xác tổng thể của mô hình Kỹ thuật NMS (Non-Maximum Suppression) đóng vai trò quan trọng trong YOLO, được sử dụng để loại bỏ các hộp giới hạn dư thừa hoặc không chính xác sau khi các dự đoán đã được thực hiện NMS giúp xác định hộp giới hạn duy nhất cho mỗi đối tượng trong hình ảnh, từ đó cải thiện độ chính xác và hiệu quả của quá trình phát hiện đối tượng
Với khả năng nhận diện vật trong thời gian thực, YOLO là một công cụ mãnh mẽ đưa lĩnh vực xử lý ảnh vào trong sản xuất và đời sống hằng ngày:
- Giám sát an ninh: YOLO được sử dụng rộng rãi trong các hệ thống giám sát an ninh để phát hiện và nhận diện đối tượng trong video thời gian thực, giúp phát hiện các hoạt động bất thường và nhận diện khuôn mặt
- Phương tiện Tự hành: Trong ngành công nghiệp ô tô, YOLO hỗ trợ các phương tiện tự hành trong việc nhận diện và phân loại các đối tượng như người đi bộ, xe cộ và biển báo giao thông, giúp phương tiện điều hướng an toàn
- Robot và Drone: YOLO được tích hợp vào robot và drone để nhận diện chướng ngại vật và điều hướng trong môi trường phức tạp, tăng cường khả năng tự động hóa và an toàn
- Y tế: Trong y tế, YOLO hỗ trợ phát hiện và phân loại các cấu trúc y tế trong hình ảnh y khoa như X-quang, MRI và CT, giúp các bác sĩ chẩn đoán bệnh nhanh chóng và chính xác hơn
- Nông nghiệp: YOLO được áp dụng trong nông nghiệp thông minh để theo dõi cây trồng, phát hiện sâu bệnh và đánh giá tình trạng cây trồng từ hình ảnh vệ tinh hoặc drone, giúp tối ưu hóa sản xuất và quản lý tài nguyên
- Thương mại Điện tử: Trong thương mại điện tử, YOLO giúp cải thiện trải nghiệm người dùng bằng cách tự động nhận diện và phân loại sản phẩm trong hình ảnh, hỗ trợ tìm kiếm và đề xuất sản phẩm
- Thể thao: YOLO được sử dụng trong phân tích thể thao để theo dõi chuyển động của cầu thủ và bóng trong các trận đấu, cung cấp dữ liệu phân tích chi tiết cho các huấn luyện viên và nhà phân tích
Truyền thông giao tiếp MC-Protocol
2.9.1 Tổng quan về truyền thông MC-Protocol
2.9.1.1 Giới thiệu về MC- Protocol
MC-Protocol, viết tắt của MELSEC Communication Protocol, là một giao thức truyền thông do Mitsubishi Electric phát triển để sử dụng trong các hệ thống tự động hóa công nghiệp Giao thức này cho phép các thiết bị như Programmable Logic Controllers (PLC) giao tiếp với nhau và với các thiết bị ngoại vi khác, giúp tối ưu hóa việc điều khiển và giám sát hệ thống
- Lịch sử phát triển: MC-Protocol được Mitsubishi Electric phát triển từ nhu cầu cần có một giao thức truyền thông đáng tin cậy và hiệu quả cho các hệ thống điều khiển công nghiệp Qua nhiều năm, giao thức này đã được cải tiến và mở rộng để hỗ trợ nhiều loại thiết bị và ứng dụng khác nhau
- Ứng dụng và tầm quan trọng trong tự động hóa công nghiệp: MC-Protocol được sử dụng rộng rãi trong các nhà máy sản xuất, hệ thống điều khiển quy trình và các ứng dụng công nghiệp khác Nhờ tính năng linh hoạt và khả năng mở rộng, giao thức này giúp các doanh nghiệp tối ưu hóa hiệu suất, giảm thiểu sự cố và tăng cường an toàn
2.9.1.2 Các đặc điểm chính của MC- Protocol
Hỗ trợ thiết bị: MC-Protocol tương thích với nhiều dòng sản phẩm của Mitsubishi như các module RJ71C24, LJ71C24, QJ71C24N và các biến thể của chúng Điều này giúp hệ thống dễ dàng mở rộng và nâng cấp mà không gặp nhiều khó khăn về kỹ thuật
Bảo mật: Một trong những ưu điểm nổi bật của MC-Protocol là tính bảo mật cao Giao thức này tích hợp các biện pháp bảo mật như tường lửa (firewall), mạng riêng ảo (VPN) và các giải pháp chống virus Điều này giúp bảo vệ hệ thống khỏi các mối đe dọa từ mạng như tấn công từ chối dịch vụ (DoS), truy cập trái phép và phần mềm độc hại
Khả năng mở rộng: MC-Protocol cho phép mở rộng hệ thống bằng cách kết nối nhiều thiết bị qua các mạng truyền thông khác nhau như Ethernet, Serial và CC-Link Khả năng này giúp hệ thống dễ dàng thích nghi với các yêu cầu mới và mở rộng quy mô khi cần thiết
2.9.1.3 Các phiên bản và loại hình giao tiếp
Serial Communication: MC-Protocol hỗ trợ giao tiếp qua các kết nối nối tiếp (serial), cho phép truyền dữ liệu giữa các thiết bị qua cáp serial Phương thức này thích hợp cho các kết nối điểm-điểm hoặc trong các hệ thống có quy mô nhỏ
Ethernet Communication: Giao thức MC-Protocol cũng hỗ trợ truyền thông qua Ethernet, một phương thức phổ biến trong các hệ thống công nghiệp hiện đại Giao tiếp qua Ethernet cho phép tốc độ truyền dữ liệu cao hơn, khoảng cách truyền xa hơn và khả năng kết nối nhiều thiết bị trong cùng một mạng
CC-Link: Đây là một chuẩn mạng công nghiệp được Mitsubishi Electric phát triển, hỗ trợ giao tiếp nhanh chóng và hiệu quả giữa các thiết bị trong hệ thống MC-Protocol tương thích với CC-Link, giúp các thiết bị có thể trao đổi dữ liệu một cách liền mạch và đồng bộ
2.9.2 Nguyên lí hoạt động MC-Protocol
2.9.2.1 Cấu trúc và thành phần tín nhắn truyền/ nhận
Các thành phần có thể có của tin nhắn:
- Header: Chứa thông tin về loại tin nhắn và địa chỉ nguồn
- Subheader: Chứa thông tin bổ sung về loại yêu cầu
- PC No.: Mã số của máy tính hoặc thiết bị gửi yêu cầu
- ACPU monitoring timer: Bộ hẹn giờ giám sát ACPU, dùng để đảm bảo yêu cầu được xử lý trong thời gian quy định
- Request data: Dữ liệu yêu cầu, có thể bao gồm các lệnh điều khiển hoặc dữ liệu cần trao đổi
Các loại tín nhắn bao gồm:
- Request message là tin nhắn yêu cầu
Header Subheader PC No ACPU monitoring timer
- Response message (Normal completion: Response data) là tin nhắn phản hồi khi hoàn thành bình thường với dữ liệu phản hồi
Header Subheader End code Response data
- Response message (Normal completion: No response data) là tin nhắn phản hồi khi hoàn thành bình thường không có dữ liệu phản hồi
- Response message (Abnormal completion) là tin nhắn phản hồi khi hoàn thành bất thường
Header Subheader End code Abnormal code
2.9.2.2 Tổng quát quy trình truyền thông MC protocol
Lưu đồ truyền nhận dữ liệu thông thường MC protocol:
Hình 2.14 Ảnh minh họa cách kết nối của MC protocol
Hình 2.15 Các bước truyền/nhận của giao thức
- Gửi một tin nhắn yêu cầu: là gửi một tin nhắn yêu cầu đến thiết bị được hỗ trợ
- Thực hiện quá trình xử lý: dựa theo tin nhắn từ thiết bị bên ngoài, thực hiện yêu cầu đọc/ghi
- Trả lại một tin nhắn phản hồi: Sau khi hoàn thành xử lý, gửi một tin nhắn phản hồi đến thiết bị ngoài
- Nhận tin nhắn phản hồi: nhận tin nhắn phản hồi từ một thiết bị được hỗ trợ và xác nhận kết quả xử lý
Kết thúc giao tiếp: thiết bị ngoài thực hiện kết thúc giao tiếp
2.9.2.3 Truyền nhận dữ liệu bằng frame 3E
Quy tình truyền nhận dữ bằng qua frame 3E bao gồm 5 bước như sau: Bước 1: chuẩn bị frame
- Đặt địa chỉ thiết bị đích: Địa chỉ của thiết bị cần truyền dữ liệu tới được xác định trong frame
- Xác định mã chức năng: Lựa chọn mã chức năng phù hợp với nhiệm vụ như đọc, ghi dữ liệu hoặc điều khiển thiết bị
- Xác định các thông số khác: Tùy vào mã chức năng, bạn có thể cần xác định thêm các tham số khác như địa chỉ bắt đầu, số lượng dữ liệu…
- Tạo frame dữ liệu dạng 3E: Frame 3E là một frame dạng ASCII được mã hóa thành chuỗi ký tự
- Đưa dữ liệu vào frame: Chèn các thông tin như địa chỉ thiết bị, mã chức năng và các tham số vào frame
- Chuyển đổi frame thành tín hiệu truyền: Frame dữ liệu được chuyển thành tín hiệu để truyền qua giao thức truyền thông sử dụng (ví dụ: RS-232C, RS- 422/485, Ethernet)
- Truyền tín hiệu: Tín hiệu truyền chứa frame dữ liệu được gửi từ thiết bị phát đến thiết bị nhận
Bước 4: Nhận và xử lý frame
- Nhận tín hiệu: Thiết bị nhận tín hiệu chứa frame dữ liệu
- Phân tích frame: Thiết bị nhận phân tích frame để trích xuất các thông tin như địa chỉ thiết bị, mã chức năng và các tham số
- Xử lý frame: Thiết bị nhận thực hiện các thao tác tương ứng với mã chức năng và tham s ố trong frame
- Tạo và gửi phản hồi: Thiết bị nhận tạo phản hồi dữ liệu tương ứng và gửi lại thiết bị phát
Bước 5: Xác nhận và xử lý phản hồi
- Nhận phản hồi: Thiết bị phát nhận phản hồi từ thiết bị nhận
- Phân tích phản hồi: Thiết bị phát phân tích phản hồi để xác định xem hoạt động đã thành công hay chưa
- Xử lý phản hồi: Thiết bị phát xử lý phản hồi và tiếp tục các thao tác nếu cần
Quá trình truyền nhận dữ liệu với MC-Protocol qua frame 3E như trên giúp đảm bảo việc truyền thông hiệu quả và đáng tin cậy giữa các thiết bị trong một hệ thống tự động hóa
Tính toán động học và động lực học robot SCARA
2.10.1 Tính toán động học thuận robot SCARA
Bài toán động học thuận là tính toán dựa vào góc và vị trí của các khớp trên robot để xác định vị trí và hướng của điểm cuối (End-effect) ở robot nối tiếp
Hệ robot được đặt trục tọa độ như hình sau:
Hình 2.16 Đặt trục robot SCARA
Có 6 quy tắc về bàn tay phải mà ta phải dựa vào để đặt trục tọa độ cho các khớp rồi sau đó có thể hình thành được bảng DH một cách tổng quát cho bất kỳ Robot nào Các quy tắc như sau:
- Khung thứ i được gắn với liên kết thứ i
- Trục z i được chọn dọc theo trục khớp thứ i
- Trục x i được chọn theo đường vuông góc chung z i và z i + 1
- y i được chọn để làm thành một tọa độ bên phải
- Khung thứ 0 thường được chọn khớp với khung thứ 1 khi biến khớp đầu bằng 0
- Khung thứ N có thể được chọn tự do, thường được chọn tự do, đảm bảo càng nhiều số liên kết càng tốt
Thông qua hiểu biết tóm tắt theo giáo trình, thì nhóm đưa ra bảng DH như sau
Bảng 2-5 Bảng thông số DH i a i − 1 i − 1 d i i
Trong đó: a i (Chiều dài của khâu - Length): là khoảng cách từ trục Z i đến
Z i + dọc theo trụcX i , i (Góc xoắn, độ xoắn - Twist), là góc giữa Z i đến Z i + 1 quanh trụcX i , d i (Độ lệch - Offset): là khoảng cách từ trục X i − 1 đến X i dọc theo trục Z i , i (Góc khớp - Joint angle): là góc quay từ trục X i − 1 đến X i quanh trục
Công thức chung của ma trận chuyển đổi từ hệ trục {i} sang hệ trục {i-1} là:
1 1 1 1 cos sin 0 sin cos cos cos sin sin sin sin cos sin cos cos
Ta quy ước như sau:
12 1 2 12 1 2 123 1 2 3 123 1 2 3 cos , cos , cos , sin , sin , sin , cos( ), sin( ), cos( ), sin( ) c c c s s s c s c s
Ma trận chuyển đổi từ hệ {1} về hệ {0} là:
Ma trận chuyển đổi từ hệ {2} về hệ {1} là:
Ma trận chuyển đổi từ hệ {3} về hệ {2} là:
Ma trận chuyển đổi từ hệ {4} về hệ {0} là:
Vậy tọa độ điểm cuối cùng của robot là:
Vậy để tính động học thuận cho robot ta cần các công thức tính toán từ (3.1) tới (3.7)
2.10.2 Tính toán động học nghịch robot SCARA
Dựa vào phương trình (3.7), ta có:
Tổng bình phương của (3.8) và (3.9), ta được:
2 2 2 tan 2( 1 cos( ) , cos( )) tan 2( 1 cos( ) , cos( )) a a
(2.14) Để thuận tiện cho việc tính toán 1 , dùng phương pháp hình học và có hình minh họa như sau:
Hình 2.17 Bản vẽ hình học tính động học nghịch Đặt P 1 = AD, P 2 =CD, ta có:
Từ phương trình (3.14) và (3.16), ta được 2 bộ nghiệm:
2 2 2 sin( ) tan 2( ) tan 2( ) cos( ) tan 2( 1 cos( ) , cos( )) y x
2 2 2 sin( ) tan 2( ) tan 2( ) cos( ) tan 2( 1 cos( ) , cos( )) y x
Công thức (3.17) biểu diễn sin( 2 ) = + − 1 cos( 2 ) 2 và công thức (3.18) biểu diễn công thức sin( 2 ) = − − 1 cos( 2 ) 2
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG
Thiết kế phần cứng
Hệ thống robot SCARA phân loại ra chai nhựa và lon kim loại khỏi rác hỗn hợp trên băng tải là một hệ thống có tính ứng dụng cao Ta chi hệ thống ra làm 2 phần là phần cơ khí và phần điện Do đó việc thiết kế phải sát với thực tế để có thể đáp ứng được độ chính xác, hiệu suất và các yêu cầu sau:
- Đảm bảo các trục của robot hoạt động trơn tru, ổn định để đáp ứng vị trí chính xác khi hoạt động
- Camera ít bị rung lắc nhất có thể để phản hồi kết quả ít sai số nhất
- Bố trí các robot, băng tải, tủ điện một cách hợp lý Đảm bảo chắc chắn, thuận tiện cho việc điều khiển và bảo trì An toàn cho người vận hành
Dựa vào yêu cầu bài toán và độ lớn của mặt phẳng đặt mô hình, nhóm bố trí robot và băng tải nằm song song với nhau và song song với chiều dài của mặt phẳng mô hình Camera sẽ được lắp đặt nằm phía trên băng tải, cách mặt phẳng băng tải một khoảng là 45cm, nằm ngoài vùng làm việc của robot và được có định bởi thanh nhôm Khi robot hút rác từ trên băng tải thì rác sẽ được phân loại và đặt vào 2 hộp phía trước robot
Bảng 3-1 Mô hình 3D ở góc nhìn tổng quát trong Solidworks
Bảng 3-2 Mặt trên của mô hình trong Solidworks
Bảng 3-3 Mặt bên tráii của mô hình trong Solidworks
Bảng 3-4 Mặt phẳng bên phải của mô hình trong Solidworks
Thiết bị phần cứng
Robot Scara Denso HSR-055 là mô hình robot có 4 bậc tự do:
- Trục 1 và trục 2: cơ cấu xoay
- Trục 3: cơ cấu tịnh tiến
- Trục 4: cơ cấu xoay và tịnh tiến Khi quay 1 vòng thì trục 4 sẽ tịnh tiến một đoạn là 40 mm
Hình 3.1 Hình minh họa chuyển động trục 3 và 4
Bản vẽ kích thước robot Scara (mm):
Hình 3.2 Bản vẽ robot Scara HSR-055
Tuy nhiên, robot Scara nhóm sử dụng gồm bộ khung có sẵn từ hãng Denso với các trục được thay thế bằng động cơ servo AC của hãng Mitsubishi nhằm thuận
36 tiện cho việc điều khiển Phần cơ được xây dựng chắc chắn, ổn định sẽ là nền tảng để phát huy ưu điểm về tốc độ của robot scara
Phần khung mô hình được sử dụng nhôm định hình để làm khung đế cho robot, với tính chất dễ lắp ráp, chịu tải cao Nhược điểm là khối lượng nặng, khó khăn trọng việc duy chuyển lên cao
Hình 3.3 Khung đế mô hình Để mặt phẳng đế của robot cao bằng với mặt phẳng băng tải, ta cần phải gia công bệ đỡ robot robot như sau:
Hình 3.4 Phần bệ đỡ robot Scara
Từ đó, nhóm lắp đặt robot lên bộ khung đế của mô hình:
Hình 3.5 Robot Scara được lắp đặt vào khung đế
Do hệ thống phân loại rác trên băng tải cần phải được phân bố dàn trải để thuận tiện cho camera có thể nhận diện, nhóm chọn băng tải có bề ngang tương đối rộng Băng tải có thông số cơ bản như sau:
- Tỷ số truyền giữ 2 puly:1/1
- Tỷ truyền giữ hộp số và trụC động cơ: 1/46
Hình 3.6 Băng tải và bộ truyền động cho băng tải
3.2.4 Phần cơ cấu hút vật
Cùng với sự đa dạng biên dạng của đối tượng cần hút, gắp và ứng dụng cụ thể mà ta cần lực gắp, hút phù hợp Vì vậy, chúng ta có đa dạng cơ cấu để thực hiện công việc trên như tay gắp khí nén, tay gắp điện, tay gắp thủy lực và đầu hút chân…
Hình 3.7 Tay gắp khí nén
Do đối tượng cần gắp chính của nhóm là chai và lon, những đối tượng này có hình trụ nên nếu sự dụng cơ cấu gắp thì ta phải tính toán góc gắp phù hợp Việc xử lý ảnh sẽ phức tạp hơn so với việc xác định trọng tâm của bouding box bao lấy vật, cơ cấu gắp chỉ cần di chuyển đến đúng tọa độ tâm bouding box và gắp vật
Tên thiết bị Hình ảnh Đặc điểm Đầu giác hút, ti hút
Dài: 70mm Đường kính đầu giác: 20mm Ống đầu vào: 6mm
Van hút chân không ZK-08 Áp suất chân không: 690mmHg
Van khí né 5/2 Ren cổng ẳ”: 13mm Áp cuộn coil: 24VDC
Co nối ống khí Đường kính: 6mm Vật liệu: nhựa cứng Áp suất: 0 0.9Mpa Ống khí
Vật liệu: nhựa PU Nhẹ, chống ăn mòn và có tính linh hoạt cao
Thiết kế hệ thống điện
3.3.1 Sơ đồ khối hệ thống
Hình 3.10 Sơ đồ khối hệ thống
Các chức năng của từng khối trong hệ thống bao gồm:
Khối xử lý trung tâm (máy tính cá nhân): Khối này là nơi tiếp nhận hình ảnh từ camera, từ đó phân loại vật, chuyển đổi tọa độ của vật trong camera thành tọa
41 độ của vật so với gốc robot Sau đó, khối này thực hiện xử lý thuật toán ra tọa độ gắp vật chạy trên băng tải Sau cùng gửi tất cả các dữ liệu vừa được xử lý trên cho khối xử lý tọa
Khối xử lý động học (PLC Q03UDE CPU): là khối nhận tọa độ từ từ khối xử lý trung tâm, từ đó tính toán động học nghịch để có được vị trí góc gửi cho module điều khiển vị trí QD75MH4 Ngoài ra, khối xử lý động học có khả năng giao tiếp với HMI để chạy chế độ tay
Khối điều khiển vị trí (module QD75MH4): khối này tiếp nhận các lệnh và giá trị góc từ PLC để chạy nội suy Sau khi hoàn thành việc chạy vị trí Khối này sẽ phản hồi tình trạng hoàn thành công việc cho khối xử lý động học
Khối thu thập hình anh (Camera Realsense D435i): camera thu thập hình ảnh theo 2 định dạng là khung ảnh màu RGB và khung ảnh độ sâu Từ các khung ảnh, ta nhận được vị trí vật trong khung ảnh pixel
Khối chấp hành (robot, đầu hút): robot sẽ tiến hành chạy vị trí góc mà module QQD75MH4 gửi xuống để di chuyển chính xác đến tọa độ Khi ở tọa độ của vật, cơ cấu hút sẽ hút vật và di chuyển vật sang vị trí phân loại tương ứng
Khối HMI: là thiết bị trung gian giúp người và PLC có thể giao tiếp hiệu quả Nhờ khối HMI, người dùng có thể thực hiện chuyển đổi giữa chế độ tự động và chế độ tay, các thao tác như chạy Jog, kiểm tra việc chạy cũng như phản hồi vị trí robot và điều khiển băng tải một cách đơn giản
3.3.2 Sơ đồ đấu nối hệ thống
Vẽ sơ đồ tổng quát của hệ thống
Hình 3.11 Sơ đồ đấu nối tổng quát hệ thống
Ngoài ra, hệ thống còn có mạch điều khiển và cấp nguồn cho relay để kích hoạt đầu hút vật
Hình 3.12 Sơ đồ đấu nối cơ cấu hút vật
3.3.3 Các thiết bị sử dụng trong hệ thống
Trạm CPU của hệ thống sẽ bao gồm các thành phần: Base, mô-đun nguồn, CPU chính, positioning module, output module
Bảng 3-5 Các thiết bị có trong hệ thống
Module Base Nguồn CPU chính
Mã Q35B Q61P Q03UD QD75MH4 QY40P
Lý do chọn thiết bị:
- CPU có khả năng xử lý tốt các hệ thống điều khiển vừa và lớn
- Có khả năng mở rộng thêm nhiều CPU nên có thể điều khiển đa hoạt động
- Với tốc độ xử lý nhanh 20ns và khối lượng chương trình là 30k bước, Q03UDE là một PLC tầm trung của dòng, có thể đáp ứng tốt với hệ thống vừa như điều khiển robot nhặt rác
- Hô trỡ cổng Ethernet giúp nhận dữ liệu xử lý ảnh từ máy tính cá nhân để điều khiển robot qua MC protocol
Bảng 3-6 Bảng thông số CPU Q03UDE Đặc điểm Hình ảnh
Tốc độ xử lý (lệnh LD) 0.0095μs
Bộ nhớ chương trình 120 KB
Số I/O tối đa có thể mở rộng 8192
Do robot Scara gồm 4 trục và tác vụ chính dùng điều khiển nội suy để chạy điểm nên ta chỉ cần chọn dòng Positioning module điều khiển 4 trục cùng lúc, thay các loại CPU như QD77MS16 (simple motion module) hay Q172DS (motion module) có khả năng điều khiển 16 trục cùng lúc, điều khiển động bộ… Đặc điểm Hình ảnh
Dữ liệu định vị 600 data/trục Đơn vị điều khiển mm, inch, độ, xung
Mạng điều khiển SSCNET III
Hình 3.13 Sơ đồ chân module QD75MH4
Do nhóm sử dụng relay 24VDC nên chỉ cần chọn module ngõ ra dạng transitor hoặc relay có khả năng chịu tải và điều khiển điện áp 24VDC Module QY42P thỏa mãn yêu cầu trên
Bảng 3-7 Bảng thông số module output QY42P Đặc điểm Hình ảnh
Dòng điện ngõ ra 0.2A/cổng
Thời gian đáp ứng 1ms
Bảo vệ Quá tải, quá dòng
Hình 3.14 Sơ đồ chân và đấu nối QY42P Đế Q35B
Do nhóm chọn CPU xử lý trung tâm là PLC Q03UDE nên đế cần phải tương thích CPU dòngQ và số khe cắm mà hệ thống cần dùng là 3 Để thỏa mãn 2 yêu cầu trên, nhóm chọn để Q35B với 5 khe nhằm đảm bảo khả năng mở rộng module trong tương lai
Bảng 3-8 Bảng thống số đế Q35B Đặc điểm Hình ảnh
- Cung cấp nguồn điện ổn định và an toàn cho hệ thống PLC Q Series
- Bảo vệ nguồn điện với chống quá dòng, quá áp, và ngắn mạch
- Cung cấp tín hiệu trạng thái nguồn: hoạt động bình thường, mất nguồn, quá dòng, và các cảnh báo bảo vệ khác
Ta chọn module Q61P là nguồn cho hệ thống
Hình 3.15 Bảng thông só bộ nguồn Q61P Đặc điểm Hình ảnh
(VAC) 100 240 Điện áp ngõ ra 24VDC,
3.3.3.2 Driver và động cơ của các trục robot và băng tải
Với yêu cầu về độ chính xác cao, nhóm đã lựa chọn các loại động cơ có khả năng chạy vị trí, tốc độ một cách chính xác, nhanh chóng và ổn định
Bảng 3-9 Bảng thông số động cơ trục 1 Đặc điểm Hình ảnh
Mô-men định mức 2.4Nm
Mô-mem cực đại 8.4Nm
Tốc độ định mức 3000 r/min
Tốc độ cực đại 6000 r/min
Dòng điện tối đa 17.2A Độ phân giải 22 bit
Bảng 3-10 Bảng thông số động cơ trục 2 Đặc điểm Hình ảnh
Mô-men định mức 1.3Nm
Mô-mem cực đại 4.5Nm
Tốc độ định mức 3000 r/min
Tốc độ cực đại 6000 r/min
Dòng điện tối đa 17.2A Độ phân giải 22 bit
Bảng 3-11 Bảng thông số động cơ trục 3, 4 Đặc điểm Hình ảnh
Mô-men định mức 0.64Nm
Mô-mem cực đại 2.2Nm
Tốc độ định mức 3000 r/min
Tốc độ cực đại 4500 r/min
Dòng điện tối đa 3.9A Độ phân giải 22 bit
Từ bảng (4.5) ta thấy driver cho trục 1 phải tương thích với công suất của động cơ trục 1 HG-KR73, ta có bảng thông số sau:
Bảng 3-12 Bảng thông số driver trục 1 MR-J4-70B Đặc điểm Hình ảnh
Nguồn cấp 1 pha hoặc 3 pha
200-230VAC Điện áp định mức đầu ra 1 pha 170VAC
Dòng định mức đầu vào 3.8A
Dòng định mức đầu ra 5.8A
Mạng điều khiển SSCNET III/H
Giao tiếp máy tính Cổng USB
Tương tự như vậy, nhóm chọn driver sau cho các trục động cơ dựa trên công suất của trục tương ứng
Bảng 3-13 Bảng thông số drive trục 2, 3 MR-J4W2-44B Đặc điểm Hình ảnh
Nguồn cấp 1 pha hoặc 3 pha
200-230VAC Điện áp định mức đầu ra 1 pha 170VAC
Dòng định mức đầu vào 5.2A
Dòng định mức đầu ra 2.8A
Mạng điều khiển SSCNET III/H
Giao tiếp máy tính Cổng USB
Bảng 3-14 Bảng thông số driver trục 3 và trục băng tải MR-J4W2-22B Đặc điểm Hình ảnh
Nguồn cấp 1 pha hoặc 3 pha
200-230VAC Điện áp định mức đầu ra 1 pha 170VAC
Dòng định mức đầu vào 2.9A
Dòng định mức đầu ra 1.5A
Mạng điều khiển SSCNET III/H
Giao tiếp máy tính Cổng USB
3.3.3.3 Khí cụ điện được dùng trong hệ thống
Dựa vào sơ đồ đấu nối hệ thống hình (4.11), ta cần xác định lựa chọn 2 bảo vệ mạch điều khiển và mạch động lực hệ thống Mạch điều khiển bảo vệ các module như nguồn cấp cho PLC, module điều khiển vị trí và module điều khiển ngõ ra Mạch động lực bao gồm các drive và động cơ của các trục robot và băng tải
Chọn CB cho mạch điều khiển:
Dựa vào dòng điện tiêu thụ trên nhãn của các module như CPU Q03UDECPU, QD75MH4, QY421P lần lượt là 0.46A, 0.6A 0.14A Vậy tổng dòng điện tiêu thụ của mạch điều khiển là 1.2A
Dòng diện định mức CB: I cb =I x tt 1.5 1.2 1.5 1.8= x = A
Do đó, nhóm chọn CB Mitsubihsi CP30-BA với dòng định mức là 5A, lớn hơn dòng định mức đã tính
Bảng 3-15 Bảng thông số kỹ thuật CP30-BA Đặc điểm Hình ảnh
Số pha 2 Điện áp định mức 100-230VAC
Dòng điện ngắn mạch 2.5kA
Chọn CB cho mạch động lực:
Do dòng điện ngõ ra của Driver phải lớn hơn hoặc bằng động cơ thì mới có thể điều khiển được động cơ, mạch động lực chỉ xảy ra ngắn mạch khi động cơ ngắn mạch Do đó, ta lựa chọn CB dựa vào dòng điện định mức của động cơ Dựa vào các bảng thông số động cơ từ (4.5) tới (4.7), nhóm có tổng dòng điện định mức của các trục 1, 2, 3 và băng tải là12.2A
Dòng diện định mức CB: I cb =I x tt 1.5 12.2 1.5 18.3= x = A
Thi công tủ điện
Hình 3.17 Vỏ tủ điện khi chưa lắp đặt các thiết bị
Hình 3.18 CB tổng của hệ thống
Hình 3.19 Bộ nguồn lọc nhiễu điện áp xoay chiều
Hình 3.20 Nguồn 24V của hệ thống
Hình 3.21 Dàn Driver khi vừa được lắp đặt
Hình 3.22 Lắp đặt van khí nén
Hình 3.23 Đi dây khí nén và lắp đặt đầu giác hút
Hình 3.24 Tủ điện khi hoàn thành
GIẢI THUẬT GẮP VẬT TRÊN BĂNG TẢI CỦA HỆ THỐNG
Mô tả hoạt động hệ thống
Rác sẽ được đặt lên băng tải được vận chuyển vào vùng nhận diện của camera Camera sẽ detect tất cả rác trong vùng để xác định chai và lon cần phân loại Sau đó, trích xuất toạ độ của vật đẩy xuống PLC xử lí điều khiển robot từ vị trí chờ đến gắp vật vào thùng phân loại rồi quay lại vị trí chờ để gắp vật tiếp theo
Mô hình hoạt động ở 2 chế độ:
Chế độ bằng tay: Người dùng nhập vị trí tuỳ ý trong vùng làm việc robot sẽ duy chuyển đến vị trí đó, hút bỏ vật tuỳ theo thao tác trên giao diện điều khiển Robot có thể di chuyển theo từng trục, hệ thống sẽ trả về toạ độ vật và góc quay của robot theo phương trình động học
Chế độ tự động: Khi mới bắt đầu hệ thống, người dùng sẽ nhấn nút START trên giao diện điều khiển robot sẽ di chuyển từ home đến vị trí chờ Băng tải bắt đầu chạy đưa rác vào vùng làm việc robot sẽ chạy đến gắp vật theo toạ độ đưa xuống từ camera chuyển vào thùng phân loại.
Chuyển đổi ma trận giữ hệ tọa độ camera sang hệ tọa độ robot
Khi phát hiện một vật, tọa độ mà chúng ta nhận được sẽ được ánh xạ từ hệ tọa độ gốc của camera Tuy nhiên, chúng ta cần chuyển đổi tọa độ từ camera thành tọa độ của robot để thực hiện các tính toán và để robot có thể gắp vật đó Đặt tọa độ của vật trong hệ tọa độ camera là x y z c , c , c ,hệ toạ độ robot là x y z r , r , r và toạ độ của vật trong hệ toạ độ robot là x o , y , o z o , toạ độ của vật trong hệ toạ độ camera là x w, y ,w z w Để chuyển đổi 1 điểm từ trục toạ độ này sang trục toạ độ khác cần tìm được mối quan hệ giữa 2 trục toạ độ bằng cách tìm ma trận chuyển đổi đồng nhất của hệ toạ độ ảo {O} sang hệ toạ độ robot{R}
Ma trận biến đổi đồng nhất là ma trận 4×4 (tức là 4 hàng và 4 cột) cho phép ta tìm vị trí của một điểm trong hệ quy chiếu m (ví dụ khung đế cánh tay robot) khi biết vị trí của một điểm trong hệ quy chiếu n (ví dụ: khung tham chiếu máy ảnh)
Ma trận chuyển đổi đồng nhất:
Với O R Rlà ma trận xoay còn R P O là vecto tịnh tiến Các ma trận xoay tiêu chuẩn khi xoay quanh các trục x y z, , lần lượt là: cos sin 0
(4.5) Ở đây, để chuyển đổi hệ toạ độ {O} về hệ toạ độ {R} ta cần xoay trục x một góc 180 0 và xoay quanh trục z một góc 90 0 :
(180 ) (90 ) cos180 sin180 0 1 0 0 sin180 cos180 0 0 cos 90 sin 90
Sau khi đo đạc ta tìm được vecto tịnh tiến như sau:
Sau khi tìm được ma trận chuyển vị ta có công thức chuyển đổi vị trí từ hệ toạ độ {O} sang hệ toạ độ robot {R}:
Thiết kế chương trình điều khiển hệ thống
4.3.1 Lưu đồ giải thuật phân loại rác trên băng tải
Bước 1: Thu thập rác và đưa lên băng tải:
- Lon, chai và rác hỗn hợp được đặt lên băng tải
- Băng tải di chuyển một chiều với tốc độ không đổi, đưa rác vào vùng làm việc của camera
Bước 2: Thu thập hình ảnh và nhận diện:
- Camera liên tục thu thập các frame ảnh RGB
- Các frame ảnh này được đưa vào mô hình YOLO đã đào tạo để nhận diện chai và lon
Bước 3: Xử lý tín hiệu ngõ ra của YOLO:
- Lớp đối tượng: Xác định loại đối tượng (chai, lon hoặc rác khác)
- Bounding Boxes (hộp giới hạn): Xác định các hộp giới hạn bao quanh đối tượng
- Độ tin cậy: Xác suất của mô hình về việc đối tượng được nhận diện chính xác
Bước 4: Xác định tọa độ và thời gian bắt vật:
- Dữ liệu về tọa độ (x, y, z) của vật tại vị trí cách vị trí bắt vật của robot một khoảng X (mm) được lưu lại
- Tính toán thời gian robot cần để chạy đến vị trí mới của vật tại vị trí bắt, dựa vào khoảng cách X và tốc độ băng tải
Bước 5: Điều khiển robot gắp rác:
- Dữ liệu về vị trí và loại rác được truyền xuống PLC qua giao thức MC- Protocol
- PLC điều khiển robot để gắp và bỏ rác vào thùng phân loại tương ứng
Từ các bước cơ bản trên, ta có sơ đồ giải thuật như sau:
Hình 4.1 Lưu đồ giải thuật bài toán phân loại rác trên băng tải
Các công việc được thực khối khởi tạo các đối tượng và thiết lập các kết nối là:
- Khởi tạo giao tiếp giữa PLC và PC
- Khởi chạy camera và mô hình YOLO
Tín hiệu dừng chương trình là tín hiệu từ màn hình HMI hoặc máy tính yêu cầu dừng hệ thống
4.3.2 Khối xử lý ảnh đầu vào
Camera liên tục xuất frame ảnh màu RGB và frame ảnh độ sâu về máy tính Các khung ảnh được tiếp nhận mới mô hình YOLO để nhận diện vật
Nếu các vật được nhận diện có độ tin cậy (confident) lớn 0.85 sẽ được tính tọa độ tâm của bounding box bao lấy vật Các tọa độ được chuyển từ tọa độ pixel của camera sang tọa độ đơn vị mm của hệ tọa độ robot
Nếu tọa độ nằm trong vùng lấy mẫu và không trùng lặp quá gần so với các khung trước thì các giá trị tọa độ, thời gian vật nằm trong vùng sẽ được cập nhật vào mảng để xử lý bước tiếp theo
Hình 4.2 Lưu đồ khối xử lý ảnh đầu vào
4.3.3 Khối xử lý dữ liệu
Mô hình minh hoạt hoạt động của hệ thống ở chế độ Auto:
Hình 4.3 Mô hình minh họa động hệ thống chế độ Auto
- d 0 là vùng lấy dữ liệu tọa độ và thời điểm vật vào vùng này, dọc theo trục X
- x 0 tọa độ điểm của vật theo trục X, biết x 0 d 0
- s 0 là quãng đường vật đi từ vùng lấy dữ liệu đến vị trí gắp vật
- v c tốc độ băng tải (mm/phut)
Thời gian đi quãng đường s 0 :
Thời gian đi quãng đường s 0 : f ( ) g robot t s = −t t (4.11)
Biết t robot là thời gian di chuyển từ vị trí chờ đến vị trí gắp Điều khiển tốc độ các trục robot:
Sau khi có quỹ đạo di chuyển phù hợp với môi trường làm việc của robot, ta tiến hành tính toán vận tốc di chuyển của từng khớp robot cho từng quỹ đạo v c
Ta sẽ nội suy theo quãng đường di chuyển lớn nhất: Tính toán tìm ra trục có quãng đường di chuyển dài nhất và thời gian dịch chuyển dịch chuyển của trục để làm dữ liệu từ đó suy ra vận tốc các trục còn lại dựa trên quãng đường duy chuyển độc lập của chúng Đảm bảo các trục bắt đầu và kết thúc đồng thời
Hình 4.4 Biểu đồ biểu diễn chuyển động của động cơ
Bỏ qua thời gian tăng tăng tốc và giảm tốc lần lượt là a a tt , gt , ta được công thức sau:
- v là thời gian di chuyển của robot
- i là góc quay của robot ở tọa độ điểm đầu
- f là góc quay của robot ở tọa độ điểm sau
- t robot là thời gian robot di chuyển từ tọa độ đầu đến tọa độ điểm sau
Ta chia chu kỳ robot di chuyển từ vị trí chờ đến gắp vật, bỏ vật vào ô rác tương ứng rồi về vị trí chờ mất 4s, chia chu kỳ này thành 4 giai đoạn:
- Giai đoạn 1 : Robot di chuyển từ vị trí chờ đến vị trí gắp vật mất 0.8s
- Nội suy trục 1, 2 của robot, giả sử góc quay của trục 1 lớn hơn trục 2 ( 1 2 )
- Như vậy, trục 1, 2 sẽ chạy nội suy theo tốc độ của trục 1
- Giai đoạn 2: Robot sẽ di chuyển tịnh tiến lên xuống trục 3 để lấy vật mất 1.2s, giả sử vật đang có độ cao là z (mm)
- Giai đoạn 3: Robot sẽ di chuyển từ vị trí gắp đến vị trí bỏ vật mất 1s
- Giai đoạn 4: Robot sẽ quay lại vị trí chờ để bắt vật kế tiếp mất 1s
Tính toán thời gian cách nhau giữa 2 vật liên tiếp: Để robot có thể bắt vật 1 cách chính xác mà không xảy ra lỗi khi gắp những vật gần nhau cần tính thời gian cách nhau giữa vật trước và vật sau: k vatsau vattruoc t =t −t (4.16)
- Nếu t k nhỏ hơn chu kỳ của robot là 4s thì ta sẽ tính toán thời gian và vị trí gắp mới (x out , , )y z cho robot
- Nếu t k lớn hơn chu kì gắp của robot là 4s thì ta sẽ tính giữ nguyên thời gian và vị trí gắp hiện tại (250, , )y z cho robot
Sau cùng, ta cập nhật lại các giá trị vận tốc di chuyển của các trục, tọa độ vị trí gắp mới vào mảng, thiết lập timer với giá trị đầu vào là t f và phân luồng dữ liệu các timer đã thiết lập, loại rác và vận tốc di chuyển của các khớp xuống PLC để tiếp tục xử lí
Hình 4.5 Lưu đồ khối xử lý dữ liệu
Các giá trị vị trí qua hàm động học nghịch để nhận được góc quay, tịnh tiến tương ứng cho từng trục Sau đó, robot chạy nội suy với vận tốc đã tính đến vị trí gặp vật một cách chính xác bỏ vào thùng phân loại dựa theo loại rác đã được nhận dạng Sau cùng, robot quay về vị trí chờ để gắp vật tiếp theo
Hình 4.6 Lưu đồ khối điều khiển
VẬN HÀNH HỆ THỐNG VÀ ĐÁNH GIÁ KẾT QUẢ THỰC NGHIỆM
Các chế độ điều khiển
5.1.1 Chế độ thủ công (Manual) Để vận hành ở chế độ này cần nhấn ON servo sau đó mới thực hiện các chức năng như:
Chế độ Jog: điều khiển robot quay thuận nghịch theo tốc độ đã nhập để tìm toạ độ mong muốn
Chế độ Kinematic: Với Inverse kinematics thì ta nhập toạ độ mong muốn, robot sẽ di chuyển đến toạ độ đã nhập Với Forward kinematic thì ta nhập góc mong muốn, robot sẽ di chuyển theo góc đã nhập
5.1.2 Chế độ tư động (Auto) Để vận hành ở chế độ này cũng cần ON servo trước sau đó nhấn Start đưa robot về vị trí chờ sau cuối cùng nhập tốc độ băng tải và cho băng tải chạy Đưa rác vào vùng làm việc robot, robot sẽ phân loại rác dựa trên thông tin gửi xuống từ camera.
Giao diện điều khiển
Nhóm sử dụng phần mềm GT designer3 để thiết kế giao diện điều khiển và sử dụng SoftGOT2000 làm giao diện hiển thị
5.2.1 Màn hình giới thiệu và đăng nhập Ở màn hình này nhóm sẽ giới thiệu thông tin cơ bản, tên đề tài, giảng viên hướng dẫn, sinh viên thực hiện và phần Login nhập mật khẩu để vào các chức năng điều khiển
Hình 5.1 Giao diện giới thiệu và đăng nhập
Màn hình hiển thị bảng điều khiển Jog với tốc độ tuỳ chọn, trạng thái lỗi, Home, ON, OFF servo, hút nhả cơ cấu gắp, reset lỗi và các nút chuyển chức năng Ngoài ra, ta có thể điều khiển về góc 0 ở các trục bằng các nút HOME
Hình 5.2 Giao diện màn hình chạy Jog
Màn hình hiển thị chế độ kiểm tra động học thuận và nghịch của robot Ở động học nghịch (Inverse Kinematic) ta nhập toạ độ x, y, z nhấn IK để chuyển đổi sang góc quay của robot sau đó nhấn Go IK để robot chạy đến toạ độ đã nhập Ở động học thuận (Forward Kinematic) ta nhập góc và khoảng cách tịnh tiến d, nhấn
FK để chuyển đổi và GO FK robot sẽ chạy với các thông số góc và khoảng cách đã nhập
Màn hình Auto dùng để vận hành và giám sát chế độ tự động Để vận hành, ta nhấn START để đưa robot về vị trí chờ sau đó nhập tốc độ băng tải và nhấn BT
On để chạy băng tải đưa rác vào hệ thống Màn hình cũng có thanh trạng thái lỗi và current feed value để giám sát hoạt động của robot Khi muốn dừng hệ thống ta nhấn STOP
Kiểm chứng động học robot SCARA
5.3.1 Kiểm chứng động học nghịch
Kiểm nghiệm mô phỏng trên Matlab Simulink: Để kiểm chứng động học nghịch ta sẽ đưa giá trị điểm đầu cuối vào khối Inverse Kinematic đã được lập trình tính toán động học nghịch Đầu ra của khối Inverse Kinematic sẽ là góc quay và khoảng dịch chuyển tương ứng ở các trục robot
Kết quả kiểm chứng động học nghịch trên matlab:
Hình 5.5 Mô phỏng động học nghịch robot tại vị trí home
Hình 5.6 Mô phỏng động học nghịch robot tại vị trí x%0, yF0, z=0
Hình 5.7 Mô phỏng động học nghịch robot tại vị trí x%0, y%0, z=0
Hình 5.8 Mô phỏng động học nghịch robot tại vị trí x0, y20, z=0
Hình 5.9 Mô phỏng động học nghịch robot tại vị trí x50, y20, z=0
Ta thu được 2 bộ nghiệm sau khi đưa giá trị đầu vào thông qua bộ động học nghịch, tùy không gian làm việc, phù hợp với thực tế thì ta sẽ chọn các bộ nghiệm thích hợp Ở đây nhóm chọn bộ nghiệm 1, vì không gian làm việc của cánh tay robot ở phía bên trái
Kiểm nghiệm trên mô hình thực tế
Ta sẽ sử dụng bộ nghiệm 1 đã mô phỏng ở trên để viết chương trình điều khiển vị trí robot sử dụng positioning module QD75MH4
Kết quả kiểm chứng động học nghịch trên robot:
Hình 5.10 Cấu hình robot tại vị trí home
Hình 5.11 Cấu hình robot tại vị trí x50, y20, z0
Hình 5.12 Cấu hình robot tại vị trí x0, y20, z0
Hình 5.13 Cấu hình robot tại vị trí xF0, y%0, z0
Hình 5.14 Cấu hình robot tại vị trí x%0, y%0, z0 Bảng 5-1 Bảng sai số động học nghịch giữa mô phỏng và thực tế
Toạ độ (mm) Encoder trả về (độ) Mô phỏng Matlab
0.00001) Sai số động học nghịch giữa mô phỏng và thực tế
Nhận xét: So sánh kết quả của encoder trả về và kết quả tính toán từ matlab
Ta thấy sai số của encoder rất nhỏ Thường việc làm tròn số này xảy ra do trong PLC, dữ liệu chỉ được hiển thị tối đa sau dấu chấm là 5 số Ngoài ra còn có thể có sai số do làm tròn trong công thức Nhìn chung với sai số 0.00001 /trục thì robot vẫn đáp ứng tốt nhu cầu điều khiển chính xác của hệ thống
5.3.2 Kiểm chứng động học thuận
• Kiểm nghiệm mô phỏng trên Matlab Simulink Để kiểm chứng động học thuận ta đưa giá trị góc (đầu ra khối Inverse Kinematic) vào khối “Forward Kinematic” đã được lập trình tính toán động học
80 nghịch Đầu ra của khối “Forward Kinematic” sẽ là vị trí điểm đầu cuối, đầu vào của khối “Inverse Kinematic”
Kết quả kiểm chứng động học thuận trên Matlab:
Hình 5.15 Mô phỏng động học thuận robot tại vị trí (550,0,0)
Hình 5.16 Mô phỏng động học thuận robot tại vị trí (350, 420, 0)
Hình 5.17 Mô phỏng động học thuận robot tại vị trí (250, 300, 100)
• Kiểm nghiệm trên mô hình thực tế
Tiến hành chạy robot Scara với cấu hình góc khác nhau để kiểm chứng động học thuận:
▪ Bộ nghiệm thứ nhất: điểm home 1 = 0 , 2 = =0 ,d 0
Hình 5.18 Cấu hình robot với bộ góc thứ nhất
Hình 5.19 Cấu hình robot với bộ góc thứ hai
Hình 5.20 Cấu hình robot với bộ góc thứ ba
Kiểm nghiệm mô hình YOLO
Trong phần này nhóm sẽ thực hiện việc kiểm nghiệm, đánh giá hiệu suất của mô hình YOLO qua số liệu thu thập được Để thấy rõ điều này nhóm sẽ so sánh 2 mô hình giữa lúc đầu và sau khi cải thiện
- Mô hình đầu tiên: với bộ dữ liệu 650 ảnh, train với 200 epoch, cỡ ảnh 640x480 Ta có chỉ số hiệu suất của mô hình: Precision = 0.9011, Recall 0.9121, mAP = 0.9345
- Mô hình thứ hai: ta lấy mô hình lần đầu tiên, ta tiếp tục train với bộ dữ liệu lớn hơn với 4000 ảnh, train với 200 epoch, cỡ ảnh 640x480 Ta chỉ số hiệu suất của mô hình: Precision = 0.9741, Recall = 0.9791, mAP = 0.9845 Sau đây kết quả so sánh 2 mô hình chạy trong thực tế:
Hình 5.21 Kết quả chạy thực tế với mô hình thứ nhất
Hình 5.22 Kết quả chạy thực tế với mô hình thứ hai
Nhận xét: Ở mô hình thứ nhất, các đối tượng được phát hiện đúng khá chính xác nhưng số lượng vật bị bỏ sót cũng nhiều, vẫn còn trường hợp nhận nhầm rác, bounding box bao quanh vật vẫn chưa ổn Mô hình thứ hai: sau khi cải thiện từ mô hình thứ nhất đã hiệu quả hơn rõ rệt Các đối tượng được phát hiện đúng chính xác, không còn trường hợp nhận nhầm rác, bounding box bao quanh sát vật
Kết luận: mô hình YOLO thứ hai đã cho thấy sự cái thiện về khả năng qua thông số và khả năng nhận diện vật trong môi trường thực tế Mô hình này có thể kết hợp robot để điều khiển.
Kiểm nghiệm hệ thống
Để kiểm nghiệm hệ thống, nhóm sẽ cho băng tải chạy với 2 cấp tốc độ là 1500mm/s và 2000mm/s với lượng rác ít và nhiều được đặt trên băng tải Nhóm chia ra nhiều đợt chạy để kiểm nghiệm hiệu suất hệ thống
Các ảnh sau minh họa lượng rác nhiều, ít được trên băng tải:
Hình 5.23 Ảnh lượng rác nhiều và ít trên băng tải
Trường hợp 1: băng tải chạy 1500mm/s với lượng rác ít trên băng tải:
Bảng 5-2 Kết quả vận hàn hệ thống trường hợp 1
Lần chạy Lượng chai và lon Nhận đúng Nhận nhầm Gắp thành công
Trường hợp 2: băng tải chạy 2000mm/s với lượng rác ít trên băng tải:
Bảng 5-3 Kết quả vận hành hệ thống trường hợp 2
Lần chạy Lượng chai và lon
Nhận đúng Nhận nhầm Gắp thành công
Trường hợp 3: băng tải chạy 1500mm/s với lượng rác nhiều trên băng tải:
Bảng 5-4 Kết quả vận hành hệ thống trường hợp 3
Lần chạy Lượng chai và lon
Nhận đúng Nhận nhầm Gắp thành công
Trường hợp băng tải chạy 2000mm/s với lượng rác nhiều trên băng tải:
Bảng 5-5 Kết quả vận hành hệ thống trường hợp 4
Lần chạy Lượng chai và lon Nhận đúng Nhận nhầm Gắp thành công
Lưu ý: Các trường hợp chập chờn, khung bounding box của không ổn định được cho là không nhận diện được vật
Qua các bảng từ (5.1) đến (5.5), ta có được phần trăm gắp vật thành công trung bình lần lượt là 79.7%, 68.2%, 75.1%, 65.6% Ta thấy hiệu suất gắp của vật cao nhất khi lượng rác trên băng tải ít và băng tải chạy chậm, ngược lại hiệu suất kém nhất là trường hợp 4 Tuy nhiên, ta có thể thấy trường hợp 2, 4 có hiệu suất thấp nhất Lý giải cho hiện tượng trên, ta nhận thấy khi băng tải chạy nhanh robot sẽ phải chạy với vận tốc nhanh hơn để có thể gắp vật, sai số của hệ thống từ đó tăng lên Khi băng tải chạy nhanh, thời gian đối tượng gắp nằm trong vùng lấy dự liệu giảm Do khả năng xử lý khung ảnh của mô hình chỉ tầm 3 khung ảnh trên giấy nên ta thấy việc không thể thu thập dữ liệu về vật xảy ra làm cho hiệu suất gắp giảm Ngoài ra, khi băng tải chạy nhanh sẽ làm cho mô hình rung nhẹ, ảnh hưởng tới chất lượng hình ảnh camera