プログラムはモデルとルールで作る

2009年6月24日(水)
久保秋 真(くぼあき しん)

ロボコンを教育に活用しよう

 これまで、教育用レゴ マインドストームを利用しながら、エンジニア向けの実習方法について紹介してきました。しかし、いろいろな事情から、この記事と同じようなことを皆さんの職場で、チームとして実践するのはなかなか難しいかと思います。個人的なプログラムの中で工夫することはできても、広がりを作るのが難しいということもあるでしょう。

 そんな場合には、次にあげるようなエンジニア向けの取り組みを推進するプロジェクトを、仲間を募って進めるという方法があります。外部のイベントにチャレンジすることは非常に有効な手段です。

 ETソフトウエアデザインロボットコンテスト(ETロボコン:http://www.etrobo.jp/)は、ソフトウエア開発にモデリング教育の機会を提供することを目的としたコンテストです。教育用レゴ マインドストームで製作したロボットによるライントレース競技と、そのシステムのモデル図の審査があり、その両方のバランスがいかにとれているかを競います。

 多くの企業や大学が、モデル図を使った開発のトレーニングや研究にこのコンテストを利用していて、2009年度は全国からおよそ350チームがエントリしています。地区大会、チャンピオンシップ大会ともに、エントリされたモデル図を掲示したり、審査員によるモデリングワークショップを開催したりと、モデルについて議論する機会も用意されています。

 図3-1の動画は、教育用レゴ マインドストームNXTで作成した2輪倒立振子ロボットです。2009年度のETロボコンでは、このロボットをベースに使用する部品や構造を競技に合わせて変更したロボットを使って、新しい競技が実施される予定です。

 また、MDDロボットチャレンジ(http://sdlab.sys.wakayama-u.ac.jp/mdd2009/blog/)は、130リットル程度のヘリウムガス飛行船を、地上の基地局から自動航行制御するシステムを競うロボコンです。UMLなどを使ってモデル図を作成し、競技の結果とあわせてモデルの優劣を競うのは、ETロボコンと同じです。

 MDD(Model Driven Development)とは、2ページ目でやったような、ルールによるモデルの変換を活用した設計・実装方法です。このチャレンジには、MDDへの取り組みを競うことも含んでいるので、MDDの活用をテーマにした学生の研究や、モデリングやMDDを活用した組み込みシステムの開発にチャレンジしている先生方、モデリングを活用したシステム開発の授業などに利用されています。

 これらのコンテストは、ほかのチャレンジャーとワークショップや懇親会で出会い、大いに議論することも、チャレンジャーにとって重要な機会であると捉えて運営されています。

図3-1:2輪倒立振子ロボットの例(ETロボコンの競技用とは別のロボットです)

-----------------------------------------------

図3-2:研究課題の例(自動搬送ロボット)

社内研修でロボコンの仕組みを活用しよう

 「ETロボコン」や「MDDロボットチャレンジ」のようなロボコンに参加する方法以外にも、会社規模で研修など のためにロボコンの仕組みを活用する方法があります。

1)社内でETロボコンを模したコンテストを開催する
2)社内研修の総合演習的としてロボコンと同様の課題を実施する
3)外部コミュニティーの仲間で共有するための開発課題に使う
4)ビジネスゲームやマネジメント研修にロボコンの課題を応用する

 職場で実践に向けた導入教育を実施したいが指導が難しいといった場合には、実践的なトレーニングコースを導入してみてはいかがでしょう。筆者の所属する アフレル(http://www.afrel.co.jp)でも、モデリン グと教育用レゴ マインドストームを活用したエンジニア向け研修や、教育機関向け教材を提供しています。

 図3-2の動画は、教育用レゴ マインドストームNXTで作成した自動搬送ロボットです。このようにロボットを使用するシステムの開発を課題にした各種研修コースや、2台のロボット間で Bluetooth通信をさせるような課題も用意していますので、興味のある方はご連絡ください。

 本連載では、プログラムを作るときにその意図もプログラムに反映することの重要性や、そのためにモデルが果たす役割について考えました。また、職場でも ロボットを活用した実践的な教育ができることを紹介しました。以下に簡単にまとめましたのでご覧ください。

1)ロボットを動かす知識をプログラマーからプログラムへ移し、製作したロボットの動作を表した言葉で作成する

2)クラス図やステートマシン図を使って、プログラムの構造や動作を表現する

3)モデル図とプログラムをルールで対応づけ、別のプログラマーが同じ作り方を共有できるようにする

4)ロボコンに参加して、目標を持って学ぶ機会を作ってみる

5)エンジニア向けの実践的なトレーニングを活用する

 本連載が、みなさんの開発や教育を後押しできればと期待しております。

著者
久保秋 真(くぼあき しん)
株式会社アフレル
メーカー系ソフト開発会社などを経て、2007年より(株)アフレルに勤務(http://www.afrel.co.jp)。教育用レゴ マインドストームを活用した技術研修の開発と指導に従事。研修の講師として全国を飛び回る毎日。ETロボコン、MDDロボットチャレンジではモデル審査員を務める。早稲田大学理工学術院非常勤講師、日本大学生産工学部非常勤講師。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています