1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp: Ứng dụng công nghệ nâng cấp từ xa và trí tuệ nhân tạo cho robot delta phân loại rác

93 10 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng dụng công nghệ nâng cấp từ xa và trí tuệ nhân tạo cho robot Delta phân loại rác
Tác giả Bùi Gia Phát, Lê Nguyễn Khánh Lâm
Người hướng dẫn TS. Trần Đức Thiện
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 93
Dung lượng 10,6 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN ĐỀ TÀI (20)
    • 1.1 Đặt vấn đề (20)
    • 1.2 Tình hình nghiên cứu (21)
      • 1.2.1 Tình hình nghiên cứu ngoài nước (21)
      • 1.2.2 Tình hình nghiên cứu trong nước (22)
    • 1.3 Mục tiêu đề tài (23)
    • 1.4 Giới hạn đề tài (23)
    • 1.5 Phương pháp nghiên cứu (23)
    • 1.6 Nội dung đề tài (24)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (24)
    • 2.1 Động học robot Delta (25)
      • 2.1.1 Cấu tạo robot Delta (25)
      • 2.1.2 Động học thuận (26)
      • 2.1.3 Động học nghịch (29)
      • 2.1.4 Không gian làm việc (33)
    • 2.2 Tổng quan về xử lý ảnh số (33)
      • 2.2.1 Hình ảnh (34)
      • 2.2.2 Điểm ảnh (34)
      • 2.2.4 Quá trình xử lý hình ảnh (35)
    • 2.3 Tổng quan về mô hình YOLOv8 (36)
      • 2.3.1 Giới thiệu về YOLO (36)
      • 2.3.2 Các phiên bản trước YOLOv8 (37)
      • 2.3.3 Mô hình YOLOv8 (40)
      • 2.3.4 So sánh YOLOv8 với các phiên bản trước (43)
      • 2.3.5 Phương pháp đánh giá mô hình phát hiện đối tượng (44)
  • CHƯƠNG 3. TỔNG QUAN VỀ NÂNG CẤP TỪ XA (24)
    • 3.1 Giới thiệu về phương pháp nâng cấp từ xa (47)
    • 3.2 Triển khai phương án cập nhật từ xa (48)
    • 3.3 Dịch vụ mạng ảo (48)
    • 3.4 Thiết kế chương trình cho người nâng cấp từ xa (49)
      • 3.4.1 Truyền file cho thiết bị nhúng (49)
      • 3.4.2 Giao diện cơ bản nâng cấp từ xa (50)
    • 3.5 Thiết kế chương trình cho thiết bị nhúng (50)
      • 3.5.1 Chương trình khởi động (51)
      • 3.5.2 Chương trình cập nhật từ xa (52)
  • CHƯƠNG 4. THIẾT KẾ HỆ THỐNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN (24)
    • 4.1 Tổng quan về hệ thống (55)
    • 4.2 Các thiết bị trong hệ thống (56)
      • 4.2.1 Thiết bị điện (56)
      • 4.2.2 Thiết bị khí nén (59)
      • 4.2.3 Thiết bị nhúng (60)
      • 4.2.4 Thiết bị cảm biến (62)
      • 4.2.5 Sơ đồ nối dây hệ thống (63)
    • 4.3 Chương trình điều khiển (64)
      • 4.3.1 Lưu đồ giải thuật (64)
      • 4.3.2 Giao diện điều khiển và giám sát (64)
  • CHƯƠNG 5. HUẤN LUYỆN MÔ HÌNH VÀ XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG (24)
    • 5.1 Quy trình huấn luyện mô hình YOLO (68)
      • 5.1.2 Cấu hình và huấn luyện mô hình (73)
      • 5.1.3 Đánh giá mô hình huấn luyện (74)
    • 5.2 Tính toán và xác định vị trí đối tượng (76)
      • 5.2.1 Ma trận ngoại (Extrinsic matrix) (76)
      • 5.2.2 Ma trận nội (Intrinsic matrix) (77)
      • 5.2.3 Ma trận chuyển đổi hệ tọa độ ảnh sang hệ tọa thế giới (78)
  • CHƯƠNG 6. THỰC NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG (24)
    • 6.1 Thực nghiệm hệ thống nâng cấp từ xa (79)
      • 6.1.1 Kết nối với hệ thống mạng VPN (79)
      • 6.1.2 Đánh giá hiệu quả chiếm dụng tài nguyên (84)
      • 6.1.3 Đánh giá thời gian cập nhật chương trình (85)
      • 6.1.4 Đánh giá kết quả về độ tin cậy, tỉ lệ cập nhật thành công (87)
      • 6.1.5 Đánh giá thời gian khởi động của hệ thống (87)
    • 6.2 Kiểm chứng YOLO (87)
    • 6.3 Kết quả phân loại sản phẩm (89)
  • CHƯƠNG 7. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI (24)
    • 7.1 Kết luận (90)
    • 7.2 Hạn chế của đề tài (90)
    • 7.3 Hướng phát triển (90)
  • TÀI LIỆU THAM KHẢO (91)
  • PHỤ LỤC (92)

Nội dung

Trần Đức Thiện Sinh viên thực hiện: ĐỀ TÀI: ỨNG DỤNG CÔNG NGHỆ NÂNG CẤP TỪ XA VÀ TRÍ TUỆ NHÂN TẠO CHO ROBOT DELTA PHÂN LOẠI RÁC Ngành: Công nghệ Kỹ thuật Điều khiển và Tự động hóa... L

CƠ SỞ LÝ THUYẾT

Động học robot Delta

Hình 2.1 Cấu tạo của robot Delta

Cấu tạo của Robot Delta bao gồm:

- Đế cố định A và đế di động B được kết nối với nhau bởi 3 chuỗi động học giống nhau Mỗi chuỗi động học có 2 khâu liên tiếp

- Ba khâu chủ động F1J1, F2J2, F3J3 liên kết với đế cố định A bằng các khớp quay và được dẫn động bởi 3 động cơ, các động cơ này được gắn chắc chắn với đế cố định A

- Ba khâu bị động J1E1, J2E2, J3E3 mỗi khâu là một cấu trúc hình bình hành Phía trên khâu được kết nối với khâu chủ động, phía dưới khâu được kết nối với đế di động B

Trước khi tính toán động học ta sẽ ký hiệu các kích thước và đặt hệ tọa độ góc cho Robot Delta như hình 2.2 sau:

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Hình 2.2 Đặt hệ tọa độ cho robot

Mục đích của bài toán động học thuận là xác định vị trí của khâu tác động cuối của robot khi biết các biến khớp của robot Từ các góc    1 , 2 , 3 đã biết ta sẽ đi tìm tọa độ của điểm E x y z 0 ( ; 0 0 ; ) 0 là trọng tâm của tam giác đế di động

