開発事例 開発事例

WORKS

オリジナル四脚ロボットのSim2Real ―履歴情報を追加したポリシーを実機へ

(2026年8月18日現在の記事です。)

はじめに

 クフウシヤでは、国産オリジナル四脚ロボット開発に取り組んでいます。歩行ポリシーは、強化学習をベースに開発しています。
これまでの記事では、ポリシーの出力にEMA(指数移動平均)による平滑化を導入して実機での歩行を安定させた様子や、Unitree Go2に「履歴情報を追加したポリシー」を適用してオープン階段の昇降に取り組んだ検証の様子を公開してきました。

■ ポリシーの出力にEMA(指数移動平均)による平滑化を導入

■Unitree Go2に「履歴情報を追加したポリシー」を適用してオープン階段の歩行に挑戦

今回はその続編として、Go2で有効性を確認した履歴情報付きのポリシーを、自社開発のオリジナル四脚ロボットに適用したSim2Realの開発の様子をご紹介します。

履歴情報を追加したポリシーとは

通常の歩行ポリシーは、「その瞬間の関節角度・角速度・姿勢・指令値」といった現在の観測(observation)だけを見て、次の関節指令(action)を決めています。
しかし、実際のロボットは、脚が接地しているのか、空中にあるのか、床が滑りやすいのか、通信にどれだけ遅れがあるのか、、、といった情報を、1瞬のスナップショットから読み取ることができません。

そこで、ポリシーを展開開始した直後からobservationの各項目の全ステップの情報をどんどん重み付けをしてスタックし、それらを履歴情報としてポリシーの入力に追加しています。
時間方向の変化を手がかりにすることで、接地状態や外乱、機体特性のずれといった「直接は測れない情報」を暗黙的に推定できるようになります。
この性質は、シミュレーションと実機の差を吸収するうえでも有利に働くことが期待されます。

Isaac sim上で、オリジナル四脚ロボットのモデルで学習させている様子①
Isaac sim上で、オリジナル四脚ロボットのモデルで学習させている様子②

機体が不定期にバタつく現象

今回、ロボット実機に載せたのは、この履歴情報を追加し、さらに出力側にEMA(指数移動平均)による平滑化を組み込んだポリシーです。
学習に使った環境とは別のシミュレータで検証するSim2Simの段階では良好に歩行していました。
ところが、実機でポリシーを適用した際、不定期に機体がビクっと振動する動きが確認されました。

原因究明のために、ポリシーに入力しているobservationを1step単位でロギングしました。
暴れが発生した前後を時系列で突き合わせたところ、モーターの角度情報に、突然 「 -9.31rad (脚が533°回転)」という 機構的にあり得ない値が混入していることが分かりました。

observationを1step単位でロギングしたグラフ

異常値への対策を進めた結果、履歴情報付き・EMA有りのポリシーによるSim2Realで、微小振動することなく歩行できるようになりました。
この段階では「action_scaleを0.1」に抑えており、いわばヨチヨチ歩きの状態ですが、不安定な挙動をしていた機体が自分の脚で静かに歩き出すことができました。

新たな課題

現状のポリシーは既にaction_scaleが0.2で、初期姿勢も微調整済です。
今後、段差や不整地歩行でのSim-to-Realに挑戦していきます!

Go2で確認した履歴情報付きポリシーの強みを、オリジナル四脚ロボットでどこまで引き出せるか。
次回は、初期姿勢の調整とaction_scale 0.2での安定歩行、そしてその先の段差・不整地への展開をお届けします。

先日のネットワンシステムズ様 主催による「フィジカルAI共創イベント」にて展示した、オリジナル四脚ロボット「AQURO」の段差チャレンジの様子。

イベント参加レポートは、以下のクフウシヤ公式noteからご覧ください。
■ note:【イベントレポート】ネットワンシステムズ様 主催「フィジカルAI共創ワークショップDay2」に参加!

おわりに

四脚ロボットの現場活用や、ヒューマノイドロボットやアームロボットなど、貴社の用途に合わせたPoC(実証実験)にご興味をお持ちの方は、ぜひお気軽にご相談ください。

WORKS

CONTACT

CONTACT

弊社へのお問い合わせは下記のページより承ります。

ご質問やご依頼など、お気軽にご連絡ください。

お問い合わせはこちら