Bỏ qua tới nội dung
LSLab

Mô phỏng robot lau sàn cần kiểm những tầng nào?

  • Trung cấp
  • Bài viết
  • Từ 16 tuổi
  • 7 phút đọc
Nhìn từ trên xuống, laptop có căn hộ ảo, một bo mạch và khung robot mở xếp cạnh nhau trên bàn giấy kỹ thuật.

Mô phỏng robot lau sàn nên kiểm bốn tầng: mạch điện, firmware, chuyển động và cả đội. Mỗi tầng trả lời một câu hỏi riêng và có tiêu chí đạt riêng, ví dụ nguồn không sụt dưới giới hạn cho phép khi bơm khởi động hoặc robot tự về trạm khi mất liên kết. Mẫu thật vẫn cần cho những điều mô phỏng không đo được.

Mục lục
Bốn tầng mô phỏng xếp từ linh kiện lên cả đội robot.
  • Tầng mạch điện
  • Tầng firmware
  • Tầng chuyển động
  • Tầng cả đội

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

  • Phân biệt điều mô phỏng chứng minh được với điều chỉ mẫu thật mới trả lời.
  • Viết tiêu chí đạt kiểm được cho từng tầng và nối nó với yêu cầu.
  • Theo một yêu cầu, về trạm khi mất liên kết, qua cả bốn tầng và biết khi nào dừng mô phỏng để làm mẫu.

Cần biết trước

Nên đọc qua bài về các khối của hệ thống robot lau sàn mini. Các thuật ngữ khác được giải thích ngay lần đầu xuất hiện.

Mô phỏng chứng minh được gì và chưa chứng minh được gì?

Mô phỏng cho bằng chứng rằng thiết kế đáp ứng yêu cầu trong một mô hình, chưa phải trong căn nhà thật. Sổ tay kỹ thuật hệ thống của NASA tách hai câu hỏi: xác minh (verification) hỏi sản phẩm có được tạo ra đúng không, thẩm định (validation) hỏi có tạo ra đúng sản phẩm không. Cùng tài liệu xếp mô phỏng vào phương pháp phân tích: mô hình là biểu diễn toán học của thực tế, còn mô phỏng là vận hành mô hình đó.

Lý do dùng mô phỏng là chi phí. Thử nghiệm trên sản phẩm thật là kỹ thuật xác minh tốn nhiều nguồn lực nhất, và thẩm định bằng thử nghiệm cũng vậy. Sửa thiết kế trong mô hình trước khi làm mẫu là cách rẻ hơn để bắt lỗi sớm.

Giới hạn nằm ở mô hình. Theo một khảo sát về khoảng cách giữa mô phỏng và thực tế, không có trình mô phỏng hoàn hảo, nên luôn có chênh lệch với thế giới thật, gọi là khoảng cách thực tế (reality gap). Khảo sát đó mô tả khoảng cách này gồm nhiều khoảng cách nhỏ, mỗi cái do mô phỏng không tái tạo chính xác một cơ chế vật lý, ở động lực học, cảm nhận, cơ cấu chấp hành và điều khiển, và thiết kế hệ thống. Vì vậy mỗi kết quả đạt chỉ có giá trị cho phần đã được mô hình hóa.

Giữa mô hình và nhà thật là một khoảng cách gồm bốn phần nhỏ.
  • Mô hình ảo
  • Nhà thật
  • Động lực học
  • Cảm nhận
  • Cơ cấu chấp hành và điều khiển
  • Thiết kế hệ thống

Bốn tầng mô phỏng kiểm điều gì?

Mỗi tầng kiểm một nhóm lỗi khác nhau, nên cần cả bốn. Bảng dưới là một cách chia, kèm công cụ tiêu biểu cho mỗi tầng; ba bài sau đi sâu vào mạch điện, firmware và chuyển động.

TầngCâu hỏi kiểmCông cụ ví dụChưa kiểm được
Mạch điệnNguồn, động cơ và bơm có chạy đúng khi cùng bật?ngspice mô phỏng mạch điện và điện tửNhiệt và nhiễu của bo thật
FirmwareMã xử lý đúng sự kiện và lỗi?Wokwi mô phỏng ESP32 và cả Wi-FiThời gian thật, vô tuyến trong nhà
Chuyển độngRobot ảo có phủ phòng, tránh rơi, vào trạm?Gazebo, tương tác qua chủ đề ROSMa sát sàn, khăn ẩm
Cả độiCác robot chia khu vực và thay phiên dùng trạm?Bộ điều khiển thật nối với mô phỏng chuyển độngTải Wi-Fi của nhà thật

