Robot lau phủ kín một phòng theo đường nào?
- Nâng cao
- Bài viết
- Từ 18 tuổi
- 8 phút đọc

Robot lau phủ kín một phòng bằng một đường đi qua mọi vùng sàn cần lau, không chỉ đường ngắn nhất tới một đích. Phòng được chia thành các ô quanh đồ đạc, mỗi ô lau theo hàng song song. Bản đồ ô đã lau giúp robot nối lại sau khi sạc.
Mục lục
- Giường
- Bàn tròn
- Trạm gần cửa
- Đường qua lại của robot
- Robot lau
- Ô bị chặn
- Cửa ra hành lang
Bạn sẽ học được gì
- Phân biệt lập đường phủ kín với tìm đường ngắn nhất, rồi chọn kiểu đường qua lại, xoắn ốc hay ngẫu nhiên.
- Chia phòng thành ô quanh vật cản, chọn khoảng cách giữa các hàng và ghi nhớ ô đã lau.
- Giải thích sai số trôi của vị trí, cách sửa nó, và việc robot làm khi một ô bị chặn.
Cần biết trước
Nên biết robot lau gồm những khối nào, ví dụ qua bài Hệ thống robot lau sàn mini gồm những khối nào? và cảm biến gần qua bài Cảm biến nào giúp robot lau nhỏ tránh vực và va chạm?. Thiết kế dưới đây là mô hình minh họa, chưa thử trên robot thật.
Phủ kín khác tìm đường ngắn nhất ở chỗ nào?
Tìm đường ngắn nhất đưa robot từ điểm này tới điểm kia, còn lập đường phủ kín phải đưa robot đi qua mọi vùng sàn. Theo một nghiên cứu về lập lại đường phủ, bài toán phủ kín là tìm một đường để robot đi hết môi trường bằng cảm biến hoặc công cụ mang theo. Với robot lau, công cụ đó là khăn lau, nên "đi hết" nghĩa là khăn chạm tới từng vùng sàn.
Ba kiểu đường hay gặp được so sánh dưới đây.
| Kiểu đường | Cách đi | Hợp khi |
|---|---|---|
| Qua lại (boustrophedon) | Các hàng song song, nối nhau ở cuối hàng | Vùng trống dạng hình chữ nhật, cần phủ đều và dễ tính độ chồng |
| Xoắn ốc | Vòng nhỏ dần hoặc lớn dần quanh một điểm | Vùng nhỏ quanh một vật, ví dụ dưới chiếc bàn tròn |
| Ngẫu nhiên | Đi thẳng tới khi va chạm rồi đổi hướng | Robot rẻ, chưa có bản đồ |
Một khảo sát về robot lau dọn nêu cách đơn giản nhất: dựa vào cảm biến va chạm để phát hiện vật cản và chỉnh đường. Trong các thuật toán phủ ngẫu nhiên, robot thường đơn giản và kém hiệu quả hơn. Một nghiên cứu khác ghi nhận các kiểu xoắn ốc, tham lam và zigzag từng được dùng trong một robot lau dọn thông thường. Khảo sát đầu cũng lưu ý các kiểu lập trình sẵn như zigzag, xoắn ốc và bám tường không phải lúc nào cũng đủ.
Thiết kế minh họa dùng đường qua lại làm kiểu chính. Xoắn ốc dành cho vùng nhỏ quanh chân bàn tròn, còn bám tường dùng để quét sát mép. Đây là lựa chọn thiết kế, không phải kết luận của các nguồn trên.
- Đường qua lại
- Đường xoắn ốc
- Đường ngẫu nhiên
Chia phòng thành ô quanh vật cản ra sao?
Robot chia phòng thành các ô không còn vật cản bên trong rồi phủ từng ô. Theo một nghiên cứu về phủ kín nhiều robot, cách chia để trị chia toàn bộ môi trường thành nhiều vùng con gọi là các ô. Mỗi ô được phủ bằng một kiểu đường đơn giản như zigzag hoặc xoắn ốc. Cùng nghiên cứu đó nhắc Choset đề xuất phép chia ô boustrophedon. Phép này tổng quát hóa từ phép chia hình thang và cho phép vật cản không phải đa giác.
Với một căn phòng, giường và bàn là các vật cản. Phép chia ô cắt sàn thành vùng trước giường, vùng bên cạnh giường, vùng quanh bàn và vùng gần cửa. Mỗi vùng có một đường qua lại riêng, sau đó robot nối các vùng bằng một đường ngắn. Một phương pháp dựa trên chia ô boustrophedon được thiết kế để tự chia lại việc phủ khi robot hỏng. Ý này hữu ích cho cả đội robot.
Robot ghi nhớ kết quả vào một lưới ô: mỗi ô nhỏ là chưa lau, đã lau hoặc bị chặn. Theo nghiên cứu lập lại đường, phương pháp dựa trên lưới hợp với môi trường nhiều đồ đạc. Lý do là dễ cập nhật lưới khi có thông tin chiếm chỗ mới. Một mục tiêu của lập đường phủ kín là giảm số lần đi lại một vùng đã phủ, theo nghiên cứu phủ nhiều robot.
Khoảng cách giữa hai hàng quyết định độ chồng. Khảo sát robot lau dọn nêu một khung lập đường giả định rằng đi qua một vùng là đã lau hiệu quả trong phạm vi thân robot. Khung đó chưa xét bề rộng phủ và tỷ lệ chồng. Với robot lau, khoảng cách hàng nên nhỏ hơn bề rộng khăn một chút. Hàng thưa để lại sọc chưa lau, hàng quá dày lau lại cùng chỗ. Đây là lập luận thiết kế.
- Đường chia ô
- Giường
- Bàn tròn
- Các hàng song song trong ô
- Hai dải lau
- Vạch chồng nhẹ
- Sọc chưa lau
Sai số vị trí tích lũy thì sửa thế nào?
Vị trí ước lượng từ bánh xe trôi dần, nên robot cần một mốc bên ngoài để sửa định kỳ. Theo đề xuất ROS về hệ tọa độ, vị trí của robot trong hệ odom có thể trôi theo thời gian mà không có giới hạn. Cũng theo đề xuất đó, vị trí trong hệ odom liên tục, không có bước nhảy rời rạc. Thiết kế minh họa dùng tính liên tục này để bám đường trong đoạn ngắn.
Mốc để sửa nằm ở hệ bản đồ. Trong thiết lập thông thường, một thành phần định vị liên tục tính lại vị trí robot trong hệ bản đồ từ quan sát cảm biến, nhờ đó loại bỏ sự trôi. Cái giá là vị trí trong hệ bản đồ có thể đổi bằng bước nhảy rời rạc vào bất kỳ lúc nào. Bộ lập đường phải chịu được bước nhảy. Trong mô hình minh họa, robot giữ tiến độ trong cùng hệ bản đồ và ghi độ bất định của dấu vết khăn. Khi hiệu chỉnh lớn hoặc bản đồ đổi, phải kiểm lại các ô ở ranh giới và cho lau lại phần chưa chắc chắn; không mặc định mọi ô cũ vẫn đúng.
Robot nhỏ có thể lấy mốc từ ba nơi: chạm tường hoặc mép bậc, một mốc cố định trên sàn, và trạm khi quay về. Chạm tường cho biết robot đang cách tường một khoảng đã biết, nên có thể giảm bất định theo hướng vuông góc với một bức tường đã nhận đúng; vẫn còn sai số tiếp xúc, kích thước thân và bản đồ, không thể coi sai số bằng không. Đây là mô hình minh họa; cần đo trên robot thật để biết sau bao nhiêu hàng thì phải sửa.
- Đường đã định
- Vùng sai số mở rộng
- Đường ước lượng từ bánh xe
- Tường
- Robot thật chạm tường
- Vị trí ước lượng đã trôi
- Bước sửa về vị trí đúng
Ô bị chặn và việc nối lại sau khi sạc thì sao?
Khi một ô bị chặn, robot đánh dấu ô đó, đi vòng sang ô kế và báo lại, không dừng cả lượt lau. Lý do là tính lại đường phủ ngay khi đang chạy có thể tốn tính toán, khiến robot dừng và kéo dài thời gian phủ. Nghiên cứu đó cũng nêu lập lại đường kiểu đi vòng tham lam. Cách này lệch ít nhất khỏi đường ban đầu, tính nhanh nhưng có thể gây vòng thừa. Mô hình minh họa dùng nó cho một ô bị chặn nhỏ, rồi gom các ô bị chặn để gửi cảnh báo cho người.
Theo khảo sát robot lau dọn, một kế hoạch dựng trên bản đồ tĩnh chưa xét thay đổi động như người đi lại hoặc vật bị xê dịch. Vì vậy lưới ô phải sửa được khi một chiếc ghế bị kéo ra giữa lối đi.
Sau khi sạc, robot không lau lại từ đầu. Lưới ô đã lau còn nguyên, nên robot đi tới ô chưa lau gần nhất và tiếp tục. Dự trữ pin để về trạm nằm ở bài về thời lượng pin. Việc bơm nước theo tốc độ nằm ở bài về lau ẩm. Đường phủ chỉ cần báo tốc độ và hàng đang đi.
Ba chỉ số khởi đầu để đánh giá một lượt lau là: phần diện tích đã phủ, phần bị lau lại và thời gian cả lượt. Diện tích đích phải được chốt trước; báo riêng phần bị chặn, không loại nó khỏi mẫu số để làm tỷ lệ phủ đẹp hơn. Phủ hình học cũng chưa chứng minh chất lượng làm sạch. Phần lau lại tương ứng với mục tiêu giảm số lần đi lại một vùng.
- Ô đã lau
- Ô chưa lau
- Ô bị chặn
- Robot lau
- Trạm
- Đường tới ô chưa lau gần nhất
Ví dụ trong đời sống
Một phòng ngủ có giường, bàn nhỏ và cửa ra hành lang. Đây là kịch bản thiết kế, chưa phải kết quả thử. Robot rời trạm ở cạnh cửa, đi dọc tường để sửa vị trí rồi phủ vùng trước giường bằng các hàng song song.
Giữa hàng, robot gặp một đôi dép nằm chắn. Nó đánh dấu ô đó là bị chặn, đi vòng và tiếp tục hàng kế. Trước khi pin xuống thấp, robot đã phủ vùng cạnh giường và một phần quanh bàn. Nó về trạm sạc, rồi quay lại ô chưa lau gần nhất, hoàn thành vùng quanh bàn bằng xoắn ốc. Cuối lượt, trung tâm gửi một cảnh báo: một ô gần giường bị chặn bởi đôi dép. Người nhặt dép lên, và lượt sau ô đó được lau.
Hiểu lầm thường gặp
Đi ngẫu nhiên đủ lâu thì cũng phủ kín. Trong các thuật toán phủ ngẫu nhiên, robot lau dọn thường đơn giản và kém hiệu quả hơn. Cách này hợp với robot rẻ chưa có bản đồ, còn phòng nhiều đồ đạc cần đường có kế hoạch.
Có bản đồ thì vị trí luôn đúng. Vị trí trong hệ odom có thể trôi mà không có giới hạn. Bản đồ chỉ đúng khi có mốc để sửa.
Ô đã đi qua là đã sạch. Đi qua một vùng chưa chứng minh vùng đó được lau hiệu quả. Bề rộng khăn, độ chồng và lượng nước vẫn quyết định kết quả.
Câu hỏi thường gặp
Robot lau nên chọn đường zigzag hay xoắn ốc?
Chọn theo hình dạng vùng. Đường qua lại hợp với vùng trống dạng hình chữ nhật, xoắn ốc hợp với vùng nhỏ quanh một vật. Thiết kế minh họa dùng cả hai và thêm bám tường cho mép.
Vì sao robot đã đi qua mà sàn vẫn còn vệt chưa lau?
Có thể khoảng cách giữa hai hàng lớn hơn bề rộng khăn, hoặc vị trí ước lượng đã trôi nên các hàng lệch nhau. Kiểm tra bằng cách đo khoảng cách hàng và để robot chạm tường hoặc về trạm để sửa vị trí.
Sau khi sạc, robot có lau lại từ đầu không?
Không. Lưới ô đã lau được giữ nguyên, nên robot tiếp tục từ ô chưa lau gần nhất.
Tóm tắt
- Lập đường phủ kín đưa robot đi qua mọi vùng sàn; phòng được chia ô quanh vật cản và mỗi ô phủ bằng đường qua lại hoặc xoắn ốc.
- Lưới ô ghi ô chưa lau, đã lau và bị chặn; khoảng cách hàng nhỏ hơn bề rộng khăn một chút để không sót vệt.
- Vị trí từ bánh xe trôi nên cần mốc sửa; ô bị chặn được đánh dấu và báo người, lưới giúp nối lại sau sạc.
Thuật ngữ trong bài
Tên tiếng Việt, tên tiếng Anh và nghĩa dùng trong bài. Di chuột, chạm hoặc dùng phím Tab tới từ có gạch chân chấm để xem giải thích ngay khi đọc.
- lập đường phủ kíncoverage path planning
- Lập một đường để robot đi hết toàn bộ môi trường bằng cảm biến hoặc công cụ mang theo.
- chia ôcell decomposition
- Chia môi trường thành các vùng con gọi là ô, mỗi ô được phủ bằng một đường đi đơn giản.
- boustrophedon
- Phép chia ô do Choset đề xuất, tổng quát hóa từ phép chia hình thang và cho phép vật cản không phải đa giác.
- sai số trôidrift
- Vị trí ước lượng của robot lệch dần theo thời gian mà không có giới hạn.
- hệ odomodom frame
- Hệ tọa độ cố định theo thế giới, trong đó vị trí robot liên tục nhưng có thể trôi theo thời gian.
- lập lại đườngreplanning
- Tính lại phần đường còn lại khi đường đã lập bị vật cản mới chặn.
Bài này chưa được đánh dấu là đã xem
Thấy nội dung sai hoặc chưa an toàn?
Báo cho quản trị viên qua email. Thư có sẵn tên bài và đường dẫn.
Có thể bạn cũng quan tâm
Nâng caoNhiều robot lau chia khu vực và dùng chung trạm thế nào?
Cách một đội robot lau chia sàn thành khu vực, giao khu cho từng robot, xếp hàng dùng chung trạm và giao lại khu khi một robot hỏng.
Robotics (Robot học)8 phút đọc
Trung cấpMô phỏng robot lau sàn cần kiểm những tầng nào?
Bốn tầng mô phỏng cho robot lau sàn: mạch điện, firmware, chuyển động và cả đội; mỗi tầng kiểm được gì, tiêu chí đạt và khi nào nên làm mẫu.
Robotics (Robot học)7 phút đọc
Trung cấpMô phỏng mạch điện robot lau sàn bằng công cụ nào?
Mô phỏng mạch điện cho robot lau sàn: công cụ SPICE, mạch nào đáng thử, cách đọc kết quả đạt hay không và điều nó chưa thay được.
Robotics (Robot học)7 phút đọc
Trung cấpChạy thử firmware robot khi chưa có phần cứng ra sao?
Ba mức thử firmware robot lau sàn khi chưa có phần cứng: thử logic trên máy tính, giả lập vi điều khiển và vòng phần cứng giả, cùng giới hạn của từng mức.
Robotics (Robot học)7 phút đọc
Nguồn
Các nguồn này viết cho người đọc lớn hơn. Nếu thấy khó, hãy đọc cùng người lớn.
- Evolutionary Algorithm-Based Complete Coverage Path Planning for Tetriamond Tiling Robots(mở trong thẻ mới)
PubMed CentralBậc A: cơ quan, tổ chức chuẩn hoặc nghiên cứuĐọc ngày 2 tháng 11, 2026
- Genetic algorithm-based coverage path planning for autonomous aircraft cabin cleaning by reconfigurable robot(mở trong thẻ mới)
PubMed CentralBậc A: cơ quan, tổ chức chuẩn hoặc nghiên cứuĐọc ngày 2 tháng 11, 2026
- Resilient Multi-Robot Coverage Path Redistribution Using Boustrophedon Decomposition for Environmental Monitoring(mở trong thẻ mới)
PubMed CentralBậc A: cơ quan, tổ chức chuẩn hoặc nghiên cứuĐọc ngày 2 tháng 11, 2026
- REP 105: Coordinate Frames for Mobile Platforms(mở trong thẻ mới)
ROS.orgBậc A: cơ quan, tổ chức chuẩn hoặc nghiên cứuĐọc ngày 2 tháng 11, 2026
- Anytime Replanning of Robot Coverage Paths for Partially Unknown Environments(mở trong thẻ mới)
arXivBậc C: nguồn khácĐọc ngày 2 tháng 11, 2026
- Collaborative Complete Coverage and Path Planning for Multi-Robot Exploration(mở trong thẻ mới)
PubMed CentralBậc A: cơ quan, tổ chức chuẩn hoặc nghiên cứuĐọc ngày 2 tháng 11, 2026
