- Shoggoth Mini, GPT-4o ve pekiştirmeli öğrenme kullanarak doğal ve etkileyici hareketler üreten yumuşak dokunaçlı bir robot
- Mevcut ev tipi robotlardan farklı olarak, insanlarla etkileşim sırasında iç durumunu veya niyetini ifade edebilecek şekilde tasarlandı
- Donanım tasarımından yazılıma, kamera algılama ve kontrol sistemine kadar tüm süreç ayrıntılı biçimde anlatılıyor
- 2D trackpad girdisi, 3D dokunaç kontrolüne sezgisel biçimde eşlenerek kullanılabilirlik artırıldı; modern bilgisayarlı görü ve RL teknikleriyle hareket hassasiyeti ve ifade gücü sağlandı
- Son bölümde robotun canlılık hissi, öngörülemezlik ile insan dostuluğu arasındaki denge ve gelecekteki genişleme fikirleri ele alınıyor
Giriş ve arka plan
- Son 1 yılda robotik alanı, büyük dil modelleri (LLM) çağıyla birleşerek hızla ilerledi
- π0.5, Tesla Optimus gibi örnekler dili kullanarak komutları anlayıp fiziksel eylem gerçekleştirse de, çoğu hâlâ işlevsel robot seviyesinde kalıyor
- İnsan-robot etkileşiminde doğallık ve iç durumun (niyet, dikkat, güven vb.) aktarımı için ifade gücünün (expressiveness) kilit unsur olduğu vurgulanıyor
- Pixar tarzı lamba (Apple ELEGNT) ve yalnızca basit hareketlerle tuhaf biçimde “canlı” hissettiren SpiRobs gibi örneklerden yola çıkılarak, kasten tasarlanan ifade ile tesadüfi canlılık hissi arasındaki farkla ilgileniliyor
- Bunu denemek için Shoggoth Mini geliştirilmeye başlanmış; tesadüfler ve deneyler üzerinden ilerleyen tasarım süreci ile çıkarımlar paylaşılıyor
Donanım
- Test düzeneğinin ilk sürümü, 3 motor, dokunaçları sabitleyecek bir plaka ve kubbe biçimli bir kapaktan oluşan basit bir yapıyla başladı
- 3D baskı sırasında filamentin yetmemesi nedeniyle kubbenin bir kısmının rengi değişti; bu da üzerinde göz ve ağız bulunan bir yüz görünümü oluşturdu. ChatGPT ile görsel taslaklar denenerek form netleştirildi
- Kubbenin üzerine dokunaç takibi için stereo kamera yerleştirildi; robot gözlerinin “tahmin hatası” etkisi bakışı odakta tutan bir sonuç üretti
- Açık spool tasarımında kabloların kolayca çıkıp dolaşması sorundu; buna basit bir spool kapağı eklenerek problem çözüldü ve yinelemeli deneylerin hızı artırıldı
- Kalibrasyon betiği ve ek yedek tel uzunluğu sayesinde bakım ile motor gerginliği ayarı hızlandı
- Dokunaç sarkmasını en aza indirmek için omurga (spine) uygun kalınlığa getirildi
- Hem CAD montaj çizimleri hem de 3D baskı için STL dosyaları GitHub deposunda açıklandı
Manuel kontrol
- İlk aşamada trackpad ile 2D kontrol üzerinden dokunaçların sezgisel şekilde hareket ettirilmesi için 3 tendonun uzunluk kontrolü iki boyutlu kontrole indirgenmiş
- Her tendon, 2D düzlem üzerinde bir ana yöne sahip; imleç yön vektörü her eksene yansıtılarak gerekli gerginlik kadar uzunluk değişimi hesaplanıyor
- Pozitif değer tendonun kısalması, negatif değer ise uzaması anlamına geliyor
- Bu 2D→3D dönüşüm yöntemi, otomatik kontrolde de (ör. pekiştirmeli öğrenme) temel bir projection layer olarak yeniden kullanılıyor
- Kontrol aralığı sınırlı olsa da sezgisel kullanım sağlanıyor; başın tepkiselliği ve kullanıcı deneyimi belirgin biçimde iyileşiyor
Sistem tasarımı
- İki katmanlı bir kontrol yapısı var:
- Alt seviyede open-loop politikalar (ör.
<yes>, <shake>) ve closed-loop RL politikaları (ör. parmak takibi) çalışıyor; dokunaç ucu/el konumu takibi stereo görmeye dayalı bir boru hattı tarafından yürütülüyor
- Üst seviyede GPT-4o, gerçek zamanlı ses/metin girdisini işliyor (görüş desteği henüz yayımlanmadı); video olayları (ör. el sallama) metin ipuçları olarak GPT-4o’ya aktarılıyor ve API çağrısına karar veriliyor
- Büyük model tabanlı doğrudan uçtan uca vision-language-action (VLA) bütünleşmesi yerine, özel görme modülleri ve hafif tekil denetleyicilerden oluşan kademeli bir yapı tercih edilmiş
- RL gözlem aralığının ayarlanması, doğal homing hareketleri ve API çağrıları arasında idle (nefes alma modu) kullanımıyla robotun “canlı” hissi güçlendiriliyor
- VLA’nın pratik sınırlamaları (ör. zaman düzeltme sorunları) nedeniyle prompt engineering önemli bir unsur hâline geliyor
Algı ve perception
- El takibi için MediaPipe, dokunaç ucu takibi için ise özel veri kümesi ve YOLO modeli birlikte kullanılıyor
- k-means kümeleme, Roboflow’un otomatik etiketleme/active learning araçları ve Segment Anything ile veri kümesi zenginleştirilip hassas etiketleme yapılıyor
- Eğitim Ultralytics YOLO ile gerçekleştiriliyor; DeepLabCut notebook’u ile kamera iç/dış parametreleri tahmin edilip 3D üçgenleme uygulanıyor
- Gerçek zamanlı 3D el-dokunaç konum takibi sayesinde sağlam bir closed-loop kontrol elde ediliyor
Düşük seviye kontrol API’si
- Yumuşak robotlarda, rijit cisimlerden farklı olarak ters kinematik iyi çalışmadığı için 2D control projection yaklaşımı tutarlı biçimde uygulanıyor
- Omurganın kalınlaştırılmasıyla oturumlar arasında hareketlerin yeniden üretilebilirliği de sağlanıyor
- Nesne kavrama gibi deneyler üzerinden, yumuşak robotlara özgü mekanik dayanıklılık keşfediliyor; robot, tuttuğu nesnenin şekil ve ağırlık çeşitliliğini tolere edebiliyor
- Yüksek frekanslı ince manipülasyon zor olsa da, temel hareketler yalnızca mekanik tasarımla bile beklenenden daha kararlı
Pekiştirmeli öğrenme (RL)
- Kullanıcının parmağını takip etme gibi basit politikalardan başlayarak RL uygulanmış; MuJoCo simülatöründe dinamik rastgeleleştirme (PPO, MLP, frame stacking, kütle/sürtünme/sönüm rastgeleleştirmesi) ile sim-to-real geçişi iyileştirilmiş
- Başlangıçta tendon uzunluklarının kendisi eylem uzayı olarak kullanılmış, ancak bu reward hacking’e ve gerçek sisteme aktarmada başarısızlığa yol açmış
- Eylemler 2D projection yöntemiyle sınırlandırılarak gerçekçi olmayan hareketler (karışıklık, titreşim vb.) bastırılmış; curriculum learning ile daha yüksek boyutlara kademeli genişleme olasılığı da sunulmuş
- Ani eylem değişimlerinden kaynaklanan jitter’ı azaltmak için reward’a ceza terimi eklenmiş ve EMA ile eylemler yumuşatılmış
Sonuç ve gelecekteki yönler
- Başta hissedilen öngörülemezlik ve yoruma açıklık, “canlılık” (aliveness) hissi yaratıyordu; ancak analiz ve içselleştirme arttıkça bu geri bildirimin tazeliği giderek azaldı
- İfade gücü (niyet aktarımı) ile canlılık hissinin (öngörülemezlik) dengesi, robot-insan etkileşiminde belirleyici unsur olarak öne çıkıyor
- Gelecekteki genişleme fikirleri:
- İnsan dışı bir ses verilmesi
- 2D kısıtın kaldırılması
- RLHF vb. ile ifade hareketlerinin çeşitlendirilmesi
- Ek dokunaçlar ve kendi kendine hareket kabiliyeti
- Direct-drive motor kullanımıyla gürültünün azaltılması
- Kaynak kodu ve dosyalar GitHub deposunda sunuluyor; iş birliği ve tartışma memnuniyetle karşılanıyor
1 yorum
Hacker News görüşleri
Teknoloji ile insan psikolojisinin ilginç bir kesişimi gibi hissettirdi; robot ilk başta çok canlı görünüyordu ama kullandıkça hareketlerini tahmin etmek kolaylaştığı için giderek daha az canlı hissettirdi. “İfade gücü” iç durumu aktarmakla ilgiliyken, “canlılık” öngörülemezlikten ve belli bir ölçüde opaklıktan doğuyor; çünkü gerçekten canlı sistemler karmaşık ve çok sayıda değişkeni takip ediyor. Shoggoth Mini o seviyede değil. Gerçekten canlı gibi hissettiren robotlar mı istediğimizi, yoksa fazla öngörülemez olup insanların yanında tutulmasını rahatsız edici hale getirecek bir sınır olup olmadığını merak ediyorum.
Bana Furby'yi hatırlattı; benzer biçim ve boyut, iki göz ve hareketli kulaklar yüzünden. Başta şaşırtıcı geliyor ama biraz kurcalayınca çok basit uyaranlar ile iç durum kombinasyonlarına göre sınırlı hareketler gösterdiğini fark ediyorsunuz. Birçok kişi şaka yollu “İnsanlar da böyle değil mi?” der ama pratikte tekrar eden kalıpları çok çabuk fark ediyoruz.
Bir oyun sisteminin kurallarını anladığınızda artık eğlenememenize benziyor. Yalnızca kuralların uygulanmasıyla karmaşık görünse bile, sonucun önceden belirlenmiş olduğu hissi geliyor. O büyülü eğlence kayboluyor.
İnsanlar ateşe, akan suya, 18. yüzyıl otomatlarına, ilkel chatbot'lara, ChatGPT'ye ve hatta türlü makinelere bile insani özellikler ve özerklik atfetti. Makine bazen “ruh hali” varmış gibi bile görünebiliyor.
Sesli asistanlar ve yapay dillerle ilgili bir deneyim paylaşıyorum: sesli asistanı İngiliz aksanına ayarlıyorum; yeterince yabancı hissettirdiği için çok daha güvenilir geliyor. Bir Britanyalı için öyle olmayabilir ama ben böyle hissediyorum. Geçmişte oyun geliştirmede çalışırken NPC diyaloglarını dinamik üretmeyi denemiştim ama bunu İngilizcede gerçekçi kılmak çok zordu. Sonunda NPC'lerin kurgusal bir dil konuşmasını sağladık ve oyuncunun o dili öğrenmesini gerektiren bulmaca unsurları eklediğimizde karakterler çok daha gerçekçi hissettirdi. Aslında çeviriye enerji harcadığınız için bunun yapay bir dil olduğunu bir anlığına unutuyor, böylece “uncanny valley”den kaçmış oluyorsunuz. Yine de oyuna alışıp dilde ustalaşınca bunun manipüle edilmiş yapay bir sistem olduğunu sonunda fark edip etmeyeceğinizi şimdi merak ediyorum.
“Aa, tereddüt etti”den çok, her soruda hep benzer bir tereddüt hissediliyor. GPT'nin yanıt üretme gecikmesi oldukça göze batıyor; canlı haber bağlantısındaki gecikmeden bile daha rahatsız edici. Gözlerine LED benzeri bir şey ekleyip çalıştığını göstermek biraz yardımcı olur mu diye düşündüm. GPT'ye sorgu gönderildiğinde gecikme kaçınılmaz, özellikle de istek buluta gidiyorsa. GPT-4o'nun ses akışının tamamını sürekli dinleyecek şekilde ayarlanmasının sorun çıkarabileceğini düşünüyorum.
Böyle basit bir görev için Qwen 0.6B gibi küçük bir LLM yeterli olur diye düşünüyorum. Büyük modelin zero-shot performansını kullanarak kendi veri kümenizi oluşturup çok daha hızlı ayrı bir model eğitmenin bir yolu var.
GPT-4o'nun sesi sürekli dinlemesi kısmı için wake word kütüphaneleri (ör. openWakeWord, porcupine) kullanılabilir diye düşünüyorum. Kullanıcı belirli bir çağrı sözcüğüyle sistemi uyandırıp sonra prompt gönderebilirse güvenlik ve gizlilik sorunları da azalır. Normalde “uyuyor” animasyonu gösterip çağrıldığında uyanıp tepki vermesini sağlayabilirsiniz. Bununla ilgili açık kaynak bağlantıları da paylaşılmış: openWakeWord porcupine
GPT yanıt verirken olan gecikmenin rahatsız edici olduğu görüşüne katılmıyorum. Dokunaç durup hemen dikildiğinde, sanki dikkatle dinleyip düşünüyormuş gibi bir izlenim veriyor; bence bu onu daha da sevimli yapıyor.
Johnny 5 gibi kaşlara ihtiyacı olduğunu düşünüyorum Johnny 5 örnek videosu
Prototip aşamasından sonra küçük optimize edilmiş bir modeli doğrudan yerel cihaza koyabilirsiniz diye düşünüyorum. Bu şekilde çok daha hızlı, daha güvenli olur ve nihai ürüne daha uygun hale gelir (gerçi prototipte esneklik azalır).
Bu fikre ilham veren SpiRobs'un harika videosu paylaşılmış SpiRobs YouTube videosu
Tasarım çok sevimli. Geçen yıl dokunaç (tentacle) robotları araştırırken resmî terimin “continuum robots” olduğunu öğrenmiştim; özellikle tıbbi robotik alanında çok araştırılıyor. Daha fazlasını öğrenmek isterseniz iyi bir giriş dersi var ilgili ders videosu
Gerçekten harika bir proje olduğunu düşünüyorum. Yapay zeka yeteneklerinin bu kadar arttığı ve robotiğin geliştiği bugünlerde neden hep insan biçimi yaptığımıza üzülüyorum. Evde örümcek-kalamar hibriti gibi tuhaf biçimli robotların ortaya çıkmasını isterdim.
Yapay zeka güvenliği üzerine bu kadar tartışma varken ben evin içinde dolaşan örümcek-kalamar hibriti bir robot istiyorum.
Robotik sistemleri insan merkezli dünyayla en uyumlu olacak şekilde yapma eğilimi var. Ama bacak biçimini değiştirip çeşitli seçenekler denemek de kesinlikle ilginç olurdu.
Asla olmaz, bununla ilgili filmler izledim; yüz sarıcı bir canlının masamın üstünde oturmasını kesinlikle istemem.
Hentai hayranları bunu memnuniyetle karşılayabilir.
Eğer dokunaçlar daha uzun olsa ve iş arkadaşlarına şaka yapacak şekilde programlansa aslında eğlenceli bile olabilirdi.
Lovecraft göndermesini beğendim; küçük bir model de yeterli olmaz mı diye merak ediyorum.
Shoggoth mem'i için faydalı olabilecek bağlantılar paylaşılmış Shoggoth With Smiley Face Meme NYT Shoggoth Meme yazısı
Ben de benzer düşünüyorum; aslında daha da basitleştirilebilir gibi geliyor. Geliştiricinin, “uçtan uca bir VLA modeli eğitmeyi düşündüm ama kablo tahrikli yumuşak robotlarda aynı uç konumu için birden fazla kablo uzunluğu kombinasyonu olabildiğinden öngörülemezlik artıyor, bu yüzden gösterim tabanlı öğrenme iyi ölçeklenmiyor” dediğini; sonunda uzmanlaşmış görünün hafif bir denetleyiciye girdi olduğu kademeli bir tasarıma geçtiğini aktarıyor. Yine de küçük modellerle yeniden denenirse çok havalı olurdu; yerel bir model eklenecekse pentagramın içinde tutmak daha güven verirdi diye de şaka yapıyor.
Japonya'dan yeterince medya tükettim; bunun nereye gideceğini tahmin edebiliyorum.
Fikir olarak inanılmaz havalı; sözsüz ve insan olmayan bir varlığa ifade gücü kazandırma girişimi çok çekici geliyor.
Gerçekten çok güzel bir çalışma olduğunu düşünüyorum. Bu robotun doğadaki herhangi bir canlıya benzemeyecek şekilde tasarlanmış olması özellikle etkileyici. Robotik ile gerçeklik arasındaki sınırın bulanıklaştığı bir gelecek istemiyorum; şu ana kadar insansı robotlar bile hâlâ yapay görünüyor, umarım bu eğilim sürer.