まことさいとレゴロボット

2004年度計算数学II レゴ班

04年度冬学期は夏学期に作ったロボットを発展させました。
音声認識(発話コマンド音程認識)でレゴロボットを操作できるようにしました。 利点はボタン操作が不要になるということです。
Mac OSXは音声認識に使える様々な機能を提供しています。そこで、まず先学期作ったJAVAアップレットと同じ動作をするCocoaアプリケーションLEGAudio.appを作って、それにOSXの機能を利用した音声認識を組み込むことにしました。

夏学期からの変更点

LEGAudio.app

Xcodeプロジェクトアーカイブ:LEGAudio.tar.gz ソース

動作

実装

Xcode 1.5で作ったCocoaアプリケーションです。 アプリケーション全体をコントロールするLEGAudioControllerクラスとマイク入力分析用のAudioAnalyzerクラスを作りました。

LEGAudioControllerクラス

AudioAnalyzerクラス

注意

TCP/IPパケット中継

L-Cardの無線LANカードドライバにバグがあり、ARPプロセスにおいてMACアドレスを通知するパケットが正しい形で作られていません。 この不良のせいでUNIX系統(含MacOSX)のマシンからはL-Cardに無線カード経由でアクセスできないという障害があります。 Windowsならパケットの不具合を無視してL-Cardにアクセスできるので、iMac(MacOSX)からL-CardへのアクセスはWindowsマシンを中継することでこの問題を回避するようにしました。
具体的には、stoneというTCP/IPパケットリピータをWindowsマシン上で動かします。 stoneはWinマシンの80番ポート(HTTPサービス用)に対するアクセス(iMacから)をL-Cardの80番ポートに転送し、L-Cardからの戻りデータをアクセス元(iMac)に転送する、という動作をします。 実際には80番ポート以外にも、レゴロボットコマンド用のポート(1234番)についても同じことをしています。

改善してほしいこと