>

> JO-ZERO.JPG - 17,610BYTESJO-ZERO JOZコントローラ MotionGenerator


・入門編その1 MotionGeneratorとは。

 2足歩行ロボットキットを購入組立を行った後、プログラムやモーションを作成していくのですが、2足歩行ロボットとして基本とも言える歩行モーションの作成はかなりたいへんな作業となります。

 通常、ホビーロボットの歩行モーションはパラパラ漫画方式で作られるのですが、これがたいへん手間なうえ、一度成功したモーションも歩行速度や歩幅などを変更したり、路面状況(摩擦抵抗ややわらかさなど)が変わるだけで歩けなくなったりします。

 しかし、MotionGenerator機能を搭載したJOZコントローラであれば、パラメータを設定するだけで簡単に歩行モーションを自動生成することができ、設定した条件での歩行実験を直ちに行うことができます。

 実験結果によってパラメータを修正すれば本当に簡単に確実に歩行できる歩行モーションを作成できます。

 JO-ZERO&STD-ZEROはプログラムを格納するためにMicroSDカードを採用していますが、様々な歩行モーションをあらかじめ登録し、ロボットの動作中に必要に応じて(リモコン操作&プログラムで)呼び出し先を切り替えることで路面変化や用途に応じて歩行モーションを切り替えることが可能です。

 作成されたデータは逆運動学を基にしており、左右の体重移動の際も腰部の高さは一定です。
もちろん、前進する場合にも腰部の高さは一定です。

 同じ歩幅で歩行し続ける限り、腰部の進行方向への速度は等速度運動になっているので上体が揺らぐ恐れも少なくなっています。

 MotionGeneratorで生成される歩様は単純な楕円軌道ではなく、移動するための歩様となっています。

 具体的には体全体を移動方向に推進するための半涙滴型歩様となっています。

 具体的な様子はぜひMotionGeneratorを使用し、低速度大また歩行を行わせてみていただければ様子を観察することができます。

 ぜひ、ご自身のJO-ZERO&STD-ZEROでご確認ください。


・MotionGeneratorの画面

JOZCMG3.JPG - 118,611BYTES

 MotionGeneratorの画面例です。

 本画面で必ず設定しなければいけない要素(項目)は基本屈伸姿勢左右体重移動量、循環速度、歩幅、足上げ量、歩数です。

 基本的に上記の項目にパラメータを設定すれば歩様を自動生成することが可能です。

 そのほかのパラメータはさらに洗練されたモーションを生成するためのオプションとなります。


・MotionGenerator入門 基本姿勢の設定

 MotionGeneratorで歩行モーションを生成する際にもっとも大事となるのが基本屈伸姿勢です。

 基本屈伸姿勢はJO-ZERO&STD-ZEROのホームポジションである直立状態から、何mmしゃがむか、という数値で、本数値が大きくなるほど、深く屈伸することになります。

 指定値はmm単位で行われ、0mm(直立)から75mm(最屈伸)まで設定は可能ですが、直立では設定可能な歩幅が0mmに、最屈伸では足上げ量の最大値が0mmとなり、それぞれ歩行することはできません。

 およそ、5から35mmで任意の値を入力すればよいのですが、基本的に大きな数値を入力し、屈伸が深くなればなるほど設定可能歩幅が大きくなります。

基本屈伸姿勢欄に数値入力を行うと、つどメッセージ欄に設定可能歩幅がmm単位で表示されます。

 ただし、深い屈伸姿勢を基本とした場合、膝関節や股関節、足首関節のサーボモータに大きな負荷がかかり、長時間負荷をかけたままにするなどした場合、故障等が発生する場合があります。(屈伸70mmなどを設定した場合です。)

屈伸姿勢が深い場合、動的な安定性が高くなります。

これはロボットの重心(JO-ZEROの場合、重心はほぼ腰前後軸のサーボモータ辺りになります。)から見た見掛けの足裏面積が大きく投影されるためです。

この関係は足開き量というパラメータにも関連し、屈伸量が大きくなると前後方向の投影面積が大きくなり、足開き量が大きくなると左右方向の投影面積が大きくなります。

 それではまず、基本屈伸姿勢を作ります。

 ・JO-ZEROとPCをシリアルケーブルで接続します。

 ・JO-ZEROの電源を投入します。

起動音を確認し、終了するまで待ちます。

 ・MOTION GENERATOR画面のBOARD LINKチェックボックスにチェックを入れます。

JO-ZEROが動作を開始し、直立状態(ホームポジション)になります。

 ・基本屈伸姿勢欄に任意の数値を入力します。

ここでは25を入力し、25mm屈伸するという指定にしてください。

 ・「基本姿勢プログラム生成」ボタンをクリックします。

プログラム欄に基本姿勢に設定するためのMOVE命令が生成されます。

 ・「プログラムテスト実行」ボタンをクリックします。

プログラムが実行され、JO-ZEROが屈伸姿勢をとります

 ・屈伸姿勢に納得がいった場合は「生成プログラムを転送」ボタンをクリックし、屈伸姿勢のプログラムに名前を付けて登録します。

 


・MotionGenerator入門 歩行に必要なパラメータの入力 その1

 歩行に必要なパラメータを入力していきますが、その順番は下記のようにするともっとも容易に確定していくことができます。

お願い事項:重心移動左右配分と言う表示のスライダをあらかじめ60となるように設定してください。本項は標準的なJO-ZEROのバランスに合わせるためです。

