前回までで、KHR-2HVの組み立てが一通り完了した。KHR-2HVのような二足歩行ロボットキットは、組み立てて、付属CD-ROMなどに収録されているサンプルモーションを実行して終わりというものではない。自分でオリジナルモーションを作成することで、ロボットにさまざまな動きを表現させることが可能になる。ハードウェア的には同じKHR-2HVでも、オリジナルモーションを作ることで、動きに個性が出てくるのだ。
オリジナルモーション作成は、ロボットに命を吹き込む作業だといってもよいだろう。KHR-2HVでは、モーション作成ソフトとして「HeartToHeart3J」が付属している。HeartToHeart3Jは、KHR-1で使われていたモーション作成ソフト「HeartToHeart」に比べてはるかに高機能であり、分岐やループなどを含む複雑なモーションを簡単に作成できることが特徴だ。HeartToHeart3Jには数多くの機能が用意されているため、1回では全ての機能を説明しきれない。そこで、今回と次回の2回に分けて、HeartToHeart3Jの使って、モーションを作る方法を解説していきたい。
● HeartToHeart3Jを使ってモーションを作成する手順
・モーション作成の基本手順
通常の二足歩行ロボットは、コントロールボードに保存されているモーションデータ(ロボットの動き)を再生することで、さまざまな動きを実現する仕組みになっている(マスタースレーブ方式を採用したロボットなどを除く)。KHR-2HVに搭載されているRCB-3Jの場合、最大80個のモーションを保存することが可能だ。
KHR-2HV付属のCD-ROMには、歩行や方向転換、起き上がりなどの基本的なサンプルモーションが収録されているほか、近藤科学のWebサイトでKHR-2HV用の追加モーションが公開されている。こうしたモーションを利用すれば、一通りの動作をさせることができるが、せっかくKHR-2HVのオーナーになったのだから、お仕着せのモーションを実行させているだけではもったいない。自分でオリジナルモーションを作れば、KHR-2HVへの愛着もさらにわいてくるし、高速歩行を極めてアスリート系大会に出場したり、有効な攻撃モーションを作って、バトル大会に参加するのもよいだろう。
一般に二足歩行ロボットのモーションは、複数のポーズ(ロボットの姿勢)から構成されている。ポーズからポーズへの移行を順番に行なっていくことで、ロボットの動きを作るのだ。パラパラマンガをイメージしてもらえばよい。
モーションはポーズに分解できるので、1つ1つポーズを作っていくことがモーション作りの基本となる。HeartToHeart3Jの場合、ポーズを作成するには、「各サーボモーターのスライダーを動かす方法」と「教示機能を利用する方法」の2種類の方法がある。教示機能は非常に便利だが、基本はスライダーを動かす方法であり、教示機能を使ってモーションを作る場合でも、スライダーで微調整する必要が出てくることも多い。そこでまず、スライダーを動かしてポーズを作る方法を説明する。
・POSオブジェクトを利用してポーズを作る
始めにPCとKHR-2HVを接続し、KHR-2HVの電源を入れて、HeartToHeart3Jを起動する。次に、HeartToHeart3Jのウィンドウ最上段のシンクロスイッチ(「SYNC」)にチェックを付ける。シンクロスイッチにチェックを付けることで、HeartToHeart3J上で操作したサーボモーターの位置が即座にKHR-2HVに反映されるようになる。
HeartToHeart3Jは、データシート上にポーズを指定するPOSオブジェクトやパラメータ設定を行なうSETオブジェクト、条件分岐を行なうCMPオブジェクトを並べて、それらのオブジェクトを線で結んでいくことで、モーションを作成できる。ポーズからポーズへの遷移がグラフィカルに表示されるので、非常にわかりやすい。KHR-1に搭載されていたRCB-1用モーション作成ソフト「HeartToHeart」は表計算ソフトのようなイメージで初心者には取っつきにくかったし、分岐やループなどの機能も用意されていなかった。
まず、POSボタンをクリックし、カーソルをデータシート上に移動し、再びクリックすることで、その位置にPOSオブジェクト(ポジションオブジェクト)が置かれる。最初のPOSオブジェクトには、POS1という名称が自動的に付く。このPOS1をダブルクリックすると、POSウィンドウが開く。POSウィンドウで、スライダーを動かすことで、リアルタイムに対応するサーボモーターが動く。
ここでは例として、両手を上げてから、左右に手を広げて、また両手を下げるというモーションを作ってみる。両手を上げるには、両肩ピッチ軸のサーボモーター(CH2とCH6)を動かす必要があるので、CH2とCH6のスライダーを動かせばよい。イメージ通りのポーズになったら、POSウィンドウを閉じればOKだ。これで最初のポーズができたことになる。
再びPOSアイコンをクリックして、2つめのPOSオブジェクト(POS2)をデータシート上に置き、POSウィンドウを開く。POS1で設定したサーボモーターの位置がそのままコピーされていますので、両手を左右に広げるために、左腕ロール軸のサーボモーター(CH3)と右腕ロール軸のサーボモーター(CH7)のスライダーを動かす。
同様にして、3つめのPOSオブジェクトを配置し、両手を下げた状態のポーズを作る。KHR-2HVは、電源投入後にスタートアップモーションが自動実行され、ホームポジションに移行する。このホームポジションが全てのモーションの起点となるので、オリジナルモーションを作成する場合、最後は必ずホームポジションに戻るようにしておくこと。具体的には、ホームポジションに戻るためのPOSオブジェクト(今回の例では4つめPOSオブジェクト)を配置し、POSウィンドウを開いて、ホームポジションボタン(家の形のアイコン)をクリックすることで、全てのサーボモーターの位置が0になり、ホームポジションに移行する。
なお、POSオブジェクトの名称は、POS1、POS2、POS3と連番が付けられていくが、そのままではそれぞれのPOSオブジェクトがどういうポーズを表すのかわかりにくいので、わかりやすい名称に変えておくとよい。POSオブジェクトを右クリックして「プロパティ」を開くことで、名称を変更できる。まず、最後のPOSオブジェクトの名称を「ホーム」に変更してみた。
|
|
HeartToHeart3Jを起動して、ウィンドウ最上段にある「SYNC」にチェックを付ける
|
POSボタンをクリックして、データシート上にカーソルを移動し、再びクリックすることで、その位置にPOSオブジェクトが置かれる
|
|
|
POSオブジェクトをクリックして、POSウィンドウを開く。このスライダーをスライドさせることで、サーボモーターを動かすことができる
|
サーボモーターの位置が全て0の状態で、直立する。これがホームポジションである
|
|
|
CH2とCH6のスライダーを動かして、両手を上げるようにする
|
両手を上げたポーズ
|
|
|
2つめのPOSオブジェクトを作り、POSウィンドウを開いて、CH3とCH7のスライダーを動かして、両手を広げる
|
両手を左右に広げたポーズ
|
|
|
同様にして3つめのPOSオブジェクトを配置し、両手を下げた状態のポーズを作る
|
両手を下げたポーズ
|
|
|
4つめのPOSオブジェクトを開いて、ホームポジションボタン(家の形のアイコン)をクリックすれば、全てのサーボモーターの位置が0になり、ホームポジションに移行する
|
POSオブジェクトを4つ並べたところ。今回作成するモーションに必要なポーズはこれで全部だ
|
|
|
POSオブジェクトを右クリックしてメニューを開き、「プロパティ」を選ぶ
|
POSオブジェクトの名称やサイズを変更することができる
|
|
4つめのPOSオブジェクトの名称を「ホーム」に変更した
|
・POSオブジェクト同士を線で結びつける
ポーズの作成が全て完了したら、POSオブジェクト同士を順番に線で結びつけて、モーションを作る。接続配線ボタンをクリックすることで配線モードになるので、上から順にPOSオブジェクトをクリックして繋げていく。この例では、全部で4つのポーズ(最後はホームポジションへの移行)を繋げていくことになる。全てのポーズを線で繋いだら、次はモーションの始点を設定する。始点開始ボタンをクリックして、最初のポーズのPOSオブジェクトに始点マークを付ければよい。
最後に作成したモーションに名前を付ける。選択ツールボタンをクリックして、カーソルをデータシート上の空いている場所に移動し、ダブルクリックすることで、データダイアログが開く。データ名の欄にモーション名を入れてOKをクリックすれば、モーションに名前を付けることができる。また、全てのPOSオブジェクトの名称をポーズにあわせて変更しておくと、後からモーションを修正したくなったときにもわかりやすい。
|
|
接続配線ボタンをクリックして、配線モードにし、最初のPOSオブジェクトをクリックする
|
2つめのPOSオブジェクトをクリックすると、POS1からPOS2に向かって線が引かれる
|
|
|
同様にして、全てのPOSオブジェクトを順番に繋いでいく
|
始点開始ボタンをクリックして、最初のPOSオブジェクトをクリックし、始点マーク(赤い旗)を付ける
|
|
|
全てのPOSオブジェクトの名称をポーズにあわせて変更しておくとよい
|
データダイアログを開いて、モーションに名前を付ける
|
|
モーションに名前を付けたら、EDITタブのところにその名称が表示される
|
・作成したモーションを実行する
モーションを作成したら、思い通りに動くかどうか、実際に実行してみよう。書き込みボタンをクリックして、作成したモーションをRCB-3Jに転送後、スタートボタンをクリックして再生モーションを指定することで、そのモーションが実行される。モーションを作成・修正したら、必ずその都度モーションをRCB-3Jに転送する必要がある。
|
|
書き込みボタンをクリックして、モーションの転送先を指定し、モーションを転送する
|
スタートボタンをクリックして、再生するモーションを指定し、OKボタンをクリックすれば、そのモーションが再生される
|
|
【動画】作成したモーションを実行したところ。SPEEDがデフォルトの100のままなので、動作はかなりゆっくりだ
|
このままでは全体的な動作がちょっと遅いので、ポーズからポーズへより高速に移行するように調整する。ポーズからポーズへの移行速度は、POSウィンドウの中で指定することができる。POSウィンドウの一番下の「SPEED」スライダーを動かして、数値を小さくすれば高速に、数値を大きくすれば低速になる。
ただし、あまり小さな数値にすると、サーボモーターの速度が追いつかず、指定した位置まで動けないことがあるので、段階的に高速化して様子を見るようにするとよい。モーションの修正や調整が完了し、動きに満足できたら、モーションデータをファイルに保存して完了だ。
|
|
SPEEDスライダーで、サーボモーターの速度を変更できる。デフォルトの100から20に変更してみた
|
【動画】ポーズ自体は先ほどと同じだが、速度を高速化したモーション
|
このように、HeartToHeart3Jでは、POSオブジェクトをデータシート上に配置し、繋いでいくことでモーション作成が可能だ。今回説明したのは最も基本的な使い方だが、教示機能を利用すれば、より簡単にポーズを作成することができる。
また、分岐やループ、リンク機能、変換機能などの機能を利用すれば、より複雑なモーションを、効率よく作成することができる。次回は教示機能や分岐といった、HeartToHeart3Jのより高度な使い方について解説するつもりだ。
■URL
近藤科学
http://www.kondo-robot.com/
製品情報
http://www.kondo-robot.com/html/KHR2HV_KIT.html
■ 関連記事
・ 石井英男のロボットキットレビュー ~近藤科学「KHR-2HV」(第2回)(2006/12/08)
2006/12/27 17:03
- ページの先頭へ-
|