Você está lendo isso muito estreitamente.
Você não "precisa" de odômetro. O SLAM é simplesmente uma maneira de fundir qualquer estimativa de sensor em uma estimativa consistente do estado do robô.
"Baseado em recursos" não significa necessariamente que você precisa ter recursos identificáveis em qualquer lugar do ambiente.
Primeiro princípio da fusão de sensores: duas estimativas são melhores que uma!
Exemplo
Eu não li o livro "para manequins", mas se eles não fizerem o exemplo numérico a seguir, eu incendio o livro e fico com um melhor. E se eles fazem ter este exemplo, então eu me pergunto por que você não mencionou isso!
(você pode acompanhar a matemática aqui )
Um robô está em posição x=0e está se movendo para a direita (aumentando x) Neste mundo perfeito, os modos de dinâmica e sensor são lineares. (caso contrário, use EKF, PF ou alguma variante).
- Há uma parede exatamente x=10 qual o robô pode medir a distância.
- O robô possui um scanner a laser para se distanciar com a variação do sensor σ2l=.1
- O robô pode medir sua distância percorrida com odômetros usando variação de sensor σ2o= 0,5. Claramente, o laser é mais preciso que os odos.
Veja como o robô lida com o SLAM neste ambiente simples. (observe que na verdade é localização, pois não estamos atualizando a posição do muro).
- O robô tenta mover uma unidade para a direita.
- Medidas de Odometria x=.9
- O scanner a laser diz que você é 8.8unidades da parede. (implicando que você esteja em 1,2)
Pergunta : Onde você está?
Você escolhe o melhor sensor? Neste caso, o laser é o melhor, certo? Então, obviamente, eu estoux=1.2.
Você escolhe o "mais próximo" do que você espera? Bem, neste caso, acho que devemos usar odometria, já que.9 está mais perto do que eu pretendia (mover uma unidade).
Talvez você possa calcular a média dos dois? Bem, isso é melhor, mas é suscetível a discrepâncias.
Os princípios brilhantes da fusão de sensores mostram como responder à pergunta da seguinte maneira:
Sua estimativa média quadrática mínima da posição do robô é dada por:
xmmse=σ2lσ2o+σ2l(.9)+σ2oσ2o+σ2l(1.2)
xmmse=.1.6(.9)+.5.6(1.2)
xmmse=1.15
... a menos que eu estraguei a álgebra em algum lugar. As pessoas localizam aviões usando a matemática não muito mais complicada do que isso.