Từ các gia tốc thành phần, gia tốc tổng cộng được tính bởi:
Acc = √Accx2 + Accy2 + Accz2 (2.1)
Trong đó: Acc, Accx, Accy, Accz lần lượt là gia tốc tổng cộng, gia tốc theo hướng X, hướng Y, và hướng Z.
Tín hiệu cảm biến gia tốc trên các trục thu thập bởi ứng dụng trên hình 2.4 và gia tốc tổng cộng được tính bởi công thức 2.1 được thể hiện lại trên hình 2.5.
Hình 2.5: Tín hiệu cảm biến gia tốc thô (trước khi lọc) 2.2.2. Tín hiệu tiền xử lý
Tín hiệu thu được từ cảm biến gia tốc do ảnh hưởng bởi tạp âm và các nguồn nhiễu khác tạo ra các tần số cao, gây khó khăn cho việc phân tích dữ liệu. Do đó cần tiến hành lọc để loại bỏ các tần số cao và làm mịn tín hiệu. Từ phổ tín hiệu thô được biểu diễn trên hình 2.6, tác giả lựa chọn tham số bộ lọc thông thấp Butterworth bậc 2 với tần số cắt 3,4 rad/s để loại bỏ các thành phần tần số cao không mong muốn. Đáp ứng tần số của bộ lọc được biểu diễn trên hình 2.7. Tín hiệu Acc, Accx, Accy,
Hình 2.6: Phổ tín hiệu 𝐀𝐜𝐜
Hình 2.8: Tín hiệu cảm biến gia tốc sau khi lọc 2.3. Phát hiện bước chân 2.3. Phát hiện bước chân
Phát hiện bước là quá trình tìm kiếm các thay đổi của tín hiệu theo chu kỳ bước chân của con người. Ở đây là sự thay đổi tín hiệu gia tốc.
Có nhiều phương pháp phát hiện bước như phương pháp phương sai, phương pháp phổ tín hiệu trên miền tần số, phương pháp vận tốc, phát hiện đỉnh, phát hiện điểm không,… Sau đây tác giả sẽ phân tích chi tiết một số phương pháp điển hình.
2.3.1. Phát hiện dựa trên thay đổi phương sai
Phương pháp này lựa chọn một cửa sổ có chiều rộng 2n (gồm (2n + 1) mẫu) sau đó tính giá trị trung bình a̅̅̅n và phương sai σan của tín hiệu trong cửa sổ này theo công thức 2.2. σan = 1 2 ∗ w + 1 ∑ (aj − a̅n) 2 n+w j=n−w (2.2)
Một bước được phát hiện trong cửa sổ thứ n khi phương sai gia tốc cao hơn mức ngưỡng nhất định. Các kết quả tính giá trị trung bình phương sai gia tốc trong cửa sổ và phát hiện ngưỡng được biểu diễn trên hình 2.9.
Hình 2.9: Phát hiện dịch phương sai [4]
Hạn chế của phương pháp
Việc chọn ngưỡng là không đơn giản do giá trị phương sai dao động mạnh theo thời gian.
2.3.2. Phát hiện điểm không
Dựa trên dạng tín hiệu của Acc chúng ta thấy rằng chu kỳ của Acc lặp lại tương đồng với chu kỳ của bước chân. Như vậy có thể dựa vào số điểm 0 của tín hiệu Acc để phát hiện bước chân như trên hình 2.10. Mỗi bước tương ứng với hai lần đi qua điểm không liên tiếp.
Hình 2.10: Phát hiện điểm không [4]
Hạn chế của phương pháp
Trong trường hợp có nhiều tần số cao hơn ở gần điểm không sẽ gây ra nhầm lẫn (làm thêm bước). Ví dụ như hình 2.11, phương pháp dẫn đến việc xác định bước sai khi người dùng dừng lại, gia tốc tiến tới 0 và do ảnh hưởng của nhiễu không mong muốn sẽ thăng giáng xung quanh giá trị 0.
Hình 2.11: Phát hiện bước sai khi người dùng dừng lại
2.3.3. Phát hiện đỉnh
Trong phương pháp này, mục tiêu là phát hiện các đỉnh của tín hiệu Acc. Các đỉnh của Acc tương ứng với các bước xảy ra. Đỉnh được phát hiện khi giá trị tại đó lớn hơn giá trị trước gần nhất và giá trị sau gần nhất [13], được xác định bởi:
Pn−1 = Sn − Sn−1 (2.3)
Pn+1 = Sn − Sn+1 (2.4)
Nếu Pn−1 > 0 và Pn+1 > 0 thì Sn là đỉnh Pn−1 < 0 và Pn+1 < 0 thì Sn là đáy
Tuy nhiên, do ảnh hưởng của tạp âm nên khi phân tích dữ liệu sẽ thấy xuất hiện đỉnh giả như trên hình 2.12. Do đó để nhận dạng đỉnh thật cần thêm điều kiện ngưỡng về độ lớn và khoảng thời gian. Phát hiện một đỉnh “thật” khi :
{ Pn−1 > 0 và Pn+1 > 0 Sn > Threshold bbbbb ∆t > ∆tThreshold = 0,2 s (2.5) Hình 2.12: Đỉnh thật và đỉnh giả [14] Hạn chế của phương pháp
- Việc xác định “đỉnh thật” và loại bỏ “đỉnh giả” theo công thức 2.5 gồm 4 điều kiện như trên hình 2.13 dẫn đến mất nhiều thời gian.
- Với bước đầu tiên và bước cuối trước khi dừng lại, người đi có xu hướng đi nhẹ hơn bình thường dẫn đến đỉnh các bước này nhiều khi không vượt ngưỡng đã thiết lập làm mất bước.
Hình 2.13: Các thông số lựa chọn đỉnh 2.3.4. Lựa chọn phương pháp phát hiện bước chân 2.3.4. Lựa chọn phương pháp phát hiện bước chân
Trong luận văn tác giả lựa chọn phương pháp thay đổi phương sai của tín hiệu Acc để phát hiện bước chân. Phương pháp này phù hợp với việc xác định chiều dài bước chân ở phần 2.4. Bước chân được xác định khi giá trị phương sai mẫu lớn hơn giá trị Ngưỡng. Sau đó dùng cửa sổ dịch để phát hiện các bước tiếp theo như hình 2.14.
2.4. Ước lượng bước chân
Hệ thống định vị sử dụng phương pháp tự trị gồm hai phần là xác định bước (phát hiện bước, ước lượng bước và tính toán khoảng cách) và xác định hướng.
Độ chính xác của các hệ thống định vị tự trị phụ thuộc phần lớn vào độ chính xác của mỗi bước chân được ước lượng. Một phương pháp ước lượng bước chân tốt sẽ dẫn đến độ tin cậy cao cho hệ thống. Vì vậy, trong luận văn tác giả tập trung vào phân tích, lựa chọn phương pháp ước lượng bước chân trong phần xác định bước và để giảm độ phức tạp trong nghiên cứu tác giả chỉ xét hai trường hợp là đi bình thường và đi nhanh ứng với độ dài bước là 0,6 m và 0,7 m.
Các sải chân phụ thuộc vào một số yếu tố như vận tốc đi bộ, tần số bước, và chiều cao của người đi,... sải chân không phải là hằng số và có thể thay đổi theo các yếu tố phụ thuộc. Do đó, tham số chiều dài bước phải được xác định liên tục trong quá trình đi bộ để có được khoảng cách di chuyển chính xác. Phương pháp xác định độ dài bước cũng thu được bằng cách phân tích mối quan hệ giữa sải bước, giai đoạn bước, và sự tăng tốc [6].
Hình 2.15 biểu diễn kết quả thử nghiệm của hai loại bước: 60 cm và 80 cm sải chân.
Kết quả thống kê về giá trị trung bình của Acc và thời gian trung bình của một bước chân tương ứng trong bảng 2.2 và 2.3 cho thấy:
- Bước dài hơn gây ra sự tăng tốc lớn hơn.
- Sự khác biệt về thời gian bước của một bước chân theo sải chân là nhỏ. Bảng 2.2: Giá trị trung bình của Acc ứng với độ dài bước [6]
Sải chân Giá trị Acc trung bình (g)
60 cm 0.2882
80 cm 0.5549
Bảng 2.3: Thời gian trung bình của một bước chân [6]
Sải chân Thời gian trung bình (giây)
60 cm 0.675
80 cm 0.662
Như vậy, giá trị các mẫu dữ liệu cảm biến gia tốc sẽ là cơ sở để ước lượng độ dài bước chân.
2.4.1. Phương pháp trực tiếp
Dựa trên tín hiệu Acc tính được từ dữ liệu của cảm biến gia tốc. Phương pháp trực tiếp sử dụng giá trị Acc lớn nhất và giá trị Acc nhỏ nhất trong mỗi bước chân để xác định kích thước bước chân (hình 2.16). Cơ sở của phương pháp là dựa trên mối quan hệ giữa tần số bước và chênh lệch giữa hai đỉnh Accmax và Accmin. Quan hệ này được mô tả trên hình 2.17. Như vậy khi bước nhanh thì chênh lệch giữa hai đỉnh cũng tăng.
Hình 2.16: 𝐀𝐜𝐜𝐦𝐚𝐱 và 𝐀𝐜𝐜𝐦𝐢𝐧 trong một bước chân Ngoài ra theo [14], bước cho bởi công thức:
𝐿 = 𝐾 ∗ √Acc4 max − Accmin (2.6)
Trong đó: Llà chiều dài bước, K là hệ số hiệu chuẩn được cá nhân hóa.
Với kết quả được thực nghiệm bởi tác giả trên hình 2.18 (thực nghiệm 15 lần, giá trị trung bình được biểu diễn bởi đường đứt nét). Theo phương pháp nêu trong [14], hệ số K được xác định bằng 0,43.
Khi đó quãng đường đã đi được xác định bởi:
𝐷 = ∑ 𝐿i
i
(2.8)
Hình 2.18: Chênh lệch 𝐀𝐜𝐜𝐦𝐚𝐱 và 𝐀𝐜𝐜𝐦𝐢𝐧 tại mỗi bước Hạn chế của phương pháp
Độ chính xác phụ thuộc trực tiếp vào 2 đỉnh Accmax và Accmin nên dễ bị ảnh hưởng bởi các nguồn nhiễu không mong muốn. Hơn nữa việc sử dụng phép căn bậc 4 trong phương pháp này sẽ nâng cao độ phức tạp tính toán.
2.4.2. Phương pháp gián tiếp
Phương pháp gián tiếp dựa trên mối quan hệ giữa phương sai gia tốc (công thức 2.2) với kích thước bước chân. Hình 2.19 mô tả đây là mối quan hệ gần tuyến
tính và tỷ lệ thuận với nhau, nghĩa là, phương sai gia tốc tăng ứng với kích thước bước chân tăng và ngược lại.
Hình 2.19: Phương sai gia tốc và chiều dài sải chân đi [4] 2.4.3. Lựa chọn phương pháp ước lượng bước chân
Từ các phân tích trong phần 2.4.1 và 2.4.2 tác giả thấy rằng, phương pháp trực tiếp dễ bị sai số do nhiễu trong khi phương pháp gián tiếp được tính trung bình trên một số mẫu nên có khả năng ổn định hơn. Ngoài ra, luận văn chỉ thực hiện xác định trạng thái đi bình thường và đi nhanh của người dùng và sau đó quy đổi sang kích thước bước chân của người dùng đó.
Theo nghiên cứu của luận văn, trạng thái đi bình thường và đi nhanh có thể xác định dựa trên sự khác biệt về phương sai hoặc phổ của Acc. Cụ thể như sau Khác biệt về phương sai
Số lượng mẫu mỗi bước đi bình thường vào khoảng 21 mẫu, đi nhanh khoảng 17 mẫu nên trong luận văn, tác giả chọn số lượng mẫu để tính phương sai lần lượt là 10 mẫu, 20 mẫu, và 40 mẫu, tương ứng khoảng 1/2 bước, 1 bước, và 2 bước. Nhiều hơn 2 bước sẽ dẫn đến hệ thống xử lý và hiển thị chậm. Kết quả được biểu diễn tương ứng trên hình 2.20, hình 2.21, và hình 2.22.
Hình 2.20: Phương sai của Acc với cửa sổ trượt bằng 10 mẫu
Hình 2.22: Phương sai của Acc với cửa sổ trượt bằng 40 mẫu
Giá trị trung bình của phương sai của Acc được tổng kết trên bảng 2.4. Dựa trên bảng tổng hợp kết quả 2.4, tác giả lựa chọn cửa sổ tính phương sai là 20 mẫu (tương đương một bước chân) với ngưỡng xác định trạng thái đi bình thường, đi nhanh là A = 2. Lựa chọn này mang lại tốc độ tính toán và độ chính xác thống kê phù hợp.
Thuật toán là V[Acc] < A thì bước là trung bình, tức đi bình thường V[Acc] A thì bước là dài, tức đi nhanh
Bảng 2.4: Giá trị trung bình phương sai của Acc theo thời gian
Kích thước cửa sổ Đi bình thường Đi nhanh
10 0,90 2,25
20 1,52 2,79
Khác biệt về phổ
Tần số bước của con người liên quan đến tốc độ di chuyển, từ đó ảnh hưởng đến chiều dài bước chân. Dựa vào phổ tần số khi di chuyển có thể ước lượng chiều dài mỗi bước chân. Hình 2.23 biểu diễn phổ tần số trong các trường hợp người dùng đi chậm, đi bình thường, và đi nhanh.
Kết quả biểu diễn cho thấy có sự khác biệt về tần số theo trạng thái đi của người dùng. Trong trường hợp đi chậm, tần số cơ bản khoảng 1,5 Hz. Trong khi đó, tần số này lần lượt là 2 và 3 trong trường hợp đi bình thường và đi nhanh.
Hình 2.23: Phổ tần số của tín hiệu Acc [13]
Tác giả cũng thực hiện phân tích phổ của tín hiệu Acc trong trường hợp đi bình thường và đi nhanh trên hình 2.24 (lặp lại 15 lần). Ở trạng thái đi bình thường, năng lượng tập trung ở tần số 2 Hz, trong khi đi nhanh là 2,5 ÷ 3 Hz, phổ trải rộng hơn so với đi bình thường.
Hình 2.24: Phổ tần số của tín hiệu Acc khi người dùng ở trạng thái đi
bình thường và đi nhanh
Như vậy, cả phương pháp khác biệt về phương sai và khác biệt về phổ đều có dấu hiệu để phân tách cho trường hợp đi bình thường và đi nhanh. Tuy nhiên xét về góc độ phức tạp của thuật toán thì phương pháp dựa trên khác biệt về phương sai của tín hiệu Acc là ưu việt hơn so với phương pháp dựa trên khác biệt phổ phải tính chu kỳ lặp lại của tín hiệu Acc hay thực hiện việc xác định điểm không và thời gian tương ứng với các điểm không đó.
Phương pháp thứ hai có thể được thực hiện thuận lợi hơn nếu phần phát hiện bước chân sử dụng phương pháp phát hiện điểm không.
Kết luận chương II
Chương này trình bày và phân tích dạng tín hiệu cảm biến gia tốc, các phương pháp phát hiện, ước lượng bước chân, mô phỏng và lựa chọn phương pháp ước lượng bước chân phù hợp làm cơ sở xây dựng hệ thống trong Chương III.
CHƯƠNG III. THỰC THI HỆ THỐNG PDR TRÊN ĐIỆN THOẠI THÔNG MINH
Chương III thực hiện việc thực thi hệ thống tự trị PDR dựa trên việc phân tích lý thuyết ở chương I và kết quả lựa chọn thuật toán ở chương II. Do tính phổ biến, tác giả lựa chọn viết ứng dụng V_IPS cho điện thoại sử dụng hệ điều hành Android.
3.1. Giới thiệu về Android 3.1.1. Giới thiệu 3.1.1. Giới thiệu
Android là một nền tảng mã nguồn mở, các nhà phát triển thiết bị hay người dùng có thể truy cập được vào toàn bộ hệ thống mã nguồn của Android và tạo ra các chỉnh sửa sao cho phù hợp với nhu cầu.
3.1.2. Quy trình tạo một ứng dụng trên Android Studio
Android Studio là một phần mềm bao gồm các bộ công cụ khác nhau dùng để phát triển ứng dụng chạy trên thiết bị sử dụng hệ điều hành Android.
Quy trình tạo một ứng dụng gồm 3 phần:
- Thiết kế giao diện: Dựa vào các thẻ được cung cấp trong Android Studio và căn cứ vào yêu cầu đặt ra để bố trí giao diện cho phù hợp.
- Ánh xạ giao diện sang phần quản lý code: Gán ID cho những hàm thực hiện chức năng cho từng thuộc tính trên màn hình.
- Code chức năng cho ứng dụng.
3.2. Hệ thống V_IPS
Hệ thống định vị tự trị trong luận văn có tên là V_IPS được xây dựng trên cơ sở hoạt động của hai cảm biến là: Cảm biến gia tốc sử dụng phương pháp phương sai mẫu để xác định bước chân và ước lượng chiều dài bước chân. Con quay hồi chuyển dùng để xác định góc quay.
3.2.1. Giao diện phần mềm
Giao diện phần mềm V_IPS được giới thiệu trên hình 3.1 với chức năng các layout và các phím như sau:
Hình 3.1: Giao diện phần mềm V_IPS
Biểu thị chiều dài một bước. Khi không có bước layout này hiển thị là 0,0 m, khi có bước đi bình thường hiển thị là 0,6 m, khi có bước đi nhanh hiển thị là 0,7 m.
Biểu thị số bước đi được.
Biểu thị quãng đường đi được.
Layout chỉ thị hướng đi. Chương trình có 3 trường hợp là đi thẳng, rẽ trái và rẽ phải. Đi thẳng được biểu hiện bởi chữ “Straight” màu xanh lá cây, rẽ trái được biểu hiện bởi chữ “Turn left” màu xanh lá cây và nền layout là
màu xanh nước biển, rẽ phải được biểu hiện bởi chữ “Turn rigth” màu xanh lá cây và nền layout là màu hồng, như các hình 3.2a, 3.2b, và 3.2c.
a. Chữ “Straight” màu xanh biểu hiện đi
thẳng
b. Nền màu xanh biểu hiện rẽ trái
c. Nền màu hồng biểu hiện rẽ phải
Hình 3.2: Biểu thị hướng đi trên phần mềm V_IPS
Phím chạy chương trình. Khi phím này được nhấn thì phần mềm sẽ hoạt động. Biểu hiện khi nhấn hím này là chữ START sẽ to hơn các chữ ở 2 phím còn lại. Nếu không có sự đổi hướng thì ở layout ‘Direction’ sẽ xuất hiện chữ “Straight” màu xanh lá cây. Khi người dùng bước đi thì các layout sẽ hiển thị các