Theo tài liệu của ngspice, nó là trình mô phỏng spice mã nguồn mở cho mạch điện và mạch điện tử. Theo tài liệu của Wokwi, trình này mô phỏng bo Arduino, ESP32, STM32 và nhiều bo, linh kiện, cảm biến khác, và có mô phỏng Wi-Fi để dự án dùng MQTT, HTTP hay NTP. Với Gazebo, người dùng tương tác với mô phỏng đang chạy bằng cách đăng và nhận chủ đề qua Gazebo Transport hoặc ROS, cách bộ điều khiển trên máy tính có thể nối vào.

Khi đã có bo thật, mô phỏng phần cứng trong vòng lặp (hardware in the loop) thêm một lớp kiểm. Một khung hardware in the loop cho thấy tác động của độ trễ, nhiễu và bão hòa lên hệ điều khiển.

Mỗi tầng kiểm được một phần; ô viền đứt là phần còn lại chỉ mẫu thật trả lời.
  • Tầng mạch điện
  • Tầng firmware
  • Tầng chuyển động
  • Tầng cả đội
  • Phần chưa kiểm được

Tiêu chí đạt viết thế nào cho từng tầng?

Tiêu chí đạt là một câu có điều kiện, kết quả mong đợi và cách đo, để ai chạy cũng ra cùng kết luận. Danh mục kiểm tra yêu cầu của NASA hỏi liệu yêu cầu đã được nêu theo cách đo được và xác minh được, và liệu mọi yêu cầu có truy vết được hai chiều tới yêu cầu cấp cao hơn. Bảng sau áp dụng ý đó cho mô hình minh họa; nội dung từng tiêu chí là đề xuất thiết kế.

Yêu cầu gốcTầngTiêu chí đạtKết quả
Nguồn ổn địnhMạch điệnKhi bơm và các động cơ khởi động cùng lúc, điện áp cấp cho vi điều khiển không xuống dưới giới hạn của chipĐạt hoặc chưa đạt
Về trạm khi mất liên kếtFirmwareKhi nhịp tim ngừng quá thời hạn chờ, firmware ngắt bơm, dừng bánh và vào trạng thái an toàn; chỉ về trạm khi còn tuyến cục bộ, định vị và đủ pinĐạt hoặc chưa đạt
Phủ phòng an toànChuyển độngQua nhiều lượt chạy từ các vị trí khác nhau, robot ảo phủ đủ phòng, không rơi khỏi mép, vào trạm thành côngĐạt hoặc chưa đạt
Dùng chung trạmCả độiKhi hai robot cần trạm cùng lúc, một robot vào trước, robot kia chờ và không ai bị kẹtĐạt hoặc chưa đạt

Cột "Kết quả" chỉ điền sau khi chạy. Truy vết hai chiều nghĩa là từ mỗi dòng nhìn lên thấy yêu cầu gốc, và từ yêu cầu nhìn xuống thấy thử nghiệm kiểm nó.

Truy vết hai chiều: từ yêu cầu xuống thử nghiệm và ngược lại, mỗi thử nghiệm có kết quả đạt hoặc chưa đạt.
  • Yêu cầu gốc
  • Thử nghiệm mô phỏng
  • Kết quả đạt
  • Kết quả chưa đạt
  • Truy vết hai chiều

Một yêu cầu đi qua cả bốn tầng ra sao?

Một yêu cầu thường cần bằng chứng ở nhiều tầng. Lấy yêu cầu "mất liên kết thì ngừng lau và tự về trạm" làm ví dụ giả định:

  1. Mạch điện: tắt bơm xong, mạch vẫn cấp đủ điện cho động cơ và vi điều khiển trong lúc robot chạy về.
  2. Firmware: bộ đếm nhịp tim hết hạn, máy trạng thái dừng bơm và bánh trong ngân sách thời gian, rồi chỉ cho về trạm nếu dữ liệu điều hướng còn hợp lệ. Có thêm bài thử mất định vị để xác nhận robot vẫn đứng yên.
  3. Chuyển động: robot ảo xuất phát từ khu xa, đi quanh giường và bàn, vào trạm thành công qua nhiều lần chạy.
  4. Cả đội: hai robot cùng mất liên kết và cùng về trạm; robot chỉ tiến vào khi có quyền từ trạm hoặc cơ chế cấp quyền cục bộ đã được mô hình hóa. Nếu chỉ trung tâm cấp quyền mà trung tâm đã mất, kết quả đúng là chờ riêng ngoài lối vào, không giả định hàng chờ vẫn chạy.

Mô phỏng phát hiện lỗi mà đọc mã khó thấy. Giả sử ở tầng firmware, các lần kết nối lại làm bộ đếm nhịp tim bị đặt lại liên tục nên bơm không bao giờ tắt. Lỗi này lộ ra khi cắt liên kết nhiều lần trong mô phỏng, và sửa mã trước khi có bo.

Ví dụ yêu cầu mất liên kết: dừng an toàn, chỉ về trạm khi đủ điều kiện cục bộ; cần bằng chứng ở cả bốn tầng.
  • Mất liên kết
  • Làn mạch điện
  • Làn firmware
  • Làn chuyển động
  • Làn cả đội

