
強化学習入門レシピ本を書きたい俺1
本記事にはアフィリエイト広告が含まれます。
HomeMadeGarbage Advent Calendar 2025 |1日目
先日つぶやいたコチラのポストへの反応が凄くよかったのです。
強化学習について興味を持っている人が多くいるのだろうと感じました。
←誉れ高き古典制御による職人技
→トレンドに乗じただけの軽佻浮薄な強化学習 pic.twitter.com/2KXuYIY5Nt— HomeMadeGarbage (@H0meMadeGarbage) November 5, 2025
そこで
“リアクションホイールで強化学習実践レシピ Sim.からRealまで網羅の完全版”
みたいな入門レシピを書いてみよう思い立ちました。
商用のロボット犬やヒューマノイド用の強化学習ライブラリは多数登場していますが、実機確認が難しいですし
そもそも学習を実施する計算機のスペック要求も高く敷居が高いのが現状です。
ここではモータ 1個で作れるリアクションホイール型倒立振子をテーマにして
気軽に手を動かしながら強化学習を学ぶことのできるレシピの制作過程を連載形式でお送りしたいと思います。
目次
おさらい
私が強化学習のお勉強を開始したのはもう半年以上前で、その間に世の中も自身の持つ情報にもいろいろアップデートがなされているので
まずはリアクションホイール倒立振子の製作からおさらいしようと思います。
実機動作 (Real)
久しぶりに “強化学習への道”のブラシレスモータ倒立振子を動かしてみました。
強化学習入門レシピ本を書きたい俺
真心を込めた手動パラメータ調整
実に素晴らしい倒立 pic.twitter.com/esTxjgHqie— HomeMadeGarbage (@H0meMadeGarbage) November 29, 2025
ベクトル制御によるトルクモードでブラシレスモータを動かして以下のようにフィードバックさせて
各ゲイン(Kp, Kd, Kw)を調整(職人技)して倒立を実現しています。
モータトルク = Kp * 機体角度 + Kd * 機体角速度 + Kw * モータ回転速度
MuJoCoモデル
続いてブラシレスモータ倒立振子のMuJoCoモデルも動かしてみました。
強化学習入門レシピ本を書きたい俺
MuJoCoで物理モデルつくって
こちらも実機同様に真心を込めて手動パラメータ調整
当然に素晴らしい倒立#MuJoCo pic.twitter.com/PYuO2veZpX— HomeMadeGarbage (@H0meMadeGarbage) November 29, 2025
制御方式は実機(Real)と全く同じでSim. 上で機体角度・角速度、ホイール回転速度を取得してゲイン調整して倒立させています。
“強化学習への道” でも確認したようにMuJoCoは素晴らしい物理シミュレータなので、しっかりモデリングすれば実機と全く同じ感覚でモノの動作を楽しめます。
強化学習 おさらい
続いて強化学習のおさらいを実施
強化学習は “強化学習への道” の時と同様に
Gymnasium + Stable-Baselines3 (PPO) で実施して MuJoCoで動作確認 (Sim2Sim) します。
学習はどなたでも楽しめるようにCPUで実施して、SubprocVecEnvでCPUコア数に応じて並列処理して高速化します。
強化学習結果
ホイール回転抑制の報酬重みを調整して
なんとか揺れが抑制できた#強化学習 pic.twitter.com/81Mr7eUTpA— HomeMadeGarbage (@H0meMadeGarbage) November 30, 2025
以下の報酬で上の倒立結果を得ました。
・機体角度、角速度とホイール回転速度を最小にする
それぞれの報酬の重みの設計が結構大変でした。
また学習時にたまに(頻度5%)、機体横からと回転方向に外乱を与えてロバスト化をはかりました。
おわりに
ここでは強化学習入門レシピ本の制作をめざして、強化学習実施までのおさらいをしました。
レシピには倒立振子実機は製法は当然のこと、MuJoCoモデルの製法や強化学習の環境・設定について詳しく明記が必要だなと現状感じております。
また強化学習時の報酬設計も現状トライ&エラーになってしまうので大変です。
次回は強化学習結果を実機で確認 (Sim2Real)します。
レシピ向けの機体のスペック検討も行います。
それでは次回またお会いいたしましょう!
