Hướng dẫn lập trình điều khiển Robot Arms (cánh tay robot) bằng Unity

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:

  1. Control: cho phép user tự do điều khiển robot tương tác với object trong phòng
  2. Guide: một loạt các bước trong một quy trình tắt robot
Hướng dẫn lập trình điều khiển Robot Arms (cánh tay robot) bằng Unity
Hướng dẫn lập trình điều khiển Robot Arms (cánh tay robot) bằng Unity

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 ý

Tạo-một-project-3D-mới-với-Unity
Tạo một project 3D mới với trong Unity

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

Set camera và điều khiển sang dạng VR sử dụng Oculus SDK
Set camera và điều khiển sang dạng VR sử dụng Oculus SDK

Gắn script SimpleCapsuleWithStickMovement để xử lý duy chuyển trong VR

Gắn script SimpleCapsuleWithStickMovement
Gắn script SimpleCapsuleWithStickMovement

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 môi trường cho Robot Arms
Thiết lập môi trường cho Robot Arms

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

gắn script AxisRotateController
Gắn script AxisRotateController

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ự

chỉnh sự kiện cho button
chỉnh sự kiện cho button

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

Thiết lập script tự động điều khiển các khớp
Thiết lập script tự động điều khiển các khớp

Sample script thể hiện mở và quay các khớp của robot về vị trí ban đầu

Sample script thể hiện mở và quay các khớp của robot
Sample script thể hiện mở và quay các khớp của robot


Thiết lập code cho các object tương tác ở các bước của guide

Thiết lập code cho các object tương tác
Thiết lập code cho các object tương tác

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.

Gắn CCD IK vào để khóa các khớp
Gắn CCD IK vào để khóa các khớp

Robot đóng lại khi CCD IK hoạt động

Robot đóng lại khi CCD IK hoạt động
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.

Huong-dan-lap-trinh-dieu-khien-Robot-Arms-canh-tay-robot-bang-Unity
Lê Quang Minh với Robot Arms demo

Đâ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!

    Xin vui lòng liên hệ với nhân viên hỗ trợ qua số điện thoại hoặc email bên dưới:
    Điện thoại: (+84)2866-529-333,
    Email: info@onetech.vn
    Hoặc bạn có thể gửi thông tin trực tiếp đến OneTech thông qua mẫu bên dưới:

    Liên hệ

    Xin vui lòng liên hệ với nhân viên hỗ trợ qua số điện thoại hoặc email bên dưới:
    Điện thoại: (+84)2866-529-333, Email: info@onetech.vn
    Hoặc bạn có thể gửi thông tin trực tiếp đến OneTech thông qua mẫu bên dưới:

      Xin vui lòng liên hệ với nhân viên hỗ trợ qua số điện thoại hoặc email bên dưới:
      Điện thoại: (+84)2866-529-333,
      Email: info@onetech.vn
      Hoặc bạn có thể gửi thông tin trực tiếp đến OneTech thông qua mẫu bên dưới:

      Liên hệ

      Xin vui lòng liên hệ với nhân viên hỗ trợ qua số điện thoại hoặc email bên dưới:
      Điện thoại: (+84)2866-529-333, Email: info@onetech.vn
      Hoặc bạn có thể gửi thông tin trực tiếp đến OneTech thông qua mẫu bên dưới:

      liên hệ