PDA

View Full Version : Thắc mắc về Particle filter


ajack
29-09-2009, 10:16 AM
Chào mọi người,
Mình đang nghiên cứu về particle filter, tuy rằng có đọc rất nhiều tài liệu (đa phần là những article google được), nhưng cũng còn lùng bùng rất nhiều về nó. Mục đích của mình là sử dụng nó trong việc tracking robot, trước mắt là simulation trên matlab cái đã.

Mình xin tóm tắt giải thuật như sau: <Mình có sửa một số chỗ ở giải thuật>

pose(k) = [ x(k), y(k), theta(k) ] là ma trận tọa độ của robot ở thời điểm k.
s(k) = [ s1(k), s2(k), s3(k) ] là ma trận tín hiệu tọa độ suy ra từ sensor ở thời điểm k.

Tạo N paricle (N càng lớn thì càng tốt nhưng tốn bộ nhớ)
p(k) = [ p1(k), p2(k), ..., pn(k) ], mỗi p_i(k) là một ma trận như pose(k)

Ma trận trọng số cho particle:
w(k) = [ w1(k), w2(k), ..., wn(k) ], trọng số w_i(0) ban đầu có giá trị 1/N

1. Xem thử các trọng số có nhỏ hơn giới hạn cho phép hay không, nếu nhỏ hơn thì phải resampling

2. Dựa vào giá trị của các particle ở thời điểm (k-1) trước đó để xác định được các particle p(k) theo xác suất Baye:
p(k) ~ P( p(k)|p(k-1) ) <-- mình cũng không chắc chỗ này mình hiểu có đúng vấn đề không nữa

3. Update các trọng số của các particle
w(k) = w(k-1)*p( s(k)|p(k) )

Ngay ở chỗ update trọng số thì mình rất không hiểu công thức nó như thế nào, và ở phần trên mình cũng nghĩ là mình chưa hiểu rõ được vấn đề nên còn vài vướng mắc.
Hơn nữa, hồi học xác suất thống kê thì tuy rằng có học công thức Baye trong xác suất, nhưng không biết ở trong đây thì P(a|b) tính ra như thế nào...

Mong rằng mọi người có thể cùng chia sẻ để giúp mình hiểu rõ vấn đề cặn kẽ hơn