Webots 使い方まとめ

10. Supervisorの設置

.1 Supervisorとは

Supervisorはシミュレーション中に人間が行うべき特殊な制御を実行するロボットの種類である。 Supervisorロボットは通常のロボットには扱えない特別なパラメータにアクセスすることが可能だ。 通常のロボットは自分の正確な位置情報はわからない、しかし監督している人間(Supervisor)は、目で見てそのロボットの場所を知ることができる。 また、監督者(Supervisor)はロボットを任意の場所に移動することができる。 例えば、移動ロボットがコースを脱線した時にコース上に戻したり、ゴール到達時にスタート地点に戻す、といった操作が可能である。 これらの操作を行うために、Supervisorノードを設置する。

.2 Supervisorの設置

Scene treeのAdd new > New node > Supervisorを選択し、追加する。

するとScene treeにSupervisorが追加される。

.2 Controllerの設定

Supervisorの制御も他のロボットと同様にControllerをプログラムすることにより行う。まずはSupervisor用のControllerを作成する。
メニューから Wizard > New Robot Controller... を選択。プログラミング言語はC++を選択し、今回は名前をController_for_Supervisorとする。(任意)

Scen treeにあるSupervisorのcontroller属性を開き、Controllerに先ほど作成したController_for_Supervisorを選択する。

controller属性のEdit...を選択すると、editorを用いてControllerの編集を行うことができる。

wb_robot_init()等の通常のロボットControllerに使用する機能もSupervisorのControllerには必要である。
それに加えてSupervisorのControllerは専用のヘッダファイルsupervisor.hを使用する。
Controller内部の詳しい説明は次節から行う。

HOME > Webots 使い方まとめ > 10. Supervisorの設置