KyThuatRobot.comKỹ Thuật Robot
ROS 2 thực hành

Mô phỏng robot — dùng đúng chỗ

Mô phỏng tiết kiệm rất nhiều thời gian, và cũng lừa được người ta rất lâu nếu tin quá mức.

Mô hình robot ba chiều trên màn hình

Mô phỏng cho phép thử nghiệm không giới hạn, không hỏng phần cứng, không cần có robot. Nó cực kỳ hữu ích cho một số việc và gây lầm lẫn nghiêm trọng nếu dùng cho việc khác.

Mô phỏng làm tốt việc gì

Kiểm tra logic. Máy trạng thái, luồng xử lý, giao tiếp giữa các thành phần. Đây là chỗ mô phỏng gần như tương đương thực tế.

Phát triển thuật toán lập kế hoạch. Tìm đường, tránh vật cản ở mức hình học. Hình học trong mô phỏng đúng.

Thử nghiệm bố trí. Robot có với tới không, có đi qua được không, có va vào gì không. Trả lời được trước khi xây dựng thật.

Kiểm tra trường hợp nguy hiểm. Mô phỏng va chạm, mất cảm biến, tình huống hiếm. Thử trên robot thật thì tốn kém hoặc nguy hiểm.

Huấn luyện mô hình học máy. Sinh dữ liệu vô hạn với nhãn hoàn hảo.

Phát triển song song với chế tạo. Phần mềm làm được trong khi phần cứng chưa xong.

Kiểm thử tự động. Chạy hàng trăm kịch bản sau mỗi lần sửa mã. Không làm được trên robot thật.

Mô phỏng làm kém việc gì

Ma sát và tiếp xúc. Mô hình ma sát là xấp xỉ thô. Mọi việc liên quan tới chạm, trượt, kẹp đều không đáng tin trong mô phỏng.

Nhiễu cảm biến. Mô phỏng cho dữ liệu quá sạch trừ khi cố tình thêm nhiễu, mà nhiễu thêm vào cũng không giống nhiễu thật.

Độ trễ. Trong mô phỏng, lệnh có hiệu lực gần như tức thì. Trên robot thật có trễ ở nhiều chỗ.

Ánh sáng và ngoại hình. Ảnh mô phỏng không giống ảnh thật. Mô hình thị giác huấn luyện thuần trên ảnh mô phỏng thường kém trên ảnh thật.

Sai lệch cơ khí. Độ rơ, độ võng, dung sai chế tạo. Mô phỏng giả định robot hoàn hảo.

Những thứ không ai nghĩ tới. Cáp vướng, bụi trên ống kính, sàn không phẳng, người đi qua. Mô phỏng chỉ chứa những gì được đưa vào.

Hệ quả. Hệ thống chạy hoàn hảo trong mô phỏng có thể thất bại ngay lần đầu trên robot thật, và đó không phải bất thường mà là thường lệ.

Dựng mô hình robot

Mô tả cấu trúc. Định nghĩa các khâu, các khớp nối chúng, giới hạn góc, và hình học va chạm. Đây là tệp mô tả robot mà cả mô phỏng lẫn hệ thống thật đều dùng.

Hai loại hình học. Hình học hiển thị cho đẹp, hình học va chạm cho tính toán. Hình học va chạm nên đơn giản — hộp và hình trụ — vì tính toán va chạm với mô hình chi tiết rất chậm.

Thông số quán tính. Khối lượng và ma trận quán tính từng khâu. Sai thì động lực học mô phỏng vô nghĩa. Lấy từ phần mềm thiết kế nếu có.

Sai lầm phổ biến. Đặt khối lượng bằng không hoặc quán tính rất nhỏ cho một khâu. Mô phỏng trở nên không ổn định và rung loạn.

Mô phỏng cảm biến. Camera, LiDAR, IMU đều có mô hình. Thêm nhiễu vào để gần thực tế hơn.

Bước thời gian mô phỏng. Nhỏ thì chính xác và chậm. Lớn thì nhanh và không ổn định, đặc biệt với tiếp xúc.

Kiểm mô hình. Cho robot mô phỏng đứng yên và xem nó có tự rung không. Nếu có thì thông số quán tính hoặc bước thời gian có vấn đề.

