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.
Explore footprint geometry in your browser
Change the rectangular body dimensions, corridor width, heading and lateral offset in the panel above. The diagram and signed gaps describe an exact rectangle between two infinite parallel walls. No ROS or local Python is required. The diagnostic workflow below remains separate from this geometry exercise.
The rectangle centre is the supplied reference point. World x runs along the corridor, world y points across it, and positive heading rotates counterclockwise from +x. Length L lies along body x; width B lies along body y. Walls lie at y=±W/2 and the centre at (0,e). For heading θ, the transverse span is S=L|sin θ|+B|cos θ|. The upper-wall gap is W/2−e−S/2, the lower-wall gap is W/2+e−S/2, and the minimum is W/2−|e|−S/2. Positive means separation; zero means contact; negative means overlap with a wall half-plane. These are signed transverse gaps, not general polygon-distance or costmap outputs. The numerical contact label uses a tolerance of 10⁻¹² m, not an operating margin.
The default 0.60 m width in a 0.80 m corridor gives 0.10 m on each side at zero heading and offset. Try a 30° heading, a 0.10 m offset, a 90° heading, or a wider corridor. Changing heading can move a corner into a wall even when the aligned width fits. A/B uses equal x/y scales and a common extent across both results; the table lists all four transformed corners in metres.
The dashed circle has radius R=√(L²+B²)/2. It bounds all orientations during a full rotation about the fixed rectangle centre. The minimum gap over that full rotation is W/2−|e|−R, calculated analytically rather than from sampled angles. This is not the gap for a particular requested turn, a planned swept path or a kinematically feasible manoeuvre. A 90° pose can fit while intermediate orientations overlap. The rectangle dimensions describe the entire assumed outline; there is no additional footprint padding.
All inputs are synthetic teaching choices. There are no map cells, obstacle observations, inflation costs, localization uncertainty, payload model, TF, planner, controller, velocity commands or actual Nav2 execution. A positive geometric gap does not establish passage feasibility or operating safety. The full-turn circle is an explanatory envelope, not a proposed robot_radius configuration. Nav2's tuning guide distinguishes robot footprint choices from inflation potential fields; the inflation parameters describe costs that this exercise does not compute. References reviewed 2026-09-20.
For supplied map/pose/goal checks, use the separate navigation Lab. Continue below to inspect why a real navigation stack may stop.
Görünür bir yol, mevcut pozisyondan uygulanabilir bir hız komutunun var olduğunu garanti etmez. Planlama ve yürütmeyi ayrı ayrı teşhis edin. Bu iş akışı ROS 2/Nav2 Jazzy'yi hedeflemektedir ve dokümantasyona göre kontrol edilmiştir; donanım sürüş raporu değildir.
Durdurulan bir aralığı yakalayın
Küresel yolu, yerel/küresel maliyet haritalarını, ayak izini, TF'yi, odometriyi, hız komutlarını, eylem sonucunu ve günlükleri toplayın. Verileri RViz'de tutarlı zamanlarda ve karelerde üst üste bindirin. Başlangıç verilerini daha sonraki bir anlık görüntüyle eş zamanlıymış gibi karşılaştırmayın. rosbag2 tekrar oynatma girdileri sabit tutmaya yardımcı olur.
Fiziksel geometriyi kontrol edin
0,60 m genişliğinde, 0,80 m'lik bir koridorda ortalanmış ve hizalanmış bir robotun her iki tarafında 0,10 m boşluk vardır. Bu statik hesaplama, yerelleştirme hatasını, haritalanmış duvar kalınlığını, yükü ve dönüş sırasındaki köşe taramasını hariç tutar. Bir dikdörtgenin gerekli genişliği yönelimle değişir.
Bir ayak izi bir çokgeni tanımlar; robot_radius dairesel bir yaklaşım sağlar. Yapılandırılmış ana hatı RViz ile karşılaştırın, metreleri, base_link orijinini ve çıkıntılı sensörleri veya yükleri kontrol edin. Nav2 ayar kılavuzu şekil ve maliyet alanlarını kapsar. Bir durdurmayı kaldırmak için ana hattı gerçek robotun altına küçültmeyin.
Maliyet fiziksel bir duvarla aynı değildir
Engel katmanları gözlemleri içerir; şişirme, mesafeye bağlı maliyeti engellerin etrafına yayar. inflation_radius kapsamını belirlerken, cost_scaling_factor üstel azalmayı kontrol eder. Diğer koşullar sabitken, daha büyük bir ölçeklendirme faktörü daha hızlı azalma sağlar. Şişirme Katmanı parametrelerine bakın.
Her yüksek maliyetli bant mutlak olarak yasaklanmış bir bölge değildir ve inflation_radius tek başına garantili minimum gövde açıklığı değildir. Çarpışma kontrolünü, ayak izini ve her planlayıcı/kontrolörün maliyet kullanımını hesaba katın. Küresel harita geçişe izin veriyorsa ancak yerel harita eski engelleri koruyorsa, öncelikle temizleme, gözlem aralığı ve geçerli TF zaman damgalarını inceleyin.
Bir yolu uygulanabilir harekete bağlayın
Bir yol, nereye gidileceğini belirtir. Bir kontrolör, mevcut hız ve kısıtlamalarla tutarlı hareket üretmelidir. Dar alanlarda büyük yön değişiklikleri, minimum dönüş yarıçapına sahip bir araçtan istenen yerinde dönüşler veya ivme sınırları, aday hareketleri uygulanamaz hale getirebilir.
Kontrolör Sunucusu dokümantasyonu kontrolör, ilerleme denetleyicisi ve hedef denetleyicisi seçimini açıklar. İlerleme ve varış farklı koşullardır. Eklentiye özgü kısıtlamaları incelemeden önce eklenti adlarını ve hatalarını kaydedin.
Komutun kaybolduğu yeri izleyin
| Gözlem | Sonraki kontrol |
|---|---|
| Kontrolör geçerli bir komut üretemiyor | Yerel maliyet haritası, TF, hareket sınırları ve aday yörüngeler |
| Kontrolör çıkışı sıfır değil ancak son çıkış sıfır | Daha yumuşak, çarpışma monitörü, durdurma girişi ve komut önceliği |
| Son çıkış sıfır değil ancak tekerlekler hareket etmiyor | Konu/tip, sürücü, etkinleştirme durumu ve kontrol modu |
| Robot hareket ediyor ancak hızlıca arıza bildiriyor | Odometri ile gerçek hareket ve ilerleme koşulları |
/cmd_vel adlı bir konunun son aşama olduğunu varsaymayın. Konfigürasyonlar ara konulara sahiptir ve Twist veya TwistStamped kullanabilir. Gerçek yayıncıyı, aboneyi ve tipi ros2 topic info <actual-topic> --verbose ile inceleyin. Durdurma işlevlerini devre dışı bırakmak yerine, durdurmayı tetikleyen koşulu teşhis edin.
Her seferinde bir değişikliği değerlendirin
Geçiş yolunu, başlangıç pozisyonunu, hedefi, haritayı ve giriş günlüğünü düzeltin. Bir öğeyi değiştirin, ardından minimum açıklığı, durdurma sayısını, komutları ve arıza nedenlerini ve varış zamanını karşılaştırın. 0,10 m aritmetik örneği güvenli çalışma açıklığını belirleyemez; gerçek boyutlar, hatalar ve çalışma koşulları ayrı bir değerlendirme gerektirir.
Başlangıç işlemi güvenilir değilse, minimal Nav2 kurulumuna geri dönün. İstikrarlı bir yapılandırma, eşleme hatalarını sürücü hatalarından ayırt etmeyi kolaylaştırır.
Yorumlar
Lütfen önce giriş yapın.
Henüz veri yok.