etcワークフローWorkflowPhybotsチート・シートよく使うクラスの一覧をまとめました。ロボットNoopy2addExtensionメソッドでNoopyExtensionを指定して、ロボットに追加で接続したセンサやモータを使えるようになります。Port.DC3);センサやモータを使うには、次のようにリソースオブジェクトを取得して直接メソッドを呼び出すか、NoopyWithAccelerometerExtension.javaのようにリソースを利用するタスクを定義します。noopy.requestResource(Accelerometer.class);サービスHakoniwaシミュレータです。同じjp.digitalmuseum.mr.hakoniwaパッケージのHakoniwaRobotやHakoniwaBoxとあわせて使います。サンプルはmatereal-samplesのhakoniwaパッケージ以下にたくさんあります。CameraWebカメラの撮像を取ってきます。サンプルはmatereal-samplesのcameraパッケージ以下にたくさんあります。解説は「カメラを使う」が詳しいです。MarkerDetectorマーカー検出を行います。サンプルはmatereal-samplesのmarkerパッケージ以下にたくさんあります。解説は「視覚マーカーを検出する」が詳しいです。タスク既知のタスク一覧ライブラリが最初からサポートしているタスクの一覧はTaskインタフェースのJavadocで見ることができます。Move指定位置に移動します。ClickAndRun.javaなどで使われています。{task.start();}Push指定位置に物を押し運びます。BringItHere.javaなどで使われています。{task.start();}Rotate指定した方向を向きます。speakerプロジェクトなどで使われています。{task.start();}TracePath(Loosely)パスを辿って移動します。DrawAndTrace.javaで使われています。robotプロジェクトのようなことができます。末尾にLooselyとついているタスクでは、パスを辿る戦略が微妙に異なります。パスを行き過ぎたときに戻らなくなり、結果として、スムースにパスを辿れることが多くなります。{task.start();}FillPathパスで囲まれた範囲をくまなく掃くように移動します。LassoAndFill.javaなどで使われています。Runプロジェクトのようなことができます。etcWheelsControllerインタフェースで定義されているプリミティブな命令を一度呼び出すだけのタスクで、単純に前進したりその場で回転したりします。DanceDanceDance.javaのように、単純な動作を組み合わせてワークフローを組み上げるときに使うと便利です。ワークフローWorkflowワークフローを表すクラスです。Workflow();ノード(部品)を足します。d);部品の間を状態遷移(Transition)で結びます。TimeoutTransitionで時間切れも指定できます。5000));必要ならワークフローをforkして同時に二本走らせることもできます。最後にjoinすることで、二本の処理が共に終わったタイミングに同期した処理を書けます。e))組みあがったワークフローは初期ノードを指定してstart()を呼べば動きだします。