Saya menerapkan pelokalan Monte-Carlo untuk robot saya yang diberi peta lingkungan dan lokasi awal serta orientasinya. Pendekatan tambang adalah sebagai berikut:
- Seragam membuat 500 partikel di sekitar posisi yang diberikan
- Kemudian di setiap langkah:
- gerak memperbarui semua partikel dengan odometry (pendekatan saya saat ini adalah newX = oldX + odometryX (1 + standardGaussianRandom), dll.)
- tetapkan bobot untuk setiap partikel menggunakan data sonar (rumus untuk setiap probabilitas sensor * = gaussianPDF (realReading) di mana gaussian memiliki rata-rata yang diprediksiReading)
- kembalikan partikel dengan probabilitas terbesar sebagai lokasi pada langkah ini
- kemudian 9/10 partikel baru di-resampled dari yang lama sesuai dengan bobot dan 1/10 disampel secara seragam di sekitar posisi prediksi
Sekarang, saya menulis simulator untuk lingkungan robot dan di sini adalah bagaimana lokalisasi ini berperilaku: http://www.youtube.com/watch?v=q7q3cqktwZI
Saya sangat takut bahwa untuk jangka waktu yang lebih lama robot dapat tersesat. Jika menambahkan partikel ke area yang lebih luas, robot akan hilang lebih mudah.
Saya mengharapkan kinerja yang lebih baik. Ada saran?
localization
motion-planning
sonar
Andrei Ivanov
sumber
sumber
Jawaban:
Saya baru saja menjawab pertanyaan di StackOverflow, di mana sudah ditanyakan. Ini tautannya:
/programming/21249131/monte-carlo-localization-for-mobile-robot
sumber