1 poin oleh GN⁺ 2024-02-12 | 1 komentar | Bagikan ke WhatsApp
  • Sebuah kubus yang berdiri di atas satu sudut menjaga keseimbangan dengan tiga roda reaksi dan pengendali, serta dapat mengontrol rotasi pada sumbu
  • Purwarupanya adalah Cubli dari ETH Zürich, dan Bobrow dkk. dari University of São Paulo menambahkan konsep kontrol yang mengurangi kebutuhan IMU dari 6 menjadi 1
  • Karena sebagian besar karya sebelumnya bersifat tertutup, pembuatnya melakukan rekayasa balik pada desain mekanik, rangkaian, konfigurasi, dan kode lalu merilisnya sebagai open source sepenuhnya
  • Perangkat kerasnya terdiri dari struktur stainless steel dan aluminium, 3 motor Maxon 60W, pengendali motor 4-kuadran, baterai LiPo 6S1P, ESP32-S3, serta papan kustom yang memuat IMU
  • Saat ini kubus masih berada pada tahap menjaga keseimbangan setelah ditegakkan oleh manusia, dan target berikutnya adalah membuat kubus melompat ke posisi seimbang sendiri dengan rem mekanis

Kubus keluarga Cubli yang dibuat ulang sebagai open source

  • Kubus ini dapat menyeimbangkan diri di atas satu sudut, sekaligus melakukan rotasi terkontrol pada sumbunya
  • Inti cara kerjanya adalah metode kontrol yang cerdas dan tiga roda reaksi
  • Gagasan aslinya berawal dari Cubli buatan tim riset ETH Zürich
  • Setelah itu, Bobrow dkk. di University of São Paulo memperkenalkan konsep kontrol yang ditingkatkan sehingga IMU yang dibutuhkan berkurang dari 6 menjadi 1
  • Karena sebagian besar pekerjaan sebelumnya tidak dibuka ke publik, pembuat proyek ini merekayasa balik semuanya dan menggambarnya ulang dari nol untuk dipublikasikan
  • File desain, konfigurasi, dan kode tersedia di repositori GitHub
  • Menurut pembuatnya, BOM-nya mendekati €2500

Lebih dekat ke perangkat pembelajaran dan penelitian daripada kepraktisan

  • Kubus ini sendiri pada dasarnya lebih mirip pengalaman belajar dan proyek riset, dan tidak memiliki nilai praktis langsung yang besar
  • Namun, roda reaksi dengan prinsip yang sama digunakan untuk kendali sikap pada satelit seperti James Webb telescope
  • Seperti mesin penyortir M&Ms sebelumnya, perangkat yang tampak tidak berguna di permukaan pun bisa memiliki nilai nyata dalam aplikasi serupa

Struktur mekanik dan pembuatan

  • Struktur mekanik keseluruhan pada dasarnya mirip dengan Cubli asli, meski ada beberapa perbedaan detail
  • Struktur dasarnya terdiri dari 8 cornerstone dan 6 face plate
    • Dari 6 face plate, 3 memiliki bentuk tambahan untuk menopang rakitan motor dan roda reaksi
  • Semua komponen dirancang di Fusion 360
    • Pembuatnya menilai bahwa penggunaan Fusion 360 alih-alih Siemens NX yang sebelumnya dipakai membuat desain lebih mudah dibagikan ke komunitas DIY
  • Sebagian besar komponen struktural dibuat dari stainless steel demi kekuatan
  • face plate dibuat dari aluminium untuk mengurangi bobot
    • Setelah dirakit, kekakuan strukturnya sudah cukup sehingga face plate tidak perlu dibuat dari baja
  • Komponen logam diproduksi dengan CNC oleh PCBWay
    • Sebagian biaya disponsori oleh PCBWay
    • Proses pemesanan menggunakan unggah komponen dan penentuan material, lalu estimasi biaya dihitung otomatis
    • Masalah produksi kecil cepat diselesaikan, dan komponen-komponennya terpasang tanpa masalah

Rakitan motor dan roda reaksi

  • Roda reaksi dapat mencapai hingga 6000 rpm, sehingga dibutuhkan desain yang kuat namun tetap ringan
  • Motor dihubungkan ke jembatan stainless steel dengan tiga sekrup countersunk head, dan jembatan itu dipasang ke face plate aluminium
  • Pada poros motor dipasang sebuah hub kecil yang dikunci dengan tiga set screw
    • Jika lubang tengah hub tidak tegak lurus terhadap bidang segitiga datarnya, roda tidak akan sejajar dengan poros motor sehingga bisa menimbulkan getaran dan keausan
  • Roda reaksi dipasang ke hub dengan tiga sekrup countersunk head
    • Ketidaksempurnaan kecil pada hub dan roda dikoreksi dengan memasukkan potongan kertas kecil di antara bidang kontak
  • Pada face plate dipasang radial ball bearing kecil dan direkatkan dengan lem cyanoacrylate
    • Bearing ini menopang salah satu ujung poros motor
    • Ujung poros lainnya ditopang oleh bearing di dalam motor
  • Proses perakitan ini diulangi tiga kali untuk membentuk setengah kubus, lalu face plate sisanya langsung disatukan tanpa perakitan khusus
  • Untuk menyederhanakan penataan kabel, salah satu motor dipasang dengan orientasi berbeda terhadap jembatan

Konfigurasi listrik dan mekanik

  • Seperti balancing cube lain yang memakai motor seri EC flat dari Maxon, proyek ini juga memilih komponen Maxon
  • Motor dan pengendalinya adalah komponen kunci agar kubus bisa menyeimbangkan diri dengan torsi
    • Banyak motor DC tidak memiliki datasheet yang mencantumkan konstanta torsi
    • Banyak pengendali BLDC atau ESC hanya menyediakan kontrol kecepatan dan tidak menyediakan kontrol arus
    • Dalam proyek ini, hubungan torsi-arus dan kontrol arus adalah hal yang wajib
  • Motor yang dipilih adalah Maxon 60W motor, dan 4-quadrant motor controller yang kompatibel dapat menyediakan arus hingga 6A
  • Pada 24V dan 6A, dayanya hampir 150W
    • Ini melampaui daya terukur motor, tetapi kelebihan beban singkat tidak menjadi masalah
    • Pengendali memiliki algoritma I2t bawaan yang membatasi arus jika diperkirakan temperatur lilitan akan terlalu tinggi
    • Saat menjaga keseimbangan, arus biasanya sangat rendah sehingga kecil kemungkinan batas ini tercapai dalam operasi normal
  • Perangkat lunak Escon motor controller menyediakan commissioning motor, alat tuning, dan dashboard yang menampilkan status serta input/output saat berjalan

Baterai dan papan kustom

  • Baterainya menggunakan baterai lithium-polymer 6S1P
    • Karena rating motor adalah 24V, LiPo 6 sel dengan tegangan nominal 22,2V sangat cocok
    • Kapasitasnya 1300mAh, 29Wh, dan biasanya dapat menyalakan kubus setidaknya selama 1 jam
  • Mainboard-nya merupakan desain kustom
    • tiga pengendali motor
    • IMU
    • papan pengembangan ESP32-S3
    • rangkaian proteksi
    • regulator tegangan
    • output RC servo motor untuk rem mekanis
  • Output rem mekanis ini sudah dipersiapkan agar kubus nantinya dapat melakukan jump-up ke posisi seimbang dengan sendirinya
  • Desain remnya sendiri belum selesai
  • Papan rangkaian dirakit dengan pengolesan solder paste, penempatan komponen surface-mount, reflow menggunakan oven pemanggang kecil, dan penyolderan manual untuk komponen through-hole
  • Saat integrasi dan pengujian, ditemukan beberapa kesalahan routing yang diperbaiki dengan bodge wire
    • Hanya satu dari input digital pada pengendali motor yang mendukung PWM, tetapi sinyal PWM justru dirutekan ke input yang tidak mendukung PWM
  • Papan untuk pemasangan baterai juga dirancang terpisah
    • 2 konektor XT60
    • 2 sakelar yang dihubungkan paralel dengan mempertimbangkan arus hingga 18A

Porting pengendali dan kontrol keseimbangan

  • Pengendalinya tidak dirancang ulang, melainkan mem-port cubli-firmware karya Fabio Bobrow dari Arm Mbed ke Arduino
  • Mikrokontrolernya menggunakan ESP32 alih-alih STM32 Nucleo
  • Karena IMU yang dipakai adalah ICM20948 dari TDK Invensense, driver untuk itu juga ditulis ulang
  • Pengendali sikap utama harus memenuhi dua tujuan yang saling bertentangan secara bersamaan
    • menjaga kubus pada sikap yang diinginkan, yaitu posisi kesetimbangan tidak stabil
    • menjaga kecepatan roda reaksi serendah mungkin, mendekati nol
  • Jika tujuan kedua tidak diperhitungkan, kecepatan roda bisa lepas kendali dan motor menjadi jenuh sehingga tidak bisa lagi memberikan torsi pada kubus
  • Jika gaya untuk menjaga kecepatan roda dekat 0 terlalu besar, kubus akan jatuh
  • Sebaliknya, jika gaya itu terlalu lemah, kecepatan roda benar-benar bisa meningkat tanpa kendali
  • Untuk mendapatkan performa keseimbangan yang baik, penolakan gangguan, dan kecepatan roda rendah secara bersamaan, perlu dicari gain yang tepat

Galat konstan dan integrasi posisi roda

  • Pengendali ini juga memiliki mekanisme untuk menangani galat konstan
  • Galat konstan berarti posisi kesetimbangan yang disetel dan posisi kesetimbangan sebenarnya sedikit berbeda karena distribusi berat kubus tidak sempurna
  • Pada pengendali PID biasa, error seperti ini ditangani oleh komponen integral
  • Pengendali ini menggunakan posisi roda sebagai nilai integral
  • Jika sebuah tomat diletakkan di atas kubus untuk mengubah distribusi berat, roda reaksi akan meningkatkan lalu menurunkan kecepatannya sambil berpindah ke posisi baru untuk mengompensasi galat yang bertambah

Bagian yang tersendat saat tuning

  • Commissioning dan tuning pengendali memakan porsi terbesar dari pekerjaan terkait kode
  • Mula-mula butuh beberapa hari hanya untuk menyamakan tanda dari berbagai sinyal
  • Setelah itu, gain pengendali harus dicari
  • Metode tuning dalam makalah Bobrow tidak bekerja pada kubus ini
  • Kubus ini menggunakan roda yang berbeda dari kubus Bobrow, sehingga gain-nya tidak bisa dipakai ulang begitu saja
  • Setelah tuning manual berulang kali, akhirnya diperoleh performa stabilisasi seperti yang terlihat di video

Kubus serupa dan langkah berikutnya

  • Menurut pembuatnya, kubus ini adalah kubus open source sepenuhnya yang mencapai performa keseimbangan setara Cubli
  • Proyek serupa yang terdokumentasi relatif baik antara lain:
  • Target berikutnya adalah menambahkan rem mekanis pada roda reaksi
  • Rem ini dapat menghentikan roda dengan cepat sehingga menghasilkan torsi yang jauh lebih besar daripada yang bisa dihasilkan motor secara langsung
  • Dengan torsi ini, kubus dapat melakukan jump-up manoeuver untuk naik sendiri ke posisi seimbang
  • Menurut pembuatnya, saat ini hanya Cubli asli yang memiliki kemampuan ini
  • Karena mekanisme rem Cubli tidak disukai karena beberapa alasan, ia berencana memakai pendekatan yang berbeda

1 komentar

 
GN⁺ 2024-02-12
Pendapat di Hacker News
  • Sebagai pemegang gelar master di bidang kontrol dan pemrosesan sinyal yang akhirnya mengerjakan hal-hal yang lebih membosankan, saya dulu mengira membolak-balik tanda sinyal selama berhari-hari itu karena kurang pengalaman.
    Ternyata, dalam penilaian itu pun saya salah menentukan tanda.

    • Sebagian besar rekayasa adalah soal memastikan ada jumlah kesalahan tanda yang genap.
    • Di antara satelit yang saat ini berada di orbit pun ada yang kabel reaction wheel-nya tersambung terbalik dan di codebase-nya ada x *= -1.0; //DO NOT TOUCH.
      Semua orang memang begitu, tapi biasanya mereka melakukan pengujian sebelum menempelkannya dengan lakban di atas bahan peledak seberat ribuan kg lalu menekan tombol merah :)
    • Fenomena USB yang hampir selalu harus dicoba sekitar tiga kali baru terpasang dengan benar juga mirip.
    • Sebagai orang yang hampir tidak punya pendidikan setelah kuliah dan suka mengutak-atik di garasi, saya sempat berpikir kalau mendapat pendidikan tertentu mungkin saya tidak akan membuang banyak waktu membalik-balik tanda sampai berhasil.
    • Kamu tidak sendirian.
      Semua controller yang saya rancang dan implementasikan pada akhirnya membuat saya menerima kenyataan bahwa untuk menjamin perilaku seperti tanda dan arah, tetap dibutuhkan unit test yang cukup.
  • Melihat video itu, benar-benar luar biasa.
    Itu adalah pengalaman yang paling dekat dengan pikiran “ini bukannya sihir?”
    Cara ia merespons saat didorong terasa seperti pertama kali berhadapan dengan magnet, tetapi kali ini seperti melihat gaya yang benar-benar baru.
    Ia mempertahankan keseimbangan sendiri seolah hidup, melawan perubahan lingkungan, dan ketika ditaruh tomat di atasnya pun langsung beradaptasi seperti tubuh kita menyesuaikan diri terhadap perubahan beban.
    Suatu hari nanti, kalau versi kecil produksi massal seharga 50 dolar dijual di Amazon, saya pasti ingin mencobanya.

    • Di video Cubli lama, mereka juga menunjukkan “melompat untuk berdiri”, menjaga keseimbangan, lalu jatuh secara terkendali yang disambung hingga bisa bergerak.
      https://youtu.be/n_6p-1J551Y?si=zvwORnuPZmgXw0S8
    • Saya sangat setuju bahwa sebagian aplikasi teknik kontrol memang bisa terasa seperti sihir.
      Saat belajar pemrograman, saya merasa “kalau meluangkan waktu untuk menulis program, saya bisa menyuruh komputer melakukan apa saja yang saya inginkan.”
      Teori kontrol memberi perasaan yang mirip, tetapi kali ini rasanya seperti “memprogram” hukum fisika untuk mengubah cara kerja dunia nyata.
    • Ini sebenarnya sudah cukup lama.
      Kalau mencari di YouTube, ada juga contoh yang berusia lebih dari 10 tahun.
  • Saya sangat menikmati karier sebagai software engineer, tetapi di sisi lain ada perasaan andai saja saya dulu mempelajari bidang yang memungkinkan saya mulai membuat hal seperti ini.
    Benar-benar keren.

    • Semua ini bisa dipelajari sendiri.
      Seperti kebanyakan dari kita belajar pemrograman ;-)
      Hanya saja, sebaiknya jangan memulai proyek pertama langsung dari kubus yang menyeimbangkan diri; mulai saja dengan membeli board Arduino atau ESP lalu mencoba membuat LED berkedip.
    • Sebagai sesama developer, saya merasakan hal serupa, tetapi setelah menyadari bahwa biaya untuk membuat hal-hal keren seperti ini sebagai hobi cukup besar, saya jadi bersyukur memilih bidang yang biaya eksperimennya hampir 0.
      Sebagai kompromi, saya akhirnya menetap pada otomasi rumah dan proyek elektronik hobi memakai mikrokontroler seperti esp32 dan rpi pico.
      Layak dicoba kalau ingin membuat sesuatu yang bisa dipegang.
      Sebagai catatan, total biaya komponen proyek kubus ini sekitar 2500 euro.
    • Bidang ini memang selalu keren.
      Setidaknya sampai saya menyadari bahwa pekerjaan yang tersedia di pasar hanya membuat mesin pembunuh manusia.
      Begitulah yang terjadi pada saya, meski pengalaman tiap orang bisa berbeda.
    • https://www.adafruit.com/ adalah sumber daya yang bagus.
      Tutorialnya bagus, dan produk serta video perkenalannya juga benar-benar rapi.
      Praktis setiap produk punya video, jadi tempat ini sangat mudah membuat kita mengeluarkan uang.
    • Saya juga pernah punya rasa haus yang sama, dan menemukan saluran kreatif di hardware dengan membuat keyboard mekanis kustom.
      Ini juga membantu karier software engineer dengan meningkatkan kecepatan, akurasi, dan efisiensi coding.
      https://www.reddit.com/r/ErgoMechKeyboards/comments/hj0q8x/f...
  • Saya menantikan bagian ketika mereka menambahkan rem mekanis pada reaction wheel agar manuver lompat menjadi mungkin, dan membuat kubus mencapai posisi seimbang dengan sendirinya.
    Itu selalu menjadi bagian yang menurut saya paling keren dari proyek Cubli.
    Video: https://youtu.be/n_6p-1J551Y?t=92

    • Saya penasaran apakah ada bentuk yang lebih baik daripada kubus untuk struktur ini.
      Untuk berjalan naik, bentuknya tidak boleh bulat, tetapi untuk menggelinding turun, sudut yang membulat tampaknya bagus.
      Saya membayangkan bentuk berupa dua cincin yang membentuk bola: berputar 90 derajat untuk beralih antara mode menggelinding dan mode berjalan.
    • Setelah tahu cara kerjanya, kesan sihirnya banyak berkurang, tetapi coba bayangkan menemukan sebuah kubus logam berdengung tanpa ciri apa pun.
      Kubus itu melompat ke tepinya, lalu naik lagi ke titik sudut dan mulai berputar, dan bisa melakukannya di permukaan sembarang.
      Saya rasa kebanyakan orang yang merasa akrab dengan fisika pun akan cukup kebingungan, dan kalau kubus itu tiba-tiba melompat kembali dari titik sudut ke sisi datarnya untuk menunjukkan bahwa itu bukan perangkat tersembunyi yang menonjol, mereka mungkin mulai serius mempertimbangkan kemungkinan sihir.
    • Menakjubkan.
      Sekarang tinggal butuh casing kayu yang keren dan dudukan pengisi daya induksi yang serasi.
      Kalau ini Kickstarter, silakan ambil uang saya.
  • Saya jadi teringat kereta monorel Brennan.
    Video yang sangat menarik: https://www.youtube.com/watch?v=kUYzuAJeg3M

  • Seni yang luar biasa
    Karya lain dari orang yang sama ini sama sekali berbeda, tetapi sama asyiknya untuk ditonton: https://www.youtube.com/watch?v=P9jyNIWsRvI
    Saya sangat menyukai para insinyur yang membuat seni

    • Kalau suka hal seperti ini, pasti juga akan menyukai Balance from Within karya Jacob Tonski
      Ini adalah karya yang memasang reaction wheel pada sofa berusia 170 tahun, membuatnya berdiri dengan luar biasa di atas satu kaki
      Pada akhirnya, ketika reaction wheel mencapai batasnya, sofa itu roboh dan meledak; kalau ditanya kepada sang seniman, ia mungkin akan bilang itu tampak seperti hubungan antarmanusia
      Belakangan ini juga sulit untuk tidak teringat politik
      Karya ini juga mendapat pengakuan dari Prix Ars Electronica, sebuah penghargaan yang sangat bergengsi dalam genre ini
      Video: https://www.youtube.com/watch?v=uQRP-b68fnE
      Tulisan: https://ars.electronica.art/aeblog/en/2014/07/02/auf-der-suc...
    • Saya ingat pernah melihat penyortir M&M buatannya beberapa tahun lalu: https://www.youtube.com/watch?v=ceGlMV4sHnk
    • Saya tidak bisa bilang proyek lain ini sepenuhnya berbeda
      Sebenarnya, sepertinya keduanya bisa cukup mudah digabungkan
    • Sekarang tinggal membuatnya bekerja dengan senyap supaya benar-benar bisa ditaruh di ruang tamu ;)
  • Setiap Minggu biasanya saya bersemangat karena mencapai ketinggian baru lewat kode, dan merasa puas karena sudah mendorong ketekunan serta kreativitas saya, tetapi membaca tulisan seperti ini membuat saya merasa benar-benar tak berdaya
    Kesabaran saya pendek, dan bahkan mencoba hal seperti ini saja terasa terlalu menakutkan

    • Ini ranah yang cukup ortogonal dengan pekerjaan yang kita lakukan
      Beberapa minggu terakhir saya mulai belajar React sebagai proyek sampingan, dan merasa cukup bangga karena membuat sesuatu yang benar-benar bisa dipakai teman-teman
      Tentu saja tidak ada faktor “wow”, tetapi membuatnya juga tidak menghabiskan 2500 dolar, dan tidak membutuhkan biaya belajar selama bertahun-tahun, bahkan mungkin puluhan tahun
    • Kalau berkecil hati hanya karena orang lain lebih mahir melakukan sesuatu, hidup akan jadi cukup berat
      Sangat sedikit orang yang menjadi yang terbaik di dunia dalam bidang apa pun, tetapi itu tidak penting
      Fakta itu tidak mengubah apa yang bisa saya lakukan
    • Mulailah dengan mengikuti tutorial dasar dan membeli kit dari tempat seperti Adafruit
      Banyak di antaranya bahkan tidak perlu disolder
      Memulai dari nol total itu terlalu sulit, karena harus mencari tahu sendiri komponen apa yang cocok satu sama lain, berapa daya yang dibutuhkan, dan sebagainya
    • Dalam hal ini, sebaiknya hilangkan dulu dua dimensi
      Dengan begitu akan jauh lebih mudah, dan bisa memakai komponen siap pakai maupun komponen buatan tangan
  • Sebenarnya saya lebih tertarik pada tampilan keren bendanya sendiri daripada fakta bahwa ia bisa menyeimbangkan diri

    • Saya juga begitu
      Saya langsung mencari apakah sudah dijual, dan kalau membuat sendiri sepertinya biayanya sekitar 2500 dolar
  • Sebut saja nekat, tapi kalau ada versi yang lebih besar dengan pegangan di sepanjang tepinya, saya mau bayar untuk memanjatinya
    Saya ingin merasakan langsung bagaimana benda itu bereaksi terhadap gerakan saya

    • Mungkin rasanya seperti memanjat dinding jeli atau mendaki gunung yang sedang gempa
      Eksperimen pikiran yang menarik
  • Saya penasaran bagaimana kalau, saat baterainya hampir habis atau reaction control wheel-nya jenuh, benda itu dibuat bisa merebahkan diri kembali di atas pengisi daya Qi atau pogo pin
    Mungkin itu baru bisa dilakukan setelah dipasang rem agar ia bisa berdiri sendiri

    • Saya juga penasaran apakah bisa memasang kumparan di titik sudutnya agar terus memasok daya
      Jaraknya mungkin bisa menjadi masalah