ロボットの無線に関連する問題 (主観)

私は無線の専門ではありません。用語が難しく、最初は「みんなが何語をしゃべっているのか」わからないぐらいの状況でしたが、全くの素人、素人なりにそこそこ勉強し、問題の切り分けが出来るように模索してきました。

無線を新たに使う人や、大規模なデモや、競技などで初めて使う人(またはたまに使う人)は下記のようなトラブルの事象を多くみかけます。

無線通信は遠隔操作型ロボットにとっては、簡単そうで、トラブルになるとかなかな解決が面倒な領域なので、参考程度に読んでください。

ロボットが動かない原因

無線のトラブルは、1990年代より毎年開催されているRoboCupや、2000年に国内で開催されたROBODEXなど、無線LANなどの機器普及と共に、各ロボットイベントで起きてきました。多くの事象を見てきた経験から以下のような内訳だと思ってます。

  • 無線関連のトラブルの内訳
    1. ロボット側の原因(ハード的、電気的特性) 40~60%
    2. ロボット側の原因 (ソフトウェア的) 30~40%
    3. 環境の問題 10~30%
      1. ※ 性格な件数をカウントなどはしてません。あくまでも私の主観です。

上記の「3.環境の問題」の問題については、 2000年以降「事前整備」のノウハウの共有と、「対策の実施」により、10%以下になっていると思ってます。

ただし、1.2の事象の場合には、 エンジニア側の”言い訳”の手段として「3.環境の問題」を盛んに”採用”しているように見受けられます。下記はそのいくつかの事象です。

  • ロボットが動かなくなったら、とりあえず無線のせいにしてみる(問題の切り分けが出来ないから)
    • (中東の人はこれが多いですね(笑))
  • そもそも技術スキルがないから問題の切り分けができない
  • 無線の知識がなくても無線は使える(ロボットは動く)
    • 一度動いたら、それ以上勉強しない
    • 無線通信の開 発項目の優先順位が低い
    • そもそも無線について興味がない
  • 無線が原因っぽいと判っても原因を特定する手段を持ってない、知らない
    • 無線のトラブルになったことがないから、現地で調べる方法を有していない
    • 問題が起こってみないと問題を特定する機材の必要性を開発者も感じないし、予算承認者が必要性を理解できない
    • 特定するための機材が高い
    • (「のど元」過ぎれば、なんちゃら・・・)
  • 開発をしていた研究室では動いていたが会場に来たら動かなくなった
    • 設定をデフォルトのままで使っているため、同じ通信方式の場合には、「チャンネルが同じ」「通信のセキュリティレベルが低い」などの問題が起きる
    • 設定の変更の方法を知らない
  • ロボットが動かなくなった理由を、無線のせいにしておけば自分のせいじゃないと思ってる
    • とりあえず動かなくなったら無線のせいにしておけば、その場を切り抜けられると思ってる
    • とりあえず無線のせいにしてみたけど、本質的な原因は実はわからない

無線が途切れても動くロボットにしておくのが、一番の対象法だと思うのですが、競技などのルールの仕様の面で困難な面もあります。

無線機のハードウェア周辺の整備(ノイズ対策、アンテナの設置位置)など初歩的なことから、ソフトウェア処理(エラー処理、そもそも大量なデータを送らなくても大丈夫なシステムにする)など、いろいろ対策を講じる必要があります。

なお、無線関連が原因だと推測しても、「原因の切り分け」する手段を持ち合わせていないと、他人のロボット(無線)のせいにするなどはよくあることです。

これまでいろいろな現場に遭遇しましたが、この事例はよく見かけます。学生や大学の研究者や、大手メーカーの研究者・開発者など、みなさんハマっているようです。

多くの問題は、「自分のロボットだけであれば動く環境」の構築していることにあります。「他のロボットも同時に動かす環境の構築」を考えて実施されている方をあまり見かけません。

各ロボットが好き勝手に無線を使えば、全部のロボットが動かなくなるのは必然なのですが、トラブルに遭遇しないとなかなか理解できないのが実情のようです。

ただ、無線のことを勉強しようとしても、「難しい専門用語で説明されても分かりにくい」というのもあります。

以下の私もギャップを埋めるべく活動してますが、今後 ギャップを埋めてくれる人が他に増えてくれることを期待します。

  • 「無線・通信屋さんの視点」
    • 無線や通信のことを理解しないで、使っていることが理解できない
  • 「ロボット屋の視点」
    • 無線・通信屋さんの言っていることが理解できない