1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế mô hình và giải thuật quy hoạch chuyển động tối ưu cho robot di động vi sai

139 9 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 Và Giải Thuật Quy Hoạch Chuyển Động Tối Ưu Cho Robot Di Động Vi Sai
Tác giả Nguyễn Quang Chiến, Phạm Đức Huy
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 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 139
Dung lượng 15,72 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN (27)
    • 1.1 Đặt vấn đề (27)
      • 1.1.1 Tình hình nghiên cứu ngoài nước (29)
      • 1.1.2 Tình hình nghiên cứu trong nước (30)
      • 1.1.3 Tình hình nghiên cứu tại trường ĐH Sư Phạm Kỹ Thuật TPHCM (31)
    • 1.2 Mục tiêu đề tài (32)
    • 1.3 Giới hạn đề tài (32)
    • 1.4 Phương pháp nghiên cứu (32)
    • 1.5 Nội dung đề tài (33)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (33)
    • 2.1 Tổng quan robot di động (34)
      • 2.1.1 Khái niệm robot di động (34)
      • 2.1.2 Phân loại robot di động (35)
    • 2.2 Cấu trúc robot di động vi sai (38)
    • 2.3 Động học robot di động (38)
      • 2.3.1 Lý thuyết động học robot di động (38)
      • 2.3.2 Động học robot di động vi sai (40)
      • 2.4.1 Heuristic và hàm Heuristic (42)
      • 2.4.2 Giới thiệu thuật toán A* (42)
      • 2.4.3 Các phương pháp ước lượng hàm kinh nghiệm (hàm Heuristic) (43)
    • 2.5 Lý thuyết trường thế năng (44)
      • 2.5.1 Giới thiệu về trường thế năng (44)
      • 2.5.2 Trường thế năng đẩy (46)
    • 2.6 Lý thuyết bộ điều khiển PID (47)
    • 2.7 Lý thuyết giao thức UART (48)
      • 2.7.1 Khái niệm giao thức UART (48)
      • 2.7.2 Cách thức hoạt động (48)
    • 2.8 Lý thuyết giao thức truyền nhận không dây Zigbee sử dụng sóng RF (49)
      • 2.8.1 Giới thiệu về Zigbee (49)
      • 2.8.2 Cách thức hoạt động (49)
    • 2.9 Lý thuyết cảm biến Lidar (50)
      • 2.9.1 Giới thiệu cảm biến Lidar (50)
      • 2.9.2 Nguyên lý hoạt động cảm biến Lidar (50)
    • 2.10 Lý thuyết cảm biến hồng ngoại (51)
      • 2.10.1 Giới thiệu chung về cảm biến hồng ngoại dò vạch đường (51)
      • 2.10.2 Nguyên lý hoạt động cảm biến hồng ngoại dò vạch đường (51)
    • 2.11 Lý thuyết RFID (52)
      • 2.11.1 Giới thiệu RFID (52)
      • 2.11.2 Nguyên lý hoạt động của RFID (52)
  • CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG (33)
    • 3.1 Tổng quan hệ thống (53)
    • 3.2 Lựa chọn thiết bị cho mô hình robot (54)
      • 3.2.1 Yêu cầu thiết kế (54)
      • 3.2.2 Tính toán lựa chọn động cơ (55)
      • 3.2.3 Driver điều khiển động cơ (57)
      • 3.2.5 Mạch đọc RFID (58)
      • 3.2.6 Cảm biến Lidar phát hiện vật cản (59)
      • 3.2.7 Mô-đun giao tiếp không dây (60)
      • 3.2.8 Vi điều khiển (61)
      • 3.2.9 Nguồn năng lượng (63)
    • 3.3 Thiết kế mô hình robot di động vi sai bốn bánh (67)
      • 3.3.1 Đế robot (68)
      • 3.3.2 Gá động cơ (68)
      • 3.3.3 Khung gầm (69)
      • 3.3.4 Gá cảm biến Lidar (70)
      • 3.3.5 Khung robot (70)
      • 3.3.6 Hộp chứa vi điều khiển, driver cầu H (71)
      • 3.3.7 Vỏ mô hình (73)
    • 3.4 Thi công mô hình robot (73)
      • 3.4.1 Đế robot (74)
      • 3.4.2 Gá động cơ (75)
      • 3.4.3 Gá cảm biến Lidar (75)
      • 3.4.4 Khung gầm (76)
      • 3.4.5 Hộp chứa driver cầu H (76)
      • 3.4.6 Hộp chứa vi điều khiển (77)
      • 3.4.7 Thi công mô hình mobile robot (77)
    • 3.5 Thiết kế và thi công mạch PCB cho mô hình robot (79)
    • 3.6 Sơ đồ kết nối (81)
    • 3.7 Giao tiếp dữ liệu trong hệ thống (83)
      • 3.7.1 Cấu trúc dữ liệu trong hệ thống (83)
      • 3.7.2 Quản lý thời gian giao tiếp và thực thi chương trình trong hệ thống (86)
    • 3.8 Chương trình điều khiển (87)
      • 3.8.1 Lưu đồ tổng quan hệ thống (87)
      • 3.8.3 Lưu đồ chương trình chính của Master (Raspberry) (89)
      • 3.8.4 Lưu đồ của Slave (Arduino Nano) (91)
    • 3.9 Thiết kế giao diện người dùng giám sát hệ thống (91)
      • 3.9.1 Giao diện Home (91)
      • 3.9.2 Giao diện Introduction (92)
      • 3.9.3 Giao diện thu thập dữ liệu Lidar (92)
      • 3.9.4 Giao diện thu thập dữ liệu bám quỹ đạo (93)
      • 3.9.5 Giao diện quan sát bản đồ (94)
  • CHƯƠNG 4: THIẾT KẾ VÀ MÔ PHỎNG GIẢI THUẬT QUY HOẠCH CHUYỂN ĐỘNG TỐI ƯU CHO ROBOT (33)
    • 4.1 Tổng quan về giải thuật quy hoạch chuyển động tối ưu cho robot (96)
    • 4.2 Xây dựng bản đồ cho giải thuật (96)
    • 4.3 Thiết kế giải thuật tìm đường đi tối ưu bằng A* (97)
      • 4.3.1 Chọn hàm g(n) (97)
      • 4.3.2 Chọn hàm h(n) (98)
      • 4.3.3 Thiết kế giải thuật A* (99)
    • 4.4 Thiết kế giải thuật bám quỹ đạo và tránh vật cản dựa trên bộ điều khiển PID và trường thế năng (104)
      • 4.4.1 Thiết kế giải thuật bám quỹ đạo dựa trên bộ điều khiển PID (104)
      • 4.4.2 Thiết kế giải thuật tránh vật cản dựa theo phương pháp trường thế năng (105)
      • 4.4.3 Thiết kế giải thuật kết hợp giữa phương pháp bám quỹ đạo và tránh vật cản (107)
    • 4.5 Mô phỏng giải thuật quy hoạch chuyển động tối ưu (110)
      • 4.5.1 Xây dựng phần cứng robot trên mô phỏng (110)
      • 4.5.2 Thiết lập bản đồ trong môi trường mô phỏng (111)
      • 4.5.3 Thiết kế bộ điều khiển cho robot trong mô phỏng (112)
      • 4.5.4 Một số kết quả trong mô phỏng (113)
    • 5.1 Xây dựng bản đồ thực tế (116)
    • 5.2 Kết quả thực nghiệm và đánh giá kết quả (116)
      • 5.2.1 Thông số thực nghiệm (116)
      • 5.2.2 Thực nghiệm giải thuật A* tìm đường đi ngắn nhất (117)
      • 5.2.3 Thực nghiệm tìm đường đi mới khi không thể tránh vật cản (123)
      • 5.2.4 Thực nghiệm tránh vật cản (130)
  • CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (33)
    • 6.1 Kết luận (134)
    • 6.2 Hướng phát triển (134)
  • TÀI LIỆU THAM KHẢO (135)
  • PHỤ LỤC (138)

Nội dung

70 Trang 25 Từ viết tắt Nội dung SC Sáng chế ĐH Đại học TPHCM Thành phố Hồ Chí Minh TN Thí nghiệm AGV Automation Guided Vehicle Lidar Light Detection and Ranging SLAM Simultaneous Local

TỔNG QUAN

Đặt vấn đề

Theo xu hướng tự động hóa, lĩnh vực khoa học công nghệ và robot đang phát triển mạnh mẽ, đặc biệt là nghiên cứu và phát triển về robot di động Với sự ứng dụng rộng rãi trong hầu hết các lĩnh vực đời sống con người, robot di động đã trở thành một lĩnh vực nghiên cứu sôi động Hiện nay, có khoảng 5600 sáng chế về robot di động trên thế giới, cho thấy sự đầu tư và quan tâm lớn của các nhà sáng chế vào lĩnh vực này.

Trong đó, số lượng SC đăng ký tại Mỹ, nơi được xem là cái nôi của robot di động, chỉ có 835 SC, trong khi Trung Quốc dẫn đầu với 1957 SC và Nhật Bản đứng thứ hai.

Hàn Quốc cũng là một quốc gia lọt vào top 5 về số lượng sáng chế (SC) với 787 SC vào năm 1294 Đặc biệt, số lượng SC về robot di động đã tăng mạnh mẽ trong thời gian gần đây, với năm 2012 là năm có lượng SC tăng cao nhất với 544 SC Năm 2014 cũng chứng kiến sự gia tăng đáng kể với 120 SC được đăng ký.

Hệ thống giám sát và quản lý môi trường sử dụng robot di động đang ngày càng phát triển, với các bằng sáng chế như 0207281 và US2014-0200713 về phương pháp vận hành robot di động để mở cửa Thị trường toàn cầu của robot di động cũng đang tăng trưởng mạnh mẽ, từ 10,85 tỉ USD năm 2019 lên 12,63 tỉ USD năm 2021 và dự kiến đạt hơn 72,5 tỉ USD vào năm 2030 Sự phát triển này đã đặt ra nhiều vấn đề cần được giải quyết, trong đó nổi bật là vấn đề tìm đường đi và điều khiển robot di động một cách hiệu quả.

Việc điều khiển robot di động có thể được thực hiện thông qua nhiều phương pháp khác nhau, bao gồm sử dụng giải thuật để vận hành robot theo các đường đã được quy hoạch trước hoặc điều khiển trực tiếp robot thông qua thiết bị điều khiển từ xa Tuy nhiên, việc điều khiển tự động là vô cùng cần thiết, đặc biệt trong các công việc có tính quy trình, lặp đi lặp lại, giúp giảm nhân công, thay thế sức lao động của con người và nâng cao hiệu quả sản xuất, chất lượng công việc Các robot tự động có thể được lập trình để di chuyển theo các quỹ đạo hoặc điều hướng theo các biển báo, mã vạch, từ đó giúp con người giám sát và can thiệp khi cần thiết.

Hình 1.2 Robot phục vụ quân sự

Hình 1.3 Robot trong nhà kho

Phương pháp cho robot di chuyển theo vạch đường là một giải pháp phổ biến trong việc vận hành robot tự động, nhờ vào độ đơn giản và hiệu quả cao mà nó mang lại Bằng cách sử dụng camera kết hợp xử lý ảnh hoặc cảm biến nhận biết đường đi, robot có thể nhận biết chính xác đường đi và phạm vi hoạt động của mình, giúp toàn bộ hệ thống vận hành trơn tru Thông tin về đường đi được gửi về bộ xử lý trung tâm của robot để xử lý và điều khiển robot bám theo đường đi, và việc áp dụng các bộ điều khiển là cần thiết để đảm bảo robot di chuyển mượt mà theo đường đi mà không bị lệch ra khỏi quỹ đạo.

Khi robot di chuyển, việc tránh vật cản là cần thiết để ngăn chặn va chạm và hư hỏng Để thực hiện điều này, việc thu thập dữ liệu từ môi trường xung quanh là quan trọng để phát hiện và xử lý vật cản Cảm biến siêu âm thường được sử dụng, nhưng việc lắp nhiều cảm biến có thể làm tăng tải cho vi xử lý Một giải pháp hợp lý là sử dụng cảm biến có thể quét 360°, và cảm biến Lidar là lựa chọn hàng đầu cho mô hình robot di chuyển và tránh vật cản Ngoài ra, cảm biến Lidar còn được ứng dụng trong các giải thuật khác như xây dựng bản đồ và SLAM.

Để xác định con đường di chuyển tối ưu cho robot, các thuật toán tìm kiếm hiệu quả được áp dụng, giúp tìm ra con đường phù hợp với điều kiện thực tế Việc áp dụng thuật toán này cho phép giảm thiểu thời gian di chuyển và tăng cường hiệu suất làm việc của robot.

Do đó việc áp dụng một số thuật toán tìm đường đi tối ưu là vô cùng cần thiết

1.1.1 Tình hình nghiên cứu ngoài nước Ở nước ngoài có nhiều nghiên cứu liên quan đến vấn đề di chuyển theo đường dẫn và tránh chướng ngại vật Một nghiên cứu vào năm 2016 của tác giả Marwah M Almasri và các cộng sự tại đại học Bridgeport về vấn đề bám line và tránh vật cản sử dụng bộ điều khiển Fuzzy [14] Nghiên cứu sử dụng cảm biến hồng ngoại để bám theo con đường và cảm biến tiệm cận để tránh vật cản Bộ điều khiển Fuzzy được sử dụng để tính toán tốc độ động cơ bánh phải và bánh trái dựa theo các luật mờ Một nghiên cứu khác tại đại học Kharazmi, Iran sử dụng bộ điều khiển dự đoán (model predictive control – MPC) để bám theo đối tượng di chuyển và tránh vật cản [15] Bộ điều khiển MPC có khả năng bám theo đối tượng trong môi trường không biết trước vật cản Khi xuất hiện vật cản bộ điều khiển như bộ đóng ngắt thực hiện tránh vật cản trong khi bám theo đối tượng Đối với việc thiết kế các thuật toán tìm đường đi tối ưu, một số nghiên cứu nước ngoài được tham khảo Cụ thể là nghiên cứu việc lập kế hoạch đường đi sử dụng thuật toán A* của Duchon và các đồng nghiệp [16] Nghiên cứu này thực hiện chỉnh sửa và cải tiến thuật toán A* để tối ưu việc tính toán đường đi trong bản đồ chia ô (grid map) Hoặc nghiên cứu về việc cải tiến thuật toán A* sử dụng trong hệ thống AGV của các nhà nghiên cứu ở Trung Quốc [17] Nghiên cứu này nâng cấp đường đi từ thuật toán A* thông thường trong bản đồ chia ô thành những đường đi mới với chiều dài ngắn hơn, ít đường rẽ hơn và thời gian hoạt động ngắn hơn Ngoài ra còn nghiên cứu về việc lên kế hoạch đường đi sử dụng giải thuật di truyền của các nhà nghiên cứu ở Malaysia [18] Nghiên cứu thực hiện tạo quẩn thể ban đầu, thực hiện chọn lọc, lai ghép, đột biến, … Sau từng thế hệ con đường đi càng tối ưu và nếu thỏa điều kiện ban đầu thì đường đi là ngắn nhất Các nghiên cứu trên chỉ tập trung phát triển giải thuật trên mô phỏng và chưa được áp dụng trên thực tế Do đó việc thiết kế giải thuật tối ưu để ứng dụng vào robot di động trong thực tế là vô cùng cần thiết

1.1.2 Tình hình nghiên cứu trong nước Ở Việt Nam có một số nghiên cứu liên quan đến đề tài bám quỹ đạo và tránh vật cản Điển hình như nghiên cứu của sinh viên Đặng Hoàng Giang tại trường Đại Học Công Nghệ Đại Học Quốc Gia Hà Nội về robot di động tránh vật cản dựa trên các cảm biến siêu âm và cảm biến địa bàn [19] Kết quả cho thấy robot có thể tránh vật cản dựa vào khoảng cách so với vật cản Tuy nhiên đề tài chỉ giải quyết việc tránh vật cản khi robot di chuyển thẳng và vật cản nằm trước mặt robot Hay đề tài robot vận chuyển mẫu xét nghiệm trong bệnh viện của sinh viên Đinh Việt Hùng và Đặng Thị Huỳnh Như của trường Đại học Sư phạm Kỹ thuật Thành Phố Hồ Chí Minh [20] Đề tài nghiên cứu về việc robot vận chuyển mẫu xét nghiệm theo đường line sử dụng xử lý ảnh trong môi trường thí nghiệm Robot này có thể được điều khiển bằng tay trên ứng dụng điện thoại Hay các nghiên cứu của Nguyễn Vũ và các cộng sự tại Hà Nội về vấn đề bám quỹ đạo cho robot vi sai [21] Nghiên cứu ứng dụng thuật toán ngắm theo điểm đích ảo để điều khiển robot tự hành bốn bánh Nghiên cứu được mô phỏng trên Matlab và cho ra kết quả tốt khi bám quỹ đạo, và xe có thể di chuyển với vận tốc 2m/s Các nghiên cứu trên hầu hết đều sử dụng cho việc bám quỹ đạo có sẵn và chưa đề cập đến vấn đề tránh vật cản, hoặc chỉ đề cập đến vấn đề tránh vật cản dùng các loại cảm biến thông thường dẫn đến việc hạn chế trong khi tránh vật cản và sẽ không thể tránh vật cản khi vị trí vật cản thay đổi Đối với thuật toán tìm đường đi tối ưu, có một số nghiên cứu tại Việt Nam như nghiên cứu tìm đường đi ngắn nhất bằn phương pháp Q-learning của tác giả Phạm Nguyễn Huy Phương và Bùi Công Danh tại trường Đại học Công nghiệp Thực phẩm TPHCM [22] Nghiên cứu chỉ ra phương pháp học tăng cường Off-policy có thể ứng dụng vào bài toán tìm đường đi ngắn nhất nhưng độ phức tạp của giải thuật lớn và cần nhiều thời gian để thực hiện giải thuật Hay nghiên cứu ứng dụng giải thuật di truyền tìm đường đi tối ưu trên Google maps của tác giả Hoàng Phước Lộc và các cộng sự [23] Nghiên cứu đề xuất giải thuật di truyền đi qua nhiều điểm và sau các thế hệ sẽ tìm được đường đi ngắn nhất Đối với nghiên cứu này cần dữ liệu lớn và thời gian xử lý dữ liệu lâu, do đó khó có thể áp dụng vào thực tế

1.1.3 Tình hình nghiên cứu tại trường ĐH Sư Phạm Kỹ Thuật TPHCM

Một số đề tài nghiên cứu về việc bám quỹ đạo đã được thực hiện tại trường ĐH Sư Phạm Kỹ Thuật TPHCM, chẳng hạn như đề tài "Nghiên cứu điều khiển mobile robot vận chuyển hàng hóa theo quỹ đạo" năm 2016 và đề tài "Nghiên cứu, thiết kế và chế tạo robot vận chuyển hành lý trong khách sạn" năm 2021 Các đề tài này đã đạt được kết quả khả quan trong việc thiết kế mô hình robot di chuyển theo quỹ đạo đặt và sử dụng cảm biến để tránh vật cản, tuy nhiên vẫn còn hạn chế về sai số và chưa đề cập đến việc thu thập dữ liệu thời gian thực Ngoài ra, thuật toán tối ưu cũng đã được nghiên cứu, chẳng hạn như đề tài "Thiết kế và chế tạo mô hình robot lấy hàng tự động" năm 2021, sử dụng giải thuật A* để tìm đường đi tối ưu trong bản đồ ô, nhưng vẫn còn hạn chế về việc thu thập dữ liệu real-time và xử lý vật cản không biết trước.

Từ những phân tích trên, nhóm nhận thấy một số vấn đề cần cải tiến khi áp dụng giải thuật tối ưu đường đi và phương pháp bám quỹ đạo kết hợp tránh vật cản Thực tế, các đề tài liên quan đến sử dụng giải thuật tối ưu, bám đường đi và tránh vật cản tại Việt Nam vẫn còn hạn chế Do đó, việc nghiên cứu và phát triển các giải thuật quy hoạch chuyển động tối ưu cho robot di động vi sai là cần thiết, và nhóm chúng tôi đã chọn đề tài "Thiết kế mô hình và giải thuật quy hoạch chuyển động tối ưu cho robot di động vi sai" để thực hiện nghiên cứu và phát triển.

Mục tiêu đề tài

Mục tiêu của đề tài được đặt ra như sau:

- Thiết kế và thi công mô hình robot di động vi sai 4 bánh

- Thiết kế giải thuật tìm đường đi tối ưu kết hợp bám quỹ đạo và tránh vật cản

- Thiết kế giao diện điều khiển và thu thập dữ liệu cho robot

- Áp dụng giải thuật và thu thập dữ liệu thời gian thực vào mô hình robot.

Giới hạn đề tài

- Đề tài chỉ tập trung vào mô hình robot di động vi sai

- Cảm biến Lidar chỉ phát hiện được một vật gần nhất tại một thời điểm

- Vật cản được đặt ở giữa hai điểm tại một vị trí cố định, không đặt trên các điểm

- Giới hạn tốc độ tối đa của robot là 0.5m/s

- Giới hạn khối lượng của robot là 15kg

- Giới hạn đề tài không thực hiện khảo sát các bộ điều khiển Các thông số được chọn sao cho kết quả là tối ưu nhất.

Phương pháp nghiên cứu

Đề tài này kết hợp nghiên cứu giữa phương pháp lý thuyết và thực nghiệm

Nghiên cứu lý thuyết về robot di động đóng vai trò quan trọng trong đề tài này, bao gồm việc tìm hiểu các giải thuật tìm đường đi tối ưu và các gói tin truyền nhận trong robot Ngoài ra, đề tài cũng tập trung vào việc thiết kế giao diện người dùng thân thiện để quan sát và phân tích dữ liệu thu thập được Các loại cảm biến sử dụng cho robot và phương pháp điều khiển robot cũng được nghiên cứu kỹ lưỡng để đảm bảo hiệu suất và độ chính xác cao khi xây dựng robot.

Khi mô hình robot đã hoàn chỉnh, nhóm sẽ thu thập dữ liệu thông qua giao tiếp không dây và giao diện người dùng, đồng thời tận dụng thông tin từ môi trường thông qua cảm biến và động cơ để điều chỉnh các thông số bộ điều khiển phù hợp, nhằm tối ưu hóa việc di chuyển Quá trình di chuyển cũng cho phép quan sát và phát hiện các điểm bất thường, từ đó thực hiện xử lý và điều chỉnh các trường hợp di chuyển không đúng với mục tiêu ban đầu, đảm bảo hiệu suất và độ chính xác của robot.

Nội dung đề tài

Nội dung đề tài bao gồm 6 chương Bố cục các chương được mô tả như sau:

Chương 1: Tổng quan đề tài

Chương 1 trình bày về tổng quan của đề tài thực hiện bao gồm phần đặt vấn đề, mục tiêu, giới hạn của đề tài và các phương pháp nghiên cứu.

CƠ SỞ LÝ THUYẾT

Tổng quan robot di động

2.1.1 Khái niệm robot di động

Robot di động là loại robot có khả năng di chuyển tự động hoặc dưới sự điều khiển của con người, cho phép chúng thực hiện các yêu cầu cần thiết trong vùng được xác định Khác với các loại robot khác như cánh tay máy, robot di động có khả năng di chuyển linh hoạt và thích nghi với môi trường xung quanh Điều này cho phép chúng thực hiện các nhiệm vụ đa dạng và phức tạp hơn so với các loại robot khác.

Hình 2.1 Cánh tay máy Kuka

Hình 2.2 Robot di động Kuka

2.1.2 Phân loại robot di động

Dựa trên môi trường làm việc, robot di động được phân loại thành các nhóm chính, bao gồm robot di chuyển trên mặt đất, robot di chuyển trên không (UAVs) và robot di chuyển dưới nước (AUVs) Trong đó, robot di chuyển trên mặt đất là loại phổ biến và đa dạng nhất, thường được chia thành các loại nhỏ hơn như robot di chuyển dùng bánh (WMRs) và robot di chuyển dùng chân (LMRs) Robot trên mặt đất được sử dụng rộng rãi trong các ngành công nghiệp, đặc biệt là trong việc di chuyển, sắp xếp và phân loại hàng hóa, giúp tăng hiệu suất trong các nhà máy và nhà kho Một ví dụ điển hình là robot MiR100 của hãng Mobile Industrial Robots, có khả năng mang tải 100kg và di chuyển với tốc độ lên đến 1.5m/s, đồng thời tích hợp các cảm biến để tăng độ an toàn và sử dụng hệ thống bánh xe linh hoạt để thay đổi hướng.

Robot hai bánh cân bằng Ascento trong Hình 2.4 là một ví dụ điển hình về robot kết hợp chân và bánh, sử dụng hai động cơ độc lập để điều khiển và giữ thăng bằng Robot này có khả năng di chuyển trên các đường gồ ghề và tránh vật cản bằng cách nhảy lên và tiếp đất một cách thăng bằng, đồng thời có thể thay đổi độ cao theo mong muốn của người điều khiển Ngoài ra, loại robot sử dụng chân (LMRs) như Spot robot của Boston Dynamic cũng được nghiên cứu và chế tạo để mô phỏng các loại động vật bốn chân, cho phép di chuyển linh hoạt trên các địa hình phức tạp khác nhau.

Máy bay không người lái (UAV) là loại robot di chuyển trên không trung, mang lại nhiều lợi ích thiết thực trong các lĩnh vực như quân sự, giao hàng, quay phim, giám sát và cứu hộ Nhờ những ứng dụng đa dạng này, UAV đang được nghiên cứu và phát triển mạnh mẽ để đáp ứng nhu cầu ngày càng tăng.

Hình 2.6 DJI Mavic Air Quadcopter robot

Drone Quadcopter, như hình 2.6, là thiết bị bay không người lái có bốn cánh được bố trí trên bốn trục lệch nhau 90 độ, cho phép điều khiển bay thông qua chuyển động của bốn động cơ Với khả năng chụp ảnh và quay video từ trên cao, Drone Quadcopter mang lại góc quay độc đáo và đẹp mắt Ngoài ra, thiết bị này còn có thể ứng dụng trong việc kiểm tra và giám sát các công trình nghiên cứu, quan sát các địa hình và hỗ trợ cứu hộ trong tình huống khẩn cấp.

Robot rắn là một loại robot di động trên mặt đất sử dụng thân để di chuyển, với nhiều khớp giúp tăng độ linh hoạt Thiết kế này cho phép robot di chuyển hiệu quả trên các địa hình không bằng phẳng và phân bố lực đều trên bề mặt di chuyển Tuy nhiên, do kích thước nhỏ, robot rắn thường không có khả năng mang tải trọng lớn Ngoài ra, việc điều khiển loại robot này đòi hỏi các thuật toán phức tạp để tận dụng tối đa khả năng di chuyển linh hoạt của nó.

Robot di chuyển dưới nước (AUV) là một loại robot có tính ứng dụng cao, cho phép di chuyển tự động hoặc điều khiển từ xa bởi con người Với khả năng thu thập dữ liệu và giám sát thông qua mạng không dây, người dùng có thể phân tích và đưa ra chiến lược điều khiển hợp lý cho robot, mang lại hiệu quả cao trong các ứng dụng thực tế.

Robot REMUS 600 AUV được thiết kế với sự tài trợ của văn phòng nghiên cứu Hải Quân, nhằm đáp ứng nhu cầu của Hải quân về các hoạt động đòi hỏi độ bền cao và tăng khả năng tải trọng dưới nước Thiết kế của robot cho phép cấu hình các cảm biến dễ dàng, giúp thực hiện các nhiệm vụ khác nhau một cách linh hoạt và hiệu quả.

Cấu trúc robot di động vi sai

Hình 2.9 Cấu hình của robot di động vi sai bốn bánh

Cấu trúc của mô hình robot di động vi sai bốn bánh được trình bày trong Hình

2.9 Với ( x Q , y Q ) lần lượt là vị trí của robot theo trục x và trục y, 2a là chiều rộng của xe,  là hướng của robot so với trục ngang song song với trục Ox, D là khoảng cách giữa hai bánh trên và hai bánh dưới của xe, v Q là vận tốc tuyến tính của robot, v l và v r lần lượt là vận tốc tuyến tính của bánh trái và bánh phải,  l và  r lần lượt là vận tốc góc của bánh trái và bánh phải

