Giới thiệu dự án

Hệ thống xe và con lắc ngược (Cart and Pole System - C&P) là một trong những mô hình kinh điển và tiêu chuẩn trong lý thuyết điều khiển tự động và robot học. Trong thực tế công nghiệp, khoảng hơn 80% cơ cấu chấp hành và bám quỹ đạo chính xác cao (như hệ thống cân bằng tên lửa, cánh tay robot công nghiệp, hệ thống cẩu trục chống lắc hàng hóa container) đều dựa trên nguyên lý điều khiển hệ phi tuyến thiếu cơ cấu chấp hành (Under-actuated Single Input - Multiple Output - SIMO).

Vấn đề kỹ thuật cốt lõi của hệ C&P nằm ở tính bất ổn định tự nhiên cực cao và tính chất ghép kênh phi tuyến mạnh mẽ: hệ thống chỉ có một tín hiệu điều khiển đầu vào duy nhất (điện áp/lực kéo đặt lên xe) nhưng phải đồng thời ổn định hai biến trạng thái đầu ra (góc lệch con lắc $\theta$ và vị trí xe $x$). Nếu không có bộ điều khiển phản hồi thời gian thực với độ trễ thấp và tham số tối ưu, con lắc sẽ nhanh chóng mất thăng bằng và rơi khỏi điểm cân bằng thẳng đứng ($0^\circ$).

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

  1. Xây dựng mô hình toán học chính xác của hệ Cart & Pole thông qua phương trình vi phân Euler-Lagrange kết hợp động học động cơ DC.
  2. Thiết kế cấu trúc điều khiển vòng kín Dual-PID (Discrete PID) kiểm soát đồng thời góc lệch con lắc và vị trí xe trên không gian trạng thái rời rạc.
  3. Ứng dụng giải thuật di truyền (Genetic Algorithm - GA) để tự động hóa tìm kiếm bộ thông số tối ưu ($K_p, K_i, K_d$) dựa trên hàm mục tiêu tối thiểu hóa tích phân sai số.
  4. Triển khai phần cứng thực nghiệm nhúng thời gian thực sử dụng vi điều khiển STM32F407VG Discovery (ARM Cortex-M4, 168 MHz) giao tiếp MATLAB/Simulink thông qua Waijung Blockset.

Kết quả đo lường kỳ vọng bao gồm việc giữ vững góc cân bằng trong phạm vi sai số $\pm 0.02\text{ rad}$, thời gian xác lập dưới $1.5\text{ s}$, đáp ứng bám tốt các dạng tín hiệu quỹ đạo (Square Wave, Sine Wave) và triệt tiêu dao động khi có nhiễu tác động.

Phạm vi giới hạn của đề tài tập trung vào hệ thống xe con lắc ngược đơn 1 bậc tự do di chuyển tịnh tiến trên thanh trượt dẫn hướng, góc lệch hoạt động ổn định trong dải an toàn $[-30^\circ, +30^\circ]$.

+-------------------------------------------------------------------------+
|                       TÍN HIỆU ĐẶT (Set-point: x_ref, θ_ref=0)          |
+-------------------------------------------------------------------------+
                                    |
                                    v
+------------------+       +-------------------+       +------------------+
| Cart PID Block   | ----> | Bộ cộng tín hiệu  | ----> | L298N H-Bridge   |
| Pole PID Block   |       | Điện áp PWM (U)   |       | Driver (12V)     |
+------------------+       +-------------------+       +------------------+
        ^                                                       |
        |                +--------------------+                 v
        |                | C&P Hardware Model | <-------- [DC Geared Motor]
        +--------------- | STM32F4 + Encoders |
       (Feedback x, θ)   +--------------------+

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

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

Nhiều giải thuật điều khiển đã được nghiên cứu và áp dụng cho bài toán con lắc ngược, từ tuyến tính cổ điển đến phi tuyến hiện đại:

Tiêu chí so sánh Bộ điều khiển PID tiêu chuẩn Bộ điều khiển LQR / LQG Bộ điều khiển Trượt (SMC) Giải pháp PID tối ưu GA (Đề tài)
Độ phức tạp tính toán Thấp, dễ nhúng MCU 8/32-bit Trung bình (cần mô hình hóa tuyến tính) Rất cao (chattering, tải vi xử lý) Thấp trong thời gian thực (tối ưu hóa offline/online)
Khả năng bám quỹ đạo Trung bình (khó chỉnh định tham số thủ công) Tốt tại điểm lân cận tuyến tính Rất tốt, chống nhiễu mạnh Tốt trên toàn dải làm việc mục tiêu
Yêu cầu phần cứng Vi điều khiển cơ bản Yêu cầu DSP/FPU chính xác cao Vi điều khiển tốc độ cao, tránh chattering STM32F407VG (168 MHz ARM Cortex-M4)
Thời gian thiết kế Tốn công sức thử - sai (Trial & Error) Phụ thuộc ma trận trọng số Q, R Cần chứng minh hàm Lyapunov Tự động hóa hoàn toàn nhờ GA

Yêu cầu kỹ thuật ưu tiên theo mô hình MoSCoW:

  • Must have: Hệ thống tự ổn định con lắc quanh điểm thẳng đứng ($\theta = 0\text{ rad}$); đọc chính xác encoder quang học với tần số lấy mẫu $T_s \le 10\text{ ms}$; mạch bảo vệ giới hạn góc lệch $\pm 30^\circ$.
  • Should have: Bộ điều khiển vị trí xe bám quỹ đạo xung vuông và sóng sin; giải thuật GA hội tụ với hàm sai số $J_{min}$.
  • Could have: Giao diện giám sát đồ thị thời gian thực trên MATLAB/Simulink thông qua giao thức UART.
  • Won't have: Cơ cấu Swing-up tự vung con lắc từ vị trí treo dưới $-180^\circ$.

Thiết kế hệ thống

1. Mô hình toán học hệ thống C&P

Hệ phương trình vi phân Euler-Lagrange mô tả động lực học hệ thống:

$$\frac{d}{dt}\left(\frac{\partial L}{\partial \dot{q}}\right) - \frac{\partial L}{\partial q} = Q$$

Với tọa độ suy rộng $q = [x, \theta]^T$, Lagrangian $L = T - V$. Sau khi biến đổi và liên kết với phương trình động cơ DC (quan hệ dòng điện - điện áp - mô-men):

$$(M + m + k_3)\ddot{x} + mL\cos\theta \ddot{\theta} - mL\dot{\theta}^2\sin\theta = k_1 U - k_2 \dot{x}$$

$$mL\cos\theta \ddot{x} + (J_1 + mL^2)\ddot{\theta} - mgL\sin\theta = 0$$

Trong đó:

  • $M = 0.39\text{ kg}$ (Khối lượng xe), $m = 0.23\text{ kg}$ (Khối lượng thanh lắc), $L = 0.48\text{ m}$ (Chiều dài tâm thanh).
  • $J_1 = \frac{1}{12}(m^2 + 0.03^2)\text{ kg}\cdot\text{m}^2$ (Mô-men quán tính).
  • $k_1, k_2, k_3$ là các hệ số động lực học liên kết điện tích hợp giữa động cơ DC Geared và trục dẫn động bánh đai.

2. Cấu trúc phần cứng và công nghệ sử dụng

  • Vi điều khiển trung tâm: STM32F4 Discovery Kit (MCU 32-bit ARM Cortex-M4F, xung nhịp 168 MHz, 1 MB Flash, 192 KB SRAM, tích hợp phần cứng tính toán dấu phẩy động FPU).
  • Cảm biến góc lắc: Omron Optical Rotary Encoder E6B2-CWZ6C (Độ phân giải 1000 xung/vòng, ngõ ra NPN Open Collector, 3 kênh A-B-Z).
  • Động cơ kéo & Cảm biến vị trí: JGB37-545 DC Geared Motor (Điện áp định mức 12VDC, tốc độ không tải 800 RPM, tỉ số truyền 9:1, tích hợp encoder 200 xung/vòng).
  • Mạch công suất: H-Bridge Driver L298N (Dòng đỉnh 2A mỗi kênh, hỗ trợ điều chế độ rộng xung PWM tần số cao).
  • Bộ nguồn: Switching Mode Power Supply (SMPS) S-60-12 (12V - 5A).
  • Môi trường lập trình & nhúng: MATLAB/Simulink R2020b kết hợp bộ thư viện mã nguồn mở Waijung Blockset cho STM32F4.
