Kovaryans nasıl döndürülür?


11

Bir EKF üzerinde çalışıyorum ve kovaryans matrisleri için koordinat çerçeve dönüşümü ile ilgili bir sorum var. Diyelim ki biraz ölçüm aldım(x,y,z,roll,pitch,yaw) karşılık gelen 6x6 kovaryans matrisi ile C. Bu ölçüm veC bazı koordinat çerçevelerinde verilir G1. Ölçümü başka bir koordinat çerçevesine dönüştürmem gerekiyor,G2. Ölçümün kendisini dönüştürmek önemsizdir, ancak aynı zamanda kovaryansını da dönüştürmem gerekir, değil mi? Arasındaki çeviriG1 ve G2alakasız olmalı, ama yine de döndürmem gerekiyor. Doğruysam bunu nasıl yaparım? Arasındaki kovaryanslar içinx, y, ve zilk düşüncem bir 3D döndürme matrisi uygulamaktı, ancak bu sadece tam 6x6 kovaryans matrisi içinde 3x3 alt matrisi için işe yaradı. Dört bloğa da aynı dönüşü uygulamam gerekir mi?

Yanıtlar:


8

Kovaryans,

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

nerede, senin durumunda, XR6 eyalet vektörünüz ve C zaten sahip olduğunuz kovaryans matrisidir.

Dönüştürülmüş durum için X=RX, ile RR6×6 senin durumunda, bu olur

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

Bir uyarı olarak, Euler açılarına dikkat edin. Bunlar davranışlarında her zaman sezgisel değildir, bu yüzden onları konum için kullandığınız aynı döndürme matrisi ile döndüremeyebilirsiniz. Konumların genellikle küresel koordinat sistemi olarak tanımlandığını (robotik dünyada) konumlarının genellikle küresel koordinat sistemi olarak tanımlandığını unutmayın. Yine de, başımın üstünden, özel tedaviye ihtiyaçları olup olmadığını hatırlayamıyorum.


Teşekkürler. Ancak bu durumda,R 3x3 ve C6x6'dır. Sanırım sorunumun bir kısmı,R doğrusal eksenler ve dönüş arasındaki kovaryansı (veya Euler açılarının kendisinin kovaryansını) etkileyecektir, yani, nasıl artırmalıyım Rböylece 6x6.
TheWumpus

1
Rherhangi bir keyfi afin dönüşümdür. Sizin durumunuzda, sol üst 3x3 blok ve sağ alt 3x3 bloklar hem dönme matrisidir (Euler açılarının aynı şekilde döndürülebileceğini varsayarsanız ... cevaba bakınız). Diyagonal bloklar sıfırdır.
ryan0270

1

MRPT kütüphane sizin için bunu yapabilirsiniz. CPose3DPDFGaussianPoz ve kovaryansınızı temsil etmek için a kullanmanız ve ardından +operatörü kullanmanız gerekir .

Kaputun altında, matematiğin daha basit olduğu bir 7DOF kuaterniyon tabanı kovaryansı olarak 6DOF kovaryansınızı temsil eder.


Matematiği ve bunu sizin için yapan bir kütüphaneyi göstermek faydalı olacaktır.
chutsu

0

Kovaryans ve ayrışması için geometrik yorumlama ile çok sezgisel bir açıklama.

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


Merhaba, Robotik'e hoş geldiniz! Cevabınız için teşekkürler, ancak cevapların mümkün olduğunca kendi kendine yer almasını tercih ediyoruz. Bağlantılar çürümeye eğilimlidir, bu nedenle bir bağlantıya dayanan cevaplar içeriğe bağlantı kaybolursa yararsız hale getirilebilir. Bağlantıdan daha fazla bağlam eklerseniz, insanların yanıtınızı yararlı bulacağı daha olasıdır.
mactro
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.