Robot được thiết kế với bốn bánh xe, bao gồm hai bánh trái và hai bánh phải được cố định vào thân xe, đảm nhận việc truyền động độc lập Tốc độ của hai bánh xe cùng một bên luôn giống nhau, do đó tâm xoay của robot phụ thuộc vào sự chênh lệch tốc độ giữa bánh trái và bánh phải, tạo nên khả năng di chuyển linh hoạt và chính xác.

Động học robot di động

2.3.1 Lý thuyết động học robot di động Động học robot di động liên quan đến cấu hình robot trong không gian làm việc, mối liên hệ giữa không gian hình học, các ràng buộc trong quỹ đạo của nó Công thức động học dựa trên cấu trúc hình học của robot Nghiên cứu về động học của robot là cơ sở để nghiên cứu về phần động lực học, tính ổn định và điều khiển robot Bài toán động học thuận và động học nghịch tính toán sự biến đổi giữa các biến ở không gian khớp và các biến trong không gian làm việc và ngược lại [27]

Xét một hệ robot di động, trong không gian khớp có các biến tổng quát

1, 2, , n q q q và các biến tổng quát trong không gian làm việc x x 1 , 2 , ,x m Ta định nghĩa các vector theo công thức (2.1):

Bài toán động học thuận là bài toán tìm p khi đã biết trước các biến q, trong đó p thuộc không gian Euclidean nhiều chiều Đối với công thức tổng quát p thuộc không gian Euclidean m chiều và p thuộc không gian Euclidean n chiều, mối liên hệ giữa chúng được thể hiện thông qua hàm phi tuyến theo công thức (2.2).

Khi phân tích chuyển động của robot di động, việc tính toán chuyển động của robot đòi hỏi phải xấp xỉ các biến khớp bằng cách tìm vận tốc của các khớp q= q q 1, 2, ,q n  T Điều này dẫn đến việc tìm mối liên hệ đạo hàm (vi phân) của q và p, được gọi là động học thuận vi phân, và được biểu diễn bởi phương trình (2.3): d p=J q d.

J (2.5) Ở công thức (2.5), ( ) i j , là phần tử ij i j

Ma trận Jacobian của robot là biểu thị mối liên hệ giữa vận tốc của khớp và vận tốc của robot trong không gian làm việc Nó được biểu diễn bằng phương trình (2.6): dp/dt = J * dq/dt, hay dp/dt = Jq, trong đó q là vận tốc của các khớp và p là vận tốc trong không gian làm việc.

2.3.2 Động học robot di động vi sai

Robot di động vi sai thường được biểu diễn bởi 3 đại lượng chính Các đại lượng được biểu diễn dưới dạng ma trận công thức (2.7)

Các công thức tính vận tốc tuyến tính của bánh xe trái và phải của xe có thể được xác định dựa trên hình 2.9 Khi bánh xe lăn không trượt, vận tốc tuyến tính của bánh trái (vl) và bánh phải (vr) của xe có mối quan hệ với vận tốc của điểm chính giữa xe (vQ) Cụ thể, vận tốc của bánh trái và phải có thể được tính bằng công thức (2.8) và (2.9), trong đó vận tốc của bánh trái là vQ = vl - aφ và vận tốc của bánh phải là vQ = vr + aφ.

Cộng và trừ v l và v r ta được công thức (2.10) và (2.11)

Ta tính được sự thay đổi vị trí theo trục tọa độ như sau:

Từ công thức (2.11) ta suy ra được:

Vị trí góc và vận tốc góc của bánh trái và bánh phải được ký hiệu lần lượt là  l , l  và  r , r  Mối liên hệ giữa vận tốc góc và vận tốc dài của bánh trái và phải được tính bằng công thức, trong đó vận tốc dài của bánh trái được tính bằng tích của bán kính và vận tốc góc (l l v =r) và vận tốc dài của bánh phải cũng được tính tương tự (r r v =r).

Dựa vào các biểu thức (2.12), (2.13), (2.15) và (2.16) ta có mô hình động học của WMR được mô tả như sau:

Từ công thức (2.17), (2.18) và (2.19) ta tìm được phương trình động học của phương pháp lái vi sai:

Và J là ma trận Jacobian

Heuristic là phương pháp giải quyết vấn đề hiệu quả dựa trên phỏng đoán, ước chừng, kinh nghiệm và trực giác để tìm ra giải pháp gần như tốt nhất và nhanh chóng Hàm Heuristic đóng vai trò quan trọng trong việc lựa chọn hành động phù hợp, khi nó gán giá trị ý nghĩa cho mỗi trạng thái hoặc lựa chọn, giúp đưa ra quyết định tối ưu cho vấn đề đang giải quyết.

Thuật toán A* là một phương pháp tìm kiếm đường đi hiệu quả trong đồ thị, giúp xác định con đường ngắn nhất từ điểm xuất phát đến điểm đích Quá trình này được hỗ trợ bởi hàm Heuristic, ước lượng khoảng cách để đánh giá và lựa chọn đường đi tối ưu Tùy thuộc vào từng trường hợp cụ thể, hàm Heuristic sẽ được áp dụng và đánh giá khác nhau Ưu điểm của thuật toán A* là luôn tìm được đường đi ngắn nhất nếu nó tồn tại, mang lại kết quả chính xác và hiệu quả cho việc tìm kiếm đường đi trong đồ thị.

A* lưu trữ một tập hợp các lời giải chưa hoàn chỉnh dưới dạng các đường đi qua đồ thị từ điểm bắt đầu đến điểm kết thúc Thứ tự ưu tiên của các đường đi được quyết định bởi hàm Heuristic f(n) = g(n) + h(n), trong đó g(n) là khoảng cách từ điểm đang xét đến điểm ban đầu và h(n) là khoảng cách ước lượng Heuristic từ điểm đang xét đến điểm cuối Quá trình tìm kiếm của A* bắt đầu bằng việc tính toán hàm f(n) tại điểm bắt đầu, sau đó mở rộng ra các điểm lân cận và chọn điểm có giá trị f(n) nhỏ nhất để thêm vào đường đi và xét tiếp.

Thuật toán A* tiếp tục mở rộng cho đến khi tìm đến điểm đích, và đường đi qua các điểm đã chọn chính là đường đi ngắn nhất Pseudocode của thuật toán A* cung cấp một cách tiếp cận rõ ràng để tìm kiếm đường đi tối ưu.

2.4.3 Các phương pháp ước lượng hàm kinh nghiệm (hàm Heuristic) Đối với hàm g n ( ) ta có thể đo chính xác bằng các công cụ đo như thước Đối với hàm heuristic h n ( ) có một số phương pháp để xác định

Tính toán ước lượng Manhattan Distance Heuristic là phương pháp ước tính khoảng cách từ điểm đang xét đến điểm đích bằng cách tính tổng khoảng cách trên trục x và trục y Đây là ước lượng thường được sử dụng khi chỉ có thể di chuyển theo 4 hướng cơ bản là lên, xuống, trái, phải từ điểm đang xét.

Hình 2.11 Manhattan Distance Heuristic 2.4.3.2 Chebyshev Distance Heuristic

Tính toán ước lượng Chebyshev Distance Heuristic được thực hiện bằng cách lấy giá trị lớn nhất của x và y (max(x, y)) so với vị trí từ điểm đầu đến điểm đích Ước lượng này đặc biệt hữu ích khi áp dụng trong bản đồ chia ô (grid map) cho phép di chuyển theo 8 hướng khác nhau, như minh họa trong Hình 2.12 hoặc Hình 2.13.

Hình 2.13 Ví dụ về khoảng cách Chebyshev 2.4.3.3 Euclidean distance

Khoảng cách Euclidean là khoảng cách được tính toán theo đường chéo, thường được sử dụng để đo khoảng cách giữa hai điểm trong không gian Với sự hỗ trợ của định lý Pytago, khoảng cách Euclidean có thể được tính toán một cách chính xác Tuy nhiên, khoảng cách này thường chỉ phù hợp với bản đồ không có vật cản và di chuyển theo đường chim bay, giúp mang lại kết quả chính xác hơn.

Lý thuyết trường thế năng

2.5.1 Giới thiệu về trường thế năng

Trường thế năng (Potential Field - PF) là một phương pháp cơ bản và phổ biến giúp robot di động tránh vật cản, bao gồm cả vật cản động Ý tưởng của PF được lấy cảm hứng từ thiên nhiên, như điện tích di chuyển trong từ trường hoặc một quả bóng lăn trên con dốc Mục đích chính của PF là giúp robot di chuyển từ khu vực có trường thế năng cao đến khu vực có trường thế năng thấp bằng cách tính toán lực và hướng tác động của trường thế năng từ môi trường xung quanh Khi phát hiện vật cản, robot sẽ tạo ra trường thế năng lớn xung quanh vật cản để đẩy nó ra xa, ngược lại, tại điểm kết thúc có trường thế năng thấp sẽ hút robot lại gần vị trí đích.

Hình 2.15 Các điện tích di chuyển trong từ trường

Hình 2.16 Quả bóng lăn trên con dốc

Trong môi trường có thể dự đoán trước, vị trí điểm đích tạo ra một trường thế năng hút (APF) nhằm thu hút robot về phía đích, đồng thời tạo ra đường đi từ vị trí xuất phát đến điểm đích Ngược lại, các vật cản tạo ra trường thế năng đẩy (RPF) để đẩy robot ra xa khỏi chúng Sự kết hợp giữa APF và RPF cho phép tạo ra một đường đi an toàn và hiệu quả cho robot, giúp nó tránh được vật cản và di chuyển đến điểm đích một cách tối ưu.

RPF, một con đường được tạo ra cho robot di chuyển từ điểm xuất phát đến điểm đích mà không va chạm với vật cản như Hình 2.18

Hình 2.17 (a) APF tạo bởi điểm đích, (b) RPF tạo bởi vật cản

Đối với đề tài này, nhóm chỉ sử dụng trường thế năng đẩy cho việc tránh vật cản của robot, kết hợp APF và RPF để tìm được đường đi tối ưu cho robot, như minh họa trong Hình 2.18.

Trường thế năng đẩy từ một vật cản tác động đến một điểm q được tính bằng công thức (2.24) [40]:

Hệ số đẩy, khoảng cách từ điểm q đến vật cản và ngưỡng tác động của vật cản lên môi trường xung quanh là những yếu tố quan trọng trong việc tính toán gradient Cụ thể, hệ số đẩy được ký hiệu là , khoảng cách từ điểm q đến vật cản được biểu diễn bằng D q ( ), và ngưỡng tác động của vật cản lên môi trường xung quanh được ký hiệu là Q * Công thức tính gradient sẽ dựa trên những yếu tố này để đưa ra kết quả chính xác.

Khi robot đang ở ngoài ngưỡng Q * của vật cản thì lực tác động lên robot bằng

0 Nhưng nếu robot nằm trong ngưỡng Q * của vật cản thì sẽ có một lực đẩy tác dụng lên robot theo công thức (2.25)

Lý thuyết bộ điều khiển PID

Bộ điều khiển PID là một giải pháp điều khiển đơn giản nhưng hiệu quả, bao gồm 3 khâu chính: khâu tỉ lệ, khâu tích phân và khâu vi phân Với khả năng điều chỉnh sai số thấp nhất có thể, tăng tốc độ đáp ứng và giảm độ vọt lố, bộ điều khiển PID được ứng dụng rộng rãi trong nhiều hệ thống thực tế Cấu trúc của bộ điều khiển PID được xác định bởi 3 thông số quan trọng là Kp, Ki và Kd, giúp điều chỉnh tín hiệu điều khiển một cách chính xác và hiệu quả.

Hình 2.19 Cấu trúc bộ điều khiển PID

Trong hệ thống điều khiển, giá trị đặt (r(t)) và giá trị ngõ ra (y(t)) là hai thông số quan trọng Giá trị ngõ ra được hồi tiếp về để so sánh với giá trị đặt, qua đó xác định sự sai lệch giữa hai giá trị này, được gọi là sai số (e(t)) Sự sai lệch này là cơ sở để hệ thống điều khiển thực hiện các điều chỉnh cần thiết để đạt được giá trị mong muốn.

Sai số được đưa vào bộ điều khiển PID sau đó xuất ra tín hiệu điều khiển u t ( ) điều khiển hệ thống Process

Các thông số Kp, KI, D là những yếu tố quan trọng cần được lựa chọn cẩn thận khi thiết lập bộ điều khiển PID Việc lựa chọn thông số phù hợp sẽ giúp hệ thống hoạt động ổn định, chính xác và hiệu quả, thể hiện qua các chỉ số như độ vọt lố thấp, thời gian xác lập nhanh và sai số xác lập thấp.

Lý thuyết giao thức UART

2.7.1 Khái niệm giao thức UART

Universal Asynchronous Receiver-Transmitter (UART) là một giao thức truyền nhận dữ liệu nối tiếp bất đồng bộ giữa các vi xử lý với nhau, cho phép truyền dữ liệu không đồng bộ mà không cần tín hiệu đồng bộ hóa đầu ra của các bit.

Truyền nhận UART phụ thuộc vào một số thông số cơ bản, bao gồm tốc độ Baudrate (số bit được truyền trong 1 giây), dữ liệu cần truyền hoặc nhận, bit bắt đầu và bit kết thúc Quá trình truyền nhận UART diễn ra thông qua 2 dây chính là Tx (truyền) và Rx (nhận) Để thiết lập giao tiếp UART giữa hai MCU, cần nối chân Rx của MCU này với chân Tx của MCU kia và đảm bảo nối chung chân GND.

Hình 2.20 Giao tiếp UART 2.7.2 Cách thức hoạt động

Hình 2.21 Cách thức hoạt động của giao tiếp UART

Cách thức hoạt động của giao tiếp UART được minh họa trong Hình 2.21, thể hiện quá trình chuyển đổi giao tiếp song song thành nối tiếp Quá trình này bắt đầu khi vi điều khiển 1 truyền dữ liệu qua bus dữ liệu, gửi các bit từ LSB đến MSB, sau đó bổ sung thêm 1 bit start, 1 bit stop và 1-bit kiểm tra (Parity) trước khi đưa vào UART 1 Tiếp đó, UART 1 sẽ truyền dữ liệu nối tiếp qua chân TX đến UART 2, nơi dữ liệu sẽ được tiếp nhận, loại bỏ các bit thừa và giữ lại dữ liệu truyền về cho vi điều khiển.

Hình 2.22 Gói dữ liệu trong UART

Gói dữ liệu trong UART được trình bày trong Hình 2.22 bao gồm:

- Start Bit: Bit bắt đầu dữ liệu, thường khi bắt đầu UART kéo đường dữ liệu xuống mức thấp

- Stop Bit: Thường là 1 hoặc 2-bit được đặt ở cuối gói dữ liệu, thường khi kết thúc UART sẽ giữ đường dữ liệu mức cao

- Parity Bit: Bit kiểm tra dữ liệu truyền xem chính xác hay không

- Data bit: 8-9 bit, đây là các bit dữ liệu.

Lý thuyết giao thức truyền nhận không dây Zigbee sử dụng sóng RF

Zigbee là một phương pháp truyền dữ liệu không dây dựa trên sóng vô tuyến RF, được coi là giải pháp thay thế tiềm năng cho Wifi và Bluetooth trong một số ứng dụng yêu cầu năng lượng thấp mà không cần nhiều băng thông.

Zigbee hoạt động ở 1 trong 3 tần sóng chính:

- Dải 868 – 868.8 MHz (châu Âu): chỉ một kênh tín hiệu, trong dải này tốc độ truyền là 20kb/s

- Dải 902 – 928 MHz (Mỹ, Canada, Úc): có 10 kênh tín hiệu từ 1 – 10 với tốc độ truyền thường là 40kb/s

- Dải 2.4 – 2.4835 GHz (hầu hết các nước khác trên thế giới): 16 kênh tín hiệu từ 11 – 26 với tốc độ truyền 250 kb/s

Sóng RF (Radio Frequency) hay còn được gọi là sóng siêu âm vô tuyến điện là loại sóng điện từ được ứng dụng rộng rãi trong các lĩnh vực như radio, truyền thanh và truyền hình để truyền tải hình ảnh và âm thanh Với tần số dao động từ 3kHz đến 300GHz, sóng RF có khả năng lan truyền trong không gian và không khí, đóng vai trò quan trọng trong việc truyền tải thông tin.

Hình 2.23 Cách thức hoạt động của sóng RF

Quá trình truyền tín hiệu được minh họa ở Hình 2.23, nơi tín hiệu thông tin ở tần số thấp được mã hóa và kết hợp với tín hiệu sóng mang tần số cao tại khối phát tín hiệu Sau đó, tín hiệu được khuếch đại và bức xạ ra không gian, truyền đi theo một tần số nhất định trước khi được khối thu tín hiệu thu lại thông qua cơ chế cộng hưởng Do bị suy giảm do khoảng cách truyền, tín hiệu sẽ được khuếch đại để đạt được tần số mong muốn trước khi qua bộ giải mã để loại bỏ tín hiệu sóng mang tần số cao Cuối cùng, tín hiệu thông tin thu được sẽ được khuếch đại lên đủ mức để giao tiếp và đến đầu ra.

Lý thuyết cảm biến Lidar

2.9.1 Giới thiệu cảm biến Lidar

Cảm biến Light Detection and Ranging (Lidar) là một công nghệ tiên tiến sử dụng ánh sáng tia laser để đo khoảng cách và tạo bản đồ 3D của vật thể Quá trình hoạt động của cảm biến Lidar bao gồm việc phát ra chùm tia laser tới môi trường, nhận về ánh sáng phản chiếu và tiếp nhận dữ liệu tại phần cứng để xử lý Dữ liệu thu thập được sẽ giúp hệ thống xây dựng bản đồ 3D chi tiết và chính xác trong không gian.

2.9.2 Nguyên lý hoạt động cảm biến Lidar

Nguyên lý hoạt động của cảm biến Lidar dựa trên việc sử dụng chùm laser để đo khoảng cách và hướng của vật cản Khi tia laser phát ra từ bộ phát chạm vào vật thể, nó sẽ phản hồi lại tín hiệu đến bộ thu Bộ xử lý sau đó sẽ tính toán thời gian truyền và nhận tín hiệu để xác định khoảng cách từ Lidar đến vị trí vật cản và hướng của nó, cho phép cảm biến xác định chính xác vị trí và khoảng cách của vật thể xung quanh.

Hình 2.24 Nguyên lý hoạt động cảm biến Lidar

Lý thuyết cảm biến hồng ngoại

2.10.1 Giới thiệu chung về cảm biến hồng ngoại dò vạch đường

Cảm biến dò line là thiết bị giúp phát hiện bề mặt phản xạ hoặc hấp thụ ánh sáng ở khoảng cách gần Chúng hoạt động dựa trên nguyên tắc phát và thu tín hiệu ánh sáng hồng ngoại Khi mắt phát tín hiệu xuống bề mặt, nếu bề mặt phản xạ lại ánh sáng (bề mặt trắng), mắt thu sẽ thu được tín hiệu và cho ra mức 1 Ngược lại, nếu bề mặt không phản xạ lại ánh sáng (bề mặt đen), mắt thu sẽ không thu được tín hiệu và cho ra mức 0.

2.10.2 Nguyên lý hoạt động cảm biến hồng ngoại dò vạch đường

Cảm biến hoạt động dựa trên nguyên lý thu-phát sáng, trong đó các mắt phát sẽ phát ra tia sáng hồng ngoại xuống bề mặt Khi mắt thu ở bề mặt chứa vùng sáng hấp thụ ánh sáng hồng ngoại, nội trở của mắt thu sẽ giảm đáng kể từ hàng trăm kΩ xuống vài chục kΩ Sự thay đổi này cho phép cảm biến xác định bề mặt hiện tại là sáng hay tối, từ đó có thể ứng dụng để điều khiển robot di chuyển theo đường line đã được thiết lập.

Hình 2.25 Nguyên lý hoạt động cảm biến hồng ngoại dò vạch đường

THIẾT KẾ VÀ THI CÔNG HỆ THỐNG

Tổng quan hệ thống

Hệ thống bao gồm một mô hình robot di động vi sai hoạt động trong một bản đồ và một máy tính PC để điều khiển và giám sát hoạt động của robot Robot có khả năng tự động tìm ra con đường ngắn nhất từ điểm đầu đến điểm đích và đi theo con đường đó bằng cách bám theo vạch đường màu đen trên bản đồ Trong quá trình di chuyển, robot có thể tự xử lý và quyết định tránh vật cản, sau đó tiếp tục lộ trình hiện tại hoặc tìm một lộ trình mới từ vị trí hiện tại đến điểm đích Thông tin của robot và môi trường được cập nhật theo thời gian thực thông qua giao diện người dùng trên máy tính PC, cho phép người giám sát theo dõi hoạt động của robot một cách hiệu quả.

Hình 3.1 Hoạt động của robot khi (a) tránh vật cản và (b) di chuyển theo con đường mới

Trong quá trình di chuyển, robot có khả năng tìm kiếm con đường ngắn nhất đến đích, như minh họa trong Hình 3.1a, nơi con đường tối ưu từ điểm A đến điểm G là qua các điểm A-D-G Khi phát hiện vật cản, robot sẽ tự động điều chỉnh đường đi để tránh va chạm, hoặc tìm kiếm một con đường mới nếu không thể tránh khỏi, như thể hiện trong Hình 3.1b với đường đi qua các điểm D-E-H-G Tất cả thông tin về vị trí và môi trường xung quanh của robot sẽ được truyền về máy tính theo thời gian thực thông qua công nghệ truyền thông không dây.

Sơ đồ khối hệ thống được minh họa trong Hình 3.2, thể hiện rõ ràng cấu trúc và chức năng của từng thành phần Tại giao diện giám sát, người vận hành sử dụng máy tính PC để điều khiển, giám sát robot và thu thập dữ liệu thời gian thực trong quá trình hoạt động Hệ thống robot bao gồm các khối chức năng chính, bao gồm khối Master, Slave 1 và Slave 2, mỗi khối đảm nhận nhiệm vụ cụ thể để đảm bảo vận hành robot chính xác Khối Master xử lý giải thuật và đưa ra quyết định điều khiển robot dựa trên tín hiệu đặt ban đầu, đồng thời nhận thông tin từ Slave 1 và điều khiển robot thông qua Slave 2 Khối Slave 1 ghi nhận và xử lý dữ liệu cảm biến, gửi thông tin về khối Master, trong khi khối Slave 2 nhận tín hiệu và điều khiển các cơ cấu chấp hành.

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

Trong các mục tiếp theo, chúng tôi sẽ trình bày chi tiết về quy trình thiết kế và thi công mô hình robot di động, bao gồm cả việc xây dựng giao diện giám sát hệ thống, nhằm cung cấp cái nhìn tổng quan và toàn diện về hệ thống này.

Lựa chọn thiết bị cho mô hình robot

Dựa trên các hoạt động của hệ thống và sơ đồ khối hệ thống, nhóm đã xác định các yêu cầu thiết kế và khả năng của mô hình robot Trên cơ sở đó, chúng tôi lựa chọn các thiết bị phù hợp để đảm bảo mô hình hoạt động hiệu quả và đáp ứng được các yêu cầu đặt ra.

Mô hình robot nhóm chọn là loại robot di động vi sai bốn bánh, nổi bật với cấu trúc đơn giản và dễ dàng điều khiển Robot này sở hữu một số tính năng quan trọng, bao gồm cả khả năng di chuyển linh hoạt và dễ dàng điều khiển.

- Robot có thể tự tìm đường đi từ điểm bắt đầu đến điểm kết thúc

- Robot có thể di chuyển tự động theo vạch đường màu đen

- Robot có khả năng phát hiện vật

- Có khả năng tránh vật cản và tìm đường đi mới khi cần thiết

- Người giám sát có thể xác định được vị trí của robot trong bản đồ

- Người giám sát có thể điều khiển robot hoạt động hoặc dừng khi khẩn cấp Yêu cầu thiết kế của mô hình được trình bày trong Bảng 3.1

Bảng 3.1 Thông số mô hình

Kiểu lái Vi sai bốn bánh

Kích thước 600 400 270mm  (dàirộngcao)

Tổng khối lượng 15kg Đường kính bánh xe 145mm

Từ yêu cầu thiết kế của mô hình robot, nhóm tiến hành tìm hiểu, tính toán và lựa chọn các thiết bị phù hợp cho mô hình

3.2.2 Tính toán lựa chọn động cơ

Hình 3.3 minh họa các lực tác động lên toàn bộ robot khi nó di chuyển, bao gồm lực ma sát của bánh xe với sàn nhà (F ms) và trọng lực của toàn bộ robot (P), giúp hiểu rõ hơn về các yếu tố ảnh hưởng đến chuyển động của robot.

N là lực nâng của sàn, O là tâm xoay của bánh xe

Hình 3.3 Các lực tác động lên robot

Khi robot di chuyển đạt tốc độ định mức, chúng ta cần xét hợp lực tác động lên nó Bỏ qua lực cản không khí, dựa trên định luật II Newton, ta có thể tính toán lực tác động lên robot thông qua phương trình ms r, giúp chúng ta hiểu rõ hơn về chuyển động của robot.

Trong đó m r và a lần lượt là khối lượng và gia tốc của robot Chiếu phương trình (3.1) theo phương chuyển động của robot ta có: ms r

Xét hợp lực tác động lên bánh xe khi bánh xe quay ổn định, theo định luật II Newton ta có: m ms

Mô-men động cơ (Tm) và mô-men ma sát (Tms) đóng vai trò quan trọng trong chuyển động của robot Khi chiếu phương trình (3.3) theo phương chuyển động của robot, chúng ta có thể thấy mối quan hệ giữa mô-men động cơ, mô-men ma sát, mô-men quán tính (I) và gia tốc góc (), thể hiện qua phương trình Tm = Tms + I * .

Trong đó m 4 w là khối lượng 4 bánh xe, r w là bán kính bánh xe Thay (3.2) và (3.5) vào (3.4) và biến đổi ta được:

Với khối lượng một bánh xe là 400g và các thông số của mô hình xác định được mô-men cần thiết của mỗi động cơ dựa vào phương trình (3.6):

Tốc độ cần thiết của động cơ để robot đạt được vận tốc mong muốn:

Công suất cần thiết của động cơ:

Từ các thông số đã tính, nhóm quyết định chọn động cơ Planet 24V như Hình 3.4 với thông số động cơ được trình bày trong Bảng 3.2

Bảng 3.2 Thông số kỹ thuật động cơ Planetary 24V 60W

Thông số Giá trị Đơn vị Điện áp hoạt động 24 VDC

Tốc độ qua giảm tốc 320 rpm

Hình 3.4 Động cơ Planet 24V 60W 3.2.3 Driver điều khiển động cơ

Dựa trên thông số động cơ đã chọn, nhóm nghiên cứu đã lựa chọn driver cầu H MC33883 phù hợp để điều khiển động cơ một cách hiệu quả Mạch cầu H MC33883 này có thiết kế đặc biệt, được minh họa chi tiết trong Hình 3.5, với thông số kỹ thuật đầy đủ được trình bày trong Bảng 3.3, giúp đảm bảo khả năng điều khiển động cơ chính xác và ổn định.

Bảng 3.3 Thông số kỹ thuật driver cầu H MC33883

Thông số Giá trị Đơn vị

3.2.4 Cảm biến hồng ngoại dò vạch đường Để có thể di chuyển theo vạch đường màu đen, robot được trang bị các cảm biến thu phát hồng ngoại để có thể dò được vạch đường theo nguyên lý đã trình bày ở phần cơ sở lý thuyết Cảm biến TCRT5000 như trong Hình 3.6 được nhóm sử dụng cho việc dò vạch đường có thông số kỹ thuật được trình bày trong Bảng 3.4

Bảng 3.4 Thông số kỹ thuật cảm biến hồng ngoại TCRT5000

