Full Đồ án: Xe tự cân bằng LQR, xử lý ảnh bám bóng (ĐH Sư phạm Kỹ thuật)

Tải full đồ án xe hai bánh tự cân bằng giải thuật LQR. Báo cáo chi tiết ứng dụng xử lý ảnh để robot nhận dạng và bám theo quả bóng.

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2020

92
0
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu về Robot Tự Cân Bằng LQR

Robot tự cân bằng LQR là một hệ thống điều khiển tiên tiến dựa trên nguyên lý con lắc ngược, được ứng dụng rộng rãi trong lĩnh vực điều khiển tự động. Đồ án này phát triển từ lý thuyết cơ bản đến thiết kế thực tế, kết hợp bộ điều khiển LQR (Linear Quadratic Regulator) với công nghệ xử lý ảnh hiện đại. Hệ thống gồm hai bánh xe song song với nhau, được điều khiển bởi Arduino Mega 2560 và cảm biến MPU 6050 để phát hiện góc nghiêng. Sự kết hợp giữa phần cứng và phần mềm tạo nên một robot thông minh có khả năng duy trì trạng thái cân bằng trong các điều kiện khác nhau, đồng thời có thể nhận dạng và theo dõi mục tiêu chuyển động.

1.1. Nguyên lý hoạt động xe hai bánh tự cân bằng

Xe hai bánh tự cân bằng hoạt động dựa trên nguyên lý cân bằng động. Khi robot bắt đầu bị lệch về phía trước, cảm biến MPU 6050 sẽ phát hiện góc nghiêng và gửi tín hiệu tới Arduino. Bộ điều khiển LQR sẽ tính toán mô-men xoay cần thiết để điều khiển động cơ DC nhằm khôi phục trạng thái cân bằng. Quá trình này diễn ra liên tục, cho phép robot duy trì thăng bằng ổn định trên hai bánh xe.

1.2. Ứng dụng bộ điều khiển LQR trong hệ thống

Bộ điều khiển LQR (Linear Quadratic Regulator) là giải pháp tối ưu hóa cho hệ thống điều khiển tuyến tính. Nó tối thiểu hóa hàm chi phí để đạt được phản ứng nhanhổn định cao. So với bộ điều khiển PID truyền thống, LQR cung cấp hiệu suất tốt hơn, đặc biệt trong các tình huống đòi hỏi độ chính xác caophản ứng động nhanh.

II. Xử lý Ảnh và Nhận Dạng Đối Tượng

Xử lý ảnh là thành phần then chốt cho phép robot bám theo quả bóng bằng Raspberry Pi. Hệ thống sử dụng thư viện OpenCVngôn ngữ Python để phân tích hình ảnh từ camera và nhận dạng vật thể. Không gian màu HSV được sử dụng thay vì RGB vì nó tách riêng thông tin màu khỏi độ sáng, giúp nhận dạng chính xác hơn. Robot sẽ phát hiện quả bóng dựa trên dải màu nhất định, sau đó tính toán vị trí tâm đường tròn để xác định khoảng cách và hướng cần di chuyển. Dữ liệu này được gửi tới Arduino thông qua giao tiếp I2C.

2.1. Phương pháp nhận dạng màu sắc HSV

Không gian màu HSV (Hue, Saturation, Value) tách thành phần màu khỏi độ sáng, giúp nhận dạng vật thể độc lập với ánh sáng. Quá bóng tennis vàng cam được xác định bằng dải giá trị Hue cụ thể. Hình ảnh được chuyển từ RGB sang HSV, sau đó áp dụng mask để cô lập đối tượng mục tiêu, tạo ra hình ảnh nhị phân chứa chỉ quả bóng.

2.2. Tìm tâm và theo dõi vị trí bóng

Sau khi nhận dạng được quả bóng, hệ thống sử dụng thuật toán tìm contour để xác định đường viền. Hough Circle Transform giúp phát hiện hình tròn hoàn hảo. Từ đó, tâm đường tròn được tính toán, cung cấp tọa độ pixel của bóng. Khoảng cách thực tế được ước tính dựa trên bán kính bóng trong hình ảnh.

III. Tích hợp Điều Khiển LQR và PID

Để robot vừa có thể tự cân bằng vừa bám theo bóng, cần kết hợp hai bộ điều khiển. Bộ điều khiển LQR chịu trách nhiệm duy trì cân bằng thân robot, trong khi bộ điều khiển PID điều khiển tốc độ di chuyển để theo sát quả bóng. Arduino Mega 2560 nhận tín hiệu từ Raspberry Pi qua I2C, xử lý dữ liệu từ MPU 6050, và phát ra lệnh điều khiển tới H-Bridge XY-160D để điều khiển động cơ DC. Chiến lược điều khiển này cho phép robot hoạt động tự năng, phản ứng linh hoạt với các thay đổi môi trườngvị trí đối tượng.

3.1. Vai trò bộ điều khiển LQR trong cân bằng

LQR giải quyết bài toán tối ưu hóa để tìm luật điều khiển tuyến tính làm cực tiểu hóa hàm chi phí bậc hai. Nó sử dụng phương trình Riccati để tính ma trận lợi K. LQR cung cấp phản ứng nhanh, mượt mà so với PID, đạt cân bằng ổn định ngay cả với nhiễu và độ chính xác cao.

3.2. Vai trò bộ điều khiển PID trong theo dõi

Bộ điều khiển PID điều chỉnh tốc độ motor dựa trên sai số khoảng cách giữa tâm robottâm bóng. Thành phần P (Proportional) đảm bảo phản ứng nhanh, I (Integral) loại bỏ sai số tĩnh, và D (Derivative) giảm dao động. Sự kết hợp này tạo hệ thống ổn định, chính xác trong theo dõi vật động.

IV. Phần Cứng và Hệ Thống Giao Tiếp

Hệ thống robot sử dụng phần cứng chuyên dụng bao gồm Arduino Mega 2560 làm bộ xử lý chínhRaspberry Pi cho xử lý ảnh. Cảm biến MPU 6050 phát hiện góc và gia tốc, module H-Bridge XY-160D điều khiển động cơ DC Nisca NFS5475E công suất cao. Giao tiếp I2C kết nối ArduinoRaspberry Pi, cho phép truyền dữ liệu nhanh. Giao tiếp UART được sử dụng cho module Bluetooth HC-05 giúp giám sát từ xa. Giảm áp LM2596 cung cấp nguồn điện ổn định cho các linh kiện. Kiến trúc này đảm bảo hiệu suất cao, độ tin cậytính linh hoạt trong mở rộng chức năng.

4.1. Giao tiếp I2C giữa Arduino và Raspberry Pi

Giao tiếp I2C (Inter-Integrated Circuit) là chuẩn truyền thông đồng bộ hai dây, cho phép truyền dữ liệu nhanh chóng giữa Arduino Mega 2560Raspberry Pi. Raspberry Pi gửi tọa độ bóng tính được từ xử lý ảnh, Arduino nhận dữ liệu và xử lý điều khiển. Tốc độ truyền 400 kHz đủ để đáp ứng yêu cầu thời gian thực.

4.2. Bộ lọc Kalman cho ước tính trạng thái

Bộ lọc Kalman được sử dụng để lọc nhiễu từ cảm biến MPU 6050, cung cấp ước tính trạng thái chính xác của góc nghiêngtốc độ góc. Nó kết hợp dự đoán mô hình với đo lường cảm biến để tạo ra ước tính tối ưu, giảm ảnh hưởng của nhiễu cảm biếncải thiện độ ổn định của hệ thống điều khiển.

28/12/2025