Sai số (m)
Tối đa trục x Tối đa trục y Tối đa độ cao
TB trục x TB trục y TB độ cao Vị trí Khoảng cách tương đối
Mặc dù sai số của việc ước lượng vị trí bàn chân theo phương đứng được loại bỏ sau mỗi bước đi nhưng sai số độ cao trong quá trình bước đi vẫn không được cập nhật. Lúc này cảm biến khoảng cách được sử dụng để cập nhật độ cao bàn chân như trong Hình 3.10. Như có thể thấy, khi sử dụng hệ thống INS đề xuất quỹ đạo ước lượng bám theo quỹ đạo thực tế rất tốt trên cả 3 trục. Theo kết quả trong cột 5 của
Bảng 3.2, việc sử dụng thông tin từ cảm biến khoảng cách giúp giảm đáng kể sai số
ước lượng trên phương đứng với sai số tối đa giảm từ 3,96 xuống 2,15 và sai số trung bình giảm từ 1,01 xuống 0,56 . Do từ thơng tin cảm biến khoảng cách chỉ cho phép suy ra độ cao bàn chân nên khơng có sự cải thiện đáng kể độ chính xác
việc ước lượng vị trí trên các phương và . Sai số vị trí ước lượng là 2,2 trên tổng số 3 sải chân đi tương ứng với sai số khoảng 3,5 trong 1 bước đi. Đây là sai số rất nhỏ trong ứng dụng ước lượng độ dài bước đi.
Hình 3.8 Vị trí bàn chân sử dụng bộ lọc MEKF cập nhật ZUPT
Các thông số bước đi của một người dùng làm 4 lần thí nghiệm đi 3 bước được ước lượng như trong Bảng 3.3 gồm thời gian chuyển động của bàn chân, thời gian bàn chân đứng yên trên mặt đất, chu kỳ và độ dài của một sải chân, độ cao tối đa bàn chân trong quá trình bước đi, tốc độ bước đi và tần số sải chân. Ngồi ra, các thơng số của một bước đi có thể được tính ra trực tiếp từ thông số sải chân. Hơn nữa, khi dựa vào hướng trong 3D của bàn chân có thể suy ra được các thơng số về góc bước, góc chúc, góc nghiêng và hướng của bàn chân theo thời gian như minh hoạ trong Hình 3.11.
Khi phân tích ảnh hưởng của vị trí đặt của cảm biến khoảng cách đến kết quả nghiên cứu, hệ thống thí nghiệm bố trí 2 cảm biến khoảng cách tại 2 vị trí khác nhau như trong Hình 3.3. Sai số của việc ước lượng vị trí sử dụng cảm biến khoảng cách 1, cảm biến khoảng cách 2 và sử dụng cả 2 cảm biến lần lượt được thể hiện trong cột
5,6,7 của Bảng 3.2. Dựa trên các tiêu chí đánh giá trong Bảng 3.2 có thể thấy rằng khơng có sự khác biệt nhiều trong 3 trường hợp trên. Do cảm biến khoảng cách chỉ cập nhật đáng kể vị trí theo phương đứng nên vị trí ước lượng theo phương đứng trong 1 sải chân được trích xuất như trong Hình 3.12.
Hình 3.9 Vị trí bàn chân sử dụng bộ lọc MEKF cập nhật ZUPT và độ cao tại ZVI Bảng 3.3 Thông số bước đi ước lượng trong thí nghiệm đi 3 bước
Việc bố trí cảm biến khoảng cách ở vị trí 1 hoặc vị trí 2 đều cho phép cập nhật tốt phương đứng của bàn chân nên vị trí đặt cảm biến khơng ảnh hưởng nhiều đến kết quả ước lượng. Tuy nhiên, trong trường hợp hình thứ 2 của Hình 3.12 có khoảng thời gian phương đứng bị mất cập nhật trong khoảng thời gian từ 4,8 đến 4,95 dẫn đến sai lệch theo phương đứng trong trường hợp sử dụng cảm biến khoảng cách ở vị trí 2 tăng lên. Khoảng thời gian này tương ứng với việc người dùng nhấc chân lên, dẫn đến cảm biến khoảng cách 2 tại gót chân ở vị trí cao nhất và hướng ra ngồi nên vượt q giới hạn đo của cảm biến. Do vậy, trong trường hợp giới hạn đo của cảm biến khoảng cách ngắn thì nên cách nên được bố trí từ giữa bàn chân về trước và hướng vng góc với mặt đất khi đứng n.
Hình 3.10 Ước lượng vị trí bàn chân sử dụng thuật toán đề xuất
Việc sử dụng cả 2 cảm khoảng cách cho kết quả tốt hơn không đáng kể so với trường hợp sử dụng 1 cảm biến khoảng cách nhưng lại sử dụng đến bộ lọc Kalman 21 trạng thái [50] nên khơng thích hợp với xử lý thời gian thực.
G oc n g hi e ng b a n ch a n ( do ) t (s) H uo ng b a n ch a n ( do ) t (s)
Hình 3.11 Ước lượng hướng bàn chân
Ước lượng độ cao 1 bước chân dùng cảm biến khoảng cách 1
Ước lượng độ cao 1 bước chân dùng cảm biến khoảng cách 2
Ước lượng độ cao 1 bước chân dùng cả 2 cảm biến khoảng cách
Hình 3.12 Ước lượng vị trí theo phương đứng của bàn chân
3.7.2 Thí nghiệm đi dọc hành lang 30 m
Thí nghiệm được thực hiện với 5 người dùng (xem thông tin trong Bảng 4.4) đi 30 dọc hành lang, mỗi người thực hiện 3 lần đi. Kết quả thí nghiệm được thể hiện trong Bảng
3.5. Để đánh giá về độ chính xác của thuật tốn ước lượng luận án trích xuất thơng số về
sai lệch khoảng cách tổng. Sai lệch khoảng cách là sai lệch giữa
quãng đường ước lượng so với quãng đường thực tế là 30 . Từ Bảng 3.5, sai lệch về khoảng cách ước lượng trung bình là 0,43 trên tổng số 30 di chuyển. Nếu tính theo tỉ lệ phần trăm thì sai lệch là nhỏ (1,4%) trong ứng dụng ước lượng thông số bước đi của người dùng. Nếu tính sai lệch cho từng bước chân thì sai số nhỏ hơn 1 . Đây là sai số rất nhỏ trên độ dài bước chân trung bình trong thí nghiệm là 71 .
Bảng 3.4 Thơng tin người dùng tham gia vào các thí nghiệm
Bảng 3.5 Ước lượng thông số bước đi và sai lệch trên quãng đường 30 m
(Lưu ý: độ dài sải chân bằng 2 độ dài bước chân như đã trình bày trong Mục 3.6)
TT Tốc độ bước (m/s) 1 1,15 2 1,15 3 1,32 4 1,28 5 1,31 6 1,33 7 1,51 8 1,51 9 1,52 10 1,54 11 1,54 12 1,55 13 1,68 14 1,69
3.8 Đánh giá hiệu quả hệ thống đề xuất
Hệ thống đề xuất khắc phục được những hạn chế của các cơng trình nghiên cứu liên quan được trình bày trong phần tổng quan tình hình nghiên cứu. Trong đó:
- Phần cứng đơn giản: Chỉ sử dụng 01 cảm biến khoảng cách để hỗ trợ nâng cao độ chính xác cho hệ thống INS nên hệ thống đề xuất đơn giản hơn các hệ thống trong các cơng trình [44], [45], [46] và [48].
- Thuật tốn đơn giản: Chỉ sử dụng thuật toán của hệ thống INS mà
khơng sử dụng xử lý ảnh hay thuật tốn làm trơn quỹ đạo như các cơng trình
[44], [45], [46] và [48].
- Sai số nhỏ: Thơng qua các thí nghiệm đã chứng minh hệ thống đạt sai số khoảng 1,4% trong trường hợp thí nghiệm đi bộ 30 dọc hành lang và 0,74% trong trường hợp thí nghiệm đi bộ 3 với hệ thống OptiTrack. Sai số này chỉ lớn hơn sai số của cơng trình [44] nhưng bù lại hệ thống đề xuất tốt hơn cơng trình [44] trong 3 tiêu chí cịn lại.
- Linh hoạt trong sử dụng: Hệ thống đề xuất không cần cài đặt thiết lập môi trường ban đầu, không bị giới hạn phạm vi làm việc như cơng trình
[44].
Ngồi ra, hệ thống đề xuất cho phép ước lượng chính xác hơn về quỹ đạo chuyển động 3D, đặc biệt là quỹ đạo theo phương đứng. Điều này cung cấp nhiều thơng tin hơn cho ứng dụng phân tích dáng đi do có khả năng truy xuất quỹ đạo chuyển động 3D chính xác.
Hệ thống đề xuất sử dụng cảm biến IMU loại MTi-100 có giá khoảng 2000 $. Tuy nhiên, cảm biến MTi-1 có giá 300 $ cũng đáp ứng được trong hệ thống này. Ngồi ra, cảm biến khoảng cách VL6180 có giá khoảng 10 $. Thuật tốn hệ thống INS có thể được thực hiện trên các vi điều khiển Raspberry có giá khoảng 50 $. Do vậy giá thành chế tạo hệ thống có thể dưới 500 $. Đây là chi phí rất nhỏ so với các hệ thống hiện đại lên đến 200.000 $ như đã giới thiệu ở phần lý do chọn đề tài.
3.9 Kết luận chương
Trong chương này, đã đề xuất một hệ thống INS đặt bàn chân để nâng cao độ chính xác của việc ước lượng thơng số bước đi cho người dùng bằng cách sử dụng cảm biến khoảng cách hướng xuống mặt đất trong q trình bước đi. Trong đó, luận án đã giải quyết được các vấn đề sau:
- Ước lượng chính xác được mối quan hệ gồm vị trí và hướng của cảm biến khoảng cách trong hệ toạ độ của IMU bằng các đưa các thông số này vào bộ lọc Kalman để ước lượng.
- Xây dựng được mơ hình bộ lọc Kalman kiểu MEKF cho hệ thống dựa trên mơ hình bộ lọc Kalman cho hệ thống INS cơ bản bằng cách đưa thêm thơng số vị trí và hướng vào đồng thời loại bỏ thành phần nhiễu chậm thay đổi của cảm biến.
- Xây dựng được các phương trình cập nhật ZUPT và các phương trình cập nhật sử dụng dữ liệu từ cảm biến khoảng cách.
- Trích xuất được thơng số bước đi từ quỹ đạo chuyển động của cảm biến IMU đặt trên bàn chân dựa vào thời điểm bàn chân chạm đất.
- Đánh giá được hiệu quả hệ thống đề xuất. Trong đó, hệ thống đạt được các tiêu chí đặt ra ở phần nghiên cứu tổng quan là đơn giản về phần cứng và thuật toán, sai số nhỏ và linh hoạt trong sử dụng.
Một số điểm mới của chương như sau:
- Đề xuất hệ thống phần cứng hệ thống INS gồm cảm biến IMU kết hợp với cảm biến khoảng đặt trên bàn chân.
- Đề xuất xây dựng mơ hình bộ lọc cho bộ lọc Kalman cho hệ thống INS đề xuất.
- Đề xuất xây dựng các phương trình cập nhật bộ lọc Kalman cho hệ thống INS sử dụng các thông tin từ cảm biến khoảng cách.
Chương 4. NGHIÊN CỨU XÂY DỰNG HỆ THỐNG ĐỊNH VỊ QUÁN TÍNH ĐẶT TRÊN KHUNG TẬP ĐI
4.1 Giới thiệu chương
Trong chương này, đề xuất hệ thống INS đặt trên khung tập đi loại khơng bánh hoặc loại có hai bánh trước nhằm ước lượng thơng số bước đi cho người cần hỗ trợ đi lại. Trong đó, một cảm biến IMU được gắn trên khung tập đi và 2 encoder được dùng để giám sát chuyển động của 2 bánh trước. Việc ước lượng chuyển động của khung tập đi sử dụng cảm biến IMU được thực hiện bằng thuật toán hệ thống INS trong Chương 2 và cập nhật ZUPT trong Chương 3. Trong chương này tập trung vào việc sử dụng thông tin từ các encoder để cập nhật nhằm nâng cao độ chính xác. Một số vấn đề cụ thể cần giải quyết như sau:
- Xây dựng thuật tốn xác định chính xác mối quan hệ gồm vị trí và hướng giữa cảm biến IMU và khung tập đi.
- Xây dựng thuật toán phát hiện và phân loại chuyển động của khung tập
đi trong quá trình sử dụng.
- Xây dựng các phương trình cập nhật cho bộ lọc Kalman sử dụng các tín hiệu từ encoder.
- Trích xuất các thơng số bước đi từ quỹ đạo chuyển động của khung tập
đi.
- Đánh giá hiệu quả của hệ thống đề xuất.
Nội dung chương này đã được tác giả luận án và cộng sự công bố trong các cơng trình [106], [99], [107]. Trong bài báo [106] được cơng bố trên tạp chí TIM (SCI, Q1) năm 2017, đã đề xuất ý tưởng, giải pháp của việc sử dụng hệ thống khung tập đi có gắn cảm biến IMU và 2 encoder để ước lượng thông số bước đi của người dùng; trong bài báo [99] được cơng bố trong tạp chí Heliyon (Scopus, Q1) năm 2019, đã xây dựng các phương trình cập nhật cho bộ lọc Kalman sử dụng thông tin của các encoder; và trong bài báo [107] được cơng bố trong tạp chí Heliyon (Scopus, Q1)
năm 2020, đã đề xuất phương pháp hiệu chỉnh nhanh mối quan hệ giữa cảm biến IMU và khung tập đi.
4.2 Đề xuất hệ thống INS đặt trên khung tập đi
4.2.1 Giới thiệu về hệ thống
Hình 4.1 Tổng quan hệ thống khung tập đi đề xuất (nguồn [99])
Hệ thống đề xuất được thể hiện trong Hình 4.1 bao gồm 01 cảm biến IMU và
2 encoder được gắn vào một khung tập đi. Trong đó, cảm biến IMU có thể được gắn
tại 1 vị trí bất kỳ trên khung tập đi trong khi mỗi encoder được gắn vào mỗi bánh để đo độ dịch chuyển của mỗi bánh. Một vi điều khiển Arduino Uno R3 được sử dụng
để đọc và đồng bộ dữ liệu từ các cảm biến và lưu vào thẻ nhớ Micro SD. Dữ liệu này sẽ được đưa vào thuật toán của hệ thống INS xử lý trên máy tính bằng chương trình Matlab để trích xuất thơng số bước đi.
Do vị trí đặt cảm biến IMU khơng đại diện được cho vị trí bàn chân trong q trình bước đi, nên hệ toạ độ BCS tách biệt với hệ toạ độ vật lý của IMU. Lúc này, hệ toạ độ BCS trong hệ thống INS trình bày ở Chương 2 được đặt tên mới là ICS trong khi hệ toạ độ BCS được đặt trên khung tập đi.
Như vậy trong hệ thống này, sử dụng hệ trục tọa độ WCS, BCS và ICS như
xúc của 2 bánh khung tập đi với mặt đất. Trục của hệ BCS trùng với hướng thẳng tới trước của khung tập đi. Trục của BCS hướng thẳng lên trên khi khung tập đi được đẩy đi trên mặt đất. Do các trục , và tạo thành tam diện thuận nên trục của BCS nằm trên đường nối 2 điểm tiếp xúc giữa 2 bánh với mặt đất và có phương hướng từ bánh phải sang bánh trái của khung tập đi. Để đơn giản trong tính tốn, hệ WCS được chọn trùng với hệ BCS tại vị trí ban đầu của q trình chuyển động.
Hình 4.2 Các hệ trục tọa độ sử dụng
Việc xác định mối quan hệ giữa các hệ tọa độ ICS và BCS bao gồm ma trận quay và vectơ tịnh tiến không dễ dàng đo được bằng thước mà cần phải được hiệu chỉnh thơng qua thuật tốn để đem lại giá trị chính xác sẽ được trình bày ở Mục 4.2.3.
4.2.2 Kết nối phần cứng và đồng bộ dữ liệu
Một vi điều khiển Arduino Uno R3 được sử dụng để dọc và đồng bộ dữ liệu của 01 IMU MTi-1 của hãng Xsens và 02 encoder 1024 xung/vòng của hãng LS sau đó lưu vào thẻ nhớ Micro SD. Để tiện cho việc sử dụng, một cơng tắc được bố trí tại vị trí tay cầm để bắt đầu hoặc kết thúc quá trình đọc dữ liệu.
Việc kết nối các thành phần của hệ thống được thể hiện trong Bảng 4.1. Trong đó, việc truyền nhận dữ liệu giữa cảm biến IMU và Arduino được thực hiện qua cổng truyền nhận dữ liệu không đồng bộ (Universal Asynchronous Receiver-Transmitter
– UART) với 2 dây Rx, Tx. Các encoder được sử dụng cả dây A và B để xác định
chiều quay của bánh xe. Các chân ngắt ngồi của Arduino được sử dụng trong mục đích này để việc đọc encoder được thực hiện một cách nhanh chóng và kịp thời. Điều này là cần thiết khi tốc độ di chuyển lớn và độ phân giải của encoder cao.
Bảng 4.1 Đấu nối cảm biến với arduinoArduino Uno R3 Arduino Uno R3 Rx Tx INT 0 (Digital 2) Digital 4 INT 1 (Digital 3) Digital 5 Digital 7 Digital 11 Digital 12 Digital 13
Do việc đọc dữ liệu qua cổng UART khá mất thời gian trong khi thời gian lấy mẫu là 10 nên MTi-1 được cấu hình khơng sử dụng dữ liệu của cảm biến từ trường để giảm số byte dữ liệu đọc về. Cấu trúc của một khung dữ liệu lưu trữ vào thẻ nhớ SD có dạng như Bảng 4.2 gồm 32 byte. Trong đó, phần đầu khung gồm các byte báo hiệu bắt đầu 1 khung dữ liệu và số lượng byte dữ liệu đi kèm. Gia tốc và vận tốc góc gồm 3 thành phần theo 3 phương , , . Dữ liệu của mỗi thành phần là một số thực nên được mã hóa bằng 4 byte dữ liệu. Mặc dù độ phân giải của encoder lớn nhưng do thời gian lấy mẫu rất nhỏ (10 ) nên số lượng xung encoder trong thời gian lấy mẫu tối đa khoảng tầm 20 xung. Do vậy, dữ liệu về số xung encoder chỉ được