以前、海外のコンピュータ・ショーに、二足歩行ロボットを持っていったことがある。もちろん自分で組み立てたものだが、知り合いに外装パーツを作ってもらった機体だ。いや、その知人というのがまさしくプロで、ロボットの見た目である外装は、とてつもなく良い仕上がりだった。そしてそのロボットを知り合いのPCパーツメーカーの展示ブースに持っていって、ちょっとしたデモンストレーションを行なったのである。
そのコンピュータ・ショーは大規模なもので、お客さんは世界中から集まっている。果たしてそんな場所で、二足歩行ロボットはウケるのか? 関心を持ってもらえるのか? そんなハラハラドキドキ状態で、デモンストレーションをスタート。これがあなた、バカウケだったのである。展示ブースにロボットを出して、ちょっと動かしただけで、たちまち黒山の人だかり。中には「このロボットを売ってくれ!」と言い出す、中国から来たお金持ちまで出る始末。
唯一、負けたと思ったのは、近くの展示ブースで行なわれた、セクシー衣装のダンスだけである。もっとも筆者自身、ロボットを放り出して見学に行ったので、正確には試合放棄で負けたようなものである。いずれにしても知り合いのPCパーツメーカーにも、お客さんにも喜んでもらった訳で、わざわざ持っていった甲斐があった。
さて、大ウケということで、登場する機会の多くなったロボット。何度目かのデモンストレーションの際に、配線が燃え上がったのである。なんとなく見たことのある白い煙が足首付近から立ち上った瞬間、すっ飛んでいって電源スイッチを切った。そして何事かと見守るお客さんに、こう言ってから展示ブースの控え室に逃げ込んだ。
「すいません。彼(ロボット)が疲れたようなので、休憩させます」
慌ててチェックしてみると、足首の配線がショートしていた。パーツとパーツの間に挟まっていたことに気づかず、連続して動作させていたため電力ラインの被覆が破れ、プラス線とマイナス線が接触してしまったのだ。普段使っているロボット用の工具が無い中、必死に修理して事なきを得たが、あの時は本当に焦った。また同時に、多少ショートしたぐらいではびくともしないロボットのタフさにも驚かされた。
二足歩行ロボットで、何かおかしなことがあったら、すぐに電源を切る。これから組み上がったKHR-2HVをバンバン動作させて行く上で、重要なことなのでしっかり憶えておいて欲しい。ただし! 電源を切る上で怪我をしそうな時は、怪我の回避が最優先となるのだが。
● 「KHR-2HV SP1」のサンプルモーションを最初から使おう
さて、すでにKHR-2HVのハードウェアは完成し、後はもう動かすだけである。KHR-2HVを動作させるということは、モーションデータを走らせるということだ。モーションデータはKHR-2HVに付属するソフトウェア、Heart To Heart3で作成して、KHR-2HVのコントロールボード「RCB-3J」に転送する。そのモーションデータをロード、すなわち走らせると、KHR-2HVはその通りに動くのである。
もっとも最初から二足歩行ロボットの「歩行」という概念を理解し、オリジナルのモーションを作成するなどというのは、ごく一部の天才にだけ許された荒技である。普通な我々としては、KHR-2HVに付属するサンプルモーション、あるいは近藤科学のサイトからダウンロードしたサンプルモーションを活用するのが一番である。オリジナルモーションは慣れてから、じっくり取り組めばいいのだ。
そこでまず、もっとも基本となるスタートアップモーションをKHR-2HVに設定してあげよう。ちなみにRobot Watchスペシャルセットの場合、KHR-2HV本体に付属するサンプルモーションではなく、近藤科学のサイトからダウンロードする「KHR-2HV SP1」に含まれるサンプルモーションを使用する。まだ「KHR-2HV SP1」を入手していない場合は、ここからダウンロードして欲しい。
上記ページの「RCB-3J 操作説明書・上級編 KHR2HVSP1.EXE」をクリックしてダウンロードし、任意の場所で実行すれば「RCB-3J 操作説明書・上級編」と、それに伴うサンプルモーションデータが入手できる。ではなぜ最初から、SP1のサンプルデータを使用するのか? 話は簡単、Robot Watchスペシャルセットは最初からジャイロセンサーを搭載しているからだ。
KHR-2HVに標準付属するサンプルモーションも、Robot Watchスペシャルセットで使用することは可能である。しかし、KHR-2HV付属のモーションは、ジャイロセンサーを搭載していないことが前提なのである。ならばジャイロセンサーに対応したモーションを最初から使えばいい。そこで「KHR-2HV SP1」が登場するのである。
まずはKHR-2HVの電源をオンにした際、自動的に実行されるモーション「スタートアップモーション」を設定しよう。ファイル名は「2HV024RC_スタートアップモーション2.RCB」、場所は「KHR-2HV SP1」内「For Gyro」の中だ。
|
|
ロードボタンをクリックして、「2HV024RC_スタートアップモーション2.RCB」をHeart To Heart3に読み込む
|
読み込まれた「2HV024RC_スタートアップモーション2.RCB」。「AD1基準値の校正」などが、ジャイロセンサー対応の部分だ
|
このスタートアップモーションは、実行されるとKHR-2HVに搭載したジャイロセンサーを「校正(初期化、リセットと思って欲しい)」し、ホームポジションになって終了する。KHR-2HVはホームポジションで起立した状態となり、放っておけばバッテリが無くなるまでそのままだ。
ただしこのモーションをHeart To Heart3に読み込んだだけでは、まったく意味が無い。まずKHR-2HVのコントロールボードであるRCB-3Jに転送し、さらにそれをスタートアップモーションとして指定しなくてはならない。
|
|
まず読み込んだモーションを、任意の場所に書き込む。もちろんKHR-2HVとPCが接続されていなければならない。ここでは「M80」に書き込んだ
|
オプションボタンをクリックし、表示されたウィンドウで「電源投入時にモーション・シナリオを再生する」で、先程書き込んだ「M80」を指定する。ウィンドウを閉じた段階で、設定が有効となる
|
|
【動画】電源をオンにするとホームポジションになろうとするので、なるべく早い段階で平らな面に置く。すると両腕をちょっと広げて、ジャイロセンサーの校正が終わったことを教えてくれる
|
オプションの設定が終わると、以後はKHR-2HVの電源を入れるとまず、スタートアップモーションが実行される。電源を入れるとKHR-2HVがホームポジションに向かって動き出すので、両足裏が揃ったらすぐに平らなテーブルなどの上に置く。手を離すぐらいのタイミングで、ジャイロセンサーの校正が終わる。校正の終了は、両腕をちょっと拡げるモーションが実行されるのですぐに分かる。というかこの両腕をちょっと拡げるモーションまでに、平らな面にKHR-2HVを置かなくてはならない。その後、KHR-2HVはホームポジションとなって待機する。
スタートアップモーションの設定も終わったし、ジャイロを効かせたモーションをバリバリ使うぞ……と、思ったあなた。ちょっと急ぎすぎですよ。そう、考えてみれば今の今まで一回も、ジャイロセンサーの設定をしていないじゃないですか。
● ジャイロセンサーの設定とその効果
ジャイロセンサーを効かせるためには、設定をしなくてはならない。大ざっぱに言ってしまうとジャイロセンサーが感知した値に従って、なんらかの動作を設定しなくてはならないということだ。そこで使用するのがアナログボタンをクリックして開く、アナログダイアログの設定だ。ここにはRCB-3Jのアナログポートに対応する設定が用意されている。Robot Watchスペシャルセットでは、2つのジャイロセンサーを搭載し、それらを「入力1[AD1]」と「入力2[AD2]」に接続している。
試しにKHR-2HVが接続され、電源が入った状態で前後左右にボディを傾けてみると、「入力1[AD1]」の「測定値」が変化するはずだ。ボディを前後に揺すると「入力1[AD1]」の値が大きく変化し、ボディを左右に揺すると「入力2[AD2]」の値が大きく変化する。ジャイロセンサーが動作している証拠だ。ちなみに動作を確認したら、平らな場所にKHR-2HVを置いて安定させ、「基準設定」のスライドバー右の「AUTO」ボタンをクリック、基準値を取得する。
|
|
「入力1[AD1]」を始めて開いた状態。接続してあるKHR-2HVを前後に揺らして、「測定値」が変化するのを確認しよう
|
KHR-2HVを平らな所に置いて安定させ、「測定値」の変動が収まったら「AUTO」をクリックして「基準値」を取得する。これで「変化量」は「0」になる
|
まずは「入力1[AD1]」を設定しよう。このポートには「ピッチ」、すなわち前後方向の揺れを感知するジャイロセンサーが接続されている。そこでKHR-2HVの両膝、足首上のサーボモーターが揺れを押さえ込む方向で動作するよう設定する。具体的にはCH13を「x2」に、CH14を「x5~x10」の間に、CH19を「x-2」に、CH20を「x-5~x-10」の間にする。ある程度の幅を持たせていることからも分かる通り、この設定値は好みで多少前後してもいい。あまり数値を大きく設定しすぎると、センサーの反応が強すぎて、KHR-2HVの挙動がおかしくなってしまう。逆に弱すぎると、安定性も低くなってしまう。いろいろ設定を試してみるのも面白いだろう。
同様に「入力2[AD2]」も設定するが、こちらは「ロール」、すなわち左右方向の揺れを感知するので、設定するサーボモーターは股関節と足首下である。CH11を「x-3~x-5」、CH15を「x5~x10」、CH17を「x-3~x-5」に、CH21を「x5~x10」の間で設定する。最初は中間あたりに設定して様子を見るといいだろう。全ての設定が終わったら、アナログダイアログを閉じる。閉じた段階で設定が有効になる。
|
|
上級編マニュアルに従って、「リアルタイムミキシング」の設定を行なう。「変化量」の数値に、この設定の倍率をかけたものがサーボモーターの動作量となる。センサーの測定値に応じて、サーボモーターが微妙に動き、安定を保つという仕組みなのだ
|
同様に「入力2[AD2]」も設定し、アナログダイアログを閉じる。閉じた段階で、設定が有効になる
|
さて、ジャイロセンサーの設定が終わったからといって、「果たして、あの高価で戦略物資にも指定されている大変高度な技術の元に製造されたジャイロセンサーは、本当に働いているのだろうか?」と疑う気持ちは実によく分かる。そこで実際に、ジャイロセンサーが機能しているかを確認してみよう。先程ジャイロセンサー対応のスタートアップモーションは設定しているはずなので、いったんKHR-2HVの電源を切って、再び電源を入れる。これでジャイロセンサーは校正されたはずだ。
そしてKHR-2HVがホームポジションになったら、軽く頭を指で突いてみて欲しい。ジャイロセンサーが動作していて、正しく設定してあれば、KHR-2HVはグッと耐えるように踏ん張るはずだ。もちろんこの挙動は左右にKHR-2HVを揺すっても同じである。また、ジャイロセンサーを無効にして(「リアルタイムミキシング」を「OFF」にするだけでいい)、その時の挙動と比較してみよう。明らかに違いが分かるはずだ。
|
|
【動画】指で軽く押してみると、抵抗することなくKHR-2HVのボディが揺れる。揺れが収まるまで時間もかかる
|
【動画】明らかにジャイロセンサーを無効にした時の挙動とは異なる。踏ん張りが効いているというべきか、粘るというべきか。要するに安定性が増しているのである
|
さらにもう1つ、ジャイロセンサーの効果を試す実験を行なってみた。歩行モーションをKHR-2HVに設定し、ジャイロセンサーを切った状態と、有効にした状態で不安定な場所を歩かせてみたものだ。KHR-2HVのような二足歩行ロボットは、基本的に平らな場所を歩くように設計されている。このため外界(この場合では床の状態)の状況を知る、センサーのようなものが無いと、うまく歩くことができない。人間だって平らだと思って何も考えずに踏み出したら、そこがでこぼこだとつまずくのと一緒である。もっとも人間は一歩踏み出したところで足裏から「あ、ここはでこぼこだ」と感知できる。KHR-2HVの場合は、それをジャイロセンターで行なう訳だ。
|
|
【動画】歩き始めたら、そこは厚手のタオルが敷いてあるスペースだった。歩行の安定性では定評のあるKHR-2HVも、思わず転んでしまった。もちろんジャイロセンサーは切ってある。何度もやっていると、ごくまれに渡りきることもある
|
【動画】ジャイロセンサーを有効にして、再度チャレンジ。多少ふらつくものの、見事にタオルを渡りきった。何度もやっていると転ぶこともあるが、その回数はかなり少ない
|
ノーマルのKHR-2HVと、ジャイロセンサーが搭載されたKHR-2HVの違いは何か? ジャイロセンサーを搭載したKHR-2HVは、「センサーの能力範囲内で状況を感知し、設定された範囲で感知した状況に対応できる」のだ。このように各種センサーは、ロボットの可能性を大きく広げる切り札となる。例えば企業が開発している最先端の人型ロボットなどは、「センサーの塊」と言っても過言ではないのである。
さて、我等がRobot WatchスペシャルセットのKHR-2HVには、ジャイロセンサー2つ以外に、さらに加速度センサーが1つ搭載されている。それをどのように設定し、活用するか。さらにはKHR-2HVを無線でコントロールするにはどうしたらいいか? そろそろゴールが見えてきたような、見えないような……。
「中の人も大変だねえ」
-ASIMOをテレビで見た知人の祖母がボソッと……-
■ 関連記事
・ 高橋敏也の「KHR-2HV“超”初心者入門」 -Mission06- 「KHR-2HVの基本姿勢、ホームポジションを設定する」(2008/11/14)
2008/11/26 00:02
- ページの先頭へ-
|