PWMマイクロサーボで2足歩行ロボット

Home > 電子工作 > PWMマイクロサーボで2足歩行ロボット

本記事にはアフィリエイト広告が含まれます。

すき 0
うんこ 0

前回はPWMマイクロサーボ PTK7465のSim.モデルをこしらえて、2足歩行ロボの歩行動作を検証しました。

PWMマイクロサーボを真面目にモデリングしてみる — PTK7465を同定してMuJoCoでSim2Real歩行 —

ロボのSim.モデルをもとにAIエージェント Codexで最適動作を探索して実機で検証しました。
スムーズなSim2Realが実現されPWMサーボのモデリングがうまくいったことを確認しました。

 

ここでは再度PWMサーボモデルを活用して、2足歩行ロボの構造の最適化を行い動作を検証します。

 

AudiostockでBGM・効果音を販売中!

Yaw軸

前回のロボットの足にはYaw軸駆動がなかったので旋回はスムーズにできませんでした。

 

ここでは上のロボの足首ロール軸を廃止して、ヒップのYaw軸にして動作を楽しみます。

機体設計

ヒップYaw軸を有するロボを設計

イイ感じ。

実機製作

設計がうまくいったので実機を製作

 

Yaw軸もバッチリ

 

見事に完成!

Sim.上で組んだロボが現実のものになりました。

 

Codex 最適動作探索

Codexで制作したロボMuJoCoモデルで 足踏み動作の探索を実施してもらったのですが、Yaw軸の追加で足の間隔が広がったため うまく足上げができませんでした。

そこでヒップロール軸をデフォルトで内に15°傾けて足幅を詰めて、足底もそれに合わせて再設計しました。
↓この修正によって足踏みもうまくいくようになりました。

 

先の足踏み動作をもとに前進歩行動作もAIに導出していただきました。

 
Codexによる最適動作探索は以下のように実施していただきました。

  • 周波数・歩幅・足上げ量・腰ロール量・接地比率などの歩行パラメータをランダム生成、または既存の良い歩容の周辺に変異させて候補を生成
  • 各候補をMuJoCo上で数秒間歩かせ、前進距離を報酬、転倒姿勢・横ずれ・後退・ヨー回転・足同士の接触・動きの荒さをペナルティとしてスコア化
  • スコア順に全試行を並べ替え、最良候補をCSVに保存して再生・比較できるようにした

 

Sim2Real

AIによって生成された前進歩行動作を実機に移植します。
生成動作の以下の情報で実機をシーケンス動作させる。
 ・freq:歩行周期 Hz
 ・xAmp:前後の足振り幅 mm
 ・lift:足上げ量 mm
 ・zBase:基本の脚高さ mm
 ・rollAmp:腰ロール角 deg
 ・duty:接地している割合

 
実機も足を修正して歩行動作移植

見事に歩いた!
後進もAI生成シーケンスのxAmpの符号を逆にするだけで実現できました。

 

旋回動作もAIに生成していただきSim2Real達成

Yaw軸がいい仕事をしてくれてスムーズに旋回できております。

 

前後進に旋回動作を混ぜての左右迂回動作も実現

Codexに以下の雑な指示で実現できました。AIヤバいよね。
“前後進のボタン(△、×)を押してるときに左ジョイスティックのXで旋回の探索結果をもとにYaw軸動かして右曲がりとか左曲がりやりたい”

 

おわりに

ここではヒップYaw軸を有する2足歩行ロボを設計してAIで動作生成し実機で確認しました。

 

MuJoCo Sim.で機体設計や動作検証を行い、大きな誤差なく実機で実現できました。
今回の結果から安価なPWMマイクロサーボであっても、応答特性を含めてモデル化できれば、MuJoCo上で設計した歩容を大きな破綻なく実機へ移植できることが確認できました。

ここでの動作はあくまでAIが生成した周期シーケンスですので外乱には弱いです。
次回はこの動作をリファレンスにして強化学習を実施して、外乱耐性を高めたいと思います。

では

 

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください