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

Thiết kế mô hình robot tự hành trong nhà kho ứng dụng xử lý ảnh

123 4 0

Đ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 đề Thiết Kế Mô Hình Robot Tự Hành Trong Nhà Kho Ứng Dụng Xử Lý Ảnh
Tác giả Nguyễn Quốc Hoàng, Phạm Ngọc Thịnh
Người hướng dẫn ThS. Ngô Bá Việt
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ện Tử - Truyền Thông
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 123
Dung lượng 7,64 MB

Cấu trúc

  • Chương 1. TỔNG QUAN (22)
    • 1.1. Đặt vấn đề (22)
    • 1.2. Mục tiêu đề tài (0)
    • 1.3. Giới hạn đề tài (23)
    • 1.4. Nội dung nghiên cứu (23)
    • 1.5. Bố cục (0)
  • Chương 2. CƠ SỞ LÝ THUYẾT (24)
    • 2.1. Các loại robot tự hành (25)
      • 2.1.1 Robot tự hành dùng dò line (25)
      • 2.1.2 Robot tự hành sử dụng camera (0)
      • 2.1.3 Robot tự hành sử dụng cảm biến (0)
    • 2.3 Các phương pháp định vị cho robot (28)
      • 2.3.1 Định vị dùng phương pháp Dead - reckoning (0)
      • 2.3.2 Định vị robot dùng vật mốc (29)
      • 2.3.3 Định vị cho robot sử dụng bản đồ (0)
      • 2.3.4 Định vị cho robot sử dụng Wifi (0)
    • 2.4 Các phương pháp xác định khoảng cách cho robot (30)
      • 2.4.1 Dùng cảm biến siêu âm đo khoảng cách (30)
      • 2.4.2 Đo khoảng cách dùng laser (31)
    • 2.5 Thuật toán học tăng cường (32)
      • 2.5.1 Khái niệm cơ bản (32)
      • 2.5.2 Markov Decision Process (MKD) (34)
      • 2.5.3 Q-Learning (34)
    • 2.6 Camera (35)
    • 2.7 Vi điều khiển (37)
    • 2.8 Máy tính (38)
    • 2.9 Mạch cầu H (38)
    • 2.10 Mạch hạ áp (40)
    • 2.11 Nguồn (41)
    • 2.12 Động Cơ DC (42)
    • 2.13 Giới thiệu phần mềm (43)
  • Chương 3. TÍNH TOÁN VÀ THIẾT KẾ (24)
    • 3.1. Giới thiệu (45)
    • 3.2. Tính toán và thiết kế phần cứng (45)
      • 3.2.1. Thiết kế sơ đồ khối hệ thống (0)
      • 3.2.2. Tính toán và thiết kế sơ đồ mạch (46)
    • 3.3 Kĩ thuật hiệu chỉnh Camera (56)
    • 3.4 Phương pháp xác định khoảng cách từ camera đến vật mốc và tính toán vị trí robot (58)
    • 3.5. Đo khoảng cách dùng camera và Aruco (62)
    • 3.6 Phương pháp xác định đường đi sử dụng Q-Learning (0)
  • Chương 4. THI CÔNG HỆ THỐNG (24)
    • 4.1. Giới thiệu (65)
    • 4.2. Thi công phần cứng (65)
      • 4.2.1. Thi công board mạch (65)
      • 4.2.2. Lắp ráp và kiểm tra (67)
    • 4.3. Lập trình hệ thống (69)
      • 4.3.1 Lưu đồ giải thuật chương trình chính (0)
      • 4.3.2 Lưu đồ chương trình xác định vị trí của Aruco và tính toán vị trí Robot (0)
      • 4.3.3 Lưu đồ tính toán Q-Table và suy ra đường đi của xe (0)
      • 4.3.5 Lưu đồ nhận tín hiệu và điều khiển xe di chuyển (0)
  • Chương 5. KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ (24)
    • 5.1. Kết quả thực hiện mô hình (87)
    • 5.2 Nhận dạng mã Aruco (87)
    • 5.3 Đo khoảng cách dùng Aruco (88)
    • 5.4 Khảo sát đường đi của robot (0)
    • 5.4. Dự toán chi phí thi công (106)
  • Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (24)
    • 6.1. Kết luận (108)
    • 6.2. Hướng phát triển (108)
  • TÀI LIỆU THAM KHẢO (109)
  • PHỤ LỤC (111)

Nội dung

TỔNG QUAN

Đặt vấn đề

Ngày nay, thế giới đang không ngừng vận động và phát triển, và đất nước ta cũng nằm trong xu thế đó với nền kinh tế đang phát triển Để theo kịp các quốc gia trong khu vực, cuộc cách mạng công nghiệp của chúng ta cần phải phát triển và thích ứng với thời đại, trong đó máy móc và thiết bị dần thay thế sức lao động của con người.

Robot đang được ứng dụng rộng rãi trong nhiều lĩnh vực như công nghiệp, y tế, quốc phòng và vũ trụ, mang lại nhiều thành tựu đáng kể Tuy nhiên, mô hình sử dụng robot trong công nghiệp tự động tại Việt Nam vẫn còn hạn chế và mới mẻ Theo xu hướng phát triển chung, việc áp dụng robot để thay thế lao động con người trong ngành công nghiệp Việt Nam dự kiến sẽ phát triển dần trong tương lai.

Hiện nay, trong ngành công nghiệp, robot gấp xếp hàng hóa và robot lắp ghép chi tiết đã xuất hiện từ cuộc cách mạng công nghiệp 3.0, mang lại nhiều lợi ích cho xã hội Trong thời đại 4.0, với sự phát triển của internet và trí tuệ nhân tạo, thuật ngữ robot tự hành ngày càng trở nên phổ biến Công nghệ này không chỉ tiết kiệm chi phí mà còn nâng cao độ chính xác trong các quy trình sản xuất Nhiều dự án nghiên cứu đã được thực hiện, như Đồ Án Tốt Nghiệp của Nguyễn Khánh Dương và Sỹ Quốc Bình với đề tài “ROBOT TÌM ĐƯỜNG TRONG MÊ CUNG DÙNG GIẢI THUẬT PID”, và dự án của Tạ Minh Quân – Võ Văn Lộc về “THIẾT KẾ ROBOT TỰ HÀNH ỨNG DỤNG CÔNG NGHỆ DÒ LINE VÀ NHẬN DẠNG ARUCO”, nhằm xác định vị trí đích đến để đạt kết quả tốt hơn.

Với sự phát triển của trí tuệ nhân tạo, các thuật ngữ như AI, xử lý ảnh, thị giác máy tính và máy học ngày càng trở nên phổ biến Xử lý ảnh giúp nhận diện và xử lý thông tin từ môi trường, cho phép giao tiếp và lập trình hiệu quả Các thuật toán như Detect Object và mã Aruco được sử dụng để nhận dạng đối tượng và hình ảnh qua mã nhị phân Công nghệ học tăng cường (Reinforcement Learning) cũng đang được áp dụng để máy tính đưa ra lựa chọn tốt nhất qua quá trình huấn luyện trong Q-Table Mặc dù khái niệm robot tự hành còn mới mẻ ở Việt Nam, nhóm chúng tôi đã quyết định kết hợp thuật toán học tăng cường và xử lý ảnh để xây dựng robot tự hành Chúng tôi chọn đề tài “Thiết kế mô hình robot tự hành trong kho ứng dụng xử lý ảnh” nhằm nghiên cứu và áp dụng kiến thức đã học vào thực tiễn.

Robot tự hành được thiết kế và thi công sử dụng máy tính để xử lý ảnh, kết nối thông tin với Arduino nhằm điều khiển động cơ Robot này áp dụng thuật toán Q-Learning để huấn luyện đường đi, trong khi camera thu thập dữ liệu hình ảnh giúp xác định vị trí ban đầu của robot trước khi di chuyển đến điểm đích.

- Mô hình robot thử nghiệm có kích thước (DxRxC): 40 x 35 x 10 cm và chỉ di chuyển được thông qua không gian kín và được xác định từ trước

- Hệ thống di chuyển sẽ được điều khiển thông qua Vi điều khiển Arduino Uno, lấy tín hiện từ máy tính gửi về

- Dùng Aruco để tính toán và xác định vị trí và tọa độ của robot trong bản đồ

Bản đồ được thiết kế dưới dạng ma trận 5x5, với kích thước mỗi ô vuông là 60 cm Trong đó, ba ô vuông được chọn làm đại diện cho nhà kho 1, nhà kho 2 và nhà kho 3.

- Trên bản đồ sẽ chọn ra một vài ô để làm vật cản để robot học và né tránh

1.4 Nội dung nghiên cứu Đề tài được thực hiện gồm có những nội dung chính sau:

- Nội dung 1: Thiết kế phần cứng

- Nội dung 2: Nghiên cứu thuật toán, áp dụng cho Arduino nhằm điều khiển động cơ chạy theo bảng đồ đặt ra

- Nội dung 3: Nghiên cứu thuật toán Q-Learning

- Nội dung 4: Nghiên cứu thuật toán xử lý ảnh nhận dạng mã Aruco

- Nội dung 5: Kết hợp Q-Learning và xử lý ảnh

- Nội dung 6: Thiết kế mô hình và chạy thử sản phẩm.

Giới hạn đề tài

- Mô hình robot thử nghiệm có kích thước (DxRxC): 40 x 35 x 10 cm và chỉ di chuyển được thông qua không gian kín và được xác định từ trước

- Hệ thống di chuyển sẽ được điều khiển thông qua Vi điều khiển Arduino Uno, lấy tín hiện từ máy tính gửi về

- Dùng Aruco để tính toán và xác định vị trí và tọa độ của robot trong bản đồ

Bản đồ là một ma trận 5x5, với kích thước mỗi ô vuông là 60 cm Trong đó, chúng ta chọn ra 3 ô vuông đại diện cho nhà kho 1, nhà kho 2 và nhà kho 3.

- Trên bản đồ sẽ chọn ra một vài ô để làm vật cản để robot học và né tránh.

Nội dung nghiên cứu

Đề tài được thực hiện gồm có những nội dung chính sau:

- Nội dung 1: Thiết kế phần cứng

- Nội dung 2: Nghiên cứu thuật toán, áp dụng cho Arduino nhằm điều khiển động cơ chạy theo bảng đồ đặt ra

- Nội dung 3: Nghiên cứu thuật toán Q-Learning

- Nội dung 4: Nghiên cứu thuật toán xử lý ảnh nhận dạng mã Aruco

- Nội dung 5: Kết hợp Q-Learning và xử lý ảnh

- Nội dung 6: Thiết kế mô hình và chạy thử sản phẩm.

Bố cục

- Nội dung 8: Bảo vệ luận văn

Trong bài viết này, chúng tôi sẽ trình bày tình hình nghiên cứu hiện tại liên quan đến đề tài đã chọn Đầu tiên, chúng tôi sẽ nêu rõ lý do vì sao đề tài này được lựa chọn, tiếp theo là mục tiêu cụ thể của nghiên cứu Nội dung nghiên cứu sẽ được phân tích chi tiết, đồng thời chúng tôi cũng sẽ xác định các giới hạn của đề tài để đảm bảo tính khả thi Cuối cùng, bố cục của đồ án sẽ được trình bày một cách rõ ràng, giúp người đọc dễ dàng theo dõi và hiểu được quá trình nghiên cứu.

CƠ SỞ LÝ THUYẾT

Các loại robot tự hành

2.1.1 Robot tự hành dùng dò line

Với sự phát triển nhanh chóng của công nghệ 4.0, robot tự hành sử dụng công nghệ dò line đã trở nên phổ biến trong các môi trường công nghiệp như nhà máy và kho xưởng Những robot này được ưa chuộng nhờ vào việc lắp đặt đơn giản, chi phí thấp và hiệu quả cao trong công việc, giúp tiết kiệm chi phí cho nhân công, đặc biệt là trong các môi trường tĩnh ít có sự hoạt động của con người.

Hình 2.1 Robot tự hành dò line 1

Hình 2.2 Robot tự hành hàng dùng dò line 2

Robot tự hành có khả năng di chuyển đến các vị trí đích dựa trên những đường line đã được thiết lập sẵn, như băng dán hoặc sơn Ngoài việc di chuyển, robot còn có khả năng tránh các vật cản nhờ vào các cảm biến tích hợp Một số mẫu robot tiên tiến còn có khả năng tự động lấy và sắp xếp hàng hóa theo chương trình đã được lập trình, điều này cho phép chúng hoạt động mà không cần sự can thiệp của con người.

2.1.2 Robot tự hành sử dụng camera

Trong môi trường rộng lớn và luôn biến đổi, việc thiết lập đường line là khó khăn và tốn kém Do đó, sử dụng camera để xử lý hình ảnh trở thành giải pháp tối ưu, mang lại hiệu quả cao hơn Hiện nay, ngành sản xuất camera phát triển mạnh mẽ, giúp cải thiện độ chính xác trong việc phân tích thông tin, từ đó làm cho việc xử lý thông tin của xe trở nên thuận tiện hơn.

Hình 2.3 Robot tự hành dùng Camera

Robot Prime của Amazon sử dụng camera và cảm biến để thu thập dữ liệu từ môi trường xung quanh Sau đó, nó áp dụng các thuật toán học máy để xác định vị trí, hướng di chuyển và tránh chướng ngại vật trên đường đi.

2.1.3 Robot tự hành sử dụng cảm biến

Ngoài việc sử dụng camera và line, chúng ta còn có thể áp dụng các cảm biến để thu thập dữ liệu, từ đó tính toán và đưa ra các tình huống nhằm điều khiển xe Mỗi cảm biến trên xe đều có những chức năng riêng biệt, góp phần vào việc nâng cao hiệu quả và độ an toàn trong quá trình điều khiển.

• Tính toán tốc độ xe và đảm bảo xe luôn duy trì tốc độ an toàn

• Xe sẽ xử lý phanh khi có vật cản được thu về cảm biến

• Cảm biến quét qua môi trường xung quanh để phát hiện người và vật cản có mặt trên đường đi của nó.[7]

Hình 2.4 Robot tự hành dùng cảm biến

Cảm biến Radar, hoạt động dựa trên hiệu ứng Doppler với tần số 5.8 GHz dưới 10m, là một trong những cảm biến phổ biến trong các xe tự hành Nó phát ra sóng và nhận tín hiệu phản xạ, chuyển hóa thành thông tin để bộ xử lý trung tâm, giúp đo khoảng cách và tốc độ, đồng thời kiểm soát dữ liệu trên đường đi Radar có thể thay thế cảm biến siêu âm, cảnh báo vật cản và hỗ trợ dừng xe khi có vật cản gần Ngoài Radar, cảm biến LiDAR cũng được sử dụng rộng rãi trong xe tự hành, mặc dù chi phí cao hơn, nhưng LiDAR giúp phanh khẩn cấp hiệu quả và chính xác hơn, tránh va chạm nhờ tín hiệu thu được từ laser.

Các phương pháp định vị cho robot

2.3.1 Định vị dùng phương pháp Dead - reckoning

Dead-reckoning là phương pháp dẫn đường phổ biến nhất cho robot di động, nhờ vào độ chính xác cao trong thời gian ngắn, chi phí thấp và tốc độ lấy mẫu nhanh Phương pháp này dựa trên việc tích lũy thông tin về gia tốc chuyển động theo thời gian, nhưng điều này cũng dẫn đến sự tích lũy sai số, làm tăng sai số vị trí theo khoảng cách di chuyển của robot Mặc dù vậy, dead-reckoning vẫn đóng vai trò quan trọng trong hệ thống dẫn đường của robot, và việc cải thiện độ chính xác của phương pháp này có thể giúp đơn giản hóa các lệnh dẫn đường.

Hình 2.5 Định vị cho robot sử dụng bộ lập mã quang, cảm biến gia tốc, vận tốc góc và cảm biến từ

Phương pháp Dead-reckoning sử dụng dữ liệu từ bộ mã hoá số vòng quay bánh xe để chuyển đổi số vòng quay thành độ dịch tuyến tính của robot Nguyên tắc này chỉ chính xác trong những giới hạn nhất định và có thể gặp phải nhiều nguồn sai số, được chia thành sai số hệ thống và sai số không hệ thống Để cải thiện độ chính xác của Dead-reckoning, cần tăng cường độ chính xác động học và kích thước tới hạn.

2.3.2 Định vị robot dùng vật mốc

