WE ARE CEE

CENTER ELECTRICAL ENGINEERING

Mobile, Embedded System, PCB Layout, Robotics and UAV

Nghiên cứu & Chuyển giao CN

SỬ DỤNG BỘ LỌC KALMAN MỞ RỘNG THÍCH NGHI KẾT HỢP LOGIC MỜ CHO VÀI TOÁN ĐỊNH VỊ ROBOT DI ĐỘNG

I. Giới thiệu

Vấn đề chính yếu trong các nghiên cứu về robot di động hiện nay là bài toán dẫn đường cho robot. Leonard và Durant-Whyte (1991) đã tóm tắt bài toán chung của dẫn đường robot di động là việc trả lời 3 câu hỏi: “robot đang ở đâu ?”, “robot sẽ đi tới đâu ?”, và “robot sẽ đi tới đó như thế nào ?”. Để trả lời cho 3 câu hỏi này robot phải có sẵn hoặc tự xây dựng trong bộ nhớ của nó một mô hình môi trường, phải nhận biết và phân tích môi trường, tự xác định vị trí của nó trong môi trường để sau cùng là lập kế hoạch và điều khiển chuyển động đến đích. Việc nghiên cứu sử dụng các cảm biến và hệ thống phần cứng hiện đại cũng như phát triển các giải thuật phần mềm nhằm tăng độ tin cậy của ước lượng vị trí robot là để giải quyết câu hỏi thứ nhất: định vị robot trong môi trường của nó. Vị trí của robot được tính từ những số đo của các cảm biến đặt trên nó.

Đối với các ứng dụng của robot di động trong môi trường trong nhà, khi không có thông tin về bản đồ môi trường thì việc định vị có thể thực hiện bằng phương pháp dùng cột mốc (landmark) hoặc dead reckoning. Khi sử dụng phương pháp dead reckoning, hệ thống sẽ chịu tác động của hai loại sai số là sai số hệ thống và sai số ngẫu nhiên [1]. Sai số hệ thống chủ yếu gây ra bởi sự không hoàn hảo trong quá trình thiết kế và chế tạo kết cấu cơ khí của robot như: đường kính hai bánh không đồng nhất, đường kính trung bình của hai bánh khác với đường kính danh định, trục của bánh xe bị lệch, khoảng cách hai bánh không chắc chắn, giới hạn về độ phân giải và tần số lấy mẫu của bộ lập mã bị giới hạn. Trong khi các yếu tố như mặt sàn không bằng phẳng, chướng ngại vật bất thường trên đường di chuyển,  sai lệch của bánh xe do trượt trên mặt sàn, gia tốc lớn, quay nhanh hoặc các ngoại lực tác dụng lên robotsẽ gây nên các sai số ngẫu nhiên. Trong một số trường hợp sai số hệ thống có thể khắc phục phần nào bằng cách tiến hành các thực nghiệm để tìm ra các sai số này và đưa ra các phương pháp bù cho hệ thống. Sai số ngẫu nhiên, mặt khác, thường là không biết trước do tính chất ứng dụng rộng rãi của robot di động trên môi trường hoạt động thực tế phức tạp. Thêm vào đó, các phép đo thu thập thông tin từ các cảm biến của robot chính là phép đo của các đại lượng vật lý nên sẽ chịu ảnh hưởng của sai số ngẫu nhiên của phép đo. Như vậy hệ thống robot sẽ chịu tác động của hai loại sai số ngẫu nhiên đó là sai số ngẫu nhiên của bản thân hệ thống và sai số ngẫu nhiên của các phép đo. Làm thế nào để giảm thiểu được loại sai số này đã được đề cập đến trong một số nghiên cứu trước [1,2,3,4]. Trong đó, một trong những phương pháp hay được sử dụng đó là dùng bộ lọc để loại bỏ những dữ liệu không cần thiết hoặc những dữ liệu sai. Nhiều phương pháp lọc đã được nghiên cứu nhưng với bài toán định vị cho robot di động thì bộ lọc EKF có nhiều ưu điểm [5,6,7,8]. Bộ lọc này tỏ ra hiệu quả khi kết hợp thêm dữ liệu từ cảm biến bên cạnh thông tin về hệ thống để ước tính vị trí của robot trong trường hợp hệ thống bị ảnh hưởng bởi nhiễu Gauss [2-3]. Trong hoạt động của robot di động, mức độ hiệu quả của bộ lọc EKF phụ thuộc nhiều vào sự chính xác trong việc xác định ma trận hiệp phương sai Q và R của nhiễu quá trình và nhiễu phép đo. Do tính chất ngẫu nhiên của nhiễu, việc xác định các ma trận này thường gặp khó khăn và thực tế hầu hết các ứng dụng đều giả thiết ma trận hiệp phương sai nhiễu quá trình Q và nhiễu phép đo R là cố định trong khi bản chất thực sự của hai ma trận này là phải thay đổi theo thời gian hoạt động của robot. Trong một số trường hợp, sai lệch trong việc xác định hai ma trận này có thể  dẫn đến bộ lọc EKF không hội tụ. Để giải quyết vấn đề này, logic mờ [5] có thể được sử dụng để xây dựng thuật toán EKF thích nghi [6].

Báo cáo thực hiện việc nghiên cứu, sử dụng và cài đặt bộ lọc EKF thích nghi dựa trên logic mờ cho robot di động để giải quyết bài toán định vị trong môi trường trong nhà.  Mục đích của việc nghiên cứu này chính là tăng cường khả năng ứng dụng logic mờ trong các bài toán của robot di động để khắc phục những yếu tố không chắc chắn, không đầy đủ do bản chất “động” trong môi trường hoạt động của robot mang lại. Một số kết quả ứng dụng logic mờ cho bài toán tìm đường và tránh vật cản cho robot di động của nhóm tác giả [7-9] đã được thực hiện trước đó sẽ được kết hợp với ứng dụng logic mờ trong bộ lọc EKF cho bài toán định vị trong nghiên cứu này để tạo thành bài toán dẫn đường hoàn chỉnh cho robot di động ở môi trường trong nhà không biết trước.

Cấu trúc của bài báo được chia thành năm phần như sau: phần I giới thiệu và đặt vấn đề, phần II trình bày mô hình hệ thống robot di động hai bánh độc lập và tóm tắt về bộ lọc EKF. Phần III đề cập đến việc sử dụng logic mờ kết hợp với EKF để khắc phục nhược điểm của EKF thông thường khi cài đặt trên robot di động. Một số kết quả mô phỏng việc sử dụng bộ lọc FL-EKF và so sánh với bộ lọc EKF thông thường trong ứng dụng định vị cho robot di động được trình bày trong phần IV. Phần V trình bày một số kết luận và hướng phát triển tiếp theo.

II. Định vị cho Robot di động sử dụng bộ lọc KalMan mở rộng

Như đã đề cập trong phần I, bộ lọc EKF được xem là phương pháp hiệu quả trong việc tổng hợp dữ liệu từ các cảm biến để phục vụ cho bài toán định vị của robot di động. Phần này sẽ trình bày tóm tắt mô hình hệ thống robot di động phổ biến là loại hai bánh độc lập và việc cài đặt bộ lọc EKF cho mô hình robot di động loại này. Một số nhược điểm trong khi mô hình hệ thống và quá trình cài đặt bộ lọc EKF sẽ được đề cập và phân tích cụ thể làm cơ sở cho tiếp cận FL-EKF trong báo cáo này.

1. Mô hình hệ thống robot di động hai bánh độc lập;

Robot di động được xem xét trong nghiên cứu này là loại robot có hai bánh hoạt động độc lập với cấu hình và tham số được thể hiện trên hình 1. Đối với robot di động có hai bánh hoạt động độc lập thì dead reckoning là một trong những phương pháp thường được sử dụng để xác định vị trí tương đối của robot trong không gian làm việc. Phương pháp này tính vị trí và hướng tức thời của robot dựa vào tốc độ chuyển động của hai bánh xe cùng vị trí và hướng của robot tại thời điểm trước đó. 

Hình 1: Cấu hình và các tham số của robot di động

Với cấu hình trên của robot, hệ số chuyển đổi giữa số xung của bộ lập mã và độ dịch chuyển tuyến tính của bánh xe là:

                                                                

Trong đó:

              R: đường kính của bánh xe;

              n: tỉ số giảm tốc giữa trục động cơ và trục bánh xe;

              Ce: độ phân giải của bộ lập mã (tính bằng số xung trên 1 vòng).

Nếu tại mỗi thời điểm lấy mẫu dữ liệu i, bộ lập mã quang của hai bánh xe trái và phải đếm được số xung là NL và NR thì độ dịch chuyển của mỗi bánh xe được tính theo công thức sau:

 

Độ dịch chuyển tương đối của tâm và góc quay robot được xác định dựa trên sự dịch chuyển của hai bánh sẽ là:

 

Trong đó L: khoảng cách giữa hai bánh xe.

Vị trí và hướng tương đối của robot tại thời điểm i sẽ là:

 

 2. Bộ lọc EFK cho mô hình robot di động hai bánh độc lập;

Phương trình (4) xác định vị trí và hướng tức thời của robot sử dụng phương pháp dead reckoning như trên có nhược điểm là chưa tính tới các yếu tố nhiễu tác động vào hệ thống. Do đó, để ước lượng vị trí chính xác hơn, bộ lọc EKF [10,11] được sử dụng. Việc cài đặt bộ lọc EKF cho mô hình robot di động hai bánh độc lập được thực hiện như sau: nếu xem trạng thái của robot tại mỗi thời điểm là vị trí và góc tức thời thì biến trạng thái là x=[xi  yi θi ]^T , x∈R^n với lối vào u=[dS_L,i   ⅆS_(R,i ) ]^T  mô hình động học của robot  sẽ được biểu diễn tổng quát dưới dạng phương trình sai phân ngẫu nhiên phi tuyến:

Và phép đo cũng được biểu diễn bởi hàm phi tuyến:

Trong đó wi, vi là các biến ngẫu nhiên thể hiện nhiễu quá trình và nhiễu phép đo. hai nhiễu này được giả sử rằng độc lập, là nhiễu trắng Gauss với giá trị trung bình bằng không, có phân bố xác suất chuẩn với ma trận hiệp phương sai là Q và R: wi ~ N(0,Qi), vi ~ N(0,Ri). Bộ lọc EKF sẽ thực hiện hai bước chính: ước đoán trạng thái tiên nghiệm và dựa vào kết quả đo để hiệu chỉnh lại ước đoán.

a. Ước đoán trạng thái:

 

 

trong đó x i^- : ước đoán trạng thái tiên nghiệm tại bước thứ i dựa trên thông tin trạng thái ở bước i-1;

Pi^- : hiệp phương sai lỗi ước đoán tiên nghiệm;

 Pi: hiệp phương sai lỗi ước đoán hậu nghiệm;

 A: ma trận Jacobian đạo hàm riêng của f với x;

 W: ma trận Jacobian đạo hàm riêng của f với w;

 Q: ma trận hiệp phương sai nhiễu lối vào.

b. Hiệu chỉnh ước đoán:

 

Trong đó  Xi: ước đoán trạng thái hậu nghiệm tại bước thứ i với phép đo zi;s

 Ki: hệ số Kalman;

 R: ma trận hiệp phương sai nhiễu phép đo;

 H: ma trận Jacobian đạo hàm riêng của h với x;

 V: ma trận Jacobian đạo hàm riêng của h với v.

Các công thức trên cho thấy rằng để bộ lọc EKF hoạt động hiệu quả thì phải mô hình hóa chính xác được trạng thái của hệ thống cũng như các phép đo ma trận hiệp phương sai nhiễu hệ thống Q và nhiễu phép đo R. Đồng thời giá trị của ma trận Q và R phải thay đổi theo từng bước ước tính của bộ lọc do trong thực tế nhiễu hệ thống và nhiễu phép đo là sai số ngẫu nhiên. Tuy nhiên, việc xác định trực tiếp giá trị Q và R tại mỗi thời điểm trong khi robot đang hoạt động không dễ thực hiện. Để giảm bớt độ phức tạp trong các ứng dụng thường giả thiết giá trị của hai ma trận này là không đổi. Khi đó giá trị của hai ma trận này thường được xác định trước khi bộ lọc EKF hoạt động. Ma trận R có thể xác định được thông qua việc lấy mẫu các phép đo độc lập với hoạt động của robot, còn ma trận Q được xác định dựa vào bản chất gây nên sai số của hệ thống. Khi sử dụng giá trị cố định của ma trận Q và R thì bộ lọc EKF sẽ gặp một số vấn đề như sau: thứ nhất là do giả thiết là cố định nên ma trận Q và R sẽ không thống kê đầy đủ về bản chất nhiễu ngẫu nhiên, thứ hai là với một giá trị của Q và R cố định nào đó thì ma trận hiệp phương sai lỗi ước đoán P và hệ số Kalman K nhanh chóng ổn định và giữ nguyên giá trị, tức là bộ lọc EKF sẽ hội tụ ở mức độ nào đó do đó kết quả thu được chỉ tốt ở một mức độ nhất định, cuối cùng là trong một số trường hợp việc xác định Q và R cố định không phù hợp còn tạo tác dụng ngược lại làm giảm độ chính xác phép ước tính các trạng thái của robot thậm chí làm cho bộ lọc không hội tụ. Tuy nhiên, tính chất không chắn chắn, không đầy đủ khi thống kê ma trận Q và R này lại phù hợp với hoạt động của logic mờ nên có thể áp dụng logic mờ trong bộ lọc EKF. Việc ứng dụng logic mờ vào bộ lọc EKF sẽ cho phép điều chỉnh (không phải xác định) trực tiếp ma trận Q và R, làm tăng hiệu suất của bộ lọc EKF và ngăn được sự không hội tụ của bộ lọc EKF ngay cả trong trường hợp không xác định chắc chắn được giá trị của ma trận Q và R.

 III. Bộ lọc KalMan mở rộng kết hợp với Logic mờ (FL-EKF)

Phần này bày việc sử dụng logic mờ để khắc phục nhược điểm của bộ lọc EKF trong vấn đề định vị cho robot di động. Trong bước hiệu chỉnh ước đoán của bộ lọc EKF, giá trị ước đoán trạng thái hậu nghiệm được xác định bằng công thức:  xi ̂=x i^-+K_i (zi-h(x i^-,0)), với  (zi-h(x i^-,0)) là sự sai khác giữa giá trị đo trực tiếp và giá trị đo ước đoán hay còn gọi là giá trị dư và được ký hiệu r_i=z_i-h(x ̂_i^-,0). Thành phần r_i là hệ quả của phép đo với trọng số là hệ số Kalman K_i , K_i (zi-h(x i^-,0)) , và tham gia vào quá trình hiệu chỉnh giá trị ước đoán trạng thái tiên nghiệm x_i  thành giá trị ước đoán trạng thái hậu nghiệm x_i . Nhiệm vụ chính của bộ lọc Kalman là hiệu chỉnh hệ số K_i tối ưu để tìm x_i gần đúng với x_i nhất, tương đương với r_i nhỏ nhất. Như đã đề cập ở phần II.B, nếu giá trị của ma trận hiệp phương sai lỗi hệ thống Q và lỗi phép đo R là cố định thì bộ lọc EKF sẽ hội tụ ở mức nào đó, nghĩa là hệ số chỉ tối ưu ở mức độ nhất định. Để cải thiện vấn đề này, bộ lọc FL-EKF sử dụng giá trị như là một dữ liệu mới ngoài hai thông tin về mô hình hệ thống và tín hiệu đo có sẵn trước đó. Dựa vào hệ suy luận mờ sẽ điều chỉnh trực tiếp ma trận Q và R theo một hệ số sao cho giảm bớt sự sai khác giữa giá trị ước đoán và giá trị đo.

Ma trận hiệp phương sai nhiễu phép đo R thể hiện mức độ chính xác của phép đo, nếu giá trị R lớn có nghĩa là mức độ tin tưởng vào phép đo sẽ ít hơn và khi đó sẽ tin nhiều vào phép ước đoán. Ngược lại, nếu R nhỏ thì tin nhiều vào phép đo hơn là phép ước đoán. Giả sử hệ thống hoạt động với ma trận hiệp phương sai nhiễu hệ thống Q đã được xác định từ trước và cố định, quá trình điều chỉnh R sẽ được thực hiện qua các bước như sau:

- Xác định giá trị và tính ma trận hiệp phương sai theo lý thuyết của :

 

III. Mô Phỏng

Phần này trình bày cài đặt chương trình mô phỏng để đánh giá hiệu quả của bộ lọc FL-EKF trong việc định vị cho robot di động, phục vụ cho mục đích dẫn đường của robot. Robot di động được sử dụng là loại hai bánh hoạt động độc lập có mô hình như đã mô tả trong phần IIA, với thông số kỹ thuật như sau: đường kính hai bánh xe là R = 0.05m, khoảng cách giữa hai bánh L = 0.6m, tỉ số giảm tốc giữa trục động cơ và trục bánh xe n=1 và độ phân giải của bộ lập mã Ce = 500. Cấu tạo và kích thước của robot di động này dựa trên robot di động thực tế do nhóm tác giả xây dựng tại phòng thí nghiệm [12]. Giả thiết sai số hệ thống do kết cấu cơ khí của robot đã được bù theo phương pháp của Borenstein [1], do đó ta chỉ quan tâm tới vấn đề giảm sai số ngẫu nhiên tác động lên hệ thống. Sai số ngẫu nhiên trong hệ thống robot di động này chủ yếu do sự chuyển đổi không tuyến tính từ các thông số của bộ lập mã thành độ dịch chuyển của bánh xe và chúng được mô hình hóa như là sự tỷ lệ với độ dịch chuyển của tâm dSi và góc quay i tại mỗi bước i do đó ma trận hiệp phương sai nhiễu quá trình Q được xác định. 

Để thực hiện việc so sánh hệ thống trong việc sử dụng bộ lọc EKF và FL-EKF, chương trình mô phỏng sẽ thực hiện với các giá trị ma trận hiệp phương sai nhiễu quá trình Q và nhiễu phép đo R khác nhau. Hai loại này đều là nhiễu Gauss trắng, giá trị trung bình bằng 0 và có phân bố độc lập với nhau.

Bộ suy luận mờ thực hiện việc điều chỉnh ma trận R với lối vào là giá trị Di và lối ra . Các biến ngôn ngữ vào/ra được xác định như sau:

- Di: Âm (A), Không (Z), Dương (P);

- : Giảm (D), Không đổi (M), Tăng (I).

Hàm thuộc của các biến ngôn ngữ được định nghĩa là dạng hình không đối xứng phù hợp với giới hạn thay đổi của Di và có dạng như hình vẽ sau:

Hình 2: Hàm thuộc ΔRi

Hình 3: Hàm thuộc của Di

Luật mờ được xây dựng dựa trên mệnh đề suy diễn “Nếu…Thì…” với các hàm thuộc:

  1.  Nếu = Z  thì = M;
  2.  Nếu = P thì = D;
  3.  Nếu = A  thì = I.

Phương pháp giải mờ theo điểm trọng tâm được chọn để xác định rõ giá trị ΔRi lối ra:

 

trong đó, xi là giá trị trong miền xác định của tập mờ lối ra và μ(xi) là giá trị hàm thuộc của điểm xi trong miền đó.

