Một thí nghiệm đơn giản được tiến hành để hiệu chỉnh các hệ số 𝜆𝑡 và 𝜆𝑝 bằng cách đẩy khung tập đi thẳng về trước. Gọi 𝐿 là quãng đường đi của khung tập đi, ta có:
Trang 104 𝜆𝑡 = 𝐿 ∑𝑁 𝑝𝑡,𝑖 𝑖=1 𝜆𝑝 = 𝐿 ∑𝑁 𝑝𝑝,𝑖 𝑖=1 (4-17)
với 𝑁 là tổng số dữ liệu của q trình thí nghiệm.
Q trình chuyển động của khung tập đi trong thời gian lấy mẫu 𝑇 có thể được xem như quay quanh một đường trịn tâm 𝐶 nào đó tại thời điểm 𝑖 (xem Hình 4.6). Lúc này bánh trái, bánh phải và gốc 𝑂 của hệ toạ độ BCS đều chuyển động trên các cung tròn đồng tâm 𝐶 khác bán kính.
Do khoảng cách giữa 2 bánh xe (𝐷 = 610 𝑚𝑚) là rất lớn so với quãng đường di chuyển của 2 bánh xe trong một thời gian lấy mẫu ( 𝐸𝑡,𝑖, 𝐸𝑝,𝑖 ≈ 5 𝑚𝑚) nên góc quay của khung tập đi quanh trục 𝑧𝑏 có thể được tính như sau:
𝛾𝑖 ≈𝐸𝑡,𝑖 − 𝐸𝑝,𝑖
𝐷 (4-18)
Ma trận quay quanh trục 𝑧𝑏 từ hệ toạ độ BCS tại thời điểm rời rạc 𝑖 − 1 sang hệ toạ độ BCS tại thời điểm rời rạc 𝑖 được tính như sau:
𝐶 𝑏,𝑖−1 𝑏,𝑖 = [ 𝑐𝑜𝑠 𝛾𝑖 − 𝑠𝑖𝑛 𝛾𝑖 0 𝑠𝑖𝑛 𝛾𝑖 𝑐𝑜𝑠 𝛾𝑖 0 0 0 1 ] (4-19)
Lúc này, vectơ tịnh tiến chuyển hệ toạ độ BCS tại thời điểm rời rạc 𝑖 − 1 sang hệ toạ độ BCS tại thời điểm rời rạc 𝑖 xét trong hệ tọa độ BCS tại thời điểm rời rạc 𝑖 − 1 là:
[𝑇𝑏,𝑖−1𝑏,𝑖 ]
𝑏,𝑖−1 = 𝐶𝑏,𝑖−1 𝑏,𝑖 [𝐸𝑝,𝑖 + 𝐸𝑡,𝑖
2 0 0] (4-20)
Vectơ tịnh tiến này khi xét trong hệ tọa độ WCS được xác định như sau: 𝑇𝑏,𝑖−1𝑏,𝑖 = 𝐶𝑏,𝑖−1𝑤 𝐶
𝑏,𝑖−1
𝑏,𝑖 [𝐸𝑝,𝑖 + 𝐸𝑡,𝑖
2 0 0] (4-21)
Thay 𝐶𝑏,𝑖−1𝑤 = 𝐶𝑇(𝑞̂𝑖−1)𝐶𝑏𝐼 vào phương trình (4-21), ta có: 𝑇𝑏,𝑖−1𝑏,𝑖 = 𝐶𝑇(𝑞̂𝑖−1)𝐶𝑏𝐼𝐶𝑏,𝑖−1 𝑏,𝑖 [𝐸𝑝,𝑖 + 𝐸𝑡,𝑖
Trang 105
Như vậy vị trí của khung tập đi (tâm của BCS) 𝑟𝑏 tại thời điểm rời tạc 𝑖 xét trong hệ toạ độ WCS được tính thơng qua vị trí của khung tập đi tại thời điểm rời rạc 𝑖 − 1 như sau:
𝑟𝑏,𝑖 = 𝑟𝑏,𝑖−1+ 𝑇𝑏,𝑖−1𝑏,𝑖 (4-23)
Vị trí của khung tập đi được tính thơng qua vị trí của cảm biến IMU (𝑟) và ngược lại như sau:
𝑟𝑏,𝑖 = 𝑟𝑖− 𝐶𝑏,𝑖𝑤[𝑇𝑏𝐼]𝑏
𝑟𝑖 = 𝑟𝑏,𝑖+ 𝐶𝑏,𝑖𝑤[𝑇𝑏𝐼]𝑏 (4-24) Có thể thấy được trục 𝑥𝑏 của hệ toạ độ BCS tại thời điểm rời rạc 𝑖 ([𝐶𝐼𝑏𝐶(𝑞𝑖)]𝑇[1 0 0]𝑇) chính là phép quay quanh trục 𝑧𝑏 một góc 𝛾𝑖 của trục 𝑥𝑏 của BCS tại thời điểm rời rạc 𝑖 − 1 ( 𝑉𝑃 = 𝐶𝑏,𝑖−1 𝑏,𝑖 [𝐶𝐼𝑏𝐶(𝑞̂𝑖−1)]𝑇[1 0 0]𝑇)
Như vậy, ta có:
[𝐶𝐼𝑏𝐶(𝑞𝑖)]𝑇[1 0 0]𝑇 = 𝑉𝑃 (4-25) Thay (4-12) vào (4-25):
[𝐶𝐼𝑏(𝐶(𝑞̂𝑖) − 2[𝑞̄𝑖×]𝐶(𝑞̂𝑖))]𝑇[1 0 0]𝑇 = 𝑉𝑃 (4-26) Viết lại phương trình (4-26):
[𝐶𝐼𝑏𝐶(𝑞̂𝑖) − 2𝐶𝐼𝑏[𝑞̄𝑖×]𝐶(𝑞̂𝑖)]𝑇[1 0 0]𝑇 = 𝑉𝑃 (4-27) Sử dụng tính chất (𝑎 + 𝑏) = 𝑎𝑇 + 𝑏𝑇 cho phương trình (4-27):
([𝐶𝐼𝑏𝐶(𝑞̂𝑖)]𝑇− 2[𝐶𝐼𝑏[𝑞̄𝑖×]𝐶(𝑞̂𝑖)]𝑇)[1 0 0]𝑇 = 𝑉𝑃 (4-28) Tiếp tục sử dụng tính chất (𝑎𝑏)𝑇 = 𝑏𝑇𝑎𝑇 cho phương trình (4-28):
([𝐶𝐼𝑏𝐶(𝑞̂𝑖)]𝑇 − 2[[𝑞̄𝑖×]𝐶(𝑞̂𝑖)]𝑇[𝐶𝐼𝑏]𝑇) [1 0 0]𝑇 = 𝑉𝑃 (4-29) Sử dụng tính chất (𝑎𝑏)𝑇 = 𝑏𝑇𝑎𝑇 và [𝑎 ×]𝑇 = −[𝑎 ×] cho phương trình (4-29):
[𝐶𝐼𝑏𝐶(𝑞̂𝑖)]𝑇[1 0 0]𝑇 + 2𝐶𝑇(𝑞̂𝑖)[𝑞̄𝑖×][𝐶𝐼𝑏]𝑇[1 0 0]𝑇 = 𝑉𝑃 (4-30) Tiếp tục sử dụng tính chất [𝑎 ×]𝑏 = −[𝑏 ×]𝑎 cho phương trình (4-30):
−2𝐶𝑇(𝑞̂𝑖)[([𝐶𝐼𝑏]𝑇[1 0 0]𝑇) ×]𝑞̄𝑖 = 𝑉𝑃 − [𝐶𝐼𝑏𝐶(𝑞̂𝑖)]𝑇[1 0 0]𝑇 (4-31) Như vậy phương trình cập nhật quaternion cho bộ lọc Kalman sử dụng góc quay quanh trục 𝑧𝑏 như sau:
Trang 106
𝑧𝑒2 = 𝐻𝑒2𝑥 + 𝑣𝑒2 (4-32)
trong đó:
- 𝑧𝑒2 = 𝑉𝑃 − [𝐶𝐼𝑏𝐶(𝑞̂𝑖)]𝑇[1 0 0]𝑇
- 𝐻𝑒2 = [−2𝐶𝑇(𝑞̂𝑖)[([𝐶𝐼𝑏]𝑇[1 0 0]𝑇) ×] 03×12] ∈ 𝑅3×15
- Nhiễu 𝑣𝑒2 = 𝑁(0, 𝑅𝑒2) ∈ 𝑅3 là nhiễu trắng đại diện cho việc tính tốn góc quay 𝛾𝑖 quanh trục 𝑧𝑏 khơng hồn tồn chính xác.
4.4.3 Xây dựng phương trình cập nhật vị trí sử dụng thơng tin từ encoder
Trong phần này, trình bày việc xây dựng phương trình cập nhật vị trí sử dụng thơng tin từ encoder. Từ phương trình (4-24), ta có:
𝑟𝑖 = 𝑟𝑏,𝑖 + 𝐶𝑏,𝑖−1𝑤 [𝐶𝑏,𝑖−1𝑏,𝑖 ]𝑇[𝑇𝑏𝐼]𝑏 (4-33) Do 𝐶𝑏,𝑖−1𝑤 = 𝐶𝑇(𝑞̂𝑖−1)𝐶𝑏𝐼 nên:
𝑟𝑖 = 𝑟𝑏,𝑖 + 𝐶𝑇(𝑞̂𝑖−1)𝐶𝑏𝐼[𝐶𝑏,𝑖−1𝑏,𝑖 ]𝑇[𝑇𝑏𝐼]𝑏 (4-34) Thay phương trình (4-33) vào phương trình (4-34) như sau:
𝑟𝑖 = 𝑟𝑏,𝑖−1+ 𝑇𝑏,𝑖−1𝑏,𝑖 + 𝐶𝑇(𝑞̂𝑖−1)𝐶𝑏𝐼[𝐶𝑏,𝑖−1𝑏,𝑖 ]𝑇[𝑇𝑏𝐼]𝑏 (4-35) Áp dụng 𝑟𝑏,𝑖 = 𝑟𝑖 − 𝐶𝑏,𝑖𝑤[𝑇𝑏𝐼]𝑏, ta có:
𝑟𝑏,𝑖−1 = 𝑟𝑖−1− 𝐶𝑏,𝑖−1𝑤 [𝑇𝑏𝐼]𝑏 (4-36)
Thay 𝐶𝑏,𝑖−1𝑤 = 𝐶𝑇(𝑞̂𝑖−1)𝐶𝑏𝐼 vào phương trình (4-36), ta có:
𝑟𝑏,𝑖−1 = 𝑟𝑖−1 − 𝐶𝑇(𝑞̂𝑖−1)𝐶𝑏𝐼[𝑇𝑏𝐼]𝑏 (4-37) Như vậy phương trình (4-35) được viết lại như sau:
𝑟𝑖 = 𝑟𝑖−1− 𝐶𝑇(𝑞̂𝑖−1)𝐶𝑏𝐼[𝑇𝑏𝐼]𝑏+ 𝑇𝑏,𝑖−1𝑏,𝑖 + 𝐶𝑇(𝑞̂𝑖−1)𝐶𝑏𝐼[𝐶𝑏,𝑖−1𝑏,𝑖 ]𝑇[𝑇𝑏𝐼]𝑏 (4-38) trong đó, các thành phần bên vế phải đã tính được trước thời điểm rời rạc 𝑖.
Như vậy, phương trình cập nhật vị trí sử dụng thơng tin từ các encoder như sau:
𝑧𝑒3 = 𝐻𝑒3𝑥 + 𝑣𝑒3 (4-39)
trong đó:
- 𝑧𝑒3 = 𝑟𝑖 − 𝑟̂𝑖
Trang 107
- 𝑣𝑒3 = 𝑁(0, 𝑅𝑒3) ∈ 𝑅3 là nhiễu trắng đại diện cho sai số của việc xác định vị trí sử dụng encoder.
Từ các phương trình cập nhật ở Mục 4.4.1, 4.4.2 và 4.4.3, ta có phương trình cập nhật tổng quát trong trường hợp khung tập đi được đẩy đi trên mặt đất như sau:
𝑧 = 𝐻𝑥 + 𝑣𝑒 (4-40) trong đó: 𝑧 = [ 𝑧𝑒1 𝑧𝑒2 𝑧𝑒3] ; 𝐻 = [ 𝐻𝑒1 𝐻𝑒2 𝐻𝑒3 ] ; 𝑣𝑒 = [ 𝑣𝑒1 𝑣𝑒2 𝑣𝑒3]. Ma trận hiệp phương của phép đo như sau:
𝑅 = [
𝑅𝑒1 03×3 03×3 03×3 𝑅𝑒2 03×3 03×3 03×3 𝑅𝑒3
] (4-41)
Do q trình tính tốn để đưa đến phương trình cập nhật rất phức tạp nên hiệp phương sai của phép đo rất khó xác định và được chọn dựa vào thực tế và kinh nghiệm. Trong đó, do việc sử dụng encoder có độ phân giải cao để xác định hướng và vị trí nên sai số cũng như hiệp phương sai nhỏ, luận án chọn 𝑅𝑒1 = 𝑅𝑒2 = 𝑅𝑒3 = 10−6𝐼3.
4.4.4 Kết hợp quỹ đạo ước lượng bởi IMU và quỹ đạo ước lượng bởi encoder
Ở cách thứ hai của việc xác định chuyển động của khung tập đi, cần xác định quỹ đạo chuyển động của khung tập đi sử dụng encoder khi khung tập đi được đẩy đi trên mặt đất và kết hợp với quỹ đạo chuyển động của khung tập đi mỗi khi được nhấc lên được ước lượng bởi cảm biến IMU. Các khoảng chuyển động liên quan đến việc đẩy khung tập đi trên mặt đất hay nhấc khung tập đi lên đã được phát hiện và phân loại ở Mục 4.3.3.
Việc ước lượng quỹ đạo chuyển động của khung tập đi sử dụng IMU bao gồm cả việc cập nhật vận tốc và độ cao của khung tập đi tại các khoảng khung tập đi đứng yên trên mặt đất đã được trình bày ở đầu Mục 4.4 với ma trận quan sát trong (4-10). Việc ước lượng quỹ đạo chuyển động của khung tập đi sử dụng encoder được thể hiện trong Hình 4.6 và phương trình (4-23). Việc kết hợp quỹ đạo chuyển động được
Trang 108
ước lượng bởi cảm biến IMU và quỹ đạo chuyển động được ước lượng bởi encoder được thực hiện thơng qua phương trình (4-24).
4.5 Trích xuất thông số bước đi
Một hệ trục toạ độ BCS mới (BCSN) được định nghĩa có gốc nằm ở trung điểm đoạn nối giữa hai đế chân sau khung tập đi trong khi hướng các trục trùng với các trục của hệ toạ độ BCS như trong Hình 4.7. Lúc này, sau mỗi bước đi thì gốc hệ toạ độ BCSN được xem là trùng với gót chân của người dùng. Như vậy việc xác định thông số bước đi của người dùng dựa trên vị trí của hệ toạ độ BCSN theo thời gian. Việc này đã được đề cập đến trong công bố [107] của tác giả.
𝑥𝑏
𝑦𝑏
𝑥𝑏𝑁 𝑦𝑏𝑁