Robot sử dụng thông tin từ các vật mốc mà nó đã học, kết hợp với dữ liệu thu được qua webcam hoặc camera Bộ điều khiển áp dụng các công thức toán học đã được lập trình để tính toán vị trí của robot hoặc khoảng cách từ vật mốc đến robot, từ đó cho phép xác định chính xác vị trí hiện tại của robot.

Hình 2.6 Định vị cho robot bằng các vật mốc xung quanh

2.3.3 Định vị cho robot sử dụng bản đồ

Robot sử dụng cảm biến để tạo bản đồ môi trường xung quanh, sau đó so sánh với bản đồ toàn cục đã lưu trữ Nếu hai bản đồ giống nhau, robot sẽ tính toán vị trí và góc hướng thực tế của mình trong môi trường.

Hình 2.7 Định vị và dẫn đường cho robot chuyển động sử dụng bản đồ

2.3.4 Định vị cho robot sử dụng Wifi

WiFi hiện nay đã trở nên phổ biến và có mặt ở khắp mọi nơi, do đó việc định vị robot sử dụng WiFi ngày càng được áp dụng nhiều trong các dự án robot tự động Hầu hết các bộ xử lý tích hợp trong robot đều có khả năng thu phát WiFi, cho phép xác định vị trí của robot dựa trên cường độ tín hiệu WiFi mà robot thu được tại các vị trí khác nhau Robot sẽ định vị chính xác hơn trong môi trường trong nhà, nơi mà nó có thể thu được cường độ WiFi mạnh nhất mà không bị cản trở bởi tường hay vật cản.

Hình 2.8 Sử dụng Wifi để định vị vị trí

Các phương pháp xác định khoảng cách cho robot

2.4.1 Dùng cảm biến siêu âm đo khoảng cách

Cảm biến siêu âm là thiết bị sử dụng sóng siêu âm, loại sóng có tần số cao không thể nghe thấy bởi con người Thiết bị này phát ra sóng siêu âm, sau đó âm thanh phản xạ trở lại và được chuyển đổi thành tín hiệu điện.

Hình 2.9 Cảm biến siêu âm HC-SR05

Cảm biến siêu âm HC-SR05 là một thiết bị phổ biến trong các ứng dụng robot, giúp đo khoảng cách đến các vật thể Với giá thành thấp và độ chính xác cao, HC-SR05 trở thành lựa chọn lý tưởng cho nhiều dự án.

Khoảng cách đo đạc của chúng trong khoảng từ 2 cm - 450 cm và được tính dựa theo công thức sau:

• v là vận tốc của sóng âm trong không khí 340m/s, do khoảng cách được tính hai lần nên ta chia cho 2

• t là độ rộng xung (ms)

• D là khoảng cách từ vật đến cảm biến (m)

Bảng 2.1 Thông số kỹ thuật HC-SR04

Cảm biến hoạt động với nguồn VCC cung cấp 5V hoặc 3.3V cho các cảm biến 3V3 Chân Trig (T) phát sóng âm với chu kỳ điện cao/thấp, trong khi chân Echo (R) sẽ nhận tín hiệu trả về với mức 5V và sau đó trở về 0V.

GND Nối cực âm của mạch

Trong bảng thông số kĩ thuật 2.1 của cảm biến siêu âm gồm có các chân sử dụng như: VCC, Trig, Echo, GND

2.4.2 Đo khoảng cách dùng laser

Việc đo khoảng cách bằng laser dựa trên nguyên lý phản xạ của tia laser, trong đó một xung laser được phát ra và phản xạ trở lại từ đối tượng, cho phép xác định thời gian truyền đi và tính toán khoảng cách dựa trên vận tốc ánh sáng Công nghệ laser hiện nay được ứng dụng rộng rãi trong nhiều lĩnh vực như quân đội, công nghiệp và thể thao nhờ vào độ chính xác mà nó mang lại.

Hình 2.10 Đo khoảng cách dùng tia laser Để tính khoảng cách bằng laser chúng ta sử dụng công thức sau:

• c là vận tốc của ánh sáng trong không khí (m/s)

2 là khoảng thời gian từ khi ánh sáng chạm vật mốc và quay về (s)

• D là khoảng cách từ vật đến nơi phát ra chùm tia laser (m).

Thuật toán học tăng cường

Học tăng cường (Reinforcement Learning - RL) là một phương pháp trong máy học, bên cạnh học không giám sát và học có giám sát Phương pháp này dựa trên quá trình thử và sai, cho phép hệ thống học hỏi từ kinh nghiệm qua từng lần thử Hiện nay, học tăng cường đã được áp dụng rộng rãi trong các siêu máy tính, giúp chúng chiến thắng con người trong những trò chơi mà trước đây được cho là khó khăn, như cờ vua và Starcraft.

Trong học tăng cường, các khái niệm quan trọng bao gồm: Môi trường, Trạng thái, Hành động, Phần thưởng, Tập episode, Chính sách và Đại lý Để làm rõ hơn các khái niệm này, ta có thể xem xét ví dụ về một robot tìm đường.

Hình 2.11 Mô hình robot tìm đường

Nhiệm vụ của robot (agent) là di chuyển đến vị trí +1 và tránh các vị trí -1 cũng như vị trí cấm Agent tương tác với môi trường thông qua các hành động như lên, xuống, phải và trái Sau mỗi hành động, môi trường sẽ trả lại một trạng thái mới cho agent cùng với phần thưởng tương ứng: +1 nếu di chuyển vào ô đúng, -1 nếu vào ô sai và 0 nếu vào ô trống Khi agent đến ô cộng hoặc trừ, trò chơi sẽ kết thúc, và chuỗi tương tác này được gọi là Episode Trong mỗi episode, agent sẽ cố gắng chọn những hành động tốt nhất để nhận phần thưởng cao nhất Cách mà agent lựa chọn hành động được gọi là Policy; ví dụ như “đi theo viền”, “đi ngẫu nhiên” hoặc “đi về ô đích” Mục tiêu của học tăng cường là tìm ra policy tốt nhất cho agent.

Hình 2.12 Mô hình tương tác Agent và Evironment

2.5.2 Markov Decision Process (MKD) Đây là một framework giúp cho agent lựa chọn quyết định tại một state bất kỳ Muốn sử dụng framework này, ta xem các state có một Markov property; mỗi state sẽ phụ thuộc vào state trước nó và xác xuất chuyển đổi giữa hai states này bởi vì mọi sự việc đều có tiến trình ngẫu nhiên của nó [17]

Hình 2.13 Mô hình ngẫu nhiên trong MKD

Trong hình bên trái, nếu agent chọn quyết định đi lên và môi trường trả lại giá trị 100%, thì không có gì phải bàn cãi Tuy nhiên, thực tế, agent sẽ tương tác với các lựa chọn khác nhau: 10% khả năng đi sang trái, 80% khả năng đi lên, và 10% khả năng đi sang phải Do đó, bài toán của chúng ta có dạng (S, A, R, P), trong đó S là tập các trạng thái.

A là các actions, R là reward mà nó nhận được khi quyết định di chuyển, P là xác suất được chuyển đổi

2.5.3 Q-Learning Để agent chúng ta biết được phải chọn các actions nào để đạt được reward lớn nhất, và đó ta có Q-value nhằm tìm ra action nào có Q-value lớn nhất được xác định bằng công thức: [17]

• Q(s, a): giá trị Q-value khi mà thực hiện action a tại state s

• γ: hệ số discount (đảm bảo khi ra càng xa thì Q sẽ càng nhỏ)

Theo quá trình quyết định Markov (MKD), do tính ngẫu nhiên của nó, giá trị Q (Q-value) trước và sau khi thực hiện hành động sẽ khác nhau Điều này được gọi là Sự Khác Biệt Tạm Thời (Temporal Difference).

Ma trận Q(s, a) cập nhật trọng số dựa vào TD

Qt(s, a) = Qt-1(s, a) + αTDt(a, s) (2.5) Trong đó:

Qua nhiều lần thực hiện actions, Q(s, a) hội tụ và đó được gọi là Q learning.

Camera

Camera là thiết bị giám sát có khả năng thu nhận hình ảnh từ môi trường xung quanh và truyền dữ liệu về thiết bị chủ để xử lý hoặc theo dõi.

