チュートリアルに戻る

複数のタスクを順序立てて実行する

目標: 書道ロボットに文字を書かせる

The Adobe Flash Plugin is needed to display this content.

タスクの実行手順をグラフで表現する

ロボットを操作するチュートリアルやロボットに物を押させるチュートリアルでは、ロボットが7秒間前進して停止するプログラムの例を紹介しています。この例は、グラフで表現すれば次のようになります。

Materealでは、タスクの実行手順をこのようなグラフで表現して、そのまま実行することができます。具体的には、次のようなソースコードを書くとロボットが7秒間前進して停止します。全文はUseActivityDiagramToGoForward.javaを読んでみてください。

// Construct an activity diagram.
ActivityDiagram ad = new ActivityDiagram();
Action goForward = new Action(robot, new GoForward());
Action stop = new Action(robot, new Stop());
ad.add(goForward);
ad.add(stop);
ad.addTransition(new TimeoutTransition(goForward, stop, 7000));
 
// Set the initial node and start running the graph.
ad.setInitialNode(goForward);
ad.start();

これくらい簡単な例だと他のチュートリアルで紹介しているソースコードと比べて分量も読みやすさも大差ありませんが、もっと複雑なタスクを実行したい場合には著しく差が出ます。

グラフを可視化する

(未完)