Thông số Giá trị Đơn vị Điện áp hoạt động 3.3 – 5 V

Dòng điện tiêu thụ 10 mA

Khoảng cách có thể dò 0 – 3 cm

Mức tín hiệu ngõ ra TTL

Hình 3.6 Cảm biến hồng ngoại TCRT5000 3.2.5 Mạch đọc RFID

Mạch đọc RFID đóng vai trò quan trọng trong việc giúp robot tự xác định vị trí chính xác trên bản đồ Một ví dụ minh họa là mạch HZ-1050, được nhóm sử dụng cho mô hình robot, với các thông số kỹ thuật chi tiết được trình bày trong Bảng 3.5 Mạch đọc RFID này cho phép robot xác định vị trí của mình một cách tự động và chính xác.

Bảng 3.5 Thông số kỹ thuật mạch đọc RFID HZ-1050

Thông số Giá trị Đơn vị

Giao tiếp UART/ Wiegand 26/34 Điện áp hoạt động 3.3 – 5 V

Hình 3.7 Mạch đọc RFID HZ-1050

Mạch được sử dụng cùng với thẻ từ RFID TK4100 như trong Hình 3.8 với các thông số được trình bày

Bảng 3.6 Thông số kỹ thuật thẻ RFID TK4100

Thông số Giá trị Đơn vị

Hình 3.8 Thẻ từ RFID TK4100 tần số 125KHz 3.2.6 Cảm biến Lidar phát hiện vật cản

Cảm biến Lidar được ứng dụng rộng rãi trong việc phát hiện và thu thập thông tin của vật cản nhờ vào độ chính xác cao và khả năng phát hiện ở khoảng cách xa Trong mô hình robot, cảm biến RPLidar A1M8 (Hình 3.9) được lựa chọn sử dụng, với các thông số kỹ thuật chi tiết được trình bày trong Bảng 3.7, mang lại hiệu suất và độ tin cậy cao cho hệ thống.

Bảng 3.7 Thông số kỹ thuật cảm biến RPLidar A1M8

Thông số Giá trị Đơn vị

Nguồn cấp cho động cơ 5 – 10 VDC

Nguồn cấp cho bộ Scanner 5 VDC

Khoảng cách tối đa có thể quét được 12 m

Để truyền tải thông tin của robot về máy tính, nhóm nghiên cứu đã ứng dụng mô-đun giao tiếp không dây Zigbee sử dụng sóng RF Cụ thể, mô-đun Zigbee CC2530 được sử dụng để thực hiện việc truyền nhận thông tin giữa robot và máy tính PC, giúp đảm bảo sự kết nối và tương tác hiệu quả.

Bảng 3.8 Thông số kỹ thuật mô-đun Zigbee CC2530

Thông số Giá trị Đơn vị Điện áp hoạt động 3.3 – 5 V

Dòng điện tiêu thụ 30 mA

Tốc độ truyền tối đa 3300 bps

Tốc độ giao thức 2440 – 115200 bit/s

Giao thức kết nối UART

Hình 3.10 Mô-đun CC2530 3.2.8 Vi điều khiển

Mô hình này sử dụng ba vi điều khiển, mỗi khối chức năng được trang bị một vi điều khiển riêng biệt để đảm nhận việc xử lý và truyền nhận dữ liệu của khối chức năng đó, giúp tăng cường hiệu suất và độ chính xác trong quá trình vận hành.

Bộ xử lý trung tâm của hệ thống là Master, có nhiệm vụ xử lý các giải thuật và đưa ra quyết định điều khiển robot, vì vậy đòi hỏi một bộ xử lý mạnh mẽ Nhóm đã lựa chọn máy tính nhúng Raspberry Pi4 để thực hiện các nhiệm vụ này, với thông số kỹ thuật vượt trội, giúp hệ thống hoạt động hiệu quả.

- Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz

- 2.4 GHz và 5.0 GHz IEEE 802.11ac wireless

- Đầu cắm GPIO 40 chân tiêu chuẩn Raspberry Pi

- Khe cắm thẻ nhớ Micro-SD để tải hệ điều hành và lưu trữ dữ liệu

- 5V DC qua đầu nối USB-C (tối thiểu 3A)

- 5V DC qua đầu cắm GPIO (tối thiểu 3A)

- Nhiệt độ hoạt động: 0-50 độ C

- Mức tiêu thụ điện năng tối đa khoảng 7,6W khi tải và 3,4W khi không tải

- Bộ cấp nguồn USB Type-C, ở mức 5.1V/3A

Pi có thể chạy trên nhiều hệ điều hành khác nhau, bao gồm Raspberry OS (trước đây là Raspbian), Ubuntu và các hệ điều hành đa phương tiện như Kodi OSMC và Libre Elec, mang đến sự linh hoạt và đa dạng trong việc lựa chọn hệ điều hành phù hợp với nhu cầu sử dụng.

Đối với khối Slave 1, hệ thống sử dụng board điều khiển Arduino Mega2560 để thu thập dữ liệu từ các cảm biến hồng ngoại, Lidar và RFID Board Arduino Mega2560 được minh họa trong Hình 3.12, với thông số kỹ thuật chi tiết được cung cấp trong tài liệu tham khảo [42].

- Vi điều khiển chính: ATmega2560

- Dòng hoạt động của mỗi chân I/O: 40mA

- Tốc độ xung clock: 16MHz

Về khối Slave 2, nhóm sử dụng board Arduino Nano để điều khiển động cơ Board được minh họa trong Hình 3.13 và có thông số kỹ thuật như sau [43]:

- Điện áp hoạt động: 5VDC

- Bộ nhớ Flash: 32 KB (2KB dùng cho bootloader)

- Tần số xung clock: 16 MHz

Hình 3.13 Board Arduino Nano 3.2.9 Nguồn năng lượng

3.2.9.1 Pin Để cấp nguồn cho toàn bộ thiết bị trên mô hình, nhóm sử dụng nguồn điện một chiều từ các khối Pin được gắn cố định trên robot vì robot phải di chuyển trong không gian làm việc Mô hình sử dụng hai khối Pin 12VDC và 24VDC, trong đó khối Pin 12VDC dùng để cấp nguồn cho các vi điều khiển, cảm biến, Pin 24VDC cấp nguồn cho động cơ Các khối Pin được đóng khối từ những viên Pin loại 21700 (minh họa ở Hình 3.14) ghép nối tiếp kết hợp với mạch cân bằng điện áp cho ra điện áp ổn định Thông số của hai khối Pin được trình bày lần lượt ở Bảng 3.9 và Bảng 3.10

Bảng 3.9 Thông số khối Pin 12VDC

Thông số Giá trị Đơn vị Điện áp ngõ ra 11.1 – 12 V

Bảng 3.10 Thông số khối Pin 24VDC

Thông số Giá trị Đơn vị Điện áp ngõ ra 24 V

Hình 3.14 Pin sạc 21700 Lishen 4000mAh 3.2.9.2 Mạch giảm áp

Thiết kế mô hình robot di động vi sai bốn bánh

Nhóm đã sử dụng phần mềm Solidworks phiên bản 2021 để thiết kế mô hình robot di động vi sai bốn bánh dựa trên các thiết bị đã được lựa chọn trước đó Mô hình 3D của robot được trình bày chi tiết trong Hình 3.21, cung cấp cái nhìn tổng quan về thiết kế của nó Các chi tiết thiết kế của từng bộ phận sẽ được trình bày cụ thể trong các mục tiếp theo.

Hình 3.21 Mô hình 3D robot di động vi sai có thân vỏ (a) và chi tiết bên trong mô hình (b)

3.3.1 Đế robot Đế robot được sử dụng để gắn tất cả các bộ phận, thiết bị của robot Vì vậy yêu cầu thiết kế phần đế phải được đảm bảo yếu tố bền vững, chắc chắn, có khả năng chịu lực trong suốt quá trình hoạt động của robot Cùng với thông số mô hình robot nên nhóm thiết kế phần đế với kích thước 600 400 10 mm  với vật liệu là nhôm vì độ chắc chắn cũng như khối lượng nhẹ Thiết kế 3D của phần đế được minh họa ở Hình 3.22

Hình 3.22 Thiết kế 3D đế robot 3.3.2 Gá động cơ a) Thiết kế

Gá động cơ là bộ phận quan trọng giúp cố định động cơ lên mô hình robot, đảm bảo độ chắc chắn và ổn định khi vận hành Nhóm thiết kế đã gắn hai động cơ ngược chiều nhau lên gá động cơ, giúp tăng cường độ bền và cứng cáp Với kích thước 292 x 60 x 61 mm và chất liệu thép, gá động cơ có khả năng chịu lực tốt, mang lại sự tin cậy cho mô hình robot Thiết kế 3D của gá động cơ được minh họa chi tiết, giúp người dùng dễ dàng hình dung và áp dụng.

Hình 3.23 Thiết kế 3D gá động cơ b) Bố trí động cơ

Trên cùng một gá sẽ được gắn hai động cơ, gá động cơ được cố định trên đế mô hình như Hình 3.24 thể hiện

Hình 3.24 (a) Hai động cơ được gắn trên một gá, (b) bố trí gá và động cơ trên phần đế 3.3.3 Khung gầm a) Thiết kế

Khung gầm của robot được thiết kế để gắn các cảm biến hồng ngoại dò vạch đường và mạch đọc RFID, giúp dễ dàng xác định vạch đường và thẻ RFID Được đặt phía dưới đế robot, khung gầm này cho phép gắn bảy cảm biến dò vạch đường và một mạch đọc RFID Với thiết kế tối ưu, khung gầm được làm bằng chất liệu nhựa PLA nhẹ và bền, đảm bảo hiệu suất hoạt động tốt.

Hình 3.25 Thiết kế 3D khung gầm b) Bố trí cảm biến dò vạch đường và mạch đọc RFID

Như đã đề cập ở phần thiết kế, hệ thống được trang bị bảy cảm biến hồng ngoại để dò vạch đường và một mạch đọc RFID được gắn trên khung gầm Các cảm biến này được cấp nguồn và tín hiệu thông qua một mạch PCB có cổng kết nối, giúp hệ thống hoạt động ổn định và hiệu quả.

DB D-Sub 15 chân kết nối trực tiếp với vi điều khiển

Để bảo vệ và cố định cảm biến Lidar trên mô hình, nhóm thiết kế đã tạo ra một chi tiết gá bằng nhựa PLA, bao quanh cảm biến như minh họa trong Hình 3.27 Cảm biến Lidar được cố định trên gá thông qua 4 lỗ đường kính 2mm, đồng thời gá được gắn cố định trên đế robot thông qua các lỗ đường kính 4mm, đảm bảo vị trí ổn định và an toàn cho cảm biến.

Hình 3.27 Thiết kế 3D gá cảm biến Lidar 3.3.5 Khung robot

Khung robot đóng vai trò quan trọng trong việc gắn kết các thiết bị của mô hình, gia cố sự chắc chắn và định hình hình dạng của robot Để tạo nên phần khung này, nhóm sử dụng các thanh nhôm định hình 20x20 mm kết nối với nhau thông qua ke góc vuông Quá trình lắp ráp khung được minh họa rõ ràng trong Hình 3.28a, trong khi Hình 3.28b cho thấy cách gắn phần khung lên phần đế robot một cách chắc chắn và hiệu quả.

Hình 3.28 (a) Khung robot, (b) bố trí khung trên đế robot 3.3.6 Hộp chứa vi điều khiển, driver cầu H a) Thiết kế hộp chứa vi điều khiển

Nhóm thiết kế đã tạo ra một hộp chứa các vi điều khiển và board mạch, giúp dễ dàng đấu nối và lắp đặt các vi điều khiển trên mô hình Hộp được thiết kế tinh tế bằng cách cắt mica và ghép lại với nhau thông qua ke góc vuông nhựa, mang lại một kết cấu vững chắc và dễ sử dụng.

Hình 3.29 Hộp đựng vi điều khiển bao gồm (a) mặt trước, (b) mặt sau, (c) mặt trái, (d) mặt phải, (e) mặt dưới và (f) ghép các mặt với nhau b) Hộp chứa driver cầu H

Tương tự như hộp vi điều khiển, hộp chứa driver cầu H được thiết kế và cắt mica được trình bày trong Hình 3.30

Hình 3.30 Hộp chứa driver cầu H bao gồm (a) mặt trước và sau, (b) mặt trái và phải, (c) mặt dưới và (d) ghép các mặt với nhau

Do không gian ở phần đế robot bị hạn chế, nhóm nghiên cứu đã thiết kế thêm một tầng bằng mica vào phần khung robot để có thể chứa các hộp vi điều khiển và driver, giúp tối ưu hóa không gian và đảm bảo hiệu suất hoạt động của robot.

Nhóm thiết kế đã tạo ra phần thân vỏ robot bằng mica như hình 3.31, nhằm mục đích bảo vệ các thiết bị điện tử bên trong robot khỏi các tác động từ môi trường Để tăng độ chắc chắn và ổn định, các mặt của thân vỏ được gắn cố định vào khung nhôm định hình.

Hình 3.31 Thân vỏ mô hình (a) mặt trước, (b) mặt sau, (c) mặt phải, (d) mặt trái và (e) mặt trên

Thi công mô hình robot

Sau khi hoàn thiện thiết kế mô hình, nhóm đã tiến hành tìm kiếm và mua sắm các thiết bị cần thiết cũng như thực hiện gia công các chi tiết cơ khí Tiếp theo, dựa trên bản thiết kế đã được phê duyệt, nhóm đã bắt tay vào thi công mô hình robot di động vi sai bốn bánh.

3.4.1 Đế robot Đế robot được gia công với vật liệu nhôm theo bản vẽ được trình bày trong Hình 3.32 Hình 3.33 là đế robot sau khi gia công

Hình 3.32 Bản vẽ đế robot

Gá động cơ được gia công với vật liệu thép theo bản vẽ được trình bày trong Hình 3.34 Hình 3.35 là gá động cơ sau khi gia công

Hình 3.34 Bản vẽ gá động cơ

Hình 3.35 Gá động cơ 3.4.3 Gá cảm biến Lidar

Gá cảm biến Lidar được thiết kế trên phần mềm Solidworks sau đó được in 3D sử dụng nhựa PLA Sản phẩm sau khi hoàn thành như Hình 3.36

