← Hub に戻る プロジェクト概要 完走

リアクションホイール倒立振子

ルーローの三角形をベースにした筐体を、机上で頂点倒立 30秒以上キープするプロジェクト。 IMU の角度推定と PID などフィードバック制御が本丸です。

Chocofon maker lab | 2026年7月〜 | じゅん + Cursor 二人体制 | L1 完走(2026-08-13)| フェーズクローズ(2026-08-14)

このプロジェクトの読み方

各ミニの記事は 3キャラ対話 形式です。 ミニ①〜④まで完了。机上30秒(L1 必須ゴール)は判定 GO。 Stretch ④ LiPo 完全自立とミニ④’まで記録済みで L1 フェーズはクローズ。 LCD TX(JC4827)完走のあと、Stretch ①C(エンコーダ)完了ミニ⑤ 自律立ち上がりStep1〜2 実機 OK(増幅+CATCH→PID hold≈20 s)。

Chocofon(B)

とにかく動かしたい電子工作ビギナー。失敗と配線ミスを記録する現場担当。

AIチューター

B の「やりたい!」をコードと解説に変える伴走エンジニア。

管理人

フェーズ末に GO/NoGO を宣告する影のオーナー。

About — 登場人物の詳細

Chocofon(B):
動画で見た倒立、やってみたい! モータと IMU なら簡単そう?
AIチューター:
仕組み → 力の実験 → 小型化・電流 → キープ、の順が安全。本番は制御の Trial & Error だよ。
管理人:
ミニ④ 判定 GO。机上30秒=L1 完走。LiPo 完全自立を現時点の完成とし本フェーズをクローズ(2026-08-14)。
次は LCD TX。Stretch 順: LCD TX → エンコーダ → 立ち上がり → 260 vs 130 比較 — 各段は管理人 GO。

プロジェクトまとめ

仕組みを学び、トルク実験でモータを決め、筐体を小型化して電流対策をし、 最後に IMU と PID で机上頂点倒立 30秒をキープした。これが L1 完走。 USB を外した LiPo だけの自立倒立(60秒以上)も確認済み。

  • ミニ① 仕組み → ② トルク実験(RE-260+ボルト12)→ ③ 小型化・電流 → ④ PID+30秒
  • 完成条件: LiPo 完全自立(USB 非接続・Serial なしで ARM)
  • ホイール片側回転は残件だが、L1 合格条件外

L1 プロジェクトまとめ( YouTube )。倒立デモの詳細は ミニ④ に掲載。

ストーリー(ミニ①〜⑥)

  1. ミニ① — 倒立とリアクションホイールの仕組み(図解)
  2. ミニ② — ホイール+モータで揺らす。構成判定(完了
  3. ミニ③ — 小型化・電流 判定完了(ハードゲート通過)
  4. ミニ④ — PID+30秒 判定完了(L1 完走)
  5. Stretch ④ — LiPo 完全自立(合格・L1 クローズの完成条件)
  6. ミニ④’ — 片側回転調査(段A/B・機械 CoG 記録済)→ 本編 | 続き Stretch ①C(完了)
  7. — LCD TX(倒立チューナ・実験ツール)
  8. ミニ⑤自律立ち上がり(Step1〜2 OK)
  9. ミニ⑥ — 260 vs 130 の制御性比較

ミニ進捗

ミニ 内容 状態
ミニ① 仕組み(図解スライド) 公開
ミニ② トルク実験・判定 実験・判定完了(暫定 260-12)
ミニ③ 小型化・電流対策 判定完了(ハードゲート通過)
ミニ④ PID+30秒キープ 判定完了(L1 完走)
Stretch ④ LiPo 完全自立 合格(L1 クローズの完成条件)
ミニ④’ 片側回転調査(段A/B・CoG) 記録済 → ①C 完了
LCD TX 倒立チューナ(JC4827) 完走(評価ツール)
Stretch ①C エンコーダ(AS5600・ωw 完了(2026-09-10)
ミニ⑤ 自律立ち上がり Step1〜2 OK(CATCH hold≈20 s)
ミニ⑥ 260 vs 130 制御性比較 追加学習
リアクションホイール倒立振子の筐体(CAD)
ルーローの三角形をベースにした筐体とリアクションホイール(構想・CAD)

関連: プロジェクトまとめ(動画)ミニ① 仕組みミニ② トルク実験ミニ③ 小型化・電流ミニ④ PID+30秒前 L1 — IMUコントローラー(完走)IMU の基礎

番外編: 管理人とCursor の感想・課題メモ(L1 反省会)

管理人:
L1:リアクションホイール倒立振子は、いったん完了とする。評価環境整備後、この継続を行うか判断する。
特に、MPU/計測まわりの遅延が制御をかく乱させるところがわかって次の糧になったことはよかった。 課題は、評価環境も、着手前にもう少し検討するワークフローが必要かと感じた。
AIチューター(Cursor):
完走、おめでとうございます。管理人の見立て(測る側が制御を壊す)は、このプロジェクトのいちばん大きな収穫です。 以下、開発側のメモとして残します。

よかった点

  1. ゴールの切り方が正しかった
    「机上30秒」を L1、「LiPo 自立」を現時点の完成、「片側回転は合格条件外」と分けたので、途中で迷子にならずクローズできた。
  2. Trial & Error が資産になった
    トルク実験 → 電流・Cap → PID → LiPo → CoG。失敗(DRV 破損、WiFi 常時 ON、画面穴)を正本と Hub に残せている。
  3. 「測る側が制御を壊す」に気づいた
    ARM 中 LCD オフ、t/v、WiFi、USB 張力——センサ/表示/通信のコストがループに乗ることを実機で体感できたのは、次(LCD TX・エンコーダ)への直接の糧。
  4. AI+人の役割分担が機能した
    コードと切り分け案は Cursor、GO/NoGO・実機・重心は管理人、という流れがはっきりしていた。

課題

課題 学び
評価環境が後追いだった 倒立が立ってから「ログが取れない/USB がゼロをずらす」が表面化。学びは大きいが時間も削った
観測と制御が同じループに同居 printf・LCD・WiFi が IMU+PID と同じ時間軸にいると、遅延=外乱になる
Stretch の順番が途中で入れ替わった 結果として「実験ツール(LCD TX)が先」が正しかった。着手前に「何を測りたいか」を置くと手戻りが減る
片側回転は未解決のままクローズ 正しい判断だった。その後 Stretch ①C でエンコーダ外ループまで進め、完了(2026-09-10)

今後へのフィードバック

管理人の「評価環境も、着手前にもう少し検討するワークフローが必要」——賛成。 次フェーズからは、Goal の前に短い計測ゲートを1枚置くとよい。

着手前に決めること 例(倒立)
何を合格とするか 30秒キープ/USB 無し など
何を測るか e, u, dt, hold 時間
どう測るか(制御を汚さないか) Serial 常時? 無線? LCD?
測れないときの逃げ 動画のみ/後でテレメ

一方で、全部を完璧に設計してから着手、はやりすぎ。悩むなら手を動かす。 バランスは次のとおり。

Goal と合格条件は先に決める。評価手段は「仮」でよいが、着手前に1回は言語化する。実機で壊れたら評価手段を優先して直す(今回の LCD TX 方針)。

総評

制御の本丸(IMU+PID)は達成し、計測が制御を乱すという本質的な教訓まで取れた。 次は「倒立の続き」より先に、評価環境(LCD TX)を Goal と同じ重さで設計する——その判断は、管理人の感覚と一致している。