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

Hệ con lắc ngược quay (Rotary Inverted Pendulum - RIP) là một đối tượng nghiên cứu kinh điển, phi tuyến trong lý thuyết điều khiển tự động nhằm kiểm chứng các thuật toán điều khiển tuyến tính, phi tuyến và thông minh (như PID, LQR, mạng Neuron, Fuzzy-LQR, Fuzzy-PD). Mô hình RIP chuẩn đã được thương mại hóa bởi hãng Quanser phục vụ công tác giảng dạy và nghiên cứu. Nhằm mở rộng bài toán điều khiển cho các hệ thống có bậc tự do cao hơn và độ phức tạp lớn hơn, mô hình con lắc ngược quay kép (Double Rotary Inverted Pendulum - DRIP/RDIP) được phát triển.

Hệ DRIP là hệ phi tuyến phức tạp, bất ổn định, thuộc lớp hệ thống một ngõ vào nhiều ngõ ra (SIMO - Single Input Multiple Output) và là hệ dưới tác động (underactuated system) khi chỉ sử dụng một động cơ duy nhất để điều khiển hai thanh con lắc đảo ngược nối tiếp nhau dạng chuỗi. Tại Việt Nam, nghiên cứu trước đây (như nghiên cứu [7]) đã khảo sát ổn định hệ DRIP trên mô phỏng nhưng tín hiệu điều khiển đầu vào là mô-men lực của động cơ, vốn mang tính lý thuyết và thiếu tính thực tiễn khi triển khai phần cứng. Do đó, việc xây dựng mô hình toán, thiết kế bộ điều khiển tuyến tính tối ưu LQR (Linear Quadratic Regulator) với tín hiệu điều khiển trực tiếp là điện áp cấp cho động cơ DC và hiện thực hóa trên phần cứng thực tế là vấn đề cấp thiết.

Mục tiêu nghiên cứu: Mục tiêu chính của đề tài là thiết kế bộ điều khiển LQR nhằm điều khiển cân bằng hệ con lắc ngược quay kép trên cả mô hình mô phỏng và mô hình thực tế.

Nhiệm vụ nghiên cứu:

  1. Trình bày tổng quan về hệ con lắc ngược quay kép và bộ điều khiển LQR.
  2. Xác định các khái niệm, mục tiêu chung, tiêu chí đánh giá và phương pháp thực hiện.
  3. Xây dựng chương trình điều khiển LQR và nạp vào mô hình thực tế.
  4. Quan sát kết quả thực nghiệm, so sánh và đánh giá đáp ứng của hệ thống trong từng trường hợp, rút ra kết luận về hiệu quả của bộ điều khiển.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Hệ con lắc ngược quay kép gồm 1 thanh cánh tay quay ngang gắn trục động cơ và 2 thanh con lắc nối tiếp; bộ điều khiển LQR.
  • Phạm vi và giới hạn:
    • Đề tài tập trung điều khiển cân bằng hệ tại vị trí link 1 hướng lên và link 2 hướng xuống.
    • Hệ thống chỉ đáp ứng ổn định khi góc lệch ban đầu của 2 thanh con lắc không vượt quá $10^\circ$.
    • Chưa thực hiện điều khiển cân bằng thực tế tại hai vị trí cân bằng còn lại (cả 2 thanh cùng hướng lên; link 1 hướng xuống và link 2 hướng lên).

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

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

Hệ DRIP gồm 3 khâu cơ học (thanh cánh tay, con lắc 1, con lắc 2) và 1 động cơ chấp hành. Phương trình vi phân mô tả động lực học phi tuyến của hệ được thiết lập bằng phương pháp Euler-Lagrange:

$$\frac{d}{dt}\left(\frac{\partial L}{\partial \dot{\theta}_i}\right) - \frac{\partial L}{\partial \theta_i} + \frac{\partial D}{\partial \dot{\theta}_i} = \tau_i \quad (i = 1, 2, 3)$$

Trong đó:

  • $L = T_{total} - V_{total}$ là hàm Lagrange (với $T_{total}$ là tổng động năng, $V_{total}$ là tổng thế năng của hệ thống).
  • Bỏ qua ma sát nên năng lượng tiêu hao $D \approx 0$.
  • Vector tọa độ suy rộng: $\theta = [\theta_1, \theta_2, \theta_3]^T$ lần lượt là góc quay của thanh cánh tay, con lắc 1 và con lắc 2.
  • Vector lực tác dụng: $\tau = [\tau_1, 0, 0]^T$.

Quan hệ giữa mô-men lực $\tau_1$ và điện áp cấp cho động cơ $u$ được quy đổi theo công thức: $$\tau_1 = -c_3 \ddot{\theta}_1 - c_2 \dot{\theta}_1 + c_1 u$$ Với các hệ số phụ thuộc vào điện trở phần ứng $R_m$, hằng số mô-men $K_m$, hằng số suất điện động $K_b$, và hệ số ma sát nhớt $B_m$: $$c_1 = \frac{K_m}{R_m}, \quad c_2 = \frac{K_m K_b}{R_m}, \quad c_3 = J_m$$

Hệ phương trình vi phân phi tuyến đầy đủ bao gồm 3 phương trình phi tuyến biểu diễn mối quan hệ giữa gia tốc góc $(\ddot{\theta}_1, \ddot{\theta}_2, \ddot{\theta}_3)$, vận tốc góc $(\dot{\theta}_1, \dot{\theta}_2, \dot{\theta}3)$, vị trí góc $(\theta_1, \theta_2, \theta_3)$ và điện áp vào $u$, thông qua 10 thông số trung gian ($m_1$ đến $m{10}$) phụ thuộc vào khối lượng ($m_i$), chiều dài ($l_i$), khoảng cách trọng tâm ($r_i$), mô-men quán tính ($J_i$) và gia tốc trọng trường ($g$).

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

Hệ thống được biểu diễn dưới dạng phương trình trạng thái với vector trạng thái 6 chiều: $$x = [x_1, x_2, x_3, x_4, x_5, x_6]^T = [\theta_1, \dot{\theta}_1, \theta_2, \dot{\theta}_2, \theta_3, \dot{\theta}_3]^T$$ Phương trình không gian trạng thái tuyến tính có dạng: $$\dot{x} = Ax + Bu$$

Tác giả tiến hành tuyến tính hóa hệ phi tuyến tại hai điểm làm việc cân bằng bằng phép xấp xỉ góc nhỏ ($\sin\theta \approx \theta, \cos\theta \approx 1$ khi góc xấp xỉ $0$, và $\cos\theta \approx -1$ khi góc xấp xỉ $\pi$):

  1. Điểm làm việc 1 (cả 2 thanh cùng hướng lên): $\theta_1 = 0, \theta_2 = 0, \theta_3 = 0$.
  2. Điểm làm việc 2 (link 1 hướng lên, link 2 hướng xuống): $\theta_1 = 0, \theta_2 = 0, \theta_3 = \pi$.

Kiểm tra tính điều khiển được (Controllability)

Ma trận điều khiển được $M$ bậc $6 \times 6$ được xác định theo công thức: $$M = [B \quad AB \quad A^2B \quad A^3B \quad A^4B \quad A^5B]$$ Tại cả hai điểm làm việc, kết quả tính toán đều cho $\text{Rank}(M) = 6$, khẳng định hệ thống hoàn toàn điều khiển được (fully controllable).

Thiết kế bộ điều khiển Linear Quadratic Regulator (LQR)

Bộ điều khiển LQR tối ưu hóa hàm mục tiêu dạng toàn phương (Cost Function): $$J = \int_{0}^{\infty} (x^T Q x + u^T R u) dt$$ Trong đó:

  • $Q$ là ma trận đường chéo trọng số trạng thái ($6 \times 6$), phản ánh mức độ ưu tiên sai số của từng biến trạng thái.
  • $R$ là ma trận trọng số tín hiệu điều khiển (vô hướng $1 \times 1$).

Luật điều khiển phản hồi trạng thái: $$u = -Kx$$ Với ma trận độ lợi phản hồi $K = R^{-1} B^T P$, trong đó $P$ là nghiệm đối xứng xác định dương của phương trình đại số Riccati (Algebraic Riccati Equation - ARE): $$A^T P + P A + Q - P B R^{-1} B^T P = 0$$


Thiết kế và triển khai hệ thống kỹ thuật

Mô hình thực nghiệm được xây dựng theo kiến trúc điều khiển nhúng thời gian thực kết nối máy tính giám sát.

Khối chức năng Phần cứng / Phần mềm sử dụng Thông số & Đặc tính kỹ thuật
Cơ khí & Kết cấu Phần mềm SolidWorks, khung nhôm và khớp quay Mô hình hóa 3D 1 cánh tay đòn ngang, 2 thanh con lắc nối tiếp
Bộ xử lý trung tâm Arduino Mega 2560 (Vi điều khiển ATmega2560) 16 MHz, 54 chân Digital I/O (15 PWM), 16 Analog In, 4 cổng UART, 256 KB Flash, 8 KB SRAM
Mạch công suất Module Driver BTS7960 (H-bridge Infineon) Điện áp hoạt động 5.5V - 27V, dòng tải liên tục 43A, tần số PWM lên đến 25 kHz, bảo vệ quá nhiệt và sụt áp
Cảm biến góc 03 Encoder quang học LDP3806 Độ phân giải 600 xung/vòng (600 PPR), đo góc cánh tay và 2 khớp con lắc
Giao diện & Giám sát Máy tính cá nhân (PC) & Arduino IDE Giao tiếp nối tiếp UART/USB, thu thập dữ liệu và hiển thị phản hồi góc thời gian thực

Hệ thống hoạt động theo vòng lặp kín: Các cảm biến Encoder LDP3806 đọc vị trí góc của cánh tay và 2 con lắc đưa về Arduino Mega 2560. Vi điều khiển tính toán sai lệch góc, xác định tín hiệu điện áp điều khiển $u = -Kx$, xuất xung PWM sang driver BTS7960 để cấp nguồn cho động cơ DC chấp hành sinh lực giữ cân bằng hệ thống.


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

Chương 1: Tổng quan

Chương 1 giới thiệu tổng quan về lịch sử phát triển của hệ con lắc ngược từ cấu trúc 1 bậc tự do (RIP) đến cấu trúc 2 bậc tự do quay kép (DRIP). Tác giả tổng hợp các công trình nghiên cứu trong và ngoài nước áp dụng các bộ điều khiển kinh điển và hiện đại (PID, LQR, Neuron, Fuzzy). Chương này chỉ ra điểm mới của đề tài là sử dụng trực tiếp tín hiệu điện áp điều khiển động cơ thay vì mô-men lực, đồng thời xác định rõ mục tiêu, nhiệm vụ và các giới hạn kỹ thuật của đồ án.

Chương 2: Cơ sở lý thuyết

Chương 2 tập trung vào việc mô hình hóa toán học hệ DRIP:

  • Thiết lập hệ phương trình Lagrange loại 2 dựa trên động năng và thế năng toàn phần.
  • Quy đổi mô-men động cơ về điện áp điều khiển thông qua các phương trình đặc tính điện cơ của động cơ DC.
  • Tuyến tính hóa hệ thống tại 2 điểm cân bằng: (1) Cả 2 thanh cùng hướng lên; (2) Link 1 hướng lên, link 2 hướng xuống.
  • Xây dựng ma trận trạng thái $A$ và ma trận ngõ vào $B$, kiểm tra ma trận khả điều khiển $M$ đạt hạng đầy đủ ($\text{Rank}(M) = 6$).
  • Trình bày thuật toán thiết kế bộ điều khiển LQR liên tục và rời rạc, giải phương trình Riccati để tìm ma trận độ lợi $K$.

Chương 3: Mô phỏng và khảo sát trên Matlab Simulink

Tác giả xây dựng sơ đồ khối mô phỏng hệ DRIP kết hợp bộ điều khiển LQR trên Matlab/Simulink. Tiến hành khảo sát 10 trường hợp mô phỏng để đánh giá tác động của việc thay đổi các thành phần trong ma trận trọng số $Q$ ($q_1$ ứng với góc cánh tay, $q_3$ ứng với góc con lắc 1, $q_5$ ứng với góc con lắc 2) và ma trận $R$:

Trường hợp Điểm làm việc Thiết lập ma trận trọng số Đáp ứng góc cánh tay Đáp ứng con lắc 1 & 2 Thời gian xác lập
TH 1 Cả 2 link hướng lên $Q = I_6, R = 1$ Biên độ dao động $32^\circ$ Biên độ dao động $0.6^\circ$ 10 giây
TH 2 Cả 2 link hướng lên $q_1 = 10, R = 1$ Biên độ giảm xuống $20^\circ$ Biên độ dao động $0.6^\circ$ 10 giây
TH 3 Cả 2 link hướng lên $q_3 = 10, R = 1$ Biên độ dao động $32^\circ$ Biên độ dao động $0.6^\circ$ 10 giây
TH 4 Cả 2 link hướng lên $q_5 = 10, R = 1$ Biên độ dao động $32^\circ$ Biên độ dao động $0.6^\circ$ 10 giây
TH 5 Cả 2 link hướng lên $Q = I_6, R = 10$ Biên độ tăng lên $60^\circ$ Biên độ dao động $0.6^\circ$ 10 giây (đáp ứng chậm hơn)
TH 6 Link 1 lên, Link 2 xuống $Q = I_6, R = 1$ Biên độ dao động $8^\circ$ Con lắc 1: $29^\circ$; Con lắc 2: $210^\circ$ 40 giây
TH 7 Link 1 lên, Link 2 xuống $q_1 = 10, R = 1$ Biên độ giảm xuống $2.2^\circ$ Con lắc 1: $26^\circ$; Con lắc 2: $208^\circ$ 25 giây
TH 8 Link 1 lên, Link 2 xuống $q_3 = 10, R = 1$ Biên độ dao động tương tự TH 6 Con lắc 1: $29^\circ$; Con lắc 2: $210^\circ$ 40 giây
TH 9 Link 1 lên, Link 2 xuống $q_5 = 10, R = 1$ Biên độ dao động tương tự TH 6 Con lắc 1: $29^\circ$; Con lắc 2: $210^\circ$ 40 giây
TH 10 Link 1 lên, Link 2 xuống $Q = I_6, R = 10$ Dao động kéo dài Con lắc 1: $29^\circ$; Con lắc 2: $210^\circ$ 60 giây

Chương 4: Xây dựng mô hình thực tế và khảo sát

Chương này mô tả quá trình thiết kế phần cứng:

  • Thiết kế kết cấu 3D trên SolidWorks đảm bảo các yêu cầu thẩm mỹ và vận hành cơ học.
  • Lựa chọn linh kiện: Vi điều khiển Arduino Mega 2560, mạch công suất BTS7960 43A, 3 Encoder LDP3806 600 xung.
  • Thi công lắp ráp phần cứng, kết nối mạch điện và thiết lập giao diện điều khiển/giám sát trên máy tính.
  • Nạp ma trận điều khiển LQR đã được tối ưu và tinh chỉnh trên mô hình thực nghiệm, khảo sát đáp ứng dao động và khả năng tự cân bằng của con lắc khi có sai lệch góc ban đầu.

Chương 5: Kết luận và hướng phát triển

Đánh giá tổng kết các kết quả đạt được từ lý thuyết, mô phỏng đến phần cứng thực tế, đồng thời nêu rõ các hạn chế kỹ thuật hiện tại và đề xuất hướng mở rộng cho các nghiên cứu tiếp theo.


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

