PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   RTOS và Thuật toán với PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=33)
-   -   Bộ lọc Kalman dùng PIC (http://www.picvietnam.com/forum/showthread.php?t=793)

rocket42 22-06-2012 11:46 PM

Giới thiệu bộ lọc Kalman - kalman filter
Đây là phát minh vĩ đại nhất về ước lượng thống kê của loài người trong thế kỷ 20, do nhà bác học người Mỹ gốc Hungari E.Kalman phát minh ra. Ứng dụng của nó là cực kì to lớn trong hầu hết các lĩnh vực như điều khiển, tự động hóa, hàng không, vũ trụ,...Nó ra đời đưa khoa học kỹ thuật lên một tầm cao mới.
Trước hết ta không nên hiểu đơn thuần bộ lọc kalman là tách một cái gì đó trong mớ hỗn độn nhiều thứ: như lọc nhiễu trong xử lí tín hiệu, ....Bản chất của bộ lọc Kalman to lớn hơn nhiều. Nói cách khác nó dùng để ước lượng trạng thái của quá trình. Vậy, trạng thái của quá trình là gì?
Trạng thái của một quá trình là bất kì cái gì phản ánh sự tồn tại của quá trình đó. từ đây R ví dụ luôn về chủ đề động cơ điện 1 chiều mà F sắp post. một động cơ điện đang quay thì trạng thái của nó chính là vị trí, tốc độ,...
BỘ lọc này là dùng để ước lượng trạng thái ở thời điểm T+t1 khi biết trạng thái ở thời điểm T (t1 là bất kì). cụ thể, biết vị trí, vận tốc của động cơ ở thời điểm T ta hoàn toàn có thể ước lượng được (dự đoán được) vị trí, vận tốc của động cơ ở thời điểm T+t1. Như ta thấy rằng ta chỉ dùng encoder để đo góc, nếu muốn đo vận tốc ta phải có thêm cảm biến. Bộ lọc Kalman giải quyết vấn đề ko cần cảm biến ta vẫn có thể biết được vận tốc ở các thời điểm và rất nhiều các tham số khác mà ta không đo được bằng cảm biến.
Về mặt toán học, bộ lọc này đặc trưng bởi 2 phương trình: phương trình biểu diễn quá trình và phương trình đo. Để áp dụng bộ lọc kalman ta phải tiến hành mô hình hóa để đưa nó về dạng toán học chuẩn của 2 phương trình này để rút ra các hệ số bộ lọc kalman. Tất nhiên quá trình mô hình hóa càng chuẩn xác và phép đo càng ít sai số thì bộ lọc Kalman hoạt động càng OK. Cụ thể, với động cơ một chiều ta sử dụng định luật cơ học của Newton và các định luật điện học để mô hình hóa nó và đưa về dạng chuẩn (vấn đề này được giải quyết ở nhiều tài liệu rồi). Về phương trình đo, thì hiển nhiên rằng dùng encoder ta đo đo được góc.
Sau khi đã có được các hệ số bộ lọc Kalman. Quá trình lập trình thực hiện bộ lọc này chỉ là các phép tính ma trận đơn thuần như cộng, trừ, chuyển vị,... Cái quan trọng nhất khi sử dụng kalman là mô hình hóa cái ta cần áp dụng kalman vào để có được các hệ số bộ lọc.
Như vậy việc thực hiện ứng dụng trên bộ lọc kalman trên PIC chỉ là viết chương trình thực hiện các phép tính mà trận.
Tới đây, vấn đề đặt ra mới là thời gian thực. Tức là tùy vào ứng dụng phải đáp ứng thời gian thực tới đâu để ta chọn loại PIC sử dụng. Lời khuyên là không nên phung phí tài nguyên.
hi vọng, anh F sớm có bài post. thanks!
Good luck!

hoasuadanang 26-04-2013 02:38 AM

lâu quá rồi anh Fall ko post bài vậy

kami90 24-06-2013 11:57 AM

mình thực hiện với dspic30f4011 tại 16MIPS hết 3ms

Trung_Thanh 07-07-2013 12:50 AM

Em thấy vấn đề mô hình hóa Bộ lọc Kalman là quan trọng nhất nhưng tài liệu trên các diễn đàn sơ sài quá @@ ! Bài Anh F đăng lên cũng không hết ý! Hy vọng các cao thủ mở rộng thêm và đi sâu vào vấn đề này! Việc Mô hình hóa bộ lọc Kalman tùy thuộc từng bài toán nhưng vẫn tuân theo 1 chuẩn nhất định! (trích dẫn thầy em) Mong các anh chỉ giáo thêm nhiều điều

themanhhl 30-01-2014 08:19 PM

anh falleaf không post bài chủ đề này nữa à. em đang tìm hiểu về bộ lọc Kalman này mà thấy khó quá


Múi giờ GMT. Hiện tại là 01:59 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam