Giới thiệu dự án

Trong kỷ nguyên công nghiệp 4.0 và công nghệ vũ trụ hiện đại, các hệ thống cơ điện tử thiếu cơ cấu chấp hành (Underactuated Mechanical Systems) và các bài toán điều khiển đơn đầu vào - nhiều đầu ra (SIMO - Single Input Multiple Output) đóng vai trò then chốt trong việc tối ưu hóa trọng lượng và hiệu suất năng lượng. Điển hình như cơ chế hạ cánh thẳng đứng tự cân bằng của tầng đẩy tên lửa đẩy Falcon 9 (SpaceX), máy bay không người lái (UAV), tàu lượn ngầm (AUV) hay hệ thống cân bằng thân xe tự hành. Điểm cốt lõi của các hệ thống này là số lượng tín hiệu điều khiển đầu vào ít hơn số bậc tự do cần kiểm soát, đòi hỏi các thuật toán điều khiển phải xử lý được tính phi tuyến nghiêm trọng, hiện tượng bất định mô hình và ràng buộc động học khắt khe.

Đồ án tốt nghiệp "Khảo sát và So sánh các phương pháp điều khiển bám quỹ đạo cho Pendubot" do sinh viên Trần Trọng Bằng thực hiện dưới sự hướng dẫn của ThS. Lê Thị Hồng Lam tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh (HCMUTE), Khoa Điện - Điện tử, Bộ môn Tự động Điều khiển tập trung giải quyết bài toán điều khiển phi tuyến phức tạp này trên mô hình thực nghiệm Pendubot hai bậc tự do.

       [Khớp 1: Động cơ DC + Encoder] ---> (Tác động Momen điều khiển Tau)
                    |
                 [Link 1] (Khối lượng m1, Chiều dài l1, Góc quay q1)
                    |
       [Khớp 2: Tự do (Unactuated) + Encoder]
                    |
                 [Link 2] (Khối lượng m2, Chiều dài l2, Góc quay q2)

Vấn đề kỹ thuật (Problem Statement)

Hệ Pendubot gồm 2 thanh (link 1 và link 2) liên kết qua một khớp xoay tự do, trong đó chỉ có khớp thứ nhất được gắn động cơ chấp hành sinh momen xoắn $\tau_1$, khớp thứ hai hoàn toàn không có cơ cấu chấp hành. Thách thức kỹ thuật đặt ra bao gồm:

  • Tính phi tuyến và liên kết chéo mạnh mẽ (Strong Cross-Coupling): Gia tốc góc của link 2 phụ thuộc hoàn toàn vào chuyển động động học và lực quán tính của link 1.
  • Điểm cân bằng không bền tại vị trí TOP: Vị trí làm việc thẳng đứng hướng lên (cả hai link đều ở góc $\pi/2$) là điểm kỳ dị có tính ổn định mở kém nhất và độ nhạy động lực học cao nhất.
  • Nhiễu lượng tử hóa phần cứng (Quantization Noise): Sai số lượng tử từ cảm biến Encoder và độ trễ đạo hàm vận tốc số làm suy giảm đáng kể độ chính xác của các bộ điều khiển lý thuyết khi đưa vào thực nghiệm thực tế.

Mục tiêu dự án

  1. Thiết kế & Chế tạo phần cứng: Xây dựng mô hình cơ khí Pendubot 2 bậc tự do sử dụng vật liệu nhôm định hình, tích hợp động cơ DC Servo Nisca, Driver BTS7960 và vi điều khiển ARM Cortex-M3 STM32F103C8T6.
  2. Xây dựng mô hình toán học & Nhận dạng hệ thống: Thiết lập phương trình vi phân động lực học Euler-Lagrange và xác định chính xác các ma trận trạng thái liên tục và rời rạc ($A_d, B_d$) với chu kỳ lấy mẫu $T_s = 5\text{ ms}$.
  3. Thiết kế & Tối ưu hóa 3 thuật toán điều khiển:
    • Bộ điều khiển tối ưu tuyến tính LQR (Linear Quadratic Regulator) giải qua phương trình DARE.
    • Bộ điều khiển Logic Mờ (Sugeno Fuzzy Logic Controller) 81 luật mờ với cơ chế chuyển mạch tiền/hậu xử lý.
    • Bộ điều khiển lai PID tích hợp trên nền tảng LQR (PID-LQR) với khâu tích phân $K_i$ được tối ưu hóa bằng thuật toán di truyền (Genetic Algorithm - GA).
  4. Mô phỏng tiệm cận thực nghiệm: Phát triển khối suy giảm độ phân giải Encoder và bộ lọc làm trơn quỹ đạo quá độ bậc 2 ($T_f = 1.5\text{ s}$) trên MATLAB/Simulink R2023b.
  5. Thực nghiệm thời gian thực: Lập trình nhúng C bare-metal trên Keil MDK-ARM v5, giao tiếp truyền thông UART telemetry thu thập dữ liệu và chứng thực bám quỹ đạo phức tạp (Tĩnh, Sóng Sin, Sóng Vuông).

Phạm vi và Giới hạn

  • Phạm vi nghiên cứu: Khảo sát ổn định cân bằng tại vị trí TOP ($\theta_1 = \pi/2, \theta_2 = 0$) và bám quỹ đạo góc quay cho link 1 trong vùng lân cận khả vi $[-0.4\text{ rad}, 0.4\text{ rad}]$.
  • Giới hạn kỹ thuật: Không bao gồm giải thuật tự kích văng (Swing-up control); hệ thống vận hành trong điều kiện phòng thí nghiệm tiêu chuẩn, chưa tích hợp giao diện màn hình HMI công nghiệp chuyên dụng.

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

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

Phương pháp Ưu điểm Nhược điểm Khả năng ứng dụng trên Pendubot
PID Cổ điển (Classical PID) Cấu trúc đơn giản, dễ cài đặt trên vi điều khiển 8-bit/32-bit. Kém hiệu quả trên hệ SIMO phi tuyến; không kiểm soát được trạng thái khớp tự do link 2. Không khả thi cho cân bằng TOP.
Điều khiển Trượt (SMC) Bền vững cao với nhiễu tham số và bất định mô hình. Hiện tượng rung chattering lớn gây rung lắc cơ khí và nóng động cơ. Cần phần cứng công suất lớn.
Bộ điều khiển LQR Tối ưu hóa giữa sai số trạng thái và năng lượng điều khiển qua hàm mục tiêu $J$; ổn định Lyapunov. Tồn tại sai số xác lập khi có ma sát tĩnh/bất định tải; đòi hỏi mô hình toán chính xác. Rất tốt cho vùng cân bằng cục bộ.
Điều khiển Mờ (Fuzzy) Không phụ thuộc phương trình toán học chi tiết; xử lý tốt phi tuyến. Số luật mờ bùng nổ ($3^4 = 81$ đến $5^4 = 625$ luật); khó căn chỉnh thông số bằng tay. Cần thuật toán tối ưu hóa phụ trợ (GA).
Đề xuất: LQR bổ sung $K_i$ (PID-LQR) Triệt tiêu hoàn toàn sai số tĩnh nhờ khâu $I$; giữ nguyên tính tối ưu và bền vững của LQR. Cần cơ chế khóa tích phân (Anti-windup/Switching) khi ở vị trí tĩnh để tránh vọt lố. Giải pháp tối ưu toàn diện.

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

  • Must-have: Cân bằng ổn định hệ thống tại vị trí TOP với thời gian xác lập $t_s < 2.0\text{ s}$; giới hạn dòng/momen động cơ trong ngưỡng an toàn $\tau \le 0.4\text{ N}\cdot\text{m}$.
  • Should-have: Bám chính xác quỹ đạo sóng Sin và sóng Vuông đã làm trơn; thuật toán nhúng chạy thời gian thực trên STM32 với chu kỳ ngắt đúng $5\text{ ms}$.
  • Could-have: Mô hình hóa hiện tượng lượng tử hóa encoder trong môi trường mô phỏng Simulink để rút ngắn thời gian tinh chỉnh thông số phần cứng.
  • Won't-have: Bộ điều khiển swing-up tự động từ vị trí treo tự do đáy (Bottom) lên đỉnh (Top).

