- Planlama hiyerarşisinin 3 temel katmanını (Mission/Route, Behavior, Motion) zaman ölçekleri ve girdi/çıktılarıyla tanımlayabilmek.
- Rota planlamada A*/Dijkstra graf araması ile davranış planlamada durum-tabanlı karar sürecinin farkını ayırt edebilmek.
- Frenet koordinat sisteminin $[s, d]$ kartezyen $[x, y]$ uzayına göre planlama avantajını matematiksel olarak analiz edebilmek.
- 5. derece (quintic) polinomlar ve sarsıntı (jerk) optimizasyonuyla konforlu yörünge üretimini kavramak.
- Bir şerit değiştirme manevrasında rota→davranış→hareket katmanlarının somut çıktı zincirini uçtan uca kurabilmek.
AD-10 — Planning: Rota, Davranış ve Hareket/Yörünge Planlama
FACT — Bir otonom sürüş yığınının algı (perception) ve tahmin (prediction) katmanları “etrafta ne var, ne yapacak?” sorusunu yanıtlar (bkz. AD-09). Planlama (Planning) katmanı ise bambaşka bir soruyu yanıtlamak zorundadır: “Ben şimdi ne yapmalıyım?” Bu soru tek bir algoritmayla çözülemeyecek kadar geniş bir zaman ve karmaşıklık aralığına yayılır — dakikalar mertebesindeki “hangi otoyoldan gideyim” kararından, yüzlerce milisaniye mertebesindeki “direksiyonu şu an kaç derece kıreyim” kararına kadar.
Bu derste bu aralığı yöneten üç katmanlı mimariyi, her katmanın matematiksel araçlarını ve bunların bir şerit değiştirme manevrasında nasıl birbirine bağlandığını inceleyeceğiz:
- Planlama Hiyerarşisi: Üç Katmanlı Mimari
- Katman 1 — Rota / Görev Planlama (Mission Planning)
- Katman 2 — Davranış Planlama (Behavior Planning)
- Katman 3 — Hareket / Yörünge Planlama (Motion Planning)
- Frenet Koordinat Çerçevesi: Neden Değil ?
- Sarsıntı (Jerk) Minimizasyonu ve Quintic Polinomlar
- Maliyet Fonksiyonu ve Yörünge Seçimi
- Uçtan Uca Örnek: Yavaş Bir Aracı Geçmek İçin Şerit Değiştirme
- Gerçek Sistemlerden Notlar
1. Planlama Hiyerarşisi: Üç Katmanlı Mimari
FACT — Otonom sürüşte planlama tek bir devasa optimizasyon problemi olarak çözülmez; hesaplama karmaşıklığını yönetilebilir kılmak için neredeyse tüm seri üretim ve araştırma yığınlarında ortak olan üç katmanlı bir hiyerarşiye bölünür. Her katman bir öncekinin çıktısını girdi olarak alır ve ufkunu daraltarak devralır:
| Katman | Zaman Ufku | Girdi | Çıktı | Tipik Algoritma Ailesi |
|---|---|---|---|---|
| Rota / Görev (Mission/Route) | Dakikalar – saatler | Yol ağı grafı, A ve B noktası | Sıralı yol/şerit segment listesi | Graf araması (A*, Dijkstra) |
| Davranış (Behavior) | Saniyeler – onlarca saniye | Trafik durumu, şerit seçenekleri, yaklaşan çıkış | Ayrık üst-düzey manevra kararı | Durum makinesi, karar ağacı, (PO)MDP |
| Hareket / Yörünge (Motion) | Yüzlerce ms – birkaç saniye | Seçilen manevra + engeller + araç dinamiği | Sürekli geometrik yol + hız profili | Frenet lattice, quintic polinom, optimizasyon |
Bu ayrımın nedeni saf mühendislik pragmatizmidir: “İstanbul’dan Ankara’ya en kısa yol” sorusu ile “şu anda sağ şeride mi geçmeliyim” sorusu ve “önümdeki 2 saniyede tekerlekleri tam olarak nereye yönlendirmeliyim” sorusu, çok farklı veri yapıları ve çok farklı güncelleme frekansları gerektirir. Tek bir katmanda birleştirmeye çalışmak hem hesaplama açısından uygulanamaz hem de hata ayıklamayı imkânsız kılar.
2. Katman 1 — Rota / Görev Planlama
Rota planlama, tüketici navigasyon uygulamalarının (Google Maps, Waze) çözdüğü probleme kavramsal olarak çok benzer, ancak otonom sürüş yığınına entegre çalışır: çıktısı düz bir cadde listesi değil, şerit düzeyinde bir HD harita graf yoludur (hangi şeritte kalınacağı, hangi kavşakta hangi şeride geçileceği dahil).
Yol ağı, düğümleri kavşaklar/şerit segment uçları, kenarları ise sürülebilir şerit parçaları olan ağırlıklı bir graf olarak modellenir. Her kenarın maliyeti tipik olarak şunların ağırlıklı toplamıdır:
A* algoritması, Dijkstra’nın (başlangıçtan şu ana kadarki gerçek maliyet) fonksiyonuna, hedefe kalan mesafenin asla abartılmadığı (admissible) bir sezgisel ekleyerek arama uzayını daraltır:
INTERPRETATION — Rota planlama katmanı genellikle “kaba” bir çözümdür ve yolculuk boyunca birkaç kez yeniden hesaplanır (trafik değişimi, kaçırılan çıkış). Aşağıdaki iki katman ise saniyede onlarca kez yeniden çalışır — bu da neden ayrı katmanlar olması gerektiğinin bir başka kanıtıdır.
3. Katman 2 — Davranış Planlama
Rota katmanı “hangi şeritler dizisini takip edeceğimi” verdikten sonra, davranış planlayıcı bu rotayı gerçek trafik içinde taktiksel olarak yürütmekten sorumludur: şeritte kal, sola şerit değiştir, öndeki araca yaklaşırken yavaşla, kavşakta yol ver, yayaya dur.
En yaygın pratik uygulama Sonlu Durum Makineleridir (Finite State Machine — FSM):
gap_yeterli & sinyal_ver
┌──────────┐ ─────────────────────────► ┌────────────────────┐
│ LANE_KEEP│ │ PREPARE_LANE_CHANGE │
└──────────┘ ◄───────────────────────── └────────────────────┘
▲ gap_kayboldu │ gap doğrulandı
│ ▼
│ ┌──────────────────┐
└────── manevra tamamlandı ───────── │ EXECUTE_LANE_CHG │
└──────────────────┘
▲
│ engel_algılandı (TTC < eşik)
┌──────────────┐
│ EMERGENCY_STOP│
└──────────────┘
Durum geçiş kriterleri tipik olarak şunları içerir: yan şeritteki emniyet boşluğu (, bu da hedef şeritteki aracın hızına ve ego aracın hızına bağlıdır), bağıl hız farkı, ve o anki Operasyonel Tasarım Alanının (ODD) izin verdiği manevralar.
CRITICAL — Saf FSM’ler basit ve doğrulanabilir olsa da, gerçek trafikteki belirsizliği (diğer sürücünün niyeti kesin değil — bkz. AD-09) doğal olarak temsil edemezler. Bu yüzden daha sofistike yığınlar davranış katmanını bir karar süreci (Markov Decision Process / Kısmen Gözlemlenebilir MDP) olarak modeller: her ayrık manevra seçeneği bir eylem, trafik durumu bir durum, ve seçim güvenlik/yasallık/konfor/ilerleme arasındaki ödünleşimi maksimize eden bir ödül fonksiyonuyla yapılır. FSM, bu daha genel çerçevenin pratikte doğrulanması kolay, deterministik bir özel halidir.
Davranış katmanının çıktısı her zaman ayrık ve üst-düzeydir — “sola şerit değiştir” der, ama “direksiyonu 3.2 derece kır” demez. Bu son adım bir alt katmana devredilir.
4. Katman 3 — Hareket / Yörünge Planlama
Hareket planlayıcı, davranış planlayıcının verdiği ayrık kararı (ör. “sola şerit değiştir”), aracın aktüatörlerinin fiziksel olarak uygulayabileceği sürekli bir yörüngeye dönüştürür:
Bu yörünge şu kısıtlara aynı anda uymak zorundadır:
- Kinematik kısıtlar: maksimum eğrilik (aracın dönebileceği en dar yarıçap), maksimum boyuna/yanal ivme .
- Konfor kısıtları: maksimum sarsıntı (jerk) — bkz. Bölüm 6.
- Engel kısıtları: yörünge, tahmin edilen diğer araç/yaya konumlarıyla (bkz. AD-09) hiçbir anında çakışmamalı.
- Yasal/harita kısıtları: şerit sınırları, hız limiti, trafik ışığı durumu.
Bu katman saniyede onlarca kez (tipik olarak ) yeniden çalıştırılır, çünkü hem araç hareket ettikçe hem de diğer trafik katılımcılarının davranışı güncellendikçe önceki yörünge geçersiz hale gelebilir.
5. Frenet Koordinat Çerçevesi: Neden Değil ?
FACT — Kartezyen koordinat sisteminde () virajlı bir yol üzerinde “şeritte kal” gibi basit bir kısıtı ifade etmek bile karmaşık, yola göre değişen doğrusal olmayan bir denklem gerektirir — çünkü “şerit” kavramı kendisi eğri bir geometridir. Frenet Çerçevesi, yolun kendi geometrisini referans alan bir koordinat sistemi kullanarak bu sorunu ortadan kaldırır:
Kartezyen Düzlem (x, y) Frenet Çerçevesi (s, d)
y d (yanal sapma)
^ ^
| viraj |
| .-''''-. | Şerit 1 . . . . . . d = +1.75
| / ego \ Frenet'e |------------------------------- d = 0 (merkez çizgi)
| | ● | dönüşüm ===> | Şerit 2 . . . . . . d = -1.75
| \ / |
| '-.....-' +--------------------------------> s
+-----------------------> x (yol merkez çizgisi boyunca kat edilen mesafe)
Şerit sınırı: karmaşık eğri f(x,y)=0 Şerit sınırı: sabit düz çizgi d = ±1.75
Matematiksel olarak, yol merkez çizgisi ile parametrelenmiş bir referans eğri olarak alınır ve Frenet-Serret formülleriyle Kartezyen’e geri dönüştürülür:
burada referans eğrinin noktasındaki teğet açısıdır.
Bu dönüşümün pratik kazancı şudur:
- (boyuna): Yol merkez çizgisi boyunca kat edilen mesafe. “Öndeki araçla takip mesafesini koru” artık sadece farkını kontrol eden 1 boyutlu bir problemdir.
- (yanal): Merkez çizgiye dik yanal sapma. “Şeritte kal” artık , “sola şerit değiştir” ise giden basit bir rampa fonksiyonudur.
CRITICAL — Frenet Çerçevesinin gerçek kazancı budur: boyuna hız profili planlaması ile yanal şerit-içi/şerit-değiştirme planlaması, birbirinden bağımsız iki tek-boyutlu optimizasyon problemine ayrıştırılır (Werling et al. 2010’da formalize edilen yaklaşım). Bu ayrıştırma olmadan, her aday yörüngeyi doğrudan eğrisel uzayında optimize etmek gerekirdi — hesaplama maliyeti çok daha yüksek olurdu.
6. Sarsıntı (Jerk) Minimizasyonu ve Quintic Polinomlar
FACT — Yolcular ivmeyi (hızlanma/yavaşlama hissi) genellikle güvenli sınırlar içindeyken bile rahatsız edici bulmazlar; asıl rahatsızlık verici olan sarsıntıdır (jerk) — ivmenin zaman türevi:
Ani bir jerk (ör. frenin aniden bırakılması, direksiyonun keskin çevrilmesi) fiziksel ivme sınırları aşılmasa bile insan iç kulağı ve denge algısı tarafından tedirgin edici olarak algılanır. Bu yüzden üretim planlayıcıları sadece “güvenli ve yasal” değil, açıkça düşük-jerk, yumuşak yörüngeler için optimize eder. (Rahatsızlık hissedilen kesin jerk eşiği araç/yolcu bağımlıdır; sık atıf yapılan pratik üst sınırlar mertebe olarak civarındadır — [ASSUMPTION: kesin sayısal değer üreticiden üreticiye ve konfor standardına göre değişir, burada bir mertebe belirtilmiştir.])
Bir yörüngenin toplam jerk enerjisini minimize eden problem:
Varyasyonlar hesabı (calculus of variations) ile bu problemin analitik çözümü, konum, hız ve ivmenin hem ‘da hem ‘de belirlendiği (toplam 6 sınır koşulu) durumda tam olarak bir 5. derece (quintic) polinomdur:
| Sınır Koşulu | ||
|---|---|---|
| Konum | ||
| Hız | ||
| İvme |
Bu 6 denklem, 6 bilinmeyen katsayı () için doğrusal bir sistem oluşturur ve doğrudan çözülür. Aynı yaklaşım (yanal hareket) için de bağımsız olarak uygulanır — Frenet ayrıştırmasının sağladığı kazanç burada tekrar devreye girer.
EXAMPLE — Bir şerit değiştirme manevrasında yanal yörünge : ‘da (mevcut şeritte, sıfır yanal hız/ivme) başlar; ‘de (hedef şeritte, tekrar durağan) ile biter. Bu 6 koşulu sağlayan quintic polinom, S-şeklinde, uçlarında sarsıntısız yumuşak bir yanal geçiş üretir.
7. Maliyet Fonksiyonu ve Yörünge Seçimi
Motion planlayıcı tek bir yörünge üretmez; Frenet lattice yaklaşımında uzayında farklı hedef süre ve hedef konumlar için onlarca-yüzlerce aday yörünge örnekler, her birini bir maliyet fonksiyonuyla puanlar ve en düşük maliyetliyi seçer:
- : yörünge boyunca toplam sarsıntı enerjisi (Bölüm 6).
- : manevranın tamamlanma süresi (çok yavaş = düşük ilerleme).
- : dinamik engellerle olan minimum mesafeye bağlı çarpışma riski cezası.
- : şerit merkezinden sapma cezası.
- : ilerleme (progress) ödülü — hedefe ne kadar yaklaşıldığı.
WARNING — Çarpışma riski taşıyan (tahmin edilen engel konumuyla belirli bir güvenlik marjı içinde kesişen) yörüngelerin maliyeti pratikte olarak ayarlanır — yani bu aday yörüngeler bir “yumuşak ceza” değil, sert eleme ile aday havuzundan çıkarılır. Kalan adaylar arasından minimum maliyetli olan seçilerek kontrol katmanına (AD-11) gönderilir.
8. Uçtan Uca Örnek: Yavaş Bir Aracı Geçmek İçin Şerit Değiştirme
Aşağıdaki tablo, üç katmanın aynı senaryoda (otoyolda önde ile giden bir kamyonu geçmek) ürettiği somut çıktıları gösterir:
| Katman | Girdi | Karar/Çıktı |
|---|---|---|
| Rota | A→B rotası, mevcut konum | “Bu otoyol segmentinde 2 numaralı şeritte kal” (rota düzeyinde zaten belirlenmiş, bu senaryoda değişmiyor) |
| Davranış | Ego hızı , önde kamyon, sol şeritte boşluk algılandı | LANE_KEEP → PREPARE_LANE_CHANGE → EXECUTE_LANE_CHANGE (sola geç) |
| Hareket | “Sola şerit değiştir” kararı + kamyonun tahmin edilen yörüngesi (AD-09) | Quintic polinomla üretilmiş yanal yörünge + boyunca hafif hızlanma profili, ‘de tamamlanan, jerk-optimal, çarpışmasız somut yörünge |
Bu çıktı zinciri, hareket planlayıcının ürettiği yörüngenin AD-11’de ele alınan kontrol katmanına aktarılmasıyla sona erer — kontrol katmanı bu geometrik yörüngeyi gerçek direksiyon açısı ve gaz/fren komutlarına çevirir.
9. Gerçek Sistemlerden Notlar
ASSUMPTION — Üretim otonom sürüş yığınlarının tam iç mimarisi genellikle kamuya açık değildir; aşağıdaki notlar kamuya açık teknik sunumlara ve patentlere dayanır, kesin uygulama detayları üreticiden üreticiye ve zaman içinde değişebilir.
- Mobileye, davranış katmanında güvenlik garantisi sağlamak amacıyla RSS (Responsibility-Sensitive Safety) adlı matematiksel bir çerçeve yayınlamıştır — bu çerçeve, hangi takip mesafelerinin/manevraların “makul şekilde güvenli” sayılacağını formel kurallarla tanımlar ve davranış planlayıcının karar uzayını bu kurallarla sınırlar.
- Frenet-tabanlı örnekleme yaklaşımı (Werling et al.), akademik literatürde ve pek çok açık kaynaklı otonom sürüş yığınında (ör. Apollo, Autoware) motion planning için referans yöntem olarak yaygın şekilde kullanılır.
- Daha yeni nesil bazı üretim yığınları (ör. Tesla’nın son FSD sürümleri), klasik ayrık FSM + optimizasyon hattının bir kısmını uçtan uca öğrenilmiş sinir ağı bileşenleriyle değiştirmeye yönelmiştir; bu durumda üç katmanlı kavramsal ayrım hâlâ geçerli bir zihinsel model olsa da, katmanlar arasındaki sınır yazılım mimarisinde daha bulanık olabilir (bu konudaki kesin mimari detaylar kamuya tam açıklanmadığı için ASSUMPTION olarak işaretlenmiştir).
Sıkça Sorulan Sorular (FAQ)
S: Bir planlayıcı önüne aniden çıkan bir engelde ne yapar?
FACT — Acil durumda normal maliyet fonksiyonu ağırlıkları baypas edilir; acil frenleme veya emniyet koridoru manevrası (Collision Avoidance Trajectory) en yüksek önceliğe alınır ve genellikle ayrı, daha basit ve daha hızlı doğrulanabilir bir “emniyet katmanı” tarafından tetiklenir.
S: Davranış planlayıcı neden doğrudan sürekli bir yörünge üretmiyor?
Çünkü ayrık karar uzayı (şeritte kal / değiştir / dur) hem doğrulanabilirlik hem de trafik kurallarıyla uyumu insan tarafından denetlenebilir kılmak için çok daha yönetilebilirdir; sürekli optimizasyon bu ayrık kararı verilmiş kabul ederek çok daha dar bir arama uzayında çalışabilir.
S: Frenet çerçevesinin bir dezavantajı var mı?
Evet — yol geometrisi çok keskin viraj yarıçaplarına sahipse veya şerit yapısı belirsizse (ör. kavşak içi, otopark), referans eğri tanımı zorlaşır ve dönüşüm sayısal kararsızlıklara yol açabilir; bu durumlarda planlayıcılar genellikle Kartezyen tabanlı yöntemlere geri döner.
Özet
- Planlama üç katmanlı bir hiyerarşidir: Rota (dakikalar, graf araması) → Davranış (saniyeler, ayrık karar süreci) → Hareket (yüzlerce ms, sürekli yörünge).
- Rota planlama A*/Dijkstra ile şerit düzeyinde bir yol graf yolu üretir; davranış planlama bunu FSM veya (PO)MDP ile taktiksel manevralara çevirir; hareket planlama bu manevrayı fiziksel olarak uygulanabilir bir yörüngeye dönüştürür.
- Frenet sistemi, yol geometrisinin karmaşıklığını boyuna ve yanal iki bağımsız 1-boyutlu probleme indirger.
- İnsan konforu ivme değil jerk (sarsıntı) ile ölçülür; 6 sınır koşullu quintic polinomlar jerk-optimal yörünge ailesidir.
- Maliyet fonksiyonu aday yörüngeler arasından güvenli, konforlu ve ilerleme sağlayan en iyisini seçer; çarpışma riskli adaylar sert şekilde elenir.
Kaynaklar ve Doğrulama Notu
Bu ders Thrun et al. (Probabilistic Robotics), LaValle (Planning Algorithms) ve Werling et al.‘in Frenet çerçevesinde optimal yörünge üretimi üzerine akademik çalışmasına dayanır; jerk-minimal quintic polinom sonucu Flash & Hogan’ın insan hareketi üzerine klasik çalışmasından esinlenir ve robotik/otonom sürüş literatüründe yaygın olarak yeniden kullanılır. Mobileye RSS çerçevesine ve üretim yığınlarının iç mimarisine dair ayrıntılar kamuya açık teknik yayınlara dayanır ve yukarıda ASSUMPTION olarak işaretlenmiştir; lastVerified tarihi bu dersin son teknik gözden geçirme tarihidir.
Sıradaki Ders
- AD-11 — Vehicle Control: Yanal/Boyuna Kontrol ve Yörünge Takibi: Bu derste ürettiğimiz geometrik yörüngenin gerçek direksiyon açısına ve gaz/fren komutlarına nasıl dönüştürüldüğünü, PID’den Model Tahminli Kontrole (MPC) uzanan kontrol algoritmalarıyla inceleyeceğiz.
Teknik Diyagramlar
Quiz
Otonom sürüş planlama hiyerarşisinde 'Sola şerit değiştir' veya 'Kavşakta dur' kararını hangi katman üretir?
Taktiksel manevra kararları Davranış Planlayıcı (Behavior Planner) tarafından üretilir.
Planlamada virajlı yolları kolay analiz etmek için kullanılan Frenet koordinat sisteminde 's' ve 'd' neyi temsil eder?
Frenet ekseninde s yol ekseni boyunca mesafeyi, d ise şerit merkezinden yanal sapmayı gösterir.
Yörünge planlamada 5. derece (Quintic) polinom kullanılmasının temel mühendislik gerekçesi nedir?
Quintic polinomlar 6 sınır koşulunu çözerek ivmenin sürekli kalmasını ve sarsıntısız konforu sağlar.
Yörünge optimizasyonundaki maliyet fonksiyonunda (Cost Function) bir engelle çarpışma rotasının maliyeti neden sonsuza ($J \to \infty$) gider?
Çarpışma koridorundaki yörüngelere sonsuz maliyet atanarak kesinlikle seçilmemeleri sağlanır.
Davranış planlayıcıda kullanılan Sonlu Durum Makinesinde (FSM) bir durumdan diğerine geçişi (State Transition) ne belirler?
FSM durum geçişleri katı güvenlik kriterleri ve eşik değerleri karşılandığında tetiklenir.