![]() ![]() ![]() | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
takahikokibe | 投稿日時: 2007/4/5 21:45 |
新米 ![]() ![]() 登録日: 2006/7/27 居住地: 福島県 投稿: 6 |
移動中のノードの位置情報を得るには AODVやODMRPで位置情報をメトリックにした提案を行いたいのですが、どのようにしたら、各ノード位置情報をルーティングレイヤーに反映させられるのかがわかりません。
mobilityのフォルダあたりを"Position"などをキーワード探したのですが、自分が求めている「移動した各ノードの現在位置情報(x,y,z)」がある場所見つけられませんでした。 各ノードの現在位置情報を得て、ルーティングプロトコルに反映させるにはどうしたらよいのでしょうか? よろしくお願いします。 |
hed | 投稿日時: 2007/4/5 22:02 |
一人前 ![]() ![]() 登録日: 2006/7/3 居住地: 京都 投稿: 81 |
Re: 移動中のノードの位置情報を得るには こんばんは
ルーティングプロトコルとは関係ないですが、私もつい最近移動中のノード位置を使いました。 引用: 各ノードの現在位置情報を得て、ルーティングプロトコルに反映させるにはどうしたらよいのでしょうか? 上記の現在位置情報は、
とたどっていくと分かるようです。 参考になれば幸いです。 |
penguish | 投稿日時: 2007/4/5 22:07 |
常連 ![]() ![]() 登録日: 2005/4/8 居住地: 投稿: 45 |
Re: 移動中のノードの位置情報を得るには ノードの位置を知りたいのであれば node 構造体から辿っていけば取得できます
自ノード以外の位置を知りたいのであれば、
から、他ノードを辿っていくことが出来ると思います。 ただし、QualNet 4.0 では 複数スレッドで動作させることができますが、この場合、スレッドごとに処理するノードが決まっています。partitionData はスレッド毎に作成され、スレッドに割当てられた全ノードが登録されています。逆に当該ノードとは異なるスレッドに登録されたノードは 当該ノードの node->partitionData には登録されていないと思いますので、注意が必要です。※シングルスレッドで使えば問題ないと思いますが。 以上、ご参考まで |
pyonta | 投稿日時: 2007/4/5 22:23 |
新米 ![]() ![]() 登録日: 2006/11/13 居住地: 投稿: 14 |
Re: 移動中のノードの位置情報を得るには void MOBILITY_ReturnCoordinates( Node* node, Coordinates position)
というAPIを使うのがよいのではないでしょうか? "Coordinate" でAPI Reference Guide を検索すれば、 座標の扱いに関係する他のAPIも見つけられます。 |
pyonta | 投稿日時: 2007/4/6 2:55 |
新米 ![]() ![]() 登録日: 2006/11/13 居住地: 投稿: 14 |
Re: 移動中のノードの位置情報を得るには void MOBILITY_ReturnCoordinates( Node* node, Coordinates* position)
で、2番目の引数の型はCoordinates*でした。すみません。 単に(x,y,z)を知るなら、上記で得た position を参照すればよいと思います。 position->cartesian.x position->cartesian.y position->cartesian.z |
takahikokibe | 投稿日時: 2007/4/6 20:54 |
新米 ![]() ![]() 登録日: 2006/7/27 居住地: 福島県 投稿: 6 |
Re: 移動中のノードの位置情報を得るには ご回答ありがとうございます。皆さんの回答を参考に、いろいろ試してみようと思います。
また、わからない部分があったら質問しますのでよろしくお願いします。 |
koichi | 投稿日時: 2008/7/8 23:14 |
常連 ![]() ![]() 登録日: 2007/10/24 居住地: 投稿: 52 |
Re: 移動中のノードの位置情報を得るには void MOBILITY_ReturnCoordinates(Node* node, Coordinates position)
についての質問なのですが このAPIの使い方がよく分かりません。 void型ということは直接座標値を返すわけではないのだと 思うのですが、どこで必要な値を取得できるのでしょう? 2つ目の引数に指定した変数に値が上書きされるということでしょうか? すみませんがどなたか使い方の例を示していただけると ありがたいです。 |
hiro | 投稿日時: 2008/7/9 9:48 |
長老 ![]() ![]() 登録日: 2005/7/16 居住地: 投稿: 452 |
Re: 移動中のノードの位置情報を得るには > void MOBILITY_ReturnCoordinates(Node* node, Coordinates position)
じゃなくって、 void MOBILITY_ReturnCoordinates(Node* node, Coordinates* position) では? |
koichi | 投稿日時: 2008/7/9 12:58 |
常連 ![]() ![]() 登録日: 2007/10/24 居住地: 投稿: 52 |
Re: 移動中のノードの位置情報を得るには すみません、僕も API Reference Guide 見たら
Coordinates position だった気がするんですが 間違いかもしれません。 また再確認しておきます。 使い方は第一引数のノードの位置を 第二引数に代入であっていますでしょうか? |
matumoto | 投稿日時: 2008/7/9 13:43 |
一人前 ![]() ![]() 登録日: 2008/5/13 居住地: 投稿: 80 |
Re: 移動中のノードの位置情報を得るには 素朴な疑問です。
いつ返事が返ってくるかわからないフォーラムに質問出すより、 QualNet-4.5-APIReferenceGuide.pdf を確認した方が、 10時間後の返事より確実に、さくっと1分で問題が解決すると思う。 また、実際に使われている場所を grep して、 ./libraries/developer/src/mac_link.cpp にある関数、 clocktype LinkGetPropDelayForWireless (Node *node, LinkData *link) を見れば使い方もわかると思う。 さらに、./main/mobility.cpp にはこの関数自身のソースコードも 出ている。 APIReferenceGuide や 実際の使用例以上の情報を期待していますか? |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |