Ana içeriğe geç

Yazılım Değişiklik Günlüğü ve Geri Bildirim

Sorunları ve özellik isteklerini e-posta ile veya Limelight Geri Bildirim Deposu'na gönderin

Limelight OS 2025.1 (FINAL SÜRÜM - 24/2/25 TEST SÜRÜMÜ - 18/2/25)

24/2/25 - 2025.1 test sürümünde ortaya çıkan bağlantı sorunu düzeltildi.

LL4 IMU Güncellemeleri

  • Geliştirilmiş IMU sensör füzyonu
    • Titreşim ve FRC seviyesindeki darbeler altında önemli ölçüde daha iyi performans. Füzyon yaklaşımında büyük değişiklikler.
IMU Güncellemeleri 2025.1

Yukarıdaki görüntü, bir FRC robotuyla oldukça şiddetli ~5 dakikalık bir antrenman seansının sonucunu göstermektedir. Bu seansta şunların yönlerini ölçtük:

  1. 2025.0 çalıştıran bir Limelight 4 (llyawOLD)
  2. 2025.1 çalıştıran bir Limelight 4 (llyaw)
  3. Bir Pigeon 2.0

İki LL4 aynı yönlerde monte edilmiştir. 2025.1 çalıştıran LL4'ün genel doğruluğundaki büyük iyileşmeye dikkat edin

  • IMU Modu 3 - IMU_ASSIST_MT1 - Dahili IMU, sürekli yön düzeltmesi için filtrelenmiş MT1 yaw tahminlerini kullanacak

  • IMU Modu 4 - IMU_ASSIST_EXTERNALIMU - Dahili IMU, sürekli yön düzeltmesi için harici IMU'yu kullanacak

  • imuassistalpha_set NT Anahtarı eklendi (varsayılan 0.001) - Tamamlayıcı filtre alfa / gücü. Daha yüksek değerler dahili imu'nun yardım kaynağına daha hızlı yakınsamasına neden olacak

  • Varsayılan değer düşük bir değer olan 0.001 olarak ayarlandı çünkü artık dahili IMU'ya eskisinden daha fazla güveniyoruz. Yardım modları, hızlı hareketler sırasında dahili IMU'nun duyarlılığına zarar vermeden dahili imu'yu seçilen yardım kaynağına çok nazikçe "çekmek" için tasarlanmıştır.

LL4 Termal Performans Güncellemeleri

  • 'throttle_set' eklendi. Her N atlanan kareden sonra bir kare işler. Örnek desenler:

    • throttle_set=1: [atla, işle, atla, işle]
    • throttle_set=2: [atla, atla, işle, atla, atla, işle]
  • Atlanan kareler sırasında çıktılar sıfırlanmaz/resetlenmez.

  • LL4'ünüzün sıcaklığını yönetmek için devre dışıyken bunu yüksek bir sayıya ayarlayın (50-200).

  • İsteğe bağlı olarak, bir pipeline'ı vizör olarak yapılandırabilir ve devre dışıyken bu pipeline'a geçebilirsiniz.

LL4 ve LL3G için Yeni FPS Seçenekleri

  • 60FPS, 55FPS, 45FPS ve 30FPS'de 1280x800 eklendi.
  • Daha düşük yakalama hızları kullanmak, AC aydınlatma nedeniyle görüntü blooming/breathing'den kaçınmak için pozlama süresini artırmanıza olanak tanır.

REST API Güncellemeleri

  • IMU Modu REST API eklendi - 'update-imumode'
  • Throttle REST API eklendi - 'update-throttle'
  • IMU ASSIST ALPHA REST API eklendi - 'update-imuassistalpha'

FMap Güncellemeleri

  • FMap Json dosyaları artık isteğe bağlı olarak base64 kodlu bir SVG gömebilir
  • FMap Json dosyaları artık isteğe bağlı olarak base64 kodlu bir PNG gömebilir

ReefScape Sinir Ağları Yüklendi

  • B2 Hailo Modeli, FRC2025 için en iyi performans gösteren modelimizdir. LL4'ü daha iyi desteklemek için monokrom görüntüler üzerinde eğitildi.
Coral Modeli

LL3A Güncellemeleri

  • 3A, 2025 güncellemeleriyle tam olarak destekleniyor

Hata Düzeltmeleri

  • Dahili IMU'su olmayan Limelight'lar imumode_set'i yok sayar
  • Limelight 3G'ye yükseltilmiş Limelight 3'ler yerleşik fanı düzgün şekilde kullanacak
  • Hailo tabanlı Sinir Dedektör pipeline'larında Kırpma düzeltildi
  • Hailo tabanlı AprilTag pipeline'larında Kırpma düzeltildi

Limelight OS 2025.0 (15/1/24)

LL4 Desteği

  • Hailo nesne algılama ve Hailo hızlandırmalı AprilTag'ler için destek eklendi
  • LL4'ün dahili IMU'su için destek eklendi.
  • "imumode_set" NT Anahtarı eklendi
    • 0 - Harici IMU kullan, dahili IMU'yu besleme
    • 1 - Harici IMU kullan, dahili IMU'yu besle
    • 2 - Dahili IMU kullan

2025 Saha Güncellemeleri

  • Saha genişliği ve saha yüksekliği artık .fmap dosyalarının bir parçası
  • Varsayılan .fmap 2025 sahasına uyacak şekilde güncellendi
  • Varsayılan saha görüntüsü güncellendi
  • Çevrimiçi harita oluşturucu artık saha genişliği ve saha yüksekliğini yapılandırmanıza izin veriyor
  • İndirmeler sayfasındaki 2025 fmap bağlantısı güncellendi.

