- Shoggoth Mini adalah robot tentakel lunak yang memanfaatkan GPT-4o dan pembelajaran penguatan untuk menghadirkan gerakan yang alami dan ekspresif
- Berbeda dari robot rumah tangga konvensional, robot ini dirancang agar dapat mengekspresikan keadaan internal atau niat saat berinteraksi dengan manusia
- Mulai dari desain perangkat keras hingga perangkat lunak, termasuk sistem pengenalan dan kontrol berbasis kamera, seluruh proses dijelaskan secara rinci
- Dengan memetakan input trackpad 2D secara intuitif ke kontrol tentakel 3D, kegunaan ditingkatkan; perpaduan computer vision modern dan teknologi RL juga memastikan presisi gerak dan daya ekspresi
- Pada bagian penutup, dibahas keseimbangan antara kesan hidup robot, ketidakpastian, dan keramahan terhadap manusia, serta ide pengembangan ke depan
Pendahuluan dan latar belakang
- Dalam setahun terakhir, bidang robotika berkembang pesat seiring berpadu dengan era large language model (LLM)
- Contohnya, π0.5 dan Tesla Optimus dapat memahami perintah dalam bahasa dan menjalankan aksi nyata, tetapi sebagian besar masih berada pada level robot fungsional
- Ditekankan bahwa ekspresivitas (expressiveness) adalah kunci untuk membuat interaksi manusia-robot terasa alami dan untuk menyampaikan keadaan internal (niat, perhatian, keyakinan, dan sebagainya)
- Terinspirasi dari lampu bergaya Pixar (Apple ELEGNT) dan SpiRobs yang memberi kesan anehnya ‘hidup’ hanya lewat gerakan sederhana, penulis menaruh minat pada perbedaan antara ekspresi yang dirancang secara sengaja dan kesan hidup yang muncul secara kebetulan
- Untuk mengujinya, pembuatan Shoggoth Mini dimulai, sambil membagikan proses desain serta wawasan yang diperoleh melalui eksperimen dan kebetulan
Perangkat keras
- Versi pertama testbed dimulai dari struktur sederhana berupa 3 motor, papan untuk menahan tentakel, dan penutup berbentuk kubah
- Saat mencetak 3D, filamen habis sehingga sebagian warna kubah berbeda; dari situ lahir bentuk wajah dengan bola dan mulut, lalu bentuk final dipastikan setelah mengeksplorasi konsep visual dengan ChatGPT
- Kamera stereo dipasang pada kubah untuk melacak tentakel, dan ‘kesalahan prediksi’ pada mata robot justru menimbulkan efek yang menarik perhatian pandangan
- Desain spool terbuka memiliki kelemahan karena kabel mudah lepas dan kusut, sehingga masalah diatasi dengan menambahkan penutup spool sederhana dan kecepatan eksperimen berulang pun meningkat
- Skrip kalibrasi dan tambahan panjang kawat cadangan memungkinkan perawatan serta penyesuaian tegangan motor dilakukan dengan cepat
- Untuk meminimalkan gejala tentakel melendut, tulang belakang (spine) disetel menjadi cukup tebal
- Diagram perakitan CAD dan file STL untuk pencetakan 3D semuanya dibuka di repositori GitHub
Kontrol manual
- Pada tahap awal, digunakan trackpad agar tentakel bisa digerakkan secara intuitif melalui manipulasi 2D, dengan menyederhanakan kontrol panjang 3 tendon menjadi kontrol dua dimensi
- Setiap tendon memiliki arah utama pada bidang 2D, lalu vektor arah kursor diproyeksikan ke masing-masing sumbu untuk menghitung perubahan panjang sesuai tegangan yang dibutuhkan
- Nilai positif berarti tendon dipendekkan, nilai negatif berarti diperpanjang
- Metode transformasi 2D→3D ini juga digunakan kembali sebagai projection layer acuan dalam kontrol otomatis seperti pembelajaran penguatan
- Meski rentang kendalinya terbatas, kontrolnya intuitif dan sangat meningkatkan responsivitas serta pengalaman pengguna
Desain sistem
- Struktur kontrol hierarkis dua lapis:
- Pada level rendah, robot bergerak melalui kebijakan open-loop (misalnya
<yes>, <shake>) dan kebijakan RL closed-loop (misalnya pelacakan jari); pelacakan ujung tentakel/posisi tangan ditangani oleh pipeline berbasis stereo vision
- Pada level tinggi, GPT-4o memproses suara/teks secara real-time (visi belum dirilis), dan event video seperti lambaian tangan dikirim ke GPT-4o sebagai cue teks untuk memutuskan pemanggilan API
- Alih-alih integrasi vision-language-action (VLA) end-to-end langsung berbasis model besar, sistem dirancang sebagai struktur bertingkat dengan visi khusus dan controller individual yang ringan
- Pengaturan cakupan observasi RL, gerakan homing yang alami, dan mode idle (mode bernapas) di antara pemanggilan API memperkuat kesan robot yang ‘hidup’
- Karena keterbatasan praktis VLA (misalnya masalah koreksi waktu), prompt engineering menjadi elemen penting
Persepsi
- Menggabungkan MediaPipe untuk pelacakan tangan, serta dataset kustom dan model YOLO untuk pelacakan ujung tentakel
- k-means clustering, auto-labeling/active learning dari Roboflow, dan Segment Anything digunakan untuk memperkaya dataset serta melakukan pelabelan presisi
- Pelatihan dilakukan dengan Ultralytics YOLO, sedangkan notebook DeepLabCut digunakan untuk memperkirakan parameter internal/eksternal kamera dan mengimplementasikan triangulasi 3D
- Pelacakan posisi tangan-tentakel 3D secara real-time mewujudkan kontrol closed-loop yang andal
API kontrol level rendah
- Karena pada robot lunak inverse kinematics tidak bekerja sebaik pada benda kaku, pendekatan 2D control projection diterapkan secara konsisten
- Dengan menebalkan spine, reproduksibilitas gerakan antar sesi juga dapat dipastikan
- Melalui eksperimen seperti gerakan mengambil objek (grasp), ditemukan ketangguhan mekanis khas robot lunak, yaitu kemampuannya menyerap variasi bentuk/berat objek yang dipegang
- Manipulasi halus berfrekuensi tinggi memang sulit, tetapi kontrol dasarnya ternyata cukup stabil hanya dari desain mekanis saja
Pembelajaran penguatan (RL)
- RL diterapkan mulai dari kebijakan sederhana seperti pelacakan jari pengguna; di simulator MuJoCo, transfer sim-to-real ditingkatkan lewat domain randomization dinamis (PPO, MLP, frame stacking, randomisasi massa/gesekan/redaman)
- Pada awalnya panjang tendon itu sendiri digunakan sebagai action space, tetapi memicu reward hacking dan gagal saat dipindahkan ke dunia nyata
- Dengan membatasi aksi lewat metode projection 2D, gerakan tak realistis (kebingungan, getaran, dan sebagainya) ditekan, sekaligus membuka kemungkinan perluasan bertahap ke dimensi lebih tinggi melalui curriculum learning
- Untuk mengatasi jitter akibat perubahan aksi yang tajam, ditambahkan komponen penalti pada reward dan dilakukan penghalusan aksi dengan EMA
Kesimpulan dan arah masa depan
- Pada awalnya, ketidakpastian dan ruang untuk interpretasi memberi kesan ‘hidup’ (aliveness), tetapi ketika analisis dan internalisasi makin berkembang, kesegaran umpan balik itu perlahan memudar
- Ditekankan bahwa keseimbangan antara ekspresivitas (penyampaian niat) dan kesan hidup (ketidakpastian) sangat menentukan dalam interaksi robot-manusia
- Ide pengembangan ke depan:
- Memberikan suara yang nonmanusia
- Melepaskan batasan 2D
- Memperluas variasi gerak ekspresif dengan RLHF dan sejenisnya
- Menambah tentakel dan mewujudkan pergerakan mandiri
- Mengadopsi motor direct-drive untuk mengurangi kebisingan
- Source code dan file tersedia di repositori GitHub, dan kolaborasi serta diskusi sangat disambut
1 komentar
Pendapat Hacker News
Terasa seperti pertemuan yang menarik antara teknologi dan psikologi manusia; pada awalnya robot ini terasa sangat hidup, tetapi setelah dipakai beberapa saat dan gerakannya jadi mudah diprediksi, kesannya perlahan menjadi kurang hidup. ‘Daya ekspresi’ berkaitan dengan penyampaian keadaan internal, tetapi ‘rasa hidup’ muncul dari ketidakpastian dan tingkat opasitas tertentu, karena sistem yang benar-benar hidup melacak variabel yang kompleks dan beragam. Shoggoth Mini belum sampai ke tingkat itu. Jadi penasaran apakah kita benar-benar menginginkan robot yang terasa seperti makhluk hidup, atau justru ada batas ketika ia menjadi terlalu tak terduga sehingga tidak nyaman berada di dekat manusia.
Jadi teringat Furby, karena bentuk dan ukurannya mirip, dengan dua mata dan telinga yang bergerak. Awalnya memang menarik, tetapi setelah sedikit dimainkan, terlihat bahwa ia hanya menunjukkan gerakan terbatas berdasarkan kombinasi rangsangan sederhana dan keadaan internal. Banyak orang bercanda, “Bukannya manusia juga sama saja?”, tetapi pola berulangnya sebenarnya cepat sekali terlihat.
Mirip seperti ketika kita sudah memahami aturan dalam sebuah sistem game lalu tidak lagi merasa seru. Meski tampak kompleks hanya dari penerapan aturan, hasilnya tetap terasa sudah ditentukan. Sihir keseruannya pun hilang.
Manusia telah memberikan antropomorfisme dan otonomi pada api, air yang mengalir, automata abad ke-18, chatbot primitif, ChatGPT—bahkan pada berbagai mesin. Kadang mesin bahkan tampak seolah punya ‘mood’ juga.
Berbagi pengalaman terkait asisten suara dan bahasa buatan. Asisten suara disetel ke aksen Inggris, dan karena terasa cukup asing, justru terasa jauh lebih bisa dipercaya. Mungkin tidak begitu bagi orang Inggris, tetapi begitulah rasanya. Dulu saat terlibat dalam pengembangan game, pernah mencoba membuat dialog NPC secara dinamis, tetapi sangat sulit membuatnya terasa realistis dalam bahasa Inggris. Pada akhirnya NPC dibuat berbicara dalam bahasa fiksi, lalu ditambahkan unsur teka-teki agar pemain mempelajari bahasa itu, dan hasilnya karakter justru terasa jauh lebih nyata. Sebenarnya karena energi pemain tercurah ke proses menerjemahkan, mereka sesaat lupa bahwa itu bahasa buatan, sehingga semacam menghindari ‘uncanny valley’. Namun sekarang jadi penasaran apakah, setelah terbiasa dengan game-nya dan makin mahir dengan bahasanya, pemain pada akhirnya tetap akan menyadari bahwa itu adalah sistem buatan yang direkayasa.
Daripada terdengar seperti “ah, dia ragu”, rasanya justru ada jeda ragu yang mirip pada pertanyaan apa pun. Delay saat GPT menghasilkan respons cukup mengganggu, bahkan terasa lebih tidak nyaman daripada jeda sambungan pada siaran berita langsung. Mungkin akan lebih baik jika dipasang semacam LED di matanya untuk menandakan bahwa ia sedang bekerja. Jika pertanyaan harus diteruskan ke GPT, jeda memang tidak terhindarkan, apalagi jika permintaan dikirim ke cloud. Juga ada kekhawatiran bahwa pengaturan GPT-4o yang selalu mendengarkan seluruh aliran audio berpotensi bermasalah.
Untuk tugas sesederhana ini, model LLM kecil seperti Qwen 0.6B seharusnya sudah cukup. Ada kemungkinan memakai performa zero-shot model besar untuk membuat dataset sendiri, lalu melatih model terpisah yang jauh lebih cepat.
Soal GPT-4o yang terus mendengarkan audio, itu bisa diatasi dengan library wake word seperti openWakeWord atau porcupine. Pengguna bisa membangunkannya dengan kata pemicu tertentu sebelum prompt dikirim, sehingga isu keamanan dan privasi juga berkurang. Dalam keadaan normal ia bisa menampilkan animasi ‘tidur’, lalu bangun dan merespons saat dipanggil. Terkait ini, dibagikan tautan open source openWakeWord porcupine
Tidak setuju dengan pendapat bahwa delay saat GPT merespons itu mengganggu. Saat tentakelnya berhenti lalu langsung tegak, kesannya justru seperti sedang fokus mendengarkan dan berpikir, jadi malah terasa lucu.
Rasanya ia butuh alis seperti Johnny 5 contoh video Johnny 5
Setelah melewati tahap prototipe, menurut saya model optimisasi kecil juga bisa langsung dipasang di perangkat lokal. Dengan begitu akan jauh lebih cepat, lebih aman, dan lebih cocok untuk produk akhir (meski pada prototipe fleksibilitasnya memang berkurang).
Dibagikan video keren dari SpiRobs yang menjadi inspirasi ide ini video YouTube SpiRobs
Desainnya terlalu imut. Saat meneliti robot tentakel tahun lalu, saya baru tahu bahwa istilah resminya adalah “continuum robots”, dan banyak riset dilakukan terutama di bidang robotika medis. Jika ingin tahu lebih jauh, ada kuliah pengantar yang bagus untuk dijadikan referensi video kuliah terkait
Menurut saya ini proyek yang benar-benar keren. Di zaman ketika kemampuan AI sudah sebanyak ini dan robotika juga makin maju, rasanya sayang kalau yang dibuat selalu bentuk manusia. Saya ingin melihat robot dengan bentuk unik seperti hibrida laba-laba-cumi muncul di rumah.
Perdebatan tentang keamanan AI memang ramai, tetapi saya justru ingin robot hibrida laba-laba-cumi berkeliaran di dalam rumah.
Ada kecenderungan membuat robotika yang paling kompatibel dengan dunia yang ditata untuk manusia. Tetapi mengubah bentuk kaki dan mencoba berbagai opsi lain juga sepertinya cukup menarik.
Sama sekali tidak boleh, saya sudah menonton film-film seperti itu. Saya benar-benar tidak ingin ada facehugger duduk di atas meja saya.
Penggemar hentai mungkin justru akan menyambutnya.
Kalau tentakelnya lebih panjang dan ada program untuk mengerjai tiap rekan, malah bisa jadi lucu juga.
Saya suka referensi Lovecraft itu. Jadi penasaran apakah model kecil sebenarnya sudah cukup.
Dibagikan tautan referensi tentang meme Shoggoth Shoggoth With Smiley Face Meme artikel NYT tentang meme Shoggoth
Saya juga sependapat. Sebenarnya ini mungkin bisa dibuat lebih sederhana. Mengutip penjelasan pengembang bahwa mereka sempat mempertimbangkan melatih model VLA end-to-end, tetapi karena robot lunak yang digerakkan kabel memiliki banyak kombinasi panjang kabel untuk posisi ujung yang sama, ketidakpastiannya menjadi tinggi sehingga pembelajaran berbasis demonstrasi tidak dapat diskalakan dengan baik. Akhirnya mereka memilih desain bertingkat, dengan visi khusus sebagai input ke pengendali ringan. Meski begitu, akan sangat keren jika mencoba lagi dengan model kecil, dan kalau memakai model lokal, rasanya lebih aman kalau diletakkan di dalam pentagram.
Saya sudah cukup banyak menonton media dari Jepang untuk bisa menebak ke arah mana ini akan berkembang.
Gagasannya sendiri sangat keren. Saya tertarik pada upaya menambahkan daya ekspresi pada entitas nonverbal dan nonhumanoid.
Menurut saya ini karya yang benar-benar indah. Saya sangat terkesan karena robot ini dirancang agar tidak menyerupai makhluk hidup mana pun di alam. Saya tidak menginginkan masa depan di mana batas antara robotika dan kenyataan menjadi kabur. Sampai sekarang bahkan robot humanoid pun masih tampak artifisial, dan saya berharap tren itu terus berlanjut.