Up:Tutorial? Previous:エージェント間のメッセージのやりとり? Next:サービスプロバイダの使用方法 Control method for vision sensor †※This tutorial is compatible with v2.1.0 or later. I will explain how to use the vision sensor. Environment scanning by vision sensor †I will introduce the sample file for scanning the environment using the vision sensor. Creation of the controller †$ cd ~/MyWorld $ emacs WatchController.cpp WatchController.cpp This sample is used to rotate the body with an angle which is received as message. I will define the angle in z-axis direction, the angle that can be specified is between -180° and 180°. Compiling †I will compile the cpp file $ ./sigmake.sh WatchController.cpp XML file for living room †I will create a new world file. $ emacs WatchWorld.xml WatchWorld.xml This is a world file of living room with humanoid robot (Robot-nii.xml), it includes also television and armchair. この世界ファイルではロボットエージェントにカメラが設置されています。カメラの位置や方向などは以下のように設置しました。 In this world file the camera is attached to the robot's head. The direction and the position of the camera set as follows: linkでカメラを設置するパーツ名を指定します。このサンプルではを"HEAD_LINK"に設置しました。ヒューマノイドロボットのパーツ名はJoint定義一覧?のLink名を参照してください。関節やパーツを持たないエンティティにカメラを設置する場合はlink名を設定することはできません。 カメラの位置はlinkを設定した場合はlinkの位置からの相対位置となります。 direction, position でカメラの方向ベクトル、位置を設定します。このサンプルではまっすぐ前を向いた方向から、下方向45°に目線があるということになります。 同様にaspectRatio, fov でカメラのアスペクト比、視野角(y方向)なども設定できます。 これらのパラメータを設定しなかった場合はデフォルト値が設定されます。
1エージェントに複数個のカメラを設置する場合は以下のようにidを1,2,3と順番につけていきます。 起動 †それでは起動してみましょう。 $ sigserver.sh -w ./WatchWorld.xml SIGViewerでサーバに接続して、シミュレーションを開始します。リビングルームに立っているヒューマノイドロボット型のエージェントが見えると思います。 次に、ヒューマノイドロボットをクリックすると、左上の小さい画面にロボットの目線から見た映像が表示されます。 さらにその枠の右上にあるボタンを押すとロボットから見た映像がメイン画面に切り替わります。 元に戻したい場合はもう一度左上のサブウィンドウの右上にあるボタンを押します。 カメラの位置や視線方向を確認したい場合はビューワーの右下のトレイにあるEntityDataをクリックし、エンティティをクリックします。 カメラの位置とカメラの視線方向がオレンジ色で示されています。 次に右下のトレイにある"Message"ボタンをクリックして、ヒューマノイド型ロボットのエージェントに回転する角度を指定して、メッセージを送信します。例えば90を送信します。 するとロボットが90°回転してロボットの視線からはオレンジやペンギンのおもちゃが見えているのがわかります。 Old Version †Up:Tutorial? Previous:エージェント間のメッセージのやりとり? Next:サービスプロバイダの使用方法 |