Hình 2.3 Tọa độ của điểm E trên đế di động 0

Ta di chuyển lần lượt các điểm J J J 1 , 2 , 3 đến các điểm J J J 1 ' , 2 ' , 3 ' thông qua các vector tịnh tiến E E E E E E 1 0 , 2 0 , 3 0 tương ứng Sau quá trình chuyển đổi này ta sẽ thu được các hình cầu có tâm là J J J 1 ' , 2 ' , 3 ' cùng bán kính r e giao nhau tại điểm E 0 như Hình 2.4

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Hình 2.4 Giao điểm E của 3 hình cầu 0

Vì vậy, để tìm tọa độ ( ;x y z 0 0 ; ) 0 của điểm E 0 , ta cần giải hệ phương trình giao điểm của ba hình cầu ( x − x i ) 2 +( y − y j ) 2 + −( z z i ) 2 = r e 2 , với ( ; ; )x y z i i i là tọa độ của điểm J i ' được xác định như Hình 2.5

Hình 2.5 Các điểm J J J 1 ' , 2 ' , 3 ' trên mặt phẳng Oxy

Ta thu được các kết quả sau:

2 cos 2 cos30 ; cos 2 sin 30 ; sin 2

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

3 cos 3 cos30 ; cos 3 sin 30 ; sin 3

Tọa độ của điểm E 0 là nghiệm của hệ phương trình (2.4)

(2.4) Đặt w i =x i 2 + y i 2 +z i 2 , từ (2.4) ta thu được:

Giải hệ phương trình (2.5) theo biến z ta được:

Thay (2.6) vào phương trình thứ nhất của (2.4) ta thu được phương trình bậc 2 ẩn z:

Do mô hình Robot Delta có khâu cuối luôn ở vị trí âm của trục z nên ta lấy nghiệm

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1.3 Động học nghịch Ở bài toán động học nghịch ta sẽ biết tọa độ điểm E x y z 0 ( ; 0 0 ; ) 0 khâu cuối của robot để xác định các góc    1 , 2 , 3 được tạo bởi các khâu trên và mặt phẳng của đế cố định

Bởi vì thiết kế của robot nên khâu F J 1 1 chỉ có thể xoay trong mặt phẳng YZ, tạo thành đường tròn có tâm là điểm F 1 và bán kính r f Đồng thời khâu J E 1 1 có thể xoay tự do tạo thành hình cầu có tâm E 1 và bán kính r e Gọi E 1 ' là hình chiếu của điểm J 1 lên mặt phẳng chứa đế di động Giao điểm của đường tròn và hình cầu này là giao điểm của 2 đường tròn tâm F 1 , bán kính r f và tâm E 1 ' , bán kính E J 1 ' 1

Hình 2.6 Khâu F J chuyển động trong mặt phằng YZ 1 1

Xét mặt phẳng YZ như Hình 2.7:

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Xét tam giác đế di động, ta tìm được:

Xét tam giác đế cố định, ta tìm được:

Tọa độ điểm J 1 là nghiệm hệ phương trình giao điểm của 2 đường tròn sau:

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Thay (2.20) và (2.23) vào (2.24) ta được:

Từ (2.25) lấy phương trình thứ nhất trừ phương trình thứ hai ta thu được:

Từ (2.26) biến đổi ta được:

Thay (2.29) vào phương trình đầu của (2.25) ta được:

Vì điểm J 1 luôn ở vị trí âm của trục y nên ta chọn nghiệm:

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Từ (2.34) và (2.33) ta xác định được điểm J 1 (0; y J 1; z J 1 )

Do khâu F J 1 1 chỉ di chuyển trong mặt phẳng YZ, do đó chúng ta có thể bỏ qua tọa độ của trục X để tính toán tọa độ các trục còn lại Tận dụng tính chất này cho việc tính toán các góc còn lại   2 , 3 chúng ta có thể sử dụng tính chất đối xứng của Robot Delta Để xác định góc  2 , ta xoay hệ tọa độ quanh trục Z một góc 120 0 theo hướng ngược chiều kim đồng hồ như hình dưới đây, ta sẽ có khung tham chiếu mới X Y Z ' ' '

Hình 2.8 Chuyển đổi hệ tọa độ cho robot Delta

Với khung tham chiếu này chúng ta có thể tìm góc  2 bằng cách sử dụng cùng một thuật toán mà ta sử dụng để tìm góc  1 Sự thay đổi duy nhất là xác định tọa độ của điểm E 0 trong hệ tọa độ mới này Ta dễ xác định bằng cách nhân ma trận xoay chuyển hệ tọa độ với ma trận của vị trí của điểm E 0 trong hệ tọa độ ban đầu

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Cuối cùng ta tìm góc  3 tương tự như  2 bằng cách xoay hệ trục tọa độ ban đầu theo hướng cùng chiều kim đồng hồ

Không gian làm việc của Robot Delta là tập hợp các điểm trong không gian mà cơ cấu chấp hành của robot có thể đạt được dựa trên các sự thay đổi của các khớp Không gian làm việc phụ thuộc vào kết cấu của khớp trên và khớp hình bình hành của Robot Bên cạnh đó không gian làm việc cũng phụ thuộc vào miền giá trị của các biến khớp Biết được vùng làm việc của Robot giúp nhóm dễ dàng và thuận tiện trong việc điều khiển và phân loại

Bằng cách sử dụng ngôn ngữ Python để lập trình và kết quả của bài toán động học thuận, ta cho các điểm tọa độ của cơ cấu cuối chạy trong không gian theo các góc

   đã giới hạn, ta tìm được không gian làm việc của robot Do kết cấu cơ khí của Robot Delta nên ta sẽ giới hạn các góc    1 , 2 , 3 như sau:

Hình 2.9 Không gian làm việc của robot

Tổng quan về xử lý ảnh số

Xử lý hình ảnh kỹ thuật số là việc sử dụng các thuật toán và mô hình toán học để xử lý và phân tích hình ảnh kỹ thuật số Mục tiêu của xử lý hình ảnh kỹ thuật số là nâng cao chất lượng hình ảnh, trích xuất thông tin có ý nghĩa từ hình ảnh và tự động hóa các

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Một hình ảnh được định nghĩa là một hàm hai chiều, F(x,y) , trong đó x và y là tọa độ không gian và biên độ của F tại bất kỳ cặp tọa độ nào (x,y) được gọi là cường độ của hình ảnh đó tại đó điểm Khi các giá trị x, y và biên độ của F là hữu hạn, chúng ta gọi nó là ảnh kỹ thuật số

