情報共有(for Ver 1.x) †はじめに †レスキューのサーバがVersion 1.0になり、新たな情報が出てきていると思います。 このページの趣旨 †レスキューのエージェントを開発を通して、疑問に思うことや情報が不足していると感じることが多々ありました。 お役立ち情報 †20100425 RCRSMapDocument?(マップ作成)について †たとえば以下のようなNodeを用意したとします。 <gml:Node gml:id="0"> <gml:pointProperty> <gml:Point> <gml:coordinates>83.160,43.160</gml:coordinates> </gml:Point> </gml:pointProperty> </gml:Node> <gml:Node gml:id="1"> <gml:pointProperty> <gml:Point> <gml:coordinates>183.160,43.160</gml:coordinates> </gml:Point> </gml:pointProperty> </gml:Node> <gml:Node gml:id="2"> <gml:pointProperty> <gml:Point> <gml:coordinates>163.160,63.160</gml:coordinates> </gml:Point> </gml:pointProperty> </gml:Node> <gml:Node gml:id="3"> <gml:pointProperty> <gml:Point> <gml:coordinates>103.160,63.160</gml:coordinates> </gml:Point> </gml:pointProperty> </gml:Node> このNodeを利用して,例としてRoadを一つ作ってみます。 <gml:Edge gml:id="100"> <gml:directedNode orientation="-" xlink:href="#0"/> <gml:directedNode orientation="+" xlink:href="#1"/> </gml:Edge> <gml:Edge gml:id="101"> <gml:directedNode orientation="-" xlink:href="#2"/> <gml:directedNode orientation="+" xlink:href="#1"/> </gml:Edge> <gml:Edge gml:id="102"> <gml:directedNode orientation="-" xlink:href="#2"/> <gml:directedNode orientation="+" xlink:href="#3"/> </gml:Edge> <gml:Edge gml:id="103"> <gml:directedNode orientation="-" xlink:href="#3"/> <gml:directedNode orientation="+" xlink:href="#0"/> </gml:Edge> <rcr:road gml:id="300"> <gml:Face> <gml:directedEdge orientation="+" xlink:href="#100"/> <gml:directedEdge orientation="+" xlink:href="#101"/> <gml:directedEdge orientation="+" xlink:href="#102"/> <gml:directedEdge orientation="+" xlink:href="#103"/> </gml:Face> </rcr:road> よしできた。さあ表示しよう! ![]() おや?!なにやら変なRoadができてる部分があるぞ・・・。
今回はこれについて述べていきたいと思います。 ![]() (矢印は作成したNodeの始点から終点へのベクトルを表します。) 解決法1(うまくAreaが表示できないことに対する) †この方法は少々めんどくさいです。 <gml:Edge gml:id="101"> <gml:directedNode orientation="-" xlink:href="#2"/> <gml:directedNode orientation="+" xlink:href="#1"/> </gml:Edge> という部分を <gml:Edge gml:id="101"> <gml:directedNode orientation="-" xlink:href="#1"/> <gml:directedNode orientation="+" xlink:href="#2"/> </gml:Edge> に修正します。 解決法2(うまくAreaが表示できないことに対する) †こちらの方法ではEdgeを作成する際には,まだベクトルの向きは特に考慮する必要はありません。 <gml:directedEdge orientation="+" xlink:href="#101"/> という部分を <gml:directedEdge orientation="-" xlink:href="#101"/> とします。 修正後(うまくAreaが表示できないことに対する) †例で失敗した原因を修正し,正しく表示されるようにしたときのベクトルの向きは以下の図のようになります。 ![]() これで正しく表示されるはずです。 間違ってたら修正お願いします。--Suntori 2010.04.28 Kernelとサブシミュレータを別々に起動する(ver 1.0) †レスキューサーバ1.0(nightly)を対象に,カーネルとサブシミュレータを別々に起動する方法.これにより,カーネルとサブシミュレータを別マシンで稼働させることができます. 対象: OS: Mac OS X(10.6.2) ※基本的にはrescue1.0とシェルスクリプト及びxtermが動作する環境なら問題はないと思います. サーバ: 2010年3月18日付のrescue-nightly-build 方法: (1) 以下のシェルスクリプト2つ(添付ファイル参照)をboot/ディレクトリに保存する (シェルスクリプトの中身について) 詳しくは各シェルスクリプトを読んでください. 両者ともに,boot/functions.shの一部を改造したものです.
クラスパスとオプションを指定して,kernel.StartKernel?を起動します. クラスパスは,とりあえずjars/ディレクトリとlib/ディレクトリ以下全てのjarファイルを指定します.オプションはfunctions.sh内の関数startKernelにあるKERNEL_OPTIONSとほぼ同様です.
SampleViewer?, TrafficSimulator?, FireSimulatorWrapper?, IgnitionSimulator?, CollapseSimulator?, ClearSimulator?, SampleCivilian?を,各々LaunchComponents?を介して起動します. クラスパスにはlib/ディレクトリ以下のjarファイルを指定します.また,シェルスクリプト内のHOST変数にカーネルのIPアドレス,PORT変数にカーネルのポートを指定します. (2) まずstartKernel.shを実行し,「Setup kernel options」の画面が立ち上がったら,"Simulators"に何もチェックが入っていないことを確認してOKを押す.するとKernelGUIの画面が立ち上がる. (3) 次にstartSims.shを実行し,KernelGUIの画面右にある"Simulators"に,接続したシミュレータ群が表示されれば成功.Runを押してシミュレーションを開始できます. シェルスクリプトの中でxtermを使っています.もし bashなどからのxtermの起動がコケる場合,xtermを起動してから,xterm内からこれらのシェルスクリプトを実行すればおそらく大丈夫です.--Ri-one 複数PCによる起動に関して(var.1.0) †ここではsample agentを複数のPCで起動する方法を記述します.
ツール情報 †資料 †20100318 勉強会資料 †
20100425 RCRSMapDocument? †
20100501 SampleMap? †
20101104 RCRSMapDocument_OSM変換編 †
20101204 RCR講習会資料(Ri-one) †
20101205 RCR講習会資料(SUNTORI) †
20110314 RCRSMap作成Documentまとめ(11/03/14現在) †
質問 † |