Quy trình làm việc hợp lý

Bắt đầu ở mô phỏng. Phát triển logic và thuật toán. Nhanh và an toàn.

Chuyển sang phần cứng sớm. Đừng chờ hoàn thiện. Chuyển sớm để biết khoảng cách nằm ở đâu.

Giữ cả hai chạy được. Cùng một mã chạy được cả trên mô phỏng lẫn robot thật, chỉ đổi cấu hình. Đầu tư này rất đáng.

Dùng mô phỏng cho kiểm thử hồi quy. Sau mỗi lần sửa, chạy bộ kịch bản trong mô phỏng để đảm bảo không phá vỡ thứ gì.

Dùng dữ liệu thật đã ghi. Cách trung gian rất hiệu quả — phát lại dữ liệu ghi từ robot thật qua thuật toán mới. Có dữ liệu thật mà không cần robot.

Đừng tối ưu tham số trong mô phỏng. Tham số điều khiển tối ưu trong mô phỏng thường không tối ưu trên máy thật, vì ma sát và độ trễ khác.

Khi kết quả mô phỏng và thực tế lệch nhau. Tin thực tế, rồi tìm xem mô phỏng thiếu gì. Việc bổ sung đó làm mô phỏng hữu ích hơn cho lần sau.

Sai lầm cần tránh

Dành quá nhiều thời gian làm mô phỏng đẹp. Ngoại hình đẹp không làm mô phỏng chính xác hơn về vật lý.

Tin số liệu mô phỏng như kết quả. Tỷ lệ thành công trong mô phỏng không phải kết quả, chỉ là chỉ báo.

Điều chỉnh mô phỏng cho khớp với kỳ vọng. Thay vì chỉnh cho khớp với đo đạc thực tế.

Bỏ qua cảnh báo về ổn định số học. Mô phỏng rung nhẹ hay vật thể xuyên qua nhau là dấu hiệu thông số sai, không phải chuyện nhỏ.

Xây kịch bản quá lý tưởng. Sàn phẳng tuyệt đối, không có người, vật đặt đúng chỗ. Thêm sự lộn xộn vào mô phỏng làm nó hữu ích hơn nhiều.

Quên rằng mô phỏng cũng cần bảo trì. Robot thật thay đổi thì mô hình phải cập nhật. Mô hình lỗi thời còn tệ hơn không có.

Nguyên tắc cuối. Mô phỏng là công cụ để đi nhanh hơn, không phải để tránh làm việc với phần cứng. Dự án chỉ chạy trong mô phỏng thì chưa có bằng chứng gì về việc nó hoạt động.

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

Mô phỏng làm tốt việc gì nhất?

Kiểm tra logic và luồng xử lý, phát triển thuật toán lập kế hoạch ở mức hình học, thử bố trí trước khi xây, và chạy kiểm thử tự động sau mỗi lần sửa mã.

Mô phỏng kém nhất ở đâu?

Ma sát và tiếp xúc — mô hình là xấp xỉ thô nên mọi việc liên quan tới chạm, trượt và kẹp đều không đáng tin. Kèm nhiễu cảm biến, độ trễ và sai lệch cơ khí.

Sai lầm phổ biến khi dựng mô hình robot?

Đặt khối lượng bằng không hoặc quán tính rất nhỏ cho một khâu, làm mô phỏng mất ổn định và rung loạn. Kiểm bằng cách cho robot đứng yên xem có tự rung không.

Khi kết quả mô phỏng và thực tế lệch nhau thì làm gì?

Tin thực tế, rồi tìm xem mô phỏng thiếu gì. Việc bổ sung đó làm mô phỏng hữu ích hơn cho lần sau.

Đọc thêm trong Điện & đấu nốiGỡ lỗi & chẩn đoán.

Cần tư vấn cụ thể cho trường hợp của bạn?

Chúng tôi sẽ liên hệ trong vòng 24 giờ.

Đăng ký tư vấn ngay

Bài viết liên quan

Bạn cần hỗ trợ thêm?

Để lại thông tin, chúng tôi sẽ liên hệ trong 24 giờ.

hoặc
Gọi ngay 0926 138 138