Hình 3.36 Gá và cảm biến Lidar 3.4.4 Khung gầm

Khung gầm của sản phẩm được tạo ra bằng công nghệ in 3D từ vật liệu nhựa PLA, sau đó được trang bị thêm các cảm biến hồng ngoại và RFID thông qua quá trình lắp đặt và đấu dây cẩn thận Quá trình này đã giúp hoàn thiện khung gầm, sẵn sàng cho các ứng dụng thực tế.

Hình 3.37 Lắp cảm biến và RFID trên khung gầm 3.4.5 Hộp chứa driver cầu H

Sau khi thiết kế, nhóm thực hiện cắt mica và hoàn chỉnh hộp đồng thời lắp đặt các driver bên trong hộp như Hình 3.38

Hình 3.38 Hộp driver cầu H 3.4.6 Hộp chứa vi điều khiển

Để hoàn thiện mô hình, nhóm thực hiện đã tiến hành thi công hộp chứa vi điều khiển, giúp mô hình trở nên gọn gàng hơn Hộp chứa này được minh họa chi tiết tại Hình 3.39, trong khi các thông tin cụ thể về mạch PCB và sơ đồ nối dây sẽ được trình bày chi tiết trong các phần tiếp theo của bài viết.

Hình 3.39 Hộp chứa vi điều khiển 3.4.7 Thi công mô hình mobile robot

Sau khi đã hoàn tất các bộ phận, nhóm thực hiện lắp ráp vào mô hình Phần động cơ và khung nhôm được gắn vào mô hình như Hình 3.40

Hình 3.40 Lắp động cơ và khung nhôm trên đế robot

Hộp vi điều khiển và driver được đặt trên tầng hai bắt vào khung nhôm như Hình 3.41

Hình 3.41 Tầng 2 đặt hộp vi điều khiển và driver

Sau khi lắp đặt hoàn chỉnh các thiết bị và bộ phận, nhóm tiến hành đấu dây mạch điều khiển và động lực Quá trình này đòi hỏi sự chính xác và cẩn thận để đảm bảo hệ thống hoạt động trơn tru và hiệu quả Kết quả của quá trình này được minh họa rõ ràng trong hình 3.42, nơi mô hình đã được lắp đặt toàn bộ thiết bị và đi dây mạch điều khiển và động lực một cách hoàn chỉnh.

Hình 3.42 Hoàn tất lắp đặt các bộ phận và đi dây cho mô hình

Cuối cùng, phần thân vỏ được lắp trên mô hình được mô hình hoàn chỉnh như trong Hình 3.43

Hình 3.43 Mô hình robot hoàn chỉnh

Thiết kế và thi công mạch PCB cho mô hình robot

Để đáp ứng yêu cầu điều khiển robot trên thực tế, nhóm thực hiện thiết kế mạch PCB cho mô hình robot, đảm bảo các tiêu chí như phần điện gọn nhẹ, tính thẩm mỹ cao, dễ vận hành, kiểm tra, thay thế và tối ưu về chi phí Mạch PCB được thiết kế có thể gắn hai board điều khiển Arduino Mega2560 và Arduino Nano cùng với mô-đun Zigbee CC2530 thông qua các hàng rào, header Mạch sử dụng nguồn điện 12VDC và được thiết kế hai mạch giảm áp để cung cấp nguồn điện cho các thiết bị khi cần thiết Để bảo vệ các chân tín hiệu khi truyền nhận dữ liệu, nhóm sử dụng một mạch đệm dịch mức logic 3.3V – 5V tích hợp trên mạch PCB.

Hình 3.44 Sơ đồ nguyên lý

Hình 3.45 Bản vẽ mạch PCB

Hình 3.46 Thi công hoàn chỉnh mạch PCB

Sơ đồ kết nối

Sơ đồ điều khiển cấp nguồn cho robot được minh họa ở Hình 3.47, cho phép đấu nối các nguồn điện cần thiết cho mô hình robot Sơ đồ này bao gồm một nút nguồn Power, có chức năng cấp nguồn điện cho cuộn coil K1 và K2 Ngoài ra, Relay 1 đóng vai trò quan trọng trong việc điều khiển nguồn điện cho mạch PCB, trong khi Relay 2 đảm nhiệm việc cấp nguồn 24V cho các driver để điều khiển động cơ Đặc biệt, nút dừng khẩn cấp EMG được thiết kế để ngắt nguồn điện và ngăn chặn robot hoạt động trong trường hợp cần thiết.

Hình 3.47 Sơ đồ kết nối cấp nguồn cho mô hình robot

Sơ đồ đấu dây của Raspberry Pi4 được kết nối với Mega2560 và Nano thông qua giao thức truyền thông UART, đồng thời cũng kết nối với mô-đun truyền thông không dây CC2530 qua giao tiếp UART Điều này cho phép Raspberry Pi4 giao tiếp và trao đổi dữ liệu với các thiết bị khác một cách hiệu quả Sơ đồ kết nối chi tiết của Raspberry Pi4 được minh họa rõ ràng trong Hình 3.48, giúp người dùng dễ dàng hiểu và thực hiện kết nối.

Hình 3.48 Sơ đồ kết nối Raspberry Pi4

Sơ đồ đấu dây của Mega2560 đóng vai trò quan trọng trong việc thu thập và xử lý dữ liệu từ các cảm biến Mega2560 được kết nối với các cảm biến như IR sensor, encoder của động cơ, RFID và Lidar để đọc dữ liệu và thực hiện các tác vụ cần thiết Sau đó, dữ liệu được xử lý sẽ được truyền đến Raspberry để tiếp tục phân tích và xử lý.

Sơ đồ kết nối của Mega2560 được mô tả như Hình 3.49

Hình 3.49 Sơ đồ kết nối Arduino Mega2560

Cuối cùng, sơ đồ kết nối của Arduino Nano đóng vai trò quan trọng trong việc điều khiển động cơ thông qua các Driver Thông qua kết nối với Raspberry, Arduino Nano nhận dữ liệu và thực hiện điều khiển động cơ dựa trên dữ liệu nhận được Cụ thể, sơ đồ kết nối của Arduino Nano được minh họa chi tiết trong Hình 3.50, giúp người dùng dễ dàng hiểu và thực hiện kết nối.

Hình 3.50 Sơ đồ kết nối Arduino Nano

Giao tiếp dữ liệu trong hệ thống

3.7.1 Cấu trúc dữ liệu trong hệ thống

Sơ đồ giao tiếp dữ liệu trong hệ thống được trình bày như Hình 3.51:

Quá trình giao tiếp dữ liệu trong hệ thống diễn ra theo trình tự sau: máy tính kết nối UART với Zigbee, sau đó Zigbee thực hiện truyền và nhận dữ liệu không dây qua sóng RF cho Zigbee của robot di động Raspberry sử dụng ba kênh truyền thông UART để giao tiếp với Zigbee, Nano và Mega, thực hiện nhận dữ liệu từ Mega, xử lý dữ liệu, truyền tín hiệu điều khiển cho Nano và gửi dữ liệu lên giao diện GUI trên PC Mega kết nối UART với Lidar, đầu đọc RFID và Raspberry thông qua giao thức UART, truyền cấu trúc dữ liệu cụ thể cho Raspberry.

Hình 3.52 Chuỗi dữ liệu Mega2560 truyền cho Raspberry 16 bytes đầu tiên

Hình 3.53 Chuỗi dữ liệu Mega2560 truyền cho Raspberry 15 bytes cuối cùng

Sau khi nhận dữ liệu từ Mega, Raspberry thực hiện các thuật toán cần thiết và tổng hợp dữ liệu, sau đó truyền dữ liệu đã xử lý lên Nano và hiển thị trên giao diện GUI Dữ liệu được truyền lên giao diện GUI được trình bày theo chuỗi như mô tả trong Hình 3.54.

Đối với giao diện gửi dữ liệu từ Raspberry cho PC, hai biến quan trọng được sử dụng là m và n, trong đó m biểu thị số đỉnh cần phải di chuyển và n biểu thị số đỉnh đã di chuyển qua.

Giao diện GUI sẽ điều khiển Robot thông qua các lệnh được gửi đến Raspberry, cụ thể là gửi tín hiệu 'R' để kích hoạt Robot hoạt động và tín hiệu 'S' để dừng hệ thống Các lệnh này được mô tả chi tiết trong Bảng 3.12, giúp người dùng dễ dàng điều khiển và quản lý hoạt động của Robot thông qua giao diện GUI trên PC.

Bảng 3.12 Các câu lệnh gửi từ giao diện về Robot

Câu lệnh Byte gửi Thực hiện

Chuỗi dữ liệu Raspberry gửi cho Arduino Nano có cấu trúc như Hình 3.55

Để hệ thống hoạt động chính xác theo thời gian, việc tính toán thời gian truyền nhận dữ liệu của Arduino là cần thiết Với tốc độ truyền (Baudrate = 115200), Arduino có thể truyền được 115200 bit trong 1 giây Dựa trên số byte truyền nhận được thể hiện từ Hình 3.52 đến Hình 3.55, ta có thể thống kê được thời gian truyền nhận dữ liệu như trong Bảng 3.13, giúp hệ thống quản lý thời gian giao tiếp và thực thi chương trình một cách hiệu quả.

Bảng 3.13 Thời gian truyền nhận trong hệ thống

MCU gửi MCU nhận Tốc độ truyền

Zigbee 2 PC 115200 80 80 640 800 6.94 Đối với trường hợp ta chưa biết m và n do đó ta cho số byte Raspberry truyền vào khoảng 80-byte để tính toán thời gian truyền nhận từ đó đưa ra thời gian lấy mẫu hợp lý cho hệ thống

Bảng 3.14 Thời gian lấy mẫu của hệ thống

STT Các tác vụ thực hiện Thời gian lấy mẫu

1 Đọc tín hiệu từ các loại cảm biến và gửi từ

2 Xử lý dữ liệu trong Raspberry và gửi cho

Arduino Nano điều khiển 50ms

Để thu thập và gửi dữ liệu lên giao diện người dùng 100ms, hệ thống robot di động được thiết lập thời gian lấy mẫu cụ thể như Bảng 3.14 Cụ thể, thứ tự truyền nhận, chu kỳ hệ thống và thời gian lấy mẫu hệ thống được mô tả chi tiết trong Hình 3.56, đảm bảo quá trình thu thập và gửi dữ liệu diễn ra hiệu quả và chính xác.

Hình 3.56 Thời gian truyền nhận và chu kỳ lấy mẫu của hệ thống

Hệ thống sẽ bắt đầu hoạt động khi nhận được tín hiệu từ máy tính cá nhân (PC) và thực hiện theo chu kỳ cố định là 100ms Các tác vụ trong hệ thống sẽ được thực hiện dựa trên thời gian lấy mẫu tương ứng, như mô tả trong hình 3.56.

Chương trình điều khiển

3.8.1 Lưu đồ tổng quan hệ thống

Quá trình hoạt động của hệ thống bắt đầu khi Robot được bật nguồn và chờ tín hiệu từ PC Khi nhận được tín hiệu, Slave 1 (Mega) của robot sẽ thu thập dữ liệu cảm biến, đọc và gửi về Master (Raspberry) Tại đây, Raspberry sẽ phân tách và xử lý dữ liệu bằng cách áp dụng các giải thuật cần thiết Sau khi hoàn thành, Raspberry sẽ gộp chuỗi dữ liệu và truyền về Slave 2 (Nano) để thực hiện các hoạt động tiếp theo và cuối cùng truyền dữ liệu về PC để hiển thị trên giao diện GUI.

3.8.2 Lưu đồ của Slave (Arduino Mega)

Hình 3.58 Lưu đồ chương trình chính của Slave (Arduino Mega)

Lưu đồ chương trình ngắt của Slave (Arduino Mega) được thiết kế để thực hiện các chức năng quan trọng trong hệ thống Quá trình này bắt đầu bằng việc khởi tạo các biến cần thiết trong chương trình, sau đó thu thập dữ liệu từ các loại cảm biến khác nhau Dữ liệu cảm biến sau đó được xử lý và gộp lại thành chuỗi dữ liệu thống nhất Cuối cùng, dữ liệu này được truyền đến Master (Raspberry) để thực hiện các giải thuật tối ưu.

3.8.3 Lưu đồ chương trình chính của Master (Raspberry) Đối với Master (Raspberry) sẽ chờ nhận lệnh từ PC Nếu có lệnh bắt đầu chạy, Raspberry sẽ nhận dữ liệu từ Arduino Mega sau đó thực hiện phân tách và tính toán các giải thuật tương ứng Tiếp theo sẽ tổng hợp các dữ liệu và gửi cho Slave (Arduino Nano) để điều khiển và gửi lên PC để hiển thị Lưu đồ chương trình chính của Master được mô tả như Hình 3.60

Hình 3.60 thể hiện lưu đồ chương trình chính của Master (Raspberry), trong đó bao gồm một số chương trình con được sử dụng để thực hiện giải thuật tối ưu Các chương trình con này bao gồm giải thuật A* và tính toán dò line tránh vật cản, sẽ được trình bày chi tiết ở phần sau Ngoài ra, chi tiết về giải thuật quy hoạch chuyển động tối ưu sẽ được mô tả cụ thể tại Chương 4.

3.8.3.1 Lưu đồ chương trình con giải thuật A*

Thuật toán A* được khởi động với các biến bắt đầu và kết thúc, sau đó khởi tạo các tập OpenSet và CloseSet cùng với biến Size Tiếp theo, thuật toán sẽ tính toán các đỉnh có giá trị f(n) nhỏ nhất và mở rộng ra các đỉnh khác cho đến khi tìm được đỉnh đích, từ đó xác định được đường đi tối ưu nhất.

Hình 3.61 Lưu đồ chương trình con giải thuật A*

3.8.3.2 Hàm con tính toán bộ điều khiển PID và trường thế năng

Tiếp theo, chúng ta thực hiện tính toán sai số, giá trị PID và tính toán giá trị trường thế năng đẩy, đồng thời xem xét các trường hợp điểm kỳ dị cho robot Để thực hiện các tính toán này, hàm con cho việc tính toán bộ điều khiển PID và trường thế năng được mô tả chi tiết trong Hình 3.62, giúp chúng ta có thể dễ dàng thực hiện các bước tính toán cần thiết.

