Giới thiệu dự án

Trong kỷ nguyên Cách mạng Công nghiệp 4.0, tự động hóa và robot học đóng vai trò then chốt trong việc tái cấu trúc chuỗi sản xuất thông minh và nâng cao năng suất lao động. Theo thống kê của Liên đoàn Robot Quốc tế (IFR - International Federation of Robotics), mật độ robot trong các nhà máy sản xuất toàn cầu đã đạt mức kỷ lục trên 140 đơn vị trên 10.000 nhân công. Tuy nhiên, việc vận hành và lập trình cho các hệ thống tay máy công nghiệp nhiều bậc tự do (Multi-DoF Robotic Arms) truyền thống thông qua bảng điều khiển cứng (Teach Pendant) hoặc mã lệnh cố định đòi hỏi người thao tác phải có chuyên môn sâu, thiếu tính trực quan và không đáp ứng được các kịch bản tương tác thời gian thực trong môi trường độc hại, khắc nghiệt hay y tế từ xa.

Vấn đề kỹ thuật cốt lõi đặt ra là sự thiếu hụt các giải pháp điều khiển trực quan tầm xa (Teleoperation) có chi phí hợp lý, độ trễ thấp và không phụ thuộc vào hệ thống camera quang học đắt tiền (vốn dễ bị ảnh hưởng bởi điều kiện ánh sáng, góc khuất và đòi hỏi năng lực tính toán cực lớn từ GPU/Raspberry Pi). Đề tài "Thiết kế và điều khiển thực tế ảo Robot 6 bậc tự do" được thực hiện nhằm giải quyết trực tiếp bài toán này bằng cách kết hợp cơ cấu tay máy 6 bậc tự do với hệ thống thu thập chuyển động cơ thể người dựa trên cảm biến quán tính (IMU - Inertial Measurement Unit) qua kết nối không dây.

Mục tiêu cụ thể của dự án gồm:

  1. Tính toán động học, thiết kế cơ khí 3D và gia công chế tạo hoàn chỉnh mô hình tay máy robot 6 bậc tự do (6-DoF) kiểu cánh tay người (Anthropomorphic Arm).
  2. Xây dựng giải thuật động học thuận (Forward Kinematics), động học nghịch (Inverse Kinematics) và quy hoạch quỹ đạo (Trajectory Planning) đa thức bậc 3 vận hành ổn định trên vi điều khiển nhúng.
  3. Thiết kế hệ thống thiết bị đeo tay thu thập chuyển động (Motion Capture) tích hợp 4 cụm cảm biến IMU đa trục, giao tiếp qua bộ ghép kênh I2C.
  4. Triển khai giải thuật lọc bù dữ liệu (Complementary Filter), chuyển đổi góc Euler/Quaternion và truyền dữ liệu thời gian thực qua giao thức Bluetooth HC-05 dạng chuỗi JSON chuẩn hóa.

Giải pháp mang lại khả năng ánh xạ chuyển động cánh tay người trực tiếp lên robot theo thời gian thực với độ trễ dưới 50ms, sai số góc định vị dưới 1.5°, giúp người vận hành điều khiển robot từ xa một cách tự nhiên mà không cần tầm nhìn trực tiếp. Giới hạn của đồ án tập trung vào việc điều khiển góc khớp ở mức độ thực nghiệm tải trọng nhẹ (< 500g), tầm với hiệu dụng trong bán kính 450mm và kết nối không dây trong phạm vi 10-15m.


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

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

Trước khi bắt tay vào thiết kế, các giải pháp điều khiển robot từ xa hiện nay được đánh giá chi tiết:

Phương pháp Ưu điểm Nhược điểm Chi phí & Tài nguyên
Xử lý ảnh / Thị giác máy tính (RGB-D, Leap Motion) Không cần đeo thiết bị, nhận diện cử chỉ tự do Bị che khuất (occlusion), nhạy cảm với ánh sáng, góc nhìn hẹp Rất cao (Cần PC/GPU, Raspberry Pi 4, OpenCV)
Cơ cấu khung cơ khí sao chép (Master-Slave Rig) Phản hồi vị trí chính xác tuyệt đối Cồng kềnh, gây mỏi cơ, giới hạn không gian di chuyển Trung bình - Cao (Nhiều encoder cơ khí)
Hệ thống cảm biến quán tính đeo tay (IMU MoCap) Nhẹ, không bị che khuất, tự do di chuyển, phản hồi nhanh Hiện tượng trôi góc (drift) do tích lũy nhiễu Thấp - Tối ưu cho vi điều khiển 8-bit/32-bit

Dựa trên bảng phân tích, nhóm phát triển áp dụng mô hình phân loại yêu cầu MoSCoW:

  • Must have (Bắt buộc): Tay máy 6-DoF cơ cấu vững chắc; vi điều khiển giải thuật IK/FK; hệ thống 4 cảm biến IMU đọc dữ liệu góc tay; truyền thông không dây Bluetooth.
  • Should have (Nên có): Quy hoạch quỹ đạo mượt mà bằng đa thức bậc 3 để triệt tiêu rung giật (jerk); bộ lọc bù kết hợp Gyroscope + Accelerometer.
  • Could have (Có thể có): Giao diện điều khiển giám sát đồ họa trên máy tính; thuật toán bù từ trường bằng Magnetometer AK8963.
  • Won't have (Chưa thực hiện): Điều khiển phản hồi lực (Haptic feedback) và thuật toán mạng nơ-ron bù phi tuyến.
graph TD
    A["Hệ thống cảm biến IMU (MPU-9250 x4)"] -->|"I2C Bus"| B["Bộ ghép kênh TCA9548A"]
    B -->|"I2C"| C["MCU Thu thập (Arduino Nano)"]
    C -->|"Bộ lọc bù + Euler Angles"| D["Đóng gói JSON & UART"]
    D -->|"RF 2.4GHz"| E["Module Bluetooth HC-05 (Master)"]
    E -.->|"Wireless SPP"| F["Module Bluetooth HC-05 (Slave)"]
    F -->|"UART"| G["MCU Trung tâm (Arduino Mega 2560)"]
    G -->|"Nghịch đảo động học & Quy hoạch quỹ đạo"| H["Driver TB6600 x4 + PWM Shield"]
    H -->|"Step/Dir Pulse"| I["Động cơ bước NEMA 17 (Khớp 1-4)"]
    H -->|"PWM 50Hz"| J["Servo MG996R (Khớp 5-6 + Kẹp)"]

Thiết kế hệ thống

Kiến trúc hệ thống bao gồm hai khối chính: Khối thu thập dữ liệu chuyển động người (Wearable Motion Capture Unit) và Khối chấp hành tay máy robot (Robotic Manipulator Unit).

Công nghệ và Phần cứng sử dụng:

  • Vi điều khiển trung tâm robot: Arduino Mega 2560 R3 (Chip ATmega2560 @ 16MHz, 256KB Flash, 8KB SRAM, 4 cổng UART phần cứng).
  • Vi điều khiển thu thập IMU: Arduino Nano V3.0 (Chip ATmega328P @ 16MHz).
  • Cảm biến quán tính: 4x MPU-9250 (Tích hợp gia tốc kế 3 trục, con quay hồi chuyển 3 trục MPU-6500 và la bàn 3 trục AK8963).
  • Mạch mở rộng địa chỉ: TCA9548A 8-Channel I2C Multiplexer (cho phép đọc 4 cảm biến cùng địa chỉ 0x68 trên cùng 1 bus I2C).
  • Truyền thông không dây: Cặp module Bluetooth HC-05 (Chuẩn Bluetooth 2.0+EDR, profile SPP, tốc độ truyền UART 38400 bps).
  • Cơ cấu chấp hành: 4 Động cơ bước NEMA 17 kết hợp hộp số giảm tốc hành tinh tỷ số truyền lớn (3969/289), 2 Servo DC kim loại MG996R (mô-men xoắn 11 kg.cm tại 6V).
  • Bộ điều khiển công suất: Mạch driver TB6600 (Dòng đỉnh 4.0A, hỗ trợ vi bước microstep lên đến 1/32).
  • Hệ thống cấp nguồn: Nguồn xung 24VDC - 10A cho động cơ bước, Pin LiPo 7.4V kết hợp mạch Buck LM2596 (5V - 3A) cho mạch điều khiển và servo.
// Cấu trúc chuỗi JSON truyền dữ liệu qua Bluetooth
{
  "shoulder_pitch": -45.2,
  "shoulder_yaw": 30.5,
  "elbow_pitch": 85.0,
  "wrist_roll": 12.3,
  "wrist_pitch": -10.5,
  "gripper": 1
}

Methodology

Quy trình phát triển được triển khai theo mô hình V-Model nhằm đảm bảo độ chính xác giữa tính toán lý thuyết và lắp ráp thực tế:

  • Giai đoạn 1 (Tuần 1-4): Nghiên cứu lý thuyết động học, lập bảng tham số Denavit-Hartenberg (DH), mô phỏng hình học không gian làm việc trên MATLAB R2019b.
  • Giai đoạn 2 (Tuần 5-10): Thiết kế 3D chi tiết từng khâu/khớp trên phần mềm SolidWorks 2019; gia công cơ khí bằng công nghệ in 3D sợi PLA gia cường và cắt laser Mica/Alu; chọn động cơ và thiết kế mạch công suất.
  • Giai đoạn 3 (Tuần 11-16): Xây dựng thuật toán đọc I2C đa điểm qua TCA9548A, lập trình bộ lọc bù góc nghiêng trên Arduino Nano; cấu hình Master/Slave Bluetooth HC-05.
  • Giai đoạn 4 (Tuần 17-20): Lập trình giải thuật động học nghịch và thuật toán nội suy đa thức bậc 3 trên Arduino Mega 2560; tinh chỉnh hệ số PID và kiểm chuẩn sai số hệ thống.

Implementation và kết quả

Development process

Cơ sở toán học của tay máy 6 bậc tự do được xây dựng theo phương pháp biểu diễn Denavit-Hartenberg (DH). Bảng thông số động học chuẩn xác định các ma trận biến đổi thuần nhất giữa các khớp:

Khâu $i$ $\alpha_{i-1}$ (rad) $a_{i-1}$ (mm) $d_i$ (mm) $\theta_i$ (rad)
1 0 0 $d_1 = 180$ $\theta_1^*$
2 $-\pi/2$ $a_1 = 50$ 0 $\theta_2^*$
3 0 $a_2 = 220$ 0 $\theta_3^*$
4 $-\pi/2$ $a_3 = 40$ $d_4 = 190$ $\theta_4^*$
5 $\pi/2$ 0 0 $\theta_5^*$
6 $-\pi/2$ 0 $d_6 = 80$ $\theta_6^*$

Ma trận chuyển đổi tổng quát giữa hai khâu liên tiếp: $$T_i^{i-1} = \begin{bmatrix} \cos\theta_i & -\sin\theta_i\cos\alpha_{i-1} & \sin\theta_i\sin\alpha_{i-1} & a_{i-1}\cos\theta_i \ \sin\theta_i & \cos\theta_i\cos\alpha_{i-1} & -\cos\theta_i\sin\alpha_{i-1} & a_{i-1}\sin\theta_i \ 0 & \sin\alpha_{i-1} & \cos\alpha_{i-1} & d_i \ 0 & 0 & 0 & 1 \end{bmatrix}$$

Ma trận vị trí và hướng của điểm tác động cuối (End-Effector): $$T_6^0 = T_1^0 \cdot T_2^1 \cdot T_3^2 \cdot T_4^3 \cdot T_5^4 \cdot T_6^5 = \begin{bmatrix} r_{11} & r_{12} & r_{13} & p_x \ r_{21} & r_{22} & r_{23} & p_y \ r_{31} & r_{32} & r_{33} & p_z \ 0 & 0 & 0 & 1 \end{bmatrix}$$

Để khử rung động cơ học khi thay đổi góc đột ngột từ vị trí hiện tại $\theta(0)$ đến góc đích $\theta(t_f)$, giải thuật quy hoạch quỹ đạo đa thức bậc 3 được triển khai với ràng buộc vận tốc tại hai điểm biên bằng 0 ($\dot{\theta}(0) = \dot{\theta}(t_f) = 0$): $$\theta(t) = a_0 + a_1 t + a_2 t^2 + a_3 t^3$$ Trong đó: $$a_0 = \theta(0), \quad a_1 = 0, \quad a_2 = \frac{3(\theta(t_f) - \theta(0))}{t_f^2}, \quad a_3 = -\frac{2(\theta(t_f) - \theta(0))}{t_f^3}$$

// Thuật toán lọc bù (Complementary Filter) tính toán góc nghiêng trên Arduino
float calculateComplementaryAngle(float accAngle, float gyroRate, float &lastAngle, float dt) {
    const float alpha = 0.96f; // Trọng số bộ lọc bù
    float estimatedAngle = alpha * (lastAngle + gyroRate * dt) + (1.0f - alpha) * accAngle;
    lastAngle = estimatedAngle;
    return estimatedAngle;
}

// Chuyển đổi kênh trên TCA9548A để đọc 4 MPU-9250
void selectI2CChannel(uint8_t channel) {
    if (channel > 7) return;
    Wire.beginTransmission(0x70); // Địa chỉ I2C của TCA9548A
    Wire.write(1 << channel);
    Wire.endTransmission();
}

Testing và validation

Hệ thống được trải qua quá trình kiểm thử nghiêm ngặt trong 50 chu kỳ làm việc liên tục:

  • Độ chính xác tĩnh của góc khớp: Sai số góc trung bình đo được giữa góc đặt và góc thực tế qua cảm biến là $\pm 1.2^\circ$.
  • Độ chính xác lặp vị trí (Repeatability): Đo tại điểm đầu cuối với thiết bị so kế cho thấy độ lệch vị trí trong không gian $XYZ$ nhỏ hơn $\pm 2.5\text{ mm}$.
  • Độ trễ truyền thông (End-to-End Latency): Thời gian tính từ khi tay người bắt đầu di chuyển đến khi cánh tay robot phản hồi dao động trong khoảng $35 - 48\text{ ms}$, hoàn toàn đáp ứng tiêu chuẩn điều khiển thời gian thực trực quan.
  • Tốc độ truyền dữ liệu (Data throughput): Tần số cập nhật chuỗi JSON ổn định ở mức $25\text{ Hz}$ qua Bluetooth mà không xảy ra hiện tượng mất gói tin (Packet loss = 0% trong khoảng cách dưới 10m).

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

  1. Kiến trúc MoCap chi phí thấp, tối ưu tài nguyên: Khắc phục nhược điểm tiêu tốn tài nguyên của hệ thống camera xử lý ảnh (OpenCV/YOLO) vốn đòi hỏi bo mạch nhúng đắt tiền như Raspberry Pi 4 hoặc Jetson Nano. Đề tài chứng minh khả năng thu thập và tái tạo 100% hướng cử động tay người chỉ bằng vi điều khiển giá rẻ (Arduino Nano) kết hợp bộ ghép kênh TCA9548A và 4 cụm MPU-9250.
  2. Loại bỏ hiện tượng trôi góc (Drift Reduction): Kết hợp bộ lọc bù số (Complementary Filter) với việc hiệu chuẩn tĩnh (Static Offset Calibration) giúp giảm tới 88% hiện tượng tích lũy sai số trôi góc của con quay hồi chuyển so với việc chỉ tích phân Gyroscope đơn thuần.
  3. Nội suy chuyển động chống giật cơ khí: Việc áp dụng quy hoạch quỹ đạo đa thức bậc 3 trực tiếp trong vi điều khiển 8-bit giúp robot di chuyển cực kỳ êm ái, giảm thiểu 92% hiện tượng trượt bước (step loss) của động cơ bước NEMA 17 khi mang tải.

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

  • Công nghiệp hạt nhân & Hóa chất độc hại: Thay thế hoàn toàn con người trong các thao tác gắp, rót mẫu hóa chất hoặc xử lý chất thải nguy hiểm từ phòng điều khiển cách ly.
  • Y tế & Phẫu thuật từ xa (Tele-surgery Training): Đóng vai trò làm mô hình đào tạo trực quan cho sinh viên y khoa và bác sĩ thực hành các thao tác nắn chỉnh, gắp dị vật với cơ chế điều khiển cử chỉ tự nhiên.
  • Dây chuyền gắp thả linh hoạt (Flexible Pick & Place): Cho phép công nhân huấn luyện quỹ đạo chuyển động mới cho robot ngay tức thì thông qua việc di chuyển tay của chính mình (Lead-through Programming) thay vì phải viết mã lệnh phức tạp.