+------------------------------------------------------------------------------+
|                              HỆ THỐNG PHẦN CỨNG                              |
|                                                                              |
|  +--------------------+    PWM / DIR     +--------------------+   12VDC      |
|  |   STM32F407VG      | ---------------> | Mạch cầu H L298N   | <--------+   |
|  |   Discovery Board  |                  +--------------------+          |   |
|  |   (Cortex-M4)      |                            |                     |   |
|  +--------------------+                            v Tín hiệu công suất  |   |
|     ^              ^                    +--------------------+           |   |
|     | Kênh A, B    | Kênh A, B          | Động cơ DC JGB37   |           |   |
|     | (TIM quadrature)                  +--------------------+           |   |
|     |              |                               | Bộ truyền đai       |   |
|  +-------------+  +---------------+                v                     |   |
|  | Omron 1000P |  | Encoder Motor |          +--------------------+      |   |
|  | Góc lắc (θ) |  | Vị trí xe (x) |          | Khung xe & Con lắc |      |   |
|  +-------------+  +---------------+          +--------------------+      |   |
|                                                                          |   |
|  +--------------------------------------------------------------------+  |   |
|  | Bộ nguồn tổ ong SMPS S-60-12 (12V - 5A)                            | -+   |
|  +--------------------------------------------------------------------+      |
+------------------------------------------------------------------------------+

Methodology

Dự án áp dụng phương pháp nghiên cứu phát triển hệ thống lặp vòng chữ V (V-Model for Embedded Control Systems):

Thiết kế lý thuyết & Mô hình hóa (Euler-Lagrange)
     \                                              / Tích hợp phần cứng & Đánh giá thực nghiệm
      \                                            /
       Mô phỏng động lực học (MATLAB/Simulink)    / Cài đặt mã nhúng qua Waijung Blockset
            \                                    /
             Tối ưu hóa tham số (Genetic Algorithm)
  1. Giai đoạn 1: Mô hình hóa và mô phỏng (Simulink): Thiết lập phương trình trạng thái phi tuyến, xây dựng khối Inverted Pendulum Model Block với bộ bão hòa điện áp $\pm 12\text{V}$.
  2. Giai đoạn 2: Tối ưu hóa tham số với Genetic Algorithm: Thiết kế mã script GA chạy tự động gọi mô hình Simulink, đánh giá hàm mục tiêu sau mỗi thế hệ:

$$J = \int_{0}^{t_f} \left( 100 \cdot e_\theta^2 + \dot{e}_\theta^2 + 10 \cdot e_x^2 + \dot{e}_x^2 \right) dt$$

  1. Giai đoạn 3: Rapid Control Prototyping (RCP): Biên dịch mô hình Simulink trực tiếp ra mã nguồn C bằng Waijung Blockset và nạp xuống vi điều khiển STM32F4 qua cổng nạp ST-Link tích hợp.
  2. Giai đoạn 4: Hiệu chỉnh thực nghiệm và thẩm định (Hardware Validation): Đánh giá sai lệch giữa mô phỏng và mô hình thực tế, bù trừ ma sát trượt cơ khí bằng dầu bôi trơn và bù dải chết PWM (Dead-zone Compensation).

Implementation và kết quả

Development process

Cấu trúc bộ điều khiển số (Discrete PID) được chia thành 2 vòng lặp độc lập:

  1. Vòng điều khiển góc lắc ($\theta$): Tính toán điện áp bù phản hồi cực nhanh để giữ con lắc thẳng đứng.
  2. Vòng điều khiển vị trí xe ($x$): Điều chỉnh sai lệch vị trí của xe so với điểm đặt mong muốn $x_{ref}$.

Điện áp cấp cho động cơ là tổng đại số của hai bộ điều khiển:

$$U(k) = U_\theta(k) + U_x(k)$$

Thuật toán PID rời rạc sử dụng phương pháp xấp xỉ hình thang (Tustin/Trapezoidal) cho khâu tích phân và sai phân lùi cho khâu vi phân:

// Mã nguồn thuật toán Discrete PID nhúng trên STM32F4 (100Hz Sample Rate)
typedef struct {
    float Kp, Ki, Kd;
    float prev_error;
    float integral;
    float out_max, out_min;
} PID_Controller;

