Làm thế nào để xoay hiệp phương sai?


10

Tôi đang làm việc trên EKF và có một câu hỏi liên quan đến chuyển đổi khung tọa độ cho ma trận hiệp phương sai. Hãy nói rằng tôi nhận được một số đo tương ứng với 6x6 hiệp phương sai ma trận . Phép đo và này được đưa ra trong một số khung tọa độ . Tôi cần chuyển đổi phép đo sang khung tọa độ khác, . Chuyển đổi phép đo chính nó là tầm thường, nhưng tôi cũng sẽ cần phải chuyển đổi hiệp phương sai của nó, đúng không? Bản dịch giữa và không liên quan, nhưng tôi vẫn cần xoay nó. Nếu tôi đúng, tôi sẽ làm điều này như thế nào? Cho hiệp phương sai giữa ,(x,y,z,roll,pitch,yaw)CCG1G2G1G2xyvà , suy nghĩ đầu tiên của tôi chỉ đơn giản là áp dụng ma trận xoay 3D, nhưng nó chỉ hoạt động với một hàm con 3x3 trong ma trận hiệp phương sai 6x6 đầy đủ. Tôi có cần áp dụng cùng một vòng quay cho cả bốn khối không?z

Câu trả lời:


7

Hiệp phương sai được định nghĩa là

C=E(XXT)E(X)E(XT)

trong trường hợp của bạn, là vectơ trạng thái của bạn và là ma trận hiệp phương sai mà bạn đã có.XR6C

Đối với trạng thái được chuyển đổi , với trong trường hợp của bạn, điều này trở thànhX=RXRR6×6

C=E(XXT)E(X)E(XT)=E(RXXTRT)E(RX)E(XTRT)=R E(XXT) RTRE(X)E(XT)RT=R( E(XXT)E(X)E(XT))RT=RCRT

Như một lời cảnh báo, hãy cẩn thận với các góc Euler. Chúng thường không trực quan trong hành vi của chúng, do đó bạn có thể không thể xoay chúng với cùng một ma trận xoay mà bạn sử dụng cho vị trí. Hãy nhớ rằng chúng thường được định nghĩa (trong thế giới robot) về mặt hệ tọa độ cục bộ trong khi vị trí thường được xác định theo hệ thống tọa độ toàn cầu. Mặc dù vậy, tôi không thể nhớ họ có cần điều trị đặc biệt không.


Cảm ơn. Tuy nhiên, trong trường hợp này, là 3x3 và là 6x6. Tôi đoán một phần của vấn đề của tôi là tôi không chắc sẽ ảnh hưởng như thế nào đến hiệp phương sai giữa các trục tuyến tính và xoay (hoặc thậm chí là hiệp phương sai của các góc Euler), tức là tôi nên tăng như thế nào để nó 6x6. RCRR
TheWumpus

1
R chỉ là bất kỳ phép biến đổi affine tùy ý. Trong trường hợp của bạn, khối 3x3 trên cùng bên trái và khối 3x3 dưới cùng bên phải đều là ma trận xoay (nếu bạn cho rằng các góc Euler có thể được quay giống nhau ... xem cảnh báo trong câu trả lời). Các khối ngoài đường chéo là số không.
ryan0270

1

Các thư viện MRPT thể làm điều này cho bạn. Bạn cần sử dụng a CPose3DPDFGaussianđể thể hiện tư thế và hiệp phương sai sau đó sử dụng +toán tử.

Dưới mui xe, nó đại diện cho hiệp phương sai 6DOF của bạn như một hiệp phương sai cơ sở bậc bốn 7DOF, trong đó toán học đơn giản hơn.


Sẽ có ích để hiển thị các toán học cũng như một thư viện làm điều đó cho bạn.
chutsu

0

Giải thích rất trực quan với giải thích hình học cho hiệp phương sai và phân rã của nó.

http://www.visiondummy.com/2014/04/geometric-interpretation-covariance-matrix/


Xin chào và chào mừng đến với Robotics! Cảm ơn câu trả lời của bạn nhưng chúng tôi muốn câu trả lời được khép kín nếu có thể. Liên kết có xu hướng bị thối nên các câu trả lời dựa trên một liên kết có thể bị vô dụng nếu liên kết đến nội dung biến mất. Nếu bạn thêm nhiều ngữ cảnh từ liên kết, nhiều khả năng mọi người sẽ thấy câu trả lời của bạn hữu ích.
mactro
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.