Robotlar
Unitree Bilgi Üssü
Uygulama İncelemesi

Go2 + RealSense D435i:
Tespit Kutusundan 3D Yer İmi Haritasına.

Nesne tespiti size "şurada bir priz var" der ve kare geçince unutur. Saha işinde gereken ise şu: "bu prizin tesisteki koordinatı x = -2,42 m, y = 2,49 m". Bu incelemede, Unitree Go2 üzerinde açık sözlüklü tespiti derinlik kamerasıyla birleştirip kalıcı bir 3D varlık haritası üreten ROS 2 boru hattını adım adım çözümlüyoruz: yöntem, konu akışı ve açık kaynak referans uygulamanın dürüst sınırları.

Unitree Go2 EDUIntel RealSense D435iYOLO-WorldROS 2 FoxyJetson OrinAçık sözlüklü tespit

Boru hattının çalışma noktası

80 ms

renk ve derinlik karesini aynı ana ait sayan eşleme toleransı

25 cm

iki gözlemi aynı fiziksel nesne sayan kümeleme yarıçapı

100 gözlem

bir adayın onaylı yer imine dönüşmesi için gereken kare sayısı

8080

açıklamalı görüntünün tarayıcıdan izlendiği MJPEG portu

DüğümROS 2 KonusuRolü
go2_rs_spatial_localizer/camera/camera/color/image_raw + .../aligned_depth_to_colorGirdi: eşlenmiş renk ve derinlik karesi
go2_rs_spatial_localizer/utlidar/robot_odomGirdi: robotun konumu ve yönelimi
go2_rs_spatial_localizer/go2_vision/detected_outlet_positionÇıktı: harita çerçevesinde tekil 3D nokta
go2_outlet_plotter/go2_vision/landmark_markersÇıktı: RViz için 3D işaret dizisi ve JSON harita
vid_stream_server/go2_camera/segmented_overlay/compressedÇıktı: 8080 portunda tarayıcıdan izlenen MJPEG akışı

Konu adları, MCatahayIDE/go2-spatial-vision-mapping deposundaki referans uygulamadan alınmıştır. Kendi kurulumunuzda RealSense önekini ve hedef konu adlarını değiştirebilirsiniz.

NASIL ÇALIŞIYOR

Dört adım: kareden koordinata

Boru hattının fikri sade: tespit tek başına geçicidir, kalıcı olan koordinattır. Görüntüdeki kutu derinlikle metrik bir vektöre, vektör odometriyle harita koordinatına, koordinat da çok kareli kümelemeyle güvenilir bir yer imine dönüşür. Robotun gezinme tarafını nasıl kurduğumuzu SLAM navigasyon demolarında anlatmıştık.

01

Hizalanmış RGB-D akışı

RealSense D435i, renkli görüntüyle piksel piksel hizalanmış 16 bitlik derinlik karesi yayınlar. İki akış ROS 2 tarafında yaklaşık zaman eşleyiciyle (80 ms tolerans) birleştirilir; aynı ana ait olmayan renk ve derinlik karesinin eşleşmesi böyle engellenir.

02

Metinle tarif edilen hedef

YOLO-World modeline sabit bir sınıf listesi değil, metin komutu verilir: power outlet, electrical socket, light switch. Model eğitim setinde hiç görmediği bir nesneyi bu tarife göre arar. Hedefi değiştirmek için yeniden eğitim değil, tek satır komut değişikliği yeter.

03

Metrik geri izdüşüm

Kutu merkezindeki dar bölgenin derinlik medyanı alınarak parlak yüzeylerin sıfır okumaları elenir. İğne deliği kamera modeli ve CameraInfo'dan gelen iç parametrelerle 2 boyutlu piksel, kamera çerçevesinde metrik bir vektöre çevrilir.

04

Küresel çerçeve ve kümeleme

Kamera vektörü, Go2'nin kendi LiDAR-atalet odometrisiyle harita çerçevesine taşınır. 25 santimetrelik komşuluk içindeki gözlemler koşan ortalamayla tek ağırlık merkezinde birleşir; 100 gözleme ulaşan küme onaylanıp JSON haritaya yazılır.

DONANIM ZİNCİRİ

Go2 neyi verir, derinlik kamerası neyi ekler

Go2'nin ön kamerası 1280 x 720 çözünürlükte ve 120 derece görüş açılıdır: iyi bir görüntü verir ama tek gözlü olduğu için mesafe vermez. 4D LiDAR L2 ise 360 x 96 derecelik taramasıyla engelden kaçınma ve konumlandırma tarafını taşır, nesne seviyesinde semantik veri üretmez.

