シリアルリンク 2足歩行ロボットの製作4 ー 歩行動作 ー

Home > 電子工作 > シリアルリンク 2足歩行ロボットの製作4 ー 歩行動作 ー
すき 0
うんこ 0

これまでロボの強化学習について検討してきました。
学習に耐えうるモデルを制作し、中腰バランス動作を実機検証しました。

強化学習への道7 -ロボット強化学習3-

 

静止状態でのバランス動作実現までにかなり時間がかかり、ここから歩行実現となると一生かけてもできそうにありません。
強化学習が何たるかが理解でき大変勉強になりましたが、システムや動作が複雑になると計算量も膨大となり伴って検証すべき項目も増えます。

モータ 1個レベルでの動作であればほどほどの時間で結果を得ることができますが、モータを複数使用するロボの強化学習は本当に大変でした。
学習を収束させるための報酬設計を検証するのにめちゃくちゃ時間がかかるのです。
そもそもニューラルネットワークの構成も適切なのかなど未だにつかみきれてない部分も多々あります。

高級GPUの並列処理で膨大に計算させるのが解だと思うのですが、貧乏人の私がそこに参戦しても時間溶かすだけというのが今の結論です。

ということで手で歩行動作を製作していきます。

シリアルリンク 2足歩行ロボットの製作3 ー 足踏み動作 ー

やっぱ手だろ手
俺はガチエンジニアだからな

機体調整

強化学習Sim2Real検証用仕様になっていたロボ機体をもとに戻します。

 

構成は以下の通り

中枢コントローラATOMと各モータドライバをCAN通信でやり取りさせます。
通信システムは以下の通り

ATOMから各関節の角度を指定して、左右の足首モータからはトルク(負荷電流)が送信されます。

 

    • ブラシレスモータ 5010 360KV 

 

    • CANモジュール VP230

 

    • BLDCコントローラ MKS ESP32 FOC V2.0

 

  • 磁気エンコーダ AS5600

     
  • LiPoバッテリ

歩行検討

前回までに実現していた足踏み動作をベースに歩行モーションを作りこみます。

ピッチ角に対して何もケアをしていないのでちょっと不安定。。。

ピッチ角補正

IMUで機体ピッチ角を検知して足首モータにPD制御でフィードバックさせてみた。

動作が非常に安定しました。
特に前進後進歩行時に機体が大きく前後に傾きそうですが、足首で踏ん張ってくれています。
シリアルリンク機構を導入して足首にもモータを採用したご利益が大きく出ました。

 

歩行モーションはまだまだ改善の余地がありますが、元気に歩けるようになりました。

 

動作を簡単におさらい

  • 地面を蹴って機体を傾ける
     蹴る高さと時間はパラメータ値として指定
  • 蹴り上げ後に足を上げる、歩行時は同時に両足を前後させる
     上げる高さと時間はパラメータ値として指定
     この間ロール軸は機体傾きのPD制御で足を傾けている
  • 蹴り上げによって傾いた機体が下がるタイミングをIMUの角速度で検知して
     足高さを初期値に戻す
  • 上記動作時に機体ピッチ角のPD制御で足首を傾け姿勢保持

おわりに

ここではブラシレスモータを用いた4自由度 シリアルリンク機構の2足歩行ロボットの歩行動作の検証をしました。

一番負荷のかかる足首モータも問題なく動作してくれて、ピッチ角補正にも大きく寄与してくれました。

今後は歩行モーションに磨きをかけていこうと考えています。

ではまた

コメントはこちらから

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.