Để kiểm chứng cho hoạt động của bộ lọc FL-EKF, chương trình mô phỏng sẽ tạo ra một đường đi bất kỳ cho robot theo mô hình của phương pháp dead-reckoning, đường này được gọi là “đường lý thuyết”. Do chịu tác động của sai số nên robot sẽ đi theo một “đường thực” khác. Dữ liệu thu được từ phép đo trực tiếp qua cảm biến được một “đường đo”. Kết quả sẽ so sánh cho hai trường hợp, trường hợp thứ nhất chỉ sử dụng bộ lọc EKF thông thường và trường hợp còn lại sử dụng FL-EKF. Ở mô phỏng thứ nhất, sai lệch độ dịch chuyển và góc quay của robot trong mỗi lần lấy mẫu là σdS = 2cm, σ = 10, tương ứng với ma trận  

Ma trận hiệp phương sai nhiễu phép đo R được khởi tạo ban đầu là  dựa vào việc lấy mẫu phép đo từ cảm biến của hệ thống robot di động thực tế tại phòng thí nghiệm. Kết quả mô phỏng trong trường hợp này được thể hiện qua từ hình 4 đến hình 8. Hình 4 thể hiện đường đi của robot từ điểm ban đầu (S) tới điểm đích (T). Để nhìn thấy rõ đường đồ thị, hình 5 và 6 chỉ thể hiện trong 100 điểm lấy mẫu. Do sai lệch độ dịch chuyển của hệ thống và góc quay của robot trong trường hợp này nhỏ, ứng với giá trị của ma trận hiệp phương sai nhiễu quá trình Q rất bé nên trong hình 4 sự chênh lệch giữa đường lý thuyết và đường thực là không nhiều. Vì vậy hệ thống sẽ chịu ảnh hưởng nhiều bởi nhiễu ngẫu nhiên do phép đo gây nên. Hình 6 là kết quả so sánh giữa đường ước lượng sử dụng bộ lọc EKF thông thường và FL-EKF. Kết quả cho thấy giá trị ước lượng của FL-EKF tốt hơn EKF nhưng không chênh lệch nhiều do nhiễu nhỏ. Các hình 7,8,9 so sánh độ lệch giữa giá trị ước lượng dùng EKF và FL-EKF theo trục X, Y, góc quay của robot. Có thể thấy, độ lệch gây nên do việc dùng FL-EKF ít hơn so với khi sử dụng EKF.

Hình 4: Quỹ đạo đường đi của robot

V. Kết luận

Bài báo đã tìm hiểu và cài đặt bộ lọc EKF thích nghi để ước lượng đường đi gần đúng nhất so với đường thực trong trường hợp robot di động 2 bánh độc lập bị ảnh hưởng bởi sai số hệ thống và sai số phép đo trong môi trường hoạt động thực. Kết quả mô phỏng trong phần IV đã chứng minh sự cải tiến của FL-EKF so với EKF khi so sánh các trường hợp ma trận Q và dạng quỹ đạo hoạt động khác nhau của robot. Kết quả này sẽ là hữu ích khi được dùng để làm thông tin đưa vào phần điều khiển, giúp cho bộ điều khiển ra quyết định hợp lý hơn, từ đó làm tăng độ chính xác trong mục đích dẫn đường cho robot di động. Kết quả nghiên cứu trên trong thời gian tới sẽ được cài đặt vào robot di động tại phòng thí nghiệm kết hợp thêm việc trộn cảm biến (sensor fusion) để tăng thông tin về môi trường hoạt động của robot từ đó nâng cao độ chính xác trong hoạt động tự quản trị của robot di động.

                                                                                                            TS. Trần Thuận Hoàng     

BÀI VIẾT LIÊN QUAN:

Energy-Efficient Unmanned Aerial Vehicle (UAV) Surveillance Utilizing Artificial Intelligence (AI)

Recently, unmanned aerial vehicles (UAVs) have enhanced connectivity and ...

Preparation of Papers in Two Column Format for the ICSES Transactions and Conferences

Today, airports are quickly deploying self-service technologies as a ...

Robot Navigation Using FPGA Based Moving Object Tracking System

The paper describes an object tracking robot system implemented on FPGA. The ...

Trajectory Tracking Control of the Nonholonomic Mobile Robot using Torque Method and Neural Network

This paper deals with the problem of tracking control of the mobile robot with ...