Kavram filmi bir mühendislik ilkesini gösterir; bir sistemin performansını kanıtlamaz. Zorluk şurada: enstrüman gibi görünen bir ekran, üzerindeki her şeyin ölçüm olduğu izlenimini yaratır ve teknik izleyici animasyonla ölçümü ayıramadığı anda hiçbirine güvenmez. Bu yüzden kavram filmlerimiz montajdan önce betiklerle denetlenir. Ekranda değeri okunabilen bir rakam varsa ya da kutu gösteren bir karede "animated illustration, not detector output" satırı eksikse montaj durur; işbirlikçi algı filminde buna, sahnedeki görüş hattını Blender'ın ışın atma çağrısıyla sınayan bir kapı eklenir. Ölçüm sayısı ekrana yalnızca kurulumu, yöntemi ve ölçeni belli olduğunda çıkar: filmlerimizde bunun tek örneği EtherCAT filmindeki tezgâh sayılarıdır.

Kısaca

  • Enstrüman gibi görünen her öğe ölçüm gibi okunur. Politikamızın özeti: "Atmosfer uydurulabilir. Kanıt uydurulamaz."
  • Ekrandaki her öğe dört kategoriden birine girer (dekor, bağlam, ölçüm, belge) ve kanıt yükümlülüğü kategoriyle birlikte artar.
  • Kapılar göz yerine betikle çalışır; biri düşerse film birleştirilmez.
  • En pahalı ders: yeşil yanan bir kapı, sınadığını sandığınız şeyi sınamıyor olabilir. Kapıyı bilerek düşürün ve düştüğünü görün.
  • Sayı ekrana ancak tezgâhla çıkar: EtherCAT filmindeki ortalama 19,2 µs, maksimum 30,9 µs ve %0 paket kaybı gibi.

Enstrüman estetiği neden ölçüm izlenimi yaratır?

Filmlerimiz bir mühendislik konsolunun dilini konuşur: koyu zemin, ince çizgiler, nesneleri izleyen kutular, teknik etiketler. Bu dilin bedeli şu: osiloskop ekranına benzeyen bir kare, her çizginin bir sinyal olduğunu ima eder; kutunun kenarındaki bir sayı, dedektörün o anki güveni gibi okunur.

Bunu kendi hatamızla öğrendik. Ağustos 2026'da sitemizdeki bazı performans sayılarını kaldırdık, çünkü kurulumlarını ve yöntemlerini belgeleyemiyorduk; EtherCAT içeriğini gerçek tezgâh verisiyle yeniden yazdık. Bu yazıdaki kurallar o düzeltmenin ürünüdür ve tek bir ölçüte dayanır: bir görsel öğe makul biçimde ölçüm olarak yorumlanabiliyorsa gerçek bir ölçümden gelmek zorundadır; gelmiyorsa atmosfer katmanına aittir.

Dört kategori: dekor, bağlam, ölçüm, belge

Kategori yükseldikçe kanıt yükümlülüğü artar:

Kategori Örnek Kural Filmlerdeki karşılığı
A. Dekoratif gren, parıltı, ızgara, tarama ışığı, parçacık Her zaman serbest; iddia kurmaz Sahnedeki ışık, sis ve hareketli parıltılar
B. Bağlam kart adı, işlemci, RTOS, derleyici, çekirdek sürümü Gerçek olmalı; kurum hakkında iddia kurmaz EtherCAT filmindeki tezgâh künyesi; kavram filmlerinde INT8 gibi tür adları
C. Ölçüm gecikme, jitter, fps, bant genişliği, paket kaybı Kurulum, yöntem ve ölçen kişi bilinmeden yayınlanmaz Yalnızca EtherCAT filmindeki tezgâh sayıları
D. Belge standart ve sertifika adları Dekor olarak kullanılmaz; yalnızca müşterinin gereksinimi bağlamında geçer Film ekranında kullanılmaz

