Tổng quan nghiên cứu
Thị trường robot tự hành và thiết bị vận chuyển thông minh toàn cầu đang ghi nhận mức tăng trưởng ấn tượng khoảng 18% đến 20% mỗi năm, thúc đẩy nhu cầu cấp thiết về các giải pháp di chuyển linh hoạt trong không gian hẹp. Trong bối cảnh đó, hệ thống xe hai bánh tự cân bằng nổi lên như một đối tượng nghiên cứu kinh điển và giàu tính ứng dụng trong ngành Kỹ thuật Điều khiển và Tự động hóa. Tuy nhiên, việc vận hành một mô hình con lắc ngược phi tuyến với nhiều đầu vào - nhiều đầu ra (MIMO) vừa phải duy trì góc nghiêng ổn định, vừa phải tự động phát hiện và bám sát mục tiêu di động trong môi trường thực tế luôn đặt ra những thách thức lớn về thuật toán và năng lực tính toán nhúng.
Đề tài nghiên cứu được thực hiện tại Bộ môn Điều khiển Tự động, Khoa Điện - Điện tử thuộc Trường Đại học Bách Khoa - Đại học Quốc gia TP. Hồ Chí Minh trong năm 2021. Mục tiêu trọng tâm của nghiên cứu là thiết kế, chế tạo hoàn chỉnh mô hình phần cứng xe hai bánh tự cân bằng, đồng thời phát triển hệ thống điều khiển bám theo vật thể xác định dựa trên nhận diện màu sắc và xử lý khoảng cách thời gian thực.
Nghiên cứu hướng tới việc tối ưu hóa khả năng ổn định góc nghiêng thân xe với sai số giới hạn dưới 1.0 độ, kiểm soát vị trí bám mục tiêu chính xác trong phạm vi khoảng cách từ 20 cm đến 80 cm, và đảm bảo hệ thống giữ vững trạng thái cân bằng ngay cả khi chịu tác động của tải trọng gắn thêm lên tới 1.5 kg. Kết quả của đề tài đóng góp một giải pháp khả thi về mặt kỹ thuật, kết hợp nhịp nhàng giữa xử lý ảnh trên máy tính nhúng và điều khiển vòng kín trên vi điều khiển 32-bit chuyên dụng.
Cơ sở lý thuyết và phương pháp nghiên cứu
Khung lý thuyết áp dụng
Nghiên cứu xây dựng trên nền tảng lý thuyết động lực học hệ phi tuyến con lắc ngược và lý thuyết điều khiển tự động hiện đại. Phương trình vi phân mô tả chuyển động của robot hai bánh trên mặt phẳng được thiết lập dựa trên nguyên lý Euler-Lagrange và cân bằng lực cơ học, phản ánh mối quan hệ phi tuyến giữa điện áp cấp cho hai động cơ DC với ba biến trạng thái đầu ra: góc nghiêng thân xe, vị trí di chuyển tịnh tiến và góc xoay hướng.
Hệ thống điều khiển áp dụng cấu trúc phân tách kênh (Decoupling Control) kết hợp với ba bộ điều khiển vi tích phân tỉ lệ (PID) hoạt động phân tầng: Bộ điều khiển PID góc nghiêng chịu trách nhiệm ổn định thân xe ở vị trí thẳng đứng; Bộ điều khiển PID khoảng cách tạo tín hiệu đặt góc nghiêng để xe tiến hoặc lùi; và Bộ điều khiển PID góc xoay điều chỉnh sai lệch hướng để đưa vật thể về đúng tâm khung hình.
Để giải quyết triệt để vấn đề nhiễu đo lường từ cảm biến quán tính MPU6050, nghiên cứu ứng dụng thuật toán Bộ lọc Kalman rời rạc (Discrete Kalman Filter). Thuật toán thực hiện chu trình đệ quy hai bước gồm phương trình dự đoán trạng thái (Time Update) và phương trình hiệu chỉnh giá trị (Measurement Update) dựa trên ma trận hiệp phương sai sai số, giúp dung hòa dữ liệu giữa cảm biến gia tốc 3 trục (Accelerometer) và con quay hồi chuyển 3 trục (Gyroscope). Bên cạnh đó, lý thuyết xử lý ảnh hình thái học trong không gian màu HSV cùng thuật toán nhận diện đường bao Contour được áp dụng để trích xuất tọa độ tâm và ước lượng khoảng cách mục tiêu theo hàm tiêu cự quang học.
Phương pháp nghiên cứu
Phương pháp nghiên cứu kết hợp chặt chẽ giữa mô hình hóa toán học, mô phỏng số và thực nghiệm kiểm chứng trên mô hình vật lý. Dữ liệu thực nghiệm được thu thập từ 160 lần chạy thử nghiệm lặp lại trên các kịch bản khoảng cách đặt 20 cm, 50 cm, 60 cm, dải góc lệch ban đầu từ âm 30 độ đến dương 25 độ, và trong hai trạng thái tải trọng: không tải và có tải 1.5 kg.
Phương pháp chọn mẫu thực nghiệm được tiến hành theo nguyên tắc phân tầng có chủ đích, chia theo các điều kiện nhiễu môi trường: bề mặt sàn phẳng có hệ số ma sát thay đổi, cường độ ánh sáng chiếu sáng từ 150 lux đến 600 lux và các mức nhiễu đo lường R khác nhau trong bộ lọc Kalman.
Lý do lựa chọn phương pháp phân tích miền thời gian (Time-domain analysis) và mô phỏng trên nền tảng Matlab Simulink là nhằm xác định chính xác các chỉ tiêu chất lượng quá độ như thời gian lên, độ vọt lố, thời gian xác lập trước khi triển khai trực tiếp mã nguồn C/C++ lên vi điều khiển ARM Cortex-M4 STM32F407VGT6 hoạt động ở tần số 168 MHz và mã nguồn Python OpenCV trên máy tính nhúng Raspberry Pi 3B+ Quad-core 1.4 GHz. Quá trình thực nghiệm được giám sát và thu thập dữ liệu tự động thông qua giao diện phần mềm C# kết nối truyền thông không dây Bluetooth HC-05 với tốc độ truyền 115200 baud.
Kết quả nghiên cứu và thảo luận
Những phát hiện chính
Quá trình mô phỏng và thực nghiệm trên mô hình thực tế đã đem lại các kết quả nổi bật sau:
Thứ nhất, việc cấu hình và tinh chỉnh ma trận hiệp phương sai nhiễu đo lường R trong bộ lọc Kalman đã chứng minh khả năng triệt tiêu tới 86% biên độ gai nhiễu tần số cao từ cảm biến MPU6050 so với tín hiệu đo thô. Khi lựa chọn giá trị R tối ưu, đáp ứng góc nghiêng của hệ thống có biên độ dao động quanh điểm cân bằng giảm mạnh, duy trì góc lệch thực tế ổn định trong dải sai số hẹp chỉ từ 0.5 đến 0.8 độ.
Thứ hai, cấu trúc phân tách kênh điều khiển giúp xe triệt tiêu trên 90% hiện tượng can thiệp chéo giữa kênh điều khiển chuyển động tịnh tiến và kênh điều khiển chuyển động quay. Khi đặt tải trọng 1.5 kg lên thân xe (tương đương khoảng 100% trọng lượng phần cứng của robot), bộ điều khiển PID góc nghiêng vẫn dập tắt dao động và đưa xe về trạng thái ổn định với thời gian xác lập dưới 1.4 giây.
Thứ ba, thuật toán xử lý ảnh HSV sau khi tối ưu hóa kích thước khung hình về bề rộng 600 pixel đã duy trì tốc độ xử lý ổn định 30 khung hình/giây (FPS) trên máy tính nhúng Raspberry Pi 3B+. Độ trễ tính toán định vị vật thể giảm xuống dưới 33 mili giây, đảm bảo khả năng truyền dữ liệu khoảng cách và góc xoay liên tục qua cổng UART đến kit STM32F407 mà không gây hiện tượng nghẽn dòng lệnh điều khiển.
Thứ tư, hệ thống bám mục tiêu đạt độ chính xác cao trên toàn bộ dải đo thử nghiệm. Khi khoảng cách đặt thay đổi từ 20 cm lên 50 cm và 60 cm, xe phản hồi mượt mà với thời gian đáp ứng bám vị trí từ 1.8 đến 2.5 giây, sai số vị trí xác lập đo qua camera so với khoảng cách thực tế duy trì ở mức dưới 3.5%.
Thảo luận kết quả
Hiệu năng ấn tượng của hệ thống bắt nguồn từ sự phối hợp tối ưu giữa khâu xử lý tín hiệu đầu vào và cấu trúc điều khiển phân tầng. Thành phần vi phân KD trong bộ điều khiển góc nghiêng cung cấp tác động cản kịp thời chống lại xu hướng ngã của thân xe, trong khi thành phần tích phân KI triệt tiêu hoàn toàn sai số xác lập ngay cả khi trọng tâm xe bị dịch chuyển do tải trọng ngoài.
Dữ liệu thực nghiệm thu thập qua phần mềm C# được trình bày trực quan thông qua các đồ thị đáp ứng thời gian (Step Response) cho từng thông số góc nghiêng, góc xoay và khoảng cách. Bảng số liệu đối sánh tiêu cự camera ở khoảng cách chuẩn 1.0 m cho thấy việc hiệu chuẩn kích thước vật thể thực tế đóng vai trò quyết định đến độ chính xác của phép đo khoảng cách quang học.
So với các nghiên cứu áp dụng bộ điều khiển tối ưu tuyến tính LQR hoặc điều khiển mờ (Fuzzy Logic) đòi hỏi mô hình toán học cực kỳ chính xác hoặc tài nguyên tính toán lớn, giải pháp PID phân tách kết hợp lọc Kalman rời rạc thể hiện tính thích ứng vượt trội trong điều kiện mô hình chế tạo thủ công. Thuật toán đáp ứng tốt tính chất cơ học không đồng nhất của khung xe mica và sự phi tuyến của động cơ DC servo JGB37-520 có hộp số giảm tốc tỉ lệ 1:56.
Đề xuất và khuyến nghị
Dựa trên các kết quả đạt được và những hạn chế thực tế về phần cứng, nghiên cứu đề xuất 4 nhóm giải pháp cụ thể:
Thứ nhất, nâng cấp thuật toán thị giác máy tính: Chuyển đổi từ thuật toán lọc màu HSV truyền thống sang mô hình mạng nơ-ron tích chập rút gọn như MobileNetV2 hoặc YOLO-Tiny trên nền tảng thư viện tăng tốc phần cứng. Mục tiêu nâng tỷ lệ nhận diện chính xác vật thể trong điều kiện ánh sáng phức tạp lên trên 97% với độ trễ dưới 25 mili giây. Thời gian triển khai dự kiến trong 4 tháng bởi nhóm nghiên cứu Trí tuệ nhân tạo và Thị giác máy tính.
Thứ hai, cải tiến hệ thống truyền động và cảm biến cơ điện tử: Thay thế động cơ DC chổi than bằng động cơ không chổi than (BLDC) tích hợp đĩa encoder quang học độ phân giải 2048 hoặc 4096 xung/vòng, kết hợp bộ điều khiển dòng điện chuyên dụng. Giải pháp này giúp tăng mô-men xoắn đáp ứng thêm 40%, triệt tiêu độ rơ cơ khí của hộp số và giảm rung chấn thân xe xuống dưới 2%. Thời gian thực hiện trong 6 tháng do nhóm kỹ sư Thiết kế Cơ điện tử phụ trách.
Thứ ba, ứng dụng lý thuyết điều khiển thích nghi kháng nhiễu: Nghiên cứu triển khai thuật toán điều khiển trượt thích nghi (Adaptive Sliding Mode Control) hoặc điều khiển dự báo mô hình (MPC) trên vi điều khiển để mở rộng giới hạn chịu tải trọng động lên mức 3.0 kg và tăng khả năng thích ứng khi di chuyển trên địa hình nghiêng dốc từ 5 đến 10 độ. Lộ trình nghiên cứu kéo dài 9 tháng do các chuyên gia Điều khiển Tự động thực hiện.
Thứ tư, chuẩn hóa kiến trúc truyền thông và kết nối hệ thống: Tích hợp hệ điều hành Robot (ROS 2) qua giao tiếp không dây tốc độ cao Wi-Fi hoặc 5G, cho phép đồng bộ hóa dữ liệu xe với hệ thống điều hành trung tâm với độ trễ truyền gói tin dưới 10 mili giây. Dự án dự kiến triển khai trong 12 tháng bởi nhóm phát triển Hệ thống Nhúng và IoT Công nghiệp.
Đối tượng nên tham khảo luận văn
Nội dung và kết quả nghiên cứu mang lại giá trị học thuật lẫn ứng dụng thực tiễn cho 4 nhóm đối tượng chính:
Thứ nhất, sinh viên và học viên cao học chuyên ngành Tự động hóa, Cơ điện tử và Kỹ thuật Máy tính: Luận văn cung cấp tài liệu toàn diện từ mô hình hóa toán học, lập trình nhúng STM32 bằng STM32CubeMX, cấu hình thanh ghi cảm biến MPU6050, lập trình xử lý ảnh OpenCV trên Linux, cho đến thiết kế giao diện C# giám sát dữ liệu.
Thứ hai, kỹ sư nghiên cứu và phát triển (R&D) trong lĩnh vực xe tự hành AGV/AMR: Tài liệu là tài liệu tham khảo giá trị về giải pháp phân tách kênh điều khiển cho các hệ thống di động đa ngõ vào - đa ngõ ra và kỹ thuật bám mục tiêu bằng camera đơn cự ly gần.
Thứ ba, giảng viên và cán bộ nghiên cứu tại các viện, trường đại học: Luận văn đóng vai trò như một bài tập lớn hoặc giáo trình thực hành mẫu cho các môn học Hệ thống Điều khiển Nhúng, Thị giác Máy tính và Lý thuyết Điều khiển Hiện đại.
Thứ tư, các doanh nghiệp khởi nghiệp và sản xuất thiết bị công nghệ tự hành: Cung cấp cơ sở tính toán chi phí phần cứng tối ưu, lựa chọn linh kiện tương thích (STM32F4, Raspberry Pi, driver TB6612FNG) nhằm phát triển các dòng sản phẩm thương mại như xe vận chuyển hàng mini hoặc thiết bị hỗ trợ di chuyển cá nhân.
Câu hỏi thường gặp
Tại sao lại sử dụng bộ lọc Kalman thay vì bộ lọc bù cho cảm biến MPU6050?
Cảm biến MPU6050 chịu ảnh hưởng bởi nhiễu rung cơ khí trên cảm biến gia tốc và hiện tượng trôi dạt (drift) tích lũy trên con quay hồi chuyển. Bộ lọc Kalman rời rạc sử dụng mô hình toán học ngẫu nhiên đệ quy và ma trận hiệp phương sai sai số, giúp ước lượng trạng thái góc nghiêng tối ưu với sai số dưới 0.8 độ, vượt trội hơn độ trễ pha của bộ lọc bù đơn giản.
Làm thế nào để xe giữ được cân bằng khi đặt thêm tải trọng 1.5 kg?
Khi có tải trọng 1.5 kg tác động làm dịch chuyển trọng tâm thân xe, khâu tích phân KI trong bộ điều khiển PID góc nghiêng lập tức tích lũy sai số lệch và tự động tăng điện áp trung bình cấp cho động cơ JGB37-520. Động cơ nhanh chóng tạo lực đẩy bánh xe về phía nghiêng, thiết lập lại trạng thái cân bằng chỉ trong 1.4 giây.
Thuật toán xử lý ảnh nhận diện và tính khoảng cách đến mục tiêu bằng cách nào?
Hệ thống sử dụng không gian màu HSV để lọc màu sắc đặc trưng của vật thể mà không bị phụ thuộc vào sự thay đổi độ sáng môi trường. Sau khi tìm được đường bao lớn nhất (Contour), thuật toán xác định độ rộng tính bằng pixel và áp dụng công thức hình học quang học dựa trên tiêu cự 3.04 mm của camera Sony IMX219 để tính ra khoảng cách thực tế với độ chính xác trên 96%.
Khối phân tách kênh điều khiển giải quyết vấn đề gì trong hệ thống?
Hệ xe hai bánh cân bằng có hai động cơ nhưng phải đồng thời điều khiển góc nghiêng, vị trí tịnh tiến và góc xoay. Khối phân tách kênh thực hiện phép cộng và trừ đại số giữa tín hiệu điều khiển góc nghiêng và góc xoay để phân bổ điện áp độc lập cho động cơ trái và động cơ phải, triệt tiêu 90% sự tương tác chéo giữa các bậc tự do.
Giao tiếp UART giữa Raspberry Pi và STM32F407 được tối ưu hóa như thế nào?
Để hạn chế độ trễ truyền thông, dữ liệu khoảng cách và góc xoay tính toán từ Raspberry Pi 3B+ được đóng gói thành các chuỗi ký tự chuẩn hóa ngắn gọn và gửi qua giao tiếp nối tiếp UART với tốc độ cao. Vi điều khiển STM32F407 sử dụng cơ chế ngắt nhận hoặc bộ điều khiển truy cập bộ nhớ trực tiếp (DMA) để tiếp nhận dữ liệu ngay lập tức mà không làm gián đoạn vòng quét điều khiển cân bằng 100 Hz.
Kết luận
Nghiên cứu về đề tài "Xe hai bánh tự cân bằng bám theo vật xác định" đã giải quyết trọn vẹn cả bài toán lý thuyết điều khiển hệ phi tuyến và triển khai thực nghiệm nhúng với các đóng góp trọng tâm:
- Xây dựng thành công mô hình động lực học hoàn chỉnh và cấu trúc điều khiển phân tầng PID phân tách kênh, giúp xe tự cân bằng ổn định với sai số góc nghiêng dưới 0.8 độ.
- Triển khai thành công bộ lọc Kalman rời rạc trên vi điều khiển STM32F407 32-bit, xử lý chính xác dữ liệu từ cảm biến quán tính 6 bậc tự do MPU6050.
- Phát triển hệ thống xử lý ảnh thời gian thực trên Raspberry Pi 3B+ đạt tốc độ 30 FPS, nhận diện và bám đuổi mục tiêu màu sắc chính xác trong dải khoảng cách từ 20 cm đến 80 cm.
- Kiểm chứng độ bền vững của thuật toán điều khiển dưới tác động của ngoại lực và tải trọng gắn thêm 1.5 kg với thời gian xác lập dưới 1.4 giây.
- Hoàn thiện hệ thống giám sát và thu thập dữ liệu thời gian thực trực quan thông qua phần mềm giao diện C# kết nối Bluetooth.
Trong giai đoạn 6 đến 12 tháng tiếp theo, nhóm nghiên cứu khuyến nghị tích hợp thuật toán học sâu nhận diện đa đối tượng và nâng cấp động cơ không chổi than để hoàn thiện sản phẩm hướng tới ứng dụng thực tế trong công nghiệp. Bạn đọc và các nhà nghiên cứu quan tâm có thể khai thác mã nguồn và sơ đồ thiết kế chi tiết để phát triển các thế hệ robot tự hành thông minh tiếp theo.