Contents — find the section you need

Change parameters and verify

Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.

Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.

The experiment controls are in English.

Open experiment panel in a new tab

Download reproduction source

Periksa arah kemudi di kedua sisi

Jalankan Straight · 1 m offset dan simpan A. Recover from right menggunakan offset lateral negatif dan membalik arah kemudi awal. Kontrol offset awal menempatkan poros belakang. Mengubah heading juga mengubah perpindahan lateral poros depan; periksa Initial heading 30° untuk melihat perbedaannya.

Stanley mengevaluasi perpindahan pada poros depan. Segmen poros berjalan dari belakang ke depan, garis putus-putus menghubungkan titik depan dengan proyeksi jalur terdekatnya, dan hijau menandai tangen jalur di sana. Melewati titik akhir, perpindahan juga mencakup kelebihan longitudinal; CTE bertanda hanya menggunakan komponen normal. Riwayat kesalahan menunjukkan referensi depan dalam hijau dan referensi belakang dalam biru (A menggunakan garis putus-putus oranye).

Permintaan kemudi adalah jumlah dua koreksi

Kemudi positif berbelok kiri; CTE positif berada di kiri jalur terarah. Diberikan posisi belakang (x,y), yaw ψ, dan wheelbase L, posisi depan adalah (x+L cosψ, y+L sinψ). Proyeksikan ke segmen terdekat dari polyline terbuka. Misalkan ψp adalah tangennya dan ef perpindahan normal-kiri bertanda.

Permintaannya adalah δ = wrap(ψp−ψ) − atan(k ef / (v+vs)). Gain k memiliki satuan 1/dtk, kecepatan saat ini v dan kecepatan softening vs memiliki satuan m/dtk. Ketika berada di kiri jalur dengan heading sejajar, ef>0 memberikan kemudi kanan. Dengan poros depan di jalur tetapi badan menghadap kiri, suku heading juga mengemudikan ke kanan.

Kecepatan softening positif adalah perluasan edukatif eksplisit dari persamaan dasar makalah tersebut; ini menghindari pembagian dengan nol dan dibatasi minimal 0,1 m/dtk di sini. Kecepatan yang lebih cepat melemahkan koreksi untuk kesalahan lateral yang sama. Gain tinggi memperkuatnya, tetapi kontrol yang disampel dan batas slew kemudi berarti gain yang lebih tinggi belum tentu meningkatkan pelacakan.

Play, pause, dan step untuk membaca heading + koreksi cross-track = requested → applied steering. Jumlah yang diminta terpisah dari batasan aktuator. Tight steering limit mendemonstrasikan kemudi yang tidak memadai pada kurva tajam; jalan yang tidak lengkap tetap menjadi hasil yang terlihat.

Kendaraan bersama dan metrik perbandingan

Plant adalah model bicycle kinematik poros-belakang maju-saja yang sama yang digunakan PP/APP/RPP. Interval adalah 0,05 dtk selama paling lama 30 dtk. Batasnya adalah 8 m/dtk, ±2 m/dtk², dan slew kemudi 0,8 rad/dtk, dengan magnitudo kemudi default ±0,6 rad. Kecepatan yang diinginkan konstan menggunakan a=2(desired−actual), dibatasi oleh plant. Setiap interval menahan kemudi dan mengintegrasikan gerak melengkung. Tidak ada slip ban, noise sensor, rintangan, atau kompensasi penundaan yang dimodelkan.

Tabel numerik bersama untuk CTE, kesalahan heading, dan RMS menggunakan poros belakang. Bedakan ini dari besaran poros-depan yang digunakan Stanley. Plot kesalahan heading menunjukkan yaw badan dikurangi tangen jalur; koreksi heading memiliki tanda berlawanan. RMS menggunakan integrasi waktu trapesium dari sampel kuadrat dibagi waktu yang berlalu.

Lintasan titik akhir memerlukan panjang-busur tersisa dan jarak titik akhir poros-belakang keduanya ≤0,25 m, ditambah kesalahan heading tangen-akhir ≤0,15 rad. Ini bukan berhenti atau parkir. Jarak jalur melebihi 10 m berakhir sebagai off-path; 30 dtk berakhir sebagai batas waktu. Pada kurva, poros belakang dapat memotong ke dalam bahkan ketika poros depan melacak, sehingga aturan titik akhir poros-belakang bersama dapat tetap tidak terpenuhi. Waktu lintasan yang tidak lengkap adalah "—". Jangan memperingkat durasi yang berbeda atau state penyelesaian hanya berdasarkan RMS.

Urutan yang disarankan

  1. Bandingkan offset awal kiri dan kanan dan periksa tanda kemudi.
  2. Ubah heading awal dan bedakan kesalahan lateral depan dari belakang.
  3. Ubah gain dan kecepatan secara terpisah dan bandingkan magnitudo dan riwayat kemudi.
  4. Gunakan kurva tajam dan kemudi terbatas untuk membaca pelacakan depan, metrik belakang, dan penyelesaian secara terpisah.

Eksekusi ada di peramban, dengan pemutaran, A/B, reset, share, dan unduhan JSON. Waktu komputasi menjelaskan implementasi peramban ini, bukan pewaktuan kontrol kendaraan nyata. Penundaan kemudi, kompensasi yaw-rate, dan ban kendaraan Stanley lengkap berada di luar latihan ini.

Referensi dan Lab terkait

Related reading

Isolasi regulasi kecepatanLab Regulated Pure Pursuit — kecepatan melalui kurva dan dekat tujuanExplore another aspect of this fieldLab perbandingan pelacakan jalur — jalankan PP, APP, RPP, Stanley, dan MPC dalam kondisi yang sama