Hata Düzeltmeleri

  • "Tüm anlık görüntüleri sil" düğmesi düzeltildi

Limelight OS 2024.10.2 (28/10/24)

Python Snapscript Düzeltmesi (KREDİ - FTC TAKIM 23251 TRIPLE FAULT)

  • Limelight3A ile Control Hub kullanırken Python Çıktıları artık donmayacak
  • Python pipeline'ları arasında geçiş yaparken Python Çıktıları artık donmayacak

MT2 Kenar Durumu

https://github.com/LimelightVision/limelight-feedback/issues/23

  • Robot olmadan MT2'yi test ederken, geometrik bir imkansızlık oluşturmak kolaydır.
  • Bu kenar durumu mt2 botpose'u sıfırlamıyordu - kamera pozunu sıfırlıyordu.
  • Bu kenar durumu algılandığında robot artık (0,0,0)'a yerleştiriliyor

Statik IP Adresleme

https://github.com/LimelightVision/limelight-feedback/issues/25

  • Adres .1-.10 veya .20-.255 ile bitiyorsa IP Adresi ayarlayıcısına bir uyarı eklendi çünkü bu adresler FMS veya diğer cihazlarla çakışabilir
  • 2024.10.1'de, adresleme şeması "otomatik" olarak ayarlandığında UI bazen statik bir IP'nin yapılandırıldığını öneriyordu

STDDevs NetworkTables

https://github.com/LimelightVision/limelight-feedback/issues/24

  • NetworkTables'daki "stddevs" mt1 ve mt2 için tüm stddev'leri içerir (double dizisi, 12 eleman)

Model Yükleme Kenar Durumu

  • Bir sınıflandırıcı modeli bir dedektör pipeline'ına yüklenirse, görüntüde "check model" görüntülenecek
  • Bir dedektör modeli bir sınıflandırıcı pipeline'ına yüklenirse, görüntüde "check model" görüntülenecek

Limelight OS 2024.10.1 (15/9/24)

Limelight 3A Güncellemeleri

  • Varsayılan renk dengesi değerleri güncellendi
  • Varsayılan AprilTag boyutu yapılandırması 101.6 mm olarak güncellendi
  • Varsayılan video akışı kare hızı 30FPS'ye düşürüldü
  • Akış bit hızını azaltmak için video akışı sıkıştırması hafifçe artırıldı

AprilTag Boyutu Uyarısı

  • Yapılandırılmış AprilTag boyutu yüklenen saha haritasındaki boyutlarla eşleşmiyorsa saha alanı görselleştiricisine bir uyarı eklendi.
Örnek banner

CameraPose_RobotSpace Hata Düzeltmesi

  • UI'nin yapılandırılmış Kamera Pozunu NetworkTables/LimelightLib/REST'ten geçersiz kılma artık düzgün çalışıyor.

Limelight OS 2024.10 (4/9/24)

FTC için Limelight 3A Desteği

  • Limelight3A tam olarak destekleniyor
  • 3A hem FTC hem de FRC'de kullanılabilir

AprilTag Harita Güncellemeleri

  • Harita düzenleyici artık standart ve elmas FTC harita oluşturmayı destekliyor
  • LLOS web arayüzü, yüklenen haritaya göre doğru saha türünü otomatik olarak görüntüleyecek
  • Araçlar ve arayüzler genelindeki tüm saha görselleştiricileri ittifak bölgelerini ve ftc karo ızgaralarını gösteriyor.
  • 3D görselleştirici performansı iyileştirildi.

ControlHub ve RoboRio'da USB Limelight Desteği.

  • FTC takımları Control Hub'da tek bir USB özellikli Limelight kullanabilir
  • FRC takımları RoboRio'da 16'ya kadar USB özellikli Limelight kullanabilir. USB limelight'lar tıpkı ethernet limelight'lar gibi networktables'ı otomatik olarak doldurur.
    • Birden fazla USB Limelight kullanmak için her LL'ye benzersiz bir USB indeksi ve benzersiz bir hostname verin.

USB Bağlantı Yükseltmeleri

  • MacOS artık internet erişimi için USB Ethernet Limelight arayüzünü kullanmıyor
  • Windows artık internet erişimi için USB Ethernet Limelight arayüzünü kullanmaya çalışmıyor

REST API Güncellemeleri

  • update-robotorientation POST isteği düzeltildi.
  • MT2 artık NetworkTables olmadan tamamen erişilebilir.
  • update-robotorientation rotası kullanıldığında, yeniden başlatmaya kadar NetworkTables yön güncellemeleri devre dışı bırakılır.

Limelight OS 2024.9.1 (7/7/24)

  • Harita Oluşturucu Aracı artık WPILib .json apriltag düzenlerini kabul ediyor/dönüştürüyor
  • Python Snapscript'lere AprilTag3 eklendi (from apriltag import apriltag)
  • Örnekler github deposundaki örneğe bakın
  • Windows'ta USB bağlantı gateway sorunu düzeltildi.

mozaik ekran görüntüsü:

Limelight OS 2024.9 (5/7/24)

MegaTag Yükseltmeleri

  • Limelight OS, NetworkTables 4.0'a geçti

  • MegaTag2 artık roboRIO'dan zaman damgalı IMU güncellemelerini almak için NT4'ün getAtomic()'ini kullanıyor.

  • Zaman damgalı görüntü karelerimiz, interpolasyon yapılmadan önce en alakalı iki IMU örneğiyle eşleştiriliyor.

  • LimelightLib'e NT4 flush() eklendi. Limelight OS'un eski sürümlerine Flush() eklemek sizi 2024.9 performansına oldukça yaklaştıracak, ancak NT4 doğruluğun her zaman yüksek olmasını sağlar.

  • MT2 görselleştirici robotu artık yeşil tamponlara sahip ve MT1'in görselleştirici robotu sarı tamponlar kullanıyor.

  • Metrikler artık daraltılabilir ve sanal robotlar gizlenebilir.

  • Aşağıdaki video, robot tarafı flush() ile 2024.9'un MegaTag 2'sinin (yeşil robot) Flush() olmadan 2024.5'in MegaTag2'sinden (kırmızı robot) nasıl daha sağlam olduğunu göstermektedir

USB ID ve Yeni USB IP Adresleri

  • Herhangi bir sistemde birden fazla USB Limelight kullanmak için ayarlar sayfasında "USB ID"yi ayarlayın.
  • Sisteminizde görünen USB-Ethernet arayüzü, USB ID tarafından belirlenen bir IP adresi kullanacak
  • Linux/Android/Mac Sistemleri artık varsayılan olarak 172.29.0.0/24 alt ağını kullanacak
  • Windows sistemleri artık varsayılan olarak 172.28.0.0/24 alt ağını kullanacak.
  • USBID ayarlanırsa, alt ağ Linux/Android/Mac için 172.29.(USBID).0/24'e ve Windows için 172.28.(USBID).0/24'e değişir.
  • Artık, örneğin, hostname'lerini ve USB ID'lerini ayarlayarak tek bir USB Hub'a dört Limelight cihazı bağlayabilirsiniz

CPU Sinir Sınıflandırıcıları

  • Google Coral olmadan sinir sınıflandırmasını etkinleştirmek için bir CPU .tflite sınıflandırıcısı yükleyin. LL3 varyantlarında 15-18 FPS bekleyebilirsiniz.
  • 2024.9 varsayılan bir CPU sınıflandırıcısı ile birlikte gelir.
  • Bu özelliği etkinleştirmek için sınıflandırıcı çalışma zamanını "CPU" olarak ayarlayın

CPU Sinir Dedektörleri

  • Google Coral olmadan sinir algılamayı etkinleştirmek için bir CPU .tflite dedektörü yükleyin. LL3 varyantlarında 10 FPS bekleyebilirsiniz.
  • 2024.9 varsayılan bir CPU dedektörü ile birlikte gelir.
  • Bu özelliği etkinleştirmek için dedektör çalışma zamanını "CPU" olarak ayarlayın

Limelight OS 2024.8 (3/7/24)

  • json sonuç nesnesine python çıktısı (PythonOut), tx, ty, txnc, tync, ta eklendi
  • MT2 gecikme telafisi daha da iyileştirildi

Limelight OS 2024.7 (21/5/24)

  • Linux 6.6'ya yükseltildi

Hata Düzeltmeleri

  • Görüntü pipeline dönüşümü düzeltildi
  • Kalibrasyon yüklemeleri, anlık görüntü yüklemeleri ve nn yüklemeleri düzeltildi

Limelight OS 2024.6 (8/5/24)

LimelightLib Python

  • pip install limelightlib-python
  • Python kütüphanemiz, herhangi bir platformda USB ve Ethernet Limelight'larla etkileşim kurmanıza olanak tanır.
  • Web UI etkileşimi olmadan tam Limelight yapılandırmasına izin verir.
  • Pipeline'lar, sinir ağları, saha haritaları vb. yükleyin
  • İsteğe bağlı "diske yaz" seçeneğiyle herhangi bir pipeline parametresinde gerçek zamanlı değişiklikler yapın
  • Özel python giriş verileri gönderin, robot yönünü ayarlayın vb.

MegaTag2 Yükseltmeleri

  • MegaTag2 Gyro gecikme telafisi iyileştirildi. Yakında daha fazla iyileştirme için takipte kalın!
  • UI'ye "Gyro gecikme ayarı" kaydırıcısı eklendi. MegaTag 2 gecikme telafisini manuel olarak ayarlamak için robotunuzu döndürebilir ve dönerken lokalizasyon sonuçları mükemmel olana kadar kaydırıcıyı ayarlayabilirsiniz.

Standart Sapma Metrikleri

  • 3D Saha görselleştiricisi artık x, y ve yaw için MegaTag1 ve Megatag2 standart sapmalarını içeriyor.

Yeni "Focus" Pipeline Türü

  • "Focus" modundayken, bir akış kalitesi kaydırıcısına ve bir kırpma kutusu kaydırıcısına erişiminiz olacak
  • "Focus" puanını maksimize etmek için lensi döndürün.
  • Kameranız sabit bir konumdaysa, bu bir dakikadan az sürer. Sabit / monte edilmiş bir Limelight ile odaklamayı öneriyoruz.

Yeni "Barcodes" Pipeline Türü

  • 1280x800'de 50-60FPS Çoklu QR Kod Algılama ve Çözme
  • 1280x800'de 50-60FPS Çoklu DataMatrix Algılama ve Çözme
  • 1280x800'de 30FPS Çoklu UPC, EAN, Code128 ve PDF417
  • Barkod veri dizeleri "rawbarcodes" nt dizisine gönderilir.
  • Barcodes pipeline'ı tx, ty, ta, tcornxy vb. gibi tüm 2D metrikleri dolduracak.

Tamamen Yeni REST API

  • https://docs.limelightvision.io/docs/docs-limelight/apis/rest-http-api
  • REST / HTTP API'miz sıfırdan yeniden oluşturuldu.
  • REST API, web UI etkileşimi olmadan tam Limelight yapılandırmasına izin verir.
  • Pipeline'lar, sinir ağları, saha haritaları vb. yükleyin
  • İsteğe bağlı "diske yaz" seçeneğiyle herhangi bir pipeline parametresinde gerçek zamanlı değişiklikler yapın
  • Python giriş verileri gönderin, robot yönünü ayarlayın vb.

Kamera Yönü Ayarı UI'den Kaldırıldı (KIRILMA DEĞİŞİKLİĞİ)

  • Bu, "akış yönü" seçeneğiyle değiştirildi. Kalibrasyon ve hedefleme bu seçenekten asla etkilenmez.
  • Yeni seçenek yalnızca akışı etkiler. Baş aşağı, 90 Derece Saat Yönünde, 90 Derece Saat Yönünün Tersine, Yatay Ayna ve Dikey Ayna
  • Takımların artık döndürülmüş kameralar kullanırken tx ve ty'yi gerektiği gibi manuel olarak tersine çevirmeleri gerekecek.

GRIP Desteği Kaldırıldı (KIRILMA DEĞİŞİKLİĞİ)

"Driver" Sıfır İşleme Modu Kaldırıldı (KIRILMA DEĞİŞİKLİĞİ)

  • Bu, "Viewfinder" pipeline türüyle değiştirildi

"Viewfinder" Pipeline Türü Eklendi

  • Viewfinder pipeline'ı minimum gecikme için tüm işlemeyi devre dışı bırakır
  • Bu, takımların yalnızca görüntüleme modları için kendi "Driver" pipeline'larını tasarlamalarına olanak tanır

Pipeline Dosyaları Artık JSON Formatı Kullanıyor (KIRILMA DEĞİŞİKLİĞİ)

  • Pipeline'lar hala .vpr dosya uzantısını kullanıyor
  • (Bazı durumlarda 2024.6'da bozuk) "Yükle" düğmesini kullandığınızda UI pipeline'ları otomatik olarak JSON'a dönüştürecek.
  • (Tam işlevsel) Pipeline'larınızı yükseltmek için https://tools.limelightvision.io/pipeline-upgrade adresini de kullanabilirsiniz

Kalibrasyon UX İyileştirmesi

  • Kalibrasyon ayarları artık önbelleğe alınıyor. Artık her kalibrasyon yapmak istediğinizde kalibrasyon ayarlarınızı girmenize gerek yok.
  • Varsayılan kalibrasyon sözlüğü, Calib.io'dan önerilen 800x600mm kaba tahta ile çalışacak şekilde güncellendi.

Kalibrasyon Mozaiği

  • Daha önce, kalibrasyon görüntülerinin kalitesini belirlemek zordu
  • Kalibrasyon sekmesinde artık bir "Kalibrasyon Mozaiği İndir" düğmesi var. Mozaik, her görüntünün kalibrasyonunuza tam olarak ne katkıda bulunduğunu gösterecek.

mozaik ekran görüntüsü:

"Centroid" Hedefleme Bölgesi

  • Renk pipeline'larıyla nesne takibini iyileştirmek için "Çıktı" sekmesine Centroid hedefleme modu eklendi

Dinamik 3D Offset (NT: fiducial_offset_set)

  • Artık pipeline'ları değiştirmeden 3D Offset'i ayarlamak mümkün. Bu, "hedef noktanızın" mesafeye veya diğer özelliklere göre değişmesi gereken durumlar için kullanışlıdır.

Modbus Desteği Eklendi

  • Limelight OS artık denetim, lojistik ve endüstriyel uygulamalar için her zaman açık bir modbus sunucusuna sahip
  • Modbus register spesifikasyonunu burada görün: https://docs.limelightvision.io/docs/docs-limelight/apis/modbus
  • Varsayılan modbus sunucu portu UI'nin ayarlar sekmesinde değiştirilebilir
  • Modbus ve snapscript python pipeline'ları aracılığıyla, çift yönlü iletişimle tamamen özel görüntü uygulamaları artık destekleniyor.

Özel NT Sunucusu

  • Ayarlar sekmesi artık özel bir NT sunucusu için bir giriş içeriyor.
  • Bu, bir PC'de çalışan bir glass NT sunucusu ve USB üzerinden iletişim kuran Limelight 3G içeren yeni bir iş akışını etkinleştirir.

Rawfiducial Değişiklikleri

  • Ham fiducial'ların "alan" değeri artık ~0-1 arasında değişen kalibre edilmiş, normalize edilmiş bir değerdir

Tüm NetworkTables ve JSON Değişiklikleri

  • NT getpipetype eklendi - Geçerli pipeline türü dizesini al (örn. pipe_color, pipe_fiducial)

  • NT tcclass eklendi - Sınıflandırıcı pipeline algılanan sınıf adı

  • NT tdclass eklendi - Dedektör pipeline algılanan sınıf adı

  • Garantili atomik 2d hedefleme için NT t2d eklendi - [valid,targetcount, targetlatency, capturelatency, tx, ty, txnc, tync, ta, targetid, classifierID, detectorID, tlong, tshort, thor, tvert, ts(skew)]

  • NT tlong, tshort, thor, tvert ve ts kaldırıldı

  • NT 'crosshairs' dizisi eklendi [cx0,cy0,cx1,cy1]

  • NT cx0, cy0, cx1 ve cy1 kaldırıldı

  • NT rawbarcodes eklendi - Barkod verilerinin NT String Dizisi. 32'ye kadar giriş.

  • Tüm "raw" dizileri 32'ye kadar hedefe izin veriyor (8'den yükseltildi)

  • fiducial_offset_set dinamik 3d Offset ayarlayıcısı eklendi

  • json üst düzey sonucuna "pType" eklendi

  • json üst düzey sonucuna "stdev_mt1" ve "stdev_mt2" eklendi (x,y,z,roll,pitch,yaw) (metre, derece)

Diğer Dosya Formatları ve JSON Dump'larındaki Değişiklikler

  • Kalibrasyon dosya formatı basitleştirildi. Eski kalibrasyonlar yükleme sırasında otomatik olarak yeni formata dönüştürülür
  • Sonuçlar ve Durum JSON dump'larından bir iç içe geçme katmanı kaldırıldı

Hata Düzeltmeleri

  • Daha önce, bir Sinir pipeline'ı aktifken bir Google Coral çıkarılırsa, pipeline kalıcı olarak "color/retro" moduna geri dönüyordu
    • Şimdi, görüntüye "CHECK CORAL" veya "CHECK MODEL" yazdırılacak. Pipeline türü asla değişmeyecek
  • Daha önce, fiducial ID filtresinden başarıyla geçen etiketler bazen yeşil çerçeve yerine kırmızı çerçeveyle çiziliyordu. Bu görselleştirme sorunu düzeltildi.
  • Apriltag pipeline'ları tcornxy NT dizisini dolduruyor
  • Apriltag pipeline'ları artık min-max alan kaydırıcısına tam olarak uyuyor. Daha önce, AprilTag pipeline'ları 2D sonuçları Etiket Alanına göre filtreliyordu, ancak 3D / Lokalizasyon Sonuçlarını filtrelemiyordu.

Limelight OS 2024.5.0 (9/4/24)

  • Linux 6.1'e yükseltme

Kamera Yığını Güncellemesi

  • Limelight3G'de kamera çevre birimi kilitlenmesini düzeltmek için tüm kamera yığını güncellendi.
    • Belirtiler şunları içerir
  • Bu güncellemeyi uyguladıktan sonra pozlama ve kazanç ayarlarını yeniden ayarladığınızdan emin olun.

Dinamik Ölçek Küçültme

  • Takımlar artık mevcut pipeline'ın ölçek küçültme ayarını geçersiz kılmak için "fiducial_downscale_set" ayarlayabilir
  • 0:UI kontrolü, 1:1x, 2:1.5x, 3:2x, 4:3x, 5:4x
  • Yeni Helpers metodunu 0.0 (UI Kontrolü), 1.0, 1.5, 2.0, 3.0, 4.0 ile kullanın
  • Bu sıfır ek yük gerektiren bir işlemdir.
  • Dinamik ölçek küçültme ve dinamik kırpmayı birleştirerek, takımlar birden fazla pipeline yönetmeden FPS'yi maksimize edebilir

MegaTag2 İyileştirmeleri

  • MT2 artık 90 derece ve -90 derece yuvarlanmalı "portre" modları dahil olmak üzere Limelight yönelimi ne olursa olsun çalışıyor

"rawdetections" nt dizisi

  • [classID, txnc, tync, ta, corner0x, corner0y, corner1x, corner2y, corner3x, corner3y, corner4x, corner4y]
  • köşeler kalibrasyon uygulanmadan piksel uzayındadır

Aşındırma/Genişletme Güncellemesi

  • Renk pipeline'ları artık 10 adıma kadar genişletme ve 10 adıma kadar aşındırmayı destekliyor
  • Renk pipeline'larında artık genişletme ve aşındırma adımlarının sırasını tersine çevirmek için "ters morfo" seçeneği var

LimelightLib 1.6 (9/4/24)

  • void SetFiducialDownscalingOverride(float downscale) eklendi

Pipeline kontrolü için 0'a veya pipeline'ınızın ölçek küçültme ayarını geçersiz kılmak için aşağıdakilerden birine ayarlayın: 1, 1.5, 2, 3, 4

  • RawFiducial[] GetRawFiducials() eklendi
  • RawDetection[] GetRawDetections() eklendi

Limelight OS 2024.4.0 (3/4/24)

Bu güncelleme için fikir katkısında bulunan tüm takımlara teşekkürler.

Megatag 2

Megatag 2, belirsizlik içermeyen bir konumlandırıcıdır. Megatag1'den daha yüksek doğruluk ve hassasiyete sahiptir ve aşağıdaki gereksinimlerle oluşturulmuştur:

  • Poz belirsizliği sorununu ortadan kaldırın ve görüntü/köşe gürültüsüne karşı dayanıklılığı artırın.
  • Perspektif ne olursa olsun, bir veya daha fazla etiket verildiğinde mükemmel poz tahminleri sağlayın.
  • Fiziksel AprilTag yerleştirme yanlışlıklarına karşı dayanıklılığı artırın
  • İyi poz tahmini sonuçları için gerekli robot tarafı filtreleme miktarını azaltın

Bu oldukça belirsiz tek etiketli durumda MegaTag2 (kırmızı robot) ve Megatag (mavi robot) arasındaki farka dikkat edin:

Megatag2, yeni bir metod çağrısıyla robotunuzun yönünü ayarlamanızı gerektirir. İşte tam bir örnek:

      LimelightHelpers.SetRobotOrientation("limelight", m_poseEstimator.getEstimatedPosition().getRotation().getDegrees(), 0, 0, 0, 0, 0);
LimelightHelpers.PoseEstimate mt2 = LimelightHelpers.getBotPoseEstimate_wpiBlue_MegaTag2("limelight");
if(Math.abs(m_gyro.getRate()) > 720) // açısal hızımız saniyede 720 dereceden büyükse, görüş güncellemelerini yoksay
{
doRejectUpdate = true;
}
if(mt2.tagCount == 0)
{
doRejectUpdate = true;
}
if(!doRejectUpdate)
{
m_poseEstimator.setVisionMeasurementStdDevs(VecBuilder.fill(.6,.6,9999999));
m_poseEstimator.addVisionMeasurement(
mt2.pose,
mt2.timestampSeconds);
}

Megatag2, tek bir etiket verildiğinde herhangi bir mesafede mükemmel, belirsizlik içermeyen sonuçlar sağlar. Bu, yalnızca ilgili ve istenen yerleştirme toleransınız dahilindeki etiketlere odaklanmanın tamamen uygulanabilir olduğu anlamına gelir. Bir etiket doğru konumda değilse veya ilgisizse, yeni dinamik filtre özelliğiyle filtreleyin.

Dinamik Apriltag Filtreleme

  • MegaTag2 mümkün olduğunca çok AprilTag biriktirmeye çaresiz olmadığından, iyi yerleştirilmiş ve ilgili etiketler için güvenle filtreleme yapabilirsiniz:
int[] validIDs = {3,4};
LimelightHelpers.SetFiducialIDFiltersOverride("limelight", validIDs);

MegaTag2'ye Geçiş

Megatag2'nin düzgün çalışması için robot yönünüz gereklidir. 0 derece, 360 derece, 720 derece vb. yön, robotunuzun kırmızı ittifak duvarına baktığı anlamına gelir. Bu, PathPlanner, Chorero, Botpose ve Botpose_wpiblue'da kullanılan aynı kuraldır.

Kodunuza SetRobotOrientation() ekledikten sonra, yerleşik 3D görselleştiriciyi kontrol edin. Yakın mesafede, Megatag2 ve Megatag1 tam olarak olmasa da yakından eşleşmelidir. Uzun mesafede, Megatag 2 (kırmızı robot) Megatag1'den (mavi robot) daha doğru ve daha kararlı olmalıdır.

Yerleşik görselleştirici iyi sonuçlar gösterdiğinde, otonom dönemde robotunuzu yönlendirmek için Megatag2'yi güvenle kullanabilirsiniz.

Eklemenizi önerdiğimiz tek filtre "maksimum açısal hız" filtresidir. Yüksek açısal hızlarda poz tahminlerinizin biraz daha az güvenilir hale geldiğini görebilirsiniz.

Örnekler deposunda bu filtreye sahip bir Megatag2 örneği bulunmaktadır.

    if(Math.abs(m_gyro.getRate()) > 720) // açısal hızımız saniyede 720 dereceden büyükse, görüş güncellemelerini yoksay
{
doRejectUpdate = true;
}
if(mt2.tagCount == 0)
{
doRejectUpdate = true;
}

LimelightLib 1.5 (3/4/24)

Eklenenler

getBotPoseEstimate_wpiRed_MegaTag2()
getBotPoseEstimate_wpiBlue_MegaTag2()
SetRobotOrientation()

Limelight OS 2024.3.4 (20/3/24)

Bu güncelleme için fikir katkısında bulunan tüm takımlara teşekkürler.

Daha Yüksek Hassasiyetli Tek Etiket Çözücü

MegaTag'in tek etiket 3D çözücüsü iyileştirildi. Uzun mesafede öncekinden çok daha kararlı.

JSON Varsayılan Olarak Devre Dışı (Kırıcı Değişiklik)

  • Shuffleboard gibi otomatik abone olan gösterge panelleri kullanan takımlar için bant genişliği kullanımını azaltmak amacıyla JSON varsayılan olarak devre dışı bırakıldı.
  • Bu ayrıca RoboRIO NT yükünü ve CPU kullanımını azaltmalıdır.
  • Çıktı sekmesinde pipeline başına json'u yeniden etkinleştirin.
  • Bu güncelleme, daha fazla takımın poz tahmini için JSON'dan uzaklaşmasına olanak tanıyan değişiklikler içermektedir.

Düzeltilmemiş Alan (Kırıcı Değişiklik)

Herhangi bir hedefin alanını hesaplamadan önce köşeler düzeltilir.

botpose, botpose_wpiblue ve botpose_wpired'e Fiducial Başına Metrikleri Dahil Et

[tx, ty, tz, roll, pitch, yaw, tagCount, tagSpan (metre), averageDistance (metre), averageArea (görüntü yüzdesi), (etiketler) ]

Megatag konumlandırması tarafından kullanılan her etiket için, yukarıdaki diziler artık (tagID, txnc, tync, ta, distanceToCamera, distanceToRobot, ambiguity) içeriyor

Belirsizlik, etiketin mevcut perspektifinin belirsizliğini gösteren 0-1 arasında yeni bir metriktir. Etiket belirsizlikleri > .9 olan tek etiket güncellemeleri muhtemelen reddedilmelidir.

"rawtargets" ve "rawfiducials" nt dizileri (Kırıcı Değişiklik)

  • rawtargets - hedef başına (txnc,tync,ta)
  • rawfiducials - hedef başına (tagID, txnc, tync, ta, distanceToCamera, distanceToRobot, ambiguity)
  • Önceki rawtargets NT girişleri (tx0,ty0, vb.) kaldırıldı.

Hata Düzeltmeleri

  • priorityID bulunamadıysa tüm tek etiket 3D bilgilerini sıfırla. Daha önce, priorityTag bulunamadığında yalnızca Tx, Ta, Ty ve Tv sıfırlanıyordu
  • Görünür tek etiket UI'nin "ID Filtreleri" özellikleri tarafından filtrelenmişse botpose'u sıfırla. Daha önce, görünür tek etiket filtrelenmiş bir etiketse botpose'lar (0,0,0) yerine sahanın merkezine sıfırlanıyordu;
  • 2024.2, bazı nadir durumlarda belirli networktables girişlerine NAN'lar gönderiyordu. Bu artık olmayacak.

LimelightLib 1.4 (21/3/24)

  • 2024.3.4 Raw Fiducials desteği eklendi. PoseEstimate'ler artık id, txnc, tync, ta, distanceToCamera, distanceToRobot ve ambiguity içeren rawFiducials dizisi içeriyor

Limelight Hardware Manager 1.4 (18/3/24)

Hata Düzeltmesi

Keşfedilen USB Limelight'lar artık iki kısmi giriş yerine tek bir giriş olarak düzgün şekilde görüntüleniyor.


Limelight OS 2024.2.2 (17/3/24)

Hata Düzeltmesi

TX ve TY, NT girişlerinde çapraz işareti düzgün şekilde dikkate alıyor.


Limelight OS 2024.2 (8/3/24)

Json (tx_nocross, ty_nocross) ve NT (txnc, tync) ile Sıfır Çapraz İşaret Hedefleme

Özel içsel kalibrasyon ile tx/ty hedefleme kullanıyorsanız, Limelight çapraz işareti kameranın ana pikseli ile hizalanmadığından muhtemelen hala kameradan kameraya değişiklik görüyorsunuz. Daha yüksek tx/ty doğruluğu gerektiren takımlar, çapraz işareti ana pikselle eşleşecek şekilde yapılandırabilir veya bu yeni metrikleri kullanabilir.

tx/ty'de Potansiyel Kırıcı Değişiklik

Bu sezon başlarında özellikle json'da tx, ty ve tx + ty için özel kalibrasyonu bozan bir hata tanıtıldı. Limelight OS birçok durumda varsayılan kalibrasyonlara geri dönüyordu.

Kalibrasyon Yükseltmeleri

Kalibrasyon artık kaç görüntü yakalanmış olursa olsun neredeyse anlık. Ayrıca belirli koşullar altında yaklaşık 30'dan fazla görüntüye sahip olmanın neden olduğu bir çökmeyi düzelttik.

Kağıt hedeflerle 15-20 görüntüyle tutarlı olarak yaklaşık 1 piksel yeniden projeksiyon hatası ve yüksek kaliteli calib.io hedeflerimizle .3 piksel hata elde ediyoruz.

Fiducial Filtreleri UI Düzeltmesi

Fiducial filtre metin kutusu artık herhangi bir sayıda filtreyi kabul ediyor.

Çeşitli

Apriltag Oluşturucu, 165.1 mm etiketlerle ölçeklemeyi önlemek için varsayılan olarak "kenarlık yok" ayarına sahip.


Limelight OS 2024.1.1 (24/2/24)

  • priorityID düzeltildi

Limelight OS 2024.1 (24/2/24)