Kết quả chính

  • Về mô hình hóa và lý thuyết: Thiết lập thành công hệ phương trình vi phân phi tuyến bậc cao mô tả chính xác động học hệ DRIP chịu tác động của điện áp động cơ. Chứng minh hệ thống đạt tính điều khiển được với ma trận $\text{Rank}(M) = 6$ tại cả hai điểm làm việc.
  • Về mô phỏng: Khảo sát toàn diện 10 kịch bản thay đổi ma trận $Q$ và $R$. Rút ra quy luật: Tăng trọng số $q_1$ giúp giảm mạnh biên độ dao động của cánh tay (từ $32^\circ$ xuống $20^\circ$ ở điểm làm việc 1; từ $8^\circ$ xuống $2.2^\circ$ và thời gian xác lập giảm từ 40s xuống 25s ở điểm làm việc 2). Tăng $R$ làm tăng biên độ dao động (lên đến $60^\circ$) và kéo dài thời gian xác lập của hệ thống (lên 60s).
  • Về thực nghiệm: Chế tạo thành công mô hình phần cứng hoàn chỉnh hệ DRIP; tích hợp vi điều khiển Arduino Mega 2560 và mạch cầu H BTS7960, điều khiển ổn định hệ thống tại vị trí link 1 hướng lên và link 2 hướng xuống trong phạm vi góc lệch ban đầu dưới $10^\circ$.

Đóng góp của đề tài

  • Khắc phục hạn chế của nghiên cứu trước tại Việt Nam (nghiên cứu [7]) bằng cách xây dựng mô hình toán và giải thuật điều khiển LQR dựa trên tín hiệu đầu vào trực tiếp là điện áp động cơ, giúp việc chuyển giao thuật toán từ mô phỏng sang phần cứng thực tế diễn ra chính xác, khả thi.
  • Cung cấp dữ liệu thực nghiệm về đáp ứng điều khiển của hệ con lắc ngược quay kép 2 bậc tự do sử dụng nền tảng phần cứng nhúng chi phí thấp (Arduino Mega 2560).

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

Hạn chế

  • Mô hình thực tế chỉ mới thực hiện điều khiển cân bằng thành công tại một vị trí làm việc (link 1 hướng lên, link 2 hướng xuống).
  • Chưa điều khiển cân bằng được trên phần cứng thực tế ở hai vị trí làm việc còn lại: cả 2 thanh cùng hướng lên, và link 1 hướng xuống - link 2 hướng lên.
  • Miền ổn định hẹp: Hệ thống chỉ có khả năng cân bằng khi góc lệch ban đầu của các thanh con lắc nhỏ hơn hoặc bằng $10^\circ$.
  • Chưa tích hợp thuật toán tự vung (swing-up control) để đưa con lắc từ vị trí tự do bên dưới lên vị trí cân bằng trên.

Hướng phát triển

  • Tinh chỉnh ma trận $Q, R$ và tối ưu phần cứng để thực hiện cân bằng thực tế cho cấu hình cả 2 thanh con lắc cùng hướng lên.
  • Nghiên cứu kết hợp thuật toán vung (Swing-up) với bộ điều khiển cân bằng LQR để hệ thống tự động khởi động từ trạng thái treo nghỉ.
  • Ứng dụng và so sánh các thuật toán điều khiển phi tuyến và thông minh khác trên mô hình thực tế như Fuzzy Logic, Sliding Mode Control (SMC), hoặc mạng Neural Network.

Giá trị tham khảo

Tài liệu khóa luận này hữu ích cho:

  • Sinh viên và học viên ngành Kỹ thuật Điều khiển & Tự động hóa, Cơ điện tử, Robotics: Tham khảo phương pháp thiết lập phương trình Euler-Lagrange cho hệ cơ điện tử nhiều bậc tự do, kỹ thuật tuyến tính hóa quanh điểm làm việc, và thuật toán giải phương trình Riccati cho bộ điều khiển LQR.
  • Người làm đề tài về hệ phi tuyến/dưới tác động: Tham khảo quy trình thiết kế từ mô phỏng Matlab/Simulink đến xây dựng mô hình phần cứng sử dụng Arduino Mega 2560, driver BTS7960 và xử lý tín hiệu từ nhiều Encoder đồng thời.

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

1. Tại sao đề tài lại thay đổi tín hiệu điều khiển từ mô-men lực sang điện áp động cơ?

