FIXME This page is not fully translated, yet. Please help completing the translation.
(remove this paragraph once the translation is finished)

13. Adittional Functions

Go Simulation!はリリース後も随時機能を追加しております。
ここでは追加機能についてまとめます。

距離センサ

距離センサを追加することが可能です。
GUIから操作はできませんが、直接設定ファイルを書き込むことで追加できます。
例えば、以下の内容を、デフォルトのロボットプロジェクト/Design フォルダの下に、dsensor.txtというファイル名で保存するだけで設定完了です。

begin distance_sensor
#body len[m] LSB  posx posy posz[m]  rol pit yaw[deg]
 0  8.000 0.001  0.05 0.0 0.0   0 0 -45
 0  8.000 0.001  0.05 0.0 0.0   0 0  0
 0  8.000 0.001  0.05 0.0 0.0   0 0 45
end

この状態でロボットをロードすると、図 13-1 (1)のように腰パーツに距離センサが3つ追加されたことが確認できます。さらに前方にかがむと(2)のように距離センサの反射された場所が●で表示されることが確認できます。
このとき、図 13-2 のように、コマンドウィンドウでDSensor0, Desonsr1, DSensor2と入力して、各距離センサの値を確認することができます。もちろんスクリプトから利用することが可能です。C++(DLL)から利用することも可能です(DLL_SIM_ROBOT3構造体のint DsensorNumと double *DsensorDat)。


図 13-1 距離センサを追加されたロボット


図 13-2 コマンドウィンドウから距離センサの値を確認

マルチジョイント(リンク機構)

 Go Simulation!ではロボットのリンク構成は、基本的に図 13-3 (1)のようにスター型の構造を対象としています。即ち一つのボディに、一つのジョイント(モータ)という構成になっています。
 Ver1.3.4より新たに図 13-3 (2)のように、サブジョイントを追加できるようにしました。これにより、リンク構造、即ち閉ループ型の構造をシミュレーションできるようになりました。なお、GUIからは設定操作できず、直接設定ファイルを書き込むことで対応できるようになっています。


図 13-3 ジョイント構成

 サブジョイントを追加するには、Design/Config.txtファイルの、以下に朱記したようにJointSub追記すると、サブジョイントが追加されます。




 作成例を図 13-4に示します。またサンプルプロジェクト一式を掲示板にアップしました(http://techno-road.com/board/view-topiclist/forum-9-go-simulation-.html)。


図 13-4 マルチジョイントのサンプル



株式会社テクノロード
川崎市幸区新川崎7-7 KBIC 222
http:// techno-road.com/