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

Trong lĩnh vực kỹ thuật điều khiển và tự động hóa, mô hình con lắc ngược được xem là đối tượng nghiên cứu điển hình do đặc tính động không ổn định vốn có, đặt ra nhiều thách thức cho bài toán điều khiển. Đồ án này xuất phát từ tiềm năng kế thừa kết quả nghiên cứu con lắc ngược sang các ứng dụng thực tiễn như mô hình tên lửa và xe hai bánh tự cân bằng. Tại thời điểm thực hiện (2020), ở Việt Nam đề tài xe hai bánh tự cân bằng vẫn còn khá mới mẻ với nhiều thách thức về giá thành, địa hình hoạt động và kích thước thiết bị. Hướng phát triển xa hơn của đề tài là tiến tới nghiên cứu robot hai chân và robot người (humanoid robot).

Xe hai bánh tự cân bằng là hệ thống phi tuyến MIMO (Multiple In, Multiple Out), trong đó hai bánh xe được đặt trên cùng một trục song song — khác với xe đạp thông thường có bánh trước và bánh sau — giúp xe di chuyển linh hoạt trong không gian chật hẹp. Không giống xe ba bánh hay bốn bánh, xe loại này không ổn định tự nhiên và cần bộ điều khiển liên tục duy trì thăng bằng.

Mục tiêu đề tài được xác định cụ thể như sau:

  1. Tìm hiểu các loại xe hai bánh tự cân bằng đã được chế tạo trước đây và nguyên lý cân bằng cơ bản.
  2. Tính toán các tham số động lực học và hàm trạng thái của mô hình.
  3. Thiết kế mạch điều khiển trung tâm xử lý tín hiệu đo và đưa ra quyết định điều khiển.
  4. Thiết kế mạch điện tử kết hợp cảm biến để đo góc (phần cứng).
  5. Xây dựng giải thuật kết hợp và bù trừ cảm biến để có giá trị đo góc chính xác.
  6. Xây dựng thuật toán PID và LQR điều khiển động cơ, giữ thăng bằng, ngăn ngừa quá tải cho bánh xe.
  7. Lập trình điều khiển nhúng vào vi điều khiển.

Giới hạn đề tài: xe di chuyển chủ yếu trên địa hình bằng phẳng, ít gồ ghề, mặt đường có độ dốc nhỏ hơn 15°, với tải trọng nhỏ. Thuật toán điều khiển giới hạn trong phạm vi PID và LQR.

Đối tượng nghiên cứu: hệ thống xe hai bánh tự cân bằng dựa trên lý thuyết con lắc ngược, hoạt động trên địa hình bằng phẳng. Phạm vi thực hiện: đồ án tốt nghiệp đại học, thực hiện năm học 2019–2020 tại Trường Đại học Sư Phạm Kỹ thuật TP. Hồ Chí Minh, Khoa Đào tạo Chất lượng cao.


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

Khung lý thuyết và mô hình

Đồ án áp dụng cơ học vật rắn và các định luật Newton để xây dựng phương trình động lực học. Cụ thể, phương pháp Euler-Lagrange được sử dụng để thiết lập hệ phương trình trạng thái mô tả chuyển động của xe, thông qua các đại lượng: góc nghiêng thân xe (Ψ), góc trung bình bánh xe (θ), góc xoay (φ), vận tốc góc tương ứng và điện áp điều khiển hai động cơ (v_l, v_r).

Điểm cân bằng được tuyến tính hóa tại Ψ → 0 (sin Ψ → Ψ; cos Ψ → 1). Bài toán MIMO được tách thành hai bài toán nhỏ với hai tín hiệu điều khiển V_Ψ (giữ thăng bằng, điều chỉnh vị trí) và V_φ (điều chỉnh góc xoay). Hệ thống được kiểm tra tính điều khiển được và tính quan sát được qua ma trận điều khiển M_c và ma trận quan sát M_o: kết quả rank M_c = rank M_o = 4, xác nhận hệ đủ điều kiện thiết kế bộ điều khiển.