Khi nào nên dừng mô phỏng để làm mẫu?

Nên dừng khi tiêu chí của cả bốn tầng đã đạt và phần rủi ro còn lại chỉ đo được trên mẫu thật. Bốn việc điển hình thuộc nhóm đó: khăn ẩm thấm nước ra sao, hóa học của pin, vô tuyến Wi-Fi trong nhà thật và ma sát của sàn. Chúng nằm trong các khoảng cách nhỏ nói ở trên, nên mô hình khó tái tạo đủ chính xác.

Mẫu thật là kỹ thuật tốn kém nhất, nên chỉ làm mẫu tối thiểu để đo đúng những điều đó. Kết quả đo nên quay lại sửa mô hình để các lần mô phỏng sau sát thực tế hơn.

Khi cả bốn tầng đạt, phần còn lại do mẫu thật đo: khăn ẩm, pin, vô tuyến, ma sát.
  • Khung việc chỉ mẫu thật đo được
  • Bốn tầng đã đạt
  • Khăn ẩm thấm nước
  • Pin
  • Vô tuyến Wi-Fi
  • Ma sát sàn

Ví dụ trong đời sống

Một người chuẩn bị mua linh kiện. Trước khi đặt bơm, họ dựng mạch nguồn trong trình mô phỏng mạch và thấy điện áp tụt khi bơm bật cùng động cơ. Họ thêm tụ lọc trong mô hình rồi chạy lại. Chỉ sau khi mô hình đạt họ mới đặt linh kiện, và dùng mẫu đầu tiên để đo xem mô hình có đúng không.

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

Mô phỏng đạt nghĩa là robot sẽ chạy tốt trong nhà. Kết quả chỉ đúng cho phần đã mô hình hóa; khoảng cách thực tế luôn còn đó.

Mô phỏng chuyển động là đủ. Mạch điện và firmware có lỗi riêng mà trình mô phỏng chuyển động không thấy, như điện áp tụt hay bộ đếm nhịp tim bị đặt lại.

Làm mô phỏng rồi thì không cần mẫu. Khăn ẩm, pin, Wi-Fi và ma sát vẫn phải đo trên mẫu thật.

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

Mô phỏng có thay được mẫu thử không?

Không thay hoàn toàn. Mô phỏng bắt lỗi sớm và rẻ, còn mẫu thật đo những thứ mô hình khó tái tạo.

Nên bắt đầu mô phỏng từ tầng nào?

Bắt đầu từ tầng mà lỗi tốn kém nhất khi làm bản thật, thường là nguồn điện và logic an toàn của firmware. Đây là gợi ý thiết kế, tùy dự án.

Có cần bo thật để mô phỏng firmware không?

Không bắt buộc. Trình mô phỏng như Wokwi chạy được mã cho ESP32 và Wi-Fi, nên viết và thử mã trước khi có bo. Thời gian thực và vô tuyến vẫn cần đo trên bo thật.

Tóm tắt

  • Mô phỏng cho bằng chứng trong một mô hình; khoảng cách thực tế nghĩa là mỗi kết quả chỉ đúng cho phần đã mô hình hóa.
  • Bốn tầng, mạch điện, firmware, chuyển động và cả đội, mỗi tầng có tiêu chí đạt kiểm được và truy về yêu cầu gốc.
  • Dừng mô phỏng khi cả bốn tầng đạt, rồi làm mẫu tối thiểu để đo khăn ẩm, pin, Wi-Fi thật và ma sá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.

xác minhverification
Quy trình chính thức xác nhận hệ thống đáp ứng mọi yêu cầu đã định, trả lời câu hỏi sản phẩm có được tạo ra đúng không.
thẩm địnhvalidation
Việc bảo đảm hệ thống hoạt động như mong đợi trong môi trường dự định, trả lời câu hỏi có tạo ra đúng sản phẩm không.
mô phỏngsimulation
Việc vận hành một mô hình, tức biểu diễn toán học của thực tế, để xem hệ thống phản ứng thế nào.
khoảng cách thực tếreality gap
Chênh lệch giữa môi trường mô phỏng và môi trường thật; không trình mô phỏng nào xóa hết được.
mô phỏng phần cứng trong vòng lặphardware in the loop
Cách mô phỏng đưa phần cứng điều khiển thật vào vòng mô phỏng để thấy tác động của độ trễ, nhiễu và bão hòa.
truy vếttraceability
Khả năng nối mỗi thử nghiệm với yêu cầu gốc và ngược lại, theo cả hai chiều.
mẫu thửprototype
Bản chế tạo thật dùng để đo những điều mô hình khó tái tạo; là cách thẩm định tốn nhiều nguồn lực nhất.

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.