Thiết kế hệ thống

1. Mô hình toán học phi tuyến hệ Pendubot

Phương trình động lực học tổng quát theo hệ tọa độ Euler-Lagrange:

$$M(q)\ddot{q} + C(q, \dot{q})\dot{q} + G(q) = \tau$$

Hệ phương trình vi phân mô tả gia tốc góc của link 1 ($\ddot{q}_1$) và link 2 ($\ddot{q}_2$):

$$\ddot{q}_1 = \frac{\beta_2 \beta_3 \sin(q_2)(\dot{q}_1^2 + \dot{q}_2^2 + 2\dot{q}_1 \dot{q}_2) + \beta_3^2 \cos(q_2)\sin(q_2)\dot{q}_1^2 - \beta_5 g \cos(q_1+q_2)\beta_3 \cos(q_2) + \beta_2 \tau_1 - \beta_2 \beta_4 g \cos(q_1)}{\beta_1 \beta_2 - \beta_3^2 \cos^2(q_2)}$$

$$\ddot{q}_2 = \frac{-\beta_3 \cos(q_2)[\beta_2 \tau_1 + \dots] + (\beta_1 + \dots)[\dots]}{\beta_1 \beta_2 - \beta_3^2 \cos^2(q_2)}$$

Trong đó các hệ số quán tính và hình học được xác định:

  • $\beta_1 = m_1 l_{c1}^2 + m_2 l_1^2 + I_1$
  • $\beta_2 = m_2 l_{c2}^2 + I_2$
  • $\beta_3 = m_2 l_1 l_{c2}$
  • $\beta_4 = m_1 l_{c1} + m_2 l_1$
  • $\beta_5 = m_2 l_{c2}$

2. Tuyến tính hóa không gian trạng thái và rời rạc hóa

Đặt vector trạng thái quanh điểm làm việc TOP: $x = [q_1 - \pi/2, \dot{q}_1, q_2, \dot{q}_2]^T$. Mô hình trạng thái liên tục:

$$\dot{x} = Ax + Bu$$

Với các thông số thực nghiệm ($m_1 = 0.81\text{ kg}$, $l_1 = 0.2\text{ m}$, $m_2 = 0.15\text{ kg}$, $l_2 = 0.25\text{ m}$), ma trận liên tục $A, B$ được tính toán và chuyển đổi sang miền thời gian rời rạc với $T_s = 0.005\text{ s}$ bằng lệnh c2d trong MATLAB:

$$A_d = \begin{bmatrix} 1.0021 & 0.0050 & 0.0003 & 0.0000 \ 0.8412 & 1.0021 & 0.1245 & 0.0003 \ -0.0018 & -0.0000 & 1.0058 & 0.0050 \ -0.7321 & -0.0018 & 2.3412 & 1.0058 \end{bmatrix}, \quad B_d = \begin{bmatrix} 0.0001 \ 0.0452 \ -0.0003 \ -0.1245 \end{bmatrix}$$

Ma trận điều khiển tối ưu $K = [K_1, K_2, K_3, K_4]$ được giải từ phương trình Riccati đại số rời rạc (DARE):

$$P = A_d^T P A_d - (A_d^T P B_d)(R + B_d^T P B_d)^{-1}(B_d^T P A_d) + Q$$ $$K = (R + B_d^T P B_d)^{-1} B_d^T P A_d$$

% Script tinh toan ma tran do loi LQR tren MATLAB
Ts = 0.005;
[Ad, Bd] = c2d(A, B, Ts);
Q = diag([62.2, 0.45, 128.6, 5.8]);
R = 52.769368;
[K, P, E] = dlqr(Ad, Bd, Q, R);

3. Technology Stack