Hình 2.10 Hình ảnh dưới dạng ma trận

Hình ảnh kỹ thuật số bao gồm một số phần tử hữu hạn, mỗi phần tử có một giá trị cụ thể tại một vị trí cụ thể Các phần tử này được gọi là phần tử hình ảnh và pixel Pixel được sử dụng rộng rãi nhất để biểu thị các phần tử của một hình ảnh kỹ thuật số

1 Ảnh nhị phân (binary image): chỉ chứa hai phần tử pixel, tức là 0 và 1, trong đó 0 tượng trưng cho màu đen và 1 tượng trưng cho màu trắng

2 Ảnh định dạng màu 8 bit (8 bit color format): chứa 256 sắc thái màu khác nhau và thường được gọi là ảnh mức xám Ở định dạng này, 0 đại diện cho màu đen, 255 đại diện cho màu trắng và 127 là của màu xám

3 Ảnh định dạng màu 16 bit (16 bit color format): chứa 65.536 màu sắc khác nhau Nó còn được gọi là định dạng màu chất lượng cao

2.2.2 Điểm ảnh Điểm ảnh (pixel) là đơn vị cơ bản nhất để tạo nên một bước ảnh kỹ thuật số Mỗi một điểm ảnh là một ô vuông nhỏ chứa thông tin về màu sắc và độ sáng Địa chỉ của điểm ảnh được xem như là một tọa độ (x, y) nào đó Một bức ảnh kỹ thuật số, có thể được tạo ra bằng cách chụp hoặc bằng một phương pháp đồ họa nào khác, được tạo nên từ hàng ngàn hoặc hàng triệu pixel riêng lẻ Bức ảnh càng chứa nhiều pixel thì càng chi tiết

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Hình 2.11 Các pixel trong ảnh kỹ thuật số

2.2.3 Độ phân giải ảnh Độ phân giải (resolution) của ảnh là mật độ điểm ảnh được ấn định trên một ảnh số được hiển thị Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảng cách thích hợp tạo nên một mật độ phân bổ, đó chính là độ phân giải và được phân bố theo trục x và y trong không gian hai chiều Ảnh có độ phân giải càng cao thì các biến đổi trong ảnh sẽ càng mịn và càng rõ nét

Hình 2.12 Các độ phân giải của hình ảnh

2.2.4 Quá trình xử lý hình ảnh

Các giai đoạn trong quá trình xử lý hình ảnh ta tóm tắt trong hình Hình 2.13

Hình 2.13 Các giai đoạn xử lý hình ảnh

Thu nhận ảnh: Ảnh đầu vào sẽ được thu nhận qua các thiết bị như camera, máy scanner, … Việc lựa chọn các thiết bị thu nhận ảnh sẽ phụ thuộc vào đối tượng cần xử lý Với sự phát triển của công nghệ, chúng ta có thể chụp được ảnh đen trắng hoặc ảnh

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT lượng lưu trữ phụ thuộc vào thiết bị quay chụp, điều này cũng ảnh hưởng đến các thao tác xử lý ảnh về sau

Tiền xử lý ảnh: Ở bước này, ảnh sẽ được cải thiện để tăng cường chất lượng, độ tương phản, làm nét ảnh, chuyển về ảnh xám hoặc nhị phân hóa ảnh, khử nhiễu bằng các bộ lọc, co giãn ảnh,

Phân đoạn ảnh: Đây là bước then chốt trong việc xử lý ảnh, giúp chúng ta phân biệt các đối tượng cần quan tâm với phần còn lại của ảnh Bước này sẽ phân tích ảnh để làm nổi bật những thành phần có tính chất hay đặc trưng nào đó dựa theo đường biên hoặc các vùng liên thông Mỗi đối tượng trong ảnh được gọi là vùng hay miền, đường bao quanh đối tượng gọi là đường biên Mỗi một vùng ảnh phải có một đặc tính đồng nhất

Biểu diễn và mô tả: kết quả của việc phân đoạn ảnh được cho dưới dạng điểm ảnh thô, trong đó có hàm chứa biên của một vùng ảnh, và tập hợp tất cả các điểm ảnh thuộc về vùng ảnh đó Ta có thể biểu diễn một vùng ảnh trong giới hạn đặc điểm bên ngoài nó (đường biên của nó), hoặc trong giới hạn bên trong (những điểm ảnh bên trong bao gồm vùng) Biểu diễn dạng biên cho một vùng phù hợp với những ứng dụng chỉ quan tâm chủ yếu đến các đặc trưng hình dạng bên ngoài đối tượng Trong khi biểu diễn dạng vùng lại thích hợp cho các ứng dụng khai thác các tính chất bên trong của đối tượng.

TỔNG QUAN VỀ NÂNG CẤP TỪ XA

Giới thiệu về phương pháp nâng cấp từ xa

Trong một thiết bị nhúng, vi điều khiển đóng vai trò điều khiển và thực thi các chương trình vận hành Giống như một chiếc máy tính thu nhỏ, vi điều khiển được trang bị bộ nhớ và khả năng xử lý hạn chế, nhưng đủ sức mạnh để đáp ứng nhu cầu hoạt động cơ bản của thiết bị

Hình 3.1 Mô hình thiết bị nhúng có kết nối internet

Tuy nhiên, để kết nối thiết bị nhúng với Internet, cần có thêm một "bộ phận trung gian" gọi là Internet Module Module này được ví như "bộ xử lý tín hiệu mạng", sở hữu khả năng kết nối 3G/4G, Wifi hoặc Ethernet, mang thiết bị đến gần hơn với nguồn thông tin và dữ liệu

Vi điều khiển và Internet Module giao tiếp và trao đổi thông tin với nhau thông qua các "cổng giao tiếp" được tích hợp sẵn Nhờ sự kết hợp này, thiết bị nhúng có thể

"lắng nghe" và "trả lời" những tín hiệu từ Internet, mở ra cánh cửa cho vô số khả năng ứng dụng

Dưới góc độ cập nhật chương trình từ xa, thiết bị nhúng được mô tả như một hệ thống ba thành phần: vi điều khiển, Internet Module và các khối chức năng chuyên dụng

Vi điều khiển đóng vai trò trung tâm, điều khiển hoạt động chung, Internet Module kết nối thiết bị với mạng, và các khối chức năng bổ sung đảm bảo thực hiện các nhiệm vụ cụ thể

CHƯƠNG 3 TỔNG QUAN VỀ NÂNG CẤP TỪ XA

Triển khai phương án cập nhật từ xa

Hình 3.2 Quá trình cập nhật từ xa

Việc triển khai cập nhật từ xa cho thiết bị nhúng được đề xuất theo từng bước sau: Khi nhà sản xuất muốn thực hiện cập nhật từ xa, người phát triển chương trình sẽ tạo ra chương trình ứng dụng mới cho vi điều khiển thiết bị nhúng Tập tin chứa chương trình ứng sẽ được tải vào Module kết nối Internet thông qua một dịch vụ mạng ảo (SD – WAN) Bước kế tiếp, Module kết nối Internet sẽ thay thế chương trình ứng dụng đang chạy bằng chương trình mới được đưa ra từ nhà sản xuất, và phản hồi trạng thái cho người thi thực thi cập nhật từ xa.

Dịch vụ mạng ảo

Hình 3.3 Dịch vụ mạng ảo Zerotier

ZeroTier One là một nền tảng mạng ảo (VPN) mạnh mẽ, giúp kết nối thiết bị và mạng một cách an toàn và dễ dàng, bất kể vị trí địa lý Hoạt động tương tự như VPN truyền thống nhưng có nhiều ưu điểm vượt trội, ZeroTier One mang đến các lợi ích như cài đặt và sử dụng đơn giản với giao diện thân thiện, các bước thiết lập nhanh chóng, cùng với bảo mật toàn diện thông qua các biện pháp bảo mật tiên tiến Khả năng mở rộng linh hoạt cho phép dễ dàng mở rộng mạng khi cần thiết mà không gặp phải những giới hạn của mạng truyền thống Hơn nữa, ZeroTier One hỗ trợ nhiều loại thiết bị và hệ điều hành, giúp việc kết nối trở nên linh hoạt hơn

CHƯƠNG 3 TỔNG QUAN VỀ NÂNG CẤP TỪ XA

Hình 3.4 Giao tiếp giữa kỹ sư và robot

Với kết nối Internet, người kỹ sư có thể truy cập vào robot từ bất kỳ nơi nào trên thế giới Điều này không chỉ giúp tiết kiệm thời gian và công sức mà còn nâng cao hiệu quả công việc.

Thiết kế chương trình cho người nâng cấp từ xa

3.4.1 Truyền file cho thiết bị nhúng

Hình 3.5 Giao thức SSH giữa máy tính và server

SSH (Secure Shell) là một giao thức mạng cung cấp một kênh an toàn cho các dịch vụ mạng hoạt động trên một mạng không an toàn SSH chủ yếu được sử dụng để đăng nhập vào các máy từ xa và thực thi các lệnh trên các máy đó Nó cung cấp mã hóa mạnh mẽ để bảo vệ dữ liệu truyền giữa máy khách và máy chủ, đảm bảo tính bảo mật và tính toàn vẹn của thông tin Ngoài ra, SSH còn hỗ trợ các chức năng như chuyển tệp qua SCP (Secure Copy Protocol) và SFTP (SSH File Transfer Protocol), và có thể được sử dụng để tạo các kênh mã hóa cho các ứng dụng khác

Hình 3.6 Truyền file cho máy tính nhúng

Firmware được biên dịch và tạo ra dưới dạng file binary và sẽ được truyền dữ liệu qua giao thức mạng SSH đễ sẵn sàng cho nâng cấp từ xa

CHƯƠNG 3 TỔNG QUAN VỀ NÂNG CẤP TỪ XA

3.4.2 Giao diện cơ bản nâng cấp từ xa

Hình 3.7 Giao diện khi nâng cấp từ xa

Sau khi truy cập vào mạng dịch vụ ảo, người kỹ sư sẽ được cung cấp một giao diện cơ bản để thực hiện các thao tác, chia thành hai trường chính:

• Lấy thông tin thiết bị: o Kiểm tra phiên bản (CHECK_VERSION) o Kiểm tra các lệnh được hoạt động (GET_HELP) o Kiểm tra ID của chip nhúng (GET_CHIP_ID) o Kiểm tra thông tin cấp bảo vệ của bộ nhớ Flash hiện tại (GET_RDP_STATUS)

• Thực thi việc cập nhật từ xa: o Xóa bộ nhớ Flash (FLASH_ERASE) o Ghi bộ nhớ Flash (MEMORY_WRITE) o Đưa chương trình sang vùng nhớ bất kỳ (JUMP_TO_ADDRESS)

THIẾT KẾ HỆ THỐNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN

Tổng quan về hệ thống

Hình 4.1 Sơ đồ khối tổng quan hệ thông

Khối Vision Server: Lấy hình ảnh từ camera sau đó tiến hành xử lý hình ảnh Từ mô hình huấn luyện YOLO, sẽ trích xuất thông tin từ đối tượng và tính toán gửi vị trí đối tượng cho khối điều khiển Bên cạnh đó còn một lệnh khác như điều chỉnh tốc độ động cơ, hút, thả đối tượng, chạy và dừng băng tải sẽ được gửi đến khối điều khiển

Khối điều khiển: Tùy theo lệnh nhận được từ khối Vision Server, khối điều khiển sẽ xử lý tương ứng Sau khi có được vị trí đối tượng sẽ tính toán và cấp xung để điều khiển động cơ thông qua mạch MKS SERVO24C và thiết bị khác phối hợp theo quy trình để thực hiện phân loại

Khối động cơ: Dùng để di chuyển các bộ phận trong hệ thống robot dựa theo lệnh nhận được từ khối điều khiển

Khối cảm biến: Gồm có camera để lấy hình ảnh trong khu vực xác định và công tắc hành trình để đặt về vị trí home cho robot

Khối chấp hành cuối: Gồm Module Relay điều khiển bật tắc động cơ bơm hút chân không và van 2 chiều Động cơ bơm hút chân không sẽ hút không khí để giữ chặt vật, hoặc ngừng hút không khí và vật sẽ rơi xuống

CHƯƠNG 4 THIẾT KẾ HỆ THỐNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN

Hình 4.2 Mô hình robot trong thực tế

Các thiết bị trong hệ thống

Thiết bị điện là các thiết bị hoạt động với nhiệm vụ đóng cắt, điều khiển, điều chỉnh, bảo vệ, chuyển đổi, kiểm tra,… tất cả các hoạt động của hệ thống điện và các máy móc sử dụng điện

Trong quá trình hệ thống hoạt động và tránh tình trạng ngắn mạch hay chập điện, nhóm đã sử dụng cầu dao tự động (CB) và nút dừng khẩn cấp để đóng ngắt mạch một cách an toàn Sử dụng bộ nguồn 24V 10A và bộ nguồn 12V 5A để điều khiển các thiết bị khác nhau như băng tải, động cơ bơm hút chân không, van hai chiều, máy tính nhúng, Bên cạnh đó là 2 đèn báo hiệu

STT Tên gọi Hình ảnh Thông tin

+ Số cực: 2P + Dòng định mức: 5A + Điện áp định mức: 250VAC/125VDC + Ngắt dòng ngắn mạch 2.5KA

CHƯƠNG 4 THIẾT KẾ HỆ THỐNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN

110VAC-220VAC + Điện áp ra: 24VDC + Đầu ra: 3 cặp

+ Điện áp ngõ ra: 185- 260VAC + Điện áp ra: 12VDC + Đầu ra: 1 cặp + Dòng ngõ ra 5A

Từ 4V đến 30V + Dòng ngõ ra tối đa là 3A + Công suất: 15W + Kích thước: 66 x 35mm

+ Sử dụng điện áp nuôi DC 5V.DC + Relay mỗi Relay tiêu thụ dòng khoảng 80mA

+ Điện thế đóng ngắt tối đa: AC250V ~ 10A hoặc DC30V ~ 10A

CHƯƠNG 4 THIẾT KẾ HỆ THỐNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN

+ Điện áp: 220VAC + Dòng điện max: 20mA

+ Đường kính: 22mm + Màu sắc: vàng

+ Điện áp: 24VDC + Dòng điện max: 20mA

+ Đường kính: 22mm + Màu sắc: xanh lá

+ Điện áp: 660V + Dòng điện: 10A + Đường kính ren: 22mm

+ 2 tiếp điểm 1NO và 1NC

10 Công tắc chuyển chế độ 2 vị trí

+ Số tiếp điểm: 1 cặp thường đóng, 1 cặp thường mở (1 NO , 1 NC)

+ Chất liệu: nhựa không cháy ở nhiệt độ cao

+ Điện áp định mức: 380VAC 50hz /

CHƯƠNG 4 THIẾT KẾ HỆ THỐNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN

Thiết bị khí nén là các thiết bị sử dụng khí nén (thường là không khí được nén lại) để thực hiện các chức năng và công việc cơ khí Các thiết bị này thường được sử dụng rộng rãi trong các ngành công nghiệp, từ sản xuất, chế tạo đến tự động hóa

Trong đề tài này để phân loại rác, nhóm đã sử dụng thiết bị khí nén để hút và thả vật Do vật có kích thước nhỏ và nhẹ nên nhóm sử dụng động cơ bơm hút chân không với áp suất 600~850 mmHg và một số thiết bị có liên quan

Bảng 4.2 Thiết bị khí nén

STT Tên gọi Hình ảnh Thông tin

1 Động cơ bơm hút chân không

+ Điện áp hoạt động: 12VDC

2 Ti giác hút, đầu giác hút

+ Dài: 70mm + Đường kính giác hút: 20mm

+ Điện áp đầu vào: 24VDC

CHƯƠNG 4 THIẾT KẾ HỆ THỐNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN

4 Ống dẫn khí + Chất liệu PU

+ Chất liệu nhựa + Đường kính: 6mm

Thiết bị nhúng là một phần của hệ thống máy tính lớn và có mục đích cụ thể Còn được gọi là thiết bị chuyên dụng hoặc thiết bị đơn mục đích, thiết bị nhúng được nhúng hoặc tích hợp trong hệ thống lớn hơn Hệ thống lớn hơn này thường có một mục đích lớn hơn và một hoặc nhiều thiết bị nhúng hỗ trợ nó trong việc đạt được mục đích này

Trong đề tài này, nhóm sử dụng Orange pi để nạp chương trình từ xa cho STM32F4 Nucleo STM32F4 Nucleo sẽ nhận lệnh từ máy tính để điều khiển động cơ thông qua mạch MKS-SERVO42C Mạch MKS-SERVO42C có chức năng tính toán PID, điều khiển dòng điện và tăng độ chính xác góc quay cho động cơ

STT Tên gọi Hình ảnh Thông tin

+ Master chip: Rockchip RK3566 + CPU: Bộ vi xử lý Cortex-A55 64- bit bốn lõi, tần số lên đến 1.8GHz + GPU: Bộ xử lý đồ họa ARM Mali G52 2EE

CHƯƠNG 4 THIẾT KẾ HỆ THỐNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN

+ Lưu trữ: Hỗ trợ module eMMC: 16GB/32GB/64GB /128GB/256GB + Wi-

+ Timer: Tổng cộng 8 bộ timer (6 bộ 16 bit, 2 bộ 32 bit)

+ UART: có + SPI: 3 kênh + USB 2.0: có + Bộ nhớ flash: 512Kb

Tần số cập nhật:Vị trí: 10kHz; Tốc độ: 10kHz; Moment xoắn: 20kHz + Chế độ điều khiển PID:

Incremental + Driver:4 driver half-bridge và 8 MOSFET + Màn hình hiển thị:OLED

CHƯƠNG 4 THIẾT KẾ HỆ THỐNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN

+ Khoảng điều chỉnh dòng điện: 0~3A

+ USART: Có + FOC: Có + Độ phân giải góc: 0.08°

+ Tốc độ tối đa:1000RPM

Cảm biến (sensor), là một thiết bị điện tử có khả năng phát hiện và đo lường các yếu tố vật lý, hóa học, hoặc sinh học từ môi trường xung quanh và chuyển đổi chúng thành tín hiệu điện hoặc tín hiệu kỹ thuật số Các tín hiệu này sau đó có thể được xử lý và phân tích để cung cấp thông tin về các điều kiện hoặc thay đổi trong môi trường

Trong đề tài này, nhóm sử dụng 2 loại cảm biến là cảm biến vị trí để xác định vị trí góc quay ban đầu robot và cảm biến hình ảnh để phát hiện đối tượng

Bảng 4.4 Thiết bị cảm biến

STT Tên gọi Hình ảnh Thông tin

1 Module công tắc hành trình

+ Điện áp sử dụng : 3-12VDC

+ Khi có va chạm xuất ra mức thấp, nếu không có va chạm, sẽ xuất ra mức cao

1920x1080p + FPS: 30 + Góc xoay: 78 độ + Trọng lượng: 162g +Loại lấy nét: Tự động loại nét

CHƯƠNG 4 THIẾT KẾ HỆ THỐNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN

4.2.5 Sơ đồ nối dây hệ thống

Hình 4.3 Sơ đồ mạch động lực

Hình 4.4 Sơ đồ nối dây cho vi điều khiển

CHƯƠNG 4 THIẾT KẾ HỆ THỐNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN

HUẤN LUYỆN MÔ HÌNH VÀ XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG

Quy trình huấn luyện mô hình YOLO

Quy trình huấn luyện mô hình YOLO ta có thể tóm tắt trong sơ đồ hình dưới đây

Hình 5.1 Quy trình huấn luyện mô hình YOLO

- Thu thập ảnh: Tập hợp một lượng lớn ảnh mà ở đó các vật thể mà bạn muốn mô hình nhận dạng xuất hiện Số lượng và đa dạng của dữ liệu càng cao thì mô hình càng chính xác

- Gán nhãn dữ liệu: Dùng công cụ gán nhãn để đánh dấu vị trí của các vật thể trong ảnh Mỗi vật thể được gán nhãn với một bounding box và tên lớp

- Phân chia dữ liệu: Chia tập dữ liệu thành ba phần: huấn luyện, đánh giá và kiểm tra

- Xử lý trước: Điều chỉnh kích thước của ảnh để phù hợp với đầu vào mà mô hình yêu cầu, thường là 416x416 pixels hoặc 608x608 pixels Áp dụng các kỹ thuật tăng cường dữ liệu (data augmentation) như xoay, lật, thay đổi độ sáng, để tăng đa dạng cho dữ liệu

- Chọn kiến trúc mô hình: YOLO có nhiều phiên bản như YOLOv3, YOLOv4, YOLOv5, …YOLOv8 Mỗi phiên bản có những cải tiến và khác biệt về kiến trúc và hiệu suất

- Tinh chỉnh các tham số: Cấu hình các hyperparameters như learning rate, số epoch, batch size, v.v

- Huấn luyện: Sử dụng tập dữ liệu huấn luyện để huấn luyện mô hình Trong quá trình huấn luyện, mô hình sẽ học cách dự đoán vị trí và phân loại các vật thể

- Theo dõi quá trình huấn luyện: Sử dụng tập dữ liệu xác thực để kiểm tra độ chính xác của mô hình sau mỗi epoch Điều này giúp nhận biết và ngăn chặn hiện tượng overfitting

- Kiểm thử mô hình: Sau khi huấn luyện, sử dụng tập dữ liệu kiểm thử để đánh giá độ chính xác cuối cùng của mô hình

- Đánh giá hiệu suất: Sử dụng các chỉ số như Precision, Recall, F1-Score, và mAP

CHƯƠNG 5 HUẤN LUYỆN MÔ HÌNH VÀ XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG

6 Tối ưu và triển khai

- Tối ưu mô hình: Áp dụng các kỹ thuật như pruning, quantization để giảm kích thước và tăng tốc độ xử lý của mô hình

- Triển khai: Triển khai mô hình vào ứng dụng thực tế, có thể là trên máy chủ hoặc thiết bị đầu cuối như máy tính, điện thoại thông minh, hoặc hệ thống nhúng

Trong phần này ta sẽ sử dụng nền tảng Roboflow để hỗ trợ việc dán nhãn và tăng cường dữ liệu

Sau khi đã chụp tất cả các hình ảnh cần thiết cho việc huấn luyện, ta sẽ tải các hình ảnh đó lên Roboflow

Hình 5.3 Tải hình ảnh lên Roboflow

Tiếp theo ta sẽ tiến hành dán nhãn cho mỗi hình ảnh có trong tập dữ liệu Đây sẽ là quá trình vẽ các đường bounding box bao quanh vật thể và chú thích vật thể sẽ thuộc nhóm đối tượng nào Tùy vào số lượng đối tượng mong muốn phân loại mà quá trình này sẽ mất nhiều thời gian hơn Ở đề tài này nhóm chỉ phần loại với 2 đối tượng đầu vào là: Box (hộp carton) và Bottle (chai nhựa)

CHƯƠNG 5 HUẤN LUYỆN MÔ HÌNH VÀ XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG

Hình 5.4 Dán nhãn cho các đối tượng có trong hình

5.1.1.2 Phân chia dữ liệu Ở bước này ta sẽ phân chia tập dữ liệu hình ảnh đã dán nhãn ra 3 mục:

• Training: sẽ được dùng làm đầu vào huấn luyện

• Validation: sẽ được dùng để kiểm chứng qua đó tìm kiếm ra phương pháp huấn luyện tốt nhất cho mô hình

• Test: sẽ được dùng để đánh giá kết quả huấn luyện

Hình 5.5 Phân chia tập dữ liệu

5.1.1.3 Tiền xử lý dữ liệu

Tiền xử lý dữ liệu là một bước quan trọng để cải thiện hiệu suất của các mô hình học máy Quá trình tiền xử lý bao gồm nhiều bước khác nhau để làm sạch và chuẩn hóa dữ liệu hình ảnh trước khi đưa vào mô hình học Dưới đây là một số kỹ thuật tiền xử lý dữ liệu phổ biến mà RoboFlow có thể hỗ trợ để ta lựa chọn:

• Tự động xoay (Auto-Orient): Tự động xoay hình ảnh đến hướng đúng dựa trên siêu dữ liệu của nó

• Cô lập đối tượng (Isolate Objects): Trích xuất các đối tượng riêng lẻ từ hình ảnh, cô lập chúng khỏi nền

• Cắt tĩnh (Static crop): Cắt hình ảnh theo kích thước cố định, tập trung vào một vùng cụ thể

CHƯƠNG 5 HUẤN LUYỆN MÔ HÌNH VÀ XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG

• Cắt động (Dynamic crop): Cắt hình ảnh quanh các đối tượng quan tâm, điều chỉnh kích thước cắt dựa trên kích thước của các đối tượng

• Thay đổi kích thước (Resize): Thay đổi kích thước của hình ảnh theo chiều rộng và chiều cao được chỉ định

• Thang độ xám (Grayscale): Chuyển đổi hình ảnh thành thang độ xám, loại bỏ tất cả các thông tin màu sắc

• Tự động điều chỉnh độ tương phản (Auto-Adjust contrast): Tự động điều chỉnh độ tương phản của hình ảnh để tăng cường khả năng nhìn thấy các điểm

• Chia nhỏ (Tile): Chia nhỏ hình ảnh thành các ô nhỏ hơn với kích thước được chỉ định, thường được sử dụng để xử lý hình ảnh lớn hoặc cho tăng cường dữ liệu

• Sửa đổi lớp (Modify classes): Cho phép sửa đổi các nhãn lớp liên quan đến các đối tượng trong tập dữ liệu, như đổi tên hoặc hợp nhất các lớp

• Lọc rỗng (Filter Null): Lọc ra các hình ảnh không chứa bất kỳ đối tượng nào được gán nhãn

• Lọc theo thẻ (Filter by tag): Lọc hình ảnh dựa trên các thẻ cụ thể được gán cho chúng, cho phép quản lý tập dữ liệu mục tiêu hơn

CHƯƠNG 5 HUẤN LUYỆN MÔ HÌNH VÀ XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG

5.1.1.4 Tăng cường dữ liệu Để có thể tiết kiệm thời gian trong việc thu thập dữ liệu cũng như đa dạng hóa dữ liệu đầu vào, phần mềm Roboflow hỗ trợ các chức năng như xoay ảnh, làm mờ, tăng, giảm độ sáng,… giúp tạo ra các ảnh mới hoàn toàn Ở bước này ta có thể tăng số lượng ảnh của tập dữ liệu lên gấp 2, thậm chí gấp 50 tùy vào mong muốn của người dùng Dưới đây là một số kỹ thuật tăng cường dữ liệu trong Roboflow mà ta có thể sử dụng:

• Lật (Flip): Lật hình ảnh theo chiều ngang hoặc chiều dọc

• Xoay 90 độ (90 Rotate): Xoay hình ảnh theo các góc 90 độ (90, 180, 270 độ)

• Cắt (Crop): Cắt một phần của hình ảnh

• Xoay (Rotation): Cắt một phần của hình ảnh

• Shear (Biến dạng): Biến dạng hình ảnh theo một hướng nhất định, tạo ra hiệu ứng nghiêng

• Độ bão hòa (Saturation): Thay đổi độ bão hòa của mà sắc, làm cho màu sắc đạm hơn hoặc nhạt hơn

• Độ sáng (Brightness): Điều chỉnh độ sáng của hình ảnh, làm cho hình ảnh sáng hơn hoặc tối hơn

Hình 5.7 Tăng cường dữ liệu

CHƯƠNG 5 HUẤN LUYỆN MÔ HÌNH VÀ XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG

Cuối cùng Roboflow sẽ tạo ra và thêm các hình ảnh mới dựa trên các lựa chọn của ta trước đó, ta sẽ thu được tập dữ liệu mới nhiều hơn so với ban đầu

Hình 5.8 Các hình ảnh sau khi làm giàu

5.1.2 Cấu hình và huấn luyện mô hình

Nhóm sẽ tiến hành huấn luyện dựa trên file trọng số ban đầu là model YOLOv8s, cấu hình huấn luyện sẽ được chọn như trong hình ảnh dưới đây

Hình 5.9 Cấu hình file huấn luyện

Các tham số ban đầu cho quá trình huấn luyện:

- imgsz: Kích thước hình ảnh mục tiêu cho đào tạo Tất cả hình ảnh đều được thay đổi kích thước theo kích thước này trước khi đưa vào mô hình

- epochs: Tổng số chu kỳ huấn luyện Mỗi chu kỳ đại diện cho một lần quét qua toàn bộ tập dữ liệu

- batch: Số lượng mẫu dữ liệu trong 1 lô dữ liệu (Số lượng hình ảnh mà máy tính xử lý cùng một lúc cho việc huấn luyện)

- name: Tên folder để lưu trữ kết quả

- patience: Số lượng chu kỳ tối đa để chờ đợi mà không có sự cải thiện trong các chỉ số đánh giá (validation metrics) trước đó Giúp dừng sớm quá trình huấn luyện

THỰC NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG

Thực nghiệm hệ thống nâng cấp từ xa

6.1.1 Kết nối với hệ thống mạng VPN

Hình 6.1 Kết nối mạng VPN của các thiết bị

Hình 6.2 Địa chỉ ip của các thiết bị sau khi kết nối VPN

Sau khi các thiết bị kết nối mạng, người kỹ sư có thể dễ dàng truy cập được hệ thống thông qua các thiết bị đã được đăng ký ip từ trước

CHƯƠNG 6 THỰC NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG

6.1.1.1 Lệnh kiểm tra phiên bản chương trình khởi động a) b)

Hình 6.3 a) Nhập lệnh kiểm tra chương trình b) Kết quả kiểm tra chương trình

Chương trình trả về là version 0x10, tương ứng với phiên bản 1.0 của hệ thống

Hình 6.4 a) Nhập lệnh trợ giúp b) Kết quả lệnh trợ giúp

Chương trình trả về một dãy command 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57 tương ứng với các lệnh hiện đang hỗ trợ dưới chip

CHƯƠNG 6 THỰC NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG

6.1.1.3 Lệnh kiểm tra ID chip a) b)

Hình 6.5 a) Nhập lệnh lấy ID b) Kết quả ID

Chương trình trả về thông tin ID chip hiện đang sử dụng là 0x421

6.1.1.4 Lệnh kiểm tra cấp bảo vệ bộ nhớ Flash a) b)

Hình 6.6 a) Nhập lệnh kiểm tra cấp bảo vệ b) Kết quả cấp bảo vệ

Chương trình trả về cấp bảo vệ là 0xaaa, có nghĩa là bộ nhớ không được bảo vệ có thể đọc, ghi, và xóa bộ nhớ flash mà không có hạn chế

CHƯƠNG 6 THỰC NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG

6.1.1.5 Lệnh đưa con trỏ hoạt động về một vùng nhớ bất kì a) b)

Hình 6.7 a) Nhập lệnh và địa chỉ b) Kết quả của con trỏ

Con trỏ chương trình đã được dịch chuyển tới vùng nhớ 0x08007000 thành công

Hình 6.8 a) Nhập lệnh và sector muốn xóa b) Đã xóa thành công

CHƯƠNG 6 THỰC NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG

Hình 6.10 Bộ nhớ sau khi xóa

Dùng jtag được tích hợp trên board Nucleo-Stm32F446RE ta kiểm tra được kết quả thực tế Bộ nhớ được Địa chi 0x0800800 trương ứng, địa chỉ bắt đầu của sector 2 trong bộ nhớ Flash của board STM32 đã được xóa thành công a) b)

Hình 6.11 a) Nhập lệnh và địa chỉ muốn ghi b) Bộ nhớ được ghi thành công

Hình 6.12 Bộ nhớ bắt đầu từ địa chỉ 0x0800800 trước khi ghi

CHƯƠNG 6 THỰC NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG

Hình 6.13 Bộ nhớ sau khi ghi

File chương trình ứng dụng đã được ghi thành công vào địa chỉ 0x08008000, cũng là vùng địa chỉ bắt đầu mặc định để nhảy vào chương trình ứng dụng trong chương trình khởi động

6.1.2 Đánh giá hiệu quả chiếm dụng tài nguyên

Bảng 6.1 Phân vùng bộ nhớ flash

Chương trình Địa chỉ bắt đầu – địa chỉ cuối Kích thước Sector Chương trình nạp từ xa và khởi động

0&1 Chương trình ứng dụng 0x0800 4000 – 0x0800 BFFF 17 Kbytes Sector 2

