Uzmanlık · Robot sistemleri
Robotlar için yazılım: hareketi karar veren katman, görme modülü ve işitme modülü. Bugün çevrimdışı doğrulama ve simülasyon var — gerçek bir motoru komuta eden hiçbir şey yok.
Kinematik, yol doğrulama ve tekrarlanabilir fizik simülasyonu yazıyoruz; kanıt eksik olduğunda blokaj yapan gate’lerle birlikte. Görme için sabit kamerada bir prototipimiz var, robot üzerinde değil. Robot üzerinde ses için hiçbir şey inşa etmedik ve sayfa bunu telefon hizmetlerinden kanıt ödünç almak yerine söylüyor. ROS ile çalışmıyoruz.
Teklif, koşullarıylaBugün çalıştırılabilen her şeyi çalıştırdım. Kontrol katmanı var ve ciddi, ama offline: altı eksenli bir kol için kendi kinematik modülü, 8.400 yörünge noktasının 8.400’ünü çözdü; ayrıca MuJoCo 3.10.0 üzerinde 34 test geçen bir fizik doğrulayıcı ve görselleştirme tarafında 14 test. İkisi de kendi kaynaklarında donanıma aktarım olmadığını ve gerçek bir robotu komuta edemeyeceklerini beyan ediyor. Görünürde, sabit IP kamerada kişi tespiti ve takibi yapan kendi prototipimiz var — tek commit ile ve boş test diziniyle. Robot üzerindeki ses tarafında sıfır var: disktekilerin hepsi çağrı merkezi sesi ya da üçüncü taraf telefon kütüphanesi, ve tek kendi akustik çalışma, uygulamada yazılı negatif bir sonuçla bitti. ROS: kurulu sıfır, yazılmış sıfır. Kural, “yaptık” demek için en az iki kendi uygulamamızı ister; kontrolde bunlar bende var, ama hiçbiri donanıma ulaşmıyor ve hizmetin diğer iki katmanı eşik altında. Yani: sınırları çizilmiş, koşullu bir teklif.
Bir robotun yazılımında farklı şekilde bozulan üç katman vardır: ne gördüğü ve duyduğu, neye karar verdiği ve motorlara ne gönderdiği. İlk ikisinde çalışan testleri olan kendi çalışmalarımız var. Üçüncüde — donanıma köprü — hiçbir şeyimiz yok ve bu hizmetin sınırıdır, bir uygulama detayı değil. Kodlarımızdan ikisi bunu kendi başlıklarında, İngilizce olarak, tam da yanlış okunamasın diye söylüyor: kinematik modülünün donanıma taşıması yoktur ve gerçek bir robota komut veremez.
Hareket tarafında olan şey, hareketten önce doğrulamadır. Kendi bir modül, altı eksenli bir kol için ileri kinematik, Jacobian ve ters kinematik hesaplar, her eksen limitine göre zorunlu bir payla birlikte ve tam bir rotayı doğrulamak için kullanıldı: 8.400 istenen nokta, 8.400 çözülen, eksen başına maksimum hız katalog sınırının %8'inin altında kaldı. Ayrı olarak, bir fizik doğrulayıcı MuJoCo 3.10.0 üzerinde işlemci tarafında, 1 milisaniyelik hesaplama adımıyla, altı senaryoda, her biri iki kez ve aynı tohumla çalışır — ve iki çalıştırma aynı parmak izlerini verir. Determinizm bir iddia değil, kontrol toplamı karşılaştırmasıdır.
Görüş tarafında olanlar daha azdır ve ne kadar olduğunu dürüstçe söylemek gerekir. Kendi prototipimiz, IP kamera akışları üzerinde kişi tespiti ve takibi yapar; YOLO ailesinden küçük bir dedektör, çok nesneli bir izleyici, beş durum için duruş kestirimi ve kameranın pan-eğme-zoom kontrolü vardır. Tek bir commit ve boş bir test dizini vardır. Bunun ile bir robotun görüşü arasındaki fark ise gerçektir, biçimsel değildir: bir robot üzerindeki kamera onunla birlikte hareket eder, sahne yakındır, maruziyet her adımda değişir ve gecikme bütçesi farklıdır; çünkü görüntünün bir ekrana değil, bir hareket kararına ulaşması gerekir. Derinlik kamerası yok, kamera kalibrasyonu yok, görsel odometri yok.
Robotlar için ses tarafında inşa edilmiş hiçbir şeyimiz yok ve başka bir yerden kanıt ödünç almayacağız. Telefonculuk ve konuşmalı yardımcılar için gerçek ses çalışmaları var, ancak bir robot üzerindeki mikrofonun başka sorunları vardır: makinenin kendi gürültüsü, robot hareket ederken tam o anda devreye giren fanlar ve servomotorlar, sesin geldiği yön, odadaki yankı ve değişken mesafe. Sahip olduğumuz tek akustik çalışma, uygulamada yazıldığı gibi negatif bir sonuçla bitti ve onu olduğu gibi yayımlıyoruz — çünkü ölçülmüş negatif bir sonuç, bir vaatten daha faydalıdır.