Dựa theo đặc điểm và chức năng chúng ta có thể chia camera thành 3 loại khác nhau: Camera quan sát mini, Camera có dây và Camera không dây

Camera quan sát mini được thiết kế để theo dõi và giám sát các khu vực nhạy cảm như kho tiền, quầy thu ngân và nơi lưu trữ tài liệu quan trọng Với kích thước nhỏ gọn, các camera này có thể được tích hợp vào những vật dụng thông thường như bút bi, lon nước, móc khóa, đồng hồ đeo tay và bật lửa, nhằm đảm bảo tính ẩn danh và khó bị phát hiện.

Hình 2.14 Camrera quan sát mini

Camera có dây, hay còn gọi là Camera Analog, là loại camera quan sát sử dụng cảm biến CCD để số hóa hình ảnh Để truyền tải hình ảnh, camera cần chuyển đổi tín hiệu trở lại dạng analog và gửi đến thiết bị analog như màn hình hoặc thiết bị lưu trữ Camera analog nổi bật với chất lượng hình ảnh tốt, khả năng truyền tải ổn định, bảo mật cao, và không yêu cầu địa chỉ IP để quản lý.

Hình 2.15 Camera có dây

Camera wifi không dây sử dụng sóng Wifi để truyền nhận dữ liệu, giúp người dùng không cần khoan tường hay đục đẽo để kết nối Chỉ cần một thiết bị như smartphone, laptop hay máy tính bảng có kết nối Internet, người dùng có thể dễ dàng theo dõi camera từ bất kỳ đâu, bất kỳ lúc nào Camera IP wifi không dây không cần đầu ghi hình rườm rà như camera analog truyền thống và hỗ trợ thẻ nhớ, giúp người dùng thuận tiện xem lại hình ảnh khi cần.

Hình 2.16 Camera không dây

Vi điều khiển

Vi điều khiển là một máy tính tích hợp trên một chip, thường được sử dụng để điều khiển các thiết bị điện tử Nó bao gồm một vi xử lý hiệu suất đủ dùng và giá thành thấp, kết hợp với các khối ngoại vi như bộ nhớ và các module vào/ra Hiện nay, vi điều khiển có nhiều loại khác nhau, phổ biến nhất là các dòng AVR, ARM, 8051, và PIC Tùy thuộc vào nhu cầu của từng người, việc chọn loại vi điều khiển phù hợp với dự án là rất quan trọng.

Hình 2.17 Một số dòng vi điều khiển

Máy tính

Máy tính, hay còn gọi là Computer, là thiết bị điện tử quen thuộc trong cuộc sống hàng ngày Chúng có khả năng thao tác, lưu trữ, truy xuất và xử lý thông tin, phục vụ cho nhiều mục đích khác nhau như tính toán, giải trí và điều khiển hệ thống trung tâm.

Mỗi máy tính thường sẽ có 3 phần chính sau: Phần cứng, hệ điều hành và thiết bị ngoại vi cần thiết

Ngày nay, sự phát triển nhanh chóng của công nghệ máy tính đã dẫn đến sự đa dạng về kiểu dáng, kích thước, giá cả và công dụng của các thiết bị như máy tính bàn, laptop, máy tính nhúng, máy tính công nghiệp và máy chủ server, phục vụ cho nhiều mục đích khác nhau.

Mạch cầu H

Mạch cầu H là một mạch điều khiển đơn giản cho động cơ DC, cho phép quay thuận hoặc quay nghịch Có nhiều kiểu mạch cầu H khác nhau, tùy thuộc vào linh kiện được chọn, như dòng điện, áp điều khiển, và tần số xung PWM Những yếu tố này ảnh hưởng đến khả năng điều khiển của mạch cầu H.

Hình 2.18 Mô hình mạch cầu H

Để điều khiển một động cơ quay thuận hay nghịch, cần xác định cách mắc cực âm (-) và cực dương (+) Khi mắc cực A với cực dương (+) và cực B với cực âm (-), động cơ sẽ quay theo chiều thuận (cùng chiều kim đồng hồ) Ngược lại, nếu mắc A vào (-) và B vào (+), động cơ sẽ quay nghịch (ngược chiều kim đồng hồ) Nguyên lý hoạt động của mạch cầu H cũng dựa trên nguyên tắc này.

Khi đóng S1 và S4, A được kết nối với cực dương (+) và B với cực âm (-) của nguồn, tạo ra dòng điện chạy qua S1, động cơ và S4 về mass, khiến động cơ quay theo chiều thuận Ngược lại, khi đóng S2 và S3, động cơ sẽ quay theo chiều nghịch.

Hình 2.19 Mạch cầu H quay thuận Hình 2.20 Mạch cầu H quay nghịch

Nguyên lý hoạt động của cầu H dựa trên việc đóng ngắt các công tắc để điều khiển dòng điện theo hướng mong muốn Từ nguyên lý này, các module điều khiển động cơ được phát triển bằng cách thay thế công tắc bằng transistor hoặc cổng logic như AND, OR Ngoài ra, cần thêm một số linh kiện như trở và diode để bảo vệ mạch, như minh họa trong hình 2.21.

Hình 2.21 Cấu tạo một mạch cầu H đơn giản

Mạch hạ áp

Mạch hạ áp hay còn gọi là mạch Buck (Buck Converter) là một loại bộ chuyển đổi DC-DC, có chức năng chính là giảm điện áp từ mức cao xuống mức thấp.

Một mạch Buck đơn giản bao gồm một Mosfet bật tắt và một vi mạch điều khiển, sử dụng vòng phản hồi kín để điều chỉnh điện áp đầu ra.

DC là một phương trình liên quan đến điện áp đầu vào, điện áp đầu ra của mạch và chu kỳ làm việc của mạch buck hạ áp.

Hình 2.22 Cấu tạo một mạch hạ áp cơ bản

Ta có công thức tính như sau:

➢ Vout biểu thị chi điện áp ở đầu ra của mạch

➢ Vin biểu thị cho điện áp ở đầu vào của mạch Buck

➢ D là chu kỳ làm việc hoặc % thời gian Mosfet được bật trong quá trình vận hành

Trong mạch Buck, cuộn cảm và tụ điện được kết nối để tạo thành bộ lọc thông thấp, giúp làm mịn hoạt động chuyển mạch của Mosfet Điều này dẫn đến việc tạo ra điện áp DC ổn định và ít nhiễu hơn.

Hình 2.23 Cấu tạo mạch Buck đồng bộ

Mạch Buck có một biến thể phổ biến gọi là mạch Buck đồng bộ, trong đó diode tự do được thay thế bằng MOSFET, cho phép truyền điện hai chiều Khi mạch Buck hoạt động ngược, nó có thể chuyển đổi thành mạch Boost, yêu cầu một IC chuyển đổi đặc biệt Mạch này thường được sử dụng trong các ứng dụng như USB On-the-Go, cho phép điện thoại thông minh cung cấp nguồn cho các thiết bị điện tử cầm tay nhỏ.

Nguồn

Trong thực tế, có hai loại nguồn điện chính là nguồn DC và AC Hầu hết các thiết bị điện tử đều sử dụng nguồn DC vì dòng điện ổn định và điện áp đồng đều, rất cần thiết cho các linh kiện điện tử và bán dẫn bên trong Nguồn một chiều là yếu tố quan trọng trong thiết kế, sửa chữa và nghiên cứu mạch điện tử cũng như vi mạch Ngoài ra, nguồn DC còn được sử dụng như một giải pháp tạm thời thay thế pin cho các thiết bị cầm tay và di động như điện thoại, laptop và máy chụp hình.

Một số bộ nguồn một chiều rất thông dụng hiện nay như: Nguồn tổ ong, Nguồn DC điều chỉnh, Nguồn DC lập trình, Acquy,…

Hình 2.24 Nguồn tổ ong

Động Cơ DC

Động cơ điện 1 chiều (DC) là loại động cơ sử dụng dòng điện có hướng xác định, hoạt động dựa trên nguồn điện áp một chiều Đây là động cơ đồng bộ, trong đó tốc độ quay tỷ lệ thuận với điện áp cung cấp và mô-men xoắn cũng tỷ lệ thuận với dòng điện.

Cấu tạo của động cơ điện 1 chiều sẽ gồm 3 thành phần chính Stator, Rotor, chổi than và cổ góp [15]

