Estou implementando a localização de Monte-Carlo para o meu robô, que recebe um mapa do ambiente e sua localização e orientação inicial. A minha abordagem é a seguinte:
- Crie uniformemente 500 partículas em torno da posição especificada
- Então, em cada etapa:
- movimento atualize todas as partículas com odometria (minha abordagem atual é newX = oldX + odometryX (1 + standardGaussianRandom), etc.)
- atribua peso a cada partícula usando dados do sonar (a fórmula é para cada probabilidade do sensor * = gaussianPDF (realReading) em que gaussian tem a média da leitura prevista)
- retornar a partícula com maior probabilidade como a localização nesta etapa
- então 9/10 das novas partículas são reamostradas das antigas de acordo com os pesos e 1/10 é amostrada uniformemente em torno da posição prevista
Agora, escrevi um simulador para o ambiente do robô e aqui está como essa localização se comporta: http://www.youtube.com/watch?v=q7q3cqktwZI
Receio que, por um longo período, o robô se perca. Se adicionar partículas a uma área maior, o robô se perde ainda mais facilmente.
Espero um melhor desempenho. Algum conselho?
O desempenho mostrado no vídeo é bom, considerando um único sensor de sonar. Você tem um exemplo de vídeo do robô sendo perdido?
—
Demetris 21/01
Na verdade, existem 5 sonares, ainda diria que é bom? Não tenho um vídeo do robô se perdendo, mas vou tentar hoje em um robô real.
—
Andrei Ivanov
Não está claro para mim qual é a sua preocupação. O PF que você implementou parece funcionar bem. Talvez você possa ser mais detalhado sobre o que você acha que é o problema.
—
Demetris 21/01
Por favor, não faça a mesma pergunta em vários sites de troca de pilhas . Se você perguntar acidentalmente no site errado, ele poderá ser migrado para o site correto.
—
Mark Booth
Bem-vindo à robótica Andrei Ivanov. Tal como está, não está claro qual é a sua pergunta real. Preferimos perguntas práticas e respondíveis com base nos problemas reais que você enfrenta . Dê uma olhada em como perguntar e turnê para mais informações sobre como funciona a troca de pilha, e pense sobre como você pode editar a sua pergunta para torná-lo mais responsável.
—
Mark Booth