ĐỒ ÁN TỐT NGHIỆP nghiên cứu, thiết kế tay máy bốn bậc tự do phân loại sản phẩm lỗi bằng xử lý ảnh
NỘI DUNG ĐỒ ÁN
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
TRƯỜNGCƠ KHÍ – Ô TÔ
KHOA CƠ ĐIỆN TỬ
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ
ĐỀ TÀI
NGHIÊN CỨU, THIẾT KẾ TAY MÁY BỐN BẬC TỰ DO PHÂN LOẠI SẢN PHẨM LỖI BẰNG XỬ LÝ ẢNH
MỤC LỤC
LỜI CẢM ƠN 7
LỜI NÓI ĐẦU 8
CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ CÁNH TAY ROBOT PHÂN LOẠI SẢN PHẨM LỖI SỬ DỤNG XỬ LÝ ẢNH.. 9
1.1. Lịch sử nghiên cứu. 9
1.1.1. Lịch sử nghiên cứu về cánh tay robot9
1.1.2. Xử lý ảnh. 10
1.1.2.1.Tiền xử lý ảnh. 11
1.1.2.2.Tăng cường ảnh. 11
1.1.2.3.Phân đoạn ảnh. 12
1.1.2.4.Trích xuất đặc trưng. 12
1.1.2.5.Các phương pháp học sâu trong xử lý ảnh. 13
1.2. Đối tượng nghiên cứu. 14
1.3. Mục tiêu nghiên cứu đề tài15
1.4. Phương pháp thực hiện. 15
1.5. Phạm vi và giới hạn đề tài16
1.5.1. Phạm vi của đề tài16
1.5.2. Giới hạn của đề tài16
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ CÁNH TAY ROBOT PHÂN LOẠI SẢN PHẨM LỖI SỬ DỤNG XỬ LÝ ẢNH.18
2.1. Động học và động lực học tay máy robot. 18
2.1.1. Động học. 18
2.1.2. Động học thuận:20
2.1.3. Động học nghịch:21
2.2. Phương pháp điều khiển robot. 24
2.2.1. Phương pháp dẫn động. 24
2.2.2. Dẫn động bằng bánh răng (Gear Drive)24
2.2.2.1.Dẫn động bằng đai (Belt Drive)25
2.2.2.2.Dẫn động bằng xích (Chain Drive)25
2.2.2.3.Dẫn động bằng trục vít và bánh vít (Worm and Wheel Drive)25
2.2.2.4.Dẫn động trực tiếp (Direct Drive)26
2.2.2.5.Dẫn động bằng thanh răng và bánh răng (Rack and Pinion Drive)26
2.2.2.6.Dẫn động thủy lực (Hydraulic Drive)26
2.2.2.7.Dẫn động khí nén (Pneumatic Drive)26
2.2.2.8.Dẫn động bằng nam châm (Magnetic Drive)27
2.2.3. Động cơ Servo. 28
2.2.4. Hệ thống điều khiển. 30
2.2.4.1.Các loại driver điều khiển động cơ. 30
2.2.4.2.Driver điều khiển động cơ DC (DC Motor Driver)30
2.2.4.3.Driver điều khiển động cơ bước (Stepper Motor Driver)31
2.2.4.4.Driver điều khiển động cơ Servo (Servo Motor Driver)31
2.2.3.3 . Driver điều khiển động cơ BLDC (Brushless DC Motor Driver)32
2.2.4.5.Driver điều khiển động cơ AC (AC Motor Driver)32
2.2.4.6.Driver điều khiển động cơ tuyến tính (Linear Motor Driver)33
2.2.5. Lưa chọn module điều khiển động cơ. 33
2.2.6. Hệ thống điều khiển. 36
2.2.7. Hệ thống cảm biến. 38
2.2.7.1.Cảm biến tiệm cận. 38
2.2.7.2.Camera ESP32. 39
2.2.8. Băng tải41
2.2.8.1.Cấu tạo của băng tải41
2.2.8.2.Phân loại băng tải41
2.2.8.3.Động cơ giảm tốc JGB37-520. 42
2.2.8.4.Cấu tạo và đặc điểm.. 42
2.2.8.5.Thông số kỹ thuật cơ bản. 42
2.2.8.6.Ứng dụng. 43
2.2.8.7.Ưu điểm.. 43
2.2.8.8.Vật liệu chế tạo khung. 44
2.2.8.9.Thiết kế khung. 45
2.2.8.10.Kích thước và hình dạng. 45
2.2.8.11.Tính linh hoạt45
2.3. Các phương pháp xử lý ảnh nhận diện sản phẩm lỗi46
2.3.1. Nhận diện đối tượng và kiểm tra chất lượng sản phẩm.. 46
2.3.2. Đo lường và kiểm tra kích thước. 46
2.3.3. Nhận diện ký tự quang học (Optical Character Recognition - OCR)47
2.3.4. Phát hiện và phân loại lỗi sản phẩm.. 47
2.3.5. Hệ thống robot tự động. 48
2.3.6. Theo dõi và giám sát48
2.3.7. Lựa chọn phương pháp. 48
2.3.7.1.Phương pháp thống kê (Statistical Methods)49
2.3.7.2.Phương pháp dựa trên lọc (Filter-Based Methods)49
2.3.7.3.Phương pháp cấu trúc (Structural Methods)50
2.3.7.4.Phương pháp thống kê địa phương (Local Statistical Methods)50
2.3.7.5.Phân tích kết cấu bằng học sâu (Texture Analysis using Deep Learning)51
2.3.7.6.Ứng dụng của phân tích kết cấu. 51
2.3.8. Tính toán xử lý ảnh. 52
2.3.8.1.Kích thước ảnh. 52
2.3.8.2.Tính Toán Diện Tích Ảnh. 52
2.3.8.3.Tính Toán Kích Thước Pixel52
2.3.8.4.Tính Toán Tỉ Lệ (Scale)52
2.3.8.5.Tính Toán Tính Chất Kết Cấu. 53
2.3.8.6.Phân Tích Kết Cấu. 53
2.4. Công cụ phầm mềm xử lý ảnh. 53
2.4.1. Giới thiệu về phần mềm xử lý ảnh. 53
2.4.2. Các ứng dụng của phần mềm xử lý ảnh. 54
2.4.2.1.Chỉnh sửa và cải thiện hình ảnh. 54
2.4.2.2.Nhận diện khuôn mặt và phân tích đối tượng. 54
2.4.2.3.Thị giác máy tính trong xe tự lái và robot54
2.4.2.4.Xử lý và phân tích hình ảnh y tế. 54
2.4.2.5.Thực tế tăng cường (AR) và thực tế ảo (VR)54
2.4.2.6.Ưu điểm và nhược điểm của phần mềm xử lý ảnh. 55
2.4.3. OpenCV - Phần mềm xử lý ảnh ưu việt55
CHƯƠNG 3: TÍNH TOÁN, THIẾT KẾ CÁNH TAY ROBOT VÀ THIẾT BỊ XỬ LÝ ẢNH57
3.1. Thiết kế hệ thống cơ khí57
3.1.1. Yêu cầu của hệ thống robot 4 bậc tự do. 57
3.1.2. Thiết kế cánh tay robot58
3.1.3. Tính toán momen và lựa chọn động cơ. 58
3.2. Thiết kế hệ thống điện điều khiển. 62
3.2.1. Sơ đồ khối của hệ thống. 62
3.2.2. Thiết kế, lựa chọn hệ thống điều khiển. 63
3.2.3. Phần cứng cần thiết:65
3.2.4. Công thức tính tọa độ. 70
3.3. Xây dựng hệ thống xử lý ảnh nhận diện sản phẩm lỗi71
3.3.1. Xây dựng dữ liệu cho Camera ESP32. 71
3.3.2. Nạp code cho Camera ESP32. 72
3.3.3. Nạp code vào OpenCV.. 73
3.3.4. Hiển Thị Kết Quả:75
3.3.5. Nạp code vào Arduino IDE. 76
CHƯƠNG 4: CHẾ TẠO MÔ HÌNH VÀ ĐÁNH GIÁ HOẠT ĐỘNG HỆ THỐNG 78
4.1. Chế tạo mô hình hệ thống cơ khí78
4.1.1. Mô hình cánh tay Robot78
4.1.2. Băng tải.79
4.2. Chế tạo mô hình hệ thống điện, điều khiển. 79
4.2.1. Hệ thống điều khiển. 79
4.2.2. Các thiết bị điều khiển khác. 80
4.2.2.1.Camera ESP32, Led, cảm biến. 80
4.2.3. Mô hình tổng thể. 81
4.3. Thử nghiệm và đánh giá hoạt động hệ thống. 81
4.3.1. Kết quả đạt được. 81
4.3.2. Hạn chế. 85
4.3.3. Đề xuất hướng phát triển. 85
DANH MỤC HÌNH ẢNH
Hình 1. 1 Cánh tay Robot Robot Unimate (1960)9
Hình 1.2 Các bước cơ bản trong xử lý ảnh. 13
Hình 2.1 Chiều dài và góc xoắn của một khâu. 18
Hình 2.2 Các thông số của khâu: θ, d, a và α. 19
Hình 2. 3 Động cơ Servo. 29
Hình 2. 4 Cấu tạo của động cơ Servo. 29
Hình 2. 5 Module PCA9685 điều khiển động cơ servo. 34
Hình 2. 6 Vi điều khiển Arduino. 37
Hình 2. 7 Cảm biến E18-D80NK.. 39
Hình 2. 8 Sơ đồ chân cảm biến Esp32. 41
Hình 2. 9 Động cơ giảm tốc. 44
Hình 3. 1 Robot được thiết kế trên SolidWorks. 58
Hình 3. 2 Lưu đồ thuật toán robot62
Hình 3. 3 Arduino Uno (chip cắm ATmega328P. 63
Hình 3. 4 Mạch PCA9685. 64
Hình 3. 5Module L298N.. 66
Hình 3. 6 Sơ đồ khái quát về Mạch L298N.. 67
Hình 3. 7 Băng tải mô phỏng trên Solidworks. 68
Hình 3. 8 Mô hình băng tải thực tế. 68
Hình 3. 9 Sơ đồ khối tổng thể hệ thống. 69
Hình 3. 10 Mô phỏng trên phần mềm Proteus. 69
Hình 3. 11 Tính toán trên phầm mềm Python. 70
Hình 4. 1 Mô hình cánh tay robot78
Hình 4. 2 Hình ảnh hệ thống điều khiển. 79
Hình 4. 3 Băng tải79
Hình 4. 4 Camera ESP32 và đèn LED.. 80
Hình 4. 5 Cảm biến tiệm cận E18 D80K.. 80
Hình 4. 6 Khay đựng phôi đúng. 80
Hình 4. 7 Mô hình tổng thể. 81
DANH MỤC BẢNG BIỂU
Bảng 1. 1 Bảng D-H.. 19
Bảng 3. 1 Lựa chọn động cơ. 61
DANH MỤC CÔNG THỨC
( 2. 1 Động học thuận)20
(2. 2) Động học nghịch. 21
(2. 3) Tính Toán Diện Tích Ảnh. 52
(2. 4) Tính Toán Kích Thước Pixel52
(2. 5) Tỉ lệ giữa kích thước ảnh. 52
(3. 1)Trọng lượng của mỗi khâu. 59
(3. 2) Mômen tại khớp 1 (τ1)59
(3. 3) Mômen tại khớp 2 (τ2)60
(3. 4) Mômen tại khớp 3 (τ3)60
(3. 5) Mômen tại khớp 4 (τ4)60
LỜI CẢM ƠN
Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác. Trong suốt thời gian từ khi bắt đầu học tập ở giảng đường đại học đến nay, em đã nhận được rất nhiều sự quan tâm, giúp đỡ rất nhiều từ quý thầy cô, gia đình và bạn bè.
Trước tiên em xin được gửi lời cám ơn và tri ân đến ba mẹ, người đã sinh và nuôi em lớn không đến ngày nay, nhờ có họ là niềm phấn đấu vươn lên của em. Em xin gửi lời cảm ơn đến các quý thầy cô trong trường Đại học Cơ Khí – Ô Tô đã nhiệt tình dạy dỗ và truyền đạt cho em nhiều kiến thức nền tảng để em có được hành trang tốt chuẩn bị bước vào đời. Đặc biệt là em muốn tỏ lòng cảm ơn đến thầy TS.Phan Đình Hiếu, người thầy đã ân cần, tận tụy hướng dẫn em trong suốt thời gian thực hiện đồ án này. Trong quá trình làm việc, với sự hướng dẫn tận tình của thầy TS. Phan Đình Hiếu và nỗ lực của bản thân, đến nay công việc của chúng em đã hoàn thành. Trong quá trình tìm hiểu, tính toán và lập trình có thể có sai sót. Chúng em rất mong sự chỉ bảo của thầy để đề tài được hoàn thiện hơn. Nhờ sự hướng dẫn tận tình của thầy mà em đã hoàn thành tốt đồ cơ điện tử này, một lần nữa cho em gửi lời cảm ơn sâu sắc đến thầy, người lái đò sống mãi với sự nghiệp giáo dục, dìu dắt những thế hệ trẻ trên con đường học tập và nghiên cứu khoa học.
1.1.1.1.
LỜI NÓI ĐẦU
Ngày nay, Robot không còn là cái gì đó quá xa lạ với mọi người. Chúng dần dần được giới kỹ thuật hình dung như những chiếc máy đặc biệt, được con người phỏng tác theo cấu tạo và hoạt động của chính mình, dùng để thay thế mình trong một số công việc xác định. Để hoàn thành nhiệm vụ đó, Robot cần có khả năng cảm nhận các thông số trạng thái của môi trường và thực hiện các động tác tương tự nhưcon người.
Khả năng hoạt động của Robot được đảm bảo bởi hệ thống cơ khí, gồm cơ cấu vận động để đi lại và cơ cấu hành động để có thể làm việc. Việc thiết kế và chế tạo hệ thống này thuộc lĩnh vực khoa học về cơ cấu truyền động, chấp hành và vật liệu cơ khí.
Trong bối cảnh phát triển mạnh mẽ của công nghệ thông tin và tự động hóa, xử lý ảnh đã trở thành một lĩnh vực quan trọng, có ứng dụng rộng rãi trong nhiều ngành công nghiệp và đời sống. Với sự tiến bộ của các thuật toán và khả năng tính toán của phần cứng, xử lý ảnh ngày nay không chỉ đơn thuần là một công cụ nghiên cứu khoa học mà còn đóng vai trò chủ đạo trong nhiều ứng dụng thực tiễn như nhận dạng khuôn mặt, giám sát an ninh, y học, và sản xuất công nghiệp. Việc phân tích và hiểu được thông tin từ hình ảnh đã mở ra nhiều cơ hội trong việc cải thiện chất lượng sản phẩm, tăng cường an ninh, và nâng cao chất lượng cuộc sống.
Xử lý ảnh là một nhánh của trí tuệ nhân tạo, tập trung vào việc chuyển đổi và phân tích hình ảnh nhằm trích xuất thông tin hữu ích hoặc cải thiện chất lượng hình ảnh. Các phương pháp xử lý ảnh từ đơn giản như lọc và làm mịn, đến các kỹ thuật phức tạp như học sâu, đều được sử dụng để giải quyết những thách thức khác nhau trong việc xử lý và phân tích dữ liệu hình ảnh.
Đề tài "Xử lý ảnh" nhằm nghiên cứu các phương pháp và kỹ thuật tiên tiến trong việc trích xuất thông tin từ hình ảnh, từ đó ứng dụng vào các bài toán thực tế như phát hiện lỗi sản phẩm, nhận dạng vật thể, và phân tích bề mặt. Những nghiên cứu và ứng dụng trong lĩnh vực này không chỉ đóng góp vào việc nâng cao hiệu quả sản xuất và quản lý, mà còn giúp thúc đẩy sự phát triển của các lĩnh vực liên quan như y học, tự động hóa, và khoa học môi trường.
Chúng em xin chân thành cảm ơn !
CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ CÁNH TAY ROBOT PHÂN LOẠI SẢN PHẨM LỖI SỬ DỤNG XỬ LÝ ẢNH
1.1. Lịch sử nghiên cứu
1.1.1. Lịch sử nghiên cứu về cánh tay robot
Lịch sử nghiên cứu về cánh tay robotcó thể được chia thành nhiều giai đoạn khác nhau, phản ánh sự phát triển về công nghệ, nhu cầu công nghiệp, và những bước tiến vượt bậc trong lĩnh vực điều khiển tự động và trí tuệ nhân tạo.
Hình 1. 1Cánh tay Robot Robot Unimate (1960)
Những nghiên cứu đầu tiên về cánh tay robot xuất hiện vào cuối những năm 1940 và 1950, với sự phát triển của các hệ thống tự động hóa trong ngành công nghiệp. Các nhà nghiên cứu bắt đầu khám phá cách sử dụng các cơ chế tự động để thay thế sức lao động của con người trong các môi trường nguy hiểm hoặc công việc nặng nhọc. Một trong những người tiên phong trong lĩnh vực này là George Devol, người đã phát minh ra cánh tay robot công nghiệp đầu tiên vào năm 1954.
Năm 1961, công ty Unimation, do George Devol và Joseph Engelberger thành lập, đã giới thiệu cánh tay robot công nghiệp đầu tiên, Unimate. Cánh tay này được sử dụng trong dây chuyền sản xuất ô tô của General Motors, nơi nó thực hiện các công việc hàn điểm và vận chuyển vật liệu. Sự ra đời của Unimate đã mở ra kỷ nguyên mới cho ngành công nghiệp robot và tự động hóa.
Trong những năm 1970 và 1980, sự phát triển về công nghệ điều khiển và máy tính đã thúc đẩy sự phát triển của cánh tay robot. Các công ty như Fanuc, KUKA, và ABB đã phát triển các cánh tay robot tiên tiến hơn với khả năng điều khiển số và lập trình lại linh hoạt.
Cánh tay robot bắt đầu được sử dụng rộng rãi trong các ngành công nghiệp khác nhau, đặc biệt là trong sản xuất ô tô, điện tử, và hàng tiêu dùng. Các hệ thống điều khiển số trực tiếp (NC - Numerical Control) và sau này là hệ thống điều khiển số máy tính (CNC - Computer Numerical Control) đã giúp tăng tính chính xác và hiệu quả của các cánh tay robot trong sản xuất.
Từ những năm 1990 trở đi, cánh tay robot đã trải qua những bước tiến vượt bậc nhờ vào sự phát triển của trí tuệ nhân tạo (AI), cảm biến, và các công nghệ kết nối. Các hệ thống robot ngày nay có khả năng học hỏi và thích nghi với các môi trường làm việc phức tạp. Các cảm biến như camera, lidar, và cảm biến lực đã giúp cánh tay robot có thể thực hiện các tác vụ phức tạp hơn như lắp ráp, kiểm tra chất lượng, và phân loại sản phẩm.
Các cánh tay robot hiện đại không chỉ giới hạn trong các ngành công nghiệp nặng mà còn được sử dụng trong các lĩnh vực khác như y tế (phẫu thuật robot), dịch vụ (robot phục vụ), và thậm chí trong gia đình (robot hút bụi). Những tiến bộ trong trí tuệ nhân tạo và học máy (machine learning) đã giúp cánh tay robot trở nên thông minh hơn và có khả năng tự động hóa các công việc mà trước đây chỉ con người mới có thể thực hiện.
1.1.2. Xử lý ảnh
Xử lý ảnh là một lĩnh vực quan trọng của thị giác máy tính, với mục tiêu là cải thiện chất lượng hình ảnh hoặc trích xuất thông tin hữu ích từ hình ảnh đó. Các phương pháp xử lý ảnh được chia thành nhiều nhóm khác nhau dựa trên mục đích và cách thức hoạt động, bao gồm tiền xử lý, tăng cường, phân đoạn và trích xuất đặc trưng. Dưới đây là một số phương pháp xử lý ảnh phổ biến.
1.1.2.1. Tiền xử lý ảnh
Tiền xử lý ảnh là bước quan trọng đầu tiên để làm sạch hình ảnh và chuẩn bị cho các bước xử lý tiếp theo. Các phương pháp phổ biến bao gồm:
- Cân bằng Histogram: Đây là phương pháp điều chỉnh độ tương phản của hình ảnh bằng cách phân phối lại mức sáng sao cho các chi tiết của ảnh được hiển thị rõ ràng hơn.
- Bộ lọc (Filtering): Các bộ lọc như Gaussian, trung bình (mean filter), và bộ lọc trung vị (median filter) được sử dụng để làm mịn ảnh hoặc giảm nhiễu. Gaussian filter giúp làm mờ ảnh, trong khi bộ lọc trung vị rất hiệu quả trong việc loại bỏ nhiễu "salt-and-pepper".
- Biến đổi Fourier: Biến đổi Fourier được sử dụng để phân tích các thành phần tần số của hình ảnh, thường được sử dụng để loại bỏ nhiễu hoặc phát hiện các đặc trưng nhất định.
- Mục đích của tăng cường ảnh là cải thiện chất lượng của hình ảnh để dễ dàng phân tích hơn. Một số phương pháp phổ biến là:
- Tăng độ tương phản (Contrast Enhancement): Phương pháp này giúp làm rõ các chi tiết của hình ảnh, đặc biệt là trong các trường hợp hình ảnh có độ tương phản thấp. Phương pháp điều chỉnh gamma và cân bằng Histogram là những cách tăng cường độ tương phản phổ biến.
- Làm sắc nét ảnh (Sharpening): Phương pháp này làm tăng cường các cạnh và chi tiết của ảnh. Bộ lọc Laplacian hoặc bộ lọc Sobel thường được sử dụng để làm sắc nét hình ảnh.
- Tăng cường cục bộ (Local Enhancement): Sử dụng các kỹ thuật như Adaptive Histogram Equalization (AHE) để tăng cường chi tiết ở các vùng nhỏ của hình ảnh, làm cho hình ảnh chi tiết hơn ở những vùng có độ sáng khác nhau.
1.1.2.2. Tăng cường ảnh
1.1.2.3. Phân đoạn ảnh
Phân đoạn ảnh là quá trình chia hình ảnh thành các phần có ý nghĩa, giúp phân tích và trích xuất thông tin cụ thể. Các phương pháp phân đoạn phổ biến gồm:
- Ngưỡng (Thresholding): Phương pháp này chuyển đổi hình ảnh xám thành ảnh nhị phân bằng cách so sánh từng pixel với một giá trị ngưỡng. Ngưỡng Otsu là một kỹ thuật phổ biến để tìm ngưỡng tối ưu tự động.
- Phân đoạn dựa trên vùng (Region-based Segmentation): Phương pháp này dựa trên sự giống nhau của các pixel liền kề để nhóm chúng thành các vùng. Các kỹ thuật như vùng phát triển (Region Growing) và phân đoạn dựa trên Watershed là những ví dụ tiêu biểu.
- Phân đoạn dựa trên cạnh (Edge-based Segmentation): Sử dụng các phương pháp phát hiện cạnh như Sobel, Canny để xác định biên của các đối tượng và phân đoạn ảnh dựa vào các cạnh này.
1.1.2.4. Trích xuất đặc trưng
Trích xuất đặc trưng là quá trình tìm kiếm các đặc điểm nổi bật từ hình ảnh để phục vụ cho việc nhận diện và phân loại. Một số kỹ thuật phổ biến là:
- Phát hiện cạnh (Edge Detection): Các bộ lọc như Sobel, Prewitt, hoặc Canny giúp phát hiện các đường biên và cạnh của đối tượng trong ảnh.
- Trích xuất góc (Corner Detection): Sử dụng các kỹ thuật như thuật toán Harris hoặc FAST để tìm kiếm các góc hoặc điểm đặc trưng trong hình ảnh, giúp ích cho việc theo dõi hoặc ghép ảnh.
- Descriptor trích xuất đặc trưng (Feature Descriptors): Các phương pháp như SIFT (Scale-Invariant Feature Transform), SURF (Speeded-Up Robust Features) hoặc ORB (Oriented FAST and Rotated BRIEF) giúp trích xuất các đặc trưng mang tính mô tả cao từ hình ảnh, phục vụ cho các ứng dụng như nhận diện vật thể hoặc ghép ảnh.
1.1.2.5. Các phương pháp học sâu trong xử lý ảnh
Trong vài năm gần đây, học sâu (Deep Learning) đã trở thành công cụ mạnh mẽ cho xử lý ảnh, với các mô hình như mạng nơ-ron tích chập (Convolutional Neural Network - CNN):
- CNN (Convolutional Neural Networks): CNN được sử dụng để nhận diện và phân loại đối tượng trong hình ảnh. Các lớp tích chập trong CNN giúp tự động trích xuất các đặc trưng từ hình ảnh.
- Phân đoạn ảnh sâu (Deep Segmentation): Các mô hình như U-Net, Mask R-CNN giúp phân đoạn ảnh một cách chi tiết và chính xác, phục vụ trong các lĩnh vực như y tế và xe tự hành.
- Super-Resolution và GAN (Generative Adversarial Networks): GAN có thể tạo ra hình ảnh có độ phân giải cao từ hình ảnh có độ phân giải thấp hoặc khôi phục chi tiết bị mất, ứng dụng trong việc cải thiện chất lượng hình ảnh.
Xử lý ảnh là một lĩnh vực đa dạng và quan trọng, với nhiều phương pháp từ cơ bản đến phức tạp như học sâu. Việc lựa chọn phương pháp phù hợp phụ thuộc vào mục đích của người sử dụng, từ việc làm sạch, tăng cường hình ảnh, phân đoạn đối tượng cho đến trích xuất đặc trưng. Các ứng dụng của xử lý ảnh ngày càng mở rộng, từ y tế, giao thông đến nông nghiệp và nhiều lĩnh vực khác, giúp cải thiện hiệu quả và chất lượng cuộc sống.
Hình 1.2 Các bước cơ bản trong xử lý ảnh |
1.2. Đối tượng nghiên cứu
Đối tượng nghiên cứu trong đề tài này là hệ thống cánh tay robot 4 bậc tự do sử dụng xử lý ảnh để phân loại sản phẩm lỗi. Cụ thể, hệ thống này bao gồm các thành phần sau:
- Cánh tay robot 4 bậc tự do (4-DOF):Đây là bộ phận chính của hệ thống, có khả năng thực hiện các chuyển động linh hoạt trong không gian ba chiều. Với 4 bậc tự do, cánh tay robot có thể thực hiện các thao tác như nâng, hạ, xoay và di chuyển để nắm bắt và phân loại sản phẩm. Các bậc tự do này cho phép robot có khả năng làm việc với độ chính xác cao trong một không gian làm việc hạn chế.
- Hệ thống xử lý ảnh:Hệ thống xử lý ảnh sử dụng các thuật toán nhận diện và phân tích hình ảnh để đo lường kích thước và phân loại sản phẩm. Cụ thể, hệ thống này sẽ sử dụng camera để chụp ảnh sản phẩm, sau đó áp dụng các thuật toán xử lý ảnh (như OpenCV) để xác định kích thước, hình dạng của sản phẩm và so sánh với các tiêu chuẩn đã đặt ra. Nếu sản phẩm không đạt yêu cầu, hệ thống sẽ nhận diện nó là sản phẩm lỗi và cánh tay robot sẽ thực hiện thao tác loại bỏ sản phẩm này khỏi dây chuyền sản xuất.
- Các cảm biến và hệ thống điều khiển:Hệ thống này bao gồm các cảm biến được sử dụng để phát hiện sản phẩm trên băng chuyền và xác định vị trí của sản phẩm trước khi hệ thống xử lý ảnh hoạt động. Ngoài ra, bộ điều khiển (ví dụ: Arduino Uno và các module điều khiển servo) sẽ đảm nhiệm việc điều khiển các động cơ servo, đảm bảo cánh tay robot thực hiện chính xác các chuyển động cần thiết để phân loại sản phẩm.
- Băng chuyền và hệ thống cơ khí hỗ trợ:Băng chuyền giúp vận chuyển sản phẩm tới khu vực xử lý. Hệ thống cơ khí hỗ trợ bao gồm các khớp nối, bộ truyền động, và các thành phần cơ khí khác giúp cánh tay robot có thể hoạt động một cách chính xác và hiệu quả.
Mục tiêu của đối tượng nghiên cứu này là tạo ra một hệ thống tự động có khả năng phân loại sản phẩm lỗi một cách nhanh chóng và chính xác, giảm thiểu sự can thiệp của con người, từ đó nâng cao hiệu quả sản xuất và đảm bảo chất lượng sản phẩm.
1.3. Mục tiêu nghiên cứu đề tài
Mục tiêu nghiên cứucủa đề tài "Thiết kế cánh tay robot 4 bậc tự do sử dụng xử lý ảnh để phân loại sản phẩm lỗi" là:
- Thiết kế và xây dựng hệ thống cánh tay robot 4 bậc tự do:Xây dựng một hệ thống cánh tay robot có khả năng thực hiện các chuyển động chính xác trong không gian ba chiều, với 4 bậc tự do để đáp ứng các yêu cầu linh hoạt trong việc phân loại sản phẩm lỗi.Thiết kế cơ khí và lựa chọn vật liệu phù hợp để đảm bảo hệ thống có độ bền cao và hoạt động hiệu quả trong môi trường sản xuất.
- Phát triển hệ thống điều khiển và cơ chế hoạt động:Xây dựng hệ thống điều khiển cho cánh tay robot, bao gồm các thuật toán điều khiển, lập trình điều khiển các động cơ và các cảm biến trong hệ thống.Tích hợp các module điều khiển để điều khiển chính xác các thành phần cơ khí.
- Xây dựng hệ thống xử lý ảnh:Áp dụng các kỹ thuật xử lý ảnh để phát triển hệ thống nhận diện và phân loại sản phẩm dựa trên hình ảnh.Thiết kế thuật toán xử lý ảnh để đo lường kích thước, hình dạng của sản phẩm, từ đó phân loại chúng là đúng tiêu chuẩn hay sản phẩm lỗi.
- Tích hợp và tối ưu hóa hệ thống:Kết hợp hệ thống cơ khí, điều khiển, và xử lý ảnh vào một hệ thống tổng thể hoạt động ổn định.Tối ưu hóa hiệu suất hoạt động của hệ thống để đảm bảo tốc độ xử lý nhanh, độ chính xác cao, và độ tin cậy trong môi trường công nghiệp.
- Thử nghiệm và đánh giá:Thực hiện các thử nghiệm trên hệ thống thực tế để đánh giá hiệu quả của hệ thống cánh tay robot trong việc phân loại sản phẩm lỗi.Đưa ra các cải tiến nếu cần thiết để đảm bảo hệ thống hoạt động một cách ổn định và hiệu quả trong điều kiện làm việc thực tế.
Như vậy, mục tiêu cuối cùng của nghiên cứu là phát triển một hệ thống tự động hoàn chỉnh có khả năng phân loại sản phẩm lỗi một cách chính xác và hiệu quả, góp phần nâng cao năng suất và chất lượng sản xuất công nghiệp.
1.4. Phương pháp thực hiện
Phương pháp thực hiện bao gồm:
- Thiết kế cơ khí: Phát triển thiết kế chi tiết cho cánh tay robot và các thành phần cơ khí.
- Thiết kế hệ thống điều khiển: Lựa chọn và cấu hình các bộ điều khiển, động cơ và cảm biến.
- Xử lý ảnh: Phát triển các thuật toán xử lý ảnh sử dụng OpenCV để phân loại sản phẩm.
- Tích hợp hệ thống: Kết hợp các phần của hệ thống và kiểm tra tính chính xác và hiệu suất.
- Thiết kế hệ thống cơ khí: Đề tài tập trung vào việc thiết kế và chế tạo cánh tay robot 4 bậc tự do với các thành phần cơ khí như khung xương, khớp nối, động cơ servo, và các cơ cấu truyền động. Hệ thống cơ khí này phải đảm bảo độ chính xác trong các chuyển động để thực hiện nhiệm vụ phân loại sản phẩm.
- Thiết kế hệ thống điều khiển: Phạm vi đề tài bao gồm việc phát triển hệ thống điều khiển sử dụng vi điều khiển và các module phụ trợ để điều khiển cánh tay robot và băng chuyền. Đề tài sẽ lập trình các thuật toán điều khiển cần thiết cho robot và phối hợp giữa các thành phần trong hệ thống.
- Xây dựng hệ thống xử lý ảnh: Đề tài sẽ phát triển hệ thống xử lý ảnh sử dụng thư viện để nhận diện, đo lường và phân loại sản phẩm dựa trên kích thước và hình dạng của chúng. Các thuật toán xử lý ảnh bao gồm phát hiện biên cạnh, đo đạc kích thước và phân loại sản phẩm dựa trên các tiêu chí đã xác định.
- Thử nghiệm và đánh giá: Đề tài sẽ thực hiện các thử nghiệm thực tế với cánh tay robot để phân loại sản phẩm, từ đó đánh giá hiệu suất hoạt động của hệ thống và đưa ra các cải tiến cần thiết.
- Giới hạn về kích thước và loại sản phẩm:Hệ thống chỉ xử lý được các sản phẩm có kích thước và hình dạng nhất định. Hệ thống xử lý ảnh được thiết kế để phân loại sản phẩm dựa trên kích thước và hình dạng đơn giản (như hình chữ nhật, hình vuông), do đó có thể không phù hợp với các sản phẩm có hình dạng phức tạp hoặc có nhiều chi tiết nhỏ.
- Giới hạn về môi trường làm việc: Đề tài được thiết kế trong môi trường mô phỏng và thử nghiệm trong phòng thí nghiệm, có điều kiện ánh sáng và môi trường ổn định. Do đó, hiệu suất của hệ thống có thể bị ảnh hưởng nếu được triển khai trong môi trường sản xuất thực tế với nhiều yếu tố ngoại cảnh như ánh sáng thay đổi, bụi bẩn, và rung động.
- Giới hạn về khả năng xử lý ảnh: Hệ thống xử lý ảnh sử dụng các thuật toán cơ bản của và được lập trình. Do giới hạn về tài nguyên phần cứng, tốc độ xử lý và khả năng nhận diện phức tạp của hệ thống có thể bị hạn chế khi xử lý các hình ảnh có độ phân giải cao hoặc trong các bài toán phức tạp hơn.
- Giới hạn về độ chính xác: Mặc dù cánh tay robot được thiết kế để có độ chính xác cao trong phân loại sản phẩm, nhưng vẫn có những giới hạn về độ chính xác do sai số cơ khí, sai số từ động cơ và cảm biến, cũng như ảnh hưởng từ nhiễu tín hiệu trong quá trình điều khiển.
1.5. Phạm vi và giới hạn đề tài
1.5.1. Phạm vi của đề tài
1.5.2. Giới hạn của đề tài
Như vậy, phạm vi đề tài tập trung vào việc phát triển một hệ thống cánh tay robot 4 bậc tự do để phân loại sản phẩm lỗi sử dụng xử lý ảnh, với những giới hạn nhất định về kích thước sản phẩm, điều kiện môi trường, và khả năng xử lý ảnh.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾTVỀ CÁNH TAY ROBOT PHÂN LOẠI SẢN PHẨM LỖI SỬ DỤNG XỬ LÝ ẢNH.
2.1. Động học và động lực học tay máy robot
2.1.1. Động học
Các tham số động học DH ( Denavit Hartenberg ): Một Robot nhiều khâu cấu thành từ các khâu nối tiếp nhau thông qua các khớp động. Gốc chuẩn (Base) của một Robot là khâu số 0 và không tính vào số các khâu. Khâu 1 nối với khâu chuẩn bởi khớp 1 và không có khớp ở đầu mút của khâu cuối cùng. Bất kỳ khâu nào cũng được đặc trưng bởi hai kích thước:
- Độ dài pháp tuyến chung: an.
- Góc giữa các trục trong mặt phẳng vuông góc với αn.
- Thông thường, người ta gọi an là chiều dài và αn là góc xoắn của khâu. Phổ biến là hai khâu liên kết với nhau ở chính trục của khớp.
Mỗi trục sẽ có hai pháp tuyến với nó, mỗi pháp tuyến dùng cho mỗi khâu (trước và sau một khớp). Vị trí tương đối của hai khâu liên tiếp như thế được xác định bởi dn là khoảng cách giữa các pháp tuyến đo dọc theo trục khớp n và θn là góc giữa các pháp tuyến đo trong mặt phẳng vuông góc với trục. dn và θn thường được gọi là khoảng cách và góc giữa các khâu.
Hình 2.1Chiều dài và góc xoắn của một khâu
Hình 2.2 Các thông số của khâu: θ, d, a và α
Để mô tả mối quan hệ giữa các khâu ta gắn vào mỗi khâu một hệ tọa độ. Nguyên tắc chung để gắn hệ tọa độ lên các khâu như sau:
Gốc của hệ tọa độ gắn lên khâu thứ n đặt tại giao điểm của pháp tuyến an với khớp thứ n+1. Trường hợp hai trục khớp cắt nhau, gốc tọa độ sẽ đặt tại chính điểm cắt đó. Nếu các trục khớp song song với nhau, gốc tọa độ được chọn trên trục khớp của khâu kế tiếp, tại điểm thích hợp.
Trục z của hệ tọa độ gắn lên khâu thứ n đặt dọc theo trục khớp thứ n+1.
Trục x thường được đặt dọc theo pháp tuyến chung và hướng từ khớp n đến n+1.Trong trường hợp các trục khớp cắt nhau thì trục x chọn theo tích vectơ
Trường hợp khớp quay thì θn là các biến khớp, trong trường hợp khớp tịnh tiến thì dn là biến khớp và an bằng 0.
Các thông số an, αn, dn và θn được gọi là bộ thông số DH. Thiết lập các tham số động học Denavit – Hartenberg.
Bảng 1. 1 Bảng D-H
Trong đó
a: khoảng cách hai trục z
α: góc giữa hai trục z
d: khoảng cách hai trục x
ϴ: góc giữa hai trục x
Hình 2.3: Các hệ trục toạ độ của khâu
2.1.2. Động học thuận:
Ma trận tổng quát chuyển đổi từ hệ i sang hệ i+1
(2. 1 Động học thuận)
Công thức 1 Ma trận tổng quát
Ma trận tổng quát chuyển đổi từ hệ 0 sang hệ 1
Ma trận tổng quát chuyển đổi từ hệ 1 sang hệ 2
Ma trận tổng quát chuyển đổi từ hệ 2 sang hệ 3
Ma trận tổng quát chuyển đổi từ hệ 3 sang hệ 4
2.1.3. Động học nghịch:
Phương pháp đại số:
(2. 2) Động học nghịch
=
Tính
Đặt
Tính
Đặt:
Đặt
+
Tính
Ta có:
Thế s2 vào phương trình c2, ta được:
Tương tự ta có:
Tính
Đặt
Góc giới hạn:
CHƯƠNG 1:
2.2. Phương pháp điều khiển robot
2.2.1. Phương pháp dẫn động
Phương pháp dẫn động là các phương pháp truyền chuyển động từ nguồn động lực (như động cơ) đến các bộ phận khác của hệ thống máy móc. Mỗi phương pháp dẫn động có ưu điểm và nhược điểm riêng, phù hợp với các ứng dụng khác nhau. Dưới đây là các loại phương pháp dẫn động phổ biến:
2.2.2. Dẫn động bằng bánh răng (Gear Drive)
Phương pháp dẫn động bằng bánh răng sử dụng các bánh răng ăn khớp với nhau để truyền chuyển động và lực từ trục động cơ đến trục cần dẫn động.
- Bánh răng thẳng: Dùng để truyền chuyển động giữa hai trục song song. Thích hợp cho tốc độ trung bình và tải trung bình.
- Bánh răng nghiêng: Có khả năng truyền mượt hơn, ít tiếng ồn hơn bánh răng thẳng. Thường dùng cho các hệ thống yêu cầu tốc độ và tải cao hơn.
- Bánh răng côn: Dùng để truyền chuyển động giữa hai trục cắt nhau, thường ở góc 90 độ.
- Bánh răng trục vít (worm gear): Thích hợp cho việc truyền chuyển động với tỷ số truyền lớn và khả năng tự khóa.
Ưu điểm: Truyền động chính xác, hiệu suất cao, không bị trượt.
Nhược điểm: Tiếng ồn và rung động khi tốc độ cao, cần bôi trơn liên tục, kích thước lớn khi cần tỷ số truyền cao.
2.2.2.1. Dẫn động bằng đai (Belt Drive)
Phương pháp dẫn động bằng đai sử dụng dây đai (belt) để truyền chuyển động giữa các pulley (puli). Đai có thể là đai phẳng, đai chữ V, hoặc đai răng.
- Đai phẳng: Dùng để truyền tải nhẹ với khoảng cách xa giữa các trục.
- Đai chữ V: Thích hợp cho tải lớn và cần truyền lực mạnh, hiệu suất truyền tốt.
- Đai răng (Timing belt): Có các răng khớp với puli để tránh trượt, thích hợp cho các ứng dụng cần đồng bộ chính xác.
Ưu điểm: Giảm rung động, truyền động êm ái, bảo vệ động cơ khỏi quá tải bằng cáchtrượt.
Nhược điểm: Có thể bị trượt dẫn đến mất đồng bộ, hiệu suất thấp hơn bánh răng, tuổi thọ đai ngắn và cần bảo trì thường xuyên.
2.2.2.2. Dẫn động bằng xích (Chain Drive)
Dẫn động bằng xích sử dụng xích và đĩa xích để truyền chuyển động giữa các trục.
- Xích con lăn (Roller chain): Phổ biến nhất, dùng để truyền chuyển động với khoảng cách trung bình.
- Xích răng (Silent chain): Có các mắt xích dạng răng giúp giảm tiếng ồn và tăng hiệu suất truyền động.
Ưu điểm: Không bị trượt như dây đai, có thể truyền lực lớn với khoảng cách xa.
Nhược điểm: Gây tiếng ồn khi vận hành, yêu cầu bôi trơn thường xuyên, dễ bị mài mòn.
2.2.2.3. Dẫn động bằng trục vít và bánh vít (Worm and Wheel Drive)
Phương pháp này sử dụng trục vít và bánh vít để truyền chuyển động giữa hai trục cắt nhau, thường ở góc 90 độ.
Ưu điểm: Có khả năng tự khóa, thích hợp cho các hệ thống yêu cầu tỷ số truyền lớn.
Nhược điểm: Hiệu suất thấp do ma sát lớn, cần bôi trơn tốt, dễ bị mòn.
2.2.2.4. Dẫn động trực tiếp (Direct Drive)
Dẫn động trực tiếp là phương pháp truyền động trong đó trục động cơ được kết nối trực tiếp với tải mà không qua bất kỳ cơ cấu trung gian nào (bánh răng, đai, hoặc xích).
Ưu điểm: Hiệu suất cao, không có tổn hao cơ khí trung gian, bảo trì thấp, phản hồi nhanh.
Nhược điểm: Hạn chế về mô-men xoắn, chi phí cao, yêu cầu động cơ có kích thước lớn hơn.
2.2.2.5. Dẫn động bằng thanh răng và bánh răng (Rack and Pinion Drive)
Phương pháp này sử dụng bánh răng (pinion) và thanh răng (rack) để chuyển đổi chuyển động quay thành chuyển động tịnh tiến hoặc ngược lại.
Ưu điểm: Điều khiển chính xác chuyển động tịnh tiến, dễ dàng đạt tỷ số truyền lớn.
Nhược điểm: Yêu cầu bôi trơn và bảo trì để tránh mài mòn, không thích hợp cho tải nặng liên tục.
2.2.2.6. Dẫn động thủy lực (Hydraulic Drive)
Phương pháp dẫn động thủy lực sử dụng áp suất chất lỏng để truyền lực và chuyển động. Hệ thống thủy lực thường được sử dụng để điều khiển các cơ cấu nâng, xoay hoặc các chuyển động cần mô-men xoắn lớn.
Ưu điểm: Tạo ra lực lớn, điều khiển linh hoạt, có khả năng tạo ra chuyển động mềm mại.
Nhược điểm: Hệ thống cồng kềnh, yêu cầu bảo trì cao, dễ bị rò rỉ dầu.
2.2.2.7. Dẫn động khí nén (Pneumatic Drive)
Dẫn động khí nén sử dụng áp suất khí để tạo chuyển động. Phương pháp này thường được sử dụng trong các hệ thống cần chuyển động nhanh và an toàn, chẳng hạn như trong các dây chuyền sản xuất tự động.
Ưu điểm: Sạch sẽ, an toàn khi sử dụng trong môi trường cháy nổ, phản hồi nhanh.
Nhược điểm: Không phù hợp cho tải nặng, hiệu suất thấp hơn hệ thống thủy lực, khó điều khiển chính xác.
2.2.2.8. Dẫn động bằng nam châm (Magnetic Drive)
Dẫn động bằng nam châm sử dụng lực từ để truyền động mà không cần tiếp xúc vật lý giữa các bộ phận, thường dùng trong các ứng dụng yêu cầu bảo vệ kín hoặc không cho phép tiếp xúc trực tiếp.
Ưu điểm: Không có ma sát cơ học, không cần bảo trì, phù hợp cho các môi trường yêu cầu kín.
Nhược điểm: Công suất hạn chế, khó điều khiển chính xác khi tải thay đổi.
Việc lựa chọn phương pháp dẫn động phù hợp phụ thuộc vào nhiều yếu tố như loại tải, khoảng cách truyền, yêu cầu về hiệu suất, và điều kiện hoạt động. Các phương pháp như bánh răng, đai, xích được sử dụng phổ biến trong các ứng dụng công nghiệp truyền thống. Trong khi đó, dẫn động thủy lực, khí nén, và nam châm thường được sử dụng trong các hệ thống yêu cầu tính đặc thù cao. Việc nắm rõ ưu, nhược điểm của từng phương pháp giúp tối ưu hiệu quả sử dụng và đảm bảo an toàn cho hệ thống.
Nhóm em chọn động cơ Dẫn động trực tiếp (Direct Drive) bởi nó phù hợp với đề tài mà chúng em đang làm. Cụ thể là Động cơ Servo bởi các ưu nhược điểm của nó.
Ưu điểm:
- Chính xác cao:Động cơ servo có khả năng kiểm soát chính xác vị trí, tốc độ và mô-men xoắn nhờ vào bộ mã hóa phản hồi. Điều này rất quan trọng trong các ứng dụng yêu cầu độ chính xác cao, như máy CNC, robot công nghiệp, và các thiết bị tự động hóa.
- Phản hồi nhanh:Hệ thống servo có khả năng phản hồi nhanh với các thay đổi trong tín hiệu điều khiển. Điều này cho phép động cơ điều chỉnh chuyển động một cách linh hoạt và mượt mà.
- Điều khiển động lực học tốt:Động cơ servo có thể điều khiển mô-men xoắn và tốc độ một cách hiệu quả, giúp tối ưu hóa hiệu suất hoạt động của hệ thống.
- Độ bền cao:Nhờ vào cấu trúc và thiết kế, động cơ servo thường có tuổi thọ cao và yêu cầu bảo trì thấp hơn so với nhiều phương pháp dẫn động khác.
- Tính linh hoạt:Hệ thống servo có thể được lập trình để thực hiện nhiều loại chuyển động khác nhau, từ đơn giản đến phức tạp, đáp ứng nhiều ứng dụng khác nhau.
Nhược điểm:
- Chi phí cao:Động cơ servo và các bộ phận điều khiển thường có giá thành cao hơn so với các phương pháp dẫn động khác như động cơ DC hoặc động cơ bước. Điều này có thể là một yếu tố hạn chế trong việc áp dụng cho các dự án có ngân sách hạn chế.
- Phức tạp trong cài đặt và điều khiển:Hệ thống servo yêu cầu các bộ điều khiển và bộ mã hóa phức tạp, điều này đòi hỏi chuyên môn cao trong cài đặt và điều chỉnh. Việc lập trình và điều khiển cũng có thể phức tạp hơn so với các phương pháp dẫn động truyền thống.
- Yêu cầu bảo trì và điều chỉnh:Dù động cơ servo có độ bền cao, nhưng hệ thống phản hồi cần được kiểm tra và bảo trì định kỳ để đảm bảo hoạt động ổn định và chính xác. Điều này có thể làm tăng chi phí và thời gian cho việc bảo trì.
- Kích thước và trọng lượng:Một số hệ thống servo có thể lớn và nặng hơn so với các động cơ khác, điều này có thể ảnh hưởng đến thiết kế tổng thể của hệ thống hoặc thiết bị.
- Nhiệt độ và môi trường:Động cơ servo có thể nhạy cảm với nhiệt độ và môi trường hoạt động. Nếu không được kiểm soát, điều này có thể dẫn đến hiệu suất kém hoặc hỏng hóc.
2.2.3. Động cơ Servo
Khái niệm động cơ Servo: Động cơ Servo, hay servo motor, là một loại động cơ điện được sử dụng rộng rãi trong các ứng dụng yêu cầu độ chính xác và kiểm soát chuyển động cao. Động cơ servo thường được sử dụng để điều khiển vị trí, tốc độ và mô-men xoắn của các cơ cấu hoặc các hệ thống cơ khí.
Hình 2. 3Động cơ Servo
Cấu tạo: Động cơ servo là một thành phần trong hệ thống servo. Động cơ servo nhận tín hiệu từ bộ điều khiển và cung cấp lực chuyển động cần thiết cho các thiết bị máy móc khi vận hành với tốc độ và độ chính xác cực kỳ cao.
Động cơ servo được chia thành 2 loại: động cơ servo AC, động cơ servo DC. AC servo có thể xử lý các dòng điện cao hơn và có xu hướng được sử dụng trong máy móc công nghiệp. DC servo không được thiết kế cho các dòng điện cao và thường phù hợp hơn cho các ứng dụng nhỏ hơn.
Cấu tạo của động cơ AC servo bao gồm 3 phần: stator, rotor (thường là loại nam châm vĩnh cửu) và encoder.
- Stator bao gồm một cuộn dây được quấn quanh lõi, được cấp nguồn để cung cấp lực cần thiết làm quay rotor.
- Rotor được cấu tạo bởi nam châm vĩnh cửu có từ trường mạnh.
- Encoder được gắn sau đuôi động cơ để phản hồi chính xác tốc độ và vị trí của động cơ về bộ điều khiển.
Hình 2. 4Cấu tạo của động cơ Servo
Bộ điều khiển (Servo drive) có nhiệm vụ nhận tín hiệu lệnh điều khiển (xung/analog) từ PLC và truyền lệnh đến động cơ servo để điều khiển động cơ servo hoạt động theo lệnh, đồng thời nhận tín hiệu phản hồi liên tục về vị trí và tốc độ hiện tại của động cơ servo từ encoder.
Nguyên lý hoạt động: Về nguyên tắc, động cơ servo là một thiết bị độc lập. Tuy nhiên động cơ servo chỉ có ý nghĩa thực tiễn khi hoạt động trong hệ thống servo.
Chế độ hoạt động servo được hình thành bởi những hệ thống hồi tiếp vòng kín. Động cơ servo nhận một tín hiệu xung điện (PWM) từ bộ điều khiển để hoạt động và được kiểm soát bằng bộ mã hóa (encoder).
Khi động cơ vận hành thì vận tốc và vị trí sẽ được hồi tiếp về mạch điều khiển này thông qua bộ mã hóa (encoder). Khi đó bất kỳ lý do nào ngăn cản chuyển động và làm sai lệch tốc độ cũng như vị trí mong muốn, cơ cấu hồi tiếp sẽ phản hồi tín hiệu về bộ điều khiển. Từ tín hiệu phản hồi về, bộ điều khiển servo sẽ so sánh với tín hiệu lệnh và đưa ra điều chỉnh phù hợp, đảm bảo động cơ servo hoạt động đúng theo yêu cầu đạt được tốc độ và vị trí chính xác nhất.
2.2.4. Hệ thống điều khiển
2.2.4.1. Các loại driver điều khiển động cơ
Các loại driver điều khiển động cơ có vai trò quan trọng trong việc điều khiển và điều chỉnh tốc độ, vị trí, và hướng chuyển động của động cơ. Các driver này đảm bảo động cơ hoạt động ổn định và hiệu quả trong nhiều ứng dụng khác nhau như robot, băng tải, máy CNC, và các hệ thống tự động hóa. Dưới đây là các loại driver điều khiển động cơ phổ biến.
2.2.4.2. Driver điều khiển động cơ DC (DC Motor Driver)
Driver điều khiển động cơ DC được sử dụng để điều khiển các động cơ một chiều (DC). Các driver này thường dùng cầu H để thay đổi hướng và điều chỉnh tốc độ động cơ bằng cách sử dụng kỹ thuật điều chế độ rộng xung (PWM).
- L298N Driver: Một trong những driver phổ biến nhất để điều khiển động cơ DC công suất thấp. L298N hỗ trợ điều khiển hai động cơ với khả năng thay đổi hướng và tốc độ dễ dàng.
- L293D Driver: Tương tự như L298N, L293D là một driver cầu H hỗ trợ điều khiển hai động cơ DC. Nó thường được sử dụng cho các ứng dụng robot nhỏ.
- DRV8833/DRV8871: Các driver này có khả năng điều khiển động cơ DC công suất cao hơn và cung cấp bảo vệ quá dòng và quá nhiệt.
Ưu điểm: Đơn giản, dễ sử dụng, chi phí thấp.
Nhược điểm: Thường giới hạn công suất, không phù hợp với các động cơ yêu cầu độ chính xác cao.
2.2.4.3. Driver điều khiển động cơ bước (Stepper Motor Driver)
Driver điều khiển động cơ bước dùng để điều khiển động cơ bước (stepper motor), loại động cơ được sử dụng khi cần độ chính xác cao trong điều khiển vị trí.
- A4988 Driver: Được sử dụng rộng rãi cho các động cơ bước nhỏ, thường trong các ứng dụng máy in 3D và máy CNC nhỏ. Nó có thể điều chỉnh microstepping để tăng độ mượt khi di chuyển.
- DRV8825 Driver: Tương tự như A4988 nhưng có công suất lớn hơn và khả năng hoạt động ở điện áp cao hơn.
- TB6600/TB67S109 Driver: Thường được sử dụng với động cơ bước công suất lớn. TB6600 cung cấp khả năng điều chỉnh dòng điện, microstepping và phù hợp cho các máy CNC.
Ưu điểm: Điều khiển chính xác vị trí và tốc độ, hỗ trợ nhiều chế độ microstepping.
Nhược điểm: Kích thước lớn hơn, yêu cầu dòng điện và điện áp điều khiển cao, dễ gây hiện tượng rung động ở tốc độ thấp.
2.2.4.4. Driver điều khiển động cơ Servo (Servo Motor Driver)
Driver điều khiển động cơ servo được sử dụng để điều khiển các động cơ servo (servo motor), loại động cơ thường dùng trong các hệ thống yêu cầu điều khiển chính xác vị trí và tốc độ.
- PCA9685 Servo Driver: Là một module điều khiển động cơ servo bằng tín hiệu PWM. PCA9685 có thể điều khiển nhiều servo (lên đến 16 servo) cùng lúc, thường được sử dụng trong các dự án robot.
- AX, RX, và MX Series Servo Drivers (Robotis): Các driver này dùng để điều khiển các loại servo công nghệ cao như Dynamixel, thường dùng trong các ứng dụng robot công nghiệp và nghiên cứu.
Ưu điểm: Điều khiển chính xác vị trí và tốc độ, dễ dàng lập trình và điều khiển bằng PWM.
Nhược điểm: Giá thành cao hơn so với driver điều khiển động cơ DC và bước, phức tạp hơn khi lập trình.
2.2.3.3. Driver điều khiển động cơ BLDC (Brushless DC Motor Driver)
Driver điều khiển động cơ BLDC được sử dụng để điều khiển động cơ không chổi than (BLDC), loại động cơ có hiệu suất cao và tuổi thọ dài.
- ESC (Electronic Speed Controller): ESC là một loại driver được sử dụng để điều khiển động cơ BLDC, thường dùng trong máy bay không người lái (drone) và các ứng dụng mô hình RC. ESC điều khiển tốc độ của động cơ bằng PWM và có khả năng phản hồi tín hiệu từ cảm biến Hall để điều chỉnh tốc độ.
- DRV8305/DRV8313: Các driver này được sử dụng trong các ứng dụng điều khiển động cơ BLDC công suất cao, có khả năng bảo vệ quá dòng và quá nhiệt.
Ưu điểm: Hiệu suất cao, độ chính xác điều khiển tốt, phù hợp cho các ứng dụng yêu cầu tốc độ quay cao và mô-men lớn.
Nhược điểm: Giá thành cao, phức tạp hơn trong việc điều khiển, yêu cầu kỹ thuật điều khiển tinh vi hơn.
2.2.4.5. Driver điều khiển động cơ AC (AC Motor Driver)
Driver điều khiển động cơ AC (biến tần) được sử dụng để điều khiển động cơ xoay chiều, điều chỉnh tốc độ, hướng và tần số hoạt động.
- Biến tần VFD (Variable Frequency Drive): Biến tần VFD điều khiển tần số và điện áp cấp cho động cơ AC, từ đó điều chỉnh tốc độ và mô-men động cơ. Đây là giải pháp phổ biến trong các ứng dụng công nghiệp để tiết kiệm năng lượng và điều chỉnh quá trình sản xuất.
- Servo AC Driver: Được sử dụng để điều khiển các động cơ servo AC, thường trong các hệ thống cần độ chính xác cao về vị trí và tốc độ.
Ưu điểm: Khả năng điều chỉnh tốc độ động cơ AC linh hoạt, giúp tiết kiệm năng lượng, phù hợp với nhiều ứng dụng công nghiệp.
Nhược điểm: Chi phí đầu tư cao, yêu cầu chuyên môn để cài đặt và điều chỉnh tham số.
2.2.4.6. Driver điều khiển động cơ tuyến tính (Linear Motor Driver)
Driver điều khiển động cơ tuyến tính được sử dụng để điều khiển động cơ chuyển động tuyến tính, thường dùng trong các ứng dụng tự động hóa và sản xuất.
Linear Amplifier Driver: Các driver này cung cấp tín hiệu điều khiển chính xác để điều chỉnh vị trí của động cơ tuyến tính, thường dùng trong các hệ thống yêu cầu độ chính xác cao.
Ưu điểm: Điều khiển chính xác vị trí chuyển động tuyến tính, độ mượt và ổn định cao.
Nhược điểm: Chi phí cao, yêu cầu cấu hình phức tạp.
Việc lựa chọn loại driver điều khiển động cơ phụ thuộc vào loại động cơ, ứng dụng cụ thể, và yêu cầu về hiệu suất, độ chính xác, và chi phí. Driver điều khiển động cơ DC và bước thường được sử dụng trong các ứng dụng nhỏ và robot; driver điều khiển động cơ servo phù hợp với các hệ thống yêu cầu điều khiển chính xác cao; driver BLDC được sử dụng trong các ứng dụng đòi hỏi hiệu suất và tuổi thọ cao, trong khi biến tần điều khiển động cơ AC được sử dụng trong công nghiệp.
2.2.5. Lưa chọn module điều khiển động cơ
Động cơ servo có thể được điều khiển bằng nhiều phương pháp khác nhau, tùy thuộc vào loại servo và yêu cầu cụ thể của ứng dụng. Phương pháp phổ biến nhất là điều khiển bằng PWM (Pulse Width Modulation), trong đó một tín hiệu PWM được gửi đến servo với một chu kỳ cố định (thường là 2ms hoặc 50Hz). Độ rộng của xung PWM sẽ xác định vị trí của servo, với các xung thường nằm trong khoảng 1ms đến 2ms, tương ứng với các góc từ 0° đến 180°. Ngoài ra, một số servo đặc biệt còn0 cho phép điều khiển bằng tín hiệu analog, nơi mà việc thaưy đổi điện áp đầu vào sẽ thay đổi vị trí của servo, dù phương pháp này ít phổ biến hơn. Đối với các ứng dụng phức tạp hơn, như robot hoặc hệ thống tự động hóa công nghiệp, việc điều khiển servo thông qua giao tiếp serial (UART, I2C, hoặc SPI) hoặc qua các giao thức như CAN hay RS485 là lựa chọn phù hợp. Các servo này thường cho phép điều khiển vị trí, tốc độ và cung cấp phản hồi trạng thái. Một số hệ thống servo còn tích hợp encoder để cung cấp phản hồi vị trí cho bộ điều khiển, tạo thành vòng điều khiển kín (closed-loop control) giúp đạt độ chính xác cao hơn. Ngoài ra, một số servo hiện đại tích hợp vi điều khiển bên trong, cho phép lập trình các chuyển động phức tạp trực tiếp trên servo. Tóm lại, lựa chọn phương pháp điều khiển phụ thuộc vào yêu cầu về độ chính xác, tốc độ và tính phức tạp của ứng dụng. Vì thế người dùng có thể tùy chọn điều khiển theo mức 0 hoặc mức 1.
Hình 2. 5 Module PCA9685 điều khiển động cơ servo
Đặc điểm chính của PCA9685:
- 16 Kênh PWM: PCA9685 cung cấp 16 kênh PWM độc lập, giúp điều khiển đồng thời lên đến 16 thiết bị.
- Độ phân giải 12-bit: Độ phân giải PWM 12-bit cung cấp 4096 mức điều khiển độ rộng xung, cho phép điều khiển vị trí hoặc cường độ chính xác.
- Tần số PWM có thể điều chỉnh: Tần số PWM có thể được đặt từ 24 Hz đến 1526 Hz. Điều này rất hữu ích khi điều khiển các thiết bị khác nhau, như servo yêu cầu tần số 50 Hz.
- Giao tiếp I2C: PCA9685 giao tiếp với vi điều khiển thông qua giao thức I2C. Địa chỉ I2C mặc định là 0x40, nhưng có thể thay đổi để sử dụng tối đa 62 PCA9685 trên cùng một bus I2C.
Điện áp hoạt động linh hoạt:
- VCC (Logic): PCA9685 có thể hoạt động với điện áp logic từ 2.3V đến 5.5V, tương thích với hầu hết các vi điều khiển 3.3V và 5V.
- V+ (Nguồn Servo/LED): PCA9685 có một nguồn riêng cho các tải, cho phép điều khiển trực tiếp các servo hoặc LED mà không cần thông qua vi điều khiển.
Cách thức hoạt động:
- PCA9685 sử dụng một bộ tạo dao động nội bộ để tạo tín hiệu PWM mà không cần dựa vào vi điều khiển. Điều này giúp giảm tải xử lý trên vi điều khiển, đặc biệt khi cần điều khiển nhiều servo hoặc LED.
- Mỗi kênh PWM có hai thanh ghi để xác định thời điểm bắt đầu và kết thúc của xung PWM, cho phép điều khiển chính xác độ rộng xung cho từng kênh.
Kết nối phần cứng:
- Chân nguồn:
- VCC: Kết nối với nguồn cung cấp logic (2.3V - 5.5V).
- GND: Chân nối đất chung.
- V+: Kết nối với nguồn cấp cho các tải (tối đa 6V). Đây là nguồn cấp cho các thiết bị như servo hoặc LED.
- Chân I2C:
o SDA: Chân dữ liệu I2C, kết nối với chân SDA trên vi điều khiển.
o SCL: Chân xung I2C, kết nối với chân SCL trên vi điều khiển.
- Chân đầu ra PWM: PCA9685 có 16 chân đầu ra PWM (0 đến 15), mỗi chân được sử dụng để điều khiển một thiết bị.
Ứng dụng phổ biến:
- Điều khiển động cơ servo: PCA9685 thường được sử dụng để điều khiển nhiều động cơ servo trong các dự án robot, cánh tay robot, hoặc các hệ thống tự động hóa. Với khả năng điều khiển độc lập 16 kênh PWM, PCA9685 có thể điều chỉnh góc quay của 16 servo một cách chính xác.
- Điều khiển LED: Với khả năng điều chỉnh độ rộng xung PWM, PCA9685 có thể được sử dụng để điều khiển độ sáng của LED hoặc dải LED RGB.
- Điều khiển tải khác: PCA9685 có thể điều khiển bất kỳ tải nào yêu cầu điều khiển PWM, chẳng hạn như motor DC, đèn, hoặc các thiết bị điện tử khác.
Ưu điểm của PCA9685:
- Tiết kiệm chân GPIO: Với giao tiếp I2C, PCA9685 chỉ sử dụng 2 chân (SDA và SCL) trên vi điều khiển để điều khiển 16 kênh PWM.
- Độc lập với vi điều khiển: PCA9685 có bộ tạo dao động nội bộ, cho phép tạo tín hiệu PWM mà không cần tải vi điều khiển.
- Điều khiển chính xác: Độ phân giải 12-bit cho phép điều khiển chính xác vị trí và cường độ.
- Dễ dàng mở rộng: Có thể kết nối tối đa 62 PCA9685 trên cùng một bus I2C, cho phép điều khiển lên đến 992 kênh PWM.
Sử dụng với vi điều khiển: Thư viện hỗ trợ: PCA9685 được hỗ trợ bởi nhiều thư viện trên các nền tảng vi điều khiển phổ biến như Arduino, Raspberry Pi, và ESP32. Thư viện như Adafruit PWM Servo Driver giúp dễ dàng lập trình và điều khiển PCA9685.
Kết luận: Nhóm quyết định sử Module PWM PCA9685 để điều khiển động cơ bởi nó cấp xung ổn đinh và ưu điểm mà nó đem lại đồng thời phù hợp với đề tài của nhóm.
2.2.6. Hệ thống điều khiển
Hệ thống điều khiển là hệ thống quản lý và ra lệnh, chỉ dẫn các thiết bị hoặc hệ thống khác. Trong dự án này, hệ thống điều khiển có vai trò đặc biệt quan trọng giúp robot phục vụ vừa có thể di chuyển đến những nơi được chỉ định một cách chính xác vừa tạo được các hiệu ứng giao diện người dùng thân thiện.
Hình 2. 6 Vi điều khiển Arduino
Arduino Uno là một trong những vi điều khiển phổ biến nhất trong dòng sản phẩm Arduino. Nó được thiết kế để đơn giản hóa quá trình phát triển các dự án điện tử và nhúng, đặc biệt phù hợp cho các dự án học tập và prototyping. Dưới đây là các thông tin chi tiết về Arduino Uno:
Thông số kỹ thuật cơ bản
- Vi điều khiển: ATmega328P
- Tốc độ xung nhịp: 16 MHz
- Bộ nhớ Flash: 32 KB (trong đó 0.5 KB được sử dụng bởi bootloader)
- Bộ nhớ SRAM: 2 KB
- Bộ nhớ EEPROM: 1 KB
- Số lượng chân I/O: 14 chân số (digital), 6 chân analog (analog input)
- Số lượng chân PWM: 6 (dành cho điều khiển PWM)
Số lượng chân giao tiếp: + 1 chân UART (Serial Communication)
+ 1 chân I2C
+ 1 chân SPI
- Nguồn qua cổng USB: 5V
- Nguồn qua chân DC Jack: 7-12V
- Kích thước: 68.6 mm x 53.4 mm
- Tính năng và khả năng
- Lập trình dễ dàng: Arduino Uno được lập trình thông qua Arduino IDE, một môi trường lập trình đơn giản và dễ sử dụng.
- Thư viện hỗ trợ: Có sẵn nhiều thư viện cho các cảm biến, mô-đun và thiết bị ngoại vi khác, giúp dễ dàng tích hợp các tính năng.
- Giao tiếp USB: Có cổng USB để kết nối với máy tính, dùng để lập trình và giao tiếp dữ liệu.
- Giao tiếp Serial: Hỗ trợ giao tiếp serial qua cổng UART, cho phép kết nối với các thiết bị như cảm biến, máy in, hoặc mô-đun WiFi.
- Ứng dụng phổ biến
- Dự án học tập và giáo dục: Được sử dụng rộng rãi trong các khóa học và dự án học tập về điện tử và lập trình.
- Prototyping: Thích hợp cho việc phát triển các mẫu thử nghiệm và nguyên mẫu của các dự án điện tử.
- Thiết bị điều khiển cơ bản: Sử dụng để điều khiển đèn, động cơ, cảm biến, và các thiết bị điện tử khác trong các dự án DIY.
- IoT (Internet of Things): Khi kết hợp với các mô-đun như WiFi hoặc Bluetooth, Arduino Uno có thể được sử dụng trong các ứng dụng IoT cơ bản.
Kết luận: Sau những ưu điểm và nhược điểm được phân tích ở trên, nhóm quyết định sử vi điều khiển Arduino Uno bởi ưu điểm mà nó đem lại đồng thời phù hợp với đề tài của nhóm.
2.2.7. Hệ thống cảm biến
2.2.7.1. Cảm biến tiệm cận
Cảm biến tiệm cận là một loại cảm biến không tiếp xúc, được sử dụng để phát hiện sự hiện diện hoặc khoảng cách của vật thể mà không cần tiếp xúc vật lý. Có nhiều loại cảm biến tiệm cận khác nhau, bao gồm cảm biến tiệm cận điện từ, điện dung, hồng ngoại, và siêu âm. Cảm biến tiệm cận điện từ hoạt động dựa trên hiện tượng cảm ứng điện từ, chủ yếu dùng để phát hiện các vật thể kim loại. Cảm biến điện dung có khả năng phát hiện cả vật liệu kim loại và phi kim loại, dựa trên sự thay đổi điện dung khi có vật thể tiến gần. Cảm biến hồng ngoại sử dụng tia hồng ngoại để phát hiện vật thể thông qua việc phản xạ ánh sáng, trong khi cảm biến siêu âm phát ra sóng siêu âm và đo thời gian phản hồi của sóng này để xác định khoảng cách. Các cảm biến tiệm cận được ứng dụng rộng rãi trong công nghiệp tự động hóa, hệ thống an ninh, robot, và các thiết bị thông minh, giúp phát hiện vật thể, đo khoảng cách và kiểm soát quá trình hoạt động một cách hiệu quả và an toàn.
Cảm biến E18-D80NK là một loại cảm biến hồng ngoại không tiếp xúc, thường được sử dụng để phát hiện sự hiện diện hoặc khoảng cách của vật thể trong các ứng dụng tự động hóa và robot. Đây là một loại cảm biến giá rẻ, dễ sử dụng, với khoảng cách đo có thể điều chỉnh được.
Hình 2. 7 Cảm biến E18-D80NK
Đặc điểm kỹ thuật
- Điện áp hoạt động: 5V DC
- Dòng điện tiêu thụ: < 100mA
- Khoảng cách phát hiện: 3 cm - 80 cm (có thể điều chỉnh)
- Góc phát hiện: Tầm nhìn nhỏ (khoảng 10-15 độ)
- Ngõ ra: Ngõ ra kỹ thuật số (0 hoặc 1)
- Loại ngõ ra: PNP (thường mở)
- Đèn LED báo trạng thái: Có (bật sáng khi phát hiện vật)
- Nhiệt độ hoạt động: -25°C đến +55°C
Nguyên lý hoạt động: Cảm biến E18-D80NK hoạt động dựa trên nguyên lý hồng ngoại (IR). Nó phát ra một tia hồng ngoại từ bộ phát và đo thời gian phản xạ của tia này khi gặp vật thể. Khi có vật thể trong phạm vi phát hiện, tia hồng ngoại sẽ phản xạ lại và được bộ thu nhận, sau đó cảm biến sẽ thay đổi trạng thái ngõ ra.
Không phát hiện vật thể: Ngõ ra ở mức cao (thường là 5V). Phát hiện vật thể: Ngõ ra ở mức thấp (thường là 0V).
2.2.7.2. Camera ESP32
Camera ESP32 là một module camera tích hợp với vi điều khiển ESP32, có khả năng chụp và truyền hình ảnh qua WiFi. Camera ESP32 được sử dụng để thu thập hình ảnh của sản phẩm trên băng chuyền, sau đó gửi dữ liệu hình ảnh đến hệ thống xử lý ảnh để phân loại sản phẩm.
Camera ESP32 chụp ảnh và truyền dữ liệu hình ảnh qua giao thức WiFi hoặc Serial đến hệ thống xử lý ảnh. Dữ liệu hình ảnh được phân tích để xác định kích thước và hình dạng của sản phẩm.
Thông số kỹ thuật
- Conectividad: WiFi 802.11b / g / n + Bluetooth 4.2 với BLE. Hỗ trợ tải lên hình ảnh qua WiFi.
- Kết nối: UART, SPI, I2C, Và PWM. Nó có 9 chân GPIO.
- Tần số đồng hồ: lên đến 160Mhz.
- Sức mạnh tính toán của vi điều khiển: lên đến 600 DMIPS.
- Bộ nhớ: 520KB SRAM + 4MB PSRAM + khe cắm thẻ SD
- Extras: có nhiều chế độ nghỉ, có thể nâng cấp phần sụn bằng OTA và đèn LED để sử dụng bộ nhớ flash tích hợp.
- Máy ảnh: Hỗ trợ camera OV2640 có thể đi kèm hoặc mua độc lập. Các loại máy ảnh này có: 2 MP trên cảm biến của bạn, kích thước mảng UXGA 1622 × 1200 px. Định dạng đầu ra YUV422, YUV420, RGB565, RGB555 và nén dữ liệu 8-bit. Bạn có thể truyền hình ảnh từ 15 đến 60 FPS.
Như vậy, hệ thống cảm biến trong cánh tay robot 4 bậc tự do bao gồm cảm biến tiệm cận E18, camera ESP32, và các cảm biến đo kích thước. Các cảm biến này phối hợp để thu thập và xử lý dữ liệu, giúp hệ thống điều khiển thực hiện các nhiệm vụ phân loại sản phẩm lỗi một cách chính xác và hiệu quả.
Hình 2. 8 Sơ đồ chân cảm biến Esp32
2.2.8. Băng tải
2.2.8.1. Cấu tạo của băng tải
Băng tải bao gồm một số thành phần chính:
- Dây băng tải: Đây là phần di chuyển của hệ thống, có thể làm từ nhiều vật liệu khác nhau như cao su, PVC, vải, lưới thép, tùy thuộc vào loại hàng hóa cần vận chuyển.
- Khung băng tải: Thường làm từ thép, nhôm, hoặc inox, có chức năng nâng đỡ dây băng tải và các bộ phận khác.
- Rulo và con lăn: Được gắn ở hai đầu của băng tải, giúp dây băng tải di chuyển. Rulo có thể được kết nối với động cơ để truyền động.
- Bộ truyền động: Bao gồm động cơ và hộp giảm tốc, được sử dụng để tạo lực kéo cho dây băng tải, giúp nó di chuyển.
- Hệ thống điều khiển: Cho phép điều chỉnh tốc độ, hướng di chuyển và các chức năng khác của băng tải. Hệ thống này có thể bao gồm các cảm biến, công tắc, và bộ điều khiển lập trình (PLC).
2.2.8.2. Phân loại băng tải
Băng tải được phân loại dựa trên nhiều yếu tố, bao gồm vật liệu của dây băng, cấu trúc và phương thức hoạt động:
- Băng tải dây cao su: Phổ biến trong các ngành công nghiệp nặng như khai thác mỏ và xây dựng, thích hợp cho việc vận chuyển vật liệu nặng và cồng kềnh.
- Băng tải PVC/PU: Sử dụng trong ngành thực phẩm, dược phẩm, và các ngành cần độ sạch cao. Bề mặt của chúng dễ vệ sinh và chống bám bẩn.
- Băng tải xích: Thường dùng để vận chuyển các vật phẩm có trọng lượng lớn hoặc nhiệt độ cao, như các bộ phận kim loại trong sản xuất ô tô.
- Băng tải con lăn: Sử dụng con lăn để vận chuyển hàng hóa, thích hợp cho các sản phẩm có bề mặt đáy phẳng như hộp, thùng hàng.
- Băng tải nghiêng: Dùng để di chuyển sản phẩm lên hoặc xuống các tầng trong hệ thống, thường kết hợp với bề mặt có độ bám cao để giữ sản phẩm không trượt.
2.2.8.3. Động cơ giảm tốc JGB37-520
Động cơ giảm tốc JGB37-520 là một loại động cơ DC có tích hợp hộp giảm tốc, giúp tạo ra mô-men xoắn cao và tốc độ quay thấp, phù hợp với nhiều ứng dụng trong các hệ thống tự động hóa, robot, và băng tải. Dưới đây là những thông tin chi tiết về động cơ này:
2.2.8.4. Cấu tạo và đặc điểm
- Động cơ DC: Sử dụng động cơ DC mini làm nguồn truyền động chính, cung cấp năng lượng cơ học với dòng điện một chiều.
- Hộp giảm tốc: Tích hợp hộp giảm tốc dạng bánh răng để giảm tốc độ quay của động cơ và tăng mô-men xoắn. Hộp giảm tốc giúp điều chỉnh tốc độ quay đầu ra theo nhu cầu sử dụng, thường dao động từ vài chục đến vài trăm vòng/phút.
- Kích thước: Động cơ có kích thước nhỏ gọn, thường có đường kính thân khoảng 37mm, chiều dài tổng thể tùy thuộc vào tỷ số truyền của hộp giảm tốc.
- Trục ra: Trục đầu ra của động cơ thường có dạng hình trụ hoặc có khe phẳng để dễ dàng gắn kết với các bộ phận cơ khí khác như bánh răng, đai, hoặc bộ truyền động.
2.2.8.5. Thông số kỹ thuật cơ bản
Một số thông số kỹ thuật thường thấy của động cơ giảm tốc JGB37-520:
- Điện áp hoạt động: 6V - 12V DC, phổ biến nhất là 12V.
- Tốc độ không tải: Tùy thuộc vào tỷ số truyền của hộp giảm tốc, có thể nằm trong khoảng 10 - 1000 vòng/phút (RPM).
- Mô-men xoắn: Cao hơn nhiều so với động cơ DC thông thường do sự hỗ trợ của hộp giảm tốc, có thể đạt từ 1 kg.cm đến hơn 10 kg.cm.
- Dòng điện không tải: Khoảng 0.1 - 0.3A, tùy thuộc vào tải trọng và điều kiện hoạt động.
- Dòng điện tải: Có thể lên đến 1A hoặc hơn khi động cơ chịu tải trọng cao.
- Robot: Được sử dụng rộng rãi trong các robot di động, cánh tay robot, và các hệ thống tự động hóa khác nhờ vào kích thước nhỏ gọn, dễ điều khiển, và khả năng cung cấp mô-men xoắn cao.
- Băngtảimini: Sử dụng để truyền động cho băng tải trong các hệ thống nhỏ, giúp vận chuyển sản phẩm nhẹ như linh kiện điện tử, hàng hóa đóng gói nhỏ.
- Môhìnhvàđồchơi: Sử dụng trong các mô hình kỹ thuật, xe mô hình, và các đồ chơi điều khiển từ xa.
- Thiết bị điều khiển: Dùng trong các cơ cấu điều khiển như van, cánh cửa tự động, và hệ thống tự động hóa dân dụng.
- Mô-men xoắn cao: Do có hộp giảm tốc, JGB37-520 có khả năng cung cấp mô-men xoắn cao hơn so với động cơ DC thông thường cùng kích thước.
- Điều khiển dễ dàng: Có thể dễ dàng điều khiển tốc độ và hướng quay bằng cách thay đổi điện áp và cực tính cấp cho động cơ.
- Kích thước nhỏ gọn: Thiết kế nhỏ gọn giúp tích hợp dễ dàng vào các hệ thống có không gian hạn chế.
- Hiệu suất cao: Hộp giảm tốc được thiết kế để truyền lực hiệu quả, giảm thiểu tổn thất năng lượng.
2.2.8.6. Ứng dụng
2.2.8.7. Ưu điểm
Hình 2. 9 Động cơ giảm tốc
Khung băng tải là thành phần quan trọng trong hệ thống băng tải, đóng vai trò như một bộ xương giúp hỗ trợ và giữ các bộ phận khác như dây băng, con lăn, và động cơ ở đúng vị trí. Việc thiết kế và lựa chọn vật liệu cho khung băng tải ảnh hưởng trực tiếp đến hiệu suất, độ bền, và an toàn của hệ thống. Dưới đây là các yếu tố cần lưu ý khi thiết kế khung băng tải:
2.2.8.8. Vật liệu chế tạo khung
- Thép carbon: Đây là loại vật liệu phổ biến nhất cho khung băng tải vì độ bền cao và khả năng chịu tải tốt. Thép carbon thường được sơn hoặc mạ kẽm để chống ăn mòn, phù hợp với các môi trường công nghiệp thông thường.
- Inox (Thép không gỉ): Sử dụng trong các ngành đòi hỏi vệ sinh cao như thực phẩm, dược phẩm, và hóa chất. Inox có khả năng chống ăn mòn và dễ vệ sinh, tuy nhiên giá thành cao hơn so với thép carbon.
- Nhôm: Nhôm nhẹ hơn thép và dễ dàng gia công, thích hợp cho các băng tải nhỏ hoặc những ứng dụng yêu cầu di chuyển băng tải. Nhôm cũng có khả năng chống ăn mòn, nhưng chịu tải kém hơn so với thép.
- Vật liệu tổng hợp: Một số băng tải sử dụng khung từ vật liệu tổng hợp hoặc nhựa gia cố để giảm trọng lượng và chi phí, thích hợp cho các ứng dụng tải nhẹ.
- Cấu trúc khung: Khung băng tải thường được thiết kế dạng hình hộp hoặc chữ U, sử dụng các thanh thép hoặc nhôm để tạo thành bộ khung chắc chắn. Thiết kế cần đảm bảo độ ổn định và khả năng chịu lực của khung trong quá trình vận hành.
- Chân đế: Khung băng tải thường được gắn trên chân đế có thể điều chỉnh độ cao. Chân đế có thể được trang bị bánh xe để di chuyển băng tải khi cần thiết.
- Cố định và chống rung: Để đảm bảo hoạt động ổn định, khung băng tải phải được gắn cố định trên sàn hoặc giá đỡ. Việc sử dụng các đệm chống rung hoặc lắp đặt chân đế với khả năng hấp thụ chấn động giúp giảm rung động trong quá trình vận hành.
- Thiết kế mở: Đối với các hệ thống cần vệ sinh thường xuyên, như trong ngành thực phẩm, khung băng tải nên được thiết kế mở để dễ dàng tiếp cận và làm sạch.
- Chiều rộng và chiều dài: Kích thước khung băng tải được xác định dựa trên kích thước của vật liệu cần vận chuyển và không gian lắp đặt. Khung cần có chiều rộng lớn hơn vật liệu để đảm bảo an toàn và hiệu quả vận chuyển.
- Độ nghiêng: Đối với các băng tải nghiêng, khung cần được thiết kế với độ nghiêng phù hợp để đảm bảo vật liệu không trượt khỏi băng tải trong quá trình vận chuyển.
- Chiều cao: Khung băng tải cần có chiều cao phù hợp với quy trình sản xuất, đảm bảo thuận tiện cho việc vận hành, bảo trì và tương tác với các thiết bị khác.
- Điều chỉnh: Khung nên có khả năng điều chỉnh chiều cao và góc nghiêng để phù hợp với nhiều điều kiện vận chuyển khác nhau. Khung điều chỉnh giúp tối ưu hóa quá trình sản xuất và dễ dàng thay đổi khi cần.
- Mô-đun hóa: Thiết kế khung theo dạng mô-đun giúp dễ dàng lắp đặt, bảo trì, và thay đổi cấu hình của băng tải khi cần mở rộng hoặc tùy chỉnh.
2.2.8.9. Thiết kế khung
2.2.8.10. Kích thước và hình dạng
2.2.8.11. Tính linh hoạt
2.3. Các phương pháp xử lý ảnh nhận diện sản phẩm lỗi
Trong lĩnh vực công nghiệp, xử lý ảnh đóng vai trò quan trọng trong việc tự động hóa quá trình sản xuất, kiểm soát chất lượng và giám sát hệ thống. Các phương pháp xử lý ảnh giúp phân tích hình ảnh từ các hệ thống camera, từ đó đưa ra quyết định nhanh chóng và chính xác. Dưới đây là các phương pháp xử lý ảnh thường được áp dụng trong ngành công nghiệp.
2.3.1. Nhận diện đối tượng và kiểm tra chất lượng sản phẩm
Nhận diện đối tượng và kiểm tra chất lượng sản phẩm là một trong những ứng dụng phổ biến của xử lý ảnh trong công nghiệp, đặc biệt là trong các dây chuyền sản xuất tự động. Các phương pháp chính bao gồm:
- Phát hiện cạnh (Edge Detection): Sử dụng các thuật toán như Sobel, Canny để phát hiện các cạnh của sản phẩm, giúp kiểm tra xem có sai sót hay không, như méo mó hoặc thiếu chi tiết.
- Nhận diện hình dạng (Shape Detection): Dùng để nhận diện hình dạng của sản phẩm nhằm đảm bảo rằng chúng đáp ứng các tiêu chuẩn kỹ thuật. Các phương pháp như phát hiện đường t
- ròn (Hough Circle Transform) và phát hiện đường thẳng (Hough Line Transform) rất hữu ích để xác định các hình dạng cụ thể.
- So sánh mẫu (Template Matching): So sánh hình ảnh sản phẩm hiện tại với mẫu tiêu chuẩn đã biết để phát hiện sai lệch. Phương pháp này thường được sử dụng để kiểm tra sự chính xác của các chi tiết hoặc logo in trên sản phẩm.
2.3.2. Đo lường và kiểm tra kích thước
Đo lường kích thước của các sản phẩm là một công việc quan trọng để đảm bảo chúng phù hợp với các tiêu chuẩn sản xuất. Một số kỹ thuật đo lường bao gồm:
- Ngưỡng và phân đoạn (Thresholding and Segmentation): Sử dụng phân đoạn để tách sản phẩm khỏi nền và sau đó đo lường kích thước của nó. Phương pháp này đặc biệt hiệu quả cho việc đo lường các vật thể có hình dạng đơn giản.
- Phân tích hình thái học (Morphological Analysis): Các phép toán như giãn nở (dilation) và co hẹp (erosion) giúp xác định các đặc điểm hình thái của sản phẩm để đo lường kích thước chính xác và phát hiện các khuyết điểm nhỏ.
- Tính toán góc và đường kính: Dùng các thuật toán để đo các kích thước cụ thể như chiều dài, chiều rộng, và đường kính của các bộ phận, đảm bảo sản phẩm đạt tiêu chuẩn kỹ thuật.
2.3.3. Nhận diện ký tự quang học (Optical Character Recognition - OCR)
OCR được sử dụng rộng rãi trong công nghiệp để đọc và xác minh mã số sản phẩm, số lô, hạn sử dụng hoặc các thông tin in trên bao bì.
- Nhận diện ký tự bằng phương pháp học máy: Sử dụng các mô hình học máy để nhận diện và phân loại các ký tự. Các kỹ thuật như Support Vector Machine (SVM) hoặc mạng nơ-ron nhân tạo (ANN) có thể được áp dụng để trích xuất và nhận diện ký tự từ hình ảnh.
- Deep Learning cho OCR: Mô hình học sâu như Convolutional Neural Networks (CNN) được sử dụng để cải thiện độ chính xác và khả năng xử lý trong nhận diện ký tự phức tạp.
2.3.4. Phát hiện và phân loại lỗi sản phẩm
Phát hiện lỗi sản phẩm là yếu tố quan trọng trong quá trình kiểm tra chất lượng sản phẩm trước khi xuất xưởng.
- Phân đoạn dựa trên vùng (Region-based Segmentation): Kỹ thuật này giúp phân tách các vùng khác nhau của sản phẩm để phát hiện những khuyết điểm như trầy xước, vết nứt hoặc lỗi bề mặt.
- Phân tích kết cấu (Texture Analysis): Các phương pháp như GLCM (Gray-Level Co-occurrence Matrix) hoặc LBP (Local Binary Patterns) giúp phân tích và nhận diện các đặc tính kết cấu bề mặt, qua đó phát hiện các lỗi bề mặt khó nhận biết bằng mắt thường.
- Deep Learning để phát hiện lỗi: Mô hình học sâu như YOLO (You Only Look Once) và Faster R-CNN có khả năng phát hiện và phân loại lỗi một cách tự động và chính xác. Đây là các phương pháp tiên tiến, đặc biệt hiệu quả khi cần xử lý khối lượng lớn hình ảnh từ dây chuyền sản xuất.
2.3.5. Hệ thống robot tự động
Xử lý ảnh còn được sử dụng để điều khiển robot trong các dây chuyền sản xuất.
- Định vị đối tượng (Object Localization): Sử dụng xử lý ảnh để xác định vị trí của các bộ phận và đối tượng cần xử lý. Các kỹ thuật như phát hiện biên hoặc SIFT giúp xác định vị trí và hướng của đối tượng, từ đó robot có thể lấy hoặc lắp ráp một cách chính xác.
- Nhận diện màu sắc và phân loại sản phẩm: Các bộ lọc màu sắc và phương pháp phân đoạn dựa trên màu sắc giúp robot phân loại sản phẩm theo màu, ví dụ trong ngành sản xuất thực phẩm hoặc bao bì.
2.3.6. Theo dõi và giám sát
Xử lý ảnh còn được sử dụng để theo dõi và giám sát quá trình sản xuất nhằm đảm bảo an toàn và hiệu quả.
- Theo dõi chuyển động (Motion Tracking): Sử dụng các thuật toán như Optical Flow để theo dõi chuyển động của các vật thể trong dây chuyền sản xuất, giúp giám sát và tối ưu hóa quá trình sản xuất.
- Giám sát nhiệt độ (Thermal Imaging): Các hệ thống xử lý ảnh nhiệt giúp phát hiện các thiết bị quá nóng hoặc lỗi trong hệ thống, qua đó đảm bảo an toàn cho nhà máy và giảm thiểu hỏng hóc.
2.3.7. Lựa chọn phương pháp
Đề tài này, nhóm em nên ý tưởng làm về hình dạng, kích thước của viên gạch nên nhóm em đã chọn phương pháp Phân tích kết cấu (Texture Analysis)do phương pháp này có ưu điểm là:
- Đơn giản và dễ thực hiện: Các phương pháp như GLCM hay GLRM không yêu cầu nhiều tính toán phức tạp và dễ áp dụng.
- Hiệu quả với các kết cấu đơn giản: Đặc biệt phù hợp cho việc phân tích các kết cấu có đặc điểm dễ nhận diện, đồng nhất.
Nhược điểm:
- Nhạy cảm với nhiễu: Các phương pháp này thường nhạy cảm với nhiễu, có thể dẫn đến sai lệch khi dữ liệu hình ảnh có chất lượng thấp.
- Không thể phát hiện các kết cấu phức tạp: Hạn chế khi xử lý các kết cấu có tính biến đổi cao hoặc không đồng nhất.
2.3.7.1.Phương pháp thống kê (Statistical Methods)
Các phương pháp thống kê trong phân tích kết cấu tập trung vào việc trích xuất các đặc trưng từ sự phân bố giá trị cường độ của các pixel trong ảnh. Một số phương pháp phổ biến bao gồm:
- GLCM (Gray-Level Co-occurrence Matrix): GLCM là một trong những kỹ thuật phổ biến nhất trong phân tích kết cấu. Nó tạo ra một ma trận thể hiện tần suất xuất hiện của các cặp pixel có cùng giá trị xám ở một khoảng cách và hướng nhất định. Các đặc trưng như độ tương phản, độ đồng nhất, độ tương quan, và năng lượng có thể được tính toán từ GLCM để mô tả kết cấu.
- GLRM (Gray-Level Run-Length Matrix): Phương pháp này mô tả kết cấu bằng cách tính toán độ dài của các chuỗi liên tiếp các pixel có cùng giá trị. Các đặc trưng như độ dài chuỗi trung bình, tính đồng nhất của chuỗi, và số lượng chuỗi có thể được sử dụng để mô tả tính chất của kết cấu.
- Phương pháp thống kê bậc cao (Higher-Order Statistics): Các đặc trưng thống kê như phương sai, độ lệch chuẩn, và tính đối xứng có thể được sử dụng để phân tích các tính chất tổng quát của kết cấu.
2.3.7.2. Phương pháp dựa trên lọc (Filter-Based Methods)
Các phương pháp dựa trên lọc sử dụng các bộ lọc để phân tích kết cấu trong miền tần số hoặc miền không gian. Một số kỹ thuật phổ biến bao gồm:
- Biến đổi Gabor (Gabor Transform): Bộ lọc Gabor là một bộ lọc phổ tần được sử dụng để phân tích các mẫu kết cấu có hướng và tần số khác nhau. Nó rất hiệu quả trong việc phân tách các đặc trưng kết cấu liên quan đến hướng, giúp phân biệt các bề mặt có đặc điểm hướng khác nhau.
- Biến đổi Wavelet (Wavelet Transform): Biến đổi wavelet cung cấp khả năng phân tích kết cấu ở nhiều mức độ phân giải khác nhau, giúp xác định các đặc điểm kết cấu ở cả tần số thấp và cao. Wavelet có khả năng phân tích đồng thời cả miền thời gian và miền tần số, điều này đặc biệt hữu ích khi kết cấu có thay đổi cục bộ.
- Bộ lọc định hướng (Directional Filters): Các bộ lọc định hướng, chẳng hạn như Sobel hoặc Laplacian, có thể được sử dụng để phát hiện các đặc điểm kết cấu có hướng cụ thể. Những bộ lọc này thường được áp dụng trong các ứng dụng cần xác định độ nhám hoặc độ thô của bề mặt.
2.3.7.3. Phương pháp cấu trúc (Structural Methods)
Các phương pháp cấu trúc dựa vào việc mô tả kết cấu bằng cách xác định và phân tích cấu trúc hình học của các đối tượng trong ảnh. Những phương pháp này thường tập trung vào việc mô hình hóa kết cấu như một tập hợp các phần tử nguyên thủy (primitive elements) và cách chúng sắp xếp.
- Biểu đồ kết cấu (Texture Primitives): Phương pháp này tìm kiếm các hình dạng cơ bản, chẳng hạn như các điểm, đường thẳng, hoặc các hình dạng hình học đơn giản khác, để xây dựng một mô hình kết cấu. Sự sắp xếp của các phần tử này có thể giúp xác định kiểu kết cấu.
- Biểu diễn bằng mô hình Markov ngẫu nhiên (Markov Random Fields - MRF): MRF là một mô hình xác suất sử dụng để mô tả kết cấu bằng cách biểu diễn mối quan hệ không gian giữa các pixel. Nó rất hiệu quả trong việc xác định các đặc điểm kết cấu phức tạp, đặc biệt là trong các ứng dụng phân đoạn.
2.3.7.4. Phương pháp thống kê địa phương (Local Statistical Methods)
Phương pháp này tập trung vào việc phân tích kết cấu tại các vùng nhỏ của hình ảnh và tìm kiếm các mẫu cục bộ.
- LBP (Local Binary Patterns): LBP là một kỹ thuật phổ biến để biểu diễn kết cấu bằng cách so sánh giá trị của các pixel lân cận với giá trị của một pixel trung tâm. Nếu một pixel lân cận lớn hơn hoặc bằng giá trị của pixel trung tâm, nó được gán giá trị 1, ngược lại là 0. Kết quả là một chuỗi nhị phân đại diện cho mẫu kết cấu xung quanh pixel trung tâm. LBP rất hiệu quả để phân tích các mẫu kết cấu nhỏ và thường được sử dụng trong nhận diện khuôn mặt và phân loại kết cấu.
- LTP (Local Ternary Patterns): LTP là một phiên bản mở rộng của LBP, nơi các giá trị được phân thành ba nhóm thay vì hai, giúp nâng cao khả năng biểu diễn kết cấu và chống lại nhiễu.
2.3.7.5. Phân tích kết cấu bằng học sâu (Texture Analysis using Deep Learning)
Học sâu đã mang lại những tiến bộ vượt bậc trong phân tích kết cấu, đặc biệt là khả năng tự động học các đặc trưng phức tạp từ dữ liệu.
- Mạng nơ-ron tích chập (Convolutional Neural Networks - CNN): CNN có khả năng học các đặc trưng kết cấu từ hình ảnh mà không cần trích xuất thủ công. Các lớp tích chập trong CNN giúp phát hiện và trích xuất các đặc trưng kết cấu từ đơn giản đến phức tạp, giúp phân loại và nhận diện kết cấu với độ chính xác cao.
- Autoencoder: Autoencoder là một loại mạng nơ-ron học sâu có khả năng học cách mã hóa và tái tạo lại các đặc trưng của hình ảnh, bao gồm cả kết cấu. Autoencoder có thể được sử dụng để phát hiện các mẫu kết cấu hoặc các lỗi không tuân thủ kết cấu chuẩn.
2.3.7.6. Ứng dụng của phân tích kết cấu
Phân tích kết cấu được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau:
- Công nghiệp: Phân tích kết cấu được sử dụng để kiểm tra chất lượng bề mặt sản phẩm, phát hiện các lỗi nhỏ như vết nứt, trầy xước hoặc độ không đồng nhất của bề mặt.
- Y học: Trong hình ảnh y tế, phân tích kết cấu giúp phát hiện các mô bệnh lý như khối u hoặc các tổn thương, đặc biệt là trong các hình ảnh chụp CT hoặc MRI.
- Nông nghiệp: Phân tích kết cấu được sử dụng để đánh giá chất lượng của nông sản, chẳng hạn như độ nhẵn hoặc độ xù xì của vỏ trái cây, và phát hiện sâu bệnh.
- Địa lý và quan trắc từ xa: Phân tích kết cấu giúp phân loại địa hình, xác định các vùng đất hoặc rừng trên hình ảnh vệ tinh.
- Kích thước ảnh thường được xác định bởi chiều rộng và chiều cao của nó, thường được tính bằng pixel. Ví dụ, một ảnh có kích thước 640x480 có chiều rộng 640 pixel và chiều cao 480 pixel.
2.3.8. Tính toán xử lý ảnh
2.3.8.1. Kích thước ảnh
2.3.8.2. Tính Toán Diện Tích Ảnh
Diện tích của ảnh có thể tính đơn giản bằng công thức:
A=W×H
(2. 3) Tính Toán Diện Tích Ảnh
- A = Diện tích ảnh (số lượng pixel)
- WWW = Chiều rộng ảnh (pixel)
- HHH = Chiều cao ảnh (pixel)
- Kích thước thực tế của mỗi pixel có thể được xác định nếu biết kích thước vật lý của ảnh (chẳng hạn như mm hoặc inch) và kích thước của ảnh trong pixel.
2.3.8.3. Tính Toán Kích Thước Pixel
(2. 4) Tính Toán Kích Thước Pixel
2.3.8.4.Tính Toán Tỉ Lệ (Scale)
- Tỉ lệ giữa kích thước ảnh trong pixel và kích thước thực tế có thể ảnh hưởng đến phân tích kết cấu. Tỉ lệ có thể được tính bằng công thức:
(2. 5) Tỉ lệ giữa kích thước ảnh
2.3.8.5.Tính Toán Tính Chất Kết Cấu
- Các tham số như độ phân giải và tỷ lệ ảnh cũng cần được xem xét trong quá trình phân tích kết cấu:
- Độ phân giải (Resolution): Thường tính bằng pixel trên inch (PPI), có thể ảnh hưởng đến độ chi tiết của các đặc điểm kết cấu mà bạn muốn phân tích.
- Kích thước vùng phân tích: Khi phân tích kết cấu, có thể cần xác định kích thước vùng mà bạn muốn phân tích trong ảnh. Kích thước vùng này có thể được tính dựa trên tỷ lệ và kích thước thực tế của ảnh.
- Khi bạn đã tính toán các thông số kích thước và tỷ lệ, bạn có thể tiến hành phân tích kết cấu bằng cách sử dụng các phương pháp như:
- Ma Trận Co-occurrence: Tính toán ma trận này cho các vùng nhất định trong ảnh. Bạn có thể xác định kích thước vùng cần phân tích và số lượng pixel trong mỗi vùng.
- Biến Đổi Wavelet: Phân tích ảnh ở nhiều tỉ lệ khác nhau, giúp nhận diện các đặc điểm kết cấu ở các kích thước khác nhau.
- Ở bài này, chúng em đặt kích thước ban tiêu chuẩn làHình vuông có kích thước 50x50mm. Sau khi đo kích thước thực và kích thước pixel của ảnh thì chúng ta có thể tìm được tỉ lệ tiêu chuẩn của nó.
2.3.8.6. Phân Tích Kết Cấu
2.4. Công cụ phầm mềm xử lý ảnh
2.4.1. Giới thiệu về phần mềm xử lý ảnh
Phần mềm xử lý ảnh là công cụ hỗ trợ phân tích, chuyển đổi và chỉnh sửa hình ảnh kỹ thuật số. Các phần mềm này có thể được sử dụng trong các lĩnh vực từ nhiếp ảnh và đồ họa đến y tế, khoa học, và công nghiệp. Phần mềm xử lý ảnh có thể thực hiện nhiều chức năng khác nhau như chỉnh sửa hình ảnh, phát hiện vật thể, phân tích kết cấu, và nhận diện khuôn mặt. Một số phần mềm phổ biến trong lĩnh vực này bao gồm Adobe Photoshop, GIMP, MATLAB, và OpenCV.
2.4.2. Các ứng dụng của phần mềm xử lý ảnh
2.4.2.1. Chỉnh sửa và cải thiện hình ảnh
Các phần mềm như Adobe Photoshop và GIMP cho phép người dùng điều chỉnh độ sáng, độ tương phản, màu sắc, và loại bỏ các khuyết điểm của hình ảnh. Các tính năng này giúp cải thiện chất lượng hình ảnh và tạo ra những sản phẩm trực quan hấp dẫn. Đây là công cụ không thể thiếu cho các nhiếp ảnh gia, nhà thiết kế đồ họa và những người làm trong ngành quảng cáo.
2.4.2.2. Nhận diện khuôn mặt và phân tích đối tượng
Phần mềm xử lý ảnh được ứng dụng rộng rãi trong việc nhận diện khuôn mặt và các vật thể. Công nghệ này được sử dụng trong các hệ thống bảo mật, như nhận diện khuôn mặt cho việc mở khóa điện thoại di động hoặc kiểm soát truy cập. Ngoài ra, nó còn có ứng dụng trong việc phân tích video giám sát để phát hiện đối tượng hoặc hành vi bất thường.
2.4.2.3. Thị giác máy tính trong xe tự lái và robot
Phần mềm xử lý ảnh đóng vai trò quan trọng trong việc giúp robot và xe tự lái "nhìn thấy" môi trường xung quanh. Xe tự lái sử dụng công nghệ này để phát hiện và phân biệt các đối tượng như xe khác, người đi bộ, vạch kẻ đường và đèn giao thông, từ đó đưa ra quyết định phù hợp khi di chuyển.
2.4.2.4. Xử lý và phân tích hình ảnh y tế
Trong y tế, phần mềm xử lý ảnh được sử dụng để phân tích hình ảnh từ các thiết bị y tế như X-quang, MRI và CT. Điều này giúp bác sĩ xác định chính xác các bệnh lý hoặc bất thường trong cơ thể, hỗ trợ quá trình chẩn đoán và điều trị.
2.4.2.5. Thực tế tăng cường (AR) và thực tế ảo (VR)
Phần mềm xử lý ảnh được sử dụng trong các ứng dụng thực tế tăng cường và thực tế ảo, nơi các hình ảnh thực tế được kết hợp với các phần tử ảo. Điều này giúp cải thiện trải nghiệm người dùng trong game, giáo dục và quảng cáo, làm cho nội dung trở nên hấp dẫn và tương tác hơn.
2.4.2.6. Ưu điểm và nhược điểm của phần mềm xử lý ảnh
Ưu điểm
Cải thiện chất lượng hình ảnh: Phần mềm xử lý ảnh cho phép cải thiện chất lượng của hình ảnh, giúp hình ảnh trở nên sắc nét và rõ ràng hơn. Điều này rất quan trọng đối với các nhiếp ảnh gia và nhà thiết kế.
Tự động hóa và tăng hiệu suất: Các công cụ xử lý ảnh có thể tự động hóa nhiều tác vụ như phát hiện và nhận diện đối tượng, giúp tiết kiệm thời gian và công sức. Điều này đặc biệt hữu ích trong công nghiệp và y tế.
Hỗ trợ nghiên cứu và phát triển: Phần mềm xử lý ảnh cung cấp nhiều công cụ cho nghiên cứu khoa học và phát triển công nghệ, đặc biệt trong các lĩnh vực như học máy và trí tuệ nhân tạo.
Nhược điểm
Chi phí cao: Một số phần mềm xử lý ảnh chuyên nghiệp, như Adobe Photoshop, có chi phí sử dụng cao, điều này có thể là trở ngại đối với cá nhân hoặc các doanh nghiệp nhỏ.
Yêu cầu kiến thức chuyên môn: Việc sử dụng phần mềm xử lý ảnh đòi hỏi kiến thức cơ bản về kỹ thuật xử lý hình ảnh và lập trình. Điều này có thể gây khó khăn cho người mới bắt đầu hoặc những người không chuyên về công nghệ.
Hạn chế khi xử lý dữ liệu lớn: Một số phần mềm xử lý ảnh gặp khó khăn khi làm việc với dữ liệu hình ảnh lớn hoặc xử lý trong thời gian thực, dẫn đến tình trạng trễ hoặc yêu cầu phần cứng mạnh mẽ hơn.
2.4.3. OpenCV - Phần mềm xử lý ảnh ưu việt
Trong số các phần mềm xử lý ảnh, OpenCV (Open Source Computer Vision Library) là một trong những công cụ nổi bật và được sử dụng rộng rãi trong các ứng dụng liên quan đến thị giác máy tính. Dưới đây là một số lý do tại sao OpenCV là lựa chọn ưu việt:
Mã nguồn mở và miễn phí: OpenCV là thư viện mã nguồn mở, cho phép người dùng truy cập và tùy chỉnh theo nhu cầu riêng của họ. Điều này giúp tiết kiệm chi phí và phù hợp với các nhóm nghiên cứu và cá nhân muốn thử nghiệm các thuật toán xử lý ảnh mà không cần đầu tư lớn.
Hỗ trợ đa nền tảng: OpenCV có thể chạy trên nhiều hệ điều hành khác nhau như Windows, macOS và Linux, và hỗ trợ các ngôn ngữ lập trình phổ biến như Python, C++, và Java. Điều này làm cho OpenCV trở thành công cụ linh hoạt trong nhiều môi trường khác nhau.
Cộng đồng lớn và tài liệu phong phú: Với cộng đồng lớn mạnh và tích cực, người dùng OpenCV có thể dễ dàng tìm thấy tài liệu, hướng dẫn, và sự hỗ trợ khi cần. Điều này giúp người dùng nhanh chóng nắm bắt cách sử dụng thư viện và giải quyết các vấn đề gặp phải.
Khả năng tích hợp với các thư viện khác: OpenCV có thể tích hợp dễ dàng với các thư viện học máy khác như TensorFlow, PyTorch, và scikit-learn, giúp triển khai các mô hình học sâu để xử lý hình ảnh, từ đó tạo ra các ứng dụng tiên tiến hơn.
Phần mềm xử lý ảnh đóng vai trò quan trọng trong nhiều lĩnh vực như chỉnh sửa hình ảnh, nhận diện khuôn mặt, thị giác máy tính và y tế. Các công cụ như Adobe Photoshop, GIMP và MATLAB đều có ưu và nhược điểm riêng, nhưng OpenCV nổi bật với tính linh hoạt, mã nguồn mở và cộng đồng lớn mạnh. Với những ứng dụng đa dạng và khả năng tích hợp cao, OpenCV là lựa chọn lý tưởng cho các lập trình viên, nhà nghiên cứu và kỹ sư khi phát triển các ứng dụng liên quan đến xử lý và phân tích hình ảnh.
CHƯƠNG 3: TÍNH TOÁN, THIẾT KẾ CÁNH TAY ROBOT VÀ THIẾT BỊ XỬ LÝ ẢNH
3.1. Thiết kế hệ thống cơ khí
3.1.1. Yêu cầu của hệ thống robot 4 bậc tự do
- Hình dạng:
+ Robot có dạng cánh tay
+ Chiều rộng: 15 cm
+ Chiều dài: 30 cm
+ Chiều cao: 25 cm
+ Khối lượng: 3kg – 4kg
- Vật liệu:
+ Vật liệu làm khung robot phải nhẹ nhưng chịu được tải trọng, áp lực lớn
+ Khả năng chịu nhiệt độ00C – 1000C
- Năng lượng:
+ Nguồn sạc: 220V – 250V, 50Hz
- Động học:
+ Có khả năng tránh chướng ngại vật, di chuyển linh hoạt
+ Vận tốc trung bình: 0.5 m/s – 1 m/s
- Hiển thị:
+ Hiển thị thông tin trạng thái hoạt động của robot trên màn hình
- Phạm vi hoạt động:
+ Hoạt động trong môi trường bằng phẳng, khoảng không gian tương đối rộng
+ Hoạt động chủ yếu trong các khu công nghiệp, …
- Lắp ráp:
+ Thực hiện lắp ráp các bộ phận một cách dễ dàng, giảm thiểu sai số thấp nhất
Phương án thiết kế:
Robot 4 DOF RRRR là một trong những cánh tay robot linh hoạt nhất hiện nay, nó có 4 khớp quay. Để định vị và định hướng phôi chính xác, cánh tay robot 4 bậc tự do, trong đó 4 bậc dùng để định hướng
Với mục tiêu là triển khai loại robot 6 bậc tự do sao cho việc chế tạo không quá khó khăn, phức tạp và giá thành hợp lý, trong phạm vi đồ án tốt nghiệp.
3.1.2. Thiết kế cánh tay robot
Robot gồm 4 khớp quay được mô phỏng theo thiết kế sử dụng bộ truyền trực tiếp và đai răng nhiều cấp làm tăng tỷ số truyền từ động cơ servo để có thể đáp ứng được các yêu cầu khi gắp vật.
Hình 3. 1Robot được thiết kế trên SolidWorks
3.1.3. Tính toán momen và lựa chọn động cơ
Việc lựa chọn động cơ thích hợp cho robot 4 bậc tự do ta cần xem xét liên quan đến khối lượng và kích thước của cánh tay robot. Ta có khối lượng từ các khớp phải chịu là:
M1= 118.74g
M2= 85.05g
M3= 80.49g
M4= 83.46g
M5= 48.67g
+ Tính Toán Mômen Lực Cánh Tay Robot 4 Bậc Tự Do
Công thức 2 Tính Toán Mômen Lực Cánh Tay Robot 4 Bậc Tự Do
+ Tính Trọng Lượng Mỗi Khâu (Wi)
Trọng lượng của mỗi khâu được tính bằng công thức:
W i = Mi × g
(3. 1)Trọng lượng của mỗi khâu
- Khâu 1: W1 = 0.11874 × 9.81 = 1.165 N
- Khâu 2: W2 = 0.08505 × 9.81 = 0.834 N
- Khâu 3: W3 = 0.08049 × 9.81 = 0.790 N
- Khâu 4: W4 = 0.08346 × 9.81 = 0.819 N
Xác Định Khoảng Cách Đến Tâm Khối Lượng (d_i)
Tâm khối lượng của mỗi khâu được giả định nằm ở giữa chiều dài của nó:
- Khâu 1: d1 = 1.5 cm = 0.015 m
- Khâu 2: d2 = 6 cm = 0.06 m
- Khâu 3: d3 = 6 cm = 0.06 m
- Khâu 4: d4 = 5 cm = 0.05 m
Tính Mômen Lực Cho Từng Khớp
Mômen tại khớp 1 (τ1)
τ1 = W1 × d1 + W2 × (L1 + d2) + W3 × (L1 + L2 + d3) + W4 × (L1 + L2 + L3 + d4)
(3. 2) Mômen tại khớp 1 (τ1)
Thay thế các giá trị vào:
τ1 = 1.165 × 0.015 + 0.834 × (0.03 + 0.06) + 0.790 × (0.03 + 0.12 + 0.06) + 0.819 × (0.03 + 0.12 + 0.12 + 0.05)
τ1 = 0.520 Nm
Mômen tại khớp 2 (τ2)
τ2 = W2 × d_2 + W3 × (L2 + d3) + W4 × (L2 + L3 + d4)
(3. 3) Mômen tại khớp 2 (τ2)
Thay thế các giá trị vào:
τ2 = 0.834 × 0.06 + 0.790 × (0.12 + 0.06) + 0.819 × (0.12 + 0.12 + 0.05)
τ2 = 0.429 Nm
Mômen tại khớp 3 (τ3)
τ3 = W3 × d3 + W4 × (L3 + d4)
(3. 4) Mômen tại khớp 3 (τ3)
Thay thế các giá trị vào:
τ3 = 0.790 × 0.06 + 0.819 × (0.12 + 0.05)
τ3 = 0.186 Nm
Mômen tại khớp 4 (τ4)
τ4 = W4 × d4
(3. 5) Mômen tại khớp 4 (τ4)
Thay thế các giá trị vào:
τ4 = 0.819 × 0.05 = 0.041 Nm
Mômen lực tại các khớp của cánh tay robot được tính như sau:
- Mômen tại khớp 1 (τ1): 0.520 Nm
- Mômen tại khớp 2 (τ2): 0.430 Nm
- Mômen tại khớp 3 (τ3): 0.186 Nm
- Mômen tại khớp 4 (τ4): 0.041 Nm
Việc tính toán này giúp xác định các yêu cầu mômen cho động cơ tại từng khớp, từ đó lựa chọn động cơ phù hợp cho thiết kế cánh tay robot. Động cơ được lựa chọn phải thỏa mãn điều kiện nâng được khối lượng của phôi và các khớp. Dựa theo điều kiện ta chọn được các động cơ theo các khớp:
Bảng 3. 1Lựa chọn động cơ
K |
Hình ảnh |
Thông số kỹ thuật |
Thông số kích thước |
1 |
Tải max: 11,2 kg Điện áp: 4.8V - 6.0V Độ chính xác:±0,1° Dòng tiêu thụ: 10 - 2000mA . Góc quay: 180° (90° mỗi bên) |
Kích thước tổng thể: Chiều dài:40,7mm Rộng: 19.7 mm Cao: 42 Trọng lượng: 55g |
|
2 |
Tải max: 11,2 kg Điện áp: 4.8V - 6.0V Độ chính xác:±0,1° Dòng tiêu thụ: 10 - 2000mA . Góc quay: 180° (90° mỗi bên) |
Kích thước tổng thể: Chiều dài:40,7mm Rộng: 19.7 mm Cao: 42 Trọng lượng: 55g |
|
3 |
Tải max: 11,2 kg Điện áp: 4.8V - 6.0V Độ chính xác:±0,1° Dòng tiêu thụ: 10 - 2000mA . Góc quay: 180° (90° mỗi bên) |
Kích thước tổng thể: Chiều dài:40,7mm Rộng: 19.7 mm Cao: 42 Trọng lượng: 55g |
|
4 |
Tải max: 5 kg Điện áp hoạt động: 4.8V - 6.0V Độ chính xác: ±0.1° Dòng tiêu thụ: 10 - 1000mA .
|
Kích thước tổng thể: Dài: 22.8 mm Rộng: 12.2 mm Cao: 24.5 mm Trọng lượng: Khoảng 13.5 g |