HW Metrikleri (networktables'da hw anahtarı, /status GET isteği)

Kalibrasyon İyileştirmesi

  • Bir kalibrasyon görüntüsü tam olarak bir geçerli algılama içeriyorsa oluşabilecek çökme düzeltildi. Web ui geri bildirimi iyileştirildi.

Robot Konumlandırma İyileştirmesi (etiket sayısı ve daha fazlası)

  • Tüm networktables botpose dizileri (botpose, botpose_wpiblue ve botpose_wpired) artık Etiket Sayısı, Etiket Aralığı (metre), Ortalama Mesafe (metre) ve Ortalama Alan (görüntü yüzdesi) içeriyor

  • Bu metrikler, yüklenen saha haritasına dahil edilen etiketlerle hesaplanır. Özel ve/veya mobil AprilTag'ler bu metrikleri etkilemeyecektir.

  • Cihaz kalibrasyonu ve bu botpose dizisi yükseltmesiyle, bu yıl kullanım durumlarının büyük çoğunluğu için JSON'un gerekli olduğuna inanmıyoruz.

  • JSON dökümü artık kolaylık için botpose_avgarea, botpose_avgdist, botpose_span ve botpose_tagcount içeriyor.

[tx,ty,tz,rx,ry,rz,latency,tagcount,tagspan,avgdist,avgarea]

Yeni Özellik: Öncelik ID (NT Anahtarı priorityid)

  • Robotunuz hem odometri tabanlı özellikler hem de tx/ty tabanlı özellikler kullanıyorsa, muhtemelen aşağıdaki UX sorunuyla karşılaştınız:

  • Bu güncellemeden önce, tx/ty hedefleme için tercih edilen etiket ID'sini kolayca değiştirmenin bir yolu yoktu.

  • UI'da bir ID filtresi olmasına rağmen, bu

    • dinamik değil
    • etiketleri megaTag konumlandırmasından kaldırıyor.
  • Bu, takımların birkaç pipeline oluşturması anlamına geliyordu: biri 3D konumlandırma için ve her tx/ty etiketi için biri (etiket 7 ile mavi taraf atışı için bir pipeline, etiket 6 ile mavi taraf amp için bir pipeline, vb.).

  • Yeni öncelik ID özelliği (NT Anahtarı priorityid), Limelight'ınıza "Tüm etiket algılama, filtreleme ve sıralama tamamlandıktan sonra, öncelik ID'siyle eşleşen etikete odaklan" demenizi sağlar.

  • Bu, konumlandırmayı hiçbir şekilde etkilemez ve yalnızca JSON sonuçlarındaki etiketlerin sırasını biraz değiştirir.

  • Öncelik id'niz -1 değilse, seçilen etiket görünür olmadıkça tx/ty/ta 0 döndürür.

Çeşitli

  • 3D apriltag pipeline'ında çift hedef modu kullanırken ekran boyunca "x" düzeltildi
  • REST API, sinir ağı etiket yüklemeleriyle genişletildi (/uploadlabels)
  • /status json'a cihaz takma adı dahil edildi

LimelightLib 1.3

  • LimelightLib (Java ve CPP), konumlandırmayı her zamankinden daha kolay hale getirmek için güncellendi.
  LimelightHelpers.PoseEstimate limelightMeasurement = LimelightHelpers.getBotPoseEstimate_wpiBlue("limelight");
if(limelightMeasurement.tagCount >= 2)
{
m_poseEstimator.setVisionMeasurementStdDevs(VecBuilder.fill(.7,.7,9999999));
m_poseEstimator.addVisionMeasurement(
limelightMeasurement.pose,
limelightMeasurement.timestampSeconds);
}


Takımlar için Yeni Kaynaklar

Limelight Geri Bildirim ve Sorun Takipçisi: https://github.com/LimelightVision/limelight-feedback/issues

Örnekler Deposu: https://github.com/LimelightVision/limelight-examples

Swerve ile Nişan Alma ve Mesafe Ölçme Örneği: https://docs.limelightvision.io/docs/docs-limelight/tutorials/tutorial-swerve-aiming-and-ranging

MegaTag Konumlandırma Örneği: https://docs.limelightvision.io/docs/docs-limelight/tutorials/tutorial-swerve-pose-estimation

Son katkıda bulunanlara teşekkürler: jasondaming, Gold876, JosephTLockwood, Andrew Gasser ve virtuald


Limelight 2024 Güncellemeleri (6/2/24)

Limelight Dokümantasyon Yükseltmesi

  • Dokümantasyon, kurulum sürecini kolaylaştırmak için yeniden yazıldı

Limelight AprilTag Oluşturucu

  • https://tools.limelightvision.io/ artık ilk çevrimiçi AprilTag oluşturucuyu sunuyor.
  • Yazdırılabilir bir PDF oluşturmak için kağıt boyutunuzu, işaretçi boyutunuzu ve etiket ID'lerinizi seçin.
  • Safari şu anda etiketleri düzgün görüntüleyemeyebilir.

Limelight Harita Oluşturucu

Yeni Hardware Manager

  • Finder Tool artık Limelight Hardware Manager
  • Sıfırdan yeniden yazıldı. Artık Limelight'ları güvenilir bir şekilde algılıyor, daha yararlı tanılama bilgileri sağlıyor ve düzgün çalışması için yeniden başlatma gerektirmiyor.
  • Şimdi indirmeler sayfasından edinin notebook ekran görüntüsü:

Kendi Sinir Ağlarınızı Eğitin

notebook ekran görüntüsü:

2024 AprilTag Haritası ve Note Algılayıcı

  • Harita ve algılayıcı modeli, indirmeler sayfasına ve en son Limelight OS görüntüsüne eklendi.

Limelight OS 2024.0 (6/2/24)

ChArUco Kalibrasyon Düzeltmeleri

  • ChArUco algılayıcımızın alt piksel doğruluğu artırıldı. Pano hedefleri ve 20 görüntüyle 1-2 piksel yeniden projeksiyon hatası artık elde edilebilir.
  • Aynı kamera ve aynı hedef kullanılarak, 2023.6 20 piksel RPE elde etti ve 2024.0 1.14 piksel RPE elde etti.
  • Giriş alanları artık harf ve özel karakterleri kabul etmiyor. Bu, potansiyel bir çökmeyi ortadan kaldırıyor.

Kutudan Çıkar Çıkmaz Megatag Doğruluk İyileştirmesi

  • Bu güncellemeden önce, Limelight'ın dahili Megatag harita oluşturucusu, .fmap dosyası tarafından sağlanan etiket boyutları yerine UI'ın etiket boyutu kaydırıcısına başvuruyordu.
  • Megatag artık fmap dosyalarında yapılandırılan etiket boyutlarına saygı gösteriyor ve boyut kaydırıcısını yok sayıyor.
  • Boyut kaydırıcınız 165.1 mm'ye ayarlanmamışsa, konumlandırma doğruluğunda anında bir iyileşme fark edeceksiniz

Performans Yükseltmeleri ve Hata Düzeltmeleri

  • Daha yüksek FPS AprilTag pipeline'ları
  • Saha Uzayı Görselleştiricisinin performansı önemli ölçüde iyileştirildi.

Hata Düzeltmeleri

  • 3D görselleştiricilerdeki Apriltag'ler bazen yanlış veya bozuk etiket görüntüleriyle çiziliyordu. Etiketler artık her zaman doğru şekilde görüntüleniyor.
  • "v" / tv / "valid" artık yalnızca geçerli algılamalar varsa "1" döndürecek. Daha önce, tv her zaman "1" idi