Chào các bạn, mình là Minh hiện đang làm việc tại công ty OneTech với vai trò Developer (Unity team). Bài viết dưới đây mình sẽ hướng dẫn các bạn cách tạo một ứng dụng điều khiển cánh tay robot (Robot Arms) thông qua thiết bị VR (Ocuslus) bằng Unity. Mời các bạn cùng xem nhé:
Giới thiệu
Robot arms là một ứng dụng phần mềm chạy trên thiết bị VR (Oculus) với 2 chức năng chính:
- Control: cho phép user tự do điều khiển robot tương tác với object trong phòng
- Guide: một loạt các bước trong một quy trình tắt robot
Mục tiêu
- Training nhân viên với model Robot Arms trên môi trường mô phỏng
- Tạo điều kiện để nhân viên tương tác robot với rủi ro ở mức tối thiểu
- Hướng dẫn qui trình đối với nhân viên
Công nghệ sử dụng
- Unity Engine
- Oculus SDK
- CCD IK
Hướng dẫn thực hiện
Tạo một project 3D mới với Unity
Trong UnityHub,chọn New,click vào 3D,đặt tên và vị trí project tùy ý
Integrate Oculus Unity SDK
Để có thể tạo ứng dụng chạy được trên Oculus Quest thì ta phải sử dụng 1 plugin tên là Oculus XR Plugin hỗ trợ sẵn trong package manager. Để import plugin đó vào project ta vào Windows Menu -> Package Manager -> chọn Install
Set camera và điều khiển sang dạng VR sử dụng Oculus SDK
Sau khi cài đặt Oculus SDK, chúng ta có thể sử dụng cho các thiết bị VR
Chúng ta tạo player, sau đó gắn prefab từ OVRCameraRig, prefab này sẽ xử lí camera trong VR
Gắn script SimpleCapsuleWithStickMovement để xử lý duy chuyển trong VR
Thiết lập môi trường
Import model Robot Arms thành prefabs và gắn vào trong scene
Chỉnh sửa lighting
Thêm model bảng tutorial
Thiết lập code điều khiển các trục quay của khớp robot arms
Import model bảng điều khiển, button, UI
Ở mỗi trục quay gắn script AxisRotateController, script này sẽ điều khiển việc quay khớp
Trong mode bảng điều khiển, chỉnh sự kiện cho button, khi user tương tác với button sẽ làm quay khớp tương tự
Thiết lập Code điểu khiển các qui trình trong guide
Thiết lập script tự động điều khiển các khớp ở mỗi step
Sample script thể hiện mở và quay các khớp của robot về vị trí ban đầu
Thiết lập code cho các object tương tác ở các bước của guide
Gắn CCD IK vào để khóa các khớp trong bước đóng robot cuối
CCD IK là một trong những phương pháp đơn giản và phổ biến nhất đối với chuyển động đảo ngược trong game.
Robot đóng lại khi CCD IK hoạt động
Build ứng dụng
Cách Build lên thiết bị, bạn có thể tham khảo: https://onetech.vn/blog/huong-dan-lap-trinh-oculus-go-oculus-quest-tren-unity-7126
Video Demo:
Video demo kết quả chương trình giả lập điểu khiển cánh tay robot bằng Unity
Kết
Trên đây là các bước cơ bản để tạo một ứng dụng VR điều khiển cánh tay robot (Robot Arms) ảo bằng Unity. Đây chỉ là các bước cơ bản nhất để tạo ứng dụng VR trên Unity. Các bạn có thể nâng cấp model hoặc các chức năng điểu khiển để tạo ra các ứng dụng hoàn chỉnh hơn.
Đây là kết quả của mình đúc kết sau khi tham gia một dự án của công ty. Ứng dụng có thể giúp các nhà máy huấn luyên nhân viên thao tác thực hành với các thiết bị Robot Arms ảo trước khi tiến hành thao tác trong thực tế. Giúp tăng khả năng nắm bắt kỹ thuật thông qua huấn luyện trên kính VR trước và giảm thiểu rủi ro khi thao tác với thiết bị thật.
Chúc các bạn thành công!