Eksik parça, RGB ile hizalanmış piksel başına metrik derinliktir. RealSense D435i bunu USB 3.2 üzerinden verir; hesaplama tarafında da Go2 EDU'nun Jetson Orin seçeneği YOLO-World çıkarımını robotun üzerinde tutar. Böylece boru hattı, harici bir sunucuya bağımlı olmadan sahada çalışır.

Hedef nesneSaha karşılığı
Elektrik panosu ve prizTesis devralma sırasında koordinatlı elektrik envanteri
Vana ve manometreProses hatlarında periyodik okuma noktalarının haritalanması
Yangın tüpü ve acil butonMevzuat denetimi: eksilen veya yeri değişen ekipmanın tespiti
Saha etiketi ve QRVarlık yönetim sistemine konumlu besleme

Hedefi değiştirmek için model yeniden eğitilmez: YOLO-World'e verilen metin komutu değiştirilir.

Referans uygulamanın bilinen sınırları

Aşağıdakiler, açık kaynak referans uygulamanın kodunu ve örnek çıktısını okuyarak çıkardığımız gerçek kısıtlardır. Prototip olarak sağlam bir başlangıç, ancak sahaya çıkmadan önce kapatılması gereken boşluklar var.

  • Dünya çerçevesi dönüşümü yalnızca yaw eksenini kullanır. Yürürken sürekli yalpalayan dört bacaklı bir robotta pitch ve roll ihmal edilince hata mesafeyle birlikte büyür.
  • Kameranın robot gövdesine göre montaj ofseti hesaba katılmaz: kamera tam robot merkezindeymiş gibi davranılır. Sabit bir kaydırma, tüm haritayı aynı yönde kaydırır.
  • Dönüşüm tf2 ile değil elle trigonometriyle yapılır; harita çerçevesi bir TF ağacından türetilmez, mesaja etiket olarak iliştirilir.
  • Örnek çıktıda 4 onaylı yer imine karşılık 91 aday küme vardır: aynı fiziksel nesne, odometri kayması yüzünden birden fazla kümeye bölünmektedir.
  • Kod bir ROS 2 paketi olarak paketlenmemiştir: package.xml, bağımlılık listesi ve başlatma dosyası yoktur, düğümler tek tek elle çalıştırılır.

Unitree Go2 EDU

Bu boru hattının çalışabileceği taban Go2 EDU'dur: tam kod erişimi, ROS 2 desteği ve 100 TOPS'luk NVIDIA Jetson Orin seçeneği. AIR ve PRO varyantlarında ikincil geliştirme erişimi bulunmaz. Türkiye'de yetkili distribütör fiyatı Go2 EDU için $9.700'den başlar.

Saha kurulumu ve entegrasyon

Robotlar.org; Go2 EDU tedariki, derinlik kamerası montajı ve kalibrasyonu, ROS 2 ile tf2 ağacının doğru kurulması, hedef nesneye göre komut ayarı ve çıkan haritanın varlık yönetim sisteminize bağlanmasını uçtan uca üstlenir.

Sıkça Sorulan Sorular

Mekansal yer imi haritalama tam olarak ne demek?

Sıradan nesne tespiti size görüntü üzerinde bir kutu verir: "şurada bir priz var". Mekansal haritalama bir adım öteye gider ve o prizin tesis içindeki metrik konumunu çıkarır: x = -2,42 m, y = 2,49 m, z = 0,29 m. Robot gezinmesini bitirdiğinde elinizde bir görüntü yığını değil, koordinatlı bir varlık listesi kalır. Fark şurada önemli: kutu geçicidir, koordinat kalıcıdır ve bir sonraki denetimde aynı noktaya geri dönebilirsiniz.

Açık sözlüklü (open-vocabulary) tespit neden bu işin merkezinde?

Klasik YOLO modelleri eğitildikleri sabit sınıf listesiyle sınırlıdır; listede "priz" yoksa veri toplayıp yeniden eğitmeniz gerekir. YOLO-World metinle çalışır: modele "power outlet", "electrical socket", "light switch" yazarsınız, model o tarifi arar. Saha tarafında bu şu demek: yangın tüpü envanteri çıkaracaksanız yeni bir veri seti toplamak yerine komut metnini değiştirirsiniz. Ar-Ge maliyetinin büyük kısmı veri etiketlemede olduğu için bu, projeyi haftalardan saatlere indirir.

Go2'nin kendi kamerası yetmiyor mu, neden ayrı bir derinlik kamerası?

