Lokalisasi Monte-Carlo

8

Saya menerapkan pelokalan Monte-Carlo untuk robot saya yang diberi peta lingkungan dan lokasi awal serta orientasinya. Pendekatan tambang adalah sebagai berikut:

  1. Seragam membuat 500 partikel di sekitar posisi yang diberikan
  2. 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?

Andrei Ivanov
sumber
Performa yang ditampilkan dalam video bagus, mengingat sensor sonar tunggal. Apakah Anda memiliki video contoh robot yang hilang?
Demetris
Sebenarnya ada 5 sonar, apakah masih akan mengatakan itu baik? Saya tidak punya video robot yang hilang, tetapi saya akan mencobanya hari ini dengan robot sungguhan.
Andrei Ivanov
Tidak jelas bagi saya apa yang menjadi perhatian Anda. PF yang Anda implementasikan tampaknya berfungsi dengan baik. Mungkin Anda bisa lebih mendetail tentang apa yang menurut Anda masalahnya.
Demetris
Tolong jangan ajukan pertanyaan yang sama di beberapa situs pertukaran tumpukan . Jika Anda secara tidak sengaja bertanya di situs yang salah, itu dapat dimigrasi ke yang benar.
Mark Booth
1
Selamat datang di Robotika Andrei Ivanov. Tidak jelas apa pertanyaan Anda yang sebenarnya di sini. Kami lebih suka pertanyaan praktis yang dapat dijawab berdasarkan masalah aktual yang Anda hadapi . Lihatlah Cara Meminta dan tur untuk informasi lebih lanjut tentang cara kerja pertukaran stack, dan berpikir tentang bagaimana Anda dapat mengedit pertanyaan Anda untuk membuatnya lebih jawab.
Mark Booth

Jawaban: