Table of Contents
複数のタスクを順序立てて実行する
目標: 書道ロボットに文字を書かせる
タスクの実行手順をグラフで表現する
ロボットを操作するチュートリアルやロボットに物を押させるチュートリアルでは、ロボットが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();
これくらい簡単な例だと他のチュートリアルで紹介しているソースコードと比べて分量も読みやすさも大差ありませんが、もっと複雑なタスクを実行したい場合には著しく差が出ます。
グラフを可視化する
(未完)