Kinectからルンバまで、ガジェット解剖学がロボット開発を加速する

Kinectからルンバまで、ガジェット解剖学がロボット開発を加速する

NIWeek2011でひときわ多くの参加者を集めたセッションの1つが、家庭用ゲーム機のコントローラからスマートフォン、お掃除ロボットまで、消費者に身近なガジェットを「ハック」するというものだった。このセッションが、ロボット技術にフォーカスしたテクニカルサミットに設けられた理由とは? 「ハック」から、ロボット開発の要諦が見えてくる。

「感じる」「考える」「動く」。災害対策や宇宙・深海の探索で活躍する特殊なロボットから、工場の製造ラインに並ぶ産業用ロボット、商業施設や公共施設、家庭で人間にさまざまなサービスを提供するロボットに至るまで、この3つの機能は、あらゆるロボットに共通する基本的な要素だといえる。

「感じる」機能を実現するには、各種のセンサーを使う。加速度や角速度のセンサーを使って動きを検出したり、GPSや磁気コンパスを活用して位置を把握したり、超音波や赤外線を利用して対象物との距離を測定したりといった具合だ。それらで取得した情報をコンピュータやマイコンで処理することで「考える」機能を実装し、その出力信号でモーターなどを駆動して「動く」機能を実行する。

NIWeek 2011の「Robotics and Autonomous Vehicles Summit」では、これらロボットの基本機能のうち、「感じる」に焦点を当てたセッションが設けられた。題して「Hack The Kinect and Other Cool Sensors」。2日間にわたる同サミットの最後に設けられたセッションだったにもかかわらず、大勢の参加者が押し寄せ、開場前に行列ができるほどだった。

身近なセンサー機器がハックのターゲットに

「Kinect」は、Microsoftの家庭用ゲーム機「Xbox 360」用モーションコントローラで、ユーザがジェスチャーや体の動きだけでゲームを操作できる装置である。2010年11月に発売され、発売後5カ月間で1000万台を販売するヒットを記録している。

このHack The Kinect and Other Cool Sensorsというセッションでは、そのタイトル通り、Kinectの他にも、センサーを搭載した注目のガジェットが次々に「ハック」された。ほとんどが消費者向けに市販されている製品で、われわれにとっても身近な機器が多い(図1)。例えば、任天堂の家庭用ゲーム機「Wii」のリモコン(Wiiリモコン)、Android OS搭載スマートフォン、日本でもすっかりおなじみになったiRobotのお掃除ロボット「Roomba(ルンバ)」、そしてシリコンバレーのロボットベンチャーNeato Roboticsがルンバに真っ向から対抗すべく投入した新型お掃除ロボット「XV-11」である。これらに加えて、学生や趣味でエレクトロニクスを楽しむホビーストたちの間で人気が高まっている組み込みマイコン開発システム「Arduino」もターゲットになった。

図1 センサー内蔵の消費者向け機器をハックする 今回のセッションでハック事例を紹介した機器の一部である。家庭用ゲーム機のコントローラや、家庭用お掃除ロボット、Androidスマートフォンなどがターゲットになった。

ハックとロボット開発を結び付けるものとは

このセッションで紹介されたハック事例は、いずれもオンラインのオープンソースコミュニティ「LabVIEWhacker.com」で公開されているものだ。実際にハックに挑んだのは、米国各地の大学で電子工学や機械工学、コンピュータサイエンスなどを専攻する学生たちだという。

セッションの進行役を務めたのは、ナショナルインスツルメンツのAcademic Field Engineer Group Managerで、大学とのプロジェクトを主導するZach Nelson氏と、同社の組み込みシステムエンジニアであり、グラフィカル開発ツール「NI LabVIEW」のエバンジェリストとしても活動するJeff C. Jensen氏の2人である。Nelson氏によると、ここで言う「ハック」とは、「ガジェットの動作を“合法的”に解析すること」である。不法な改造を施したり、セキュリティを破ってプログラムを改変したりといった行為とは、一線を画す。

実際にハックを手掛けた学生らは、あるときはガジェットを分解し、センサーとマイコンをつなぐシリアルリンクを見つけ出し、ガジェットを動作させながらそこを流れるデータを取り込んで、丹念に分析した。またあるときは、そのガジェット用に公開されている.NETライブラリを使って、Bluetooth経由でセンサー出力の生データを取り込んで解読した。そうして、センサーの動きを探っていった。この作業に活用したのが、LabVIEWで作成したデータ集録アプリケーションである。さらに、各ガジェットのセンサー出力をLabVIEWのユーザが独自のアプリケーションに利用できるように、センサー出力を取り込むLabVIEWのコードをパッケージ化したライブラリも用意した。いずれもLabVIEWhacker.comで無償提供している。