➢ Stator của motor DC: Là phần đứng yên, được chế tạo sử dụng từ 1 hay nhiều cặp nam châm vĩnh cửu, có thể là nam châm điện

➢ Rotor: Là phần quay được, nó chính là lõi được quấn các cuộn dây nhằm mục đích tạo thành nam châm điện

➢ Chổi than (còn được gọi là brushes): Làm nhiệm vụ tiếp xúc và tiếp điện cho bộ phận cổ góp

➢ Cổ góp (còn được gọi là commutator): Thực hiện nhiệm vụ tiếp xúc và chia điện đều cho các cuộn dây ở trên phần rotor (phần quay).

TÍNH TOÁN VÀ THIẾT KẾ

Giới thiệu

Trong chương này, chúng tôi sẽ trình bày thiết kế và tính toán dòng điện cũng như áp lực cung cấp cho các khối cảm biến, nút nhấn, và điều khiển động cơ Bên cạnh đó, chúng tôi sẽ tính toán và lựa chọn động cơ phù hợp cho mô hình, đồng thời thực hiện phân tích kỹ thuật để hiệu chỉnh camera Cuối cùng, chúng tôi sẽ xác định khoảng cách từ camera đến vật mốc và giới thiệu phương pháp dò line.

Tính toán và thiết kế phần cứng

3.2.1 Thiết kế sơ đồ khối hệ thống

Để thuận tiện cho việc phân tích, đánh giá và phân bổ thời gian trong quá trình xây dựng mô hình robot, nhóm chúng tôi đã quyết định chia robot thành nhiều khối khác nhau Việc này không chỉ giúp công việc trở nên dễ dàng hơn mà còn hỗ trợ trong việc đánh giá tiến độ hoàn thành Theo sơ đồ khối, robot được chia thành 6 khối chính: Khối nguồn, Khối xử lý ảnh, Khối xử lý trung tâm, Khối điều khiển động cơ, Động cơ và Camera.

Hình 3.1 Sơ đồ khối hệ thống

Giải thích sơ đồ khối

• Khối nguồn: Cung cấp nguồn khối vi điều khiển và khối điều khiển động cơ

Khối xử trung tâm thực hiện việc xử lý hình ảnh từ mã Aruco thu được từ camera, tính toán khoảng cách và tọa độ của mã để xác định vị trí Đồng thời, nó áp dụng thuật toán để tìm ra phương pháp tối ưu nhằm tránh các vật cản trên đường đi, sau đó gửi tín hiệu điều khiển hành động cho khối vi điều khiển.

Khối vi điều khiển nhận tín hiệu từ khối xử lý trung tâm và xử lý dữ liệu để xuất tín hiệu điều khiển cho động cơ.

• Khối điều khiển động cơ: Nhận các tín hiệu điều khiển từ khối vi điều khiển sau đó điều khiển tốc độ và chiều quay của động cơ

• Camera: Quan sát, nhận dạng hình ảnh môi trường xung quanh và gửi tín hiệu về khối xử lý ảnh

• Động cơ: Nhận tín hiệu điều khiển từ khối điều khiển động cơ và hoạt động theo đúng tín hiệu điều khiển

3.2.2 Tính toán và thiết kế sơ đồ mạch a Thiết kế khối vi điều khiển

Sau khi khối xử lý trung tâm hoàn tất việc xử lý tín hiệu và gửi thông điệp đến khối vi điều khiển, khối vi điều khiển sẽ tiếp nhận và xử lý các tín hiệu này Sau khi hoàn thành quá trình xử lý, khối vi điều khiển sẽ gửi các tín hiệu điều khiển đến khối điều khiển động cơ, nhằm điều khiển các motor hoạt động theo yêu cầu.

Trong dự án này, chúng tôi chọn Arduino làm vi điều khiển do tính phổ biến trong việc điều khiển động cơ, giá thành hợp lý và dễ dàng tìm mua ở nhiều nơi.

Arduino sẽ nhận tín hiệu từ máy tính và sử dụng dữ liệu thu được để gửi tín hiệu điều khiển đến module L298N, nhằm điều khiển hoạt động của động cơ.

• Vi điều khiển: ATmega328 (họ 8bit)

• Điện áp hoạt động: 5V – DC (chỉ được cấp qua cổng USB)

• Tần số hoạt động: 16 MHz

• Số chân Digital I/O: 14 (6 chân PWM)

• Số chân Analog: 6 (độ phân giải 10bit)

Sơ đồ kết nối của Arduino Uno với các ngoại vi được thể hiện trong hình 3.3:

Hình 3.3 Sơ đồ kết nối khối xử lý trung tâm

- Các chân từ 8, 9, 10, 11, 12, 13 giao tiếp với module L298N của khối điều khiển động cơ

Chân 5V và chân GND được kết nối trực tiếp từ nguồn ra của module L298N vào chân Vin và chân GND Việc thiết kế khối điều khiển động cơ và động cơ là rất quan trọng để đảm bảo hoạt động hiệu quả của hệ thống.

Khối điều khiển động cơ là một trong những thành phần quan trọng nhất, đảm bảo xe được điều khiển chính xác theo yêu cầu của vi điều khiển Chúng tôi đã chọn module L298N, một module phổ biến trong việc điều khiển động cơ DC và step motor Động cơ không chỉ quyết định khả năng chịu tải của xe mà còn ảnh hưởng đến tốc độ tối đa mà xe có thể đạt được.

• Driver: L298N tích hợp hai mạch cầu H

• Dòng tối đa cho mỗi cầu H là :2A

• Điện áp của tín hiệu điều khiển: +5 V ~ +7 V

• Dòng của tín hiệu điều khiển: 0 ~ 36Ma

• Công suất hao phí: 20W (khi nhiệt độ T = 75 °C)

Robot hiện đang tập trung vào nghiên cứu thuật toán di chuyển, vì vậy chưa cần hoạt động trong môi trường rộng lớn hay chịu tải nặng Độ chính xác trong việc di chuyển đến địa điểm kho là yếu tố quan trọng nhất Do đó, nhóm quyết định chọn vận tốc tối đa của xe là 20cm/s và khối lượng robot khoảng 6kg Để lựa chọn động cơ phù hợp, nhóm cần thực hiện một số tính toán cần thiết.

- m: là khối lượng của xe (kg)

-   là hệ số ma sát của bánh xe với mặt đường

Hằng số gia tốc trọng trường g có giá trị là 9.8 m/s² Để robot di chuyển hiệu quả, tỉ số giữa công suất và vận tốc cần lớn hơn lực ma sát trên bề mặt đường Quãng đường mà xe di chuyển trong 1 giây tương ứng với vận tốc v (m/s).

Vậy từ thông số P vừa tính toán được, nhóm lựa chọn dùng động cơ 12V, 1,4A với công suất là:

- 𝑃 1 là công suất định mức ghi trên động cơ (W)

- I là cường độ dòng điện (A)

Ngoài ra để lựa chọn động cơ phù hợp ta cũng cần chú ý đến số vòng quay của động cơ

Ta có bán kính bánh sắtR = 5(cm), vận tốc tối đa mong muốn: v = 20(cm/s) = 12 m/phút, chu vi của bánh xe: 2πR = 2  3,14  5 = 31,4(cm) = 0,314(m)

Suy ra số vòng quay cần thiết của động cơ để robot có thể di chuyển trong 1s là:

Dựa vào các kết quả từ (3.3) và (3.4), chúng tôi đã xác định phương pháp lựa chọn động cơ với công suất tính toán là 16,8 W và tốc độ vòng quay đạt 38,21 RPM Vì vậy, chúng tôi quyết định chọn động cơ Faulhaber 12V.

Hình dạng thực tế của động cơ Động Cơ DC Giảm Tốc Servo Faulhaber 12V như hình 3.5:

Hình 3.5 Động Cơ DC Giảm Tốc Servo Faulhaber

• Tốc độ sau hộp giảm tốc: 120 RPM

• Dòng tải tối đa: 1400mA

• Encoder 2 kênh với độ phân giải 12 xung/vòng

Sau khi lựa chọn động cơ và module điều khiển, ta được bản thiết kế các chân của động cơ kết hợp với module L298N

Hình 3.6 Sơ đồ kết nối module L298N với khối xử lý trung tâm

- 6 chân INPUT: ENA, IN1, IN2, IN3, IN4, ENB được nối lần lượt với các chân

- Chân 5V và GND cấp nguồn cho vi điều khiển Arduino Uno

Chân 12V được cung cấp từ acquy cho module L298N Để thu nhận hình ảnh từ môi trường xung quanh, việc lựa chọn camera là cần thiết Chúng tôi khuyên nên sử dụng webcam vì tính tiện dụng và kích thước nhỏ gọn Ngoài ra, camera cần có độ phân giải HD và tốc độ xử lý cao để đảm bảo chất lượng hình ảnh trong thời gian thực Sau khi tham khảo nhiều nguồn thông tin, nhóm chúng tôi quyết định chọn Webcam Logitech C270 HD.

Loại camera này có những ưu điểm như sau giúp đáp ứng được những yêu cầu đề tài đề ra:

Webcam Logitech C270 cung cấp khả năng quay phim với độ phân giải HD 720p, mang đến hình ảnh chân thực và sắc nét cho người dùng.

Công nghệ Fluid Crystal mang đến hình ảnh sắc nét và sống động, trong khi chế độ chỉnh sáng tự động giúp cải thiện độ sáng ngay cả trong điều kiện ánh sáng yếu.

• Sử dụng cổng giao tiếp USB thuận tiện cho việc kết nối giữa camera và khối vi điều khiển

Camera có kích thước nhỏ gọn khối lượng nhẹ nên giúp cho việc lắp đặt trên robot dễ dàng

Hình 3.7 Camera Logitech d Thiết kế khối xử lý trung tâm

Để xử lý dữ liệu hình ảnh từ camera và xác định vị trí của robot, khối xử lý trung tâm cần có cấu hình mạnh mẽ với tốc độ xử lý nhanh và chính xác Chúng tôi đã lựa chọn laptop Acer Nitro 5 với CPU Ryzen 5 4600H, sở hữu 6 nhân và 12 luồng xử lý, xung nhịp cơ bản 3GHz và có thể đạt 4GHz Điều này giúp tăng tốc độ xử lý thuật toán, nâng cao độ chính xác và tiết kiệm thời gian trong quá trình huấn luyện dữ liệu.

Kĩ thuật hiệu chỉnh Camera

Để hiệu chỉnh camera, bạn cần một bàn cờ với kích thước tùy chọn như 9x7 hoặc 10x8 Hiệu chỉnh camera, hay còn gọi là thay đổi kích thước máy ảnh, liên quan đến việc ước tính thông số của ống kính và cảm biến hình ảnh Các thông số này giúp sửa độ méo ống kính, đo kích thước vật thể theo đơn vị thế giới và xác định vị trí máy ảnh trong cảnh Những tác vụ này rất quan trọng trong các ứng dụng như thị giác máy, chế tạo robot, hệ thống định vị và tái tạo cảnh 3-D.

Các thông số của camera bao gồm hệ số nội hàm, ngoại lai và hệ số biến dạng Để ước tính các thông số này, cần có điểm thế giới 3-D và điểm hình ảnh 2-D tương ứng Hình ảnh bàn cờ được sử dụng trong quá trình hiệu chỉnh camera; để thực hiện, hãy in hình ảnh bàn cờ ra giấy A4 và chụp ảnh từ các góc khác nhau, tránh vật cản Sau khi thu thập hình ảnh bàn cờ từ camera, sử dụng các thuật toán trong thư viện Open-CV để tiến hành hiệu chỉnh camera.

Hình 3.10 Bàn cờ hiệu chỉnh camera

Hình 3.11 Hình ảnh quá trình hiệu chỉnh camera

Quá trình hiệu chỉnh camera dựa trên hình ảnh bàn cờ, như thể hiện trong hình 3.11, sử dụng các hình ảnh đầu vào để xác định các thông số của camera Chương trình sẽ tìm ra 4 thông số nội (fx, cx, fy, cy), 3 thông số ma trận xoay, 3 thông số vector tịnh tiến (Tx, Ty, Tz) và 5 hệ số distortion (k1, k2, p1, p2, k3).

Phương pháp xác định khoảng cách từ camera đến vật mốc và tính toán vị trí robot

Chương trình xử lý xác định khoảng cách từ robot đến mã Aruco bằng cách thu thập dữ liệu hình ảnh từ camera gắn trên robot trong điều kiện môi trường bình thường Sau khi thu thập dữ liệu, các hàm trong thư viện Open-CV được sử dụng để phát hiện mã Aruco trong khung hình Tiếp theo, tâm của mã Aruco được xác định và quy đổi thành tọa độ thực nhờ vào kỹ thuật hiệu chỉnh camera Cuối cùng, tọa độ (x, y, z) của mã Aruco được tính toán để xác định khoảng cách đến mã Aruco.

Hình 3.12 Đo khoảng cách từ camera đến Aruco

Khoảng cách z từ camera đến mặt phẳng chứa mã Aruco không phải là khoảng cách từ tâm mã Aruco đến tâm camera, trừ khi mã Aruco được đặt đối diện với tâm camera Độ lệch x của tâm mã Aruco so với tâm camera sẽ là âm (-x) nếu mã nằm bên phải camera và dương (+x) nếu mã nằm bên trái camera.

Áp dụng định lý Pytago trong tam giác vuông, ta có thể tính khoảng cách từ tâm camera đến tâm của mã Aruco bằng công thức d = √𝑥² + 𝑧².

- d là khoảng cách từ tâm camera đến tâm Aruco

- x là độ lệch tâm Aruco so với tâm camera

Khoảng cách z là từ tâm camera đến mặt phẳng chứa mã Aruco Để xác định vị trí của robot trên bản đồ, chúng ta cần tìm khoảng cách giữa camera và mã Aruco, mặc dù quy trình có một số khác biệt Giả sử rằng chúng ta có một hệ tọa độ Oxy như trong hình minh họa.

Hình 3.13 Tọa độ camera trong mặt phẳng 2D

Trong hình 3.13, chúng ta có hai hệ tọa độ: Oxy trong mặt phẳng 2D và O'x'y', hệ tọa độ của camera Để xác định vị trí của camera trong không gian 2D, cần chuyển đổi từ hệ tọa độ O'x'y' sang hệ tọa độ Oxy.

Trong hệ tọa độ của camera, giá trị a, hay độ lệch từ tâm của camera so với tâm của Aruco, sẽ khác nhau tùy thuộc vào vị trí của Aruco bên trái hoặc bên phải camera Để tính toán chính xác, cần phân chia các trường hợp này Tọa độ xAruco và yAruco xác định vị trí của Aruco trong không gian 2D Để tìm tọa độ của robot, tức là tọa độ của camera trên mặt phẳng, ta sử dụng công thức tổng quát.

- xcamera là tọa độ của camera trong mặt phẳng Oxy

- xAruco là tọa độ của Aruco trong mặt phẳng Oxy

- a là độ lệch từ tâm của camera so với tâm của Aruco

❖ +a khi mã Aruco nằm bên trái của camera

❖ -a khi mã Aruco nằm bên phải của camera

- ycamera là tọa độ của camera trong mặt phẳng Oxy

- yAruco là tọa độ của Aruco trong mặt phẳng Oxy

- b là khoảng cách từ tâm camera đến mặt phẳng có chứa mã Aruco

Từ hai công thức trên ta có thể suy ra được tọa độ của camera

Để xác định vị trí của xe trong ma trận, trước tiên ta có tọa độ (𝑥 𝑐𝑎𝑚𝑒𝑟𝑎 , 𝑦 𝑐𝑎𝑚𝑒𝑟𝑎) trong không gian 2D Tuy nhiên, cần thực hiện các phép tính bổ sung để chuyển đổi tọa độ này thành hệ tọa độ trong ma trận, giúp robot dễ dàng nhận biết vị trí của nó, ví dụ như R(0,0), R(1,0), R(1,1), và tiếp tục như vậy.

Hình 3.14 Tọa độ của xe trong mặt phẳng ma trận

Giả sử chúng ta có một ma trận 7x7 với kích thước mỗi ô vuông là a, tọa độ của robot sau khi tính toán là (xrobot, yrobot) Để quy đổi từ hệ tọa độ Oxy sang tọa độ ma trận, ta sử dụng công thức chuyển đổi phù hợp.

- Xrobot là tọa độ x của robot trong ma trận

- Yrobot là tọa độ y của robot trong ma trận

- a là kích thước của một ô vuông trong ma trận

- A là kích thước của ma trận được tính bằng (A = [a x số ô vuông] - 1)

Ta có ví dụ như sau:

Giả sử kích thước mỗi ô vuông trong ma trận là 1m, tọa độ của xe theo trục Oxy là (1.5, 1.5), làm tròn lên sẽ là (2, 2) Kích thước ma trận được tính là A = [1 x 7] - 1 = 6, tương ứng với ô số 6 trong tọa độ ma trận Áp dụng công thức tính toán, ta có kết quả cần thiết.

Vậy ta có được tọa độ của robot trong ma trân là (5,1).

Phương pháp xác định đường đi sử dụng Q-Learning

- Nội dung 8: Bảo vệ luận văn

Bài viết này trình bày tình hình nghiên cứu hiện tại, nêu rõ lý do chọn đề tài, xác định mục tiêu và nội dung nghiên cứu, đồng thời đề cập đến các giới hạn của đề tài và cấu trúc của đồ án.

Chương 2: Cơ sở lý thuyết

Bài viết trình bày lý thuyết về các loại robot tự hành và camera, cùng với các phương pháp định vị và xác định khoảng cách cho robot Nó cũng đề cập đến thuật toán học tăng cường, lý thuyết về một số thiết bị sử dụng trong mạch vi điều khiển, mạch cầu H và động cơ DC.

Chương 3: Tính toán và thiết kế

Dựa trên các lý thuyết đã được thiết lập, bài viết trình bày sơ đồ khối và quy trình tính toán thiết kế các khối trong hệ thống Bên cạnh đó, các phương pháp tính toán tọa độ và khoảng cách của robot cũng được đề cập, nhằm xác định hướng đi đến đích một cách hiệu quả.

THI CÔNG HỆ THỐNG

Giới thiệu

Trong chương này, nhóm sẽ mô tả chi tiết quá trình thi công và lắp ráp phần cứng, cũng như các bước kiểm tra để đảm bảo chất lượng Đồng thời, nhóm cũng sẽ trình bày cách thiết kế các cơ cấu phù hợp và phát triển ứng dụng điều khiển phần mềm cho hệ thống.

Thi công phần cứng

Dựa vào sơ đồ nguyên lý đã thiết kế, nhóm đã tổng hợp danh sách và số lượng linh kiện cần thiết cho hệ thống thi công, được mô tả chi tiết trong bảng 4.1.

Bảng 4.1 Danh sách các linh kiện sử dụng

STT Linh kiện Số lượng Ghi chú

1 Arduino Uno 1 Vi điều khiển Atmega328P

2 Module L298N 1 Module điều khiển động cơ

3 Module LM2596 1 Module hạ áp

4 DC Servo Faulhaber 2 Động cơ giảm tốc 12V

Phần cứng của hệ thống nhóm sẽ được thi công theo sơ đồ nguyên lý Nhóm sẽ thiết kế mạch in bằng phần mềm Easy EDA Hình 4.1 mô tả mạch in 2D của board mạch điều khiển, trong khi hình 4.2 thể hiện mạch in 3D của board mạch điều khiển.

Hình 4.1 Sơ đồ mạch in 2D của mạch điều khiển chính

Hình 4.2 Sơ đồ mạch in 3D của mạch điều khiển chính

4.2.2 Lắp ráp và kiểm tra

Sau khi thiết kế mạch in PCB, nhóm tiến hành các bước như ủi mạch, rửa mạch, khoan mạch và hàn gắn linh kiện lên board mạch Để đảm bảo mạch hoạt động ổn định, việc kiểm tra bằng đồng hồ VOM được thực hiện để đo thông mạch và ngắn mạch các đường đồng cùng chân linh kiện Board mạch điều khiển được thiết kế với mặt trước tối ưu, bao gồm 3 khu vực chính như mô tả trong hình 4.3.

Hình 4.3 Mặt trước board mạch điều khiển chính

- Khu vực vi điều khiển: Adruino Uno được gắn lên hàng rào đưa chân ra ngoài

Khu vực kết nối của module L298N bao gồm các chân được xuất từ vi điều khiển Arduino Uno, cho phép liên kết với các chân input của module điều khiển động cơ L298N Đồng thời, module này cũng cung cấp nguồn cho Arduino từ L298N.

- Khu vực cấp nguồn từ acquy: Nguồn từ acquy sẽ được cấp vào thông qua domino và nguồn từ domino ở ngõ ra của module LM2596 để dự phòng

Hình 4.4 Các khu vực module L298N b Hệ thống hoàn chỉnh

Để đảm bảo kết nối giữa nguồn, broad mạch và module trở nên thuận tiện và rõ ràng, chúng tôi đã thiết kế một sơ đồ bố trí bên trong nhằm tránh những sai sót không đáng có trong quá trình kết nối.

Vị trí ô màu xanh là nơi lý tưởng để đặt các module L298N, giúp kết nối dễ dàng hơn với board mạch chính nhờ khoảng cách gần.

Vị trí ô màu nâu được sử dụng để đặt pin acquy, nhằm mục đích cung cấp nguồn điện cho board mạch chính một cách dễ dàng.

- Vị trí màu vàng là nơi đặt board mạch chính

Hình 4.5 Sơ đồ bố trí bên trong robot

Tổng thể toàn bộ hệ thống sau khi kết nối các nhóm module lại với nhau, ta được hệ thống thực tế bên trong robot như hình 4.6

Hình 4.6 Hệ thống điều khiển bánh xe

Trong hình 4.6, hai dây cực dương và âm của acquy được kết nối với domino để chuyển đổi nguồn 12V thành 5V qua module LM2596 Một đầu domino khác sẽ cung cấp nguồn 12V cho hai động cơ DC kết nối với module L298N Kết nối giữa board Arduino và module L298N diễn ra qua khu vực kết nối module như đã mô tả trong hình 4.3.

KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ

Kết quả thực hiện mô hình

Sau quá trình nghiên cứu và áp dụng kiến thức, nhóm đã thiết kế thành công mô hình robot tự hành cho kho hàng, đạt được một số kết quả đáng kể.

Nhận dạng mã Aruco

Chúng tôi đã kiểm tra hoạt động của camera trong nhiều môi trường khác nhau, bao gồm các điều kiện ánh sáng và vị trí Aruco khác nhau Qua đó, chúng tôi tiến hành nhận dạng và tìm kiếm các đối tượng trong khung hình để đánh giá khả năng phát hiện của camera.

Bảng 5.1 Khả năng nhận dạng Aruco ở các khoảng cách khác nhau trong điều kiện cường độ ánh sáng chuẩn

Aruco Khoảng cách nhận dạng

Số lần nhận dạng đúng

Trong điều kiện ánh sáng bình thường, chúng tôi đã tiến hành thí nghiệm đo khoảng cách cho mã Aruco có ID 1, đặt nó cách camera 10cm và thực hiện nhận dạng 10 lần Sau đó, khoảng cách được gia tăng lên 25cm và tiếp tục nhận dạng 10 lần, rồi di chuyển mã ra 35cm và thực hiện nhận dạng thêm 10 lần nữa Sau khi thử nghiệm với mã Aruco ID 1, chúng tôi đã chuyển sang các mã Aruco ID 2 và 3, và thu được kết quả như trình bày trong bảng 5.1.

Hình 5.1 Nhận dạng Aruco trong điều kiện thiếu sáng

Hình 5.2 Nhận dạng Aruco trong điều kiện tối

Trong điều kiện ánh sáng mờ, camera vẫn có khả năng nhận dạng chính xác mã Aruco nhờ vào các đường sọc và viền rõ ràng Tuy nhiên, trong tình trạng thiếu sáng nghiêm trọng, bóng tối có thể làm mờ các sọc trắng và khiến viền của mã Aruco trở nên khó nhận diện, dẫn đến việc camera không thể thực hiện nhận dạng mã.

Khảo sát đường đi của robot

- Nội dung 8: Bảo vệ luận văn

Bài viết này trình bày tình hình nghiên cứu hiện tại, nêu rõ lý do chọn đề tài, xác định mục tiêu và nội dung nghiên cứu, đồng thời chỉ ra các giới hạn của đề tài và cấu trúc của đồ án.

Chương 2: Cơ sở lý thuyết