+-----------------------------------------------------------------------+
|                         APPLICATION LAYER                             |
|       MATLAB R2023b / Simulink       |     Keil MDK-ARM v5.38 (C)     |
+-----------------------------------------------------------------------+
                                   | (UART 115200 bps)
+-----------------------------------------------------------------------+
|                         PROCESSING LAYER                              |
|     STM32F103C8T6 (ARM Cortex-M3 @ 72MHz, 64KB Flash, 20KB SRAM)     |
|   - Timer 1: PWM 20kHz              - Timer 2: Encoder 1 (Mode X4)    |
|   - Timer 3: Encoder 2 (Mode X4)    - Timer 4: Base Time Interrupt 5ms|
+-----------------------------------------------------------------------+
                                   |
+-----------------------------------------------------------------------+
|                    DRIVER & POWER ACTUATION LAYER                     |
|     BTS7960 Motor Driver (43A H-Bridge) + 24VDC 10A Switching PSU     |
+-----------------------------------------------------------------------+
                                   |
+-----------------------------------------------------------------------+
|                         PHYSICAL PLANT                                |
|   Nisca DC Coreless Motor + Incremental Optical Encoder (1000-2000 ppr)|
|   Aluminum 6061 CNC Links (Link 1: 0.81kg, Link 2: 0.15kg)            |
+-----------------------------------------------------------------------+

Methodology

Quy trình nghiên cứu áp dụng mô hình phát triển Agile-V kết hợp tối ưu hóa thuật toán tiến hóa (Genetic Algorithm - GA):

[Khoi tao quan the GA] ---> [Mo phong Simulink 50s/110s] ---> [Tinh Fitness J = sum(e1^2 + e2^2)]
          ^                                                                   |
          |-------- [Dot bien (Mutation) / Lai ghep (Crossover)] <-----------|

Hàm thích nghi (Fitness Function) dùng để đánh giá từng cá thể thông số $[K_1, K_2, K_3, K_4, K_i]$:

$$J = \sum_{k=1}^{N} \left( e_1^2(k) + e_2^2(k) + 0.1 u^2(k) \right)$$

Hệ thống được thiết kế với các quy trình kiểm soát rủi ro nghiêm ngặt:

  • Bảo vệ phần cứng: Bổ sung khối Saturation giới hạn điện áp điều khiển xuất ra PWM $\le 80%$ chu kỳ xung, tương đương giới hạn momen đỉnh $\tau_{\max} \le 0.4\text{ N}\cdot\text{m}$.
  • Chống trôi tích phân (Anti-windup): Khâu tích phân $K_i$ chỉ được kích hoạt trong chế độ bám quỹ đạo động và bị ngắt (bypassed) khi hệ thống tiệm cận trạng thái cân bằng tĩnh để triệt tiêu dao động tự kích.

Implementation và kết quả

Development process

Quá trình triển khai dự án trải qua 6 giai đoạn kỹ thuật then chốt:

  1. Giai đoạn 1: Xây dựng khung mô hình cơ khí và mô phỏng cân bằng LQR trên Simulink lý tưởng.
  2. Giai đoạn 2: Thiết kế bộ điều khiển Mờ Sugeno 81 luật và áp dụng GA tìm tập trọng số mờ.
  3. Giai đoạn 3: Nhận dạng thông số động học hệ thống thực bằng MATLAB System Identification Toolbox.
  4. Giai đoạn 4: Lập trình C bare-metal kiến trúc ARM Cortex-M3 cho STM32F103C8T6; hoàn thiện giải thuật ngắt định thời $5\text{ ms}$ cho LQR thực nghiệm.
  5. Giai đoạn 5: Tối ưu hóa cấu trúc xử lý phi tuyến ngõ ra cho Fuzzy Logic Controller trên vi điều khiển.
  6. Giai đoạn 6: Phát triển bộ điều khiển lai PID-LQR, thử nghiệm bám 3 dạng quỹ đạo liên tục và lập báo cáo.
/**
  * @brief  Ngat Dinh Thoi Timer 4 (Chu ky Ts = 5ms) thuc thi thuat toan dieu khien
  */
void TIM4_IRQHandler(void)
{
    if (TIM_GetITStatus(TIM4, TIM_IT_Update) != RESET)
    {
        TIM_ClearITPendingBit(TIM4, TIM_IT_Update);
        
        // 1. Doc gia tri Encoder va quy doi sang Radian
        raw_enc1 = (short)TIM2->CNT;
        raw_enc2 = (short)TIM3->CNT;
        
        theta1 = (float)(raw_enc1) * (2.0f * PI / (4.0f * ENC1_PULSES)) - (PI / 2.0f);
        theta2 = (float)(raw_enc2) * (2.0f * PI / (4.0f * ENC2_PULSES));
        
        // 2. Tinh toan van toc goc bang dao ham bac nhat so
        d_theta1 = (theta1 - prev_theta1) / DT;
        d_theta2 = (theta2 - prev_theta2) / DT;
        prev_theta1 = theta1;
        prev_theta2 = theta2;
        
        // 3. Tinh toan sai so bam quy dao dat (Trajectory Setpoint)
        error1 = theta1 - setpoint_theta1;
        error2 = theta2 - 0.0f; // Link 2 luon duy tri huong thang dung
        
        // 4. Tinh toan khau tich phan hinh thang cho PID-LQR
        if (is_trajectory_tracking_mode) {
            integral_e1 += (error1 + prev_error1) * DT / 2.0f;
        } else {
            integral_e1 = 0.0f; // Reset khi o vi tri can bang tinh
        }
        prev_error1 = error1;
        
        // 5. Thuat toan dieu khien PID-LQR
        // u = -(K1*e1 + K2*de1 + K3*e2 + K4*de2) - Ki * integral_e1
        u_control = -(K_LQR[0] * error1 + K_LQR[1] * d_theta1 + 
                      K_LQR[2] * error2 + K_LQR[3] * d_theta2) - (K_i * integral_e1);
        
        // 6. Bao hoa cong suat va xuat PWM dieu khien BTS7960
        u_saturated = Apply_Saturation(u_control, -0.4f, 0.4f);
        Drive_Motor_PWM(u_saturated);
    }
}

Testing và validation

Hệ thống được kiểm thử qua 3 kịch bản bám quỹ đạo phức tạp nối tiếp trong chuỗi thời gian $110\text{ s}$:

  • Kịch bản 1 (0 - 30s): Cân bằng tĩnh tại điểm làm việc TOP ($q_1 = 0\text{ rad}$).
  • Kịch bản 2 (30 - 70s): Bám quỹ đạo sóng Sin điều hòa biên độ $A = 0.4\text{ rad}$, tần số $\omega = 0.5\text{ rad/s}$.
  • Kịch bản 3 (70 - 110s): Bám quỹ đạo sóng vuông xung chuyển tiếp, được lọc qua hàm quá độ bậc hai:

$$G_k(s) = \frac{K}{T_f^2 s^2 + 2\zeta T_f s + 1}, \quad T_f = 1.5\text{ s}, \ \zeta = 1.0$$

Quỹ đạo đặt (Setpoint):
       TOP Tĩnh (0-30s)        Sóng Sin (30-70s)          Sóng Vuông Lọc Bậc 2 (70-110s)
          ______                   _       _                 __________
         /      \                 / \     / \               |          |
________/        \_______________/   \___/   \______________|          |__________

Kết quả đạt được

Dưới đây là bảng tổng hợp các chỉ số định lượng đo đạc từ thực nghiệm trên hệ thống thực:

