1 ポイント 投稿者 GN⁺ 2024-02-12 | 1件のコメント | WhatsAppで共有
  • 1本の辺の上に立つキューブが、3つのリアクションホイールとコントローラでバランスを保ち、軸方向の回転まで制御するオープンソースハードウェアプロジェクト
  • 原型はETH ZürichのCubliで、University of São PauloのBobrowらは、IMUを6個から1個に減らす制御概念を追加した
  • 既存の取り組みはおおむね非公開だったため、作者は機械設計、回路、設定、コードをリバースエンジニアリングし、完全なオープンソースとして公開した
  • ハードウェアは、ステンレス・アルミ構造体、Maxon 60Wモーター3個、4象限モーターコントローラ、6S1P LiPoバッテリー、ESP32-S3、IMUを搭載したカスタムボードで構成される
  • 現在は人が立てた後にバランスを維持する段階で、次の目標は機械式ブレーキでキューブが自力でバランス位置までジャンプできるようにすること

オープンソースで作り直したCubli系キューブ

  • このキューブは1本のの上でバランスを取り、同時に軸を中心とした制御された回転を行える
  • 動作の核心は巧妙な制御方式と3つのリアクションホイールにある
  • 原型となるアイデアはETH Zürich研究チームのCubliから始まった
  • その後、BobrowらはUniversity of São Pauloで改良された制御概念を導入し、必要なIMUを6個から1個に減らした
  • 既存の取り組みはおおむね非公開だったため、作者はすべてをリバースエンジニアリングし、ゼロから描き直して公開した
  • 設計、設定、コードファイルはGitHubリポジトリで公開されている
  • 作者基準のBOMは約**€2500**に近い

実用性より学習と研究に近い装置

  • キューブ自体は主に学習体験と研究プロジェクトに近く、直接的な実用価値は大きくない
  • ただし同じ原理のリアクションホイールは、James Webb telescopeのような衛星で姿勢制御に使われている
  • 以前のM&Ms分類機のように、一見役に立たなそうな装置でも、類似の応用では実際の価値を持ち得る

機械構造と製作

  • 全体の機械構造は元のCubliとおおむね似ているが、一部の細部は異なる
  • 基本構造は8個のcornerstoneと6枚のface plateで構成される
    • 6枚のface plateのうち3枚は、モーターとリアクションホイールのアセンブリを支えるための追加形状を持つ
  • すべての部品はFusion 360で設計された
    • 作者は以前使っていたSiemens NXの代わりにFusion 360を使うことで、DIYコミュニティと設計を共有しやすくなったと見ている
  • 構造部品の大半は強度のためステンレス鋼で作られている
  • face plateは軽量化のためアルミニウムで作られている
    • 組み立て後の構造剛性は十分で、face plateを鋼で作る必要はなかった
  • 金属部品はPCBWayでCNC加工された
    • 費用の一部はPCBWayがスポンサーした
    • 部品をアップロードし、素材を指定すると見積もりが自動計算される注文プロセスを利用した
    • 小さな生産上の問題はすぐに解決され、部品は問題なく噛み合った

モーターとリアクションホイールの組み立て

  • リアクションホイールは最大6000 rpmに達するため、頑丈でありながら軽い設計が必要だった
  • モーターは3本の皿ねじでステンレス鋼のブリッジに接続され、ブリッジはアルミニウム製face plateに固定される
  • モーター軸には小さなハブが取り付けられ、3本のset screwで固定される
    • ハブの中心穴が平らな三角面と垂直でないと、ホイールがモーター軸と整列せず、振動や摩耗が生じる可能性がある
  • リアクションホイールは3本の皿ねじでハブに取り付けられる
    • ハブとホイールのわずかな不完全さは、接触面の間に小さな紙片を入れて補正する
  • face plateには小型のradial ball bearingが入り、cyanoacrylate接着剤で固定される
    • このベアリングはモーター軸の片端を支える
    • 軸のもう一端はモーター内部のベアリングが支える
  • この組み立て工程を3回繰り返してキューブの半分を作り、残りのface plateは特別な組み立てなしでそのまま結合される
  • ケーブル作業を簡単にするため、1つのモーターはブリッジ基準の向きを変えて配置している

