Memuat lab 3D…
Memuat pelajaran…
← Lab RoverDunia 1 · pelajaran 4 dari 4Semua pelajaran ↓

Mengapa sebuah rencana saja tidak cukup.
Mengajar materi ini? Buka mode proyektor
Berikut rencana yang menggoda: untuk menggerakkan robot membentuk persegi dengan panjang sisi satu meter, beri perintah 'maju selama 5 detik, belok kiri selama 1,5 detik', sebanyak empat kali. Kita sudah menghitung rumusnya, jadi seharusnya robot menggambar persegi sempurna. Jalankan pada robot sungguhan, dan bentuknya hampir tidak pernah tertutup. Robot biasanya berhenti beberapa sentimeter dari tempat awalnya, atau bahkan lebih buruk.
Jenis kendali ini disebut open loop: perintah dihitung sebelumnya lalu dikirim, dan tidak ada yang mengukur apa yang sebenarnya terjadi. Kebalikannya adalah closed loop, yang menggunakan umpan balik (loop dari pelajaran pertama). Open loop cocok jika dunia dapat diprediksi. Robot jarang berada di dunia yang dapat diprediksi.
Mengapa 'perintah yang sama' menghasilkan hasil yang berbeda.
Semua hal ini kecil. Masalahnya, galat-galat kecil bertambah (Dunia 2 akan menunjukkan angkanya).
Coba eksperimen dalam pikiran. Misalkan galat arah hadap membuat setiap 'belok kiri 90 derajat' hanya menghasilkan 88 derajat. Setelah empat sudut, robot telah berbelok 352 derajat, bukan 360, sehingga jalurnya tidak tertutup: arahnya kurang 8 derajat dari arah menghadap posisi awal, dan galat posisi juga ikut bertambah. Robot dengan closed loop akan mengukur arah hadapnya menggunakan sensor setelah setiap belokan, lalu terus berbelok sampai sensor menunjukkan 90 derajat.
Solusinya adalah tema dunia-dunia berikutnya. Pertama, robot harus mengestimasi posisinya (Dunia 2). Lalu, pengendali menggunakan perbedaan antara 'posisi yang kuinginkan' dan 'posisi yang menurutku sedang ditempati' untuk memperbaiki dirinya (Dunia 3). Sensor untuk dunia luar akan dibahas di Dunia 4.
Apa arti 'loop terbuka'?
Mengapa robot yang menjalankan persegi yang direncanakan biasanya gagal kembali ke titik awal?
Penambahan apa yang paling langsung mengurangi galat?