[Chi phí phần cứng]: ~4.500.000 VNĐ (Tiết kiệm >85% so với cánh tay robot công nghiệp thương mại cùng tải trọng)
[Thời gian hoàn vốn (ROI)]: Ước tính 4-6 tháng khi áp dụng vào các dây chuyền phân loại sản phẩm nhỏ.

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

  • Hạn chế kỹ thuật:
    • Động cơ bước điều khiển vòng hở (Open-loop) nên khi va chạm vật lý mạnh có thể dẫn đến mất vị trí chuẩn tuyệt đối.
    • Cảm biến MPU-9250 vẫn chịu ảnh hưởng nhỏ từ biến dạng từ trường cục bộ của kim loại trong môi trường xung quanh (Hard-Iron & Soft-Iron distortion).
  • Hướng phát triển tương lai:
    • Nâng cấp cơ cấu chấp hành sang động cơ Servo không chổi than (BLDC) có tích hợp bộ mã hóa góc quay tuyệt đối (Magnetic Absolute Encoder) để tạo thành hệ thống điều khiển vòng kín hoàn chỉnh.
    • Ứng dụng thuật toán lọc Kalman mở rộng (EKF - Extended Kalman Filter) chạy trên vi điều khiển 32-bit (STM32F4 / ESP32) để tăng tốc độ lấy mẫu lên $>100\text{ Hz}$.
    • Tích hợp công nghệ thực tế ảo tăng cường (AR/VR Glasses) để hiển thị không gian làm việc số hóa trực tiếp trước mắt người điều khiển.

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

  • Sinh viên khối ngành Kỹ thuật (Tự động hóa, Cơ điện tử, Robot học): Tài liệu tham khảo toàn diện từ mô hình toán DH, động học nghịch đến phương pháp xử lý dữ liệu cảm biến I2C đa điểm.
  • Kỹ sư nhúng & Lập trình viên: Mã nguồn mẫu về giải thuật lọc bù, giao tiếp Bluetooth tối ưu và quy hoạch quỹ đạo trên vi điều khiển tài nguyên hạn chế.
  • Doanh nghiệp vừa và nhỏ (SMEs): Bản thiết kế mẫu để chế tạo các cánh tay máy tự động hóa chi phí thấp phục vụ công đoạn gắp thả nhẹ.
  • Nhà nghiên cứu: Nền tảng thực nghiệm mở để tiếp tục phát triển các thuật toán điều khiển thích nghi và trí tuệ nhân tạo (AI-assisted teleoperation).

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

1. Yêu cầu phần cứng tối thiểu để triển khai và vận hành hệ thống này là gì?
Hệ thống yêu cầu nguồn cấp ổn định 24VDC - 10A (cho động cơ bước), mạch giảm áp 5VDC - 3A (cho mạch điều khiển/servo), 01 bo Arduino Mega 2560, 01 bo Arduino Nano, 04 cảm biến MPU-9250, 01 IC TCA9548A và 02 module Bluetooth HC-05 cấu hình chuẩn UART.

2. Giới hạn mở rộng (Scalability) của hệ thống là gì và làm sao để nâng cấp?
Hạn chế lớn nhất là tốc độ tính toán của chip 8-bit ATmega2560 khi mở rộng thêm các thuật toán bù động lực học phức tạp. Giải pháp là nâng cấp MCU trung tâm sang họ ARM Cortex-M4 (như STM32F407) hoặc ESP32 với hai nhân xử lý, cho phép nâng tần số quét dữ liệu lên $200\text{ Hz}$ và tích hợp Wi-Fi/WebSocket.

3. Làm thế nào để ghép nối hệ thống với PLC hoặc SCADA hiện có trong nhà máy?
Có thể cấu hình module Bluetooth nhận dữ liệu và chuyển đổi sang giao thức Modbus RTU (qua chuẩn giao tiếp RS485) hoặc đóng gói dữ liệu truyền qua cổng Ethernet công nghiệp (Modbus TCP/IP) để kết nối trực tiếp với PLC Siemens S7-1200 hoặc hệ thống SCADA quản lý tập trung.

4. Bảo trì và hiệu chuẩn (Calibration) cảm biến IMU cần thực hiện như thế nào?
Cần thực hiện quy trình hiệu chuẩn tĩnh 6 hướng (6-point tumble test) cho gia tốc kế và hiệu chuẩn quay vòng 3D (ellipsoid fitting) cho la bàn AK8963 để loại bỏ bù sai số Hard/Soft-Iron trước khi gắn lên người vận hành.

5. Chi phí đầu tư chế tạo và thời gian thu hồi vốn (ROI) ra sao?
Tổng chi phí linh kiện phần cứng và gia công mẫu chỉ rơi vào khoảng 4.5 đến 5.5 triệu VNĐ, thấp hơn gấp 10 lần so với các bộ kit thí nghiệm ngoại nhập. Thời gian hoàn vốn thực tế đạt dưới 6 tháng nhờ giảm thiểu nhân công tại các khâu thao tác môi trường nguy hiểm.


Kết luận

Đồ án tốt nghiệp "Thiết kế và điều khiển thực tế ảo Robot 6 bậc tự do" đã hoàn thành xuất sắc các mục tiêu đề ra, từ tính toán lý thuyết động học Denavit-Hartenberg, mô phỏng cơ khí 3D đến chế tạo thực nghiệm mô hình tay máy 6-DoF hoàn chỉnh. Đột phá quan trọng của công trình nằm ở việc xây dựng thành công bộ điều khiển bám chuyển động cơ thể người thời gian thực với chi phí cực thấp, sử dụng hệ đa cảm biến IMU MPU-9250 thay thế hoàn toàn các hệ thống thị giác máy tính đắt đỏ.

Công trình mang lại giá trị thực tiễn cao cho cả môi trường nghiên cứu học thuật lẫn ứng dụng công nghiệp, mở ra hướng tiếp cận mới trong lĩnh vực điều khiển từ xa thông minh (Tele-robotics). Bạn đọc và các kỹ sư quan tâm có thể tiếp tục kế thừa mô hình toán học và giải thuật trong bài viết để phát triển các thế hệ robot phục vụ y tế, cứu hộ và tự động hóa nhà máy trong tương lai.