Ayrım çoğu zaman hareketle ilgilidir: hareket eden bir ışık dekoratiftir, değişen bir sayı değildir. Kare hızı gibi oynayan bir sayaç, arkasında veri yokken veri gibi okunur ve bu yüzden yasaktır; dalga formu ya da zaman serisi çizen bir animasyon da gerçek veri ister. Sitemizde aynı kural tip sistemine bağlıdır: kurulum ve yöntem alanı olmayan bir ölçüm kaydı derlenmez.

Kapılar: montajı durduran betikler

Kapı, montaj betiğinin filmi birleştirmeden önce çalıştırdığı bir denetimdir. Göz yorulur ve görmek istediğini görür; betik her montajda aynı soruyu sorar.

Rakam kapısı

Kuş/drone filminde ekranda değeri okunabilen tek bir sayı yok. Kapı, tipografi katmanındaki bütün görünür metni (başlıklar, alt bantlar, etiketler) kalıplara karşı tarar ve rakam bulursa montajı durdurur. İzinli kalıplar INT8 ve 3D: biri bir veri tipinin, öteki bir tekniğin adı. Listeye kalıp eklerken sorulan tek soru şu: bu rakam bir miktar mı bildiriyor? İşbirlikçi algı filminin açıklaması aynı kuralı izleyiciye söyler: "There are no figures in this film."

# Kavramsal çizim: katmandaki her metin kalıplara karşı taranır
IZINLI = ("INT8", "3D")   # tür adları, miktar bildirmez

def rakam_kapisi(gorunur_metinler):
    for metin in gorunur_metinler:
        kalan = metin
        for kalip in IZINLI:
            kalan = kalan.replace(kalip, "")
        if any(c.isdigit() for c in kalan):
            return False, metin   # montaj durur
    return True, None

Dürüstlük kapısı

Kutu ya da iz gösteren her karede "animated illustration, not detector output" satırı bulunmak zorunda ve bunu bir betik denetler. Kutu çizilen her kare, satırın açık olduğu zaman pencereleriyle karşılaştırılır; tek bir kare açıkta kalırsa kapı düşer. Kuş/drone filminin kapısı ters yöne de bakar: kutusuz bir pencerede satır açıksa uyarır, çünkü yersiz bir beyan da güveni aşındırır. Kapanış künyesi aynı şeyi film ölçeğinde söyler: "concept film".

Geometri kapısı

İşbirlikçi algı filminin tezi geometridir: konteyner istifi forklifti araçtan gizler, kavşaktaki direk ise koridoru görür. Kimin neyi gördüğünü elle çizmedik. Betik, sahnenin kendi saatiyle her yarım saniyede Blender'ın ray_cast çağrısıyla sensörden hedefe bir ışın atar; ışın hedeften önce bir yüzeye çarparsa görüş yoktur. Sonuç bir dosyaya yazılır ve kapı onu her montajda yeniden sınar: araç görmemesi gereken aralıkta görüyorsa ya da direk görmesi gereken aralıkta göremiyorsa kapı düşer. Sahne değişip görüş hattı yeniden hesaplandığında ilk düşen bu kapıdır.

Künye ve varlık kapıları

"Gerçek zamanın bir bedeli var" filmi, kurucumuzun ikinci yazarı olduğu bir yayına dayanır; sahne o yayının ölçümünü tekrarlamaz, ilkeyi canlandırır. Künye kapısı kapanış künyesinin tam metnini arar: yayının atfı ve sonucun bu sahnede ölçülmediği kaydı dahil. Varlık kapısı, kareler ve iz verisi gibi montajın dayandığı dosyaları arar; veri yoksa kapı geçmez, düşer. İz verisi olmadan dürüstlük kapısının sınayacağı bir şey kalmaz.

Kapı yalan söylediğinde

