二足歩行ロボットのモーション作りにおいて、最も難しいのが歩行モーションの作成だ。高速で安定した歩行をパラパラマンガ形式で作成するには、モーション作りのセンスと根気が要求される。しかし、今回紹介する「モーションジェネレータ」を使えば、計算歩行による理想的な歩行モーションを、誰でも簡単に作成することが可能だ。
● 自由度の高い計算歩行が可能に
二足歩行ロボットは、キットにせよ自作にせよ、ハードウェアが完成したらそれで終わりというわけではなく、ロボットを動かすためのモーションを作成する必要がある。一般的な二足歩行ロボットは、20個前後のサーボモーターが搭載されており、それぞれのサーボモーターに角度指示を与えることで、モーションを再生する仕組みになっている。いくら強力なサーボモーターを搭載した二足歩行ロボットでも、それに見合ったモーションを作らなければ、その性能は発揮できない。逆にいえば、ハードウェア的には全く同じロボットでも、モーション次第でより速く歩行したり、より強いキックができたりするわけだ。
このようにモーション作成は非常に重要なのだが、初心者にはなかなか難しい作業だ。特に難しいのが歩行モーションだ。歩行は、二足歩行ロボットのもっとも基本的な動きの一つだが、高速で安定した歩行モーションを作るのは、非常に難易度が高い。
歩行モーションの作成方法には、大きく分けて2種類の方法がある。1つは、手で1つ1つのサーボモーターの角度を指定して、1コマずつポーズを作り、それをつなぎ合わせていく方法で、もう1つが足裏の軌道を決めて、そこから逆運動学(目標座標から関節の角度を計算する方法)を利用して、各サーボモーターの角度を計算で求める方法だ。
前者は俗に「パラパラマンガ方式」とも呼ばれ、優れたモーション作りにはセンスが要求される。後者の方法は「計算歩行」とも呼ばれ、歩幅や足を上げる高さなどのパラメータを変えることで、即座に新しい歩行モーションを作れることが利点だ(狭義の計算歩行は、ロボットに搭載したコントールボードでリアルタイムで逆運動学計算を行ない、サーボモーターを制御することを意味するが、あらかじめパソコンで計算して作ったモーションデータをコントロールボードに転送して動かすのも、広い意味では計算歩行といえる)。
ROBO-ONE常連のロボットビルダーは、オリジナルの二足歩行ロボットで計算歩行を実現している人も珍しくはないが(Excelのマクロなどで逆運動学計算を行なっている人もいる)、KHR-2HVなどのロボットキットユーザーは、手で1つ1つポーズを作り、モーションを作成している人がほとんどであろう。
しかし、今回紹介する「モーションジェネレータ」を利用すれば、自作ロボットでもキットベースのロボットでも、計算歩行による歩行モーションの自動生成が可能になる。高速で安定した歩行モーションは、バトルにおいてもサッカー競技においても、大きなアドバンテージとなる。モーションジェネレータは、計算歩行を行ないたいと思っていたロボットビルダーにとって、非常にありがたいソフトなのだ。
● Motion Processor 2HV専用の歩行モーションジェネレータ
|
近藤科学の最新コントロールボード「Motion Processor 2HV」。非常に高機能なボードであり、RCB-3J/HVからステップアップしたいKHRシリーズやマノイユーザーにもお勧め
|
エスケイパンと姫路ソフトワークスが開発した「モーションジェネレータ」は、近藤科学のコントロールボード「Motion Processor 2HV」専用の歩行モーションジェネレータである。
Motion Processor 2HVは、近藤科学の新製品コントロールボードであり、メインとサブの2つのCPUを搭載し、最大32個のPWMサーボモーター、またはICS 2.0準拠のシリアルサーボモーターを接続できるほか、8つのデジタル入力ポートと14のアナログ入力ポートを備えるなど、KHRシリーズに搭載されているRCB-3J/3HVに比べて、格段に高い機能を備えている。
また、最大16KBのスクリプトプログラムを最大16本まで登録でき、高度なプログラミングが可能である。最近、自律で二足歩行ロボットを動かすことがトレンドとなっているが、高度な自律に挑戦したいという人にも最適なコントロールボードだ。
Motion Processor 2HVでは、「MP2Editor」と呼ばれるモーション/スクリプト作成ソフトを利用するが、モーションジェネレータは、MP2Editorの追加アプリケーションとして設計されている。
なお、以前はエスケイパン扱いのMotion Processor 2HVにのみ、特典としてモーションジェネレータが付属していたが、8月1日からは、近藤科学から販売されているMotion Processor 2HVに標準でモーションジェネレータのWindows版がバンドルされることになった。Motion Processor 2HVの魅力がより高まったといえるだろう。
なお、エスケイパンのオンラインショップ「ロボスタンド」では、Motion Processor 2HVのMac対応版(MP2EditorのMac版とモーションジェネレータのMac版がバンドル)が販売されているので、Macintoshユーザーは、ロボスタンドから購入することをお勧めする。
● 簡単に歩行モーションを作成できる
|
今回は、Motion Processor 2HVを搭載したKHR-2HVを利用。頭部は、ゴジックファイブのものに交換されているが、それ以外はほぼノーマルのKHR-2HVで、ジャイロも非搭載である
|
それでは、早速モーションジェネレータの機能や使い方を紹介しよう。モーションジェネレータは、左右の足に重心移動が可能なヒューマノイドタイプの二足歩行ロボットなら、ほとんどのロボットに対応し、歩幅や足上げ量などのパラメータを設定するだけで、自動的に歩行モーションを生成することが可能だ。今回は、Motion Processor 2HVを搭載したKHR-2HVをお借りしたので、そちらで試してみたい。
まず、MP2Editorを起動し、シリアルポート番号などの初期設定を行なう。次に「Robot Data」を選択して、ロボットの下半身の情報を入力する。KHR-2HVのような、膝シングル構成のロボットだけでなく、最近流行の膝ダブルサーボにも対応可能だ。
ロボットの情報を入力できたら、「Motion Generator」をクリックし、モーションジェネレータを起動し、歩行パラメータを入力する。歩行パラメータはかなり多いが、特に重要なのは「基本屈伸姿勢」「歩幅」「左右体重移動量」「足上げ量」の4つだ。
基本屈伸姿勢は、歩行開始など基本となる姿勢の屈伸姿勢を、脚を縮める距離で指定するものだ。この値を大きくすると、歩幅を広げることができるが、大きくしすぎると関節の可動域が足りなくなり、歩行できなくなる。歩幅は、1歩分の歩幅を指定するもので、実際には、1循環2歩分を生成するので、その2倍進むことになる。左右体重移動量は、歩行の際に左右に体重移動を行なう距離を指定するもので、ロボットの大きさや足裏サイズなどによって調整する必要がある。足上げ量は、歩行動作時に引き上げる脚の高さを指定するものだ(単位は全てmm)。
歩行に必要なパラメータをすべて指定したら、「歩行モーション生成」をクリックすることで、足裏軌道が生成され、逆運動学計算による各関節の角度が導き出される。生成された歩行モーションを実機で試すには、「BOARD Link」にチェックを付けて、「プログラムテスト実行」をクリックすればよい。パラメータの調整を繰り返して、満足いく歩行ができたら、「プログラム&データをL3PGに転送」をクリックすることで、Motion Processor 2HVのメモリに生成されたモーションのプログラムとデータがL3プログラムとして転送される。
パラパラマンガ方式で歩行モーションを作る場合、歩幅や足上げ量の変更は、手で1つ1つポーズを変更していく必要があるが、モーションジェネレータを使えば、パラメータを変更してボタンを押すだけで、そのパラメータに基づいた歩行モーションが生成されるため、ダッシュを必要とする競技に参加する際に、歩行をできるだけ高速化したいという場合にも、短時間で高速歩行モーションを作ることが可能だ。なお、歩幅をマイナスの数値にすれば、後進歩行が生成される。
いくつかパラメータを変えて、歩行モーションを生成してみたが、これまで作るのに苦労していた歩行モーションをあっという間に作成できるのは、非常に便利だ。モーションジェネレータで生成した歩行モーションの実行例をいくつか掲載しておくので、参考にして欲しい。今回試用したKHR-2HVは、ジャイロセンサー非搭載だが、安定した理想的な歩行が実現できている。
|
|
MP2Editorのメインメニュー画面。まずは、「Set Up」をクリックして、Set Up画面を呼び出す
|
Set Up画面。シリアルポート番号やサーボモーターのチャンネル番号の指定などを行なう
|
|
|
次に、POSITION EDITORを開いて、POSITION LISTでホームポジションを登録する
|
Robot Dataを開いて、ロボットの足の長さやサーボ情報などの設定を行なう
|
|
|
Robot Dataの詳細画面。ここでロボットの下半身の情報を入力する。黄色の欄はサーボモーターのチャンネル番号で、オレンジ色の欄は1度回転させるためのステップ数、白色の欄は、関節から関節までの長さを入力する
|
メインメニュー画面から「Motion Generator」をクリックして、モーションジェネレータを起動する。新たにモーションを作る場合は、モーションリスト画面で「新規追加」をクリックする
|
|
|
歩行パラメータ管理画面。まず、「ロボット選択」をクリックして、登録したロボットを選択する
|
ロボット名が表示されていることを確認する
|
|
|
基本屈伸姿勢や左右体重移動量、歩幅、足上げ量などの歩行パラメータを入力する
|
「歩行モーション生成」をクリックすることで、歩行モーションが生成され、中央の表に、計算で求められた右足と左足の座標が表示される
|
|
|
左上の「BOARD Link」をチェックして、コントロールボードとの通信を確立し、「プログラムテスト実行」をクリックすれば、計算によって作成された歩行モーションが実行される
|
【動画】上記のパラメータによる歩行モーション。しっかりと足を上げる、模範的な歩行だ
|
|
|
【動画】歩幅のパラメータを34から20に変更して、歩行モーションを生成。先ほどの歩行に比べて、歩幅が小さくなっていることがわかる
|
【動画】歩幅は34のまま、足上げ量を15から3に変更して、歩行モーションを生成。足をあまりあげない、いわゆる「すり足歩行」に近くなっている
|
● 旋回や横移動、上り、下りにも対応
さらに、8月6日にエスケイパンのサイトで公開された最新版モーションジェネレータ(V2.10、Windows版)では、旋回モーションや横移動モーションの生成に対応し、より便利になった。また、X軸補正や上半身傾斜などのパラメータを設定することで、坂を上る歩行モーションや、坂を下る歩行モーションを生成することも可能だ。今回試用したKHR-2HVは、ほぼノーマル状態であり、バスタブソールやジャイロセンサーは非搭載だ。それにもかかわらず、安定した歩行を実現していることに驚かされる。
最近のROBO-ONEでは、上り下りのあるスロープを自律で転ばずに歩けるロボットにのみ、参加資格が与えられるようになっているが、モーションジェネレータは、ROBO-ONEの資格審査をクリアするためのモーション作りにもきっと役立つだろう。
このモーションジェネレータは、歩行モーション作りの手間を大きく削減してくれる非常に便利なツールだ。KHRシリーズやマノイシリーズのユーザーだけでなく、自作のオリジナルロボットを作りたいという人にも強力な味方となってくれる。モーションジェネレータは、Motion Processor 2HV専用ソフトだが、RCB-3J/HVなどでも利用できるようになれば、より多くの人が恩恵にあずかれるだろう。
|
|
「旋回モーション生成」をクリックすると、旋回モーションが生成される。「左右反転」にチェックを付ければ、逆回転の旋回モーションを生成できる
|
【動画】生成された旋回モーションの例
|
|
|
「横移動モーション生成」をクリックすると、横移動モーションが生成される
|
【動画】生成された横移動モーションの例
|
|
|
坂を上らせる場合は、X軸補正にマイナスの数値を入れ、上半身傾斜をプラスの数値にすると、前傾姿勢で坂を上るモーションを生成できる
|
【動画】坂を上るモーション。かなりの傾斜だが、安定した歩行だ
|
|
|
反対に坂を下らせる場合は、X軸補正にプラスの数値を入れて、上半身傾斜をマイナスの数値にするとよい
|
【動画】坂を下るモーション。後傾姿勢をとることで倒れずに歩行できる
|
■URL
近藤科学
http://www.kondo-robot.com/index.php
エスケイパン
http://www.sk-pang.co.jp/
■ 関連記事
・ 石井英男のロボットキットレビュー ヴイストン「Robovie-X」(第2回) ~ハードウェア組み立て(後編)(2008/04/11)
2008/08/12 19:42
- ページの先頭へ-
|