電気・機械構成

  • 他のbalancing cubeがMaxonのEC flat系列モーターを使うのと同様に、このプロジェクトもMaxon部品を選んだ
  • モーターとコントローラは、キューブがトルクでバランスを取るための重要部品である
    • 多くのDCモーターはトルク定数を明記したデータシートを持たない
    • 多くのBLDCコントローラやESCは速度制御だけを提供し、電流制御を提供しない
    • このプロジェクトにはトルク-電流関係と電流制御が不可欠である
  • 選ばれたモーターはMaxon 60W motorで、互換性のある4-quadrant motor controllerは最大6Aの電流を供給できる
  • 24Vで6Aはほぼ150Wに相当する
    • モーターの定格出力を超えるが、短時間の過負荷は問題にならない
    • コントローラには、巻線温度が高くなりすぎると推定される場合に電流を制限するI2tアルゴリズムが内蔵されている
    • バランス維持中は電流が通常かなり低いため、通常動作でこの制限にかかる可能性は低い
  • Esconモーターコントローラソフトウェアは、モーターの試運転、チューニングツール、動作中の状態と入出力を示すダッシュボードを提供する

バッテリーとカスタムボード

  • バッテリーは6S1Pリチウムポリマーバッテリーを使用する
    • モーター定格が24Vなので、公称電圧22.2Vの6セルLiPoがよく合う
    • 容量は1300mAh、29Whで、通常は少なくとも1時間はキューブを動かせる
  • メインボードはカスタム設計である
    • 3つのモーターコントローラ
    • IMU
    • ESP32-S3開発ボード
    • 保護回路
    • 電圧レギュレータ
    • 機械式ブレーキ用RC servo motor出力
  • 機械式ブレーキ出力は、キューブが自力でバランス位置へjump-upできるようにするための事前設計である
  • ブレーキ設計はまだ完了していない
  • 回路基板は、solder paste塗布、表面実装部品の配置、小型トースターオーブンでのreflow、through-hole部品の手はんだ付けで組み立てられた
  • 統合とテスト中にいくつかの配線ミスが見つかり、bodge wireで修正された
    • モーターコントローラのデジタル入力のうち1つだけがPWMに対応していたが、PWM信号が対応していない入力に配線されていた
  • バッテリー取り付け用ボードも別途設計された
    • XT60コネクタ2個
    • 最大18Aの電流を考慮して並列接続したスイッチ2個

コントローラの移植とバランス制御

  • コントローラは新規設計せず、Fabio Bobrowのcubli-firmwareをArm MbedからArduinoへ移植した
  • マイクロコントローラはSTM32 Nucleoの代わりにESP32を使用する
  • IMUはTDK InvensenseのICM20948を使用したため、そのドライバも書き直した
  • 主姿勢コントローラは、2つの相反する目標を同時に満たす必要がある
    • キューブを望ましい姿勢、つまり不安定平衡位置に保つ
    • リアクションホイール速度を最小に近い状態に保つ
  • 2つ目の目標を考慮しないと、ホイール速度が制御不能になり、モーターが飽和してキューブにトルクを加えられなくなる可能性がある
  • ホイール速度を0に近づけようとする力が強すぎると、キューブは倒れる
  • 逆にその力が弱すぎると、ホイール速度が文字どおり制御不能に増加する可能性がある
  • 良好なバランス性能、外乱抑制、低いホイール速度を同時に得るには、適切なgainを見つける必要がある

定常誤差とホイール位置の積分

  • コントローラには定常誤差を扱うメカニズムもある
  • 定常誤差とは、キューブの重量分布の不完全さによって、設定された平衡位置と実際の平衡位置が少し異なる場合を指す
  • 一般的なPIDコントローラでは、integral項がこのような誤差を処理する
  • このコントローラはホイールの位置を積分値のように使う
  • キューブの上にトマトを載せて重量分布を変えると、リアクションホイールは速度が上がってから下がり、新しい位置へ移動して増えた誤差を補償する

チューニングで行き詰まった点

  • 試運転とコントローラのチューニングが、コード関連作業の中で最も大きな割合を占めた
  • まず複数の信号の符号を合わせるのに数日かかった
  • その後、コントローラのgainを見つける必要があった
  • Bobrowの論文にあるチューニング方法は、このキューブでは機能しなかった
  • このキューブはBobrowのキューブとは異なるホイールを使っているため、gainをそのまま再利用することはできなかった
  • 反復的な手動チューニングの末、動画で見られる安定化性能を得た

似たキューブと次のステップ

  • 作者は、このキューブがCubliに似たバランス性能を達成した完全なオープンソースキューブだと見ている
  • 比較的文書化されている類似プロジェクトは次のとおり
  • 次の目標はリアクションホイールに機械式ブレーキを追加すること
  • ブレーキはホイールを素早く停止させ、モーターが直接出せるよりはるかに大きなトルクを作れる
  • このトルクにより、キューブが自力で平衡位置まで起き上がるjump-up manoeuverが可能になる
  • 作者基準では、この機能は現在、元のCubliだけが備えている
  • Cubliのブレーキ機構はいくつかの理由で好ましくないため、別のアプローチを使う予定である

1件のコメント

 
GN⁺ 2024-02-12
Hacker News のコメント
  • 制御・信号処理の修士として、もっと退屈な仕事をするようになった立場からすると、信号の符号を何日もひっくり返して試していたのは経験不足のせいだと思っていた。
    ふたを開けてみれば、その判断でも符号を間違えていたというわけだった。

    • 工学のかなりの部分は、符号ミスが偶数個になるよう保証する仕事である。
    • いま軌道上にある衛星の中にも、リアクションホイールの配線が逆につながっていて、コードベースに x *= -1.0; //DO NOT TOUCH が入っているものがある。
      みんなそうするものではあるが、普通は数千 kg の爆発物の上にダクトテープで貼り付けて赤いボタンを押す前にテストする :)
    • USB をいつも三回くらい試さないと正しく挿せない現象も似ている。
    • 大学以降の教育はほとんどなく、ガレージでいじるのが好きな立場としては、何か教育を受けていれば、符号をひっくり返しながら動くまで試すことに費やす時間を減らせたのではないかと思っていた。
    • あなただけではない。
      自分が設計・実装したすべてのコントローラについて、符号や向きのような挙動を保証するには、結局十分なユニットテストが必要だという現実を受け入れることになった。
  • あの動画を見ると本当にすごい。
    「これはただの魔法ではないのか」と思った経験に最も近かった。
    押されたときの反応の仕方が、初めて磁石に触れたときのように感じられるが、今度はまったく新しい力を見ているようだ。
    生きているかのように自ら平衡を保ち、環境の変化に抵抗し、トマトを載せても私たちの体が荷重変化に適応するようにすぐ適応する。
    いつか 50ドルの量産小型版が Amazon で売られるようになったら、ぜひ遊んでみたい。

    • 昔の Cubli の動画では、「ジャンプして起き上がる」、バランスを取る、制御された落下をつなげて移動するところまで見せている。
      https://youtu.be/n_6p-1J551Y?si=zvwORnuPZmgXw0S8
    • 一部の制御工学の応用は本当に魔法のように感じられる、という点には大いに同意する。
      プログラミングを学んだとき、「時間をかけてプログラムさえ書けば、コンピュータに望むことは何でもさせられるんだ」と感じた。
      制御理論も似た感覚だが、今度は物理法則を「プログラミング」して、現実の動き方を変えているように感じられる。
    • これは実はかなり昔からあるものだ。
      YouTube を探せば、10年以上前の例もある。
  • ソフトウェアエンジニアとしてのキャリアはとても楽しんでいるが、一方で、こういうものを作り始められる分野を勉強しておけばよかったとも思う。
    本当にかっこいい。

    • こういうものは全部独学できる。
      私たちの大半がプログラミングを学んだように ;-)
      ただし最初のプロジェクトとして自己平衡キューブから始めるのはやめたほうがよく、Arduino や ESP ボードを買って LED を点滅させるところから始めればいい。
    • 同じ開発者として同じように感じるが、趣味でこういうかっこいいものを作ろうとするとかなり費用がかかると気づくと、実験コストがほぼ 0 に近い分野を選んだのは幸運だったと思える。
      妥協案として、ホームオートメーションと esp32、rpi pico のようなマイクロコントローラを使う趣味の電子工作に落ち着いた。
      手で触れられるものを作りたい人なら試す価値がある。
      ちなみにこのキューブプロジェクトの総部品コストは約 2500 ユーロだった。
    • いつだってかっこよかった。
      ただし、市場にある仕事が人を殺す機械を作ることばかりだと知るまでは、だ。
      私の場合はそうだったし、人によって違うかもしれない。
    • https://www.adafruit.com/ は素晴らしいリソースだ。
      チュートリアルが良く、製品と動画での紹介も本当によくできている。
      事実上すべての商品に動画が付いていて、非常にお金を使いやすい場所だ。
    • 私にも同じ渇望があり、カスタム機械式キーボードを作ることでハードウェアに創造的なはけ口を見つけた。
      コーディング速度、正確性、効率を高め、ソフトウェアエンジニアとしてのキャリアにも役立つ。
      https://www.reddit.com/r/ErgoMechKeyboards/comments/hj0q8x/f...
  • リアクションホイールに機械式ブレーキを追加してジャンプ機動を可能にし、キューブが自力で平衡位置に到達できるようにするという部分に期待している。
    Cubli プロジェクトでいつも一番かっこいいと思っていた部分だ。
    動画: https://youtu.be/n_6p-1J551Y?t=92

    • この構造にキューブより良い形があるのか気になる。
      上へ歩いて登るには円形ではだめだが、下へ転がって降りるには丸い縁がよさそうだ。
      2つの輪が球を形作るようなものを想像してしまう。90度回転して転がりモード歩行モードを切り替えるような形だ。
    • 動作原理を知ると魔法のような感覚はかなり薄れるが、何の特徴もないブーンと唸る金属製のキューブを見つけたと想像すればいい。
      そのキューブが辺へジャンプし、さらに頂点へ上がって回転し始め、任意の表面でもそれを行える。
      物理に慣れていると思っている人の大半もかなり混乱しそうだし、キューブが頂点から面へ突然跳ね戻って、隠れた突起装置ではないことを示したら、真剣に魔法の可能性を考え始めるかもしれない。
    • 驚きだ。
      あとは、かっこいい木製外装と、それに合う誘導充電スタンドさえあればいい。
      Kickstarter なら私の金を持っていってくれていい。
  • Brennan のモノレール列車を思い出す。
    とても興味深い動画だ https://www.youtube.com/watch?v=kUYzuAJeg3M

  • 素晴らしい芸術だと思う
    同じ人が作ったこの別の作品はまったく違うけれど、見る楽しさは同じくらい良い: https://www.youtube.com/watch?v=P9jyNIWsRvI
    芸術を作るエンジニアたちが本当に好き

    • こういうものが好きなら、Jacob TonskiのBalance from Withinもきっと気に入るはず
      170年もののソファにリアクションホイールを取り付け、片脚で信じられないほど立っていられるようにした作品
      最終的にリアクションホイールが限界に達するとソファが倒れて爆発するのだが、作者に聞けば人間関係のように見えると言うだろう
      最近は政治を連想せずにいるのも難しい
      このジャンルでは非常に名誉のあるPrix Ars Electronicaでも評価された
      動画: https://www.youtube.com/watch?v=uQRP-b68fnE
      記事: https://ars.electronica.art/aeblog/en/2014/07/02/auf-der-suc...
    • 数年前に彼のM&M仕分け機を見た覚えがある: https://www.youtube.com/watch?v=ceGlMV4sHnk
    • この別プロジェクトが完全に別物だとは言えない
      実際、2つを簡単に組み合わせられそうな気がする
    • あとは静かに動くようにして、実際にリビングに置けるようにしてくれたらいいな ;)
  • 日曜日ごとに普段はコードで新たな高みに到達して高揚し、粘り強さと創造力を押し広げた満足感を覚えるのだけれど、こういう記事を見ると完全に無力感に襲われる
    我慢強さが足りないし、こういうことを試してみることすら怖くなりすぎる

    • これは自分たちのやっていることとはかなり直交する領域だ
      ここ数週間、サイドでReactを学び始めて、友人たちが実際に使えるようなものを作れてかなり誇らしく思った
      もちろん「すごい」と思わせる要素はないが、作るのに2500ドルかかったわけでもなく、何年、場合によっては何十年もの学習コストが必要だったわけでもない
    • 他人が何かを自分よりうまくやるからといって落ち込むなら、人生はかなりつらくなるだろう
      どんな分野でも世界最高になる人はごくわずかだが、それは重要ではない
      その事実が、自分にできることを変えるわけではない
    • 基本チュートリアルをなぞって、Adafruitのようなところでキットを買うところから始めればいい
      かなりのものははんだ付けすら不要
      完全なゼロから始めるのは難しすぎる。どの部品が互いに合うのか、どれくらい電力が必要なのかなどを自分で把握しなければならないから
    • ここではまず2つの次元を取り除くのがよさそう
      そうすればずっと簡単になり、既製部品や手作りの部品も使える
  • 実はバランスを取る点よりも、物体そのもののかっこいい外観に惹かれる

    • 自分もそうだった
      すぐ販売されているか探してみたし、自作すると2500ドルくらいかかるようだ
  • 無謀と言われてもいいが、もっと大きいバージョンで、辺に沿ってホールドが付いているなら、お金を払って登ってみたい
    自分の動きにどう反応するのかを直接感じてみたい

    • ゼリーの壁を登るか、地震の最中の山に登るような感じになりそう
      面白い思考実験だ
  • バッテリーが少なくなったり、リアクション制御ホイールが飽和したりしたら、自分でQi充電器やポゴピンの上に再び横たわるようにする構想はどうだろう、と思う
    おそらく、自力で立ち上がれるようにブレーキを付けた後の話にはなりそうだけれど

    • 頂点にコイルを入れて、継続的に電力を供給できるのかも気になる
      距離が問題になる可能性はありそう