Bộ lọc Kalman (do R. Kalman công bố năm 1960) được nghiên cứu và ứng dụng để xử lý nhiễu tín hiệu cảm biến. Bộ lọc hoạt động theo thuật toán đệ quy hai bước: cập nhật thời gian (dự đoán priori) và cập nhật giá trị đo lường (hiệu chỉnh posteriori). Trong đồ án, tín hiệu đầu vào bộ lọc gồm cảm biến gia tốc (accelerometer) cho giá trị góc đo và cảm biến vận tốc góc (gyroscope), tín hiệu đầu ra là giá trị góc nghiêng và vận tốc góc nghiêng đã được ước lượng tối ưu. Các thông số Q và R của bộ lọc được hiệu chỉnh bằng phương pháp thử sai.

Phương pháp nghiên cứu

Phương pháp Mô tả cụ thể
Mô hình hóa lý thuyết Từ con lắc ngược → mô hình xe hai bánh; xây dựng hệ phương trình trạng thái
Thiết kế phần cứng Lựa chọn linh kiện, thiết kế mạch điện, tích hợp cảm biến và mạch điều khiển động cơ
Lập trình vi điều khiển Nhúng thuật toán lên AVR – ATMEGA2560
Mô phỏng Kiểm nghiệm giải thuật trước khi thực nghiệm
Thực nghiệm Chạy mô hình thực tế trên mặt phẳng và địa hình dốc nghiêng đến 20°

Nguồn dữ liệu

Dữ liệu được thu thập trực tiếp từ cảm biến MPU 6050 (gia tốc 3 trục + con quay hồi chuyển 3 trục) và encoder quang 200 xung/vòng gắn trên bánh xe, thông qua chip xử lý AVR – ATMEGA2560.


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

Chương 1: Tổng quan

Chương 1 giới thiệu bối cảnh và tầm quan trọng của đề tài. Tác giả phân tích ưu nhược điểm của xe hai bánh tự cân bằng so với xe ba bánh và bốn bánh: xe hai bánh linh động hơn khi di chuyển lên dốc và xuống dốc vì tự điều chỉnh nghiêng thân để giữ trọng tâm trong vùng đỡ của bánh xe, trong khi xe ba bánh dễ mất bám hoặc lật úp khi thay đổi địa hình. Ưu điểm được nêu: không ô nhiễm môi trường, sử dụng pin sạc, chiếm ít diện tích, dễ điều khiển, chi phí chế tạo thấp. Nhược điểm: thời gian sử dụng sau mỗi lần sạc ngắn và tải trọng thấp.

Chương này cũng khảo sát tình hình nghiên cứu trong và ngoài nước:

Ngoài nước:

  • Bbot (Carnegie Mellon, 2003): dùng gia tốc kế ADXL202 và con quay hồi chuyển, mạch điều khiển BasicX 24.
  • nBot (David P. Anderson): bốn thông số ngõ vào gồm góc nghiêng, đạo hàm góc nghiêng, vị trí bánh xe, vận tốc bánh xe; phản hồi về điện áp động cơ.
  • JOE (Viện Federal Lausanne, Thụy Sĩ): cao 65 cm, nặng 12 kg, tốc độ tối đa 1,5 m/s, leo dốc đến 30°, nguồn 32V, dùng bộ điều khiển state-space và board DSP SHARC floating point với FPGA XILINX, 12 bộ A/D 12-bit, 4 bộ D/A 10-bit.
  • Balibot: dùng gia tốc kế Motorola MMA2260 cấu trúc MEMS, vi điều khiển PIC16F876.
  • Balance bot I (Sang Hyuk, Hàn Quốc): cao 50 cm, khung nhôm, ba vi điều khiển Atmel, thuật toán LQR với bốn biến trạng thái.
  • Segway: tốc độ tối đa 12,5 dặm/giờ (~20 km/h), tải trọng người 110 kg + hàng 34 kg, phạm vi 17 dặm (~28 km)/lần sạc, 5 cảm biến con quay hồi chuyển, 10 bảng mạch vi xử lý, kiểm tra cảm biến 100 lần/giây.

Trong nước:

  • Luận văn thạc sĩ của Nguyễn Gia Minh Thảo, Dương Hoài Nghĩa, Nguyễn Hữu Phúc (ĐH Bách Khoa HCM): bộ điều khiển Backstepping.
  • Đề tài của Trà Ti Na và Nguyễn Tấn Hậu (ĐH Lạc Hồng, 2013): bộ lọc Kalman, Complimentary và PID.
  • Đề tài của Mai Tấn Đạt (ĐH Bách Khoa HCM, 2005): mô phỏng bằng VN Nastran và Matlab, hoàn thiện module lọc Kalman cho cảm biến đo góc.

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

Chương 2 trình bày nền tảng toán học và lý thuyết phần cứng. Về động lực học, tác giả lựa chọn phương pháp Newton kết hợp Euler-Lagrange do các công thức không quá phức tạp và kết quả có thể đối chiếu với tài liệu tham khảo về con lắc ngược. Hệ phương trình động lực học được xây dựng với đầy đủ các tham số vật lý của mô hình (khối lượng bánh m, khối lượng robot M, bán kính bánh R, chiều cao H, khoảng cách trọng tâm L, hệ số ma sát f_w và f_m, moment quán tính J_m, điện trở R_m, hệ số EMF K_b, moment xoắn K_t, tỉ số giảm tốc n...). Phương trình động lực học cuối cùng (phương trình 2.27) mô tả mối quan hệ giữa điện áp điều khiển v_l, v_r với độ nghiêng, vị trí và vận tốc của hệ robot.

Về bộ lọc Kalman, chương này trình bày chi tiết quy trình ước lượng: phương trình không gian trạng thái (x_k = Ax_{k-1} + BU_{k-1} + w_{k-1}), phương trình đo lường (z_k = Hx_k + v_k), ma trận tương quan nhiễu quá trình Q và nhiễu đo R, độ lợi Kalman K_k, cập nhật ước lượng posteriori. Tác giả phân tích rõ bản chất xác suất của bộ lọc và quy trình đệ quy hoàn chỉnh.

Phần lý thuyết phần cứng giới thiệu nguyên lý hoạt động của động cơ servo DC/AC, cảm biến gia tốc MEMS (accelerometer và gyroscope dựa trên hiệu ứng Coriolis), và nền tảng Arduino.

Chương 3: Thực hiện

Chương 3 trình bày quá trình thi công mô hình. Danh sách linh kiện được lựa chọn gồm: cảm biến MPU 6050, mạch Arduino Mega2560 R3, mạch giảm áp mini 5V-3A, pin LIPO TCB 12V-3S-2200mAh, Bluetooth HC-05, mạch điều khiển động cơ VNH2SP30 30A, 2 động cơ DC servo 24VDC 200 xung/vòng NF5475E, khung xe GA25.

Cấu trúc điều khiển phần cứng: chip AVR – ATMEGA2560 là trung tâm thu thập dữ liệu và điều khiển; cảm biến IMU (MPU 6050) đo góc nghiêng và vận tốc góc; encoder 200 xung/vòng đo vị trí và vận tốc bánh xe; module Bluetooth HC-05 hoặc module RF thu thập dữ liệu và điều khiển từ xa.

Kết quả thực nghiệm ghi nhận xe có khả năng di chuyển trên mặt phẳng độ dốc thấp và duy trì thăng bằng, cùng với khả năng xoay hướng.

Chương 4: Giải thuật điều khiển

Chương 4 trình bày hai giải thuật điều khiển chính.

Phương pháp điều khiển toàn phương tuyến tính (LQR): Sau khi tuyến tính hóa hệ phi tuyến tại điểm làm việc, tác giả xác định hàm chỉ tiêu chất lượng J = ∫(x^T·Q·x + u^T·R·u)dt và tìm vector điều khiển K tối ưu hóa J. Thông qua thử sai với điều kiện góc nghiêng ban đầu 0,3 rad, điện áp v_r, v_l không quá 24V, thời gian xác lập dưới 3s và vọt lố ít, tác giả xác định được vector hồi tiếp:

$$K_1 = \begin{bmatrix} -2{,}2361 & -2{,}8402 & -702{,}2036 & -95{,}7018 \end{bmatrix}$$ $$K_2 = \begin{bmatrix} 7{,}0711 & 5{,}4685 \end{bmatrix}$$

K_1 sử dụng trong khối "Balancing" (điều chỉnh góc nghiêng và vị trí), K_2 trong khối "Heading" (điều chỉnh góc xoay).

Phương pháp PID thích nghi mô hình tham chiếu (Model Reference Adaptive Control – MRAC): Đây là phương pháp điều khiển PID kết hợp cơ chế thích nghi, cũng được triển khai và kiểm nghiệm trong chương này.

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

Chương 5 tổng kết kết quả đạt được và định hướng mở rộng đề tài trong tương lai.


Thiết kế và triển khai

Kiến trúc phần cứng

Hệ thống được thiết kế theo kiến trúc điều khiển phân cấp với các thành phần chính:

Thành phần Thông số kỹ thuật nổi bật
Vi điều khiển Arduino Mega2560 R3 ATmega2560 8-bit, 16MHz, Flash 256KB, SRAM 8KB, EEPROM 4KB, 54 chân Digital I/O (15 PWM), 16 chân Analog, 5V
Cảm biến MPU 6050 GY-87 Gia tốc 3 trục + gyroscope 3 trục, I2C, gyro ±250/500/1000/2000°/s, gia tốc ±2g/4g/8g/16g, 3–5V
Động cơ DC servo NF5475E 24VDC, encoder quang 200 xung/vòng, 2 kênh, tần số đáp ứng đến 20KHz, moment xoắn 74,83 mN.m
Mạch điều khiển động cơ VNH2SP30 16VDC tối đa, dòng tối đa 30A, dòng liên tục 14A, PWM tối đa 20kHz, MOSFET on-resistance 19mΩ
Pin LIPO TCB 12V-3S-2200mAh Dung lượng 2200mAh, dòng xả 35C, 12V-3S, kích thước 110×35×25mm
Bluetooth HC-05 Khoảng cách 10m, 3,3VDC, kích thước 43×16×7mm
Mạch giảm áp mini 4,5–24V vào, dòng ra 3A, hiệu suất 97,5% tối đa
Khung xe GA25 Mica 134×64×3mm, trục motor 4mm, bánh xe V2

Phần mềm và thuật toán nhúng

Toàn bộ giải thuật được lập trình và nhúng lên AVR – ATMEGA2560, bao gồm: thuật toán bộ lọc Kalman rời rạc (cập nhật thời gian và cập nhật đo lường), thuật toán LQR với các hệ số K_1 và K_2 được tính sẵn, và thuật toán PID thích nghi mô hình tham chiếu. Môi trường lập trình sử dụng Arduino IDE (đa nền tảng, viết bằng Java), ngôn ngữ Processing/C++. Giao tiếp I2C được dùng cho cảm biến MPU 6050; encoder được đọc qua ngắt phần cứng; PWM điều khiển tốc độ động cơ qua mạch VNH2SP30.

Kiểm thử và thực nghiệm

Kiểm thử được thực hiện theo hai giai đoạn: mô phỏng thuật toán trước khi nhúng, sau đó thực nghiệm trên mô hình thực. Điều kiện thực nghiệm gồm: mặt phẳng, địa hình dốc nghiêng đến 20°, và kiểm tra khả năng xoay hướng. Điều kiện thiết kế LQR: góc nghiêng ban đầu 0,3 rad, điện áp động cơ không vượt 24V, thời gian xác lập dưới 3 giây.


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

Kết quả chính

  • Thi công hoàn chỉnh mô hình xe hai bánh tự cân bằng vật lý.
  • Xây dựng và kiểm nghiệm thành công bộ lọc Kalman rời rạc tích hợp dữ liệu từ accelerometer và gyroscope (MPU 6050), kết hợp encoder 200 xung/vòng.
  • Thiết kế và triển khai thành công hai giải thuật điều khiển: LQR và PID thích nghi mô hình tham chiếu, nhúng trên AVR – ATMEGA2560.
  • Xác định được vector hồi tiếp LQR: K_1 = [–2,2361; –2,8402; –702,2036; –95,7018] và K_2 = [7,0711; 5,4685] thỏa mãn thời gian xác lập dưới 3 giây, điện áp điều khiển không quá 24V.
  • Mô hình hoạt động ổn định trên địa hình bằng phẳng và dốc nghiêng đến 20°, có khả năng xoay hướng.
  • Xác nhận hệ thống điều khiển được và quan sát được với rank M_c = rank M_o = 4.

Giải pháp kỹ thuật đề xuất

Tách bài toán MIMO thành hai bài toán SISO độc lập (V_Ψ và V_φ) giúp đơn giản hóa thiết kế bộ điều khiển. Sử dụng bộ lọc Kalman với thông số Q và R hiệu chỉnh qua thử sai để đạt ước lượng trạng thái ổn định. Áp dụng hai thuật toán điều khiển song song để so sánh hiệu năng trong điều kiện thực tế.

Đóng góp so với nghiên cứu trước

Tác giả kế thừa nền tảng từ các đề tài trong nước (đặc biệt đề tài ĐH Bách Khoa HCM 2005 dùng VN Nastran và Matlab) nhưng triển khai đầy đủ trên phần cứng thực với linh kiện thương mại phổ biến (Arduino Mega2560, MPU 6050), đồng thời kết hợp cả hai giải thuật LQR và PID thích nghi mô hình tham chiếu trong cùng một hệ thống. Đề tài cũng thực nghiệm trên địa hình dốc (đến 20°), vượt qua giới hạn địa hình phẳng của một số nghiên cứu trước.


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

Đề tài tự xác định các giới hạn sau: xe chỉ hoạt động ổn định ở mặt đường có độ dốc nhỏ hơn 15° (dù thực nghiệm đến 20°); tải trọng thấp; thời gian sử dụng pin hạn chế (pin LIPO 2200mAh). Thuật toán chưa được tối ưu hóa cho điều kiện nhiễu lớn hoặc địa hình phức tạp hơn.

Tác giả định hướng phát triển tiếp theo là mở rộng sang nghiên cứu robot hai chân và robot người (humanoid robot), xem xe hai bánh tự cân bằng như nền tảng kiểm chứng giải thuật trước khi ứng dụng vào các hệ thống robot phức tạp hơn. Trong phạm vi đề tài, kiến thức và kinh nghiệm còn hạn chế được tác giả thẳng thắn thừa nhận, và một số thông số hiệu chỉnh (Q, R của bộ lọc Kalman; ma trận trọng số LQR) vẫn phụ thuộc vào phương pháp thử sai thay vì tối ưu hóa hệ thống một cách tự động.


Giá trị tham khảo

Đồ án phù hợp để tham khảo với các nhóm đối tượng sau:

  • Sinh viên ngành Điều khiển và Tự động hóa, Cơ điện tử, Kỹ thuật điện–điện tử đang thực hiện đề tài về robot cân bằng, con lắc ngược, hoặc bài toán điều khiển phi tuyến. Phần xây dựng hệ phương trình trạng thái (Chương 2) và phần thiết kế LQR kèm thông số cụ thể (Chương 4) có giá trị tham chiếu trực tiếp.
  • Sinh viên muốn làm quen với bộ lọc Kalman trong bối cảnh kết hợp IMU: Chương 2 trình bày lý thuyết bộ lọc khá chi tiết từ phương trình trạng thái đến thuật toán đệ quy rời rạc.
  • Người thực hành với Arduino và MPU 6050: Danh sách linh kiện và thông số kỹ thuật cụ thể (Chương 3) là tài liệu tham chiếu phần cứng thiết thực.
  • Sinh viên nghiên cứu về Segway hoặc phương tiện cá nhân điện: Phần tổng quan (Chương 1) cung cấp phân tích so sánh đa dạng các mô hình từ nghiên cứu học thuật đến sản phẩm thương mại (Segway HT).

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

1. Tại sao đề tài chọn phương pháp Newton-Euler thay vì Lagrange thuần túy để xây dựng mô hình động lực học? Tác giả giải thích rằng phương pháp Newton được chọn vì sử dụng các công thức cơ học thông thường, hệ phương trình không quá phức tạp, và kết quả tính toán có thể đối chiếu trực tiếp với các tài liệu tham khảo phổ biến về mô hình con lắc ngược. Trên thực tế, đồ án kết hợp phương pháp Euler-Lagrange để thiết lập phương trình động năng và thế năng, sau đó áp dụng định luật Newton để rút ra phương trình động lực học cuối cùng.

2. Vector hồi tiếp LQR K_1 và K_2 được xác định như thế nào và ứng với điều kiện gì? K_1 = [–2,2361; –2,8402; –702,2036; –95,7018] và K_2 = [7,0711; 5,4685] được xác định thông qua quá trình thử sai với các điều kiện ràng buộc: góc nghiêng ban đầu Ψ₀ = 0,3 rad, điện áp điều khiển v_r, v_l không vượt 24V, thời gian xác lập góc nghiêng và vị trí dưới 3 giây, vọt lố ít. K_1 được dùng cho khối "Balancing" (điều chỉnh góc nghiêng và vị trí), K_2 cho khối "Heading" (điều chỉnh góc xoay).

3. Bộ lọc Kalman trong đề tài kết hợp những tín hiệu cảm biến nào và cho ra đại lượng gì? Bộ lọc nhận đầu vào từ cảm biến gia tốc (accelerometer) của MPU 6050 cho giá trị góc đo, và cảm biến vận tốc góc (gyroscope) của MPU 6050. Tín hiệu đầu ra là góc nghiêng và vận tốc góc nghiêng thân robot đã được ước lượng tối ưu (loại bỏ nhiễu trắng, độ lợi xấp xỉ 0 với tín hiệu không đáng tin cậy). Thông số Q và R được hiệu chỉnh bằng thử sai dựa trên khuynh hướng thay đổi của hệ thống.

4. Mô hình xe có di chuyển được trên địa hình dốc không, và dốc bao nhiêu độ? Chương 3 ghi nhận mô hình xe di chuyển được trên địa hình dốc nghiêng đến 20°, mặc dù phần giới hạn đề tài ban đầu chỉ đặt mục tiêu ở độ dốc nhỏ hơn 15°. Cơ chế hoạt động là xe tự điều chỉnh nghiêng thân về phía trước khi lên dốc và ngược lại khi xuống dốc, duy trì trọng tâm trong vùng đỡ của hai bánh xe.

5. Hệ thống được xác nhận điều khiển được và quan sát được theo tiêu chí nào? Tác giả kiểm tra bằng cách tính rank ma trận điều khiển M_c = [B, AB, A²B, A³B] và rank ma trận quan sát M_o = [C, CA, CA², CA³]^T. Kết quả cho thấy rank M_c = rank M_o = 4 (bằng bậc của hệ thống), do đó kết luận hệ thống vừa điều khiển được vừa quan sát được, thoả điều kiện để áp dụng thiết kế LQR.


Kết luận

Đồ án "Mô hình xe hai bánh tự cân bằng" của Vũ Quang Tuyên (Trường ĐH Sư Phạm Kỹ thuật TP.HCM, 2020) trình bày một quy trình hoàn chỉnh từ mô hình hóa toán học dựa trên cơ học Newton-Euler, thiết kế và tích hợp phần cứng với linh kiện thương mại, đến lập trình và kiểm nghiệm thực tế hai giải thuật điều khiển LQR và PID thích nghi mô hình tham chiếu. Bộ lọc Kalman rời rạc đóng vai trò xử lý nhiễu cảm biến và cung cấp ước lượng trạng thái đáng tin cậy cho vòng điều khiển. Kết quả đạt được là mô hình xe hoạt động ổn định trên địa hình bằng phẳng và dốc đến 20°, với thông số điều khiển LQR được xác định cụ thể và hệ thống được xác nhận điều khiển được lẫn quan sát được.