Filtro Kalman estendido usando modelo de movimento de odometria

14

Na etapa de predição da localização do EKF, a linearização deve ser realizada e (conforme mencionado em Probabilistic Robotics [THRUN, BURGARD, FOX] página 206) a matriz jacobiana ao usar o modelo de movimento de velocidade, definido como

[xyθ]=[xyθ]+[v^tω^t(sinθ+sin(θ+ω^tΔt))v^tω^t(cosθcos(θ+ω^tΔt))ω^tΔt]

é calculado como

GT=[10υtωt(cosμt1,θ+cos(μt1,θ+ωtΔt))01υtωt(sinμt1,θ+sin(μt1,θ+ωtΔt))001] .

O mesmo se aplica ao usar o modelo de movimento de odometria (descrito no mesmo livro, página 133), em que o movimento do robô é aproximado por uma rotação , uma tradução e um segunda rotação ? As equações correspondentes são:δ^rot1δ^δ^rot2

[xyθ]=[xyθ]+[δ^cos(θ+δ^rot1)δ^sin(θ+δ^rot1)δ^rot1+δ^rot2] .

Nesse caso, o jacobiano é

GT=[10δ^sin(θ+δ^rot1)01δ^cos(θ+δ^rot1)001] .

É uma boa prática usar o modelo de movimento de odometria em vez da velocidade para a localização de robôs móveis?

zSt
fonte
Eu acredito que seu termo d_y / d_theta deve ser positivo e não negativo (ou seja, deve ser + \ hat {\ delta} cos (θ + \ hat {\ delta} _ {rot1}))
rcv

Respostas:

9

Você fez duas perguntas. Como eu os interpreto, eles são:

  1. É necessário linearizar o modelo de movimento da odometria para uso com um filtro Kalman estendido (EKF)?
  2. É melhor usar o modelo de movimento de odometria em vez do modelo de movimento de velocidade.

Em relação à pergunta 1, a resposta curta é "sim". As garantias do filtro Kalman (KF) aplicam-se apenas a sistemas lineares. Linearizamos um sistema não linear na esperança de reter algumas dessas garantias para sistemas não lineares. De fato, linearizar os componentes não lineares de um sistema (isto é, o modelo de movimento e / ou o modelo de observação) é exatamente o que diferencia KFs e EFKs.

Em relação à pergunta 2, o Dr. Thrun argumenta na página 132 da Probabilistic Robotics que "[a experiência prática sugere que a odometria, embora ainda incorreta, seja geralmente mais precisa que a velocidade". No entanto, eu não interpretaria essa afirmação como um argumento para suplantar o modelo de velocidade. Se você possui informações sobre velocidade e odometria, geralmente é melhor usar as duas fontes de informação.

DaemonMaker
fonte
Outra alternativa para linearização baseada em Taylor é o Unscented KF: seas.harvard.edu/courses/cs281/papers/unscented.pdf
Alex Kreimer
2

Na minha experiência, a resposta para sua última pergunta é "sim". Eu tive muito mais sorte usando odometria em vez de previsão dinâmica (velocidade). No entanto, nunca usei o modelo de movimento que você descreve (do livro de Thrun). Em vez disso, usei o modelo que descrevi aqui .

Josh Vander Hook
fonte
No livro, o modelo é tratado como um problema cinemático, então eu acho que é um bom modelo para o problema de simulação.
CroCo
2

Para sua primeira pergunta: "O mesmo se aplica ao usar o modelo de movimento de odometria?", A resposta é Sim.

O EKF é praticamente o mesmo que o KF, com a adição da etapa de linearização. O que você está linearizando aqui é o modelo de movimento, qualquer que seja o modelo.

Para sua segunda pergunta: "É uma boa prática usar o modelo de movimento de odometria em vez da velocidade para a localização de robôs móveis?": Acho que a resposta é 'depende'.

Se você estiver usando um conjunto de dados que possui informações de velocidade e a localização é boa o suficiente para seus propósitos, provavelmente a simplicidade desse modelo é preferida. Se você está controlando diretamente o robô e tem acesso às informações de odometria, é provável que obtenha um resultado melhor.

munk
fonte