goo blog サービス終了のお知らせ 

Re: The history of "M&Y"

Team "M&Y" and "花鳥風月"
the soliloquy of the father
毎日更新!

赤外線の影響 その3

2007-09-15 | うんちく・小ネタ

しつこく、赤外線ポートについての継続調査です。

「M&Y」はプログラミング言語として、ROBOLAB2.5.4を使用しております。 このROBOLABには、「リモートプログラム」という命令があり、他のRCXにプログラムをダウンロードすることが出来ます。 例えばAとBの2台のRCXがあり、AのRCXに「ライトを2秒間光らせるプログラムを他のRCXに転送する」というプログラムをダウンロードしておきます。 AのRCXを(待機状態の)BのRCXに近付けてプログラムを実行すると、BのRCXには「ライトを2秒光らせる」というプログラムがダウンロードされます。 (BのRCXが待機状態でなければ、プログラムの書き換えは実施されないようです。)


これを悪用すると、競技を待っているロボットの近くで、いたずらのプログラムを転送してしまうことが出来てしまいます。 それを知らない競技者は、ロボットのプログラムのスタートボタンを押しても、意図しないプログラムが動作してしまい、焦ることになります。 

それを避けるためにも、「必要の無いときには電源を切っておくこと。」「プログラムを転送するとき以外はRCXの赤外線ポートにカバーをしておく。」ことが有効ですね。


このRCX同士の通信はどの程度の距離で有効なのか、2台のRCXの距離を少しづつ離して通信できる距離を実験をしてみました。

蛍光灯の点いた明るい部屋では、2台の距離が1m40cmまでは通信ができました。 蛍光灯を消すと2mでも、なんとか通信ができました。 (それ以上離すと、プログラムが正しく動作しませんでした。)



これが噂に聞いた「中○の赤外線攻撃」の正体なのでしょうか・・・

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

赤外線の影響 その2

2007-09-15 | うんちく・小ネタ

先ほど光センサーについての赤外線の影響を確認しました。 さらに、もうひとつの赤外線の影響について実験したいと思います。 こちらは世界大会に参加したときに、他の参加者からうわさで聞いていたころで、「他チームのRCXのプログラムや、ファームを書き換えてしまう」という妨害工作についてです。 本当にそのような妨害工作ができてしまうのでしょうか? 

そこで、以下の実験をしてみました。


(1)パソコンに接続したIRタワーに2台の(待機状態の)RCXを近付けておき、プログラムのダウンロードをしてみました。 すると、途中で「RCXからの応答がありません。」というエラーが表示されることがありますが、2台のRCXにそのままプログラムがダウンロードされました。 (プログラムの実行も問題ありません。)

(2)パソコンに接続したIRタワーに1台の(待機状態の)RCXを近づけておき、長いプログラムのダウンロードをします。 プログラムのダウンロードが完了しないうちに、もう一台のRCXを置いてあるRCXの前に割り込ませます。 そうすると、プログラムのダウンロードは、割り込ませたRCXに継続されます。(最初からあったRCXはダウンロードされなくなり、待機状態に戻りました。) パソコン側は問題なくダウンロードが完了したようになりました。


この2つの実験からは、待機状態のRCXが複数台あると、故意でなくても意図しないRCXにプログラムをダウンロードしてしまう危険性があることが分かります。 特に、ロボットの競技会などでは、RCXが接近した状態で複数存在する可能性が高い場所では非常に危険ですね。 お互いに気を付けないと大変なことになりますね。 


FLL(FIRST LEGO League)のルールには以下の記述があります。 

あるチームのダウンロードによって、ほかのチームのダウンロードが消去されることがあります。せっかくのパフォーマンスが台無しにならない様、ピットエリア内のみでプログラムダウンロードが認められています。赤外線タワーでダウンロードの際は、ほかのチームと距離をおき、赤外線レベルは低に設定して利用し、ロボット使用外は電源を必ず切っておいてください。

これは、我々のチームだけでなく、参加者全員が遵守すべき事項だと思います。 特に、プログラムをダウンロードして、エラーもなく終了したにも関わらず、実際に実行してみるとプログラムが動かなかったり、前のプログラムのままだった場合は、他チームのRCXにダウンロードしてしまった可能性がありますよね。 今年の世界大会では、競技台の周りに陣取って、パソコン操作やダウンロードをやっていた海外のチームがありましたが、それらは(ルールに違反しているだけでなく)やってはいけない事として、もっとキチンとしてもらわなければならないと認識をしました。 


もし、悪意のある参加者がパドックなどで、他チームのプログラムを書き換える意図でむやみにダウンロードを実施していると、RCXのプログラムが書き換えられる可能性が」あります。 

これを避けるためには

①必要の無いときにはRCXの電源を切っておく。

②プログラムのダウンロードするとき以外は、RCXの赤外線ポートを何かでカバーしておく。

が有効と考えます。 

そして、プログラムのダウンロードするときには、出力を小さくしてなるべく他チームに影響の無い様に配慮して作業をすることですね。(例えば、IRタワーを下に向けて、ロボットの上からダウンロードする等)

・・・お互いが被害者にも加害者にもならないために・・・

そういえば、世界大会常連組のロボットは、確かにRCXの赤外線ポートを銀紙などでカバーしていたなあ。

コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

赤外線の影響

2007-09-15 | うんちく・小ネタ

ライントレースをするロボットの競技会では、必ず「フラッシュ禁止」のルールがあります。 ライントレースをするための光センサーにフラッシュの強力な光が当たると、誤動作してしまうからだそうです。 いろいろ調べてみると、LEGOの光センサーは赤外線を使用したセンサーのようです。

先日見学に行ったWROの会場でも、競技毎に「フラッシュを使用しないでください」とアナウンスがありました。 

サッカーのように光センサーが横向きに(前向きに)付いていれば、外光の影響を受けやすいのは納得できます。 いままで経験してきた大会でも、大阪のジャパンオープンの会場は、天窓はあるし、出入り口からの外光も入って、サッカーチームとしては大変環境のよくない会場だったと思います。

では、レスキューの場合はどうでしょうか? 光センサーは必ず下向きに付けられています。 これで外からの光(や赤外線)の影響を受けるとすれば、光が床に反射してその反射光が光センサーに影響を及ぼすのではないかと想像されます。


そこで、実験してみました。 単純に光センサーを下向きに付けたロボットを作成しました。(光センサーの先端と床の間は約8㎜です) これで、黒線を計ると値は約50で、白は約60でした。 そこで、光センサーの値が55以上になったら音が鳴るプログラムを作成して実験してみました。 

光センサーを黒線に置くと音は鳴りません、光センサーを白の上に置くと音がなります。(そのようにプログラムしたのであたりまえですが) では、光センサーを黒線の上に置いて実験開始です。 


(1)カメラのストロボをロボットの近くで光らせても、なんら影響は無いようです。 光センサーを少しずつ持ち上げて、ストロボの光が直接光センサーの受光部に当たるようにしていっても45度くらいでは、特に反応は変わりません。 さすがに直接ストロボの光を光センサーに当てると音が鳴りました。


(2)ロボカップのサッカーで使用する赤外線を出すボールで実験してみました。 こちらも、黒線の上に光センサーを置いた状態で、ボールを近づけてもなんら変化はありません。 ボールを10㎝程度の距離に置いたまま光センサーを少しずつ(ボールの方向に)傾けると、やっぱり45度くらいでは、反応は変わりません。 さすがにそれ以上傾けると、音が鳴りました。


※実験したのが、夜だったので、太陽光での実験はできませんでしたが、おそらく太陽光はこれらの実験で使用した光源に比べて非常に強力なので、影響が大きいのだと思います。 

以上の実験から、ストロボや(良く言われている)ビデオカメラのオートフォーカス等の赤外線くらいでは、レスキューのロボットが誤動作するとは考えにくいと思います。


この実験はあくまでも、個人的なものであり、結論も私個人のものです。

とはいえ、ロボット競技会の会場では、マナーとしてフラッシュを使用しないことは必要と考えます。

コメント (4)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする