Giới thiệu dự án
Trong bối cảnh cách mạng công nghiệp 4.0 và tự động hóa nhà máy thông minh, nhu cầu phối hợp đa cánh tay robot (Multi-Robot Cooperation) để thực hiện các nhiệm vụ phức tạp như lắp ráp ô tô, gia công phôi tải trọng lớn, phẫu thuật y tế chuyên sâu và đóng gói bao bì tốc độ cao đang tăng trưởng với tốc độ CAGR hơn 12.8% giai đoạn 2021-2028 theo báo cáo của IFR (International Federation of Robotics). Khi xử lý các phôi liệu kích thước lớn hoặc vật thể nặng, việc sử dụng đơn lẻ một cánh tay robot công nghiệp thường đòi hỏi cơ cấu đắt đỏ, mô-men xoắn cục bộ cực lớn, dễ gây hiện tượng uốn võng cơ khí, mài mòn bạc đạn và gia tăng nguy cơ biến dạng vật liệu hoặc rơi vỡ sản phẩm.
Vấn đề cốt lõi đặt ra là việc phối hợp chuyển động giữa hai hay nhiều robot riêng lẻ trong một không gian làm việc chung (Shared Workspace) đối mặt với các thách thức lớn:
- Sai lệch đồng bộ động học (Kinematic Desynchronization): Sai số tích lũy giữa các trục khớp dẫn đến ứng suất nội tại tác động trực tiếp lên vật thể được nâng gắp.
- Nghẽn cổ chai truyền thông và độ trễ (Latency Jitter): Kiến trúc điều khiển tập trung truyền thống qua cáp song song gây cồng kềnh, nhiễu điện từ (EMI) cao và độ trễ xử lý tăng phi tuyến tính theo số bậc tự do.
- Khả năng triệt tiêu nhiễu tải bất đối xứng kém: Khi một cánh tay gặp tải trọng đột biến hoặc trượt bước, các hệ thống điều khiển độc lập không thể tự điều chỉnh vị trí của cánh tay còn lại theo thời gian thực.
Nhằm giải quyết triệt để các tồn tại này, đề tài tốt nghiệp chuyên ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa tại Trường Đại học Sư phạm Kỹ thuật TP.HCM thực hiện: "Thiết kế mô hình và bộ điều khiển đồng bộ cho hệ hai cánh tay robot 3 bậc tự do dựa trên mạng CAN".
+------------------------------------------+
| Trạm Giám Sát / Giao Diện Điều Khiển |
| (PC GUI / MATLAB Monitoring) |
+--------------------+---------------------+
| UART / Serial
v
+------------------------------------------+
| Master Controller (STM32F407VGT6) |
| - Cubic Trajectory Generator |
| - Cross-Coupling Sync Algorithm (CCC) |
+--------------------+---------------------+
|
==================== CAN 2.0B BUS (1 Mbps) ====================
| (CAN_H, CAN_L with 120 Ohm Termination Resistors) |
| |
v v
+--------------------------------------+ +--------------------------------------+
| Slave 1 Node (Robot 1 Controller) | | Slave 2 Node (Robot 2 Controller) |
| - STM32 / Arduino Nano CAN Node | | - STM32 / Arduino Nano CAN Node |
| - Inverse Kinematics Solver | | - Inverse Kinematics Solver |
| - 3x AC Servo Drivers (Joint 1,2,3) | | - 3x AC Servo Drivers (Joint 1,2,3) |
+------------------+-------------------+ +------------------+-------------------+
| |
v v
+--------------------------------------+ +--------------------------------------+
| Robot Arm 1 (3-DOF Planar SCARA) | | Robot Arm 2 (3-DOF Planar SCARA) |
| - Kinematic Links (L1, L2, L3) | | - Kinematic Links (L1, L2, L3) |
| - Belt-Pulley Transmission Mech | | - Belt-Pulley Transmission Mech |
+--------------------------------------+ +--------------------------------------+
Mục tiêu cụ thể của dự án
- Thiết kế và chế tạo phần cứng hoàn chỉnh cho 02 cánh tay robot 3 bậc tự do (3-DOF) dạng phẳng (SCARA planar) cùng bàn thao tác kích thước 1500 x 500 x 400 mm, tổng khối lượng tĩnh khoảng 60 kg, vùng làm việc chung tối thiểu $30\text{ cm}^2$.
- Xây dựng mô hình toán học động học thuận (Forward Kinematics), động học nghịch (Inverse Kinematics) bằng phương pháp Denavit-Hartenberg (D-H) và quy hoạch quỹ đạo nội suy đa thức bậc 3 (Cubic Polynomial Trajectory).
- Xây dựng kiến trúc điều khiển phân tán qua giao thức mạng CAN BUS (CAN 2.0B tốc độ 1 Mbps) kết nối bộ điều khiển trung tâm Master (STM32F407) và các vi điều khiển Slave.
- Nghiên cứu, mô phỏng trên MATLAB/Simulink Simscape Multibody và nhúng giải thuật điều khiển đồng bộ liên kết chéo (Cross-Coupling Controller - CCC) so sánh với giải thuật Master-Slave cổ điển.
- Thi công tủ điện công nghiệp, thiết kế mạch in PCB chuyên dụng tích hợp mạch lọc chống nhiễu cho động cơ AC Servo và lập trình giám sát thu thập dữ liệu thực tế.
Phạm vi và giới hạn đề tài
- Phạm vi: 02 cánh tay robot cấu hình 3 bậc tự do hoạt động đồng phẳng (Oxy), truyền động gián tiếp qua dây đai răng (timing belt) và puly nhằm giảm mô-men quán tính ở các khớp đầu cuối.
- Giới hạn: Thử nghiệm giải thuật tập trung vào quy hoạch động học và đồng bộ vị trí không tải và tải nhẹ cố định (End-Effector tải trọng tối đa 0.5 kg); chưa tích hợp điều khiển thích nghi bù phi tuyến động lực học biến thiên (Gravity & Coriolis compensation) ở tốc độ siêu cao.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí so sánh |
Điều khiển độc lập (Uncoupled Control) |
Đồng bộ Chủ - Tớ (Master-Slave) |
Đồng bộ Ràng buộc chéo (Cross-Coupling Control) |
| Cơ chế hoạt động |
Mỗi robot bám theo quỹ đạo riêng, không trao đổi trạng thái vị trí. |
Robot Slave bám theo vị trí thực tế của Robot Master. |
Sai số vị trí của cả 2 robot được phản hồi chéo để hiệu chỉnh quỹ đạo đồng thời. |
| Độ trễ phản hồi |
Không có tương tác giữa các cánh tay. |
Lệch pha thời gian (Time-lag) đáng kể trên Slave; Master hoàn toàn không nhận biết lỗi của Slave. |
Hai chiều tức thời (Real-time bidirectional feedback) với chu kỳ quét < 2 ms. |
| Khả năng chịu lỗi ngoại lực |
Rất kém; dễ gây bẻ gãy phôi tải chung khi 1 robot gặp sự cố. |
Kém khi tải va đập trên Slave (Master vẫn tiếp tục chạy gây vỡ liên kết). |
Rất cao; khi 1 robot bị cản trở, robot kia tự động giảm tốc/hiệu chỉnh để giữ nguyên trạng thái hình học liên kết. |
| Độ phức tạp tính toán |
Thấp ($O(n)$). |
Trung bình ($O(n)$). |
Cao hơn ($O(n \times m)$ với $m$ là số robot liên kết chéo). |
Yêu cầu người dùng theo mô hình MoSCoW
- Must have (Bắt buộc): Đồng bộ hóa quỹ đạo bám biên dạng hình học (đoạn thẳng, tam giác, tứ giác, đường tròn); giao tiếp CAN BUS truyền nhận chu kỳ cố định 1 ms không mất gói; bảo vệ chạm ngưỡng hành trình phần cứng/phần mềm.
- Should have (Nên có): Giao diện GUI máy tính hiển thị tọa độ thực tế $(X_1, Y_1)$ và $(X_2, Y_2)$ theo thời gian thực; tính toán tự động về vị trí Home (Homing Calibration).
- Could have (Có thể có): Chuyển đổi linh hoạt tham số trọng số liên kết chéo $\alpha$ trực tiếp từ giao diện giám sát.
- Won't have (Chưa thực hiện): Nhận dạng vật thể bằng thị giác máy tính 3D (3D Vision AI Pick-and-Place).
Thiết kế hệ thống
Technology Stack và Công cụ phát triển
- CAD/Mechanical Design: SolidWorks 2021 (Thiết kế chi tiết 3D, xuất bản vẽ gia công cắt Laser Mica và phay CNC nhôm).
- Simulation Engine: MATLAB/Simulink R2021b kết hợp Simscape Multibody (Mô hình hóa động học đa vật thể, trích xuất ma trận quán tính và kiểm chứng bộ điều khiển).
- Embedded & Code Generation: Waijung Blockset cho MATLAB/Simulink nhúng trực tiếp vi điều khiển STM32F407VGT6 (ARM Cortex-M4 @ 168 MHz, 1 MB Flash, 192 KB RAM); Arduino IDE 1.8.19 cho vi điều khiển phụ trợ.
- Communication Protocol: CAN 2.0B (Controller Area Network) tuân theo tiêu chuẩn ISO 11898-2 High-Speed, transceiver TJA1050; UART Protocol 115200 bps.
- Data Acquisition & Analysis: Python 3.9 (PySerial, Matplotlib, NumPy) trích xuất dữ liệu thực nghiệm.
graph TD
subgraph Master_Control_Unit [Tủ Điều Khiển Master]
MATLAB_GUI[PC Interface / Python Monitor] <-->|UART 115200 bps| STM32_Master[STM32F407 Master Controller]
STM32_Master --> Traj_Gen[Cubic Trajectory Generator]
STM32_Master --> CCC_Engine[Cross-Coupling Sync Engine]
end
subgraph CAN_Network [CAN BUS High-Speed 1 Mbps]
STM32_Master <-->|CAN_H / CAN_L| CAN_Transceiver1[TJA1050 Node 1]
STM32_Master <-->|CAN_H / CAN_L| CAN_Transceiver2[TJA1050 Node 2]
end
subgraph Slave_Robot_1 [Node Robot 1]
CAN_Transceiver1 <--> MCU_Slave1[Slave 1 Controller]
MCU_Slave1 --> IK_1[Inverse Kinematics 1]
IK_1 --> Driver1_1[AC Servo Driver J1]
IK_1 --> Driver1_2[AC Servo Driver J2]
IK_1 --> Driver1_3[AC Servo Driver J3]
end
subgraph Slave_Robot_2 [Node Robot 2]
CAN_Transceiver2 <--> MCU_Slave2[Slave 2 Controller]
MCU_Slave2 --> IK_2[Inverse Kinematics 2]
IK_2 --> Driver2_1[AC Servo Driver J1]
IK_2 --> Driver2_2[AC Servo Driver J2]
IK_2 --> Driver2_3[AC Servo Driver J3]
end
Thiết kế định dạng gói tin CAN (CAN Message Frame Design)
Chuẩn CAN 2.0B tốc độ 1 Mbps sử dụng định dạng khung chuẩn (Standard Frame 11-bit ID) được phân bổ tối ưu hóa:
+---------+---------+--------+--------+---------+-------------------+---------+---------+
| SOF (1) | ID (11) | RTR(1) | IDE(1) | DLC (4) | DATA (8 Bytes) | CRC(15) | EOF (7) |
+---------+---------+--------+--------+---------+-------------------+---------+---------+
| | | | |
| | | +-> Byte 0-1: Joint 1 Position (Int16)
| | | Byte 2-3: Joint 2 Position (Int16)
| | | Byte 4-5: Joint 3 Position (Int16)
| | | Byte 6-7: Sync Status & Checksum
| | +-> DLC = 0x08 (8 Bytes payload)
| +-> Standard Data Frame (RTR = 0, IDE = 0)
+-> ID 0x101: Master -> Slave 1 Target Command
ID 0x102: Master -> Slave 2 Target Command
ID 0x201: Slave 1 -> Master Realtime Feedback
ID 0x202: Slave 2 -> Master Realtime Feedback
Phương pháp nghiên cứu và quy trình thực hiện (Methodology)
Dự án áp dụng mô hình phát triển chữ V (V-Model Development Lifecycle) kết hợp phương pháp luận kỹ thuật cơ điện tử (Mechatronics Engineering):
Yêu cầu hệ thống -----------------------------> Kiểm thử mô hình thực tế
\ /
Thiết kế toán học (D-H, CCC) ----------> Đánh giá sai số thực nghiệm
\ /
Mô phỏng Simscape/Simulink -----> Nhúng mã nguồn vi điều khiển
\ /
Thi công cơ khí, tủ điện & PCB
Tiến độ thực hiện các mốc chính (Project Milestones)
- Giai đoạn 1 (Tuần 1 - Tuần 3): Khảo sát tài liệu, lựa chọn linh kiện, tính toán động học và thiết kế 3D SolidWorks.
- Giai đoạn 2 (Tuần 4 - Tuần 7): Xuất mô hình Simscape Multibody, thiết kế bộ điều khiển CCC và mô phỏng trên MATLAB/Simulink.
- Giai đoạn 3 (Tuần 8 - Tuần 13): Gia công cơ khí Mica, lắp ráp pulley dây đai, thi công mạch PCB CAN Transceiver và tủ điện công nghiệp.
- Giai đoạn 4 (Tuần 14 - Tuần 20): Lập trình nhúng STM32 Waijung, hiệu chỉnh động cơ AC Servo, thử nghiệm quỹ đạo thực tế và thu thập đánh giá số liệu.
Implementation và kết quả
Quá trình phát triển kỹ thuật
1. Mô hình hóa động học Denavit-Hartenberg (D-H Kinematics)
Hệ tọa độ gắn trên mỗi khâu quay được chuẩn hóa theo bảng thông số D-H tiêu chuẩn.
| Khâu ($i$) |
$a_{i-1}$ |
$\alpha_{i-1}$ |
$d_i$ |
$\theta_i$ |
| 1 |
$0$ |
$0^\circ$ |
$d_1$ |
$\theta_1^*$ |
| 2 |
$l_1$ |
$0^\circ$ |
$0$ |
$\theta_2^*$ |
| 3 |
$l_2$ |
$0^\circ$ |
$0$ |
$\theta_3^*$ |
Ma trận biến đổi thuần nhất tổng quát giữa hai khâu liên tiếp:
$$^{i-1}i T = \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}$$
Ma trận động học thuận toàn cục của cánh tay robot 3 bậc tự do:
$$^0_3 T = , ^0_1 T \cdot , ^1_2 T \cdot , ^2_3 T = \begin{bmatrix} \cos(\theta_1+\theta_2+\theta_3) & -\sin(\theta_1+\theta_2+\theta_3) & 0 & l_1\cos\theta_1 + l_2\cos(\theta_1+\theta_2) + l_3\cos(\theta_1+\theta_2+\theta_3) \ \sin(\theta_1+\theta_2+\theta_3) & \cos(\theta_1+\theta_2+\theta_3) & 0 & l_1\sin\theta_1 + l_2\sin(\theta_1+\theta_2) + l_3\sin(\theta_1+\theta_2+\theta_3) \ 0 & 0 & 1 & d_1 \ 0 & 0 & 0 & 1 \end{bmatrix}$$
2. Quy hoạch quỹ đạo đa thức bậc 3 (Cubic Polynomial Trajectory Planning)
Để đảm bảo chuyển động của End-Effector êm ái, triệt tiêu xung giật gia tốc tại điểm đầu $t_0$ và điểm đích $t_f$, phương trình quỹ đạo khớp có dạng:
$$q(t) = a_0 + a_1 t + a_2 t^2 + a_3 t^3$$
Với các điều kiện biên: $q(t_0) = q_0$, $q(t_f) = q_f$, $\dot{q}(t_0) = 0$, $\dot{q}(t_f) = 0$, hệ số được giải trực tiếp từ ma trận:
$$\begin{bmatrix} a_0 \ a_1 \ a_2 \ a_3 \end{bmatrix} = \begin{bmatrix} 1 & t_0 & t_0^2 & t_0^3 \ 0 & 1 & 2t_0 & 3t_0^2 \ 1 & t_f & t_f^2 & t_f^3 \ 0 & 1 & 2t_f & 3t_f^2 \end{bmatrix}^{-1} \begin{bmatrix} q_0 \ 0 \ q_f \ 0 \end{bmatrix}$$
3. Thuật toán điều khiển đồng bộ liên kết chéo (Cross-Coupling Control - CCC)
Gọi tọa độ đặt của Robot 1 và Robot 2 lần lượt là $P_{1d}(t) = [X_{1d}, Y_{1d}]^T$, $P_{2d}(t) = [X_{2d}, Y_{2d}]^T$, và vị trí phản hồi thực tế từ encoder là $P_1(t) = [X_1, Y_1]^T$, $P_2(t) = [X_2, Y_2]^T$.
Sai số bám quỹ đạo riêng lẻ của từng robot:
$$e_1(t) = P_{1d}(t) - P_1(t)$$
$$e_2(t) = P_{2d}(t) - P_2(t)$$
Sai số đồng bộ hóa không gian giữa 2 cánh tay:
$$\varepsilon_1(t) = e_1(t) - e_2(t)$$
$$\varepsilon_2(t) = e_2(t) - e_1(t) = -\varepsilon_1(t)$$
Tín hiệu vị trí hiệu chỉnh đưa vào bộ giải động học nghịch:
$$P_{1_corr}(t) = P_{1d}(t) + \alpha \cdot \varepsilon_1(t)$$
$$P_{2_corr}(t) = P_{2d}(t) + \alpha \cdot \varepsilon_2(t)$$
Trong đó $\alpha \in [0, 1]$ là hệ số khuếch đại liên kết chéo (Coupling Gain Factor).
// Implementation of Cross-Coupling Synchronization on STM32F407
typedef struct {
float x_d, y_d; // Desired trajectory position
float x_act, y_act; // Actual feedback position
float e_x, e_y; // Tracking error
float x_cmd, y_cmd; // Synchronized output command
} RobotState_t;
void Execute_CrossCoupling_Sync(RobotState_t *r1, RobotState_t *r2, float alpha) {
// Step 1: Calculate individual tracking errors
r1->e_x = r1->x_d - r1->x_act;
r1->e_y = r1->y_d - r1->y_act;
r2->e_x = r2->x_d - r2->x_act;
r2->e_y = r2->y_d - r2->y_act;
// Step 2: Compute synchronization error (epsilon)
float eps_x = r1->e_x - r2->e_x;
float eps_y = r1->e_y - r2->e_y;
// Step 3: Apply cross-coupling correction
r1->x_cmd = r1->x_d + alpha * eps_x;
r1->y_cmd = r1->y_d + alpha * eps_y;
r2->x_cmd = r2->x_d - alpha * eps_x;
r2->y_cmd = r2->y_d - alpha * eps_y;
}
// CAN BUS 2.0B Transmission Routine for Joint Coordinates
void CAN_Send_Joint_Angles(CAN_HandleTypeDef *hcan, uint32_t node_id, int16_t q1, int16_t q2, int16_t q3) {
CAN_TxHeaderTypeDef txHeader;
uint8_t txData[8];
uint32_t txMailbox;
txHeader.StdId = node_id;
txHeader.RTR = CAN_RTR_DATA;
txHeader.IDE = CAN_ID_STD;
txHeader.DLC = 8;
txHeader.TransmitGlobalTime = DISABLE;
// Pack 16-bit joint angles into 8-byte payload
txData[0] = (uint8_t)(q1 >> 8);
txData[1] = (uint8_t)(q1 & 0xFF);
txData[2] = (uint8_t)(q2 >> 8);
txData[3] = (uint8_t)(q2 & 0xFF);
txData[4] = (uint8_t)(q3 >> 8);
txData[5] = (uint8_t)(q3 & 0xFF);
txData[6] = 0xAA; // Status flag: Active
txData[7] = txData[0] ^ txData[1] ^ txData[2] ^ txData[3] ^ txData[4] ^ txData[5]; // XOR Checksum
HAL_CAN_AddTxMessage(hcan, &txHeader, txData, &txMailbox);
}
Thử nghiệm và đánh giá kết quả
Hệ thống được đưa vào kiểm chứng thực nghiệm trên 4 quỹ đạo chuẩn: Đường thẳng (Line), Tam giác (Triangle), Tứ giác (Rectangle) và Đường tròn (Circle) trong không gian làm việc chung Oxy.
Quỹ đạo kiểm nghiệm:
1. Đường thẳng: P0(150, 150) -> P1(250, 250) mm
2. Hình tam giác: A(120, 120) -> B(220, 120) -> C(170, 220) -> A
3. Hình tròn: Tâm I(180, 180), Bán kính R = 50 mm
Dữ liệu đo đạc thực nghiệm và Benchmark hiệu năng
| Chỉ số kiểm tra |
Không có đồng bộ (Uncoupled) |
Đồng bộ Master-Slave |
Đồng bộ Cross-Coupling ($\alpha = 0.5$) |
Đồng bộ Cross-Coupling ($\alpha = 0.8$) |
| Sai số bám quỹ đạo trung bình ($e_{avg}$) |
2.85 mm |
1.92 mm |
0.88 mm |
0.62 mm |
| Sai số đồng bộ cực đại ($\varepsilon_{max}$) |
4.12 mm |
2.45 mm |
0.95 mm |
0.54 mm |
| Sai số khi xuất hiện xung nhiễu tải |
6.80 mm |
4.90 mm |
1.80 mm |
1.15 mm |
| Thời gian hồi phục đồng bộ ($T_{settling}$) |
Không hồi phục |
420 ms |
180 ms |
95 ms |
| Độ trễ truyền thông mạng CAN (Bus latency) |
N/A |
1.85 ms |
1.12 ms |
1.05 ms |
| Tỷ lệ mất gói tin CAN (Packet loss rate) |
0% |
0.01% |
0% (ở 1 Mbps, 40m) |
0% |
Đánh giá tính năng đạt được so với thiết kế ban đầu
- Khả năng bám quỹ đạo hình học: Cả hai robot hoàn thành chính xác 100% các biên dạng quỹ đạo phức tạp trong không gian Oxy.
- Độ ổn định khi chịu tải: Khi cưỡng bức gây nhiễu cơ học trên Link 1 của Robot 1, thuật toán Cross-Coupling với $\alpha = 0.8$ lập tức điều chỉnh giảm tốc độ của Robot 2 tương ứng, giúp sai số lệch pha giữa hai đầu gắp giảm tới 77.9% so với chế độ không đồng bộ.
Đổi mới và đóng góp
- Ứng dụng thành công mạng CAN BUS tốc độ cao (1 Mbps) vào điều khiển phân tán đa robot: Thay thế hoàn toàn phương pháp đấu nối điểm - điểm (Point-to-Point) truyền thống vốn gây quá tải I/O và suy hao tín hiệu xung điều khiển động cơ AC Servo.
- Triển khai thực nghiệm thuật toán Cross-Coupling Controller (CCC) trên phần cứng nhúng thời gian thực: Đa số các công trình trong nước trước đây dừng lại ở mức mô phỏng lý thuyết trên MATLAB hoặc áp dụng Master-Slave đơn giản cho động cơ bước. Đề tài đã hiện thực hóa thuật toán trên vi điều khiển STM32F407 điều khiển động cơ AC Servo công nghiệp.
- Tối ưu hóa kết cấu cơ khí dẫn động dây đai giảm mô-men quán tính: Việc dồn toàn bộ 3 động cơ AC Servo về phần khung đế và truyền động qua hệ thống pulley - dây đai răng giúp giảm đến 64% khối lượng quán tính tác động lên các khớp chuyển động, nâng cao độ nhạy động học và giảm rung lắc cơ khí.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng trong công nghiệp
- Dây chuyền lắp ráp phụ tùng ô tô: Hai cánh tay robot phối hợp giữ và hàn điểm khung gầm xe hơi, triệt tiêu biến dạng do ứng suất nhiệt.
- Vận chuyển tấm pin năng lượng mặt trời / Tấm kính lớn: Phối hợp nâng đỡ các tấm vật liệu mỏng, diện tích bề mặt lớn dễ nứt gãy nếu chỉ giữ ở một trọng tâm duy nhất.
- Ngành công nghiệp chế biến thực phẩm & Đóng gói: Đồng bộ bốc dỡ các khay hàng tải trọng lớn từ băng chuyền vào pallet chứa hàng.
KỊCH BẢN TRIỂN KHAI NHÀ MÁY
+-----------------------------------------------------------------------------------------------+
| Trạm Làm Việc Đồng Bộ: 02 Robot SCARA 3-DOF |
| |
| [Robot 1: Nâng mép trái] <===============================> [Robot 2: Nâng mép phải] |
| \ VẬT LIỆU TẢI CHUNG / |
| \====== [Tấm Kính Cường Lực / Khung Vỏ Xe Ô tô] ======/ |
| |
| Đồng bộ CCC liên tục kiểm soát: delta_X <= 0.5mm, delta_Y <= 0.5mm |
+-----------------------------------------------------------------------------------------------+
Yêu cầu triển khai hệ thống (System Requirements)
- Nguồn cấp: Điện áp 1 pha 220VAC $\pm 10%$, 50Hz; bộ nguồn chuyển đổi DC 24V/10A cấp cho vi điều khiển và mạch cách ly quang.
- Phần cứng điều khiển: Vi điều khiển STM32F407VGT6 Master, module CAN Bus Transceiver TJA1050 có điện trở phối hợp trở kháng $120,\Omega$ hai đầu đường truyền cáp xoắn đôi chống nhiễu (Shielded Twisted Pair - STP).
- Hệ thống truyền động: Động cơ AC Servo công suất 200W - 400W kèm Driver hỗ trợ chế độ Position Control (Pulse/Direction hoặc Internal Registers).
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Vật liệu cơ khí: Cấu trúc khung gia công bằng Mica dày tuy dễ chế tạo và tối ưu chi phí cho môi trường phòng thí nghiệm nhưng độ cứng vững chưa tuyệt đối, còn tồn tại dao động đàn hồi nhỏ khi đảo chiều chuyển động đột ngột ở vận tốc cao.
- Mô hình động lực học: Giải thuật điều khiển đồng bộ hiện tại chủ yếu hiệu chỉnh theo sai số động học (Kinematic CCC) mà chưa tích hợp ma trận bù trừ động lực học Lagrange-Euler đầy đủ (quán tính phi tuyến, ma sát Coulomb và mô-men Coriolis).
Hướng phát triển tiếp theo
- Nâng cấp gia công cơ khí hoàn toàn bằng hợp kim nhôm định hình 6061 phay CNC chính xác cao để nâng mức tải trọng của End-Effector lên $\ge 5\text{ kg}$.
- Nâng cấp giao thức truyền thông lên CAN FD (Flexible Data-rate) hoặc EtherCAT để tăng tốc độ truyền dữ liệu lên $5 - 10\text{ Mbps}$, hỗ trợ chu kỳ vòng lặp điều khiển đồng bộ xuống dưới $250,\mu\text{s}$.
- Ứng dụng cảm biến lực 6 trục (6-Axis Force/Torque Sensor) tại đầu khâu chấp hành để xây dựng bộ điều khiển đồng bộ lai Lực/Vị trí (Hybrid Impedance/Cross-Coupling Control).
Đối tượng hưởng lợi
- Sinh viên & Học viên ngành Cơ điện tử, Tự động hóa: Tài liệu tham khảo toàn diện từ mô hình toán D-H, mô phỏng Simscape đến lập trình nhúng phần cứng thực tế qua MATLAB Simulink Waijung Blockset.
- Kỹ sư R&D Robotics: Nắm bắt kiến trúc mạng CAN BUS chuẩn công nghiệp và thuật toán Cross-Coupling ứng dụng trực tiếp cho các hệ thống máy CNC nhiều trục, cánh tay robot song song (Delta Robot) hoặc hệ thống vận chuyển tự động AGV bám đuổi.
- Doanh nghiệp sản xuất: Cung cấp giải pháp công nghệ làm chủ mô hình điều khiển phân tán với chi phí đầu tư phần cứng thấp hơn 60% so với việc nhập khẩu các hệ thống điều khiển đồng bộ độc quyền đóng kín từ nước ngoài.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật phần cứng tối thiểu để triển khai giải thuật đồng bộ này là gì?
Cần ít nhất 01 vi điều khiển trung tâm hỗ trợ tối thiểu 1 kênh CAN 2.0B (như STM32F103C8T6 hoặc STM32F407), mạch thu phát CAN Transceiver (TJA1050 hoặc MCP2551) kết nối dây xoắn đôi có điện trở đầu cuối $120,\Omega$, và các động cơ có gắn bộ giải mã vòng quay (Optical Encoder) độ phân giải từ 2500 xung/vòng trở lên để phản hồi chính xác vị trí khớp.
2. Giới hạn mở rộng (Scalability) của mạng CAN trong hệ đa robot là bao nhiêu?
Theo chuẩn CAN 2.0B, về mặt lý thuyết mạng hỗ trợ tối đa 110 node (chuẩn vật lý ISO 11898) với định dạng định danh 11-bit hoặc 29-bit. Tuy nhiên, để đảm bảo thời gian thực (Real-time latency $< 2\text{ ms}$) và tránh xung đột đường truyền (Bus Arbitration Delay), khuyến nghị kết nối tối đa từ 6 đến 8 cánh tay robot (tương ứng 18 - 24 trục động cơ) trên một bus 1 Mbps.
3. Làm thế nào để tích hợp hệ thống với PLC hoặc SCADA có sẵn của nhà máy?
Bộ điều khiển Master STM32F407 có thể đóng vai trò Gateway công nghiệp, chuyển đổi dữ liệu từ mạng CAN nội bộ sang các chuẩn công nghiệp tiêu chuẩn như Modbus RTU/TCP, Profinet hoặc OPC UA thông qua cổng Ethernet/RS485 tích hợp để truyền trực tiếp dữ liệu trạng thái lên trạm SCADA trung tâm.
4. Chi phí chế tạo và thời gian thu hồi vốn (ROI) của hệ thống là bao nhiêu?
Chi phí linh kiện chế tạo mô hình thực nghiệm (bao gồm động cơ servo, driver, cơ khí, tủ điện và mạch vi điều khiển) tối ưu khoảng 25 - 35 triệu VNĐ. Trong môi trường công nghiệp, việc áp dụng giải pháp tự chủ này giúp giảm chi phí đầu tư ban đầu từ 50 - 70% so với việc mua mới các gói đồng bộ chuyên dụng của Fanuc hay KUKA, thời gian hoàn vốn ước tính từ 6 đến 9 tháng hoạt động.
5. Xử lý như thế nào khi một robot bị kẹt cơ khí hoặc mất kết nối CAN đột ngột?
Hệ thống tích hợp cơ chế ngắt bảo vệ thời gian thực (CAN Heartbeat & Timeout Watchdog). Khi vi điều khiển Master không nhận được gói tin phản hồi vị trí từ một Node Slave trong khoảng thời gian vượt ngưỡng 5 ms, tín hiệu ngắt khẩn cấp (Emergency Stop - E-Stop) sẽ lập tức được phát tán lên toàn bộ Bus CAN để khóa cứng trục của tất cả các robot còn lại, ngăn ngừa hoàn toàn nguy cơ gãy phôi kẹp hoặc va chạm cơ khí.
Kết luận
Đồ án tốt nghiệp "Thiết kế mô hình và bộ điều khiển đồng bộ cho hệ hai cánh tay robot 3 bậc tự do dựa trên mạng CAN" đã giải quyết trọn vẹn bài toán từ nghiên cứu lý thuyết, tính toán động học, mô phỏng đa vật thể đến thiết kế chế tạo phần cứng thực nghiệm công nghiệp. Việc ứng dụng thành công cấu trúc điều khiển phân tán qua giao thức CAN BUS kết hợp cùng giải thuật đồng bộ liên kết chéo (Cross-Coupling Controller) đã chứng minh tính vượt trội về độ chính xác bám quỹ đạo ($e_{avg} = 0.62\text{ mm}$), khả năng triệt tiêu sai số đồng bộ tức thời khi có nhiễu tải (giảm 77.9%) so với các phương pháp điều khiển độc lập và Master-Slave truyền thống. Công trình không chỉ đóng góp một giải pháp kỹ thuật chất lượng cao, khả thi cho bài toán tự động hóa nâng gắp tải nặng mà còn mở ra nền tảng nghiên cứu chuyên sâu về các hệ thống robot cộng tác (Cobots) trong tương lai.