Tiêu chí Đánh giá LQR Truyền thống Sugeno Fuzzy Controller PID dựa trên LQR (Đề xuất)
Thời gian xác lập ($t_s$, TOP) $1.8\text{ s}$ $4.8\text{ s}$ $1.9\text{ s}$
Độ vọt lố ($%OS$) $0.0%$ (Không vọt lố) $22.4%$ $2.1%$
Sai số xác lập tĩnh ($e_{ss}$) $0.035\text{ rad}$ $0.048\text{ rad}$ $0.004\text{ rad}$ (Giảm 88.5%)
Sai số bám RMS Sóng Sin $0.042\text{ rad}$ $0.031\text{ rad}$ $0.012\text{ rad}$ (Tốt nhất)
Sai số bám RMS Sóng Vuông $0.068\text{ rad}$ $0.055\text{ rad}$ $0.018\text{ rad}$ (Tốt nhất)
**Tổng tiêu thụ Momen $\sum \tau $ (110s)** $8073\text{ N}\cdot\text{m}\cdot\text{ticks}$
Thời gian tính toán trên STM32 $12.4\ \mu\text{s}$ $385.6\ \mu\text{s}$ $14.8\ \mu\text{s}$

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

  1. Mô hình hóa suy giảm lượng tử Encoder trong môi trường ảo: Khác với các nghiên cứu truyền thống lấy đạo hàm giải tích lý tưởng, tác giả đã chèn khối lượng tử hóa độ phân giải góc và đạo hàm số cấp 1 trên Simulink. Giải pháp này dự báo chính xác hiện tượng gai nhiễu thực nghiệm, giúp các tham số tối ưu từ GA có thể nạp thẳng xuống vi điều khiển STM32 mà không cần chỉnh định thủ công rủi ro.
  2. Cấu trúc hậu xử lý thích nghi cho Fuzzy Logic: Khắc phục nhược điểm mất ổn định của bộ điều khiển mờ 81 luật cơ bản, công trình đề xuất khối chuyển mạch hàm phi tuyến ngõ ra kết hợp hiệu chỉnh biến trạng thái quy chiếu theo mặt bàn, giúp FLC bám quỹ đạo mượt mà.
  3. Thuật toán lai PID-LQR khử triệt để sai số xác lập: Bổ sung khâu tích phân hình thang có điều kiện kích hoạt vào cấu trúc vector hồi tiếp trạng thái LQR, giúp giảm sai số bám tĩnh đến $88.5%$ so với LQR chuẩn mà vẫn đảm bảo tính tối ưu năng lượng.
  4. Công bố khoa học và thành tích nghiên cứu:
    • 01 Bài báo đăng trên Tạp chí Khoa học Đại học Bạc Liêu.
    • 02 Bài báo được chấp nhận đăng trên Tạp chí Quốc tế Robotica & Management.
    • 01 Bài báo đăng trên Tạp chí Quốc tế Journal of Fuzzy Systems and Control (JSFC).
    • 02 Đề tài NCKH Sinh viên cấp trường được nghiệm thu xuất sắc (Mã số: SV2024-184 [Chủ nhiệm] và SV2024-156 [Thành viên]).

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

Kịch bản ứng dụng công nghiệp

  • Điều khiển ổn định tên lửa đẩy & Tàu không gian: Thuật toán SIMO trực tiếp ứng dụng vào cơ chế Gimbaled Thrust Control (vectơ đẩy động cơ) điều khiển hạ cánh thẳng đứng tầng đẩy tên lửa tái sử dụng.
  • Hệ thống Cẩu trục Chống rung lắc (Anti-Sway Gantry Cranes): Khớp link 2 đóng vai trò như khối hàng treo tự do, thuật toán PID-LQR giữ cho dây cáp luôn ổn định trong khi xe con di chuyển tốc độ cao.
  • Robot hai bánh tự cân bằng (Two-wheeled Self-balancing Robots) & Bộ xương trợ lực (Exoskeletons): Đảm bảo trọng tâm cơ thể luôn cân bằng khi mang vác tải trọng biến đổi.
       [Tên lửa đẩy / Rocket]             [Cẩu trục công nghiệp]          [Xe tự cân bằng]
                 /\                                 |===[Xe con]===|              (o_o)
                /  \                                       \                        |
               |    | [Link 1]                              \ [Cáp treo]           /|\
               |    |                                        \                    [===]
                \  /                                       [Tải]                  /   \
                 \/ [Thrust Vector]                                              (O) (O)

Bảng dự toán chi phí phần cứng (BOM)

Thiết bị / Linh kiện Quy cách kỹ thuật Số lượng Đơn giá (VNĐ) Thành tiền (VNĐ)
Vi điều khiển STM32F103C8T6 ARM Cortex-M3 72MHz, 64KB Flash 01 bo 85.000 85.000
Driver Động cơ BTS7960 H-Bridge 43A, PWM 25kHz 01 bo 120.000 120.000
Động cơ DC Servo Nisca 24VDC tích hợp Optical Encoder 01 bộ 650.000 650.000
Encoder khớp tự do Link 2 Optical Incremental 1000 ppr 01 cái 320.000 320.000
Nguồn tổ ong công nghiệp 24VDC - 10A (240W) 01 bộ 250.000 250.000
Cơ khí nhôm định hình 6061 & Khớp Gia công CNC chính xác cao 01 bộ 800.000 800.000
Mạch nạp ST-Link V2 & Phụ kiện Giao tiếp SWD / UART 01 bộ 150.000 150.000
TỔNG CỘNG 2.375.000 VNĐ

Hiệu quả đầu tư (ROI): Chi phí chế tạo dưới 2.5 triệu VNĐ, thấp hơn $85%$ so với các bộ kit thí nghiệm Pendubot nhập khẩu từ Quanser hay Feedback Instruments ($> 2.500\text{ USD}$), mang lại hiệu quả kinh tế vượt trội cho các trường đại học và viện nghiên cứu.


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

Hạn chế kỹ thuật

  • Độ rơ cơ khí (Backlash) & Ma sát khô (Coulomb Friction): Chưa được bù tự động trong mô hình toán, dẫn đến hiện tượng trôi nhẹ quanh điểm tĩnh.
  • Phần cứng giới hạn ở 2 bậc tự do: Mô hình Pendubot 3 link mới chỉ được kiểm chứng trên mô phỏng MATLAB/Simulink, chưa gia công cơ khí thực tế.
  • Vắng mặt thuật toán tự kích văng (Swing-up): Vẫn cần tác động đưa bằng tay vào vùng làm việc lân cận TOP trước khi thuật toán cân bằng tiếp quản.

Kế hoạch phát triển (Roadmap)

  • Quý 1: Gia công chế tạo hoàn thiện mô hình thực nghiệm Pendubot 3 bậc tự do (Triple Pendubot).
  • Quý 2: Tích hợp bộ điều khiển Swing-up phi tuyến dựa trên phương pháp Năng lượng (Energy-based Control) kết hợp mượt mà với PID-LQR.
  • Quý 3: Ứng dụng mạng nơ-ron học sâu (Deep Reinforcement Learning - DRL) để tự thích nghi tham số điều khiển khi thay đổi tải trọng link 2.
  • Quý 4: Xây dựng giao diện HMI Web-based điều khiển và giám sát từ xa qua giao thức MQTT/WebSocket trên nền ESP32.

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

  • Sinh viên Kỹ thuật Điều khiển & Cơ điện tử: Cung cấp tài liệu mẫu mực về thiết kế hệ thống từ mô phỏng toán học đến lập trình nhúng C thực tế trên ARM Cortex-M.
  • Kỹ sư nhúng & Kỹ sư Robot: Tham khảo mã nguồn C tối ưu hóa ngắt thời gian thực và phương pháp giải quyết hiện tượng lượng tử hóa tín hiệu Encoder.
  • Các Viện nghiên cứu & Phòng Lab Đại học: Nền tảng phần cứng chi phí thấp ($< 100\text{ USD}$) phục vụ nghiên cứu các thuật toán điều khiển phi tuyến nâng cao.
  • Doanh nghiệp Tự động hóa: Ứng dụng giải thuật PID-LQR vào các bài toán cân bằng bồn chất lỏng SIMO, xe AGV tự cân bằng và cẩu trục công nghiệp.

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

1. Yêu cầu phần cứng tối thiểu để triển khai bộ điều khiển PID-LQR trên mô hình thực tế là gì?

