前回までで、マイコンとハードを組み立て、VariBoがロボットのカタチになった。カタチになると「できた~!」という達成感を感じる。だが、ロボットの場合、これはようやく「準備ができた」状態である。
特に、キットロボットは組立てただけでは「誰が作っても同じロボット」だ。しかし、モーションを自作すれば、他にはない「私のロボット」になる。ロボットは、自分の思い通りに動かして初めて、その楽しさと奥の深さを知ることができる。
ということで、いよいよロボットの醍醐味であるモーション作成にチャレンジする。
VariBoのモーション作成は、モーション作成ソフト「VariCon」を使って行なう。今回は実際にモーションを作成しながら、「VariCon」の基本的な使い方を紹介しよう。
● ロボット制御用アプリケーション「VariCon」の特徴
「VariCon」は、ロボットモーションの登録、プログラム開発、再生など全てを行なえる。
基本的な使い方としては、VariConのポジション・エディタでロボットのモーション登録と編集を行なう。VariConでは、ロボットのサーボモータの角度をGUIの画面でマウスで簡単に指定できる。モーション作成は、パラパラ漫画の要領で作っていき、登録したポーズの再生時間も、それぞれ設定できる。
また、VariConでは、BASIC言語ライクのスクリプト・プログラムが記述できる。実数演算、判断機能、キー入力機能があり、逆運動学に基づく計算歩行をすることも可能だ。
VariBoにセンサーを搭載すれば、スクリプト・プログラムを用いて、センサー入力に応じて、腕を振ったり、旋回歩行をする自律モーションの作成が可能となる。またwavファイル再生機能も標準で搭載され、音声を出力することもできる。
このように「VariBo」はユーザーの学習レベルに従って、どんどん高度なことができるようになる。初心者~本格的にロボットの学習をしたい人にお勧めのキットだ。
● 「VariCon」のインストール
まずはVariConをPCへインストールしよう。ただし、VariConにはセットアップが用意されていないので、付属のCDから手動でアプリケーションフォルダをPCにコピーする。また、手動でアプリケーションと拡張子を関連づけする必要がある。今回はWindows XP上で作業を行なった。
まず、付属のCDから「パソコン側アプリケーション」のフォルダ内にある「4DRuntime」と「VARIBO」フォルダをPCのルートディレクトリにコピーする【写真1】。このとき、フォルダに「読み取り専用」プロパティが設定されている場合は解除しておく。
「VARIBO」フォルダを開き、その中の「VARIBO.4DB」をダブルクリックする。まだ拡張子はアプリケーションと関連付けされていないため、アプリケーションを選択するダイアログが表示される【写真2】。ここで「一覧からプログラムを探す」を選択し、OKボタンを押す。
先ほどルートディレクトリにコピーした「4DRuntime」フォルダから「4DRuntime.EXE」を選択して「開く」ボタンをクリックする。するとプログラムの起動が始まる。これで関連付けは終了した。
|
|
【写真1】この2つのフォルダをルートディレクトリ(C:)にコピーする
|
【写真2】初回はプログラムの関連づけができていないため、上記のメッセージが表示される
|
初めてプログラムを起動する時には、「ファイルを開く」ダイアログが表示されるので「新規」ボタンをクリックし【写真3】、「データファイルを作成」ダイアログが表示されたら「保存」ボタンをクリックする【写真4】。データファイルが登録され、VariConのメニューが表示される。
|
|
【写真3】(1)新規をクリックする
|
【写真4】ファイル名は自動で入力される。(1)保存をクリックする
|
|
【写真5】VariConの初期画面。これでアプリケーションのインストールが完了
|
2回目以降はVariBo.4DBファイルをダブルクリックするだけで、メニュー表示まで起動する。
● ポジションエディタのカスタマイズと、ロボットのホームポジション登録
さっそく、ロボット制御アプリケーションプログラム「VariCon」を使用してロボットのモーションをプログラムする。
最初に、ロボットにホームポジションの登録をする。組立時に、サーボホーンをニュートラルに合わせたが、ギアの歯数によって厳密に90度にはならない。わずかな誤差をソフトで調整する必要がある。こうして調整した位置を登録したものを、「ホームポジション」と呼ぶ。
まず、ポジションエディタを表示する。次に、「POSELISTボタン」をクリックし、ポーズリスト(ポジションリスト)を表示する。初回は空の一覧が表示されるので、ADDボタンをクリックして、ポーズレコードに名前を付けて登録する。ここでは「HOME1」というファイル名にした。
HOME1をダブルクリックして詳細画面を表示する。各サーボモーターの絶対位置をニュートラル(中間)位置に設定するため、D01欄からD16欄まで半角数字で90と入力する。すべての欄に入力したら、ENTRYボタンをクリックし、一覧画面に戻る【写真9】。
登録したポジションを選択してHomeSELボタンをクリックする【写真10】。登録データにチェックマークがついていればOK。
|
|
【写真8】(1)【POSITION EDITOR】をクリックすると、ポジションエディタ画面が開く。(2)【POSE LIST】をクリックして、ポーズリスト画面を開き、(3)【ADD】をクリックすると、(4)のHOME1が作成される
|
【写真9】(1)全てを90に設定する。(2)【ENTRY】をクリックして保存する
|
|
【写真10】(1)【Home SEL】をクリックすると、(2)にチェックが入る
|
初期状態のポジションエディタ画面では、全サーボのスライドバーが表示されている。このままではどのサーボがロボットの自由度に対応しているのか判らないため、モーション作成がやりづらい。ポジションエディタを使う前に、モーション作成しやすいようにカスタマイズしておこう。一旦、ポジションエディタ画面を閉じる。
ここでパソコンのCOM設定を確認しておく。
ロボットをパソコンに接続する。パソコンのシリアルポートとマイコンのCN21をシリアルケーブルで接続する。マイコンは、黒ケーブルが3番端子側(基板中心方向)になるように要注意。
デスクトップのマイコンピュータのプロパティから、ハードウェア/デバイスマネージャーを開く。ポート(COMとLPT)を確認し、シリアルポートが何番になっているかチェックする。
メニュー画面の【Set Up】をクリックすると、セットアップ画面が開く。まずは使わないCHを非表示にするために、チェックを外す。今回は、5、8、9、10、11、12、16は、使わない。使用するCHには、ラベルに関節名を書いておくとモーションを作る時に判りやすい。
CH.01:左足左右回転
CH.02:左足前後回転
CH.03:右足左右回転
CH.04:右足前後回転
CH.06:右腿
CH.07:左腿
CH.13:頭
CH.14:左腕
CH.15:右腕
Comportが先ほどチェックしたポートに指定されているか確認する。この時、ポジションエディタ画面を閉じておかないと、セットアップ画面で設定した値が反映されないので注意が必要だ【写真12】。
設定ができたら、【SetupClose】をクリックしてセットアップ画面を閉じる。再び、ポジションエディタ画面を開くと、必要なサーボのスライドバーだけが表示されている【写真13】。
サーボスライドバーは、右端にある青いボタンをドラック&ドロップすると、移動することができる。【写真14】のように配置しておくと、サーボパレットとサーボの位置関係が直感的にわかりやすくなる。
|
|
【写真11】初期状態のポジションエディタ画面
|
【写真12】セットアップ画面。使わないサーボのチェックを外し、ラベル名を設定する。COMを設定する
|
|
|
【写真13】ポジション画面を開くと使うサーボだけが表示されている。(2)の部分をドラッグ&ドロップして、サーボスライドバーを並べ替える
|
【写真14】各サーボスライドバーをロボットの頭や手足のサーボ配置に合わせる
|
いよいよロボットの電源を入れる。マイコン電源スイッチがOFF(1番側)になっていることを確認し、マイコン用電池を接続する。マイコン電源をONにし、パイロットランプの点滅を確認してから、サーボモーター電源を接続する。
ポジションエディタの「BOARD LINK」にチェックを入れる。これでマイコンボードとの接続が開始される。もし1回でチェックが入らない場合は、数秒待ってからもう一度チェックを入れる。チェックが入るとサーボモーターが動作を開始する【写真16】。
|
|
【写真15】シリアルケーブルの方向と、マイコンの電源がOFFになっていることを確認する
|
【写真16】BOARD Linkをチェックして、マイコンボードと接続を開始する
|
各サーボパレットが先ほど登録した絶対位置90度に設定される。このとき、ロボットは組み立ての状態によって直立から少しずれた状態になるハズだ。これはギアの歯の角度によるので仕方がない【写真17】。
各サーボスライダーを動かしてサーボ位置を調整し、このズレを補正して直立した基本姿勢にする。これをホームポジションの設定という【写真18】。
ホームポジションを設定する時のポイントは、
1) 上半身から足先までが床に対して垂直
2) 足裏が、床に対して水平
になっていることをチェックする。机の上に置いたまま調整すると、ロボットの自重でズレるので、ロボットを持ち上げて調整する方がよい。
|
|
【写真17】BOARD Linkをチェックした直後の状態。上半身が前屈みで、左右の足の位置もズレている
|
【写真18】サーボパレットの調整は、数値で指定することもできるし、スライドバーで行なうこともできる。上記は、著者のロボットのホームポジション
|
|
|
【写真19】サーボ位置を調整し、ホームポジションを設定した状態のロボット
|
【写真20】ホームポジションを作るときは、前後左右から眺め、足裏の水平、足軸の垂直がしっかり取れていることを確認する
|
|
【写真21】設定したホームポジションは、ポーズリスト画面で保存する
|
ホームポジションが設定できたら、この値をマイコンボードに書き込む。[POSELIST]をクリックしてポジションリスト画面を表示する。
表示された一覧から、先ほど仮登録したHOME1を選択する。続いて[OVERWRITEボタン]ボタンをクリックすると、上書き更新の確認画面が表示されるので、OKを選択して保存する【写真21】。[CLOSE]をクリックしてポジションリスト画面を閉じる。
これで次回からは、マイコンを接続して、ポジションエディタ画面のBOARD Linkにチェックを入れるだけで、ロボットのホームポジションが再設定される。
● モーション作成の基礎 首を振る
VariConでロボットのモーションを作成するには、MOTIONメニューを利用したパラパラ漫画方式とPROGRAMメニューを利用したプログラム方式が利用できる。プログラム方式ではMOTIONメニューで作成したデータを利用することも可能になっている。
MOTION方式は簡単にモーション作成できるが、全体的な変更にはやや手間がかかるという欠点がある。また、MOTION方式ではセンサーを利用して自律的な動作をさせることはできない。
一方PROGRAMは、プログラムの文法について学ぶ必要がありやや難しい。だが、センサーの判定や繰り返し処理、サブルーチン処理など、本格的なプログラムを作成することが可能になっている。「ロボットのモーションを作る」という深い楽しみを実感することができる。PROGRAMでは、MOTIONのデータを利用することもできる。
ということで、まずはMOTIONの使い方を覚えよう。
MOTIONによる動作の登録は、ポジションエディタ画面とモーション登録画面を使う。具体的には「ポジションエディタ画面でポーズを作成し、モーション登録画面に追記する」という作業の繰り返しでロボットの動作を作成する。
最初に一番簡単で、サーボに負担のかからないモーションを作り、MOTION方式の手順を覚えることにする。VariBoの首を左右に振ってみよう。ロボットをPCに接続し、ポジションエディタ画面でBOARD Linkをチェックして、ホームポジションにしておく。
メニューの[MOTION]をクリックし、モーション画面を開く。[ADD]をクリックして、モーションを新規登録する準備をしておく。モーション名は判りやすくつけた方がいい。ここでは「頭を振る」とした。モーション名を保存する時に、「現在のモーションデータを転記しますか?」というダイアログが出るので、これはキャンセルする【写真23】。
作成した「頭を振る」を選択してから、[EDIT MOTION]をクリックし、モーションデータ画面を開く。ポジションエディタ画面で、頭のサーボスライダを右腕方向に動かすと、ロボットも同期して動く。モーションデータ画面の[ADD]をクリックし、現在のポーズが記録される【写真24】。
続いて、頭を反対側に振ろう。頭のサーボスライダを左腕方向に動かす。MOTION DATA画面の[ADD]をクリックする。最後に、頭を正面に戻す。同じように、サーボスライダを動かして初期位置に戻し、MOTION DATA画面の[ADD]をクリックする。
今のモーションを記録するために、MOTION DATA画面の[SAVE]をクリックする。データが更新されたら、MOTION DATA画面の[Exec]をクリックして、指定どおりにロボットが首を振ることを確認する【写真25】。
|
|
【写真23】モーションを作成する前にモーション名を登録する
|
【写真24】頭を右に振るポーズを作り、モーションデータ画面で登録する。(1)~(4)の順でポーズを登録すると(5)に追加される
|
|
|
【写真25】写真24の手順を繰り返して、左、正面のポーズを追加した。[SAVE]で保存する。(2)のExec.でモーションの確認をしておこう
|
【動画】首を振るモーション
|
文章で読むと面倒に感じるかもしれないが、実際にロボットを動かしながらモーションを作ると、作業手順を身体で覚えてしまう。
ポーズはどんどん増えるので、モーション名は判りやすくつけておいた方がいい。
MOTION DATA画面のポーズのリスト名には「DATA7」という名前が自動的に付けられている。後できちんと区別できるよう、名前をつけておこう。「DATA7」をダブルクリックすると、MOTION DATA画面が切り替わって、詳細設定ができるようになる。POSENAMEを「右を向く」に変更する【写真26】。
この画面でTIMEの項目を変更すると、モーションの再生スピードを変えることができる。デフォルトで3になっていたのを、5にしてみよう。数字が大きくなるほどモーションのスピードは速くなる。
[ENTRY & NEXT Rec]をクリックして、次々と名前をリネームする。3つとも変更したら、[ENTRY]で元の画面に戻る。ここではTIMEを右を向く時に5、左を向く時に:3、正面:10にしてみた。データの変更をしたら、忘れずに[SAVE]すること。
|
|
【写真26】写真25のPOSENAMEをクリックすると、表示がこのように変わる。POSENAMEに分かりやすい名前をつけておく
|
【動画】1つ目の動画と比べて、首の振り方に緩急がついたのが判るだろうか?
|
● 歩行モーション作成に挑戦する
モーション作成の基礎を押さえたところで、二足歩行ロボットの醍醐味「歩行モーション」にチャレンジする。
ロボット初心者が歩行モーションを作成するのは、コツを掴むまでは難しい。歩行モーションに限らず、絶対に押さえておくポイントが2つある。
・ホームポジションが正しく設定されている
・常に重心の位置を考える
まず、ロボットが左右一歩ずつ歩くために必要なポーズを考える。
1) ホームポジション。
2) 右足に重心を移動し、左足を上げる。
3) 左足を前に出し、足裏を床と水平にする。
4) 重心を中央に移動。
5) 左足に重心を移動し、右足を上げる。
6) 右足を前に出し、足裏を床と水平にする。
7) 重心を中心に移動。
8) 右足に重心を移動し、左足を上げる。
9) 左足を前に小さく出し、足裏を床と水平にする。
1) ホームポジションに戻る。
電源をいれない状態で、ロボットを動かして上記のポーズを作ってみる。ポーズが決まったら、どのサーボがどの角度になっているのかカンタンにメモしておこう。
2)右足に重心を移動→右足左右回転サーボを動かして、右足を右腕側に倒す
3)左足を前に出し、足裏を床と水平にする→右腿サーボを後ろに動かし、腰を前に出す。左腿サーボを動かして、足を前に出す。左足前後回転のサーボを動かして、足裏前後を水平にする。左足左右回転のサーボを動かして、足裏左右を水平にする
4)重心を中央に移動→右足左右回転のサーボを、ホームポジションに戻す
こんな風に、実際にロボットを動かしながら考えてみる。初めてモーションを作る時や慣れていない時は漠然と考えても、どこをどうしたらいいのか判らなくて戸惑うので、面倒でも「言葉」にして思考してみることをお勧めする。
ポーズの作り方やモーションの登録方法は、既に説明したので、繰り返さない。各ポーズのポイントを説明する。
|
|
【写真27】モーションの基本はホームポジション。ここから始めるとモーションが安定する
|
【写真28】右足に重心を移動し、左足を上げる。あまり大きく傾けると、バランスが悪くなるので、注意する
|
|
|
【写真29】上げた左足を前方に出す。最初から大股にすると、難しくなる。足裏が床と水平になるように、足裏の左右回転と前後回転を調整する
|
【写真30】左足を降ろして、重心を移す。左右の足軸を均等に傾けるのがポイント
|
|
|
【写真31】右足を上げる。【写真29】と同じように、足裏が床と水平になるように、足裏の左右回転と前後回転を調整する
|
【写真33】右足に重心を移動し、左足を上げる。左足は小さく前へ出す
|
|
|
【写真34】ホームポジションに戻す
|
【動画】モーションを再生してみた。ぎくしゃくとしているが、歩いた!!
|
一応、歩いてはいるが、なんとも頼りない歩行である。一歩目の右足重心移動が意図したようにできていないのが判る。右足の左右回転軸を動かしただけでは、重心は移動しないのだ。そこで、左足裏も同じ方向に動かしてみた【写真35】
モーション間のスピードも落として、ひとつひとつの重心移動を確実に行なうようにした。修正したのが次の歩行モーションだ。
|
|
【写真35】一歩目の重心移動ポーズを変更した。【写真28】と比べてほしい
|
【動画】最初の一歩が安定して、1本目よりスムーズに歩いている
|
どうだろう?「歩行モーションが完成した」というのには、いささか心許ないが、初心者でもポイントを押さえることができれば、なんとか歩かせることができることを判っていただけただろうか。
VariBoは軸数が少ないために、ホームポジションの設定が簡単だ。足裏も大きく設計されているから、重心移動もしやすい。歩かせやすいロボットといえる。それでも、自力で歩行モーションを作成するのには、試行錯誤が必要だった。
モーション作成するために、VariConの使い方を覚えるのは、さほど難しくない。だが、ロボットをイメージ通りに動かすためには、根気よく微調整を繰り返すことが必要になる。ホビーロボットの醍醐味は、少しずつロボットを動かし、誰のものでもない自分だけのロボットを作るところにある。
■URL
ビー・エル・オートテック
http://www.bl-autotec.co.jp/
製品情報
http://www.varibo.com/
■ 関連記事
・ 組み合わせ自在なロボット入門キット「VariBo」キットレビュー ~本体組み立て編(2007/03/01)
2007/05/29 00:41
- ページの先頭へ-
|