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

第3章 高速歩行

●サーボモータの速度を変える 

歩行速度を変えるにはどうすれば良いでしょうか?

単純にサーボモータのスピードを変えれば速くなりそうです。
早速下記の様にスクリプト書式の"S"コマンドを使ってサーボモータのスピードを変えてみましょう。

1行目のコメント欄は「高速歩行」に書き換えておきましょう。
これで保存した時、テスト歩行のファイルを残して新しいファイル「高速歩行.msf」が作られます。

S20 → S110
(※Sコマンドは数値を増やす程、速くなります。実用限界は120くらいです。)
と書き換えてみましょう。

;高速歩行
S110
5+10,2+10,6+10
1+30,0-30,4-30,3+30,8+40,7-40
2-10,5-10,6-10
1-30,0+30,4+30,3-30,8-40,7+40
END


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

実行結果:
速くは動きましたが、後ろのめりで転倒しそうです。

>> 動画「サーボモータ速度の変更のみの高速歩行」
※動画は動きをわかりやすくするため「□スクリプト実行ループON」をチェックして連続動作させています。


●サーボモータの移動量を変える 

単に速度を上げるだけでは安定しない様です。安定させるにはどうすれば良いのでしょうか?
力学的には速くて大きな動作程不安定になります。速度を変えても安定しそうですが、ここでは移動量(歩幅)を変えてみましょう。

下記のように足の動きに関係あるサーボモータの移動量を半分にしてみましょう。
腕は直接、歩幅には関係ありませんが、そのままにしておくと移動時間がかかるので時間短縮のために移動量を足のサーボモータと同じにします。

;高速歩行
S110
5+10,2+10,6+10

1+15,0-15,4-15,3+15,8+15,7-15
2-10,5-10,6-10
1-15,0+15,4+15,3-15,8-15,7+15
END

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

実行結果:
小刻みにチョコチョコ歩いていれば成功です。

>> 動画 「移動量も減らした高速歩行」
※動画は動きをわかりやすくするため「□スクリプト実行ループON」をチェックして連続動作させています。


●安定動作させるためのポイント

動作の切れ目の箇所に休止時間を入れてみましょう。
Wコマンドを挿入する事で動作の中に何もしない時間を挿入することができます。
W200 と記述することで 200ms(0.2秒)の休止時間を設定できます。(W=Wait)

動作の切れ目に休止を入れることで高速動作して停止する事による「勢い」が緩和され、次の動作がスムーズにつながります。

;高速歩行
S110
5+10,2+10,6+10
1+15,0-15,4-15,3+15,8+15,7-15

W200
2-10,5-10,6-10
1-15,0+15,4+15,3-15,8-15,7+15
END

Wの時間は実際に動作させて少しずつ変えて調整するしかありません。
いろいろと変えてみてベストな時間を求めてみましょう。

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

実行結果:
先ほどより全体の横揺れが少し治まっていれば成功です。

うまく前に進まない時は股関節(モータ2、モータ5)が内側に寄ってぶつかってる可能性があります。
ホームポジションのセットで少し外側に向くように調整してリトライしてみてください。




●連続歩行させるには

・スクリプトをコピーして貼り付け
モーションスクリプトボード内でマウスをドラッグして文字を選択状態にして右クリックでメニューを出してください。
「コピー」「貼り付け」などの選択がでますので、1歩分の行を選択して、「コピー」を押し、最終行に「貼り付け」する事で簡単に記述することができます。

下記手順 例は2歩進むスクリプトです。
1.コピーする所をマウスで選択
2.右クリックメニューより「コピー」を選択
3.ENDの前に空行を2行入れる

4.ENDのすぐ上の行をクリック
5.右クリックメニューより「貼り付け」を選択
6.前のスクリプトと貼り付けたスクリプトの間に
W200
を挿入する

7.最後に「保存」ボタンを押してファイルとしてセーブして完了です。

※希望の歩数の数だけ操作を繰り返せば決まった歩数を歩かせることができます。


・スクリプト実行ループONを使う
図の「□スクリプト実行ループON」のチェックをマウスでクリックしてチェックを入れてください。
この状態で「モーション開始」を押すことで、モーションスクリプトボードに記述されているモーションを自動的に繰り返し実行を行います。

停止させる時は「停止」ボタンを押すか、「□スクリプト実行ループON」のチェックを外します。

モーション開始
1.モーションスクリプトボードに「開く」ボタンを押してスクリプトデータを読み込む
2.□スクリプト実行ループONをチェック
3.「モーション開始」ボタンをクリック

モーション停止
・□スクリプト実行ループONをチェックを外す又は「停止」ボタンをクリック

スクリプト作成の応用は以上の様な手順です。

基本の歩行スクリプトからでも少し設定値を触るだけで動きが変わります。
S(スピード)やW(ウェイト)をうまく活用して、楽しいスクリプトを作成してみてください。



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