Go2'nin ön kamerası 1280 x 720 çözünürlükte, 120 derece görüş açılı tek gözlü bir kameradır; görüntü verir ama mesafe vermez. Tek kareden metrik derinlik çıkarmak mümkün değildir. Intel RealSense D435i stereo derinlik kamerası her piksel için milimetre cinsinden mesafe üretir ve RGB ile hizalanmış olarak yayınlar. Geri izdüşüm formülünün ihtiyaç duyduğu Z değeri buradan gelir. Go2'nin 4D LiDAR L2 sensörü ise engelden kaçınma ve konumlandırma için kullanılır, nesne seviyesinde semantik tespit için değil.

2 boyutlu kutudan 3 boyutlu koordinata nasıl geçiliyor?

Üç adım var. Birincisi: tespit kutusunun merkez bölgesindeki derinlik piksellerinin medyanı alınır, böylece parlak yüzeylerden gelen sıfır okumaları elenir ve metrik Z elde edilir. İkincisi: iğne deliği kamera modeliyle geri izdüşüm yapılır, yani x = (u - cx) * Z / fx ve y = (v - cy) * Z / fy. Buradaki fx, fy, cx, cy değerleri kameranın CameraInfo mesajından gelen iç parametreleridir. Üçüncüsü: kamera çerçevesindeki bu vektör, robotun odometrisiyle birleştirilerek küresel harita çerçevesine taşınır.

Bir tespiti gerçek yer imi saymak için kaç kare gerekiyor?

Referans uygulamada eşik 100 gözlemdir. Yeni bir 3D nokta geldiğinde 25 santimetrelik komşuluk yarıçapı içinde mevcut bir küme aranır; varsa kümenin ağırlık merkezi koşan ortalamayla güncellenir, yoksa yeni aday açılır. Küme 100 gözleme ulaşınca onaylı sayılıp haritaya yazılır. Bu eşik anlık yanlış pozitifleri eler: bir karede parlayan bir yansımayı priz sanmak ucuzdur, aynı hatayı 100 kare üst üste yapmak zordur.

Örnek uygulamanın bilinen sınırları neler?

Dürüst olmak gerekirse üç tanesi ciddi. Birincisi, dünya çerçevesi dönüşümü yalnızca yaw eksenini kullanır; yürürken sürekli yalpalayan dört bacaklı bir robotta pitch ve roll ihmal edilince mesafeyle büyüyen bir hata oluşur. İkincisi, kameranın robot gövdesine göre montaj ofseti hesaba katılmaz, yani kamera tam robot merkezindeymiş gibi davranılır. Üçüncüsü, dönüşüm ROS 2'nin tf2 kütüphanesiyle değil elle trigonometriyle yapılır, dolayısıyla "map" çerçevesi bir TF ağacından türetilmez, sadece etiket olarak iliştirilir. Ciddi bir kurulumda bu üçü de düzeltilmelidir.

Örnek çıktıda neden 4 onaylı yer imine karşılık 91 aday var?

Bu sayı tam olarak yukarıdaki sınırların sahadaki karşılığıdır. Odometri kayması ve yalnızca yaw kullanan dönüşüm birleşince, aynı fiziksel priz robot farklı açılardan baktığında farklı koordinatlara düşer; 25 santimetrelik yarıçap bu sapmayı yakalayamaz ve tek nesne onlarca ayrı adaya bölünür. Çözüm yolu bellidir: tam 6 serbestlik dereceli dönüşüm, tf2 ile statik kamera montaj çerçevesi, Go2'nin 4D LiDAR'ıyla döngü kapatma ve gerekirse kümeleme yarıçapının gözlem belirsizliğine göre uyarlanması.

Priz dışında ne işe yarar, gerçek bir saha senaryosu var mı?

Priz burada sadece kolay doğrulanabilir bir hedef. Aynı boru hattı, komut metnini değiştirerek vana, manometre, yangın tüpü, acil durum butonu, saha etiketi veya elektrik panosu envanteri çıkarmak için çalışır. Tipik kullanım: yeni devralınan bir tesiste varlık envanterinin robot gezerek koordinatlı biçimde çıkarılması, ya da periyodik denetimlerde "geçen ay buradaki tüp bu ay yok" farkının otomatik yakalanması. Robotlar.org olarak bu tür saha projelerini Go2 EDU üzerinde kuruyoruz.

Tesisinizin Varlık Envanterini
Robot Çıkarsın.

Hedef nesneyi siz söyleyin, koordinatlı envanteri robot getirsin. Go2 EDU tedariki, derinlik kamerası entegrasyonu ve saha kurulumu için teknik ekibimizle konuşun.