Bối cảnh và vấn đề nghiên cứu

Trong kỹ thuật điều khiển và tự động hóa, cánh tay robot nhiều bậc tự do (DOF) là cấu trúc cơ học nền tảng nhằm thay thế con người thực hiện các tác vụ phức tạp trong không gian ba chiều như gắp đặt linh kiện, hàn, lắp ráp hoặc gia công chính xác. Để vận hành hệ thống robot một cách ổn định và chính xác, việc nghiên cứu mô hình hóa toán học, giải bài toán động học thuận - nghịch, quy hoạch quỹ đạo và kiểm chứng đa môi trường từ mô phỏng đến phần cứng thực tế đóng vai trò then chốt.

Đề tài "Thiết kế robot, chuyển đổi sang Simscape, tính toán động học, quy hoạch quỹ đạo robot 3 bậc" được thực hiện bởi nhóm sinh viên Huỳnh Minh Thông (MSSV: 21151483) và Phạm Gia Khương (MSSV: 21151120), dưới sự hướng dẫn của thầy Trần Đức Thiện tại Bộ môn Tự động Điều khiển, Khoa Điện – Điện tử, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh (hoàn thành tháng 12/2024).

Mục tiêu và nhiệm vụ nghiên cứu của đề tài được phân định thành ba giai đoạn thực thi chính (Task 1, Task 2 và Task 3):

  1. Tính toán lý thuyết và lập trình mô phỏng kiểm chứng động học thuận, động học nghịch, quy hoạch quỹ đạo bằng hàm đa thức bậc ba trên MATLAB/Simulink.
  2. Thiết kế mô hình 3D trên phần mềm SolidWorks, xuất bản vẽ 2D các khâu, chuyển đổi mô hình sang Simscape Multibody và kiểm chứng sự hoạt động trong môi trường vật lý ảo.
  3. Tính toán lựa chọn phần cứng cơ điện (động cơ servo, cánh tay đòn, nguồn cấp), chế tạo mô hình thực tế, kết nối và lập trình điều khiển thông qua bo mạch Arduino kết hợp giao diện MATLAB/Simulink.

Đối tượng nghiên cứu là cánh tay robot 3 bậc tự do kiểu chuỗi hở với 3 khớp xoay ($q_1, q_2, q_3$). Phạm vi nghiên cứu tập trung vào bài toán động học vị trí, thuật toán quy hoạch đường đi theo đường thẳng và hình tam giác trong không gian làm việc, cùng quy trình tích hợp mô phỏng CAD/CAE với phần cứng nhúng.


Cơ sở lý thuyết và phương pháp

Khung lý thuyết và mô hình toán học

  • Quy tắc đặt trục Denavit – Hartenberg cải tiến (Modified DH Convention): Hệ tọa độ được gán cho các khâu qua 8 bước tuần tự để xác định 4 thông số đặc trưng: chiều dài khâu $a_{i-1}$, góc xoắn $\alpha_{i-1}$, độ lệch khâu $d_i$ và góc quay khớp $\theta_i$.
  • Ma trận biến đổi thuần nhất: Biểu diễn quan hệ vị trí và hướng giữa hệ trục tọa độ ${i-1}$ sang hệ ${i}$ qua ma trận tổng quát $^{i-1}T_i$: $$^{i-1}T_i = \begin{bmatrix} \cos\theta_i & -\sin\theta_i & 0 & a_{i-1} \ \sin\theta_i\cos\alpha_{i-1} & \cos\theta_i\cos\alpha_{i-1} & -\sin\alpha_{i-1} & -d_i\sin\alpha_{i-1} \ \sin\theta_i\sin\alpha_{i-1} & \cos\theta_i\sin\alpha_{i-1} & \cos\alpha_{i-1} & d_i\cos\alpha_{i-1} \ 0 & 0 & 0 & 1 \end{bmatrix}$$
  • Phương pháp đại số giải động học nghịch: Sử dụng phép nhân nghịch đảo ma trận biến đổi thuần nhất và các công thức lượng giác (hàm $\text{atan2}$) để giải ra các biến khớp $q_1, q_2, q_3$, từ đó xác định tập nghiệm tổng quát gồm 4 bộ nghiệm phân biệt.
  • Quy hoạch quỹ đạo bằng hàm đa thức bậc ba (Cubic Polynomial): Xây dựng phương trình chuyển động $q(t) = a_0 + a_1 t + a_2 t^2 + a_3 t^3$ thỏa mãn các điều kiện biên về vị trí bắt đầu $P_0$, vị trí kết thúc $P_f$, cùng vận tốc đầu và vận tốc cuối triệt tiêu ($v_0 = 0, v_f = 0$).
  • Lý thuyết tính toán mô-men xoắn (Torque): Phân tích lực dựa trên nguyên lý cánh tay đòn tĩnh học $\tau = F \cdot L$ kết hợp khối lượng các khâu để chọn lựa động cơ RC Servo phù hợp với tải trọng làm việc.

Phương pháp nghiên cứu và công cụ kỹ thuật

  • Phương pháp thiết kế và mô hình hóa: Sử dụng SolidWorks để dựng hình học 3D, tính toán trọng tâm, khối lượng và xuất bản vẽ kỹ thuật 2D cho từng chi tiết (khâu đế, Link 1, Link 2, End-Effector).
  • Phương pháp mô phỏng vật lý đa vật thể: Sử dụng công cụ Simscape Multibody Link để chuyển đổi hình học, quán tính và các khớp quay (Revolute Joints) từ SolidWorks sang môi trường mô phỏng vật lý trong MATLAB.
  • Phương pháp lập trình và điều khiển thực nghiệm: Xây dựng các khối MATLAB Function trên Simulink; cài đặt các gói hỗ trợ Arduino (MATLAB Support Package for Arduino Hardware) để truyền nhận dữ liệu điều khiển góc quay trực tiếp đến các động cơ RC Servo qua khối Standard Servo Write.

Thiết kế và triển khai

Kiến trúc cơ khí và phần cứng hệ thống

Hệ thống robot được phân chia thành cấu trúc cơ khí 3 khâu động nối tiếp gắn trên khâu đế cố định:

  • Khâu đế (Base Link): Giữ cố định hệ tọa độ gốc ${0}$ và nâng đỡ khớp quay thứ nhất.
  • Link 1: Kết nối từ đế đến khớp thứ hai, chuyển động quay quanh trục thẳng đứng.
  • Link 2: Khâu cánh tay trên, thực hiện chuyển động gập/duỗi trong mặt phẳng đứng.
  • Link 3 & End-Effector: Khâu cánh tay dưới mang cơ cấu tác động cuối, định vị tọa độ thao tác.
Thông số hình học Ký hiệu (Task 1) Giá trị Task 1 (mm) Ký hiệu (Task 2 & 3) Giá trị Task 2 & 3 (mm)
Khâu gốc/đế $l_0$ 10 - -
Khâu 1 $l_1$ 20 $l_1$ 80
Khâu 2 $l_2$ 15 $l_2$ 100
Khâu 3 $l_3$ 10 $l_3$ 70

Bảng thông số Denavit – Hartenberg cải tiến của hệ thống robot:

Link $a_{i-1}$ $\alpha_{i-1}$ $d_i$ $\theta_i$
1 0 0 $L_1$ $q_1$
2 0 $90^\circ$ 0 $q_2$
3 $L_2$ 0 0 $q_3$
EE $L_3$ 0 0 0

Quy trình tích hợp phần mềm và điều khiển nhúng

  1. Xuất mô hình CAD sang Simscape: Kích hoạt Simscape Multibody Link trong SolidWorks Add-Ins, xuất tệp .xml cùng các tệp lưới .step/.stl, cấu hình tham số gia tốc trọng trường ($g = 9.81\text{ m/s}^2$) và thiết lập giới hạn góc cho các khối Revolute.
  2. Khối giải thuật trên Simulink:
    • Khối DHT: Tiếp nhận $q_1, q_2, q_3$, xuất tọa độ $(x, y, z)$.
    • Khối DHN: Tiếp nhận $(x, y, z)$ và cờ chọn $s \in {1, 2, 3, 4}$, giải ra các góc quay tương ứng.
    • Khối TrajectoryLoop & QHQD: Lập lịch trình thời gian với hàm lấy dư toán học (mod), nội suy quỹ đạo bậc ba theo từng khoảng chu kỳ.
  3. Mạch phần cứng: Bo mạch Arduino Uno/Mega liên kết với máy tính qua cổng nối tiếp (COM Port), nhận lệnh xung PWM từ Simulink để điều khiển các động cơ RC Servo tại 3 trục khớp.

Nội dung chính theo từng chương

Task 1: Tính toán, kiểm chứng động học, quy hoạch quỹ đạo robot 3 DOF về mặt lý thuyết và trên MATLAB Simulink

Chương 1: Động học thuận

Trình bày nguyên lý cấu tạo cánh tay robot 3 bậc tự do với các đoạn liên kết $l_0, l_1, l_2, l_3$. Thiết lập hệ trục tọa độ theo 8 bước của quy tắc DH cải tiến, lập bảng thông số DH và xây dựng hệ ma trận chuyển đổi đồng nhất từ hệ ${0}$ đến hệ ${EE}$. Thiết lập phương trình biểu diễn vị trí điểm đầu cuối: $$x = l_0 + \cos(q_1)\left[l_2\cos(q_2) + l_3\cos(q_2+q_3)\right]$$ $$y = \sin(q_1)\left[l_2\cos(q_2) + l_3\cos(q_2+q_3)\right]$$ $$z = l_1 + l_2\sin(q_2) + l_3\sin(q_2+q_3)$$

Chương 2: Động học nghịch

Tiếp cận bài toán bằng phương pháp đại số. Bằng cách nhân ma trận nghịch đảo $T_1^{-1}$ vào ma trận vị trí hướng $T_{EE}$ và đồng nhất hệ số các phần tử, tác giả rút ra phương trình xác định biến khớp $q_1$ thông qua hàm $\text{atan2}$, tiếp tục giải $q_2$ dựa trên phương trình lượng giác, và suy ra $q_3 = q - q_1 - q_2$. Kết quả giải tích thu được 4 bộ nghiệm đại số phân biệt.

Chương 3: Quy hoạch quỹ đạo cho robot

Trình bày cấu trúc phân cấp điều khiển chuyển động: Task planning, Path planning, Trajectory planning và Trajectory following. Phân tích ưu nhược điểm của quy hoạch trong không gian khớp so với không gian làm việc Descartes. Thiết lập hệ phương trình xác định 4 hệ số của đa thức bậc ba: $$a_0 = P_0, \quad a_1 = v_0$$ $$a_2 = \frac{3(P_f - P_0)}{t_f^2} - \frac{2v_0}{t_f} - \frac{v_f}{t_f}, \quad a_3 = \frac{-2(P_f - P_0)}{t_f^3} + \frac{v_f + v_0}{t_f^2}$$ Xây dựng lưu đồ giải thuật cho quỹ đạo đường thẳng qua 2 điểm $A, B$ và quỹ đạo tam giác qua 3 điểm $A, B, C$, lặp lại đủ 5 chu kỳ rồi dừng hẳn.

Chương 4: Mô phỏng và đánh giá

Kiểm chứng thuật toán trên MATLAB/Simulink thông qua khối MATLAB Function:

  • Động học thuận:
    • Trường hợp 1 ($q_1=0^\circ, q_2=0^\circ, q_3=0^\circ$): Tọa độ đạt $(x=35, y=0, z=20)$.
    • Trường hợp 2 ($q_1=90^\circ, q_2=0^\circ, q_3=0^\circ$): Tọa độ đạt $(x=10, y=25, z=20)$.
  • Động học nghịch: Kiểm tra 4 bộ nghiệm với tọa độ tương ứng; xác nhận chỉ có Bộ nghiệm thứ nhất cho góc quay trùng khớp hoàn toàn với giá trị gốc.
  • Quy hoạch quỹ đạo: Mô phỏng quỹ đạo đoạn thẳng giữa $A(10, 0)$ và $B(5, 20)$ với $t_f = 2\text{s}$; quỹ đạo tam giác giữa $A(10, 0), B(5, 20), C(-25, -5)$ với các mốc thời gian $t_A=0\text{s}, t_B=2\text{s}, t_C=4\text{s}, t_F=6\text{s}$. Cả hai trường hợp đều đáp ứng chính xác vị trí, vận tốc tại các điểm chuyển tiếp đạt $0\text{ mm/s}$ và dừng đúng tại $A$ sau 5 chu kỳ.

Chương 5: Kết luận Task 1

Đánh giá mức độ hoàn thành việc thiết lập công thức toán học và xây dựng mô phỏng logic; ghi nhận hạn chế là các thử nghiệm mới chỉ dừng ở mức tính toán lý thuyết thuần túy trên MATLAB.


Task 2: Thiết kế, chuyển đổi sang Simscape, tính toán, kiểm chứng động học, quy hoạch quỹ đạo robot 3 DOF về mặt lý thuyết và trên MATLAB Simulink

Chương 6: Động học thuận

Mô tả mô hình cơ học hoàn chỉnh với các thông số kích thước thực tế: Link 1 ($L_1 = 80\text{ mm}$), Link 2 ($L_2 = 100\text{ mm}$), Link 3 ($L_3 = 70\text{ mm}$). Thiết lập bảng DH và xây dựng ma trận chuyển đổi từ gốc đến khâu tác động cuối.

Chương 7: Động học nghịch

Áp dụng phương pháp đại số đối với bộ thông số kích thước mới để giải và xác lập các công thức nghiệm biến khớp phục vụ tích hợp mô phỏng đa vật thể.

Chương 8: Xuất bản vẽ 2D cho các khâu của robot và chuyển đổi SolidWorks sang Simscape

Trình bày chi tiết bản vẽ kỹ thuật 2D cho khâu đế, Link 1, Link 2 và End-Effector trên SolidWorks. Hướng dẫn quy trình cài đặt Simscape Multibody Link, thiết lập đơn vị (mm, kg, s) và xuất mô hình sang tệp XML để nạp vào Simulink.

Chương 9: Quy hoạch quỹ đạo cho robot

Xây dựng thuật toán quy hoạch đường thẳng và tam giác áp dụng cho mô hình cơ cấu kích thước thực tế, tích hợp hàm đa thức bậc ba kết hợp điều kiện ràng buộc vận tốc biên.

Chương 10: Mô phỏng kiểm chứng

Thực hiện mô phỏng đa môi trường trên Simscape Multibody:

  • Kiểm tra các góc quay khớp và chuyển động 3D của các thanh liên kết dưới tác động của trọng trường.
  • Mô phỏng không gian làm việc (Workspace) thực tế của cánh tay robot.
  • Đánh giá đáp ứng vị trí và vận tốc theo ba trục $x, y, z$ trong 5 chu kỳ chuyển động liên tục cho quỹ đạo đường thẳng và quỹ đạo tam giác.

Chương 11: Kết luận Task 2

Tổng kết kết quả chuyển đổi CAD/Simscape, sự phù hợp giữa mô phỏng vật lý 3D và mô hình toán học; chỉ ra các điểm cần hoàn thiện về động lực học và chuẩn bị cho mô hình vật lý.


Task 3: Chế tạo mô hình thực tế, lập trình điều khiển và kiểm chứng thực nghiệm

Chương 12: Tổng quan đề tài

Xác định mục tiêu chế tạo cánh tay robot vật lý 3 bậc tự do; phương pháp nghiên cứu kết hợp giữa tính toán lý thuyết, thiết kế cơ khí và thực nghiệm điều khiển nhúng; giới hạn đề tài ở tải trọng nhỏ và sử dụng động cơ servo góc.

Chương 13: Thiết kế mô hình robot trên SolidWorks

Dựng hoàn chỉnh cụm lắp ráp 3D (Assembly) trên SolidWorks, kiểm tra va chạm động học giữa các khâu và xuất bản vẽ 2D chi tiết phục vụ gia công cắt gọt/in 3D.

Chương 14: Chuyển đổi SolidWorks sang Simscape

Tái lập mô hình vật lý với đầy đủ thuộc tính khối lượng, ma sát và quán tính của từng chi tiết sau khi thiết kế hoàn thiện.

Chương 15: Tính toán động học thuận, động học nghịch

Tổng hợp hệ phương trình động học thuận - nghịch cho mô hình hoàn chỉnh, kiểm tra tính đơn nhất và loại trừ các vùng kỳ dị (Singularities) trong không gian thao tác.

Chương 16: Quy hoạch quỹ đạo

Lập trình thuật toán phát sinh quỹ đạo thời gian thực, chuyển đổi trực tiếp tọa độ không gian làm việc sang tọa độ không gian khớp trước khi gửi tín hiệu điều khiển.

Chương 17: Mô hình robot thực tế

  • Thiết kế phần cứng: Trình bày lý thuyết mô-men xoắn, phương pháp cánh tay đòn tĩnh học. Lập danh sách thiết bị và lựa chọn động cơ RC Servo đáp ứng đủ mô-men giữ tại các khớp tải trọng lớn.
  • Thiết kế phần mềm: Cài đặt hai gói thư viện hỗ trợ Arduino trên MATLAB; cấu hình thông số kết nối cổng COM; sử dụng các khối Standard Servo Write và Continuous Servo Write trong Simulink để truyền dữ liệu góc quay trực tiếp.

Chương 18: Kiểm chứng kết quả

Thực nghiệm trên mô hình robot vật lý:

  • Kiểm chứng góc quay thực tế tại các khớp $q_1, q_2, q_3$ theo 3 trường hợp tư thế đặt trước.
  • Kiểm chứng động học nghịch: Đưa tọa độ điểm mục tiêu $P$, robot tính toán và điều khiển các khớp đưa End-Effector đến đúng vị trí không gian.
  • Kiểm chứng quy hoạch quỹ đạo đường thẳng qua 2 điểm $A, B$ và quỹ đạo tam giác qua 3 điểm $A, B, C$, ghi nhận đáp ứng góc quay thực tế bám sát tín hiệu đặt từ Simulink.

Chương 19: Kết luận Task 3

Tổng kết toàn bộ quá trình từ thiết kế, mô phỏng đến chế tạo thực tế; phân chia công việc chi tiết giữa các thành viên và đề xuất hướng nâng cấp hệ thống.


Kết quả và đóng góp

Kết quả định lượng và kỹ thuật

  • Độ chính xác mô hình toán học: Hệ phương trình động học thuận và nghịch bằng phương pháp đại số được chứng minh tính đúng đắn qua cả mô phỏng số và mô hình vật lý đa vật thể.
  • Đặc tính nghiệm động học nghịch: Phân tích giải tích xác định 4 bộ nghiệm đại số và chỉ rõ Bộ nghiệm số 1 là bộ nghiệm khả thi, loại bỏ các nghiệm gây xung đột cơ khí hoặc kỳ dị hình học.
Trường hợp thử nghiệm Góc khớp đặt ($q_1, q_2, q_3$) Tọa độ tính toán / mô phỏng ($x, y, z$ - mm) Trạng thái kiểm chứng
Động học thuận - TH1 $0^\circ, 0^\circ, 0^\circ$ $(35, 0, 20)$ Trùng khớp tuyệt đối
Động học thuận - TH2 $90^\circ, 0^\circ, 0^\circ$ $(10, 25, 20)$ Trùng khớp tuyệt đối
Quỹ đạo đường thẳng $A(10, 0) \leftrightarrow B(5, 20)$ Chu kỳ: $2t_f = 4\text{s}$, lặp 5 chu kỳ Vận tốc biên triệt tiêu về 0, dừng tại $A$
Quỹ đạo tam giác $A(10, 0) \rightarrow B(5, 20) \rightarrow C(-25, -5) \rightarrow A$ Chu kỳ: $3t_f = 6\text{s}$, lặp 5 chu kỳ Đúng quỹ đạo, dừng chính xác tại $A$
  • Quy trình CAD-to-Simscape: Thiết lập thành công chuỗi công cụ đồng bộ tự động từ SolidWorks sang Simscape Multibody, cho phép quan sát trực quan chuyển động và kiểm tra không gian làm việc trước khi gia công phần cứng.
  • Hệ thống thực nghiệm: Chế tạo hoàn chỉnh mô hình cánh tay robot 3 bậc tự do hoạt động với vi điều khiển Arduino và giao diện điều khiển thời gian thực trên MATLAB/Simulink.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế được ghi nhận

  • Trong các giai đoạn đầu (Task 1 và Task 2), việc đánh giá thuật toán chủ yếu dựa trên mô phỏng lý thuyết và mô hình ảo, chưa bao quát đầy đủ các yếu tố phi tuyến trong môi trường thực tế như khe hở khớp cơ khí, độ trễ truyền động và quán tính động lực học.
  • Thuật toán quy hoạch quỹ đạo sử dụng đa thức bậc ba đảm bảo tính liên tục về vị trí và vận tốc ($v=0$ tại biên), nhưng đạo hàm bậc hai (gia tốc) vẫn còn bước nhảy gián đoạn tại các điểm chuyển hướng, có thể gây rung lắc cơ khí khi chuyển động nhanh.

Hướng phát triển đề xuất

  • Nâng cấp thuật toán quy hoạch quỹ đạo lên hàm đa thức bậc năm (Quintic Polynomial) hoặc hàm nội suy Spline/S-curve để làm mượt gia tốc và độ giật (Jerk).
  • Xây dựng mô hình động lực học đầy đủ (phương pháp Euler-Lagrange hoặc Newton-Euler) để thiết kế các bộ điều khiển phản hồi nâng cao (PID bám quỹ đạo, điều khiển bù trọng trường, điều khiển trượt).
  • Tích hợp thêm cảm biến phản hồi vị trí thực (Encoder), cảm biến lực/mô-men và hệ thống thị giác máy tính (Camera/Computer Vision) để nhận dạng và gắp đặt vật thể tự động.

Giá trị tham khảo

Báo cáo là tài liệu tham khảo có tính hệ thống cao đối với sinh viên, kỹ sư thuộc các chuyên ngành Kỹ thuật Cơ điện tử, Kỹ thuật Điều khiển & Tự động hóa và Kỹ thuật Robot:

  • Quy trình mẫu về tích hợp CAD – Simscape – Hardware: Cung cấp phương pháp chi tiết từng bước từ khâu dựng hình 3D trên SolidWorks, cấu hình Add-in Simscape Multibody, đến việc ghép nối vi điều khiển Arduino với Simulink.
  • Tài liệu học tập về động học và quỹ đạo: Trình bày rõ ràng các bước thiết lập bảng DH cải tiến, cách giải đại số động học nghịch và thuật toán quy hoạch quỹ đạo đa thức bậc ba có chu kỳ lặp lại bằng hàm toán học.

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

1. Tại sao nhóm nghiên cứu lại chọn đa thức bậc ba để quy hoạch quỹ đạo thay vì các bậc khác?

Đa thức bậc ba ($q(t) = a_0 + a_1 t + a_2 t^2 + a_3 t^3$) cung cấp đúng 4 bậc tự do toán học, vừa đủ để thỏa mãn 4 điều kiện biên cơ bản của một đoạn chuyển động: vị trí bắt đầu $P_0$, vị trí kết thúc $P_f$, vận tốc ban đầu $v_0 = 0$ và vận tốc kết thúc $v_f = 0$. Điều này giúp thuật toán tính toán nhanh, dễ triển khai trong các khối nhúng thời gian thực của Simulink.

2. Trong 4 bộ nghiệm đại số của bài toán động học nghịch, tại sao chỉ có một bộ nghiệm được chọn?

Phương pháp biến đổi đại số khi giải phương trình lượng giác và ma trận thuần nhất làm phát sinh các nghiệm đối xứng toán học (cấu hình khửu tay lên/xuống, hướng xoay gốc). Khi đưa vào mô phỏng kiểm chứng với vị trí hình học thực tế, chỉ có Bộ nghiệm thứ nhất cho góc quay ($q_1, q_2, q_3$) trùng khớp chính xác với tư thế vật lý của cánh tay robot và không vi phạm giới hạn chuyển động cơ khí.

3. Quy trình chuyển đổi từ mô hình SolidWorks sang Simscape Multibody được thực hiện như thế nào?

Người dùng thiết lập đơn vị chuẩn (mm, kg, s) trong SolidWorks, gán các hệ trục tọa độ tại các vị trí khớp, sau đó kích hoạt công cụ Simscape Multibody Link trong cửa sổ Add-Ins để xuất ra tệp .xml. Khi nhập tệp này vào MATLAB/Simulink, phần mềm sẽ tự động tạo sơ đồ khối mô phỏng vật lý chứa các khối khâu liên kết (Solid blocks) và khối khớp quay (Revolute blocks).

4. Bằng cách nào hệ thống thực hiện được việc lặp lại quỹ đạo 5 chu kỳ rồi dừng lại?

Trong hàm MATLAB Function (TrajectoryLoop hoặc QHQD), thời gian chạy thực tế $t$ được chia lấy phần dư cho chu kỳ của một vòng di chuyển (mod(t, cycle_time)). Nếu thời gian thực tế vượt quá tổng thời gian của 5 chu kỳ ($t \ge T_{total}$), thuật toán sẽ gán cố định tọa độ đầu ra tại vị trí điểm gốc $A$, làm cho vận tốc triệt tiêu và robot dừng hoàn toàn.


Kết luận

Đồ án môn học đã hoàn thành trọn vẹn ba mục tiêu nghiên cứu từ cơ sở lý thuyết, mô phỏng nâng cao đến chế tạo thực nghiệm cho cánh tay robot 3 bậc tự do. Nhóm tác giả đã giải quyết chuẩn xác bài toán động học thuận - nghịch, triển khai thành công thuật toán quy hoạch quỹ đạo đường thẳng và tam giác bằng hàm đa thức bậc ba. Toàn bộ quy trình tích hợp giữa SolidWorks, Simscape Multibody, MATLAB/Simulink và phần cứng Arduino được thực hiện mạch lạc, tạo tiền đề vững chắc cho việc phát triển các hệ thống robot công nghiệp phức tạp hơn trong tương lai.