モーションスクリプトの作り方 歩行編

第2章 重心移動を組み入れた歩行

●重心を移動させる

プチロボXの重心はどこにあるのでしょうか?

写真の状態で直立している時はおよそ写真の
点位置付近にあります
前章でモーションを実行した時は
・重心が中央にあるため足裏の左右両方に、ほぼ均等にプチロボXの重みがかかった
・足を動かしても引きずる状態になっていたため、うまく足が前に出ていなかった
と考えられます。

足を自由に動かすには、動かす足側に重みがかからないようにする必要があります。
つまり重心を移動させ片寄らせる必要があります。

重心はどのように移動させるのでしょうか?
頭の中で考えてもよくわからないと思います。
人はどうしているのでしょうか?
実際に立って片足立ちしてみてください。
腰を傾けて接地している足側に体を片寄らせていると思います。
体を傾けないと、うまく足を上げる事ができません。プチロボXもそれと同じことが起こっていたのです。

次にプチロボXでも腰を動かして重心を移動させてみましょう。
腰に相当するサーボモータは5番と2番です。
ただし腰だけ動かすと頭(肩)部が斜めになるので6番のサーボモータも回転させ水平を保つように調整します。
前章のスクリプトに腰を動かすスクリプトを追加します。
下記のように
足を動かすスクリプトの前に記述してください。

スクリプトを追加する

;歩行テスト
S1
5+30,2+30,6+30

1+30,0-30,4-30,3+30
1-30,0+30,4+30,3-30
【Tips】
◆空白行の有効利用
上の記述のように空白行を設けることでスクリプトの実行をその行で一時停止させることができます。(内部処理的には空白記述検出エラーで停止しているのですが)
意図的に空白行を挿入することで、その直前のスクリプト動作実験や検証が容易になります。

例えばスクリプトの意味(動き)がわからない場合は、その位置に空白を入れて停止させ動作ポーズとスクリプトの数値データを読み解くことで、その動きと各サーボモータの数値設定(角度)の対応が容易に理解できます。
腕の上下運動などのシンプルなモーションは止めなくてもなんとなくわかりますが、前転などの複雑な動きのスクリプトではどこが何の動作か見ただけでは理解しづらい場合があります。
この方法はモーションスクリプト作成時にぜひ活用したいテクニックのひとつです。

ここで記述したスクリプトを実行してみましょう。
「ホームセット」ボタンを押して一旦ホームに戻し「モーション開始」ボタンを押してください。

実行結果
プチロボXが5番サーボモータ側に傾き
写真のように左足が少し浮き上がれば成功です。
重心位置が右に移動し右足裏に全重量がかかります。

正面アップ 側面アップ

→ 動画 「片足上げ」

腰を動かす事で少し右に重心が移動しています。
重心が少し右に移動するのでプチロボXの重量は右足にすべてかかる事になり、
左足がフリーになります。
これで左足が前でも後ろでも自由に動く状態になっています。


・左足が浮かなかった時
スクリプト実行後に片足が浮かず、写真の様に左側に傾く場合は、ホーム位置がズレている可能性があります。

プチロボXが真っ直ぐになるように、
ホーム位置を再度設定しなおしてみましょう。

特に腰の2,5番サーボモータは少し動かすだけで変わりますので注意して少しずつ調整してみてください。
※ホームセットで5番サーボモータをマイナス方向に修正(足が内向き)すると足が浮きやすくなります。

【注意!】動作は平らな場所で行ってください。でこぼこしていたり、傾いているとうまく動作しません。うまくいかない場合は場所を変えたり、手で一旦持ち上げて、真っ直ぐ立たせた状態にしてリトライしてください。

※フレームが歪んでいたり、ホームセットが甘いと、どうしても上記スクリプトでは片足だちにならない場合があります。そのままでは歩行が「すり足」ぎみになりますが動作原理を理解する上では問題無いので調整してもダメな場合はそのまま次に進んでください。


●重心移動を歩行スクリプトに組み込む

足を上げすぎるとバランスが安定しないばかりか、サーボモータが動く時間もその分かかります。
実際の歩行の時は、ほんの少し浮かすだけで十分なので
移動量30を10に変えて、次の行とつなげてみましょう。

;歩行テスト
S1
5
+10,2+10,6+10
1+30,0-30,4-30,3+30

1-30,0+30,4+30,3-30

スクリプト行ごとの意味
5+10,2+10,6+10 (腰の傾け、右側へ重心移動)
1+30,0-30 (左足、膝から前だし) 4-30,3+30 (右足、足首から前だし)

ここで記述したスクリプトを実行してみましょう。
「ホームセット」ボタンを押して一旦ホームに戻し「モーション開始」ボタンを押してください。

実行結果
右足に重心が移動し左足がきれいに前に出たと思います。
最終的に写真のように左足が出れば成功です。
動きを動画で確認してください。

>> 動画 「片足 前だし」

次に逆の足を動作させるので、同じように重心を今度は左に移す腰の動作を行います。
足の動作と同じように単に左右逆なので逆回転方向にサーボモータを回します。

腰の動作で重心を左に移す記述を挿入します。

;歩行テスト
S1
5+10,2+10,6+10
1+30,0-30,4-30,3+30
5-10,2-10,6-10
1-30,0+30,4+30,3-30


スクリプト行ごとの意味
5+10,2+10,6+10 (腰の傾け、右側へ重心移動)
1+30,0-30 (左足、膝から前だし) 4-30,3+30 (右足、足首から前だし)
5-10,2-10,6-10 (腰の傾け、左側へ重心移動)
1-30,0+30 (左足、足首から前だし) 4+30,3-30 (右足、膝から前だし)

ここで記述したスクリプトを実行してみましょう。
「ホームセット」ボタンを押して一旦ホームに戻し「モーション開始」ボタンを押してください。

実行結果
右足に重心が移動し左足が前に出た後、
今度は逆に左足に重心が移動し右足が前に出ます。

>> 動画 「1歩 歩行」

動きを動画で確認してください。

正しく動きましたか?
歩行は基本的に、この4行のスクリプトの繰り返し動作で行えます。


●腕の動きを歩行スクリプトに組み込む

上記のスクリプトだけでも歩行はできますが何かもの足りません。
せっかく腕があるのですから腕も人のように振って歩かせてみましょう。
さらに動作速度も速くなるように変えてみましょう。

動作速度の変更
S1 → S10

腕振り動作の追加
8番が右手、7番が左手のサーボモータになります。
前に出すのは+方向、後ろにするのは-方向になります。
左足から前に出るので右手を前に出し左手を後ろにします。 8+40,7-40
この動きは足の動きと同時に行うので同一行に追加します。
1+30,0-30,4-30,3+30,8+40,7-40

同じ要領で逆の足が出る時は手の動きも逆にします。
1-30,0+30,4+30,3-30,8-40,7+40


スクリプトはこれ以上追加しないので、スクリプトの終わりを宣言する
"END"を最後に
書き加えます。

;歩行テスト
S10
5+10,2+10,6+10
1+30,0-30,4-30,3+30,
8+40,7-40
5-10,2-10,6-10
1-30,0+30,4+30,3-30,
8-40,7+40
END

ここで記述したスクリプトを実行してみましょう。
「ホームセット」ボタンを押して一旦ホームに戻し「モーション開始」ボタンを押してください。

実行結果
前回の歩行動作に加えて手を振る動作が加わりましたか?
動画と同じかチェックしてみましょう。


>> 動画 「手を振って歩行」

動画と同じように正しく動作しましたか?
正しく動作した場合は製作したスクリプトをファイルとして保存しておきましょう。


●スクリプトファイルの保存
ファイルとして保存する事で再びスクリプトを呼び出して動作させたり、フォーム左下のボタンにも登録する事ができます。


フォーム右下のコマンドボタン群の「保存」をクリックしてください。

記述したスクリプトがファイルとして保存されます。この場合は

歩行テスト.msf というファイル名で保存されます。

※保存が完了するとボタンのすぐ上の所にファイル名が表示されます。
※ファイルはアプリケーションの実行ファイル(Puchi_RoboX.exe)がある所と同じ所に保存されます。
通常は「C:\Program Files\Puchi_RoboX」以下のフォルダになります。

●コマンドボタンの登録
スクリプトファイルをコマンドボタン登録する事で1クリックでスクリプトを実行できるようになります。
登録は全部で12種類可能です。(登録削除はできません。消したい時は上書きしてください。)

登録手順
1.エクスプローラなどでスクリプトファイルのあるフォルダを開いて下さい。
2.登録したいファイルを登録したいボタンの上にドラッグ&ドロップ(マウスでつかんで登録ボタンまで移動して離す)してください。

↑登録されると画像の様にファイル名が表示されます


●保存したスクリプトをモーションスクリプトボードにロードする
ファイルで保存したスクリプトを再び編集したい場合やスクリプトを実行したい場合はモーションスクリプトボードにファイルを読み込む必要があります。

読み込み手順
1.フォーム右下のコマンドボタン群の「開く」をクリックしてください。
2.ファイル選択フォームが表示されるので該当のファイルを選択して表示フォーム内、右下の「開く(O)」をクリックしてください。

歩行の基本動作とスクリプトの作成手順は以上です。
工夫して足上げの高さや、歩幅、速度を変えたりして、いろいろと試して見ましょう。

次章では応用の一例として高速歩行のスクリプトを作成します。



<<前章へこのページトップへ ^サポートページトップへもどる次章へ >>