TÓM TẮT ĐỒ ÁN Nghiên cứu thuật toán tối ưu hóa quỹ đạo di chuyển cho robot vận chuyển hàng hóa Với sự phát triển nhanh chóng của công nghiệp 4.0, việc tự động hóa trong các hoạt động tr
CƠ SỞ LÝ THUYẾT
Tổng quan về mobile robot
Trong thời đại công nghiệp 4.0, tự động hóa và công nghệ robot ngày càng trở nên quan trọng trong lĩnh vực vận chuyển và logistics Robot đã trở thành phần thiết yếu trong hoạt động kho bãi, mang lại nhiều lợi ích như tăng năng suất, hiệu quả và an toàn Chúng đóng vai trò quan trọng trong các quy trình như picking, packing và palletizing, đồng thời làm việc trong những khu vực nguy hiểm hoặc khó tiếp cận Với khả năng tự động di chuyển và định vị chính xác, robot giúp tăng tốc độ xử lý đơn hàng và giảm chi phí nhân công.
Tại Việt Nam, robot đang ngày càng được áp dụng trong lĩnh vực vận chuyển và logistics, đặc biệt trong các khu công nghiệp và kho bãi hiện đại Các ứng dụng tiêu biểu của công nghệ này đang góp phần nâng cao hiệu quả và tiết kiệm chi phí trong quá trình vận chuyển hàng hóa.
Robot di chuyển tự động (AGV) là các phương tiện tự hành được thiết kế để vận chuyển hàng hóa trong các nhà máy, kho bãi và cảng biển Chúng có khả năng tự động di chuyển theo các lộ trình đã được lập trình sẵn hoặc sử dụng cảm biến để nhận diện và tránh các chướng ngại vật trong môi trường xung quanh.
Robot phục vụ kho là những thiết bị hiện đại được áp dụng trong các kho hàng để thực hiện các nhiệm vụ như lưu trữ, lấy và sắp xếp hàng hóa một cách nhanh chóng và chính xác.
Hình 2.2 Robot phục vụ trong nhà kho
Robot giao hàng tự động đang ngày càng được áp dụng rộng rãi, đặc biệt trong các dịch vụ giao hàng tại các thành phố lớn Những robot này không chỉ giúp rút ngắn thời gian giao hàng mà còn tăng cường tính linh hoạt trong quá trình vận chuyển.
Mặc dù robot đã được ứng dụng trong lĩnh vực logistics tại Việt Nam, nhưng quy mô vẫn còn hạn chế so với các quốc gia phát triển Nhiều công ty logistics và nhà máy sản xuất vẫn chủ yếu phụ thuộc vào lao động thủ công và các phương tiện vận chuyển truyền thống.
Các nền kinh tế phát triển như Mỹ, Châu Âu và Nhật Bản đang tích cực áp dụng công nghệ robot trong lĩnh vực logistics, với quy mô và mức độ tự động hóa ngày càng gia tăng.
Amazon Robotics, công ty con của Amazon, đã triển khai hàng nghìn robot trong các kho hàng của mình, nhằm hỗ trợ hiệu quả cho các hoạt động lưu trữ, sắp xếp và lấy hàng Việc ứng dụng công nghệ robot trong logistics không chỉ giúp tối ưu hóa quy trình làm việc mà còn nâng cao năng suất và giảm thiểu thời gian xử lý đơn hàng.
Ocado (Anh) là một hãng bán lẻ thực phẩm tiên tiến, nổi bật với hệ thống robot kho hiện đại, nơi hàng nghìn robot di chuyển tự động để thu gom và sắp xếp hàng hóa vào các thùng chuyển phát.
Magazino, một công ty đến từ Đức, chuyên sản xuất robot di chuyển tự động phục vụ cho ngành logistics Những sản phẩm của họ có khả năng tự định vị và di chuyển linh hoạt trong các kho hàng, giúp tối ưu hóa quy trình vận hành và nâng cao hiệu quả làm việc.
Mujin (Nhật Bản): Là nhà cung cấp robot phục vụ kho hàng tự động hóa cao, với khả năng điều khiển chính xác và an toàn
Ứng dụng robot trong lĩnh vực logistics đang trở thành xu hướng toàn cầu, mang lại nhiều lợi ích như tăng năng suất, rút ngắn thời gian giao hàng, cải thiện an toàn và giảm chi phí nhân công.
Tổng quan về bài toán tìm đường đi cho các đối tượng (MAPF)
Bài toán tìm đường đi tối ưu cho một đối tượng (single-agent pathfinding) là một vấn đề quan trọng trong nhiều lĩnh vực như dẫn đường GPS và lập trình robot Để giải quyết vấn đề này, các thuật toán tìm kiếm, đặc biệt là thuật toán A*, được sử dụng, với hàm chi phí f(n) = g(n) + h(n) Trong đó, g(n) là chi phí đường đi ngắn nhất từ trạng thái bắt đầu đến trạng thái n, và h(n) là hàm ước lượng chi phí từ n đến trạng thái mục tiêu Nếu hàm ước lượng h có tính chấp nhận được, A* sẽ tìm ra đường đi tối ưu từ trạng thái bắt đầu đến trạng thái mục tiêu nếu tồn tại.
Bài toán tìm đường đi tối ưu cho nhiều đối tượng (multi-agent pathfinding - MAPF) là sự mở rộng của bài toán tìm đường cho một đối tượng, với k > 1 MAPF bao gồm một đồ thị và nhiều đối tượng, mỗi đối tượng có trạng thái bắt đầu và mục tiêu riêng Nhiệm vụ chính là tìm đường đi cho tất cả các đối tượng từ trạng thái bắt đầu đến trạng thái mục tiêu mà không va chạm trong quá trình di chuyển Thêm vào đó, mục tiêu có thể là tối thiểu hóa hàm chi phí tích lũy, như tổng số bước thời gian cần thiết cho mỗi đối tượng để đạt đến mục tiêu MAPF có nhiều ứng dụng thực tiễn trong lĩnh vực trò chơi điện tử, điều khiển giao thông, robotics và hàng không.
Hình 2.8 Bản đồ nhà kho
Mục tiêu chính của các trình giải MAPF (Multi-Agent Path Finding) là phát triển một kế hoạch hành động cho từng đối tượng, đảm bảo không xảy ra va chạm Để đạt được điều này, các trình giải MAPF áp dụng khái niệm xung đột trong lập kế hoạch, với một giải pháp MAPF được coi là hợp lệ khi không có xung đột giữa các kế hoạch hành động của các đối tượng riêng lẻ.
MAPF bao gồm nhiều định nghĩa khác nhau về các xung đột giữa các kế hoạch, phụ thuộc vào môi trường Một số xung đột phổ biến được liệt kê như sau:
Xung đột đỉnh xảy ra khi hai đối tượng cùng lên kế hoạch di chuyển và chiếm cùng một đỉnh vào cùng một thời điểm Điều này có thể gây ra sự cố trong quá trình di chuyển và ảnh hưởng đến hiệu suất của hệ thống Để tránh xung đột đỉnh, cần có các biện pháp quản lý và điều phối hợp lý giữa các đối tượng.
Xung đột cạnh (edge conflict) xảy ra khi hai đối tượng có kế hoạch di chuyển qua cùng một cạnh tại cùng một thời điểm và theo cùng một hướng Điều này thường dẫn đến sự cạnh tranh giữa các đối tượng, gây ra những vấn đề trong việc quản lý lộ trình và hiệu suất di chuyển.
Xung đột theo sau giữa hai đối tượng xảy ra khi một đối tượng lên kế hoạch chiếm một đỉnh mà trước đó đã bị một đối tượng khác chiếm giữ.
Xung đột chu kỳ xảy ra khi các đối tượng cùng lúc di chuyển đến một đỉnh đã bị chiếm giữ bởi đối tượng khác Hiện tượng này tạo ra một mẫu "chu kỳ luân chuyển" giữa các kế hoạch hành động đơn lẻ của từng đối tượng.
Xung đột hoán vị xảy ra khi hai đối tượng được dự kiến hoán đổi vị trí trong cùng một thời điểm Tình trạng này có thể dẫn đến những rắc rối trong việc quản lý và thực hiện các kế hoạch, ảnh hưởng đến hiệu quả hoạt động Để giải quyết xung đột hoán vị, cần có sự phối hợp chặt chẽ giữa các bên liên quan nhằm đảm bảo quá trình hoán đổi diễn ra suôn sẻ và hiệu quả.
Hình 2.9 Các loại xung đột
Trong đó: a.xung đột cạnh; b xung đột đỉnh, c xung đột theo sau; d xung đột chu kỳ; e xung đột hoán vị [10]
2.2.2.2 Các hành vi tại điểm đến
Liên quan đến hành vi của đối tượng tại vị trí mục tiêu, chúng tôi sẽ xem xét các giả định có thể xảy ra sau khi nó đã đạt được mục tiêu và trước khi đối tượng cuối cùng đạt được mục tiêu của mình Một trong những giả định là đối tượng sẽ ở lại tại mục tiêu, chờ đợi và chiếm giữ vị trí này cho đến khi các đối tượng khác vẫn đang di chuyển.
Rời khỏi mục tiêu là một giả định trong đó đối tượng sẽ biến mất sau khi đạt được mục tiêu Thời gian chiếm giữ mục tiêu có thể được xác định, với khoảng thời gian từ 1 bước (tức là đối tượng chỉ chiếm giữ vị trí trong thời gian đến) cho đến bất kỳ khoảng thời gian nào khác.
Trong bài viết này, chúng ta sẽ khám phá 9 số nguyên dương, ví dụ, nếu thời gian chiếm giữ mục tiêu là 3, điều đó có nghĩa là đối tượng cần ở lại tại mục tiêu trong 3 bước thời gian trước khi biến mất và giải phóng vị trí đó.
Trong cả hai trường hợp, chi phí chờ đợi tại mục tiêu là 0 Tuy nhiên, nếu một đối tượng đã đạt được mục tiêu nhưng phải di chuyển đi, tổng chi phí sẽ tăng lên Điều này xảy ra vì hành động tại mục tiêu chỉ miễn phí khi đối tượng không cần di chuyển sau đó.
Có thể phân loại các giải thuật giải quyết vấn đề tìm đường đi tối ưu cho nhiều đối tượng (MAPF) thành hai loại chính:
Bộ giải thuật tối ưu được áp dụng cho bài toán MAPF với số lượng đối tượng tương đối, nhằm tìm ra giải pháp có chi phí tối thiểu Những giải thuật này có thể hoàn chỉnh, đảm bảo tìm ra giải pháp nếu nó tồn tại.
Bộ giải thuật không tối ưu được sử dụng phổ biến khi đối mặt với số lượng đối tượng lớn Trong những tình huống này, mục tiêu chính là tìm ra giải pháp một cách nhanh chóng, mặc dù giải pháp đó có thể không phải là tối ưu.
Cách phân loại khác dựa trên phương pháp tiếp cận để giải quyết vấn đề Các phương pháp này có thể chia thành hai loại:
Một số thuật toán di chuyển tối ưu hóa cho mobile robot
Bài toán tìm đường đi cho nhiều đối tượng MAPF (Multi-Agent Path Finding) liên quan đến việc xác định các lộ trình tối ưu cho nhiều tác nhân (agents) di chuyển từ vị trí khởi đầu đến vị trí đích mà không gây ra xung đột.
Trong MAPF, mục tiêu chính là tối ưu hóa các tiêu chí như thời gian di chuyển và quãng đường (số bước) Tùy thuộc vào từng trường hợp sử dụng, sẽ có những bộ giải quyết (solver) khác nhau để giải quyết bài toán Dưới đây là bốn bộ giải quyết (solver) đại diện cho từng loại.
Bộ xử lý dựa trên tìm kiếm xung đột (Conflict-Based Search - CBS) là một giải pháp phổ biến cho bài toán lập kế hoạch nhiều tác nhân (MAPF) với hai cấp độ: tính hoàn thiện và tối ưu Ở cấp độ cao, CBS bắt đầu từ một nút gốc với đường đi ngắn nhất cho từng đối tượng, không tính đến các đối tượng khác Khi phát hiện va chạm, nó tạo ra hai nút con với ràng buộc mới để ngăn chặn một trong các đối tượng liên quan đến va chạm di chuyển đến vị trí va chạm tại thời điểm đó Sau đó, CBS gọi cấp độ thấp để lập kế hoạch lại các đường đi của các đối tượng với các ràng buộc mới Quá trình này lặp lại cho đến khi tìm được một nút với các đường đi không va chạm.
Bộ xử lý Enhanced CBS (ECBS) là một biến thể hoàn thiện nhưng chưa tối ưu của CBS, với giới hạn chưa tối ưu được xác định bởi chi phí giải pháp không đạt được mức tối ưu theo tỷ lệ cụ thể Điều này được thực hiện thông qua việc áp dụng tìm kiếm tiêu điểm thay vì tìm kiếm ưu tiên tốt nhất, ở cả hai cấp độ cao và thấp của CBS.
Bộ xử lý Cooperative A* (CA*) sử dụng lược đồ lập kế hoạch ưu tiên đơn giản, trong đó mỗi đối tượng được gán một độ ưu tiên duy nhất để tính toán đường đi ngắn nhất mà không va chạm với các đường đi đã được lập kế hoạch của các đối tượng ưu tiên cao hơn CA* được ưa chuộng trong thực tiễn nhờ thời gian chạy nhanh, nhưng nó vẫn chưa tối ưu và không hoàn thiện, vì thứ tự ưu tiên cố định có thể dẫn đến chất lượng giải pháp kém hoặc không tìm ra giải pháp cho các trường hợp MAPF có thể giải quyết.
Bộ xử lý tìm kiếm ưu tiên (PBS) kết hợp các ý tưởng của CBS và CA*, với cấp độ cao tương tự như CBS nhưng thay vì thêm ràng buộc vào các nút con, PBS gán độ ưu tiên cao hơn cho một trong các đối tượng liên quan đến va chạm Cấp độ thấp của PBS tương tự như CA* trong việc lập kế hoạch đường đi ngắn nhất theo thứ tự ưu tiên riêng phần.
PBS được phát triển từ các cấp độ cao, mang lại nhiều biến thể trong việc lập kế hoạch ưu tiên nhằm nâng cao chất lượng giải pháp Tuy nhiên, vẫn còn tồn tại những hạn chế và chưa đạt được tối ưu hóa hoàn toàn.
Một số phương pháp xác định đường đi cho mobile robot
Với sự phát triển nhanh chóng của công nghệ, robot di động hiện nay được trang bị các phương thức dẫn đường tiên tiến, linh hoạt và an toàn hơn Dưới đây là một số phương thức dẫn đường phổ biến hiện nay.
Dẫn đường bằng tia Laser
Trong phương pháp này, robot di động được trang bị hệ thống thu phát laser, cho phép nó phát ra tia laser và thu nhận tín hiệu phản xạ từ các gương phản xạ được lắp đặt trong khu vực hoạt động.
Từ các tín hiệu phản xạ này, robot sẽ tính toán để xác định vị trí hiện tại của mình
Hình 2.10 Phương pháp dẫn đường bằng tia laser
Dẫn đường bằng line quang và line từ
Robot di động hoạt động dựa trên các đường line màu phản quang hoặc dải từ trường được đặt dưới nền, sử dụng cảm biến để phát hiện và theo dõi chúng Hệ thống này có khả năng tích hợp thẻ nhận dạng RFID, mang lại sự linh hoạt trong việc điều chỉnh bản đồ di chuyển và nâng cao độ chính xác.
Hình 2.11 Phương pháp dẫn đường bằng line từ
Dẫn đường bằng điện từ sử dụng dây dẫn kim loại chôn dưới nền để tạo ra từ trường khi có dòng điện Robot nhận diện và di chuyển theo tín hiệu từ trường này thông qua cảm biến từ trường Thay vì sử dụng dây dẫn, có thể đặt các điểm phát từ trường cách nhau một khoảng nhất định để dẫn đường cho robot.
Robot 3M sử dụng cảm biến từ trường, encoder và con quay hồi chuyển để thu thập tín hiệu, giúp xác định vị trí và hướng di chuyển một cách chính xác.
Hình 2.12 Phương pháp dẫn đường bằng điểm từ
Dẫn đường tự nhiên bằng công nghệ SLAM
Phương pháp này áp dụng cảm biến laser để quét và lập bản đồ khu vực làm việc mà không cần gương phản xạ Công nghệ SLAM cho phép robot di động tự động nhận diện và lập bản đồ môi trường xung quanh, mang lại lợi ích về chi phí và độ tin cậy vượt trội so với các phương pháp dẫn đường laser truyền thống.
Hình 2.13 Robot dẫn đường bằng công nghệ SLAM
Mobile robot được trang bị camera để thu thập hình ảnh của môi trường xung quanh
Hệ thống này cần có ánh sáng tốt để hoạt động hiệu quả Robot sử dụng camera để chụp ảnh, thực hiện ánh xạ và so sánh thông tin với bản đồ đã mã hóa nhằm xác định vị trí và điều hướng chính xác.
Kết luận: Nhóm đã quyết định chọn phương pháp dẫn đường bằng camera cho robot di động nhờ vào những ưu điểm nổi bật như tính linh hoạt cao, khả năng dễ dàng thay đổi lộ trình và chi phí lắp đặt cũng như bảo trì thấp.
Hai nhiệm vụ quan trọng mà xử lý ảnh cần thực hiện trong đồ án này bao gồm:
Sử dụng camera để phát hiện làn đường di chuyển của robot, giúp tính toán sai số giữa vị trí hiện tại và làn đường mong muốn Thông tin sai số này được gửi đến vi điều khiển để xử lý, đảm bảo robot luôn di chuyển đúng làn đường đã thiết lập.
Cập nhật vị trí và thiết lập đường đi cho robot di động là quá trình quan trọng, trong đó hệ thống liên tục theo dõi vị trí hiện tại của robot dựa trên dữ liệu đầu ra của thuật toán Thông tin này được hiển thị trực quan trên màn hình giám sát, giúp người vận hành dễ dàng theo dõi và quản lý hoạt động của robot theo thời gian thực.
THIẾT KẾ PHẦN CỨNG HỆ THỐNG
Yêu cầu đề ra
Nhóm nghiên cứu đã tập trung vào thiết kế và chế tạo một mô hình robot di động phục vụ cho việc vận chuyển hàng hóa trong kho Thiết kế cơ khí của robot cần đáp ứng các tiêu chí quan trọng như tính năng, độ bền, an toàn và hiệu suất Dưới đây là các yêu cầu cơ bản cho robot.
Khung robot cần được chế tạo từ vật liệu bền bỉ và có khả năng chịu tải tốt Kích thước của khung phải tương thích với kích thước lối đi và kệ hàng, nhằm đảm bảo robot có thể di chuyển một cách linh hoạt và hiệu quả.
Vỏ robot: sử dụng vật liệu nhẹ, dễ dàng tháo lắp và có tính thẩm mỹ
Bánh xe: cần chọn bánh xe có khả năng chống trượt và chịu mài mòn tốt đồng thời đảm bảo khả năng chịu tải
Dưới đây là bảng thông số kỹ thuật của robot:
Thông số Giá trị Đơn vị
Khối lượng bánh xe 0,5 kg
Bảng 3.1 Thông số kỹ thuật của robot
Hình 3.1 Thiết kế 3D của robot
Thiết kế cơ khí cho robot
3.2.1 Lựa chọn cơ cấu di chuyển
Sau đây là liệt kê, phân tích và so sánh ưu nhược điểm của các loại cơ cấu lái thường được dùng cho mobile robot hiện nay
3.2.1.1 Cơ cấu lái 4 bánh (Ackermann Steering)
Mô tả: Sử dụng bốn bánh xe với hai bánh trước có thể quay để điều hướng, tương tự như hệ thống lái trên ô tô
Hình 3.2 Cơ cấu lái 4 bánh Ưu điểm Nhược điểm
Linh hoạt: Có khả năng điều hướng tốt, giống như robot hơi Ổn định ở tốc độ cao: Cấu trúc ổn định hơn khi di chuyển nhanh
Khả năng quay đầu nhỏ: Giảm bán kính quay đầu
Cấu trúc phức tạp: Nhiều bộ phận cơ khí cần được đồng bộ hóa
Chi phí cao hơn: Yêu cầu nhiều thành phần và hệ thống điều khiển phức tạp
Bảo trì phức tạp: Nhiều bộ phận cần bảo trì và thay thế
Bảng 3.2 Ưu, nhược điểm của cơ cấu lái 4 bánh
3.2.1.2 Cơ cấu lái vi sai (Differential Steering)
Robot được trang bị 2 bánh xe ở giữa, được điều khiển bởi động cơ, đảm nhận nhiệm vụ cung cấp lực đẩy và điều khiển hướng di chuyển Bên cạnh đó, 4 bánh xe ở góc giúp duy trì sự ổn định và hỗ trợ cho việc di chuyển mượt mà của robot.
Hình 3.3 Cơ cấu lái vi sai Ưu điểm Nhược điểm
Linh hoạt: Robot có khả năng quay tại chỗ và điều hướng dễ dàng trong không
Tiềm năng trượt: Trên bề mặt trơn hoặc không bằng phẳng, hệ thống Differential
Robot 17 gian hẹp được thiết kế với hai bánh xe chủ động, mang lại độ ổn định cao nhờ bốn bánh xe dẫn hướng, giúp duy trì sự ổn định khi di chuyển trên các bề mặt không bằng phẳng Thiết kế của robot cũng rất đơn giản, với hệ thống điều khiển dễ dàng hơn so với các hệ thống lái phức tạp khác.
Omnidirectional hay 4 bánh toàn hướng
Steering có thể gặp khó khăn với trượt bánh
Khó điều khiển chính xác: Điều khiển hướng di chuyển chính xác có thể khó hơn so với các hệ thống lái toàn hướng (omnidirectional)
Bảng 3.3 Ưu, nhươc điểm của cơ cấu lái vi sai
3.2.1.3 Cơ cấu lái 4 bánh toàn hướng (Four-wheel Steering)
Mô tả: Sử dụng bốn bánh xe có khả năng quay để điều hướng, cho phép cả bốn bánh cùng tham gia vào việc điều hướng
Hình 3.4 Cơ cấu lái 4 bánh toàn hướng Ưu điểm Nhược điểm
Với khả năng linh hoạt cao, thiết bị có thể điều khiển tất cả các bánh xe, cho phép di chuyển theo nhiều hướng khác nhau Đặc biệt, nó đảm bảo độ ổn định cao khi di chuyển, nhất là ở tốc độ nhanh.
Khả năng quay đầu nhỏ: Giảm đáng kể bán kính quay đầu
Phức tạp trong thiết kế: Yêu cầu cơ cấu cơ khí và hệ thống điều khiển phức tạp
Chi phí cao: Chi phí sản xuất và bảo trì cao hơn
Bảo trì phức tạp: Nhiều bộ phận cần bảo trì và thay thế
Bảng 3.4 Ưu, nhược điểm của cơ cấu lái 4 bánh toàn hướng
3.2.1.4 Cơ cấu lái Omnidirectional (Mecanum hoặc Omni-wheels)
Mô tả: Sử dụng các bánh xe Mecanum hoặc bánh xe omni, cho phép robot di chuyển theo mọi hướng mà không cần thay đổi hướng của bánh xe
Hình 3.5 Cơ cấu lái Omnidirectional Ưu điểm Nhược điểm
Linh hoạt cao: Có thể di chuyển theo mọi hướng (trước, sau, ngang, chéo)
Quay tại chỗ: Có khả năng quay 360 độ tại chỗ mà không cần di chuyển về phía trước hoặc sau
Thích nghi không gian hẹp: Dễ dàng điều khiển trong không gian hạn chế
Phức tạp trong điều khiển: Yêu cầu phần mềm và phần cứng điều khiển đặc biệt
Chi phí cao: Bánh xe Mecanum và Omni đắt tiền hơn so với bánh xe thông thường
Khả năng tải trọng hạn chế: Không phù hợp cho các ứng dụng đòi hỏi tải trọng lớn
Bảng 3.5 Ưu, nhược điểm của cơ cấu lái Onmidirectional
Kết luận: Nhóm quyết định chọn cơ cấu lái vi sai (Differential Steering) với 2 bánh chủ động và 4 bánh dẫn hướng cho thiết kế robot dựa trên các tiêu chí như khả năng cơ động linh hoạt, hiệu suất điều khiển tốt và khả năng thích ứng với nhiều địa hình khác nhau.
Cơ cấu lái này có thiết kế đơn giản với ít thành phần chuyển động, giúp giảm chi phí sản xuất và dễ dàng bảo trì Việc thay thế các bộ phận cũng trở nên thuận tiện hơn khi cần thiết.
Robot với hai bánh xe chủ động ở giữa thân có khả năng điều khiển tốt trong không gian hẹp, cho phép quay tại chỗ và di chuyển linh hoạt Tính năng này rất hữu ích trong các môi trường làm việc chật hẹp hoặc những khu vực cần thực hiện các thao tác quay đầu nhanh chóng.
Robot được trang bị bốn bánh xe dẫn hướng ở bốn góc, giúp cải thiện đáng kể độ ổn định và độ tin cậy cao khi di chuyển Thiết kế này không chỉ phân phối trọng lượng đồng đều mà còn duy trì sự ổn định, đặc biệt trên các bề mặt không bằng phẳng.
Hiệu suất tối ưu trong môi trường nhà kho được đảm bảo nhờ vào cơ cấu lái 2 bánh chủ động và 4 bánh xe dẫn hướng, mang lại sự ổn định và hiệu quả Điều này giúp cải thiện hoạt động của robot mà không cần phụ thuộc vào các công nghệ phức tạp hay yêu cầu nhiều yếu tố điều khiển đặc biệt.
3.2.2 Lựa chọn bộ truyền động
Hình 3.6 Sơ đồ truyền động
Mô tả: Bộ truyền đai sử dụng dây đai bằng cao su hoặc vật liệu tương tự để truyền động giữa các bánh đai (pulley)
Hình 3.7 Bộ truyền động đai Ưu điểm Nhược điểm
Chi phí thấp: Đai thường rẻ và dễ sản xuất
Hoạt động êm ái: Giảm tiếng ồn và rung động
Dễ bảo trì: Thay thế đai dễ dàng và không yêu cầu nhiều công cụ đặc biệt
Khả năng trượt: Giúp bảo vệ động cơ và các thành phần khác khỏi quá tải
Hiệu suất thấp: Hiệu suất truyền động của đai không cao do có thể xảy ra hiện tượng trượt
Giới hạn tốc độ: Đai có thể bị kéo dài và mòn theo thời gian, làm giảm hiệu suất
Khả năng chịu tải thấp: Không thích hợp cho các ứng dụng cần truyền tải lực lớn
Bảng 3.6 Ưu, nhược điểm bộ truyền đai
Bộ truyền đai răng sử dụng đai có răng kết hợp với các bánh đai có răng, đảm bảo quá trình truyền động diễn ra ổn định mà không bị trượt.
Hình 3.8 Bộ truyền động đai răng Ưu điểm Nhược điểm
Không trượt: Đảm bảo truyền động chính xác và ổn định
Hiệu suất cao: Truyền lực hiệu quả với ít tổn thất
Hoạt động êm ái: Ít tiếng ồn hơn so với bộ truyền xích
Dễ bảo trì: Ít yêu cầu bảo dưỡng so với xích
Khả năng chịu tải hạn chế: Không thích hợp cho các ứng dụng cực tải cao
Chi phí cao: Đắt hơn so với đai thông thường
Giới hạn về khoảng cách: Không thích hợp cho khoảng cách truyền tải lớn
Bảng 3.7 Ưu, nhược điểm bộ truyền đai răng
Bộ truyền xích là hệ thống sử dụng xích kim loại để truyền động giữa các bánh răng (sprocket), với xích liên kết các mắt xích lại thành một dải liên tục.
Hình 3.9 Bộ truyền động xích Ưu điểm Nhược điểm
Khả năng chịu tải cao: Thích hợp cho các ứng dụng cần truyền tải lực lớn
Hiệu suất cao: Ít trượt hơn so với đai, giúp truyền động chính xác hơn
Tuổi thọ dài: Xích kim loại bền bỉ và chịu mài mòn tốt hơn đai
Tiếng ồn: Bộ truyền xích thường ồn hơn do sự tiếp xúc kim loại với kim loại
Bảo trì phức tạp: Cần bôi trơn và điều chỉnh thường xuyên
Chi phí cao: Đắt hơn so với bộ truyền đai
Bảng 3.8 Ưu, nhược điểm bộ truyền xích
Kết luận: nhóm quyết định lựa chọn bộ truyền đai răng cho mobile robot vì những tiêu chí sau:
- Độ chính xác cao: Đai răng không trượt nên đảm bảo truyền động chính xác và ổn định
- Hiệu suất truyền lực tốt: Đai răng truyền lực hiệu quả, giúp tăng momen động cơ và hỗ trợ robot di chuyển và tải hàng
- Tiếng ồn thấp: Hoạt động êm ái giúp robot phù hợp cho các môi trường làm việc yên tĩnh như trong nhà xưởng hoặc kho bãi
- Bảo trì dễ dàng: Ít yêu cầu bảo dưỡng so với bộ truyền xích, giúp giảm chi phí và thời gian bảo trì
3.2.3 Tính toán lựa chọn động cơ
Nhóm dựa vào các thông số đầu vào hiện có và các yêu cầu cụ thể của đồ án để thực hiện tính toán và lựa chọn động cơ phù hợp Dưới đây là bảng các thông số đầu vào được sử dụng trong quá trình này.
STT Thông số Kí hiệu Giá trị Đơn vị
2 Khối lượng bánh xe m 0,5 kg
4 Vận tốc tối đa νmax 1 m/s
Bảng 3.9 Thông số đầu vào để tính toán chọn động cơ
Hình 3.10 Mô hình toán cho bánh xe chủ động
Phương trình cân bằng Momen quanh tâm bánh xe: τ − 𝐹 𝑚𝑠 R = Iγ (3.1)
τ = 𝐹 𝑚𝑠 R + Iγ Để bánh xe không bị trượt Momem động cơ phải thỏa điều khiện sau τ ≤ 𝐹 𝑚𝑠 R + Iγ (3.2)
Trong đó Momen quán tính và lực ma sát của bánh xe được tính như sau:
Theo định luật II Newton:
Số vòng quay trên phút của động cơ:
𝑝ℎú𝑡) Với: u = ub = 2 là tỉ số truyền của bộ truyền đai răng
Công suất cần thiết của động cơ:
2 1.2.1 (𝑊) Hiệu suất truyền động: η = η 1 η 2 = 0,95.0,99 = 0,94 (3.10) Với:
+ η1 là hiệu suất bộ truyền đai răng
+ η2 là hiệu suất một cặp ổ lăn
Vậy công suất động cơ:
Từ những tính toán trên, nhóm xác định được các thông số cần thiết của động cơ: + Công suất P = 33,51(W)
+ Số vòng quay n = 264 (vòng/ phút)
Trong đó: τ là momen quay của động cơ (Nm) Fms là lực ma sát (N)
I là momen quán tính (kgm 2 ) Pct là công suất cần thiết (W)
𝛾 là gia tốc góc (rad/s 2 ) P là công suất của động cơ (W) ω là vận tốc góc (rad/s) η là hiệu suất truyền động n là tốc độ của động cơ (vòng/phút)
Với các thông số trên nhóm lựa chọn động cơ Planet 320rpm 24V 60w encoder 13 xung với bảng thông số sau:
Tỉ số truyền 19,2 : 1 Điện áp 24 VDC
Bảng 3.10 Thông số của động cơ Planet 24V
Hình 3.12 Hình vẽ kĩ thuật của động cơ
3.2.4 Tính toán, lựa chọn đai, ổ lăn:
Việc lựa chọn và tính toán chính xác loại đai và ổ lăn là rất quan trọng để đảm bảo hiệu quả truyền động và duy trì độ bền cho robot trong quá trình hoạt động Mục tiêu của phần này là xác định các loại đai và ổ lăn phù hợp với yêu cầu kỹ thuật của robot, nhằm đảm bảo khả năng chịu tải, tốc độ và tính bền vững của hệ thống cơ khí.
3.2.4.1 Tính toán, lựa chọn đai
+ P công suất trên bánh đai chủ động (kW)
+ n tốc độ của bánh đai chủ động (vòng/phút); chọn 𝑘 = 35
+ Cr: hệ số tải trọng động
Xác định chiều rộng đai răng b theo bảng 4.28 trang 69 tài liệu [1]:
Từ thông số mô đun m = 2 và chiều rộng đai b = 12,5mm Nhóm chọn loại đai GT2 với bước đai ρ = 2
Xác định các thông số của bộ truyền:
Dựa vào bảng 4.29 trang 70 tài liệu [1]:
Số răng Z1 trên bánh đai nhỏ phải tối thiểu không nhỏ hơn 12 để đảm bảo tuổi thọ cho đai, chọn Z1 = 30 (răng)
Chọn tỉ số truyền u = 2 nhằm giúp tăng momen của động cơ giúp cho robot có thể tại nặng dễ dàng hơn
Số bánh răng bị động Z1:
Khoảng cách trục phải thỏa điều kiện sau:
Từ đó chọn khoảng cách trục sơ bộ a = 120 (mm)
40.200 = 165 (𝑟ă𝑛𝑔) Với Zđ = (răng), nhóm đã chọn dây đai với chiều dài L = 350 (mm)
Xác định lại khoảng cách trục: λ = 𝐿 − ρ𝑍 1 + 𝑍 2
Thỏa mãn điều kiện: amin ≤ a ≤ amax
Tính toán kiểm nghiệm đai về lực vòng riêng:
Lực vòng riêng trên đai phải thỏa mãn điều kiện: q = 𝑘 𝑑 𝐹 𝑡
Trong đó: + Ft là lực vòng tác dụng lên bộ truyền (N)
+ qm là khối lượng 1m đai có chiều rộng 1mm; chọn qm = 0,0032 theo bảng 4.31 tài liệu [1]
+ v là tốc độ vòng; chọn v = 0,4 m/s theo bảng 4.31 tài liệu [1]
+ Kd là hệ số tải trọng động; chọn Kd = 1 dựa theo bảng 4.7 tài liệu [1]
Số răng bánh chủ động 30 răng
Số răng bánh bị động 60 răng
Bảng 3.11 Thông số bộ truyền động đai răng
Hình 3.13 Dây đai, bánh răng chủ động và bị động
3.2.4.2 Tính toán, lựa chọn ổ lăn
Với đường kính trục nối bánh xe d = 8 mm, nhóm đã chọn Gối đỡ vòng bi dạng đứng trục, thiết kế bao gồm vòng bi chịu lực hướng tâm và lực hướng trục nhỏ Loại vòng bi này cho phép trục nghiêng tối đa 2 độ so với mặt vòng bi, phù hợp cho các trục dài Các vòng bi này hoạt động ở tốc độ cao, duy trì ma sát và rung động thấp mà không cần bôi trơn.
Dưới đây là bảng thông số của gối đỡ trục:
Thông số Giá trị Đường kính lỗ trục 8mm
Khoảng cách 2 lỗ cố định 42mm
Bảng 3.12 Thông số của gối đỡ vòng bi
3.2.5 Thiết kế khung, vỏ robot
Tấm đế robot dày 5mm, làm từ nhôm, nổi bật với độ bền cao, chi phí hợp lý và dễ tìm mua Được thiết kế với các lỗ khoan để lắp đặt giá đỡ động cơ, gá đỡ trục và thiết bị điện tử, các lỗ và rãnh được bố trí cẩn thận, đảm bảo mọi thành phần được gắn chắc chắn và an toàn.
Hình 3.15 Thiết kế 3D của đế robot
Để đảm bảo an toàn và chắc chắn cho robot di động khi vận chuyển hàng hóa trong kho, nhóm đã chọn nhôm định hình làm vật liệu thiết kế khung robot Nhôm định hình nổi bật với trọng lượng nhẹ, độ bền cao, khả năng chống ăn mòn tốt và dễ lắp ráp, giúp nâng cao tính thẩm mỹ cũng như hiệu quả và độ bền của hệ thống.
Thiết kế hệ thống điện và điều khiển
Trong thiết kế robot tự hành, hệ thống điện điện tử đóng vai trò quan trọng trong việc đảm bảo tính linh hoạt và độ chính xác Việc lựa chọn và tích hợp cảm biến, bộ vi xử lý, và hệ thống điều khiển giúp robot phản ứng nhanh chóng với các yêu cầu từ môi trường xung quanh Hệ thống này không chỉ hỗ trợ robot di chuyển an toàn mà còn cung cấp các chức năng đặc biệt như tránh va chạm, định vị chính xác và tương tác hiệu quả với hệ thống môi trường.
Trong chương này, chúng ta sẽ nghiên cứu và lựa chọn hệ thống điện cho 30 trường thông minh, đồng thời xem xét sự kết nối giữa các khối vi xử lý để đảm bảo phần cứng hoạt động chính xác.
Hình 3.21 Liên kết các khối trong hệ thống
3.3.1 Lựa chọn mạch xử lý trung tâm
Khi chọn vi xử lý trung tâm cho robot di động, cần xem xét một số yếu tố quan trọng để đảm bảo vi xử lý phù hợp và hiệu quả cho hệ thống.
Hiệu suất xử lý của robot di động phụ thuộc vào vi xử lý có khả năng hoạt động đa nhiệm, cho phép thực hiện nhiều tác vụ phức tạp như xử lý ảnh, tính toán thuật toán tối ưu cho di chuyển và định vị trong không gian làm việc Do đó, một vi xử lý với hiệu suất tính toán cao là yếu tố then chốt để đảm bảo robot hoạt động ổn định và chính xác.
Mobile robot cần một vi xử lý với khả năng kết nối linh hoạt, cho phép giao tiếp hiệu quả giữa vi xử lý trung tâm và các vi xử lý chuyên biệt Điều này không chỉ giúp tối ưu hóa sự tương tác giữa các vi xử lý mà còn yêu cầu các giao thức kết nối không dây để nâng cao tính linh hoạt trong việc truyền tải dữ liệu.
Bluetooth, Wifi, Ethernet để kết nối vi xử lí với các hệ thống máy chủ trên internet
Khi xây dựng robot di động trong ngân sách hạn chế cho sinh viên, việc lựa chọn vi xử lý phù hợp là rất quan trọng Dòng chip Arm Cortex Series là sự lựa chọn lý tưởng, với nhiều dòng chính đáp ứng các chức năng đặc thù tùy vào mục đích sử dụng Chi phí cho vi xử lý cần được cân nhắc kỹ lưỡng để đảm bảo phù hợp với ngân sách đề ra.
Hình 3.22 Phân loại các dòng ARM Cortex [7]
Dòng Cortex-A được chọn làm vi xử lý trung tâm cho mobile robot nhờ khả năng xử lý đa nhiệm trên một core và chức năng time-sharing giữa các tác vụ Vi xử lý 64 bit này cung cấp hiệu suất tính toán mạnh mẽ, phù hợp cho các ứng dụng yêu cầu tính toán cao như hệ thống điều khiển tương tác và máy tính cá nhân nhỏ gọn như Raspberry Chạy hệ điều hành Linux, nó mang lại môi trường lập trình đa dạng với hỗ trợ nhiều ngôn ngữ Với mức giá hợp lý, vi xử lý Cortex A như Raspberry Pi 4 là lựa chọn phù hợp cho việc xử lý trung tâm trong các dự án nghiên cứu mobile robot.
Raspberry Pi 4 là một bo mạch máy tính nhỏ gọn do Raspberry Pi Foundation phát triển, nổi bật với thiết kế tiện lợi và hiệu suất tính toán mạnh mẽ Board này tiêu thụ điện năng hợp lý, cho phép xử lý các chương trình phức tạp như xử lý ảnh Ngoài ra, Raspberry Pi 4 còn hỗ trợ nhiều chân I/O, giúp dễ dàng kết nối với các vi xử lý khác để phục vụ cho quá trình xử lý thông tin.
- Vi xử lí: Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
- RAM với các lựa chọn: 1GB, 2GB, 4GB
- USB: 2 cổng USB 2.0 và 2 cổng USB 3.0
- Hỗ trợ chân cắm kết nối Camera phục vụ cho việc xử lí ảnh
Về khả năng kết nối với các board nhúng, Raspberry hỗ trợ đa dạng các giao thức phổ thông như: Uart, SPI, I2C, Ethernet, USB, …
Khả năng kết nối không dây, bao gồm BLE và WIFI, cho phép các robot giao tiếp hiệu quả thông qua một máy chủ chung trên mạng, phục vụ cho các ứng dụng kết nối Internet.
3.3.2 Lựa chọn mạch điều khiển động cơ
Vi xử lý điều khiển đóng vai trò quan trọng trong việc điều khiển hai động cơ của robot di động, hoạt động theo yêu cầu từ vi xử lý trung tâm Raspberry Dòng vi xử lý này thuộc loại Embedded Cortex M trong Series Arm Cortex, với ưu điểm tiêu thụ năng lượng thấp hơn và khả năng đáp ứng thời gian thực tốt Mặc dù hiệu suất tính toán thấp hơn so với dòng Cortex A của Raspberry, nhưng Cortex M rất phù hợp cho các ứng dụng nhúng cần điều khiển động cơ chính xác Vi xử lý STM32F407 được sử dụng, tích hợp nhiều bộ định thời timer, giúp quản lý thời gian và các tác vụ một cách hiệu quả.
Robot di động được trang bị hệ thống cảnh báo tiền va chạm, được xử lý bởi vi xử lý STM32F1, một dòng vi xử lý Cortex M3 Hệ thống này kết hợp với vi xử lý điều khiển chính, giúp robot đáp ứng hiệu quả nhất với các yêu cầu ban đầu.
Thông số kĩ thuật của hai dòng vi xử lí được sử dụng thể hiện ở bảng dưới:
Vi xử lí 32-bit Core Cortex M4 Vi xử lí 32-bit core Cortex M3
Hỗ trợ 14 bộ timer định thời với các chức năng input capture, encoder mode, output compare, PWM…
Hỗ trợ 4 bộ timer với các chức năng tương tự dòng F4
Các giao thức: UART, SPI, I2C, USB…
Các chân điện áp nguồn cung cấp 5V và 3.3V
Bảng 3.13 Bảng so sánh giữa STM32F4 và STM32F1
Các dòng vi điều khiển Cortex M nổi bật với khả năng đáp ứng thời gian thực, tối ưu hóa các tác vụ với số lượng lớn và hỗ trợ hiệu quả cho quá trình điều khiển.
3.3.3.1 Module điều khiển động cơ
Mạch điều khiển động cơ DC BTS7960 được lựa chọn có khả năng chịu dòng tối đa 43A và điện áp đầu vào từ 6 đến 27V, phù hợp với yêu cầu vận hành động cơ ở công suất tối đa Mạch này nhận mức logic điều khiển từ 3.3V đến 5V, tương thích với các vi điều khiển, và tần số điều khiển tối đa đạt 25kHz, đảm bảo cung cấp xung PWM với tần số 20kHz cho động cơ.
Thông số kĩ thuật Giá trị Điện áp tải 6V – 27V
Dòng qua tải tối đa 43A Điện áp điều khiển 3.3V – 5V Tần số điều khiển tối đa 25kHz
Kích thước 40mm x 50mm x12mm
Bảng 3.14 Thông số kỹ thuật Driver BTS7960
3.3.3.2 Cảm biến khoảng cách – Ultrasonic
Việc cảnh báo cho các vật cản phía trước robot tự hành là yếu tố quan trọng giúp lập trình các hướng xử lý cho robot Nhóm nghiên cứu đã chọn cảm biến ultrasonic HC_SR04 để phát hiện vật cản, sử dụng nguyên lý tính toán khoảng cách bằng sóng âm thanh.
Cảm biến HC_SR04 có các thông số kĩ thuật:
Thông số kĩ thuật Giá trị Điện áp hoạt động 5V Dòng tiêu thụ 10mA Phạm vi đo lường 2cm – 450cm Kích thước 43mm x 20 x 17mm
Bảng 3.15 Thông số kỹ thuật cảm biến siêu âm HC-SR04
Hình 3.27 Cảm biến siêu âm HC-SR04
Cảm biến hoạt động bằng cách phát sóng âm tại chân Trig; khi có vật cản trong phạm vi đo lường, sóng âm sẽ phản hồi và được chân Echo nhận tín hiệu trong thời gian ngắn Dựa vào thời gian phản hồi, chúng ta có thể tính toán khoảng cách từ cảm biến đến vật cản theo công thức cụ thể.
L: khoảng cách từ cảm biến đến vật cản
T: Thời gian chân Echo đo được từ lúc chân Trigger phát xung đến khi chân Echo nhận được xung (s)
ĐỘNG HỌC – ĐIỀU KHIỂN
Yêu cầu đề ra của động học và bộ điều khiển
Robot được trang bị hai bánh chủ động đồng trục và bốn bánh dẫn hướng, tạo nên sự ổn định cho thiết bị Cấu trúc này cho phép robot di chuyển linh hoạt theo nhiều hướng thông qua việc điều chỉnh độc lập tốc độ của hai bánh chủ động.
Yêu cầu robot phải di chuyển linh hoạt trong không gian nhà kho hẹp dễ dàng
Động học của mobile robot
Mô hình robot được thiết kế với 2 bánh được điều khiển đồng trục cách nhau một đoạn
L Trọng tâm của robot là trung điểm nằm trên khoảng cách 2 bánh xe Quỹ đạo di chuyển của robot phụ thuộc vào tốc độ độc lập trên 2 bánh Phụ thuộc vào tốc độ 2 bánh mà robot có cá trạng thái chuyển động cơ bản:
Chuyển động thẳng xảy ra khi vận tốc góc của hai bánh xe bằng nhau, dẫn đến vectơ vận tốc của cả hai bánh song song và có giá trị bằng nhau Do đó, vectơ vận tốc của robot sẽ cùng hướng với cả hai bánh và tương đương với vectơ vận tốc của từng bánh.
Chuyển động cong của robot xảy ra khi tốc độ của hai bánh xe không bằng nhau, dẫn đến việc robot rẽ trái khi bánh trái quay nhanh hơn bánh phải và ngược lại Trong quá trình này, cả bánh trái, bánh phải và trọng tâm của robot sẽ di chuyển xung quanh một tâm quay chung, được gọi là tâm vận tốc tức thời.
Hình 4.1 Mô tả động học robot
Trong bài viết này, chúng ta sẽ tìm hiểu về các thông số quan trọng liên quan đến chuyển động của robot Ký hiệu l đại diện cho khoảng cách giữa tâm quay và trọng tâm của robot, trong khi s là khoảng cách giữa hai bánh xe Ngoài ra, vt là vận tốc dài của bánh trái, vp là vận tốc dài của bánh phải, và vB là vận tốc dài của trọng tâm robot Những thông số này đóng vai trò quan trọng trong việc điều khiển và tối ưu hóa chuyển động của robot.
𝜔: tốc độ góc của robot
Vận tốc dài của bánh trái và bánh phải:
Vận tốc dài mỗi bánh với đường kính mỗi bánh là D:
𝜔 𝑡 : tốc độ góc bánh trái [rad/s]
𝜔 𝑝 : tốc độ góc bánh phải [rad/s]
Nt: tốc độ vòng bánh trái [vòng/phút]
Np: tốc độ vòng bánh phải [vòng/phút] nt: tốc độ vòng động cơ bánh trái np: tốc độ vòng động cơ bánh phải
Hệ truyền động sử dụng truyền động đai với tỉ số truyền 2:1, ta được:
Thiết kế bộ điều khiển cho động cơ
4.3.1 Cơ sở lý thuyết Động cơ được sử dụng cho quá trình điều khiển là động cơ DC servo có sơ đồ truyền động:
Hình 4.2 Sơ đồ khối động cơ DC [8]
Ke: hằng số phản điện động [V/rad/s]
Km: hằng số momen xoắn [Nm/A]
JM: momen quán tính của trục động cơ [kg.m 2 ]
𝜔: vận tốc góc của trục động cơ [rad/s]
B: hệ số ma sát nhớt [Nm/rad/s]
Phương trình Laplace ta được hàm truyền động cơ:
𝑅: thời gian đáp ứng điện – hằng số thời gian mà dòng điện chạy đến động cơ ứng với nguồn cung cấp
𝑏: thời gian đáp ứng cơ – hằng số thời gian khi hệ đáp ứng 63.2% thời gian xác lập của hệ thống
Thời gian đáp ứng của cơ khí lớn hơn nhiều so với thời gian đáp ứng của dòng điện, vì dòng điện luôn phản ứng nhanh hơn (𝜏 𝑚 ≫ 𝜏 𝑒 ) Do đó, chúng ta có thể xác định phương trình hàm truyền của động cơ DC.
Do động cơ thiếu các hệ số cần thiết theo lý thuyết, nhóm đã quyết định áp dụng phương pháp bán thực nghiệm để xác định các thông số cho bộ điều khiển PID.
4.3.2 Tính toán và thiết kế
Dựa vào phương trình hàm truyền động cơ DC ở trên ta có:
Trong môi trường làm việc tại kho vận chuyển, robot được cấu hình để di chuyển với tốc độ tối đa 1m/s Để đạt được tốc độ này, ta cần tính toán tốc độ quay của mỗi bánh xe Với đường kính bánh xe là 145 mm, chu vi bánh xe được tính là 145𝜋 mm.
Bánh xe liên kết với động cơ thông qua bộ truyền đai với tỉ số truyền bánh răng là 1:2, từ đó suy ra tốc độ động cơ: n = 2N = 263.4 vòng/phút
Khi thực hiện thí nghiệm với tín hiệu PWM để đo tốc độ động cơ, nguồn điện cung cấp tối đa đạt khoảng 250 đến 260 vòng/phút, gần với giá trị tối đa mong muốn Phương pháp tìm thông số cho hàm truyền bán thực nghiệm được áp dụng để xác định hàm truyền của động cơ, cùng với phương pháp IMC để tính toán các hệ số cho điều khiển PI.
Hình 4.3 Sơ đồ hàm truyền đáp ứng vận tốc
Tham số Kí hiệu Độ lợi của động cơ bánh trái Km1
Thời gian bắt đầu đáp ứng của động cơ bánh trái 𝜏0_m1
Thời gian khi tốc độ bánh trái đạt 63.2% giá trị xác lập 𝜏1_m1
Thời hằng đáp ứng động cơ bánh trái 𝜏m1
Hệ số tỉ lệ động cơ bánh trái Kc_1, Kp_1
Thời gian tích phân động cơ bánh trái Ti_1
Hệ số tích phân động cơ bánh trái Ki_1 Độ lợi của động cơ bánh phải Km2
Thời gian bắt đầu đáp ứng của động cơ bánh phải 𝜏0_m2
Thời gian khi tốc độ bánh phải đạt 63.2% giá trị xác lập 𝜏1_m2
Thời hằng đáp ứng động cơ bánh phải 𝜏m2
Hệ số tỉ lệ động cơ bánh phải Kc_2, Kp_2
Thời gian tích phân động cơ bánh phải Ti_2
Hệ số tích phân động cơ bánh phải Ki_2
Bảng 4.1 Thông số bộ điều khiển của 2 động cơ Đối với động cơ bánh trái:
Khi cấp 80% pwm (u = 80) cho driver thu được các số liệu:
Tốc độ trung bình: nmax = 252 vòng/phút ≈ 26.38938 rad/s
➔ Độ lợi hệ thống: Km1 = 26.38938
80 = 0.329867 Tiếp theo tiến hành tìm thời hằng đáp ứng của hệ:
Thời gian bắt đầu đáp ứng: 𝜏0_m1 = 10.678(s)
Tốc độ động cơ khi đạt 63.2% giá trị xác lập: 252*0.632 = 159.264 vòng/phút
Thời gian đáp ứng của hệ khi đạt 63.2% giá trị xác lập: 𝜏1_m1 = 10.73767(s)
Từ hệ số Km1 và 𝜏m1 ta có được hàm truyền động cơ bánh trái:
Chọn thời hằng đáp ứng mong muốn: 𝜏c = 0.8s
0.05067 ≈ 3.7894 Hàm truyền PI có phương trình:
𝑠 Đối với động cơ bánh phải:
Khi cấp 80% pwm (u = 80) cho driver thu được các số liệu:
Tốc độ trung bình: nmax = 256 vòng/phút ≈ 26.80826 rad/s
➔ Độ lợi hệ thống: Km2 = 26.38938
80 = 0.335103 Tiếp theo tiến hành tìm thời hằng đáp ứng của hệ:
Thời gian bắt đầu đáp ứng: 𝜏0_m2 = 36.828(s)
Tốc độ động cơ khi đạt 63.2% giá trị xác lập: 256*0.632 = 161.792 vòng/phút Thời gian đáp ứng của hệ khi đạt 63.2% giá trị xác lập: 𝜏1_m2 = 36.86878(s)
Từ hệ số Km1 và 𝜏m1 ta có được hàm truyền động cơ bánh phải:
Chọn thời hằng đáp ứng mong muốn: 𝜏c = 0.8s
0.04078 ≈ 3.73019 Hàm truyền PI có phương trình:
Thiết kế bộ điều khiển cho xử lý ảnh
Nhóm nghiên cứu sử dụng dữ liệu sai số từ quá trình xử lý ảnh qua camera để xác định vị trí trung điểm của làn robot đa quét Kết hợp với vị trí hiện tại của camera, sai số được trả về cho vi xử lý điều khiển Để điều chỉnh vị trí robot theo làn một cách chính xác, nhóm áp dụng hàm truyền PID, trong đó phương pháp Zeigler – Nichols được lựa chọn để tính toán các hệ số cho các khâu tỉ lệ, đạo hàm và tích phân thông qua thực nghiệm.
4.4.2 Tính toán và thiết kế
Nhóm nghiên cứu sử dụng dữ liệu sai số từ quá trình xử lý ảnh qua camera để xác định vị trí robot trong làn Giá trị trung điểm của làn robot đa quét, kết hợp với vị trí camera hiện tại, giúp vi xử lý điều khiển phân tích và áp dụng hàm truyền PID nhằm đạt được vị trí robot theo làn như mong muốn Để điều khiển robot theo làn, nhóm đã chọn phương pháp PID Zeigler – Nichols để tính toán các hệ số cho các khâu tỉ lệ, đạo hàm và tích phân dựa trên thực nghiệm.
Sai số của robot so với làn được đo bằng đơn vị pirobotl hình ảnh, với phạm vi sai số từ -24 đến 24 Vị trí mong muốn của làn robot được xác lập ở giá trị 0 Khi robot lệch sang phải so với làn, giá trị sai số trả về cho hàm truyền sẽ là giá trị dương, trong khi nếu lệch sang trái, giá trị sẽ là âm.
Vi điều khiển điều chỉnh tốc độ động cơ của robot dựa trên sai số nhận được để giữ cho robot đi đúng làn Sai số này được gửi từ vi xử lý trung tâm đến vi xử lý điều khiển với chu kỳ 0.1 giây Dựa vào sai số đầu vào và sự biến thiên của vận tốc đầu ra, chúng ta thiết lập phương trình hàm truyền PID.
𝜔(t) = Kp*e(t) + Ki*∫ 𝑒(𝜏)𝑑 0 𝑡 𝜏 + Kd* de(t) dt
Trong đó: e(t): sai số từ vi xử lí trung tâm trả về sau mỗi chu kì
Hình 4.4 Sai số lệch làn
Hướng di chuyển hiện tại Hướng di chuyển mong muốn
Hình 4.5 Minh họa thay đổi tốc độ bánh xe để bám làn
𝜔 (t): tốc độ thay đổi đầu ra tương ứng với sai số
Hình 4.6 Sơ đồ khối hàm truyền PID
Tiến hành thực nghiệm để xác định bộ ba tham số Kp, Ki và Kd cho hàm truyền Khi tăng Kp đến giá trị "mức tăng cuối cùng" (ultimate gain - Ku) với Ku = 5.0, robot dao di chuyển theo làn và dao động ổn định với chu kỳ Tu là 2.2 giây Từ đó, các tham số hàm truyền được tính toán theo phương pháp Ziegler–Nichols.
Kd = 0.075 * Ku * Tu = 0.075 * 5.0 * 2.2 = 0.825 Sau quá trình tính toán thu được phương trình hàm truyền:
THIẾT KẾ VÀ TRIỂN KHAI THUẬT TOÁN
Ứng dụng xử lý ảnh cho mobile robot
Trong quá trình điều khiển, nhóm đã áp dụng công nghệ xử lý ảnh vào robot di động để đảm bảo robot di chuyển theo đúng lộ trình mà thuật toán đã xác định, đồng thời cải thiện khả năng quản lý và giám sát robot một cách hiệu quả hơn.
5.1.1 Cập nhật vị trí và thiết lập đường đi bằng mã QR
Lộ trình di chuyển của robot MOBILE ROBOT được xác định bởi thuật toán, sau đó thông qua file output.txt, chương trình xử lý ảnh sẽ truyền tải thông tin chính xác đến vi điều khiển và màn hình giám sát.
Dưới đây là 2 hàm con chịu tránh nhiệm chính cho việc cập nhật vị trí lên màn hình giám sát và thiết lập đường đi bằng QR:
Chương trình được lập trình để thực hiện xử lý ảnh ngay khi giá trị trạng thái bắt đầu trong file output.txt chuyển sang 1 (dòng thứ 5)
Quy trình chi tiết bao gồm các bước sau:
Khởi động và lưu trữ dữ liệu:
Khi giá trị trạng thái chuyển sang 1, hệ thống sẽ khởi động bằng cách lưu trữ vị trí trạm cuối cùng và lộ trình từ file output.txt.
Hình 5.2 Dữ liệu đọc từ file output.txt hiện lên terminal
Quét và đọc dữ liệu mã QR:
Hệ thống thực hiện quét và đọc dữ liệu từ mã QR, sau đó truyền giá trị đọc được, vị trí điểm cuối và lộ trình đường đi vào hàm process_qr_code.
Xử lý thông tin hướng đi:
Hàm process_qr_code sẽ xử lý thông tin đầu vào và trả về giá trị đại diện cho hướng đi ở ngã rẽ tiếp theo
Phát hiện làn đường và điều chỉnh hướng đi:
Hàm getLaneCurve được sử dụng để phát hiện làn đường hiện tại của MOBILE ROBOT và tính toán độ lệch Độ lệch này sẽ được gửi tới vi điều khiển để thực hiện các điều chỉnh cần thiết, nhằm đảm bảo MOBILE ROBOT di chuyển chính xác trên làn đường.
Hình 5.3 Chọn rẽ trái khi tới ngã tư theo lộ trình thuật toán đề ra
Kết thúc và quay lại chế độ chờ:
Vòng lặp xử lý ảnh sẽ dừng lại khi ROBOT DI ĐỘNG đến trạm cuối hoặc gặp lỗi không mong muốn Sau đó, hệ thống sẽ chuyển về chế độ chờ và tiếp tục giám sát giá trị trạng thái trong file output.txt, sẵn sàng khởi động quy trình xử lý mới khi cần thiết.
Hình 5.4 Thông báo dừng trên terminal khi robot chạy không đúng lộ trình
Quy trình này đảm bảo rằng robot di chuyển một cách chính xác và hiệu quả, đồng thời nâng cao khả năng tự động hóa và quản lý thông minh trong môi trường công nghiệp.
Giá trị đầu vào của hàm con bao gồm thông tin từ QR, vị trí điểm cuối và lộ trình đường đi Giá trị QR sẽ được hiển thị trên màn hình giám sát Việc so sánh giá trị QR với vị trí điểm cuối và lộ trình đường đi là cần thiết để đảm bảo tính chính xác trong quá trình điều hướng.
Hình 5.5 Giao diện người dùng giám sát vị trí robot
- giá trị QR giống với vị trí điểm cuối: Robot sẽ dừng lại, thông báo DONE và cập nhật trạng thái di chuyển lên màn hình giám sát
- giá trị QR không có trong lộ trình đường đi: Robot sẽ dừng lại, thông báo ERROR và cập nhật trạng thái di chuyển lên màn hình giám sát
Giá trị QR đóng vai trò là điểm xuất phát, trong đó hàm sẽ kiểm tra file output.txt được trả về từ thuật toán robot Nếu dòng thứ 4 cho thấy robot cần quay đầu, nó sẽ thực hiện quay đầu trước khi di chuyển tiếp.
Robot di chuyển theo lộ trình đã được xác định và cập nhật trạng thái di chuyển lên màn hình giám sát, giúp theo dõi quá trình hoạt động một cách hiệu quả.
Hình 5.6 Các trạng thái hoạt động của robot
Mỗi giá trị QR trên lộ trình đường đi đều tương ứng với một hướng đi cụ thể tại ngã tư tiếp theo, như minh họa trong hình dưới đây.
Hình 5.7 Phát hiện ngã tư và xác định các hướng rẽ
Với 1 tương ứng quẹo trái, 2 tương ứng quẹo phải và 3 tương ứng đi thẳng
Hình 5.8 Lưu đồ giải thuật ứng dụng xử lý ảnh thiết lập quỹ đạo di chuyển
5.1.2 Phát hiện làn đường và tính toán sai số
Hàm con getLaneCurve được sử dụng để xác định làn đường và tính toán sai số (độ lệch) trong quá trình di chuyển Đầu vào của hàm bao gồm ảnh BGR được thu từ camera và giá trị thể hiện hướng đi tại ngã rẽ tiếp theo Dưới đây là mô tả chi tiết về hoạt động của hàm này.
Chuyển đổi ảnh từ BGR sang HSV là bước đầu tiên trong quá trình xử lý hình ảnh Không gian màu HSV (Hue, Saturation, Value) giúp phân tách màu sắc một cách hiệu quả, đặc biệt hữu ích cho việc nhận diện làn đường Sau đó, áp dụng ngưỡng để tạo mặt nạ nhị phân, hỗ trợ trong việc phân tích và xử lý ảnh.
Sau khi chuyển đổi sang không gian màu HSV, chúng ta sẽ sử dụng ngưỡng màu để tạo ra mặt nạ nhị phân Mặt nạ này có chức năng tách biệt làn đường màu đen khỏi môi trường xung quanh.
Hình 5.9 Tách làn đường ra khỏi môi trường xung quanh
Biến đổi phối cảnh sang góc nhìn từ trên cao (bird-eye view) giúp dễ dàng quan sát và phân tích làn đường, từ đó xác định đường cong và góc cua một cách hiệu quả hơn.
Xác định Đường viền (Contours)
Thuật toán tìm kiếm dựa trên sự xung đột
Thuật ngữ "đường đi" được sử dụng trong bối cảnh của một đối tượng đơn lẻ và thuật ngữ
"giải pháp" sử dụng để chỉ một tập hợp của k đường đi cho k đối tượng đã biết
Ràng buộc cho một đối tượng bất kỳ \( a_i \) được định nghĩa là một bộ ba trạng thái \( (a_i, v, t) \), trong đó đối tượng \( a_i \) bị ngăn cấm chiếm đỉnh \( v \) tại thời điểm \( t \) Trong quá trình thực hiện thuật toán, các đối tượng sẽ được liên kết với các ràng buộc tương ứng Một đường đi được gọi là nhất quán cho đối tượng \( a_i \) khi nó thỏa mãn tất cả các ràng buộc Để giải quyết bài toán này, một giải pháp nhất quán là giải pháp được tạo thành từ các đường đi nhất quán, đảm bảo rằng đường đi của các đối tượng \( a_i \) phù hợp với các ràng buộc tương ứng của chúng.
Xung đột trong một hệ thống được mô tả bằng bộ bốn trạng thái (ai, aj, v, t), trong đó hai đối tượng ai và aj cùng chiếm đỉnh v tại thời điểm t Một giải pháp hợp lệ bao gồm k đường đi không có xung đột, tuy nhiên, một giải pháp nhất quán có thể vẫn không hợp lệ nếu có xung đột xảy ra Thuật toán tìm kiếm dựa trên xung đột nhằm xây dựng tập hợp ràng buộc cho từng đối tượng và tìm kiếm các đường đi nhất quán với những ràng buộc đó Nếu các đường đi vẫn dẫn đến xung đột, các ràng buộc mới sẽ được thêm vào để giải quyết vấn đề này.
Thuật toán tìm kiếm xung đột hoạt động trên hai cấp độ: cấp cao để phát hiện xung đột và thêm ràng buộc, và cấp thấp để cập nhật đường đi của đối tượng theo các ràng buộc mới.
5.2.2 Tìm kiếm cấp cao (High level)
5.2.2.1 Cây ràng buộc (The constaint tree) Ở tìm kiếm cấp cao, thuật toán sẽ tìm kiếm một cây gọi là cây ràng buộc (Constraint Tree - CT) CT là một cây nhị phân Mỗi nút N trong CT bao gồm:
Một tập hợp các ràng buộc (N.constraints) bao gồm các ràng buộc thuộc về từng đối tượng riêng lẻ Gốc của cây (CT) khởi đầu với một tập hợp ràng buộc rỗng Các nút con trong cây sẽ kế thừa các ràng buộc từ nút cha và đồng thời thêm một ràng buộc mới cho một đối tượng cụ thể.
Một giải pháp (N.solution) bao gồm một tập hợp các đường đi, trong đó mỗi đường đi tương ứng với một đối tượng cụ thể Để đảm bảo tính nhất quán, các đường đi này phải tuân thủ các ràng buộc liên quan Việc tìm kiếm những đường đi phù hợp sẽ được thực hiện thông qua các phương pháp tìm kiếm ở cấp thấp.
Tổng chi phí (N.cost) của giải pháp hiện tại được tính dựa trên tất cả các chi phí đường đi của từng đối tượng, và chi phí này được gọi là giá trị f của nút N.
Nút N trong cây tìm kiếm (CT) đại diện cho mục tiêu cần đạt được (target node) khi giải pháp (N.solution) là hợp lệ, tức là đảm bảo rằng tất cả các đường đi cho các đối tượng không xảy ra xung đột Tìm kiếm cấp cao thực hiện quá trình tìm kiếm ưu tiên tốt nhất trong CT, trong đó các nút được sắp xếp dựa trên chi phí của chúng.
Trong quá trình triển khai của nhóm, các trường hợp ngang nhau sẽ được ưu tiên dựa trên các nút trong CT có giải pháp liên quan với ít xung đột hơn Đối với các trường hợp cùng xung đột, chúng sẽ được xử lý theo thứ tự FIFO (First-In-First-Out).
Khi trong cây tìm kiếm có nhiều nút có giá trị f giống nhau, tức là các nút này có tổng chi phí giải pháp tương đương, chúng sẽ được ưu tiên theo thứ tự của các giải pháp mà chúng liên quan đến.
Nếu các giải pháp cho các nút "ngang nhau" có số lượng xung đột tương đương, thì các nút này sẽ được xử lý theo thứ tự FIFO (First-In-First-Out), nghĩa là nút nào được thêm vào CT trước sẽ được xử lý trước.
Nếu trong cây tìm kiếm có hai nút N1 và N2 có cùng giá trị f, nhưng N1 có ít xung đột hơn so với N2, thì N1 sẽ được ưu tiên xử lý trước Trong trường hợp cả hai nút N1 và N2 đều có số lượng xung đột giống nhau, chúng sẽ được xử lý theo thứ tự FIFO, tức là nút nào được thêm vào trước sẽ được xử lý trước.
5.2.2.2 Xử lý một nút trên cây ràng buộc
Với danh sách các ràng buộc cho một nút N trong cây ràng buộc (CT)
Khi phân tích một nút N trong CT, bước đầu tiên là sử dụng bộ tìm kiếm cấp thấp để xác định đường đi ngắn nhất cho mỗi đối tượng ai, đảm bảo rằng tất cả các ràng buộc liên quan đến ai tại nút N đều được tuân thủ.
Sau khi xác định được lộ trình nhất quán cho đối tượng, các lộ trình này sẽ được kiểm tra và đối chiếu để đảm bảo không có sự xung đột nào xảy ra.
Quá trình kiểm tra diễn ra bằng cách lặp qua tất cả các bước thời gian từ đầu đến cuối, trong đó tại mỗi thời điểm, các vị trí của các đối tượng được kiểm tra Việc so sánh vị trí giữa các đối tượng giúp xác định xem có bất kỳ đối tượng nào dự kiến sẽ chiếm cùng một vị trí tại cùng một thời điểm hay không Nếu không phát hiện xung đột, quá trình sẽ tiếp tục kiểm tra ở bước thời gian tiếp theo.
So sánh
5.3.1 Ví dụ CBS vượt trội hơn A* (Không gian nút cổ chai)
Trong ví dụ này, phương pháp CBS (Conflict-Based Search) cho thấy sự vượt trội so với A* khi mở ra ít nút hơn Cụ thể, CBS tạo ra ba nút CT, trong đó nút gốc thực hiện tìm kiếm mức thấp cho hai đối tượng và xác định được đường đi tối ưu dài 3 cho mỗi đối tượng, mở rộng tổng cộng 8 trạng thái Khi một xung đột xảy ra tại D, hai nút con CT mới được sinh ra Tại nút con bên trái, tìm kiếm mức thấp tìm ra một đường đi thay thế cho đối tượng a1 không đi qua D tại bước thời gian 2, mở rộng với f = 3 Cuối cùng, D và G1 được mở rộng với f = 4, và tìm kiếm dừng lại, trả về đường đi S1, A1, A1, D, G1.
Tổng cộng có Y = 2m + 14 trạng thái mức thấp được mở rộng, bao gồm m + 3 nút cho nút con bên trái, m + 3 trạng thái cho nút con bên phải, và 8 trạng thái từ nút gốc.
Trong không gian trạng thái của hai đối tượng, thuật toán A* bắt đầu với nút gốc (S1, S2) có giá trị f = 6, tạo ra m 2 nút (Ai, Bj) với 1 ≤ i, j ≤ m, tất cả đều có f = 6 Sau đó, nút (A1, D) với f = 7 được mở rộng, trong khi đối tượng a1 đang chờ ở A1 Tiếp theo, các nút (D, G2) và (G1, G2) cũng được mở rộng và giải pháp cuối cùng được trả về Tổng cộng, A* đã mở rộng X = m 2 + 3 nút Đối với m ≥ 5, số nút này lớn hơn 2m + 14, cho thấy rằng CBS sẽ mở rộng ít nút hơn.
Thời gian hằng số trên mỗi nút của CBS thấp hơn nhiều so với A* do CBS chỉ mở rộng các trạng thái của một đối tượng, trong khi A* mở rộng các nút đa đối tượng Danh sách OPEN của CBS cũng nhỏ hơn, vì không gian tìm kiếm của một đối tượng tuyến tính với kích thước đồ thị đầu vào, trong khi A* phải xử lý không gian trạng thái đa đối tượng lớn hơn theo cấp số nhân Điều này giúp việc chèn và trích xuất các nút trong CBS diễn ra nhanh hơn Hơn nữa, CBS phát sinh chi phí trực tiếp ở các nút mức cao, nhưng số lượng nút mức cao rất nhỏ so với nút mức thấp, dẫn đến chi phí của mức cao là không đáng kể.
5.3.2 Ví dụ A* vượt trội hơn CBS (Không gian mở)
Trong ví dụ này, A* thể hiện ưu thế hơn CBS khi có một khu vực trống ở giữa mà tất cả các đối tượng cần băng qua Mỗi đối tượng có bốn đường đi tối ưu dài 4, dẫn đến SIC heuristic của trạng thái khởi đầu là 8 Tuy nhiên, một trong 16 sự kết hợp của các đường đi này gặp phải xung đột tại một ô màu xám, khiến cho C* = 9 vì một đối tượng phải chờ ít nhất một bước để tránh va chạm A* mở rộng 5 nút với f = 8 và 3 nút với f = 9, tổng cộng mở rộng 8 nút cho đến khi tìm thấy mục tiêu.
CBS sẽ xây dựng một Cây Xung Đột (CT) bao gồm 5 nút không phải mục tiêu với chi phí 8 và 6 nút mục tiêu (đường viền đứt) với chi phí 9.
CT gốc thực hiện tìm kiếm cấp thấp cho mỗi đối tượng với 8 lần mở rộng, trong khi các nút CT không phải mục tiêu chỉ tìm kiếm cho một đối tượng duy nhất với 4 lần mở rộng Các nút CT mục tiêu mở rộng 5 nút cấp thấp Tổng cộng, CBS sẽ mở rộng 54 nút cấp thấp (8 + 4 * 4 + 6 * 5) Tuy nhiên, do Conflict Tree mở rộng theo cấp số nhân với số xung đột gặp phải, CBS sẽ gặp khó khăn khi nhóm đối tượng có liên kết chặt chẽ, tức là khi tỷ lệ xung đột nội bộ cao giữa các đối tượng trong nhóm.
Dự đoán hiệu suất của các thuật toán trong các miền thực tế có thể gặp khó khăn, nhưng những quan sát này cung cấp hướng dẫn hữu ích Trong trường hợp có nhiều điểm nắp cổ chai, thuật toán CBS sẽ vượt trội hơn A* vì khả năng loại trừ nhanh chóng các f-value tại những điểm xung đột và chuyển sang các giải pháp khác Ngược lại, khi có nhiều không gian mở, A* sẽ chiếm ưu thế hơn CBS nhờ khả năng loại trừ nhanh chóng các giải pháp xung đột.
Ứng dụng vào đồ án
Xây dựng bản đồ Dựa trên những tìm hiểu và nghiên cứu nhóm quyết định chọn bản đồ như sau:
Một file text được sử dụng để vẽ bản đồ cho thuật toán, cho phép người dùng dễ dàng và linh hoạt thay đổi bản đồ Bản đồ được xây dựng dưới dạng ma trận hai chiều, với nội dung trong ma trận được định nghĩa rõ ràng.
Ký tự '@' được xem như một vật cản hoặc tường trong quá trình xử lý của thuật toán, do đó, thuật toán sẽ không thực hiện tính toán trên các ký tự này.
Ký tự ‘.’ được hiểu là làn đường hoặc vùng hoạt động của robot trong thuật toán Khi gặp ký tự này, thuật toán sẽ tiến hành tính toán và thực hiện các thao tác liên quan đến những ký tự đó.
Hình 5.21 Số lượng và thông tin của đối tượng
Trong cùng một tệp tin văn bản, sau ma trận bản đồ sẽ là số lượng các đối tượng Những dòng tiếp theo cung cấp thông tin về trạm xuất phát và kết thúc của từng đối tượng Thuật toán sẽ sử dụng thông tin này từ tệp để lấy dữ liệu đầu vào cần thiết cho quá trình xử lý.
Thuật toán bắt đầu bằng cách gọi hàm tìm kiếm cấp cao find_solution(), có nhiệm vụ xây dựng cây ràng buộc Quy trình này khởi đầu từ nút gốc, không có ràng buộc nào Cấp cao duy trì tất cả các nút có thể mở rộng trong một vùng đệm và lần lượt lấy ra nút có chi phí thấp nhất để kiểm tra xem nó có phải là nút mục tiêu hay không.
69 giải pháp đã được phát hiện; nếu không, nút sẽ được mở rộng và tạo ra hai nút con khác nhau Các nút con này được hình thành thông qua việc bổ sung các ràng buộc mới vào các ràng buộc của nút cha.
Trong cây ràng buộc, mỗi nút CT chứa danh sách các ràng buộc mà các đối tượng phải tuân thủ Cấp độ thấp sẽ tính toán đường đi ngắn nhất từ vị trí khởi đầu đến vị trí mục tiêu cho từng đối tượng, đảm bảo không vi phạm các ràng buộc liên quan Quá trình tìm kiếm được thực hiện thông qua A* đơn đối tượng sửa đổi, với việc thêm vào danh sách các vị trí không thể chiếm lĩnh Sau khi tìm được đường đi nhất quán cho từng đối tượng, các đường đi này sẽ được xác minh thông qua mô phỏng Nếu tất cả các đối tượng đạt được mục tiêu mà không xảy ra xung đột, nút sẽ được công nhận là nút mục tiêu; ngược lại, một xung đột đã xảy ra.
Một xung đột đỉnh được biểu diễn dưới dạng (ai, aj, v, t), trong đó ai và aj là hai đối tượng liên quan, v là vị trí xung đột, và t là thời gian xảy ra xung đột Từ xung đột này, hai ràng buộc được thiết lập cho các nút con: (ai, v, t) và (aj, v, t) Ràng buộc đầu tiên cấm đối tượng ai di chuyển đến vị trí v tại thời điểm t, trong khi ràng buộc thứ hai áp dụng tương tự cho đối tượng aj.
Khi xem xét các xung đột cạnh, chúng ta sẽ duy trì một danh sách bổ sung cho các ràng buộc này Nếu phát hiện một xung đột cạnh, hai ràng buộc của các nút con sẽ có dạng (ai, posi, posf, tsf) và (aj, posi, posf, tsf) Ràng buộc đầu tiên chỉ ra rằng đối tượng ai không thể di chuyển từ vị trí posi đến posf tại bước thời gian tsf, thời điểm này đánh dấu khi đối tượng đến vị trí thứ hai và bắt đầu di chuyển.
Các xung đột trong hệ thống được kiểm tra thông qua các hàm vertex_constrain() và edge_constrain() Kết quả trả về là một tuple chứa các giá trị đại diện cho loại xung đột được phát hiện, bao gồm xung đột đỉnh và xung đột cạnh.
Khi thực hiện tìm kiếm cấp độ thấp trên một nút không phải là nút gốc, quá trình này sẽ chỉ tính toán lại đường đi cho đối tượng liên quan đến ràng buộc mới Các đối tượng khác vẫn giữ nguyên các ràng buộc hiện có, do đó, các đường đi giải pháp của chúng không bị ảnh hưởng.
Những hạn chế của robotic warehouse
Hành Động Ngẫu Nhiên và bất thường:
Kết quả của các hành động không thể được đảm bảo, vì chúng có thể bị trì hoãn, thực hiện không chính xác, hoặc phụ thuộc vào các yếu tố bên ngoài hệ thống MAPF Thời gian phản ứng của những yếu tố này thường mang tính ngẫu nhiên.
70 này đòi hỏi một số xem xét từ hệ thống MAPF, chẳng hạn như lập kế hoạch chắc chắn hoặc giảm thiểu trong quá trình thực hiện
Lập kế hoạch thời gian thực và trực tuyến:
Hầu hết các ứng dụng MAPF yêu cầu lập kế hoạch trực tuyến và phản ứng liên tục với các yêu cầu mới, thay đổi môi trường và lỗi trong quá trình thực thi Tính toán cần diễn ra trong thời gian thực, vì việc tạm dừng hệ thống để tìm kiếm các đường đi mới có thể gây hậu quả nghiêm trọng Nhiều thuật toán MAPF được thiết kế để tìm ra các giải pháp tối ưu, mặc dù chúng thường đòi hỏi nhiều tính toán Trong ngành công nghiệp, ưu tiên thường là tìm ra giải pháp nhanh chóng, ngay cả khi không phải là tối ưu, miễn là thuật toán không thất bại trong việc tìm ra một giải pháp khả thi khi một giải pháp tồn tại.
Lập lịch và Phân công Nhiệm vụ:
Việc phân công nhiệm vụ di chuyển cho các đối tượng cụ thể là một phần quan trọng trong vấn đề MAPF, cho phép tối ưu hóa và cải thiện chất lượng giải pháp Các đối tượng này cần thực hiện nhiệm vụ ngay khi được phân công, và việc lập lịch cho chúng cũng đóng vai trò quan trọng trong quá trình này.
Tìm Đúng Tiêu Chí (Metric):
Các trường hợp sử dụng khác nhau có thể đặt ra những ưu tiên khác nhau về hiệu suất của ứng dụng thuật toán vào MAPF Những ưu tiên này thường bị ảnh hưởng bởi đặc điểm cụ thể của từng trường hợp và các yếu tố môi trường liên quan Do đó, việc xác định và lựa chọn tiêu chí phù hợp không phải lúc nào cũng dễ dàng.
Chi Phí của Độ Phức Tạp Triển Khai:
Khi triển khai các thuật toán phức tạp, cần xem xét chi phí tài chính và thời gian phát triển Dù có thể kết hợp các sửa đổi cần thiết cho một ứng dụng MAPF bằng thuật toán hiện đại, hệ thống vẫn có thể quá phức tạp để thực hiện Các giải pháp phức tạp không chỉ đòi hỏi đầu tư ban đầu lớn mà còn cần bảo trì liên tục Ngược lại, thuật toán đơn giản thường linh hoạt hơn trong việc chấp nhận các sửa đổi tương lai chưa được dự đoán Do đó, ngành công nghiệp thường ưu tiên các giải pháp đơn giản, mặc dù chúng có thể thiếu một số khía cạnh quan trọng.