AutonomousVehicleControlBeginnersGuide
Python sample codes and documents about Autonomous vehicle control algorithm. This project can be used as a technical guide book to study the algorithms and the software architectures for beginners.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
SQLite tabanlı PPL soru bankası (ATPL TV'deki PPL Turkey (English) sınav raporlarından çevrildi). Bankanın tamamı şu an PPL seviyesindedir; ATPL soruları ileride eklenecek — subjects.level sütunu bunun için hazır (ppl / atpl). 2.514 soru, 10 ders (226 tekrar işaretli → 2.288 benzersiz; 71'i ders notundan üretilmiş). Doğru cevap her soruda A şıkkıdır — kaynak şıkları doğru cevap başta olacak şekilde veriyor, bu sıra korunuyor. Betik idempotenttir: JSON'u düzeltip tekrar çalıştırınca sorular güncellenir, çoğaltılmaz.Read the full README ↗
SQLite tabanlı PPL soru bankası (ATPL TV'deki PPL Turkey (English) sınav
raporlarından çevrildi). Bankanın tamamı şu an PPL seviyesindedir; ATPL soruları
ileride eklenecek — subjects.level sütunu bunun için hazır (ppl / atpl). 2.514 soru, 10 ders (226 tekrar işaretli → 2.288 benzersiz; 71'i ders notundan üretilmiş).
| Ders | Soru | Benzersiz | Bölüm |
|---|---|---|---|
| 050 | Meteorology | 385 | 346 | 9 |
| 020 | Aircraft General Knowledge | 347 | 325 | 24 |
| 501 | Havacılığa Giriş | 252 | 251 | 3 |
| 040 | Human Performance and Limitations | 251 | 210 | 9 |
| 060 | Navigation | 245 | 231 | 14 |
| 080 | Principles of Flight | 244 | 197 | 9 |
| 030 | Flight Performance and Planning | 237 | 220 | 10 |
| 070 | Operational Procedures | 193 | 183 | 7 |
| 090 | Communications | 183 | 150 | 6 |
| 010 | Air Law | 177 | 175 | 7 |
atpl.db # veritabanı (script ile üretilir)
data/501_havaciliga_giris.json # kaynak veri
data/070_operational_procedures.json
data/010_air_law.json
data/090_communications.json
data/020_aircraft_general_knowledge.json
data/030_flight_performance_and_planning.json
data/040_human_performance.json
data/050_meteorology.json
data/060_navigation.json
data/080_principles_of_flight.json
data/501_ders_notu_sorulari.json # ders notu quiz soruları
data/070_ders_notu_sorulari.json # 073 ders notu quiz soruları
data/501_uretilmis_sorular.json # ders notundan üretilmiş (gerçek sınav sorusu değil)
data/070_uretilmis_sorular.json
data/_tekrarlar.json # elle doğrulanmış tekrar grupları
scripts/init_db.py # şema + içe aktarma
Doğru cevap her soruda A şıkkıdır — kaynak şıkları doğru cevap başta olacak şekilde veriyor, bu sıra korunuyor.
python3 scripts/init_db.py
Betik idempotenttir: JSON'u düzeltip tekrar çalıştırınca sorular güncellenir, çoğaltılmaz.
| Tablo | Açıklama |
|---|---|
subjects | Ders (501 → Havacılığa Giriş) |
sections | Ders bölümü (01-01) |
questions | Soru; id = ATPL TV'deki soru ID'si, explanation kendi notların için boş, flagged kaynakta "Attention!" işaretli, origin = banka/uretilmis, dup_of = tekrarsa kanonik sorunun id'si, needs_figure = soru bir şekle atıf yapıyor |
options | Şıklar; ord 1..5, label A..E, is_correct doğru cevap |
v_sorular | Soru + doğru cevabı tek satırda veren görünüm |
questions_fts | FTS5 tam metin arama |
flagged = 1 olan 3 soru (14554, 15967, 16159) kaynakta "Attention!" ile işaretli —
kullanıcılar cevabı tartışmalı bulmuş. Bunlara körü körüne güvenme:
sqlite3 -box atpl.db "SELECT soru_id, soru, dogru_cevap FROM v_sorular WHERE soru_id IN (SELECT id FROM questions WHERE flagged=1);"
Doğru cevap kuralı: Kaynak rapor şıkları doğru cevap en başta olacak şekilde listeliyor. Bu yüzden her sorunun ilk şıkkı (ord = 1, label = 'A') doğru kabul edildi. Bir soruda hata görürsen JSON'daki options sırasını düzelt ya da o soruya "correct_index": 2 gibi bir alan ekleyip betiği tekrar çalıştır.
Bir sorunun tüm şıklarını görmek:
sqlite3 -box atpl.db "SELECT label, text, is_correct FROM options WHERE question_id=27142 ORDER BY ord;"
Rastgele 10 soruluk deneme (cevaplar gizli):
sqlite3 -box atpl.db "SELECT q.id, q.text, o.label, o.text FROM questions q JOIN options o ON o.question_id=q.id WHERE q.id IN (SELECT id FROM questions ORDER BY random() LIMIT 10) ORDER BY q.id, o.ord;"
Konu araması (tam metin):
sqlite3 -box atpl.db "SELECT q.id, q.text FROM questions_fts f JOIN questions q ON q.id=f.rowid WHERE questions_fts MATCH 'Annex';"
Doğru cevap listesi (cevap anahtarı):
sqlite3 -box atpl.db "SELECT soru_id, dogru_sik, dogru_cevap FROM v_sorular ORDER BY soru_id;"
| Dosya | İçerik |
|---|---|
| notes/501-ders-notlari.md | 501 Havacılığa Giriş ders notları — 7 bölümün sınav odaklı özeti |
| notes/501-ezber-listesi.md | 501 kısa ezber listesi — soru kelimesi → cevap |
| notes/073-ders-notlari.md | 073 Uçak Operasyonel Prosedürler ders notları — 070 bankasının ders karşılığı |
| notes/070-cheat-sheet.md | 070 Operational Procedures özeti — sayılar, tanımlar, tuzaklar |
| notes/annex-sifre.md | ICAO Annex 1–19 rakam bağlama yöntemi |
| notes/annex-kart-promptlari.md | Annex kartlarının görüntü promptları |
cards/annex-01.png … annex-19.png — her ICAO Annex için rakamın şeklini konuya
gömen görsel kart. cards/00-kontak-sayfasi.png hepsini tek sayfada gösterir.
Promptlar notes/annex-kart-promptlari.md içinde.
Yeniden üretmek için (yerel grok CLI'yi ve senin Grok kotanı kullanır):
python3 scripts/generate_cards.py # eksik kartlar
python3 scripts/generate_cards.py --force 17 # tek kartı yeniden üret
Bir kart ~20 saniye. Rakam görünmüyorsa prompt'a "A giant numeral N ... clearly
readable" kalıbını ekleyip --force ile tekrar üret — ilk turda 1, 2, 6 ve 17'de
rakam çıkmamıştı, bu kalıpla düzeldi.
videos/annex-01.mp4 … annex-19.mp4 — her kartın 6 saniyelik animasyonlu hali
(544×544, 24 fps, ~1–2 MB).
python3 scripts/generate_videos.py # eksik videolar
python3 scripts/generate_videos.py --force 15 # tek videoyu yeniden üret
Grok CLI'nin image_to_video aracını kullanma — ZDR hesaplarında şu hatayı verir:
HTTP 400 invalid-argument:
"Zero Data Retention teams must provide output.upload_url for video generation."
This is the beginning of the README. Read the rest at the original. Read the full README ↗