Geometri kapısının en öğretici anı, yanlış bir sebeple yeşil yandığı an oldu. Araç gövdesini doğru yöne döndürdükten sonra test, aracın forklifti hiçbir örnekte göremediğini söyledi; iddia her örnekte tutuyordu. Ama rapor ışını durduran nesnenin adını da yazıyordu ve o ad, aracın kendi kamerasının lens gövdesiydi: gövde dönünce ışın lensin içinden başlıyordu. Hatayı bir sayı değil, bir ad ele verdi.

Aracın kendi parçalarını testten ayıkladık; bu kez test, aracın her örnekte gördüğünü söyledi. Sebep yine testteydi: ayıklanan bir yüzeye çarpan ışın devam ettirilmiyor, test "görüyor" deyip duruyordu. İlk çarpma hep lens olduğu için istif hiç sınanmıyordu. Düzeltme, ışını ayıklanan yüzeyin ardından yeniden atmak oldu:

# Sözde kod: ayıklanan yüzey ışını bitirmez
# ayiklanan: sensörün kendi gövdesi ve hedefin kendisi
def gorus_var_mi(kaynak, hedef, ayiklanan):
    yon = (hedef - kaynak).normalized()
    toplam = (hedef - kaynak).length
    gidilen = 0.0
    while True:
        carpti, nokta, nesne = ray_cast(kaynak + yon * gidilen, yon,
                                        mesafe=toplam - gidilen)
        if not carpti:
            return True, None       # hedefe kadar engel yok
        if nesne.name in ayiklanan:
            # eski sürüm burada "görüyor" deyip dönüyordu
            gidilen = (nokta - kaynak).length + KUCUK_ADIM
            continue
        return False, nesne.name    # gerekçe: engelin adı

Kural şu: bir doğrulama kapısının yeşil yanması, sınadığını sandığınız şeyi sınadığı anlamına gelmez. Kapıyı bilerek düşürün ve düştüğünü görün: direğin görüş hattına bir engel koyun, alt banda tek bir rakam yazın, dürüstlük penceresini bir kare kısaltın. Yazılım testinde bunun adı mutasyon testidir: koda bilerek hata eklenir ve testler hâlâ geçiyorsa o hatayı yakalayamıyorlar demektir.

Sahneyi ayarlamak meşru mu?

İşbirlikçi algı filminin ilk zamanlamasında yol kenarı düğümünün karar anı ile aracın kendi görüşünün açıldığı an aynı saniyeye düşüyordu; film, işbirlikçi algının hiçbir şey kazandırmadığı bir sahne anlatıyordu. Hareket profilini yeniden kurduk. Açıkça söyleyelim: filmi ikna edici yapmak için sahneyi ayarladık.

Bu meşrudur: kavram filmi bir ilkeyi gösterir, kanıtlamaz; künyesinde "concept film" yazmasının sebebi budur. Sınır, neyi ayarladığınızdadır:

Sahnede yapılan Meşru mu? Neden
Araçların hızını ve zamanlamasını değiştirmek Evet İlkenin görünür olduğu bir sahne seçmektir; künye bunu söyler
Görüş hattını elle çizmek Hayır Kimin neyi gördüğüne ışın atma karar verir
Sahnenin ürettiği zaman farkını saniye olarak yazmak Hayır O sayı bir sistemin değil, kurduğumuz sahnenin sayısıdır
Sahneyi saha kaydı gibi sunmak Hayır Sentetik görüntü saha kaydı gibi sunulmaz

Yeni zamanlama da geometri kapısından geçti: araç istifin arkasını yine göremiyor. Sahneyi seçmek serbesttir; içindeki fiziği ışın atma belirler. Filmin mühendisliğini işbirlikçi algı yazımızda sahneden ayırarak anlatıyoruz.

Ses, katman ve kare: kapının göremediği yerler

Kuş/drone filminde "kanat çırpışı yavaş bir darbe, rotor sabit bir ton" cümlesini filmin kendi sesi taşır. Ekranda spektrogram yok: o bir veri grafiğidir ve yayınlanabilir bir ölçümümüz yok. İlk karışımda iki rotor arasındaki küçük devir farkı, zarfta kanat ritmine yakın bir vuruş üretiyordu; cümle kulakta doğrulanmıyordu. Ses tasarımını ölçüp düzelttik: ses tasarımına dayanan bir iddia da ölçülür. Ayrıntısı kuş mu drone mu yazımızda.

Aynı filmde cam panel ile alt bant aynı satırları tekrarlıyordu; paneli kaldırdık, çünkü her katman bir durum anlatmalı. Pan-tilt kamera başının nişan noktası ise sıralı bir filtreyle hesaplanıyordu, yani bir karedeki değeri o ana kadar kaç kare işlendiğine bağlıydı: tek çekim render'ı ile bütün filmi işleyen geçiş aynı karede farklı yere bakıyor, kutu drone'un yanında boş havada kalıyordu. Nişan artık bütün film için bir kez, saf matematikle hesaplanıyor: kameraya bağlı her şey kareden bağımsız olmalı. Katman verisi ile görüntü aynı durumdan türemeli; bu, farklı saatlerle damgalanan iki sensörün film karşılığıdır. Dürüstlük kapısı bunu yakalayamazdı, satır ekrandaydı; hatayı filmi izleyen göz buldu.

Sayı ne zaman ekrana çıkar?

EtherCAT filmi tek istisnadır: ekranda ortalama 19,2 µs ve maksimum 30,9 µs iletim süresi, yazılım dahil 25,5 µs toplam ve %0 paket kaybı yazar; koşul da hemen altında: 1 slave, 64 bayt süreç verisi, 10 kHz çevrim, 100 Mb/s hat. Arkalarında kurulumu, yöntemi ve ölçen kişisi bilinen bir tezgâh var: TI-RTOS çalıştıran TI Sitara AM572x IDK üzerinde ticari bir Class B master, entegre ESC'li TI Delfino TMS320F28388D slave. İletim süresi, çerçevenin gönderilmesinden tamamen geri dönmesine kadar hatta geçen süredir; toplama master yazılımının payı da eklenir. Tabloların tamamı ölçüm yöntemi yazımızda ve vaka analizinde duruyor.

Ortalamanın yanında maksimumu da yayınlarız: kontrol döngüsünde ortalama sizi rahatlatır, makinenin sevk edilip edilmeyeceğine maksimum karar verir. DC senkron sayısı vermeyiz, çünkü stack Class B'dir ve dağıtılmış saatleri kullanmaz. Sayıların altındaki not da sınırı çizer: pano, robot kol, insansı robot ve araba 3B illüstrasyondur, CAN karşılaştırması yapısaldır. EtherCAT master satmıyoruz; TI silikonunda hattı ayağa kaldırıp zamanlamasını karakterize ediyoruz. Mekanizmayı tek çerçeve yazımızda anlatıyoruz.

Sentetik veri filmlerindeki kutuların kaynağı da farklıdır: onları bir dedektör tahmin etmez, render ya da yerleştirme adımı nesnenin yerini zaten bildiği için yazar (ground truth). Blender'daki engel filminde "synthetic data" etiketi film boyunca ekranda durur; sentetik görüntü saha kaydı gibi sunulmaz.

Bir mühendislik videosunu izlerken sorulacak beş soru

  1. Sahne gerçek mi? Saha kaydı mı, sentetik render mı, animasyon mu? Künye bunu söylemiyorsa sorun.
  2. Sayının kurulumu nerede? Kart, işletim sistemi, yazılım yığını, koşullar ve yöntem; biri eksikse sayıyı ölçüm olarak okumayın.
  3. Maksimum mu, ortalama mı? Yalnızca ortalama varsa en kötü durumu bilmiyorsunuz.
  4. Kutular kimin çıktısı? Dedektör tahmini, renderer'ın yer gerçeği ve bir animatörün çizimi ekranda aynı görünür.
  5. Künye ne diyor? "Concept film", "synthetic data" ya da "field capture" gibi bir ibare yoksa ekrandakinin ne olduğunu bilmiyorsunuz.

