0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

なぜ今、3軸リアクションホイール倒立振子 (Cubli) を作るのか【Day 1】

Last updated at Posted at 2025-11-30

はじめに:大人の冬休みの自由研究

こんにちは、組み込みエンジニアの @RamTuckey です。

今年のAdvent Calendar、勢いで登録してしまいました。 テーマは 「3軸リアクションホイール倒立振子(Cubliライクなロボット)の自作」 です。

以前から「いつか作ってみたい」と思っていたのですが、日々の業務に追われてなかなか手が動かず…。このアドカレというイベントを良いきっかけ(締め切り)にして、一気に作り上げてしまおうという企画です。

最近トレンドの 「Sim2Real(シミュレータから実機へ)」 や 「Edge AI(マイコン実装)」 といった技術を、実機で動かしながら体当たりで学んでいく 「技術ログ」 としてお楽しみいただければと思います。

なぜ「AI」で「倒立振子」なのか?

ロマン駆動開発

倒立振子といえば制御工学の基本ですが、今回は教科書通りのPID制御やLQR(線形2次レギュレータ)だけで終わらせるつもりはありません。

「深層強化学習 (Deep RL) で学習した脳みそを、小さなマイコンに詰め込んで動かしたい」

これに尽きます。 PC上のシミュレータの中で何万回も転んで学習したAIが、現実世界の物理法則の中でどう振る舞うのか。そして、STM32という制約のあるマイコンの中で、最新のアルゴリズムが動く様子を見てみたい。そんなロマンが原動力です。

目指すのは、
「小突かれても、重心バランスが変わっても、なんとなく耐えてくれる賢いロボット」
です。

システム構成 (System Architecture)

作るものの全体像はこんな感じです。

PCで作ったAIモデルを、Cコードに変換してSTM32マイコンに移植します。いわゆる Sim2Real の構成ですね。

技術スタック詳細

せっかくの自作なので、ハードウェア選定も少しこだわってみました。

MCU: STM32G474
モータ制御(FOC)とAI演算を両立させるため、演算能力高めなCortex-M4Fコアのマイコンを選びました。

Sensor: ICM-42688-P
6軸IMUです。姿勢推定の要になります。

Actuator: Gimbal Motor + SimpleFOC
安価なジンバルモータを、ベクトル制御でヌルヌル動かす予定です。

AI/Sim: PyTorch, Isaac Gym, STM32Cube.AI
学習環境の構築からやっていきます。

25日間の予定地

これからクリスマスまでの25日間、以下のような流れで進めていく予定です。(予定は未定!)

第1週:シミュレーションと制御理論
まずはPCの中でロボットを定義して、AIに「立ち方」を教え込みます。

第2週:ハードウェア設計とSTM32実装
基板を設計したり、ハンダ付けしたり、マイコンのドライバを書いたり。

第3週:Edge AIの実装とHILテスト
PCで育てたAIをマイコンに移植して、ちゃんと動くかテストします。

第4週:実機統合とプロジェクトの総括
全てを組み合わせて、実際に立たせてみます。

最終日(Day 25)に、何かしらのデモ動画(実機が無理ならHILで…!) をお見せできるように頑張ります。

おわりに

成功も失敗もひっくるめて、開発の過程を垂れ流していく予定です。 同じようなモノづくりに興味がある方の暇つぶし、あるいは何かの参考になれば幸いです。

明日 Day 2 は、Pythonを使って 「物理シミュレーション環境」 を作っていきます。

それでは、25日間お付き合いください!

アドベントカレンダー参加中
STM32×AIで「3軸倒立振子」を作る25日間(ひとりアドカレ)Advent Calendar 2025

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?