CHƯƠNG 1. TỔNG QUAN NGHIÊN CỨU 1.1 Bài toán và yêu cầu đặt ra 1.1 Bối cảnh Trong dây chuyền sản xuất thiết bị điện tử, các sản phẩm có dạng tấm phẳng được đặt song song với phương ngang trong các ô trên khay hàng. Các hệ thống gá lắp đi kèm đảm bảo khay hàng luôn ở một độ cao cố định so với phương ngang. Các sản phẩm cần được gắp từ vị trí trên khay hàng đặt lên băng chuyền để đưa đến công đoạn tiếp theo.
Môi trường làm việc 1.2 Đối tượng thao tác Đối tượng thao tác là các sản phẩm dạng tấm phẳng được đặt trên khay hàng. Vị trí đặt sản phẩm được thể hiện màu xanh trong Hình 1. Đối tượng thao tác 1 Hình 1. Khay hàng chứa sản phẩm 1.3 Bài toán đặt ra: Xây dựng một hệ thống Vision – Robot, di chuyển các sản phẩm trên khay hàng sang công đoạn tiếp theo, cụ thể là đặt trên băng truyền, sao cho đảm bảo về vị trí gắp vật và tối ưu hóa về thời gian, giá thành.4 Phương án đề xuất Xây dựng hệ thị giác máy tính tích hợp trên Robot, sử dụng hình ảnh từ camera, áp dụng thị giác máy tính, thực hiện phát hiện, nhận dạng đối tượng thao tác, từ đó, thông qua nền tảng trung gian, Robot Operating System (ROS) điều khiển cơ cấu chấp hành (actuator), ở đây là Robot ABB, đến vị trí của đối tượng thao tác để thực hiện tác vụ gắp và thả vật.2 Mô tả phần cứng 1.1 Robot - Model: ABB IRB 1200-5/0.9 - Nhà sản xuất: ABB company - Tải giới hạn: 5kg - Tầm với tối đa: 900mm 2 Hình 1.
Kích thước robot - Giới hạn khớp robot: Bảng 1-1. Giới hạn khớp và vận tốc robot Vận tốc tối đa Giới hạn khớp (độ) (độ/s) Khớp 1 -170 ~ 170 288 Khớp 2 -100 ~ 130 240 Khớp 3 -200 ~ 70 300 Khớp 4 -270 ~ 270 400 Khớp 5 -130 ~ 130 405 Khớp 6 -360 ~ 360 600 3 - Vùng làm việc của robot: Hình 1. Vùng làm việc robot 1.2 Bộ điều khiển robot Model: ABB IRC5 Compact IRC5 là bộ điều khiển tiêu chuẩn của hãng ABB dành cho các dòng robot do hãng sản xuất. Bộ điều khiển có khả năng hoạt động độc lập, linh hoạt và bao gồm công cụ điều khiển cầm tay Flexpendant giúp người dùng dễ dàng trong quá trình điều khiển robot.
Hỗ trợ ngôn ngữ lập trình của hãng ABB cung cấp. Bộ điều khiển robot IRC5 4 Thông số kỹ thuật: Bảng 1-2. Thông số bộ điều khiển robot Model IRC5 Compact Hãng sản xuất ABB Company Kích thước 320 x 449 x 442 Nguồn cung cấp Điện áp 220v/230v 50/60Hz Nhiệt độ hoạt động 0 – 45oC Khối lượng 28,5 kg 1.3 Khâu tác động cuối – Gripper Với đối tượng thao tác có dạng tấm phẳng đặt trong khay hàng, tay gắp được trang bị khí nén, dạng giác hút, được thiết kế để gắp được tối đa 2 sản phẩm cùng lúc, mỗi sản phẩm sẽ được gắp bằng 4 đầu khí nén. Cấu tạo tay gắp Hình 1.
Khả năng gắp vật của tay gắp 5 1.3 Tổng quan kiến trúc đề xuất của hệ thống Để thực hiện bài toán đề ra, yêu cầu xây dựng một hệ thống thị giác máy tính – Robot, sử dụng hình ảnh camera, thực hiện nhận diện đối tượng thao tác, từ đó định vị thiết bị chấp hành (actuator) Robot ABB sao cho đảm bảo về vị trí gắp vật và tối ưu hóa về thời gian. Tổng quan phần cứng hệ thống bao gồm: - Hệ camera - Bộ xử lý trung tâm (Máy tính) - Robot và bộ điều khiển robot Bảng 1-3. Thiết bị phần cứng đề xuất Phần cứng Thông số Robot ABB IRB1200 5-0,9 Bộ điều khiển robot ABB IRC5 Máy tính Máy trạm đào • Dell Precision Tower 7810 tạo mô hình nhận • Chip Intel Xeon E5- diện đối tượng 2600v4 8 nhân 16 luồng. • Bộ nhớ RAM 24GB • Card đồ họa GTX 3080 PC triển khai đi • Chip Intel i7th11 kèm hệ thống • Bộ nhớ RAM 8GB Camera - Camera 3D Intel Realsense - Camera 2D Basler Ace2500-14gm Hình 1.
Sơ đồ phần cứng hệ thống 6 Với phương án đề xuất, đề tài sẽ triển khai bao gồm các mô đun: Thu nhận và xử lý hình ảnh Nhận diện vị trí đối tượng thao tác thông qua mô hình học máy Biến đổi vị trí của đối tượng thao tác, từ hệ tọa độ camera sang hệ tọa độ robot. Điều khiển robot tới vị trí đối tượng thao tác đã nhận diện được Kiến trúc hệ thống được triển khai cụ thể như sau: Hình 1. Kiến trúc hệ thống thị giác máy tính - robot 7 CHƯƠNG 2.1 Bài toán nhận diện đối tượng 2.1 Khái niệm thị giác máy tính Thị giác máy tính (Computer Vision) là lĩnh vực bao gồm các phương pháp thu nhận, xử lý và phân tích các hình ảnh và dữ liệu đa chiều từ thế giới thực như cách mà con người thực hiện, thông qua đầu vào là ảnh số, video và các đầu vào trực quan khác, từ đó thực hiện các hành động hoặc đưa ra các đề xuất dựa trên thông tin đã trích xuất được. Khái niệm thị giác máy tính dựa trên việc dạy máy tính xử lý một hình ảnh ở cấp độ pixel và hiểu nó.
Về mặt kỹ thuật, máy móc cố gắng truy xuất thông tin trực quan, xử lý và giải thích kết quả thông qua các thuật toán phần mềm đặc thù. Thị giác máy tính [1] 2.2 Ứng dụng Hiện nay, thị giác máy tính đang được áp dụng trong rất nhiều lĩnh vực, từ cuộc sống hằng ngày cho đến sản xuất công nghiệp, bao gồm: Y học, Nông nghiệp, Xe tự hành, Lắp ráp sản xuất, các hệ Cơ điện tử, Tự động hóa, … Một số tác vụ phổ biến mà hệ thống thị giác máy tính đang được áp dụng: - Phát hiện và nhận biết đối tượng (object detection) : Hệ thống phân tích, trích xuất thông tin và phân loại các đối tượng trên hình ảnh thành các loại đối tượng thuộc danh mục đã định trước. - Theo vết đối tượng (object tracking): Hệ thống sử dụng thông tin từ việc nhận biết đối tượng, từ đó thực hiện theo dõi chuyển động của đối tượng. Trong đề tài này, thị giác máy tính được áp dụng trong việc phát hiện và nhận biết các ô có hàng trên khay, và gửi thông tin cho mô đun Robot xử lý.2 Các phương pháp xử lý trong bài toán nhận diện đối tượng Nhận diện đối tượng là một trong những chủ đề nổi bật và được nghiên cứu rộng rãi nhất trong lĩnh vực Thị giác máy tính.
Đầu ra của bài toán là cơ sở cho vô số các ứng dụng trong thực tế như phát hiện ô tô, nhận diện khuôn mặt, giấy tờ, … Do đó, nhận diện đối tượng là một chủ đề được liên tục phát triển tại các cộng đồng, tổ chức, phòng nghiên cứu, và với mỗi lần phát triển, lĩnh vực này lại mang tới rất nhiều tiềm năng ứng dụng mới. Bài toán nhận diện đối tượng bao gồm các bước: - Thu nhập, xử lý ảnh - Phân loại, gán nhãn ảnh theo một tập hợp các nhãn đã quy định - Dự đoán khung bao quanh đối tượng đã gán nhãn. Nhận diện đối tượng [2] 2.1 Xử lý ảnh - Image Processing Xử lý ảnh là phương pháp thực hiện các thao tác trên một ảnh đầu vào, như thay đổi ánh sáng, kích thước, … để cho ra một hình ảnh nâng cao hoặc để trích xuất một số thông tin quan trọng. Xử lý ảnh về cơ bản bao gồm 3 bước: - Nhận hình ảnh thông qua các công cụ thu thập hình ảnh - Phân tích và thao tác với ảnh - Trích xuất đầu ra là: ảnh đã được chỉnh sửa hoặc thông tin về đặc trưng của ảnh Hình 2.
Các bước xử lý ảnh cơ bản 2.2 Ứng dụng xử lý ảnh trong Học máy - Machine Learning Ngày nay, với sự phát triển của các thiết bị phần cứng và kỹ thuật phần mềm, con người đã dần mô phỏng được cách não bộ nhận biết, phân biệt các đối tượng từ hình ảnh. Với đầu vào dồi dào của lượng dữ liệu ảnh, thiết bị xử lý đồ họa (GPU) nhanh hơn, mạnh hơn, và các thuật toán tốt hơn, ta có thể dễ dàng huấn luyện máy tính phát hiện và phân loại nhiều đối tượng và độ chính xác cao 9 Học máy hay Machine learning, là công nghệ được sử dụng để tạo ra một mô hình có khả năng tự học hỏi dựa trên dữ liệu đưa vào mà không cần phải lập trình cụ thể. Khác với lập trình thông thường, lập trình viên sử dụng các thông tin từ các nguồn khác nhau của hệ thống, và áp dụng các quy tắc, logic (if – else, …) từ đó đưa ra câu trả lời, Học máy với đầu vào là thông tin, và mô tả về yêu cầu đầu ra, từ đó tìm ra quy luật chuyển đổi. So sánh giữa a) lập trình truyền thống và b) học máy 2.3 Phân loại Học máy được chia thành 3 loại: - Học có giám sát - Học không giám sát - Học tăng cường Hình 2.
Phân loại các phương pháp học máy a) Học có giám sát – Supervised Learning Học có giám sát là phương pháp cơ bản nhất của Học máy, đây cũng là phương pháp được sử dụng phổ biến nhất. Như tên gọi, thuật toán này yêu cầu giám sát trực tiếp. Trong phương pháp học này, dữ liệu được con người gán nhãn và đưa vào thuật toán. Dữ liệu này chứa thông tin về loại và vị trí của đối tượng cần quan tâm.
Cuối cùng, qua dữ liệu đã học được, thuật toán thực hiện dự đoán các dữ liệu mới mà thuật toán chưa học trước đó. Trong đề tài luận văn, đây là phương pháp được sử dụng. 10 b) Học không giám sát – Unsupervised Learning Trong quá trình học không giám sát, thuật toán cố gắng học và xác định các thuộc tính hữu ích của các loại đối tượng từ dữ liệu đưa vào. Khác với học có giám sát, dữ liệu đưa vào không được gán nhãn.
c) Học tăng cường – Reinforcement learning Trong phương pháp này, máy được cho phép tự đào tạo liên tục bằng cách: Thử và Sai (Try – Error). Do đó, máy học từ kinh nghiệm trước đây và cố gắng nắm bắt kiến thức tốt nhất có thể, để dự đoán chính xác trong lần tiếp tới.3 Học sâu - Deep Learning Học sâu là lĩnh vực thuộc một nhánh của học có giám sát – Học máy. Học sâu được áp dụng ngày càng rộng rãi trong bài toán nhận diện vật thể - Object detection.