Hình 3.62 Hàm con tính toán bộ điều khiển PID và trường thế năng

3.8.4 Lưu đồ của Slave (Arduino Nano)

Cuối cùng, sau khi nhận dữ liệu từ Raspberry, Slave (Arduino Nano) sẽ thực hiện phân tách dữ liệu và xuất tín hiệu điều khiển động cơ phù hợp dựa trên dữ liệu nhận được Quá trình này được thể hiện rõ ràng trong lưu đồ chương trình chính của Slave (Arduino Nano), giúp đảm bảo sự chính xác và hiệu quả trong việc điều khiển động cơ.

Hình 3.63 Lưu đồ chương trình chính của Slave (Arduino Nano)

THIẾT KẾ VÀ MÔ PHỎNG GIẢI THUẬT QUY HOẠCH CHUYỂN ĐỘNG TỐI ƯU CHO ROBOT

Tổng quan về giải thuật quy hoạch chuyển động tối ưu cho robot

Dựa trên yêu cầu hoạt động của hệ thống, nhóm đã thiết kế giải thuật quy hoạch chuyển động tối ưu cho robot, bao gồm việc tìm đường đi tối ưu bằng giải thuật A*, bám quỹ đạo sử dụng bộ điều khiển PID và tránh vật cản sử dụng giải thuật trường thế năng, giúp hệ thống hoạt động hiệu quả và an toàn.

Hình 4.1 Lưu đồ giải thuật quy hoạch chuyển động tối ưu cho robot

Xây dựng bản đồ cho giải thuật

Bản đồ nhóm thiết kế gồm 9 đỉnh được ký hiệu là A, B, C, D, E, F, G, H, I, trong đó đỉnh A được đặt trùng với gốc tọa độ (0,0) trên không gian 2D Các đỉnh được nối với nhau bằng đường thẳng và mỗi đỉnh có thể là ngã ba hoặc ngã tư, cho phép di chuyển đến các đỉnh liền kề Để robot di chuyển mượt hơn, các đường cong được bố trí tại mỗi đỉnh Mỗi vị trí điểm được đánh dấu bằng chấm đen nhỏ, giúp xác định các hàm g(n) và h(n) của thuật toán A* một cách chính xác.

Hình 4.2 Bản đồ kiểm chứng thuật toán đề xuất

Thiết kế giải thuật tìm đường đi tối ưu bằng A*

Thuật toán A* đóng vai trò quan trọng trong việc tìm đường đi của robot Quá trình tính toán thuật toán A* phụ thuộc vào hàm f(n) = g(n) + h(n), trong đó n là đỉnh hiện tại đang xét, g(n) là khoảng cách chính xác từ đỉnh đang xét đến đỉnh ban đầu, và h(n) là khoảng cách ước lượng Heuristic từ đỉnh đang xét đến đỉnh cuối Hàm f(n) là hàm tổng dùng để so sánh đường đi từ điểm đầu đến điểm đích, giúp thuật toán A* tìm ra đường đi tối ưu.

Hình 4.3 Hàm f(n) sử dụng trong giải thuật A*

Bản đồ được thiết kế cho phép xác định chính xác độ dài đường đi từ một đỉnh đến các đỉnh liền kề Để biểu thị giá trị từ đỉnh đến các đỉnh liền kề, nhóm sử dụng ma trận kề (Adjacency matrix) để biểu diễn mối quan hệ giữa các đỉnh trong bản đồ.

Bảng 4.1 Ma trận kề Đỉnh A B C D E F G H I Tổng đỉnh kề

Quan sát bảng trên, ta có thể xác định được điểm có thể di chuyển đến điểm nào và khoảng cách từ điểm đó đến các điểm kề cận Ví dụ, từ điểm A, ta có thể di chuyển đến điểm B, C, D, với khoảng cách lần lượt là 3.79m, 2.40m và 3.79m Các đỉnh này được coi là đỉnh kề của đỉnh A Trong khi đó, các điểm được ghi số 0 cho biết không có đường liền kề để di chuyển từ đỉnh đang xét tới đỉnh đó, và các điểm được ghi ký tự ‘-’ là các điểm bị trùng với điểm hiện tại Từ ma trận kề này, ta có thể tính toán chính xác hàm g n dựa vào số đỉnh đang xét và số đỉnh liền kề.

Khi thiết kế hàm h n ( ) ta cần lưu ý một số đặc điểm của A* khi sử dụng chọn hàm h n ( ) phù hợp:

Giải thuật A* luôn tìm được đường đi ngắn nhất nếu hàm ước lượng h(n) luôn nhỏ hơn hoặc bằng khoảng cách thực di chuyển từ điểm n đến điểm đích Tuy nhiên, cần lưu ý rằng giá trị của hàm h(n) có ảnh hưởng trực tiếp đến hiệu suất của thuật toán, cụ thể là nếu hàm h(n) càng nhỏ thì thuật toán A* sẽ tính toán càng lâu.

Giải thuật A* sẽ luôn tìm được đường đi ngắn nhất và thời gian tính toán sẽ là nhanh nhất nếu hàm ước lượng h(n) luôn bằng khoảng cách thực di chuyển từ điểm n đến điểm đích Điều này đảm bảo rằng giải thuật sẽ tìm được đường đi tối ưu nhất trong thời gian ngắn nhất có thể.

Nếu hàm ước lượng h(n) lớn hơn khoảng cách thực di chuyển từ điểm n đến điểm đích, thuật toán A* có thể không tìm được đường đi ngắn nhất tối ưu Tuy nhiên, điều này giúp giảm thiểu thời gian thực hiện giải thuật, mang lại hiệu suất nhanh chóng hơn.

Việc lựa chọn hàm h(n) phù hợp là vô cùng quan trọng đối với thuật toán A* do đặc tính của nó Để tìm đường đi tối ưu với thời gian thực thi vừa phải, nhóm nghiên cứu đề xuất sử dụng khoảng cách Euclidean để tính toán ước lượng từ điểm hiện tại đến điểm đích, đảm bảo giá trị của hàm h(n) nhỏ hơn hoặc bằng khoảng cách thực.

Dựa vào bản đồ nhóm mô tả Hình 4.2 hàm ước lượng sẽ được tính toán bằng công thức khoảng cách Euclidean (4.1):

Với h S ( → G ) là khoảng cách ước lượng từ điểm Start đến điểm Goal,

( x S , y S ) là tọa độ điểm S, ( x G , y G ) là tọa độ điểm G

Giải thuật A* tính toán hàm tổng hợp f(n) dựa trên hàm g(n) và h(n), sau đó lựa chọn các đỉnh có hàm f(n) nhỏ nhất để mở rộng cho đến điểm đích Điểm đích đầu tiên được chọn sẽ là giá trị tối ưu Quá trình thực hiện giải thuật A* bao gồm các bước được trình bày theo ví dụ minh họa cụ thể, giúp người dùng dễ dàng hiểu và áp dụng giải thuật này trong các tình huống thực tế.

Bước 1: thiết kế bản đồ có trọng số như Hình 4.4 Bản đồ bao gồm 5 đỉnh S,

A, B, C, G Các đỉnh nối với nhau bởi các đường màu đen với hàm g n ( ) được ghi trên đường

Hình 4.4 Bản đồ thực hiện A*

Bước 2: Xác định điểm bắt đầu là S và điểm kết thúc là G, sau đó thực hiện tính toán dựa trên khoảng cách Euclidean được ghi trên các đỉnh với chữ màu đỏ như Hình 4.5, qua đó tính toán các hàm h n ( ) để xác định giá trị phù hợp.

Hình 4.5 Chọn điểm bắt đầu và kết thúc, xác định hàm h(n)

Bước 3: mở rộng điểm S sang các điểm liền kề là điểm A và B và thực hiện tính toán hàm f n ( ) như trong Hình 4.6

Bước 4 của quy trình bao gồm việc đưa điểm S vào tập đóng sau khi đã mở rộng hết Tiếp theo, chúng ta chọn điểm có giá trị f(n) nhỏ nhất, được ký hiệu là điểm A, và thực hiện mở rộng đến các điểm liền kề Trong quá trình này, chúng ta tiếp tục tính toán hàm f(n) và cập nhật giá trị nếu f(n) mới được tính toán nhỏ hơn giá trị trước đó.

Hình 4.7 Chọn điểm A và mở rộng sang điểm liền kề

Bước 5: thực hiện lặp lại quá trình này cho đến khi điểm được chọn là điểm kết thúc G như Hình 4.8

Hình 4.8 Thực hiện đến khi điểm được chọn là điểm G

Từ điểm G, ta xác định các điểm liền kề trước đó để tìm đường đi ngắn nhất với khoảng cách là f(G) Quá trình này giúp xác định được đường đi ngắn nhất là đường qua các điểm S-A-B-C-G với chiều dài là 8, được minh họa rõ ràng trong Hình 4.9.

Hình 4.9 Tìm được đường đi ngắn nhất

Lưu đồ giải thuật của thuật toán A* được trình bày như Hình 4.10

Hình 4.10 Lưu đồ giải thuật tổng quát A*

4.3.4 Chứng minh giải thuật giải thuật A* là giá trị tối ưu toàn cục

Có 2 điều kiện để giải thuật A* là giá trị tối ưu toàn cục [44]

+ Hàm heuristic – h n ( ) phải có tính có thể chấp nhận được (Admissibility)

+ Hàm heuristic – h n ( ) phải có tính nhất quán (Consistency)

4.3.4.1 Tính có thể chấp nhận được (Admissibility) Điều kiện đầu tiên chúng ta yêu cầu để giải thuật A* tối ưu đó là hàm h n ( ) phải có thể chấp nhận được (Admissibility) Admissibility có nghĩa là nó không bao giờ ước lượng quá mức (overestimate) chi phí để di chuyển đến điểm đích Bởi vì hàm

( ) g n là giá trị chi phí thực tế để di chuyển đến n theo đường đi hiện tại và

Việc ước lượng quá mức có thể dẫn đến kết quả không tối ưu khi tìm đường đi từ điểm A đến điểm B Ví dụ, nếu đường đi thực tế là 15 đơn vị nhưng hàm heuristic ước lượng là 30 đơn vị, điều này cho thấy hàm ước lượng đã quá mức so với thực tế, dẫn đến kết quả không còn tối ưu.

Hàm h n ( ) sẽ nhất quán (Consistency) khi thỏa mãn phương trình sau:

Với h n ( ) là khoảng cách ước lượng từ đỉnh n đến đỉnh goal, c n n ( , ' ) là khoảng cách chính xác từ n đến n', h n ( ) ' là khoảng cách ước lượng từ đỉnh n' đến đỉnh goal

Công thức (4.2) được xây dựng dựa trên bất đẳng thức tam giác, theo đó độ dài của một cạnh không bao giờ lớn hơn tổng độ dài của hai cạnh còn lại Tương tự, nếu khoảng cách ước lượng từ đỉnh n đến đỉnh goal nhỏ hơn tổng khoảng cách từ đỉnh n đến đỉnh n' và từ đỉnh n' đến đỉnh goal, thì điều này là không hợp lý và không nhất quán.

Thiết kế giải thuật bám quỹ đạo và tránh vật cản dựa trên bộ điều khiển PID và trường thế năng

4.4.1 Thiết kế giải thuật bám quỹ đạo dựa trên bộ điều khiển PID

Mô hình robot di động vi sai được trang bị 7 cảm biến hồng ngoại để thực hiện chức năng di chuyển bám line chính xác Các cảm biến này được bố trí một cách khoa học và có thứ tự cụ thể, giúp robot có thể nhận biết và theo dõi đường line một cách hiệu quả.

Hình 4.11 Thứ tự bố trí cảm biến dò line trên mô hình thực

Nhóm ứng dụng bộ điều khiển PID để xây dựng giải thuật dò line cho mô hình Các bước thực hiện giải thuật như sau:

Bước 1: Khởi tạo các biến và nhập thông số bộ điều khiển K P , K D , K I

Bước 2: Đọc giá trị từ cảm biến hồng ngoại

Bước 3: Dựa vào giá trị cảm biến tính toán sai số so với đường line

Để tính toán sai số (error - e), chúng ta cần đặt giá trị trọng số cho từng cảm biến Cảm biến chính giữa sẽ được đặt là 0, các cảm biến bên phải sẽ được đặt lần lượt là 1, 2 và 3, trong khi các cảm biến bên trái sẽ được đặt là -1, -2 và -3 Trọng số của cảm biến được mô tả chi tiết trong hình 4.12.

Hình 4.12 Trọng số của từng loại cảm biến

Sau khi phân bổ trọng số cho cảm biến, chúng ta sử dụng công thức trung bình để tính toán sai số so với đường chuẩn Công thức này được thể hiện ở phương trình (4.3) và giúp chúng ta xác định mức độ sai lệch giữa giá trị đo được và giá trị thực tế.

Với cảm biến số từ 0 đến 6, được ký hiệu lần lượt là x0 đến x6, và giá trị trọng số tương ứng từ y0 đến y6, chúng ta có thể xác định được sai số của xe so với đường thẳng (line) một cách chính xác.

Bước 4: Tính luật điều khiển PID theo công thức:

Trong đó, u PID là tín hiệu điều khiển từ bộ điều khiển PID, e là sai số

Bước 5: Tính giá trị xuất xung PWM điều khiển bánh trái và bánh phải

Sơ đồ khối tổng quát điều khiển robot di động bám line thể hiện như Hình 4.13

Để tăng độ an toàn cho xe khi di chuyển bám quỹ đạo, nhóm nghiên cứu đã thiết kế giải thuật tránh vật cản dựa theo phương pháp trường thế năng Giải thuật này tạo ra một trường thế năng đẩy nhân tạo (Repulsive potential field – RPF) tác động vào xe để đẩy xe ra xa vật cản, với độ lớn trường thế năng càng lớn khi gần vật cản và nhỏ lại khi xa vật cản.

Hình 4.14 Vật cản có kích thước hình vuông (20  20), (b) Độ lớn trường thế năng đẩy của vật cản 2D, (c) Độ lớn trường thế năng đẩy của vật cản 3D

Trường thế năng đẩy của vật cản có thể mô tả đơn giản như Hình 4.15

Trường thế năng đẩy thông thường có công thức (2.24), nhưng lực đẩy mà nó tạo ra thường khá nhỏ, khiến robot không thể bị đẩy xa khỏi vật cản khi ở vị trí xa, dẫn đến giảm độ an toàn Để giải quyết vấn đề này, nhóm nghiên cứu đã đề xuất một công thức mới cho trường thế năng đẩy, giúp tăng lực đẩy robot khi vật cản ở xa, được biểu diễn bởi công thức (4.5).

Trong mô hình này, hệ số đẩy được ký hiệu là , khoảng cách từ điểm q đến vật cản được biểu thị bằng D q ( ), ngưỡng tác động của vật cản lên môi trường xung quanh được ký hiệu là Q * và góc giữa robot và vật cản được ký hiệu là , tất cả đều đóng vai trò quan trọng trong việc xác định tương tác giữa robot và vật cản.

Công thức (4.5) được cấu thành từ hai thành phần chính, bao gồm thành phần căn thức và thành phần lượng giác Thành phần căn thức trong công thức này có sự thay đổi so với thành phần bậc 2 của công thức thông thường, dẫn đến lực đẩy lớn hơn trong trường thế năng đẩy khi robot ở xa vật cản Điều này được minh họa rõ ràng qua hình 4.16, thể hiện sự so sánh giữa hai thành phần căn thức và mũ trong trường thế năng đẩy.

Hình 4.16 So sánh sự khác nhau giữa hàm bậc 2 và hàm căn thức

Trường thế năng đẩy của robot tăng đáng kể khi ở xa vật cản và giảm dần khi đến gần, giúp robot tránh vật cản từ xa và đảm bảo an toàn Ngoài ra, thành phần lượng giác cũng đóng vai trò quan trọng, dựa trên góc của robot và vị trí vật cản, giúp tăng giá trị đẩy khi vật ở phía trước và giảm dần khi vật ở hai bên robot, nhờ giới hạn góc từ 90 đến 270 trong quá trình quét.

4.4.3 Thiết kế giải thuật kết hợp giữa phương pháp bám quỹ đạo và tránh vật cản

4.4.3.1 Giải thuật bám quỹ đạo kết hợp tránh vật cản Đối với việc bám đường dẫn ta sử dụng bộ điều khiển PID, bộ điều khiển này có vai trò như trường thế năng hút, hút robot vào vị trí giữa đường line Ngược lại, khi xuất hiện vật cản, vật sẽ tạo ra một trường thế năng đẩy đẩy vật ra xa đường line Trường thế năng kết hợp giữa lực hút và lực đẩy được biểu diễn như Hình 4.17

Khi di chuyển không có vật cản, robot sẽ được giữ bám đường nhờ trường thế năng hút do bộ điều khiển PID cung cấp, giúp tránh bị lệch quỹ đạo Tuy nhiên, khi gặp vật cản, lực đẩy ra khỏi đường dẫn sẽ lớn hơn lực hút của bộ điều khiển, khiến robot thực hiện tránh vật cản bằng cách di chuyển vào vùng ảnh hưởng của nó Sau khi vượt qua vật cản, lực hút của đường line do bộ điều khiển PID cung cấp sẽ giúp robot quay trở lại đường đi và tiếp tục di chuyển bám quỹ đạo một cách chính xác.

Hình 4.17 Trường thế năng hút và trường thế năng đẩy kết hợp

Kết hợp phương pháp bám quỹ đạo và tránh vật cản, công thức điều khiển tổng thể PID được thể hiện qua công thức (4.6): tổng tín hiệu điều khiển u được tính bằng tổng của tín hiệu điều khiển bám quỹ đạo u và tín hiệu điều khiển tránh vật cản u, được biểu diễn bằng phương trình u = u + u.

4.4.3.2 Giải thuật tìm đường mới khi không thể tránh vật cản

Trong quá trình di chuyển trong bản đồ A*, xe có thể gặp phải các vật cản trên đường đi, đặc biệt là khi vật cản nằm bên trái hoặc bên phải đường line Để vượt qua những chướng ngại vật này, xe sẽ thực hiện tránh vật cản kết hợp bám line Tuy nhiên, trong một số trường hợp đặc biệt, khi vật cản quá lớn hoặc chặn hết đường, khiến xe không thể di chuyển được nữa, thì xe sẽ tìm một đường đi khác tối ưu để di chuyển đến điểm đích Những trường hợp này được gọi là "điểm kỳ dị" (singularity), mô tả trong Hình 4.18, đòi hỏi xe phải có khả năng xử lý linh hoạt và tìm đường đi mới để đạt được mục tiêu.

Khi gặp điểm kỳ dị, xe sẽ tự động thực hiện quay đầu và di chuyển đến node gần nhất trước đó, sau đó tính toán lại đường đi ngắn nhất từ vị trí hiện tại đến điểm đích Tiếp theo, xe sẽ di chuyển theo đường mới này để tránh vật cản, đảm bảo quá trình di chuyển được thực hiện một cách an toàn và hiệu quả.

Hình 4.19 Xe thực hiện di chuyển đường đi mới khi gặp trường hợp singularity Điều kiện để cho xe là điểm kỳ dị được mô tả như công thức (4.7)

( ) 350 &175 185 singularity true if D q false if other

Lưu đồ giải thuật bám quỹ đạo kết hợp tránh vật cản được trình bày chi tiết trong Hình 4.20, trong đó khoảng cách từ vật đến robot (Dq) và góc của robot so với vật cản () đóng vai trò quan trọng trong việc điều khiển chuyển động của robot.

Hình 4.20 Lưu đồ giải thuật bám quỹ đạo, tránh vật cản kết hợp A*

Mô phỏng giải thuật quy hoạch chuyển động tối ưu

Để mô phỏng chuyển động của robot, nhóm nghiên cứu đã xây dựng một mô hình đơn giản có cấu trúc tương tự như mô hình thực tế để thử nghiệm và tối ưu hóa giải thuật Cấu trúc của robot trong mô phỏng này được minh họa rõ ràng trong Hình 4.21, cung cấp cái nhìn tổng quan về thiết kế và hoạt động của mô hình.

Hình 4.21 Cấu trúc robot trong mô phỏng

Cấu trúc trong mô phỏng đơn giản và sử dụng 3 khối chính:

- Khối sensor: có chức năng thu thập tín hiệu từ môi trường bên ngoài

- Khối controller: có chức năng là bộ điều khiển xe mô phỏng theo giải thuật

- Khối actuator: Có chức năng điều khiển xe chuyển động

4.5.1 Xây dựng phần cứng robot trên mô phỏng Để mô phỏng chính xác nhóm đã thực hiện xây dựng robot trong mô phỏng có các chức năng tương tự như robot thực tế Hình 4.22 là ngoại hình tổng quan robot trong mô phỏng

Hình 4.22 Mô hình tổng quan robot trên mô phỏng

Dựa trên thông số mô hình thực của robot, chúng tôi xây dựng mô hình robot có kích thước tương quan với mô hình thực Cụ thể, kích thước phần thân robot là 600mm x 400mm x 270mm, trong khi đó kích thước bánh xe có đường kính là 145mm, giúp tạo nên một mô hình robot hoàn chỉnh và chính xác.

Hình 4.23 (a) Chiều dài và chiều rộng robot trên mô phỏng, (b) chiều cao và đường kính bánh xe trên mô phỏng

Để hoàn thiện chức năng của robot, bước tiếp theo là gắn các loại cảm biến cần thiết, bao gồm cảm biến hồng ngoại, cảm biến lidar, GPS và động cơ Những thiết bị này cho phép robot hoạt động giống như mô hình thực tế Hình 4.24 minh họa các loại cảm biến và cơ cấu chấp hành được trang bị cho robot, giúp nó có thể thực hiện các nhiệm vụ một cách chính xác và hiệu quả.

Hình 4.24 Trang bị các loại cảm biến và động cơ cho robot trong mô phỏng

4.5.2 Thiết lập bản đồ trong môi trường mô phỏng

Dựa trên bản đồ thực tế được trình bày ở Hình 4.2, nhóm thực hiện đã tạo bản đồ tương tự trong phần mềm Solidworks để phục vụ cho quá trình mô phỏng Kết quả thể hiện ở Hình 4.25 cho thấy bản đồ được vẽ có kích thước tương đồng với bản đồ thực tế, đảm bảo độ chính xác cao trong quá trình mô phỏng.

Hình 4.25 Kích thước bản đồ trong phần mềm Solidworks

Sau khi hoàn thành bản đồ, chúng ta sẽ đưa bản đồ vào môi trường mô phỏng Webots và xác định các nút (node) cần thiết để mô phỏng và tối ưu hóa giải thuật Quá trình này sẽ giúp chúng ta đánh giá hiệu quả của giải thuật và thực hiện các điều chỉnh cần thiết.

Hình 4.26 Bản đồ khi đưa vào mô phỏng

Sau khi đã có bản đồ thích hợp ta thực hiện thiết kế bộ điều khiển giải thuật trong mô phỏng và đánh giá giải thuật

4.5.3 Thiết kế bộ điều khiển cho robot trong mô phỏng Đối với chương trình mô phải ta thực hiện thiết kế bộ điều khiển như các giải thuật đã nêu tại mục 4.3, 4.4 Lưu đồ giải thuật chương trình mô phỏng được trình bày như Hình 4.27

Hình 4.27 Lưu đồ bộ điều khiển cho chương trình mô phỏng

Bộ điều khiển sẽ bắt đầu bằng cách xác định vị trí ban đầu và vị trí kết thúc của xe, sau đó sử dụng giải thuật A* để tìm đường đi tối ưu từ vị trí hiện tại đến vị trí đích Khi đường đi đã được xác định, xe sẽ thu thập dữ liệu từ môi trường và xử lý dữ liệu đó Trong quá trình di chuyển, nếu xe đến gần vị trí được xác định bởi hệ thống GPS (thay thế cho cảm biến RFID), bộ điều khiển sẽ điều khiển xe di chuyển đến vị trí tiếp theo theo đường đi đã được tính toán Nếu gặp vật cản, xe sẽ tính toán lực hút và lực đẩy, đồng thời kiểm tra xem có rơi vào trường hợp bẫy cực tiểu hay không Nếu có, xe sẽ quay đầu và tìm đường đi khác bằng giải thuật A* Nếu không, xe sẽ tiếp tục di chuyển, dò line và tránh vật cản cho đến khi đến vị trí đích.

4.5.4 Một số kết quả trong mô phỏng

4.5.4.1 Mô phỏng di chuyển từ điểm xuất phát đến điểm đích

Hình 4.28 Xe di chuyển từ đỉnh A đến đỉnh H

Nhóm thực hiện đã áp dụng giải thuật A* để tìm đường đi tối ưu từ điểm bắt đầu đến điểm kết thúc, sau đó mô phỏng robot di chuyển theo đường đi này Kết quả cho thấy giải thuật A* đã tìm được đường đi ngắn nhất qua các điểm A-C-E-G-H với chiều dài đường đi là 720m Điều này chứng tỏ giải thuật A* luôn tìm được đường đi phù hợp với khoảng cách từ đỉnh đầu đến đỉnh cuối là tối ưu nhất, giúp robot di chuyển hiệu quả.

4.5.4.2 Mô phỏng tìm đường đi mới

Tương tự như mô phỏng trên, nhưng có một vật cản được đặt giữa điểm A và

Khi robot di chuyển, cảm biến Lidar phát hiện vật cản, hệ thống sẽ kích hoạt cơ chế tránh chướng ngại vật Lúc này, giải thuật A* sẽ được áp dụng để tìm đường đi mới hiệu quả, giúp robot di chuyển an toàn qua các điểm A-B-F-G-H với chiều dài đường đi tối ưu là 9.79m, như thể hiện trong Hình 4.29.

Khi xe di chuyển gặp điểm kỳ dị, hệ thống sẽ thực hiện tính toán lại A* để tìm đường đi tối ưu từ vị trí hiện tại gần nhất đến điểm kết thúc Kết quả cho thấy giải thuật này có khả năng giúp xe tìm được đường đi hiệu quả từ vị trí đầu đến vị trí cuối ngay cả khi gặp điểm kỳ dị Điều này chứng tỏ giải thuật A* có thể thích nghi và tìm ra giải pháp tối ưu trong các tình huống phức tạp.

4.5.4.3 Mô phỏng tránh vật cản

Khi robot di chuyển trên đường đi, nếu gặp một vật cản nằm bên trái đường đi giữa điểm B và điểm F, nó sẽ tự động thực hiện tránh vật cản bằng cách chuyển hướng sang bên phải Sau đó, robot sẽ quay lại đường đi ban đầu và tiếp tục thực hiện lộ trình đã định như trong Hình 4.30, đảm bảo không bị gián đoạn trong quá trình di chuyển.

Hình 4.30 Mô phỏng robot tránh vật cản

Theo kết quả mô phỏng, giải thuật đã giúp robot vừa có thể tìm đường đi mới đồng thời tránh vật cản trong quá trình di chuyển

CHƯƠNG 5: THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ

Chương này tập trung vào việc xây dựng bản đồ thực tế, bao gồm cả quá trình thực hiện và kết quả thực nghiệm thu được Qua đó, chúng tôi sẽ đưa ra những nhận xét và đánh giá khách quan về hiệu suất của hệ thống, giúp người đọc hiểu rõ hơn về tính khả thi và hiệu quả của nó.

Xây dựng bản đồ thực tế

Để kiểm chứng hiệu quả của giải thuật đề xuất, nhóm đã xây dựng một bản đồ thực tế với kích thước 6600 x 3300mm, bao gồm 9 điểm nút từ A đến I, mỗi nút có một tọa độ tương ứng và được trang bị thẻ từ RFID để giúp robot xác định vị trí hiện tại và di chuyển theo quỹ đạo tối ưu do giải thuật A* tìm được.

Hình 5.1 Xây dựng bản đồ thực tế

Ngày đăng: 28/12/2023, 18:51

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

TÀI LIỆU LIÊN QUAN

w