Giới thiệu dự án

Sự phát triển mạnh mẽ của công nghệ thông tin và công nghệ thực tế ảo/thực tế tăng cường (Augmented Reality - AR) đã mở ra bước ngoặt lớn trong đào tạo kỹ thuật công nghiệp. Trước đây, AR chủ yếu ứng dụng trong giải trí và trò chơi điện tử, nhưng hiện nay đã trở thành công cụ đắc lực để mô phỏng chính xác hoạt động của máy móc phức tạp, thiết bị điện tử và hệ thống cơ khí chính xác.

Tại Việt Nam, ngành gia công cơ khí chính xác và chế tạo máy đang phát triển với tốc độ nhanh chóng, kéo theo nhu cầu cấp thiết về nguồn nhân lực vận hành máy điều khiển số bằng máy tính (Computer Numerical Control - CNC). Tuy nhiên, quy trình đào tạo truyền thống tại các nhà xưởng và trường đại học đang đối mặt với nhiều rào cản lớn:

  • Thời gian đào tạo kéo dài: Học viên thực tập thường phải mất từ 1 đến 2 tháng chỉ để quan sát người đi trước vận hành mà chưa được trực tiếp thao tác trên máy thật, ngoại trừ các công việc phụ như vệ sinh máy hoặc gá lắp phôi cơ bản.
  • Nguy cơ tai nạn và hư hỏng thiết bị: Sai sót trong thao tác thiết lập gốc tọa độ hoặc nhập sai thông số bước tiến dao (Feedrate), tốc độ trục chính (Spindle) có thể dẫn đến gãy dao, hỏng phôi, thậm chí phá hủy băng máy và gây nguy hiểm trực tiếp cho người vận hành.
  • Hạn chế của phần mềm mô phỏng truyền thống: Các phần mềm CAM như MasterCam, Cimco, Cimatron hỗ trợ lập trình đường chạy dao nhưng chưa mô phỏng được thao tác vật lý trực quan của người thợ, chẳng hạn như quá trình rà gá biên phôi, định vị tâm bề mặt và thao tác trực tiếp trên bảng điều khiển máy.
+-------------------------------------------------------------------------+
|                         VẤN ĐỀ TRONG ĐÀO TẠO CNC TRUYỀN THỐNG          |
+-------------------------------------------------------------------------+
| [Thực tập thụ động] ---> [Nguy cơ va chạm/Gãy dao] ---> [Chi phí đầu tư cao]|
+-------------------------------------------------------------------------+
                                    |
                                    v
+-------------------------------------------------------------------------+
|                  GIẢI PHÁP: ỨNG DỤNG THỰC TẾ TĂNG CƯỜNG (AR)             |
+-------------------------------------------------------------------------+
|  * Số hóa 3D máy phay Doosan DNM 5700 chuẩn tỉ lệ 1:1                   |
|  * Mô phỏng chuyển động 3 trục X-Y-Z và tốc độ cắt chính xác            |
|  * Thực hành gá phôi, rà dao, nhập lệnh trong không gian thực tế ảo     |
|  * Triệt tiêu rủi ro hỏng hóc thiết bị, tối ưu chi phí đào tạo          |
+-------------------------------------------------------------------------+

Đồ án tốt nghiệp ngành Công nghệ Chế tạo máy thuộc Khoa Đào tạo Chất lượng cao – Trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE) đã thực hiện đề tài: "Nghiên cứu và ứng dụng công nghệ thực tế tăng cường trong đào tạo vận hành máy CNC". Đề tài do nhóm sinh viên Lương Hoàng Thắng, Nguyễn Chí Đức, Phạm Công Duy thực hiện dưới sự hướng dẫn của TS. Đặng Trị Dũng.

Mục tiêu dự án

  1. Nghiên cứu cấu trúc cơ khí, nguyên lý truyền động 3 trục $X, Y, Z$, cơ cấu trục chính và các thông số công nghệ của máy phay CNC DOOSAN DNM 5700.
  2. Xây dựng mô hình 3D chi tiết, phân tách các cụm cơ cấu chuyển động độc lập bằng SolidWorks và Blender.
  3. Lập trình ứng dụng mô phỏng tương tác trên nền tảng Unity Hub (ngôn ngữ C#), tích hợp thư viện tối ưu chuyển động DOTween.
  4. Triển khai ứng dụng đa nền tảng (Android và Windows), cung cấp hai chế độ: Mô phỏng thủ công (Manual Mode) và Thực tế tăng cường (AR Mode).

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Để xác định rõ định hướng phát triển, nhóm nghiên cứu đã so sánh các phương pháp đào tạo và công cụ mô phỏng CNC hiện có trên thị trường:

Tiêu chí Đào tạo trực tiếp trên máy thật Phần mềm CAM (MasterCam, Cimco) Ứng dụng CNC AR (Đề tài)
Chi phí đầu tư Rất cao (hàng tỷ VNĐ/máy) Trung bình (phí bản quyền) Rất thấp (chạy trên mobile/PC)
Mức độ an toàn Tiềm ẩn rủi ro tai nạn, gãy dao An toàn tuyệt đối An toàn tuyệt đối
Tính trực quan không gian Rất cao Thấp (chỉ hiển thị đường dao 2D/3D) Cao (mô hình 3D đặt vào không gian thực)
Tương tác bảng điều khiển Thao tác vật lý thật Nhập lệnh trên giao diện phần mềm Bàn phím ảo mô phỏng đúng bảng điều khiển
Định vị gốc phôi thực tế Không (tọa độ định sẵn) Mô phỏng quy trình dịch chuyển rà biên

Phân loại yêu cầu theo mô hình MoSCoW

  • Must-have (Bắt buộc): Mô phỏng dịch chuyển 3 trục $X, Y, Z$; điều khiển bật/tắt trục chính, đảo chiều quay (CW/CCW), tăng giảm Feedrate/Spindle; hỗ trợ chế độ xem AR và Manual.
  • Should-have (Nên có): Chuyển đổi ngôn ngữ Anh - Việt; bàn phím ảo nhập lệnh tọa độ; cảnh báo va chạm giữa dao và phôi.
  • Could-have (Có thể mở rộng): Mô phỏng gia công bóc tách vật liệu đa dạng (khoan, phay mặt, vát mép); tùy biến vật liệu phôi.
  • Won't-have (Chưa thực hiện): Trình biên dịch toàn bộ các chu trình G-code/M-code phức tạp; tương tác vật lý biến dạng phôi thời gian thực.

Thiết kế hệ thống

Kiến trúc phần mềm được thiết kế theo cấu trúc phân tầng rõ ràng, đảm bảo tính mô-đun hóa và khả năng mở rộng:

+------------------------------------------------------------------------+
|                          PRESENTATION LAYER                            |
|  [Main View]    [Manual View]    [AR View]    [Settings & Localize]    |
+------------------------------------------------------------------------+
                                    |
                                    v
+------------------------------------------------------------------------+
|                          CONTROLLER LAYER                              |
|   [ViewManager] <---> [Input Controller] <---> [Coordinate Processor]  |
|                                                     |                  |
|                                                     v                  |
|                                             [DOTween Engine]           |
+------------------------------------------------------------------------+
                                    |
                                    v
+------------------------------------------------------------------------+
|                            3D ASSETS & DATA                            |
|  [FBX Doosan Model]   [Standard Shaders]   [PlayerPrefs]   [JSON Data] |
+------------------------------------------------------------------------+
  • Tầng giao diện (Presentation Layer): Quản lý điều hướng màn hình thông qua ViewManager, hỗ trợ đa ngôn ngữ thông qua hệ thống Localize đọc dữ liệu JSON.
  • Tầng điều khiển logic (Controller Layer): Tiếp nhận sự kiện bấm nút từ giao diện hoặc màn hình cảm ứng để tính toán bước di chuyển tọa độ và góc quay trục chính.
  • Tầng đồ họa & tài nguyên (3D Assets & Data): Quản lý Prefabs của máy phay Doosan DNM 5700, các loại dao cắt (Facemill, Endmill, Chamfer) và cấu hình vật liệu thông qua Unity Standard Shaders (Albedo, Metallic, Smoothness).

Công nghệ sử dụng

  • Game Engine: Unity phiên bản 2021.8f1.
  • Ngôn ngữ lập trình: C# (.NET Framework tích hợp trong Unity).
  • Thư viện chuyển động: DOTween Engine (tối ưu hóa bộ nhớ và tốc độ xử lý hơn 400% so với HOTween).
  • Phần mềm thiết kế & xử lý 3D: SolidWorks (trích xuất bản vẽ kỹ thuật gốc), Blender (phân tách cụm chi tiết, tối ưu lưới polygon, gán trọng số trục quay).
  • AR Framework: Mixed Reality Toolkit (MRTK) kết hợp AR Foundation hỗ trợ nhận diện mặt phẳng sàn.
  • Quản lý mã nguồn: Git kết hợp SourceTree.

Phương pháp phát triển (Methodology)

Dự án áp dụng mô hình phát triển Waterfall (Thác nước) kết hợp kiểm thử nghiệm ngặt ở từng giai đoạn:

[Khảo sát phần cứng máy CNC] 
[Thiết kế 3D SolidWorks/Blender] 
[Lập trình chuyển động trong Unity] 
[Kiểm thử đa nền tảng (PC & Android)] 
[Hoàn thiện & Triển khai thực tế]
  1. Giai đoạn 1 - Khảo sát & Phân tích: Thu thập thông số kỹ thuật thực tế của dòng máy Doosan DNM 5700.
  2. Giai đoạn 2 - Xử lý mô hình 3D: Xuất mô hình từ SolidWorks, dùng Blender bóc tách thành các bộ phận độc lập: Thân máy (Frame), Trục chính (Spindle/Z-axis tube), Bàn gá phôi (X-Y tables), Cửa bảo vệ.
  3. Giai đoạn 3 - Lập trình tương tác & Animation: Nhập file .fbx vào Unity, thiết lập vật liệu kim loại và lập trình các luồng điều khiển chuyển động.
  4. Giai đoạn 4 - Kiểm thử & Tinh chỉnh: Đánh giá hiệu năng khung hình (FPS), kiểm tra độ trễ điều khiển và khả năng tương thích môi trường AR.

Implementation và kết quả

Quy trình phát triển phần mềm

1. Xử lý và phân tách mô hình 3D trong Blender

Mô hình SolidWorks ban đầu là một khối liên kết tĩnh (single assembly). Khi nhập trực tiếp vào môi trường game engine, các thành phần không thể chuyển động độc lập. Nhóm đã sử dụng Blender để thực hiện:

  • Phân tách các cụm chi tiết động: Trục $X$ (di chuyển trái/phải), Trục $Y$ (di chuyển tiến/lùi), Trục $Z$ / Spindle (di chuyển lên/xuống và xoay tròn).
  • Ẩn các chi tiết vỏ ngoài không cần thiết để tối ưu hóa số lượng đa giác (polygon count), giúp ứng dụng chạy mượt mà trên thiết bị di động cấu hình trung bình.
  • Xuất mô hình chuẩn định dạng .fbx (định dạng trung gian tối ưu nhất của Unity) thay vì dùng trực tiếp file .blend để giảm dung lượng build và tránh phụ thuộc bản quyền phần mềm cục bộ.

2. Cấu hình vật liệu (Materials & Shaders)

Trong Unity Hub, nhóm thiết lập hệ thống vật liệu thông qua Standard Shader với 3 thông số cốt lõi:

  • Albedo: Thiết lập màu sắc bề mặt chi tiết thông qua hệ mã màu RGB.
  • Metallic Mode: Điều chỉnh độ phản xạ ánh sáng kim loại của thân máy và dao cắt.
  • Smoothness: Điều chỉnh độ bóng và độ tương phản quang học giữa thiết bị và môi trường.
+-------------------------------------------------------------------+
|               THIẾT LẬP VẬT LIỆU UNITY STANDARD SHADER            |
+-------------------------------------------------------------------+
|  [Albedo Map]       --> Thiết lập màu nhận diện máy DOOSAN (RGB)  |
|  [Metallic: 0.8]    --> Tái tạo bề mặt kim loại/thép tôi          |
|  [Smoothness: 0.6]  --> Độ bóng quang học công nghiệp             |
+-------------------------------------------------------------------+

3. Thuật toán điều khiển tọa độ và tốc độ cắt

Hệ thống tính toán vị trí mới của các trục $X, Y, Z$ dựa trên giá trị gia số định sẵn:

$$\Delta P = \text{Direction} \times 0.01 \times Zem$$

Trong đó:

  • $\text{Direction} \in {+1, -1}$ xác định hướng chuyển động.
  • $\text{Zem} = 10$ là hệ số bước dịch chuyển tương đối.
  • Gia số cơ sở: $0.01\text{ mm}$ cho mỗi xung điều khiển.
// Script điều khiển chuyển động các trục CNC và Spindle
using UnityEngine;
using DG.Tweening;

public class CNCAxisController : MonoBehaviour
{
    [Header("Axis Transforms")]
    [SerializeField] private Transform xAxisTable;
    [SerializeField] private Transform yAxisTable;
    [SerializeField] private Transform zSpindleHead;

    [Header("Movement Constants")]
    private const float BaseIncrement = 0.01f;
    private const float ZemFactor = 10.0f;
    private const float MoveDuration = 0.2f;

    [Header("Spindle States")]
    [SerializeField] private Transform cuttingTool;
    private bool isSpinning = false;
    private bool isClockwise = true;
    private float spinSpeedPercentage = 10.0f; // Mặc định 10%
    private float feedratePercentage = 100.0f;  // Mặc định 100%

    // Điều khiển dịch chuyển trục X (Direction: +1 sang phải, -1 sang trái)
    public void MoveXAxis(int direction)
    {
        float deltaX = direction * BaseIncrement * ZemFactor;
        Vector3 targetPosition = xAxisTable.localPosition + new Vector3(deltaX, 0, 0);
        xAxisTable.DOLocalMove(targetPosition, MoveDuration).SetEase(Ease.Linear);
    }

    // Điều khiển điều chỉnh tốc độ Feedrate (+/- 10%)
    public void AdjustFeedrate(bool increase)
    {
        if (increase)
        {
            feedratePercentage = Mathf.Clamp(feedratePercentage + 10.0f, 10.0f, 120.0f);
        }
        else
        {
            feedratePercentage = Mathf.Clamp(feedratePercentage - 10.0f, 10.0f, 120.0f);
        }
        Debug.Log($"Feedrate Updated: {feedratePercentage}%");
    }

    // Điều khiển quay trục chính Spindle
    public void ToggleSpindle(bool state, bool clockwise)
    {
        isSpinning = state;
        isClockwise = clockwise;
        if (isSpinning)
        {
            float directionMultiplier = isClockwise ? -1f : 1f;
            float rotationSpeed = (spinSpeedPercentage / 100.0f) * 1000.0f * directionMultiplier;
            cuttingTool.DORotate(new Vector3(0, rotationSpeed, 0), 1.0f, RotateMode.FastBeyond360)
                       .SetLoops(-1, LoopType.Incremental)
                       .SetEase(Ease.Linear);
        }
        else
        {
            cuttingTool.DOKill();
        }
    }
}

+------------------------------------------------------------------------+
|                     LUỒNG ĐIỀU HƯỚNG VIEWMANAGER                       |
+------------------------------------------------------------------------+
|  [User Action] ---> ViewManager.CreateView(ViewId)                     |
|                                                                        |
|  [Back Action] ---> ViewManager.BackView()                             |
+------------------------------------------------------------------------+
// Script quản lý điều hướng View (ViewManager)
using System.Collections.Generic;
using UnityEngine;

public class ViewManager : MonoBehaviour
{
    public static ViewManager Instance;
    [SerializeField] private Transform defaultParent;
    private Stack<GameObject> viewStack = new Stack<GameObject>();

    private void Awake()
    {
        if (Instance == null) Instance = this;
        else Destroy(gameObject);
    }

    public GameObject CreateView(string viewId)
    {
        GameObject viewPrefab = Resources.Load<GameObject>($"Views/{viewId}");
        if (viewPrefab == null)
        {
            Debug.LogError($"View Prefab {viewId} not found in Resources/Views");
            return null;
        }

        GameObject viewInstance = Instantiate(viewPrefab, defaultParent);
        viewStack.Push(viewInstance);
        return viewInstance;
    }

    public void BackView()
    {
        if (viewStack.Count > 1)
        {
            GameObject currentView = viewStack.Pop();
            Destroy(currentView);
            viewStack.Peek().SetActive(true);
        }
        else
        {
            Debug.LogWarning("Current view is the root view. Cannot back further.");
        }
    }
}

Kiểm thử và đánh giá kết quả

Ứng dụng đã trải qua các đợt kiểm thử chức năng và kiểm thử chịu tải trên cả thiết bị Android và máy tính Windows:

+-------------------------------------------------------------------------+
|                      KẾT QUẢ KIỂM THỬ TÍNH NĂNG                         |
+-------------------------------------------------------------------------+
| [Chuyển động 3 trục X-Y-Z]   --> Đáp ứng chính xác 100%                 |
| [Tốc độ khung hình (FPS)]    --> Duy trì ổn định 58 - 60 FPS            |
| [Thời gian chạy liên tục]    --> Hoạt động > 4 giờ không crash/rò rỉ GC |
| [Nhận diện mặt phẳng AR]     --> Khởi tạo mô hình 3D trong 2 - 3 giây   |
+-------------------------------------------------------------------------+
  1. Khả năng hoạt động đa nền tảng: Ứng dụng chạy mượt mà trên hệ điều hành Android (với thiết bị hỗ trợ ARCore) và PC Windows với tốc độ khung hình ổn định từ 58 - 60 FPS.
  2. Độ chính xác chuyển động: Các trục $X, Y, Z$ phản hồi tức thời với tín hiệu điều khiển từ bàn phím ảo, không xảy ra hiện tượng lệch tọa độ tích lũy sau nhiều chu kỳ dịch chuyển.
  3. Kiểm tra độ ổn định bộ nhớ: Nhờ việc áp dụng DOTween và quản lý đối tượng chặt chẽ, ứng dụng giảm thiểu tối đa tình trạng cấp phát bộ nhớ rác (Garbage Collector allocations), duy trì chạy liên tục trên 4 giờ mà không bị hiện tượng tụt khung hình hay quá nhiệt thiết bị.
  4. Hiển thị AR trong không gian thực: Camera quét và nhận diện mặt phẳng sàn nhanh chóng (thời gian khởi tạo mô hình 3D từ 2 - 3 giây), cho phép người dùng quan sát máy CNC từ mọi góc nhìn với tỉ lệ trực quan.

Đổi mới và đóng góp

  • Tối ưu hóa tài nguyên phần cứng bằng thư viện Tween hiện đại: Thay vì sử dụng các Animation clip truyền thống của Unity vốn chiếm dụng bộ nhớ lớn, nhóm sử dụng DOTween để tính toán ma trận chuyển động trục quay và tịnh tiến theo thời gian thực. Giải pháp này giúp tốc độ xử lý nhanh hơn 400% so với HOTween và giải phóng bộ nhớ tự động hiệu quả.
  • Tích hợp đa chế độ trải nghiệm (Dual Mode):
    • Chế độ Manual (Mô phỏng tĩnh): Tập trung vào góc nhìn bên trong buồng máy, tối ưu cho việc học cấu tạo chi tiết, thử nghiệm tốc độ dao và điều khiển phím số.
    • Chế độ AR (Thực tế tăng cường): Cho phép đưa toàn bộ cụm máy Doosan DNM 5700 đặt trực tiếp lên sàn xưởng hoặc bàn học, mang lại cảm giác không gian và kích thước trực quan.
  • Hệ thống công cụ cắt đa dạng: Tích hợp sẵn 3 loại dao phay công nghiệp phổ biến (Facemills, Endmills, Chamfers) kèm cơ chế mô phỏng bóc tách vật liệu tương ứng (khoan, phay khỏa mặt, vát mép).
  • Cơ chế cảnh báo an toàn ảo: Tự động phát hiện và cảnh báo khi dao cắt va chạm vào phôi sai quy trình hoặc khi thiết lập tốc độ Spindle/Feedrate vượt ngưỡng an toàn cho phép, hình thành phản xạ bảo vệ máy cho người học.

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng trong đào tạo

  • Giai đoạn chuẩn bị thực tập: Sinh viên năm 3 và năm 4 ngành Cơ khí Chế tạo máy cài đặt ứng dụng trên điện thoại cá nhân để làm quen với bảng điều khiển, thao tác rà dao và các bước khởi động máy trước khi vào xưởng thực tập.
  • Đào tạo nội bộ tại doanh nghiệp: Các công ty gia công cơ khí có thể sử dụng ứng dụng để sàng lọc và đào tạo nhập môn cho công nhân mới, rút ngắn thời gian đào tạo từ 2 tháng xuống còn 2 - 3 tuần.
+------------------------------------------------------------------------+
|                   LỘ TRÌNH TRIỂN KHAI ỨNG DỤNG TẠI CƠ SỞ               |
+------------------------------------------------------------------------+
| [Giai đoạn 1: Tuần 1-2]  ---> Tích hợp vào bài giảng lý thuyết CNC      |
| [Giai đoạn 2: Tuần 3-4]  ---> Sinh viên thực hành mô phỏng trên mobile |
| [Giai đoạn 3: Tuần 5+]   ---> Thực hành trực tiếp trên máy thật        |
|                                                                        |
| KẾT QUẢ ĐẠT ĐƯỢC:                                                      |
|   - Giảm 60% thời gian bỡ ngỡ khi tiếp xúc máy thật                    |
|   - Tiết kiệm 85% chi phí hao mòn dao cụ và phôi thử nghiệm             |
+------------------------------------------------------------------------+

Phân tích hiệu quả kinh tế (Cost-Benefit Analysis)

  • Chi phí mua mới 1 máy phay CNC thật: Dao động từ 1.2 đến 2.5 tỷ VNĐ.
  • Chi phí triển khai phần mềm AR: Gần như bằng 0 sau khi hoàn thiện đóng gói bộ cài (.apk cho Android hoặc .exe cho Windows).
  • Bảo toàn thiết bị: Giảm thiểu 100% rủi ro va chạm gãy dao hoặc vỡ bàn máy trong giai đoạn tập sự của học viên.

Hạn chế và hướng phát triển

Hạn chế hiện tại

  • Bộ biên dịch lệnh G-code mới chỉ dừng lại ở các tập lệnh cơ bản (G00, G01), chưa hỗ trợ toàn bộ các chu trình phức tạp (như G81, G83, G73 hoặc bù trừ bán kính dao G41/G42).
  • Mô phỏng cắt gọt phôi sử dụng phương pháp thay đổi hình học Prefab định sẵn, chưa thể hiện chi tiết quá trình hình thành phoi (chips) và biến dạng vật liệu theo định luật cơ học cắt gọt.

Hướng phát triển trong tương lai

  • Tích hợp Hand Tracking: Ứng dụng công nghệ nhận diện cử chỉ bàn tay thông qua camera để người dùng có thể dùng tay "nhấn" trực tiếp vào các nút bấm trên bảng điều khiển ảo mà không cần chạm màn hình điện thoại.
  • Mở rộng kho mô hình máy: Bổ sung các dòng máy tiện CNC (CNC Lathe), máy phay 4 trục, 5 trục từ các thương hiệu phổ biến khác như Fanuc, Mazak, Haas.
  • Hệ thống đánh giá chấm điểm tự động: Lưu lại nhật ký thao tác của học viên (logs) và tự động chấm điểm kỹ năng định vị phôi, thiết lập dao để phục vụ thi cử trực tuyến.

Đối tượng hưởng lợi

+-------------------------------------------------------------------------+
|                         CÁC ĐỐI TƯỢNG HƯỞNG LỢI                         |
+-------------------------------------------------------------------------+
|  [Sinh viên / Học viên]  --> Luyện tập tự do, không sợ hỏng máy        |
|  [Giảng viên]            --> Trực quan hóa bài giảng, kiểm soát an toàn|
|  [Doanh nghiệp cơ khí]   --> Tối ưu chi phí đào tạo nhân sự mới        |
|  [Nhà nghiên cứu]        --> Tham khảo mô hình tích hợp Unity & CAD    |
+-------------------------------------------------------------------------+
  • Sinh viên và học viên kỹ thuật: Được chủ động thực hành mọi lúc mọi nơi, xóa bỏ tâm lý sợ hãi làm hỏng máy đắt tiền khi mới bắt đầu tiếp xúc với công nghệ CNC.
  • Giảng viên và cơ sở đào tạo: Có công cụ trực quan để minh họa cấu tạo bên trong buồng máy mà không cần phải tháo dỡ thiết bị thật, giảm tải áp lực giám sát an toàn tại xưởng.
  • Doanh nghiệp gia công cơ khí: Giảm thiểu chi phí khấu hao máy móc, dao cụ và phôi liệu dùng cho mục đích đào tạo công nhân tập sự.
  • Nhóm nghiên cứu công nghệ: Cung cấp tài liệu tham khảo chi tiết về quy trình chuyển đổi mô hình từ SolidWorks/Blender sang Unity và phương pháp tối ưu hóa hiệu năng ứng dụng AR công nghiệp.

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

1. Yêu cầu cấu hình phần cứng để triển khai ứng dụng là gì?

Đối với điện thoại thông minh, ứng dụng yêu cầu hệ điều hành Android từ 8.0 trở lên, có hỗ trợ Google Play Services for AR (ARCore) và tối thiểu 3GB RAM. Đối với máy tính Windows, cấu hình tối thiểu là CPU Intel Core i3 (thế hệ 6 trở lên), 4GB RAM và card đồ họa tích hợp hỗ trợ DirectX 11.

2. Tại sao nhóm nghiên cứu lại chọn máy phay Doosan DNM 5700 làm đối tượng mô phỏng?

Doosan DNM 5700 là dòng máy phay CNC 3 trục rất phổ biến tại các nhà máy và xưởng cơ khí tư nhân tại Việt Nam nhờ độ cứng vững cao, tốc độ trục chính lớn và giá thành hợp lý. Cơ cấu chuyển động của máy phay 3 trục trực quan, phù hợp làm đối tượng tiêu chuẩn để xây dựng mô hình đào tạo nền tảng.

3. Làm thế nào để giải quyết xung đột mã nguồn khi làm việc nhóm từ xa?

Nhóm đã sử dụng hệ thống quản lý phiên bản phân tán Git kết hợp giao diện đồ họa SourceTree. Quy trình phân nhánh cục bộ (local branching) và staging area giúp kiểm duyệt kỹ lưỡng các thay đổi trong file scene của Unity trước khi hợp nhất (merge), ngăn chặn xung đột dữ liệu tài nguyên 3D.

4. Ứng dụng xử lý việc hiển thị mô hình AR không gian như thế nào nếu môi trường thiếu sáng hoặc không đủ diện tích?

Khi người dùng chuyển sang chế độ AR, hệ thống sẽ kích hoạt camera quét mặt phẳng sàn. Nếu không gian không đủ rộng hoặc thiếu bề mặt phẳng nhận diện, ứng dụng sẽ gửi thông báo "Not enough space" để người dùng điều chỉnh góc máy hoặc chuyển sang chế độ Manual để tiếp tục thực hành.

5. Khả năng mở rộng ứng dụng cho các ngôn ngữ lập trình gia công khác ra sao?

Nhờ kiến trúc phần mềm hướng đối tượng và phân tầng độc lập giữa bộ phận phân tích lệnh (Command Parser) và cơ cấu chuyển động (DOTween Controller), hệ thống có thể dễ dàng mở rộng để tiếp nhận thêm các tập lệnh G-code/M-code phức tạp hoặc tích hợp các thuật toán nội suy đường cong trong các phiên bản cập nhật tiếp theo.


Kết luận

Đề tài "Nghiên cứu và ứng dụng công nghệ thực tế tăng cường trong đào tạo vận hành máy CNC" của nhóm sinh viên Trường Đại học Sư phạm Kỹ thuật TP.HCM đã giải quyết thành công bài toán chuyển giao công nghệ giữa đào tạo lý thuyết và thực hành công nghiệp. Việc kết hợp hài hòa giữa các công cụ mô hình hóa 3D (SolidWorks, Blender) và nền tảng phát triển ứng dụng thời gian thực Unity đã tạo ra một môi trường học tập trực quan, an toàn và có tính ứng dụng cao.

Giải pháp không chỉ giúp người học nắm vững quy trình vận hành máy phay DOOSAN DNM 5700 một cách trực quan mà còn mở ra hướng đi mới đầy triển vọng trong việc số hóa chương trình đào tạo kỹ thuật tại Việt Nam.