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

Bandingkan regulasi dengan lookahead adaptif saja

Jalankan Tight curve · regulated dan simpan hasilnya sebagai A. Lalu jalankan Adaptive lookahead only. Jalur, pose awal, kendaraan, dan kecepatan yang diinginkan tetap sama sementara regulasi kurvatur dan perlambatan pendekatan dinonaktifkan. Baca kecepatan aktual dan waktu lintasan titik akhir bersama cross-track error: jalan yang lebih lambat tidak boleh diperingkat hanya berdasarkan kesalahan.

Lookahead dan regulasi kecepatan memiliki grup kontrol yang terpisah. Fixed lookahead + regulation hanya menonaktifkan adaptasi. No curvature regulation dan No approach slowdown mengisolasi setiap aturan kecepatan. Higher regulation floor mendemonstrasikan bagaimana lantai dapat menaikkan kandidat yang dikurangi. Preset mengembalikan semua kondisi, jadi periksa perbedaan parameter A/B.

Lookahead memilih kemudi; regulasi memilih kecepatan

Dengan adaptasi aktif, Ld=clamp(vT,Lmin,Lmax), menggunakan kecepatan model saat ini v. Dengan itu nonaktif, Ld tetap. Geometri target PP/APP digunakan kembali: κ=2yb/(xb²+yb²) untuk target (xb,yb) dalam kerangka kendaraan; kemudi δ=atan(Lκ). Jika tidak ada perpotongan lingkaran, majukan Ld sepanjang jalur terproyeksi dan clamp ke titik akhir, selalu menggunakan jarak target aktual. Target di belakang atau berimpit sebelum penyelesaian mengakhiri jalannya dengan suatu alasan.

Kecepatan dihitung dengan urutan berikut:

  1. Regulasi kurvatur mengalikan kecepatan yang diinginkan dengan min(1,R/Rmin), dengan R=1/|κ|. Kurvatur nol membiarkan kecepatan yang diinginkan tidak berubah.
  2. Naikkan kandidat tersebut ke lantai kecepatan regulasi. Lantai ini dapat melemahkan pengurangan; ini bukan batas keamanan.
  3. Setelah panjang jalur tersisa secara ketat di bawah jarak pendekatan D, skalakan dengan jarak titik akhir Euclidean/D. Terapkan lantai pendekatan, tetapi jangan pernah menaikkan kecepatan di atas nilai pra-pendekatannya.
  4. Clamp ke [0, kecepatan yang diinginkan]. Servo umum a=2(permintaan−kecepatan aktual) dan batas akselerasi plant menentukan kecepatan aktual.

Untuk desired=4 m/dtk, κ=0,25 /m dan Rmin=8 m, kandidat kurvatur adalah 2 m/dtk. Lantai regulasi 0,25 m/dtk membiarkannya tidak berubah. Dengan panjang tersisa=1,5 m, jarak titik akhir=1,5 m dan D=3 m, pendekatan memberikan 1 m/dtk di atas lantai pendekatan 0,1 m/dtk. Pada panjang tersisa tepat 3 m, penskalaan pendekatan belum dimulai.

Periksa tahap kecepatan selama pemutaran

Play, pause, step, atau scrub. Tampilan waktu terpilih memisahkan desired → kandidat kurvatur → lantai → permintaan akhir dari kecepatan aktual. Pada plot kecepatan, titik-titik abu-abu adalah desired, hijau adalah permintaan teregulasi, dan biru/oranye adalah aktual; A putus-putus dan B solid. Jalur, pose kendaraan, lingkaran lookahead, dan target menyertai plot kesalahan, kemudi, dan lookahead. Tabel numerik dan JSON dihasilkan dari data simulasi.

Ketiga metrik durasi-aktif menjumlahkan dt interval secara independen dan dapat tumpang tindih. Time curvature candidate is below desired mencakup periode ketika lantai mengesampingkan kandidat tersebut; ini bukan durasi perlambatan kendaraan aktual.

Versi referensi dan perbedaan model

Aturan kecepatan skalar mengikuti komit Nav2 Jazzy yang dipatok f4108e5b1c2bce804a1aa0c7be6673a8eb4a1501. Aritmatika/urutannya diperiksa terhadap referensi C++, tetapi ini bukan hasil eksekusi Nav2. Duskcoil menggunakan model poros-belakang bersama dan proyeksi jalur-terdekat global: panjang tersisa adalah panjang jalur dikurangi panjang-busur terproyeksi. Nav2 menerima jalur lokal yang ditransformasi/dipangkas, sehingga inputnya dapat berbeda. Regulasi menggunakan kurvatur pursuit yang diminta sebelum batas aktuator.

Model bersama menggunakan interval 0,05 dtk selama paling lama 30 dtk. Batasnya adalah kecepatan 8 m/dtk, akselerasi ±2 m/dtk², dan perubahan kemudi ±0,6 rad, 0,8 rad/dtk. Gerak diintegrasikan pada setiap busur kurvatur-tertahan. Kecepatan aktual tidak langsung mencapai permintaan. Tidak ada slip ban, model rintangan/costmap, prediksi tabrakan, mundur, rotate-to-heading, atau lookahead kurvatur terpisah. Ini bukan evaluasi kinerja perangkat keras atau keamanan.

Penyelesaian adalah lintasan titik akhir yang disampel: panjang-busur tersisa dan jarak titik akhir keduanya ≤0,25 m, kesalahan heading dalam 0,15 rad dari tangen akhir. Ini tidak menjamin berhenti; kecepatan lantai-pendekatan positif tidak berarti parkir. Jarak jalur melebihi 10 m mengakhiri sebagai off-path; 30 dtk berakhir sebagai batas waktu. Waktu lintasan yang tidak lengkap adalah "—". RMS CTE dan heading menggunakan integrasi trapesium dari sampel kuadrat selama waktu yang berlalu. Hindari memperingkat jalan yang parsial atau durasi yang berbeda hanya berdasarkan kesalahan.

Nama parameter bergantung pada rilis

Makna di peramban Jazzy Rolling, diperiksa 2026-09-21
Desired speed desired_linear_vel max_linear_vel
Velocity-scaled lookahead use_velocity_scaled_lookahead_dist same
Lookahead time lookahead_time same
Curvature regulation use_regulated_linear_velocity_scaling same
Turn radius threshold regulated_linear_scaling_min_radius same
Regulation floor regulated_linear_scaling_min_speed same
Approach distance / floor approach_velocity_scaling_dist / min_approach_linear_velocity same

Sakelar on/off pendekatan adalah ablasi edukatif, bukan parameter ROS Jazzy. Fitur dynamic-window Rolling tidak diimplementasikan di sini. Default Lab adalah nilai edukatif, bukan konfigurasi Nav2 yang direkomendasikan.

Contoh yang dihasilkan dari kode yang sama

Hasil Python native di bawah menggunakan kurva radius-5 m default, kecepatan awal dan diinginkan 4 m/dtk, offset lateral 1 m, dan wheelbase 2,5 m.

Setting Status Elapsed [s] CTE RMS [m]
regulated completed 4.10 0.37348
adaptive only completed 1.80 0.52087
no approach completed 3.00 0.43649

Referensi dan Lab terkait

Eksekusi peramban tidak memerlukan instalasi Python lokal. Unduhan sumber bersifat opsional. Sumber dan catatan model.

Related reading

Explore another aspect of this fieldLab MPC — selesaikan ulang urutan kelengkungan dalam horizon dan batas kemudiExplore another aspect of this fieldLab perbandingan pelacakan jalur — jalankan PP, APP, RPP, Stanley, dan MPC dalam kondisi yang sama