Hệ thống yêu cầu vi điều khiển tối thiểu có vi kiến trúc ARM Cortex-M3 (ví dụ STM32F103C8T6) với xung nhịp $\ge 48\text{ MHz}$, tối thiểu 2 bộ Timer có chế độ đọc Encoder phần cứng (Encoder Mode X4) và 1 Timer xuất PWM tần số $\ge 20\text{ kHz}$ để triệt tiêu tiếng rít động cơ.

2. Tại sao thuật toán LQR truyền thống lại có sai số xác lập khi bám quỹ đạo và giải pháp khắc phục là gì?

LQR được xây dựng dựa trên mô hình hóa tuyến tính hóa quanh điểm cân bằng tĩnh ($x = 0$). Khi bám quỹ đạo động, sự xuất hiện của ma sát phi tuyến, lực ly tâm $\dot{q}_1^2$ và sai số mô hình tạo ra độ lệch bù không đủ. Bằng cách bổ sung khâu tích phân sai số $K_i \int e_1 dt$ (cấu trúc PID-LQR), sai số xác lập được tích lũy và triệt tiêu hoàn toàn về mức xấp xỉ $0$.

3. Làm thế nào để giải quyết hiện tượng lượng tử hóa tín hiệu vận tốc gây nhiễu gai hệ thống?

Trong thực nghiệm, việc đạo hàm số vị trí góc $\dot{\theta} = (\theta_k - \theta_{k-1})/T_s$ làm khuếch đại nhiễu lượng tử hóa từ Encoder. Giải pháp là tích hợp bộ lọc số thông thấp IIR bậc 1 hoặc sử dụng thuật toán lọc Kalman mở rộng (EKF) để ước lượng đồng thời trạng thái vị trí và vận tốc mượt mà.

4. Thuật toán di truyền (GA) mất bao lâu để hội tụ bộ thông số tối ưu?

Trong mô phỏng Simulink, GA mất khoảng 100 thế hệ đối với LQR (tương đương 15 phút xử lý trên CPU Intel Core i7) và 200 thế hệ đối với Fuzzy Sugeno (tương đương 45 phút xử lý). Bộ thông số sau khi tối ưu được trích xuất dưới dạng hằng số nạp vào vi điều khiển mà không tốn tài nguyên tính toán thời gian thực.

5. Chi phí và thời gian triển khai một hệ thống Pendubot hoàn chỉnh là bao nhiêu?

Tổng chi phí linh kiện gia công dao động từ 2.3 - 2.8 triệu VNĐ. Thời gian chế tạo cơ khí và lắp ráp mạch điện tử mất khoảng 2 tuần; thời gian lập trình và tinh chỉnh thuật toán mất khoảng 3 - 4 tuần làm việc.


Kết luận

Đồ án tốt nghiệp "So sánh các phương pháp điều khiển bám quỹ đạo cho Pendubot" đã chứng minh sự vượt trội của phương pháp điều khiển tối ưu lai PID-LQR so với các bộ điều khiển LQR truyền thống và Logic Mờ trong bài toán điều khiển hệ thống phi tuyến thiếu cơ cấu chấp hành SIMO. Bằng việc kết hợp chặt chẽ giữa mô hình hóa toán học chính xác, tối ưu hóa tiến hóa Genetic Algorithm và kỹ thuật mô phỏng tiệm cận thực nghiệm, công trình đã giải quyết triệt để bài toán bám quỹ đạo góc quay phức tạp tại vị trí cân bằng không bền TOP với sai số xác lập cực thấp ($0.004\text{ rad}$) và độ ổn định cao.

Thành công của đề tài không chỉ khẳng định năng lực nghiên cứu ứng dụng chuyên sâu của sinh viên Trường Đại học Sư phạm Kỹ thuật TP.HCM thông qua 4 bài báo khoa học trong nước và quốc tế, mà còn mở ra hướng phát triển ứng dụng đầy tiềm năng cho các hệ thống cân bằng tự động trong ngành hàng không vũ trụ và robot công nghiệp thế hệ mới.