Karena menentukan posisi target yang tepat mungkin sulit dalam banyak situasi, pendekatan berikut berdasarkan pada kisi-kisi hunian 2D mungkin perlu dipertimbangkan. Ini biasanya disebut sebagai "iterasi nilai", dan dikombinasikan dengan gradient-descent / ascent, memberikan algoritma perencanaan jalur yang sederhana dan cukup efisien (tergantung pada implementasi). Karena kesederhanaannya, ini terkenal dalam robotika seluler, khususnya untuk navigasi "robot sederhana" di lingkungan dalam ruangan. Seperti tersirat di atas, pendekatan ini menyediakan sarana untuk menemukan jalan dari posisi awal tanpa secara eksplisit menentukan posisi target sebagai berikut. Perhatikan bahwa posisi target dapat secara opsional ditentukan, jika tersedia. Juga, pendekatan / algoritme merupakan pencarian pertama yang luas,
Dalam kasus biner, peta kisi hunian 2D adalah satu untuk kisi-kisi sel yang diduduki dan nol di tempat lain. Perhatikan bahwa nilai hunian ini juga dapat berkelanjutan dalam kisaran [0,1], saya akan kembali ke yang di bawah ini. Nilai sel grid g i yang diberikan adalah V (g i ) .
Versi Dasar
- Dengan asumsi bahwa sel-grid g 0 berisi posisi awal. Set V (g 0 ) = 0 , dan masukkan g 0 dalam antrian FIFO.
- Ambil sel-grid g i berikutnya dari antrian.
- Untuk semua tetangga g j dari g i :
- Jika g j tidak ditempati dan belum pernah dikunjungi sebelumnya:
- V (g j ) = V (g i ) +1
- Mark g j sebagai dikunjungi.
- Tambahkan g j ke antrian FIFO.
- Jika ambang-jarak yang diberikan belum tercapai, lanjutkan dengan (2.), jika tidak lanjutkan dengan (5.).
- Jalur diperoleh dengan mengikuti gradien-pendakian paling curam mulai dari g 0 .
Catatan pada Langkah 4.
- Seperti yang diberikan di atas, langkah (4.) mengharuskan untuk melacak jarak maksimum yang dicakup, yang telah dihilangkan dalam uraian di atas karena alasan kejelasan / singkatnya.
- Jika posisi target diberikan, iterasi dihentikan segera setelah posisi target tercapai, yaitu diproses / dikunjungi sebagai bagian dari langkah (3.).
- Tentu saja, ini juga memungkinkan untuk hanya memproses seluruh kotak-peta, yaitu untuk melanjutkan sampai semua sel jaringan (gratis) telah diproses / dikunjungi. Faktor pembatasnya jelas adalah ukuran peta-grid bersama dengan resolusinya.
Ekstensi dan Komentar Lebih Lanjut
Pembaruan-persamaan V (g j ) = V (g i ) +1 menyisakan banyak ruang untuk menerapkan semua jenis heuristik tambahan dengan menurunkan skala V (g j )atau komponen tambahan untuk mengurangi nilai opsi jalur tertentu. Sebagian besar, jika tidak semua, modifikasi tersebut dapat dengan baik dan umum digabungkan menggunakan peta-kotak dengan nilai kontinu dari [0,1], yang secara efektif merupakan langkah pra-pemrosesan dari peta-peta biner awal. Misalnya, menambahkan transisi dari 1 ke 0 di sepanjang batas hambatan, menyebabkan "aktor" lebih baik tetap bersih dari hambatan. Peta kisi seperti itu, misalnya, dapat dihasilkan dari versi biner dengan mengaburkan, pelebaran berbobot, atau serupa. Menambahkan ancaman dan musuh sebagai rintangan dengan radius kabur yang besar, menghukum jalur yang mendekati ini. Kita juga dapat menggunakan proses difusi pada keseluruhan peta-grid seperti ini:
V (g j ) = (1 / (N + 1)) × [V (g j ) + jumlah (V (g i ))]
di mana " penjumlahan " mengacu pada penjumlahan dari semua sel-sel grid yang berdekatan. Sebagai contoh, alih-alih membuat peta biner, nilai awal (integer) bisa proporsional dengan besarnya ancaman, dan hambatan menghadirkan ancaman "kecil". Setelah menerapkan proses difusi, nilai grid harus / harus diskalakan ke [0,1], dan sel-sel yang ditempati oleh hambatan, ancaman, dan musuh harus ditetapkan / dipaksa ke 1. Jika tidak, penskalaan dalam persamaan pembaruan dapat tidak berfungsi seperti yang diinginkan.
Ada banyak variasi dalam skema / pendekatan umum ini. Rintangan, dll. Bisa memiliki nilai kecil, sedangkan sel-sel jaringan bebas memiliki nilai besar, yang mungkin memerlukan penurunan gradien pada langkah terakhir tergantung pada tujuannya. Bagaimanapun, pendekatannya adalah, IMHO, sangat fleksibel, cukup mudah diimplementasikan, dan berpotensi agak cepat (tergantung pada ukuran / resolusi kisi-peta). Akhirnya, seperti halnya banyak algoritma perencanaan jalan yang tidak menganggap posisi target tertentu, ada risiko yang jelas terjebak dalam jalan buntu. Sampai taraf tertentu, dimungkinkan untuk menerapkan langkah-langkah pasca-pemrosesan khusus sebelum langkah terakhir untuk mengurangi risiko ini.
Berikut ini deskripsi singkat lainnya dengan ilustrasi di Java-Script (?), Meskipun ilustrasinya tidak berfungsi dengan browser saya :(
http://www.cs.ubc.ca/~poole/demos/mdp/vi.html
Banyak detail lebih lanjut tentang perencanaan dapat ditemukan dalam buku berikut. Iterasi nilai secara khusus dibahas dalam Bab 2, Bagian 2.3.1 Rencana Panjang Tetap Optimal.
http://planning.cs.uiuc.edu/
Semoga itu bisa membantu, salam hormat, Derik.