ロボ・マインド - 百科事典

RoboMindは、シミュレートされたロボットをプログラムすることで、初心者がコンピュータサイエンスの基本を学ぶことができるシンプルな教育プログラミング環境です。一般的なプログラミング技術を紹介するだけでなく、ロボティクスや人工知能についての洞察も提供することを目指しています。

RoboMindは、Windows、Linux、Mac OS X用のスタンドアローンアプリケーションとして利用可能です。2005年に最初にリリースされ、当時アムステルダム大学の学生であったArvid Halmaによって開発されました。2011年からは、Research Kitchenが出版しています。

シミュレーション環境
アプリケーションは、ロボットが動き回り、隣接セルを観察したり、塗り絵の道を残してマークしたりできる2次元グリッド世界に構築されています。世界には、ロボットが持ち運び、道を開くために使用できるいわゆるビーコンも含まれています。

バージョン4.0から、RoboMindのスクリプトをリアル世界のロボットに直接エクスポートすることが可能です。現在、Lego Mindstorms NXT 2.0がサポートされています。

スクリプト言語
RoboMindは、簡潔なルールのセットで構成された基本的なスクリプト言語を提供しています。ロボットに基本的な動作指令を実行させるコマンドに加えて、制御フローは条件分岐(if-then-else)、ループ(while)、カスタムプロシージャの呼び出しで変更できます。

正方形を描くための例スクリプト:

paintWhite
repeat(4) {
forward(2)
right
}

再帰的なラインフォロワーの例:

follow

procedure follow{
if(frontIsWhite){
forward(1)
}
else if(rightIsWhite){
right
}
else if(leftIsWhite){
left
}
else{
end
}
follow
}

プログラミング環境は、構文ハイライト、自動補完、行番号表示を備えた統合されたテキストエディタを提供します。環境の変更(例えばグリッドセルの塗り絵)は、ランタイム状態を保存するために使用されます。これは、ロボットがその環境の中でどのように動くかを示し、2次元チューリングマシンと直接関連しています。バージョン5.0から、言語は変数と関数(値を返すプロシージャ)の宣言を許可しています。

スクリプト言語自体は、現在22の言語で利用可能です:アラビア語、カタルーニャ語、中国語、チェコ語、オランダ語、英語、フランス語、ドイツ語、ギリシャ語、ハンガリー語、インドネシア語、韓国語、ポーランド語、ブラジルポルトガル語、ロシア語、スロバキア語、スロベニア語、スペイン語、スウェーデン語、タイ語、トルコ語、ウクライナ語。全ての指示とキーワードが翻訳可能であり、これは英語の構文やラテン文字に制約された他の多くのプログラミング言語よりも非英語話者にとって学習が容易です。

他の教育ソフトウェアとの関係
RoboMindはKarel the Robotに似ていますが、構文はC/C++に近く、KarelはPascalに近いです。

RoboMindはLogoと関連付けられますが、スクリプトの構文は主流のスクリプト言語(例えばJavaScript)に近いです。RoboMindでは、環境の認識と変更が同等に重要であり、Logoは後者に焦点を当てています。これにより、RoboMindは実際の生活の応用を示すのに適しています。一方、Logoではユーザーが視覚効果を作成する自由度が高くなります。

他の無料の教育プログラミング言語、例えばAliceやScratchは、インタラクティブな物語の広範な分野に焦点を当てています。

参考リンク
教育プログラミング言語
Karel the Robot(プログラミング言語)
RUR-PLE
Microsoft Small Basic
Minibloq
Logo(プログラミング言語)
Alice(ソフトウェア)
Scratch(プログラミング言語)
Kodu Game Lab
TouchDevelop

参考文献
...

外部リンク
公式ウェブサイト
オンラインRoboMind(完全な計算的思考カリキュラム)