Bỏ qua tới nội dung
LSLab

Robot lau sàn nhỏ chui gầm giường cần khung gầm thế nào?

  • Trung cấp
  • Bài viết
  • Từ 16 tuổi
  • 7 phút đọc
Robot dẹt có khăn lau xanh lọt dưới thanh giường gỗ, nhìn sát mặt sàn với khe hở phía trên thân.

Robot lau sàn chui được gầm giường khi thân của nó thấp hơn khe hở thấp nhất trên đường đi, sau khi trừ dung sai. Khung gầm vì vậy được thiết kế từ khe hở ngược lên: dẫn động vi sai, bình nước, bơm và pin xếp thấp, miếng lau tiếp sàn, và cách lùi ra khi kẹt. Bài mô tả một thiết kế minh họa.

Mục lục
Chiều cao thân tối đa là khe hở nhỏ nhất dưới thanh ngang, trừ một dải dung sai.
  • Sàn
  • Giường có thanh ngang thấp
  • Thân robot dẹt
  • Miếng lau
  • Cảm biến nhìn lên và tia đo
  • Khe hở nhỏ nhất dưới thanh ngang
  • Dải dung sai

Bạn sẽ học được gì

  • Đi từ khe hở đo được dưới giường tới chiều cao thân tối đa của robot.
  • Giải thích vì sao dẫn động vi sai hợp với thân dẹt và odometry dựa vào đâu.
  • Mô tả bố trí bình nước, bơm, pin và cách robot thoát ra khi bị kẹt.

Cần biết trước

Chỉ cần biết robot là gì, ví dụ qua bài Robot là gì?. Các khối của cả hệ thống nằm ở bài Hệ thống robot lau sàn mini gồm những khối nào?.

Khe hở dưới giường quyết định chiều cao thân ra sao?

Chiều cao thân tối đa bằng khe hở nhỏ nhất robot phải qua, trừ dung sai. Khe hở nhỏ nhất thường nằm ở thanh ngang, ngăn kéo hoặc bậc dưới giường, không ở chân giường. Dung sai gồm sai số đo, miếng lau phồng lên khi ướt và độ nảy của thân khi qua mép thảm. Người thiết kế đo nhà thật rồi mới chọn con số; bài này không đưa số.

Trong mô hình minh họa, kiểm chiều cao bao ngoài từ sàn tới điểm cao nhất của từng cụm. Các cụm nằm cạnh nhau không cộng chiều cao với nhau; chỉ cộng các lớp thật sự xếp chồng. Bảng dưới là các phần cần kiểm:

LớpĐiều quyết định
Bánh và khe sànĐường kính bánh đặt mức tối thiểu cho thân
Miếng lauĐộ dày khi ướt, vì nó nằm dưới thân
Bình nước, pin, bo mạchChiều cao của khối cao nhất trong số chúng
Vỏ và cảm biếnPhần nhô lên của vỏ và của cảm biến nhìn lên

Một cảm biến nhìn lên cho robot biết trần khe cao hay thấp hơn thân. Theo trang hướng dẫn của Adafruit, cảm biến thời gian bay (time-of-flight) VL53L0X đo thời gian ánh sáng đi và dội lại về cảm biến. Vì dùng chùm sáng rất hẹp, nó chỉ cho khoảng cách tới bề mặt ngay phía trước. Chùm hẹp hợp để đo trần khe. Cũng trang đó cho biết nếu vật hấp thụ ánh sáng laser thì số đo không tốt, nên ván giường sẫm màu cần thử trước.

Dẫn động vi sai hợp thân dẹt vì sao?

Dẫn động vi sai chỉ cần hai bánh hai bên, mỗi bánh một động cơ, nên thân không cần cơ cấu lái và có thể thấp. Đây là lý do thiết kế minh họa chọn nó. Theo tài liệu của ros2_control, bộ điều khiển vi sai nhận lệnh vận tốc cho cả thân và dịch chúng thành lệnh cho từng bánh.

Hai kích thước quyết định việc dịch này. Cùng tài liệu mô tả khoảng cách ngắn nhất giữa bánh trái và phải, và nói nếu giá trị đó sai thì robot không chạy đúng khi vào cua. Bán kính bánh đổi vận tốc thẳng thành vòng quay bánh; nếu sai, robot chạy nhanh hoặc chậm hơn dự kiến. Hai số này cần đo lại trên robot đã lắp. Odometry, tức ước lượng vị trí từ vòng quay bánh, được tính từ phản hồi của phần cứng, nên sai số của hai số trên đi thẳng vào vị trí ước lượng.

Bánh có đánh đổi riêng. Bánh lớn vượt ngưỡng cửa và mép thảm dễ hơn nhưng nâng thân lên. Bánh nhỏ giữ thân thấp nhưng khó vượt ngưỡng, nên thiết kế minh họa dùng động cơ có hộp giảm tốc để bánh nhỏ vẫn đủ mô-men.

Hai bánh quay nhanh chậm khác nhau thì robot rẽ; khoảng cách hai bánh và bán kính bánh đặt cách dịch vận tốc thành vòng quay.
  • Thân robot nhìn từ trên
  • Bánh trái, chạy chậm hơn
  • Bánh phải, chạy nhanh hơn
  • Khoảng cách giữa hai bánh
  • Đường rẽ của robot
  • Bánh xe và bán kính

Bình nước, bơm và pin xếp thế nào trong thân thấp?

Xếp chúng thành một lớp phẳng, khối nặng nhất gần trục bánh. Trang của NASA Glenn định nghĩa tâm trọng lực là vị trí trung bình của trọng lượng của vật. Từ đó người thiết kế xác định tâm trọng lực bằng cách cộng từng bộ phận: pin, bơm, bình, bo mạch, vỏ.

Bình nước làm tâm trọng lực dịch chuyển, vì nó nặng khi đầy và nhẹ khi cạn. Thiết kế minh họa tính cả hai trạng thái và đặt bình quanh trục bánh để khi nước cạn robot không chúi hay ngửa. Bình, bơm và pin cùng ở lớp giữa thân; bo mạch và cảm biến ở lớp trên, mỏng.

Dung tích bình là đánh đổi trực tiếp với chiều cao thân:

Lựa chọnĐượcMất
Bình lớnLau lâu hơn trước khi cần nướcThân cao hơn, nặng hơn, khó chui khe thấp
Bình nhỏThân thấp, chui được khe hẹpVề trạm nạp nước thường hơn

Trạm nạp nước tự động giảm cái giá của bình nhỏ, vì mỗi lần về trạm là một lần đầy lại. Về bảo trì, bình trượt ra khỏi thân mà không phải tháo vỏ, và miếng lau gài vào hoặc rút ra bằng một thao tác, để người dùng thay được mà không cần dụng cụ.

Bình, pin và bơm cùng một lớp quanh trục bánh nên tâm trọng lực nằm gần trục, và bình trượt ra mà không cần tháo vỏ.
  • Vỏ thân thấp
  • Bình nước
  • Bơm và ống
  • Pin
  • Lớp bo mạch và cảm biến
  • Bánh trên trục
  • Tâm trọng lực
  • Miếng lau
  • Hướng bình trượt ra

Miếng lau kéo bánh và robot thoát kẹt ra sao?

Miếng lau ép xuống sàn tạo lực cản mà động cơ phải thắng. Theo giáo trình OpenStax, trong mô hình đơn giản, ma sát trượt và giới hạn ma sát tĩnh tỷ lệ với lực ép vuông góc; lực ma sát tĩnh thực tế chỉ tăng tới giới hạn đó. Miếng lau ép mạnh hơn thì kéo nặng hơn. Cùng giáo trình cho biết giới hạn ma sát tĩnh thường lớn hơn ma sát trượt, nên lúc xuất phát là lúc robot cần mô-men nhiều nhất.

Miếng lau thật trên sàn thật có thể không theo mô hình đơn giản, nên hãy đo lực kéo trên sàn thật, ướt và khô.

Khi kẹt dưới giường, robot làm theo các bước:

  1. Nhận ra kẹt: dòng động cơ tăng mà encoder không báo bánh quay thêm.
  2. Dừng bơm và dừng lau.
  3. Chỉ lùi khi cảm biến phía sau và chống rơi còn xác nhận được đường ra; lùi chậm theo đoạn đường đã lưu, có giới hạn lần thử. Không thoát được thì dừng và chờ người.
  4. Đánh dấu ô đó là khe thấp rồi báo cho máy tính.

Bộ điều khiển vi sai còn có thời hạn chờ lệnh: lệnh vận tốc quá hạn bị coi là cũ. Nhờ vậy khi lệnh không còn tới, bánh không tiếp tục quay theo lệnh cũ.

Robot nghi kẹt thì dừng bơm, chỉ lùi khi hướng thoát còn an toàn; thử có giới hạn rồi báo lỗi.
  • Vào gầm, đo trần khe
  • Kẹt ở khối thấp
  • Lùi thẳng, ngắt bơm
  • Ô được đánh dấu trên bản đồ
  • Thứ tự các bước

Ví dụ trong đời sống

Đây là kịch bản thiết kế, chưa phải kết quả thử. Robot tới mép một chiếc giường. Cảm biến nhìn lên báo trần khe cao hơn thân kèm dung sai, nên nó chui vào. Đi sâu hơn, thanh ngang phía trong thấp hơn: cảm biến đọc thấp dần, robot dừng trước khi chạm thanh ngang và bỏ hướng đó. Nếu thân vẫn mắc vì sai số đo, dòng có thể tăng dù encoder không báo tiến triển. Robot coi đó là nghi kẹt, dừng bơm, chỉ lùi ra khi đường sau còn an toàn, đánh dấu ô là khe thấp và báo cho máy tính. Máy tính loại ô này khỏi vùng lau dưới giường.

Hiểu lầm thường gặp

Thân thấp hơn luôn tốt hơn. Thân thấp hơn chứa ít nước hơn và ít pin hơn, nên robot về trạm thường hơn. Độ thấp cần đủ cho khe, không cần thấp nhất có thể.

Bánh lớn luôn vượt ngưỡng tốt hơn. Bánh lớn nâng thân lên, có thể làm robot không còn lọt khe. Chọn bánh là cân hai mục tiêu.

Cảm biến nhìn lên cho số đo đúng ở mọi ván giường. Vật hấp thụ ánh sáng laser cho số đo không tốt, nên cần thử với vật liệu thật.

Câu hỏi thường gặp

Robot lau sàn thấp bao nhiêu thì chui được gầm giường?

Không có một số chung. Thân phải thấp hơn khe hở nhỏ nhất dưới giường, trừ dung sai, nên hãy đo nhà của bạn rồi chọn.

Vì sao robot lau thường dùng hai bánh bên hông?

Hai bánh bên hông, mỗi bánh một động cơ, không cần cơ cấu lái nên thân có thể thấp. Bộ điều khiển dịch lệnh vận tốc của thân thành lệnh cho từng bánh.

Robot bị kẹt dưới gầm thì làm gì?

Trong mô hình minh họa, nó đối chiếu dòng và encoder, dừng bơm, chỉ lùi khi đường sau còn an toàn; thử có giới hạn rồi dừng và báo nếu chưa thoát.

Tóm tắt

  • Chiều cao thân đi từ khe hở nhỏ nhất đo được, trừ dung sai; cảm biến nhìn lên kiểm khe lúc chạy.
  • Dẫn động vi sai cho thân dẹt; kích thước bánh và khoảng cách bánh quyết định odometry; bình, bơm, pin xếp thành một lớp quanh trục bánh.
  • Miếng lau thêm lực cản, nên robot cần dư mô-men và biết lùi ra khi kẹt.

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.

khe hởclearance
Khoảng trống thẳng đứng nhỏ nhất dưới đồ nội thất mà thân robot phải qua; chiều cao thân phải thấp hơn nó, trừ dung sai.
dẫn động vi saidifferential drive
Cách di chuyển bằng hai bánh hai bên, mỗi bánh một động cơ; bộ điều khiển dịch lệnh vận tốc của thân thành lệnh cho từng bánh.
odometry
Ước lượng vị trí của robot từ vòng quay bánh, được tính từ phản hồi của phần cứng.
cảm biến thời gian baytime-of-flight sensor
Cảm biến đo khoảng cách bằng thời gian ánh sáng đi và dội lại; chùm hẹp nên chỉ đo bề mặt ngay phía trước.
tâm trọng lựccentre of gravity
Vị trí trung bình của trọng lượng của vật; tổng hợp từ các bộ phận khi thiết kế bố trí.
ma sátfriction
Lực cản chuyển động tương đối giữa hai bề mặt. Trong mô hình đơn giản, ma sát trượt và giới hạn ma sát tĩnh phụ thuộc lực ép vuông góc.

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.

Báo lỗi bài này
Xem tất cả bài của chủ đề

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.