Trong nghiên cứu tham khảo trước đây [7], tín hiệu điều khiển đầu vào là mô-men lực động cơ ($\tau$). Trên thực tế, các bộ điều khiển vi xử lý/vi điều khiển không thể trực tiếp xuất ra mô-men mà chỉ có thể xuất tín hiệu điện áp (thông qua điều chế độ rộng xung PWM). Việc quy đổi mô hình động học sang tín hiệu đầu vào là điện áp ($u$) giúp thuật toán tương thích trực tiếp với phần cứng mạch công suất và động cơ thực tế.

2. Hệ DRIP có bao nhiêu biến trạng thái và tính điều khiển được xác định như thế nào?

Hệ thống sử dụng vector 6 biến trạng thái $x = [\theta_1, \dot{\theta}_1, \theta_2, \dot{\theta}_2, \theta_3, \dot{\theta}_3]^T$ tương ứng với góc và vận tốc góc của thanh cánh tay, con lắc 1 và con lắc 2. Tính điều khiển được xác định thông qua hạng của ma trận khả điều khiển $M = [B \ AB \ A^2B \ A^3B \ A^4B \ A^5B]$. Kết quả tính toán cho $\text{Rank}(M) = 6$, chứng minh hệ thống hoàn toàn điều khiển được tại các điểm làm việc khảo sát.

3. Việc thay đổi các ma trận trọng số Q và R trong bộ điều khiển LQR ảnh hưởng như thế nào đến đáp ứng hệ thống?

  • Khi tăng trọng số $q_1$ (trọng số của góc cánh tay) trong ma trận $Q$ từ 1 lên 10, biên độ dao động của cánh tay giảm mạnh (từ $32^\circ$ xuống $20^\circ$ ở TH2; từ $8^\circ$ xuống $2.2^\circ$ ở TH7) và thời gian xác lập giảm từ 40s xuống 25s.
  • Khi tăng trọng số $R$ (phạt năng lượng điều khiển) từ 1 lên 10, biên độ dao động của hệ tăng lên đáng kể (cánh tay dao động đến $60^\circ$) và thời gian xác lập kéo dài hơn (từ 40s lên 60s ở điểm làm việc 2) do hệ thống hạn chế sử dụng điện áp điều khiển.

4. Giới hạn vận hành của mô hình phần cứng thực tế đạt được trong đồ án là gì?

Mô hình phần cứng thực tế chỉ mới điều khiển cân bằng ổn định tại cấu hình link 1 hướng lên, link 2 hướng xuống. Góc lệch ban đầu của 2 thanh con lắc phải nằm trong phạm vi không quá $10^\circ$; nếu vượt quá ngưỡng này hệ thống sẽ mất ổn định do vượt khỏi vùng tuyến tính hóa của bộ điều khiển LQR.

5. Phần cứng của mô hình thực tế sử dụng các linh kiện chính nào?

Phần cứng gồm: khối xử lý trung tâm là vi điều khiển Arduino Mega 2560 (chip ATmega2560, 16MHz); khối công suất sử dụng module mạch cầu H BTS7960 (dòng tối đa 43A, tần số PWM đến 25kHz); khối cảm biến sử dụng 03 Encoder quang học LDP3806 độ phân giải 600 xung/vòng để đo góc cánh tay và hai thanh con lắc.


Kết luận

Đồ án đã hoàn thành trọn vẹn quy trình nghiên cứu điều khiển hệ con lắc ngược quay kép (DRIP) từ xây dựng mô hình toán phi tuyến Euler-Lagrange, tuyến tính hóa không gian trạng thái, kiểm tra tính điều khiển được đến thiết kế giải thuật điều khiển tối ưu LQR. Kết quả khảo sát 10 kịch bản mô phỏng trên Matlab/Simulink đã làm rõ ảnh hưởng của các thông số ma trận trọng số $Q$ và $R$ đến chất lượng động học của hệ. Mô hình thực nghiệm chế tạo bằng SolidWorks kết hợp vi điều khiển Arduino Mega 2560, driver BTS7960 và cảm biến Encoder LDP3806 đã kiểm chứng thành công khả năng giữ cân bằng hệ thống tại vị trí link 1 hướng lên, link 2 hướng xuống với sai lệch góc ban đầu trong giới hạn $10^\circ$.