バーサタイルコントローラーの開発へ向けた構成要素の検証
４年Ｃ組 羽鹿 諒
指導教員 米田 隆恒
１．概要
私は、以前「ウェアラブル・コントローラー」というものを開発した。現在行っている研究はこれをバージョンアップし、より実用性のあるものを開発することを目標としている。現在、この研究は「バーサタイルコントローラーの開発」として研究中である。よってここでは、現在開発中のハードウェアを構成する要素の検証結果を報告する。
キーワード

コントローラー、SH2 マイコン、音声認識、モーショントラッキング、IMU、無線通信

２．研究の背景と目的
以前私は「ウェアラブル・コントローラー」(図１)に関する研究を行っていた。と考えて開発したコントローラーである。
用いる際は腕に本体を、指にセンサ部分を装着し、ボタンを押しながら空中に図形を描く。すると、シリアルケーブルで接続した先の PC の画面に認識できた図形の名前が表示されるというものである。動作中の風景を図２に示す。

図２ 動作中風景
図１ ウェアラブル・コントローラー

原理を簡単に解説する。まず、指に装着しているセンサは加速度センサである。空

これは、私たちが機械を操作する際、よ中に図形を描く際、図形の頂点にさしかかり直感的に、より簡単に操作できるようにると加速度センサから出力される信号には大きな変動が生じる。この信号の変動をコいても H8 という MCU を使ってきた。こントローラーは図形の頂点として読み替え、 の MCU の優れている点として、入手性がその頂点の数をカウントする。私は、図形高いことや国産の MCU としては安価に購の形を決める要素がその図形の頂点の数に入できること、使いやすいことなどが挙げあるということに気づいた。そこで、カウられる。

ントした頂点の数をもとにユーザーが描いた図形を識別した。

しかし、この MCU は処理速度(計算速度)が遅い。一般に、MCU や CPU などのしかし、ウェアラブル・コントローラー演算スピードを計測するためにベンチマーはあくまで図形の名前を取得するにとどまクテストと呼ばれるものがある。これは、っており、実用的なものではなかった。

あらゆるプログラムのエッセンスを抽出し、そこで、今回完全に別のハードウェアと作られている。いわばテスト用ソースコーして１からコントローラーを開発し直すこドのようなものである。これを用いて実際とにした。より実用性のある新しいハードに MCU の処理速度を計算した結果がメーウェア、ユーザーインターフェイスを開発

カーサイトに掲載されており、H8 は約するためである。なお、この研究は現在も2.3MIPS と な っ て い る 。 MIPS と は 、研究中であり、ここでは新しいコントロー

Million Instructions Per Second の略で、ラーであるバーサタイルコントローラーを１秒間に何百万個の命令が実行できるかを開発することを目標に、それに向けて必要表したものである。MIPS は、コンピューな構成要素を検証した結果を報告する。

ターの処理速度に関する情報でよく使われる。H8 のこの数値は、同レベルの MCU

３．研究内容よりは高い方であったが、バーサタイルコ（１）研究事項

ントローラーを実現するには、さらに高い[研究１]信号処理の心臓部であるマイ計算能力が必要であると考えている。また、クロコントローラー(以下 MCU という)に

H8 はコマンド環境(CUI)でしか開発がでついてきなかった。図３に CUI の例を示す。

[研究２]

コントローラーの動きを計測するセンサについて[研究３]

コントローラーが扱うアプリ

ケーションについて[研究４]

コントローラーの無線通信について（２）実際に行った研究[研究１]
これまでの研究において、また、以前開発したウェアラブル・コントローラーにお図３ コマンド環境

コマンド、つまりコンピューター用の単これは、MCU 内部にアクセスして処理語のようなものでしか MCU の開発ができ速度を優先するかプログラムの大きさを優ないため、MCU の細部の調整や処理速度先するか、など様々な設定を行いながらの向上などをすることが難しい。これは、MCU を効率よく動かすために必要である。

MCU 上で処理を行うアプリケーションに

ま た 、 HEW( 図 ６ ： High-performance

とっては致命的である。そこで、新しいEmbedded Workshop)とよばれる統合開発

MCU として SH-2 マイコンに目を付けた。 環境の存在も大きい。
また、その中でも H8 と MCU 本体が同じサイズである SH7125F というものをピックアップした。このマイコンの特徴をあげると、まず処理速度が H8 と比較して格段に速いということがある。図４に表を示す。

図６ HEW 画面
これと E10A デバッガを組み合わせるこ
図４ 演算性能比較とで、プログラムの１行単位で MCU を動作させたり、MCU をチューニングしたりさらに、開発環境が充実していることがすることが可能となる。現在は、市販され挙げられる。まず、E10A-USB というデている SH7125 ボードを用いてオリジナルバッガを用いて開発することができる点でのテストボード(図７)を作製し、実験開発ある。E10A-USB の画像を図５に示す。

を行っている。なお、使用している開発用のプログラムコンパイラは、フリーで公開されている KPIT GNU Tools という、GCC(以下に詳細を記す)ベースのものを用いている。

図５ E10A-USB

[研究２]以前開発していたウェアラブル・コントローラーでは、加速度センサ(図９)のみを用いてプロトタイプを作製していた。
しかし、これには問題があった。それは、正確な運動が取得できないということである。ウェアラブル・コントローラーに用いていたのは、２軸(x, y 軸方向)の加速度セ
図７ オリジナルテストボードンサであったため、上下の手のぶれや、微振動を検知することができなかった。また、さらに、私は今回 Unix 環境でのプログ

加速度センサの信号の大きな変化しか捉えラム開発を行えるよう、独自で C コンパていなかったことも問題点である。つまり、イラおよびデバッガをビルドし、パッケー頂点の数をカウントしていただけなので、ジ化することを行った。上記のような、三角形を描かなくても、うまく３回大きなWindows で用いることができるパッケー振動を加えてやるだけで三角形と認識してジはあったものの、Unix 環境で用いるこいたのである。この問題は、その他の図形とができるものはなかったからである。今でも同様に起こり得る事象である。

回は、インターネット上にフリーで公開されている GCC(GNU Compiler Collection)や GDB(GNU Debugger)、さらに組み込
み MCU 向けの開発環境を提供するライブラリである Newlib，binutils といったソースコードパッケージを組み合わせ、MacOSX(v10.5、Leopard)上でビルドした。
図８に MacOSX 上でコンパイラを動作させている様子を示す。
図９ 加速度センサ
そこで、私はジャイロセンサに着目した。
これは、物体の傾きを計測するセンサで、一般的には角速度を計測するものである。
このジャイロセンサと加速度センサを組み合わせることで、正確な物体の動きをハードウェアでトラッキングすることができる。
図８ コンパイラを動作させている様子

さらに、本来は物体の傾きを知るためのセンサなので、そのまま傾きと加速度を計測したり、どのぐらいの傾きかを角度として計測したりすることも可能である。 図 10に一般的なジャイロセンサ素子の写真を示す。

図 12 センサ部拡大写真
現在は MCU に接続してセンサからの出力を読み込ませ、数値化したデータを無線で PC へと送信する実験を行っている。
図 10 ジャイロセンサ素子[研究３]
今回、試験的にセンサモジュールを作製

私はウェアラブル・コントローラーを開した。これは一般に、IMU(慣性センサ)と発する以前に、自作ハードウェアのみで人いう名前で知られている。使用したセンサの発する声、母音を認識するという研究をは以下の通りである。また、作製したセン行っていた。この研究は難易度が高すぎたサモジュールの写真を図 11 に、センサ部ために一度断念していた。しかし、今回のを拡大した写真を図 12 に示す。

研究を行うにあたり、音声認識について調・加速度センサ:ADXL335

査を行った。対象としたのは、音声認識の・ジャイロセンサ:IDG-650(x, y 軸)

原理と音声認識プログラムの開発に関する・ジャイロセンサ:ISZ-650(z 軸)ものである。
まず、音声認識プログラムについては、Julius(ジ ュ リ ア ス )と い う も の が あ る 。
Julius は、京都大学の河原研究室が中心となって研究、開発を行っているオープンソースの汎用大語彙連続音声認識エンジンである。ここではシステムの構造が非常に難しいので詳細な説明は割愛するが、音声認識の世界ではよく用いられる確率モデルの図 11 作成した IMU モジュール１つである、隠れマルコフモデル(HiddenMalcov Model、HMM とも言う)を用いてシステムが構築されている。ソースコード
から公開されており、ユーザーのシステム上でビルドし、動作させることが可能である。低スペックマシンでインターネット接動作手順は、まずユーザーが MCU モジ

続環境がなくても使えることや、完全にシュール上のマイクに話す。この MCU モジステムがフリーであることが利点として挙ュールには Bluetooth 通信機能がついておげられる。音声認識の原理を簡単に解説すり、外部の機器との無線通信が可能である。

る。一般的な音声認識システムにおいてよ

この Bluetooth 機能を通して Julius が動く用いられるアルゴリズムは、隠れマルコ作しているサーバーにアクセスする。このフモデルに基づく「ビタビアルゴリズム」

とき、MCU モジュールで取得した音声デというものである。これは、観測された事ータをサーバーへと送り、サーバー上で音象系列を結果として生じる隠された状態の声認識を行う。その後、サーバーから直接、並びの中にある最も確からしい並びを探す

もしくは MCU モジュールに一旦結果を返というものである。

してから操作の対象となる機器にまた、音声認識は原理が複雑なだけでなく、ソフトウェアの容量や必要とするシス

Bluetooth 経由で接続し、操作するというものである。

テムも MCU レベルのものでは到底できな

しかし、MCU の音声入力(厳密には A/Dいことがわかった。Julius の紹介において変換機能)は音声認識に適するレベルに達低スペックのマシンでも動作すると記したしていなかったため、これは使えなかった。

が、これは MCU の性能に比べれば遥かに一般的に、音声認識を行う際には 16 ビッ高いものだ。例えば、Julius を例に挙げる

ト、16KHz という分解能で音声データをと、音声認識を行うのに最低限必要なシス読み込むことが必要とされる。

テムパッケージで約 30MB ある。これは次に、ウェアラブル・コントローラーで一般的な「マイコン」と呼ばれる IC に搭も行ってきた、人の動きを解析するモーシ載できるシステムサイズより遥かに大きい。 ョンセンシングについて説明する。今回のそこで、図 13 のような方法を考えた。ま

研究を行うにあたり、以前より精度を向上た、以下のシステム案では無線通信の方法させることを目標にした。ソフトウェアにとして、Bluetooth を例として解説する。

ついては現在研究を進めているので、ハードウェアの面については[研究２]を参照されたい。ここでは、モーションセンシングを応用したアプリケーションに関して解説する。
まず、遠隔操作できる黒板を考えている。
システムを図 14 に図示する。

図 13 ハードウェア音声認識システム案

ル回路を作製し、高出力のモーターやソレノイドなどのアクチュエータで制御することになる。

図 14 遠隔操作黒板
ここでは、教室を例として解説する。このシステムを用いるには、教室にスクリーンとプロジェクター、Bluetooth 通信機能

図 15 ホームコントロールシステムが搭載された PC が必要である。動作手順
は、自作ハードウェアを用いて空中に図形

これが実現すると、家中の家電製品や家や文字を描くと、その動きをハードウェアの建具を簡単に動かすことができるのではで分析し、Bluetooth を介して PC に送信ないかと考えている。

し、プロジェクターから投影されるというさらに、加速度センサやジャイロセンサものである。非常にシンプルであるが、ハは本来運動量を計測するためのセンサであードウェアのみで実際に手元の動きを解析る。よって、物理の授業などで使える教材し、再現できるかどうかが難点である。たに応用できるのではないか、と考えた。そだ、これが実現すれば教室中のどこからでれをまとめたものが以下の案である。シスも黒板にメモを残したり、板書をしたりとテムを図 16 に図示する。

いったことが可能である。次に、ホームコントローラーである。システムを図 15 に図示する。
システムの流れは、ここでは普通の家庭を想定する。このシステムも基本的には遠隔 操 作 黒 板 と 同 様 で あ る 。 PC にBluetooth を経由してハードウェアからの信号を送る。ただ、図 15 にもあるように、

図 16 モーションセンシングシステム

ホームコントロールという名前の通り、ドアや窓などの建具や、家電製品などを動かこのシステムの構造はここまでに解説しせる必要がある。そこで、別にコントローた２つのシステムとほぼ同じである。しかし、ここでは、自作ハードウェアをコンパクトに作る必要がある。また、用途によっては PC 側でソフトウェアを用意し、物理エンジンなどを組み込んでアニメーションを表示することも必要であると考えられる。
使用用途としては、ボールや振り子などにハードウェアを取り付け運動の様子を観図 17 無線 LAN モジュール察することなどがある。これが実現すると、目視やストップウォッチを見ながら行うよ

今回、実験することはできなかったが、うな精度の悪い実験ではなく、精度の良い

一般に無線 LAN は 10～30m 程度の通信正確な実験を行うことができると考えられをすることが可能であるとされている。汎る。

用性が高く、通信速度も速い上、特にこのモジュールは MCU に直結することができ[研究４]

るため、非常に有用である。

無線通信については、世界中で様々な種しかし、[研究３]に示したように、小型類のものが用いられている。また、各国でのモジュールにおさめなければならない場細かく規格が決められている。特に日本で合はこのようなサイズのアダプタは使えなは、電波法の制限によって私たちが自作ハい。また、消費電力が他の無線通信方法よードウェアに用いることができる無線通信

りも大きいため、小型のハードウェアにはモジュールはかなり種類が限られてくる。

実装することが難しい。

今回、私は３種類の通信規格について調

次に、Bluetooth モジュールである。

べ、実際にモジュールを実験できたものはBluetooth モジュールの例を図 18 に示す。

実際に通信テストを行い、それぞれのメリット、デメリットを検証した。
まずは、無線 LAN である。近年、スマートフォンやネットブックの流行によって一般のユーザーにも Wi-Fi 通信という名前で浸透してきている。私たちが使うことがで き る 無 線 LAN モ ジ ュ ー ル と し て 、CF(Compact Flash)という規格のコネクタ

図 18 Bluetooth モジュールがついているモジュールが存在する。図17 にモジュールの例を示す。

今回、このモジュールについても実験することができなかったが、一般的に無線LAN と同様に、10～30m 程度の通信が可能とされている。また、多チャンネル同時通信が可能なことでも知られている。つまり、１つのポイントに対して複数のデバイ１本で数ヶ月〜数年動作できるほどである。

スが通信する、いわゆるブロードキャスト

ここでは、図 20 のような実験を行った。

通信が可能なのである。また、近年は PCや携帯電話、家電製品にも多く取り入れられるようになったため、開発さえできれば多数の機器と通信をすることができる。さらに、モジュール本体が小型なので、自作ハードウェアなどに簡単に組み込んで使うことができる。
しかし、このようなモジュールは入手性があまりよくない。また、機械を少ししか作らない場合はこのモジュールでコストが

図 20 XBee 実験概要図大幅にかかってしまう場合がある。また、場合によってはチップのファームウェアを簡単に説明するとまず、２つの XBee モ

オリジナルにカスタマイズする必要がある

ジュールを用意し、片方には電池をつなぎため、高度な技術が必要なことがある。

持ち運びができるようにする。もう一方は最後に、ZigBee モジュールである。図19 にモジュールの例を示す。

PC につなぎ、電波強度および電波の届く状況を観察した。なお、今回はどの程度届くかのみ調べた。場所は、本校の理科講義室、理科講義室前の廊下、理科講義室の前の廊下の曲がり角の地点である。
まず理科講義室は電波が届いた。これにより、普通の教室や家の部屋のなかでは電波が届くことになる。続いて、理科講義室前の廊下である。この地点は最初、電波強度が弱いため電波が届かないことが懸念さ

図 19 ZigBee モジュール

れたが、結果的には廊下の端から端まで約(写真は XBee モジュール)60m 電波が届いた。
しかし、唯一理科講義室前の廊下の曲が今回、実験できたのがこのモジュールでり角は電波が届かなかった。距離は 2 m～ある。これはハードウェアを自作する上で、 3 m 程度しか離れていないのだが、校舎が無線化が必要な場合によく使われるモジュ鉄骨で組まれているからか、電波が届かなールである。ZigBee 自体は、家電製品向かった。

けの短距離無線として知られている。通信

事前に調べた結果でも、手軽に使えて安距離は Bluetooth 同様、10～30m 程度で価な反面、電波が届きにくく、長距離の通ある。消費電力はきわめて少なく、乾電池信や別室同士の通信などには向いていないことがわかっていた。だが、予想以上に電[10]Julius 公式サイト、波が届かなかった。

http://julius.sourceforge.jp/

３種類のモジュールを比較して考えたが、同室内なら通信ができることや、安価で小６．謝辞型であることから現在は XBee モジュール

今回の研究を行うにあたり、サイエンスを用いて無線通信の実験を行っている。

研究会物理班顧問の米田先生には研究に関するアドバイスをしていただきました。

４．まとめと今後の課題

音声認識や研究の進め方など、研究の行

今回は長期間にわたり、さまざまな研究い方については㈱国際電気通信基礎技術研

要素の実験を行い、それぞれの要素を調べ究所(ATR)の野間春生さん、多田昌裕さん、ていった。今回の実験結果をもとに、本研吉田俊介さん、水戸和さん、荻田紀博さん、究につなげていきたい。

平田康夫さん、足立隆弘さんをはじめ、多数の研究員の方にご教示いただきました。

５．参考文献また、SH2 マイコンおよび E10A デバ[1]「ADXL335 データシート」、アナロッガの取り扱いについては、㈱たけびしでグデバイセズ社

システム開発を行われている方々にご教示[2]「SH7125F マイコンボード」、秋月電いただきました。

子通商[3]「SuperH™ファミリ用 E10A-USB エミュレータ ユーザーズマニュアル 別冊
SH7125、SH7124 ご利用時の補足説明」、
ルネサスエレクトロニクス社[4]「IDG-650 Dual-Axis Gyro ProductSpecification」、インベンセンス社[5]「ISZ-650 Single-Axis Z-Gyro ProductSpecification」、インベンセンス社[6]「SH7125 グループ、SH7124 グループ
ハードウェアマニュアル」、ルネサスエレ
クトロニクス社[7]「SH7125 CPU ボード M3A-HS25 ユーザーズマニュアル」、ルネサスエレクト
ロニクス社[8]「STK-7125 ハードウェアマニュア
ル」、アルファプロジェクト社[9]「STK-7125EVB ハードウェアマニュアル」、アルファプロジェクト社

この場を借りて御礼申し上げます。