Bộ lọc Kalman

Một phần của tài liệu Luân văn cơ điện tử Thiết kế và chế tạo mô hình xe hai bánh tự cân bằng (Trang 39 - 50)

Bộ lọc Kalman là một thuật toán sử dụng chuỗi các phép đo theo thời gian, trong trường hợp này các phép đo chính là giá trị thu được từ cảm biến gia tốc và cảm biến con quay hồi chuyển. Những giá trị đo này chứa nhiễu gây ra sai số cho việc đo đạc. Bộ lọc Kalman sẽ ước lượng trạng thái của hệ thống dựa trên trạng thái

hiện tại và trạng thái trước đó của hệ thống nhằm mục đích tăng độ chính xác hơn so với việc đo đạc độc lập.

Đối với cảm biến gia tốc thì vấn đề đặt ra là cảm biến này rất dễ bị nhiễu khi sử dụng để đo gia tốc trong khi robot đang di chuyển. Đối với cảm con quay hồi chuyển thì vấn đề lại là việc giá trị đo sẽ bị trôi theo thời gian, giống như một chiếc bánh xe đang quay, cảm biến con quay hồi chuyển sẽ ngã khi giảm dần tốc độ quay. Theo một cách ngắn gọn cảm biến con quay hồi chuyển được dùng để tham chiếu về góc trong khoảng thời gian tức thời trong khi đó cảm biến gia tốc lại được dùng để tham chiếu trong khoảng thời gian dài.

Thực ra có một cách rất đơn giản để giải quyết vấn đề này đó chính là sử dụng bộ lọc Complimentary, về cơ bản đây là bộ lọc bao gồm bộ lọc dạng số thông thấp đối với cảm biến gia tốc và lọc thông cao với cảm biến con quay hồi chuyển. Nhưng bộ lọc này cho kết quả không chính xác bằng bộ lọc Kalman.

Bộ lọc Kalman hoạt động bằng cách tạo ra giá trị ước lượng tối ưu thống kê trạng thái của hệ thống dựa trên một chuỗi các phép đo. Để có thể thực hiện được điều này bộ lọc cần biết nhiễu ngõ vào của bộ lọc, nhiễu này thường được gọi là nhiễu đo đạc và nhiễu do chính hệ thống tạo ra gọi là nhiễu xử lý. Để thực thi được bộ lọc thì các nhiễu phải có phân bố Gaussian.

Phương trình của bộ lọc Kalman được chia thành hai nhóm: phương trình cập nhật thời gian và phương trình cập nhật giá trị đo. Phương trình cập nhật thời gian chịu trách nhiệm dự đoán trước (theo thời gian) sử dụng giá trị hiện tại và hiệp biến số ước lượng để dự đoán ước lượng tiền nghiệm cho thời điểm kế tiếp. Phương trình cập nhật giá trị đo chịu trách nhiệm đối với sự phản hồi nghĩa là kết hợp giá trị mới với ước lượng tiền nghiệm nhằm hiệu chỉnh ước lượng hậu nghiệm [5].

Hình 3.4 Quy trình của bộ lọc Kalman

Bộ lọc Kalman được thực hiện gồm 5 bước theo các công thức như sau:

̂ ̂ (8) (9) (10) ̂ ̂ ̂ (11) (12) Trong đó:

̂ : trạng thái tương lai của hệ thống

: ma trận hiệp phương sai số trạng thái

: ma trận độ lợi Kalman

̂ : trạng thái ước lượng của hệ thống

: ma trận hiệp phương sai số ước lượng trạng thái cập nhật

là ma trận đơn vị, là ma trận hệ thống, là ma trận ngõ vào và là ma

trận đo đạc.

Sau mỗi bước cập nhật thời gian và cập nhật phép đo, quá trình được lặp lại với ước lượng hậu nghiệm trước đó để dự đoán một ước lượng tiền nghiệm mới.

3.3 Giải thuật điều khiển PID

PID (Proportional Integral Derivative) là một cơ chế phản hồi vòng điều khiển tổng quát được sử dụng rộng rãi trong cáchệ thống điều khiển nhất là trong robot và công nghiệp. Bộ điều khiển PID tính toán giá trị sai số là hiệu số giữa giá trị đo

thông số biến đổi và giá trị đặt mong muốn. Bộ điều khiển sẽ thực hiện làm giảm tối đa sai số bằng cách điều chỉnh giá trị điều khiển các giá trị đầu vào. Muốn đạt được kết quả tốt nhất thì các thông số PID sử dụng trong tính toán phải điều chỉnh phù hợp với tính chất của hệ thống cần điều các thông số phải phụ thuộc vào đặc thù riêng của hệ thống.

Hình 3.5 Sơ đồ hệ thống PID

Thuật toán PID có thể được diễn tả theo nhiều cách khác nhau nhưng thông thường được mô tả theo biểu thức như sau:

∑ (13) Trong đó:

là sự sai lệch giữa giá trị đo hiện tại của hệ thống và giá trị cài đặt mong muốn.

∑ là tổng các sai số trước đó.

là khoảng thời gian thay đổi biến điều khiển.

là thành phần tỉ lệ có tác dụng làm tăng tốc độ đáp ứng của hệ thống và làm giảm, chứ không triệt tiêu sai số xác lập của hệ.

là thành phần tích phân có tác dụng triệt tiêu sai số xác lập nhưng có thể làm giảm tốc độ đáp ứng của hệ.

là thành phần vi phân làm tăng độ ổn định hệ thống, giảm độ vọt lố và cải thiện tốc độ đáp ứng của hệ.

Vấn đề khó khăn đặt ra khi xây dựng thuật toán PID trên mô hình thực tế đó (adsbygoogle = window.adsbygoogle || []).push({});

chính là chọn lựa các giá trị , và . Để có thể tìm ba hệ số này nhanh nhất

phương pháp Ziegler-Nichols thường được sử dụng. Độ lợi và lúc đầu được

gán bằng 0 và độ lợi được tăng cho đến khi tiến tới độ lợi tới hạn ở đầu ra

của vòng điều khiển bắt đầu dao động. và thời gian dao động được dùng để

gán độ lợi như sau:

Dạng điều khiển KP KI KD

P 0.50Ku

PI 0.45Ku 1.2 KP/ Pu

PID 0.60Ku 2 KP/ Pu KP Pu/8

Bảng 3.1 Phương pháp Ziegler–Nichols

3.4 Giải thuật cân bằng và điều khiển di chuyển

Dựa trên nền tảng của thuật toán điều khiển PID và các công cụ cần thiết giải thuật cân bằng và điều khiển di chuyển trên mô hình xe được xây dựng theo lưu đồ sau:

START

Đọc dữ liệu góc nghiêng từ cảm biến

Tính toán sai số góc nghiêng của xe so với góc nghiêng tại vị trí cân bằng

175 < góc nghiêng hiện tại <185 ?

Chuyển hướng ? Yes

VR > 0 ? Yes

Điều khiển DC trái quay thuận và DC phải quay

nghịch để rẽ phải Yes

Điều khiển DC phải quay thuận và DC trái quay

nghịch để rẽ trái No Điều khiển hướng và

tốc độ để xe cân bằng No

Chuyển hướng ?

No Điều khiển DC trái và phải chạy tới hoặc chạy lui No

VR > 0 ? Yes

Điều khiển DC trái giữ nguyên tốc độ và DC phải

giảm tốc độ để rẽ phải Yes

Điều khiển DC phải giữ nguyên tốc độ và DC trái

giảm tốc độ để rẽ trái No (adsbygoogle = window.adsbygoogle || []).push({});

Hình 3.6 Lưu đồ thuật giải cân bằng và điều khiển di chuyển

Dữ liệu cảm biến được đưa qua bộ lọc Kalman để thu được giá trị chính xác về góc nghiêng của xe. Thuật toán dựa trên sự sai số giữa góc nghiêng của xe với

góc nghiêng tại vị trí cân bằng (1800), khi góc nghiêng của xe thay đổi lớn hoặc nhỏ

hơn góc tại vị trí cân bằng thì điều khiển hai bánh xe di chuyển theo hướng tương ứng sao cho trọng tâm của người điều khiển và xe luôn đặt lên trục của hai bánh xe. Việc điều khiển chiều quay cũng như tốc độ động cơ dựa vào thuật toán PID với các

thông số: = 6, với điện áp điều khiển động cơ dao động trong

khoảng 0V đến 33.2V tương ứng với tỷ lệ từ 0% đến 90% tốc độ tối đa. Giá trị điện

Ta xét giá trị điện áp thu về tử VR tại vị trí ban đầu khi cần điều khiển đang thẳng đứng vuông góc với tâm trục hai bánh xe và cho đó là mức 0. Khi nghiêng cần điều

khiển đồng nghĩa với việc xoay biến trở làm giá trị điện áp trả về thay đổilớn hoặc

nhỏ hơn giá trị điện áp ban đầu khi đó vi điều khiển sẽ so sánh và điều khiển xe rẽ hướng như mong muốn.

Chương 4

KẾT QUẢ THỰC NGHIỆM 4.1 Mô hình cơ khí

Mô hình xe hai bánh tự cân bằng được thiết kế và thi công với khung sườn bằng sắt, có khả năng tải trọng khoảng 120 kg, chiều cao xe 105 cm, rộng 65 cm tốc độ di chuyển tối đa 15 km/h, xe có khả năng di chuyển trên địa hình phẳng với độ

dốc nhỏ hơn , ngoài ra xe cũng có thể di chuyển chậm qua những đoạn đường

gồ ghề có những ổ gà nhỏ.

4.2 Độ chính xác của cảm biến

Góc nghiêng của xe được tính toán dựa vào giá trị trả về từ cảm biến IMU, giá trị thô thu về thường dao động rất lớn do đặc tính của cảm biến gia tốc và cảm biến con quay hồi chuyển rất nhạy với chuyển động của xe. Để có thể đo đạc góc nghiêng của xe thì các giá trị thô này phải được xử lý loại bỏ thành phần nhiễu. Hình 4.1 trình bày kết quả thực nghiệm so sánh giá trị góc nghiêng của xe thu được trực tiếp từ dữ liệu thô của cảm biến và giá trị góc nghiêng sau khi được xử lý với bộ lọc Kalman.

Hình 4.1 So sánh dữ liệu thô và dữ liệu sau khi qua bộ lọc Kalman

Dữ liệu được thu thập truyền về máy tính qua cổng UART và được vẽ bằng phần mềm Labview. Kết quả như trong Hình 4.1 cho thấy góc nghiêng đọc về từ cảm biến sau khi qua bộ lọc Kalman (đường màu đỏ) có độ ổn định cao hơn so với dữ liệu thô thu trực tiếp về từ cảm biến (đường màu xanh).

4.3 Kết quả trên mô hình xe thực tế

Mô hình xe thực tế có khả giữ cân bằng với tải trọng khoảng 120 kg, di chuyển với vận tốc 15 km/h trên địa hình phẳng. Khi xe cân bằng tại vị trí đứng yên xe có khả năng xoay tròn để chuyển hướng như trong Hình 4.2. Video kết quả thực nghiệm của mô hình được đăng tải tại địa chỉ:

Hình 4.2 Điều khiển xe xoay tròn tại vị trí cân bằng

Hình 4.3 Xe lưu thông thực tế trên đường

Chương 5

KẾT LUẬN 5.1 Kết luận

Kết quả đạt được của đề tài.

 Thiết kế hoàn thiện mô hình xe hai bánh tự cân bằng.

 Xây dựng thành công thuật toán điều khiển cân bằng và di chuyển.

 Giao tiếp với Labview truyền thông số PID, giá trị góc nghiêng về máy

tính để so sánh và đánh giá kết quả.

 Hoàn thành thiết kế xe có khả năng lưu thông trên đường,tải trọng (adsbygoogle = window.adsbygoogle || []).push({});

khoảng 120 kg và vận tốc di chuyển ổn định 15 km/h.

 Xe có khả năng vượt qua địa hình với độ dốc lên đến 15

 Đề tài mới xây dựng được thuật toán cân bằng và di chuyển chưa thực

hiện việc tối ưu hóa giải thuật để có thể phát triển thành sản phẩm ứng dụng.

5.2 Hướng phát triển của đề tài

 Chỉnh sửa thiết kế cơ khí tạo kiểu dáng thể thao và tăng sự thoải mái cho

người điều khiển.

 Tăng công suất động cơ để xe có khả năng vượt địa hình tốt hơn, đồng

thời tăng tải trọng của xe.

 Giảm bớt trọng lượng của xe giúp xe nhẹ hơn, giảm tiêu hao năng lượng

để có thể vận hành trong thời gian lâu hơn.

 Phát triển xe cân bằng có thể ngồi để điều khiển tạo sự thoải mái cho

người sử dụng trong điều kiện di chuyển xa.

 Tìm hiểu các thuật toán điều khiển khác như điều khiển gán cực, fuzzy,

TÀI LIỆU THAM KHẢO

[1] Alwafi Husein, Attitude and altitude control of two wheel trirotorhybrid robot,

Master’s thesis, 2013.

[2] Ayça GÖÇMEN, Design of two wheeled electric vehicle, Master’s thesis, 2011.

[3] Christian sundin, Filip thorstensson, Autonomous balancing robot, Master’s

thesis, 2012.

[4] Maria R. Bageant, Balancing a two- wheeled Segway robot, Bachelor’s thesis,

2006.

[5] Welch, G. and G. Bishop, An Introduction to the Kalman Filter, 2006.

[6] Đỗ Bình Nguyên, Điều khiển con lắc ngược di động dùng phương pháp điều

Một phần của tài liệu Luân văn cơ điện tử Thiết kế và chế tạo mô hình xe hai bánh tự cân bằng (Trang 39 - 50)