こうしたハックは、われわれの知的好奇心を大いに刺激してくれる。しかしただ面白いというだけではないようだ。Jensen氏は、ガジェットのハックとロボット開発にはつながりがあると語る。どういう意味なのか。同氏によると、ロボットシステムでは、モデルを使って開発する手法が非常に有効だという。「感じる」「考える」「動く」の3つの要素でロボットシステムをモデル化し、コンピュータシミュレーション上でそれらのモデルを動かして、システム全体の挙動を検証するという手法である。ハックを進めていくと、その先にモデルを使って開発するこの手法の入り口があるというのだ。

つまり、ハック対象の動作解析を進めていくと、やがてセキュリティのカギがかかった組み込みシステムの扉の前までたどり着く。その先は部外者が踏み込めない領域だ。そこで、モデルを使った開発手法を使う。扉の内側の世界をモデルで表現し、シミュレーションの仮想世界と実機のコントローラを使う現実世界の両方でコードを実装して、両者の実行結果を比較する。後は、両者で同じような結果が得られるまで、モデリングとシミュレーションのプロセスを繰り返す。「これはハックの続きをシミュレーション上で行うようなものだ」(同氏)。

数百ドルの家庭用ロボットがレーザー測距モジュールを内蔵

それではこのセッションで披露されたハック事例を1つ紹介しよう。Neato Roboticsの新型お掃除ロボットXV-11である。なお、KinectやRoombaなど他の事例も全てLabVIEWhacker.comで見ることができるので、ご興味の向きはぜひチェックしてみてほしい。

XV-11の最大の特徴は、レーザー光を利用して対象物を検出したり対象物との距離を測定したりする、いわゆるライダー(LIDAR:Light Detection and Ranging)方式の測距センサーモジュールを内蔵していることだ(図2)。「iRobotのRoombaは壁にぶつかったら進行方向を変えるという方式」(Nelson氏)だが、XV-11は内蔵のLIDARで周囲の障害物を検知しながら進むことができる。しかも「LIDARは通常、値段がとても高い」(同氏)にもかかわらず、XV-11自体の価格は400米ドルなので、「LIDARだけを取り外して使っても、それが400米ドルで手に入るなら安いものと考えることもできる」(同氏)。

図2 外装カバーを取り去ったXV-11 内蔵のLIDARモジュールにアクセスするために、外装カバーを取り去ったところ。本体の中央、写真の上側に見える円筒状のモジュールが、LIDARだ。ここからレーザー光を照射して、周囲の障害物を検知する。

XV-11が搭載するLIDARは、周囲360度にわたって1度の角度分解能で、最大6m離れた対象物を検出できる。マイコンとの間はシリアルリンクで接続されており、その電圧振幅は3.3V、変調速度は115.2kBaud(ボー)だった。

Nelson氏によれば、このモジュールをLabVIEWにつないでデータを読み取ること自体はそれほど難しくなかったという(図3)。シリアルリンクのケーブルを切断し、シリアル/USB変換ケーブルを使ってUSBインタフェースに変換して、LabVIEWを搭載したPCに接続する。後は簡単なグラフィカルコードを記述するだけで、LIDARモジュールが出力する生のデータを取り込むことができた。難儀を極めたのはそこからだ。この生データを解読するための資料は何も存在しない。LIDARを動作させながらさまざまな条件で生データを出力させ、そこから生データが運んでいる情報を長い時間をかけて探っていった。その結果、次のことが判明した。すなわちこのLIDARは、反時計回りに1秒当たり10回転の速度でレーザー走査しており、1回転(360度)走査する間に90個のパケットをマイコンに送っている。4度ごとに1つのパケットが出力される計算だ。そして、各パケットには22バイトのデータが格納されており、その中に4点の測距データと、その他のデータが含まれていた。従って、1度ごとに1つの測距データが出力されていることが分かる。

図3 LIDARの出力信号を解読する LIDARモジュールとマイコンをつなぐシリアルリンクを切断し、USB変換ケーブルを介してLabVIEWで生データを読み出す。その生データの構造を解析し、有意な情報を取り出して、LIDARの測距データを復元し、極座標グラフに表示した。

LabVIEWhacker.comでは、このパケットのさらに詳しい情報の他、LIDARから生データを読み取って、周囲の対象物の位置情報に変換して極座標グラフ上にプロットするLabVIEWのライブラリや、LIDARモジュールをXV-11の内部に納めたまま利用する際の改造方法、外に取り出して利用するための改造方法などを提供している(図4)。

図4 LabVIEWライブラリをオープンソースで提供 このLIDARモジュールをLabVIEWユーザがさまざまなアプリケーションに手軽に適用できるように、LIDARの出力信号を読み取って測距データを取り出す一連の処理に必要なコードをライブラリ化して無償公開している。
Jensen氏は、このLIDAR搭載ロボットのハック事例を引き合いに出し、「このセッションを設けた狙いの1つが、身近なガジェットに搭載されているロボットの基本的な要素、すなわちセンサーやアクチュエータをLabVIEWユーザがもっと簡単に利用できるようにすることだ」と語った。上述の通り、LIDARは技術的に高度で利用価値が大きいが、それゆえに一般には価格が非常に高い。「このハックの成果を使えば、そのLIDARに他のセンサーやアクチュエータを組み合わせてさまざまなアプリケーションに用途を広げられる。ロボット開発では、センサーとのインタフェースがとても重要だ。それを手早く簡単に実行できる“裏技”として、これらのハックを紹介した」(同氏)。

展示会場でもロボット開発を支援するソフトウェアに注目

NIWeek 2011では、ここで紹介したテクニカルセッションの他、展示会場でもロボット開発を支援するソフトウェア製品に来場者の関心が集まっていた。

ナショナルインスツルメンツは、LabVIEWの最新版「LabVIEW 2011」に合わせて改良版をリリースしたアドオンモジュール「NI LabVIEW Roboticsモジュール」を見せていた。今回の改良版では、ロボットの走行制御アルゴリズムを3次元フィールドモデル上で検証できるシミュレーション環境を新たに組み込んだ(図5)。自律走行車や各種の地上走行型ロボットを開発する際に、制御アルゴリズムを実機に組み込んで実際に走らせる前の段階で、このシミュレーションを仮想的なプロトタイプとしてアルゴリズムを評価できるという。

図5 ロボットの走行アルゴリズムを仮想環境で評価 NI LabVIEW Roboticsモジュールの改良版に搭載された、3次元シミュレーション環境の画面例である。仮想プロトタイピングに役立つ。

この他、ロボティクスとマシンビジョンアプリケーションのソフトウェア開発を手掛けるイタリアのImagingLabは、LabVIEWに対応した産業分野の3次元マシンビジョン用ソフトウェアライブラリを出品していた。ベータ版の提供を2011年10月に始める新製品で、バージョン1.0の出荷は12月を予定している。

レーザーを利用した三角測距方式の形状測定に適しており、産業用ロボットのアプリケーションに簡単に組み込めるという。同社の担当者は、「産業用アプリケーションにおいて、±0.03mmの精度を得ることも可能だ」と説明する。展示会場では、自社ブースで担当者がライブラリの詳細を解説した他、NIのブースにおいて、三菱電機のロボットアームをLabVIEWとこのライブラリで制御することで実現した3次元角度スキャンシステムの動作デモが披露されていた(図6)。このソフトウェアライブラリ自体は、ハードウェアへの依存性が無く、レーザー三角測距の他にも、ToF(Time of Flight)方式や構造化光投影法に基づいた形状測定に使えるという。

図6 LabVIEWライブラリで高精度の3次元形状測定を容易に組み込む 三菱電機のロボットアームを制御して、対象物の形状を3次元で細かく計測するシステムである。ImagingLabのLabVIEW用ライブラリを活用した。

このように今回のNIWeekでは、テクニカルサミットや展示会場でのデモを通じて、LabVIEWを活用することでさまざまなロボットの開発期間を短縮する新しいアイデアが数多く提供されていた。「感じる」「考える」「動く」。この3つの機能を備えた機器をロボットと呼ぶのなら、現代の機器は、洗濯機も冷暖房装置も自動車も「ロボット」だ。LabVIEWをプラットフォームに据えたグラフィカルな開発手法は、今後ますます多様な「ロボット」に適用され、その進化を支えていくことだろう。

 

EETIMES Japan の記事を許可を得て掲載しております。

NI LabVIEWを
無料体験

LabVIEWプロフェッショナル開発システムに含まれる全てのツールと関数を利用できます

 評価版をダウンロード

関連リンク

Roboticsリソースキット

NIのソフトウェアとハードウェアを使用したロボット設計関連の情報を集めたものです。

 資料をダウンロード

注目のロボットアプリケーション

 詳しくはこちら

グラフィカルシステム開発とは?

 詳しくはこちら

NI Week 2011 掲載記事

各種媒体に掲載されたNI Week関連の記事を紹介します 

 掲載記事一覧