Filmlerimizi video merkezimizde bu sorularla izleyebilirsiniz.

Nerede yanlış gider

  1. Yeşil kapıyı kanıt saymak. Kapı yalnızca kendisine sorulan soruyu sınar; lens hatasında iddia, ışın lense çarptığı için tutuyordu.
  2. Kapının katmanı okuduğunu unutmak. Rakam kapısı pikselleri okumaz; 3B sahnenin dokusuna gömülü bir rakama (bir konteyner numarası, bir tabela) kördür.
  3. Sonucu gerekçesiz kaydetmek. Işını durduran nesnenin adı yazılmasaydı lens hatası "iddia tutuyor" satırının arkasında kalırdı.
  4. Eksik ya da bayat veriyi geçiş saymak. Sınanacak dosya yoksa varsayılan cevap "geçti" olmamalı. Görüş hattı dosyası ayrı bir adımda üretilir; o adım yeniden çalışmazsa kapı eski sahneyi sınar.
  5. Satırın ekranda olmasını okunmasıyla karıştırmak. Göz yine kutuya gider; satırın her karede olmasının faydası, kesilip paylaşılan parçada da kareyle gitmesidir.
  6. Başka yerde ölçülen sonucu sahneye mal etmek. Bir yayında raporlanan azalma, o yayının donanımına ve görevine aittir.

Bu yazının söyleyemedikleri

  • Kapılar yalnızca tanımladığımız hata türlerini yakalar. Betik bir onay makamı değildir: kalıp yakalar, bağlamı insan değerlendirir.
  • Kapılar izleyicinin yanlış anlamasını sıfırlamaz; bizim ekrana yanlış bir şey koymamızı zorlaştırır.
  • Film sahneleri hâlâ illüstrasyondur. Geometri kapısı sahnenin kendi içinde tutarlı olduğunu gösterir; gerçek bir terminal hakkında bir şey söylemez.
  • Kapılarımızın ne sıklıkla hata kaçırdığını ölçmedik; lens hatası kapının kendisinin de yanılabileceğini gösterdi.
  • EtherCAT sayıları tek bir tezgâh kurulumunun karakterizasyonudur; başka bir kurulumda farklı sayılar çıkar.

Sık sorulan sorular

Kavram filmi nedir?

Bir mühendislik ilkesini 3B animasyonla gösteren, ama bir sistemin performansını kanıtlamayan filmdir. Spikedge'in kavram filmlerinde sahneler, araçlar, sensörler ve ekrandaki kutu, iz ve etiketler kendi animasyonumuzdur; kapanış künyesinde "concept film" yazar.

Filmlerdeki kutular gerçek dedektör çıktısı mı?

Kavram filmlerinde hayır: kutu, iz ve etiketler animasyondur ve kutu görünen her karede "animated illustration, not detector output" satırı bulunur. Sentetik veri filmlerindeki kutular ise render ya da yerleştirme sırasında yazılan yer gerçeğidir.

Kavram filmlerinde neden hiç sayı yok?

Ekrandaki bir sayı ölçüm gibi okunur ve bu yüzden gerçek bir ölçümden gelmek zorundadır; kavram filmlerinin sahneleri için yayınlanabilir bir ölçümümüz yok. Rakam kapısı, INT8 gibi miktar bildirmeyen birkaç kalıp dışında ekranda rakam bulursa montajı durdurur.

EtherCAT filmindeki sayılar nereden geliyor?

Kendi tezgâhımızdan: TI Sitara AM572x IDK üzerinde ticari bir Class B master ve entegre ESC'li TI Delfino TMS320F28388D slave. Ortalama 19,2 µs, maksimum 30,9 µs ve %0 paket kaybı; kurulum, yöntem ve koşullar ölçüm yöntemi yazımızda.

Kaynaklar