[rc-simjp 428] Re: [RoboCuprescue]Sample-Naito について

Back to archive index

m0509****@waka***** m0509****@waka*****
2008年 9月 11日 (木) 16:52:11 JST


近畿大学の中川です。

SUNTORIの原 様、丁寧な回答をありがとうございます!
早速これを参考に取り掛かってみます。

またなにかありましたら、ご助言いただけると有難いです。
乱文失礼しました。



--- rc-oz****@lists***** ---

>>近畿大学中川様
>>
>>SUNTORIの原です。
>>
>>現在の仕様では、通信は「チャンネル」を用いたものとなっています。メッセー
>>ジは送信する際に必ず「チャンネル番号」を指定しなければいけません。メッ
>>セージはそのチャンネル番号を受信するように要請したエージェントが受信しま
>>す。無線通信の周波数みたいなものと考えればよいかと思います。
>>
>>サンプルではyab.agent内Agentクラスに含まれている次のメソッドが通信に関係
>>する処理を担当しています。
>>1.setMyChannel()→受信するチャンネル番号の指定
>>2.channel(byte[])→メッセージの受信要請
>>3.tell(int,byte[])→メッセージの送信
>>4.hear(RealObject,String)→聞き取ったメッセージ
>>
>>受信側では1、2、4を扱い、送信側では3を扱います。以下で具体例と共にそ
>>れぞれの使い方を説明します。
>>・受信側の実装
>>1.オーバーライドしたsetMyChannel()内で、受信チャンネルの設定をする。例:
>>setMyChannel(){
>> myChannel=1
>>}
>>*ただし、2チャンネル以上同時に設定する場合は論理和で指定)
>>*チャンネル番号はyab.io内ProtocolConstantsクラスに定数が用意してあるの
>>でそちらを使ったほうがわかりやすいかもしれません。
>>
>>2.channelを呼び出し、メッセージを受信要請をカーネルに出す
>>例:
>>act(){
>> channel(new byte[]{1});
>>}
>>*2チャンネル以上同時に要請する場合は、その分だけ配列に追加する
>>
>>・送信側の実装
>>3.送信するメッセージと送信先のチャンネル番号を引数にしてtellメソッド呼
>>び出し
>>例:
>>tell(1,"test")
>>
>>・確認
>>4.送受信ともに問題なければ、数ステップ後メッセージを受け取ったときに受
>>信側のhear(RealObject,String)が呼び出されます。RealObjectが送信者、
>>Stringにメッセージが入っているはずです。確認してください。
>>
>>
>>以上で最低限の通信は可能となりますが、Yab-APIをそのまま利用する場合は、
>>いくつか制限があるので少し注意が必要になります。
>>・センター⇔チーム、センター⇔センターの通信は問題ないが、チーム⇔チームで
>>の通信は無視される(hearメソッドを呼ばない)
>>・自分自身の出したメッセージは無視する
>>・チャンネル0番(SAY)を使わない
>>このあたりのことはYab-API内のAgentクラスを直接参照していただけたら理解&
>>変更できるかと思います。私としてはだいたいの仕様を理解したあたりで使いや
>>すいように改造するのがいいかと思います。
>>
>>通信周りのことはややこしく、まだいくつか注意点があったりします。しかし長
>>くなりましたので一旦ここまでとします。いかがでしょうか。
>>
>>> 近畿大学の中川といいます。
>>> 前年の秋キャンプで配布されたSample-Naitoをベースにして開発をしています。
>>> 
>>> 現在、このSample-Naitoのエージェントの通信をできるようにしたいと思っているのですが、どう手をつけていいのか分からずに悩んでいます。
>>> 
>>> そこで質問なのですが、通信を出来るようにするにはどうしたらよいのか、どなたかご存知なら教えてもらえないでしょうか?
>>> どんな些細なことでも構いませんので、お願いします。
>>> 
>>
>>-- 
>>/**
>> * 原 大曜 
>> * 石井(健)研究室 社会システム情報学専攻
>> * 名古屋大学大学院 情報科学研究科
>> * e-mail : taiyo****@kishi*****
>> * 内線  : 3813
>> */
>>
>>_______________________________________________
>>Rc-oz-simjp mailing list
>>Rc-oz****@lists*****
>>http://lists.sourceforge.jp/mailman/listinfo/rc-oz-simjp


 




Rc-oz-simjp メーリングリストの案内
Back to archive index