ある席で「あなたはロボットの専門家なんですか?」と聞かれたが、きっぱり「いいえ、好きなだけです」と答えておいた。かれこれ4年ほどロボットを「楽しんで」はいるが、知識もスキルも専門家というにはほど遠い。オタクという言葉は使いたくないので、強いていうなら「マニア」である。好きなだけで突っ走っている、おっさんという訳だ。
まあ、自作PCに関してはかれこれ20年近くの付き合いなので、専門家と言っても笑って許してもらえるだろう。なぜこんな話になるかというと、実はホビーロボットと自作PCの間には、さまざまな共通点があるのだ。例えばどちらも、最初にハードウェアの組み立てという楽しみがある。ハードウェアが完成したら、自作PCはOSやソフトをインストールして、使いこなす楽しみが待っている。一方、ホビーロボットの方はというと、動かしたりモーションを作る楽しみが待っている。さらにどちらも、アップグレードや改造を楽しめるのも大きな共通点だ。
筆者がホビーロボットにどっぷりはまったのも、そういった共通した部分があったからなのだろう。筆者個人に関して言えば、「どちらも好きなだけで、スキルが一向に向上しない」というのも、共通点の1つな訳だが。ちなみにホビーロボットのスキルで重要なのは、やはりモーションの作成、そしてチューニングだと思う。いくら優秀なハードがあっても、それを使いこなせなければ宝の持ち腐れ。ロボットは動いてなんぼの代物だと思う。
そんな訳で今回は、KHR-2HVをほぼ完全に動かせるようにしたい。もっともその前に、加速度センサーと無線コントローラーの設定を行なわなければならないのだが。KHR-2HVの電源を入れたままで、各種設定を行なうので、バッテリを何度か入れ替えることになるだろう。また、KHR-2HVをかなり動かすことになるので、ある程度のスペースが必要だ。準備を整えたら、さっそく作業に入ろう……。いや、その前に1つ忠告を。KHR-2HVに限らず、ホビーロボットは「水平で平らな面」の上で動かすのが基本だ。そうなると家庭の中では、食卓とかテーブルの上とか、はたまたフローリングの床の上といったところが適している。
だが、ホビーロボットは「転んでなんぼ」の代物なのである(もちろん起き上がることもできる)。そして転んだ際に手先などが当たって、テーブルや床を傷つけることがある。状況によっては、これが後に大問題となるのだ。
「テーブルが傷だらけになってカミサンが激怒しているんだが、どうしよう?」
知らんがな。だからベニヤ板やコンパネ、それが無ければ古いテーブルやコタツを用意しろと、友人には忠告したのである。それからもう1つ。KHR-2HVは転んだぐらいでは壊れないが、精密な機械だということを忘れないで欲しい。間違ってもテーブルから落としたりしないように。
● 加速度センサーの設定
「角速度を検知するセンサー」が加速度センサーである。具体的に言うと速度の変化を検知するものなのだが、身近なところでは携帯電話に入っていて傾き具合の検知に使われていたり、歩数計などに組み込まれていたりする。Robot Watchスペシャルセットの含まれているRAS-2は、2軸の加速度センサーで、基本的にはKHR-2HV本体が倒れた方向を検知するのに使用する。もっと具体的に言うと「うつぶせ」に倒れたか、「あおむけ」に倒れたかを判断するのである。KHR-2HVの場合、横倒しというのはあまり無いので考えない(たまにあるのだが)。
|
|
「あおむけ」。ちなみにどちらも電源が入っており、ホームポジションの状態で倒してある
|
念のため、この状態が「うつぶせ」。何やら哀愁を感じる体勢である
|
本連載ではRAS-2を、ボードカバーの中に取り付け、アナログ入力ポート「AD入力3」に接続している。その加速度センサーを設定するというか、動作の確認をするためにKHR-2HVとPCを接続、Heart To Heart3を起動しよう。もちろんKHR-2HVの電源を入れ、Heart To Heart3側ではSYNCをチェックする。
この状態でアナログボタンをクリックし、アナログウィンドウを開く。「入力3[AD3]」を表示し、KHR-2HVを前後に傾け、あるいは倒して「測定値」などの変化を見てみよう。KHR-2HVの機体をうつぶせ、あおむけにすると、数値が大きく変化するはずだ。この数値でKHR-2HVがうつぶせに倒れているか、あおむけに倒れているかを判断する。この判断とモーションを組み合わせると、うつぶせからでも、あおむけからでも、KHR-2HVは起き上がることができるのである。
先程「設定というか確認」と書いたが、ここではスライドバーを動かし、「基準値」を「0」にして欲しい。さらに、うつぶせ状態での「測定値」、あおむけ状態での「測定値」を、それぞれメモしておいて欲しい。加速度センサーへの作業は、これでいったん終了する。というのも加速度センサーに対応したモーションを、読み込む必要があるからだ。
|
|
KHR-2HVをあおむけにした状態のAD3は、測定値が「405」になっている。数値はメモしておく
|
うつぶせにした状態。測定値は「138」である。なお、機体や環境によってこの数値は異なる
|
● 「サッカー対応モーション」と、無線コントローラーの設定
まずは近藤科学のHPから「KHR2HVSP2.EXEサッカー対応モーション」をダウンロードして展開して欲しい。これはKHR-2HVにサッカーをさせるためのモーションとそのマニュアルなのだが、実はRobot Watchスペシャルセットでも活用できるのである。
というのもサッカー対応モーションは、KHR-2HVとオプションである無線コントローラ、ジャイロセンサーKRG-3、加速度センサーRAS-1(スペシャルセットではRAS-2)、そしてバスタブソールの使用が推奨されている。まさにRobot Watchスペシャルセットのためにあるようなモーション集なのである。いや、スペシャルセットの内容を考えた時に、このサッカー対応モーションの利用を前提にはしていたんですけどね。
さて、KHR2HVSP2.EXEを展開して出来たフォルダ「KHR-2HV SP2」の中には、「For Soccer」というモーションデータの入ったフォルダ、そしてモーションと無線コントローラのマニュアルがPDF形式で入っている。モーションのマニュアルはKHR-2HVの設定に使用するので印刷して欲しいが、無線コントローラのマニュアルはスペシャルセットのものと異なるので、見るだけでいい。
次にサッカー対応モーションを利用するためのKHR-2HVの設定だが、2つ重要なことがある。1つはジャイロセンサーの設定、そしてもう1つがサーボモーターの設定だ。ジャイロセンサーの設定に関しては、すでに解説しているので、パッとやってしまおう。具体的には「入力1[AD1]」のCH13を「2」、CH14を「9」、CH19を「-2」、CH20を「-9」に設定し、さらに「入力2[AD2]」のCH11を「-3」、CH15を「8」、CH17を「-3」、CH21を「8」に設定する。もちろんこの設定は、機体の状況、動きを見て後から微調整しても構わない。
|
|
サッカー対応モーションのために、ジャイロセンサーの設定を行なう。「入力1[AD1]」は「ピッチ」、前後方向の揺れの感知だ
|
「入力2[AD2]」も設定を修正。こちらは「ロール」、左右方向の揺れを感知する
|
さて、ジャイロセンサーの設定が終わったら、次にサーボモーターの設定を行なう。実はこのサーボモーターの設定、本連載で扱う予定が無かった。サーボモーターの設定は「ICS(インタラクティブコミュニケーションシステム)」を使って行なうが、筆者はこれを中級者から上級者向けの機能と判断したからだ。別の言い方をすると、サーボモーターの設定を行なわなくてもKHR-2HVは立派に動いてくれるのである。
だが、サッカー対応モーションを気持ちよく使うには、サーボモーターの設定が必要不可欠だ。そこでここでは、サッカー対応モーションを使うためだけに、サーボモーターを設定したい。設定の詳細に関しては、KHR-2HVに慣れてきたところで個々に探求して欲しい(モーション作成を突き詰めて行くと、必ずたどり着くところでもある)。
|
オプションウィンドウで、ICS機能を使用するチャンネル、すなわちサーボモーターが接続されている全てのチャンネルにチェック入れてウィンドウを閉じる
|
細かいことは後回しにして、サッカー対応モーションのための設定を終わらせてしまおう。まずはKHR-2HVとPCを接続し、Heart To Heart3を起動する。通信可能な状態にしてから、オプションボタンをクリックする。設定ウィンドウの「ICS機能」で、使用している17のチャンネル全てをチェックする。チェックしたチャンネルに接続されているサーボモーターが、設定可能になるという具合だ。チェックしたらウィンドウを閉じる。
次にHeart To Heart3上でICS設定ボタンをクリックする。ICS設定ウィンドウが開くのだが、ここで「あること」をやらないと、ICS機能を使用できるようにならない。ICS設定ウィンドウを開いたら、そこでKHR-2HVの電源をいったん切り、再び電源を入れるのだ。こうすることでKHR-2HVというか、KHR-2HVに搭載されているコントロールボードRCB-3Jは「ICSモード」に入る。
|
|
ICS設定ウィンドウを開いたら、いったんKHR-2HVの電源をオフ、そしてオンにしてコントロールボードをICSモードに切り替える
|
読み込みボタンをクリックしてこのメッセージが表示されたら、コントロールボードがICSモードに入っていないということだ
|
ICSモードに入ったら、ICS設定ウィンドウの読み込みボタンをクリックする。この時、メッセージが表示される場合は、ICSモードに入っていないということだ。ICSモードに入っていれば、接続されているサーボモーターの設定がウィンドウに読み込まれて表示される。設定項目は細かく用意されているが、ここでは「stretch」だけを調整する。細かく言うと「stretch」は「パルスストレッチ」といい、サーボモーターの負荷に対して耐えようとする力(保持特性とも言う)を設定するものだ。
個々のサーボモーターの設定を変更するには、任意のチャンネルの行をダブルクリックする。するとパラメーター設定画面が開くので、「ストレッチ」の部分を以下のように設定してウィンドウを閉じる。間違えて設定するとKHR-2HVのバランスが崩れるので、よく確認しながら設定して行こう。
■CH1~CH8 SET1 Stretch 3
SET2 Stretch 1
SET3 Stretch 5
■CH11~CH21 SET1 Stretch 3
SET2 Stretch 2
SET3 Stretch 5
■CH13、CH19 SET1 Stretch 4
SET2 Stretch 2
SET3 Stretch 5
|
|
読み込みボタンをクリックして、現在のサーボモーターの設定を読み込んだ状態。「Stretch」と「Speed」が3組あることに注目。初期状態では全てのサーボモーターが、同じ設定になっている
|
設定を変更する場合は、任意のチャンネル行をダブルクリックする。開いたパラメーター設定画面で、「ストレッチ」を変更し、ウィンドウを閉じる。これを使用しているサーボモーター全てに対して行なう
|
|
変更し終わった状態。いずれはこの設定機能を、使いこなせるようになりたいものだ
|
全てのサーボモーターの設定が終わったら、最後にもう一度確認して、ICSの設定ウィンドウを閉じる。その後、KHR-2HVの電源をいったんオフにして、再びオンにする。これでICSモードが解除され、KHR-2HVは通常の状態になる。スタートアップモーションでホームポジションになったら、設定を行なう前と比較して、若干雰囲気が違っていることに気づくはずだ。そう、なんとなく立っている状態が、ソフトになっているのである。
ストレッチではサーボモーターの保持特性を設定するが、これは大ざっぱに言ってしまうと、サーボの反応をソフトにするか、ハードにするかを決める。ハード側にするとサーボモーターはカチッとした感触になり、ソフト側にするとクッションが効いたような状態になる(感覚的な話で申し訳ない。でもそうしないと難しいことになってしまうのだ)。
これが顕著に現れるのが「ハンチング」という現象だ。ハンチングというのは、スタートアップモーションやホームポジションにKHR-2HVがなっている時、脚や腕がブルブル震える状態を言う。ストレッチをハード側にしていると、このハンチングが起きやすい。また、ジャイロセンサーのミキシングを大きく設定していると、この場合もハンチングが起きやすくなる。ストレッチをソフト側に設定すると、このハンチングが改善される場合が多い(状況にもよるのだが)。サッカー対応モーション用にストレッチを設定すると、KHR-2HVの立っている姿から硬さが抜けたようになるのも分かりやすい。
また、ICSでは3セットの設定を用意し、モーションデータの中でそれらを切り替えて使い分けることもできる。さらに本連載でも今後取り上げる、教示機能もこのICSを活用したものなのだ。
|
オプションウィンドウで「送信機でのモーション・シナリオ再生を有効にする」をチェック、ウィンドウを閉じる
|
後は無線コントローラー「KRC-3AD」を使える状態にして、準備完了だ。といっても作業は極めて簡単、オプションボタンをクリックし、ウィンドウ内の「送信機でのモーション・シナリオ再生を有効にする」をチェックする。そしてウィンドウを閉じれば終了だ。ちなみにオプションボタンをクリックしてもウィンドウが開かない場合は、KHR-2HVの電源が入っていないか、接続されていないかなので、COMポートの設定も含めてチェックしてみよう。
● 起き上がりモーションを設定して、KHR-2HVに転送する
サッカー対応モーションを使用する準備が整ったので、まずは「2HV045RC_起きあがり2(方向検知)」を使って加速度センサーを試してみよう。サイトからダウンロードしたファイルを展開して出来たフォルダ「KHR-2HV SP2」の中にある、「For Soccer」フォルダから、「2HV045RC_起きあがり2(方向検知)」をHeart To Heart3に読み込む。データシートにモーション表示されたら、それをゆっくり眺めて欲しい。いや、今は個々の機能などは考えなくていい。モーションの中にある「あおむけ[380]」と「うつぶせ[340]」を見つけて欲しい。なお、コメントに「対応センサー:RAS-1」とあり、本連載で使用するRAS-2とは異なっているが、これは気にしなくていい。
|
|
ダウンロードしたファイルを展開して出来たフォルダ「KHR-2HV SP2」の中にある、「For Soccer」を開く
|
「2HV045RC_起きあがり2(方向検知)」を読み込む
|
ここで「あおむけ[380]」をダブルクリックすると、設定用のウィンドウが表示さるのだが、注目は「比較レジスタに数値をセットする」だ。この数値は「境界値」と呼ばれるものだが、要するに加速度センサーの測定値と比較して、起き上がりのモーションを起動するための「境界」となる。
加速度センサーの解説で、実際にKHR-2HVをあおむけに倒し、測定値をメモしてもらったが、そこから10を引いた数値を入力する。なお、この数値は入力して最後にEnterキーを押さないと確定しないので注意して欲しい。筆者のKHR-2HVではあおむけで測定値が「405」だったから、「395」を入力してウィンドウを閉じる。同様にうつぶせの方も確認するが、こちらは測定値に10を足した数値を境界値とする。筆者のKHR-2HVでは「138」だったので、「148」を入力してウィンドウを閉じる。
|
|
データシートに表示されたモーションのフローチャート。コメントからも分かるとおり、このモーションは「転倒方向を検知して起き上がる」ためのものだ
|
「あおむけ[380]」をダブルクリックすると、このようなウィンドウが表示される。「比較レジスタに数値をセットする」に注目。ここの数値を実際の「測定値」に合わせて変更する
|
|
|
あおむけの数値は、測定値から「10を引いた数値」。筆者の環境では測定値が「405」だったので、「395」を設定する。数値を入力したら、最後に必ずEnterキーを押すこと。Enterキーを押してから、ウィンドウを閉じる
|
「うつぶせ[340]」をダブルクリックしてウィンドウを開く。やはり比較レジスタの数値に注目
|
|
うつぶせの場合は、測定値に「10を足した数値」を入力する。筆者の環境では「138」だったので「148」を入力する。やはりEnterキーを押してからウィンドウを閉じる
|
● 本当に起き上がるのか? KHR-2HVよ!
ここまでの設定で、KHR-2HVはサッカー対応モーションを動かせる状態になり、さらに加速度センサーと連動した起き上がりモーションが組み込まれた。実はサッカー対応モーションに付属する起き上がりモーションは、あらかじめ無線コントローラのボタンに対応した設定がなされている。これを確認するには、任意のモーションを読み込んだ状態で、データシートの何も無いところにマウスポインタを移動し、ダブルクリックする。するとデータダイアログウィンドウが表示される。
このウィンドウの中にある「コントロール入力」というのが、無線コントローラのボタンに対応した数値なのだ。例えば起き上がりモーションの場合は、コントロール入力に「2048」とある。この数値は、無線コントローラの「シフト3」ボタンを意味するのだ。数値と無線コントローラのボタンの対応は、KRC-3ADのマニュアルに表記されている。もちろん逆に無線コントローラから信号を送信して、コントロール入力の値を決めることもできる。だが、とりあえず今はサッカー対応モーションの初期設定のままで行こう。
|
|
モーションを読み込んでから、何もないところでダブルクリックすると表示されるウィンドウ
|
「シフト3」ボタンはここにある。「シフトボタン+任意のボタン」という使い方もある。PCのキーボード、Shiftキーと考え方は同じ
|
すでに起き上がりモーションはKHR-2HVに転送してあると思うので、実際に動かして加速度センサーが正しく設定されているかも確認してみよう。KHR-2HVの電源を入れたままあおむけに倒し、無線コントローラの電源を入れて「シフト3」ボタンを押してみる。KHR-2HVが起き上がったらあおむけは成功、そのまま今度はうつぶせに倒し、また「シフト3」ボタンを押してみる。正しく設定されていれば、またKHR-2HVは起き上がるはずだ。
サッカー対応モーションに付属する起き上がりモーションは、モーションが実行された際に、まず加速度センターの値をチェックする。そして「あおむけなのか、うつぶせなのか」を判断して、2種類ある起き上がりモーションのうち、どちらか一方に分岐して実行するのである。
|
|
【動画】見事に立ち上がったKHR-2HV。意外と素早い動きだし、抱きしめたくなるほど可愛い。抱きしめないけど
|
【動画】こちらも見事な動き。なお、ホームポジションの姿勢が悪いと、うつぶせからの起き上がりに失敗することが多い
|
さて、ここで大きなトラブルが2つ考えられる。まず1つは反応しなかったり、うつぶせなのに、あおむけ起き上がりを行なおうとすること。そしてもう1つはうまく起き上がれないことだ。前者の場合は加速度センサーの取り付けや設定に間違いがあるはずだ。もう一度、しっかり確認してみよう。後者の場合は、とくにうつぶせからの起き上がりで発生しやすいのだが、ホームポジションの姿勢に問題があるかも知れない。もう一度、トリムでホームポジションを調整してみよう。
● 調子に乗ってサッカー対応モーションを使う!
|
データテーブルを表示し、「すでにKHR-2HVへ転送されているモーション」をリストで確認する。よく見てもらうと分かるのだが、筆者も途中で分からなくなり、この画面ではパスモーション(左右)が抜け落ちている
|
起き上がりモーションが順調なら、もう怖いものはない。残るサッカー対応モーションを全てKHR-2HVに書き込んでしまおう。このモーション全てを書き込めば、あなたのKHR-2HVは一通り動くようになる。
サッカー対応モーションは起き上がりも含めて、全部で20個ある。それを順番、書き込む場所を気にせず、KHR-2HVに転送して欲しい。なお、起き上がりモーションだけは、自分で境界値を変更したものにして欲しい。また、モーションを書き込む場所は自由なのだが、順番に分かりやすい並びで書き込んだ方が、のちのち便利である。
順番に書き込んで行けばいいだけなのだが、そこはそれ人間様である。どれをどこに書き込んだか、作業しているうちに忘れるなんてことは、実によくある話だ。実際、筆者もモーションデータを順番に書き込んでいて、途中で分からなくなってしまった。そんな時に便利なのが、データテーブルだ。
Heart To Heart3のテーブルボタンをクリックすると、データテーブルウィンドウが開く。このウィンドウにはM1、M2、M3とモーションが行単位で並んでいる。だが、表示されたばかりのウィンドウには、データが何も表示されていない。そこで読み込みボタンをクリックして、KHR-2HVの側からデータを読み込む。なお、データを読み込んでいる最中は、KHR-2HVから力が抜けてしまう(電源が切れたのとほぼ同じ状態)ので注意すること。
データテーブルに読み込まれたモーションのリストを見ながら、足りないものを書き込んで行く。また、データテーブル上の任意のモーションをダブルクリックすると、データダイアログウィンドウを開くことができる。全てのモーションをKHR-2HVに転送したら、無線コントローラを用意し、順番にモーションを試してみよう。何も慌てて全てのモーションにチャレンジする必要はない。前進、後進、横移動、旋回、そしてサッカーらしくボールキックなどが、無線コントローラのどのボタンに対応しているかを確認する。
また、一部のモーションは特殊な動きとなるので、あらかじめサッカー対応モーションのマニュアルを確認しておくといい。とくにゴールキーパーモーションは、対応ボタンを再度押すことで、元の姿勢に戻るので注意して欲しい。
|
|
このようにHeart To Heart3のウィンドウとデータテーブルウィンドウを並べて作業することも多い
|
データテーブル上の任意のモーション行をダブルクリックすると、データダイアログウィンドウが表示される
|
実際にKHR-2HVを動かすと、動いていることに感動し、それだけで満足してしまう。しかし、ロボット競技会などでは的確かつ素早い動きが求められるのだ。そしてそのためには「無線コントローラを素早く操作し、KHR-2HVを思い通りに動かす」ことが大事になるのである。ロボット競技会への参加を狙うなら、無線コントローラを使った、KHR-2HVの操縦練習が必要となるのである。「えーっと、あのモーションのボタンはどれだっけ?」とやっている間に、ライバルは移動していたり、ボールを蹴っていたり、あなたのKHR-2HVを攻撃していたりするのである。
ここまで来たら、もう練習あるのみ。KHR-2HVと一心同体になるまで、自由自在に動かせるようになるまで、バッテリをせっせと充電しつつ、練習に励もう。もっとも本連載ではまだ、オリジナルモーションの作成や、オプションの活用などが残っているのだが。
|
|
設定はほぼ完了したと言っていいだろう。後は無線コントローラに慣れるため、そしてKHR-2HVがどういった動きをするのか把握するため、せっせと練習あるのみだ
|
【動画】動く、動く、KHR-2HV。前後左右、その場での旋回などなど。もっと広いところで動かすと、さらに楽しい
|
|
|
【動画】標準状態のKHR-2HVは、足裏を滑らせるようにして身体の向きを変える。モーションをいじって、角度を調整することも可能だ
|
【動画】サッカー対応モーションというだけあって、ボールキック、パスなども自在にこなす
|
|
|
【動画】脚を広げてゴールマウスの守りもバッチリ。ゴールキーパーになった時のモーションも用意されているのだ
|
【動画】おまけのようなモーション。片腕で腕立て伏せ。知らない人に見せると、結構ウケると思う
|
「ホビーロボットは“買う”じゃなくて、“連れて帰る”の方が似合ってる」
-あるショップで聞いたお客さんの言葉-
■ 関連記事
・ 高橋敏也の「KHR-2HV“超”初心者入門」 -Mission07- 「ジャイロセンサーで無敵の歩行をゲットしよう」(2008/11/26)
2008/12/01 16:02
- ページの先頭へ-
|