Sử dụng phần mềm KEIL C để biên dịch ra tập tin HEX và BIN cho cùng một chương trình thu được: tập tin định dạng HEX có kích thước 48 KByte và BIN là 17 Kbyte Tuy nhiên đối với chương trình cập nhật từ xa, việc tối ưu hóa kích thước tập tin là vô cùng quan trọng để giảm thiểu thời gian truyền tải a) b)

Hình 6.14 a) Kích thước tập tin BIN b) Kích thước tập tin HEX

Do đó, sử dụng tập tin BIN thay vì HEX là lựa chọn tối ưu hơn Lý do nằm ở ưu điểm về kích thước nhỏ gọn của tập tin BIN Tập tin BIN lưu trữ dữ liệu ở dạng nhị phân thuần túy, loại bỏ các thông tin bổ sung không cần thiết như trong HEX, dẫn đến kích thước tập tin nhỏ hơn đáng kể

CHƯƠNG 6 THỰC NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG

6.1.3 Đánh giá thời gian cập nhật chương trình

Khối DWT (Data Watch and Trace) trong vi điều khiển là một khối chức năng chuyên dụng để theo dõi và truy vết dữ liệu bên trong vi điều khiển Nó được sử dụng để đếm xung mà không ảnh hưởng tới chương trình thực thi

Vi xử lý được cấu hình UART với hai kiểu kết nối, hoạt động ở tần số dao động

180 MHz, tốc độ baud 115200, 8 bit dữ liệu và không sử dụng bit parity Thời gian cập nhật được tính là tổng thời gian ghi vào bộ nhớ Flash (bao gồm cả thời gian ghi bên trong vi điều khiển và thời gian kết nối mạng VPN) Thí nghiệm cập nhật một chương trình ứng dụng có dung lượng 5 Kbyte và thực hiện 50 lần cho mỗi kết nối

Hình 6.15 So sánh thời gian cập nhật giữa ACM0 và USB0

ACM (Abstract Control Model) và USB (Universal Serial Bus) là hai kiểu kết nối phổ biến được sử dụng để kết nối vi điều khiển trong giao thức UART Với đồ thị trên, thời gian kết nối ACM trung bình là 5.8 giây, cao hơn nhiều so với 0.8 giây của kết nối USB Do ưu điểm vượt trội về tốc độ, nên USB được chọn làm kết nối chính

Ba chương trình ứng dụng có kích thước lần lượt là 10KByte, 30KByte và 60KByte Mỗi chương trình được biên dịch và tạo thành một tập tin BIN Tiến hành thử nghiệm cập nhật chương trình 100 lần với mỗi tập tin

CHƯƠNG 6 THỰC NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG

Hình 6.16 Tổng thời gian cập nhật chương trình

Hình 6.17 Số xung tính được dưới vi điều khiển trong quá trình cập nhật

Từ kết quả thử nghiệm với từng tập tin, thời gian cập nhật phụ thuộc khá nhiều vào dung lượng của tập tin cần được cập nhật Cụ thể:

- Với tập tin 10KB, tổng thời gian cập nhật trung bình là 1.246 giây, số xung trung bình ghi dưới vi điều khiển là 10,470,952 xung, tương ứng 0.058 giây

- Với tập tin 30KB, tổng thời gian cập nhật trung bình là 3.823 giây, số xung trung bình ghi dưới vi điều khiển là 31,372,561 xung, tương ứng 0.174 giây

- Với tập tin 60KB, tổng thời gian cập nhật trung bình là 7.648 giây, số xung trung bình ghi dưới vi điều khiển là 62,794,147 xung, tương ứng 0.345 giây

Bảng 6.2 Kết quả thời gian thực hiện

Program size Total time Execution time under the chip

CHƯƠNG 6 THỰC NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG

6.1.4 Đánh giá kết quả về độ tin cậy, tỉ lệ cập nhật thành công

Tổng số thực nghiệm là 400 lần, bao gồm 100 lần thử nghiệm để so sánh kết nối ACM và USB, và 300 lần cho các tập tin có kích thước 10Kbyte, 30Kbyte, và 60Kbyte Kết quả cho thấy tỉ lệ cập nhật thành công là 100% Điều này chứng tỏ chương trình có độ tin cậy cao trong việc cập nhật, có thể áp dụng thực tế được

Bảng 6.3 Tỉ lệ thử nghiệm cập nhật chương trình từ xa

6.1.5 Đánh giá thời gian khởi động của hệ thống a) b)

Hình 6.18 a) Thời gian bắt đầu nạp nhân chương trinh b) Tổng thời gian khởi động

Sử dụng mạch debug UART tích hợp sẵn trên Orange Pi với baudrate 1500000, kiểm tra và xác định rằng thời gian khởi động lần đầu của hệ thống là 9.5 giây, và thời gian cuối cùng để hệ thống có thể bắt đầu truy cập được mạng VPN là 22.4 giây.

Kiểm chứng YOLO

Để đánh giá kết quả của mô hình phát hiện rác thải chai nhựa và hộp carton dựa trên YOLO, nhóm đã thực hiện huấn luyện và chạy thử nghiệm nhiều lần trong các trường hợp khác nhau với điều kiện môi trường có đủ ánh sáng a) b)

Hình 6.19 a) Phát hiện chai nhựa b) Phát hiện hộp carton

CHƯƠNG 6 THỰC NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG a) b) c) d)

Hình 6.20 a) Phát hiện nhiều chai b) Phát hiện nhiều hộp c) Phát hiện chai và hộp (1) d) Phát hiện chai và hộp (2)

Trong các bảng kết quả dưới đây, ta sử dụng 20 chai nhựa và 20 hộp carton để thử nghiệm mô hình YOLOv8 sau khi huấn luyện

Bảng 6.4 Kết quả phát hiện chai nhựa

STT TP FP FN Precision Recall F1-score

Bảng 6.5 Kết quả phát hiện hộp carton

STT TP FP FN Precision Recall F1-score

CHƯƠNG 6 THỰC NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG

Bảng 6.6 Kết quả tổng hợp phát hiện chai và hộp

STT TP FP FN Precision Recall F1-score

- Mô hình YOLOv8 đã được huấn luyện để có thể nhận dạng hiệu quả các đối tượng như chai nhựa và hộp carton với độ chính xác và độ bao quát cao

- Các giá trị F1-score cao (lớn hơn 0.89) cho thấy mô hình không chỉ chính xác mà còn đảm bảo ít bỏ sót đối tượng, là điều cần thiết cho các ứng dụng phân loại và phát hiện đối tượng trong thực tế.

Ngày đăng: 26/09/2024, 14:41

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w