AI Tools9 menit baca

Bisakah AI mengubah tangan Anda menjadi pengendali perangkat nyata?

ControlAnything menulis konektor ketika pengguna meminta gestur baru dalam realitas campuran. Synthesizer, gimbal, dan satu sesi headset menunjukkan apa yang dapat dibuktikan prototipe ini.

K
Ken Jo

Bayangkan tangan Anda melayang di atas synthesizer dan Anda meminta headset memetakan tinggi jari ke frekuensi batas filter. Anda sudah tahu fungsi gesturnya. Bagian sulitnya adalah menghubungkan tangan yang bergerak dengan pengatur fisik, apalagi instrumennya memakai MIDI sementara headset hanya melihat sebuah kotak di meja.

ControlAnything, prototipe riset yang dijelaskan Bektur Ryskeldiev dalam pracetak 5 November 2026, mengerjakan sebagian integrasi saat diminta. Pengguna memilih sasaran dalam tampilan Meta Quest 3, memberi instruksi, lalu menunggu agen pada MacBook menulis konektor. Kontrol yang dihasilkan bisa berupa widget virtual, program pembaca gerakan tangan, atau keduanya. Proyek ini menyediakan kode dan demonstrasi, termasuk simulasi desktop.

Kontrol OP-1 Field yang dihasilkan dalam rekaman headset ControlAnything

Rekaman Quest 3 oleh penulis Bektur Ryskeldiev memperlihatkan kontrol OP-1 Field yang dihasilkan selama evaluasi. Telli.sh mengubah ukuran bingkai. Pracetak dan bingkai asli · Pemberitahuan MIT untuk video proyek

Headset bisa membuat kontrol baru untuk pekerjaan tertentu. Pertanyaan berikutnya adalah bagaimana sistem mengetahui apa yang benar-benar terjadi. Konfirmasi MIDI, pengatur virtual yang merespons, dan perubahan bunyi synthesizer merupakan tiga bukti yang berbeda.

Menunjuk perangkat memulai permintaan

Prototipe ini memadukan klien WebXR, server laptop, agen pemrograman, dan beberapa jalur untuk menjangkau perangkat. SAM 3.1 menggambar batas objek yang mungkin ada dalam tampilan headset. Gerakan mencubit mengubah salah satunya menjadi tag, dan Muse Spark dapat menduga identitas objek. Pracetak memperlakukan dugaan itu sebagai hipotesis yang dapat dibandingkan dengan nama port MIDI atau respons perangkat. Tag membantu pengguna menyebut sasaran. Port, jembatan peramban, atau eksekutor papan ketik memungkinkan laptop bertindak terhadapnya. Pracetak ControlAnything, bagian 3–4

Empat tahap memisahkan pemilihan sasaran, pembuatan konektor, pengiriman perintah, dan pengamatan efek

Dari sasaran yang dipilih hingga hasil yang terlihat atau terdengar. Ilustrasi asli Telli.sh.

Anggap tag sebagai label bagasi. Label memberi nama pada barang yang ingin dipindahkan, sementara rute dan tujuan masih perlu ditetapkan. Sesi 5 November memperjelas perbedaan ini. Semua permintaan diarahkan ke tag MacBook yang telah dibuat penulis. Jika sasaran yang dimaksud adalah synthesizer OP-1 Field atau gimbal DJI Osmo Mobile 4, penulis menyebutnya dalam permintaan. Sesi itu menunjukkan cara menghubungkan perangkat yang sudah dikenal oleh konfigurasi. Memilih synthesizer atau gimbal yang belum dikenal masih menjadi pertanyaan untuk percobaan lain.

Sistem juga memiliki informasi berguna sebelum gestur pertama. Proyek mendokumentasikan jalur MIDI, Bluetooth, dan penekanan tombol. Catatan yang disimpan agen sudah berisi nama port OP-1, nomor pengendali filter, dan instruksi menggerakkan gimbal sebelum sesi yang dilaporkan. Kamera dapat menunjukkan bahwa sesuatu tampak seperti synthesizer. Rincian sebelumnya memberi tahu program nilai apa yang dikirim, tujuannya, dan cara menjaganya dalam rentang yang diinginkan.

Model membangun kontrol sekali, program tangan menjalankannya berulang

Prototipe memisahkan pekerjaan berat membuat interaksi dari pekerjaan berulang menjalankannya. Permintaan lisan ditranskripsikan, agen menulis konektor, lalu server memeriksa apakah konektor berjalan dan setiap kontrol terikat ke tindakan yang dideklarasikan. Program tangan membaca sinyal dari sendi pada setiap bingkai lalu mengeluarkan nilai atau peristiwa. Model berjalan ketika penyiapan. Headset menjalankan program hasilnya saat Anda bergerak. Implementasi dalam pracetak

Perbedaan itu penting untuk kontrol berkelanjutan seperti suara atau pembingkaian kamera. Jika model bahasa harus menentukan setiap nilai baru, setiap bingkai memerlukan keputusan lambat lain. Program kecil bisa langsung memetakan tinggi tangan ke parameter, membatasi rentangnya, dan merespons peristiwa pelepasan. Untuk pemicu seperti memajukan video, program bisa meminta gestur yang disengaja lalu menunggu tangan kembali netral sebelum aktif lagi. Pemetaan itu adalah contoh kemungkinan desain, terpisah dari perilaku prototipe yang diukur.

Pracetak melaporkan median waktu penyiapan 32,5 detik pada sembilan permintaan yang mencapai status siap, dengan rentang 24,9 hingga 57,8 detik. Angka dihitung sejak server mulai menangani permintaan dan tidak mencakup transkripsi. Panggilan model menyumbang median 89,9% dari waktu penyiapan. Penulis juga menyatakan sesi itu tidak mengukur waktu dari gerakan tangan hingga respons perangkat. Hasil pracetak

Angka itu membantu menilai harga fleksibilitasnya. Setengah menit bisa diterima jika menggantikan pembuatan konektor yang biasanya memakan satu sore dan kemudian dipakai sepanjang latihan. Menunggu lebih sulit dibenarkan jika tugas selesai dalam lima detik dengan pengendali yang sudah ada. Peluangnya ada pada kontrol yang berguna berulang kali meski pengguna mengaturnya hanya sekali.

Hasilnya juga menunjukkan langkah lanjutan. Dua permintaan untuk interaksi simulasi air yang serupa memerlukan 31,6 dan 32,5 detik karena masing-masing menghasilkan konektor baru. Cache prompt melayani 91,7% token masukan pada sesi itu, tetapi konektor lama belum menjadi kontrol siap pakai. Menyimpan pemetaan yang sudah ditinjau dan memberi pengguna pilihan untuk memakainya kembali dapat menekan bagian biaya penyiapan yang berbeda. Pencatatan versi juga penting karena konektor itu memerlukan asumsi perangkat, akun, dan rentang yang sama seperti saat diuji.

Pengatur filter, gimbal, dan peramban memerlukan bukti berbeda

Sesi 5 November melibatkan satu pengguna headset, yaitu penulis, dan sepuluh permintaan pada lima sasaran. Sembilan mencapai status siap dan satu dihentikan pengguna. Percobaan ini bersifat teknis dan eksploratif. Permintaan disampaikan bebas, beberapa mengulang tujuan lama, dan sistem memakai konfigurasi dengan pengetahuan perangkat sebelumnya. Angka ini mencatat apa yang terjadi dalam sesi tersebut. Peluang pengguna baru menghubungkan perangkat yang tak dikenal membutuhkan pengukuran lain. Tabel dan metode pracetak

Contoh dalam sesiHasil kontrol yang dibuatBukti bahwa tindakan bekerja
Filter OP-1 FieldPermintaan pengatur filter menghasilkan dua kontrol melalui MIDIPerubahan keluaran instrumen, direkam dengan masukan terkontrol atau didengar manusia
DJI Osmo Mobile 4Program tangan dan empat kontrol menjangkau gimbal lewat jembatan BluetoothGerakan yang teramati atau pembacaan posisi terverifikasi dalam rentang yang dituju
Instagram Reels di ChromePermintaan gestur menghasilkan program tangan dan tiga kontrol lewat simulasi penekanan tombolTab atau item yang dimaksud berubah sementara jendela lain tetap utuh

Sistem dapat mencatat perintah yang diterima, sedangkan respons fisik perlu diamati secara terpisah

Konfirmasi pengiriman dan efek terukur menjawab dua pertanyaan berbeda. Ilustrasi asli Telli.sh.

Ambil contoh synthesizer. MIDI dapat membawa perintah filter yang valid ketika instrumen menggunakan konfigurasi bunyi yang merespons berbeda atau pengaturan penerimaan MIDI sedang mati. Pracetak menyebut kasus terdahulu ketika pesan telah diterima tetapi tetap tidak ada bunyi sampai penerimaan diaktifkan. Perubahan suara yang direkam dengan nada uji yang diketahui memberi lebih banyak informasi daripada salinan kedua pesan log.

Gimbal memberi pelajaran serupa. Jembatan mencatat 889 respons rotasi yang berhasil selama sesi, termasuk perintah berhenti dan melepas. Ini menunjukkan jalur pengiriman menerima perintah selama interaksi berkelanjutan. Log tidak berisi sudut yang andal. Pengujian lanjutan dapat menetapkan sasaran yang aman dan membandingkan sudut yang diminta dengan video atau tanda rujukan. Dengan begitu, akurasi, keterulangan, dan batas geraknya bisa diperiksa.

Kontrol papan ketik menambah masalah identitas. Penekanan tombol bisa berhasil di sistem operasi tetapi masuk ke jendela yang salah. Uji peramban perlu memeriksa tab aktif, memastikan konten yang diharapkan berubah, dan mengecek bahwa jendela lain tidak terpengaruh. Semakin abstrak antarmuka konektor, semakin berguna definisi yang jelas tentang kapan pekerjaan selesai.

Fungsi berhenti perlu bekerja sebelum gestur bisa dipercaya

Jalur penghentian ControlAnything terpisah dari model. Pengguna bisa menghentikan pembuatan, menghadapkan kedua telapak saat memakai kontrol, atau menggunakan menu pergelangan tangan. Host dapat menonaktifkan konektor dan mengirim perintah netral, misalnya menghentikan gimbal atau melepas status MIDI. Implementasi menjalankan program tangan headset dalam worker terbatas dan menguji perilakunya pada 480 bingkai sintetis sebelum digunakan. Tindakan dan rentang yang dapat dihasilkan juga dibatasi sesuai deklarasi. Keamanan dan penghentian dalam pracetak

Konektor laptop berada dalam kondisi berbeda. Pracetak menjelaskannya sebagai proses Node biasa dengan izin pengguna laptop dan menyebut proses yang dihasilkan belum ditempatkan dalam sandbox. SDK bisa membatasi perintah melalui jalur yang didukung, sementara konektor yang menjalankan kode umum masih memiliki kewenangan akun tersebut. Versi produksi yang andal perlu mengendalikan izin konektor pada tingkat sistem operasi dan membatasi akses ke perangkat yang dibutuhkan permintaan.

Bayangkan instalasi dengan dua alat bergerak. Tampilan yang hanya melabeli satu alat mungkin tampak aman, tetapi konektor masih bisa saja menemukan dan menggerakkan alat lain. Demo yang aman memakai konfigurasi dengan satu sasaran yang bisa dijangkau, yaitu yang sedang diuji. Fungsi berhenti diperiksa secara independen. Operator diberi ruang menjauh dan bisa melihat apa yang terjadi ketika pelacakan hilang atau perangkat terputus.

Perbedaan itu juga berlaku untuk kode yang membaca lingkungan. Prototipe menginstruksikan model agar memperlakukan teks dalam bingkai kamera atau respons alat sebagai data. Instruksi bisa mengarahkan perilaku, sedangkan izin proses dan jalur yang tersedia menentukan dampak kesalahan. Pembaca yang mencoba prototipe perlu memeriksa keduanya sebelum menghubungkan laptop ke perangkat nyata atau akun aktif.

Mulai dari sasaran simulasi dengan uji yang sengaja dibatasi

README proyek mendokumentasikan simulasi desktop dengan Node 22.12 atau lebih baru dan Chrome. Menurut proyek, tanpa kunci API server memutar ulang respons yang direkam dalam mode fixture yang ditandai jelas. Ini memberi cara memeriksa urutan dari sasaran yang ditandai hingga kontrol yang dihasilkan sebelum menambahkan headset, panggilan model, atau perangkat fisik. Batas pengujiannya juga jelas. Fixture memperlihatkan alur yang sudah diketahui. Evaluasi langsung dimulai ketika sasaran, gestur, atau respons model berubah. Petunjuk demonstrasi ControlAnything

  1. Baca petunjuk repositori dan jalankan simulasi dalam lingkungan sementara. Buka simulator dan emulator headset desktop, lalu tandai laptop simulasi yang menjalankan synthesizer virtual.
  2. Pilih permintaan pengatur yang disediakan dan pastikan indikator fixture terlihat. Catat bagaimana antarmuka menunjukkan sasaran dan kapan kontrol yang dihasilkan tersedia.
  3. Ubah pengatur virtual, konfirmasi perubahannya pada sasaran simulasi, dan uji fungsi berhenti yang didokumentasikan. Pisahkan pengamatan pada antarmuka dari isi log konektor.
  4. Untuk demo fisik berikutnya, pilih perangkat berisiko rendah dengan kontrol yang bisa dibalik. Catat hasil yang diharapkan sebelum mengirim perintah. Siapkan cara independen untuk melihat atau mendengar perubahan dan menghentikan perangkat.

Dalam lokakarya, mulai dengan synthesizer visual virtual. Hindari fitur yang membuka layanan nyata atau menekan tombol pada mesin host. README membedakan jalur Instagram Reels dari contoh simulasi. Jika yang ingin dipahami adalah pemetaan, sasaran lokal dengan batas yang jelas memberi gambaran yang lebih baik.

Saat beralih ke perangkat fisik, ukur waktu penyiapan dan kualitas kontrol secara terpisah. Catat waktu hingga siap. Amati jeda dari gestur sampai efek, pergeseran saat tangan keluar dari area pelacakan, dan respons ketika pengguna berubah pikiran. Studi yang lebih panjang dapat menjawabnya dan menguji apakah orang yang belum mengenal antarmuka bisa memilih sasaran dengan benar tanpa bantuan.

Versi yang berguna memungkinkan kontrol dibuat dan hasilnya diperiksa

Gagasan terkuat ControlAnything adalah memberi pengguna cara mendeskripsikan interaksi fisik tanpa terlebih dahulu membuat antarmuka khusus. Evaluasinya menunjukkan cara itu bekerja pada sasaran yang sudah dikenal dengan satu headset. Agar bisa dipakai ulang, kontrol memerlukan lebih dari koneksi yang berhasil. Kontrol harus mengidentifikasi perangkat, membatasi kewenangan sendiri, dan membuat tindakannya cukup terlihat agar pemakai headset memahami apa yang terjadi.

Sumber


Agar catatan dan keputusan dari sesi prototipe mudah ditemukan kembali, buat akun Telli.sh.


← Kembali ke blog