Bài viết trình bày lý thuyết về các loại robot tự hành và camera, cùng với các phương pháp định vị và xác định khoảng cách cho robot Ngoài ra, nó cũng đề cập đến thuật toán học tăng cường và lý thuyết về một số thiết bị sử dụng trong mạch vi điều khiển, mạch cầu H và động cơ DC.

Chương 3: Tính toán và thiết kế

Dựa trên các cơ sở lý thuyết đã được trình bày, chúng tôi tiến hành xây dựng sơ đồ khối và thực hiện tính toán thiết kế cho các khối trong hệ thống Đồng thời, chúng tôi cũng áp dụng các phương pháp để tính toán tọa độ, khoảng cách của robot và xác định hướng đi đến đích.

Chương 4: Thi công hệ thống

Trình bày quá trình thi công phần cứng hệ thống, xây dựng các lưu đồ giải thuật tính toán tọa độ và điều khiển hoạt động của robot

Chương 5: Kết quả - nhận xét – đánh giá Đưa ra kết quả, hình ảnh mô hình và nêu ý kiến đánh giá mô hình

Chương 6: Kết luận và hướng phát triển Đưa ra kết luận đề tài sau thời gian quá trình thực hiện và không đồng thời đưa ra hướng phát triển của đề tài trong tương lai

Chương 2 CƠ SỞ LÝ THUYẾT

2.1 Các loại robot tự hành

2.1.1 Robot tự hành dùng dò line

Với sự bùng nổ của công nghệ 4.0, robot tự hành sử dụng công nghệ dò line đã trở nên phổ biến trong các môi trường công nghiệp như nhà máy và kho xưởng Chúng đặc biệt hiệu quả trong các khu vực tĩnh ít người, nhờ vào sự đơn giản trong lắp đặt, chi phí thấp và hiệu suất công việc cao, giúp tiết kiệm chi phí nhân công.

Hình 2.1 Robot tự hành dò line 1

Hình 2.2 Robot tự hành hàng dùng dò line 2

Robot tự hành có khả năng di chuyển đến các vị trí đích dựa trên các đường line có sẵn, như băng dán hoặc sơn Ngoài việc di chuyển, robot còn có khả năng tránh các vật cản nhờ vào các cảm biến tích hợp Một số robot tiên tiến còn có thể tự lấy và sắp xếp hàng hóa theo chương trình đã được lập trình mà không cần sự trợ giúp của con người.

2.1.2 Robot tự hành sử dụng camera

Trong môi trường rộng lớn và thay đổi liên tục, việc thiết lập đường line là khó khăn và tốn kém Do đó, sử dụng camera để xử lý hình ảnh là giải pháp tối ưu và hiệu quả hơn Hiện nay, ngành sản xuất camera phát triển mạnh mẽ, giúp cải thiện độ chính xác trong việc phân tích thông tin, từ đó làm cho quá trình xử lý thông tin của xe trở nên thuận tiện hơn.

Hình 2.3 Robot tự hành dùng Camera

Robot Prime của Amazon sử dụng camera và cảm biến để thu thập dữ liệu từ môi trường xung quanh Sau đó, nó áp dụng các thuật toán học máy để xác định vị trí, hướng di chuyển và tránh né chướng ngại vật trên đường đi.

2.1.3 Robot tự hành sử dụng cảm biến

Ngoài việc sử dụng camera và line, chúng ta còn có thể áp dụng các cảm biến để thu thập dữ liệu, từ đó tính toán và đưa ra các tình huống nhằm điều khiển xe Mỗi cảm biến trên xe đảm nhiệm những chức năng riêng biệt, góp phần nâng cao hiệu quả trong việc vận hành và kiểm soát.

• Tính toán tốc độ xe và đảm bảo xe luôn duy trì tốc độ an toàn

• Xe sẽ xử lý phanh khi có vật cản được thu về cảm biến

• Cảm biến quét qua môi trường xung quanh để phát hiện người và vật cản có mặt trên đường đi của nó.[7]

Hình 2.4 Robot tự hành dùng cảm biến

Cảm biến Radar, hoạt động dựa trên hiệu ứng Doppler với tần số 5.8 GHz dưới 10m, là một trong những công nghệ phổ biến trong các xe tự hành Nó phát ra sóng và nhận tín hiệu phản xạ, chuyển hóa thành thông tin cho bộ xử lý trung tâm, cho phép đo khoảng cách và tốc độ, đồng thời kiểm soát dữ liệu trên đường đi Radar có khả năng thay thế cảm biến siêu âm, cảnh báo vật cản và hỗ trợ dừng xe khi có vật cản ở gần Bên cạnh Radar, cảm biến LiDAR cũng được sử dụng rộng rãi trong xe tự hành, mặc dù chi phí cao, nhưng LiDAR mang lại hiệu quả và độ chính xác cao trong việc phanh khẩn cấp và tránh va chạm nhờ vào tín hiệu thu được từ laser.

2.3 Các phương pháp định vị cho robot

2.3.1 Định vị dùng phương pháp Dead - reckoning

Dead-reckoning là phương pháp dẫn đường phổ biến nhất cho robot di động, mang lại độ chính xác cao trong thời gian ngắn, chi phí thấp và tốc độ lấy mẫu nhanh Phương pháp này dựa vào việc tích lũy thông tin về gia tốc chuyển động theo thời gian, tuy nhiên, việc tích lũy sai số theo cách này có thể dẫn đến sai số vị trí lớn, tỷ lệ thuận với khoảng cách di chuyển của robot Mặc dù vậy, dead-reckoning vẫn đóng vai trò quan trọng trong hệ thống dẫn đường của robot, và việc cải thiện độ chính xác của phương pháp này có thể giúp đơn giản hóa các lệnh dẫn đường.

Hình 2.5 Định vị cho robot sử dụng bộ lập mã quang, cảm biến gia tốc, vận tốc góc và cảm biến từ

Phương pháp Dead-reckoning là một kỹ thuật đơn giản, dễ thực hiện, sử dụng dữ liệu từ bộ mã hóa số vòng quay bánh xe để chuyển đổi số vòng quay thành độ dịch chuyển tuyến tính của robot Tuy nhiên, nguyên tắc này chỉ chính xác trong các giá trị giới hạn và có thể gặp nhiều sai số trong quá trình chuyển đổi Các nguồn sai số này được chia thành hai nhóm: sai số hệ thống và sai số không hệ thống Để cải thiện độ chính xác của phương pháp Dead-reckoning, cần nâng cao độ chính xác động học và kích thước tới hạn.

2.3.2 Định vị robot dùng vật mốc

Robot sử dụng thông tin từ các vật mốc mà nó đã học được thông qua webcam hoặc camera Bộ điều khiển áp dụng các công thức toán học đã được lập trình để tính toán vị trí của robot và khoảng cách từ vật mốc đến robot, giúp xác định chính xác vị trí hiện tại của robot.

Hình 2.6 Định vị cho robot bằng các vật mốc xung quanh

2.3.3 Định vị cho robot sử dụng bản đồ

Robot sử dụng cảm biến để tạo bản đồ cục bộ môi trường xung quanh và so sánh với bản đồ toàn cục lưu trữ trong bộ nhớ Sau khi kiểm tra sự tương đồng giữa hai bản đồ, robot sẽ tính toán vị trí và góc hướng thực tế của nó trong môi trường.

Hình 2.7 Định vị và dẫn đường cho robot chuyển động sử dụng bản đồ

2.3.4 Định vị cho robot sử dụng Wifi

Wifi hiện nay rất phổ biến và có mặt ở khắp nơi, do đó việc định vị robot sử dụng Wifi ngày càng được áp dụng trong các dự án robot tự động Hầu hết các bộ xử lý tích hợp trong robot có khả năng thu phát Wifi, giúp xác định vị trí của robot dựa vào cường độ tín hiệu Wifi thu được tại các vị trí khác nhau Robot có thể định vị chính xác trong môi trường trong nhà, nhờ vào việc thu nhận cường độ Wifi mạnh nhất mà không bị cản trở bởi tường hay vật cản.

Hình 2.8 Sử dụng Wifi để định vị vị trí

2.4 Các phương pháp xác định khoảng cách cho robot

2.4.1 Dùng cảm biến siêu âm đo khoảng cách

Ngày đăng: 11/11/2023, 10:53

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

TÀI LIỆU LIÊN QUAN

w