・循環速度 2歩繰り返すに必要な時間を秒数で入力します。

普通に人間が歩くような場合は1循環を1秒程度にするとよいです。(ここでは1秒を入力しておきます。)

早歩きや、(見かけ上の)走る、などの場合は0.1秒や0.01秒、0.001秒などを指定する場合もあります。

・足上げ量 歩行するにあたっての足を接地面から引き上げる高さをmm単位で入力します。

摩擦抵抗が高い床面の場合などは比較的高い足上げ量に設定すると安定して歩行できます。

高速歩行を行いたい場合は歩様軌道を短くする為に足上げ量を下げる必要があります。

ここではテストの為に標準値としている15を入力してください。

・歩数 歩行テストの歩数を入力します。通常5歩程度でよいです。

JO-ZEROが基本屈伸姿勢であることを確認します。

基本屈伸姿勢で無い場合は前項を確認し、屈伸基本姿勢に設定してください。

・ここまで準備が整ったら、「歩行軌道生成」ボタンをクリックします。

軌道座標が計算され、それに対応したプログラムが表示されます。

・いよいよ動作テストを行いますが、体重移動量などをまだ設定していないので、このまま実行すると確実に転倒します。

まず、ロボット本体の頭部などを片手で支え、転倒しないようにします

次に、プログラムテスト実行ボタンをクリックします。

ロボットの足ふみ動作を確認します。

足ふみ動画


・MotionGenerator入門 歩行に必要なパラメータの入力 その2

 先の足ふみテストでは体重移動量を設定していないために、転倒してしまうものでした。

 つづいて、体重移動量等を設定していきます。

・左右体重移動量 まずは基本となる数値15mmを入力します。この数値は足開きパラメータを指定していない場合の低速度歩行時の体重移動量です。

高速な歩行を行う場合は体重移動量は小さくなっていきます。

循環速度が0.001などの超高速指定を行った場合などは体重移動量の設定が0でよい場合もあります

これは遊脚があがってバランスを崩し、転倒する前に遊脚が接地するためです。(ロボットの姿勢が慣性で支えられている状態です)

・歩幅 歩幅は設定可能歩幅の4分の1程度からはじめるとよいでしょう。

25mm屈伸指定の場合、設定可能歩場は41.89mmほどになりますから、10mm程度の指定で初期テストを行い、順次歩幅を増やします。

・右足遊脚時左股関節補正と左足遊脚時右股関節補正

本項は支持脚となった足側の股関節ロール軸の補正値を入力するものです。

支持脚側の股関節ロール軸は遊脚発生時に自身の体重に負けてしまい、遊脚側にさがってしまいますが、これを補償するための係数となります。

この値を大きくすると歩行時の動作が相撲のしこふみのようになりますので大きくしすぎることは避けたほうがよいですが、このあたりはユーザーの嗜好となります。

ここでは適当と思われる15を入力します。これは補償角度を15度にするという指定です。

この欄が小さいと遊脚を引き上げたにもかかわらず、遊脚側が接地したままとなる場合があります。

いろいろな数値を入力してテストしていただきたいのですが、最大でも45ぐらいまでにしたほうがよいと思います。(もちろん、大きすぎると跳ね上げすぎて転倒します。)

JO-ZEROが基本屈伸姿勢であることを確認します。

基本屈伸姿勢で無い場合は前項を確認し、屈伸基本姿勢に設定してください。

・さて、ここまでパラメータを入力しましたら、動作テストを行います。

「歩行軌道生成」ボタンをクリック、プログラムを生成します。

「プログラムテスト実行」ボタンをクリック、歩行動作を確認します。

このとき、ロボット本体を手で持つ必要はありませんが、転倒に備えてロボットを支えることができる姿勢をとってから、「プログラムテスト実行」ボタンをクリックしてください。

おそらく、問題なく歩行していると思いますので、歩幅を任意の数値(最大設定可能歩幅を超えない範囲で、今回の場合、38mmぐらいまで)を入力し軌道生成、テスト実行を行ってください。

38mm歩幅を指定した場合、1歩の移動距離は76mmとなります。

簡単に歩行できるはずなので、ぜひ試してください。(転倒に備えることはお忘れなく!)

10mm歩幅歩行動画

20mm歩幅歩行動画 

38mm歩幅歩行動画


・MotionGenerator入門 オプションパラメータの入力 その1

 MotionGeneratorには様々なオプションパラメータがありますが、そのうち代表的なものをあらかじめ解説します。

・腕振り連動 本項にチェックを入れると歩行時に歩様に合わせて腕を前後に振るようになります。

腕ふり幅は連動倍率欄に入力された数値が乗じられるので、任意の数値を入力してください。

ここでは2を入力しておきます。

この時点で、前項の内容を確認して歩行テストを行ってみてください。

歩行時に大きく手を振るはずです。(38mm歩幅時)

・腰部水平回転角 本項に数値を入力すると歩様に合わせて腰のヨー軸(水平軸)を回転させます。

本項にはテストとして20を入力してください。これは最大20度ヨー軸を回転させる設定となります。

上記、2項目をよく調整すると、歩様が安定し、様々な床面での高速歩行が可能になります。

どのテストを行う際も、必ず転倒に備えておくことを忘れないようにしてください。

38mm歩行動画腕振り連動腰回転あり

入門編1 終了 入門編2へ続きます。