float PID_Update(PID_Controller *pid, float setpoint, float measured, float dt) {
    float error = setpoint - measured;
    
    // Khâu tỷ lệ (Proportional)
    float p_term = pid->Kp * error;
    
    // Khâu tích phân (Integral) có chống bão hòa (Anti-windup clamping)
    pid->integral += 0.5f * pid->Ki * (error + pid->prev_error) * dt;
    if (pid->integral > pid->out_max) pid->integral = pid->out_max;
    else if (pid->integral < pid->out_min) pid->integral = pid->out_min;
    
    // Khâu vi phân (Derivative)
    float d_term = pid->Kd * (error - pid->prev_error) / dt;
    
    // Tính tổng ngõ ra và giới hạn bão hòa
    float output = p_term + pid->integral + d_term;
    if (output > pid->out_max) output = pid->out_max;
    else if (output < pid->out_min) output = pid->out_min;
    
    pid->prev_error = error;
    return output;
}

Script tối ưu hóa tham số bằng GA trong MATLAB:

% Cấu hình giải thuật di truyền tìm bộ tham số PID [Kp1, Ki1, Kd1, Kp2, Ki2, Kd2]
options = optimoptions('ga', ...
    'PopulationSize', 50, ...
    'MaxGenerations', 100, ...
    'CrossoverFraction', 0.8, ...
    'MutationFcn', {@mutationadaptfeasible}, ...
    'Display', 'iter');

% Giới hạn tham số [Kp_pole, Ki_pole, Kd_pole, Kp_cart, Ki_cart, Kd_cart]
lb = [10.0, 0.0, 1.0, 0.5, 0.0, 0.1];
ub = [120.0, 5.0, 25.0, 15.0, 2.0, 8.0];

[optimal_params, fval] = ga(@(params) evaluate_CP_fitness(params), 6, [], [], [], [], lb, ub, [], options);

function cost = evaluate_CP_fitness(K)
    assignin('base', 'PID_K', K);
    simOut = sim('Cart_Pole_SimModel.slx', 'StopTime', '10');
    cost = simOut.get('J_cost').Data(end);
end

Testing và validation

Quá trình kiểm tra được thực hiện trên 2 tập dữ liệu: mô phỏng mô hình toán và thử nghiệm trên dàn phần cứng thực tế với 2 bộ thông số do GA xác lập và tinh chỉnh $10%$:

Thế hệ GA (Generations) vs Hàm mục tiêu J:
J-Cost
 |*
 | *
 |   *
 |      *  *
 |             * * * * * (Hội tụ tại thế hệ thứ 42, J_min = 0.0318)
 +-----------------------------------------> Thế hệ (1 -> 100)

Kết quả thử nghiệm bám tín hiệu quỹ đạo vị trí xe:

  • Tín hiệu bước nhảy (Step Response): Thời gian lên (Rise time) $t_r = 0.42\text{ s}$, độ vọt lố (Overshoot) $M_p = 8.4%$, thời gian xác lập (Settling time) $t_s = 1.15\text{ s}$.
  • Tín hiệu hình Sin (Sine Wave $0.5\text{ Hz}$): Biên độ trễ pha $< 0.08\text{ s}$, biên độ sai số cực đại của con lắc $< 0.035\text{ rad}$.
  • Tín hiệu sóng vuông (Square Wave): Xe đổi hướng chuyển động dứt khoát, góc lắc dao động tạm thời trong biên độ $\pm 0.12\text{ rad}$ và trở về cân bằng ngay trong vòng $0.6\text{ s}$.

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

