工学院大学で行われていたETロボコンの東京地区大会会場を訪れた。組み込みソフトウェア開発のスキルを競う、モデル設計のレビューと実践性能での検証をかねた形の実践でもある。参加者の対象は、組み込みソフトウェアの会社あるいは、エンタープライズ系からの移行組、またはオブジェクト指向を学ぶ学生あるいは一般・・・。LEGOのMINDSTORMで出来たNXT走行体という共通仕様のロボット群を駆使して、ソフトのみを純然と書き込みトライアルコースを正しくトラックして、あるいはその中のトリッキーなポイントを技を駆使して走らせるということになる。
ちなみに、今年から適用されている新しい走行体は、NXTというもので二輪自立走行するタイプのAppleのあれに近い。さぞや制御が難しいかと思うと、必要な制御機能はドライバーとしてライブラリ提供されているようで、いわゆる技を駆使する点というとライントレースと動輪制御とセンサーからの情報認識ということになる。実態としてコース上に設置されたさまざまな課題に対してどういった戦略で臨むのかということがソフトウェアのモデルとして求められる。その意味では、組み込み制御という観点でのドライバーを開発するといった点が薄まるようにも思えるが一般にドライバー開発に重点を置かれるよりもUIとしての機能期待値に向けた実装で解決しようということなのかも知れない。
実際に高校生のグループやら、専門としてOOPなツールを開発提供しているソフトハウスなどの参加者までがいた。プロがツールでコード生成までも駆使しての実装デモをするようなチームもいれば、一生懸命UMLを勉強してソフト開発を学んでいる学生までさまざまでコースを取り巻く観客席の外側には、各チームが開発したモデルのソフトウェアの工夫がUMLベースで展示されていた。MINDSTORMの実態としては、ARMが載っているようなのだが、実装可能なコードはCまたはC++らしい。昨年までの走行体のモデルではJavaもあったようなのだが、二輪自立制御の処理が追いつかないからか、Javaの適用はないそうだ。
仕事の合間をみて、仕事では取り組めない新しい技術に挑戦してもらいたいという業界の流れと、実情としては、そうした技術を定常的には使っていないというギャップがこうした活動をある意味教育として提供しているのだと思う。ただし、完全走行もままならないような状況が続くこうしたコンテスト?コンクール?といった状況は課題が難しすぎるのか、モデルベースでの設計をさせることで問題となっているのかは別にしてもお粗末ではないのか。確かに良い設計 で、スマートに制御されていくものを見て学ぶということが期待値であり、設計を志す者たち同士でのワークショップや懇親会に力点があるということかも知れない。
二兆円市場を支える、エンジニアたちの祭典の出し物としては、今後の日本を支えるスーパースターが登場するという期待値でもなく平均点をあげる底上 げが目的なのだろう。ドライバーレベルにも別次元で取り組み協会提供のライブラリを使わずとも高性能を達成する。そんなチューニング提供するようなクラス の登場も待たれるような気がするのは期待しすぎなのか。ある意味無差別級なコンテスト?ではあるものの提示している環境で制限をしてしまっているのは残念 な気がする。無論、共通のハードを簡易に提供するというくだりで考えていくと管理運営も難しくなってしまうのはやむなしか。
まともな設計をさらりとこなし、ロボットがスムースな身のこなしで技をクリアしていくということでソフトハウスの技量も評価されるという意味では、 よい広告塔になるのかも知れない。先日若手学生にアセンブラベースでのシステム開発の感激を味わってもらいたいと送った寄付金も、MindSTORMの ETロボコンに向けた追加の寄付を考えても良いのかも知れない。