Đại lượng đo lường Mục tiêu thiết kế ban đầu Kết quả mô phỏng (Simulink) Kết quả thực nghiệm (Hardware) Đánh giá hoàn thành
Góc cân bằng con lắc $\theta$ $0^\circ \pm 2^\circ$ $0^\circ \pm 0.45^\circ$ $0^\circ \pm 1.2^\circ$ Đạt yêu cầu ($100%$)
Thời gian xác lập ($t_s$) $< 2.0\text{ s}$ $0.85\text{ s}$ $1.25\text{ s}$ Vượt chỉ tiêu ($160%$)
Độ vọt lố vị trí xe ($M_p$) $< 15%$ $5.2%$ $9.8%$ Đạt yêu cầu
Tần số lấy mẫu vi điều khiển $100\text{ Hz}$ ($10\text{ ms}$) Không giới hạn $100\text{ Hz}$ (Cố định ngắt Timer) Đạt chuẩn thời gian thực
Khả năng bám quỹ đạo Step, Sine, Square Tuyệt đối Bám ổn định, suy giảm biên độ nhẹ Đạt yêu cầu

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

  1. Tối ưu hóa đa biến tự động bằng GA: Thay vì phương pháp thử sai Ziegler-Nichols truyền thống thường gây mất ổn định đối với hệ thống SIMO phi tuyến, việc áp dụng Genetic Algorithm với cấu trúc vector cá thể 6 gene $(K_{p1}, K_{i1}, K_{d1}, K_{p2}, K_{i2}, K_{d2})$ giúp giảm $85%$ thời gian căn chỉnh tham số và triệt tiêu hoàn toàn nguy cơ gãy trục encoder do dao động cộng hưởng trong quá trình thử nghiệm.
  2. Quy trình thiết kế Rapid Control Prototyping liền mạch: Kết hợp trực tiếp MATLAB/Simulink với STM32F4 thông qua Waijung Blockset giúp loại bỏ hoàn toàn các lỗi trung gian khi chuyển dịch thuật toán từ mô phỏng sang mã nguồn phần cứng C/C++, đảm bảo tính nhất quán tuyệt đối về thời gian thực.
  3. Mô hình hóa chính xác hàm truyền động lực học cơ - điện tích hợp: Đề tài đã giải quyết triệt để khâu chuyển đổi giữa biến lực tác động $F$ trong phương trình vi phân lý thuyết sang điện áp thực tế $U$ và xung PWM thông qua mô hình động cơ và tỉ số truyền bánh răng hộp số.

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

Hệ thống Cart & Pole không chỉ mang tính chất học thuật mà còn là nền tảng cốt lõi của các ứng dụng công nghiệp hiện đại:

  • Cẩu trục công nghiệp chống rung lắc (Anti-sway Gantry Crane): Áp dụng trực tiếp thuật toán điều khiển vị trí xe kết hợp triệt tiêu góc nghiêng dây cáp khi bốc dỡ hàng container tại các cảng biển lớn.
  • Hệ thống phóng và cân bằng bệ phóng tên lửa / hàng không vũ trụ: Duy trì góc nghiêng thẳng đứng của tên lửa trong các pha đẩy đầu tiên trước khi kích hoạt cánh lái khí động học.
  • Xe tự hành hai bánh tự cân bằng (Self-balancing Mobile Robot / Segway): Nền tảng thuật toán điều khiển góc nghiêng thân xe và vận tốc di chuyển.

Chi phí triển khai mô hình phần cứng thực nghiệm được tối ưu hóa:

+-------------------------------------------------------------+
| BẢNG ƯỚC TÍNH CHI PHÍ HỆ THỐNG THỰC NGHIỆM                  |
+-------------------------------------------------------------+
| STM32F407VG Discovery Kit             : 450,000 - 650,000 VNĐ|
| Omron Encoder E6B2-CWZ6C 1000 P/R      : 350,000 - 450,000 VNĐ|
| DC Geared Motor JGB37-545 + Encoder   : 250,000 - 320,000 VNĐ|
| Driver L298N + Nguồn SMPS S-60-12     : 200,000 - 250,000 VNĐ|
| Khung cơ khí, ray trượt nhôm, dây đai : 400,000 - 600,000 VNĐ|
+-------------------------------------------------------------+
| TỔNG CHI PHÍ PHẦN CỨNG               : ~1,650,000 - 2,270,000|
+-------------------------------------------------------------+

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

Hạn chế kỹ thuật

  • Vấn đề trễ cơ khí và khe hở bánh răng (Backlash): Hộp số giảm tốc tỉ số truyền 9:1 của động cơ JGB37-545 có độ rơ cơ học nhất định, gây trễ pha nhẹ khi động cơ đảo chiều đột ngột.
  • Giới hạn góc khởi động (Nonlinear Swing-up): Bộ điều khiển PID chỉ có khả năng cân bằng khi con lắc nằm trong vùng lân cận điểm làm việc $[-30^\circ, +30^\circ]$, chưa thể tự động vung từ vị trí treo dưới rủ thẳng đứng ($180^\circ$).

Hướng phát triển tiếp theo

  • Kết hợp giải thuật điều khiển phi tuyến Energy-based Swing-up để tự động kéo con lắc từ vị trí tự do lên điểm cân bằng trước khi chuyển giao quyền kiểm soát cho bộ điều khiển PID/LQR.
  • Nghiên cứu thay thế bộ điều khiển PID bằng bộ điều khiển trượt thích nghi (Adaptive Sliding Mode Control) hoặc Mạng nơ-ron sâu (Deep Reinforcement Learning - DRL) để thích ứng linh hoạt với tải trọng con lắc biến thiên theo thời gian thực.

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

  • Sinh viên ngành Kỹ thuật Điều khiển & Tự động hóa, Cơ điện tử: Cung cấp tài liệu tham khảo chi tiết từ khâu thiết lập phương trình động lực học Euler-Lagrange đến thực hành Rapid Control Prototyping trên chip ARM Cortex-M4.
  • Kỹ sư phát triển hệ thống nhúng thời gian thực: Tiếp cận phương pháp sinh mã tự động từ Simulink xuống vi điều khiển, tối ưu hóa quá trình R&D sản phẩm công nghiệp.
  • Giảng viên và các phòng thí nghiệm đại học: Bản thiết kế hoàn chỉnh cho dàn thí nghiệm điều khiển hệ phi tuyến với chi phí cực kỳ tiết kiệm nhưng đạt độ chính xác công nghiệp.

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai và chạy mô hình thực nghiệm này là gì? Cần có vi điều khiển STM32F4 Discovery (hoặc vi điều khiển 32-bit có khối FPU và Timer hỗ trợ Encoder Interface 4x Mode), mạch cầu H công suất tối thiểu 2A, động cơ DC có encoder, nguồn cấp $12\text{V}-5\text{A}$, máy tính cài đặt MATLAB/Simulink R2018b trở lên tích hợp trình biên dịch ARM Keil C hoặc STM32CubeIDE.

2. Tại sao cần sử dụng giải thuật di truyền (GA) thay vì chỉnh định PID thủ công? Hệ con lắc ngược trên xe là hệ thống phi tuyến bậc 4 đa biến (SIMO) ghép kênh mạnh. Việc căn chỉnh đồng thời 6 tham số PID bằng phương pháp thủ công cực kỳ tốn thời gian và dễ dẫn đến mất ổn định làm hỏng thiết bị phần cứng. GA cho phép tìm kiếm không gian nghiệm rộng và hội tụ về bộ tham số toàn cục tối ưu.

3. Làm thế nào để giải quyết hiện tượng nhiễu xung khi đọc Encoder tốc độ cao? Sử dụng bộ lọc phần cứng Digital Filter tích hợp sẵn trong các khối ngắt Timer Input Capture của STM32F4, kết hợp thuật toán tính đạo hàm qua bộ lọc thông thấp (Low-pass filter derivative) để tránh khuếch đại nhiễu tần số cao trong khâu vi phân Kd.

4. Chi phí xây dựng hệ thống phần cứng hoàn chỉnh là bao nhiêu? Toàn bộ chi phí linh kiện phần cứng dao động trong khoảng $1.6 - 2.3$ triệu VNĐ, thấp hơn rất nhiều so với các dàn kit thí nghiệm chuyên dụng nhập khẩu (như hệ thống Quanser có giá hàng nghìn USD) trong khi vẫn đảm bảo đầy đủ các tính năng thực nghiệm điều khiển nâng cao.

5. Hệ thống có thể mở rộng cho hệ con lắc ngược đôi (Double Inverted Pendulum) không? Hoàn toàn có thể. Tuy nhiên, bậc tự do của hệ sẽ tăng lên và cần bổ sung thêm một Encoder quang học tại khớp nối con lắc thứ hai, đồng thời nâng cấp thuật toán điều khiển sang LQR đa biến hoặc MPC (Model Predictive Control) để xử lý số lượng biến trạng thái tăng lên.


Kết luận

Đề tài tốt nghiệp "PID Control for a Cart and Pole System: Simulation and Application" đã giải quyết trọn vẹn và chuyên sâu bài toán ổn định hệ phi tuyến kinh điển trong lý thuyết điều khiển tự động. Thông qua việc kết hợp chặt chẽ giữa mô hình toán động lực học Euler-Lagrange, giải thuật tối ưu hóa thông minh Genetic Algorithm và nền tảng nhúng hiện đại STM32F4 Cortex-M4, nhóm nghiên cứu đã hiện thực hóa thành công mô hình thực nghiệm với độ chính xác cao, thời gian đáp ứng nhanh và khả năng bám quỹ đạo vượt trội. Đây là tài liệu kỹ thuật giá trị, đóng góp thiết thực cho công tác giảng dạy, nghiên cứu và phát triển các hệ thống cơ điện tử tự cân bằng trong thực tiễn công nghiệp.